Method and system for supporting off-line mode of operation and synchronization
First Claim
1. In a networked system including a server and a client, wherein the server stores resources within a collection, the resources being divided into at least a first subset of resources and a second subset of resources, a method of enabling a client to access the resources, comprising the steps of:
- establishing a first communication link between the client and the server, wherein the establishment of the first communication link results in the client operating in an on-line state;
while the first communication link is established between the client and the server;
requesting from the server in a first request a copy of the first subset of resources of the collection, the first request including state identifiers identifying the first subset of resources of the collection;
in response to the first request for the first subset of resources of the collection, receiving from a local store associated with the client the first subset of resources, the first subset of resources having been previously requested from the server and stored within the local store associated with the client; and
transmitting to the server state identifiers identifying the first subset of resources received from the local store associated with the client;
terminating the first communication link between the client and the server, wherein the termination of the first communication link results in the client operating in an off-line state;
establishing a second communication link between the client and the server, wherein the establishment of the second communication link results in the client operating in the on-line state;
while the second communication link between the client and server is established;
requesting from the server in a second request a copy of the second subset of resources of the collection, wherein the second subset of resources of the collection is mutually exclusive from the first subset of resources of the collection, the second subset of resources of the collection has not been previously requested by the client, and the second request does not request a resource within the first subset of resources of the collection, the second request including state identifiers identifying the second subset of resources of the collection; and
in response to the second request for the second subset of resources of the collection, receiving from the server the second subset of resources and receiving from the server at least one resource corresponding to at least one resource from the first subset of resources received from the local store, wherein the at least one resource corresponding to the at least one resource from the first subset of resources received from the server includes a more recent state than the corresponding at least one resource from the first subset of resources received from the local store, and wherein the at least one resource from the first subset of resources is not included in the second subset of resources.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for synchronizing multiple copies of data in a network environment that includes servers and clients so that incremental changes made to one copy of the data can be identified, transferred, and incorporated into all other copies of the data. The synchronization can be accomplished regardless of whether modifications to the data have been made by a client while the client is in an on-line or off-line mode of operation. The clients cache data locally as data are modified and downloaded. The caching enables the clients to access the data and allows the synchronization to be performed without transmitting a particular version more than once between a client and a server. Such elimination of redundant data transmission results in an efficient use of time and network bandwidth.
-
Citations
13 Claims
-
1. In a networked system including a server and a client, wherein the server stores resources within a collection, the resources being divided into at least a first subset of resources and a second subset of resources, a method of enabling a client to access the resources, comprising the steps of:
-
establishing a first communication link between the client and the server, wherein the establishment of the first communication link results in the client operating in an on-line state; while the first communication link is established between the client and the server; requesting from the server in a first request a copy of the first subset of resources of the collection, the first request including state identifiers identifying the first subset of resources of the collection; in response to the first request for the first subset of resources of the collection, receiving from a local store associated with the client the first subset of resources, the first subset of resources having been previously requested from the server and stored within the local store associated with the client; and transmitting to the server state identifiers identifying the first subset of resources received from the local store associated with the client; terminating the first communication link between the client and the server, wherein the termination of the first communication link results in the client operating in an off-line state; establishing a second communication link between the client and the server, wherein the establishment of the second communication link results in the client operating in the on-line state; while the second communication link between the client and server is established; requesting from the server in a second request a copy of the second subset of resources of the collection, wherein the second subset of resources of the collection is mutually exclusive from the first subset of resources of the collection, the second subset of resources of the collection has not been previously requested by the client, and the second request does not request a resource within the first subset of resources of the collection, the second request including state identifiers identifying the second subset of resources of the collection; and in response to the second request for the second subset of resources of the collection, receiving from the server the second subset of resources and receiving from the server at least one resource corresponding to at least one resource from the first subset of resources received from the local store, wherein the at least one resource corresponding to the at least one resource from the first subset of resources received from the server includes a more recent state than the corresponding at least one resource from the first subset of resources received from the local store, and wherein the at least one resource from the first subset of resources is not included in the second subset of resources.
-
-
2. A computer-implemented method implemented in a client device included in a networked system, the networked system being associated with a client device that is capable of accessing, modifying and storing a plurality of resources on a server device, the server device storing the plurality of resources in a collection, the method providing to the client device a synchronized copy of the plurality of resources while avoiding multiple downloads of each particular resource in the collection, the method comprising the steps of:
-
establishing a first communication link between the client device and the server device wherein the establishment of the first communication link results in the client device operating in an on-line state; while the first communication link between the client device and the server device is established; transmitting to the server device a first request for a copy of a first subset of the plurality of resources within the collection, the first request including state identifiers identifying the first subset of the plurality of resources within the collection; in response to transmitting the first request for the copy of the first subset of the plurality of resources within the collection, receiving at the client device a copy of the first subset of the plurality of resources within the collection; and storing the first subset of the plurality of resources in a local store associated with the client device; terminating the first communication link between the client device and the server device without receiving at the client device another copy of the first subset of the plurality of resources within the collection, wherein the termination of the first communication link results in the client device operating in an off-line state; establishing a second communication link between the client device and the server device, wherein the establishment of the second communication link results in the client operating in the on-line state; and while the second communication link between the client device and the server device is reestablished; transmitting to the server device a second request for a copy of a second subset of the plurality of resources within the collection, wherein the second subset of the plurality of resources within the collection is mutually exclusive from the first subset of the plurality of resources within the collection, the second subset of the plurality of resources within the collection has not been previously requested by the client, and the second request does not request a resource within the first subset of resources of the collection, the second request including state identifiers identifying the second subset of the plurality of resources within the collection; in response to transmitting the second request for the copy of the second subset of the plurality of resources within the collection, receiving at the client device the copy of the second subset of the plurality of resources within the collection; and in response to transmitting the second request for the copy of the second subset of the plurality of resources within the collection, receiving at the client device a copy of at least one resource within the first subset of resources within the collection, wherein the copy of the at least one resource is a modified version of a resource within the first subset of resources that was previously stored within the local store associated with the client device. - View Dependent Claims (3, 4, 5)
-
-
6. One or more computer storage media not consisting of a propagated data signal, the computer storage media containing computer-executable instructions, that when executed by at least one processor, perform a method, the method being implemented in a client device included in a networked system, the networked system being associated with a client device that is capable of accessing, modifying and storing a plurality of resources on a server device, the server device storing the plurality of resources in a collection, the method providing to the client device a synchronized copy of the plurality of resources while avoiding multiple downloads of each particular resource in the collection, the method comprising the steps of:
-
establishing a first communication link between the client device and the server device, wherein the establishment of the first communication link results in the client device operating in an on-line state; while the first communication link between the client device and the server device is established; transmitting to the server device a first request for a copy of a first subset of the plurality of resources within the collection, the first request including state identifiers identifying the first subset of the plurality of resources within the collection; in response to transmitting the first request for the copy of the first subset of the plurality of resources within the collection, receiving at the client device a copy of the first subset of the plurality of resources within the collection; and storing the first subset of the plurality of resources in a local store associated with the client device; terminating the first communication link between the client device and the server device without receiving at the client device another copy of the first subset of the plurality of resources within the collection, wherein the termination of the first communication link results in the client device operating in an off-line state; establishing a second communication link between the client device and the server device, wherein the establishment of the second communication link results in the client device operating in the on-line state; and while the second communication link between the client device and the server device is reestablished; transmitting to the server device a second request for a copy of a second subset of the plurality of resources within the collection, wherein the second subset of the plurality of resources within the collection is mutually exclusive from the first subset of the plurality of resources within the collection, the second subset of the plurality of resources within the collection has not been previously requested by the client, and the second request does not request a resource within the first subset of resources of the collection, the second request including state identifiers identifying the second subset of the plurality of resources within the collection; in response to transmitting the second request for the copy of the second subset of the plurality of resources within the collection, receiving at the client device the copy of the second subset of the plurality of resources within the collection; and in response to transmitting the second request for the copy of the second subset of the plurality of resources within the collection, receiving at the client device a copy of at least one resource within the first subset of resources within the collection, wherein the copy of the at least one resource is a modified version of a resource within the first subset of resources that was previously stored within the local store associated with the client device. - View Dependent Claims (7, 8, 9)
-
-
10. A computer system within a computer network, the computer system being associated with a client device that is capable of accessing, modifying and storing a plurality of resources on a server device, the server device storing the plurality of resources in a collection, wherein the computer system provides to the client device a synchronized copy of the plurality of resources while avoiding multiple downloads of each particular resource in the collection, the computer system comprising:
-
at least one processor; and at least one memory, communicatively coupled to the at least one processor and containing instructions that, when executed by the at least one processor, perform a method, comprising; establishing a first communication link between the client device and the server device, wherein the establishment of the first communication link results in the client device operating in an on-line state; while the first communication link between the client device and the server device is established; transmitting to the server device a first request for a copy of a first subset of the plurality of resources within the collection, the first request including state identifiers identifying the first subset of the plurality of resources within the collection; in response to transmitting the first request for the copy of the first subset of the plurality of resources within the collection, receiving at the client device a copy of the first subset of the plurality of resources within the collection; and storing the first subset of the plurality of resources in a local store associated with the client device; terminating the first communication link between the client device and the server device without receiving at the client device another copy of the first subset of the plurality of resources within the collection, wherein the termination of the first communication link results in the client device operating in an off-line state; establishing a second communication link between the client device and the server device, wherein the establishment of the second communication link results in the client device operating in the on-line state; and while the second communication link between the client device and the server device is reestablished; transmitting to the server device a second request for a copy of a second subset of the plurality of resources within the collection, wherein the second subset of the plurality of resources within the collection is mutually exclusive from the first subset of the plurality of resources within the collection, the second subset of the plurality of resources within the collection has not been previously requested by the client, and the second request does not request a resource within the first subset of resources of the collection, the second request including state identifiers identifying the second subset of the plurality of resources within the collection; in response to transmitting the second request for the copy of the second subset of the plurality of resources within the collection, receiving at the client device the copy of the second subset of the plurality of resources within the collection; and in response to transmitting the second request for the copy of the second subset of the plurality of resources within the collection, receiving at the client device a copy of at least one resource within the first subset of resources within the collection, wherein the copy of the at least one resource is a modified version of a resource within the first subset of resources that was previously stored within the local store associated with the client device. - View Dependent Claims (11, 12, 13)
-
Specification