IP Library Granted Patent US 9,158,714
Granted Patent B2
US 9,158,714 · App. 13/363,288 · Granted Oct 13, 2015

Method and system for multi-layer differential load balancing in tightly coupled clusters

Inventors: Amarinder Singh Randhawa (Sunnyvale, CA); Madhav Buddhi (Sunnyvale, CA); Chaitanya Yalamanchili (Sunnyvale, CA); Prasanta Dash (San Jose, CA)
Assignee: Symantec Corporation
G06F13/14
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,158,714
App. No.
13/363,288
Granted
Oct 13, 2015
Kind
B2
Abstract

A method and system for load balancing. The method includes discovering each of a plurality of hosts in a cluster, wherein the plurality of hosts is configured for accessing a LUN of a storage system through a storage network fabric. Global input/output (I/O) load characteristics are collected for each of the plurality of hosts at the device and/or volume level. A selected host is determined for processing an I/O originating at the local host, wherein the host is selected based on a current set of the global I/O load characteristics.

Claims (56)

1. A computer implemented method for load balancing, comprising:

at a local volume manager associated with a local host, discovering each of a plurality of remote volume managers, wherein each remote volume manager is associated with a remote host of a plurality of hosts in a cluster, wherein said plurality of hosts is configured for accessing a LUN of a storage system through a storage network fabric;

at said local volume manager, collecting global I/O load characteristics from each remote volume manager for each corresponding associated remote host of said plurality of hosts in said cluster; and

determining a selected host for processing an I/O originating at said local host based on a current set of said global I/O load characteristics and on a rate of received I/O from each remote volume manager for said each corresponding associated remote host of said plurality of hosts in said cluster.

2. The computer implemented method of claim 1 , wherein determining the selected host comprises:

determining to ship said I/O from said local host based on said current set of said global I/O load characteristics to said selected host comprising a remote host; and

selecting said remote host from one or more remote hosts based on favorable differential I/O load balancing statistics determined in comparison to said local host; and

redirecting said I/O from said first host to said remote host.

3. The computer implemented method of claim 1 , wherein said global I/O load characteristics is taken from a group consisting of I/O throughput, I/O response time, network latency between a corresponding remote host and said local host, I/O load at each of said plurality of hosts, and resource availability.

4. The computer implemented method of claim 1 , further comprising:

determining to process said I/O at said LUN based on said current set of said global I/O load characteristics, wherein said selected host comprises said LUN;

at a multi-pathing driver of said local host, performing local load balancing to assign said I/O to a selected path of one or more local communication paths accessing said LUN.

5. The computer implemented method of claim 1 , wherein said determining a selected host further comprises:

determining said selected host having the best I/O load characteristics for an I/O having a high priority.

6. The computer implemented method of claim 1 , wherein said determining a selected host further comprises:

determining said selected host having the poorest I/O load characteristics for said I/O having a low priority.

7. The computer implemented method of claim 1 , further comprising:

collecting values of said current set of said global statistics in a delayed and amortized fashion for said plurality of hosts.

8. The computer implemented method of claim 1 , further comprising:

providing a plurality of default values for said global statistics.

9. A computer system, comprising:

a processor; and

memory coupled to said processor and having stored therein instructions that, if executed by said computer system, cause said computer system to execute a method for load balancing, comprising:

at a local volume manager associated with a local host, collecting global I/O load characteristics from each remote volume manager of a plurality of remote volume managers, wherein each remote volume manager is associated with a remote host of a plurality of remote hosts in a cluster, wherein said plurality of remote hosts are configured for accessing a LUN of a storage system through a storage network fabric; and

determining a selected host for processing an I/O originating at said local host based on a current set of said global I/O load characteristics and on a rate of received I/O from each remote volume manager for said each corresponding associated remote host of the plurality of remote hosts in said cluster.

10. The computer system of claim 9 , wherein determining the selected host comprises:

determining to ship said I/O from said local host based on said current set of said global I/O load characteristics to said selected host comprising a remote host; and

selecting said remote host from one or more remote hosts based on favorable differential I/O load balancing statistics determined in comparison to said local host; and

redirecting said I/O from said first host to said remote host.

11. The computer system of claim 9 , wherein in said method said global I/O load characteristics is taken from a group consisting of I/O throughput, I/O response time, network latency between a corresponding remote host and said local host, I/O load at each of said plurality of hosts, and resource availability.

12. The computer system of claim 9 , wherein said method further comprises:

determining to process said I/O at said LUN based on said current set of said global I/O load characteristics, wherein said selected host comprises said LUN; and

at a multi-pathing driver of said local host, performing local load balancing to assign said I/O to a selected path of one or more local communication paths accessing said LUN.

13. A non-transitory computer-readable storage medium having computer-executable instructions for causing a computer system to perform a method for load balancing, comprising:

at a local volume manager associated with a local host, collecting global I/O load from each remote volume manager of a plurality of remote volume managers, wherein each remote volume manager is associated with a remote host of a plurality of remote hosts in a cluster, wherein said plurality of remote hosts are configured for accessing a LUN of a storage system through a storage network fabric; and

determining a selected host for processing an I/O originating at said local host based on a current set of said global I/O load characteristics and on a rate of received I/O from each remote volume manager for said each corresponding associated remote host of said plurality of remote hosts in the said cluster.

14. The computer-readable storage medium of claim 13 , wherein determining the selected host comprises:

determining to ship said I/O from said local host based on said current set of said global I/O load characteristics to said selected host comprising a remote host; and

selecting said remote host from one or more remote hosts based on favorable differential I/O load balancing statistics determined in comparison to said local host; and

redirecting said I/O from said first host to said remote host.

15. The computer-readable storage medium of claim 13 , wherein said global I/O load characteristics is taken from a group consisting of I/O throughput, I/O response time, network latency between a corresponding remote host and said local host, I/O load at each of said plurality of hosts, and resource availability.

16. A computer-readable storage medium of claim 13 , wherein said method further comprises:

determining to process said I/O at said LUN based on said current set of said global I/O load characteristics, wherein said selected host comprises said LUN; and

at a multi-pathing driver of said local host, performing local load balancing to assign said I/O to a selected path of one or more local communication paths accessing said LUN.

17. The computer-readable storage medium of claim 13 , wherein said determining a selected host further comprises:

determining said selected host having the best I/O load characteristics for an I/O having a high priority.

18. The computer-readable storage medium of claim 13 , wherein said determining a selected host further comprises:

determining said selected host having the poorest I/O load characteristics for said I/O having a low priority.

19. The computer-readable storage medium of claim 13 , wherein said method further comprises:

collecting values of said current set of said global statistics in a delayed and amortized fashion for said plurality of hosts.

20. The computer-readable storage medium of claim 13 , wherein said method further comprises:

providing a plurality of default values for said global statistics.

21. A computer-implemented method for load balancing comprising:

receiving, at a local load balancer associated with a local host in a cluster, input/output load characteristics of at least one remote load balancer associated with a remote host in the cluster;

measuring a rate of receiving remote input/output requests from the at least one remote load balancer; and

throttling the rate of sending local input/output requests to the at least one remote host based on the input/output load characteristics of the at least one remote host and on the rate of receiving remote input/output requests from the at least one remote host.

Assignments (11)
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded May 4, 2026
From: COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 075521/0417 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2012
From: RANDHAWA, AMARINDER SINGH; BUDDHI, MADHAV; YALAMANCHILI, CHAITANYA; DASH, PRASANTA
To: SYMANTEC CORPORATION
Reel/Frame 027628/0697 →
Continuity (1)
Related Publication 20130198424A1 · Aug 1, 2013