OFFLINE WEB SERVICES API TO MIRROR ONLINE WEB SERVICES API
First Claim
1. A method of simulating, at a client device, an API for an online session between a remote server and the client when the client is offline, wherein the remote server includes data and functional logic that manipulates the data in response to API calls received from the client device, the method comprising:
- downloading at least a portion of the data to a local database, and at least a subset of the functional logic, including one or more APIs, when an active network connection between the client device and the remote server is established (online session);
executing at the client, a portion of the downloaded functional logic to generate a message including an API call to access or manipulate data at the remote server; and
if the client is actively connected with the remote server over the network, sending the message to the remote server; and
if not, processing the message locally by accessing the data identified by the API call in the local database and responding to the API call by the listener module.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems for simulating an online session between the client and a remote server when the client is offline including simulating a web services API to access information when the client is offline. The client includes a local interface that can communicate with the remote server. During an online session, the data and the functional logic that is invoked to manipulate the data reside on the remote server. As such, the user transmits instructions to view, create, update, delete, or otherwise modify portions of data through the local interface and subsequently through the underlying network. These instructions are ultimately received at the remote server, which then invokes the proper functional logic to perform the instructions in order to manipulate the data. An API is provided that is substantially identical to the web services API that is typically accessed over the internet, but which simulates online functionality when offline. The client program talks to a single API, and in certain aspects that API determines whether to direct requests to a local database (which can later be synchronized with the online system) if the client is offline, or directly against the online system (e.g., if the client is connected via the Internet).
-
Citations
36 Claims
-
1. A method of simulating, at a client device, an API for an online session between a remote server and the client when the client is offline, wherein the remote server includes data and functional logic that manipulates the data in response to API calls received from the client device, the method comprising:
-
downloading at least a portion of the data to a local database, and at least a subset of the functional logic, including one or more APIs, when an active network connection between the client device and the remote server is established (online session);
executing at the client, a portion of the downloaded functional logic to generate a message including an API call to access or manipulate data at the remote server; and
if the client is actively connected with the remote server over the network, sending the message to the remote server; and
if not, processing the message locally by accessing the data identified by the API call in the local database and responding to the API call by the listener module. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer readable medium, containing code executable by a processor in a client device to simulate an API for an online session between a remote server and the client when the client is offline, wherein the remote server includes data and functional logic that manipulates the data in response to API calls received from the client device, the code including instructions to:
-
download at least a portion of the data from the remote server to a local database, and at least a subset of the functional logic, including one or more APIs, when an active network connection between the client device and the remote server is established (online session);
execute at the client, a portion of the downloaded functional logic to generate a message including an API call to access or manipulate data at the remote server;
if the client is actively connected with the remote server over the network, send the message to the remote server; and
if not, process the message locally by accessing the data identified by the API call in the local database and responding to the API call. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer system, comprising:
-
a remote server storing data and functional logic that manipulates the data in response to API calls received from one or more client devices;
a network interconnect; and
a client device, having a processor and a local database, wherein the processor executes logic that is operable to;
download at least a portion of the data from the remote server to a local database, and at least a subset of the functional logic, including one or more APIs, when an active network connection between the client device and the remote server is established (online session) over the network interconnect;
execute a portion of the downloaded functional logic to generate a message including an API call to access or manipulate data at the remote server; and
if the client is actively connected with the remote server over the network, send the message to the remote server; and
if not, process the message locally by accessing the data identified by the API call in the local database and responding to the API call. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A method for simulating an online session with a server at an off line client, comprising:
-
downloading at least a portion of data stored at the server and at least a subset of functional logic of the server, including at least one API, to a database local to the client when an active network connection exists between the client and the server;
receiving a request to access data at the server using an API invocation; and
sending a message to the server to access data responsive to the request when the client is actively connected with the remote server and processing the message locally at the client by accessing data identified by the API invocation in the local database when the client is not actively connected with the server.
-
-
36. A computer readable medium, containing code executable by a processor in a client device to simulate an online session with a server at an off line client, the code including instructions to:
-
download at least a portion of data stored at the server and at least a subset of functional logic of the server, including at least one API, to a database local to the client when an active network connection exists between the client and the server;
receive a request to access data at the server using an API invocation; and
send a message to the server to access data responsive to the request when the client is actively connected with the remote server and processing the message locally at the client by accessing data identified by the API invocation in the local database when the client is not actively connected with the server.
-
Specification