Task Execution Sequence Control Using Hierarchical Priorities

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional priority methods for task management in operating systems fail to appropriately control the execution sequence of tasks with the same priority, leading to inefficient processing.

Innovation Solution

A program execution apparatus that determines an execution sequence for tasks based on target completion times and hierarchical priorities, using a storing unit, receiving unit, and writing unit to manage and schedule tasks according to their priority levels and deadlines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a conventional priority method is used to determine task execution sequence, then tasks with different priorities can be scheduled, but tasks with the same priority are executed in arrival order which fails to appropriately control execution sequence

Engineering Contradiction:
Improvetask execution sequence controlVSAvoidtask completion efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the priority control into multiple dimensions: arrival time (when task enters ready queue) and priority level (predefined priority values). This segmentation allows fine-grained control of task execution sequence by considering both dimensions independently and combinedly, resolving the limitation of conventional single-priority methods.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic priority adjustment where the effective priority of a task changes based on its arrival time and the current system state. Tasks with higher priority values or earlier arrival times gain precedence dynamically, enabling flexible execution sequence control that adapts to varying task characteristics and system conditions.

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If multiple types of priorities with hierarchical relationship are introduced, then task execution sequence can be appropriately controlled, but device complexity increases

Engineering Contradiction:
Improveexecution sequence controlVSAvoidpriority management structure
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent establishes a hierarchical priority structure where different priority levels are treated with equal systematic treatment through a unified scheduling algorithm. The ready queue maintains consistent organization across all priority levels, and the scheduling decision process applies the same evaluation criteria (arrival time + priority value) uniformly, reducing operational complexity despite multiple priority types.

Inventive Principle:
Principle #12Equipotentiality

Solution Approach 2:

The patent manages multiple priority types by transforming them into comparable parameter values. Each task is assigned a priority value that can be directly compared, and the scheduling algorithm uses simple value comparison rather than complex hierarchical processing. This parameter normalization simplifies the management of multiple priority levels while maintaining hierarchical control capability.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7418704B2Program execution apparatus
Publication Date: 2008.08.26 SOCIONEXT INC
  • US7418704B2 patent drawing
  • US7418704B2 patent drawing
  • US7418704B2 patent drawing

AI summary

Provided is a program execution apparatus that appropriately determines an execution sequence of tasks each given a target completion time before which execution of the task is to be completed, and executes the tasks according to the determined execution sequence. For each task a plurality of types of priorities having a hierarchical relationship among them are set. The apparatus includes: a storing unit that stores an identifier of each task that is already in existence, at a memory position therein determined based upon a plurality of types of priorities set for each task; a receiving unit that receives an identifier of a new task, and a plurality of types of priorities set for the new task; and a writing unit that writes the received identifier at a memory position in the storing unit determined based upon the received plurality of types of priorities.