Note : Les descriptions sont présentées dans la langue officielle dans laquelle elles ont été soumises.
CA 02368081 2001-09-17
WO 00/56015 PCT/US00/07240
A METHOD AND SYSTEM FOR PROVIDING
A SERVICE TO A CLIENT NODE
FIELD OF THE INVENTION
The invention relates to client server systems in general and more
specifically to method
and systems for providing services to a client node.
RELATED APPLICATIONS
This application claims priority from provisional application USSN 60/125,190
filed
March 18, 1999 and herein incorporated by reference.
BACKGROUND OF THE INVENTION
Users desiring the performance of a service can issue a request directly to a
service
provider. Generally this requires that the user has specific knowledge about
the type of service
so that the user can send a request directly to the provider. Often the
provider requires that the
request be properly formatted before the provider generates a response and
returns it to the user.
In addition, the provider is generally unaware of the context of the user's
requirements. As a
result, the service may not properly satisfy the user's needs.
In some instances, users requiring a service are acting impulsively.
Consequently, the
user may not want to spend the time to prepare a properly formatted request
and the potential
interaction between the user and the provider may not occur. Some users may
prefer to have
easy access to preferred services providers. This can include having
personalized connection
capabilities. Unfortunately, customization is typically restricted to options
made available by the
provider and does not always result in convenient access.
CA 02368081 2001-09-17
WO 00/56015 PCT/US00/07240
-2-
SUMMARY OF THE INVENTION
The invention relates to a method of providing a service to a user. The method
includes
the steps of providing a user specific configuration, determining the context
of the user and
receiving a request from the user. The request is for a service represented in
the user specific
configuration. The method includes the additional step of providing the
service in response to
the request and the user context.
In another embodiment of the method of the invention, a method of providing a
service in
a system having a client node having a plurality of service indicia and a
context, a manager node
and a provider node includes the steps of selecting one of the plurality
service indicia;
determining the context of the client; and providing a service in response to
the selection of one
of the plurality of service indicia and the client context. In another
embodiment the step of
providing the service occurs on the client node. In another embodiment the
step of providing the
service occurs on the manager node. In yet another embodiment method further
includes the step
of updating the service indicia.
In yet another embodiment the invention relates to a system fc;~r performing a
service.
The system includes a client node including a context and a plurality of
service indicia; a
manager node in communication with the client node; and a provider node in
communication
with the manager node. The service is provided in response to the selection of
one of the
service indicia and the client context.
In still yet another embodiment the invention relates to a manager node for
performing a
service in a system including a client node, the manager node and a provider
node. The client
node includes a context and a plurality of indicia. The manager node is in
communication with
the client node. The manager node includes a service engine which provides a
service in
response to a selected indicia and the client context.
CA 02368081 2001-09-17
WO 00/56015 PCT/US00/07240
-3-
In still yet another embodiment the invention relates to a client node for
performing a
service in a system including the client node, a manager node and a provider
node. The client
node includes a context and a plurality of service indicia. A service is
provided in response to a
selected service indicia and the client context.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a highly schematic diagram of a system for providing a service in a
system
including a client, a manager node and a provider node according to the
invention;
Fig. 2 is a schematic embodiment of the system of Fig. l;
Fig. 3 is a schematic diagram of~the manager node of Fig. 2;
Fig. 4 is a schematic diagram of a staging system for a manager node according
to the
invention;
Fig. 5 is a schematic of the client node of Fig. 2;
Fig. 6 is an embodiment of the client node of Fig. 5;
Fig. 7 is an illustrative example of a display generated by a user interface
according to the
invention;
Fig. 8 is a vertical timeline indicating one sequence of steps for providing a
service to a
user according to the invention;
Fig. 9 is a block diagram indicating the sequence of data transferred between
nodes
according to an embodiment of the invention; and
Fig. 10 is a block diagram indicating the sequence of data transferred between
nodes
according to another embodiment of the invention.
DESCRIPTION OF THE PREFERRED EMBODIMENT
In brief overview and referring to Fig. 1, a conceptual description of an
embodiment of
the system 10 of the invention includes a system framework 12 which accepts a
configuration
module 14. The configuration module 14 permits the system 10 to be modified
for individual
CA 02368081 2001-09-17
WO 00/56015 PCT/US00/07240
-4-
users. The system 10 receives a stimulus 18 (e.g., a request) from a user, a
local source or a
remote source and, in conjunction with knowledge of the user's context 22,
performs some
service 26.
For example, a user using the system 10 could use an input device such as a
mouse to
select an icon from a personalized toolbar as defined by the configuration
module 14 in order to
request 18 a service 26. Depending upon the user context 22 in which the
request 18 is made,
the system 10 provides a service 26, such as providing tickets to a sporting
event.
An actual embodiment of the conceptual system 10 is shown in Fig. 2. In the
embodiment the system 10' includes a client node 30, a manager node 34 (e.g.,
manager server)
and a provider node 38 (e.g., provider server). All three nodes are in
communication with each
other over communication links which in one embodiment may include a network.
The manager
node 34 is also in communication with a database 42, which holds data required
for the manager
node 34 to function or charge for services.
In one embodiment the client node 30 requests 18' the manager node 34 to begin
the
process of downloading 54 the framework 12 to the client node 30 to allow the
client to
communicate with the remainder of the system 10'. Once the client node 30
receives the system
framework 12, the client node 30 requests 18' a configuration module 14 which
customizes the
system framework 12. In one embodiment, the system framework 12 is an object
and the
configuration module 14 is an object which instantiates the system framework
12 object.
In one embodiment once the configuration module 14 is in place, the client
node 30
requests 18 that the manager node 34 provide some service 26 and the manager
node 34,
knowing the client node's context 22, establishes communication 58 with a
provider node 38 to
obtain the service 26. The provider node 38 either communicates 62 the service
results 26 back
to the manager node 34 which then communicates 54 the service results 26 to
the client node 30,
or the provider node 38 communicates 66 directly with the client node 30. In
this second
CA 02368081 2001-09-17
WO 00/56015 PCT/US00/07240
-5-
scenario the client node 30 may make requests 18" independent of the manager
node 34 once
the communication between the client node 30 and the provider node 38 has been
established by
the manager node 34. The system framework 12 on the client node 30 is also
capable of
performing 43 services 26 on the client node 30 without the involvement of any
other nodes.
Transactions between the client node 30, the manager node 34 and the provider
node 38
are recorded 40 on persistent storage 42 by the manager node 34. Based upon
these recorded
transactions, the operator of the manager node 34 may be remunerated on a per
transaction basis
by the user of the client node 30, the operator of the provider node 38 or
both.
In more detail, in one embodiment the manager node 34 includes five interface
modules:
the Client Server Interface (CSI) 70, the Service Provisioning Subsystem (SPS)
74, the Web
Interface Subsystem (WIS) 76, the Provider Interface (PI) 78 and the Dynamic
Update Module
(DUM) 80 as shown in Fig. 3. Each module, which is described in detail below,
acts as the
interface to the provider node 38 or to the components of the client node 30.
Each interface module 70, 74, 76, 78, 80 includes a presentation layer
(generally PL
(CSIPL 82, SPSPL 84, WISPL 86, PIPL 88, DUMPL 90)) which presents data to and
receives
data from the outside environment in a form which the outside environment can
use, and a
business logic layer (generally BL ( CSIBL 92, SPSBL 94, WISPL 96, PIPL 98,
DUMPL 100)
which operates on the data to supply the outside environment with requested
information.
Specifically both the CSIPL 82 and the SPSPL 84 pass data to and receive data
from the
framework 12 located at the client node 30. Similarly, the WISPL 86 passes
data to and receives
data from a browser 104 operating on the client 30. The PIPL 88 and the DUMPL
90 pass data
to and receive data from the provider node 38.
The DUM 80 provides a mechanism to bring dynamic data quickly to the user.
This data
can be transient in nature and require frequent updates. For example, a stock
ticker update as a
service would use the DUM 80.
CA 02368081 2001-09-17
WO 00/56015 PCT/US00/07240
_6_
Each business logic layer BL 92, 94, 96, 98, 100 passes data to the database
42 through
an Abstract Data Base Access Interface (ADBAI) 110 which allows access to the
various data
located in the three databases: production database 120, transient database
122 and log database
124 which make up an embodiment of the manager node 34 database 42. The
production
database 120 is the main repository of user configurations, provider
information and discrete
services. The transient database 122 maintains session data, pending updates
and dynamic data
updates. The log database 124 logs system activities, including accounting,
usage analysis data
and billing data.
Referring to Fig. 4, in one embodiment the system 10' includes a staging
system 34'.
The staging system 34' is a smaller version of the manager node 34 and
includes a Content
Staging Subsystem (CSS) 140, which is not present in the manager node 34. The
staging system
34' duplicates the functionality of the production system 34. The provider
node 38 sends new
information to be used to update the production data base 120 to the staging
database 120'
through a provider interface 78' and ADBAI 110'. The CSS 140 coordinates
transfer of the new
information to the production database 120 from the staging database 120' to
avoid disrupting
the display of data on the client node 30.
Referring to Fig. S, a conceptual depiction of the client node 30 includes a
processing
module 130, a daemon module 142 and at least one user interface (UI) 134. The
user interface
134 can be a standalone application or integrated as component of another
application. The
processing module 130 handles data transmitted and received at the user
interface 134. The
daemon 142 is used to maintain the network session with the manager node 34.
Session
maintenance includes periodically transmitting active status indications to
the manager node 34
and receiving confirmation data and updates from the manager node 34. The
network session
can be terminated if the manager node 34 does not receive an active status
indication within a
predetermined period.
CA 02368081 2001-09-17
WO 00/56015 PCT/US00/07240
_7_
Fig. 6 illustrates an embodiment of the client node corresponding to the
conceptual
depiction in Fig: 5. User interfaces 134 include a web browser 134a (e.g.,
NetscapeTM or Internet
ExplorerTM), a desktop application 134b and a master application 134c (e.g.,
word processing
application, spreadsheet application, etc.) in which the user interface 134 is
embedded. The user
interfaces 134 provide a path for submitting a request 18 for a service 26 and
can provide
information to be included in the client context 22. The information is passed
to the processing
module 130 which is in bi-directional communication with the Web Interface
Subsystem WIS 76
in the manager node 34 via a front channel 156. In one embodiment the data
passed between the
processing module 130 and the WIS 76 using the hypertext markup language
(HTML) and the
hypertext transfer protocol (HTTP).
The processing module 130 also passes data to the daemon 142. The daemon 142
includes a session manager 150 which periodically transmits node status and
update queries to
the manager node 34. A scheduler 146 is used to initiate time dependent
communications
between the processing module 130 and the manager node 34. For example, the
scheduler is
used for regularly scheduled requests such as periodic retrieval of weather
data, stock prices or
sports scores. Data is transmitted bi-directionally between the daemon 142 and
the manager
node 34 via a back channel 160. In one embodiment the data transmitted over
the back channel
160 is in the extensible markup language (XML).
Fig. 7 is an illustrative example of a display 164 generated by a user
interface 134 such as
a web browser 134a. The display 164 includes a web page containing lines of
text 192 and a
toolbar 168. The toolbar 168 includes selection buttons 172a, 172b, 172c,
172d, 172e (generally
172) and a service indicia 176. The service indicia 176 typically is a logo,
trademark,
servicemark or other symbol indicating an associated provider node 38. A user
at the client node
activates a pull-down menu 180 by selecting the corresponding selection button
172b (e.g.,
25 Provider B). A submenu 184 is displayed by selecting an item (e.g., Service
C) listed in the
CA 02368081 2001-09-17
WO 00/56015 PCT/US00/07240
_g_
menu 180. A service is requested by selecting an item (e.g., Service H) from
the submenu 184.
It should be recognized that the selection buttons 172, the items in the menu
180 and the items in
the submenu 186 can be either indicators of provider nodes 38 or services to
be performed.
The user can customize features in the toolbar 168 to personal preferences.
For example,
the user can add, remove and change the left to right order of the selection
buttons 172. In
addition, the user can add, remove and reorder services (e.g., items in menus
180 and 184), set
default services, as well as personalize their choice and configuration of
services and tools. The
user can also set personalized parameters for the services and tools. The
parameters are sent
with the service request 18 to the provider node 38 in order to receive a
personalized service
response from the provider node 38 at the client node 30. In some instances,
the degree to which
the selection buttons 172 and menu items 180 associated with the toolbar 168
are limited.
In operation, and referring to Fig. 8, a user on a client node 30 accesses
(Step 10) the
provider node 38 using the client's browser 104 and the provider node 38
provides (Step 12), to
the client 30, the universal resource locator (URL) of the manager node 38 and
the provider
identifier (PID) of the provider node 34.
The client node 30 then requests (Step 14) a download of the system framework
12
which is provided (Step 16) by the manager node 34. The manager node 34 then
provides (Step
18) the client node 30 with a user ID and a security token and provides (Step
20) the client node
30 with a session ID.
Using the user ID, the security token and the session ID the client node 30
requests (Step
22) an update of the configuration module 14 if the user's configuration
module 14 does not
match the updated configuration module 14 available at the manager node 34.
The manager
node 34 then provides the updated configuration module 14 to the client node
30.
The client node software then renders 26 the screen of the client node 30 . If
images are
not included in the software, the client node 30 requests (Step 28) these
images from the
CA 02368081 2001-09-17
WO 00/56015 PCT/US00/07240
_g_
manager node 34. Periodically, the client node 30 requests (Step 30) updates
and, if the update
version is greater that the version on the client node 30, the higher version
update is transmitted
to the client.
Fig. 9 depicts a direct context sensitive search request and response as a
sequence of data
S transfers between the client node 30, the manager node 34 and the provider
node 38. A user of a
web browser 134a enters a request for a service at the client node 30 which is
processed with the
associated context in the processing module 130 before being sent to the
manager node 34
(transfer 210). The context can be, for example, defined in text appended to a
Universal
Resource Locator (URL) for the manager node 34. The manager node 34 then
forwards a related
service request with the associated context to its database 42 (transfer 220).
The database 42
returns a resolved service address for an associated provider and any required
parameters to the
manager node 34 (transfer 230). The manager node 34 forwards the resolved
service address
and parameters to the processing module 130 (transfer 240). The client node 30
then transmits
the service address and parameters to the associated provider node 38
(transfer 250) and, in
reply, the provider node 38 sends a provider response back to the client node
30 (step 260). Note
in this case, once the manager node 34 has established communications between
the client node
30 and the provider node 38, service communications between the client node 30
and the
provider node 38 do not involve the manager node 34.
A channeled context sensitive search request and response are depicted in Fig.
10 as a
sequence of data transfers. The client node 30 provides a service trigger with
an associated
context to the manager node 34 (transfer 310) which responds by sending a
serivce request and
with context to the database 42 (transfer 320). The database returns a
resolved service request
and an associated provider address with parameters (transfer 330) to the
manager node 34. The
manager node 34 then transmits the parameters to the provider node (transfer
340) which
processes parameters and returns a response with associated parameters
(transfer 350). A
CA 02368081 2001-09-17
WO 00/56015 PCT/US00/07240
-10-
resolved address for channeled service is then provided to the client node 30
(step 360) by the
manager node 3'4. The client node then responds by sending parameters to the
manager node
(transfer 370). In reply, the manager node 34 returns a service response back
to the client node
30 (transfer 380). Thus, for a channeled context sensitive search request and
response, there is
no direct communication between the client node 30 and the provider node 38.
Instead, all
requests and responses are processed or redirected by the manager node 34.
The direct context sensitive search request and response enables a rapid
response from
the provider node 38 to the client node 30 without further processing of the
service response,
such as adding more data to the response, prior to transmitting it to the
client node 30. The
channeled context sensitive search request and response enables responses to
be generated and
sent by more than one provider node 38 for a specific request. The manager
node 34 processes
the multiple responses and generates a single response that is sent to the
client node 30 as a
unified and edited response.
The manager node 34 records transactions in its log database 124 (see Fig. 3)
in part for
1 S determination of billing of system users and for usage analysis. Thus
remuneration can be based
on many different parameters. Providers entering into agreements to distribute
the system
framework 12 for establishing a client node 30 can be charged according to the
volume of user
sessions with the provider, or secondary providers (e.g., provider partners,
provider affiliates,
etc.) accessible through the framework 12 provided by the provider, over a
predetermined
period. For example, the provider can be billed according to the number of
interactions with its
service indicia and the number of users visiting the provider web site, or the
websites of
secondary providers, during a given time. Providers can also be charged a
portion of any sales
that result from user interactions with the provider or its secondary
providers.
Providers can be charged a registration fee for inclusion to the system
catalog. In
addition, providers can be charged a fee based on the position of its service
indicia in a display,
CA 02368081 2001-09-17
WO 00/56015 PCT/US00/07240
-11-
such as the position of its name or logo in a toolbar. A user accessing a
catalog in the manager
database can review listings of providers of services. Some providers may be
willing to pay a
premium to be listed near or at the top of a service category so that users
are more likely to select
them than provider listed later in the category.
While the invention has been particularly shown and described with reference
to specific
preferred embodiments, it should be understood by those skilled in the art
that various changes in
form and detail may be made therein without departing from the spirit and
scope of the invention
as defined by the appended claims.