Real-Time Collaboration in a Hosted Word Processor
Abstract
A computer-implemented method for coordinating documents between computer systems includes identifying, on a computing device, changes made by a user to a document having a model stored on the computing device, with corresponding models stored on a remote client and a server system; generating from the identified changes, one or more mutations that describe the changes and a one or more locations that correspond to positions in the model where the changes are to be provided; receiving one or more mutations from the server system and transforming the generated mutations using the received mutations; and updating the model stored on the computing device using the transformed mutations.
Claims
exact text as granted — not AI-modified1 . A computer-implemented method for coordinating documents between computer systems, the method comprising:
identifying, on a computing device, changes made by a user to a document having a model stored on the computing device, with corresponding models stored on a remote client and a remote server system; generating from the identified changes, one or more mutations that describe the changes and a one or more locations that correspond to positions in the model where the changes are to be provided; receiving one or more mutations from the server system and transforming the generated mutations using the received mutations; and updating the model stored on the computing device using the transformed mutations.
2 . The method of claim 1 , wherein the model stored on the computing device comprises a one-dimensional character string that includes content for the document, and a style map having pointers to indexed locations in the character string.
3 . The method of claim 1 , wherein updating the model comprises applying an updating rule set that is complementary to updating rules sets at the remote client and the remote server system.
4 . The method of claim 1 , further comprising periodically receiving a model reset signal and an updated model definition from the remote server system, and replacing a current model on the computing device with the updated model definition.
5 . The method of claim 1 , further comprising caching mutations at the computing device and, upon receiving one or more mutations form the server system, applying conflict resolution rules between the cached mutations and the received mutations.
6 . The method of claim 1 , further comprising rendering the updated model by generating a document object model (DOM) from the updated model.
7 . A computer-implemented system for coordinating electronic document changes between computer systems, comprising:
a document model stored on a first client computing device that defines content and formatting for an electronic document; a layout engine in communication with the document model and programmed to render the document model to a document object model (DOM) that is accessible to a web browser that is executable on the first client computing device; and a mutation resolver on the client computing device programmed to transform mutations made to the model on the first client computing device that have not been transmitted to a server system, using mutations sent to the first client computing device by the server system, and then applying the transformed mutations to the model on the first client computing device.
8 . The system of claim 7 , wherein the document model stored on the first client computing device comprises a one-dimensional character string that includes content for a document, and a style map having pointers to indexed locations in the character string.
9 . The system of claim 7 , wherein the first client computing device is programmed to update the model by applying an updating rule set that is complementary to updating rules sets at the remote client and the remote server system.
10 . The system of claim 7 , further comprising a server system programmed to periodically send to a plurality of remote computing devices, including the first client computing device, a model reset signal and an updated model definition for the computing devices to use in refreshing document models at each of the computing devices.
11 . The system of claim 7 , further comprising a mutation cache storing mutations waiting to be uploaded to a server system, and wherein the mutation resolver operates on mutations received from the server system by comparing them to mutations in the mutation cache.
12 . The system of claim 7 , wherein the first client computing device is programmed to render an updated model by generating a document object model (DOM) from an updated model.
13 . A computer-implemented system for coordinating electronic document changes between computer systems, comprising:
a document model stored on a first client computing device that defines content and formatting for an electronic document; a layout engine in communication with the document model and programmed to render the document model to a document object model (DOM) that is accessible to a web browser that is executable on the first client computing device; and means for resolving conflicting time-wise overlapping mutations made by the first client computing device and one or more other client computing devices.
14 . One or more tangible computer-readable media storing instructions that, when executed, cause one or more computers to perform operations comprising:
identifying, on a computing device, changes made by a user to a document having a model stored on the computing device, with corresponding models stored on a remote client and a remote server system; generating from the identified changes, one or more mutations that describe the changes and a one or more locations that correspond to positions in the model where the changes are to be provided; receiving one or more mutations from the server system and transforming the generated mutations using the received mutations; and updating the model stored on the computing device using the transformed mutations.
15 . The tangible computer-readable media of claim 14 , wherein the model stored on the computing device comprises a one-dimensional character string that includes content for the document, and a style map having pointers to indexed locations in the character string.
16 . The tangible computer-readable media of claim 14 , wherein updating the model comprises applying an updating rule set that is complementary to updating rules sets at the remote client and the remote server system.
17 . The tangible computer-readable media of claim 14 , wherein the operations further comprise periodically receiving a model reset signal and an updated model definition from the remote server system, and replacing a current model on the computing device with the updated model definition.
18 . The tangible computer-readable media of claim 14 , wherein the operations further comprise caching mutations at the computing device and, upon receiving one or more mutations form the server system, applying conflict resolution rules between the cached mutations and the received mutations.
19 . The tangible computer-readable media of claim 1 , wherein the operations further comprises rendering the updated model by generating a document object model (DOM) from the updated model.Join the waitlist — get patent alerts
Track US2011252312A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.