Event-based synchronization in a file sharing environment
First Claim
Patent Images
1. A method of synchronizing data, comprising:
- receiving, by one or more processors associated with a synchronization server, from a first synchronization endpoint associated with a synchronization set an indication that data associated with a file or other object comprising the synchronization set has been changed;
creating, by the one or more processors associated with the synchronization server, and adding to a synchronization event stream that is accessible to one or more second endpoints associated with the synchronization set a synchronization event that reflects the change; and
propagating, by the one or more processors associated with the synchronization server, a change in the data associated with a file or other object comprising the synchronization set to the one or more second endpoints via one or more networks, the propagating the change comprising;
receiving, by the one or more processors associated with the synchronization server, a request for information associated with an update to the synchronization stream, wherein the request for information associated with an update to the synchronization stream is communicated to the synchronization server by the-one or more second endpoints; and
providing, by the one or more processors associated with the synchronization server, at least a part of the synchronization event stream to the one or more second endpoints in response to the request for information associated with an update to the synchronization stream, wherein the synchronization event stream is used in connection with a determination of whether the changed data can be merged with an existing synchronization event that is already present in the event stream.
11 Assignments
0 Petitions
Accused Products
Abstract
Techniques to synchronize data across a plurality of endpoints are disclosed. An indication that data associated with a file or other object included in a synchronization set has been changed is received from a first synchronization endpoint associated with the synchronization set. A synchronization event that reflects the change is created and added to a synchronization event stream that is accessible to a second endpoint associated with the synchronization set.
26 Citations
19 Claims
-
1. A method of synchronizing data, comprising:
-
receiving, by one or more processors associated with a synchronization server, from a first synchronization endpoint associated with a synchronization set an indication that data associated with a file or other object comprising the synchronization set has been changed; creating, by the one or more processors associated with the synchronization server, and adding to a synchronization event stream that is accessible to one or more second endpoints associated with the synchronization set a synchronization event that reflects the change; and propagating, by the one or more processors associated with the synchronization server, a change in the data associated with a file or other object comprising the synchronization set to the one or more second endpoints via one or more networks, the propagating the change comprising; receiving, by the one or more processors associated with the synchronization server, a request for information associated with an update to the synchronization stream, wherein the request for information associated with an update to the synchronization stream is communicated to the synchronization server by the-one or more second endpoints; and providing, by the one or more processors associated with the synchronization server, at least a part of the synchronization event stream to the one or more second endpoints in response to the request for information associated with an update to the synchronization stream, wherein the synchronization event stream is used in connection with a determination of whether the changed data can be merged with an existing synchronization event that is already present in the event stream. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system to synchronize data, comprising:
-
a communication interface; and one or more processors associated with a synchronization server coupled to the communication interface and configured to; receive from a first synchronization endpoint associated with a synchronization set, via the communication interface, an indication that data associated with a file or other object comprising the synchronization set has been changed; create and add to a synchronization event stream that is accessible to one or more second endpoints associated with the synchronization set a synchronization event that reflects the change; and propagate a change in the data associated with a file or other object comprising the synchronization set to the one or more second endpoints via one or more networks, wherein propagating the change comprises; receive a request for information associated with an update to the synchronization stream, wherein the request for information associated with an update to the synchronization stream is communicated to the synchronization server by the one or more second endpoints; and provide at least a part of the synchronization event stream to the one or more second endpoints in response to the request for information associated with an update to the synchronization stream, wherein the synchronization event stream is used in connection with a determination of whether the changed data can be merged with an existing synchronization event that is already present in the event stream. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. 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:
-
receiving, by a synchronization server, from a first synchronization endpoint associated with a synchronization set an indication that data associated with a file or other object comprising the synchronization set has been changed; creating, by the synchronization server, and adding to a synchronization event stream that is accessible to a second endpoint associated with the synchronization set a synchronization event that reflects the change; and propagating, by the synchronization server, a change in the data associated with a file or other object comprising the synchronization set to the one or more second endpoints via one or more networks, the propagating the change comprising; receiving, by the synchronization server, a request for information associated with an update to the synchronization stream, wherein the request for information associated with an update to the synchronization stream is communicated to the synchronization server by the one or more second endpoints; and providing, by the synchronization server, at least a part of the synchronization event stream to the second endpoint in response to the request for information associated with an update to the synchronization stream, wherein the synchronization event stream is used in connection with a determination of whether the changed data can be merged with an existing synchronization event that is already present in the event stream.
-
Specification