Method to enable remote storage utilization
First Claim
1. A method, comprising:
- emulating a local disk drive as a virtual disk hosted by a client, the virtual disk having corresponding data stored on a remote storage server accessible to the client via a network, operation of the virtual disk being transparent to an operating system running on the client such that the operating system believes the local disk drive being emulated is actually hosted by the client.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for enabling remote storage utilization as local disk resources. A virtual disk drive comprising an emulation of a non-existent local (to a client) disk drive is facilitated via out-of-band (OOB) communications with a remote storage server in a manner that is transparent to an operating system (OS) running on the client. Storage access requests are processed in a conventional manner by the client OS, being passed as a block storage request to a firmware driver. The firmware driver redirects the request to a remote agent running on the remote storage server via a LAN microcontroller on the client using an OOB channel. A listener at the remote server routes packets to the remote agent. The remote agent performs a logical-to-physical storage block translation to map the storage request to appropriate storage blocks on the server. In one embodiment, an image of the virtual disk is stored in a single file on the server. The scheme supports diskless clients, disk mirroring and remote OS provisioning.
-
Citations
28 Claims
-
1. A method, comprising:
emulating a local disk drive as a virtual disk hosted by a client, the virtual disk having corresponding data stored on a remote storage server accessible to the client via a network, operation of the virtual disk being transparent to an operating system running on the client such that the operating system believes the local disk drive being emulated is actually hosted by the client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
14. A method, comprising:
-
emulating a local disk drive as a virtual disk hosted by a client, the virtual disk providing a storage space comprising a plurality of logical storage blocks and having corresponding data stored in a plurality of physical storage blocks on a remote storage server accessible to the client via a network, copying an operating system image into a portion of the plurality of physical storage blocks by performing a block-by-block copy operation for the operating system image; and
configuring the client to boot an operating system from the virtual disk, wherein the client boots the operating system image stored in the single file. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A method, comprising:
-
emulating a second local disk drive as a virtual disk hosted by a client having a first local disk drive, the virtual disk providing a storage space comprising a plurality of logical storage blocks and having corresponding data stored in a plurality of physical storage blocks on a remote storage server accessible to the client via a network; and
mirroring data on the first local disk drive by writing the data to the virtual disk, the data being physically stored in the plurality of physical storage blocks on the remote storage server. - View Dependent Claims (20, 21, 22)
-
-
23. A machine-readable medium to provide instructions, which if executed on a remote storage server perform operations comprising:
-
receiving a storage access request from a client coupled to the remote storage server via a network identifying a plurality of logical storage blocks for which data is to be written or read;
translating addresses for the plurality of logical storage blocks to addresses for corresponding physical storage blocks accessed via the remote storage server;
and performing one of generating a physical storage block write request to have data written to the physical storage blocks or generating a physical storage block read request to have data read from the physical storage blocks. - View Dependent Claims (24, 25, 26, 27, 28)
-
Specification