Method and system for distributing object update messages in a distributed network system
First Claim
1. A computer-implemented method, comprising:
- at a server having memory and one or more processors, managing objects for one or more web-based applications 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;
a first object identifier corresponding to a first object cached at the first client device; and
a first object version number corresponding to the first object cached at the first client device;
updating a client-object registration table using the first client identifier, the first object identifier, and the first object version number, thereby registering the first client device to receive notifications of updates to the first object;
receiving a first object update message from an application server of the one or more application servers, the first object update message including the first object identifier and a second object version number;
updating an object update table using a blind write to specify the second object version number as a current version of the first object;
identifying one or more client identifiers in the client-object registration table corresponding to client devices that are registered to receive update notifications for changes to the first object, wherein the one or more client identifiers includes the first client identifier; and
when transmission criteria are met;
sending a second object update message to the first client device, wherein the second object update message includes the first object identifier and the second object version number;
receiving an object update confirmation message from the first client device, the object update confirmation message including a client-cached object version number; and
updating the client-object registration table using the client-cached object version number.
2 Assignments
0 Petitions
Accused Products
Abstract
A distributed network system includes at least one server having memory and one or more processors. The server performs the following operations in connection with propagating object updates to respective client devices: receiving a first object update message from an application server, the first object update message including a first object identifier and a first object version; updating an object update record that includes the first object identifier using the first object version, wherein the object update record includes a first client identifier; propagating the first object version from the object update record to a client-object registration record that includes the first client identifier; and 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 and the first object version.
69 Citations
17 Claims
-
1. A computer-implemented method, comprising:
-
at a server having memory and one or more processors, managing objects for one or more web-based applications 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; a first object identifier corresponding to a first object cached at the first client device; and a first object version number corresponding to the first object cached at the first client device; updating a client-object registration table using the first client identifier, the first object identifier, and the first object version number, thereby registering the first client device to receive notifications of updates to the first object; receiving a first object update message from an application server of the one or more application servers, the first object update message including the first object identifier and a second object version number; updating an object update table using a blind write to specify the second object version number as a current version of the first object; identifying one or more client identifiers in the client-object registration table corresponding to client devices that are registered to receive update notifications for changes to the first object, wherein the one or more client identifiers includes the first client identifier; and when transmission criteria are met; sending a second object update message to the first client device, wherein the second object update message includes the first object identifier and the second object version number; receiving an object update confirmation message from the first client device, the object update confirmation message including a client-cached object version number; and updating the client-object registration table using the client-cached object version number. - 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 one or more web-based applications 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; a first object identifier corresponding to a first object cached at the first client device; and a first object version number corresponding to the first object cached at the first client device; updating a client-object registration table using the first client identifier, the first object identifier, and the first object version number, thereby registering the first client device to receive notifications of updates to the first object; receiving a first object update message from an application server of the one or more application servers, the first object update message including the first object identifier and a second object version number; updating an object update table using a blind write to specify the second object version number as a current version of the first object; identifying one or more client identifiers in the client-object registration table corresponding to client devices that are registered to receive update notifications for changes to the first object, wherein the one or more client identifiers includes the first client identifier; and when transmission criteria are met; sending a second object update message to the first client device, wherein the second object update message includes the first object identifier and the second object version number; receiving an object update confirmation message from the first client device, the object update confirmation message including a client-cached object version number; and updating the client-object registration table using the client-cached object version number.
-
-
17. 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 one or more web-based applications 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; a first object identifier corresponding to a first object cached at the first client device; and a first object version number corresponding to the first object cached at the first client device; updating a client-object registration table using the first client identifier, the first object identifier, and the first object version number, thereby registering the first client device to receive notifications of updates to the first object; receiving a first object update message from an application server of the one or more application servers, the first object update message including the first object identifier and a second object version number; updating an object update table using a blind write to specify the second object version number as a current version of the first object; identifying one or more client identifiers in the client-object registration table corresponding to client devices that are registered to receive update notifications for changes to the first object, wherein the one or more client identifiers includes the first client identifier; and when transmission criteria are met; sending a second object update message to the first client device, wherein the second object update message includes the first object identifier and the second object version number; receiving an object update confirmation message from the first client device, the object update confirmation message including a client-cached object version number; and updating the client-object registration table using the client-cached object version number.
-
Specification