`
`USle675ll88131
`
`(12) Ulllted States Patent
`(1(1) Patent N0.:
`US 6,750,881 B1
`
`Appclman
`(45) Date of Patent:
`*Jun. 15, 2004
`
`(54) USER DEFINABLE ()N-IJNE (IO-USER
`LISTS
`.
`.
`.
`Inventor: Barry Appclman‘ 0mm l‘alls’ VA(Ub)
`(75)
`(73) Assignee: America Online, Inc., Dulles, VA (US)
`
`( ‘) Notice:
`
`issued on a continued pros-
`This patent
`ecution application filed under 37 CFR
`l.53{d}, and is subject to the twenty year
`patent
`term provisions of 35 U.S.C.
`154(a)(2).
`
`Subjcclmany disclaimcr’thcwrm Ohms
`palcm is cxlcndcd 0r adj-“sled under 35
`U.s.c. 154(b) by 1185 days.
`
`(31) Appp Na: "3303,69;
`__
`luled:
`
`Feb. 24, 1997
`
`(22)
`
`(51)
`
`1m.c1.7
`
`(52) U.S. (:1.
`
`G06F 15m)
`
`345:733; 345853
`
`345,929, 330,
`(58) Field of Search
`345,831. 332; 395l20034, 200.35; 379E204,
`301, 303, 913
`
`(55)
`
`RCfBI'CI'ICQS Cited
`U_S_ pA-rENVI' DOCUMEN-l-S
`
`7t1994 Wolff e1 al-
`5.321486 A
`[£1996 Sussman
`$483,586 A *
`W19% pm“! 53‘ 3"
`fi-‘E‘E‘l’l l0 A
`931996 llydc—lhomson
`3,337,639 A
`10;.1996 Grew
`5563540 A
`[24,1996 Wheeler. Jn
`5581920 A
`3; 199”! Gordon I
`5,6t8:186 A
`3:190? Fucsaneanu el :11.
`5,610,910 A
`42'1998 Pepe at al.
`$342,905 A
`$1998 Tang el al.
`5393.365 A "‘
`
`9t 199" Tang El 511-
`5,960,173 A “
`101(51ng pATEN'r DOCUMENTS
`W0 97.914234
`4i’1997
`W0 97i46fl55
`lziiao'r
`
`3T9i2tll
`
`345329
`348515
`
`W0
`W0
`
`OTHER PUBLICATIONS
`Edward Baig, [low to Practice Safe Surfing, Business Week,
`Se .9,1996.
`. 120.*
`Mfr]; Moridiag, Internet Online Services: Communication,
`'mmcm Cumsrfla ‘flP- 10“ 1995-5
`Xhlalk 2.9 Spectitcalion; Klaus Ilarlenslein; Nov. 92.
`AOL 1996 Annual Report.
`"Dial
`I—SOU—Internel"; Nathan Muller; BYTE Magazine;
`Feb. 1996.
`"Hey Baby, Call Me at My IP Address"; Peter Wayner;
`BYTE Magazine; Apr. 1995.
`Finding Several Users, Jul. 14, 1994. [online], [retrieved on
`Jan. 27, 2003]. Retrieved from the Internet: URL:hltp:i’r'
`consult.cem.chiwritcuplzephyrfsubsccticnstar2_2_3_
`1mm]-
`Al‘ibe Cohen et al., lnessential Zephyr, [online]. [retrieved on
`Jan. 28. 2003]. Retrieved from the Internet: URI,:http:,ti'
`www.mit.eduiafstsipbiprojecti’doctizephyn'htmU
`imphyr‘mmL
`
`(List °°minu°d f’" "m page‘)
`_
`Primary L'mminer—Cao (Kevin) Nguyen
`(74) Mame; Agent, or Firm—Fish & Richardson PL“.
`(57)
`ABSTRACT
`
`A real time notification system that tracks. for each user, the
`logon status of selected co-users of an on-line or network
`system and displays that
`information in real
`time to the
`tracking user in a unique graphical interface. The invention
`provides user definable un-lirtc car-user lists, or “buddy
`lists”, that track specific co—uscrs in rcal~tirne automatically.
`A user can create many separate buddy lists of co-users,
`Bilher with inwrsccling or disjoint lists of
`and label
`these buddv lists according to the user‘s preference. The user
`_
`'
`I.
`_
`.
`a _
`can update a buddy 115] or create new buddy lists whenever
`necessary. When a user logs on to a system, the user's set of
`buddy lists is presented to the buddy list system. The buddy
`list system attempts to match cmusers currently logged into
`the system with the entries on the user’s buddy list. Any
`matches are displayed to the user. As co—users logon and
`logoff,a user’s buddy list is updated to reflect these changes.
`An indication can also be added to show that a cu-userjust
`logged on or just left the system.
`
`ll) Claims, 7 Drawing Sheets
`
`19
`
`'
`
`24
`
`
`
`Logan malem
`
`4-
`
`.
`
`p BuderetSystam
`
`28
`
`DataC0
`
`26
`
`12
`_
`
`y. ‘5
`
`.
`
`IE
`
`14 t
`
`20
`
`22
`
`User
`
`001
`
`US. Patent No. 8,724,622
`
`Apple Inc.
`APLl 104
`
`001
`
`Apple Inc.
`APL1104
`U.S. Patent No. 8,724,622
`
`
`
`US 6,750,881 B1
`Page 2
`
`OTHER PUBLICATIONS
`
`Sharon Bclville et al., Zephyr at CERN, Jul. 15, 1993,
`[online], [retrieved on Jan. 2?, 2003]. Retrieved from the
`Internet:
`URL:http:ffeonsultcernxhx’wrileu pfzephyn‘
`mainhtrn l.
`ZEPIIYR Answers, [online], [retrieved on Jan. 27, 2003].
`Retrieved from the Internet: URL:http:Hweb.mitedufan-
`swersa‘mephyrf.
`ZEPHYRU) Manual Page, Jul. 1, 1988., [online], [retrieved
`on Jan. 2?, 2003]. Retrieved from the Internet: URI.:http:{t
`www.tru64unix.eompaq.comfdemosfossc—vSIalman—htm!
`zephyr—rnan.htm.
`
`Zephyr on Athena (AC—34) Draft, [online], [retrieved on
`Jan. 27, 2003]. Retrieved from the Internet: URL:hltp:r‘f
`webmit.ecluloIhtzephyrflOChtml.
`C. Anthony DellaFcra el £11., The Zephyr Notification Ser-
`vice, pp. 1—9.
`Robert 5. French et aI., The Zephyr Programmer’s Manual,
`Protocol Version ZEN-10.2, Apr. 5, 1989, pp. 1—82.
`Carla J. Fermann, Distributed Consulting in a Distributed
`Environment, ACM SIGUCCS XVIII [990, pp. 117—120.
`Earll M. Murman el al., Perspectives. on Project Athena,
`ACM SIGUCCS SVIII 1990, pp. 287—296.
`
`* cited by examiner
`
`002
`
`002
`
`
`
`US. Patent
`
`Jun. 15, 2004
`
`Sheet 1 0f 7
`
`US 6,750,881 BI
`
`m
`
`__
`
`/28
`
`___ .
`
`. _
`
`//
`
`._
`
`E.
`
`._
`
`1
`
`r 26
`
`Logan System — —> Buddyr List System
`|
`
`
`
`FIG. 1
`
`003
`
`003
`
`
`
`US. Patent
`
`Jun. 15, 2004
`
`Sheet 2 of 7
`
`US 6,750,881 Bl
`
`:30
`
`32
`Group Name
`R‘s—~—-éudd§ ESE [C' ——
`~ "Home List"
`WM Screen NameiAoEFess
`Log Status
`W 's'math"
`“"01"
`"Jess Doe"
`"Out"
`
`_
`
`
`
`\ll
`2"
`
`
`
`
`
`I
`
`'
`
`
`
`
`
`
`FIG. 23
`
`:34
`36
`Permissions List
`
`, User Name
`
`Block Status
`
`_
`
`"none"
`"all"
`
`"all except" ——
`
`"none except"
`
`:
`
`"John Smith"
`
`"Jone Doe"
`
`"Simon Roe"
`
`"Bob Jones"
`
`
`
`
`
`
`Exclusion List
`" '"l
`
`
`
`
`
`
`/38
`Inclusion List
`
`
`FIG. 2b
`
`004
`
`004
`
`
`
`US. Patent
`
`Jun. 15, 2004
`
`Sheet 3 0f 7
`
`US 6,750,881 B1
`
`John Smith
`
`Jana Roe
`
`Simon Roe
`
`I My
`Buddy Lists
`. 1;“madia’iss-i‘n5mé~
`
`'2- Home List
`
`FIG. 4
`
`005
`
`005
`
`
`
`US. Patent
`
`Jun. 15, 2004
`
`Sheet 4 0f 7
`
`US 6,750,881 B1
`
`I CIR-618.3 Buddy List
`‘ a.
`_
`
`!'_‘_‘..‘(.-
`I leg‘i-{fl-I‘ \
`
`FIG. 5
`
`Buddy List Pret’erences
`Ital.‘.-.‘
`
`.
`.Qgeguawén‘ igéiflfi‘é'rs madman théi'ri‘listfifilnfirtgfifins‘
`131ml; ‘31] rriefizhgggs’_'fr:b‘m 'afiqqigan'té‘gh
`gigginyggfi'
`"Q‘f‘fii‘pfi qfiijflflje‘ mefnbfiré b'einwii
`~
`"
`1,:
`'
`_.
`K v
`.
`
`l' "
`
`70
`
`'
`
`FIG. 6
`
`006
`
`006
`
`
`
`US. Patent
`
`Jun. 15, 2004
`
`Sheet 5 0f 7
`
`US 6,750,881 B1
`
`Search Mamber Dilectflly
`
`Member DI-rectmy- Create-«Mm VWP'WE. W
`F"?QuickSemh'
`-
`1
`'
`" Search eritire p’mfllé farihé f6ii6fling'
`
`I Otifiohal Fields:
`_ Mai-gagf Nam-E;
`
`-
`
`.
`
`-
`
`_
`
`L'I‘Cfitifi'fi |_:Cif'_\"."'fiat&;l
`
`FIG. 7
`
`Locate Member Onllne
`
`I
`
`u
`
`'I'.'. 1
`I
`
`"
`
`'
`
`_90
`
`fl
`Enterthe member‘s screen name.. to find out
`‘99 whalarea ofthe service he orshe Is
`
`currently using.
`
`1:|
`
`BK A...
`
`FIG. 8
`
`007
`
`007
`
`
`
`US. Patent
`
`Jun. 15, 2004
`
`Sheet 6 0f 7
`
`US 6,750,881 B1
`
`'
`
`Send InStant Mes-3
`
`..
`
`.I‘
`
`.m
`
`FIG. 9
`
`: 44.
`
`a
`
`‘a-r
`
`ug.,~......v.,.g.
`
`.
`
`Screen Names 10' Invite-
`
`- 100
`(9*- Prhmte Chat'Room ' r" HeyWOrdJFawrite Place
`
`"
`
`-:
`
`: Mesaaia To Send [DefaultYouareinvited{02]
`
`_
`
`Location [Dfilaultchaii
`
`'
`
`_
`
`_
`
`;
`
`FIG. 10
`
`008
`
`008
`
`
`
`US. Patent
`
`Jun. 15, 2004
`
`Sheet 7 0f 7
`
`US 6,750,881 BI
`
`USER
`
`LOGON SYSTEM
`
`BUDDY LIST SYSTEM
`
`204
`
`208
`
`200
`
`[—_.fi_...__
`
`/ 202
`
`User Legs On
`
`--
`
`Logon System
`notifies Buddy
`! System about User
`
`i
`
`
`
`— —-
`
`Buddy List System
`fetches Users
`Buddy Lists
`
`I
`!
`
`
`
`206
`
`Buddy List entries
`:
`—hj compared to Logon
`
`'
`
`Systemrecords
`
`,210
`
`|iI
`
`Logan System
`notifies Buddy List
`System about
`LogonsiLogouts
`
`-
`
`-
`
`markings L—
`
`Buddy List System
`displays Buddy
`Lists with indicator
`
`_.
`
`FIG. 11
`
`009
`
`009
`
`
`
`US 6,750,881 B1
`
`1
`USER DEFINABIE ON-LINE CO-USER
`LISTS
`
`BACKGROUND
`
`1. Field of the invention
`This invention relates to on-line communication
`networks, and particularly to interpersonal communications
`on such netw0rks.
`
`it]
`
`2. Description of Related Art
`An important aspect of an “online” system, such as the
`proprietary system operated by America Online, Inc. (AOL)
`or the public Internet system, is knowledge of the people!
`userstprocesses on that system and a methodology for com~
`rnunicating with them through some selected protocol.
`When a person "logs on" to a network system, they are in
`effect identifying themselves to the system and announcing
`their presence. On most systems, this presence is unique. to
`every user who is on the system. For example, on the AOL -
`network this presence is known as the "screen name", but on
`other systems it could be an Internet Protocol (IP) address or
`some other unique identifier.
`An Internet Service Provider (ISP) is, in a sense, an online
`system because every user has an associated IP network -
`address and may also have a user id and password. There can
`also be a hierarchy of logon systems, where an ISP is used
`to connect to a first network, and then once connected the
`user can log on to another system with a different identity.
`These secondary systems can be in parallel (i.e., a user
`connects to an ISP and then logs on to multiple systems}, or
`a combination of parallel and hierarchical (i.c., a user logs
`on to multiple systems in parallel once connected to the lSP,
`and then from one of those parallel systems logs on to yet
`other systems. Thousands to millions of users may be
`accessing such complex networks at any point in time.
`A problem with networks on any size is tracking personal
`relationships and maintaining knowledge of the people;f
`userslproeesses on that system. In the AOL network, a user
`could use a LOCATE function to inquire from the system il~
`another user was currently logged into the system. In the
`CompuServe network, a user can use a more limited
`“WHO’S HERE" function to determine who is present in a
`forum conference.
`
`15
`
`3o
`
`35
`
`40
`
`45
`
`2
`matches are displayed to the user. As co-users logon and
`logolif, a user’s buddy list is updated to reflect these changes.
`An indication can also be added to show that a co-user just
`logged on or just left the system.
`The details of the preferred embodiment of the present
`invention are set forth in the accompanying drawings and
`the description below. Once the details of the invention are
`known, numerous additional innovations and changes will
`become obvious to one skilled in the art.
`
`DESCRIPTION OF DRAWINGS
`
`FIG. .I is a block diagram of a typical network system 10
`in which the invention can be implemented.
`FIG. 2a is a set of symbolic data records showing the
`basic types of data used by one embodiment of the invention
`for a buddy list, and the conceptual relationship of data
`elements.
`
`FIG. 2b is a set of symbolic data records showing the
`basic types of data used by one embodiment of the invention
`for a permissions list, and the conceptual relationship of data
`elements.
`
`FIG. 3 is a graphical display of one implementation of the
`invention, showing a buddy list window.
`FIG. 4 is a graphical display of one implementation of the
`invention, showing a buddy list setup window.
`FIG. Sis a graphical display of one implementation of the
`invention, showing a buddy list create window.
`FIG. 6 is a graphical display of one implementation of the
`invention, showing a buddy list preferences window.
`FIG. 7 is a graphical display of one implementation of the
`invention, showing a search member directory window.
`FIG. 8 is a graphical display of one implementation of the
`invention, showing a member location window.
`FIG. 9 is a graphical display of one implementation of the
`invention, showing an instant message window.
`FIG. ll] is a graphical display of one implementation of
`the invention, showing a buddy chat window.
`FIG. 11 is a flchhart showing an implementation of the
`invention.
`
`Like reference numbers and designations in the various
`drawings indicate like elements.
`DETAILED DESCRIPTION
`
`'l‘he present invention addresses the problem of tracking
`personal relationships and maintaining knowledge of the
`peoplelusersrprocesses on that system with a unique way of
`establishing and maintaining user delinable oil-line co-user
`lists.
`
`SUMMARY
`
`The invention implements a real time notification system
`that
`tracks,
`for each user,
`the logon status of selected
`co-users of an on-line or network system and displays that
`information in real
`time to the tracking user in a unique
`graphical interface. The invention provides user definable
`on-line co-user lists, or “buddy lists”, that
`track specilic
`co-users in real-time automatically.
`A user can create many separate buddy lists of eo—users,
`either with intersecting or disjoint lists of users, and label
`these buddy lists according to the user’s preference. The user
`can update a buddy list or create new buddy lists whenever
`neceSsary. When a user logs on to a system, the user’s set of
`buddy lists is presented to the buddy list system. The buddy
`list system attempts to match co-users currently logged into
`the system with the entries on the user’s buddy list. Any
`
`50
`
`55
`
`60
`
`65
`
`throughout this description, the preferred embodiment
`and examples shown should be considered as exemplars,
`rather than as limitations on the present invention.
`Overview
`The invention implements a real time notification system
`that
`tracks,
`for each user,
`the logon status of selected
`co-users and displays that information in real time to the
`tracking user in a unique graphical interface. The invention
`provides user definable on-line oo-user lists, or "buddy
`lists", that track specific co-users in real-time automatically.
`Such automatic monitoring is significant, because in a
`system of any size there would be no way for a user to track
`the comings and goings of thousands or millions of users
`each moment in time.
`
`An important component of the buddy list system is that
`a user can create many separate buddy lists of eowusers,
`either with intersecting or disjoint lists of co—users, and label
`these buddy lists according to the user’s preference. The user
`can update a buddy list or create new buddy lists whenever
`necessary. When a user logs on to a system, the user’s set of
`buddy lists is presented to the buddy list system. The buddy
`
`010
`
`010
`
`
`
`US 6,750,881 B1
`
`in
`
`IS
`
`3
`list system attempts to match co-users currently logged into
`the system with the entries on the user's buddy list. Any
`matches are displayed to the user. As co-USers logon and
`logolf, a user‘s buddy list is updated in real—time (or near
`real-time.
`taking into account network and processing
`delays) to reflect these changes. An indication can also be
`added to show that a co—user just logged on or just left the
`system.
`Hardware System
`By way of example only, FIG. 1 is a block diagram of a
`typical network system 10 in which the invention can be
`implemented. The network system 10 includes a plurality of
`user stations 12 that preferably include a processor chassis
`14 having a network link. The network link is for receiving
`and transmitting data in analog or digital form over a
`communications link 16, such as a serial link. local area
`network, wireless link, parallel link, etc. Also coupled to a
`typical processnr chassis 14 is a display 18, a keyboard 20,
`and a pointing device 22 (e.g., a mouse).
`The communications link 16 couples each user station 12 -
`as a “client” to a logon system 24, which is typically a
`software program executing on a remote server somewhere
`on a network. The logon system 24 communicates with at
`“Buddy List System" 26, which is preferably a software
`program executing on a server somewhere on the network.
`The Buddy List System 26 maintains a database 28 for
`storing user information. The database 28 may be of any
`type, such as relational or hierarchical, and may be central-
`ized or distributed. For example, the database 28 may be
`stored at least in part on each user’s own station 12. In such
`a case, the database 28 contents would be transmitted to the
`Buddy List System 26 when the user logged into the system.
`Data Structure
`
`_
`
`an
`
`FIG. 2:7 is a set of symbolic data records showing the
`basic types of data used by the Buddy List System 26, and
`the conceptual relationship ot‘data elements. A Group Name
`table 30 stores user-defined group names for buddy lists.
`Each user may define multiple buddy lists by group names
`(two being shown by way of example}. Each group name in
`the Group Name table 3|] has an associated Buddy List table
`32, comprising multiple records. Each Buddy List table 32
`record corresponds to a co-user ("buddy") that
`the user
`wishes to track. In the preferred embodiment, the record
`includes data elements for the screen name (or address, such
`as an Internet address) of a particular eo—user to be tracked,
`and the logon status of that user (e.g., codes for "In" or
`“Out”).
`FIG. 2b is a set of symbolic data records showing the
`basic types ofdata used by one embodiment of the invention
`for a Permissions List 34, and the conceptual relationship of
`data elements. Each user in the system has an associated
`Block Status code. If a user’s Block Status code is equiva-
`lent to “none”, then no co-user may enter that user into the
`co—user’s buddy lists.
`If a user’s Block Status code is
`equivalent to “all”, then all co-users may enter that user into
`their buddy lists. If a user’s Block Status code is equivalent
`to “all except", then all co-users except those entered in a
`linked Exclusion List 36 may enter that User into their buddy
`lists. If a user’s Block Status code is equivalent to “none
`except", then only eo—users entered in a linked Inclusion List
`38 may enter that User into the co-user’s buddy lists. In one
`embodiment, a user may only have one of an Inclusion List
`36 and an Exclusion List 48.
`Example Implementation
`FIG. 3 is a graphical display of one implementation of the
`invention, showing a Buddy List window 40 with a buddy
`list named "Home List" in a large scrollable area. Buddy list
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`011
`
`4
`names are like categories. Other buddy lists can be shown in
`the same display. lndented underneath each buddy list are
`the names (or addresses) of user-selected co-users compris-
`ing that list. In the example shown, the "Home List" includes
`three co—users and their status as “IN” (i.e., currently logged
`into the system) or “OUT” (i.e., currently logged out of the
`system). Any desired method or technique can be used to
`indicate log status, such as distinct attributes (e.g., holding
`a name to indicate logged in, graying a name to indicated
`logged out) or other symbols (e.g., checkmarks to indicate
`logged in}, etc. In still another embodiment. only logged in
`members of a buddy list are displayed. In one embodiment,
`an asterisk or other symbol appears next to the screen name
`of the most recent co-user to log into the system, and
`parentheses are placed around the screen name of the most
`recent co—user to log out of the system.
`In the preferred embodiment, a user can “minimize” a
`buddy list to suppress display of all
`the co-users in that
`group. This is preferably implemented so that a double click
`on the buddy list name will cause all the screen names listed
`beneath to disappear. In the preferred embodiment, mini-
`mized buddy lists are indicated by a "+" symbol next to the
`buddy list name. Double—choking on the buddy list name
`again displays all of the hidden co-users under that name. A
`user can also keep tabs on each list by checking out the
`numbers posted in parenthesis next to the buddy list names.
`This number tells the user how many people on that list are
`logged in out of the total number of screen names on the
`buddy list. In the illustrated example, 2!?! means that two of
`the three people on the "Home I.ist" are currently online.
`In the preferred embodiment. when the user first logs into
`the system, the Buddy List window 40 opens, informing the
`user which of the user‘s buddy list members are currently
`online. The user can either close this window, or leave it
`open while Visiting other areas of the system. If the Buddy
`List window 40 is left open, the user has a curren1,real-time
`list of all
`the user’s buddies in who are online at any
`particular moment.
`The illustrated Buddy List window 40 shows a number of
`buttons for setting up or using buddy lists. Included buttons
`in the preferred embodiment are: LOCATE, for determining
`which “chat room” a buddy is in at a particular moment; IM,
`for sending an "Instant Message"; SETUP, for creating and
`editing buddy lists or setting buddy list preferences; and
`BUDDY CHAT, for inviting buddies to a private chat or a
`favorite place in the system.
`Setup
`FIG. 4 is a graphical display of one implementation of the
`invention, showing a Buddy List Setup window 5|] with a
`buddy list named “Home List" in a scrollable area. Buttons
`are provided for creating a new buddy list; editing a selected
`buddy list; deleting a buddy list; viewing the members of a
`selected buddy list; accessing a Member Directory for the
`system; and accessing a preferences windows. In the pre-
`ferred embodiment, each buddy list is shown in the scrol-
`lable area with a count of the number of co—users in each list.
`FIG. 5 is a graphical display of one implementation of the
`invention, showing a Buddy List Create window 60. A user
`can enter a buddy list group name and a screen name for
`each oo-user to be tracked. A list of buddies on a particular
`list are also displayed, along with a button allowing removal
`ofan existing buddy. After entry of all necessary data in such
`a window, the user’s Group Name table 30 and the appro—
`priate Buddy List table 32 are updated using conventional
`data processing techniques. Editing a buddy list can be done
`from the same or a similar window.
`FIG. 6 is a graphical display of one implementation of the
`invention, showing at Buddy List Preferences window 70. In
`the preferred embodiment,
`these Preferences include the
`following:
`
`011
`
`
`
`US 6,750,881 B1
`
`5
`Show me my Buddy List(s) immediately after I sign onto
`AOL. This option opens the Buddy List window 40
`(FIG. 3) when the user logs on to the system.
`Play sound when buddies sign-on. This option enables a
`souan to play when one of the eo—users on a user’s
`buddy list program logs on (“Buddyin”).
`Play sound when buddies signwoh". This option enables a
`sound to play when one of the co-users on a user’s
`buddy list program logs olI (“BuddyOut”).
`Allow all members to add me to their listsfinvitations.
`This option grants permission for all co-users to add the
`user to their buddy lists and send the user "Buddy Chat
`Invitations“ and other information. If set, the appropri-
`ate user record in the Permissions List
`table 34 is
`marked with a code for "all" in the Block Status field.
`
`lists)f
`Block all members from adding me to their
`invitations. This option restricts all co-users from add-
`ing the user to their buddy lists and from sending the
`user “Buddy Chat Invitations" and other information. If
`set, the appropriate user record in the Permissions List
`table 34 is marked with a code for "none" in the Block
`Status field.
`
`5
`
`it]
`
`IS
`
`6
`
`Instant Messages.
`is displayed on a user’s buddy list,
`Once a co-user
`indicating that
`the co-user
`is currently logged into the
`network system, the preferred embodiment of the invention
`enables a simple way of communicating with that co-user.
`FIG. 9 is a graphical display of one implementation of the
`invention, showing an Instant Message window 100. In the
`preferred embodiment, the Instant Message window is auto-
`matically displayed by activating (e.g., by clicking or double
`clicking) a co-user’s name on a buddy list. The “To:” line ol.
`the window is pre-filled with the selected co-user’s name
`and the cursor is positioned in the text entry area ready for
`text to be typed to be sent to the targeted co—user. The Instant
`Message function can also be activated by highlighting a
`co-uscr name in the buddy list and clicking on the IM button
`in the Buddy List window 40 (FIG. 3).
`Buddy Chat
`FIG. ll] is a graphical display of one implementation of
`the invention, showing at Buddy Chat window 110. As
`implemented on the AOL on-line system, the Buddy Chat
`function can be used to send an invitation to one or more
`co—users to a private "chat room" or a favorite place in the
`system. In the preferred embodiment, this function can be
`initiated by selecting a co-user name and activating the
`BUDDY CIIAT button in the Buddy List window 40 (FIG.
`3). The Buddy Chat window 110 is displayed, allowing the
`user to add additional names to the Screen Names to Invite
`Iield either manually or by selecting additional names from
`the Buddy List window 40 and again activating the BUDDY
`Cl-IAT button. A message can be sent to each invitee via the
`Message to Send field.
`In the preferred embodiment, an
`entire buddy list group can be added to the Buddy Chat
`window 110 by selecting a group name from the Buddy List
`window 40 and activating the BUDDY CIINF button or
`double-clicking.
`the user
`To talk privately with the selected co—users,
`selects the Private Chat Room radio button and enters a
`"Buddy Chat Room Name” in the provided edit box. If the
`edit box is left blank, a Buddy Chat Room Name is auto-
`matically created for the user. Upon selecting Send, each
`selected oo-user will receive a message inviting them to
`access and display a Buddy Chat Room [chat rooms are an
`existing feature of the AOL system).
`To share those places a user likes best on the AOL system,
`the user selects the Keywordt’Favorite Place radio button and
`enters a “Keyword” (i.e., a shortcut word defining an
`address) to a system site in the provided edit box. either
`manually or by using a “drag and drop" action from a list of
`the user's favorite places in the system. Upon selecting
`Send, each selected oo-user will receive a message inviting
`them to access and display that online site.
`FIG. 11 is a flowchart showing an implementation of the
`invention. A User logs in to a Logon System in conventional
`fashion (Step 200). The Logon System performs normal
`logon procedures (e.g.,
`requesting a user
`ID andfor
`a
`password) and notifies the Buddy List System about
`the
`User (i.e., passes the User’s ID, address, or screen name to
`the Buddy List System) (Step 202). The Buddy List System
`accesses that User’s Buddy Lists from a database, which
`may be, for example. on the user‘s station 12 (Step 204). The
`entries in the User’s Buddy Lists are then compared to the
`records of the Logon System (Step 206). This step is shown
`in dotted outline to indicate that the comparison can be done
`by passing records from the Logon System to the Buddy List
`System, or vice versa, or could be done a separate system.
`The Buddy List System then displays a Buddy List window
`showing the status (i.e., logged in or not) of the co-users on
`
`30
`
`35
`
`40
`
`Allow only the members below. This option restricts all
`members from adding the user to their buddy lists and
`from sending the user “Buddy Chat Invitations” and _
`other int'on'nation, except for those co-uscrs specifically
`listed where provided in the window. If set, the appro-
`priate user record in the Permissions List table 34 is
`marked with a code for "none except" in the Block
`Status field, and an Inclusion List 38 is linked to the
`user for storing the names of included co—users.
`Block only the members below. This option grants per-
`mission for all other members to add the user to their
`buddy lists and send the user "Buddy Chat Invitations"
`and other information, except for those co-users spe-
`cifically listed where provided in the window. If set, the
`appropriate user record in the Permissions List table 34
`is marked with a code for “all except" in the Block
`Status field, and an Exclusion List 36 is linked to the
`user for storing the names of excluded co-users.
`Sound Library. Allows a user to select sound events for
`“Buddyln” and "BuddyOut".
`In the preferred embodiment. the Inclusion List 38 and the
`Exclusion List 36 options are mutually exclusive. In this
`way, a user can control who sees the user logging on and otf
`the system. Although the user can be placed on the buddy list
`of a co-user, it‘ the user blocks visibility through the use of
`these controls,
`the co-user does not see the logon/logoll'
`status of that user.
`FIG. ‘7 is a graphical display of one implementation of the
`invention, showing a Search Member Directory window 80.
`In the preferred embodiment. this feature is accessed from
`the Buddy List Setup window 50 (FIG. 4), and allows
`searching a system directory in known fashion for screen
`names or addresses of co-users, for entry into buddy lists.
`Locate
`FIG. 8 is a graphical display of one implementation of the
`invention, showing a member location window 90. In the
`preferred embodiment, this feature is accessed from the
`Buddy List window 40 (FIG. 3). Selecting a eo—user‘s name
`from a buddy list and activating the LOCATE button will
`cause the system to determine whether the selected co-uscr
`is in a chat area or not. If no co—user is selected and the
`LOCA'I‘E button is activated, a member location window 90
`is displayed with the input field blank, for entry of a co-user
`name. This feature using the existing locate functions of the
`system.
`
`45
`
`50
`
`55
`
`60
`
`65
`
`012
`
`012
`
`
`
`US 6,750,881 B1
`
`7
`the User’s Buddy Lists. with any of various indicator mark-
`ings (Step 208).
`Thereafter, while the User‘s Buddy List window is open,
`the Logon System notifies the Buddy List System about new
`logonstlogoffis of co—users (Step 210), causing a new com—
`pare of the User’s Buddy List entries to the logon System
`records (Step 206). Again, the compare may be performed
`anywhere. For example. the Logon System may maintain a
`copy of a User’s Buddy Lists, and notify the Buddy List
`System only upon a logon status change for a co-user on the
`User‘s Buddy Lists. The Buddy List System then updates the
`indicated status of the displayed co-users (Step 208).
`Software Implementation
`The invention may be implemented in hardware or
`software. or a combination of both. However, preferably, the
`invention is implemented in computer programs executing
`on programmable computers each comprising at least one
`processor, at least one data storage system (including vola-
`tile and non-volatile memory andfor storage elements), at
`least one input device, and at
`least one output device.
`Program code is applied to input data to perform the
`functions described herein and generate output information.
`The output information is applied to one or more output
`devices, in known fashion.
`Each program is preferably implemented in a high level
`procedural or object oriented programming language to
`communicate with a computer system. However, the pro-
`grams can be implemented in assembly or machine
`language, if desired. In any ca5e, the language may be a
`compiled or interpreted language.
`Each such computer program is preferably stored on a
`storage media or device (e.g.. ROM or magnetic diskette)
`readable by a general or special purpose programmable
`computer, for configuring and operating the computer when
`the storage media or device is read by the computer to
`perform the procedures described herein. The inventive
`system may also be considered to be implemented as a
`computer—readable storage medium. configured with a com—
`puter program, where the storage medium so configured
`causes a computer to operate in a specific and predefined
`manner to perform the functions described herein.
`A number of embodimean of the present invention have
`been described. Nevertheless,
`it will he understood that
`various modifications may be made without departing from
`the spirit and scope of the invention. For example, while the
`preferred embodiment is event driven, meaning that updates
`to a buddy list are based on a change in the logon status of
`all co—users or of the selected co—users on a user’s buddy list,
`updates can instead be performed on a periodic basis, where
`the buddy list system polls the logon system for logon status
`changes, or vice versa. Accordingly, it is to be understood
`that
`the invention is not
`to be limited by the specific
`illustrated embodiment, but only by the scope of the
`appended claims.
`What is claimed is:
`1. In an electronic network system including a logon
`system for monitoring logon status of currently logged—on
`users, a method of enabling a user of the network system to
`track the logon status of co-users of the network system, the
`method comprising:
`(a) upon initiation ofan action by the user at a user device,
`accessing a user-defined co-user list comprising
`co—users designated by the user for which the user
`desires to track logon status;
`(b) transmitting to the user device the current logon status
`of the oo-users in the user-defined co-user list;
`(c) enabling the user at the user device to track the logon
`status of the co-users in the co-user list automatically
`and substantially in real time;
`
`in
`
`15
`
`so
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`(d) repeating (b) and (c) under any of the following
`conditions:
`
`('I) periodically; or
`(2) upon detection by the logon system of a change in
`logon status of any user on the electronic network
`system; or
`(3) upon detection by the logon system of a change in
`logon status of one or more co—users in the co—user
`list; and
`based on block selections received from the user, selec-
`tively blocking co-users from adding the user to their
`associated user-definable co-user lists.