Constraint Programming Resource Assignment for Cloud Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computer networks and cloud computing environments, existing methods fail to efficiently allocate resources to resource consumers, leading to inefficiencies such as overloading and suboptimal use of resources, as they do not effectively balance loads and ensure resiliency across multiple resources.
Innovation Solution
A data model is generated for a constraint programming solver that assigns resource consumers to resources by specifying constraints for resiliency, load balancing, and network embedding, ensuring each resource consumer is assigned to pairs of resources in different failure domains, with limits on maximum load and cluster size, using a system comprising a data model generator and a constraint programming solver.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If resource consumers are assigned to a single resource, then resource allocation is simple, but resource utilization efficiency deteriorates
Solution Approach 1:
The patent segments resources into multiple resources within a resource set, allowing a single resource consumer to be assigned to multiple resources simultaneously. This segmentation enables load distribution across multiple resources, improving resource utilization efficiency while maintaining manageable allocation complexity through structured assignment rules.
2Productivity
If resource consumers are assigned to multiple resources, then resource utilization efficiency improves, but allocation complexity increases
Solution Approach 1:
The patent implements dynamic resource allocation where the set of resources assigned to each resource consumer can change over time based on system conditions. The allocation is dynamically adjusted to balance load across resources while managing complexity through event-driven updates rather than static complex assignments.
Solution Approach 2:
The system incorporates feedback mechanisms that monitor resource utilization and assignment status, automatically adjusting resource assignments to maintain optimal efficiency. This feedback loop manages allocation complexity by using real-time information to make localized adjustments rather than requiring complex global optimization.
3Ease of operation
If all resource consumers are assigned to the same resource, then assignment management is easy, but load balancing deteriorates
Solution Approach 1:
The patent applies local quality by assigning different subsets of resources to different resource consumers based on their specific requirements and current system state. Each resource consumer receives a tailored assignment from the resource set, achieving local optimization that collectively provides global load balancing while maintaining simple management through consistent assignment rules.
4Device complexity
If resources are concentrated on few consumers, then resource assignment is simple, but system resiliency deteriorates
Solution Approach 1:
The patent implements preliminary action by pre-defining a resource set and assignment rules before system operation. This preliminary structure ensures that multiple resources are available for assignment to resource consumers, building in resiliency from the outset while maintaining simple management through pre-established assignment protocols rather than ad-hoc complex decisions.
Data Source
AI summary
A system and method of assigning resource consumers to resources using constraint programming is disclosed. The resource consumers are to be assigned to the resources in a way that achieves one or more particular objectives, such as resiliency, load balancing, and network embedding criteria. A data model, for application to a constraint programming solver, formulates the assignment problem as a set of constraints for a solution to be found. The data model includes a first set of data model elements corresponding to pairs of resources, each pair having two resources in different failure domains. The data model includes a second set of data model elements corresponding to the resource consumers. The data model includes a constraint that limits assignment of the resource consumers to the resources to: assigning the resource consumers respectively to the pairs of resources.


