Global Resource Allocator for Cloud Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional resource allocation techniques in cloud computing systems rely on reactive throttling and local protection mechanisms, failing to provide a dynamic, globally-implemented, fairness-based, performance isolation solution, leading to inefficiencies and bottlenecks in resource allocation across multiple servers competing for limited physical and abstract resources.

Innovation Solution

A system with a global resource allocator and load balancer that dynamically allocates resources based on usage information and allocation targets across multiple accounts and consumer operations, using a max-min fairness algorithm to ensure fair resource distribution and prioritize critical operations, integrating resource allocation with load balancing to optimize resource usage across servers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional reactive throttling and local protection mechanisms are used for resource allocation, then resource allocation can be implemented, but resource allocation efficiency and system-wide load balancing deteriorate

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidallocation mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a global resource allocator as an intermediary component that receives usage information from multiple servers and performs centralized allocation decisions. This mediator coordinates resource distribution across the entire system, replacing fragmented local protection mechanisms with a unified allocation approach that improves efficiency while maintaining manageable complexity through modular architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements continuous feedback loops where usage information from consumer operations is collected, processed by the global resource allocator, and used to dynamically adjust allocation targets. This feedback mechanism enables adaptive resource allocation that responds to actual system conditions, improving productivity without requiring overly complex predetermined rules.

Inventive Principle:
Principle #23Feedback

2Reliability

If reactive throttling is used for resource allocation, then resource competition is managed, but dynamic and fairness-based allocation deteriorates

Engineering Contradiction:
Improveresource allocation stabilityVSAvoiddynamic allocation capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent transitions from static reactive throttling to dynamic allocation by having the global resource allocator continuously receive usage information and adjust allocation targets in real-time. The system adapts to changing conditions by dynamically recalculating allocation based on current resource usage patterns, ensuring both stability through controlled adjustments and versatility through responsive adaptation to different operational scenarios.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes allocation parameters dynamically based on usage information. Instead of fixed allocation rules, the global resource allocator modifies allocation targets as parameters based on observed resource consumption patterns, enabling fairness-based distribution that adapts to varying system conditions while maintaining reliable resource management.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If local protection mechanisms are used, then individual server protection is achieved, but global load balancing and resource distribution deteriorate

Engineering Contradiction:
Improveserver protection capabilityVSAvoidglobal resource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges individual server protection mechanisms into a unified global resource allocation system. The global resource allocator consolidates protection functions across all servers, coordinating resource allocation system-wide rather than independently at each server. This merging maintains server protection capabilities while dramatically improving global resource utilization through coordinated distribution decisions.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The global resource allocator serves multiple functions simultaneously: it protects individual servers from overload, balances load across the entire system, ensures fair resource distribution among consumer operations, and optimizes overall resource utilization. This multi-functional approach replaces specialized local protection mechanisms with a universal allocation system that achieves all goals more effectively.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP3161632B1Integrated global resource allocation and load balancing
Publication Date: 2021.04.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3161632B1 patent drawingFigure 1
  • EP3161632B1 patent drawingFigure 2
  • EP3161632B1 patent drawingFigure 3

AI summary

In various embodiments, methods and systems for integrated resource allocation and loading balancing are provided. A global resource allocator receives usage information of resources in a cloud computing system. The usage information is associated with a plurality of accounts and consumer operations pairs on servers of the cloud computing system. For selected account and consumer operation pairs associated with a particular resource, allocation targets are determined and communicated to the corresponding server of the selected account and consumer operation pairs. The servers use the resource based on the allocation targets. A load balancer receives the usage information the resource and the allocation targets. The allocation targets indicate a load by the selected account and consumer operation pairs on their corresponding servers. The load balancer performs a load balancing operation to locate a server with a capacity to process the allocated target of the selected account and consumer operation pairs.