SCSI tunneling protocol via TCP/IP using existing network hardware and software
A computer network system includes a client-server architecture, where the client transmits SCSI commands over a network using TCP/IP to a server to request input and output operations for a physical storage device that is communicatively coupled to a storage device. The client perceives the storage device to be a local disk drive, even though the storage device is located on the target side of a network. The system includes a client-side disk-based cache.
1. A method for providing expedited responsiveness to requests for data operations on storage devices, the method comprising:
providing at a client device a virtual representation of a physical storage device;
maintaining a local disk block cache that represents data on the physical storage device, wherein the local disk block cache is resident in the client device;
receiving a request for performing a data operation on the physical storage device;
satisfying the request for performing the data operation on the physical storage device using the local disk block cache; and
reconciling the local disk block cache with the data on the physical storage device.
2. A system for providing expedited responsiveness to requests for data operations on storage devices, the system comprising:
means for providing at a client device a virtual representation of a physical storage device;
means for maintaining a local disk block cache that represents data on the physical storage device, wherein the local disk block cache is resident in the client device;
means for receiving a request for performing a data operation on the physical storage device;
means for satisfying the request for performing the data operation on the physical storage device using the local disk block cache; and
means for reconciling the local disk block cache with the data on the physical storage device.
3. A computer program product for providing expedited responsiveness to requests for data operations on storage devices, the computer program product having instructions stored on a computer readable medium and adapted to perform operations comprising:
providing at a client device a virtual representation of a physical storage device;
maintaining a local disk block cache that represents data on the physical storage device, wherein the local disk block cache is resident in the client device;
receiving a request for performing a data operation on the physical storage device;
satisfying the request for performing the data operation on the physical storage device using the local disk block cache; and
reconciling the local disk block cache with the data on the physical storage device.