发明名称 Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
摘要 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.
申请公布号 US9396245(B2) 申请公布日期 2016.07.19
申请号 US201414146658 申请日期 2014.01.02
申请人 Box, Inc. 发明人 Mackenzie David;Spielberg Miles
分类号 G06F17/30;G06F7/00 主分类号 G06F17/30
代理机构 Perkins Coie LLP 代理人 Perkins Coie LLP
主权项 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 one or more events received which indicates a modification to at least one item, comparing a sequence identifier of the at least one item in the one or more events with a current sequence identifier of the at least one item, wherein the sequence identifier of the at least one item is numeric and monotonically increases as a state of the at least one item changes, wherein if the at least one item is a folder and the modification results in the folder entering or leaving a synchronization scope, performing a scan of a tree structure of synchronized folders, wherein the scan includes information regarding (i) all items deleted within a select time period of the scan, or (ii) all unsynchronized folders which are located inside a synchronized folder; if the sequence identifier in the one or more events received is larger than the current sequence identifier of the at least one item, determining a difference between a state of the at least one item as represented in the one or more events and a current state of the at least one item; and based on the difference, generating at least one synchronization step to update the current state of the at least one item to the state of the at least one item as represented in the one or more events.
地址 Redwood City CA US