发明名称 Realtime synchronized document editing by multiple users
摘要 Collaborative editing of electronic documents in realtime is provided. A host serves a client code over a network to a plurality of clients that each employ a browser to run the client code. The client code revises the text document locally in response to user input, frequently sends those edits to the host, receives updates from the other clients via the host, and revises the local text document accordingly. Each client, in some embodiments, stores three variables, one for edits not yet reported to the host, one for edits reported by not yet acknowledged, and one for the text document as modified by the acknowledged edits. Updates from the other clients are applied to the three variables according to certain rules. A composition of the three variables yields a version of the text document. The host keeps records of which edits were introduced by which client.
申请公布号 US9218102(B1) 申请公布日期 2015.12.22
申请号 US201414156575 申请日期 2014.01.16
申请人 Google Inc. 发明人 Greenspan David;Iba Aaron;Zamfirescu-Pereira John Dalbert
分类号 G06Q10/10;G06F3/0481 主分类号 G06Q10/10
代理机构 Ropes & Gray LLP 代理人 Ropes & Gray LLP
主权项 1. A method comprising: storing a document as an ordered set of revision records; receiving, from a first client, a representation of a first changeset specifying one or more changes relative to a first version of the document; receiving, from a second client, a representation of a second changeset specifying one or more changes relative to the first version of the document; identifying a revision record for the document, wherein the revision record corresponds to one or more changes that were made to the document prior to receiving the representation of the first changeset and the representation of the second changeset; generating a third changeset based on a merge of the first changeset and the second changeset, and the revision record; adding a new revision record that includes the third changeset to an end of the ordered set of revision records; computing a first follows changeset from the first changeset and the second changeset; computing a second follows changeset, different from the first follows changeset, from the first changeset and the second changeset; transmitting the first follows changeset to the first client; and transmitting the second follows changeset to the second client; wherein a second version of the document is determined by applying the first and second follows changesets at the first and second clients respectively.
地址 Mountain View CA US