Method and system for concurrent collaborative undo operations in computer application software
AssigneeLiveLoop, Inc.
InventorsDavid Lee Nelson, Erin Rebecca Rhode, Adam Davis Kraft, Amal Kumar Dorai
Life of this patent
Estimating the term…
Abstract
Multi-user real-time collaborative software applications may synchronize data between multiple users or multiple devices. Current aspects describe a method and system for enabling undo operations in collaborative software applications where not all possible actions adhere to the operational transformation properties. Certain aspects herein operate in the absence of the so-called Inverse Property 2 (IP2).
Claims18
A method for implementing an undo operation in a collaborative editing environment comprising the steps of:
- receiving an undo request from a first user to perform an undo operation of a most recently performed do operation entered by the first user on a first user document version of a base document, wherein the base document is concurrently being edited by a non-first user via a non-first user version of the base document in a collaborative editing environment;
- recursively condensing all non-first user operations occurring to the base document through the collaborative editing environment that are intermediate the most recently performed do operation and the undo request in a sequentially ordered stack of operations relative to the base document to create a condensed server operation;
- and
- applying, at the first user document version of the base document, an inverted version of the most recently performed user do operation to undo the most recently performed user do operation prior to executing the condensed server operation.
A method for implementing a redo operation in a collaborative editing environment comprising the steps of:
- receiving a redo request from a first user to perform a redo operation of a most recently performed undo operation entered by the first user on a first user document version of the base document, wherein the base document is concurrently being edited by a non-first user via a non-first user version of the base document in a collaborative editing environment;
- recursively condensing all non-first user operations occurring to the base document through the collaborative editing environment that are intermediate the most recently performed undo operation and the undo request in a sequentially order stack of operations relative to the base document to create a condensed server operation;
- and
- applying, at the first user document version of the base document, an inverted version of the most recently performed user undo operation to redo the most recently performed user undo operation prior to executing the condensed server operation.
A client device for implementing an undo operation in a collaborative editing environment comprising:
- a memory;
- one or more processors configured to execute instructions stored in the memory, the instructions comprising:
- receiving an undo request from a first user to perform an undo operation of a most recently performed do operation entered by the first user on a first user document version of a base document, wherein the base document is concurrently being edited by a non-first user via a non-first user version of the base document in a collaborative editing environment,
- recursively condensing all non-first user operations occurring to the base document through the collaborative editing environment that are intermediate the most recently performed do operation and the undo request in a sequentially ordered stack of operations relative to the base document to create a condensed server operation;
- and
- applying, at the first user document version of the base document, an inverted version of the most recently performed user do operation to undo the most recently performed user do operation prior to executing the condensed server operation.
Dependencies are inferred from the claim text.