Scalable I/O system for the efficient transfer of storage device data by a non-server reconnection
First Claim
1. A method for achieving a scalable I/O system, the method comprising:
- (a) forming a request for data transfer by a client to a server;
(b) initiating a connection from the server to at least one storage device, the at least one storage device being separate from the server, the connection being via a server interface in the at least one storage device;
(c) establishing via the server an ability to respond to the client via a non-server interface in the at least one storage device, the non-server interface being directly between the client and the storage device; and
(d) performing data transfer with the storage device to the client via the non-server interface;
wherein the at least one storage device is a long-term storage device.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for a scalable I/O system are presented. The scalable I/O system includes a server, at least one client, and at least one storage device. The server interfaces with the at least one client and at least one storage device. The at least one storage device and at least one client also interface for data transfer. The server initiates data transfer from the storage device on behalf of an open client. The server further sets up a disconnect state in the at least one storage device to be reconnected for transfer to a non-server interface. The server further passes information to the open client that is requesting data transfer, which allows the open client to determine dimensions of data transfer, number of storage devices that require accessing for the data transfer, and the relationship of the data transfer of each storage device to the original data request sent to the server.
60 Citations
27 Claims
-
1. A method for achieving a scalable I/O system, the method comprising:
-
(a) forming a request for data transfer by a client to a server;
(b) initiating a connection from the server to at least one storage device, the at least one storage device being separate from the server, the connection being via a server interface in the at least one storage device;
(c) establishing via the server an ability to respond to the client via a non-server interface in the at least one storage device, the non-server interface being directly between the client and the storage device; and
(d) performing data transfer with the storage device to the client via the non-server interface;
wherein the at least one storage device is a long-term storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
forwarding the request from the server communication driver to the server; and
tagging the request with a unique token.
-
-
3. The method of claim 2 wherein step (b) further comprises validating the request by the server;
-
identifying storage devices needed for data transfer; and
establishing an event task for the request.
-
-
4. The method of claim 3 wherein step (b) further comprises sending a command message to each of the identified storage devices and providing an indicator of reconnection for data transfer to a non-server interface.
-
5. The method of claim 4 wherein step (c) further comprises acknowledging the request in each of the identified storage devices;
-
providing a storage device command identifier; and
processing the request in the identified storage devices up to a point of reconnection for data transfer.
-
-
6. The method of claim 5 further comprising providing a message from the server to the server communication driver, wherein the message references the unique token, the identified storage devices, and a plurality of indicators.
-
7. The method of claim 6 wherein the plurality of indicators comprise:
-
an interface address of each identified storage device;
the storage device command identifier;
a server identification token and a server sequence number;
a server identity as server is known to identified storage devices;
a data template; and
data transfer parameters.
-
-
8. The method of claim 7 wherein step (d) further comprises preparing the client for data transfer through the server communication driver;
- and
sending a reconnection command to the identified storage devices.
- and
-
9. The method of claim 8 wherein the reconnection command includes the storage device command identifier.
-
10. The method of claim 9 further comprising validating in the identified storage devices a pending command for data transfer and the reconnection command, and reconnecting to the client for data transfer.
-
11. The method of claim 10 further comprising providing a status of completion for the reconnect command in the client when the data transfer is done and marking the storage device command identifier completed in the storage device.
-
12. The method of claim 11 further comprising sending an operation complete message to the server by the server communication driver when all storage device transfer completed.
-
13. The method of claim 12 wherein the operation complete message references the unique token, server identification token, and server sequence number.
-
14. The method of claim 13 further comprising closing the event task by the server and removing validation of an event identifier in the server.
-
15. A scalable input/output system comprising:
-
at least one storage device for storing data;
at least one client system connected to the at least one storage device for data transfer; and
a server, the server being separate from the at least one storage device, the server interfacing with the at least one storage device for setting up data transfer with the at least one client system, and interfacing with the at least one client system for modifying the client to the server communication to allow data to be returned from the at least one storage device to the at least one client system via a non-server interface in the at least one storage device, the non-server interface being directly between the client and the at least one storage device;
wherein the at least one storage device is a long-term storage device; and
wherein the non-server interface in the at least one storage device is established via the server. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A method for achieving data transfer in a scalable input/output system, the method comprising the steps of:
-
interfacing one or more client system with a server;
interfacing the client system with one or more storage devices; and
interfacing the server with the storage devices, the storage devices being separate from the server, the server initiating data transfer from the storage devices by establishing via the server an ability to respond to the client system via a non-server interface in the storage devices, the non-server interface being directly between the client and the storage device;
wherein the at least one storage device is a long-term storage device. - View Dependent Claims (25, 26, 27)
-
Specification