`Appelman
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 6,750,881 B1
`*Jun. 15, 2004
`
`US006750881B1
`
`(54) USER DEFINABLE ON-LINE CO-USER
`LISTS
`
`(75) Inventor: Barry Appelman, Great Falls, VA (US)
`(73) Assignee: America Online, Inc., Dulles, VA (US)
`
`(*) Notice:
`
`This patent issued on a continued pros-
`ecution application ?led under 37 CFR
`1.53(d), and is subject to the tWenty year
`patent term provisions of 35 U.S.C.
`154(a)(2).
`
`Subject to any disclaimer’the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 1185 days.
`
`(21) App1_NO_;08/803,692
`
`(22) Filed:
`
`Feb. 24, 1997
`
`(51) Int. Cl.7 .............................................. .. G06F 15/00
`
`(52) US. Cl. ...................................... .. 345/733; 345/853
`
`(58) Field of Search ............................... .. 345/329, 330,
`345 /331, 332; 395/20034, 20035; 379/204,
`201, 202, 913
`
`(56)
`
`References Cited
`U_S_ PATENT DOCUMENTS
`
`7/1994 Wolff et a1~
`5,327,486 A
`5,483,586 A * 1/1996 sflssman """""""""" " 379/201
`5531110 A
`7/1996 Pmard et a1‘
`5,557,659 A
`9/1996 Hyde-Thomson
`5 568 540 A 10/1996 Grew
`5:583:920 A 12/1996 Wheeler’ In
`5,608,786 A
`3/1997 Gordon
`5,610,910 A
`3/1997 Focsaneanu et a1_
`5,742,905 A
`4/1998 Pepe et al.
`5,793,365 A * 8/1998 Tang et al- --------------- -- 345/329
`5,960,173 A * 9/1999 Tang et a1~ ~~~~~~~~~~~~~~~~~ ~~ 348/15
`FOREIGN PATENT DOCUMENTS
`
`W0
`W0
`
`WO 97/14234
`WO 97/46955
`
`4/1997
`12/1997
`
`OTHER PUBLICATIONS
`Edward Baig, HoW to Practice Safe Sur?ng, Business Week,
`Sep. 9, 1996, p. 120*
`Mark Moridian, Internet Online Services: Communication,
`Interacnve comffnb Y2’ p: 7’ Oct: 1996'*_
`Xhtalk 2.9 Speci?cation; Klaus Hartenstem; Nov. 92.
`AOL 1996 Annual Report.
`“Dial 1—800—Internet”; Nathan Muller; BYTE Magazine;
`Feb. 1996.
`“Hey Baby, Call Me at My IP Address”; Peter Wayner;
`BYTE Magazine; Apr. 1996.
`Finding Several Users, Jul. 14, 1994, [online], [retrieved on
`Jan. 27, 2003]. Retrieved from the Internet: URL:http://
`consult.cern.ch/Writeup/Zephyr/subsectionstar2i2i3i
`Zhtml
`Abbe Cohen et al., Inessential Zephyr, [online], [retrieved on
`Jan. 28, 2003]. Retrieved from the Internet: URL:http://
`WWW.mit.edu/afs/sipb/project/doc/iZephyr/html/
`izephynhtmr
`
`(List continued on neXt page.)
`_
`_
`_
`Primary Examzner—Cao (Kevm) Nguyen
`(74) Attorney, Agent Or Firm—Fish & Richardson PC
`(57)
`ABSTRACT
`
`Areal time noti?cation 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 de?nable on-line co-user lists, or “buddy
`lists”, that track speci?c co-users in real-time automatically.
`A user can create many separate buddy lists of co-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 l1sts 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
`matches are displayed to the user. As co-users logon and
`logoff, a user’s buddy list is updated to re?ect these changes.
`An indication can also be added to shoW that a co-user just
`logged on or just left the system.
`
`10 Claims, 7 Drawing Sheets
`
`Q
`
`"
`
`5
`
`Data
`
`7/ 28
`
`24
`
`3
`Logan System 4*" > Buddy LlSi System
`1
`
`/ 26
`
`2 2i
`
`/ 18
`
`Facebook's Exhibit No. 1004
`Page 1
`
`
`
`US 6,750,881 B1
`Page 2
`
`OTHER PUBLICATIONS
`
`Sharon Belville et al., Zephyr at CERN, Jul. 15, 1993,
`[online], [retrieved on Jan. 27, 2003]. Retrieved from the
`Internet:
`URL:http://consult.cern.ch/Writeup/Zephyr/
`rnain.htrnl.
`ZEPHYR Answers, [online], [retrieved on Jan. 27, 2003].
`Retrieved from the Internet: URL:http://Web.rnit.edu/an
`sWers/Zephyr/.
`ZEPHYR(1) Manual Page, Jul. 1, 1988, [online], [retrieved
`on Jan. 27, 2003]. Retrieved from the Internet: URL:http://
`WWW.tru64uniX.cornpaq.corn/dernos/ossc—v51a/rnan—htrn/
`Zephyr—rnan.htrn.
`
`Zephyr on Athena (AC—34) Draft, [online], [retrieved on
`Jan. 27, 2003]. Retrieved from the Internet: URL:http://
`Web.rnit.edu/o1h/Zephyr/TOC.htrnl.
`C. Anthony DellaFera et al., The Zephyr Noti?cation Ser
`vice, pp. 1—9.
`Robert S. French et al., The Zephyr Prograrnrner’s Manual,
`Protocol Version ZEPHO.2, Apr. 5, 1989, pp. 1—82.
`Carla J. Ferrnann, Distributed Consulting in a Distributed
`Environrnent, ACM SIGUCCS XVIII 1990, pp. 117—120.
`Earll M. Murrnan et al., Perspectives on Project Athena,
`ACM SIGUCCS SVIII 1990, pp. 287—296.
`
`* cited by eXarniner
`
`Facebook's Exhibit No. 1004
`Page 2
`
`
`
`U.S. Patent
`
`Jun 15,2004
`
`Sheet 1 0f 7
`
`US 6,750,881 B1
`
`28
`
`Buddy List System
`
`26
`
`Logon System
`
`6
`
`Q
`
`24
`
`FIG. 1
`
`Facebook's Exhibit No. 1004
`Page 3
`
`
`
`U.S. Patent
`
`Jun. 15,2004
`
`Sheet 2 0f 7
`
`US 6,750,881 B1
`
`j 30
`
`Group Name
`"Home List"
`
`"Work List"
`
`H
`
`/ 32
`
`Buddy List
`
`Screen Name/Address
`"John S-rnith"
`"Jane" Doe"
`"Simon Roe"
`
`Log Status
`"in"
`"Out"
`"In"
`
`,,
`
`\
`
`\
`\
`\
`\\
`\\
`\
`\
`\
`
`r
`
`FIG. 2a
`
`34
`
`
`
`(7 Exclusion List
`
`4
`
`‘
`
`0
`
`
`
`Permissions List User Name Block Status
`
`
`
`"John Smith"
`
`"none"
`
`7' "Jane Doe"
`
`"all"
`
`"Simon Roe" 1
`
`"all except"
`
`"Bob'Jones"
`
`7 "none except"
`
`i 38
`
`Inclusion List
`
`FIG. 2b
`
`Facebook's Exhibit No. 1004
`Page 4
`
`
`
`U.S. Patent
`
`Jun. 15,2004
`
`Sheet 3 0f 7
`
`US 6,750,881 B1
`
`John Smith
`
`Jane Roe
`
`Simon Roe
`
`I
`
`40
`
`FIG. 3
`
`FIG. 4
`
`Facebook's Exhibit No. 1004
`Page 5
`
`
`
`U.S. Patent
`
`Jun. 15,2004
`
`Sheet 4 0f 7
`
`US 6,750,881 B1
`
`1. Emmi
`
`FIG. 5
`
`FIG. 6
`
`Facebook's Exhibit No. 1004
`Page 6
`
`
`
`U.S. Patent
`
`Jun. 15,2004
`
`Sheet 5 0f 7
`
`US 6,750,881 B1
`
`Search Member Directory
`
`FIG. 7
`
`Lvocatle Member OnIIiIne
`
`k
`
`_
`
`_
`
`90
`
`Q, Enterthe member's screen name to ?nd out
`@ what area ufthe eewice he or she is
`@ currently using.
`S
`
`FIG. 8
`
`Facebook's Exhibit No. 1004
`Page 7
`
`
`
`U.S. Patent
`
`Jun. 15,2004
`
`Sheet 6 0f 7
`
`US 6,750,881 B1
`
`and Instant Message
`
`100
`
`FIG. 9
`
`“Group
`
`‘(Chat or URL)
`
`vSamar;Fldltll?i?ttkjlumina- '
`
`~
`
`~
`
`" i
`
`'
`
`I
`
`>
`
`-
`
`110
`
`PriuateChat'Ru'om * r". ineywprummmriteplacé: F?
`
`f
`
`7
`
`FIG. 10
`
`Facebook's Exhibit No. 1004
`Page 8
`
`
`
`U.S. Patent
`
`Jun. 15,2004
`
`Sheet 7 0f 7
`
`US 6,750,881 B1
`
`USER
`
`LOGON SYSTEM
`
`BUDDY LIST SYSTEM
`
`200
`
`202
`
`204
`
`User Logs On
`
`Logon System
`notifies Buddy
`System about User
`
`=
`
`Buddy List System
`fetches User's
`Buddy Lists
`
`206
`
`z ,,,,,,,,,,,,,, .1! ,,,,,,,,,,,,,,
`
`Buddy List entries
`compared to Logon
`System records
`
`i
`
`210
`
`208
`
`r
`Buddy List System
`displays Buddy
`Lists with indicator
`markings
`
`Logon System
`notifies Buddy List
`System about
`Logons/Logouts
`
`/
`,
`
`‘
`j
`i
`
`FIG. 11
`
`Facebook's Exhibit No. 1004
`Page 9
`
`
`
`US 6,750,881 B1
`
`1
`USER DEFINABLE ON-LINE CO-USER
`LISTS
`
`BACKGROUND
`
`10
`
`15
`
`2
`matches are displayed to the user. As co-users logon and
`logoff, a user’s buddy list is updated to re?ect 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. 1 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. 5 is 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. 10 is a graphical display of one implementation of
`the invention, shoWing a buddy chat WindoW.
`FIG. 11 is a ?oWchart shoWing an implementation of the
`invention.
`Like reference numbers and designations in the various
`draWings indicate like elements.
`
`DETAILED DESCRIPTION
`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 noti?cation 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 de?nable on-line co-user lists, or “buddy
`lists”, that track speci?c co-users in real-time automatically.
`Such automatic monitoring is signi?cant, 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 co-users,
`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
`
`1. Field of the Invention
`This invention relates to on-line communication
`networks, and particularly to interpersonal communications
`on such netWorks.
`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/
`users/processes on that system and a methodology for com
`municating 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 identi?er.
`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 ?rst 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.e., a user logs
`on to multiple systems in parallel once connected to the ISP,
`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.
`Aproblem With netWorks on any siZe is tracking personal
`relationships and maintaining knoWledge of the people/
`users/processes on that system. In the AOL netWork, a user
`could use a LOCATE function to inquire from the system if
`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.
`The present invention addresses the problem of tracking
`personal relationships and maintaining knoWledge of the
`people/users/processes on that system With a unique Way of
`establishing and maintaining user de?nable on-line co-user
`lists.
`
`25
`
`35
`
`45
`
`SUMMARY
`
`The invention implements a real time noti?cation 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 de?nable
`on-line co-user lists, or “buddy lists”, that track speci?c
`co-users in real-time automatically.
`Auser can create many separate buddy lists of co-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
`
`55
`
`65
`
`Facebook's Exhibit No. 1004
`Page 10
`
`
`
`US 6,750,881 B1
`
`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
`logoff, a user’s buddy list is updated in real-time (or near
`real-time, taking into account network and processing
`delays) to re?ect 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 processor 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 a
`“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
`FIG. 2a is a set of symbolic data records shoWing the
`basic types of data used by the Buddy List System 26, and
`the conceptual relationship of data elements. A Group Name
`table 30 stores user-de?ned group names for buddy lists.
`Each user may de?ne multiple buddy lists by group names
`(tWo being shoWn by Way of example). Each group name in
`the Group Name table 30 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 co-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 of data 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 co-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
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`4
`names are like categories. Other buddy lists can be shoWn in
`the same display. Indented 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., bolding
`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-clicking 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/3 means that tWo of
`the three people on the “Home List” are currently online.
`In the preferred embodiment, When the user ?rst 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 current, 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 50 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 co-user to be tracked. A list of buddies on a particular
`list are also displayed, along With a button alloWing removal
`of an 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 a Buddy List Preferences WindoW 70. In
`the preferred embodiment, these Preferences include the
`folloWing:
`
`Facebook's Exhibit No. 1004
`Page 11
`
`
`
`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
`sound to play When one of the co-users on a user’s
`buddy list program logs on (“BuddyIn”).
`Play sound When buddies sign-off. This option enables a
`sound to play When one of the co-users on a user’s
`buddy list program logs off (“BuddyOut”).
`AlloW all members to add me to their lists/invitations.
`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 ?eld.
`Block all members from adding me to their lists/
`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 ?eld.
`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 information, except for those co-users speci?cally
`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 ?eld, 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
`ci?cally 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 ?eld, 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
`“BuddyIn” 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 off
`the system. Although the user can be placed on the buddy list
`of a co-user, if the user blocks visibility through the use of
`these controls, the co-user does not see the logon/logoff
`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 co-user’s name
`from a buddy list and activating the LOCATE button Will
`cause the system to determine Whether the selected co-user
`is in a chat area or not. If no co-user is selected and the
`LOCATE button is activated, a member location WindoW 90
`is displayed With the input ?eld blank, for entry of a co-user
`name. This feature using the existing locate functions of the
`system.
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`6
`
`Instant Messages
`Once a co-user is displayed on a user’s buddy list,
`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 “Toz” line of
`the WindoW is pre-?lled 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-user name in the buddy list and clicking on the IM button
`in the Buddy List WindoW 40 (FIG. 3).
`Buddy Chat
`FIG. 10 is a graphical display of one implementation of
`the invention, shoWing a 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 CHAT 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
`?eld either manually or by selecting additional names from
`the Buddy List WindoW 40 and again activating the BUDDY
`CHAT button. Amessage can be sent to each invitee via the
`Message to Send ?eld. 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 CHAT button or
`double-clicking.
`To talk privately With the selected co-users, the user
`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 co-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 Keyword/Favorite Place radio button and
`enters a “Keyword” (i.e., a shortcut Word de?ning 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 co-user Will receive a message inviting
`them to access and display that online site.
`FIG. 11 is a ?oWchart 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 and/or a
`passWord) and noti?es 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
`
`Facebook's Exhibit No. 1004
`Page 12
`
`
`
`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 noti?es the Buddy List System about neW
`logons/logoffs 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 and/or 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 case, 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 con?guring 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, con?gured With a com
`puter program, Where the storage medium so con?gured
`causes a computer to operate in a speci?c and prede?ned
`manner to perform the functions described herein.
`A number of embodiments of the present invention have
`been described. Nevertheless, it Will be understood that
`various modi?cations 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 speci?c
`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 of an action by the user at a user device,
`accessing a user-de?ned 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 co-users in the user-de?ned 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;
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`8
`(d) repeating (b) and (c) under any of the folloWing
`conditions:
`(1) 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 o