Constraint Programming Resource Assignment for Cloud Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Device complexity

If resource consumers are assigned to a single resource, then resource allocation is simple, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improveresource allocation complexityVSAvoidresource utilization efficiency
Core Design Contradiction:
Device complexityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

2Productivity

If resource consumers are assigned to multiple resources, then resource utilization efficiency improves, but allocation complexity increases

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidallocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If all resource consumers are assigned to the same resource, then assignment management is easy, but load balancing deteriorates

Engineering Contradiction:
Improveassignment management easeVSAvoidload balancing
Core Design Contradiction:
Ease of operationVSReliability

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.

Inventive Principle:
Principle #3Local quality

4Device complexity

If resources are concentrated on few consumers, then resource assignment is simple, but system resiliency deteriorates

Engineering Contradiction:
Improveresource assignment complexityVSAvoidsystem resiliency
Core Design Contradiction:
Device complexityVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10104170B2System and method of assigning resource consumers to resources using constraint programming
Publication Date: 2018.10.16 ORACLE INT CORP
  • US10104170B2 patent drawing
  • US10104170B2 patent drawing
  • US10104170B2 patent drawing

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.