Thread Priority Scheduling for Shared Peripheral Device Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems for car navigation systems face challenges in achieving high response speed and throughput due to complex device control and inability to share peripheral devices effectively, leading to issues like priority inversion and fixed device usage sequences, which hinder simultaneous execution of applications with different device use sequences.

Innovation Solution

A data processor with device control threads, CPU processing threads, and an application management table that manages the execution of multiple processing parts to prioritize and coordinate the operation of peripheral devices, allowing flexible device sequence switching and parallel operation of applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If priority control is implemented to execute higher priority threads ahead of lower priority threads, then thread execution efficiency is improved, but priority inversion occurs where high priority threads are blocked by low priority threads

Engineering Contradiction:
Improvethread execution efficiencyVSAvoidpriority inversion
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a priority inheritance mechanism where a low priority thread (level 2) temporarily inherits the high priority (level 1) when blocking a high priority thread. This intermediary priority transfer resolves the inversion by ensuring the blocking thread executes at the necessary priority level, allowing the high priority thread to proceed without indefinite waiting.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent dynamically changes the priority parameter of threads based on execution context. When a low priority thread blocks a high priority thread, the system changes the priority of the blocking thread from level 2 to level 1 temporarily. This parameter change resolves the priority inversion while maintaining overall productivity.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If device control is centralized to manage shared peripheral devices, then device sharing capability is improved, but control complexity increases

Engineering Contradiction:
Improvedevice sharing capabilityVSAvoidcontrol complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments device control into separate device control threads, one for each peripheral device. Each thread manages its specific device independently, reducing the complexity of centralized control while enabling effective device sharing. The control thread structure divides the management function into manageable segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal control mechanism where any thread can request access to any device through a standardized priority-based system. The device control threads serve multiple functions: device access management, priority coordination, and sharing control, reducing overall system complexity through multi-functionality.

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

3Ease of operation

If fixed device usage sequences are enforced to simplify control, then control simplicity is improved, but flexibility to switch application use sequences is lost

Engineering Contradiction:
Improvecontrol simplicityVSAvoidsequence switching flexibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent transforms fixed device usage sequences into dynamic, flexible sequences. Instead of enforcing a predetermined order, the system dynamically determines device access sequences based on thread priorities and real-time execution context. This allows any application to switch device usage sequences flexibly while maintaining operational simplicity through automated priority-based scheduling.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9176771B2Priority scheduling of threads for applications sharing peripheral devices
Publication Date: 2015.11.03 FAURECIA CLARION ELECTRONICS CO LTD
  • US9176771B2 patent drawing
  • US9176771B2 patent drawing
  • US9176771B2 patent drawing

AI summary

A data processing method has a device control thread for each peripheral device capable of an independent operation, a CPU processing thread for each data processing that is performed by a CPU, a control thread equipped with a processing part for constructing an application. The control thread checks an output from the thread related with each processing part, performs with a higher priority from the processing part in which output data of the preprocessing part as a configuration of the application exists and that is near termination, and instructs execution of the each device control thread and the CPU processing thread, and data input/output. Each of device control thread and CPU processing thread processes the data according to the instructions, and sends a processing result and a notification to the control thread.