System and method for out of user space I/O with server authentication
First Claim
1. A computer program product comprising a computer usable medium having a computer readable program, wherein the computer readable program, when executed on computing device, causes the computing device to:
- receive an input/output (I/O) request from an application instance, wherein the I/O request includes a key value for identifying an entry in a translation protection table data structure, and wherein the I/O request targets a portion of a storage device in a remotely located storage system upon which an I/O operation is to be performed;
retrieve an entry from a translation protection table based on the key value, wherein the entry includes an identifier of the storage device and a logical unit number corresponding to the portion of the storage device targeted by the I/O request;
generate a storage command based on the identifier of the storage device and the logical unit number retrieved with the entry from the translation protection table; and
place the storage command in a storage command queue for transmission to the remotely located storage system.
2 Assignments
0 Petitions
Accused Products
Abstract
A system, method, and computer program product that enables user space middleware or applications to pass I/O storage requests directly to a network attached storage device via a storage server that performs authentication are provided. A mechanism is provided for using a translation protection table (TPT) data structure, which may include a file name protection table (FNPT) and file extension protection table (FEPT), or logical volume protection table (LVPT), to control user space and out of user space Input/Output (I/O) operations. The storage server performs authentication of an application instance'"'"'s request to open an operating system logical volume and, upon being authenticated, permits the application instance to submit I/O storage requests via the TPT to the opened OS logical volume. I/O storage requests are translated into storage commands using the TPT and the storage commands are encapsulated for transmission via one or more networks to the storage server.
155 Citations
35 Claims
-
1. A computer program product comprising a computer usable medium having a computer readable program, wherein the computer readable program, when executed on computing device, causes the computing device to:
-
receive an input/output (I/O) request from an application instance, wherein the I/O request includes a key value for identifying an entry in a translation protection table data structure, and wherein the I/O request targets a portion of a storage device in a remotely located storage system upon which an I/O operation is to be performed;
retrieve an entry from a translation protection table based on the key value, wherein the entry includes an identifier of the storage device and a logical unit number corresponding to the portion of the storage device targeted by the I/O request;
generate a storage command based on the identifier of the storage device and the logical unit number retrieved with the entry from the translation protection table; and
place the storage command in a storage command queue for transmission to the remotely located storage system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. An apparatus, comprising:
-
a processor; and
a memory coupled to the processor, wherein the memory stores instructions which, when executed by the processor, causes the processor to;
receive an input/output (I/O) request from an application instance, wherein the I/O request includes a key value for identifying an entry in a translation protection table data structure, and wherein the I/O request targets a portion of a storage device in a remotely located storage system upon which an I/O operation is to be performed;
retrieve an entry from a translation protection table based on the key value, wherein the entry includes an identifier of the storage device and a logical unit number corresponding to the portion of the storage device targeted by the I/O request;
generate a storage command based on the identifier of the storage device and the logical unit number retrieved with the entry from the translation protection table; and
place the storage command in a storage command queue for transmission to the remotely located storage system. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A method, in a data processing system, for performing input/output (I/O) operations with a remotely located storage system, comprising:
-
receive an I/O request from an application instance, wherein the I/O request includes a key value for identifying an entry in a translation protection table data structure, and wherein the I/O request targets a portion of a storage device in the remotely located storage system upon which an I/O operation is to be performed;
retrieve an entry from a translation protection table based on the key value, wherein the entry includes an identifier of the storage device and a logical unit number corresponding to the portion of the storage device targeted by the I/O request;
generate a storage command based on the identifier of the storage device and the logical unit number retrieved with the entry from the translation protection table; and
place the storage command in a storage command queue for transmission to the remotely located storage system.
-
Specification