Deterministic Error Handling in Distributed Software Task Communication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In communication between software components distributed across tasks with different cycle times, existing technologies fail to ensure deterministic error handling, leading to inconsistencies and increased system load during load peaks.

Innovation Solution

A method for error handling where data transmission intervals are managed by reading from a first temporary data area and storing in a second, with triggers based on the end of task executions, ensuring data consistency and reducing system load through deterministic processing using DMA or ISRs, and status variables to handle scheduling and priority-based task activations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If tasks are executed with different cycle times in a distributed software system, then system flexibility and adaptability are improved, but deterministic error handling becomes difficult to achieve

Engineering Contradiction:
Improvesystem flexibilityVSAvoiddeterministic error handling
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system segments task executions into distinct communication intervals and time intervals. Each task is assigned specific time slots for data transmission, and the system divides the execution timeline into manageable segments that can be independently controlled. This segmentation enables deterministic error handling by ensuring that each segment completes its function before the next begins, even when tasks have different cycle times.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-defining communication intervals and checking for task completion status before initiating data transmission. The scheduler advance checks whether tasks have finished executing within their allocated time intervals and only initiates communication after confirming task completion. This preliminary verification ensures deterministic error handling while maintaining system flexibility.

Inventive Principle:
Principle #10Preliminary action

2Speed

If data transmission occurs without strict timing control, then system responsiveness is improved, but data consistency and reliability deteriorate

Engineering Contradiction:
Improvesystem responsivenessVSAvoiddata consistency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system implements feedback mechanisms where the scheduler continuously monitors task execution status and communication interval completion. Before initiating data transmission, the system checks feedback signals indicating whether tasks have finished executing. This feedback loop ensures that data transmission only occurs when both tasks are ready, maintaining data consistency while preserving system responsiveness through efficient timing control.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adjusts communication timing based on actual task execution status. The scheduler flexibly determines when data transmission should occur by monitoring whether tasks complete within their allocated time intervals. This dynamic timing control allows the system to respond quickly to task completion while ensuring data consistency, resolving the contradiction between responsiveness and reliability.

Inventive Principle:
Principle #15Dynamics

3Reliability

If the scheduler enforces strict logical intervals, then deterministic scheduling is improved, but system adaptability to load peaks deteriorates

Engineering Contradiction:
Improvedeterministic schedulingVSAvoidsystem adaptability to load peaks
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The scheduler dynamically adapts to load peaks by monitoring actual task execution status and adjusting communication interval timing accordingly. When tasks complete faster than expected or when load peaks occur, the scheduler flexibly modifies timing without compromising deterministic scheduling. This dynamic adjustment maintains adaptability to varying system conditions while preserving deterministic error handling through consistent timing enforcement.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes scheduling parameters such as communication interval timing and task execution windows based on actual system conditions. When load peaks occur or task execution varies, the scheduler modifies these parameters to accommodate changing conditions. This parameter adjustment enables the system to adapt to load peaks while maintaining deterministic scheduling by ensuring tasks still complete within adjusted time intervals.

Inventive Principle:
Principle #35Parameter changes

4Adaptability or versatility

If task executions continue past communication interval endpoints, then task completion flexibility is improved, but data transmission reliability deteriorates

Engineering Contradiction:
Improvetask completion flexibilityVSAvoiddata transmission reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The scheduler performs preliminary checks before initiating data transmission to verify that tasks have completed within their allocated time intervals. This advance verification ensures that data transmission only occurs when tasks are ready and have not exceeded their communication interval endpoints. The preliminary action maintains data transmission reliability while allowing task completion flexibility through proper timing management.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback signals from task execution status to control data transmission timing. The scheduler monitors whether tasks complete within their allocated time and uses this feedback to determine when communication should occur. This feedback mechanism ensures data transmission reliability by preventing transmission when tasks are not ready, while maintaining flexibility in task completion through monitored time intervals.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11048575B2Method and device for error handling in a communication between distributed software components
Publication Date: 2021.06.29 ROBERT BOSCH GMBH
  • US11048575B2 patent drawing
  • US11048575B2 patent drawing
  • US11048575B2 patent drawing

AI summary

For error handling of data communications between first and second tasks in a data transmission interval, where first time intervals and second time intervals are predefined for the first and second tasks, respectively, the data transmission interval is omitted in one of the second time intervals when (1) execution of the first task immediately prior to the current second time interval, which began in a first time interval, during an immediately preceding second interval, continues past an end point of that first time interval, and an execution of the second task of the current second interval has begun, or (2) execution of the second task, which began in an immediately preceding one of the second intervals, continued past an end point of the preceding second interval and an execution of the first task the current second interval has already begun.