Computer network remote data mirroring system
First Claim
1. A computer network remote data mirroring apparatus comprising:
- a primary computer system for executing an application which generates data, the primary computer system comprising;
a local data device;
a writelog device including a cache memory and a dirty bit map disk drive device to which data can be written from the cache memory to avoid a memory overflow condition, the local data device and the writelog device together operating as a local data storage unit;
a device driver for controlling transfer of the data to and from the local data device and the writelog device; and
a primary mirror daemon executed by the primary computer system, the primary mirror daemon receiving the data from the writelog device through the device driver;
a secondary computer system for replicating the data, the secondary computer system comprising;
a mirror device onto which the data is replicated; and
a remote mirror daemon executed by the secondary computer system; and
a network for interconnecting the primary computer system and the secondary computer system, wherein the primary and secondary mirror daemons communicate over the network so that the primary mirror daemon transfers the data from the writelog device over the network to the remote mirror daemon and the remote mirror daemon replicates the data on the mirror device.
9 Assignments
0 Petitions
Accused Products
Abstract
A computer network remote data mirroring system writes update data both to a local data device and to a local, chronologically sequenced journal storage area, or writelog device. If the local computer system crashes, upon recovery or re-boot of the local computer system, the two most current updates in the writelog device are written to the local data device to assure that the data stored on the local data device is current. Additional memory or disk space is dynamically assigned to the writelog device to prevent a memory overflow condition. The computer network remote data mirroring system can be structured to provide logical groups of local data device/writelog device pairs. A primary mirror daemon on a local computer system monitors the writelog device for data updates and feeds the data over a network in the same order in which it is stored to a receiving remote mirror daemon on a remote computer system, which in turn commits the data updates to a mirror device. Failure recovery with the primary and remote mirror daemons is initiated automatically for certain failures which do not affect the basic operability of the overall computer system. A graphical user interface enables a user to configure the logical groups and create throttles, as well as to monitor performance of the remote data mirroring system. Network bandwidth throttling enables a predetermined portion of the network bandwidth to be assigned to remote data mirroring based on user-selected criteria.
-
Citations
17 Claims
-
1. A computer network remote data mirroring apparatus comprising:
-
a primary computer system for executing an application which generates data, the primary computer system comprising;
a local data device;
a writelog device including a cache memory and a dirty bit map disk drive device to which data can be written from the cache memory to avoid a memory overflow condition, the local data device and the writelog device together operating as a local data storage unit;
a device driver for controlling transfer of the data to and from the local data device and the writelog device; and
a primary mirror daemon executed by the primary computer system, the primary mirror daemon receiving the data from the writelog device through the device driver;
a secondary computer system for replicating the data, the secondary computer system comprising;
a mirror device onto which the data is replicated; and
a remote mirror daemon executed by the secondary computer system; and
a network for interconnecting the primary computer system and the secondary computer system, wherein the primary and secondary mirror daemons communicate over the network so that the primary mirror daemon transfers the data from the writelog device over the network to the remote mirror daemon and the remote mirror daemon replicates the data on the mirror device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
writing updates to the local data device, thereby modifying the data stored in the local data device; and
substantially simultaneously to writing the updates, writing entries representing the updates to the writelog device.
-
-
8. In a primary computer system having a local data device to which data is written and further having a non-volatile writelog in which information representing updates to the data can be stored, the primary computer system being in communication with a secondary computer system, a method for mirroring the data stored in the local data device to a mirror device associated with the secondary computer system, comprising the steps of:
-
storing data in the local data device, with a mirrored copy of the data being stored in the mirror device associated with the secondary computer system;
repeatedly conducting the steps of;
writing an update to the local data device, thereby modifying the data stored in the local data device; and
substantially simultaneously with the step of writing the update, writing an entry representing the update to the writelog;
transmitting entries representing updates from the writelog to the secondary computer system, such that the secondary computer system can write the updates represented by the entries to the mirrored copy of the data stored in the mirror device to thereby update the mirrored copy, the entries being transmitted to the secondary device in a chronological order in which the entries were stored at the writelog;
experiencing a state in which writing more entries to the non-volatile writelog would create an overflow condition; and
after experiencing said state, and substantially simultaneously with writing other updates to the local data device, writing other entries representing the other updates to one or more writelog pool devices that are chained into the primary computer and that provide additional data storage for the writelog. - View Dependent Claims (9, 10, 11)
the step of writing an update to the local data device is performed by transmitting the update to the local data device using a first I/O bus; and
the step of writing an entry representing the update to the writelog is performed by transmitting the entry to the writelog using a second I/O bus.
-
-
10. A method as recited in claim 8, further comprising the steps of:
-
receiving confirmation that a particular entry has been committed to the mirrored copy of the data; and
allowing a new entry to overwrite the particular entry in the writelog based on said confirmation having been received.
-
-
11. A method as recited in claim 8, further comprising the steps of:
-
experiencing a failure at the primary computer system, such that the data stored in the local data device is not accessible; and
providing access to the mirrored copy of the data stored in the mirror device.
-
-
12. A computer network remote data mirroring apparatus comprising:
-
a primary computer system for executing an application which generates data, the primary computer system comprising;
a local data device;
a writelog device that operates together with the local data device as a local data storage unit;
one or more optional writelog pool devices that are chained into the primary computer system in the event that additional data storage is needed for the writelog device;
a device driver for controlling transfer of the data to and from the local data device and the writelog device; and
a primary mirror daemon executed by the primary computer system, the primary mirror daemon receiving the data from the writelog device through the device driver;
a secondary computer system for replicating the data, the secondary computer system comprising;
a mirror device onto which the data is replicated; and
a remote mirror daemon executed by the secondary computer system; and
a network for interconnecting the primary computer system and the secondary computer system, wherein the primary and secondary mirror daemons communicate over the network so that the primary mirror daemon transfers the data from the writelog device over the network to the remote mirror daemon and the remote mirror daemon replicates the data on the mirror device. - View Dependent Claims (13, 14, 15, 16, 17)
the primary computer system further comprises at least two disk controller cards and at least two I/O busses; and
the local data device and the writelog device are on separate I/O busses, whereby performance is improved due to reduced I/O bus contention during parallel writes of the data to the local data device and the writelog device.
-
-
15. The apparatus as defined in claim 12, wherein the primary computer system further comprises a plurality of local data devices and a plurality of writelog devices, each of the plurality of local data devices operating together with one of the plurality of writelog devices as one of a plurality of local data storage units.
-
16. The apparatus as defined in claim 15, wherein the plurality of local data storage units are clustered into a plurality of logical groups and wherein each of the plurality of logical groups corresponds to one of a plurality of mirror devices, said one of the plurality of mirror devices operating at a secondary computer system.
-
17. The apparatus as defined in claim 12, wherein the device driver further operates to control transfer of the data to the local data device and the writelog device by:
-
writing updates to the local data device, thereby modifying the data stored in the local data device; and
substantially simultaneously to writing the updates, writing entries representing the updates to the writelog device.
-
Specification