Distributed Resource Allocation for Cloud Task Assignment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed resource allocation in cloud computing systems faces inefficiencies in task assignment due to the lack of effective methods for evaluating and utilizing multiple computing nodes, leading to potential overloading and reduced fault tolerance.

Innovation Solution

Implementing multiple resource allocators that assess and rank computing nodes based on availability scores, with a penalty system to encourage task distribution across nodes, ensuring that tasks are assigned to the most suitable nodes and promoting fault tolerance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single resource allocator is used to assign tasks to computing nodes, then the system structure is simple, but the task assignment speed is slow and the system lacks resiliency

Engineering Contradiction:
Improvetask assignment speedVSAvoidresource allocator structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the single resource allocator into multiple resource allocators (first resource allocator, second resource allocator, etc.), each capable of independently evaluating computing nodes and assigning tasks. This segmentation increases task assignment speed and provides resiliency since multiple allocators can operate in parallel and backup for each other, directly resolving the contradiction between simplicity and productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent combines multiple resource allocators into a unified system where they collectively evaluate computing nodes and distribute tasks. The allocators work together to assess node availability, compute scores, and make assignment decisions, merging their capabilities to achieve both high speed and resiliency while maintaining manageable system complexity through coordinated operation.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If tasks are assigned without evaluating multiple computing nodes, then the allocation process is fast, but the system lacks fault tolerance and may overload nodes

Engineering Contradiction:
Improvefault toleranceVSAvoidevaluation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary evaluation of computing nodes by resource allocators before task assignment. Each allocator assesses node availability, computes availability scores, and ranks nodes in advance. This preliminary action ensures that when tasks need to be assigned, pre-evaluated information is available, reducing actual assignment time while maintaining high reliability through thorough node assessment.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where resource allocators continuously monitor computing node status, update availability scores, and adjust task assignments based on current system state. This feedback loop ensures fault tolerance by detecting node overload or failure conditions and redistributing tasks appropriately, while the feedback is efficiently processed to minimize time loss.

Inventive Principle:
Principle #23Feedback

3Productivity

If computing nodes are not ranked by availability score, then the assignment process is simpler, but tasks may not be assigned to the most suitable nodes

Engineering Contradiction:
Improvetask assignment efficiencyVSAvoidscoring and ranking mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces availability scores as a quantitative parameter to evaluate and rank computing nodes. Each node is assigned a numerical score based on its current state, resources, and suitability for specific tasks. This parameter transformation enables efficient comparison and ranking, allowing the system to quickly identify the most suitable nodes for task assignment, thereby improving productivity while managing complexity through standardized scoring criteria.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9794136B1Distributed resource allocation
Publication Date: 2017.10.17 VMWARE INC
  • US9794136B1 patent drawing
  • US9794136B1 patent drawing
  • US9794136B1 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for allocating tasks to computing nodes using multiple resource allocators. One of the methods includes providing, by each resource allocator of a plurality of resource allocators, a first request to compute a first score to each computing node of a plurality of computing nodes, the first score representing a measure of availability for the computing node to take a particular task. A first score is received from each of the plurality of computing nodes and the nodes are ranked according to the first scores. A second request is provided to a highest-ranked computing node to compute a second score. If the difference between the first score and the second score satisfies a threshold, assigning the task to the highest-ranked computing node if and only if the difference between the first score and the second score satisfies the threshold.