Patent ID: 8073993

Claim:
A computer system configured at least in part to transfer commands to a peripheral device, comprising: a central processing unit to execute an operating system and at least one device driver application program applicable to at least one peripheral device; a main memory connected to the central processing unit with a memory bus; at least one peripheral device attached to the central processing unit and the main memory; a plurality of independent physical paths connecting the central processing unit and main memory with the at least one peripheral device; a redundancy manager connected to the at least one peripheral device and to a host system bus for determining a respective independent physical path of said plurality of independent physical paths to which to route each command to a respective peripheral device of a plurality of commands, the redundancy manager comprising an error classifier that classifies dispatched command errors associated with the plurality of independent physical paths according to a plurality of error types, wherein responsive action taken by said redundancy manager responsive to detecting an error of a first type is different from responsive action taken by said redundancy manager responsive to detecting an error of a second type; wherein the redundancy manager determines the particular independent physical path to route a command to the at least one peripheral device based at least partly upon whether the particular independent physical path is 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 an error of said first type occurring in the independent physical path, and automatically returned to an active connection state upon expiration of the pre-determined penalty time period.