File-backed in-memory structured storage for service synchronization
First Claim
1. A hardware storage device having stored computer-executable instructions which, are executable by at least one hardware processor of a computing system having a non-volatile file system and memory for implementing the following:
- downloading a batch of changes in a heterogeneous batch, wherein the batch of changes is correlated to an anchor affiliated with a synchronization service,wherein the anchor, which is received from the synchronization service, is a reference point indicating time or relative order;
serializing the batch of changes and the anchor to a non-volatile storage medium as a heterogeneous set, such that the batch of changes, which includes a plurality of changes to a plurality of different entity types is stored as a single file in the non-volatile file system;
after serializing the batch of changes to a non-volatile storage medium as a heterogeneous set, parsing out entities in the batch of changes into a plurality of different homogeneous collections of entities by entity type, such that different entity types are grouped together into different collections;
storing the different entity types as separate collections as in-memory representations, such that the different entities in the batch of changes that are received from the synchronization service are maintained as in-memory representations that are separated by entity type as well as within a file in the file system that is associated with the anchor and that includes a grouping of heterogeneous entity changes;
detecting modification to a plurality of data entities and storing on the non-volatile storage medium a serialized heterogeneous representation of the modified data entities in a local change file that excludes the anchor;
uploading the serialized heterogeneous representation included in the local change file to the synchronization service; and
receiving an upload response from the synchronization service, wherein the upload response comprises a corresponding new anchor.
2 Assignments
0 Petitions
Accused Products
Abstract
Providing synchronization to a local system. Embodiments may include downloading a batch of changes in a heterogeneous batch. The batch of changes is correlated to an anchor affiliated with a synchronization service. The anchor is a reference point indicating time or relative order. The batch of changes and the anchor are serialized to a non-volatile storage medium as a heterogeneous set. After serializing the batch of changes to a non-volatile storage medium as a heterogeneous set, entities in the batch of changes are parsed out into entities in in-memory representations. Similarly, embodiments may receive user input modifying a plurality of data entities, store on a non-volatile storage medium a serialized heterogeneous representation of the modified data entities, and upload the serialized heterogeneous representation to a synchronization service.
-
Citations
20 Claims
-
1. A hardware storage device having stored computer-executable instructions which, are executable by at least one hardware processor of a computing system having a non-volatile file system and memory for implementing the following:
-
downloading a batch of changes in a heterogeneous batch, wherein the batch of changes is correlated to an anchor affiliated with a synchronization service, wherein the anchor, which is received from the synchronization service, is a reference point indicating time or relative order; serializing the batch of changes and the anchor to a non-volatile storage medium as a heterogeneous set, such that the batch of changes, which includes a plurality of changes to a plurality of different entity types is stored as a single file in the non-volatile file system; after serializing the batch of changes to a non-volatile storage medium as a heterogeneous set, parsing out entities in the batch of changes into a plurality of different homogeneous collections of entities by entity type, such that different entity types are grouped together into different collections; storing the different entity types as separate collections as in-memory representations, such that the different entities in the batch of changes that are received from the synchronization service are maintained as in-memory representations that are separated by entity type as well as within a file in the file system that is associated with the anchor and that includes a grouping of heterogeneous entity changes; detecting modification to a plurality of data entities and storing on the non-volatile storage medium a serialized heterogeneous representation of the modified data entities in a local change file that excludes the anchor; uploading the serialized heterogeneous representation included in the local change file to the synchronization service; and receiving an upload response from the synchronization service, wherein the upload response comprises a corresponding new anchor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computing system comprising:
-
at least one processor; and memory having stored computer-executable instructions which, when executed by the at least one processor, implement a method of providing synchronization, the method comprising; downloading a batch of changes in a heterogeneous batch, wherein the batch of changes is correlated to an anchor affiliated with a synchronization service, wherein the anchor, which is received from the synchronization service, is a reference point indicating time or relative order; serializing the batch of changes and the anchor to a non-volatile storage medium as a heterogeneous set, such that the batch of changes, which includes a plurality of changes to a plurality of different entity types is stored as a single file in the non-volatile file system; after serializing the batch of changes to a non-volatile storage medium as a heterogeneous set, parsing out entities in the batch of changes into a plurality of different homogeneous collections of entities by entity type, such that different entity types are grouped together into different collections; storing the different entity types as separate collections as in-memory representations, such that the different entities in the batch of changes that are received from the synchronization service are maintained as in-memory representations that are separated by entity type as well as within a file in the file system that is associated with the anchor and that includes a grouping of heterogeneous entity changes; detecting modification to a plurality of data entities and storing on the non-volatile storage medium a serialized heterogeneous representation of the modified data entities in a local change file that excludes the anchor; uploading the serialized heterogeneous representation included in the local change file to the synchronization service; and receiving an upload response from the synchronization service, wherein the upload response comprises a corresponding new anchor. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A computer-implemented method of providing synchronization to a local computing system, the method comprising:
-
downloading a batch of changes in a heterogeneous batch, wherein the batch of changes is correlated to an anchor affiliated with a synchronization service, wherein the anchor, which is received from the synchronization service, is a reference point indicating time or relative order; serializing the batch of changes and the anchor to a non-volatile storage medium as a heterogeneous set, such that the batch of changes, which includes a plurality of changes to a plurality of different entity types is stored as a single file in the non-volatile file system; after serializing the batch of changes to a non-volatile storage medium as a heterogeneous set, parsing out entities in the batch of changes into a plurality of different homogeneous collections of entities by entity type, such that different entity types are grouped together into different collections; storing the different entity types as separate collections as in-memory representations, such that the different entities in the batch of changes that are received from the synchronization service are maintained as in-memory representations that are separated by entity type as well as within a file in the file system that is associated with the anchor and that includes a grouping of heterogeneous entity changes; detecting modification to a plurality of data entities and storing on the non-volatile storage medium a serialized heterogeneous representation of the modified data entities in a local change file that excludes the anchor; uploading the serialized heterogeneous representation included in the local change file to the synchronization service; and receiving an upload response from the synchronization service, wherein the upload response comprises a corresponding new anchor. - View Dependent Claims (18, 19, 20)
-
Specification