Patent ID: 7475124

Claim:
A data processing system comprising: a client, a storage server, and an Internet Protocol (IP) network linking the client to the storage server for client access to storage in the storage server, the storage including storage units allocated to the client, the storage server containing an identification of the storage units allocated to the client, the client and the storage server each being programmed with a protocol stack, each protocol stack including a network block services layer over an IP layer, the network block services layer encoding and decoding IP packets transmitted over the IP network between the client and the server in accordance with a network block services protocol, the IP packets transmitted over the IP network between the client and the server in accordance with the network block services protocol including IP packets for requesting the identification of the storage units allocated to the client, IP packets for reading data from the storage units allocated to the client, and IP packets for writing data to the storage units allocated to the client, the client being programmed for configuring the identified storage units allocated to the client into pseudo-disk instances after obtaining from the storage server the identification of the storage units allocated to the client by invoking the network block services layer to request from the storage server the identification of the storage units allocated to the client, and the client being further programmed with a block interface for enabling an operating system or application program of the client to access the pseudo-disk instances by invoking the network block services layer to read data from the storage units allocated to the client and for writing data to the storage units allocated to the client, wherein the client is programmed with a list of storage server IP addresses, and wherein the protocol stack of the client includes a configuration and fail-over layer between the network block services layer and the IP layer, the configuration and fail-over layer responding to a failure to communicate with a storage server IP address in the list of storage server IP addresses by re-establishing communication with an alternative storage server IP address in the list of storage server IP addresses.