Patent ID: 9727259
Date: 2017-08-08
CPC Classifications: G06F

Claim:
1. A method for dispatching of service requests in a redundant storage virtualization subsystem (SVS) including a plurality of storage virtualization controllers (SVCs), comprising the steps of: configuring redundantly a first SVC and a second SVC of the plurality of SVCs such that when one of said first and second SVCs fails, the other of said first and second SVCs will take over functionality of the failed SVC to handle I/O requests; configuring said first SVC and said second SVC such that not only said first SVC but also said second SVC handle the service requests, and that when the one SVC fails, said the other SVC will take over functionality of the failed SVC to handle said service requests; the first SVC receiving a service request from a host entity, when said first SVC and said second SVC are both alive; determining by the first SVC whether or not said first SVC is a service request servicing function owner, when said first SVC and said second SVC are both alive; if said first SVC is the service request servicing function owner, servicing the service request by the first SVC directly, otherwise issuing a request to a service request servicing function ownership arbiter for an ownership transfer to the first SVC itself, when said first SVC and said second SVC are both alive; said ownership arbiter issuing a request to the servicing function owner, which is the second SVC, to relinquish ownership, when said first SVC and said second SVC are both alive; said servicing function owner preparing to relinquish ownership first and then issuing an acknowledgement to said ownership arbiter acknowledging the relinquishing of ownership, when said first SVC and said second SVC are both alive; said ownership arbiter issuing an acknowledgement to said first SVC to which ownership is to be transferred and said first SVC becoming a new servicing function owner, when said first SVC and said second SVC are both alive; said new servicing function owner, the first SVC, starting to service pending service requests, when said first SVC and said second SVC are both alive; and, on completion of request servicing, said new servicing function owner, the first SVC, conveying response data and status information to the host entity.