Method and system for migrating object update messages through synchronous data propagation
First Claim
1. A computer-implemented method, comprising:
- at a server having memory and one or more processors, managing objects for a web-based application hosted by one or more application servers, including;
receiving an object registration message from a first client device, the object registration message including;
a first client identifier corresponding to the first client device; and
a first object identifier corresponding to a first object cached at the first client device, wherein the first object is used by the web-based application;
updating an object-client registration table using the first client identifier and the first object identifier, thereby registering the first client device to receive notifications of updates to the first object;
receiving a first object update message that includes the first object identifier and a first object version number, wherein the first object update message corresponds to an update to the first object at a second client device while using the web-based application;
updating the object-client registration table to specify the first object version number as a current version of the first object;
andin accordance with the registration of the first client device to receive notifications of updates to the first object, sending a second object update message to the first client device, wherein the second object update message includes the first object identifier and the first object version number;
wherein a last object update timestamp is stored when the first object update message is received, and the last object update timestamp is cleared upon receiving acknowledgement that object updates corresponding to the first object update message have been propagated, thereby assuring that the object updates are propagated even when the server has a failure.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer-implemented method in a distributed network system is disclosed. The computer-implemented method includes: receiving, at a server, a first object update message from a server-side application, wherein the first object update message includes a first object identifier; identifying, among a plurality of object-client registration records, an object-client registration record that includes the first object identifier; updating the object-client registration record in accordance with the first object update message; selecting a set of client identifiers associated with the first object identifier from the object-client registration record; and, for a first client identifier in the selected set of client identifiers, sending a second object update message to a first client device associated with the first client identifier, wherein the second object update message includes the first object identifier.
-
Citations
27 Claims
-
1. A computer-implemented method, comprising:
-
at a server having memory and one or more processors, managing objects for a web-based application hosted by one or more application servers, including; receiving an object registration message from a first client device, the object registration message including; a first client identifier corresponding to the first client device; and a first object identifier corresponding to a first object cached at the first client device, wherein the first object is used by the web-based application; updating an object-client registration table using the first client identifier and the first object identifier, thereby registering the first client device to receive notifications of updates to the first object; receiving a first object update message that includes the first object identifier and a first object version number, wherein the first object update message corresponds to an update to the first object at a second client device while using the web-based application; updating the object-client registration table to specify the first object version number as a current version of the first object; and in accordance with the registration of the first client device to receive notifications of updates to the first object, sending a second object update message to the first client device, wherein the second object update message includes the first object identifier and the first object version number; wherein a last object update timestamp is stored when the first object update message is received, and the last object update timestamp is cleared upon receiving acknowledgement that object updates corresponding to the first object update message have been propagated, thereby assuring that the object updates are propagated even when the server has a failure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A server system for managing objects for a web-based application hosted by one or more application servers, comprising:
-
one or more processors for executing programs; and memory storing data and one or more programs executable by the one or more processors, the one or more programs including instructions for; receiving an object registration message from a first client device, the object registration message including; a first client identifier corresponding to the first client device; and a first object identifier corresponding to a first object cached at the first client device, wherein the first object is used by the web-based application; updating an object-client registration table using the first client identifier and the first object identifier, thereby registering the first client device to receive notifications of updates to the first object; receiving a first object update message that includes the first object identifier and a first object version number, wherein the first object update message corresponds to an update to the first object at a second client device while using the web-based application; updating the object-client registration table to specify the first object version number as a current version of the first object; and in accordance with the registration of the first client device to receive notifications of updates to the first object, sending a second object update message to the first client device, wherein the second object update message includes the first object identifier and the first object version number; wherein a last object update timestamp is stored when the first object update message is received, and the last object update timestamp is cleared upon receiving acknowledgement that object updates corresponding to the first object update message have been propagated, thereby assuring that the object updates are propagated even when the server system has a failure. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A non-transitory computer readable-storage medium storing one or more programs for execution by one or more processors of a server system for managing objects for a web-based application hosted by one or more application servers, the one or more programs comprising instructions for:
-
receiving an object registration message from a first client device, the object registration message including; a first client identifier corresponding to the first client device; and a first object identifier corresponding to a first object cached at the first client device, wherein the first object is used by the web-based application; updating an object-client registration table using the first client identifier and the first object identifier, thereby registering the first client device to receive notifications of updates to the first object; receiving a first object update message that includes the first object identifier and a first object version number, wherein the first object update message corresponds to an update to the first object at a second client device while using the web-based application; updating the object-client registration table to specify the first object version number as a current version of the first object; and in accordance with the registration of the first client device to receive notifications of updates to the first object, sending a second object update message to the first client device, wherein the second object update message includes the first object identifier and the first object version number; wherein a last object update timestamp is stored when the first object update message is received, and the last object update timestamp is cleared upon receiving acknowledgement that object updates corresponding to the first object update message have been propagated, thereby assuring that the object updates are propagated even when the server has a failure. - View Dependent Claims (23, 24, 25, 26, 27)
-
Specification