Learning client preferences to optimize event-based synchronization
First Claim
Patent Images
1. A method of synchronizing data, comprising:
- observing, by one or more processors associated with a terminal that communicates with a synchronization server, a user interaction associated with synchronization set data that has been synchronized based on synchronization events downloaded from the synchronization server configured to propagate changes via a synchronization event stream;
using, by the one or more processors, the observed user interaction to infer a user preference with respect to downloaded synchronization set data;
obtaining, by the one or more processors, the synchronization event stream, the synchronization event stream being provided by the synchronization server, the synchronization event stream comprising one or more synchronization events and one or more corresponding event sequence identifiers that identify the one or more synchronization events, and the one or more synchronization events corresponding to changes to file management system objects synchronized across a plurality of endpoints;
determining, by the one or more processors, to synchronize one or more objects based at least in part on the one or more synchronization events comprised in the synchronization event stream and the one or more corresponding event sequence identifiers; and
providing, by the one or more processors, access to subsequently downloaded portions of data associated with the one or more objects determined to be synchronized in a manner determined based at least in part on the inferred user preference,wherein;
the synchronization event stream further comprises an indication of an event type corresponding to the one or more synchronization events, a time associated with the one or more synchronization events, and a node associated with the one or more synchronization events corresponding to a change; and
the one or more objects determined to be synchronized is further determined based at least in part on the event type, and the inferred user preference.
10 Assignments
0 Petitions
Accused Products
Abstract
Techniques to perform event-based synchronization of data among a plurality of endpoints are disclosed. In various embodiments, a user interaction associated with synchronization set data that has been synchronized based on synchronization events downloaded from a synchronization server configured to propagate changes via a synchronization event stream is observed. The observed user interaction is used to infer a user preference with respect to downloaded synchronization set data. Access is provided to synchronization event related data in a subsequent download in a manner determined based at least in part on the inferred user preference.
28 Citations
25 Claims
-
1. A method of synchronizing data, comprising:
-
observing, by one or more processors associated with a terminal that communicates with a synchronization server, a user interaction associated with synchronization set data that has been synchronized based on synchronization events downloaded from the synchronization server configured to propagate changes via a synchronization event stream; using, by the one or more processors, the observed user interaction to infer a user preference with respect to downloaded synchronization set data; obtaining, by the one or more processors, the synchronization event stream, the synchronization event stream being provided by the synchronization server, the synchronization event stream comprising one or more synchronization events and one or more corresponding event sequence identifiers that identify the one or more synchronization events, and the one or more synchronization events corresponding to changes to file management system objects synchronized across a plurality of endpoints; determining, by the one or more processors, to synchronize one or more objects based at least in part on the one or more synchronization events comprised in the synchronization event stream and the one or more corresponding event sequence identifiers; and providing, by the one or more processors, access to subsequently downloaded portions of data associated with the one or more objects determined to be synchronized in a manner determined based at least in part on the inferred user preference, wherein; the synchronization event stream further comprises an indication of an event type corresponding to the one or more synchronization events, a time associated with the one or more synchronization events, and a node associated with the one or more synchronization events corresponding to a change; and the one or more objects determined to be synchronized is further determined based at least in part on the event type, and the inferred user preference. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system to synchronize data, comprising:
-
a memory or other storage device; and a processor coupled to the memory or the other storage device, the processor associated with a terminal that communicates with a synchronization server, and the processor configured to; observe a user interaction associated with synchronization set data, stored in the memory or other storage device, that has been synchronized based on synchronization events downloaded from the synchronization server configured to propagate changes via a synchronization event stream; use the observed user interaction to infer a user preference with respect to downloaded synchronization set data; obtain the synchronization event stream, the synchronization event stream being provided by the synchronization server, the synchronization event stream comprising one or more synchronization events and one or more corresponding event sequence identifiers that identify the one or more synchronization events, and the one or more synchronization events corresponding to changes to file management system objects synchronized across a plurality of endpoints; determine to synchronize one or more objects based at least in part on the one or more synchronization events comprised in the synchronization event stream and the one or more corresponding event sequence identifiers; and provide access to subsequently downloaded portions of data associated with the one or more objects determined to be synchronized in a manner determined based at least in part on the inferred user preference, wherein; the synchronization event stream further comprises an indication of an event type corresponding to the one or more synchronization events, a time associated with the one or more synchronization events, and a node associated with the one or more synchronization events corresponding to a change; and the one or more objects determined to be synchronized is further determined based at least in part on the event type, and the inferred user preference. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer program product to synchronize data, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
-
observing, by one or more processors associated with a terminal that communicates with a synchronization server, a user interaction associated with synchronization set data that has been synchronized based on synchronization events downloaded from the synchronization server configured to propagate changes via a synchronization event stream; using, by one or more processors, the observed user interaction to infer a user preference with respect to downloaded synchronization set data; obtaining, by one or more processors, the synchronization event stream, the synchronization event stream being provided by the synchronization server, the synchronization event stream comprising one or more synchronization events and one or more corresponding event sequence identifiers that identify the one or more synchronization events, and the one or more synchronization events corresponding to changes to file management system objects synchronized across a plurality of endpoints; determining, by one or more processors, to synchronize one or more objects based at least in part on the one or more synchronization events comprised in the synchronization event stream and the one or more corresponding event sequence identifiers; and providing, by one or more processors, access to subsequently downloaded portions of data associated with the one or more objects determined to be synchronized in a manner determined based at least in part on the inferred user preference, wherein; the synchronization event stream further comprises an indication of an event type corresponding to the one or more synchronization events, a time associated with the one or more synchronization events, and a node associated with the one or more synchronization events corresponding to a change; and the one or more objects determined to be synchronized is further determined based at least in part on the event type, and the inferred user preference. - View Dependent Claims (23, 24, 25)
-
Specification