Mirroring network data to establish virtual storage area network
First Claim
1. A method of mirroring data stored on a first server having a first mass storage device to a second server having a second mass storage device to establish a virtual storage area network that includes the first and second mass storage devices, the method comprising:
- receiving a write request at a first server from a network device, the first server connected to a first mass storage device;
determining that the first server has write access to both the first mass storage device and to a second mass storage device by performing a policing protocol in response to the write request;
using an I/O driver of the first server, executing the write request at the first server to write data to the first mass storage device;
using a mirror engine of the first server, transmitting a copy of the write request from the first server to a second mirror engine of the second server; and
executing the copy of the write request at the second server by the second mirror engine of the second server to write the data to the second mass storage device without processing the write request using an I/O driver of the second server, such that the data is mirrored at the second mass storage device, and such that the data is stored in a virtual shared storage node from the standpoint of the first server and the second server.
10 Assignments
0 Petitions
Accused Products
Abstract
Mirroring data to provide a virtual storage area network using policing protocols and mirror engines without a physical shared storage node. The mirror engines are found at each server computer in the network in order to mirror the data between mass storage devices of the servers as the servers receive and execute write operations, which results in each mass storage device containing the same stored data. The policing protocols prevent data corruption by not allowing more than one server at a time write to a file of data. If one server experiences failure and is incapable of providing access to network data, the other server or servers can service all read requests, since all network data is accessible by all servers. Unlike conventional storage area networks, there is no physical shared storage node and, accordingly, the costs of obtaining and operating the virtual storage area network are relatively small.
59 Citations
35 Claims
-
1. A method of mirroring data stored on a first server having a first mass storage device to a second server having a second mass storage device to establish a virtual storage area network that includes the first and second mass storage devices, the method comprising:
-
receiving a write request at a first server from a network device, the first server connected to a first mass storage device; determining that the first server has write access to both the first mass storage device and to a second mass storage device by performing a policing protocol in response to the write request; using an I/O driver of the first server, executing the write request at the first server to write data to the first mass storage device; using a mirror engine of the first server, transmitting a copy of the write request from the first server to a second mirror engine of the second server; and executing the copy of the write request at the second server by the second mirror engine of the second server to write the data to the second mass storage device without processing the write request using an I/O driver of the second server, such that the data is mirrored at the second mass storage device, and such that the data is stored in a virtual shared storage node from the standpoint of the first server and the second server. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of mirroring data stored on a first server having a first mass storage device to a second mass storage device of a second server so that the data is accessible to the first server and the second server through a virtual storage area network formed between the first server and the second server, the virtual storage area network including a virtual shared storage node that physically includes a first mass storage device connected with the first server, a second mass storage device connected with the second server, means for mirroring data between the first mass storage device and the second mass storage device, and means for communicating between the first server and the second server, the method comprising:
-
receiving a write request that specifies that data is to be written to the virtual shared storage node; determining that the first server has write access to the virtual shared storage node by performing a policing protocol in response to the write request, including write access to the first mass storage device and write access to the second mass storage device; writing the data to the first mass storage device, the data at the first mass storage device being accessible by the first server; and using a mirror engine of the first server, transmitting a copy of the write request from the first server to a second mirror engine of the second server so that the data can be mirrored to the second mass storage device by a second mirror engine of the second server, the data at the second mass storage device being accessible by the second server. - View Dependent Claims (9, 10, 11)
-
-
12. A method of mirroring data stored on a first mass storage device of a first server to a second mass storage device of a second server to establish a virtual storage area network that includes the first mass storage device and the second mass storage device, the method comprising:
-
receiving a write request at a first server, the first server connected with a first mass storage device; using a policing protocol module associated with the first server, determining that a second server does not currently have write access priority to a portion of the first mass storage device or a portion of a second mass storage device, the second mass storage device connected to the second server; and providing the first server with write access priority to the portion of the first mass storage device and to the portion of the second mass storage device, and, while the first server has write access priority to the portion of the first mass storage device and to the portion of the second mass storage device; executing the write request at the first server to write data to said portion of the first mass storage device; and using a second mirror engine of the first server, transmitting a copy of the write request from the first server to the second server so that the data can be written to the second mass storage device while the first server has write access priority, so that the first server and the second server can have access the data. - View Dependent Claims (13, 14, 15)
-
-
16. A virtual storage area network configured so that a first server and a second server can access the same data from physically different mass storage devices, the virtual shared access network comprising:
-
a first server that receives write requests and read requests from network clients, the first server having; a first mass storage device; and a first mirror engine; a second server that receives write requests and read requests from network clients, the second server having; a second mass storage device; and a second mirror engine; and a means for communicating between the first mirror engine and the second mirror engine that performs at least the following functions; issuing a write operation request in response to a write request received from a particular network client at one of the first server and the second server; determining when the first server or the second server has write access to both the first mass storage device and the second mass storage device by performing a policing protocol in response to the write operation request; enabling the first mirror engine to mirror to the second mass storage device first data using the second mirror engine of the second server, so that the first data is also to be written to the first mass storage device; and enabling the second mirror engine to mirror to the first mass storage device second data using the first mirror engine of the first server, so that the second data is also to be written to the second mass storage device, so that the first server and the second server can access the same data from physically different mass storage devices. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23)
-
-
24. A method of mirroring data stored on a first mass storage device of a first server to a second mass storage device of a second server to establish a virtual storage area network that includes the first mass storage device and the second mass storage device, the method comprising:
-
receiving a write request at the first server, the first server connected with a first mass storage device; issuing a write operation request to a second server, the second server connected with a second mass storage device, so that the first mass storage device and the second mass storage device appear as a virtual shared storage node to the first server and the second server; performing a policing protocol in response to the write operation request to ensure that the first server has write access to at least a portion of the first mass storage device and at least a portion of the second mass storage device; using an I/O driver of the first server, executing the write request at the first server to write data to the virtual shared storage node, so that a first mirror engine operating on the first server receives the write operation request; transmitting the write request to a second mirror engine of the second server; and without processing the write request using an I/O driver of the second server, executing the write request at the second server to write the data to the second mass storage device, such that the data is mirrored at the second mass storage device. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
Specification