Distributed Software Timing via Periodic Windows

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional distributed software systems face challenges in meeting hard real-time requirements, particularly in ensuring fault-free operation across various operational modes and maintaining sufficient bandwidth for data communication.

Innovation Solution

A system comprising multiple nodes and a communication channel that schedules tasks with repetitive communication time intervals, allowing sharing of communication bandwidth between tasks, and utilizing the Timing Definition Language (TDL) and Logical Execution Time (LET) to ensure precise timing and efficient data transmission.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If tasks are allowed to communicate freely across the communication channel in conventional distributed systems, then data exchange flexibility is improved, but bandwidth sufficiency deteriorates because it becomes difficult to guarantee adequate bandwidth for all possible operational modes

Engineering Contradiction:
Improvedata exchange flexibilityVSAvoidbandwidth sufficiency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements periodic communication cycles with fixed time intervals, where each cycle contains predetermined communication time windows for different tasks. This periodic structure allows the system to guarantee bandwidth allocation for each operational mode while maintaining flexibility through the ability to switch between different operational modes. The communication channel is divided into time slots that are periodically repeated, ensuring that bandwidth requirements are met for all possible task combinations.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent employs dynamic operational mode switching where the system can transition between different operational modes based on current task requirements. Each operational mode has a predetermined communication schedule, and the system dynamically selects the appropriate mode to match current bandwidth demands. This dynamic adaptation allows the system to maintain bandwidth sufficiency for the active mode while preserving flexibility to adjust to changing requirements.

Inventive Principle:
Principle #15Dynamics

2Reliability

If the system guarantees bandwidth for all possible operational modes, then reliability is improved, but device complexity worsens due to the difficulty of designing distributed software that meets hard real-time requirements

Engineering Contradiction:
Improvebandwidth sufficiencyVSAvoidsoftware design complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent performs preliminary design of communication schedules for each operational mode before runtime. During the design phase, communication time windows and bandwidth allocations are predetermined for all possible operational modes. This preliminary action creates a library of pre-validated communication schedules that can be quickly selected at runtime based on the current operational mode, avoiding the need for complex real-time bandwidth negotiation and reducing software design complexity while ensuring reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the communication channel into distinct time windows and operational modes, with each segment having predetermined bandwidth allocations. By dividing the communication schedule into discrete, manageable segments corresponding to different operational modes, the system simplifies the design process while ensuring that bandwidth requirements are met for each segment. This segmentation allows independent verification and validation of each operational mode's bandwidth sufficiency.

Inventive Principle:
Principle #1Segmentation

3Reliability

If communication time windows are extended to accommodate all tasks, then bandwidth sufficiency is improved, but time precision deteriorates because tasks may execute later than their logical execution time

Engineering Contradiction:
Improvebandwidth sufficiencyVSAvoidtiming accuracy
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent uses periodic communication cycles with fixed durations that are carefully designed to accommodate all task communications within each cycle. By structuring communication as periodic events with predetermined time windows, the system ensures that tasks complete within their allocated time slots, maintaining timing accuracy. The periodic structure prevents tasks from extending beyond their logical execution time while still providing sufficient bandwidth through the regular repetition of communication opportunities.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent performs preliminary timing analysis and schedule design to determine the minimum communication time windows required for each operational mode. This preliminary action ensures that time windows are extended only as much as necessary to accommodate bandwidth requirements, avoiding excessive extensions that would compromise timing accuracy. The pre-calculated schedules guarantee that tasks complete within their logical execution time while maintaining sufficient bandwidth allocation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7848359B2System and method for executing distributed software
Publication Date: 2010.12.07 WOLFGANG PREE
  • US7848359B2 patent drawing
  • US7848359B2 patent drawing
  • US7848359B2 patent drawing

AI summary

A system for executing distributed software under hard real-time conditions comprises a plurality of nodes and a communication channel. Nodes are allowed to transmit data across the communication channel within time windows relative to repetitive communication time intervals of the communication channel, wherein a number of bytes transmitted within the communication time windows may vary from communication time window to communication time window. The data may be transmitted as a message comprising a representation of an identifying tag and a representation of the data. Also a number of bytes representing respective tags may vary from communication time interval to communication time interval.