Patent ID: 8255548

Claim:
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 and a listener module, when an active network connection between the client device and the remote server is established (online session), wherein the downloaded one or more APIs simulate the same functionalities provided by one or more remote server APIs resident on the remote server; executing, at the client, a portion of the downloaded functional logic to generate a message including an API call to the one or more remote server APIs 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, using the listener module, processing the message locally by accessing the data in the local database identified by the API call to the one or more remote server APIs and responding to the API call based at least in part upon the downloaded one or more APIs.