Patent ID: 7631034

Claim:
An automated method that optimizes the selection of a node in a distributed file system (DFS) to fulfill a client request comprising: iteratively collecting and maintaining network performance data for a plurality of DFS nodes at a master node, wherein each of said DFS nodes and said master node comprise a computer program product stored in a memory coupled to a processor able to execute the computer program product; receiving a client request for a resource by a master node of a distributed file system (DFS), wherein the DFS comprises a plurality of DFS nodes having access to a plurality of resources, wherein the requested resource is accessible by at least two of the DFS nodes; preselecting at least two DFS nodes from the plurality of DFS nodes, wherein the at least two DFS nodes are capable of fulfilling the client request, wherein the preselection utilizes network performance data maintained by the master node associated with each of the plurality of DFS nodes to preselect only those nodes that are not over utilized as defined by node specific performance data; in response to the preselecting step, each preselected DFS node and no other DFS node of the plurality of DFS nodes participating in a voting process, wherein said voting process dynamically determines an optimal response DFS node for the client request, during said voting process: each DFS node calculating a performance index value which is a quantitative rating of the DFS nodes' current capability to service the client request; each of said preselected DFS nodes conveying the calculated performance index value to other ones of the preselected DFS nodes; once a DFS node has received performance index values from the other preselected DFS nodes that DFS node determining whether its performance index value is at least as good as the received performance index values from other DFS nodes; and when a positive determination results, the DFS node having positive determination results determining that it is to be designated as an optimal response node for the client request which results in a conveyance of a message indicating that the node is an optimal response node to the master node; fulfilling the client request with the optimal response DFS node, whereby providing the requestor with a DFS node best capable of servicing the client request.