Collaborative document editing using state-based revision

US10936797B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10936797-B2
Application numberUS-201916419434-A
CountryUS
Kind codeB2
Filing dateMay 22, 2019
Priority dateOct 15, 2014
Publication dateMar 2, 2021
Grant dateMar 2, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

We claim: 1. A 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 of editing a document, the method comprising: producing at least one modification to an object associated with the document; creating a state-based revision, wherein the creating comprises: detecting whether content peripheral to 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 peripheral to the object; and sending the state-based revision to a computing device. 2. The system of claim 1 , wherein creating the state-based revision further comprises: creating a state-based revision container; and creating the header section and the body section within the state-based revision container. 3. The system of claim 1 , wherein the header section is further populated with an object type of the object and a descriptor identifying an object instance of the object. 4. The system of claim 3 , wherein the object type represents a data structure, a function, or a procedure used to manipulate the object. 5. The system of claim 1 , wherein, after the header section is populated, content of the populated header section is serialized into a data stream comprising the at least one modification. 6. The system of claim 1 , wherein, when the content peripheral to the object is detected, the content is replaced with the virtualized reference. 7. The system of claim 6 , wherein a mapping that maps the virtualized reference to the content is added to the header section. 8. The system of claim 1 , wherein the at least one modification corresponds to a deletion of the object, and a null object representing the at least one modification is added to the body section. 9. The system of claim 1 , wherein producing the document comprises editing a first local version of the document using an editing device while a first user of the editing device and a second user of the computing device are simultaneously accessing the document. 10. The system of claim 1 , wherein the computing device is an intermediate device for transferring a received state-based revision to a receiving device accessing the document. 11. A method of editing a document, the method comprising: producing, using a first computing device, at least one modification to an object associated with the document; creating a state-based revision based on the at least one modification, wherein the state-based revision comprises a header section and a body section; when content peripheral to the object is identified, replacing the content with a virtualized reference to the content peripheral to the object; populating the header section and the body section using the at least one modification and the virtualized reference; and sending the state-based revision to a second computing device. 12. The method of claim 11 , wherein, when the document is produced, the document is being accessed by a first user using the first computing device and a second user using the second computing device. 13. The method of claim 11 , wherein the state-based revision is created using a document collaboration system accessible to the first computing device and the second computing device. 14. The method of claim 13 , wherein the header section is object-independent such that the header section is capable of being processed by a common engine regardless of object types within the state-based revision. 15. The method of claim 14 , wherein the object-independent header section enables operational transform logic of the document collaboration system to scale based on a quantity of reference types in the document collaboration system. 16. The method of claim 11 , wherein populating the header section and the body section comprises serializing the at least one modification into an opaque binary stream. 17. The method of claim 11 , wherein replacing the content with the virtualized reference to the content comprises creating a mapping of the virtualized reference to the content. 18. The method of claim 11 , wherein the virtualized reference represents an immutable status of the object. 19. The method of claim 11 , wherein the virtualized reference is a virtual token providing a layer of indirection between an object state comprising the virtualized reference and the virtualized reference. 20. A method of editing a document, the method comprising: producing, using a first computing device, at least one modification to an object associated with the document; creating a state-based revision, wherein the creating comprises: detecting whether content peripheral to 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 peripheral to the object; and sending the state-based revision to a second computing device.

Assignees

Inventors

Classifications

  • Formatting, i.e. changing of presentation of documents (automatic justification G06F40/189; automatic line break hyphenation G06F40/191) · CPC title

  • G06F40/166Primary

    Editing, e.g. inserting or deleting · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10936797B2 cover?
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 …
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F40/166. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 02 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).