Methods for operating a network as a clustered file system is disclosed.
The methods involve client load rebalancing, distributed Input and Output
(I/O) and resource load rebalancing. Client load rebalancing refers to the
ability of a client enabled with processes in accordance with the current
invention to remap a path through a plurality of nodes to a resource.
Distributed I/O refers to the methods on the network which provide
concurrent input/output through a plurality of nodes to resources.
Resource rebalancing includes remapping of pathways between nodes, e.g.
servers, and resources, e.g. volumes/file systems. The network includes
client nodes, server nodes and resources. Each of the resources couples to
at least two of the server nodes. The method for operating comprising the
acts of: redirecting an I/O request for a resource from a first server
node coupled to the resource to a second server node coupled to the
resource; and splitting the I/O request at the second server node into an
access portion and a data transfer portion and passing the access portion
to a corresponding administrative server node for the resource, and
completing at the second server nodes subsequent to receipt of an access
grant from the corresponding administrative server node a data transfer
for the resource. In an alternate embodiment of the invention the methods
may additionally include the acts of: detecting a change in an
availability of the server nodes; and rebalancing the network by applying
a load balancing function to the network to re-assign each of the
available resources to a corresponding available administrative server
node responsive to the detecting act.