throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2007/0124721 A1
`Cowing et al.
`(43) Pub. Date:
`May 31, 2007
`
`US 2007 O124721A1
`
`(54) PROXIMITY-AWARE VIRTUAL AGENTS
`FOR USE WITH WIRELESS MOBILE
`DEVICES
`
`(75) Inventors: David Timothy Cowing, New York,
`NY (US); Benjamin Gabriel Taylor,
`New York, NY (US)
`Correspondence Address:
`FSH & RICHARDSON P.C.
`P.O. BOX 1022
`MINNEAPOLIS, MN 55440-1022 (US)
`(73) Assignee: ENPRESENCE, INC., New York, NY
`(US)
`(21) Appl. No.:
`11/560,263
`
`(22) Filed:
`
`Nov. 15, 2006
`Related U.S. Application Data
`(60) Provisional application No. 60/736,729, filed on Nov.
`15, 2005.
`
`Publication Classification
`
`(51) Int. Cl.
`(2006.01)
`G06F 9/44
`(52) U.S. Cl. .............................................................. 717/100
`
`(57)
`
`ABSTRACT
`
`Systems and methods are provided for facilitating the dis
`covery of items, individuals, locations and business services
`that are relevant to the context of an individual (including,
`e.g., who an individual is, what an individual is looking for,
`where an individual is, the current time and/or date), facili
`tating post-discovery notifications (such as notifying the
`user or users), and executing post-discovery actions (such as
`making an offer to buy a product or prompting to add the
`user to an individual’s personal network). Accordingly, in
`implementations of the present invention, agents are con
`figured by the individual and deployed to or by the indi
`viduals computerized device (e.g., a mobile device, desktop
`computer, laptop computer, Internet appliance and/or
`server).
`
`
`
`Page 1 of 32
`
`SNAP EXHIBIT 1013
`
`

`

`Patent Application Publication May 31, 2007 Sheet 1 of 16
`
`US 2007/0124721 A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`Presence
`
`Page 2 of 32
`
`

`

`Patent Application Publication May 31, 2007 Sheet 2 of 16
`
`US 2007/0124721 A1
`
`
`
`206
`
`Page 3 of 32
`
`

`

`Patent Application Publication May 31,
`2007 Sheet 3 of 16
`
`US 2007/0124721 A1
`
`ZO
`
`9
`
`5
`
`?ajuDJ ^
`
`
`
`
`
`
`
`
`
`Indfi s| \D?Å
`
`H?r?p
`
`{}J?T?T
`
`Page 4 of 32
`
`

`

`Patent Application Publication May 31, 2007 Sheet 4 of 16
`
`US 2007/0124721 A1
`
`
`
`09 #7
`
`
`
`Page 5 of 32
`
`

`

`Patent Application Publication May 31, 2007 Sheet 5 of 16
`
`US 2007/0124721 A1
`
`
`
`
`
`Page 6 of 32
`
`

`

`Patent Application Publication May 31, 2007 Sheet 6 of 16
`
`US 2007/0124721 A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`eseqe?eC]
`
`Jes/n
`
`| 7
`
`Page 7 of 32
`
`

`

`Patent Application Publication May 31, 2007 Sheet 7 of 16
`
`US 2007/O124721 A1
`
`
`
`704
`
`702
`
`602
`
`Web Application
`
`UI Layer
`
`U Framework
`
`Services
`
`DAO
`
`Application Server
`
`FIG. 7
`
`Page 8 of 32
`
`

`

`Patent Application Publication May 31, 2007 Sheet 8 of 16
`
`US 2007/O124721 A1
`
`812
`
`806
`
`704.
`
`702
`
`604
`
`Remote Service Manager
`Network Manager
`
`
`
`810
`
`808
`
`Application Server
`
`FIG. 8
`
`Page 9 of 32
`
`

`

`Patent Application Publication May 31, 2007 Sheet 9 of 16
`
`US 2007/O124721 A1
`
`918
`
`912
`
`906
`
`
`
`704
`
`O2
`7
`
`606
`
`Agent Server
`Network Manager
`
`
`
`Agent Engine Agent Manager
`914
`
`Agent Plug-in
`FrameWork
`
`Model
`
`
`
`916
`
`910
`
`908
`
`Application Server
`
`FIG. 9
`
`Page 10 of 32
`
`

`

`Patent Application Publication May 31, 2007 Sheet 10 of 16
`
`US 2007/0124721 A1
`
`
`
`Z00 ||
`
`
`
`XIONA?uueu- u? – 6nId quæ6\/
`
`0 || ‘SO|-
`
`SO CHOd
`
`Page 11 of 32
`
`

`

`Patent Application Publication May 31, 2007 Sheet 11 of 16
`
`US 2007/0124721 A1
`
`1100
`
`1102
`
`Agent targets
`emote entity?
`
`No
`
`1104
`
`1106
`
`Yes
`
`Send Agent to
`agent device.
`
`Perform agent
`matching.
`
`
`
`Yes
`
`1110
`
`Perform post
`match procesing.
`
`
`
`Y
`eS
`
`1112
`ls agent 2-way
`match?
`
`No
`
`1114
`
`Perform post
`match action
`
`Reply to
`Originating device
`with agent.
`
`
`
`Perform agent
`matching.
`
`
`
`
`
`Perform post-
`match procesing.
`
`Perform post
`match action
`
`FIG. 11
`
`End
`
`Page 12 of 32
`
`

`

`Patent Application Publication May 31, 2007 Sheet 12 of 16
`
`US 2007/O124721 A1
`
`Z L 'SO|-
`
`70Z).
`
`ONONdoo||pu=
`
`80Z).
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 13 of 32
`
`

`

`Patent Application Publication May 31, 2007 Sheet 13 of 16
`
`US 2007/0124721 A1
`
`1306
`
`agent post match
`
`post match
`action
`
`1310
`additional info
`
`1
`
`1302
`
`1304
`
`agent parameter
`
`0.
`
`instruction
`
`1312
`
`0.*
`
`is of type
`
`1
`
`attribute
`
`
`
`
`
`attribute choice
`
`FIG. 13
`
`Page 14 of 32
`
`

`

`Patent Application Publication May 31, 2007 Sheet 14 of 16
`
`US 2007/O124721 A1
`
`
`
`
`
`
`
`Page 15 of 32
`
`

`

`Patent Application Publication May 31, 2007 Sheet 15 of 16
`
`US 2007/O124721 A1
`
`
`
`Page 16 of 32
`
`

`

`Patent Application Publication May 31, 2007 Sheet 16 of 16
`
`US 2007/O124721 A1
`
`
`
`Page 17 of 32
`
`

`

`US 2007/O124721 A1
`
`May 31, 2007
`
`PROXMITY AWARE VIRTUAL AGENTS FOR USE
`WITH WIRELESS MOBILE DEVICES
`
`CROSS REFERENCE TO RELATED
`APPLICATION(S)
`0001. This application claims the benefit of priority under
`35 USC S119(e) of U.S. Provisional Patent Application Ser.
`No. 60/736,729, filed on Nov. 15, 2005, the contents of
`which are hereby incorporated by reference.
`
`TECHNICAL FIELD
`0002 This disclosure relates to proximity-aware virtual
`agents for use with wireless mobile devices.
`BACKGROUND
`0003 Agent-based technology has become increasingly
`important for use with applications designed to interact with
`a user for performing various computer-based tasks in
`foreground and background modes. Software agents gener
`ally relate to computer programs that are set on behalf of
`users to perform various tasks, including those that are
`routine, tedious and time-consuming. To be useful to an
`individual user, an agent should be personalized to the
`individual user's goals, habits and preferences. Thus, for
`optimal effectiveness, the agent should acquire user-specific
`knowledge from the user efficiently and effectively and
`utilize it to perform tasks on behalf of the user.
`0004 The concept of agency, or the use of agents, is well
`established. An agent is a person authorized by another
`person, typically referred to as a principal, to act on behalf
`of the principal. In this manner the principal empowers the
`agent to perform any of the tasks that the principal is
`unwilling or unable to perform. For example, an insurance
`agent may handle all of the insurance requirements for a
`principal, or a talent agent may act on behalf of a performer
`to arrange concert dates.
`0005 With the advent of the computer (including com
`puterized devices, e.g., personal electronics such as PDAS
`and cellular telephones), a new domain for employing
`agents is available. Significant advances in the realm of
`Software enable computer programs to act on behalf of
`computer users to perform routine, tedious and other time
`consuming tasks.
`0006 Software agents differ from other software mod
`ules or applications because, rather than being defined in
`terms of methods and attributes, an agent is characterized in
`terms of its behavior. Software agents generally possess one
`or more of the following characteristics: persistence (code is
`not executed on demand but executes continuously and
`decides for itself when it should perform some activity);
`autonomy (agents have capabilities of task selection, priori
`tization, goal-directed behavior, decision-making without
`human intervention); Social ability (agents are able to
`engage other components through some sort of communi
`cation and coordination, they may collaborate on a task); and
`reactivity (agents perceive the context in which they operate
`and react to it appropriately). To date, Software agents
`generally have been utilized in computing environments
`having a high degree of available resources (e.g., memory
`and processing).
`0007 Moreover, there has been a recent proliferation of
`computer and communication networks, both wired and
`
`wireless. These networks permit users to access vast
`amounts of information and services without, essentially,
`any geographical boundaries. Modern networks include
`digital and analog cellular networks, wireless networks (e.g.,
`wireless high bandwidth protocols described by IEEE stan
`dards 802.11b. 802.11a and 802.11g), the analog telephone
`network (e.g., POTS), voice over Internet protocol networks
`(known as “VoIP), wired networks, cable television net
`works, and satellite-based networks. Thus, by interfacing
`with one or more networks, a Software agent has a rich
`environment to perform a large number of tasks on behalf of
`a U.S.
`0008 Knowledge of a user's current location is another
`Source of information. Although current applications are
`generally focused on navigation, a user's location can pro
`vide information, e.g., context, that a Software agent can
`utilize. Location can be monitored using well-known tech
`niques such as Global Positioning System (GPS) receivers.
`Such receivers are becoming increasingly affordable and
`compact. In addition, proximity technologies exist (e.g.,
`utilizing the technologies described in IEEE specifications
`802.15.1 (regarding Bluetooth R), 802.15.3a (regarding
`Wireless USB), 802.15.4 (regarding ZigBeeTM), and/or
`Radio Frequency Identification (“RFID) protocols such as
`ISO 14443, EPC, and ISO 18000-6) that may not necessarily
`determine a user's absolute location, but can be used to
`determine when a user is near (or proximate to) a beacon or
`other compatible device.
`
`SUMMARY
`0009. In an aspect of the present invention, a system and
`method are provided for facilitating the discovery of items,
`individuals, locations and business services that are relevant
`to the context of an individual (including, e.g., who an
`individual is, what an individual is looking for, where an
`individual is, the current time and/or date), facilitating
`post-discovery notifications (such as notifying the user or
`users), and executing post-discovery actions (such as mak
`ing an offer to buy a product or prompting to add the user to
`an individual’s personal network). Accordingly, in imple
`mentations of the present invention, agents are configured
`by the individual and deployed to or by the individuals
`computerized device (e.g., a mobile device, desktop com
`puter, laptop computer, Internet appliance, and/or server).
`0010. The details of one or more embodiments are set
`forth in the accompanying drawings and the description
`below. Various other features and advantages will be appar
`ent from the description and drawings, and from the claims.
`
`BRIEF DESCRIPTION OF DRAWINGS
`0011 FIG. 1 depicts an illustrative screen layout (home
`screen) of the agent Software.
`0012 FIGS. 2A-B depict illustrative screen layouts
`(match notice, presence list) of the agent Software.
`0013 FIGS. 3A-C depict illustrative screen layouts (gal
`lery screen, question screen, question response) of the agent
`software.
`0014 FIG. 4 is a schematic diagram of one embodiment
`of hardware employed in an exemplary proximity-aware
`virtual agent system.
`
`Page 18 of 32
`
`

`

`US 2007/O124721 A1
`
`May 31, 2007
`
`FIG. 5 is a block diagram illustrating the software
`0.015
`modules on an agent device.
`0016 FIG. 6 is a block diagram illustrating the modules
`of the central management services.
`0017 FIG. 7 is a block diagram illustrating the software
`modules of the Web Application.
`0018 FIG. 8 is a block diagram illustrating the software
`modules of the Remote Service Manager.
`0.019
`FIG. 9 is a block diagram illustrating software
`modules of the Agent Server.
`0020 FIG. 10 is a block diagram illustrating the software
`modules on a Point of Presence.
`0021
`FIG. 11 is a flow diagram illustrating a method for
`executing virtual agents.
`0022 FIG. 12 is a flow diagram illustrating the evalua
`tion of an agent match.
`0023 FIG. 13 is an object model diagram representing a
`logical view of virtual agents.
`0024 FIG. 14 is an object model diagram representing
`the logical view of user and service agents.
`0.025
`FIG. 15A is an object model diagram representing
`the logical view of user attributes and user items.
`0026 FIG. 15B is an object model diagram representing
`the logical view of service attributes and service items.
`
`DETAILED DESCRIPTION
`0027. The following is a description of preferred imple
`mentations, as well as some alternative implementations, of
`a system and method for proximity-aware virtual agents for
`use with agent devices.
`0028. In some implementations, a network of devices that
`execute agents is deployed that execute agents. The agents
`receive information (e.g., from users) relating to goals. For
`example, an agent can be configured to look for a compatible
`romantic match having certain characteristics. When devices
`(which may be referred to as "agent devices') are suffi
`ciently near each other, the agents poll each other to deter
`mine whether a match is found (i.e., if another user has the
`desired characteristics). If a match is found, various notifi
`cation and post-match functions can be performed. If a
`match is not found, the agent keeps looking for a match.
`Moreover, an agent can let a user know when his contacts
`(e.g., friends, business associates, etc.) are nearby. While
`proximity is one trigger for executing an agent, it is possible
`for an agent to poll the entire network looking for match.
`0029 More particularly, an agent preferably includes a
`set of parameters that describe the dimensions a user might
`use in seeking to attain a particular goal. The goal can
`include meeting or communicating with a particular person,
`arriving at a particular place, and finding and/or purchasing
`a particular product or service. Specific values are assigned
`to these parameters by a user to describe the goal (e.g., a
`person, place, product, or service) he wishes to attain. In
`Some implementations, when an agent finds what the user is
`looking for, i.e., the goal, it is referred to as a “match.” There
`is no requirement that an agent terminate after a match. To
`the contrary, some agents may provide a user with multiple
`
`matches (e.g., finding a product from multiple sources, and
`then allowing the user or agent to determine the best option
`based on cost or availability). Additionally, the agent may
`have arbitrary descriptive data associated with it that the
`user may view wherever they are (e.g., a map, image, home
`page, status indicator), as well as instructions on what to do
`following a match.
`0030 Agents can be suited for use in, but not limited to,
`matching of individuals for romantic, social, or business
`purposes, identifying items a user is shopping for, contex
`tually relevant advertising, and group-based games. For
`example, a dating agent could identify a potential romantic
`match between two individuals that are at the same social
`gathering (determined, e.g., by utilizing location or proxim
`ity information) by comparing information about their ideal
`mates with information about each other. The agent would
`then alert the two users, and provide some basic information
`(such as any friends, business contacts, or interests they may
`have in common) to facilitate an introduction. In the pre
`ferred embodiments, agents provide the ability to add per
`Sonalized functionality to a agent device platform without
`having to deploy a whole new set of software to the device.
`0031 Agents preferably are designed to be compatible
`with and executed on a wide array of devices. To that end,
`agents can include a set of meta-data that executes on a
`platform that can execute the agent as defined in the meta
`data. Accordingly, agents can be easily added to agent
`devices without the need of additional support software, i.e.,
`once the platform is loaded on the agent device, a user is free
`to add additional agents. The light-weight nature of this
`design makes them ideally Suited to resource constrained
`environments, such as mobile phones, PDAs, and other
`portable and consumer electronics. Thus, agent devices can
`take many forms, including higher resource environments
`such as desktop PCs, laptop PCs, and servers.
`0032. Additionally, the agents can operate in environ
`ments where security constraints preclude the execution of
`arbitrary code (for example, a JavaTM Platform Micro Edi
`tion Sandbox, implemented in, e.g., the mobile information
`device profile (e.g., MIDPJSR 37, JSR 118, or JSR 271) or
`personal profile (e.g., CDC JSR 36 or JSR 218)). The
`Software on the agent device can be written in, e.g., C++ or
`any other language/platform that can interface with the agent
`device operating system and application programming inter
`face (“API).
`0033. In some implementations, the agents are configured
`and managed via a web site (or other network interface) and
`either transferred to the users agent device via a synchro
`nization process or executed on the server while communi
`cating with the users agent device. A user may have
`multiple agents active at any point in time. While users may
`use their agent device to modify the agent in real time, the
`Small form factor of some agent devices makes data entry
`challenging and thus may encourage users to utilize, e.g., a
`larger form factor device (e.g., a laptop or desktop PC) and
`web interface for the data entry required to initially config
`ure an agent.
`Agent Device Software Application
`0034. An aspect of some implementations is a software
`application that is executed on an agent device, e.g., a
`mobile phone or Personal Digital Assistant (PDA). This
`
`Page 19 of 32
`
`

`

`US 2007/O124721 A1
`
`May 31, 2007
`
`application provides a user interface and set of menu
`controls allowing the user to interact with it. Additionally, it
`provides the engine for detection of other people, locations,
`services, or products nearby and for the evaluation of
`potential matches with each person, location, service, or
`product utilizing the parameters of a users agent or agents
`to discover if the person, location, service, or product is of
`interest to the user. The user typically will leave the appli
`cation executing on his agent device So it can continually
`search for people, locations, services, or products nearby.
`0035) A substantial portion of the activity on the user
`interface centers around a few core screens: the home
`screen, the presence list, the match notice, and the offer
`screen (used to display advertisements). An illustrative
`example of a home screen is shown in FIG. 1. The home
`screen shows Summary information for the user, including
`the number of buddies (i.e., those individuals that the user
`has identified as contacts) in the area 101, the number of
`people using the service in the area (labeled present 102), as
`well as the number of messages in the user's inbox 103 and
`outbox 104. From the home screen, the user can access other
`screens through the menus.
`0.036 When a match is detected in the area, the user is
`presented with a pop-up match notice that contains some set
`of information about the person, location, service, or product
`with which the match occurred. An illustrative example of a
`match notice screen is shown in FIG. 2A. In this example,
`the match pertains to a person, and more particularly, is a
`romantic match. As shown, a photo of the match 201 is
`provided, as well as a match score 202 that is calculated
`based on the degree to which the dimensions entered by the
`user match those possessed by the match. The user, agent, or
`agent provider (i.e., the party who developed or distributed
`the agent) can set a threshold match score that must be met
`before a match alert is generated. The match screen further
`provides some information about the match. In this case, the
`user is informed that the match and user share a common
`friend 203. The match notice screen also gives the user the
`option of taking action on the match. By selecting the
`options soft key 204, the user can view additional informa
`tion, add the person to their relationships, or perform the
`post-match action defined by the agent. Alternatively, the
`user can ignore the match by selecting the ignore soft key
`2O5.
`0037. When people, locations, services, or products with
`which the user has a relationship are nearby, they appear on
`the presence list. An illustrative example of a presence list
`is shown in FIG. 2B. Whether a user has a relationship with
`a particular person, location, service or product can be based
`on, e.g., (1) the result of an agent finding a match or (2) a
`user manually entering certain people, locations, services, or
`products into the agent. From the presence list 206, the user
`may utilize the options soft key 204 to access additional
`information about the person, location, service, or product,
`communicate with the person, location, service, or product,
`or manage his relationship with the person, location, service
`or product. For example, the user can highlight an entry on
`the presence list (in this example Jack, entry 207, is high
`lighted), and proceed to (1) retrieve additional information
`about Jack (e.g., from data stored on Jack's agent device or
`from data associated with Jack elsewhere in the network),
`(2) communicate with Jack (e.g., telephonically, text mes
`sage, photo message, video message), and/or (3) change the
`
`relationship status with Jack (e.g., delete him from the
`presence list, change him from a personal contact to a
`business contact, enable/disable proximity notification, set
`privacy settings).
`0038 An example of information that can be retrieved
`about a match is a picture gallery containing a set of images
`that others can view. An illustrative example of such a
`picture gallery is shown in FIG. 3A. As in this example, a
`user can have pictures of herself. The user also (or instead)
`can include images of her business card, resume, or things
`representing her personal interests. If the match is a product,
`the image gallery can contain, e.g., images of the product,
`instructions, capabilities, and/or locations to purchase the
`product. If the match is a location, the image gallery can
`contain, e.g., images of the location, nearby landmarks, and
`the staff currently on duty. If the match is a service, the
`image gallery can contain, e.g., images of where the service
`can be found, the person(s) performing the service, and past
`results. Match information for people, products and services
`can be found in the form of text, images, structured data,
`links, audio, video and other device consumable or action
`able formats.
`0039. A user can communicate with others in a variety of
`ways, including writing his own messages, sending pre
`written messages, or using standard questions. Users can
`communicate with others as a result of an agent finding a
`match, or a user may manually select a person, location,
`product or service via the presence list. Standardized ques
`tions are an aspect of the question wizard feature. Standard
`ized questions allow individuals to get more information
`about a person, location, service or product without having
`to spend a lot of time writing messages back and forth.
`Standardized questions are customized for different catego
`ries of people (e.g., romantic, friend, or business), locations
`(e.g., parks, stadiums, or restaurants), products (e.g., con
`Sumer electronics, foodstuffs, automobiles) or services (e.g.,
`medical services, accountants, plumbers, contractors, car
`services). An illustrative example of romantic standardized
`questions are shown in connection with FIGS. 3B and 3C.
`When the recipient receives a question 301 (as in FIG. 3B),
`the user can select from multiple-choice list 302 (as shown
`in FIG. 3C) and the results are returned to the originating
`user. One of skill in the art could appreciate that many
`different type of standardized questions can be associated
`with the different categories of people, locations, services,
`and products.
`Additional Features of the Agent Device Software Applica
`tion
`0040. The user interface and agent device support many
`other features. For example, proximity detection detects the
`presence of nearby agent devices or known fixed locations
`(e.g., point of presence beacons or products) through, e.g.,
`wireless technology such as Bluetooth R) point of presence
`detection, RFID, ZigBeeTM, WiFi R, or WiMax or compari
`son to a geographic location stored in a database. Presence
`detection may utilize, e.g., Bluetooth R) discovery, GPS (or
`assisted GPS) proximity detection, or other detection
`mechanisms. The detection of another agent device or fixed
`location can trigger the friend finder and matching agent
`capability as is appropriate (discussed below).
`0041. The friend finder feature notifies the user when
`others are nearby with whom the user has an existing
`
`Page 20 of 32
`
`

`

`US 2007/O124721 A1
`
`May 31, 2007
`
`relationship. The presence list (e.g., FIG. 2B) shows basic
`information (e.g. user alias, picture, and relationship cat
`egory) for each related user that is nearby. Relationships can
`be stored in a list on the agent device, as well as in a central
`database, and can be managed both through the mobile
`application user interface and the web site.
`0042. The matching agents look for people, locations,
`services, or products nearby that match the user's interest,
`based upon information the user has entered for the param
`eters of each agent. For example, a user in the market for an
`automobile may set parameters to indicate that he is looking
`for a 2004 low-mileage black sedan with a manual trans
`mission and leather seats. The matching agent will look for,
`e.g., nearby car dealerships or individuals selling an auto
`mobile matching those parameters. If one is found, the
`matching agent will alert the user with details regarding the
`match. For example, if a car dealership is found, the name
`of the dealership, a photo of the car and directions to the
`dealership may appear. If an individual selling the car is
`found, the matching agent can display a picture of the
`individual (to simply identification) and a photo of the car.
`The matching agent also can effect communication between
`the parties. The matching agent also may alert the match that
`it has been discovered by the user.
`0043. The anonymous messaging feature allows a user to
`exchange messages with other users (including, e.g., people,
`location, services, or products) without revealing his mobile
`phone number. This provides an advantage over certain
`existing text messaging technology, e.g., short message
`service (known also as “SMS,” standard GSM 03.41) which
`includes the sender's mobile phone number and provides no
`anonymity. Messages can be sent over the peer to peer
`network (e.g., from agent device 418 to agent device 420) as
`well as anonymously via SMS with messages routed through
`a central server (e.g., central server 408).
`0044) The question wizard feature, discussed in connec
`tion with FIGS. 3B and 3C, provides standardized questions
`with quick select answers so a user can pose questions to his
`friends and matches (from the matching agent) without
`typing a word.
`0045. The photo gallery feature, discussed in connection
`with FIG. 3A, allows a user to view other user's picture
`galleries on an agent device. It helps users recognize faces
`in the crowd and evaluate any matches before meeting in
`person.
`0046) The instant messaging feature connects with inter
`net instant messaging services, allowing users to chat with
`friends on the internet, as well as those on agent devices.
`Preferably, the mobile application integrates instant messag
`ing with proximity, thereby providing indications of when a
`users friends are nearby and/or online.
`Architecture Overview
`0047. In a particular implementation, the agent software
`application (i.e., the one executed on the agent device) is
`Supported by a broader set of infrastructure, consisting of
`both a set of central services, distributed points of presence,
`and user's access via the web or other network. For example,
`a user is able to create and update information on his PC
`using a web browser to access a secure internet site con
`taining his information. Information entered into the user
`database via the website is synchronized to the agent device
`
`via an XML-based synchronization procedure that synchro
`nizes new or updated information from the user database to
`the agent device and synchronizes new or updated informa
`tion from the agent device to the user database. Additionally,
`the agent device may communicate with one or more central
`servers to Support additional functionality, Such as commu
`nication with other users, internet instant messaging, GPS
`proximity detection, RFID-based item identification, people
`locators, or remote agent match evaluation. The agent soft
`ware application also may detect and communicate with
`fixed points of presence to provide one way of detecting
`fixed locations of interest.
`0048 FIG. 4 is a schematic outlining the physical infra
`structure of an implementation. User, agent, and service
`data, along with core processing functions, are housed in a
`central hosting facility 400. Multiple hosting facilities may
`be used as desired to provide redundancy, fault tolerance and
`scalability. A user database 402 stores user information,
`including the data of the user, user agent, and user item
`objects, as well as Supporting attribute value data (user
`attribute, user agent attribute, and user item attribute). The
`information in the user database 402 is discussed in more
`detail in connection with FIG. 15A. An agent database 404
`stores data defining the agents, including the data of the
`agent, agent attribute, and attribute objects. The information
`in agent database 404 is discussed in more detail in con
`nection with FIGS. 13 and 14. A service database 406 stores
`service information, including the data of the service, Ser
`Vice agent, and Service item objects, as well as Supporting
`attribute value data (service attribute, service agent attribute,
`and service item attribute). More detail regarding the infor
`mation in service database 406 is provided in connection
`with FIG. 15B.
`0049 Additional databases may be provided for further
`categories of data. These databases may be physically
`deployed in a single database, or partitioned across multiple
`database instances and machines as required to Support
`performance and fault tolerance requirements. A central
`server 408 is utilized to execute the server applications of the
`system, including the web application, the remote service
`manager, and the agent server (see discussion of FIG. 6).
`The application and application components may be parti
`tioned across multiple physical servers and hosting locations
`as required to Support performance and fault tolerance
`requirements. A user can connect to the web application
`from a mobile device or personal computer (PC) 410 using
`a web browser over the public internet 412 to create and
`maintain his profile, including, e.g., user, user agent(s) and
`user item data, as well Supporting attribute data. This also
`represents one manner in which a user can download agents
`(e.g., those stored on the agent database 404, central server
`408, or third party agents stored on private server 434 or
`point of presence 432) onto his agent device 418 or 420.
`0050 A user downloads and executes the agent platform
`on his agent device 418 (in this example, a cellular phone,
`but the user's PC 410 could be an agent device as well). In
`the illustrated embodiment, the agent device Supports
`JavaTM Micro Edition (J2METM), JSR-82 and/or JSR-179.
`Once the agent platform is on the agent device, the user is
`free to add additional agents to his agent device without the
`need to update or download additional Software. The agents
`on the agent device 418 can interact with another agent
`device 420 executing the software or a local point of
`
`Page 21 of 32
`
`

`

`US 2007/O124721 A1
`
`May 31, 2007
`
`presence 432. The agent device 418 or 420 can communicate
`with the central server 408, other agent devices or other
`servers via standard mobile and internet protocols (e.g.,
`SMS, MMS, HTTP, WAP, IP) over the network 414 of the
`carrier with whom the user has a subscription for mobile
`Voice/data services. Some carriers have multiple networks,
`and as such, the agent device can use any of the carrier's
`networks. Alternatively, a carrier may allocate one of its
`networks or a certain part of bandwidth for communication
`in other ways.
`0051. A location 430, such as a retail store or a bar, may
`make itself known to the system by installing a local point
`of presence beacon 432. The point of presence beacon 432
`can include, e.g., a PC, a workstation, server, internet
`appliance

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket