Patent ID: 7421420

Claim:
A method for device selection, the method comprising: generating a command in a host, wherein the command is for a library manager; selecting, by a device selection application in the host, a device from a subsystem in a storage library based on a preference order, wherein the storage library is coupled to the host and the library manager; and sending the command from the host to the selected device for communicating with the library manager, wherein the command is stored in storage in the selected device, wherein the command from the host is communicated to the library manager by the selected device, wherein the host does not directly communicate with the library manager, wherein the command is communicated from the host to the selected device of the subsystem in the storage library and the selected device of the subsystem in the storage library then communicates the command to the library manager, wherein selecting the device from the subsystem in the storage library based on the preference order further comprises selecting online devices in preference to offline devices, wherein the subsystem is one of a plurality of subsystems included in the storage library, wherein in response to a failure of the selected device to communicate the command from the host to the library manager an alternative device from one of the plurality of subsystems is used for attempting to communicate the command from the host to the library manager, wherein a maximum number of devices from each of the subsystems of the plurality of subsystems that is configured for attempting to communicate the command from the host to the library manager is restricted to a predetermined number by limiting a number of retries of devices from a first subsystem to be a function of a number of subsystems having connectivity to the host, wherein computation of the function comprises dividing a predetermined maximum number of devices that is configured to issue a single command to the library manager by the number of subsystems having connectivity to the host, wherein a previous device selected in the first subsystem has failed to communicate the command to the library manager.