Enabling online and offline operation
First Claim
1. A method for enabling an application of a computing device to work offline and online, comprising the steps of:
- if a computing device is online, responding to a communication from said application by forwarding said communication to a server for use in running a query involving a first data source with which said server communicates; and
if said computing device is not online, responding to said communication by processing at least a portion of said communication at said computing device using data in a local data store accessible to said computing device, said data in said local data store represents a local version of at least a subset of information stored in said first data source, said processing comprises running a query using the local data store.
6 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides software developers with the capability to create applications that can access information online and offline without having to program such capabilities into their applications. An application can gather information from various remote data sources via a network or other communication means, and still have access to all or a portion of that information when the computing device running the application is no longer connected to the network. In one embodiment, a client manages information access, caching and synchronization for the application. When connected, information accessed is stored in a local data store on (or near) the computing device. When disconnected, requests are run against the local data store instead of the remote data source. When reconnected, information is synchronized between the local data store and the remote data source.
38 Citations
31 Claims
-
1. A method for enabling an application of a computing device to work offline and online, comprising the steps of:
-
if a computing device is online, responding to a communication from said application by forwarding said communication to a server for use in running a query involving a first data source with which said server communicates; and if said computing device is not online, responding to said communication by processing at least a portion of said communication at said computing device using data in a local data store accessible to said computing device, said data in said local data store represents a local version of at least a subset of information stored in said first data source, said processing comprises running a query using the local data store. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for enabling software to work offline and online, comprising:
-
responsive to an application, providing a communication from a proxy to a server if the proxy is online, the communication includes an identification of a first data source, and a set of records of the first data source, the server is configured to communicate with the first data source; and if the proxy is not online, responding to the application using data in a data store local to the proxy, the data in the data store represents a local version of at least a subset of information stored in the first data source. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
23. One or more processor readable storage devices having processor readable code embodied thereon, the processor readable code for programming one or more processors to perform a method comprising:
-
responsive to an application, providing a communication from a computing device to a server if the computing device is online, the communication includes an identification of a first data source, the server is configured to communicate with the first data source; and if the computing device is not online, responding to the application using data in a data store local to the computing device, the data in the data store represents a local version of at least a subset of information stored in the first data source; and synchronizing the data store with the first data source when the computing device is online, the synchronizing comprises sending, from the computing device to the server, a request for synchronization which includes a change counter. - View Dependent Claims (24, 25, 26, 27)
-
-
28. A method for enabling software to work offline and online, comprising:
-
responsive to an application, providing a communication from a computing device to a server if the computing device is online, the communication includes an identification of a first data source, the server is configured to communicate with the first data source; if the computing device is online, receiving a first executable file from the server in response to the communication provided thereto, and providing the first executable file to the application; and if the computing device is not online, providing a second executable file to the application using at least a subset of data in a data store local to the computing device, the data in the data store represents a local version of at least a subset of information stored in the first data source; the application rendering the first and/or second executable files. - View Dependent Claims (29, 30)
-
-
31. A method for enabling an application of a computing device to work offline and online, comprising the steps of:
-
if a computing device is online, responding to a communication from said application by forwarding said communication to a server for use in running a query involving a first data source with which said server communicates; if said computing device is not online, responding to said communication by processing at least a portion of said communication at said computing device using data in a local data store accessible to said computing device, said data in said local data store represents a local version of at least a subset of information stored in said first data source, said processing comprises running a query using the local data store; and synchronizing the local data store with the first data source when the computing device is online, the synchronizing comprises sending, from the computing device to the server, a request for synchronization which includes a change counter.
-
Specification