System, machine, and method for maintenance of mirrored datasets through surrogate writes during storage-area networks transients
AssigneeHewlett-Packard Development Company, L.P.
InventorsGreg Pellegrino, Thomas Grieff
Life of this patent
Estimating the term…
Abstract
A host bus adapter for interconnecting a computer system to a storage area network has an embedded processor for processing frames. When frames are received by the processor, it inspects frames for encapsulated write requests and, if encapsulated write request frames are found, de-encapsulates the write request and forwards the write request to a target node of the write request.
Claims13
A method of managing a write request from a first compute node in a storage area network to a mirrored storage data set having a first storage node and a second storage node in the storage area network, comprising:
- if there are available communication paths between the first compute node and both the first storage node and the second storage node in the mirrored data set, then executing the write request from the first compute node to both the first storage node and the second storage node using the available communication paths;
- if there are no available communication paths between the first compute node and the first storage node and the second storage node, then invoking an error routine;
- if there is an available communication path between the first compute node and only one of the first storage node and the second storage node in the mirrored data set, then:
- executing the write request from the first compute node to the first storage node or the second storage node via the available communication path;
- determining if a second compute node supports surrogate writes, wherein a surrogate write is a write performed by a node on behalf of another node;
- transmitting the write request from the first compute node to the second compute node determined to support surrogate writes if there is an available direct communication path from the first compute node to the second compute node and an available communication path from the second compute node through a first switch or a second switch to the first storage node or the second storage node, wherein a direct communication path is a path between two compute nodes, possibly passing through a switch, but not passing through a third compute node.
A method of performing a surrogate write operation in a storage area network, comprising:
- receiving, at a second compute node, a query from a first compute node, wherein the query identifies a target node in the storage area network for the surrogate write operation;
- determining if the second compute node supports surrogate writes, wherein a surrogate write is a write performed by a node on behalf of another node;
- transmitting a reply to the first compute node, wherein the reply includes a signal component indicating there is an available communication path between the second compute node and the target node;
- wherein the reply indicates whether or not the second compute node supports surrogate writes;
- and
- relaying write operations from the first compute node to the target node if there is an available communication path between the second compute node and the target node and the second compute node supports surrogate writes.
One or more computer-readable media comprising logic instructions for performing a surrogate write operation in a storage area network that, when executed by a processor, cause the processor to perform operations comprising:
- receiving, at a second compute node, a query from a first compute node, wherein the query identifies a target node in the storage area network for the surrogate write operation;
- determining if the second compute node supports surrogate writes, wherein a surrogate write is a write performed by a node on behalf of another node;
- transmitting a reply to the first compute node, wherein the reply includes a signal component indicating there is an available communication path between the second compute node and the target node;
- wherein the reply indicates whether or not the second compute node supports surrogate writes;
- and
- relaying write operations from the first compute node to the target node if there is an available communication path between the second compute node and the target node and the second compute node supports surrogate writes.
Dependencies are inferred from the claim text.