`US 6,968,179 Bl
`(10) Patent No.:
`De Vries
`(45) Date of Patent:
`Nov.22, 2005
`
`
`US006968179B1
`
`FOREIGN PATENT DOCUMENTS
`(54) PLACE SPECIFIC BUDDY LIST SERVICES
`
`. 0 804 010 A2=10/1997. : : EP
`
`
`
`
`(75)
`Inventor:
`Jean Pierre De Vries, Kirkland, WA
`EP
`0817 444 A2
`1/1998
`(US)
`wo
`WO 00/22860
`4/2000
`
`(*) Notice:
`
`(73) Assignee: Microsoft Corporation, Redmond, WA
`(US)
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`US.C. 154(b) by 690 days.
`(21) Appl. No.: 09/626,170
`(22)
`Filed:
`Jul. 27, 2000
`
`Int. C1?ee H04Q 7/20; HO4B 1/38
`(51)
`(52) U.S. Cheects 455/414.1; 455/456.3;
`455/566
`(58) Field of Search oe 455/414.1, 422.1,
`455/456, 457, 459, 466, 456.1, 456.2, 456.3,
`455/456.4, 456.6, 566; 340/993
`
`(56)
`
`References Cited
`US. PATENT DOCUMENTS
`
`5,086,394 A *
`5,548,726 A
`5,926,765 A :
`5,946,626 A
`6,377,793 B1*
`6,519,463 B2*
`6,549,768 B1*
`6,587,691 B1*
`
`2/1992 Shapira oe e eee 340/993
`8/1996 Pettus
`TAAG9D Sasaki oes 455/456.1
`
`............ 455/456
`8/1999 Foladareet al.
`4/2002 Jenkins «0.0.0...ee 455/456
`
`.............0.0.. 455/456.3
`2/2003 Tendler
`4/2003 Fraccaroli ................ 455/456.3
`7/2003 Granstam etal. ........... 455/457
`
`OTHER PUBLICATIONS
`“The HAVi Specification: Specification of the Home Audio/
`Video mn(Oe(HAVi) Architecture,” HAV: Specifi-
`cation, (Nov. 2
`).
`.
`.
`Zhang et al.,
`“X.500 Directory and OSI Management,
`Including A Communications Theory Mini Conference,
`(Dec.6-9, 1992).
`*
`cited b
`i
`cme
`OY XAEINET
`Primary Examiner—Quochien B. Vuong
`(74) Attorney, Agent, or Firm—Klarquist Sparkman, LLP
`
`(57)
`
`ABSTRACT
`
`An information service provides search and notifications to
`inform whencertain people (e.g., friends, family, business
`contacts, etc.) are nearby so asto facilitate communications
`with those people. Users may define lists of people whose
`locations may be tracked by positioning equipment based on
`personal communications/computing devices carried by the
`people. The information service processes this people and
`place data to identify those of the listed people that are in the
`user’s vicinity, and provide notifications and user-initiated
`search results informing the user such as via the user’s
`personal communications/computing device
`,
`
`26 Claims, 9 Drawing Sheets
`
`INFERENCE
`ENGINE
`
`210 RESOURCES
`
`220
` PUBLIC
`
`PLACES
`
`NOTIFICATION
`
`Google Exhibit 1013
`Google Exhibit 1013
`Google v. Mullen
`Google v. Mullen
`
`
`
`U.S. Patent
`
`Nov.22, 2005
`
`Sheet 1 of 9
`
`US 6,968,179 B1
`
`102
`
`126
`
`
`
` a
`
`y
`— —
`INFORMATION
`|
`400
`
`ITT7-.Wier
`— SERVICE
`
`
`
`
`
`PHONE
`
`WIRELESS
`TOWER
`
`
`
`
`DATA
`
`LAPTOP
`NETWORK
`COMPUTER
`
`
`| at
`
`| SERVE
`
`COMPUTER
`
`WIRELESS
`TOWER
`
` HANDHELD
`
`
`128
`~~
`
`DESKTOP PG
`
`TERMINAL
`
`-C
`
`c)
`oa LD
`
`PAGER
`
`123
`
`
`
`U.S. Patent
`
`Nov.22, 2005
`
`Sheet 2 of 9
`
`US 6,968,179 B1
`
`220
`
`INFERENCE
`ENGINE
`
`210 RESOURCES
`
`PLACES
`
`PUBLIC
`
`NOTIFICATION
`
`
`
`U.S. Patent
`
`Nov.22, 2005
`
`Sheet 3 of 9
`
`US 6,968,179 B1
`
`\
`G
`300
`FIG. 3
`302
`
`
`
`
`321
`BUDDY B
` USER A RECORD
`
`
`
`CONTEXT
`
`USER A PLACE
`
`
`
`
` CO-WORKER
`
`
`BUDDY LIST
`
`
`
`
`
` BUDDY E
`
`
`BUDDY A PLACE
`CONTEXT
`
`BUDDY B PLACE
`CONTEXT
`
`BUDDY C PLACE
`CONTEXT
`
`BUDDY D PLACE
`CONTEXT
`
`BUDDY E PLACE
`CONTEXT
`
`FRIENDS
`BUDDYLIST
`
`320
`
`BUDDY A
`
`
` BUDDY C
`
`BUDDY D
`
`BUDDY B
`
`311
`
`
`
`U.S. Patent
`
`Nov.22, 2005
`
`Sheet 4 of 9
`
`US 6,968,179 B1
`
`SEARCH
`
`400
`
`INFORMATION
`SERVICE
`
`
`
`
`
`
`SERVICE
`PARA-
`METERS
`
`570
`
`
`
`U.S. Patent
`
`Nov.22, 2005
`
`Sheet 5 of 9
`
`US 6,968,179 B1 INFORMATION
`
` SERVICE
`PARA-
`METERS
`
`SERVICE
`
`
`
`
`U.S. Patent
`
`Nov.22, 2005
`
`Sheet 6 of 9
`
`US 6,968,179 B1
`
`FIG.6 °° REMOVABLE
`
`STORAGE
`
`
` SYSTEM MEMORY
`
`STORAGE
`
`
`
` VOLATILE
`
`OUTPUT DEVICE(S)
`
`
`INPUT DEVICE(S)
`
`NON-VOLATILE
`
`
`
`COUMMUNICATION
`CONNECTION(S)
`
`NON-REMOVABLE
`
`PROCESSING
`UNIT
`
`
`
`U.S. Patent
`
`Nov.22, 2005
`
`Sheet 7 of 9
`
`US 6,968,179 B1
`
`800
`
`805
`
`
`
`
`
`
`
`CLIENT
`DEVICE
`
`810
`
`COMPUTER
`NETWORK
`
`
`
`“I
`
`FIG. 8
`
`850
`
`
`
`DEVICES
`SERVICES
`NETWORKS
`.VENUES
`SPACES
`.PEOPLE
`.PROCESSES
`EVENTS
`
`
`
`
`
`
`
`FIG. 9
`
`aw
`
`$154000123.XYZ-001.MAKER. DIGITAL-VIDEO.CAMCORDER.DEVICES
`
`866
`
`865
`
`864
`
`863
`
`862
`
`861
`
`
`
`U.S. Patent
`
`Nov.22, 2005
`
`Sheet 8 of 9
`
`US 6,968,179 B1
`
`FIG.10
`20
`‘se
`
`= Conners>
`
`881
`
`©oOoNo
`
`Bes
`
`8
`
`896
`
`884
`
`885
`
`oon
`886
`
`882
`
`CAMCORDER)
`
`===
`
`wus
`
`_ DIGITAL- .
`VIDEO
`
`883
`
`$154000123
`
`oun
`
`
`
`U.S. Patent
`
`Nov.22, 2005
`
`Sheet 9 of 9
`
`US 6,968,179 B1
`
`FIG. 11
`
`900
`
`
`NEWS|FAVORITES
`OOL|sa
` 904
`
`
`
`SEARCH
`
`906
`
`902
`
`908
`
`
`SEARCH IN
`
`
`
`NEIGHBORHOOD
`
`
`ARCHIVE
`
`
`
`
` ALL
`
`
`
`
`MODIFY SEARCH
`
`
`
`
`
`HISTORY
`
`WEB
`
`INVERSE SEARCH
`
`MONDAY12:34 PM
`
`
`
`US 6,968,179 B1
`
`1
`PLACE SPECIFIC BUDDY LIST SERVICES
`
`TECHNICAL FIELD
`
`2
`Internet, these instant messaging servicesalso fail to facili-
`tate opportunities for in-person meeting.
`Also available is a match-making device, called the
`“Lovegety.” This key-chain suspended, egg-shaped device
`comesin male (blue) and female (pink) versions, and can be
`set to any of three modes indicating its user’s desire for
`“talk,” “karaoke,” or “get2” (i.e., romance). When opposite
`gender models come within transmission range (i.e., about
`15 feet), the devices emit an audible alarm. Also, if the two
`models are set to the same mode (such as, both on “talk”
`mode), the devices flash green. Again, the Lovegety fails to
`Wireless telecommunications in the form of pagers, cell
`adequately facilitate opportunities to socialize in-person
`phones andtheir supporting communications networks have
`with friends and others known to you.
`led to changes in the ways that people meet, socialize and
`The present invention is directed towards providing user-
`communicate. The market penetration of cell phonesin parts
`contextual information services based on place and people
`of Europe has resulted in cell phone ownership being a
`via mobile telecommunications devices, such asto facilitate
`norm, rather than an exception. This circumstance has lead
`in-person social interaction with those that the user has
`to changes in the ways that people, particularly the young,
`established relationships. In an embodimentof the invention
`arrange to meetfor social interaction. It is now common,for
`described herein, a place-specific buddylist service is an
`example,
`that a person will initially contact a friend or
`information service provided to users on a data communi-
`friends via cell phone, and after inquiring of each other’s
`cations network, which may be a wireless telecommunica-
`present location, mutually decide on an intermediate meet-
`tions network accessed by users from mobile personal
`ing place (such as a coffee shop, restaurant, mall or park) for
`information devices such as cell phone, pager, personal
`further in-person social interaction. By contrast, prior means
`digital assistant (PDA), notebook computer, handheld com-
`of communication did not support such ad-hoc, spontaneous
`puter, or other mobile personal embedded networked com-
`meeting and gathering. In-person meetings previously might
`puting and/or telecommunications device—although other
`access devices and communications mediums also can be
`depend upon chance encounters of friends in public places,
`prior arrangement
`(e.g., via voice mail, message on a
`used. The information service processes information as to
`bulletin board, etc.), exhaustive searching (e.g., visiting or
`the people with whom the userhasestablished relationships
`telephone calling several locations where the friend(s) are
`and the location of those people as reported by their mobile
`routinely found),etc.
`personal devices, so as to then provide place-specific people
`notifications to the user as well as user-initiated search
`Yet, current mobile telecommunications technologiesstill
`do not adequately facilitate people’s social interaction. The
`results. The notifications and search results may take the
`just-described initiating of in-person meetings via cell phone
`form of an audible alarm, voice, textual display, or graphical
`is limited in that
`the friend or friends called may be
`display, among others.
`geographically distant (e.g., in a remote part of the commu-
`In one alternative of the invention, the information service
`nity, or even “out-of-town”) or otherwise occupied, while
`tracks a people/place state for each user, which containsaset
`other friends not called may be immediately available and
`of people (e.g., other users) and information of their loca-
`“sust-around-the-corner.” This lack of information results in
`tions (which also may include other “presence” information,
`many missed opportunities for in-person social interaction.
`such as availability and visibility). Preferably the set of
`Further, this one-to-one cell phone calling requires an expo-
`people has the form of a buddy list, whichis a list of other
`nentially increasing numberof interactions as the group size
`users that are known to the user and have mutually con-
`increases.
`sented to be added to each other’s buddy lists. The infor-
`mation service also tracks a location state for each user, such
`as by having each user’s mobile device report that user’s
`location to the information service. As any user moves
`location, the information service updates that user’s location
`state, and also updates any people/place states whose set of
`users includes the moved user. When any user’s people/
`place state changes, the information service generates a state
`change event which maytrigger notifications to the user.
`In anotheralternative, the user can set rules and/or param-
`eters to control when notifications are generated based on a
`change event to the user’s people/place state. For example,
`a user may set a proximity parameter designating that
`notifications are provided only when the other users on his
`or her buddylist are within a certain proximity (e.g., within
`a same building complex, within a certain number of miles
`or kilometers, etc.). As further examples, the user may set
`rules or parameters to enable or disablenotifications, such as
`to prevent
`interruption when the user is in a meeting,
`involved in a task, etc.
`In still another alternative, the user can set rules and/or
`parameters to control when information of the user’s loca-
`tion is allowed to change other users’ people/place states or
`result in notifications to such other users. For example, a
`user can set a “visibility” parameter to either a “visible”
`
`Other known telecommunications technologies also fail
`to focus on or solvethis problem offacilitating opportunities
`for in-person meeting. For example, several companies now
`provide instant messaging services on the Internet (e.g., the
`MSN Messenger of Microsoft Corporation, ICQ, the AOL
`Instant Messenger of America Online, Inc., Yahoo Messen-
`ger, etc.). These instant messaging services facilitate com-
`munications via private Internet “chat” (i.e., exchange of
`instantaneous person-to-person text messagesoverthe Inter-
`net). The users first construct lists of other users who have
`mutually agreed to participate in instant messaging with
`each other. The users also are required to download and
`install a client software program on their computers used for
`Internet access. Upon the computer logging on to the Inter-
`net, this client software program notifies an instant messag-
`ing server operated by the providing company that
`the
`respective user is on the Internet. A user can also set an
`availability indicator, e.g., to indicate she is “on the phone.”
`The users are then notified by the instant messaging server
`which users on their lists are “on-line” and available for
`
`This invention relates to communications and messaging
`systems and services, and more particularly to such systems
`and services to facilitate communication based on location
`
`and inter-relationships of people.
`
`BACKGROUND AND SUMMARY
`
`instant messaging “chat.” More generally, users are alerted
`to the on-line state of their friends, e.g. which are “online”,
`“busy” or “on the phone.” Although useful for promoting
`communications between remotely located users of the
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`
`
`US 6,968,179 B1
`
`3
`value which enables information of the user’s location to
`
`change other users’ people/place states, or an “invisible”
`value in which the user’s location is not revealed in notifi-
`cations to other users.
`
`4
`FIG. 2 is a conceptual block diagram of search and
`notification operations provided by the place-specific
`buddy-list information service of FIG. 1.
`FIG. 3 is a block diagram depicting a data structure for
`representing a people and place state within the place-
`specific buddy-list information service of FIG. 1.
`FIG. 4 is a data flow diagram of a search operation of the
`place-specific buddy-list information service of FIG. 1.
`FIG. 5 is a data flow diagram of a notification operation
`of the place-specific buddy-list information service of FIG.
`1.
`
`FIG. 6 is a block diagram of a basic configuration of a
`computer may be usedto run the information service of FIG.
`
`10
`
`15
`
`25
`
`In yet another alternative, the user can segregate the other
`users tracked in his or her people/place state into separate
`subsets, such as subsets of family,friends, business contacts,
`co-workers, etc. Further, the user can set the rules and/or
`parameters that control notifications to also be based on the
`subset of the other user who moved. For example, the user
`may set a rule to receive people/place notifications as to
`business contacts and co-workers at certain times (e.g.,
`during business hours), or as to family and friends at other
`times (e.g., evenings and weekends).
`FIG. 7 is a diagram of computers that provide an authori-
`In another alternative, the system can use default rules
`tative namesregistry and proximity-based search engine for
`and/or observation of user behavior to infer the user’s
`use in the place-specific buddy-list information service of
`FIG. 1.
`situation and preferences.
`In a further alternative, the user can define various modes
`FIG. 8 isalisting of dimensionsin the authoritative names
`20
`consisting of a set of rules and/or parameters controlling the
`registry of FIG. 7.
`place-specific buddylist service, and set their mobile device
`FIG. 9 is a listing of a nameregistered under a dimension
`to apply a selected one of the modes. For example, the user
`of the authoritative names registry of FIG. 7.
`might define a social mode where notifications as to anyone
`FIG. 10 is a diagram of a hierarchical organization of
`on their buddy list within a larger proximity are received and
`names in a dimension ofthe authoritative namesregistry of
`FIG. 7.
`the user is visible to others; a business mode in which only
`notifications of their business contacts and co-workersin the
`
`same building are received and the user is visible to only
`their business contacts and co-workers, and a private mode
`in which the user is visible to only a select subset of other
`users.
`
`In still a further alternative, the information service can
`measure the location of users and their proximity based on
`geographical coordinates, such as may be provided by a
`global positioning system. Alternatively,
`the information
`service can measure location and proximity based on a place
`naming schema or place names registry, which may be
`hierarchical. This place naming registry preferably is
`authoritatively managed by a registry provider.
`In yet a further alternative, the information service can
`apply default rules and/or parameters as to state change
`events, notifications and alerts based upon the user’s loca-
`tion or other place-specific context. For example, default
`rules can be applied in a movie theatre, conference room,
`etc. to disallow notifications via audible alarms; or on an
`airplane to disallow radio transmission of the state change
`events, notification or alerts to the user’s device during
`take-off and landing procedures.
`In another alternative,
`the information service can be
`operated and provided by an entity as part of a business
`venture, which may generate revenue from such operation
`based on usage fees, subscription fees, advertising fees such
`as for delivery of commercial promotions along with the
`information service notifications and alerts, or promoting
`auxiliary services that generate revenue along with the
`information service operation.
`Additional features and advantages will be made apparent
`from the following detailed description of the illustrated
`embodiment which proceeds with reference to the accom-
`panying drawings.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a block diagram depicting a communications
`system in which a place-specific buddy-list
`information
`service according to one embodiment of the invention
`operates.
`
`30
`
`40
`
`45
`
`55
`
`60
`
`65
`
`FIG. 11is a view of a user interface screen display on the
`client device of FIG. 7, with which a user can initiate a
`proximity-based search.
`
`DETAILED DESCRIPTION
`
`In the following detailed description, one implementation
`of a user-contextual information service based on place and
`people via mobile telecommunications devices according to
`the invention is embodied in a place-specific buddy-list
`information service. The place-specific buddy list informa-
`tion service supports searches based on people and place,
`and providesnotifications or alerts also based on people and
`place. For example,
`the place-specific buddy list service
`provides notifications and alerts to a user that other users
`enumerated in the user’s buddy list are within a given or
`selected proximity to the user, so that a spontaneous in-
`person meeting or
`like social
`interaction can then be
`arranged.
`With reference to FIG. 1, the place-specific buddy list
`information service 100 in an operating environment 102 of
`an illustrated embodimentof the invention is implemented
`in server application software run on a server computer or
`group of servers 104-106 connected on a distributed data
`communications network 10. The information service 100
`tracks users of the information service and their locations in
`
`a people/place database 112. The information service 100
`also may track locations of other place-specific resources
`(e.g., other data services, controllable devices, merchants
`offering particular products in a certain venue, etc.) on the
`data communications network, so as to provide auxiliary
`information as to these other place-specific resources along
`with the place-specific buddy list information. Someofthis
`information may be obtained from third parties.
`Users of the information service 100 access the informa-
`tion service from mobile personal networked computing or
`telecommunications devices 120-123, such as cell phones,
`personal digital assistants, handheld and laptop computers,
`electronic book or tablets, smart cards, electronic badges,
`and etc. Preferably, these mobile devices communicate with
`the information service on the data communications network
`
`110 through a wireless networking and communications
`
`
`
`US 6,968,179 B1
`
`5
`system (e.g., including wireless transmission/reception tow-
`ers 126-127). The mobile devices 120-123 and information
`service can use standard data networking protocols for data
`communications on the network 110, such as TCP/IP,
`HTML, XML, HTTP, DNS, LDAP, and/or others. Alterna-
`tively, the data communications network also can encom-
`pass data communications technologies that may not provide
`constant or mobile wireless connections. In onealternative,
`the data communications network can use a short-range
`wireless technology, such as Bluetooth (which provides a
`point-to-point connection), for communicating the informa-
`tion service notifications (for example, to discover others on
`the user’s buddylist in a large conference room). In another
`alternative, the user may intermittently connect on the data
`communications network and information service, such as
`use of a smartcard on a web kiosk 129 to access and receive
`notifications from the information service, where the user
`would only be connected and networked with the informa-
`tion service for the duration of the user’s session at the kiosk.
`
`10
`
`15
`
`20
`
`6
`request using a personal computer to receive notifications on
`their mobile device (such as a pager) that userson his or her
`buddy list are nearby.
`With reference now to FIG. 2, the information service 100
`is implemented using an inference engine 200. The inference
`engine 200 is realized in software running on the server
`computers 104—106 (FIG. 1), andutilizing the people/place
`information in the database 112 (FIG. 1). The inference
`engine 200 operates to infer which resources 210 (ie.,
`principally people, both individuals and groups, but also
`locale-specific data, services, devices, and etc.) tracked by
`the service may be of interest to a user given that user’s
`“place context” 220 (i.e.,
`the user’s location, but also
`optionally including other place-specific information such as
`whetherthe place is the user’s homeor place of work,etc.).
`The inference engine 200 processes information from the
`people/place database 112 to produce these inferences for
`both user-initiated searches and notifications triggered by
`events other than user requests (e.g., change in location of
`the user or of people on the user’s buddylist). The resulting
`inferences are then conveyed to the user, preferably to a
`client software application on the personal mobile data
`communications device of the user.
`
`As shown in FIG. 2 for example, the three users A, B and
`C are considered to be part of the resources 210 tracked by
`the inference engine 200 for drawing inferences. Each of
`these users A-C also has a place context 220. The place
`contextis a set of attributes based on a user’s location; along
`with information of the user’s location, the attributes may
`include user persona/task/preferences/etc., applicable social
`circle, available devices, networks and services and so on. A
`particular user may have more than one concurrent place
`context, e.g. aS a parent with children in a mall and as an
`employee working on a particular project in a city in a
`particular sales region. Based on the place context of a user
`whois the subject of a search or notification, the inference
`engine operates to determineoridentify other resources that
`are nearby according to a proximity measure. When the user
`As at home for example, the inference engine determines
`that the user C whoalso at home with user A is nearby, and
`identifies the user C as a nearby resource in response to the
`search query or in a notification to the user A. The inference
`engine may also identify other resources relevant to the user
`in the particular place context, such as a place-specific data
`file 212 (which may bea text, audio, image or video, such
`as of a messageleft for the user upon arrival at the place),
`service, device, database 214, etc. As the user A then moves
`location into public places, his or her place context changes,
`such that the inference engine infers other resources are
`nearby (e.g., user B, data file 216, and database 218). The
`inference engine then returns the inferred resources as
`results to a search query or in notifications.
`The users’ place contexts and the resources preferably are
`identified to the information service 100 and its inference
`
`The personal mobile data communications devices
`120-123 and/or the data communications network 110 also
`are equipped with location detecting capability to determine
`the locations of the individual personal mobile devices, so as
`to thereby infer the position of their users. This location
`detection capability can be provided by equipping the indi-
`vidual personal mobile data communications devices
`120-123 with a Global Positioning System (GPS) receiver,
`whichdetects the personal mobile communications device’s
`location based on signals transmitted from GPStransmitters.
`Alternatively or additionally, the data communicationsnet-
`work 110 can include equipment to determine the personal
`mobile data communications devices’ locations by perform-
`ing a triangulation process (or like location determination)
`based on the strength of the data communications or other
`signal transmitted from the personal data communications
`devices and received at nearby wireless towers 126-127.
`Alternatively or additionally, the user may provide location
`information by direct input, for example by entering (by
`speech, text, or bar-code or other machine readable data
`scanning) an intersection or venue name or other location-
`identifying information.
`The locations of the personal mobile data communica-
`tions devices 120-123 are reported to or polled by the
`information service 100, which uses this information to
`track the location of the devices’ users in the people/place
`database 112. The personal mobile data communications
`devices’ locations can be reported to the information service
`at periodic intervals, or alternatively may be reported when-
`ever the location changesby a significant threshold amount.
`The interval and/or threshold amount are parameters that
`may vary depending on the design criteria of the application,
`or system. Alternatively, the locations can be reported to the
`information service in responseto polling by the information
`service.
`55
`engine 200 byaset of values or attributes. These attributes
`include at least the identity of the user (or resource), and of
`The information service 100 processes the information as
`the user’s (or
`resource’s)
`location. Additionally, other
`to the users and their locations stored in the people/place
`database 112 so as to respond to search queries and provide
`attributes relating to place and the user/resource can be
`included, such as to identify group(s) of people (e.g., a
`alerts or notifications of changes. The users preferably can
`buddy list), relationship (e.g., family, friend, co-worker,
`submit search queries and/or subscribeto alerts/notifications
`client, etc.), an activity or event that takes place at
`the
`from their personal mobile data communications devices
`120-123. Alternatively and/or additionally, the users may
`location or in which the person participates, purposeor role
`that the place serves for the person (e.g., home, work or
`submit search queries and subscriptions from other comput-
`public place), and etc. These attributes conceptually define
`ing and/or telecommunications devices connecting to the
`data communications network 110, which may include per-
`a point or range of points in a multi-dimensional space 240,
`sonal computers, telephones, and like stationary devices as
`241 that the inference engine can use to measure proximity
`of the resources (including individuals and groups) to a
`well as mobile devices. For example, a user can submit a
`
`25
`
`30
`
`40
`
`45
`
`50
`
`60
`
`65
`
`
`
`US 6,968,179 B1
`
`7
`user’s current place context, such as by distance in the
`conceptual space 240, 241. (The dimensional space of the
`user and of the resourcesis, in effect, a single space, where
`the user’s context is a resource to another user.) Because the
`multi-dimensional space 240, 241 includes dimensionsother
`than just physical space, this measurement of proximity in
`terms of distance in the conceptual multi-dimensional space
`is based also onthe other attributes of the resources and user
`place context in addition to geographical location. In one
`embodiment, this set of attributes can be a set of names from
`a multi-dimensional authoritative names registry, such as
`described more fully below.
`With reference now to FIG. 3, the information service 100
`(FIG. 1) maintains data in the database 112 (FIG. 1) for
`drawing the proximity inferences depicted in FIG. 2. In a
`preferred embodiment, this data takes the form ofa per-user,
`people/place state 300. The people-place state 300 includes
`a set of database records maintained for a user of the
`information service 100. This data set includes a user record
`
`302, one or more buddy lists 310, 311, and place context
`records 320-324 oflisted individuals (or groups).
`The user record 302 stores data representing a user of the
`information service 100, such as the user A of FIG. 2, about
`whom the inference engine will draw place and people-
`specific inferences for searches and notifications. The user
`record 302 includes place context data 304 for the user, and
`links to any buddylists 310-311 that have been defined for
`the user. As described above, the information service 100
`updates the user’s place context data when new location
`information is reported for
`the user based on position
`sensing equipmentin the user’s personal mobile data com-
`munications device, or in the communications network.
`The buddylists 310, 311 enumerate a set of people (e.g.,
`other users) about whom the user desires to be informed by
`the information service 100. The buddy lists preferably are
`created via a process involving an exchange of text mes-
`sages between the user and each person on the buddylist, in
`which the people consent to the information service provid-
`ing their place-specific information to the user. Preferably,
`the user can organize people into multiple groups(e.g., with
`multiple buddylists, or alternatively by adding a classifica-
`tion attribute to each person), such as lists of friends,
`co-workers, family, clients/customers, etc.
`The people/place state 300 further includes place context
`data 320-324 for the people on the user’s buddylists 310,
`311. The people’s place context data indicates their location,
`and possibly other place-related attributes (e.g.,
`type of
`locale, such as work, public place, airplane, which may
`allow for further place-specific processing for notifications
`and searches by the information service). Again, the infor-
`mation service 100 updates the people’s place context data
`whenever changes are reported, such as from positioning
`equipment on the people’s personal mobile data communi-
`cations devices or the communication network.
`
`the
`information service implements
`the
`Preferably,
`described people/place state 300 using distributing comput-
`ing with a publish/subscribe eventing model. For example,
`a presenceserverfor the user’s “buddy C”receives location
`updates from the buddy C’s mobile device or other location
`tracking method, and provides the buddy C place context
`data 322. The computer that maintains the people/placestate
`300 of the user A (which maybe resident on another server
`of the information service 100, or on the user A’s personal
`mobile data communications device or other client com-
`puter) subscribes to receive notifications of this buddy C
`place context data 322 from the buddy C’s presence server.
`When a change to the buddy C’s location or other presence
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`information(e.g., availability) occurs, the buddy C presence
`server sends a notification to all
`that have subscribed,
`including to the user A. This then updates the buddy C place
`context 322 in the user A people/place state 300, which may
`result in alerts being presented to the user A.
`With reference to FIG. 4, the information service 100
`provides a user-initiated search operation 400. In the search
`operation 400, the locations ofthe user (e.g., person A) and
`those on the user’s buddylist(s) (e.g., people B, C and D) are
`first tracked (as indicated at 401) in the people/place state
`data 300 in the database 112 of the information service.
`When desired, the user can then submit (at 402) a search
`query to the information service 100, such as by entering a
`query oractivating an application software feature that uses
`the search query on the user’s personal mobile data com-
`munications device. The submitted query can include
`parameters to control the query scope, such as which people
`(e.g., friends or co-workers) to include in the search, the
`proximity threshold, etc. Upon the user initiating the search
`operation via the query submission,the information service
`100 processes the people/place state data 300 at 403, 404 to
`determine which of the people B—D on the user’s buddy
`list(s) are within a selected proximity of the user (e.g.,
`people B and C in FIG. 4). The information service 100 at
`405 finally returns results of the search operation to the user.
`With reference now to FIG. 5, the information service 100
`also supports notification operations 500. In a notification
`operation, the locations of the user and those on the user’s
`buddylist(s) again are tracked in the people/place state data
`300 associated with that user in the database 112. Upon an
`update to the people/place state data 300 in which the
`relative locations of the user and/or those on the user’s
`buddylist(s) change, the information service 100 determines
`which people are in the user’s proximity based on the
`notification parameters at 502, and then formulates and
`transmits a notification messageto the user at 503 (i.e., to the
`user’s personal mobile data communications device for
`appropriate presentation to the user).
`
`the information
`With reference again to FIGS. 4 and 5,
`se