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;
wherein the update notification includes an update to a current version of text that is co-edited by clients;
determining at the client, when the client has a non-selected text change 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.
53 Citations
20 Claims
-
1. A computer-implemented method for resolving text change conflicts, comprising:
-
receiving at a client an update notification from a server;
wherein the update notification includes an update to a current version of text that is co-edited by clients;determining at the client, when the client has a non-selected text change 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 computer-readable storage medium having computer-executable instructions for resolving conflicts to co-edited text, the instructions comprising:
-
receiving at a server text changes to update a current version of text from clients; selecting a policy to determine what text change to select to first process;
wherein the selected text change is used to update the current version of the text;selecting the text change to process based on the selected policy; updating the current version of the text with the selected text change; sending an update notification to the clients reflecting the selected text change;
wherein the update notification is used by the clients in determining whether a conflict in text edits has occurred on the server and when to perform a conflict resolution procedure to update a pending text change. - View Dependent Claims (10, 11, 12, 13)
-
-
14. 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;
wherein the update notification includes an update to a current version of text that is co-edited by clients;determining when the client has a non-selected text change 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 (15, 16, 17, 18, 19, 20)
-
Specification