`(10) Patent No.:
`US 8,099,667 B1
`
`Appelman
`(45) Date of Patent:
`*Jan. 17, 2012
`
`USOO8099667B1
`
`(54) USER DEFINABLE ON-LINE CO-USER LISTS
`
`(75)
`
`Inventor: BarryAppelman, Arlington, VA (US)
`
`(73) Assignee: AOL Inc., Dulles, VA (US)
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 223 days.
`
`This patent is subject to a terminal dis-
`cla1mer.
`
`(21) Appl. No.: 12/469,347
`
`(22)
`
`Filed:
`
`May 203 2009
`
`Related US. Application Data
`(63) Continuation of application No. 10/866,304, filed on
`Jun. 14, 2004, now Pat. No. 7,539,942, which is a
`continuation 0f application NO- 08/803,692, filed 011
`Feb. 24, 1997, now Pat. No. 6,750,881.
`
`(51)
`
`Int. Cl.
`(2006.01)
`G06F 15/00
`(2006.01)
`G06F 13/00
`(52) US. Cl.
`........................................ 715/733, 715/853
`(58) Field of Classification Search .................. 715/733,
`715/853, 7517753, 759, 765, 744
`See apphcatlon file for complete search hlstory.
`.
`References Clted
`U S PATENT DOCUMENTS
`
`(56)
`
`4,653,090 A
`5,136,501 A
`5 245 656 A
`5,276,736 A
`5,327,486 A
`5,471,525 A
`
`3/1987 Hayden
`8/1992 Silverman et al.
`9/1993 Loeb et a1.
`1/ 1994 Chaum
`7/1994 Wolff et 31.
`11/1995 Domoto et a1.
`
`auddy List Freferences
`
`5,483,586 A
`5,506,891 A
`5,533,110 A
`5,557,659 A
`
`1/1996 Sussman
`4/1996 Brown
`7/1996 Pinard et al.
`9/1996 Hyde-Thomson
`
`(Continued)
`FOREIGN PATENT DOCUMENTS
`
`W0
`
`WO 97/1434
`
`4/ 1997
`(Continued)
`
`OTHER PUBLICATIONS
`Klaus Hartenstein; Xhtalk 2.9 Specification; Nov. 1992.
`
`(Continued)
`
`Primary Examiner 7 Cao “Kevin” Nguyen
`(74) Attorney, Agent, or FirmiFinnegan, Henderson,
`Farabow, Garrett & Dunner, LLP
`
`ABSTRACT
`(57)
`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 track-
`ing user in a unique graphical interface. The invention pro-
`vides user definable on-line co-user lists, or “buddy lists”, that
`track specific co-users in real-time automatically. A user can
`create many separate buddy lists of CO-users, either with
`interseaing or (11510th “515 0f use“: and label these bUddY
`lists according to the user’ 5 preference. The user can update a
`buddy llst or create new buddy hsts 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 reflect these changes. An indication
`can also be added to show that a co-userjust logged on orjust
`left the System
`
`19 Claims, 7 Drawing Sheets
`
`,»- F0
`
`Buddy List Preferences
`1% Show me my Buddy Listts} immadiateiy after} Sign onto AOL
`Pia}; sound when buddies sign on
`
`Q Biock ail members from adding me 11) their iistsfimi’saiions
`G ,r‘xiéow oaéy the members below
`C) Biock only the members beiow
`
`
`
`39W" ””333“
`
`8 may sound when Buddies sign off G} A5109; 3!; members to add me in their iistfinviiatésns
`
`1mw4.wawmw.....m.........«m.....
`{Separate eaten names with a comma. Example: name. 1, name 2, name '3)
`
`.. Heip :
`
`i
`
`1
`
`LYFT 1053
`
`LYFT 1053
`
`1
`
`
`
`US 8,099,667 B1
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`10/1996 Greco et al.
`5,568,540 A
`12/1996 Wheeler, Jr.
`5,583,920 A
`1/1997 Ito
`5,592,534 A
`3/1997 Gordon
`5,608,786 A
`3/1997 Focsaneanu et al.
`5,610,910 A
`7/1997 Miner et al.
`5,652,789 A
`3/1998 Kubler et a1.
`5,726,984 A
`4/1998 Pepe et al.
`5,742,905 A
`6/1998 Choquier et a1.
`5,774,668 A
`8/1998 Sistanizadeh et al.
`5,790,548 A
`8/1998 Tang et al.
`.................... 715/758
`5,793,365 A *
`9/1998 Blum et a1.
`5,805,164 A
`11/1998 Herz et al.
`5,835,087 A
`1/1999 Wulkan et al.
`5,862,203 A
`9/1999 Perlman
`5,956,485 A
`.................... 709/201
`9/1999 Tang et al.
`5,960,173 A *
`11/1999 Hartmaier et a1.
`5,978,672 A
`8/2000 Voit
`6,104,711 A
`8/2000 Hutton et al.
`6,108,704 A
`A
`11/2000 Walsh et al.
`6,144,848
`5/2002 Vardi et al.
`6,389,127 B1
`9/2002 Goldfinger et al.
`6,449,344 B1
`FOREIGN PATENT DOCUMENTS
`WO 97/46955
`12/1997
`
`OTHER PUBLICATIONS
`
`W0
`
`AOL 1996 Annual Report.
`Nathan Muller; “Dial 1-800-Internet”; BYTE Magazine; Feb. 1996.
`Peter Wayner; “Hey Baby, Call Me at My IP Address”; BYTE Maga-
`zine; Apr. 1996.
`Edward Baig; “How to Practice Safe Surfing”; Business Week; Sep.
`9, 1996; p. 120.
`Online
`“Internet
`Mark Moridran;
`munication”;Interactive Content; vol. 2; p. 7.
`Keizer, Gregg, “Comprehensive Collaboration Comes Cheap”,
`CNET Reviews NetMeeting 1.0 Beta 1, Jul. 16. 1996, http://www.
`cnet.com, pp. 1—2.
`
`Services:
`
`Com-
`
`Finding Several Users, Jul. 14, 1994, [online], [retrieved on Jan. 27,
`2003]. Retrieved from the Internet: URL:http://consult.com.ch/
`writeup/zephyr/subsectionstar2i2i3,2 .htrnl.
`Abbe Cohen et al., Inessential Zaphyr, [online], [retrieved on Jan. 28,
`2003]. Retrieved from the Internet: URL:http://www.mit.edu/afs/
`sipb/proj ect/doc/izephyr/htrnl/izephyr.html .
`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/main .html .
`Zephyr Answers, [online], [retrieved on Jan. 27, 2003]. Retrieved
`from the Internet: URL:http://web.mit.edu/answers/zephyr/.
`Zephyr(1) Manual Page, Jul. 1, 1988, [online], [retrieved on Jan. 27,
`2003]. Retrieved from the Internet: URL:http://www.tru64unix.
`compaq.com/demo s/ossc-v5 la/man-htm/zephyr-manhtm.
`Zephyr on Athena (AC-34) Draft, [online], [retrieved on Jan. 27,
`2003]. Retrieved from the Internet: URL:http://web.mit.edu/olh/
`zephyr/TOC .html.
`C. Anthony DellaFera et al., The Zephyr Notification Service, pp.
`1-9.
`Robert S. French et al., The Zephyr Programmer’s Manual, Protocol
`Version ZEPHO.2, Apr. 5, 1989, pp. 1-82.
`Carla J. Fermann, Distributed Consulting in a Distributed Environ-
`ment. ACM SIGUCCS XVIIIl990, pp. 117-120.
`Earll M. Muni et al., Perspectives on ProjectAthena, ACM SIGUCCS
`XVIII 1990, pp. 287-296.
`Office Action, U.S. Appl. No. 10/866,304, dated Mar. 30. 1997, 14
`pages.
`Office Action, U.S. Appl. No. 10/866,304. dated Dec. 27, 2007, 11
`pages.
`Office Action U.S. Appl. No. 10/866,304. dated Jul. 21, 2008. 9
`pages.
`Office Action, U.S. Appl. No. 10/703,663, dated Jun. 20, 2007, 10
`pages.
`Office Action, U.S. Appl. No. 10/703,663, dated Dec. 27. 2007, 8
`pages.
`
`* cited by examiner
`
`2
`
`
`
`U.S. Patent
`
`Jan. 17, 2012
`
`Sheet 1 of7
`
`US 8,099,667 B1
`
`
`BUDDYLBT
`LOGON
`SYSTEM
`SYSTEM
`
`
`
`
`
`FlG. 1
`
`3
`
`
`
`U.S. Patent
`
`Jan. 17, 2012
`
`Sheet 2 of7
`
`US 8,099,667 B1
`
`30
`
`
`32
`
`
`
`
`
`'
`
`
`
`
`
`
`
`“Work List”
`
`
`
`
`34
`
`Permission List
`
`User Name
`
`Biock Status
`
`“John Smith”
`
`“none”
`
`“Jane Doe”
`
`“Simon Roe”
`
`“ail excet”
`
`“Bob Jones”
`
`“none except”
`
`FIG. 2b
`
`{2.)CD
`
`Exclusion List
`
`38
`
`Incfusion List
`
`4
`
`
`
`U.S. Patent
`
`Jan. 17, 2012
`
`Sheet 3 of7
`
`US 8,099,667 B1
`
`Budd - Lists
`
`Buddies Oniine
`
`John Smith
`
`IN
`
`Jane Roe
`
`OUT
`
`Simone Roe
`
`IN
`
`”0@
`1M
`Setup BuddyChat
`Keyword: BuddyView
`
`FIG. 3
`
`
`
`
`My Buddy Lists
`
`Buddy List Name
`
`Preferences
`
`Keyword: Buddy ’
`
`FIG. 4
`
`5
`
`
`
`U.S. Patent
`
`Jan. 17, 2012
`
`Sheet 4 of7
`
`US 8,099,667 B1
`
`Create a Buddy List
`
`Create 3 Buddy LiSt
`Buddy List Group Name
`
`STEP 1: Enter a Buddy List group
`STEP 2: Enter a screen name and
`click “Add Buddy”
`STEP 3: When finished ciick “Save”
`
`Enter a Screen Name
`
`Buddies on List
`
`Add Buddy
`
`FlG. 5
`
`Buddy List Preferences
`
`Buddy List Preferences
`{23 Show me my Buddy Listis) immediately after I sign onto AOL
`
`Piay sound when buddies sign on
`
`Play sound when Buddies sign off
`
`@ Anew all members to add me to their list/invrtafions
`
`,
`
`Remove Buddy
`(Separate screen names with a comma. Example: name E, name 2, name 3}
`
`O Bieck an members from adding me to their listsfinvitations E3
`
`0 Atlow only the members beiow
`0 Beck oniy the members betow
`
`Scum? Library
`
`6
`
`
`
`U.S. Patent
`
`Jan. 17, 2012
`
`Sheet 5 of7
`
`US 8,099,667 B1
`
`Search entire iraffle forthe followini
`
`Optional Fields:
`Member Name
`
`Location (city/state)
`
`[3 Return only members onfine
`Q currently using.
`
`m-H919&W0
`
`FIG. 7
`
`Locate Member Online
`
`0 ‘5’ Enter the member's screen name to find out
`
`what area of the service he or she is
`
`7
`
`
`
`U.S. Patent
`
`Jan. 17, 2012
`
`Sheet 6 of7
`
`US 8,099,667 B1
`
`Send !nstant Message
`
`110
`
`Buddy Chat @6qu
`
`Screen Names to Invite
`
`
`-
`
`Messae To Send {Defauit You are invited 10:)
`
`Location {Defauit chat)
`
`6) Private Chat Room 0 Keywarleavurite Place
`
`8
`
`
`
`U.S. Patent
`
`Jan. 17, 2012
`
`Sheet 7 of7
`
`US 8,099,667 B1
`
`USER
`
`LOGON SYSTEM
`
`BUDDY LIST SYSTEM
`
`
`
`LOGON SYSTEM
`
`
`
`
`BUDDY UST
`,
`USER
`
`NOTJFIES BUDDY
`
`
`SYSTEM FETCHES
`LOGS ON
`SYSTEM ABOUT
`
`
`
`
`USER’S BUDDY HST
`USER
`
`
`
`
`204
`
`I
`I
`3 BUDDY LRST ENTRiES :
`i COMPARED TO LOGON:
`
`:
`SYSTEM RECORDS
`E
`l
`
`
`
`LOGON SYSTEM
`NOTIFIES BUDDY LIS
`
`
`SYSTEM ABOUT
`LOGONS/LOGOUTS
`
`
`210
`
`WITH iNDlCATOR MARKiNGS
`
`BUDDY LEST SYSTEM
`DiSPLAYS BUDDY LIST$
`
`FIG. 11
`
`9
`
`
`
`US 8,099,667 B1
`
`1
`USER DEFINABLE ON-LINE CO-USER LISTS
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`This application is a continuation of US. patent applica-
`tion Ser. No. 10/866,304, filed Jun. 14, 2004, which is a
`continuation of US. patent application Ser. No. 08/803,692,
`filed Feb. 24, 1997, now US. Pat. No. 6,750,881. The disclo-
`sures oldie prior applications are considered part of and are
`incorporated by reference in the disclosure ofthis application.
`
`BACKGROUND
`
`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 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 combina-
`tion ofparallel 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 com-
`plex networks at any point in time.
`A problem with networks on any size is tracking personal
`relationships and maintaining knowledge ofthe 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 definable on-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 inter-
`face. The invention provides user definable on-line co-user
`lists, or “buddy lists”, that track specific co-users in real-time
`automatically.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`
`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 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
`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 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 ofa 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 ele-
`ments.
`
`
`
`FIG. 3 is a graphical cisplay of one implementation of the
`invention, showing a buddy list window.
`FIG. 4 is a graphical cisplay of one implementation of the
`invention, showing a buddy list setup window.
`FIG. 5 is a graphical cisplay of one implementation of the
`invention, showing a buddy list create window.
`FIG. 6 is a graphical cisplay of one implementation of the
`invention, showing a buddy list preferences window.
`FIG. 7 is a graphical cisplay of one implementation of the
`invention, showing a search member directory window.
`FIG. 8 is a graphical cisplay of one implementation of the
`invention, showing a member location window.
`FIG. 9 is a graphical cisplay of one implementation of the
`invention, showing an instant message window.
`FIG. 10 is a graphical display of one implementation ofthe
`invention, showing a buddy chat window.
`FIG. 11 is a flowchart 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 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 co-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 ofthousands or millions ofusers 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
`
`10
`
`10
`
`
`
`US 8,099,667 B1
`
`3
`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 nec-
`essary. 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 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 communi-
`cations 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 soft-
`ware 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 infor-
`mation. The database 28 may be ofany type, such as relational
`or hierarchical, and may be centralized or distributed. For
`example, the database 28 may be stored at least inpart 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-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 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 equivalent to
`“none”, then no co-user may enter that user into the co-user’ s
`buddy lists. Ifa user’ s Block Status code is equivalent to “all”,
`then all co-users may enter that user into their buddy lists. It
`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.
`
`4
`
`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
`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 comprising
`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 ofa 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 parenthe-
`ses 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, minimized 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 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 current, reel-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 scrollable
`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 appropriate
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`11
`
`11
`
`
`
`US 8,099,667 B1
`
`5
`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 fol-
`lowing:
`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 ofthe 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 ofthe 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 Invi-
`tations” and other information. If set, the appropriate
`user record in the Permissions List table 34 is marked
`with a code for “all” in the Block Status field.
`Block all members from adding me to their lists/invita-
`tions. This option restricts all co-users from adding 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.
`
`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 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 permis-
`sion 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 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 “all except” in the Block Status
`field, and an Exclusion List 36 is linked to the user for
`storing the names or excluded co-users.
`Sound Library. Allows a user to select sound events for
`“BuddyIn” and “Buddy-Out”.
`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 ofthese
`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
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`from a buddy list and activating the LOCATE button will
`cause the system to determine whether the selected co-user 's
`
`in a chat area or not. Ifno co-user is selected and the LOCATE
`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.
`Instant Messages
`Once a co-user is displayed on a user’s buddy list, indicat-
`ing 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 automatically
`displayed by activating (e. g., by clicking or double clicking)
`a co-user’ s name on a buddy list. The “To:” line ofthe 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-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 ofthe
`invention, showing a Buddy Chat window 110. As imple-
`mented 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 field either manually or
`by selecting additional names from the Buddy List window
`40 and again activating the BUDDY CIIAT button. A mes-
`sage 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 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 automatically 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 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 ofthe 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 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 and/or a pass-
`word) 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
`
`12
`
`12
`
`
`
`US 8,099,667 B1
`
`7
`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 the User’s
`Buddy Lists with any of various indicator markings (Step
`208).
`Thereafter, while the User’s Buddy List window is open,
`the Logon System notifies the Buddy List System about new
`logons/logoffs of co-users (Step 210), causing a new compare
`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 soft-
`ware, or a combination of both. However, preferably, the
`invention is implemented in computer programs executing on
`programmable computers each comprising at least one pro-
`cessor, at least one data storage system (including volatile 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 informa-
`tion 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 com-
`municate with a computer system. However, the programs
`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 com-
`puter, 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,