Dynamic Thread Management for High-Priority Task Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional information processing apparatuses inefficiently execute tasks with high priority due to queuing mechanisms that prioritize task completion over urgency, leading to delayed execution of high-priority tasks and idle threads not utilizing tasks from other queues.

Innovation Solution

Implementing a system with multiple queues of varying priority levels and a controller that manages subtasks, allowing for dynamic thread creation based on queue thresholds and upper limits, ensuring high-priority tasks are executed promptly and idle resources are utilized efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If tasks are enqueued into a queue associated with a thread based on queue length or task execution time to make processing equal, then task execution efficiency is improved, but high-priority tasks are delayed until lower-priority tasks complete

Engineering Contradiction:
Improvetask execution efficiencyVSAvoidhigh-priority task delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the single task queue into multiple priority-based queues (first queue for high-priority tasks, second queue for low-priority tasks). This segmentation allows the system to process tasks according to their priority levels rather than treating all tasks equally, thereby resolving the contradiction between overall execution efficiency and high-priority task responsiveness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by assigning different processing characteristics to different parts of the system. High-priority tasks in the first queue receive preferential treatment with dedicated thread creation and immediate processing, while low-priority tasks in the second queue follow standard queuing protocols. This differentiated approach ensures high-priority tasks are not delayed by lower-priority tasks.

Inventive Principle:
Principle #3Local quality

2Productivity

If threads are created to execute tasks from queues, then task execution is enabled, but idle threads do not utilize tasks from other queues

Engineering Contradiction:
Improvetask execution capabilityVSAvoididle thread resource waste
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent makes threads universal by enabling them to execute tasks from multiple queue types based on availability. When a thread becomes idle, it can dynamically select and execute tasks from either the first queue or the second queue, rather than being bound to a single queue. This multi-functionality ensures that idle threads are utilized effectively and resources are not wasted.

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

Solution Approach 2:

The patent introduces dynamic behavior to thread assignment and queue selection. Threads can dynamically adjust their task source based on real-time queue states, and the system dynamically allocates thread resources to maintain optimal utilization. This dynamic approach prevents idle threads from remaining unused and ensures efficient resource utilization.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If a single queue is used for task management, then system complexity is reduced, but priority-based execution and resource utilization are compromised

Engineering Contradiction:
Improvequeue management simplicityVSAvoidpriority-based execution efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the task management system into multiple priority-based queues while maintaining a unified control mechanism. The first queue handles high-priority tasks and the second queue handles low-priority tasks, with a controller that manages thread allocation across both queues. This segmentation provides priority-based execution efficiency without significantly increasing system complexity, as the control logic remains centralized.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10203985B2Information processing apparatus, method and non-transitory computer-readable medium for managing a number of concurrently executing subtasks based on a threshold and priorities of subtask queues
Publication Date: 2019.02.12 CANON KK
  • US10203985B2 patent drawing
  • US10203985B2 patent drawing
  • US10203985B2 patent drawing

AI summary

In an information processing apparatus, a second controller, if a number of subtasks currently executing in the information processing apparatus does not exceed a threshold, obtains a subtask from one of a plurality of queues and causes the obtained subtask to execute by newly creating a thread, and if the number of subtasks currently executing in the information processing apparatus exceeds the threshold, does not newly create a thread, and the second controller, if a number of subtasks currently executing among subtasks registered in a first queue is less than the upper limit value defined for the first queue, obtains a subtask registered in the first queue and causes the obtained subtask to execute by newly creating a thread regardless of whether or not the number of subtasks currently executing in the information processing apparatus exceeds the threshold.