Real-Time Collaboration in a Hosted Word Processor
First Claim
1. 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.
0 Assignments
0 Petitions
Accused Products
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.
121 Citations
19 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 19)
-
-
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. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
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. - View Dependent Claims (15, 16, 17, 18)
-
Specification