Dynamic Task Scheduling via Dependency Models and Resource Constraints

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face inefficiencies in task scheduling due to the lack of effective management of task dependencies and resource constraints, leading to suboptimal execution times and potential deadlocks.

Innovation Solution

The DGTaskExecutor system dynamically schedules tasks based on dependencies and resource constraints, allowing for concurrent execution of independent tasks using independent data processing resources, and dynamically adjusts task priorities and resource allocation to optimize execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If tasks are scheduled sequentially without considering dependencies and resources, then the system is simple to manage, but task execution time increases and productivity decreases

Engineering Contradiction:
Improvetask execution efficiencyVSAvoidscheduling system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic task scheduling by continuously monitoring task dependencies and resource availability, adjusting the execution order and allocation of tasks in real-time based on current system state, thereby improving productivity without requiring a static complex scheduling structure

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The scheduling system incorporates feedback mechanisms by tracking task completion status, resource usage, and dependency satisfaction, using this information to dynamically adjust subsequent task assignments and optimize execution efficiency

Inventive Principle:
Principle #23Feedback

2Loss of time

If tasks are executed concurrently without proper dependency management, then execution time is reduced, but deadlocks and system failures occur

Engineering Contradiction:
Improvetask completion timeVSAvoidsystem stability
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system performs preliminary analysis of task dependencies and resource requirements before executing concurrent tasks, establishing a valid execution order that prevents deadlocks while maximizing parallelization opportunities to reduce completion time

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a scheduling system as an intermediary that coordinates task execution and resource allocation, managing dependencies and preventing conflicts between concurrent tasks, thereby maintaining system reliability while enabling parallel execution

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If resources are allocated statically to tasks, then resource management is simple, but resource utilization efficiency decreases and productivity is reduced

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidresource management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic resource allocation where resources are assigned to tasks based on real-time availability and task priorities, allowing resources to be reassigned as tasks complete or priorities change, thereby improving utilization efficiency without requiring complex permanent assignments

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The scheduling system enables resources to serve multiple tasks sequentially and concurrently where applicable, making resources multi-functional and adaptable to different task requirements, which improves overall utilization without needing dedicated resources for each task

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

Data Source

PatentUS9223628B2Task scheduling based on dependencies and resources
Publication Date: 2015.12.29 EBAY INC
  • US9223628B2 patent drawing
  • US9223628B2 patent drawing
  • US9223628B2 patent drawing

AI summary

An example system identifies a set of tasks as being designated for execution, and the set of tasks includes a first task and a second task. The example system accesses task dependency data that corresponds to the second task and indicates that the first task is to be executed prior to the second task. The example system, based on the task dependency data, generates a task dependency model of the set of tasks. The dependency model indicates that the first task is to be executed prior to the second task. The example system schedules an execution of the first task, which is scheduled to use a particular data processing resource. The scheduling is based on the dependency model.