`a2) Patent Application Publication (10) Pub. No.: US 2002/0116461 Al
`(43) Pub. Date: Aug. 22, 2002
`
`Diacakis et al.
`
`US 20020116461A1
`
`PRESENCE AND AVAILABILITY
`MANAGEMENT SYSTEM
`
`Publication Classification
`
`Int. Cl”
`(51)
`(52) US. CL.
`
`essesueesesaseesessessessessessceseeseeseeeseeseats GO6F 15/16
`
`sesessessesssesuesuesuesuesuesueneensensens 709/204; 709/245
`
`(57)
`
`ABSTRACT
`
`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 individualis
`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.
`
`64
`
`u
`Ser
`Situation
`
`Rules &
`Preferances
`
`aed To
`ana 16
`
`Avaliabillty Information
`
`subscribers
`.
`via network
`
`
`AVAILABILITY
`MANAGEMENT
`
`ENGINE
`
`
`
`(54)
`
`(76)
`
`Inventors: Athanassios Diacakis, Pittsburgh, PA
`(US); Daniel R. Cohen, Pittsburgh, PA
`(US)
`
`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.
`
`
`re-
` PRESENCE
`
`DETECTION
`ENGINE
`
`PresenceInformation
`
`0
`
`User-Location
`
`Observers
`
`82
`
`Schedule,
`Calendar
`
`Timeof
`day
`
`Bluatooth,
`GPS, E-911
`
`Cameras, sensors,
`active badges,
`magnetic cards
`
`it At
`
`mess
`
`Af
`
`Epic Games Ex. 1007
`Epic Games Ex. 1007
`Page 1
`Page 1
`
`
`
`Patent Application Publication Aug. 22,2002 Sheet 1 of 9
`
`US 2002/0116461 Al
`
`TERMIAL
`
`NN
`
`
`
`
`CLIENT
`
`ENGINE
`
`ENGINE
`
`liz
`
` PRESENCE
`MANAGEMENT
`AVAILABILITY
`DETECTION
`
`Database
`
`
`Epic Games Ex. 1007
`Epic Games Ex. 1007
`Page 2
`Page 2
`
`
`
`Patent Application Publication Aug. 22,2002 Sheet 2 of 9
`
`US 2002/0116461 Al
`
`OFFICEPROFILE
`
`
`
`
`
`
` Communication Media
`Address
`
`
`
`
`(412) 555-1234
`Hometelephone
`Office telephone
`(412) 555-0101
`
`
`
`
`(412) 555-4567
`Mobile telephone
`(800) 555-mail
`Voicemail
`
`
`
`
`Yes
`
`Yes
`(preferred)
`Pewonalemail|wser@domain.com|__Ves
`Work e-mail
`user@company.com
`Yes
`Yes
`No
`No
`
`
`
`(preferred)|(preferred)
`
`
`
`user@someplace.com
`Instant messaging
`
`
`Yes
`
`No
`
`
`
`Fig. 3
`
`important
`
`Work: (412) 555-0101 (preferred)
`Mobile: (412) 555-4567
`Voicemal: (800) 555-mail
`
`Restricted
`
`Voicemail: (800) 555-mail
`
`Office Profile
`
`
`
`
`E-mail: user@company.com
`
`E-mail: user@domain.com
`E-mail: user@company.com
`
`
`
`
`iM: user@someplace.com
`
`Work: (412) 555-0101 (preferred) _
`Voicemal: (800) 555-mait
`
`Epic Games Ex. 1007
`Epic Games Ex. 1007
`Page 3
`Page 3
`
`
`
`yobeg
`
`
`
`
` =<=+=seeeneame||tea'sdo||feo||sepusjeo=omen|srenpiaipuy||sdnoip‘seioweg||Horlenia||JOSuilL||‘einpeuosa==N;bbOSJb=)‘siosues
`
`
`
`sioquosqnsALISIVAYSONSSaud
`
`
`YIOMJSUBIAuoReuuojUyAYIqeNeAyLNSWS9VNVANUORBUUOLU]BoUaseldNO!LOSLAG
`
`
`
`
`
`MSNIONASNIONA
`
`aSI@NIaSqQauone007-18s/)peseq-ouwllL:;OP
`09ddJo6edvejoe|aitais00
`2g0g8v
`“aessoones|S9gpS
`TI||
`oYvy
`
`Patent Application Publication Aug. 22,2002 Sheet 3 of 9
`
`OL
`
`a
`
`SOOUSIOJOAd8Sony
`
`Jasn
`
`uojenys
`
`8
`
`at
`
`
`
`
`
`ZOOL"X93seweyo1d9
`
`Page 4 p
`Epic Games Ex. 1007
`
`
`
`
`
`
`Patent Application Publication Aug. 22,2002 Sheet 4 of 9
`
`Ascertain presence
`information
`
`88
`
`Retrieve current profile
`
`90
`
`Retrieve list of subscribers for
`each accesslevel
`
`92
`
`subscribers US 2002/0116461 A1
`
`Determine availability
`information
`{based on accesslevel)
`
`94
`
`Distribute availability to
`
`98
`
`Epic Games Ex. 1007
`Epic Games Ex. 1007
`Page 5
`Page 5
`
`
`
`Patent Application Publication Aug. 22,2002 Sheet 5 of 9
`
`US 2002/0116461 A1
`
`siequosqns
`
`IOMISUBIA
`
`OL
`
`Ob
`
`AAILLAVaV
`
`LNAWSSVNVINNOIL03140
`
`ALITMISVTIVAYAONASAYd
`
`ANIONAANIONS
`
`MOVEdssS
`
`SINGOW
`
`Epic Games Ex. 1007
`Epic Games Ex. 1007
`Page 6
`Page 6
`
`
`
`Patent Application Publication Aug. 22,2002 Sheet 6 of 9
`
`US 2002/0116461 Al
`
`RETRIEVE PROFILE
`
`jut
`
`
`
`
`For each subscriber,
`retrieve accesslevel
`
`
`
`[04
`
`
`
`
`
`lo’
`
`
`
`Determineavailability
`information
`(based on accesslevel)
`
`
`
`Filter P&A Information
`
`Ascertain presence
`information
`
`[06
`
`[04
`
`
`
`Distribute P&A Informat®d-to
`subscribers
`
`
`
`Epic Games Ex. 1007
`Epic Games Ex. 1007
`Page 7
`Page 7
`
`
`
`yoRjUu0g Patent Application Publication Aug. 22, 2002 Sheet 7 of 9
`eieoe)@)@-woo'bpd@ueujeuof:}2u-ypeseqqam-|euosled'
`
`
`
`
`
`
`
`
`
`woo'aqe@usujeuolsiew-gyomlewd
`
`
`
`woocobpd@ueyyeuol(4)
`
`yewed
`
`
`
`eese-Sgg(Zbp)“WeWABO}
`
`
`
`eBessayyjue}su]
`
`
`
`
`
`wooosogeueuyjeuol(wi)
`
`
`
`
`
`SECE-GES(ZTbY)EWA18D
`
`
`
`
`
`LOOL"x4sewedo1d3
`
`Page 8 ga
`Epic Games Ex. 1007
`
`be
`
`US 2002/0116461 Al
`
`cunccu@)@~1
`2st
`
`'
`
`Jooyosx]
`
`
`
`Aquoo(wi)@-
`
`
`
`ipuko(wt)@-
`
`wol()@-
`
`“<@@-
`
`watedoen het
`
`spuejs---
`
`
`
`(ZLb)DHOM©) Spez-999(ZL)WOM®yOZL-SSS
`
`
`
`
`
`HEI89}0A,
`
`sajHodoig
`
`y9e}U09
`
`isessolppy
`
`BOIOA,
`
`
`
`LELL-9SS(Zp)<WeLUAyuo),
`
`
`
`Patent Application Publication Aug. 22, 2002 Sheet 8 of 9
`
`US 2002/0116461 Al
`
`Availability information from
`P&A managementserver 12
`
`indicator
`Module
`
`User
`Interface
`
`
`
`
`Generate single
`indicator for each
`individual
`
`Fig. 9
`
`
`
`
`Receive availability
`information for each
`
`
`individual (1 to n)
`
`
`
`120
`
`122
`
`Fig. 10
`
`124
`
`12
`
`
`
`For individual k,
`
`Display individual as
`
`receive at least one
`
`
`available for that
`
`address to send each
`
`
`
`content type
`
`content type?
`
`
` 128
`
`
`Disptay individual as
`not available for that
`
`content type
`
`Setk=k+1
`
`Yes
`
`Epic Games Ex. 1007
`Epic Games Ex. 1007
`Page 9
`Page 9
`
`
`
`Patent Application Publication Aug. 22, 2002 Sheet 9 of 9
`
`US 2002/0116461 Al
`
`Ji
`
`Hy
`
`150
`
`eet ese we eeee wee ee eee ihathohoemaleshya
` IPAddress
`Database
`Resolver
`
`
`enn Pereoscacanscececnaeaannnem
`
`
`
`oD ae OF oeeeeeeeageeee
`
`148
`
`Epic Games Ex. 1007
`Epic Games Ex. 1007
`Page 10
`Page 10
`
`
`
`US 2002/0116461 Al
`
`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 US. provisional patent application Serial No.
`60/266,559, filed Feb. 5, 2001, which is incorporated herein
`by reference.
`
`BACKGROUNDOF INVENTION
`
`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 twoissues. 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 whenit is needed creates a delay at a
`critical point in time where user tolerance for it is low.
`
`[0002]
`
`1. Field of Invention
`
`BRIEF SUMMARY OF THE 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 maynot contact them. In addition, a presence
`and availability managementservice enables users to view
`the availability of their contacts and use that information to
`determine whether or not and howto 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 whetheror 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 personto interested individu-
`als on a selective basis, according to a variety of user-defined
`preferences and settings.
`
`In addition to those functions, conventional pres-
`[0007]
`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 managementsystem, the presence and availabil-
`ity managementservice 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.
`
`In a conventional presence and availability man-
`[0008]
`agement enabled communications system, individuals must
`request the appropriate presence and availability informa-
`
`the present invention is
`In one general respect,
`[0009]
`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 individualis
`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.
`
`In another general respect, the present invention is
`[0010]
`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
`
`are
`invention
`present
`the
`of
`[0011] Embodiments
`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 embodimentof 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 managementserver
`according to one embodimentof the present invention;
`
`[0016] FIG. 5 is a diagram illustrating the process flow
`through the P&A managementserver of FIG. 4 according to
`one embodiment of the present invention;
`
`FIG.6 isa diagram of the P&A managementserver
`(0017]
`according to one embodimentof the present invention;
`
`Epic Games Ex. 1007
`Epic Games Ex. 1007
`Page 11
`Page 11
`
`
`
`US 2002/0116461 Al
`
`Aug. 22, 2002
`
`[0018] FIG. 7 is a diagram illustrating the process flow
`through the P&A managementserver of FIG. 6 according to
`one embodiment of the present invention;
`
`FIG.8 isa screen shot of a subscriber according to
`[0019]
`one embodiment of the present invention;
`
`FIG.9 is a diagram ofa client terminal according
`[0020]
`to one embodimentof 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
`
`It is to be understood that the figures and descrip-
`[0023]
`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
`sometimesreferred 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 managementserver 12 is in
`communication with at least one client terminal 22. In FIG.
`
`terminal 22 is illustrated, although a
`1, only one client
`number of other client terminals may also be in communi-
`cation with the P&A managementserver 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 personaldigital 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,1.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.
`
`In addition, as used herein the term “availability” is
`[0027]
`defined as the willingness of an individual whois 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
`whena particular person calls, the person is not only present
`but available on the telephone network. However, if the
`person is unwilling or unable to answereither phone when
`it rings, although present, the person is not available.
`
`It should be noted that a person needs to be present
`[0028]
`on a network in order to be available, yet the opposite is not
`necessarily true. In addition, presence is absolute. That is, a
`personis 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.
`
`the system 10
`[0029] According to one embodiment,
`employs a publisher-subscriber model. According to such an
`embodiment, an individual defines a P&Aprofile 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.
`
`terminal 22 is
`[0030] Hereinafter, a user of the client
`typically referred to as “subscriber.” Unless noted otherwise,
`the term “subscriber” is used synonymously with the term
`“observer.” One instance, however, in which an observeris
`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 10is 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 mayinitially
`configure his P&A profile settings in order to instruct the
`system 12 how his informationis 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
`Epic Games Ex. 1007
`Page 12
`Page 12
`
`
`
`US 2002/0116461 Al
`
`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 bereferred 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 wishesto
`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 modeis 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 accessall 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 managementserver 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 accesslevels, 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
`
`the wife’s information may be
`individual returns home,
`updated and the individual’s parent may begin receiving
`information regarding the individual’s P&A (although it
`may not be the sameas 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 (GUD application loaded on a computer
`device in communication with the P&A managementserver
`12. Once defined, the P&A managementserver 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.
`
`In the previous example, a change in the individu-
`[0037]
`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 isa diagram of the P&A managementserver
`12 according to one embodimentofthe 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.
`
`the presence detection
`[0040] As illustrated in FIG. 4,
`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 determinethat during that time period the individualis
`present on the networks available to him in his office, which
`may be, for example, telephone and instant messaging.
`
`Epic Games Ex. 1007
`Epic Games Ex. 1007
`Page 13
`Page 13
`
`
`
`US 2002/0116461 Al
`
`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 numberof
`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.
`
`In addition, the presence detection engine 18 may
`[0042]
`receive input from various hardware devices that mayrelate
`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 mayrelate 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 communication 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 mayalso 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.
`
`the presence detection engine 18 may be in
`Similarly,
`communication with communication networks to determine
`
`whether an individualis present on other devices such as, for
`example, a personaldigital 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, videofiles, 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 changein their situation 60. Such a change inusersituation
`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 bestored 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 observerclassifica-
`tion information mayalso 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 PRA
`managementserver 12 according to one embodimentof 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,restri