System and method for server-to-server data storage in a network environment
First Claim
1. A system for storing data in a computer network, comprising:
- one or more target server applications stored on a computer readable medium at a target server;
one or more source server applications stored on a computer readable medium at a source server; and
a source server stored on a computer readable medium at a source server computer; and
a source server command interface operable to utilize metadata stored on the source server computer to define a virtual volume emulating a physical storage device at the source server;
a target server command interface operable to define the source server as a client to the target server;
wherein the source server computer executes the one or more source server applications to;
open a communication channel between the source server and the target server using a server-to-server protocol;
transfer data from the source server to the target server; and
represent the data as being stored on the virtual volume.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for storing data in a network computing environment. The network includes a source server that will receive data to be stored from a client and target servers that have locally attached physical storage media. A server-to-server protocol is used to establish a communication connection between the source server and target server while programming allows the storage of the data from the source server on the physical storage at the target server, while also creating a virtual volume at the source server on which the data is also stored. From the perspective of the client, the data appears to be stored at the source server on locally attached storage media. The present invention eliminates the requirement for actual physical media locally attached to the source server.
-
Citations
29 Claims
-
1. A system for storing data in a computer network, comprising:
-
one or more target server applications stored on a computer readable medium at a target server;
one or more source server applications stored on a computer readable medium at a source server; and
a source server stored on a computer readable medium at a source server computer; and
a source server command interface operable to utilize metadata stored on the source server computer to define a virtual volume emulating a physical storage device at the source server;
a target server command interface operable to define the source server as a client to the target server;
wherein the source server computer executes the one or more source server applications to;
open a communication channel between the source server and the target server using a server-to-server protocol;
transfer data from the source server to the target server; and
represent the data as being stored on the virtual volume. - View Dependent Claims (2, 3, 4, 5)
a) create and open a file object at the target server;
(b) write a portion of the data to the file object;
(c) close the file object upon occurrence of a transaction processing boundary; and
repeat (a)-(c) until the data has been entirely transferred.
-
-
3. The system of claim 2, wherein the source server computer further executes the one or more source server applications to:
-
use communication protocol specific attributes to establish the communication channel between the source server and the target server;
define attributes used to manage the data as the data is sent to the target server;
establish characteristics of the virtual volume; and
manage how the source server will use the virtual volume to store the data.
-
-
4. The system of claim 2, wherein the data is stored on a physical storage volume coupled to the target server, said physical storage volume accessible exclusively by the target server.
-
5. The system of claim 2, wherein the source server and the target server each further comprises:
-
a network communications manager application that controls communication to and from defined and available network interfaces;
a metadata storage manager application that controls the management and storage of metadata for server operations; and
a data storage manager application that controls the management and storage of the data.
-
-
6. A system for storing data in a computer network, comprising;
-
a target server;
a source server;
a source server command interface operable to utilize metadata stored on the source server computer to define a virtual volume emulating a physical storage device at the source server;
a target server command interface operable to define the source server as a client to the target server;
one or more server applications stored on the source server in a computer readable medium and one or more target server applications stored on the target server in a computer readable medium;
wherein the source server executes the one or more source server applications to;
open a communication channel between the source server and the target server using a server-to-server protocol;
transfer data from the source server to the target server; and
represent the data as being stored on a virtual volume locally attached to the source server. - View Dependent Claims (7, 8, 9, 10)
a) create and open a file object at the target server;
(b) write a portion of the data to the file object;
(c) close the file object upon occurrence of a transaction processing boundary; and
repeat (a)-(c) until all the data has been transferred.
-
-
8. The system of claim 7, wherein the source server computer further executes the one or more source server applications to:
-
use communication protocol specific attributes to establish the communication channel between the source server and the target server;
define the attributes used to manage the data as the data is sent to the target server;
establish characteristics of the virtual volume; and
manage how the source server will use the virtual volume to store the data.
-
-
9. The system of claim 7, wherein the data is stored on a physical storage volume coupled to the target server, said physical storage volume accessible exclusively by the target server.
-
10. The system of claim 7, wherein the source server and the target server each further comprises:
-
a network communications manager application that controls communication to and from defined and available network interfaces;
a metadata storage manager application that controls the management and storage of metadata for server operations; and
a data storage manager application that controls the management and storage of the data.
-
-
11. A method for managing data storage interaction between a source server and a target server in a computer network, comprising:
-
defining the source server as a client to the target server;
receiving a write operation request at the source server from a client to request storage of a data file on sequential storage media at the source server;
opening a communication connection between the source server and the target server using a server-to-server protocol;
utilizing metadata stored on the source server to define a virtual volume emulating a physical storage device at the source server;
creating a file object at the target server that includes a virtual volume verb;
opening the file object on the target server for storing the data file; and
writing data from the data file to the created file object at the target server to store the data file. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
(a) storing a portion of the data file in at least one buffer at the target server;
(b) performing a flush volume of the at least one buffer;
(c) closing the created file object on the target server;
(d) if there is more data in the data file to process, opening another file object at the target server;
(e) repeating steps (a) through (d) as necessary in order to store all data from the data file at the target server; and
closing the communication connection between the source server and target server.
-
-
13. The method of claim 11, wherein the write operation request includes a set of metadata for the data file.
-
14. The method of claim 11, further comprising storing the data file on a physical storage volume coupled to the target server, said physical storage volume accessible by the target server and inaccessible by the source server.
-
15. The method of claim 11, further comprising embedding a set of data file characteristics in the virtual volume verb, including a set of pointers to correlate a location where the data file is stored on the virtual volume to a location where the data file is stored at the target server.
-
16. The method of claim 11, further comprising;
- synchronizing a location of the data file on the virtual volume to a location of the data file on the target server.
-
17. The method of claim 11, further comprising:
-
defining the virtual volume within a device class to include a set of virtual characteristics for the virtual volume and to provide a naming convention for the virtual volume; and
identifying a set of source servers operable to store data at the target server and designation of a storage pool at the target server for storing data from the source server.
-
-
18. The method of claim 11, further comprising:
-
establishing a set of data transfer definitions for sending and receiving data between the source server and the target server;
storing the data file to the virtual volume;
the creating, opening, and writing comprising;
(a) creating and opening a file object at the target server;
(b) writing a portion of data from the data file to the file object;
(c) closing the file object upon the occurrence of a transaction processing boundary; and
repeating (a)-(c) until the entire data file has been transferred; and
storing the data file at the target server; and
defining a set of deletion attributes at the source server to control deleting the data file at the target server.
-
-
19. The method of claim 11, wherein the source server and the target server each further comprises:
-
a network communications manager application that controls communication to and from defined and available network interfaces;
a metadata storage manager application that controls the management and storage of metadata for server operations; and
a data storage manager application that controls the management and storage of the data.
-
-
20. In a computing network environment, a system for storing data, comprising:
-
a source server;
a target server coupled to a target storage media;
a target server command interface operable to define the source server as a client to the target server;
a virtual volume created and maintained in a set of metadata stored on the source server, said virtual volume emulating a physical storage device at the source server;
a command interface operable to configure the source server to enable a transfer of data from the source server to the target server over the network using a server-to-server protocol while also representing the data as stored at a location on the virtual volume. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29)
define the virtual volume at the source server;
define a set of communications attributes to establish a communication connection between the source server and target server; and
define a storage pool for storing the data.
-
-
22. The system of claim 20, wherein the command interface is stored on a computer-readable medium and comprises:
-
a source server command interface operable to;
define a set of server-to-server protocol specific attributes used to establish a communication connection between the source server and the target server; and
define the virtual volume at the source server when establishing a communication connection to the target server, the virtual volume having a set of characteristics emulating a physical storage device at the source server;
an authentication and data transfer software program to establish the communication connection and transferring the data between the source server and the target server; and
a reconciliation software program to synchronize the location of the data on the virtual volume to the location of the data on the target server.
-
-
23. The system of claim 22, wherein the source server command interface is further operable to define the virtual volume within a device class to include a set of virtual characteristics for the virtual volume and to provide a naming convention for the virtual volume.
-
24. The system of claim 22, wherein the target server command interface is further operable to identify a set of source servers operable to store data at the target server and designate of a storage pool at the target server for storing data from the source server.
-
25. The system of claim 22, wherein the authentication and data transfer software program is further operable to interface with the server-to-server protocol to communicate between the source server and target server and further to establish a set of data transfer definitions for sending and receiving data between the source server and the target server.
-
26. The system of claim 25, wherein the authentication and data transfer software program is further operable to:
-
store the data to the virtual volume; and
facilitate the transfer of the data to the target server, further comprising;
(a) creating and opening a file object at the target server;
(b) writing a portion of data from the data to the file object;
(c) closing the file object upon the occurrence of a transaction processing boundary; and
repeating (a)-(c) until all of the data has been transferred.
-
-
27. The system of claim 26, wherein the authentication and data transfer software program is further operable to:
-
store the data at the target server as archive files; and
define a set of deletion attributes at the source server to control deleting the archive files.
-
-
28. The system of claim 21, wherein the data is stored on a physical storage volume coupled to the target server, said physical storage volume accessible by the target server and inaccessible to the source server.
-
29. The system of claim 20, wherein the source server and the target server each further comprises:
-
a network communications manager application that controls communication to and from defined and available network interfaces;
a metadata storage manager application that controls the management and storage of metadata for server operations; and
a data storage manager application that controls the management and storage of the data.
-
Specification