Patent US6067545A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6067545A Expired / Lapsed US ⏱️ 0.0 years remaining

Resource rebalancing in networked computer systems

Assignee: Hewlett Packard Enterprise Development LP
•
Filing: 1998-04-15
•
Granted: 2000-05-23
•
Expires: 2018-04-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Methods for load balancing a network are disclosed. Resource rebalancing includes remapping of pathways between nodes, e.g. servers, and resources, e.g. volumes/file systems. Resource rebalancing allows the network to reconfigure itself as components come on-line/off-line, as components fail, and as components fail back. In an embodiment of the invention a method for load balancing on a network is disclosed. The network includes server nodes and resources. Each of the resources are coupled to at least two of the server nodes. The method for load balancing comprises the acts of detecting a change in an availability of the server nodes; defining a first set of available server nodes and a second set of available resources and selecting for each one of the members of the second set a corresponding member of the first set to server as the administrative server for handling an administrative portion of an I/O request for the corresponding resource of the second set. In an alternative embodiment of the invention the method for load balancing comprises the act of detecting a change in an availability of the server nodes; applying a load balancing function to the network responsive to at least two attributes of each of the server nodes and the resources, responsive to the detecting act and assigning based on a result of the load balancing function each of the resources to a corresponding available server node responsive to the applying act.

Inventors

  • 👤 James J. Wolff

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 12:34
CPC Classifications
H; H04; H04L; H04L67/00; H04L67/01; H04L67/10; H04L67/1001; H04L67/1004; H04L67/1008; H04L67/1017; H04L67/1019; H04L67/1031; H04L67/1034; H04L67/1012; H04L67/1029; H04L69/00; H04L69/40; Y; Y10; Y10S; Y10S707/00; Y10S707/99931

Claims Analysis

Total Claims: 42
Claim 1
Independent Claim 133 words
A method for load balancing a network, the network including server nodes and resources, each resource coupled to at least two of the server nodes, the method for load balancing comprising: detecting a change in an availability of the server nodes; defining a first set of available server nodes and a second set of available resources; allocating weights to the server nodes and to the resources; defining an ideal capacity for each server node in terms of a total weight of resources for which each server node will handle I/O requests; and selecting for each of the resources in the second set a corresponding server node of the first set to serve as an administrative server for handling an administrative portion of an I/O request for the corresponding resource of the second set.
Claim 2
Independent Claim 133 words
A method for load balancing a network, the network including server nodes and resources, each resource coupled to at least two of the server nodes, the method for load balancing comprising: detecting a change in an availability of the server nodes; defining a first set of available server nodes and a second set of available resources; allocating weights to the server nodes and to the resources; defining an ideal capacity for each server node in terms of a total weight of resources for which each server node will handle I/O requests; and selecting for each of the resources in the second set a corresponding server node of the first set to serve as an administrative server for handling an administrative portion of an I/O request for the corresponding resource of the second set.
Claim 3
Dependent Claim 91 words
The method claim 1, wherein the weights allocated in said allocating act correspond to at least one of: a) a weight of unity for each resource and a weight for each server node corresponding to a capacity of each server, b) a weight for each resource corresponding to a demand for the resource and a weight of unity for each server node, and c) a weight for each resource corresponding to a demand for the resource and a weight for each server node corresponding to a capacity for each server node.
Claim 4
Dependent Claim 126 words
The method of claim 1, wherein the selecting act further comprises the acts of: assigning to each resource a group identifier and to each server node a prioritized list of the group identifiers; applying a load balancing function to the first and second set to define an ideal capacity for each server node of the first set, corresponding to the resources of the second set for which each server node of the first set will handle I/O requests; and assigning up to the ideal capacity defined for each server node of the first set, each of the resources of the second set to a corresponding server node of the first set on the basis of the corresponding prioritized list of group identifiers for each server node.
Claim 5
Dependent Claim 53 words
The method of claim 3, wherein the selecting act further comprises the acts of: allocating remaining unassigned members of the second set of resources subsequent to said assigning act, to a corresponding server node of the first set on the basis of the corresponding prioritized list of group identifiers for each server node.
Claim 6
Dependent Claim 57 words
The method of claim 4, wherein the selecting act further comprises the acts of: distributing remaining unallocated members of the second set of resources subsequent to said allocating act, to a corresponding server node of the first set up to the ideal capacity defined for each server node of the first set defined in said applying act.
Claim 7
Dependent Claim 38 words
The method of claim 5, wherein the selecting act further comprises the acts of: matching remaining undistributed members of the second set of resources subsequent to said distributing act, to a corresponding server node of the first set.
Claim 8
Dependent Claim 70 words
The method of claim 6, further comprising the acts subsequent to the selecting act of: choosing at least one server node of the first set in excess of the ideal capacity defined in said selecting act; and re-assigning a resource of the second set from the at least one server of the first set to an other server of the first set to minimize the excess of the ideal capacity.
Claim 9
Dependent Claim 46 words
The method of claim 7, further comprising the act of: comparing a prior load balance with a current load balance defined in said selecting, choosing and reassigning acts; and broadcasting differences between the prior and current load balance to the first set of available server nodes.
Claim 10
Dependent Claim 25 words
A computer usable medium having computer readable program code means embodied therein for load balancing on a network according to the method of claim 1.
Claim 11
Independent Claim 100 words
A method for load balancing on a network, the network including server nodes and resources, each of the resources coupled to at least two of the server nodes, the method for load balancing comprising: detecting a change in an availability of the server nodes; applying a load balancing function to the network, the load balancing function responsive to at least two attributes of each of the server nodes and the resources, the load balancing function prioritizing at least two attributes; assigning, based on a result of the load balancing function, each of the resources to a corresponding available server node.
Claim 12
Independent Claim 100 words
A method for load balancing on a network, the network including server nodes and resources, each of the resources coupled to at least two of the server nodes, the method for load balancing comprising: detecting a change in an availability of the server nodes; applying a load balancing function to the network, the load balancing function responsive to at least two attributes of each of the server nodes and the resources, the load balancing function prioritizing at least two attributes; assigning, based on a result of the load balancing function, each of the resources to a corresponding available server node.
Claim 13
Dependent Claim 24 words
The method of claim 10, wherein the available server nodes for a resource are those active server nodes to which the resource is coupled.
Claim 14
Dependent Claim 24 words
The method of claim 10, wherein the resources include at least one member of the resource group consisting of storage devices and data sets.
Claim 15
Dependent Claim 60 words
The method of claim 10, wherein the at least two attributes responsive to which the load balance function are applied during said step of applying comprise at least one of the following: a preferred administrative server for a resource, a group affiliation for a resource, a group affiliation for a server, a prioritized set of group affiliations for a server.
Claim 16
Dependent Claim 88 words
The method of claim 10, wherein the assigning act further comprises the acts of: allocating weights to the server nodes and to the resources; calculating target weights for each available server node and the target weights corresponding to the total weight of resources for which each available server node will handle I/O requests; and assigning accessible resources to each available one of the server nodes such that total weights of assigned resources assigned thereby are within a range of the target weights calculated during said act of calculating.
Claim 17
Dependent Claim 51 words
The method of claim 14, wherein a first ratio of the target weight for a corresponding available server node to the total weight of all available resources substantially corresponds to a second ratio of the weight of the corresponding available server node to the total weight of all available server nodes.
Claim 18
Dependent Claim 44 words
The method of claim 14, wherein the weight allocated in said allocating act corresponds to at least one of: a theoretical capacity of the resource, an actual capacity of the resource, a theoretical demand for the resource, and an actual demand for the resource.
Claim 19
Dependent Claim 97 words
The method of claim 14, further comprising the acts of: selecting a first server node of the corresponding available server nodes for which the total weight of resources assigned in said assigning act, exceeds the target weight for the first server node calculated in said calculating act; and re-assigning a one of the resources assigned to the first server node in said assigning act to a second server node, where the total weight of resources assigned in said assigning act to the second server node is less than the corresponding target weight calculated in said calculating act.
Claim 20
Dependent Claim 45 words
The method of claim 10, wherein the load balancing function applied during said applying act further comprises responsiveness both to the at least two attributes of each of the server nodes and to one or more constraints limiting the assignability of resources to server nodes.
Claim 21
Dependent Claim 63 words
The method of claim 18, wherein the one or more constraints comprise at least one of the following: a) matching domain names for each server node and the corresponding resource corresponding to a physical coupling between the resource and the server node, and b) a group migration indicator for each resource indicating a logical coupling capability between the resource and the server node.
Claim 22
Dependent Claim 150 words
The method of claim 10, wherein the detecting act further comprises the act of: detecting at a first server among the server nodes, a change in the availability of the server nodes; and wherein the applying act further comprises the act of: obtaining at the first server a copy of a configuration database containing the one or more attributes for the server nodes and the resources, and records correlating each resource to a corresponding available server node; and wherein the assigning act further comprises the acts of: seizing control at the first server of the configuration database; re-assigning at the first server based on a result of the load balancing function each of the resources to a corresponding available server node; publishing from the first server a result of the re-assigning act to each of the available server nodes; and releasing control at the first server of the configuration database.
Claim 23
Independent Claim 197 words
A method for load balancing on a network, the network including a client node, server nodes coupled to the client node, and at least a first and a second resource, each of the first and the second resources coupled to a first server node and a second server node, respectively, the resources including at least one member of the resource group consisting of storage devices and data sets, the method for load balancing comprising: assigning weights to at least one of the first and the second server nodes, the first and the second resources, and the first and second server nodes together with the first and the second resources, the weights correspond to at least one of: a theoretical capacity of the resource, and actual capacity of the resource, a theoretical demand for the resource, and an actual demand for the resource, a theoretical capacity of the server node, an actual capacity of the server node, a theoretical demand for the server node, and an actual demand for the server node; and allocating the first and the second resources to available ones of the first and the second server nodes on the basis of the assigned weights.
Claim 24
Independent Claim 197 words
A method for load balancing on a network, the network including a client node, server nodes coupled to the client node, and at least a first and a second resource, each of the first and the second resources coupled to a first server node and a second server node, respectively, the resources including at least one member of the resource group consisting of storage devices and data sets, the method for load balancing comprising: assigning weights to at least one of the first and the second server nodes, the first and the second resources, and the first and second server nodes together with the first and the second resources, the weights correspond to at least one of: a theoretical capacity of the resource, and actual capacity of the resource, a theoretical demand for the resource, and an actual demand for the resource, a theoretical capacity of the server node, an actual capacity of the server node, a theoretical demand for the server node, and an actual demand for the server node; and allocating the first and the second resources to available ones of the first and the second server nodes on the basis of the assigned weights.
Claim 25
Dependent Claim 111 words
The method of claim 21 wherein assigning weights further comprises assigning weights to both the first and the second server nodes together with the first and the second resources and wherein allocating the first and the second resources further comprises: detecting a change in an availability for the first and the second server nodes; calculating target weights for each of the available ones of the first and the second server nodes; and assigning resources to each of the available ones of the first and the second server nodes such that total weights of assigned resources assigned thereby are within a range of the target weights selected during said act of calculating.
Claim 26
Dependent Claim 62 words
The method of claim 22, wherein a first ratio of the target weights with respect to a total weight of the resources assigned in said assigning act substantially corresponds to a second ratio of each of the available ones of the server nodes to a total weight of all of the available ones of the server nodes, calculated in said calculating act.
Claim 27
Dependent Claim 121 words
The method of claim 23, wherein the assigning weights further comprises assigning weights to the first and the second server nodes; and wherein allocating the first and the second resources further comprises: detecting a change in an availability for the first and the second server nodes; and calculating target weights for each of the available ones of the first and the second server nodes; and assigning resources to each of the available ones such that a first ratio of a number of resources assigned thereby to a total number of resources substantially corresponds to a second ratio of each of the available ones of the server nodes to a total weight of all of the available ones of the server nodes.
Claim 28
Dependent Claim 103 words
The method of claim 21, wherein the network further includes a third resource coupled only to the first server node, wherein assigning weights further comprises assigning domain names to the first and second server nodes together with the first and the second and the third resources, and matching domain names indicating a coupling between the resource and the server node; and wherein allocating the first and the second resources further comprises allocating the first, the second, and the third resources to available ones of the first and the second server nodes on the basis both of the weights and of matching domain names.
Claim 29
Dependent Claim 105 words
The method of claim 21, wherein the first and second resources include first and second data sets, wherein assigning weights further comprises designating for each of the data sets a corresponding one of the first and second server nodes to act as preferred administrative nodes which control access by either of the first and second server nodes to the data sets; and wherein allocating the first and the second resources further comprises: allocating each of the first and the second data sets to available ones of the first and the second server nodes on the basis both of the weights and the preferred administrative nodes.
Claim 30
Dependent Claim 84 words
The method of claim 21, wherein allocating the first and the second resources further comprises: detecting a change in an availability of at least one of the first and the second server nodes, the change including at least one of the group of server behaviors consisting of: a start-up, a failure and a fail-back; and re-allocating the first and the second resources to available ones of the first and the second server nodes on the basis of the weights, assigned in said assigning act.
Claim 31
Dependent Claim 113 words
The method of claim 21, wherein allocating the first and the second resources further comprises: detecting at the first server node a change in the availability of the second server node; re-allocating the first server node, the first and the second resources to available ones of the first and the second server nodes on the basis of the weights; sending from the first server node a command resulting in the temporary cessation by the second server node of a processing of I/O requests to the resources; updating the second server node on a result of the re-allocation act; and resuming at the second server node the processing of I/O requests to the resources.
Claim 32
Independent Claim 189 words
A method for load balancing on a network, the network including a client node, a first and a second server node coupled to the client node, and a first and a second resource, each of the first and second resources coupled to the first server node and the second server node, respectively, the resources including at least one member of the resource group consisting of storage devices and data sets, the method for load balancing comprising: determining weights for at least one of the first and the second server nodes, the first and the second resources, and the first and second server nodes together with the first and the second resources, assigning for each of the first and the second resources a corresponding one of the first and second server nodes to act as preferred administrative nodes which control access by either of the first and second server nodes to the resources; and allocating each of the first and the second resources to available ones of the first and the second server nodes on the basis of availability, weights, and the preferred administrative server node assigned to the resources.
Claim 33
Independent Claim 189 words
A method for load balancing on a network, the network including a client node, a first and a second server node coupled to the client node, and a first and a second resource, each of the first and second resources coupled to the first server node and the second server node, respectively, the resources including at least one member of the resource group consisting of storage devices and data sets, the method for load balancing comprising: determining weights for at least one of the first and the second server nodes, the first and the second resources, and the first and second server nodes together with the first and the second resources, assigning for each of the first and the second resources a corresponding one of the first and second server nodes to act as preferred administrative nodes which control access by either of the first and second server nodes to the resources; and allocating each of the first and the second resources to available ones of the first and the second server nodes on the basis of availability, weights, and the preferred administrative server node assigned to the resources.
Claim 34
Dependent Claim 101 words
The method of claim 29, wherein the weight determined for at least one of the first and the second server nodes, the first and the second resources, and the first and second server nodes together with the first and the second resources corresponds to at least one of: a theoretical capacity of the resource; an actual capacity of the resource; a theoretical demand for the resource; an actual demand for the resource; a theoretical capacity of the server node; an actual capacity of the server node; a theoretical demand for the server node; and an actual demand for the server node.
Claim 35
Dependent Claim 124 words
The method of claim 29, wherein determining weights further comprises determining weights for both the first and the second server nodes together with the first and the second resources, and wherein allocating each of the first and the second resources to available ones of the first an the second server nodes further comprises: detecting a change in an availability for the first and the second server nodes; calculating target weights for each of the available ones of the first and the second server nodes; and assigning resources to each of the available ones of the first and the second server nodes such that total weights of assigned resources assigned thereby are within a range of the target weights selected during said act of calculating.
Claim 36
Dependent Claim 51 words
The method of claim 29, wherein a first ratio of the target weights for a corresponding available server node to the total weight of all available resources substantially corresponds to a second ratio of the weight of the corresponding available server node to the total weight of all available server nodes.
Claim 37
Dependent Claim 133 words
The method of claim 29, wherein determining weights further comprises determining weights for both the first and the second server nodes and wherein allocating each of the first and the second resources to available ones of the first and the second server nodes further comprises: detecting a change in an availability for the first and the second server nodes; calculating target weights for each of the available ones of the first and the second server nodes; and assigning resources to each of the available ones such that a first ratio of a number of resources assigned thereby to a total number of resources substantially corresponds to a second ratio of each of the available ones of the server nodes to a total weight of all of the available ones of the server nodes.
Claim 38
Dependent Claim 129 words
The method of claim 29 wherein the network further includes a third resource coupled only to the first server node, wherein assigning for each of the first and the second resources a corresponding one of the first and second server nodes further comprises assigning domain names to the first and second server nodes together with the first and the second and the third resources, and matching domain names indicating a coupling between the resource and the server node, and wherein allocating each of the first and the second resources further comprises allocating the first, the second, and the third resources to available ones of the first and the second server nodes on the basis both of the weights, of matching domain names, and of the preferred administrative server node.
Claim 39
Dependent Claim 111 words
The method of claim 29, wherein assigning for each of the first and the second resources a corresponding one of the first and second server nodes further comprises assigning group identifiers to the first and second server nodes together with the first and the second resources, and matching group identifiers indicating a preferred assignment of the resource to one of the server nodes, and wherein allocating each of the first and the second resources further comprises: allocating the first and the second resources to available ones of the first and the second server nodes on the basis both of the weights, the matching group identifiers and the preferred administrative server node.
Claim 40
Dependent Claim 81 words
The method of claim 29, wherein allocating each of the first and the second resources further comprises: detecting a change in an availability of at least one of the first and the second server nodes, the change including at least one of the group of server behaviors consisting of: a start-up, a failure and a fail-back; and re-allocating the first and the second resources to available ones of the first and the second server nodes on the basis of the weights.
Claim 41
Dependent Claim 120 words
The method of claim 29, wherein allocating each of the first and the second resources further comprises: detecting at the first server node a change in the availability of the second server node; re-allocating at the first server node, the first and the second resources to available ones of the first and the second server nodes on the basis of the preferred administrative server node; sending from the first server node a command resulting in the temporary cessation by the second server node of a processing of all I/O requests to the resources; updating the second server node on a result of the re-allocation act; and resuming at the second server node the processing of I/O requests to the resources.
Claim 42
Dependent Claim 162 words
The method of claim 29, wherein the first and second resources include first and second data sets, assigning for each of the first and the second resources a corresponding one of the first and second server nodes further includes: recording the weights for both the server nodes and the resources in a configuration database; recording in the configuration database for each of the resources a corresponding one of the first and second server nodes to act as preferred administrative nodes to control access by either of the first and second server nodes to the data sets; and recording the availability of server nodes; and wherein allocating each of the first and the second resources further comprises detecting a change in availability of the first and the second server nodes; from a one to an other among the plurality of server nodes an administration of I/O requests for at least one of the plurality of data sets, in response to the detecting act.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-05-23 2003-11-22 2004-05-23 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-05-23 2007-11-22 2008-05-23 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-05-23 2011-11-22 2012-05-23 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag