Parallel queue propagation
First Claim
1. 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.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system are provided for duplicating at a destination site changes made to data at a source site. According to the method a plurality of streams are established between the source site and the destination site. The plurality of streams are used in parallel to propagate changes made at the source site to the destination site. A record of transactions that made changes that need to be propagated from the source site to the destination site is maintained at the source site. Before propagating changes made by a transaction to the destination site on a stream of the plurality of streams, the record of transactions is inspected to identify a set of transactions whose changes are not known to have been made permanent at the destination site. It is then determined whether the transaction could possibly depend on any transaction in the set of transactions. If the transaction could not possibly depend on any transaction in the set of transactions, then the changes made by the transaction are propagated to the destination site using one of the plurality of streams.
-
Citations
31 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. 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. - View Dependent Claims (8, 9, 10, 11)
-
-
12. 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. - View Dependent Claims (13, 14, 15, 16)
-
-
17. 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. - View Dependent Claims (18, 19, 20)
-
-
21. 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. - View Dependent Claims (22, 23, 24, 25, 26)
-
-
27. 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. - View Dependent Claims (28, 29, 30)
-
-
31. 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.
-
Specification