Patent ID: 8589598

Claim:
A method of managing command routing to peripheral devices comprising: determining a number of a plurality of independent physical paths to at least one peripheral device connected to a computer system; resolving all of the plurality of independent physical paths to the at least one peripheral device into one logical path; presenting the one logical path to any component of the computer system that issues a command destined for the at least one peripheral device; receiving the command destined for the at least one peripheral device from the component that issues a command destined for the at least one peripheral device; determining the number physical paths in a failed state, wherein the physical paths in a failed state are unable to connect to the at least one peripheral device; determining if any of the plurality of independent physical paths are in a temporary penalized state, wherein an independent physical path is placed in a temporary penalized state for a pre-determined penalty time period responsive to detecting a dispatched command error occurring in the independent physical path, the dispatched command error being of a type not causing the independent physical path to be placed in the failed state, and wherein the independent physical path is automatically and unconditionally returned to an active connection state upon expiration of the pre-determined penalty time period; and selecting a physical path not in the temporary penalized state and not in the failed state on which to route the received command to the at least one peripheral device.