Collaborative document editing using state-based revision
First Claim
1. A computer-implemented method of performing state-based revisions, the method comprising:
- editing a document comprising a set of objects, wherein editing the document produces at least one modification to an object in the set of objects;
creating a state-based revision comprising information identifying an object type for the object, a unique descriptor identifying the object, and the at least one modification, wherein creating the state-based revision comprises serializing the at least one modification into a data stream, wherein the serializing comprises detecting whether content peripheral to the state of the object is present, wherein, when the content is detected, the content is replaced with a reference that is at least one of a unique identifier and a virtualized token; and
sending the state-based revision to a second computing device without sending the document to the second computing device.
2 Assignments
0 Petitions
Accused Products
Abstract
The present disclosure provides methods, systems, and computer products for providing state-based revisions in a document collaboration system. In some aspects, a plurality of users may be simultaneously editing the same document on their respective computing devices. The document may comprise a plurality of editable objects having unique objects identifiers. In such aspects, when a user edits an object in a local version of the document, a state-based revision (“SBR”) record is created. The SBR is populated with information such as, information describing the type of object being edited, a descriptor that uniquely identifies the specific instance of the object being edited, a collection of common references that can be adjusted by the document collaboration engine and an opaque binary stream comprising the modified state of the edited object. The SBR record is then transmitted to one or more additional devices.
-
Citations
20 Claims
-
1. A computer-implemented method of performing state-based revisions, the method comprising:
-
editing a document comprising a set of objects, wherein editing the document produces at least one modification to an object in the set of objects; creating a state-based revision comprising information identifying an object type for the object, a unique descriptor identifying the object, and the at least one modification, wherein creating the state-based revision comprises serializing the at least one modification into a data stream, wherein the serializing comprises detecting whether content peripheral to the state of the object is present, wherein, when the content is detected, the content is replaced with a reference that is at least one of a unique identifier and a virtualized token; and sending the state-based revision to a second computing device without sending the document to the second computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A hardware device storing computer executable instructions that when executed cause a computing system to produce a state-based revision record associated with an object, wherein the state-based revision record comprises:
-
a generalized header section, wherein the generalized header section is object independent, and comprises; information identifying an object type for the object; and at least one virtualized reference to a portion of the object; and a body section, wherein the body section comprises a modification to the object; wherein producing the state-based revision comprises serializing the modification into a data stream, the serializing comprising; determining whether content peripheral to a state of the object is present and when content peripheral to the state of the object is determined to be present, replacing the content with the at least one virtualized reference. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A document collaboration system for performing state-based revisions, the document collaboration system comprising:
-
a processor; and memory coupled to the processor, the memory comprising computer executable instructions that, when executed by the processor performs a method comprising; editing a document, wherein editing the document produces at least one modification to an object associated with the document; creating a state-based revision, wherein the creating comprises; serializing the at least one modification into a data stream, wherein the serializing comprises detecting whether content peripheral to the state of the object is present; and populating a header section and a body section of the state-based revision using the at least one modification and a virtualized reference to the content and sending the state-based revision to a computing device without sending the document to the computing device. - View Dependent Claims (17, 18, 19, 20)
-
Specification