LOAD-DERIVED PROBABILITY-BASED DOMAIN NAME SERVICE IN A NETWORK STORAGE CLUSTER
First Claim
1. A method comprising:
- implementing a domain name service (DNS) within a network storage cluster that includes a plurality of storage server nodes; and
load balancing between the storage server nodes in the cluster, by using a weighted random distribution to resolve client name service requests to network addresses in the storage cluster.
1 Assignment
0 Petitions
Accused Products
Abstract
DNS name resolution is integrated into each node in a network storage cluster, to allow load balancing of network addresses, using a weighted random distribution to resolve DNS requests. A node in the cluster gathers statistics on utilization of resources, such as CPU utilization and throughput, on nodes in the cluster and distributes those statistics to all other nodes. Each node uses the same algorithm to generate weights for the various IP addresses of the cluster, based on the statistics distributed to it. The weights are used to generate a weighted list of available network addresses. In response to a DNS request, a DNS in a given node randomly indexes into the weighted address list to resolve requests to a network address. The weights are chosen so that the DNS is likely to pick an IP address which has a low load, to balance port and node usage over time.
-
Citations
28 Claims
-
1. A method comprising:
-
implementing a domain name service (DNS) within a network storage cluster that includes a plurality of storage server nodes; and load balancing between the storage server nodes in the cluster, by using a weighted random distribution to resolve client name service requests to network addresses in the storage cluster. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method comprising:
-
gathering statistics, at a storage server node in a network storage cluster that includes a plurality of storage server nodes, the statistics relating to CPU utilization and throughput for each of a set of ports in the network storage cluster; distributing the statistics from said storage server node to each of the other storage server nodes in the cluster; in each of the storage server nodes in the cluster, determining a set of weights for a set of network addresses of the cluster, based on the distributed statistics, wherein each of the storage server nodes determines the same set of weights for the set of network addresses; in each of the storage server nodes in the cluster, creating a weighted list of available network addresses, based on the set of weights; receiving a client name service request at one of the storage server nodes; and in response to the client name service request, randomly indexing into the weighted list in said one of the storage server nodes, to resolve the client name service request to a network address in the storage cluster. - View Dependent Claims (15, 16, 17)
-
-
18. A system comprising:
-
a plurality of storage server nodes coupled to each other to form a network storage cluster, and a domain name server (DNS) implemented by each storage server node in the cluster, wherein each of the storage server nodes is capable of resolving a client mount request containing a host name to a network address in the cluster, by using a weighted random distribution. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
-
25. A processing system usable as a storage server node in a network storage cluster that includes a plurality of storage server nodes, the processing system comprising:
-
a processor; a network interface, coupled to the processor, through which to communicate with a remote processing system over a network; and a memory accessible to the processor and storing code which embodies; a gatherer to gather statistics relating to CPU utilization and throughput for each of a set ports in the network storage cluster and to distribute the statistics to another storage server node in the cluster; a virtual interface manager to determine a set of weights for a set of network addresses of the cluster, based on the distributed statistics and to provide the weights as input for forming a weighted list of available network addresses; and a domain name server (DNS) to respond to a client name service request, by randomly indexing into the weighted list to resolve the client name service request to a network address in the storage cluster. - View Dependent Claims (26, 27, 28)
-
Specification