A network-based storage system comprises one or more block-level storage
servers that connect to, and provide disk storage for, one or more host
computers ("hosts") over logical network connections (preferably TCP/IP
sockets). In one embodiment, each host can maintain one or more socket
connections to each storage server, over which multiple I/O operations
may be performed concurrently in a non-blocking manner. The physical
storage of a storage server may optionally be divided into multiple
partitions, each of which may be independently assigned to a particular
host or to a group of hosts. When a host initially connects to a storage
server in one embodiment, the storage server initially authenticates the
host, and then notifies the host of the ports that may be used to
establish data connections and of the partitions assigned to that host.