`
`
`
`
`
`
`
`
`United States Patent
`(12)
`US 6,750,881 B1
`(10) Patent No.:
`
`
`
`
`
`
`
`*Jun. 15, 2004
`(45) Date of Patent:
`Appelman
`
`
`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 filed under 37 CFR
`
`
`
`
`
`
`1.53(d), and is subject to the twenty year
`
`
`
`
`
`
`term provisions of 35 U.S.C.
`patent
`
`154(a)(2).
`
`
`
`
`
`
`
`Subjectto any disclaimer,the term ofthis
`
`
`
`
`patent is extended or adjusted under 35
`US.C. 154(b) by 1185 days.
`
`
`
`
`
`
`
`
`(21) Appl. No.: 08/803,692
`:
`
`
`
`
`
`Filed:
`Feb. 24, 1997
`(22)
`Inte C17 caccccccccssccscssssssessssssssssesssseeen GO6F 15/00
`(SL)
`
`
`
`
`
`
`
`
`
`
`
`
`(52) US. Ch.
`ceccecccessecccsecsessesseessseeesnees 345/733; 345/853
`
`
`
`
`
`
`(58) Field of Search oo... eee 345/329, 330,
`
`
`
`
`
`345/331, 332; 395/200.34, 200.35; 379/204,
`
`
`
`201, 202, 913
`
`(56)
`
`
`
`
`
`References Cited
`
`
`US. PATENT DOCUMENTS
`
`
`
`
`
`
`
`7/1994 Wolff etal.
`5,327,486 A
`1/1996 Sussman... sees 379/201
`5,483,586 A *
`
`
`
`
`7/1996 Pinardetal.
`5,533,110 A
`
`
`
`
`9/1996 Hyde-Thomson
`5,557,659 A
`
`
`10/1996 Greco
`5568540 A
`
`
`
`
`
`
`12/1996 Wheeler, Jr.
`5,583,920 A
`
`
`
`3/1997 Gordon
`5,608,786 A
`
`
`
`3/1997 Focsaneanu etal.
`5,610,910 A
`
`
`
`
`4/1998 Pepe etal.
`5,742,905 A
`
`
`
`
`
`8/1998 Tang et al... eee 345/329
`5,793,365 A *
`
`
`
`
`
`9/1999 Tang et al. oer 348/15
`5,960,173 A *
`
`
`
`FOREIGN PATENT DOCUMENTS
`WO 97/14234
`4/1997
`
`
`
`
`WO97/46955
`12/1997
`
`WO
`WO
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`OTHER PUBLICATIONS
`Edward Baig, Howto Practice Safe Surfing, Business Week,
`
`
`
`
`
`
`
`
`
`
`Sep. 9, 1996,
`p. 120.*
`Mark Moridian, Internet Online Services: Communication,
`
`
`
`
`
`
`
`
`
`
`
`Interactive Content, v2, p. 7, Oct. 1996."
`
`
`
`
`
`
`Xhtalk 2.9 Specification; Klaus Hartenstein; 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/subsectionstar2_23_
`2-html.
`
`
`
`
`
`
`
`
`Abbe Cohen etal., Inessential Zephyr, [online], [retrieved on
`
`
`
`
`
`
`
`
`Jan. 28, 2003]. Retrieved from the Internet: URL:http://
`
`www.mit.edu/afs/sipb/project/doc/izephyr/html/
`
`izephyrhtml.
`
`
`
`
`
`
`(List continued on next page.)
`
`
`
`
`
`
`
`Primary Examiner—Cao (Kevin) Nguyen
`
`
`
`
`
`
`(74) Altorney, Agent, or Firm—Fish & Richardson P.C.
`
`
`ABSTRACT
`(57)
`
`
`
`
`
`
`
`
`
`
`Areal 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 specific 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 accordingto the user’s preference. The user
`
`
`
`
`
`
`
`
`
`:
`:
`
`
`can update a buddylist or create new buddy lists whenever
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`necessary. When a user logs on to a system,the user’s set of
`
`
`
`
`
`
`
`
`buddylists 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 buddylist is updated to reflect these changes.
`
`
`
`
`
`
`
`
`
`An indication can also be added to show that a co-user just
`
`
`
`
`
`logged on orjust left the system.
`
`
`
`10 Claims, 7 Drawing Sheets
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`¢—____-
`
`
`
`
`|
`
`Buddy List System
`
`
`
`»
`
`
`
`| /
`
`
`
`
`
`
`Logon System
`
`
`
`
`
`
`
`
`
`
`A ~ User
`
`Page1 of 13
`
`LG/HUAWEI EXHIBIT 1104
`
`Page 1 of 13
`
`LG/HUAWEI EXHIBIT 1104
`
`
`
`
`
`
`
`
`
`
`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 Ser-
`
`
`
`vice, 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
`
`
`
`
`
`
`
`Environment, ACM SIGUCCS XVIII 1990, pp. 117-120.
`
`
`
`
`
`
`
`Earll M. Murman et al., Perspectives on Project Athena,
`
`
`
`
`
`
`ACM SIGUCCSSVIII 1990, pp. 287-296.
`
`
`
`* cited by examiner
`
`
`
`
`
`
`
`
`
`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
`
`
`URL:http://consult.cern.ch/writeup/zephyr/
`Internet:
`main.html.
`
`
`
`
`
`
`
`
`
`ZEPHYR Answers, [online], [retrieved on Jan. 27, 2003].
`
`
`
`
`
`Retrieved from the Internet: URL:http:/Aveb.mit.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.compaq.com/demos/ossc—v51a/man—htm/
`
`zephyr—man.htm.
`
`
`
`
`Page 2 of 13
`
`Page 2 of 13
`
`
`
`U.S. Patent
`
`
`
`Jun. 15, 2004
`
`
`
`
`
`Sheet 1 of 7
`
`
`
`US 6,750,881 B1
`
`
`
`
`
`10
`
`
`
`24
`
`
`
`
`
`Ea
`
`26
`
`
`
`
`
`
`---— Buddy List System
`
`|
`
`— —
`
`
`||
`
`___!
`
`
`Logon System
`
`
`
`_
`
`16
`
`22
`
`20
`
`= = Z
`ee
`
`1242 <"
`a (C4(iL.
`
`
`
`
`
`
`FIG. 1
`
`Page3 of 13
`
`Page 3 of 13
`
`
`
`
`U.S. Patent
`
`
`
`
`
`Jun. 15, 2004
`
`
`
`
`Sheet 2 of 7
`
`
`
`US 6,750,881 B1
`
`
`
`
`
`
`
`
`
`
`
`-
`me
`Buddy List
`
`Screen Name/Address
`
`
`"John Smith"
`
`
`"Jane Doe"
`
`
`"Simon Roe"
`
`
`~
`
`
`
`
`~
`
`
`
`\
`
`
`\
`
`\
`
`\
`
`\
`
`
`
`
`\
`
`
`
`|
`
`
`FIG. 2a
`
`Y 32
`
`
`
`
`
`
`Log Status
`
`"In"
`
`"Out"
`"In"
`
`
`
`
`
`
`
`
`Lo. 3
`
`
`
`Exclusion List
`
`
`
`-
`
`
`
`
`/ 30
`Group Name
`
`
`"HomeList"
`
`7 Work List
`
`
`
`
`
`-
`
`
`
`
`
`
`
`_
`
`
`
`
`34
`
`
`PermissionsList
`
`
`
`
`
`User Name
`Block Status
`
`
`"John Smith"
`"none"
`"Jane Doe"
`
`
`"Simon Roe"
`
`
`
`
`"Bob Jones”
`
`
`
`
`
`|
`
`"all"
`
`“all except"
`
`
`
`"none except”
`
`
`
`|
`
`
`
`
`
`
`
`/ 38
`—w—Inclusion List
`
`
`
`
`
`
`FIG. 2b
`
`
`
`
`Page 4 of 13
`
`Page 4 of 13
`
`
`
`U.S. Patent
`
`
`
`
`Jun. 15, 2004
`
`
`
`
`
`Sheet 3 of 7
`
`
`US 6,750,881 B1
`
`
`
`Buddy Lists
`nlin
`t (2/3)
`
`John Smith
`
`
`
`Jane Roe
`
`
`
`
`
`
`
`
`;
`
`
`-
`
`40
`
`
`
`Simon Roe
`50
`
`
`
`
`FIG. 3
`
`
`
`
`
`
`
`
`FIG. 4
`
`Page 5 of 13
`
`Page 5 of 13
`
`
`
`
`70
`
`
`
`BuddyList foeees
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`
`
`
`Jun. 15, 2004
`
`
`
`
`
`Sheet 4 of 7
`
`
`US 6,750,881 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`FIG. 5
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`FIG. 6
`
`Page6 of 13
`
`Page 6 of 13
`
`
`
`U.S. Patent
`
`
`
`
`Jun. 15, 2004
`
`
`
`
`
`Sheet 5 of 7
`
`
`US 6,750,881 B1
`
`
`
`
`
`ett) Memberfasthchdaaae
`
`
`
`
`FIG. 7
`
`
`
`urnonly membersonline
`|
`
`mameed
`
`
`
`
`
`ae: 1¢
`
`
`
`
`90
`
`
`
`
`
`
`
`
`
`C7)
`Enter the mermiber’s screen name to find out
`o's what area ofthe service he or she is
`
`
`
`
`
`
`
`
`currently using.
`
`
`
`
`FIG. 8
`
`Page7 of 13
`
`Page 7 of 13
`
`
`
`U.S. Patent
`
`
`
`
`Jun. 15, 2004
`
`
`
`
`
`Sheet 6 of 7
`
`
`US 6,750,881 B1
`
`
`
`end Instant Message
`
`
`
`
`FIG. 9
`
`
`
`ferns Invite (Chat or URL)
`
`Screen Namesto: Invite.
`
`
`
`
`110
`
`
`
`- Message To Send (Detaulk You are invited tar]
`
`
`
`
`
`
`
`.
`
`100
`>. PrivateChatRoom * KeywordFavoritePlace
`
`
`
`
`socation [Default chat:
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`FIG. 10
`
`Page8 of 13
`
`Page 8 of 13
`
`
`
`U.S. Patent
`
`
`
`
`Jun. 15, 2004
`
`
`
`
`
`Sheet 7 of 7
`
`
`US 6,750,881 B1
`
`
`
`USER
`
`
`
`
`LOGON SYSTEM
`
`
`
`
`
`BUDDYLIST SYSTEM
`
`
`
`200
`
`
`
`202
`
`
`
`204
`
`
`
`
`
`—-—_
`
`|
`Buddy List System
`Logon System
`
`
`
`
`notifies Buddy id fetches User's
`|____—+
`
`
`
`
`
`
`
`
`
`
`| System about User
`Buddy Lists
`
`
`
`
`
`
`
`
`
`
`poe'oe/ 206
`Buddy List entries
`
`
`
`
`
`
`compared to Logon
`
`
`
`System records
`
`:
`
`
`
`
`
`
`
`208
`
`
`
`
`
`
`
`
`
`
`
`
`BuddyList System
`
`
`displays Buddy
`Lists with indicator
`
`
`
`
`markings
`
`
`
`
`
`
`
`|
`|
`
`Logon System
`
`
`notifies Buddy List
`
`
`
`
`System about
`
`Logons/Logouts
`
`
`
`|
`
`|
`
`
`FIG. 11
`
`
`
`User Logs On
`
`
`
`Page 9 of 13
`
`Page 9 of 13
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`1
`USER DEFINABLE ON-LINE CO-USER
`
`
`
`LISTS
`
`
`
`
`
`
`US 6,750,881 B1
`
`BACKGROUND
`
`
`
`10
`
`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/
`15
`
`
`
`
`
`
`
`users/processes on that system and a methodology for com-
`
`
`
`
`
`
`
`municating with them through some selected protocol.
`
`
`
`
`
`
`
`
`
`Whena 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
`20
`
`
`
`
`
`
`
`
`
`every user whois on the system. For example, on the AOL
`
`
`
`
`
`
`
`
`network this presence is knownas the “screen name”, but on
`
`
`
`
`
`
`
`other systemsit 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 mayalso 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.e., a user logs
`
`
`
`
`
`
`
`
`on to multiple systemsin 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 anysize 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 definable on-line co-user
`lists.
`
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`SUMMARY
`
`
`
`
`
`
`
`
`
`
`The invention implements a real time notification system
`
`
`
`
`
`
`
`
`
`
`tracks,
`for each user,
`the logon status of selected
`that
`
`
`
`
`
`
`
`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 specific
`
`
`
`co-users in real-time automatically.
`
`
`
`
`
`
`
`
`Auser can create many separate buddylists of co-users,
`
`
`
`
`
`
`
`
`
`
`either with intersecting or disjoint lists of users, and label
`
`
`
`
`
`
`
`
`
`these buddylists according to the user’s preference. The user
`
`
`
`
`
`
`
`
`
`can update a buddylist or create new buddy lists whenever
`
`
`
`
`
`
`
`
`necessary. When a user logs on to a system,the user’s set of
`
`
`
`
`
`
`
`
`
`buddylists 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
`
`
`
`60
`
`
`
`65
`
`
`
`Page 10 of 13
`
`
`2
`
`
`
`
`
`
`
`
`matches are displayed to the user. As co-users logon and
`
`
`
`
`
`
`logoff, a user’s buddylist is updatedto reflect these changes.
`
`
`
`
`
`
`
`
`An indication can also be added to show that a co-user just
`
`
`
`
`
`logged on orjust left the system.
`
`
`
`
`
`
`The details of the preferred embodiment of the present
`
`
`
`
`
`
`
`
`invention are set forth in the accompanying drawings and
`
`
`
`
`
`
`
`the description below. Oncethe 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 embodimentofthe 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 embodimentofthe invention
`
`
`
`
`
`
`
`for a permissionslist, and the conceptualrelationship 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 buddylist setup window.
`
`
`
`
`
`FIG. 5 is a graphical display of one implementation of the
`
`
`
`
`
`
`invention, showing a buddylist create window.
`
`
`
`
`
`FIG. 6 is a graphical display of one implementation of the
`
`
`
`
`
`
`invention, showing a buddylist preferences window.
`
`
`
`
`
`FIG. 7 is a graphical display of one implementation of the
`
`
`
`
`
`
`invention, showing a search memberdirectory window.
`
`
`
`
`
`FIG. 8 is a graphical display of one implementation of the
`
`
`
`
`
`invention, showing a memberlocation 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 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
`
`
`
`
`
`
`
`
`
`
`tracks,
`for each user,
`the logon status of selected
`that
`
`
`
`
`
`
`
`
`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 wayfora user to track
`
`
`
`
`
`
`
`the comings and goings of thousands or millions of users
`each momentin time.
`
`
`
`
`
`
`
`
`
`
`
`An important componentof the buddy list system is that
`
`
`
`
`
`
`
`
`
`
`a user can create many separate buddy lists of co-users,
`
`
`
`
`
`
`
`
`either with intersecting or disjointlists of co-users, and label
`
`
`
`
`
`
`
`
`
`these buddylists according to the user’s preference. The user
`
`
`
`
`
`
`
`
`
`can update a buddylist or create new buddy lists whenever
`
`
`
`
`
`
`
`
`necessary. When a user logs on to a system,the user’s set of
`
`
`
`
`
`
`
`
`buddylists is presented to the buddy list system. The buddy
`
`Page 10 of 13
`
`
`
`
`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 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 includesa 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 userstation 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 becentral-
`
`
`
`
`
`
`
`ized or distributed. For example, the database 28 may be
`
`
`
`
`
`
`
`
`
`stored at least in part on each user’s ownstation 12. In such
`
`
`
`
`
`
`
`
`a case, the database 28 contents would be transmitted to the
`
`
`
`
`
`
`
`
`
`Buddy List System 26 whenthe 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 buddylists.
`
`
`
`
`
`
`
`
`
`Each user may define multiple buddy lists by group names
`
`
`
`
`
`
`
`
`(two being shown by way of example). Each group namein
`
`
`
`
`
`
`
`
`
`the Group Nametable 30 has an associated BuddyList 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 embodimentof the invention
`
`
`
`
`
`
`
`
`for a Permissions List 34, and the conceptualrelationship 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
`
`
`
`
`
`
`
`
`
`equivalentto “all”, then all co-users may enter that user into
`
`
`
`
`
`
`
`
`
`their buddylists. 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 mayenter 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 buddylists. 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 “HomeList”in a large scrollable area. Buddylist
`
`10
`
`
`
`15
`
`
`
`20
`
`
`
`25
`
`
`
`30
`
`
`
`35
`
`
`
`40
`
`
`
`45
`
`
`
`50
`
`
`
`55
`
`
`
`60
`
`
`
`65
`
`
`
`
`
`US 6,750,881 B1
`
`
`
`
`4
`
`
`
`
`
`
`
`
`namesare like categories. Other buddylists can be shown in
`
`
`
`
`
`
`
`
`
`the same display. Indented underneath each buddylist are
`
`
`
`
`
`
`the names(or addresses) of user-selected co-users compris-
`
`
`
`
`
`
`
`
`
`ing that list. In the example shown,the “HomeList” includes
`
`
`
`
`
`
`
`
`
`three co-users and their status as “IN”(i.e., currently logged
`
`
`
`
`
`
`
`
`
`into the system) or “OUT”(ie., 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
`
`
`
`
`
`
`
`
`
`loggedin), etc. In still another embodiment, only logged in
`
`
`
`
`
`
`
`members of a buddylist 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 causeall the screen nameslisted
`
`
`
`
`
`
`
`beneath to disappear. In the preferred embodiment, mini-
`
`
`
`
`
`
`
`
`
`mized buddylists 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 numbertells the user how many people on that list are
`
`
`
`
`
`
`
`
`logged in out of the total number of screen names on the
`
`
`
`
`
`
`
`
`
`
`buddylist. In the illustrated example, 2/3 meansthat two of
`
`
`
`
`
`
`
`
`
`the three people on the “Home List” are currently online.
`
`
`
`
`
`
`
`
`
`In the preferred embodiment, whentheuserfirst 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 40is 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 numberof
`
`
`
`
`
`
`
`
`buttons for setting up or using buddylists. Included buttons
`
`
`
`
`
`
`
`in the preferred embodiment are: LOCATE,for determining
`
`
`
`
`
`
`
`which “chat room” a buddyis 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 “HomeList” in a scrollable area. Buttons
`
`
`
`
`
`
`
`
`
`are providedfor creating a new buddylist; 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 shownin the scrol-
`lable area with a count of the numberof co-usersin eachlist.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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 Nametable 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:
`
`Page 11 of 13
`
`Page 11 of 13
`
`
`
`
`5
`
`
`
`
`
`
`
`Show me my BuddyList(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 meto their lists/invitations.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`This option grants permissionfor 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.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`
`
`
`Statusfield.
`
`
`
`
`
`
`
`
`
`
`
`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 per-
`mission for all other members to add the userto 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.Ifset, the
`
`
`
`
`
`
`
`appropriate user record in the PermissionsList 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
`
`
`
`“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 whoseesthe user logging on and off
`
`
`
`
`
`
`
`
`
`the system. Although the user can be placed on the buddylist
`
`
`
`
`
`
`
`
`
`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 MemberDirectory 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
`
`
`
`
`
`
`
`
`namesor addresses of co-users, for entry into buddylists.
`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
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`LOCATEbutton is activated, a member location window 90
`
`
`
`
`
`
`
`
`
`
`is displayed with the inputfield blank, for entry of a co-user
`
`
`
`
`
`
`
`
`
`name. This feature using the existing locate functions of the
`
`system.
`
`
`
`10
`
`
`
`15
`
`
`
`20
`
`
`
`25
`
`
`
`30
`
`
`
`35
`
`
`
`40
`
`
`
`45
`
`
`
`50
`
`
`
`55
`
`
`
`60
`
`
`
`65
`
`
`
`Page 12 of 13
`
`
`
`US 6,750,881 B1
`
`
`
`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 embodimentof 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 windowis auto-
`
`
`
`
`
`
`matically displayed byactivating (e.g., by clicking or double
`
`
`
`
`
`
`
`
`clicking) a co-user’s name on a buddylist. The “To:”line of
`
`
`
`
`
`
`
`