`
`(19) United States
`(12) Patent Application Publication (io) Pub. No.: US 2002/0116461 Al
`Diacakis et al.
`(43) Pub. Date:
`Aug. 22,2002
`
`(54) PRESENCE AND AVAILABILITY
`MANAGEMENT SYSTEM
`
`(76) Inventors: Athanassios Diacakis, Pittsburgh, PA
`(US); Daniel R. Cohen, Pittsburgh, PA
`(US)
`
`Publication Classification
`
`Int. CI.7 .................................................G06F 15/16
`(51)
`(52) U.S. Cl........................................... 709/204; 709/245
`
`(57)
`
`ABSTRACT
`
`Correspondence Address:
`KIRKPATRICK & LOCKHART LLP
`535 SMITHFIELD STREET
`PITTSBURGH, PA 15222 (US)
`
`(21) Appl. No.:
`
`10/068,761
`
`(22) Filed:
`
`Feb. 5, 2002
`
`Related U.S. Application Data
`
`(60) Provisional application No. 60/266,559, filed on Feb.
`5, 2001.
`
`A presence and availability management server and a
`method for communicating communication network avail
`ability information regarding an individual to at least one
`subscriber of the individual’s availability information.
`According to one embodiment, the server includes a pres
`ence detection engine for detecting whether the individual is
`present on at least one communication network. The server
`also includes an availability management engine in commu
`nication with the presence detection engine for publishing to
`the subscriber via a network whether the individual is
`available on the communication network.
`
`Epic Games Ex. 1007
`Page 1
`
`
`
`Patent Application Publication Aug. 22,2002 Sheet 1 of 9
`
`US 2002/0116461 Al
`
`Fig. 1
`
`Epic Games Ex. 1007
`Page 2
`
`
`
`Patent Application Publication Aug. 22,2002 Sheet 2 of 9
`
`US 2002/0116461 Al
`
`OFFICE PROFILE
`
`Communication Media
`Home telephone
`Office telephone
`
`Mobile telephone
`Voicemail
`
`Address
`(412) 555-1234
`(412) 555-0101
`
`(412) 555-4567
`(800) 555-mail
`
`Personal e-mail
`Work e-mail
`
`user@domain.com
`user@company.com
`
`Instant messaging
`
`user@someplace.com
`
`Important
`No
`Yes
`(preferred)
`Yes
`Yes
`
`Yes
`Yes
`(preferred)
`Yes
`
`Normal
`No
`Yes
`
`No
`Yes
`(preferred)
`No
`Yes
`(preferred)
`No
`
`Restricted
`No
`No
`
`Blocked
`No
`No
`
`No
`Yes
`
`No
`No
`
`No
`
`No
`No
`
`No
`No
`
`No
`
`Fig. 2
`
`Office Profile
`
`Work: (412) 555-0101 (preferred)
`Voicemal: (800) 555-mail
`
`E-mail: user@oompany.com
`
`Fig. 3
`
`Important
`
`Work: (412) 555-0101 (preferred)
`Mobile: (412) 555-4567
`Voicemal: (800) 555-mail
`
`E-mail: user@domain.com
`E-mail: user@company.com
`
`IM: user@someplace.com
`
`Epic Games Ex. 1007
`Page 3
`
`
`
`Page 4
`Epic Games Ex. 1007
`
`Patent Application Publication Aug. 22, 2002 Sheet 3 of 9
`
`US 2002/0116461 Al
`
`
`
`Patent Application Publication Aug. 22,2002 Sheet 4 of 9
`
`US 2002/0116461 Al
`
`Fig-5
`
`Epic Games Ex. 1007
`Page 5
`
`
`
`Patent Application Publication Aug. 22,2002 Sheet 5 of 9
`
`US 2002/0116461 Al
`
`Epic Games Ex. 1007
`Page 6
`
`
`
`Patent Application Publication Aug. 22,2002 Sheet 6 of 9
`
`US 2002/0116461 Al
`
`Epic Games Ex. 1007
`Page 7
`
`
`
`Page 8
`Epic Games Ex. 1007
`
`Patent Application Publication Aug. 22,2002 Sheet 7 of 9
`
`US 2002/0116461 Al
`
`
`
`Patent Application Publication Aug. 22, 2002 Sheet 8 of 9
`
`US 2002/0116461 Al
`
`Epic Games Ex. 1007
`Page 9
`
`
`
`Patent Application Publication Aug. 22, 2002 Sheet 9 of 9
`
`US 2002/0116461 Al
`
`Epic Games Ex. 1007
`Page 10
`
`
`
`US 2002/0116461 Al
`
`1
`
`Aug. 22, 2002
`
`PRESENCE AND AVAILABILITY MANAGEMENT
`SYSTEM
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`[0001] This application claims priority under 35 U.S.C.
`§119 to U.S. provisional patent application Serial No.
`60/266,559, filed Feb. 5, 2001, which is incorporated herein
`by reference.
`
`BACKGROUND OF INVENTION
`[0002] 1, Field of Invention
`[0003] The present invention relates generally to commu
`nications and, more particularly, to presence and availability
`management systems.
`[0004] 2. Description of the Background
`[0005] A presence and availability management system
`enables users to control their availability and how that is
`displayed to other users. Accordingly, users may select if
`they want to be available to any given person (or group of
`people) or not, as well as how that person (or group of
`people) may or may not contact them. In addition, a presence
`and availability management service enables users to view
`the availability of their contacts and use that information to
`determine whether or not and how to initiate communica
`tions.
`[0006] Presence and availability management services
`have two primary functions. First, to collect information
`from multiple sources to determine the presence and,
`according to user-defined preferences, the availability of a
`given person. For example, a presence and availability
`management service needs information on what communi
`cations network a user is on, and whether or not the user is
`reachable for each of the networks. Second, a presence and
`availability management service must distribute the avail
`ability information of a given person to interested individu
`als on a selective basis, according to a variety of user-defined
`preferences and settings.
`[0007] In addition to those functions, conventional pres
`ence and availability management services have two sec
`ondary functions. First, to configure access control settings.
`A presence and availability management service provides
`users with the ability to configure an observer’s access
`settings, thereby giving users the ability to control what
`contact information observers are allowed to view. Thus,
`users have the choice of what information is published to
`each of their observers. Second, to store user information to
`enable the use of the presence and availability management
`service regardless of the user’s network device. By storing
`user information on the back-end of the presence and
`availability management system, the presence and availabil
`ity management service enables users to utilize its services
`regardless of the user’s network device as long as they have
`a device that is within a communications network. Thus,
`users can access the presence and availability management
`service if they are on a cellular phone, a handheld device or
`a computer workstation.
`[0008] In a conventional presence and availability man
`agement enabled communications system, individuals must
`request the appropriate presence and availability informa
`
`tion from the presence and availability management sub
`system when they want to communicate with other indi
`viduals on the communications network. However, this
`model poses two issues. First, such systems do not make the
`presence and availability information about an individual
`continuously available to others. Thus, the user’s interface
`cannot display the individual’s presence and availability
`information on a continuous basis. Accordingly, users can
`not simply quickly glance at a contact list to see who is
`available. Second, having to retrieve presence and availabil
`ity information only when it is needed creates a delay at a
`critical point in time where user tolerance for it is low.
`
`BRIEF SUMMARY OF THE INVENTION
`[0009] In one general respect, the present invention is
`directed to presence and availability (P&A) management
`server for communicating communication network avail
`ability information regarding an individual to at least one
`subscriber of the individual’s availability information.
`According to one embodiment, the server includes a pres
`ence detection engine for detecting whether the individual is
`present on at least one communication network. The server
`also includes an availability management engine in commu
`nication with the presence detection engine for publishing to
`the subscriber via a network whether the individual is
`available on the communication network.
`[0010] In another general respect, the present invention is
`directed to a method for communicating communication
`network availability information regarding an individual to
`at least one subscriber of the individual’s availability infor
`mation. According to one embodiment, the method includes
`determining presence information of the individual, wherein
`presence information includes whether the individual is
`present on at least one communication network. The method
`also includes determining availability of the individual
`based on a profile of the individual, wherein the profile
`includes at least one access level. In addition, the method
`includes publishing via a network the availability of the
`individual to the subscriber based on the access level of the
`subscriber and the presence information.
`
`BRIEF DESCRIPTION OF THE FIGURES
`[0011] Embodiments of the present invention are
`described in conjunction with the following figures,
`wherein:
`[0012] FIG. 1 is a block diagram of a presence and
`availability (P&A) management system according to one
`embodiment of the present invention;
`[0013] FIG. 2 is an example of an availability profile
`according to one embodiment of the present invention;
`[0014] FIG. 3 is a diagram depicting what information
`subscribers at various access levels receive for the profile of
`FIG. 2;
`[0015] FIG. 4 is a diagram of a P&A management server
`according to one embodiment of the present invention,
`[0016] FIG. 5 is a diagram illustrating the process flow
`through the P&A management server of FIG. 4 according to
`one embodiment of the present invention;
`[0017] FIG. 6 is a diagram of the P&A management server
`according to one embodiment of the present invention.
`
`Epic Games Ex. 1007
`Page 11
`
`
`
`US 2002/0116461 Al
`
`2
`
`Aug. 22, 2002
`
`[0018] FIG. 7 is a diagram illustrating the process flow
`through the P&A management server of FIG. 6 according to
`one embodiment of the present invention;
`[0019] FIG. 8 is a screen shot of a subscriber according to
`one embodiment of the present invention;
`[0020] FIG. 9 is a diagram of a client terminal according
`to one embodiment of the present invention;
`[0021] FIG. 10 is a diagram of the process flow through
`the client terminal of FIG. 9 according to one embodiment
`of the present invention; and
`[0022] FIG. 11 is a diagram of a system with a secondary
`domain name server according to one embodiment of the
`present invention.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`[0023] It is to be understood that the figures and descrip
`tions of the following embodiments have been simplified to
`illustrate elements that are relevant for a clear understanding
`of the present invention, while eliminating, for purposes of
`clarity, other elements. For example, certain operating sys
`tem details and modules of computer processing devices are
`not described herein. Those of ordinary skill in the art will
`recognize, however, that these and other elements may be
`desirable in a typical communications network. However,
`because such elements are well known in the art, and
`because they do not facilitate a better understanding of the
`present invention, a discussion of such elements is not
`provided herein.
`[0024] FIG. 1 is a diagram of a presence and availability
`(P&A) management system 10 according to one embodi
`ment of the present invention. The system includes a P&A
`management server 12 in communication with a client
`terminal 22 via a network 16. The client terminal 22 is
`sometimes referred to herein as "a client.” The P&A man
`agement server 12 includes a presence detection engine 18
`and an availability management engine 20. Profile informa
`tion, as described further herein, may be stored in a database
`24 of the server 12. The P&A management server 12 is in
`communication with at least one client terminal 22. In FIG.
`1, only one client terminal 22 is illustrated, although a
`number of other client terminals may also be in communi
`cation with the P&A management server 12 via the network
`16. The client terminal 22 is illustrated as a personal
`computer in FIG. 1, although according to other embodi
`ments the client terminal may be another type of commu
`nication device such as, for example, a wireless telephone
`(such as a WAP (Wireless Application Protocol)-enabled
`phone) or a wireless or connected personal digital assistant
`(PDA).
`[0025] The network 16 may be any connected system of,
`for example, communication lines, channels, and radio
`interfaces, used to exchange information between the P&A
`management server 12 and the client 22. According to one
`embodiment, the network 16 may include, for example, the
`Internet, an intranet, the public switched telephone network
`(PSTN), or a wireless telephone or radio network. According
`to one embodiment, the P&A management server 12 and
`client 22 may communicate via the network 16 using an
`open draft TCP/IP based protocol.
`
`[0026] As used herein, the term “presence” is defined as
`the ability of an individual to access a particular communi
`cations network. For example, if a person is near a landline
`telephone or wireless telephone that is switched on, that
`person is “present” on a telephone network, i.e., the person
`is able to use the telephone network to communicate with
`other people also on the network. Conversely, if a person is
`not near a landline telephone or wireless telephone, or the
`wireless telephone is switched off, then that person is not
`present on a telephone network, and thus unable to commu
`nicate with others on the telephone network. Similarly, if a
`person uses an instant messaging (IM) application at a given
`point in time, the person is present on that instant messaging
`network.
`[0027] In addition, as used herein the term “availability” is
`defined as the willingness of an individual who is present on
`one or more communications networks to be reached by one
`or more persons. Following the telephone network example
`above, if a person is near a landline or wireless telephone
`and has the intention or willingness to answer the phone
`when a particular person calls, the person is not only present
`but available on the telephone network. However, if the
`person is unwilling or unable to answer either phone when
`it rings, although present, the person is not available.
`[0028] It should be noted that a person needs to be present
`on a network in order to be available, yet the opposite is not
`necessarily true. In addition, presence is absolute. That is, a
`person is either present or not on a given network. However,
`availability depends on, e.g., other people, situations, cir
`cumstances, personal preferences, etc. For example, a per
`son can be available to a first group of people, but unavail
`able to a separate group.
`[0029] According to one embodiment, the system 10
`employs a publisher-subscriber model. According to such an
`embodiment, an individual defines a P&A profile set, which
`is stored on the P&A management server 12. When the
`individual transmits a change in profile to the server 12, the
`server publishes the change to each of the connected clients
`22 that are subscribers of the individual’s information. The
`publisher-subscriber model enables subscribers to observe a
`particular individual's P&A information instantly.
`[0030] Hereinafter, a user of the client terminal 22 is
`typically referred to as "subscriber.” Unless noted otherwise,
`the term "subscriber” is used synonymously with the term
`"observer.” One instance, however, in which an observer is
`not the same as a subscriber is if someone requests an
`individual’s P&A information just once, without placing a
`subscription for it. In FIG. 1, the system 10 is illustrated as
`including only one server 12 and one client 22, although
`other embodiments of the present invention contemplate a
`distributed architecture including multiple management
`servers and multiple clients.
`[0031] An individual user of the system 10 may initially
`configure his P&A profile settings in order to instruct the
`system 12 how his information is to be distributed. Accord
`ing to one embodiment, the individual may configure their
`P&A management profile set according to the following
`Steps. First, the individual is requested to enter information
`regarding each of the communication devices that the indi
`vidual uses and a corresponding address for each of those
`devices. For example, the individual may have a landline
`telephone with a phone number and a computer workstation
`
`Epic Games Ex. 1007
`Page 12
`
`
`
`US 2002/0116461 Al
`
`3
`
`Aug. 22, 2002
`
`with an e-mail address. Second, the individual identifies and
`categorizes the people to whom he wants his information
`published. This allows individuals to select the "more
`important” people and to give them easier access, whereas
`the “less important” people are given minimum access, and
`undesirable groups of people are restricted from access
`altogether. These different group levels may be referred to as
`"access levels.” Third, the individual may define a series of
`profiles that describe a situation that the individual may be
`in such as, for example, "at home,”“at office,” or "on the
`road.” Further, the individual may identify how he wishes to
`be communicated with for each profile and for each access
`level. In addition, where several modes of communication
`over one medium are possible, the individual may identify
`which mode is preferable.
`[0032] For example, an individual may have an office
`profile as indicated in FIG. 2. Thus, a subscriber with an
`access level of "Important” would receive the items marked
`"Yes” in the "Important” column, with the preference indi
`cated (where appropriate), thereby making it very easy for
`"important” subscribers to communicate with the individual.
`Persons in the "Normal” access level would receive less
`contact information than persons in the "Important” access
`level, and persons in the “Restricted” access level would
`receive even less contact information. Persons in the
`"Blocked” access level would receive not contact informa
`tion at all. The individual may specify which persons belong
`to each access level for each profile.
`[0033] Accordingly, as illustrated in FIG. 3, subscribers in
`various access groups would have access to different infor
`mation regarding the individual. Similarly, the individual
`may define other profiles for different situations such as, for
`example, "at home,”“on the road,’’“meeting” and "vaca
`tion.” Collectively, the individual’s profile for each of these
`situations may define a profile set.
`[0034] As discussed, an individual may configure his
`profile such that subscribers at certain access levels have
`access to the individual’s P&A information at certain times.
`For example, the individual may configure his profile such
`that his boss has access to the individual’s P&A while the
`individual is at work; his wife has access all the time; and his
`parents have access only on weekends while not at work.
`Accordingly, when the P&A management server 12 detects
`a change in, for example, the individual’s situation, the P&A
`management server 12 consults the individual’s defined
`rules and preferences (which may be stored by the P&A
`management server 12), and transmits the appropriate infor
`mation to the clients 22 for subscribers to the individual’s
`information based on the subscriber’s access groups. The
`presence detection engine 18 may detect a change in the
`individual’s situation, as described further hereinafter, or the
`individual may communicate the change to the management
`server 12 directly.
`[0035] Thus, with reference to the example mentioned
`previously, when the P&A management server 12 detects
`that the individual is at work, the server 12 transmits the
`individual’s updated P&A information to the clients 22 for
`the individual’s boss and spouse. The information that the
`boss and spouse receive, however, may be different based on
`their access levels, as discussed previously. For example, the
`boss may be informed of the individual’s instant messaging
`information, but the individual’s wife may not. When the
`
`individual returns home, the wife’s information may be
`updated and the individual’s parent may begin receiving
`information regarding the individual’s P&A (although it
`may not be the same as the wife’s information depending on
`their access levels). The boss, however, will no longer have
`access to the individual’s information.
`[0036] An individual may define his profile set, including
`his rules and preferences, via a user-interface in communi
`cation with the P&A management server 12. According to
`one embodiment, the user-interface may comprise a graphi
`cal user interface (GUI) application loaded on a computer
`device in communication with the P&A management server
`12. Once defined, the P&A management server 12 may store
`the profiles, rules and preferences in a database (not shown).
`For security purposes, access to an individual’s profiles etc.
`may be based on verification of a user PIN, password or
`other security mechanism. Accordingly, an individual may
`modify his profile settings as necessary.
`[0037] In the previous example, a change in the individu
`al’s physical location triggered situation changes, and thus a
`change of profile. It should be noted that other factors may
`trigger changes in the individual’s profile including, for
`example, time of day and the individual’s mood, as
`explained further hereinbelow.
`[0038] FIG. 4 is a diagram of the P&Amanagement server
`12 according to one embodiment of the present invention. As
`illustrated in FIG. 4, the server 12 includes a presence
`detection engine 18 and an availability management engine
`20 The presence detection engine 18 may determine an
`individual’s presence upon particular networks based on
`various inputs, as described further hereinbelow. The pres
`ence detection engine 18 may transmit the presence infor
`mation to the availability management engine 20, which in
`turn may determine the individual’s availability based on the
`presence information as well as additional information, such
`as the individual’s situation and defined rules and prefer
`ences. The determined availability information may then be
`transmitted to subscribers of the individual’s availability
`information via the network 16, as described previously.
`[0039] The engines 18, 20 may be implemented as soft
`ware code to be executed by a processor in the server 12
`using any suitable computer language such as, for example,
`Java, C++ or Perl using, for example, conventional or
`object-oriented techniques. The software code may be stored
`as a series of instructions or commands on a computer
`readable medium, such as a random access memory (RAM),
`a read only memory (ROM), a magnetic medium such as a
`hard-drive or a floppy disk, or an optical medium such as a
`CD-ROM.
`[0040] As illustrated in FIG. 4, the presence detection
`engine 18 may receive various inputs to determine, to the
`extent possible, the individual’s presence. One type of input
`that the presence detection engine 18 may use to help
`determine the individual’s presence is time-based input 40.
`For example, based on time of day information and known
`scheduling/calendar information, the presence detection
`engine 18 may be able to determine an individual’s pres
`ence. For example, if the individual had scheduled to be in
`his office from 9am to 5pm, the presence detection engine 18
`may determine that during that time period the individual is
`present on the networks available to him in his office, which
`may be, for example, telephone and instant messaging.
`
`Epic Games Ex. 1007
`Page 13
`
`
`
`US 2002/0116461 Al
`
`4
`
`Aug. 22, 2002
`
`[0041] Another type of input that the presence detection
`engine 18 may use is user-location input 42. User-location
`information may be supplied, for example, from a number of
`possible networks or devices in communication with the
`server 12. For example, the server 12 may include a radio
`receiver such that the presence detection engine 18 is in
`communication with radio networks including, for example,
`a Bluetooth network, that may communicate information
`relating to the individual’s physical locale. In addition, the
`server 12 may be in communication with a GPS receiver
`associated with the user. According to another embodiment,
`the presence detection engine 18 may be in communication
`with Enhanced 911 (E-911) networks for possible user
`location information.
`[0042] In addition, the presence detection engine 18 may
`receive input from various hardware devices that may relate
`information regarding user location. For example, the pres
`ence detection engine 18 may receive information from
`cameras, such as security cameras located at a place of
`employment. Thus, the camera information may relate infor
`mation as to whether the individual is in the locale of his
`place of employment. Additionally, the presence detection
`engine 18 may receive input from sensors, such as pressure
`sensors, to help ascertain the locus of the individual. The
`pressure sensors may be, for example, located in the office
`chair or the computer keyboard of the individual, thus
`providing information regarding the individual’s locus. Fur
`thermore, the presence detection engine 18 may receive
`inputs from security equipment, such as active badge sen
`sors, smart card sensors and/or magnetic card readers to help
`ascertain the location of the individual.
`[0043] Additionally, the presence detection engine 18 may
`be in communication with other networks/device to help
`determine presence information. For example, the presence
`detection engine 18 may be in communication with a SS7
`network of the public switched telephone network (PSTN)
`to determine if the individual is present on a landline
`telephone such as, for example, the landline desk phone 44
`in his office. For example, the presence detection engine 18
`may be in commu nication with a service control point (SCP)
`of the SS7 network. According to another embodiment, the
`presence detection engine 18 may receive inputs from a
`Home Location Register (HLR) of a wireless telephone
`network to determine if the individual is present on his
`mobile phone 46. The wireless telephone network may be,
`for example, an AMPS (Advanced Mobile Phone Service)
`network, a TACS (Total Access Communication System)
`network, a UMTS (Universal Mobile Telecommunications
`System), a GSM network, a CDMA network, a TDMA
`network, a GPRS (General Packet Radio Service) network
`or a wireless CDPD (Cellular Digital Packet Data) network.
`According to other embodiments, the presence detection
`engine 18 may also or instead of be in communication with
`a short messaging system center (SMS-C) of a short mes
`saging system network or a gateway GPRS support node
`(GGSN). According to another embodiment, the presence
`detection engine 18 may be in communication with a server
`of a computer network.
`[0044] The presence detection engine 18 may also receive
`inputs from computer networks such as, for example, a local
`Ethernet, a LAN, a wireless LAN, a MAN, a WAN, or a
`TCP/IP network, to determine if the individual is present on
`such a network, such as via his personal computer (PC) 48.
`
`Similarly, the presence detection engine 18 may be in
`communication with communication networks to determine
`whether an individual is present on other devices such as, for
`example, a personal digital assistant (PDA) 50 or a pager 52.
`[0045] Based on the presence information on such devices
`44-52, the presence detection engine 18 may determine
`additional information about the individual, such as the
`individual’s status 54 on particular networks (such as on or
`off) or the individual’s physical location 56. In addition,
`based on information regarding each of these devices 44-53
`the presence detection engine 18 may determine the indi
`vidual’s current capabilities 58 such as, for example,
`whether he can receive voice information, data files, audio
`files, video files, etc.
`[0046] The presence information ascertained by the pres
`ence detection engine 18 is communicated to availability
`management engine 20, which determines the individual’s
`availability based thereon. To determine the individual’s
`availability, the availability management engine 20 may
`receive information transmitted by the individual regarding
`a change in their situation 60. Such a change in user situation
`may be communicated to the availability management
`engine 20 through a communication network such as, for
`example, an IP network, a telephone network, or a radio
`network.
`[0047] The availability management engine 20 may con
`sult the individual’s rules and preferences to determine the
`individual’s availability based on, for example, the presence
`information from the presence detection engine 18 and the
`individual’s situation. The individual’s rules and preferences
`may be stored in a database 64, as illustrated in FIG. 4, or
`may be stored with the profile information in the database
`24. Additionally, the individual may specify the observers 62
`who receive the individual’s contact information. The
`observers may be specified according to, for example, a
`group basis or an individual basis. The observer classifica
`tion information may also be stored in a database, such as the
`profile database 24.
`[0048] The availability information may then be published
`to the individual’s subscribers (via the client terminals).
`Because the availability information is determined, in part,
`based on the presence information from the presence detec
`tion engine 18, the availability management engine 20 may
`modify the published contact information sent to subscribers
`based on the presence information if, for example, the
`individual’s profile is inconsistent with the actual individu
`al’s presence. Thus, availability management engine 20 may
`be configured to take the presence information into account
`and cease from relaying the inconsistent contact information
`to subscribers.
`[0049] FIG. 5 is a diagram of the process flow of the P&A
`management server 12 according to one embodiment of the
`present invention. The process initiates at block 88 where
`the presence detection engine 18 ascertains presence infor
`mation regarding the user as described previously. At block
`90, the user’s current profile is retrieved from the profile
`database 24 based on the current user situation. At block 92,
`the list of observers for each access level (e.g., important,
`normal, restricted, work, blocked, etc.) for the current profile
`is retrieved.
`[0050] At block 94, the availability management engine
`20 may determine the user’s availability for each access
`
`Epic Games Ex. 1007
`Page 14
`
`
`
`US 2002/0116461 Al
`
`5
`
`Aug. 22, 2002
`
`level based on the user’s profile. At block 98 the availability
`information is distributed (published) to the subscribers of
`the information via the network 16 on a per access level
`basis.
`[0051] According to another embodiment, the availability
`management engine 20 may first retrieve the appropriate
`profile based on the individual’s situation. The individual’s
`presence and availability information may then be filtered
`before it is published to the observers. FIG. 6 is a diagram
`of the P&A management server 12 according to such an
`embodiment. The illustrated embodiment includes an adap
`tive feedback module 100, which may be implemented, for
`example, as software code to be executed by a processor of
`the server 12 using any suitable computer language such as,
`for example, Java, C++ or Perl using, for example, conven
`tional or object-oriented techniques. The software code may
`be stored as a series of instructions or commands on a
`computer readable medium, such as a random access
`memory (RAM), a read only memory (ROM), a magnetic
`medium such as a hard-drive or a floppy disk, or an optical
`medium such as a CD-ROM.
`[0052] The adaptive feedback module 100 may monitor
`the published availability information and, if the information
`is, for example, inaccurate or unusable, make adjustments to
`either the presence detection engine 18 or the availability
`management engine 20 to ensure the integrity of the pub
`lished availability information. For example, if the published
`availability information for an individual indicates that he is
`available on his mobile telephone, but if the last three times
`someone called the individual on his mobile telephone the
`individual did not answer, then the adaptive feedback mod
`ule 100 may instruct the presence detection engine 18 of this
`condition such that the published availability information for
`the individual will not longer indicate mobile telephone
`availability to the appropriate access levels until there is
`evidence that the individual resumes usage of his mobile
`telephone. The adaptive feedback module 100 may deter
`mine whether the individual’s availability information is, for
`example, inaccurate or unusable based on information
`received from the appropriate