Method of replicating data at a field level
First Claim
1. In a distributed computing environment in which each of two documents contains data arranged in a plurality of fields, at least some of the fields of one of the documents corresponding to at least some of the fields of the other of the documents, and at least two fields in each document being revisable, a method for replicating data contained in one of the documents to the other of the documents by replicating only the field or fields which have been revised, the method comprising:
- dynamically maintaining a document sequence number for each of the documents representing the number of revisions made to each of the documents using m bits to represent each document sequence number;
dynamically maintaining a field sequence number for each of the revisable fields using n bits to represent each field sequence number, wherein n is less than m;
when a replication is to be made, determining which of the documents is more recently revised;
determining which one or more fields in the more recently revised document are more recently revised than the corresponding one or more fields in the other of the documents based on some or all of the field sequence numbers and document sequence numbers; and
replicating the data contained in each more recently revised field to the corresponding field in the other of the documents.
2 Assignments
0 Petitions
Accused Products
Abstract
In a distributed computing system in which replicas of a document are separately stored and revised, the document containing data arranged in a number of fields, a method for replicating data contained in a revised document replica to the other of the replicas by replicating only the field or fields which have been revised since an earlier replication. The method includes the steps of dynamically maintaining a two byte document sequence number for each of the document replicas representing the number of revisions made to the replicas, and dynamically maintaining a one byte field sequence number for each of the fields in the replicas. The field sequence numbers for revised fields are set equal to the lower byte of the current document sequence number. When a replication is desired, the method involves determining which of the document replicas is more recently revised, determining which of the fields in the more recently revised replica are more recently revised than the corresponding fields in the other replica based on some or all of the field and document sequence numbers, and replicating only the data contained in each more recently revised fields to the corresponding fields in the other replica. The system can handle document sequence numbers greater than 256, in which field sequence numbers can no longer be accurately represented by one byte, by artificially incrementing field sequence numbers for unrevised fields and interpreting all field sequence numbers as having a value within 256 of the document sequence number.
-
Citations
25 Claims
-
1. In a distributed computing environment in which each of two documents contains data arranged in a plurality of fields, at least some of the fields of one of the documents corresponding to at least some of the fields of the other of the documents, and at least two fields in each document being revisable, a method for replicating data contained in one of the documents to the other of the documents by replicating only the field or fields which have been revised, the method comprising:
-
dynamically maintaining a document sequence number for each of the documents representing the number of revisions made to each of the documents using m bits to represent each document sequence number; dynamically maintaining a field sequence number for each of the revisable fields using n bits to represent each field sequence number, wherein n is less than m; when a replication is to be made, determining which of the documents is more recently revised; determining which one or more fields in the more recently revised document are more recently revised than the corresponding one or more fields in the other of the documents based on some or all of the field sequence numbers and document sequence numbers; and replicating the data contained in each more recently revised field to the corresponding field in the other of the documents. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method comprising:
-
storing a document sequence number for a document using m bits and storing a field sequence number for each of a plurality of revisable fields contained within the document using n buts, wherein n is less than m; incrementing the document sequence number each time a revision to one or more of the fields in the document is registered; and setting a first new value for each field sequence number corresponding to each of one or more fields in the document which have been revised, wherein the new value is set based on the incremented document sequence number. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
-
21. A method comprising:
-
storing a document sequence number for a document and a field sequence number for each of a plurality of revisable fields contained within the document; incrementing the document sequence number each time a revision to one or more of the fields in the document is registered; setting a first new value for each field sequence number corresponding to each of one or more fields in the document which have been revised, wherein the new value is set based on the incremented document sequence number; and stamping the document with a revision time stamp and updating the revision time stamp when the revision to the document is registered.
-
-
22. A method for replicating data from a first document to a second document, each document containing data arranged in a plurality of fields, at least some of the fields of the first document corresponding to at least some of the fields of the second document, the first document having a first document sequence number representing the number of revisions to the first document, the second document having a second document sequence number representing the number of revisions to the second document, the plurality of fields each having a field sequence number, the method comprising the steps of:
-
comparing the first and second document sequence numbers; if the first document sequence number is greater than the second document sequence number, identifying one or more field sequence numbers of the plurality of field sequence numbers of the first document having a higher value than the second document sequence number; and replicating the data in each field of the first document having a field sequence number of higher value than the second document sequence number to the corresponding field of the second document.
-
-
23. A method for replicating data from a first document to a second document, each document containing data arranged in a plurality of fields, at least some of the fields of the first document corresponding to at least some of the fields of the second document, the first document having a first document sequence number representing the number of revisions to the first document, the second document having a second document sequence number representing the number of revisions to the second document, the plurality of fields each having a field sequence number, the method comprising the steps of:
-
identifying one or more field sequence numbers of the plurality of field sequence numbers of the first document having a higher value than the second document sequence number by determining, for each field in the first document, an actual value for the field sequence number based on the field sequence number and the first document sequence number, and comparing each actual value so determined to the second document sequence number; and replicating the data in each field of the first document having a field sequence number of higher value than the second document sequence number to the corresponding field of the second document. - View Dependent Claims (24)
-
-
25. A method for replicating data from a first document to a second document, each document containing data arranged in a plurality of fields, fields of the first document corresponding to fields of the second document, the first document having a first document sequence number representing the number of revisions to the first document, the second document having a second document sequence number representing the number of revisions to the second document, the plurality of fields each having a field sequence number, the method comprising the steps of:
-
storing each first and second document sequence number using m bits and storing each field sequence number using n bits, wherein n is less than m; incrementing the first document sequence number each time a revision to one or more of the fields in the first document is registered; setting a first new value for each field sequence number corresponding to each of one or more fields in the first document which have been revised, wherein the first new value is set equal to the lower n bits of the first document sequence number; if the first document sequence number exceeds 2n, setting a second new value for at least one field sequence number for at least one field in the first document which was not revised in the registered revision; when data is to be replicated, determining an actual value for each field sequence number by computing the difference between the first document sequence number and the field sequence number and, if the difference is greater than 2n -1, adding 2n to the field sequence number to determine the actual value; and for each field of the first document having a field sequence number of higher actual value than the second document sequence number, replicating the data in the field to the corresponding field of the second document.
-
Specification