Abstract:
A primary computer system has a database, application programs that modify the local database, and a transaction manager that stores audit records in a local image trail reflecting those application program modifications to the local database. In a remote backup system, a Receiver process receives audit records from the primary system. The audit records include audit update and audit backout records indicating database updates and database backouts generated by transactions executing on the primary system. The Receiver stores the audit update and audit backout records in one or more image trails. For each image trail there is an Updater process that applies to a backup database volume the database updates and backouts indicated by the audit update and audit backout records in the image trail. The remote backup system periodically executes a file purge procedure, which identifies the oldest transaction table from among the transaction tables in the last image trail file accessed for each of the image trails. Then, for each image trail, the file purge procedure accesses the image trial files in a predefined chronological order and for each accessed image trail file it compares a first set of newest transaction identifiers in the file's transaction table with a second set of oldest transaction identifiers in the identified oldest transaction table. The procedure purges the accessed image trail file only when all of the transaction identifiers in the first set are older than corresponding transaction identifiers in the second set.
Abstract:
A system for replicating data comprising includes a first and a second computing device. The first computing device has a first storage unit configured to store block level data, a second storage unit and a volatile memory. The second computing device has a third storage unit and a fourth storage unit configured to store block level data, the third storage unit being communicatively coupled to the second storage unit. The first computing device is configured to receive write requests each containing payload data, write the payload data of the write requests to the volatile memory and append the payload data to the second storage unit, and acknowledge the write requests prior to writing the respective payload data to the second storage unit. The second computing device is configured to detect new data in the third storage unit and apply the new data to the fourth storage unit.
Abstract:
Computer-implemented methods and systems for replication of data between mirrored data sites are provided. An exemplary method may comprise receiving a data object at a mirrored data site, the mirrored data site including one or more data nodes. The data objects are replicated to the one or more data nodes internally. Then, a data object reference associated with the data object is generated. The reference referring to the data object is queued for transmission to all other mirrored data sites. The data object reference associated with the data object is transmitted to the other mirrored data sites. When the data object is received at each mirrored data site, it is replicated to one or more data nodes within the site. After transmitting the data object, the data object reference is discarded.
Abstract:
Embodiments of the present invention relate to synchronously replicating data in a distributed computing environment. To achieve synchronous replication both an eventual consistency approach and a strong consistency approach are contemplated. Received data may be written to a log of a primary data store for eventual committal. The data may then be annotated with a record, such as a unique identifier, which facilitates the replay of the data at a secondary data store. Upon receiving an acknowledgment that the secondary data store has written the data to a log, the primary data store may commit the data and communicate an acknowledgment of success back to the client. In a strong consistency approach, the primary data store may wait to send an acknowledgement of success to the client until it receives an acknowledgment that the secondary has not only written, but also committed, the data.
Abstract:
If the first storage apparatus is suspended, it is determined which of the update number which the journal recently reflected in the second storage apparatus comprises and the update number which the journal recently reflected in the third storage apparatus comprises is the newer. It is determined, in the newer storage apparatus which is determined to comprise the newer update number, whether one or more differential journals from the journal comprising the update number next to the update number which is not determined to be the newer to the journal comprising the update number determined to be the newer exist or not. If the result of the determination is positive, from the newer storage apparatus to the previous storage apparatus which is not the newer of the second and the third storage apparatuses, one or more differential JNLs are copied. In the previous storage apparatus, one or more differential JNLs are reflected in order of the update numbers, to the data volumes in the previous storage apparatus.
Abstract:
An asynchronous peer-to-peer data replication method implemented within a replication cluster comprising at least one master node and at least a first client node includes entering an update in a data volume of the master node and storing the update in a master node storage. Next, updating a first active session in a master log and then sending a first message from the master node to the first client node. The first message comprises a first message content and first “piggybacked” data indicating that the first active session in the master log was updated. Next, receiving the first message by the first client node, registering that the first active session in the master log was updated and signaling internally that the first active session in the master log was updated. Next, sending an update request from the first client node to the master node, processing the update request by the master node and sending the update to the first client node. Finally, receiving the update by the first client node and updating the first active session in a first client log.
Abstract:
According to one aspect of the invention, a storage system comprises: a plurality of storage devices; and a controller operable to manage a secondary volume (701), of a remote copy pair with a primary volume (601) of another storage system (600), and corresponding to a portion of the plurality of storage devices. The secondary volume (701) has a function for storing data included in journal data sent from said another storage system (600) according to a remote copy procedure. The controller is operable to handle the journal data to be stored temporarily in a third volume corresponding to another portion of the plurality of storage devices before storing the data of the journal data to the secondary volume (701), if a relationship between the journal data and another journal data, which has smaller sequence number than sequence number of the journal data and is sent from said another storage system (600) to the storage system (700), has a condition.