System and method for enabling a client application to operate offline from a server
First Claim
1. A method for sending a request from a client computer to a server computer, wherein the client computer is connected to the server computer via a network, wherein the server computer runs server-side code associated with a client/server application, wherein the client computer runs client-side code associated with the client/server application, the method comprising:
- the client-side code registering a request entry with a client-side scheduler while the client is unable to established a connection to the server computer over the network, wherein the request entry represents the request to be sent from the client computer to the server computer;
the client-side scheduler storing the request entry until a connection from the client computer to the server computer can be established for use by the client-side code;
the client-side scheduler detecting when a connection from the client computer to the server computer is established;
the client-side scheduler notifying the client-side code that the connection from the client computer to the server computer over the network is established;
the client-side code using the connection to the server computer to send the request to the server computer;
wherein said client-side code registering a request entry with the client-side scheduler comprises the client-side code storing request context information for the request entry; and
wherein said client-side code using the connection from the client computer to the server computer to send the request to the server computer comprises the client-side code retrieving the request context information to formulate the appropriate request to send to the server computer.
3 Assignments
0 Petitions
Accused Products
Abstract
One disadvantage of the client/server computing model is the client'"'"'s strong dependence on the server. A system and method are disclosed for enabling a client application to operate offline from the server. For each request, the client application registers a request entry with a scheduler, informing the scheduler of an associated application callback. The scheduler then invokes this application callback when a network connection is available for use, and the client application then sends the request to the server. Error recovery methods are described for requests that are sent to the server but for which no reply is received, and for other error scenarios. Some applications may maintain client-side caches to lookup information independently of the server. Synchronization entries may be registered with the scheduler for keeping the client-side cache in sync with the server-side master data.
169 Citations
55 Claims
-
1. A method for sending a request from a client computer to a server computer, wherein the client computer is connected to the server computer via a network, wherein the server computer runs server-side code associated with a client/server application, wherein the client computer runs client-side code associated with the client/server application, the method comprising:
-
the client-side code registering a request entry with a client-side scheduler while the client is unable to established a connection to the server computer over the network, wherein the request entry represents the request to be sent from the client computer to the server computer; the client-side scheduler storing the request entry until a connection from the client computer to the server computer can be established for use by the client-side code; the client-side scheduler detecting when a connection from the client computer to the server computer is established; the client-side scheduler notifying the client-side code that the connection from the client computer to the server computer over the network is established; the client-side code using the connection to the server computer to send the request to the server computer; wherein said client-side code registering a request entry with the client-side scheduler comprises the client-side code storing request context information for the request entry; and wherein said client-side code using the connection from the client computer to the server computer to send the request to the server computer comprises the client-side code retrieving the request context information to formulate the appropriate request to send to the server computer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A system for enabling a client/server application, the system comprising:
-
a server computer, wherein the server computer runs server-side code associated with the application; a client computer connected to the server computer via a network, wherein the client computer runs client-side code associated with the application; and a client-side scheduler, wherein the client-side code is operable to interface with the scheduler in order to manage requests to the server computer; wherein the client-side code is executable to register a request entry with the clint-side scheduler while the client computer is unable to establish a connection to the server computer over the network, wherein the request entry represents a request that the client-side code needs to send to the server computer; wherein the client-side scheduler is executable to store the request entry until a connection from the client computer to the server computer can be established for use by the client-side code; wherein the client-side scheduler is executable to detect when a connection from the client computer to the server computer is established; wherein the client-side scheduler is executable to notify the client-side code that the connection from the client computer to the server computer over the network is established; wherein the client-side code is executable to use the connection to the server computer to send the request to the server; wherein said client-side code registering a request entry with the client-side scheduler comprises the client-side code storing request context information for the request entry; and wherein said client-side code using the established connection the client computer to the server computer to send the request to the server computer comprises the client-side code retrieving the request context information to formulate the appropriate request to send to the server computer. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55)
-
Specification