Patent ID: 8615615

Claim:
A method for communication between an initiator system and a block storage cluster, comprising: receiving an input/output (I/O) request from the initiator system on a target, the input/output (I/O) request associating data for transfer to or transfer from a storage location, the data configured to be accessed via a plurality of ports, each of the plurality of ports controlled by one of two or more controllers; adding priority information to a multiple path referral for each port, by the target, on which the data configures to be accessed, where the priority information includes a plurality of relative performances for accessing data via the plurality of ports by the initiator system; selectively omitting, by the target, one or more ports on which the data is configured to be accessed from the multiple path referral to prohibit an initiator from the initiator system from accessing data via those one or more ports, wherein the selectively omitting one or more ports temporarily shifts a load to at least one other port on which the data configures to be accessed; transmitting multiple path referral to the initiator system including the priority information; choosing a path from the multiple path referral by the initiator system; determining, by the initiator system, that the chosen path includes an overloaded controller in the two or more controllers, the overloaded controller handling a disproportionate load as compared to other controllers in the two or more controllers; and moving, by the initiator system, a part of a load associated with the overloaded controller to another controller in the two or more controllers, outside the chosen path.