A METHOD AND SYSTEM FOR PROVIDING A SERVICE TO A CLIENT NODE

Abstract: A method of providing a service to a user is presented. 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. The method is also presented as steps for 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. The method 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. The step of providing the service can occur on the client or the manager node. The method can also include the additional step of updating the service indicia.

Description: 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 US SN 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. 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 for 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. 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. N 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. 1; 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 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). Nil 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 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. Each business logic layer _BL 92, 94, 96, 98, 100 passes data to the database 42 through an Abstract Data Base Access Interface (NDB Al) 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. 5, 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. 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., Netscape™ or Internet Explorer™), 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 30 activates a pull-down menu 180 by selecting the corresponding selection button 172b (e.g., Provider B). A submenu 184 is displayed by selecting an item (e.g., Service C) listed in the menu 180. N 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 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 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 resolved address for channeled service is then provided to the client node 30 (step 360) by the manager node 34. 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 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, 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.

Claims: CLAIMS 1. A method of providing a service to a user comprising the steps of: providing a user specific configuration; determining the context of said user; receiving a request from said user for a service represented in said user specific configuration; and providing said service in response to said request and said user context. 2. The method of claim 1 further comprising the step of dynamically downloading said user specific configuration. 3. The method of claim 1 wherein said determination of said user context is responsive to an action by said user. 4. A method of providing a service in a system comprising a client node, a manager node and a provider node, the client node comprising a plurality of service indicia and a client context, the method comprising the steps of: selecting one of said plurality of service indicia; determining said client context; and providing a service in response to said selection of one of said plurality of service indicia and said client context. 5. The method of claim 4 wherein said step of providing said service occurs on said client node. 6. The method of claim 4 wherein said step of providing said service occurs on said manager node. 7. The method of claim 4 wherein said step of providing said service occurs on said provider node. 8. The method of claim 4 wherein said step of determining said client context occurs on said client node. 9. The method of claim 4 wherein said step of determining said client context occurs on said manager node. 10. The method of claim 4 wherein said step of determining said client context occurs on said provider node. 11. The method of claim 4 wherein said step of selecting one of said service indicia is performed by said user. 12. The method of claim 4 wherein said step of selecting one of said service indicia occurs automatically. 13. The method of claim 12 wherein said automatic selection of indicia is performed by said manager node. 14. The method of claim 12 wherein said automatic selection of indicia is performed by said provider node. 15. The method of claim 4 wherein said step of providing service comprises the step of redirecting a service request to a provider node. 16. The method of claim 4 wherein said step of providing a service comprises the step of collecting service responses from a plurality of provider nodes. 17. The method of claim 4 wherein at least one of said service indicia comprises a brand. 18. The method of claim 4 wherein said at least one of said service indicia comprises a service subindicia. 19. The method of claim 18 wherein said service subindicia comprise a brand. 20. The method of claim 19 wherein said service indicia and said service subindicia comprise the same brand. 21. The method of claim 18 wherein said step of selecting one of said service indicia comprises the step of providing said service subindicia. 22. The method of claim 4 further comprising the step of updating said service indicia. 23. The method of claim 22 wherein the step of updating said service indicia comprises the step of uploading said service subindicia to said client node from said manager node. 24. The method of claim 22 wherein the step of updating said service indicia comprises the step of uploading said service subindicia to said client from said provider node. 25. The method of claim 4 further comprising the step of providing remuneration for each service provided. 26. The method of claim 4 wherein said service is selectable from a catalog of services. 27. The method of claim 26 wherein said catalog of services is located on said manager node. 28. The method of claim 26 further comprising the step of remuneration, said remuneration being determined in response to a location of said service in said catalog. 29. The method of claim 4 wherein said step of determining client context is made in response to a user selecting information on a client display. 30. The method of claim 4 further comprising the step of providing remuneration in response to the providing of a service indicia on said client node. 31. The method of claim 30 wherein said remuneration is determined in response to the location of said service indicia on said client node. 32. The method of claim 4 further comprising the step of providing remuneration in response to said selection of one of said service indicia. 33. A system for performing a service comprising: a client node comprising: a context; and a plurality of service indicia; a manager node in communication with said client node; and a provider node in communication with said manager node, wherein a service is provided in response to a selection of one of said service indicia and said client context. 34. The system of claim 33 wherein said provider node is in communication with said client node. 35. The system of claim 33 wherein said service is provided by said client node. 36. The system of claim 33 wherein said service is provided by said manager node. 37. The system of claim 33 wherein said service is provided by said provider node. 38. The system of claim 33 wherein said client node and said manager node are in communication through an RF communication link. 39. The system of claim 33 wherein said selection of one of said service indicia occurs on said client node by a user. 40. The system of claim 33 wherein said selection of one of said service indicia is performed automatically by said manager node. 41. The system of claim 33 wherein said selection of one of said service indicia is performed automatically by said provider node. 42. The system of claim 33 wherein said manager node redirects a service request to a provider node in order to provide said service. 43. The system of claim 33 wherein said system comprises a plurality of provider nodes and said manager node collects service responses from at least one of said provider nodes in order to provide said service. 44. The system of claim 33 wherein at least one of said service indicia comprises a brand. 45. The system of claim 44 wherein said at least one service indicia comprises a service subindicia. 46. The system of claim 45 wherein said service subindicia comprise a brand. 47. The system of claim 33 wherein said client node updates said service indicia by uploading service indicia from said manager node. 48. The system of claim 33 wherein a user of said provider node provides remuneration for a provided service. 49. A manager node for performing a service in a system comprising a client node, said manager node and a provider node, said client node comprising a context and a plurality of indicia, said manager node being in communication with said client node, said manager node comprising: a service engine, wherein said service engine provides a service in response to a selected one of said plurality of service indicia and said client context. 50. The manager node of claim 49 wherein said selection of said one of said service indicia occurs on said client node by a user. 51. The manager node of claim 49 wherein said selection of one of said service indicia is performed automatically by said manager node. 52. The manager node of claim 51 wherein said automatic selection is periodic in time. 53. The manager node of claim 49 wherein said manager node redirects a service request to a provider node in order to provide said service. 54. The manager node of claim 49 wherein said system comprises a plurality of provider nodes and said manager node collects service responses from at least one of said plurality of provider nodes in order to provide said service. 55. The manager node of claim 49 wherein at least one of said service indicia comprises a brand. 56. The manager node of claim 55 wherein said at least one service indicia comprises a service subindicia. 57. The manager node of claim 56 wherein said service subindicia comprise a brand. 58. The manager node of claim 49 wherein said manager node updates said service indicia on said client node by uploading service indicia from said manager node to said client node. 59. The manager node of claim 49 further comprising a production database. 60. The manager node of claim 49 further comprising a transient database. 61. The manager node of claim 49 further comprising a log database. 62. N client node for performing a service in a system comprising said client node, a manager node and a provider node, said client node comprising: a context; and a plurality of service indicia, wherein a service is provided in response to a selected one of said plurality of service indicia and said client context. 63. The client node of claim 62 further comprising a client application. 64. The client node of claim 63 wherein said application is a browser. 65. The client node of claim 63 wherein said client application generates a toolbar for displaying said plurality of service indicia. 66. The client node of claim 62 wherein said selection of one of said service indicia occurs on said client node by a user. 67. The client node of claim 62 wherein at least one of said service indicia comprises a brand. 68. The client node of claim 62 wherein said at least one service indicia comprises a service subindicia. 69. The client node of claim 68 wherein said service subindicia comprise a brand. 70. The client node of claim 62 wherein said client node updates said service indicia by uploading service indicia from said manager node.

Inventors: MIASNIK GUY, SIEGEL AVIV, MIASNIK, GUY, SIEGEL, AVIV
Applicants: COMMAT, &COMMAT
Application year: 2000
Main classification: H04L12
IPC codes: H04L12, H04L29