Priority-Based Resource Scheduling with Dynamic Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional resource scheduling methods fail to effectively handle skewness in scheduling mechanisms for priority-based task scheduling, leading to inefficient resource utilization and potential performance degradation or service interruptions due to speculative execution and lack of dynamic programming techniques for client/tenant prioritization.

Innovation Solution

A method and system for priority-based resource scheduling with load balancing that uses dynamic programming and round-robin techniques to prioritize client requests, migrate tasks based on usage-related information, and balance server loads, incorporating graph theory for task scheduling to avoid skewness and improve SLA prioritization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional resource scheduling methods are used, then implementation is simple, but resource utilization is inefficient and skewness occurs in scheduling mechanisms

Engineering Contradiction:
Improveresource utilizationVSAvoidscheduling mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic programming techniques that allow the scheduling mechanism to adapt and change based on real-time system state and usage-related information, transforming static conventional scheduling into a dynamic system that optimizes resource allocation continuously without requiring complex manual intervention

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback loops where usage-related information from servers is continuously monitored and fed back into the scheduling algorithm, enabling the system to learn from past allocations and improve future scheduling decisions, thereby enhancing resource utilization through data-driven optimization

Inventive Principle:
Principle #23Feedback

2Speed

If speculative execution is used in scheduling, then task completion speed may improve, but reliability decreases due to potential service interruptions

Engineering Contradiction:
Improvetask completion speedVSAvoidservice continuity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent performs preliminary validation and verification of scheduling decisions before executing tasks, using dynamic programming to evaluate multiple potential schedules in advance and select the most reliable option, thereby preventing speculative execution errors while maintaining efficient task completion

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements compensatory measures by maintaining backup scheduling options and using load balancing to distribute tasks across multiple servers, providing a cushion against failures and ensuring service continuity even when speculative execution attempts fail

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Productivity

If load is concentrated on fewer servers, then resource utilization efficiency improves, but system reliability decreases due to single points of failure

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidsystem fault tolerance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent employs dynamic load balancing that continuously monitors server status and dynamically adjusts task distribution, allowing the system to concentrate load on fewer servers when efficient but automatically redistributing to multiple servers when failure risks are detected, thus balancing efficiency and reliability in real-time

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters by adjusting the degree of load concentration based on usage-related information and system conditions, transforming the static load distribution into a variable parameter that optimizes both resource utilization efficiency and system reliability under different operating scenarios

Inventive Principle:
Principle #35Parameter changes

4Measurement precision

If manual user management is used for tenants and queues, then control precision is high, but productivity decreases due to active user involvement requirements

Engineering Contradiction:
Improvescheduling control precisionVSAvoidjob execution efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent implements self-service automation where the scheduling system autonomously manages tenant allocations and queue operations using dynamic programming algorithms, eliminating the need for active user involvement while maintaining precise control through automated decision-making based on usage-related information

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system replaces manual mechanical user actions with automated computational algorithms, substituting human-based scheduling control with machine-based dynamic programming that achieves both precision and high productivity by processing scheduling decisions at computational speeds

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS20240036920A1Method and system for priority-based resource scheduling with load balancing
Publication Date: 2024.02.01 WATERLABS AI LLC
  • US20240036920A1 patent drawing
  • US20240036920A1 patent drawing
  • US20240036920A1 patent drawing

AI summary

Present disclosure generally relates to resource scheduling systems, more particularly relates to a method and a system for priority-based resource scheduling with load balancing. A method includes receiving, from client devices, client requests to execute tasks on servers associated with one or more Virtual Machines (VMs). Further, method includes determining usage-related information of each server, upon receiving client requests. Furthermore, method includes prioritizing received client requests, based on request parameters associated with client requests. Further, method includes assigning computing resources in servers to execute tasks for client devices using dynamic programming technique. The method includes monitoring dynamically, usage-related information of servers. Further, method includes migrating from first server to second server of servers, tasks using round-robin technique and/or graph theory technique, based on usage-related information. Furthermore, method includes initiating tasks on second server, in response to migrating the one or more tasks.