U.S. patent application number 10/898145 was filed with the patent office on 2006-01-26 for proxy-based profile management to deliver personalized services.
Invention is credited to Javier B. Arellano, Sreenivasa Rao Gorti, David Patron, Paul VanVleck.
Application Number | 20060020508 10/898145 |
Document ID | / |
Family ID | 35447719 |
Filed Date | 2006-01-26 |
United States Patent
Application |
20060020508 |
Kind Code |
A1 |
Gorti; Sreenivasa Rao ; et
al. |
January 26, 2006 |
Proxy-based profile management to deliver personalized services
Abstract
A third-party profile service based on a proxy server model is
described, where a user's profile service resides at a URL, in
contrast to a profile service that requires federation identity. A
profile service is provided that augments location-based services
offered by service providers targeting mobile users via, for
example, wireless and Wifi Networks. Additional personalization is
driven by identity/profile services. Participants in the scenario
are not required to share an identity or profile (i.e., static
federation is not required). The user establishes a single profile
with a trusted provider, hands-off solicitations to a profile agent
that operates on behalf of the user to apply policies and
preferences. The agent also provides privacy and anonymity
(opaqueness).
Inventors: |
Gorti; Sreenivasa Rao;
(Austin, TX) ; Patron; David; (Cedar Park, TX)
; VanVleck; Paul; (Austin, TX) ; Arellano; Javier
B.; (Austin, TX) |
Correspondence
Address: |
MATTHEW E. BURR;LAKE AUSTIN MARINA
2219 WESTLAKE DR
STE 200
AUSTIN
TX
78746
US
|
Family ID: |
35447719 |
Appl. No.: |
10/898145 |
Filed: |
July 23, 2004 |
Current U.S.
Class: |
705/14.23 ;
705/14.51; 705/14.64; 705/14.66 |
Current CPC
Class: |
H04L 67/306 20130101;
H04W 4/02 20130101; G06Q 30/02 20130101; H04W 4/029 20180201; G06Q
30/0222 20130101; H04W 4/21 20180201; G06Q 30/0269 20130101; G06Q
30/0253 20130101; G06Q 30/0267 20130101 |
Class at
Publication: |
705/014 |
International
Class: |
G06Q 30/00 20060101
G06Q030/00 |
Claims
1. A method of e-commerce wherein a merchant discovers the presence
of a user's mobile device and sends through the device to the user
an offer of goods or services, the method comprising the steps of:
discovering the device; obtaining a URL to the user's profile
agent; querying the profile agent for the user's profile; applying
the user's profile preferences and policies to filter the profile
information retrieved by the agent; delivering a personalized offer
to the agent based on the profile information; and determining
whether to deliver the offer to the user's device based on the
profile preferences and policies.
2. The method of claim 1, further comprising the steps of:
transmitting an acceptance of the offer to the merchant; and
receiving an offer confirmation from the merchant.
3. The method of claim 1, wherein the step of applying the user's
profile preferences and policies to filter the profile information
retrieved by the agent, and the step of determining whether to
deliver the offer to the user's device based on the profile
preferences and policies, are performed by the profile agent.
4. The method of claim 1, wherein the method is performed over a
public mobile network.
5. The method of claim 4, wherein the network is a WiFi
network.
6. The method of claim 1, wherein the step of discovering the
device is accomplished by means of Bluetooth.RTM. technology.
7. The method of claim 6, wherein the profile agent URL is obtained
during the discovery negotiation protocol.
8. A network architecture for XML-based Web services and
information exchange, whereby a Web service provider detects and
interacts with a mobile device having a non-federated user
identity, the architecture comprising: a profile configuration
interface to input profile preferences and policies for the
non-federated user identity; a profile database that stores the
profile policies and preferences input at the interface; a profile
agent that mediates the exchange of Web services and information
between the service provider and the non-federated user identity
according the profile preferences and policies; and a profile agent
URL.
9. The architecture of claim 8, further comprising a client on the
user device that supports user interaction with the profile
agent.
10. The architecture of claim 8, wherein the profile configuration
is linked to Smartpages.RTM. to retrieve requested information.
11. The architecture of claim 8, wherein the profile configuration
is linked to a UDDI catalogue database to retrieve requested
information.
12. The architecture of claim 8, wherein the architecture supports
wireless discovery of the mobile user device.
13. The architecture of claim 8, wherein the mobile user device
supports a web browser.
14. The architecture of claim 8, wherein the service provider and
the user device interact wirelessly.
15. The architecture of claim 14, further comprising Bluetooth.RTM.
technology.
16. The architecture of claim 14, further comprising cellular
device discovery technology.
17. The architecture of claim 14, further comprising WiFi.
18. A media network whereby a Web service provider interacts with a
user medium via the network to offer services to a non-federated
user identity, wherein each medium of the network reads
computer-readable program code that programs the medium to perform
selected functions, and further wherein the selected functions of
the media comprise: providing a profile configuration interface to
configure user profile policies and preferences; storing the
profile policies and preferences in a database; directing a profile
request from the service provider to a URL having a profile agent
resident thereon; running the profile agent to optionally accept
profile requests and offers from a service provider, apply the
profile policies and preferences to filter queries and offers from
the service provider, provides information permitted by the profile
policies to the service provider, and exchange services and
information with the user medium; and applying an XML-based
definition of the exchanged services and information.
19. The media network of claim 18, wherein the functions further
comprise running a profile agent client on the user device.
20. The media network of claim 18, wherein the media comprises a
proxy agent.
21. The media network of claim 18, wherein the user medium
comprises a mobile device.
22. The media network of claim 18, wherein at least two media of
the network are wirelessly networked.
23. The media network of claim 18, wherein the wirelessly networked
mediums comprise Bluetooth.RTM..
24. The media network of claim 18, wherein the functions further
comprise cellular device discovery.
25. The media network of claim 18, further comprising WiFi wireless
communication between at least two media of the network.
26. The media network of claim 18, wherein the functions further
comprise wireless discovery of a mobile user medium of the
network.
27. A medium that reads computer-readable programming code, wherein
the code programs the medium to perform programmed functions, and
further wherein the functions comprise: accepting profile
configuration input, wherein the input comprises profile policies
and preferences, and further wherein the profile corresponds to a
non-federated identity; storing the profile policies and
preferences in a database; communicating a profile agent URL to a
service provider in connection with the wireless discovery by the
service provider of a mobile device of the non-federated identity;
and running the profile agent that optionally accepts profile
queries from the service provider; applies the profile policies and
preferences to filter queries from the service provider, and
retrieves information permitted by the profile policies to the
service provider.
28. The medium of claim 27, wherein the agent further comprises a
mobile agent.
29. The medium of claim 27, wherein the non-federated identity is
opaque.
30. The medium of claim 27, wherein the medium wirelessly
communicates with the device of the non-federated identity.
31. The medium of claim 30, wherein the communication is exchanged
over a public mobile network.
Description
TECHNICAL FIELD
[0001] The present invention relates to the Internet, and, more
particularly to network architecture and platforms for the delivery
of personal services and push ecommerce.
BACKGROUND OF THE INVENTION
[0002] It is expected that, before long, the mobile terminal will
become for many people the primary access point to the Internet and
the enabler of secure location-based and personalized services. All
service or content providers will, therefore, have the opportunity
to develop and provide end-user services that securely package and
attune content to the user's location and needs in a mobile
environment.
[0003] To that end, agents are regarded as very promising,
especially in connection with the explosion of information and
services on the Internet. Agents are software that act on behalf of
a principal (a user or subscriber) to reach a goal, perform a task,
or solve a problem for the user. For example, agents might filter
information for the user, determining which news articles,
documents, Web-sites, and the like, are interesting for the user on
the basis of a user-profile that stores the user's interests.
[0004] Particularly relevant to the present invention are agents
that will be referred to as "proxy agents." The term proxy in
connection with the present invention has a particular connotation,
as set forth below.
[0005] Proxies mediate requests between entities, such as, for
example, between a client application (browser) and a server. For
the purposes of the present invention, a proxy agent acts on behalf
of a user to accept and filter solicitations made to the user by
other entities such as service providers and applications. The
proxy agent serves two purposes: [0006] (a) it protects user
privacy and [0007] (b) it enforces user's policies and communicates
user preferences for personalization.
[0008] User profile (and other identity-based) information is
widely used to deliver personalized web-based services. Currently,
such profile information is specific to particular services,
resulting in a fragmentation that requires a user to specify and
update their profiles with multiple service providers. Identity
architectures such as .NET My Services and Liberty Alliance propose
third-party profile services, offered by a Profile Service Provider
(PSP) to multiple other service providers linked in a federation.
These architectures primarily address a relatively static network
of service providers that have agreed to identity federation. They
address the fragmentation problem at the expense of requiring
identity federation, and are not well suited to dynamic
push-commerce opportunities targeted at mobile users.
[0009] Specific embodiments of the present invention exploit the
advantages of proxy agents for the delivery of personalized
services to mobile Web users without requiring federation
membership, i.e., static business alliances and identity
relationships envisioned in standards like Liberty Alliance.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The present invention is further described in the detailed
description that follows, by reference to the noted drawing, by way
of non-limiting examples of embodiments of the present invention,
in which reference numerals represent parts throughout the drawing,
and in which:
[0011] FIG. 1 is a schematic diagram of exemplary interactions
between participants in a specific embodiment of a platform
architecture of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] In view of the foregoing, the present invention, through one
or more of its various aspects, embodiments and/or specific
features or sub-components, is thus intended to bring out one or
more of the advantages that will be evident from the description.
The present invention is described with frequent reference to
platform architectures. It is understood, however, that platform
architecture is merely an example of a specific embodiment of the
present invention, which is directed generically to exploiting
digital information exchange technologies for personalized
ecommerce based on user profiles, within the scope of the
invention. The terminology, examples, drawings and embodiments,
therefore, are not intended to limit the scope of the
invention.
[0013] User profile information, though widely used to deliver
personalized web-based services, is currently fragmented among
multiple service providers. Identity platforms such as .NET My
Services and Liberty Alliance would be third-party profile
services, offered by a Profile Service Provider (PSP) to multiple
other service providers linked in a federation. PSPs, therefore,
overcome the fragmentation problem at the expense of requiring
identity federation. Also, PSPs are not well suited to dynamic
push-commerce directed to mobile users. By way of distinguishing
the present invention from federation membership identity
providers, the Liberty Alliance Project is described below.
[0014] The Liberty Alliance Project is developing standards for
federated identity management that emphasize security, and privacy
of the member users. Identity federation as specified by the
Liberty Alliance Project is a controlled method by which partnering
companies provide customer service to a qualified group of members
for defined business transactions.
[0015] The technology used in web services allow a businesses to
offer new functionality to their partners and customers, facilitate
existing relationships between disparate computing systems, and
provide common interfaces to systems, enabling composite computing
systems to be built that span geographical locations and business
functions. Web services technologies provide a uniform interface on
top of existing computer systems. They offer a programming
language-neutral and operating environment-neutral model. Web
services offer a standard external interface to internal computer
systems, for automated and inexpensive interactions among computer
systems. The interfaces are developed and deployed more quickly
than traditional computer systems.
[0016] Passing of standardized messages between systems enables Web
services. A human resources system, for example, might pass a
standard message telling an insurance provider to "enroll employee
Sita Rama in XYZ insurance plan." The insurance provider might then
respond, telling the human resources system that it had
"successfully added Sita Rama to insurance plan XYZ." To pass
standard messages, businesses must agree on standard ways of
communicating these messages. To do that, businesses typically
agree on a framework for implementing web services. The Liberty
Identity Web Services Framework (ID-WSF) is a proposed
framework.
[0017] A web service may be broken down into different layers. One
layer is the application layer. It is responsible for the actual
service provided by the application. In a human resources
interface, for example, the application layer would be responsible
for defining the standard message that it uses to enroll an
employee in an insurance plan, and the response message received
upon enrollment. The bundled messages form an application
protocol.
[0018] An application needs instructions about where and how to
send a message. If the human resources application and the
insurance enrollment system are performed by different businesses,
then messages will be passing over some network connection between
the two businesses. The system will need to verify that the
"enrollment of Sita" message was sent actually came from Sita's
company. Additionally, both businesses want to protect all the
messages that they send to each other from prying eyes. A framework
layer, therefore, manages the functions of verification and privacy
protection and other functions that all the networked business
share. The Liberty ID-WSF specifications provide a framework layer,
and the common functions are listed below:
[0019] i) Authentication--ensures that service requesters are
authenticated to be authorized users for access to the provided
service. Authentication depends on the notion of identity. i.e.,
who is the person accessing the service and who is the message
about?
[0020] ii) Message protection mechanisms: both clients and
providers of Web services would like to know that messages they
send cannot be intercepted by a malicious entity and then either be
modified or cached and then replayed.
[0021] iii) Service discovery and addressing: to make use of a
particular web service, an application needs to discover where the
Web service is located to correctly address messages to the
service.
[0022] iv) Policy: service providers may have particular
requirements that apply to service requesters. These requirements,
which can be quite varied, can be grouped in the general category
of policy. Additionally, individual users of software applications,
or the service client software applications themselves, may have
particular policies that they must apply in accessing a service.
Policies may relate to many factors, such as the privacy
requirements of a user, security requirements of a service provider
or client, and so forth.
[0023] v) Common data access protocols: multiple applications might
define similar operations. For example, a "query" message could
equally apply to an insurance plan in the insurance system (who is
enrolled in plan XYZ?) or another system at the same company, such
as the corporate address book (what is Sita's phone number?). It is
efficient to define a standard interface to be used and extended by
application systems.
[0024] vi) Transport protocols: generally, web services are made
available over a network. Often, the network is the Internet, and
services may thus be offered using the HTTP protocol and carried in
a standard SOAP message. Liberty provides a binding of application
messages to SOAP that may be carried over HTTP.
[0025] Finally, web services may be classified, based on their
usage of identity-related information, as identity-based,
identity-consuming, or basic (which does not depend on or expose
any identity-related information). An identity-based service
application is one that exposes an interface on behalf on an
(online) identity. For example, Sita may have her business calendar
on the corporate intranet--it is her calendar--if you want to know
what Sita is doing, you have to access her calendar, not just
anyone's calendar.
[0026] An identity-consuming service application is one that
requires, or is enhanced by, knowledge of some data connected with
a subscriber's identity. For example, if Sita wants to find out the
weather forecast for her local weather, the weather forecasting
service could be enhanced by knowing Sita's postal code--it doesn't
need to know who Sita is, nor is it working specifically on her
behalf, it just needs some piece of information about her to give
her the local weather forecast.
[0027] A stock quote service that delivers the current price of a
particular company's stock is an example of a basic web service. It
does not need to know who the person is who is requesting the quote
in order to configure the quote. It just needs to know the name or
abbreviation of the company whose stock price is requested.
[0028] The Identity Federation Framework (ID-FF) of the Liberty
Alliance Project is based on the OASIS SSTC SAML standard [SAML],
and specifies a third-party authentication model, where individual
services rely upon assertions generated by an identity provider.
Thus, the service is not required to directly authenticate the user
(although ID-FF does not prevent this). The direct authentication
may be performed by an entity whose sole responsibility is to
identify the user based on direct authentication. This model, of
course, requires that the service provider trusts the identity
provider.
[0029] Liberty ID-FF defines a protocol that allows a service
provider to generate an authentication request and receive an
authentication assertion in response from the identity provider. In
addition, Liberty specifies bindings for that protocol, by which
the protocol is performed in a web-based context (either solely
over HTTP, or with some communication using SOAP+HTTP).
[0030] In addition to the protections available via ID-FF, Liberty
provides standard SOAP-based authentication and single-sign-on
service interfaces to an identity provider. These can be used by
SOAP-based applications to acquire credentials for use at other
service provider applications. The Liberty Authentication Service
allows a SOAP client application to authenticate to the service via
any of the authentication methods specified by the IETF's Simple
Authentication and Security Layer specification, thus standardizing
the authentication methods used. In all of these cases, the
authentication results in a SAML assertion being used to
communicate the authentication event.
[0031] Once an identity provider has authenticated the user
requesting service access, they can claim to know the identity of
that user. The user has an account with the identity provider. The
service provider may or may not know the identity of the user to
whom they are providing service (if they have not, themselves,
directly authenticated the user, and found them to have an account
with the service provider) but they will receive a SAML assertion
from the identity provider, attesting to the identity provider's
knowledge of the user's identity.
[0032] It is possible, regardless of whether an account exists for
the user at the service provider, for an identifier to be
established between the service provider and the identity provider
based upon direct authentication of the user by the identity
provider and the user's account with that identity provider. If
such an identifier is subsequently re-used by the service provider,
then a federated name identifier is said to exist. The federated
name identifier is shared for some period of time by the identity
provider and the service provider. A name identifier could be
something such as an email address or a string of digits that
uniquely identifies a user to either an identity provider or a
service provider.
[0033] Several concerns arise with respect to name identifiers.
Sharing some commonly used identifier among services providers,
such as an email address, may not cause any concern. However, when
sharing a globally-known identifier among separate business
entities, the user's privacy may be compromised. A user may be fine
with the idea that provider A and provider B both know who she is,
but does not want provider C to know the same identifier that
provider A and B share (for example, she may wish to offer
different email addresses to different providers).
[0034] Liberty permits opaque (not necessarily visible to all
parties) privacy-protected name identifiers. These identifiers
cross business entities without compromising the privacy of the
user or leaking data (such as his or her email address). Particular
resources (a personal profile document or set of location
attributes) may be associated with an identity, so Liberty provides
an opaque, privacy-protected resource identifier. This combines the
concept of a user's identity (and name identifier) with the idea of
a specific personal profile resource belonging to the identified
user.
[0035] When a service accepts a request, it needs to verify that
the request is a genuine one from a party that it trusts to deliver
the request. Liberty specifies ways in which this can be assured.
These range from transport security mechanisms to ensure that the
underlying transport is secure (for example, by use of TLS
[RFC2246]), to token-based mechanisms (such as the propagation of a
SAML assertion in a WS-Security [wss-sms, wss-saml] SOAP header
block). Additionally, Liberty specifies a SOAP binding
([LibertySOAPBinding]) that includes header blocks that provide
message threading (so that a message received may be correlated to
a message that was sent) and the ability for a message sender to
make a claim about the sender's identity, which can be confirmed by
the message recipient.
[0036] There are a number of ways in which a service may be
discovered. Liberty specifies a discovery service [LibertyDisco]
and a protocol and profile by to access a discovery service by a
service requester. The Liberty framework itself does not require
explicit discovery, and other methods (such as UDDI service
registry) may be employed, particularly for the discovery of basic
web services. It should be noted that the Liberty discovery service
has a special property--it is available to discover services
belonging to a particular user, so it is ideal for the discovery of
identity-based web services. And, of course, it uses privacy
protected name and resource identifiers to provide that
functionality.
[0037] The methods result in a service requester having a) the
service endpoint to which they should direct a service request, b)
a credential that will convince the service provider that the
requester should be granted access, and c) policies of the service
provider that would be required for them to gain access (e.g., does
the service provider require a particular secure transport, such as
SSL/TLS?).
[0038] The Liberty WSF provides a number of places where policy is
specified and enforced. Specifically, a usage directive SOAP header
block is provided so that a particular service request may be
handled according to the requested policy; placeholders for policy
information pertaining to service access in both the Liberty
discovery service, and individual metadata documents related to
particular service providers are also provided. In addition, policy
may be indicated in WSDL [WSDLv1.1] documents associated with a
particular application service provider. Liberty does not specify
any particular policy language, but provides placeholders where
such policy languages may be employed.
[0039] The Liberty Data Services Template Specification (DST)
defines common data access protocols to allow the querying and
modification of arbitrary data items according to the application.
An application uses or extends the DST protocol to provide a basic
query/modify interface to application clients without having to
design or code such functionality itself.
[0040] Although the prerequisite to active federated SSO is a
business agreement and trust between company networks, the actual
linking of the disparate identities depends on an action on the
part of the Principal. There is no valid cross-domain access until
the Principal registers his/her validated identities, requiring
initial successful login to both federated SSO domains. Just as the
opaque identifier lessens the risk of liability for businesses, so
too does it lessen the risk of identity theft/fraud for the
individual. The opaque identifier itself is useless outside of this
specific company pairing. There is no transitive property to this
value. Furthermore, the valid identifier must originate and receive
positive assertion from the appropriate Identity Provider validated
with current credentials; it is not valid with the Service Provider
in any other context.
[0041] In addition to the basic framework provided for all web
services, identity services deliver messages to a service offered
on behalf of some identity, such as a personal profile where an
address is stored. Thus, they have to identify the subscriber in
some way. Of course, they should identify the subscriber/user in
some way where only the application client and the application
service know that it is the user's profile being requested or
modified. Liberty uses the resource identifier to label that
identity. For Service clients to discover the location of the
user's profile service, they contact the user's discovery service
to acquire a resource identifier for the profile service. The
services may be accessed via query and/or modify type operations.
The Liberty DST protocol can be used to access an identity-based
service where the client, such as an identity-consuming weather
forecasting web service, wishes to determine the postal code in
order to deliver a weather forecast for the area where the
subscriber lives.
[0042] In contrast to a profile service that requires federation
identity, the current invention contemplates a third-party profile
service based on a proxy server model, where the user's profile
service resides at a URL. A profile service of the present
invention augments location-based services offered by service
providers targeting mobile users via, for example, wireless and
Wifi Networks. Additional personalization is driven by
identity/profile services. The invention does not require all
participants in the scenario to share an identity or profile (i.e.,
static federation is not required). The user establishes a single
profile with a trusted provider, hands-off solicitations to a
profile agent that operates on behalf of the user to apply policies
and preferences. The agent also provides privacy and anonymity
(opaqueness).
[0043] A Personalized Services Environment (PSE) has been proposed
to customize mobile services. In a PSE users roam between different
wireless access networks and receive services according to their
personal profiles and environmental contexts. Generally, there are
service and network providers in the PSE who facilitate the
delivery of customized or personalized mobile services. Elements of
the environment include users that have personal preferences and
polices configured in their agent; end-devices such as a cell
phone, PDA, Blackbury and so forth; network operators that provide
servers and connectivity; and service providers such as merchants
or retail machines.
[0044] Agents are defined within the scope of a platform. The agent
platform can be distributed across machines (which do not even need
to share the same OS) and configuration can be controlled via a
remote GUI. The configuration can be even changed at run-time by
moving agents from one machine to another one, as and when
required.
[0045] Mobile agents are software abstractions that can migrate
across the network (hence mobile) representing users in various
tasks (hence agents). A mobile agent may start its execution at a
location, migrate to another location, and continue its execution
at the original location. Mobile-agent systems differ from
process-migration systems in that the agents move when they choose,
typically through a "move", "jump" or "go" statement, whereas in a
traditional process-migration system the system decides when and
where to move the running process (typically to balance CPU
load).
[0046] Two types of mobile agents can be distinguished: (1)
Single-hop agents. They migrate from their home platform to one
specific other platform and remain there for monitoring or return
to the home platform after doing their task; and (2) Multi-hop
agents. They migrate from their home platform to some other
platform and hop from on the platform to another, visiting as many
platforms as required to fulfil their task, e.g. searching for
information or goods. Mobile agents differ from "applets", which
are programs downloaded as the result of a user action, then
executed from beginning to end on one host.
[0047] Mobile agents are able to move from one physical network
location to another. In this way they can be regarded as an
alternative or enhancement of the traditional client/server
paradigm. While client/server technology relies on Remote Procedure
Calls (RPCs) across a network, mobile agents can migrate to the
desired communication peer and take advantage of local
interactions. In this way, several advantages can be achieved, such
as a reduction of network traffic or a reduction of the dependency
of network availability.
[0048] Universal Discovery Description and Integration (UDDI) is a
specification for distributed Web-based information registries of
Web Services. UDDI is also a publicly accessible set of
implementations of the specification that allow businesses to
register information about the Web Services they offer so that
other businesses can find them. A user of the present invention may
avail him or her self of personalized services, tied to a
SMARTPages.RTM.- or UDDI-like catalog service, but does not require
that the user reveal personally identifiable information.
[0049] FIG. 1 is a schematic diagram of exemplary interactions
between participants in exemplary embodiments of platform
architecture of the present invention. Referring now to FIG. 1, Web
user Joe (100) signs up for a profile service with the Profile
Service Provider. Joe (100) has a trust relationship with this
provider, and configures his preferences through a profile
configuration interface. He configures his preferences to provide
various levels of access to his profile information or to receive
information from vendors and the like. For example, Joe (100)
chooses whether to receive promotional offers. Joe (100) chooses,
at his option, to specify particular merchants or categories of
product to receive promotional offers. One embodiment of the
present invention provides a profile configuration web site linked
to product/company catalogs such as SMARTPages.RTM., Web Services
registries like UDDI, and the like.
[0050] Joe (100) establishes simple rules during the profile
configuration to specify policies as to how his profile information
is shared and how or whether offers are communicated to him (step
1). At this point, Joe (100) has configured a "profile agent" (120)
that accepts his profile configuration and acts as an agent on his
behalf. Optionally, Joe (100) downloads a specialized client to
interact with the profile agent and to communicate his decisions to
the agent.
[0051] In one exemplary scenario, which takes place over a public
mobile network, Joe (100) wanders around a PSE mall with a PDA.
Merchants (130) in the mall detect Joe's device. In one instance,
Joe (100) has a Wifi device and his device attempts to connect up
to Wifi access points operated by the merchants. In another
instance, Joe (100) has a GPS-enabled cell phone (110), and
merchant (130) sites have registered with the cell phone operator
to be notified of a new user's presence in the "cell" (step 2). The
network operator's "presence service" notifies all registered sites
in the "cell" (110). Note that the merchant sites do not know, and
do not need to know, Joe's identity. In fact, Joe, or any other
user in the cell, does not have a pre-existing relationship with
the merchant or the merchant site, and, in accordance with the
present invention, the merchant site does not require any
pre-existing relationship with Joe or any other user.
[0052] At Joe's option, such notification is anonymous. For
example, the operator may generate a one-time opaque identification
token (only valid while Joe remains in the cell) to identify Joe.
Alternatively, the privacy policies set in Joe's presence detection
preferences determine the notification. Specific embodiments of the
present invention contemplate that machines in the mall, such as a
Coke.RTM. machine, are enabled with, for example, Bluetooth.RTM.
technology and are able to recognize Joe's device using
Bluetooth.RTM. discovery or a functionally equivalent
technology.
[0053] The merchant site discovers Joe's "profile agent" (120). In
the Wifi case, the agent sends the URL for Joe's profile agent to
the access point. In the cellular network, the merchant site
receives the profile URL as part of the presence notification. In
the Bluetooth case, the profile agent URL is sent along with the
discovery negotiation protocol.
[0054] The merchant queries the profile agent to receive Joe's
profile information. The profile agent presents a Web Service
interface and returns the profile information (filtered by Joe's
privacy preferences) to the merchant (step 3). At Joe's option, the
profile information revealed does not contain personally
identifiable information. The merchant optionally uses the return
profile information to generate a personalized offer, such as, for
example, a discount coupon, and returns it to the profile agent
(step 4).
[0055] The profile agent applies Joe's policies to the generated
offer (step 5) to decide whether to forward the offer to Joe's
device. If the offer is sent to the device, Joe reviews the offer
using the profile agent client on his device (step 6). If Joe
decides to "accept" the offer, this is communicated back to the
merchant site (step 7). The merchant, to optionally validate the
offer, uses a discount code relayed back to Joe (step 8).
[0056] Although the invention has been described with reference to
several exemplary embodiments, it is understood that the words that
have been used are words of description and illustration, rather
than words of limitation. Changes may be made within the purview of
the appended claims, as presently stated and as amended, without
departing from the scope and spirit of the invention in all its
aspects. Although the invention has been described with reference
to particular means, materials and embodiments, the invention is
not intended to be limited to the particulars disclosed; rather,
the invention extends to all functionally equivalent technologies,
structures, methods and uses such as are within the scope of the
appended claims.
* * * * *