Patent ID: 8024418

Claim:
A method for performing commands at a router device connected to a plurality of hosts and to a storage device including memory, wherein each of the hosts is configured to transmit an access request to the storage device via the router device, wherein the router device includes a plurality of logical unit data structures, wherein each logical unit data structure is associated with a portion of the memory of the storage device and is designated by a logical unit number (LUN), comprising: providing a plurality of command tables at the router device, wherein the command tables include a reserved command table and a normal command table, wherein the reserved command table is separate from the normal command table; storing, in the reserved command table, functions to be performed for specific commands received from one or more of the plurality of hosts when one or more of the logical unit data structures are reserved by a corresponding one of the one or more hosts; storing, in the normal command table, functions to be performed for the same specific commands when the one or more of the logical unit data structures are not reserved by the corresponding one of the one or more hosts; assigning, at the router device, logical unit data structures of the router device to each host, wherein assigning includes establishing a separate host/logical unit data structure associated with each host/logical unit pair, wherein the host/logical unit data structure defines when a corresponding logical unit data structure of the router device is reserved by a corresponding one of the hosts; receiving, at the router device, a command from one of the plurality of hosts over the network; selecting a command table to be used to perform the command, wherein selecting is a function of the host/logical unit data structure associated with the host that transmitted the command over the network, wherein selecting includes choosing the reserved command table if the host/logical unit data structure indicates that the logical unit data structure associated with the host/logical unit data structure is reserved by another host and choosing the normal command table if the host/logical unit data structure indicates that the logical unit data structure associated with the host/logical unit data structure is not reserved by other hosts; and performing the command using the selected command table, wherein performing includes executing a routine indicated by the selected command table.