Multi-OS Task Priority Control for Inversion Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Priority inversion occurs when executing tasks across multiple operating systems (OSs) due to inconsistencies in task priorities, leading to real-timeliness inhibition and system inconsistency.

Innovation Solution

A priority control apparatus that raises the priorities of all tasks on one OS when a higher-priority task from another OS is requested, while maintaining relative priority order, to resolve priority inversion and ensure system consistency across multiple OSs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the priority of a task is simply raised between OSs, then the requested task can be executed timely, but inter-OS system consistency cannot be maintained

Engineering Contradiction:
Improvetask execution timelinessVSAvoidsystem consistency
Core Design Contradiction:
SpeedVSStability of the object's composition

Solution Approach 1:

The patent dynamically changes task priorities based on runtime conditions. When a higher-priority task from another OS is requested during execution of a current task, the priority of all tasks in the current OS is raised to a level below the requested task's priority. This parameter change resolves priority inversion while maintaining system consistency by adjusting priorities relative to each other rather than using absolute fixed values.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements dynamic priority adjustment where task priorities are not static but change based on the execution context. The priority control apparatus continuously monitors task requests and dynamically modifies priority levels to prevent priority inversion, allowing the system to adapt to changing conditions while maintaining consistency across multiple OSs.

Inventive Principle:
Principle #15Dynamics

2Reliability

If the priority of the currently-executed low priority task is temporarily raised, then priority inversion is resolved, but the complexity of priority management increases

Engineering Contradiction:
Improvepriority inversion resolutionVSAvoidpriority management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the priority management functions into a unified priority control apparatus that operates across multiple OSs. Instead of each OS independently managing its own priorities, the system combines priority control into a centralized mechanism that coordinates priority adjustments across OS boundaries, reducing overall system complexity while maintaining reliable priority inversion resolution.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The priority control apparatus acts as an intermediary between multiple OSs, mediating priority adjustments and coordinating task execution across OS boundaries. This intermediary layer handles the complexity of priority management centrally, allowing individual OSs to maintain their own priority mechanisms while ensuring consistent behavior across the multi-OS system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8347296B2Priority control apparatus and priority control method
Publication Date: 2013.01.01 SOCIONEXT INC
  • US8347296B2 patent drawing
  • US8347296B2 patent drawing
  • US8347296B2 patent drawing

AI summary

A priority control apparatus according to the present invention includes: an OS execution unit which executes first tasks that run on a first OS and second tasks that run on a second OS; a task priority obtainment unit which obtains the priority of an execution task which is a first task being executed by the OS execution unit and the priority of a requested task which is a second task whose execution is being requested to the OS execution unit; and a priority changing unit which, in the case where the priority of the requested task is higher than the priority of the execution task, changes the priorities of the first tasks to be lower than the priority of the requested task and higher than the next lower priority to the requested task among the second tasks, while maintaining the relative order of the priorities among the first tasks.