Method and apparatus for maintaining consistency of a shared space across multiple endpoints in a peer-to-peer collaborative computer system
2 Assignments
0 Petitions
Accused Products
Abstract
In a peer-to-peer collaboration system, deltas containing data change commands are organized in a persistent data structure called a delta log. The delta log is organized into blocks, which are the largest division in the delta log. In turn, blocks contain groups, groups contain chains and chains contain deltas. Delta blocks are used to implement priority deltas that are used to limit the collection of data change commands that must be transferred. Within a block the deltas are organized by groups, each of which is a set of deltas organized into chains. The delta group in used to determine which deltas to purge. The chains are ordered by increasing creator ID of the endpoint that created the chain. Organizing the delta log in this fashion allows the log to be “walked” to detect convergence problems. To achieve causality-preservation, each delta has a list of dependencies representing other deltas that must be executed before the current delta can be executed. The dynamics manager uses the ability to do (execute) and undo commands to perform roll back and roll forward operations on deltas in order to achieve convergence.
-
Citations
71 Claims
-
1-54. -54. (canceled)
-
55. Apparatus for maintaining consistency of a shared space across multiple endpoints in a collaborative computer system wherein each endpoint has a local data copy and endpoints transmit data change commands to each other in order to update the local data copies, the apparatus comprising:
-
a first tool in one endpoint that is responsive to user actions at the endpoint for creating a first delta container to transmit data change commands to other endpoints and for adding data change commands to the first delta container;
a second tool in the one endpoint that is called by the first tool to add data change commands to the first delta container; and
means in the second tool for creating a second delta container, adding the second delta container to the first delta container and adding data change commands to the second delta container. - View Dependent Claims (56, 57, 58, 59, 64)
-
-
60. A method for maintaining consistency of a shared space across multiple endpoints in a collaborative computer system wherein each endpoint has a local data copy and endpoints transmit data change commands to each other in order to update the local data copies, the method comprising:
-
(a) using a first tool to create a first delta container in response to user actions at one endpoint to transmit data change commands to other endpoints;
(b) using the first tool to add data change commands to the first delta container;
(c) calling a second tool in the one endpoint with the first tool to add data change commands to the first delta container;
(d) creating a second delta container with the second tool; and
(e) using the second tool to add the second delta container to the first delta container and to add data change commands to the second delta container. - View Dependent Claims (61, 62, 63)
-
-
65. Apparatus for maintaining consistency of a shared space across multiple endpoints in a collaborative computer system wherein each endpoint has a local data copy and endpoints transmit data change commands contained in delta containers to each other in order to update the local data copies, the apparatus comprising:
-
a data change engine in one endpoint for executing the data change commands in a first delta container, for generating undo information in order to reverse the effects of the data change commands and for storing the undo information in the first data change container;
means in the data change engine and responsive to the execution of a selected data change command for creating a second delta container in the one endpoint and for adding data change commands to the second delta container. - View Dependent Claims (66, 67)
-
-
68. A method for maintaining consistency of a shared space across multiple endpoints in a collaborative computer system wherein each endpoint has a local data copy and endpoints transmit data change commands contained in delta containers to each other in order to update the local data copies, the method comprising:
-
(a) executing the data change commands in a first delta container, generating undo information in order to reverse the effects of the data change commands and storing the undo information in the first data change container;
(b) responsive to the execution of a selected data change command, creating a second delta container in the one endpoint; and
(c) adding data change commands to the second delta container. - View Dependent Claims (69, 70)
-
-
71-78. -78. (canceled)
Specification