← Back to Patent Explorer
US5764903A Expired / Lapsed US ⏱️ 0.0 years remaining

High availability network disk mirroring system

Assignee: Wistron Corp
•
Filing: 1994-09-26
•
Granted: 1998-06-09
•
Expires: 2014-09-26
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention provides methods for mirroring hard disk data of a primary server over a network to a secondary server. A virtual disk driver is provided between the operating system and the hard disk driver of the primary server. After the virtual disk driver receives a disk write request that should be mirrored, the virtual disk driver first sends a disk write request to the secondary server. The virtual disk driver then sends the disk write request to a disk drive on the primary server. In the event data residing on one server is unavailable due to a system failure, the same data would still be available on the other server. Multiple methods of synchronous and asynchronous disk mirroring are provided. The present invention provides a very low overhead and results in high performance and availability.

Inventors

  • 👤 Ying-King Yu

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 22:33
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/16; G06F11/20; G06F11/2053; G06F11/2056; G06F11/2071

Claims Analysis

Total Claims: 45
Claim 1
Independent Claim 147 words
In a network including first and second computer systems, the first and second computer systems having respective first and second processing units, disk drives and network interfaces, a method of improving the availability of data stored therein comprising the steps of: selecting a portion of the first disk drive of the first computer system to be duplicated on the second system; providing a virtual disk driver that operates on the first computer system; said virtual disk driver sending over the network to the second computer system a disk write request from a program, said disk write request specifying said portion of the first disk drive of the first computer system; and said virtual disk driver initiating said disk write request to the first disk drive after sending said disk write request to the second computer system in order to duplicate said portion on the second computer system.
Claim 2
Dependent Claim 147 words
In a network including first and second computer systems, the first and second computer systems having respective first and second processing units, disk drives and network interfaces, a method of improving the availability of data stored therein comprising the steps of: selecting a portion of the first disk drive of the first computer system to be duplicated on the second system; providing a virtual disk driver that operates on the first computer system; said virtual disk driver sending over the network to the second computer system a disk write request from a program, said disk write request specifying said portion of the first disk drive of the first computer system; and said virtual disk driver initiating said disk write request to the first disk drive after sending said disk write request to the second computer system in order to duplicate said portion on the second computer system.
Claim 3
Dependent Claim 32 words
The method of claim 1, further comprising the step of the second computer system storing said disk write request in a queue before said portion is duplicated on the second computer system.
Claim 4
Dependent Claim 59 words
The method of claim 1, further comprising the steps of: the second computer system sending an acknowledgment message to the first computer system once said disk write request is received; and said virtual disk driver resending said disk write request to the second computer system if said virtual disk driver does not receive said acknowledgment within a predetermined time.
Claim 5
Dependent Claim 20 words
The method of claim 1, wherein said disk write request is performed on the first and second computer systems concurrently.
Claim 6
Dependent Claim 33 words
The method of claim 1, wherein said virtual disk driver receives commands from an operating system of the first computer system and sends commands to a disk driver of the first computer system.
Claim 7
Dependent Claim 11 words
The method of claim 5, wherein said disk driver remains unmodified.
Claim 8
Dependent Claim 11 words
The method of claim 5, wherein said operating system remains unmodified.
Claim 9
Dependent Claim 40 words
The method of claim 1, further comprising the steps of: providing a disk server that operates on the second computer system; and said disk server sending said disk write request to the second disk drive of the second computer system.
Claim 10
Dependent Claim 23 words
The method of claim 8, wherein a copy of said virtual disk driver operates on the second computer system as said disk server.
Claim 11
Dependent Claim 16 words
The method of claim 1, wherein said portion includes all data on the first disk drive.
Claim 12
Dependent Claim 25 words
The method of claim 1, wherein said virtual disk driver duplicates all the disk drives of the first computer system on the second computer system.
Claim 13
Dependent Claim 31 words
The method of claim 1, further comprising the step of said virtual disk driver sending a failed disk read request specifying said portion to the second computer system over the network.
Claim 14
Dependent Claim 71 words
The method of claim 1, wherein the network includes a plurality of second computer systems and the method includes the step of said virtual disk driver sending over the network to said plurality of second computer systems said disk write request before the step of said virtual disk driver sending said disk write request to the first disk drive, whereby said portion is duplicated on said plurality of second computer systems.
Claim 15
Dependent Claim 208 words
In a network including first and second computer systems, the first and second computer systems having respective first and second processing units, disk drives and network interfaces, a method of improving the availability of data stored therein comprising the steps of: selecting a portion of the first disk drive of the first computer system to be duplicated on the second computer system; providing a virtual disk driver that operates on the first computer system; said virtual disk driver sending over the network to the second computer system a disk write request from a program, said disk write request specifying said portion of the first disk drive of the first computer system; said virtual disk driver sending said disk write request to the first disk drive after sending said disk write request to the second computer system; the second computer system sending an acknowledgment message to the first computer system once said disk write request is received, said virtual disk driver sending said disk write request to the first disk drive only after receipt of said acknowledgment message; and suspending control of said program until said virtual disk driver sends said disk write request to the first disk drive; whereby said portion is duplicated on the second computer system.
Claim 16
Dependent Claim 208 words
In a network including first and second computer systems, the first and second computer systems having respective first and second processing units, disk drives and network interfaces, a method of improving the availability of data stored therein comprising the steps of: selecting a portion of the first disk drive of the first computer system to be duplicated on the second computer system; providing a virtual disk driver that operates on the first computer system; said virtual disk driver sending over the network to the second computer system a disk write request from a program, said disk write request specifying said portion of the first disk drive of the first computer system; said virtual disk driver sending said disk write request to the first disk drive after sending said disk write request to the second computer system; the second computer system sending an acknowledgment message to the first computer system once said disk write request is received, said virtual disk driver sending said disk write request to the first disk drive only after receipt of said acknowledgment message; and suspending control of said program until said virtual disk driver sends said disk write request to the first disk drive; whereby said portion is duplicated on the second computer system.
Claim 17
Dependent Claim 267 words
In a network including first and second computer systems, the first and second computer systems having respective first and second processing units, disk drives and network interfaces, a method of improving the availability of data stored therein comprising the steps of: selecting a portion of the first disk drive of the first computer system to be duplicated on the second computer system; providing a virtual disk driver that operates on the first computer system; said virtual disk driver sending over the network to the second computer system a disk write request from a program, said disk write request specifying said portion of the first disk drive of the first computer system; said virtual disk driver sending said disk write request to the first disk drive after sending said disk write request to the second computer system; the second computer system sending an acknowledgment message to the first computer system once said disk write request is received, said virtual disk driver sending said disk write request to the first disk drive only after receipt of said acknowledgment message; said virtual disk driver receiving a first write complete message from the first disk drive when said disk write request has been written to said portion; said virtual disk driver receiving a second write complete message from the second computer system when said disk write request has been written to the second disk drive of the second computer system; and suspending control of said program until said virtual disk driver receives both of said first and second write complete messages; whereby said portion is duplicated on the second computer system.
Claim 18
Dependent Claim 267 words
In a network including first and second computer systems, the first and second computer systems having respective first and second processing units, disk drives and network interfaces, a method of improving the availability of data stored therein comprising the steps of: selecting a portion of the first disk drive of the first computer system to be duplicated on the second computer system; providing a virtual disk driver that operates on the first computer system; said virtual disk driver sending over the network to the second computer system a disk write request from a program, said disk write request specifying said portion of the first disk drive of the first computer system; said virtual disk driver sending said disk write request to the first disk drive after sending said disk write request to the second computer system; the second computer system sending an acknowledgment message to the first computer system once said disk write request is received, said virtual disk driver sending said disk write request to the first disk drive only after receipt of said acknowledgment message; said virtual disk driver receiving a first write complete message from the first disk drive when said disk write request has been written to said portion; said virtual disk driver receiving a second write complete message from the second computer system when said disk write request has been written to the second disk drive of the second computer system; and suspending control of said program until said virtual disk driver receives both of said first and second write complete messages; whereby said portion is duplicated on the second computer system.
Claim 19
Dependent Claim 167 words
In a network including first and second computer systems, the first and second computer systems having respective first and second processing units, disk drives and network interfaces, a method of improving the availability of data stored therein comprising the steps of: selecting a portion of the first disk drive of the first computer system to be duplicated on the second computer system; providing a virtual disk driver that operates on the first computer system; said virtual disk driver sending over the network to the second computer system a disk write request from a program, said disk write request specifying said portion of the first disk drive of the first computer system; said virtual disk driver sending said disk write request to the first disk drive after sending said disk write request to the second computer system; and suspending control of said program until said virtual disk driver sends said disk write request to the first disk drive; whereby said portion is duplicated on the second computer system.
Claim 20
Dependent Claim 167 words
In a network including first and second computer systems, the first and second computer systems having respective first and second processing units, disk drives and network interfaces, a method of improving the availability of data stored therein comprising the steps of: selecting a portion of the first disk drive of the first computer system to be duplicated on the second computer system; providing a virtual disk driver that operates on the first computer system; said virtual disk driver sending over the network to the second computer system a disk write request from a program, said disk write request specifying said portion of the first disk drive of the first computer system; said virtual disk driver sending said disk write request to the first disk drive after sending said disk write request to the second computer system; and suspending control of said program until said virtual disk driver sends said disk write request to the first disk drive; whereby said portion is duplicated on the second computer system.
Claim 21
Dependent Claim 219 words
In a network including first and second computer systems, the first and second computer systems having respective first and second processing units, disk drives and network interfaces, a method of improving the availability of data stored therein comprising the steps of: selecting a portion of the first disk drive of the first computer system to be duplicated on the second computer system; providing a virtual disk driver that operates on the first computer system; said virtual disk driver sending over the network to the second computer system a disk write request from a program, said disk write request specifying said portion of the first disk drive of the first computer system; said virtual disk driver sending said disk write request to the first disk drive after sending said disk write request to the second computer system; said virtual disk driver receiving a first write complete message from the first disk drive when said disk write request has been written to said portion; said virtual disk driver receiving an acknowledgment message from the second computer system when said disk write request has been received by the second computer system; and suspending control of said program until said virtual disk driver receives said first write complete message and said acknowledgment message; whereby said portion is duplicated on the second computer system.
Claim 22
Dependent Claim 219 words
In a network including first and second computer systems, the first and second computer systems having respective first and second processing units, disk drives and network interfaces, a method of improving the availability of data stored therein comprising the steps of: selecting a portion of the first disk drive of the first computer system to be duplicated on the second computer system; providing a virtual disk driver that operates on the first computer system; said virtual disk driver sending over the network to the second computer system a disk write request from a program, said disk write request specifying said portion of the first disk drive of the first computer system; said virtual disk driver sending said disk write request to the first disk drive after sending said disk write request to the second computer system; said virtual disk driver receiving a first write complete message from the first disk drive when said disk write request has been written to said portion; said virtual disk driver receiving an acknowledgment message from the second computer system when said disk write request has been received by the second computer system; and suspending control of said program until said virtual disk driver receives said first write complete message and said acknowledgment message; whereby said portion is duplicated on the second computer system.
Claim 23
Dependent Claim 43 words
The method of claim 17, further comprising the step of the second computer system sending a second write complete message to the first computer system when said disk write request has been written to the second disk drive of the second computer system.
Claim 24
Dependent Claim 173 words
In a network including first and second computer systems, the first and second computer systems having respective first and second processing units, disk drives and network interfaces, a method of improving the availability of data stored therein comprising the steps of: selecting a portion of the first disk drive of the first computer system to be duplicated on the second computer system; providing a virtual disk driver that operates on the first computer system; said virtual disk driver sending over the network to the second computer system a disk write request from a program, said disk write request specifying said portion of the first disk drive of the first computer system; the second computer system sending an acknowledgment message to the first computer system once said disk write request is received; said virtual disk driver sending said disk write request to the first disk drive only after receipt of said acknowledgment message; and suspending control of said program until said virtual disk driver sends said disk write request to the first disk drive.
Claim 25
Dependent Claim 173 words
In a network including first and second computer systems, the first and second computer systems having respective first and second processing units, disk drives and network interfaces, a method of improving the availability of data stored therein comprising the steps of: selecting a portion of the first disk drive of the first computer system to be duplicated on the second computer system; providing a virtual disk driver that operates on the first computer system; said virtual disk driver sending over the network to the second computer system a disk write request from a program, said disk write request specifying said portion of the first disk drive of the first computer system; the second computer system sending an acknowledgment message to the first computer system once said disk write request is received; said virtual disk driver sending said disk write request to the first disk drive only after receipt of said acknowledgment message; and suspending control of said program until said virtual disk driver sends said disk write request to the first disk drive.
Claim 26
Dependent Claim 232 words
In a network including first and second computer systems, the first and second computer systems having respective first and second processing units, disk drives and network interfaces, a method of improving the availability of data stored therein comprising the steps of: selecting a portion of the first disk drive of the first computer system to be duplicated on the second computer system; providing a virtual disk driver that operates on the first computer system; said virtual disk driver sending over the network to the second computer system a disk write request from a program, said disk write request specifying said portion of the first disk drive of the first computer system; the second computer system sending an acknowledgment message to the first computer system once said disk write request is received; said virtual disk driver sending said disk write request to the first disk drive only after receipt of said acknowledgment message; said virtual disk driver receiving a first write complete message from the first disk drive when said disk write request has been written to said portion; said virtual disk driver receiving a second write complete message from the second computer system when said disk write request has been written to the second disk drive of the second computer system; and suspending control of said program until said virtual disk driver receives both of said first and second write complete messages.
Claim 27
Dependent Claim 232 words
In a network including first and second computer systems, the first and second computer systems having respective first and second processing units, disk drives and network interfaces, a method of improving the availability of data stored therein comprising the steps of: selecting a portion of the first disk drive of the first computer system to be duplicated on the second computer system; providing a virtual disk driver that operates on the first computer system; said virtual disk driver sending over the network to the second computer system a disk write request from a program, said disk write request specifying said portion of the first disk drive of the first computer system; the second computer system sending an acknowledgment message to the first computer system once said disk write request is received; said virtual disk driver sending said disk write request to the first disk drive only after receipt of said acknowledgment message; said virtual disk driver receiving a first write complete message from the first disk drive when said disk write request has been written to said portion; said virtual disk driver receiving a second write complete message from the second computer system when said disk write request has been written to the second disk drive of the second computer system; and suspending control of said program until said virtual disk driver receives both of said first and second write complete messages.
Claim 28
Dependent Claim 157 words
In a network including first and second computer systems, the first and second computer systems having respective first and second processing units, disk drives and network interfaces, a method of improving the availability of data stored therein comprising the steps of: selecting a portion of the first disk drive of the first computer system to be duplicated on the second computer system; providing a virtual disk driver that operates on the first computer system; said virtual disk driver sending over the network to the second computer system a disk write request from a program, said disk write request specifying said portion of the first disk drive of the first computer system; said virtual disk driver sending said disk write request to the first disk drive after sending said disk write request to the second computer system; and suspending control of said program until said virtual disk driver sends said disk write request to the first disk drive.
Claim 29
Dependent Claim 157 words
In a network including first and second computer systems, the first and second computer systems having respective first and second processing units, disk drives and network interfaces, a method of improving the availability of data stored therein comprising the steps of: selecting a portion of the first disk drive of the first computer system to be duplicated on the second computer system; providing a virtual disk driver that operates on the first computer system; said virtual disk driver sending over the network to the second computer system a disk write request from a program, said disk write request specifying said portion of the first disk drive of the first computer system; said virtual disk driver sending said disk write request to the first disk drive after sending said disk write request to the second computer system; and suspending control of said program until said virtual disk driver sends said disk write request to the first disk drive.
Claim 30
Dependent Claim 209 words
In a network including first and second computer systems, the first and second computer systems having respective first and second processing units, disk drives and network interfaces, a method of improving the availability of data stored therein comprising the steps of: selecting a portion of the first disk drive of the first computer system to be duplicated on the second computer system; providing a virtual disk driver that operates on the first computer system; said virtual disk driver sending over the network to the second computer system a disk write request from a program, said disk write request specifying said portion of the first disk drive of the first computer system; said virtual disk driver sending said disk write request to the first disk drive after sending said disk write request to the second computer system; said virtual disk driver receiving a first write complete message from the first disk drive when said disk write request has been written to said portion; said virtual disk driver receiving an acknowledgment message from the second computer system when said disk write request has been received by the second computer system; and suspending control of said program until said virtual disk driver receives said first write complete message and said acknowledgment message.
Claim 31
Dependent Claim 209 words
In a network including first and second computer systems, the first and second computer systems having respective first and second processing units, disk drives and network interfaces, a method of improving the availability of data stored therein comprising the steps of: selecting a portion of the first disk drive of the first computer system to be duplicated on the second computer system; providing a virtual disk driver that operates on the first computer system; said virtual disk driver sending over the network to the second computer system a disk write request from a program, said disk write request specifying said portion of the first disk drive of the first computer system; said virtual disk driver sending said disk write request to the first disk drive after sending said disk write request to the second computer system; said virtual disk driver receiving a first write complete message from the first disk drive when said disk write request has been written to said portion; said virtual disk driver receiving an acknowledgment message from the second computer system when said disk write request has been received by the second computer system; and suspending control of said program until said virtual disk driver receives said first write complete message and said acknowledgment message.
Claim 32
Dependent Claim 43 words
The method of claim 22, further comprising the step of the second computer system sending a second write complete message to the first computer system when said disk write request has been written to the second disk drive of the second computer system.
Claim 33
Dependent Claim 148 words
A computer system network for improving the availability of data stored therein, comprising: a first computer system having a first processing unit, disk drive and network interface, wherein a portion of said first disk drive of said first computer system is to be duplicated; a second computer system coupled to the first computer system over a network, said second computer system having a second processing unit, disk drive and network interface, wherein said portion is to be duplicated on said second computer system; and a virtual disk driver operating on said first computer system, said virtual disk driver sending over the network to the second computer system a disk write request from a program in order to duplicate said portion on said second computer system, said disk write request specifying said portion, and thereafter said virtual disk driver sending said disk write request to the first disk drive.
Claim 34
Dependent Claim 148 words
A computer system network for improving the availability of data stored therein, comprising: a first computer system having a first processing unit, disk drive and network interface, wherein a portion of said first disk drive of said first computer system is to be duplicated; a second computer system coupled to the first computer system over a network, said second computer system having a second processing unit, disk drive and network interface, wherein said portion is to be duplicated on said second computer system; and a virtual disk driver operating on said first computer system, said virtual disk driver sending over the network to the second computer system a disk write request from a program in order to duplicate said portion on said second computer system, said disk write request specifying said portion, and thereafter said virtual disk driver sending said disk write request to the first disk drive.
Claim 35
Dependent Claim 31 words
The computer system network of claim 24, further comprising a queue on said second computer system that stores said disk write request before said portion is duplicated on said computer system.
Claim 36
Dependent Claim 112 words
A computer program product for improving the availability of data, comprising: code for a virtual disk driver operating a first computer that sends a disk write request over a network to a second computer system, said disk write request specifying a portion of a first dick drive of the first computer system; code for said virtual disk driver that sends said disk write request to the first disk drive in order to duplicate said portion on the second computer system, said disk write request being initiated to said first disk drive after said disk write request is sent to the second computer system; and a computer readable medium that stores the codes.
Claim 37
Dependent Claim 112 words
A computer program product for improving the availability of data, comprising: code for a virtual disk driver operating a first computer that sends a disk write request over a network to a second computer system, said disk write request specifying a portion of a first dick drive of the first computer system; code for said virtual disk driver that sends said disk write request to the first disk drive in order to duplicate said portion on the second computer system, said disk write request being initiated to said first disk drive after said disk write request is sent to the second computer system; and a computer readable medium that stores the codes.
Claim 38
Dependent Claim 65 words
The computer program product of claim 26, further comprising: code that sends said disk write request to the first disk drive only after receipt of an acknowledgment message from the second computer system that said disk write request was received; and code that suspends control of a program sending said disk write request until said disk write request is sent to the first disk drive.
Claim 39
Dependent Claim 192 words
A computer program product for improving the availability of data, comprising: code for a virtual disk driver operating a first computer that sends a disk write request over a network to a second computer system, said disk write request specifying a portion of a first disk drive of the first computer system; code for said virtual disk driver that sends said disk write request to the first disk drive after sending said disk write request to the second computer system; code that sends said disk write request to the first disk drive only after receipt of an acknowledgment message from the second computer system that said disk write request was received; code that suspends control of a program sending said disk write request until receipt of a first write complete message from the first disk drive that said disk write request has been written to said portion and receipt of a second write complete message from the second computer system that said disk write request has been written on a second disk drive; and a computer readable medium that stores the codes; whereby said portion is duplicated on the second computer system.
Claim 40
Dependent Claim 192 words
A computer program product for improving the availability of data, comprising: code for a virtual disk driver operating a first computer that sends a disk write request over a network to a second computer system, said disk write request specifying a portion of a first disk drive of the first computer system; code for said virtual disk driver that sends said disk write request to the first disk drive after sending said disk write request to the second computer system; code that sends said disk write request to the first disk drive only after receipt of an acknowledgment message from the second computer system that said disk write request was received; code that suspends control of a program sending said disk write request until receipt of a first write complete message from the first disk drive that said disk write request has been written to said portion and receipt of a second write complete message from the second computer system that said disk write request has been written on a second disk drive; and a computer readable medium that stores the codes; whereby said portion is duplicated on the second computer system.
Claim 41
Dependent Claim 123 words
A computer program product for improving the availability of data, comprising: code for a virtual disk driver operating a first computer that sends a disk write request over a network to a second computer system, said disk write request specifying a portion of a first disk drive of the first computer system; code for said virtual disk driver that sends said disk write request to the first disk drive after sending said disk write request to the second computer system; code that suspends control of a program sending said disk write request until said disk write request is sent to the first disk drive; and a computer readable medium that stores the codes; whereby said portion is duplicated on the second computer system.
Claim 42
Dependent Claim 123 words
A computer program product for improving the availability of data, comprising: code for a virtual disk driver operating a first computer that sends a disk write request over a network to a second computer system, said disk write request specifying a portion of a first disk drive of the first computer system; code for said virtual disk driver that sends said disk write request to the first disk drive after sending said disk write request to the second computer system; code that suspends control of a program sending said disk write request until said disk write request is sent to the first disk drive; and a computer readable medium that stores the codes; whereby said portion is duplicated on the second computer system.
Claim 43
Dependent Claim 159 words
A computer program product for improving the availability of data, comprising: code for a virtual disk driver operating a first computer that sends a disk write request over a network to a second computer system, said disk write request specifying a portion of a first disk drive of the first computer system; code for said virtual disk driver that sends said disk write request to the first disk drive after sending said disk write request to the second computer system; code that suspends control of a program sending said disk write request until receipt of a first write complete message from the first disk drive that said disk write request has been written to said portion and receipt of an acknowledgment message from the second computer system that said disk write request has been received by the second computer system; and a computer readable medium that stores the codes; whereby said portion is duplicated on the second computer system.
Claim 44
Dependent Claim 159 words
A computer program product for improving the availability of data, comprising: code for a virtual disk driver operating a first computer that sends a disk write request over a network to a second computer system, said disk write request specifying a portion of a first disk drive of the first computer system; code for said virtual disk driver that sends said disk write request to the first disk drive after sending said disk write request to the second computer system; code that suspends control of a program sending said disk write request until receipt of a first write complete message from the first disk drive that said disk write request has been written to said portion and receipt of an acknowledgment message from the second computer system that said disk write request has been received by the second computer system; and a computer readable medium that stores the codes; whereby said portion is duplicated on the second computer system.
Claim 45
Dependent Claim 35 words
The computer program product of claim 30, further comprising code that receives a second write complete message from the second computer system that said disk write request has been written to a second disk drive.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-06-08 2001-12-08 2002-06-09 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-06-08 2005-12-08 2006-06-09 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-06-08 2009-12-08 2010-06-09 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag