Load Balancer Dynamic Virtual Machine Scaling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed server networks, servers often become overloaded during peak hours, leading to idle servers during low usage periods, which consume significant power and are not fully utilized, resulting in inefficient resource allocation and increased energy costs.

Innovation Solution

A load balancer dynamically starts up additional virtual machines based on the loading of active virtual machines in physical machines, activating inactive virtual machines or creating new ones to handle increased workloads, while also deactivating or shutting down idle machines to optimize resource usage and reduce power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If operators plan for a sufficient number of servers to handle worst-case loading scenarios, then server reliability is improved, but power consumption increases due to idle servers consuming substantial power

Engineering Contradiction:
Improveserver reliabilityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

The system dynamically adjusts the number of active servers based on real-time load conditions. The load balancer monitors workload and automatically activates or deactivates servers, transforming the static server configuration into a dynamic one that adapts to changing demands, thereby reducing power consumption while maintaining reliability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The load balancer autonomously manages server activation and deactivation without human intervention. It self-monitors load conditions, self-decides which servers to activate or deactivate, and self-adjusts the distribution of requests, enabling the system to serve itself and optimize resource allocation automatically

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If idle servers are maintained in the network, then resource availability is improved, but energy waste increases due to substantial power consumption of idle servers

Engineering Contradiction:
Improveresource availabilityVSAvoidenergy waste
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The load balancer periodically monitors load conditions and periodically adjusts server activation status. Instead of maintaining servers in a constant idle state, the system implements periodic checks and adjustments, activating servers only when needed and deactivating them when not required, thereby reducing energy waste while preserving resource availability

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system changes the operational state parameter of servers from 'always on' to 'conditionally active'. By modifying the power state parameter based on load conditions, the system reduces energy consumption while maintaining the capability to provide resources when needed

Inventive Principle:
Principle #35Parameter changes

3Use of energy by stationary object

If virtual machines are dynamically started and deactivated based on load, then power consumption is reduced, but system complexity increases due to dynamic management requirements

Engineering Contradiction:
Improvepower consumptionVSAvoidsystem complexity
Core Design Contradiction:
Use of energy by stationary objectVSDevice complexity

Solution Approach 1:

The load balancer serves as an intermediary between the external request stream and the pool of virtual machines. It absorbs the complexity of dynamic management by acting as a buffer and controller, managing the activation and deactivation of VMs while presenting a simple interface for request distribution, thereby isolating the complexity from the rest of the system

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If the load balancer monitors and responds to loading conditions in real-time, then resource allocation efficiency is improved, but computational overhead increases

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidcomputational overhead
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The load balancer implements a feedback mechanism where it continuously monitors load conditions on active virtual machines and uses this feedback to make informed decisions about activating or deactivating additional VMs. This feedback loop enables efficient resource allocation by responding to actual system state rather than using fixed rules, optimizing the balance between allocation efficiency and computational overhead

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8185893B2Starting up at least one virtual machine in a physical machine by a load balancer
Publication Date: 2012.05.22 NETFLIX INC
  • US8185893B2 patent drawing
  • US8185893B2 patent drawing
  • US8185893B2 patent drawing

AI summary

A system has plural physical machines that contain virtual machines. A load balancer receives a request from a client. In response to the request, it is determined whether at least one additional virtual machine should be started up. In response to determining that at least one additional virtual machine should be started up, the load balancer sends at least one command to start up the at least one additional virtual machine in at least one of the physical machines.