System and method for convergent document collaboration

US10331776B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10331776-B2
Application numberUS-201715411237-A
CountryUS
Kind codeB2
Filing dateJan 20, 2017
Priority dateApr 30, 2015
Publication dateJun 25, 2019
Grant dateJun 25, 2019

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.

A computing device includes a processor that carries out actions comprising: storing a causal tree structure corresponding to a document, where the causal tree structure includes a sequence of editing instructions and each editing instruction is assigned an identifier unique to such editing instruction. The method further includes receiving a user editing instruction for the document, where the user editing instruction is assigned an identifier unique to the user editing instruction. The method includes storing the user editing instruction and the identifier assigned to the user editing instruction as an additional node to the causal tree structure. The method further includes broadcasting, to a plurality of client devices, the user editing instruction and the identifier assigned to the user editing instruction.

First claim

Opening claim text (preview).

What is claimed is: 1. A method implemented on a client device, the method comprising: receiving, from a server, at least a portion of a causal tree structure corresponding to a document, wherein the causal tree structure comprises a sequence of nodes, and each node comprises an editing instruction and an identifier unique to such editing instruction; storing the portion of the causal tree structure; receiving a user editing instruction for the document; assigning, using a processor of the client device, an identifier to the user editing instruction; transmitting, to the server, the user editing instruction and the identifier assigned to the user editing instruction; receiving, from the server, another user editing instruction for the document and an identifier assigned to the other user editing instruction, wherein the user editing instruction and the other user editing instruction share a cause identifier, and the cause identifier is an identifier of a prior editing instruction in the causal tree structure that precedes both the user editing instruction and the other user editing instruction; storing the user editing instruction and the received other user editing instruction as additional nodes to the portion of the causal tree structure; and rendering the user editing instruction and the received other user instruction, wherein assigning the identifier to the user editing instruction comprises assigning a site identifier unique to the user's editing session on the client device, and assigning a stamp, which is a numeric value based on identifiers assigned to editing instructions in the causal tree structure stored on the server. 2. The method of claim 1 , further comprising composing the document by traversing identifiers of the nodes in the portion of the causal tree structure in a sequential order. 3. The method of claim 1 , wherein the user editing instruction comprises an instruction to modify a series of consecutive data in the document. 4. The method of claim 1 , wherein each editing instruction in the nodes of the causal tree structure comprises at least one instruction selected from the group consisting of a modification of a value, a modification of metadata, a link to another node of the causal tree structure, a link to a node in another causal tree structure corresponding to another document, a link to another causal tree structure, and a link to data residing outside the causal tree structure. 5. A method implemented on a client device, the method comprising: receiving, from a server, at least a portion of a causal tree structure corresponding to a document, wherein the causal tree structure comprises a sequence of nodes, and each node comprises an editing instruction and an identifier unique to such editing instruction; storing the portion of the causal tree structure; receiving a user editing instruction for the document; assigning, using a processor of the client device, an identifier to the user editing instruction; transmitting, to the server, the user editing instruction and the identifier assigned to the user editing instruction; receiving, from the server, another user editing instruction for the document and an identifier assigned to the other user editing instruction, wherein the user editing instruction and the other user editing instruction share a cause identifier, and the cause identifier is an identifier of a prior editing instruction in the causal tree structure that precedes both the user editing instruction and the other user editing instruction; storing the user editing instruction and the received other user editing instruction as additional nodes to the portion of the causal tree structure; rendering the user editing instruction and the received other user instruction; receiving a next user editing instruction; and assigning an identifier to the next user editing instruction based on the identifier assigned to the user editing instruction and the identifier assigned to the other user editing instruction. 6. The method of claim 5 , further comprising composing the document by traversing identifiers of the nodes in the portion of the causal tree structure in a sequential order. 7. The method of claim 5 , wherein the user editing instruction comprises an instruction to modify a series of consecutive data in the document. 8. The method of claim 5 , wherein each editing instruction in the nodes of the causal tree structure comprises at least one instruction selected from the group consisting of a modification of a value, a modification of metadata, a link to another node of the causal tree structure, a link to a node in another causal tree structure corresponding to another document, a link to another causal tree structure, and a link to data residing outside the causal tree structure. 9. A method implemented on a server, the method comprising: storing, on a database of the server, a causal tree structure corresponding to a document, wherein the causal tree structure comprises a sequence of nodes, and each node comprises an editing instruction and an identifier unique to such editing instruction; receiving, at the server, a first user editing instruction transmitted by a first client device and a second user editing instruction transmitted by a second client device, wherein the first user editing instruction is assigned a first identifier and a first time stamp, the second user editing instruction is assigned a second identifier and a time stamp, and the first user editing instruction and the second user editing instruction are assigned the same cause identifier, which is an identifier of a prior editing instruction in the causal tree structure that precedes both the first user editing instruction and the second user editing instruction; comparing the first time stamp and the second time stamp; if the first time stamp has an earlier time than the second time stamp, processing the first user editing instruction before processing the second user editing instruction; if the first time stamp has a later time than the second time stamp, processing the second user editing instruction before processing the first user editing instruction; and storing the first user editing instruction as a first additional node to the causal tree structure, and storing the second user editing instruction as a second additional node to the causal tree structure. 10. The method of claim 9 , further comprising: transmitting, to the first client device, the second additional node to render changes to the document corresponding to the first user editing instruction and the second user editing instruction; and transmitting, to the second client device, the first additional node, to render changes to the document corresponding to the first user editing instruction and the second user editing instruction. 11. The method of claim 9 , wherein: the first identifier comprises a first site identifier unique to a first user's editing session on the first client device, and a first stamp, which is a numeric value based on identifiers assigned to editing instructions in the causal tree structure; and the second identifier comprises a second site identifier unique to a second user's editing session on the second client device, and a second stamp, which is a numeric value based on identifiers assigned to editing instructions in the causal tree structure. 12. The method of claim 9 , wherein each editing instruction in the nodes of the causal tree structure comprises at least one instruction selected from the group consisting of a modification of a value, a modification of metadata, a link to another node of the causal tree structure, a link to a no

Assignees

Inventors

Classifications

  • Tree-structured documents (parsing G06F40/205; validation G06F40/226) · CPC title

  • Document management systems · CPC title

  • Workflow collaboration or project management · CPC title

  • Hyperlinking · CPC title

  • Trees · 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 US10331776B2 cover?
A computing device includes a processor that carries out actions comprising: storing a causal tree structure corresponding to a document, where the causal tree structure includes a sequence of editing instructions and each editing instruction is assigned an identifier unique to such editing instruction. The method further includes receiving a user editing instruction for the document, where the…
Who is the assignee on this patent?
Workiva Inc
What technology area does this patent fall under?
Primary CPC classification G06Q10/10. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 25 2019 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).