RACE CONDITION HANDLING IN A SYSTEM WHICH INCREMENTALLY UPDATES CLIENTS WITH EVENTS THAT OCCURRED IN A CLOUD-BASED COLLABORATION PLATFORM
First Claim
1. A method for resolving race conditions when updating remote clients with what occurred in a cloud-based platform, the method comprising:
- in response to an event received which indicates a modification to an item, comparing a sequence identifier of the item in the event with a current sequence identifier of the item, wherein the sequence identifier of the item is numeric and monotonically increases as a state of the item changes;
if the sequence identifier in the event is larger than the current sequence identifier of the item, determining a difference between a state of the item as represented in the event and a current state of the item; and
based on the difference, generating at least one synchronization step to update the current state of the item to the item'"'"'s state as represented in the event.
4 Assignments
0 Petitions
Accused Products
Abstract
Techniques are disclosed for race condition handling in a system which incrementally updates clients with what occurred in a cloud-enabled platform. In one embodiment, a method comprises, in response to an event received at a synchronization client which indicates a modification to an item, comparing a sequence identifier of the item in the event with a current sequence identifier of the item. The sequence identifier of the item can be numeric and can monotonically increase as a state of the item changes. The method further comprises, if the sequence identifier in the event is larger than the current sequence identifier of the item, determining a difference between the item'"'"'s state as represented in the event and a current state of the item; and, based on the difference, generating at least one synchronization step to update the current state of the item to the item'"'"'s state as represented in the event.
76 Citations
39 Claims
-
1. A method for resolving race conditions when updating remote clients with what occurred in a cloud-based platform, the method comprising:
-
in response to an event received which indicates a modification to an item, comparing a sequence identifier of the item in the event with a current sequence identifier of the item, wherein the sequence identifier of the item is numeric and monotonically increases as a state of the item changes; if the sequence identifier in the event is larger than the current sequence identifier of the item, determining a difference between a state of the item as represented in the event and a current state of the item; and based on the difference, generating at least one synchronization step to update the current state of the item to the item'"'"'s state as represented in the event. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
20. A system for resolving race conditions when incrementally updating remote clients with what occurred in a cloud-based platform, the system comprising:
-
a processor; a memory having stored thereon instructions which, when executed by the processor, cause the processor to; in response to an event received which indicates a modification to an item, compare a sequence identifier of the item in the event with a current sequence identifier of the item, wherein the sequence identifier of the item is numeric and monotonically increases as a state of the item changes; if the sequence identifier in the event is larger than the current sequence identifier of the item, determine a difference between a state of the item as represented in the event and a current state of the item; and based on the difference, generate at least one synchronization step to update the current state of the item to the item'"'"'s state as represented in the event. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
39. A system, comprising:
-
means for, in response to an event received which indicates a modification to an item, comparing a sequence identifier of the item in the event with a current sequence identifier of the item, wherein the sequence identifier of the item is numeric and monotonically increases as a state of the item changes; means for, if the sequence identifier in the event is larger than the current sequence identifier of the item, determining a difference between a state of the item as represented in the event and a current state of the item; and means for, based on the difference, generating at least one synchronization step to update the current state of the item to the item'"'"'s state as represented in the event.
-
Specification