Subscription-Notification Mechanisms For Synchronization Of Distributed States
First Claim
1. A method of synchronizing data between a client device and a remote server, the client device storing a plurality of buckets of information each including a plurality of field-value pairs, the remote server storing a plurality of buckets of information each including a plurality of field-value pairs, the method comprising:
- receiving, at the remote server from the client device, a subscription request identifying a bucket of information stored on the remote server, the identified bucket of information corresponding to one of the plurality of buckets of information stored at the client device;
determining, by the remote server, whether there is a difference in state between the identified bucket of information stored at the remote server and the corresponding bucket of information stored at the client device; and
notifying, if it is determined that there is a difference in state between the identified bucket of information stored at the remote server and the corresponding bucket of information stored at the client device, the client device with information representative of at least one difference between the identified bucket of information stored at the remote server and the corresponding bucket of information stored at the client device.
2 Assignments
0 Petitions
Accused Products
Abstract
Apparatus, systems, methods, and related computer program products for synchronizing distributed states amongst a plurality of entities and authenticating devices to access information and/or services provided by a remote server. Synchronization techniques include client devices and remote servers storing buckets of information. The client device sends a subscription request to the remote serve identifying a bucket of information and, when that bucket changes, the remote server sends the change to the client device. Authentication techniques include client devices including unique default credentials that, when presented to a remote server, provide limited access to the server. The client device may obtain assigned credentials that, when presented to the remote server, provide less limited access to the server.
-
Citations
20 Claims
-
1. A method of synchronizing data between a client device and a remote server, the client device storing a plurality of buckets of information each including a plurality of field-value pairs, the remote server storing a plurality of buckets of information each including a plurality of field-value pairs, the method comprising:
-
receiving, at the remote server from the client device, a subscription request identifying a bucket of information stored on the remote server, the identified bucket of information corresponding to one of the plurality of buckets of information stored at the client device; determining, by the remote server, whether there is a difference in state between the identified bucket of information stored at the remote server and the corresponding bucket of information stored at the client device; and notifying, if it is determined that there is a difference in state between the identified bucket of information stored at the remote server and the corresponding bucket of information stored at the client device, the client device with information representative of at least one difference between the identified bucket of information stored at the remote server and the corresponding bucket of information stored at the client device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer system, comprising:
-
a storage element for storing a plurality of buckets of information each including a plurality of field-value pairs; and a synchronization server coupled to the storage element and operable to; receive, from a client device storing a plurality of buckets of information each including a plurality of field-value pairs, a subscription request identifying a bucket of information stored on the storage element, the identified bucket of information corresponding to one of the plurality of buckets of information stored at the client device; determine whether there is a difference in state between the identified bucket of information stored at the storage element and the corresponding bucket of information stored at the client device; and notify, if it is determined that there is a difference in state between the identified bucket of information stored at the storage element and the corresponding bucket of information stored at the client device, the client device with information representative of at least one difference between the identified bucket of information stored at the storage element and the corresponding bucket of information stored at the client device. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A non-transitory computer-readable storage medium having instructions stored thereon that, when executed by one or more computer processors, cause the one or more computer processors to perform operations including:
-
receiving, at a remote server that is remote from a client device, a subscription request identifying a bucket of information stored on the remote server, the identified bucket of information corresponding to one of a plurality of buckets of information stored at the client device; determining whether there is a difference in state between the identified bucket of information stored at the remote server and the corresponding bucket of information stored at the client device; and notifying, if it is determined that there is a difference in state between the identified bucket of information stored at the remote server and the corresponding bucket of information stored at the client device, the client device with information representative of at least one difference between the identified bucket of information stored at the remote server and the corresponding bucket of information stored at the client device. - View Dependent Claims (17, 18, 19, 20)
-
Specification