Claims Analysis
Total Claims: 38
Claim 1
Independent Claim
182 words
A method for duplicating at a destination site changes made to data at a source site, the method comprising the steps of: A) establishing a plurality of streams between the source site and the destination site; B) using said plurality of streams in parallel to propagate changes made at said source site to said destination site by performing the steps of: (B1) maintaining a record of transactions whose changes must be propagated rom the source site to the destination site; (B2) before propagating changes made by a transaction to the destination site on a stream of said plurality of streams, performing the steps of: (a) identifying a set of transactions whose changes are not known to have been made permanent at the destination site by inspecting the record of transactions; and (b) determining whether the transaction could possibly depend on any transaction in said set of transactions; (B3) if said transaction could not possibly depend on any transaction in said set of transactions, then propagating the changes made by the transaction to the destination site using one of said plurality of streams.
Claim 2
Independent Claim
182 words
A method for duplicating at a destination site changes made to data at a source site, the method comprising the steps of: A) establishing a plurality of streams between the source site and the destination site; B) using said plurality of streams in parallel to propagate changes made at said source site to said destination site by performing the steps of: (B1) maintaining a record of transactions whose changes must be propagated rom the source site to the destination site; (B2) before propagating changes made by a transaction to the destination site on a stream of said plurality of streams, performing the steps of: (a) identifying a set of transactions whose changes are not known to have been made permanent at the destination site by inspecting the record of transactions; and (b) determining whether the transaction could possibly depend on any transaction in said set of transactions; (B3) if said transaction could not possibly depend on any transaction in said set of transactions, then propagating the changes made by the transaction to the destination site using one of said plurality of streams.
Claim 3
Dependent Claim
99 words
The method of claim 1 wherein if said transaction could possibly depend on any transaction in said set of transactions, then performing the steps of: determining whether all transactions in said set of transactions on which said transaction could possibly depend were propagated on the same stream of said plurality of streams; and if all transactions in said set of transactions on which said transaction could possibly depend were propagated on a particular stream of said plurality of streams, then propagating the changes made by said transaction from said source site to said destination site using said particular stream.
Claim 4
Dependent Claim
81 words
The method of claim 2 further comprising the step of waiting to propagate the changes made by said transaction until either: changes made by all transactions on which the transaction could possibly depend are known to have been made permanent at the destination site; or changes made by all transactions on which the transaction could possibly depend that are not known to have been made permanent at the destination site were sent over a single stream of said plurality of streams.
Claim 5
Dependent Claim
43 words
The method of claim 1 further comprising the step of waiting to propagate the changes made by said transaction until changes made by all transactions on which the transaction could possibly depend are known to have been made permanent at the destination site.
Claim 6
Dependent Claim
73 words
The method of claim 1 wherein the step of determining whether the transaction could possibly depend on any transaction in said set of transactions further comprises the steps of: maintaining a depends-on time for said transaction, wherein the depends-on time indicates a latest commit time of all transactions on which said transaction could depend; and comparing the depends-on time of the transaction with commit times of each transaction in said set of transactions.
Claim 7
Dependent Claim
85 words
The method of claim 1 wherein: said record includes a plurality of entries, where each entry of said plurality of entries corresponds to a transaction to be propagated to said destination site; the method further comprises the steps of adding an entry for said transaction to said plurality of entries; marking said entry to indicate that said transaction has not yet been sent to said destination site; after propagating changes made by said transaction, marking said entry to indicate that said transaction has been sent.
Claim 8
Independent Claim
128 words
A method for propagating changes from a source site to a destination site, the method comprising the steps of: adding to a set of records a record for each transaction that has made changes that must be propagated from the source site to the destination site; for each record in said set of records, performing the steps of: determining whether the transaction associated with the record could possibly depend on any transaction associated with any record in the set of records; if the transaction associated with the record could not possibly depend on any transaction associated with any record in the set of records, then propagating the changes made by the transaction on one of a plurality of streams established between the source site and the destination site.
Claim 9
Independent Claim
128 words
A method for propagating changes from a source site to a destination site, the method comprising the steps of: adding to a set of records a record for each transaction that has made changes that must be propagated from the source site to the destination site; for each record in said set of records, performing the steps of: determining whether the transaction associated with the record could possibly depend on any transaction associated with any record in the set of records; if the transaction associated with the record could not possibly depend on any transaction associated with any record in the set of records, then propagating the changes made by the transaction on one of a plurality of streams established between the source site and the destination site.
Claim 10
Dependent Claim
42 words
The method of claim 7 further comprising the step of removing records from the set of records when the source site is informed that the changes made by the transactions associated with the records have been made permanent at the destination site.
Claim 11
Dependent Claim
41 words
The method of claim 7 further including the step of marking the record with a value indicates that the transaction associated with the record has been sent to the destination site in response to propagating the changes made by the transaction.
Claim 12
Dependent Claim
80 words
The method of claim 7 wherein the step of determining whether the transaction associated with the record could possibly depend on any transaction associated with any record in said set of records comprises the steps of: determining a depends-on time for the transaction associated with the record, where the depends-on time indicates a commit time of a latest transaction on which the transaction depends; and comparing the depends-on time with commit times of transactions represented in said set of records.
Claim 13
Dependent Claim
70 words
The method of claim 7 wherein said step of adding to a set of records a record for each transaction that has made changes that must be propagated from the source site to the destination site includes the step of adding to a data structure stored in volatile memory an entry for each transaction that has made changes that must be propagated from the source site to the destination site.
Claim 14
Dependent Claim
142 words
A computer-readable medium having stored thereon sequences of instructions for propagating changes from a source site to a destination site, the sequences of instructions including sequences of instructions for performing the steps of: adding to a set of records a record for each transaction that has made changes that must be propagated from the source site to the destination site; for each record in said set of records, performing the steps of: determining whether the transaction associated with the record could possibly depend on any transaction associated with any record in the set of records; if the transaction associated with the record could not possibly depend on any transaction associated with any record in the set of records, then propagating the changes made by the transaction on one of a plurality of streams established between the source site and the destination site.
Claim 15
Dependent Claim
142 words
A computer-readable medium having stored thereon sequences of instructions for propagating changes from a source site to a destination site, the sequences of instructions including sequences of instructions for performing the steps of: adding to a set of records a record for each transaction that has made changes that must be propagated from the source site to the destination site; for each record in said set of records, performing the steps of: determining whether the transaction associated with the record could possibly depend on any transaction associated with any record in the set of records; if the transaction associated with the record could not possibly depend on any transaction associated with any record in the set of records, then propagating the changes made by the transaction on one of a plurality of streams established between the source site and the destination site.
Claim 16
Dependent Claim
48 words
The computer-readable medium of claim 12 further comprising sequences of instructions for performing the step of removing records from the set of records when the source site is informed that the changes made by the transactions associated with the records have been made permanent at the destination site.
Claim 17
Dependent Claim
47 words
The computer-readable medium of claim 12 further comprising sequences of instructions for performing the step of marking the record with a value indicates that the transaction associated with the record has been sent to the destination site in response to propagating the changes made by the transaction.
Claim 18
Dependent Claim
82 words
The computer-readable medium of claim 12 wherein the step of determining whether the transaction associated with the record could possibly depend on any transaction associated with any record in a second set of records comprises the steps of: determining a depends-on time for the transaction associated with the record, where the depends-on time indicates a commit time of a latest transaction on which the transaction depends; and comparing the depends-on time with commit times of transactions represented by said set of records.
Claim 19
Dependent Claim
71 words
The computer-readable medium of claim 12 wherein said step of adding to a set of records a record for each transaction that has made changes that must be propagated from the source site to the destination site includes the step of adding to a data structure stored in volatile memory an entry for each transaction that has made changes that must be propagated from the source site to the destination site.
Claim 20
Independent Claim
149 words
A method for duplicating at a destination site changes made to data at a source site, the method comprising the steps of: A) establishing a plurality of streams between the source site and the destination site; B) using said plurality of streams in parallel to propagate changes made at said source site to said destination site by performing the steps of: (B1) determining whether a transaction to be propagated to the destination site depends on any other transaction to be propagated to the destination site that is not known to have been made permanent at the destination site; (B2) if said transaction could not possibly depend on any other transaction to be propagated to the destination site that is not known to have been made permanent at the destination site, then propagating the changes made by the transaction to the destination site using one of said plurality of streams.
Claim 21
Independent Claim
149 words
A method for duplicating at a destination site changes made to data at a source site, the method comprising the steps of: A) establishing a plurality of streams between the source site and the destination site; B) using said plurality of streams in parallel to propagate changes made at said source site to said destination site by performing the steps of: (B1) determining whether a transaction to be propagated to the destination site depends on any other transaction to be propagated to the destination site that is not known to have been made permanent at the destination site; (B2) if said transaction could not possibly depend on any other transaction to be propagated to the destination site that is not known to have been made permanent at the destination site, then propagating the changes made by the transaction to the destination site using one of said plurality of streams.
Claim 22
Dependent Claim
119 words
The method of claim 17 wherein if said transaction could possibly depend on any other transaction to be propagated to the destination site that is not known to have been made permanent at the destination site, then performing the steps of: determining whether all transactions to be propagated to the destination site on which said transaction could possibly depend were propagated on the same stream of said plurality of streams; and if all transactions to be propagated to the destination site on which said transaction could possibly depend were propagated on a particular stream of said plurality of streams, then propagating the changes made by said transaction from said source site to said destination site using said particular stream.
Claim 23
Dependent Claim
43 words
The method of claim 17 further comprising the step of waiting to propagate the changes made by said transaction until changes made by all transactions on which the transaction could possibly depend are known to have been made permanent at the destination site.
Claim 24
Dependent Claim
108 words
The method of claim 17 wherein the step of determining whether a transaction to be propagated to the destination site depends on any other transaction to be propagated to the destination site that is not known to have been made permanent at the destination site further comprises the steps of: maintaining a depends-on time for said transaction, wherein the depends-on time indicates a latest commit time of all transactions on which said transaction could depend; and comparing the depends-on time of the transaction with commit times of transactions to be propagated to the destination site that are not known to have been made permanent at the destination site.
Claim 25
Dependent Claim
218 words
A computer-readable medium carrying one or more sequences of one or more instructions for duplicating at a destination site changes made to data at a source site, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of: A) establishing a plurality of streams between the source site and the destination site; B) using said plurality of streams in parallel to propagate changes made at said source site to said destination site by performing the steps of: (B1) maintaining a record of transactions whose changes must be propagated from the source site to the destination site; (B2) before propagating changes made by a transaction to the destination site on a stream of said plurality of streams, performing the steps of: (a) identifying a set of transactions whose changes are not known to have been made permanent at the destination site by inspecting the record of transactions; and (b) determining whether the transaction could possibly depend on any transaction in said set of transactions; (B3) if said transaction could not possibly depend on any transaction in said set of transactions, then propagating the changes made by the transaction to the destination site using one of said plurality of streams.
Claim 26
Dependent Claim
218 words
A computer-readable medium carrying one or more sequences of one or more instructions for duplicating at a destination site changes made to data at a source site, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of: A) establishing a plurality of streams between the source site and the destination site; B) using said plurality of streams in parallel to propagate changes made at said source site to said destination site by performing the steps of: (B1) maintaining a record of transactions whose changes must be propagated from the source site to the destination site; (B2) before propagating changes made by a transaction to the destination site on a stream of said plurality of streams, performing the steps of: (a) identifying a set of transactions whose changes are not known to have been made permanent at the destination site by inspecting the record of transactions; and (b) determining whether the transaction could possibly depend on any transaction in said set of transactions; (B3) if said transaction could not possibly depend on any transaction in said set of transactions, then propagating the changes made by the transaction to the destination site using one of said plurality of streams.
Claim 27
Dependent Claim
102 words
The computer-readable medium of claim 21, further comprising injections for performing the following steps if said transaction could possibly depend on any transaction in said set of transactions: determining whether all transactions in said set of transactions on which said transaction could possibly depend were propagated on the same stream of said plurality of streams; and if all transactions in said set of transactions on which said transaction could possibly depend were propagated on a particular stream of said plurality of streams, then propagating the changes made by said transaction from said source site to said destination site using said particular stream.
Claim 28
Dependent Claim
85 words
The computer-readable medium of claim 22 further comprising instructions for performing the step of waiting to propagate the changes made by said transaction until either: changes made by all transactions on which the transaction could possibly depend are known to have been made permanent at the destination site; or changes made by all transactions on which the transaction could possibly depend that are not know to have been made permanent at the destination site were sent over a single stream of said plurality of streams.
Claim 29
Dependent Claim
47 words
The computer-readable medium of claim 21 further comprising instructions for performing the step of waiting to propagate the changes made by said transaction until changes made by all transactions on which the transaction could possibly depend are known to have been made permanent at the destination site.
Claim 30
Dependent Claim
74 words
The computer-readable medium of claim 21 wherein the step of determining whether the transaction could possibly depend on any transaction in said set of transactions further comprises the steps of: maintaining a depends-on time for said transaction, wherein the depends-on time indicates a latest commit time of all transactions on which said transaction could depend; and comparing the depends-on time of the transaction with commit times of each transaction in said set of transactions.
Claim 31
Dependent Claim
90 words
The computer-readable medium of claim 21 wherein: said record includes a plurality of entries, where each entry of said plurality of entries corresponds to a transaction to be propagated to said destination site; the computer-readable medium further comprising instructions for performing the steps of adding an entry for said transaction to said plurality of entries; marking said entry to indicate that said transaction has not yet been sent to said destination site; after propagating changes made by said transaction, marking said entry to indicate that said transaction has been sent.
Claim 32
Dependent Claim
185 words
A computer-readable medium carrying one or more sequences of one or more instructions for duplicating at a destination site changes made to data at a source site, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of: A) establishing a plurality of streams between the source site and the destination site; B) using said plurality of streams in parallel to propagate changes made at said source site to said destination site by performing the steps of: (B1) determining whether a transaction to be propagated to the destination site depends on any other transaction to be propagated to the destination site that is not known to have been made permanent at the destination site; (B2) if said transaction could not possibly depend on any other transaction to be propagated to the destination site that is not known to have been made permanent at the destination site, then propagating the changes made by the transaction to the destination site using one of said plurality of streams.
Claim 33
Dependent Claim
185 words
A computer-readable medium carrying one or more sequences of one or more instructions for duplicating at a destination site changes made to data at a source site, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of: A) establishing a plurality of streams between the source site and the destination site; B) using said plurality of streams in parallel to propagate changes made at said source site to said destination site by performing the steps of: (B1) determining whether a transaction to be propagated to the destination site depends on any other transaction to be propagated to the destination site that is not known to have been made permanent at the destination site; (B2) if said transaction could not possibly depend on any other transaction to be propagated to the destination site that is not known to have been made permanent at the destination site, then propagating the changes made by the transaction to the destination site using one of said plurality of streams.
Claim 34
Dependent Claim
122 words
The computer-readable medium of claim 27, further comprising instructions for performing the following steps if said transaction could possibly depend on any other transaction to be propagated to the destination site that is not know to have been made permanent at the destination site: determining whether all transactions to be propagated to the destination site on which said transaction could possibly depend were propagated on the same stream of said plurality of streams; and if all transactions to be propagated to the destination site on which said transaction could possibly depend were propagated on a particular stream of said plurality of streams, then propagating the changes made by said transaction tom said source site to said destination site using said particular stream.
Claim 35
Dependent Claim
47 words
The computer-readable medium of claim 27 further comprising instructions for performing the step of waiting to propagate the changes made by said transaction until changes made by all transactions on which the transaction could possibly depend are known to have been made permanent at the destination site.
Claim 36
Dependent Claim
109 words
The computer-readable medium of claim 27 wherein the step of determining whether a transaction to be propagated to the destination site depends on any other transaction to be propagated to the destination site that is not known to have been made permanent at the destination site further comprises the steps of: maintaining a depends-on time for said transaction, wherein the depends-on time indicates a latest commit time of all transactions on which said transaction could depend; and comparing the depends-on time of the transaction with commit times of transactions to be propagated to the destination site that are not known to have been made permanent at the destination site.
Claim 37
Independent Claim
174 words
A system for duplicating changes, the system comprising: a source site; a destination site; a plurality of streams between the source site and the destination site; and a propagation mechanism, wherein the propagation mechanism is configured to propagate changes made at said source site to said destination site by performing the steps of: A1) maintaining a record of transactions whose changes must be propagated from the source site to the destination site; (A2) before propagating changes made by a transaction to the destination site on a stream of said plurality of streams, performing the steps of: (a) identifying a set of transactions whose changes are not known to have been made permanent at the destination site by inspecting the record of transactions; and (b) determining whether the transaction could possibly depend on any transaction in said set of transactions; (A3) if said transaction could not possibly depend on any transaction in said set of transactions, then propagating the changes made by the transaction to the destination site using one of said plurality of streams.
Claim 38
Independent Claim
174 words
A system for duplicating changes, the system comprising: a source site; a destination site; a plurality of streams between the source site and the destination site; and a propagation mechanism, wherein the propagation mechanism is configured to propagate changes made at said source site to said destination site by performing the steps of: A1) maintaining a record of transactions whose changes must be propagated from the source site to the destination site; (A2) before propagating changes made by a transaction to the destination site on a stream of said plurality of streams, performing the steps of: (a) identifying a set of transactions whose changes are not known to have been made permanent at the destination site by inspecting the record of transactions; and (b) determining whether the transaction could possibly depend on any transaction in said set of transactions; (A3) if said transaction could not possibly depend on any transaction in said set of transactions, then propagating the changes made by the transaction to the destination site using one of said plurality of streams.