Method and system for synchronizing multiple user revisions to a shared object
First Claim
1. A computer-implemented method for synchronizing multiple user revisions to a shared object, comprising:
- accessing a shared object on a server to form an asynchronous server communication mode between a client device and the server;
determining a location of a manifest file for the shared object based on a unique location identifier in the accessed shared object;
obtaining the manifest file on the client device based on the unique location identifier in the accessed shared object, wherein the manifest file includes a network location identifier for concurrently accessed versions of the shared object in a synchronous peer communication mode that provides real-time communication;
based on the obtained manifest file, automatically and seamlessly transitioning from the asynchronous server communication to the synchronous peer communication mode to form the synchronous peer communication mode with the concurrently accessed versions of the shared object identified in the manifest file that includes the network location identified for each concurrently accessed versions of the shared object;
receiving a revision to the shared object on the client device, wherein the revision is updated with a revision timestamp and a revision identifier;
updating the concurrently accessed versions of the shared object by;
accessing the manifest file from the unique location identifier stored with the shared object, wherein each concurrently accessed version is located based on the network location identifiers in the manifest file;
determining whether the revision conflicts with a master page of the shared object;
synchronizing the revision with the master page to cause synchronization of the revision to each of the concurrently accessed versions; and
updating each of the concurrently accessed versions to include the revision timestamp and the revision identifier.
2 Assignments
0 Petitions
Accused Products
Abstract
Many different users may access, revise and update the same shared object simultaneously through several different transports. Revisions to the shared object are automatically synchronized such that all users can view the revisions to the shared object. Conflicting revisions are reconciled and merged into a current version of the shared object. A client may request the current version of the shared object from a store when the current version of the shared object is not available from the store. The current version of the shared object is synchronized with the client when the store receives the current version of the share object.
80 Citations
20 Claims
-
1. A computer-implemented method for synchronizing multiple user revisions to a shared object, comprising:
-
accessing a shared object on a server to form an asynchronous server communication mode between a client device and the server; determining a location of a manifest file for the shared object based on a unique location identifier in the accessed shared object; obtaining the manifest file on the client device based on the unique location identifier in the accessed shared object, wherein the manifest file includes a network location identifier for concurrently accessed versions of the shared object in a synchronous peer communication mode that provides real-time communication; based on the obtained manifest file, automatically and seamlessly transitioning from the asynchronous server communication to the synchronous peer communication mode to form the synchronous peer communication mode with the concurrently accessed versions of the shared object identified in the manifest file that includes the network location identified for each concurrently accessed versions of the shared object; receiving a revision to the shared object on the client device, wherein the revision is updated with a revision timestamp and a revision identifier; updating the concurrently accessed versions of the shared object by; accessing the manifest file from the unique location identifier stored with the shared object, wherein each concurrently accessed version is located based on the network location identifiers in the manifest file; determining whether the revision conflicts with a master page of the shared object; synchronizing the revision with the master page to cause synchronization of the revision to each of the concurrently accessed versions; and updating each of the concurrently accessed versions to include the revision timestamp and the revision identifier. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-readable storage medium having computer-executable instructions for synchronizing multiple user revisions to a shared object, comprising:
-
accessing a shared object on a server to form an asynchronous server communication mode between a client device and the server; determining a location of a manifest file for the shared object based on a unique location identifier in the accessed shared object; obtaining the manifest file on the client device based on the unique location identifier in the accessed shared object, wherein the manifest file includes a network location identifier for concurrently accessed versions of the shared object in a synchronous peer communication mode that provides real-time communication; based on the obtained manifest file, automatically and seamlessly transitioning from the asynchronous server communication to the synchronous peer communication mode to form the synchronous peer communication mode with the concurrently accessed versions of the shared object identified in the manifest file that includes the network location identified for each concurrently accessed versions of the shared object; receiving a revision to the shared object on the client device, wherein the revised portion of the shared object is indicated with a revision timestamp and a revision identifier to distinguish the revised portion of the shared object from unrevised portions of the shared object; updating the concurrently accessed versions of the shared object by; accessing the manifest file from the unique location identifier stored with the shared object, wherein each concurrently accessed version is located based on the network location identifiers in the manifest file; determining whether the revision conflicts with a master page of the shared object; synchronizing the revision with the master page to cause synchronization of the revision to each of the concurrently accessed versions; and updating each of the concurrently accessed versions to include the revision timestamp and the revision identifier. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A system for synchronizing multiple accessed versions of a shared object, the system comprising:
-
a processor; and a memory having computer executable instructions stored thereon, wherein the computer executable instructions are configured for; receiving a selection of a shared object from a first computing device in a network to form an asynchronous server communication mode between the first computing device and the server, wherein the shared object includes a shared object hierarchy of shared object nodes that comprise the shared object, wherein the selection of the shared object causes generation of a first accessed version of the shared object on the first computing device, wherein the first accessed version includes a first accessed version hierarchy of first accessed version nodes that comprise the first accessed version; identifying a unique location identifier of the shared object, wherein the unique location identifier of the shared object indicates a location of a stored manifest file; based on the unique location identifier of the shared object, retrieving the manifest file from the stored location, wherein the manifest file includes network location identifiers that indicate the stored location of a second accessed version of the shared object within the network; based on the obtained manifest file, automatically and seamlessly transitioning from the asynchronous server communication to a synchronous peer communication mode to form the synchronous peer communication mode with the network location of the second accessed version of the shared object within the network; receiving a revision to the first accessed version of the shared object on the first computing device; determining first accessed version nodes of the first accessed version hierarchy affected by the revision; assigning a first revision identifier and a first revision time stamp to the determined first accessed version nodes affected by the revision; based on the manifest file that indicates the network location identifiers that indicate the stored location of the second accessed version of the shared object within the network, retrieving second accessed version nodes affected by a second revision, wherein the second accessed version nodes include a second revision identifier and a second revision time stamp; based on the retrieved second accessed version nodes affected by the second revision, comparing the first revision identifier and the first revision time stamp to the second revision identifier and the second revision timestamp; when a conflict does not occur based on the comparison, synchronizing the stored object, the first accessed version and the second accessed version to include the first and second revisions, and updating the shared object nodes of the shared object hierarchy with the each of the revision identifiers and each of the revision time stamps; when a conflict does occur based on the comparison, performing conflict resolution, synchronizing the stored object, the first accessed version and the second accessed version to include revisions of the conflict resolution, and updating the shared object nodes of the shared object hierarchy with a revision identifier and a revision time stamp of the conflict resolution. - View Dependent Claims (17, 18, 19, 20)
-
Specification