Apparatus for fencing a member of a group of processes in a distributed processing environment
AssigneeInternational Business Machines Corporation
InventorGili Mendel
Life of this patent
Estimating the term…
Abstract
An apparatus for use in a distributed processing system having a plurality of nodes wherein selected nodes are fenced or unfenced from selected ones of peripheral device server nodes in a fence/unfence operation. A common memory is provided for storing a fence map listing nodes fenced from server nodes. In the fence/unfence operation, a request processing node proposes changes to the fence map, and if no node fails during the fence/unfence operation, the proposed changes are changed into committed changes. If a node fails during the fence/unfence operation, the proposed changes are erased, the previous committed changes are restored, and the fence/unfence request is removed from the process queue for processing by the request processing node.
Claims10
In a distributed computer system having a plurality of nodes, one of the nodes being a request processing node (A node) and one or more nodes being peripheral device server nodes (S nodes), an apparatus for fencing or unfencing in a fence/unfence operation, one or more nodes (X nodes) from said S nodes, said apparatus comprising:
- a common memory for storing a fence map, said fence map having entries therein, each entry for storing an indication of an S node to be fenced, a commit bit indicating if the entry is proposed or committed, and a bit map indicating which X nodes are to be fenced from the S node of the entry;
- local memory in each of said plurality of nodes for storing a local copy of said fence map;
- request processing means in said A node for processing a request specifying X nodes to be fenced or unfenced from specified S nodes during said fence/unfence operation;
- computing means in said A node for computing the nodes to participate (F nodes) in said fence/unfence operation, said participating nodes including the A node, the X nodes to be either fenced or unfenced from said S nodes, and the S nodes thus fenced or unfenced;
- message means for sending messages from said A node to said F nodes instructing each F node to begin said fence/unfence operation for that node;
- a first phase of said fence/unfence operation including proposing means for proposing changes in said fence map reflecting the fencing or unfencing of said X nodes;
- a second phase in said fence/unfence operation including refresh means for refreshing the local map of each of the F nodes from the proposed changes in the fence map in said central memory;
- and access means for said X nodes, said access means eliminating access to specified S nodes from specified X nodes to be fenced, if any, and restoring access to specified S nodes with specified X nodes to be unfenced, if any;
- and
- a third phase in said fence/unfence operation including flush means for said S nodes, said flush means for flushing I/O operations from specified X nodes to be fenced from specified S nodes, if any;
- and commit means for a selected one of said F nodes, said commit means for erasing all entries in the fence map of said common memory whose commit bit indicates the entry is committed, and changing all entries whose commit bit indicates the entry is proposed, to a committed entry.
Dependencies are inferred from the claim text.