Computer system and computer system usage management method
US-11216317-B1 · Jan 4, 2022 · US
US2022171663A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2022171663-A1 |
| Application number | US-202017107361-A |
| Country | US |
| Kind code | A1 |
| Filing date | Nov 30, 2020 |
| Priority date | Nov 30, 2020 |
| Publication date | Jun 2, 2022 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems, methods, and machine-readable media for monitoring a storage system and correcting demand imbalances among nodes in a cluster are disclosed. A performance manager for the storage system may detect performance imbalances that occur over a period of time. When operating below an optimal performance capacity, the manager may cause a volume to be moved from a node with a high load to a node with a lower load to achieve a preventive result. When operating at or near optimal performance capacity, the manager may cause a QOS limit to be imposed to prevent the workload from exceeding the performance capacity, to achieve a proactive result. When operating abnormally, the manager may cause a QOS limit to be imposed to throttle the workload to bring the node back within the optimal performance capacity of the node, to achieve a reactive result. These actions may be performed independently, or in cooperation.
Opening claim text (preview).
What is claimed is: 1 . A method comprising: analyzing a load of each node in a plurality of nodes; selecting, based on the analyzing, a first node from the plurality of nodes having a highest load of the plurality of nodes; in response to selecting the first node, analyzing a work portion of each volume of a plurality of volumes hosted on the first node; and determining, based on the analyzing the work portion of each volume, to move a first volume from the plurality of volumes to a second node that has a lower load than the highest load corresponding to the first node. 2 . The method of claim 1 , further comprising: after moving the first volume, continuing to analyze the load of each node and move one or more volumes from the plurality of volumes until the plurality of nodes achieves a desired performance level. 3 . The method of claim 1 , further comprising: filtering, from consideration with the plurality of volumes, a volume having a work portion above a threshold. 4 . The method of claim 1 , further comprising: after selecting the first volume, estimating a performance impact on the first node resulting from moving the first volume to the second node. 5 . The method of claim 1 , further comprising: causing the move of the first volume to occur concurrently with processing a regular load of each node. 6 . The method of claim 1 , wherein the determining to move the first volume is based on historical workload data. 7 . The method of claim 1 , further comprising: determining to move the first volume based on a difference in observed load between the first node and the second node being greater than a threshold. 8 . A non-transitory machine readable medium having stored thereon instructions for performing a method of load balancing, comprising machine executable code which when executed by at least one machine, causes the machine to: select a first node from a plurality of nodes having a highest load of the plurality of nodes; analyze a work portion of each volume of a plurality of volumes hosted on the first node; determine, based on the analysis of the work portion of each volume of the plurality of volumes hosted on the first node, to move a first volume from the plurality of volumes to a second node that has a lower load than the highest load associated with the first node; and instruct, in response to the determined first volume, to move the first volume from the first node to the second node. 9 . The non-transitory machine readable medium of claim 8 , further comprising machine executable code that causes the machine to: estimate a performance impact on at least one of the first node and the second node resulting from moving the first volume to the second node. 10 . The non-transitory machine readable medium of claim 8 , further comprising machine executable code that causes the machine to: repeat, after instructing to move the first volume, the analysis of each node in the plurality of nodes. 11 . The non-transitory machine readable medium of claim 8 , further comprising machine executable code that causes the machine to: filter, from the plurality of volumes, a volume having a work portion below a threshold. 12 . The non-transitory machine readable medium of claim 8 , further comprising machine executable code that causes the machine to: verify, after moving the first volume, a decrease in the load of the first node. 13 . The non-transitory machine readable medium of claim 8 , further comprising machine executable code that causes the machine to: determine an observed threshold performance level for moving the first volume from the first node to the second node. 14 . The non-transitory machine readable medium of claim 8 , further comprising machine executable code that causes the machine to: determine, prior to the instruction to move the first volume, that the second node has a compatible configuration for the first volume. 15 . A computing device comprising: a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of load balancing in a storage system; and a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to: analyze a work portion of each volume of a plurality of volumes hosted on a first node having a highest load of a plurality of nodes; determine, based on the analysis of the work portion of each volume, to move a first volume from the plurality of volumes to a second node from among the plurality of nodes that has a lower load than the highest load of the first node; and cause, in response to the determination, the first volume to be moved from the first node to the second node. 16 . The computing device of claim 15 , wherein the processor is further configured to: estimate, for the first volume, a performance impact on the second node resulting from moving the first volume to the second node. 17 . The computing device of claim 15 , wherein the processor is further configured to: filter, from the plurality of volumes, a volume having a characteristic that would be incompatible with the second node. 18 . The computing device of claim 15 , wherein the processor is further configured to: after moving the first volume, move one or more volumes from the plurality of volumes until the plurality of nodes achieves a desired performance level. 19 . The computing device of claim 15 , wherein the processor is further configured to: select the first volume based on historical performance data. 20 . The computing device of claim 15 , wherein the processor is further configured to: determine to move the first volume based on a difference in observed load between the first node and the second node being greater than a threshold.
Improving I/O performance · CPC title
Migration mechanisms · CPC title
Plurality of storage devices · CPC title
by allocating resources to storage systems · CPC title
Techniques for rebalancing the load in a distributed system · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.