Multi-master text synchronization using deltas
First Claim
1. A computer-implemented method for resolving text change conflicts, comprising:
- receiving at a client an update notification from a server that includes an update to a current version of text that is co-edited by clients, wherein the server selects a text change from text changes received from one or more of the clients that is used to update the current version of the text;
determining at the client, when the client has a non-selected text change to update the current version of the text that was sent to the server but not selected by the server to update the current version of the text;
initiating a conflict resolution procedure on the client to create an updated text change to reflect the updated current version of the text and the non-selected text change; and
submitting the updated text change to the server to update the current version of the text.
2 Assignments
0 Petitions
Accused Products
Abstract
A server enforces a policy for selecting what received change to process. The non-selected changes are not processed by the server. Instead, after the selected change is processed and is incorporated into the current version of the text, the server sends an update to each of the clients indicating the change made to the current version of text. A client performs a conflict resolution procedure when its change was not processed by the server. The conflict resolution procedure detects the differences between the updated text version and its text change that was not accepted by the server and uses the differences to deduce the intent of the user and come up with a merged version of the text which preserves the intent and avoids data loss. The updated version is then sent back to the server to update the current version of the text.
22 Citations
20 Claims
-
1. A computer-implemented method for resolving text change conflicts, comprising:
-
receiving at a client an update notification from a server that includes an update to a current version of text that is co-edited by clients, wherein the server selects a text change from text changes received from one or more of the clients that is used to update the current version of the text; determining at the client, when the client has a non-selected text change to update the current version of the text that was sent to the server but not selected by the server to update the current version of the text; initiating a conflict resolution procedure on the client to create an updated text change to reflect the updated current version of the text and the non-selected text change; and submitting the updated text change to the server to update the current version of the text. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A client apparatus for handling conflicts to co-edited text, comprising:
-
a processor and a computer-readable storage medium; an operating environment stored on the computer-readable storage medium and executing on the processor; a display; and a text manager operating under the control of the operating environment and operative to perform actions, including; receiving an update notification from a server;
that includes an update to a current version of text that is co-edited by clients, wherein the server selects a text change from text changes received from one or more of the clients that is used to update the current version of the text;determining when the client has a non-selected text change to update the current version of the text that was sent to the server but not selected by the server to update the current version of the text; initiating a conflict resolution procedure on the client to create an updated text change to reflect the updated current version of the text and the non-selected text change; and submitting the updated text change to the server to update the current version of the text. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A computer-readable storage medium, excluding a signal, having computer-executable instructions for resolving text change conflicts, comprising:
-
receiving at a client an update notification from a server that includes an update to a current version of text that is co-edited by clients, wherein the server selects a text change from text changes received from one or more of the clients that is used to update the current version of the text; determining at the client, when the client has a non-selected text change to update the current version of the text that was sent to the server but not selected by the server to update the current version of the text; initiating a conflict resolution procedure on the client to create an updated text change to reflect the updated current version of the text and the non-selected text change; and submitting the updated text change to the server to update the current version of the text. - View Dependent Claims (17, 18, 19, 20)
-
Specification