IP Library Granted Patent US 9,891,941
Granted Patent B2
US 9,891,941 · App. 14/819,940 · Granted Feb 13, 2018

Method for balancing a load, a system, an elasticity manager and a computer program product

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,891,941
App. No.
14/819,940
Granted
Feb 13, 2018
Kind
B2
Abstract

A method, in a virtualized system, for balancing a load across multiple virtual machines instantiated over physical hardware of the system, including vertically scaling the capacity of respective ones of the VMs up to a physical capacity limit, L PHY , from an initially allocated physical capacity, L VIRT , by providing access to additional resources of the physical hardware in response to an increased load causing the or each VM to reach or exceed a threshold capacity L T1 , and horizontally scaling the capacity of the system by supplementing the multiple VMs with an additional VM instantiated using a hypervisor of the system when a predefined proportion, U 1 , of the VMs have a capacity L PHY .

Claims (42)

1. A method, in a virtualized system, for balancing a load across multiple virtual machines (VMs) instantiated over physical hardware of the virtualized system, the method comprising:

vertically scaling a capacity of one or more of the multiple VMs up to a physical capacity limit, L PHY , from an initially allocated physical capacity, L VIRT , by providing access to additional resources of the physical hardware in response to an increased load causing each of the one or more of the multiple VMs to reach or exceed a threshold capacity, L T1 , the threshold capacity L T1 being less than the initially allocated physical capacity L VIRT ; and

horizontally scaling the capacity of the virtualized system by supplementing the multiple VMs with an additional VM instantiated using a hypervisor of the virtualized system in response to (i) a threshold percentage, P 1 , of the multiple VMs reaching or exceeding the threshold capacity L T1 and (ii) a threshold percentage, U 1 , of the multiple VMs reaching the physical capacity limit L PHY , wherein P 1 and U 1 are greater than 0% and less than 100%, and P 1 is greater than U 1 .

2. The method as claimed in claim 1 , further comprising:

distributing the increased load across the vertically scaled VMs to re-balance the load of the system.

3. The method as claimed in claim 1 , further comprising:

distributing the increased load across the horizontally scaled VMs to re-balance the load of the system.

4. The method as claimed in claim 1 , further comprising:

vertically downscaling the capacity of a selected VM in response to a reduction in the load or the horizontal scaling.

5. The method as claimed in claim 4 , wherein the selected VM has,

the most unused resources of the multiple VMs, and

a physical capacity greater than L VIRT .

6. The method as claimed in claim 4 , wherein the selected VM is vertically downscaled after load re-balancing of the system.

7. The method as claimed in claim 1 , further comprising:

selecting an underutilized VM with the most unused resources of the multiple VMs;

redirecting system requests to all other VMs but the underutilized VM to cause the underutilized VM to become an idle VM;

if necessary, after a time period, migrating any remaining work away from the underutilized VM; and

deactivating or deleting the idle VM.

8. A virtualized system including multiple virtual machines (VMs) in program execution on physical computing hardware supported by a hypervisor, respective VMs to execute multiple applications or application parts, the virtualized system including:

a load balancer configured to,

receive incoming requests, and

distribute the incoming requests to selected ones of the multiple VMs; and an elasticity manager configured to,

vertically scale a capacity of one or more of the multiple VMs up to a physical capacity limit, L PHY , from an initially allocated physical capacity, L VIRT , by providing access to additional resources of the physical hardware in response to an increased load causing each of the one or more of the multiple VMs to reach or exceed a threshold capacity, L T1 , the threshold capacity L T1 being less than the initially allocated physical capacity L VIRT , and

horizontally scale the capacity of the virtualized system by supplementing the multiple VMs with an additional VM instantiated using the hypervisor in response to (i) a threshold percentage, P 1 , of the multiple VMs reaching or exceeding the threshold capacity L T1 and (ii) a threshold percentage, U 1 , of the multiple VMs reaching the physical capacity limit, L PHY , wherein P 1 and U 1 are greater than 0% and less than 100%, and P 1 is greater than U 1 ; and

modify the receiving of the incoming requests and the distribution of the incoming requests by the load balancer according to a set of rules relating to multiple thresholds for individual and aggregate VM loads.

9. The system as claimed in claim 8 , wherein the load balancer is configured to distribute the increased load across the vertically scaled VMs to re-balance the load of the system.

10. The system as claimed in claim 8 , wherein the load balancer is configured to distribute the increased load across the horizontally scaled VMs to re-balance the load of the system.

11. The system as claimed in claim 8 , wherein the elasticity manager is configured to reduce the physical capacity of a selected VM with a physical capacity greater than L VIRT in response to a reduction in the load or horizontal scaling.

12. The system as claimed in claim 8 , wherein the elasticity manager is configured to determine whether a threshold physical capacity limit for the multiple VMs has been reached, and

wherein the threshold physical capacity limit indicates whether the multiple VMs can be vertically scaled.

13. The system as claimed in claim 8 , wherein the elasticity manager is configured to:

select an underutilized VM with the most unused resources of the multiple VMs;

redirect system requests to all other VMs but the underutilized VM to cause the underutilized VM to become an idle VM; and

deactivate or delete the idle VM.

14. An elasticity manager for use in a virtualized system including multiple virtual machines (VMs) in program execution on physical computing hardware supported by a hypervisor, respective VMs configured to execute multiple applications or application parts, the elasticity manager comprising:

a memory having computer readable instructions stored therein, and

a processor configured to execute the computer readable instructions to,

vertically scale the capacity of one or more of the multiple VMs up to a physical capacity limit, L PHY , from an initially allocated physical capacity, L VIRT , by providing access to additional resources of the physical hardware in response to an increased load causing each of the one or more of the multiple VMs to reach or exceed a threshold capacity, L T1 , the threshold capacity L T1 being less than the initially allocated physical capacity L VIRT ;

horizontally scale the capacity of the virtualized system by supplementing the multiple VMs with an additional VM instantiated using the hypervisor in response to (i) a threshold percentage, P 1 , of the multiple VMs reaching or exceeding the threshold capacity L T1 and (ii) a threshold percentage, U 1 , of the multiple VMs reaching the physical capacity limit, L PHY , wherein P 1 and U 1 are greater than 0% and less than 100%, and P 1 is greater than U 1 ; and

control a load balancer according to a set of rules relating to multiple thresholds for individual and aggregate VM loads, the load balancer configured to,

receive incoming requests, and

distribute the incoming requests to selected ones of the VMs.

Assignments (3)
SECURITY INTEREST Recorded Jun 1, 2021
From: WSOU INVESTMENTS, LLC
To: OT WSOU TERRIER HOLDINGS, LLC
Reel/Frame 056990/0081 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2020
From: ALCATEL LUCENT
To: WSOU INVESTMENTS, LLC
Reel/Frame 052372/0675 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2016
From: LUGONES, DIEGO; CHERUBINI, DAVIDE
To: ALCATEL LUCENT
Reel/Frame 037829/0240 →