IP Library Granted Patent US 7,707,272
Granted Patent B1
US 7,707,272 · App. 09/910,662 · Granted Apr 27, 2010

Method and apparatus for asynchronous mirroring using TCP/IP internet protocol

Assignee: DataCore Software Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,707,272
App. No.
09/910,662
Granted
Apr 27, 2010
Kind
B1
Abstract

A system and method that mirrors data between two geographically separate locations. A preferred embodiment of the software includes three components: an AIM driver, an AIM service coordinator and an AIM manager. The AIM driver intercepts all disk I/Os to the local storage system and encapsulates the write transactions into a series of files. The AIM service coordinator transmits these files over any or all remote networks having remote storage systems connected to the local storage system and to which the data is to be mirrored. In a preferred embodiment, particular destinations for each write transaction may be user specified. These files, as they are received at the remote storage system, are placed into the file system of the remote storage system. The AIM service coordinator on the remote storage system detects the arrival of the files and accesses them. The content of these files (exact copies of the write transactions issued at the local system) are then re-driven within the remote storage system as write transactions to the remote disk drive, in exactly the same way as they would have occurred on the local storage system.

Claims (37)

1. A system for mirroring write operations from a local storage system onto a remote storage system, the system comprising:

an asynchronous mirroring driver resident in the local storage system for intercepting I/O transactions to a storage disk of the local storage system, identifying a series of write transactions issued to said storage disk, making an exact copy of the series of write transactions, and storing said exact copy within a series of files that are created on a file-system of the local storage system; and

a first asynchronous mirroring coordinator resident on the local storage system for invoking a file transfer system to transmit the series of files on the local file-system of the local storage system to a file system of the remote storage system via a non-proprietary network protocol to accommodate an exact reproduction at the remote storage system of the series of write transactions as issued to said storage disk of the local storage system.

2. The system claim 1 further comprising:

a second asynchronous mirroring coordinator resident on the remote storage system for detecting the series of files on the file system of the remote storage system, opening the files and reading the exact copy of the series of write transactions in these files; and

an asynchronous mirroring driver resident on the remote storage system for receiving the exact copy of the series of write transactions from the second asynchronous mirroring coordinator and issuing the transactions to a remote device connected to the remote storage system which is configured to mirror the local storage device on the local storage system.

3. The system of claim 1 , wherein individual ones of the series of files comprise:

a Header portion that includes information on the total size of the file;

an I/O Control Block portion which indicates address offsets where each transaction in the file is to be stored on the remotely located destination storage system, and which further indicates the size of the data for each transaction; and

a Data portion which contains the data for each transaction in the file.

4. The system of claim 3 , wherein the Header portion further includes:

a pointer to the I/O Control Block portion which indicates the offset where the I/O Control Block portion of the file begins; and

a pointer to the Data portion, which indicates the offset where the Data portion of the file begins.

5. The system of claim 1 , wherein the asynchronous mirroring driver intercepts all I/O transactions in the system.

6. The system of claim 1 , wherein the asynchronous mirroring driver intercepts a transaction affecting the content or organization of a disk.

7. The computer program product of claim 1 , wherein the asynchronous mirroring driver module intercepts a transaction affecting the content or organization of a disk.

8. The system of claim 1 , wherein the series of write transactions is one of a plurality of series of I/O transactions that are respectively retained in corresponding ones of the series of files, and individual ones of the series of files include pointers to accommodate sequencing the series of files, whereby a transaction level record of changes to the storage disk of the local storage system is provided for the remote storage system.

9. The system of claim 8 , wherein the plurality of series of I/O transactions include at least one formatting transaction and/or at least one partitioning transaction.

10. A method for mirroring write operations from a local storage system to a remote storage system, the method comprising the steps of:

intercepting I/O transactions to a storage disk of the local storage system;

identifying a series of write transactions to said storage disk from the intercepted I/O transactions;

storing an exact copy of the series of write transactions within a series of files that are created on a file-system of the local storage system;

transmitting the series of files from the local storage system to the remote storage system through an Internet connection to accommodate a reproduction at the remote storage system of the series of write transactions as issued to said storage disk of the local storage system.

11. The method of claim 10 , further comprising:

passing the series of write transactions to a driver issuing the transactions to storage device of the remote storage system, which is configured to mirror the storage device on the local storage system.

12. The method of claim 10 , wherein intercepting I/O transactions comprises intercepting all I/O transactions in the system.

13. The method of claim 10 , wherein intercepting I/O transactions comprises intercepting a transaction affecting the content or organization of a disk.

14. The method of claim 10 , wherein the series of write transactions is one of a plurality of series of I/O transactions that are respectively retained in corresponding ones of the series of files, and individual ones of the series of files include pointers to accommodate sequencing the series of files, whereby a transaction level record of changes to the storage disk of the local storage system is provided for the remote storage system.

15. The method of claim 14 , wherein the plurality of series of I/O transactions include at least one formatting transaction and/or at least one partitioning transaction.

16. A computer program product for mirroring write operations from a local storage system to a remote storage system, the computer program product comprising:

an asynchronous mirroring driver software module for intercepting I/O transactions to a storage disk of the local storage system, identifying a series of write transactions issued to said storage disk, making an exact copy of the series of write transactions, and storing said exact copy within a series of files that are created on a file-system of the local storage system; and

a first asynchronous mirroring coordinator software module for invoking a configured file transfer system to transmit the series of files to a file system on the remote storage system via a non-proprietary network protocol to accommodate an exact reproduction at the remote storage system of the series of write transactions as issued to said storage disk of the local storage system.

17. The computer program product of claim 16 further comprising:

a second asynchronous mirroring coordinator software module installed on the remote storage system for detecting the series of files on the file system of the remote storage system, opening the files and reading the exact copy of the series of write transactions in these files, and issuing the exact copy of the series of write transactions to a storage device connected to the remote storage system that is configured to mirror the storage device on the local storage system.

18. The computer program product of claim 16 , wherein the asynchronous mirroring driver module intercepts all I/O transactions in the system.

19. The computer program product of claim 16 , wherein the series of write transactions is one of a plurality of series of I/O transactions that are respectively retained in corresponding ones of the series of files, and individual ones of the series of files include pointers to accommodate sequencing the series of files, whereby a transaction level record of changes to the storage disk of the local storage system is provided for the remote storage system.

20. The computer program product of claim 19 , wherein the plurality of series of I/O transactions include at least one formatting transaction and/or at least one partitioning transaction.

Assignments (9)
SECURITY INTEREST Recorded May 29, 2024
From: DATACORE SOFTWARE CORPORATION
To: VISTARA TECHNOLOGY GROWTH FUND V MASTER, LP
Reel/Frame 067563/0884 →
SECURITY INTEREST Recorded Oct 28, 2021
From: DATACORE SOFTWARE CORPORATION
To: STIFEL BANK
Reel/Frame 057969/0086 →
SECURITY INTEREST Recorded Dec 14, 2017
From: DATACORE SOFTWARE CORPORATION
To: SILICON VALLEY BANK
Reel/Frame 044400/0417 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYANCE TYPE FROM "RELEASE BY SECURED PARTY" TO "SECURITY AGREEMENT". PREVIOUSLY RECORDED ON REEL 018313 FRAME 0295. ASSIGNOR(S) HEREBY CONFIRMS THE INTELLECTUAL PROPERTY ASSIGNMENT AGREEMENT.. Recorded Feb 15, 2007
From: DATACORE SOFTWARE CORPORATION
To: SILICON VALLEY BANK
Reel/Frame 018898/0241 →
RELEASE OF SECURITY INTEREST Recorded Sep 27, 2006
From: BRIDGE BANK, N.A.
To: DATACORE SOFTWARE CORPORATION
Reel/Frame 018313/0282 →
RELEASE OF SECURITY INTEREST Recorded Sep 27, 2006
From: DATACORE SOFTWARE CORPORATION
To: SILICON VALLEY BANK
Reel/Frame 018313/0295 →
SECURITY AGREEMENT Recorded Sep 26, 2006
From: DATACORE SOFTWARE CORPORATION
To: PARTNERS FOR GROWTH II, L.P.
Reel/Frame 018303/0104 →
SECURITY AGREEMENT Recorded Nov 4, 2005
From: DATACORE SOFTWARE CORPORATION
To: BRIDGE BANK, NATIONAL ASSOCIATION
Reel/Frame 016722/0595 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2001
From: ARAL, ZIYA; PUTRA, RONI; BLACK, ALISTAIR; REN, YONGJIAN; MAO, WENLEI
To: DATACORE SOFTWARE CORPORATION
Reel/Frame 012016/0224 →
Continuity (1)
Provisional Application 6026270500 · Jan 19, 2001