FIELD OF THE INVENTION

The present invention relates to the field of distributed systems, and more particularly to timed functions for distributed decentralized real time systems.

DESCRIPTION OF THE RELATED ART

Hard real time Ethernet based fieldbus technologies that use time-based synchronization (e.g., EtherCAT (Ethernet for Control Automation Technology) and PROFINET-IRT (PROFINET Isochronous Real Time)) schedule real time streams on the network to ensure timeliness of data delivery from the physical inputs (sensors) to the control function and from the control function to the physical outputs (actuators). These technologies generally operate in the traditional fieldbus model where one or more control functions are implemented on one “master” device and the sensors and actuators (physical inputs and outputs) are implemented on or by one or more “slave” devices. This master-slave model defines a centralized control architecture where the input/output (I/O) is decentralized but the control functions are centralized. An exemplary prior art master/slave system with this architecture is shown in prior artFIG. 1A. As may be seen, in this architecture, the slaves (slave devices) do not implement the main control functionality; their primary purpose is to serve physical input data to the centralized control function(s) implemented on the master (master device), and to receive output data from the centralized control function(s) on the master and update the physical outputs. This approach simplifies the task of a schedule generator calculating the network schedule for the real time (data) streams considerably, since the schedule generator only needs to coordinate the reading of the physical inputs (input latch) on each slave device with the arrival time of a real time stream, and the writing of the physical outputs (output update) on each slave with the transmission time of a real time stream.

However, this master-slave approach (centralized distributed model) is not suited for distributing the control function among multiple masters (master devices or processes). In this centralized distributed model there is typically only one input/output update (I/O scan) for each control function implemented on the master, so the schedule generator has to determine a common time (referred to as a synchronization point) when all the slaves latch their inputs, and a common time when the slaves update their outputs for the I/O scan. As shown in prior artFIG. 1B, this is a rather simple calculation for the schedule generator because the synchronization point can be scheduled separately for inputs and outputs at any time on the slave devices during the compute time on the master. This way when the I/O scan runs, the real time streams from the slaves provide the master with new data latched at the same input synchronization point on all the slave devices. New data received by the slaves from the master is stored on the slaves and updated at the output synchronization point at the same time on all the slaves.

New time-sensitive networking technologies being defined in IEEE 802.1 enable coexistence of real time traffic with non-real time traffic on the same network, thereby permitting the “masters” (e.g., master devices) of independent fieldbus networks to exchange data amongst themselves in real time (with guarantees in timeliness of delivery). An exemplary prior art decentralized distributed system is illustrated in prior artFIG. 2, where, as may be seen, a device implementing a centralized schedule generator is connected via a switch (or bridge) to a plurality of master devices, each master device being coupled to a respective plurality of slave devices. As indicated in the Legend, these slave devices implement I/O functionality with respect to various devices attached thereto, e.g., actuators, sensors, motors, etc., as well as the master devices. More specifically, asFIG. 2indicates, the I/O functionality of a slave device may include implementation of interfaces to attached devices, e.g., sensors and actuators (including motors), management of output data received from the slave's master in one or more streams, and generation of one or more streams (i.e., data streams) to send input data to the master.

Exemplary data streams are also illustrated inFIG. 2, where, as indicated in the top right of the figure, stream 1 (so labeled) is an exemplary input stream from a “drive” slave device (that drives a motor) to Master A, stream 2 is an exemplary output stream from Master A to the “drive” slave device, e.g., control signals for controlling the motor, stream 3 is an exemplary stream from Master A to Master C, and stream 4 is an exemplary stream from Master D to Master A.

This architecture may permit new models for control functions to be defined where control implemented on one master can be distributed among multiple masters. More recently, the architecture shown inFIG. 2has been further improved to enable a centralized schedule generator to schedule control functions implemented on each master with respect to each other and with respect to a network's schedule for real time streams exchanged between the masters. In such improved system(s) the schedule generator(s) may compute future time events to start the operations for performing the physical input/output operations on the slave devices as well as transmission of streams between the master devices and between each master device and its slave devices. However, in many applications the start event is confined to an asynchronous event, the occurrence of which cannot be scheduled a priori. The support of such asynchronous events would make the system more versatile and consequently more useful.

Other corresponding issues related to the prior art will become apparent to one skilled in the art after comparing such prior art with the present invention as described herein.

SUMMARY OF THE INVENTION

Various embodiments of a system and method for scheduling an asynchronous start for timed functions in a real time system are presented below.

A broad range of applications are currently driving the need for distributed data acquisition and control. Examples of such applications include infotainment, industrial control, power transmission and/or generation, transportation control, automotive control, avionics, home networks, media converters, machine/structural health monitoring, and real-time testing, just to name a few. Such applications require the same level of synchronization over a network as achieved inside a chassis. Timely transfer of data from sensors to processing units is becoming increasingly important for “closing the loop” over the network, efficient bandwidth utilization of the network, and reducing cycle time (increasing productivity).

In various embodiments, precise chassis to chassis synchronization and a time-based distributed data acquisition and control architecture helps solve demanding control and measurement applications. The architecture may incorporate the use of time sensitive networking features (e.g. over Ethernet) to distribute time, and enable timely data transfer (e.g. transfer of control data and/or waveform data) in a network connecting a system composed of multiple chassis. The architecture may also incorporate mapping of intra-chassis (signal based) synchronization to inter-chassis (time-based) synchronization without compromising precision accuracy, and may enable heterogeneous network synchronization, e.g. synchronization with non-Ethernet and also Ethernet based deterministic networks.

An apparatus for scheduling a decentralized distributed system (which may be a real-time decentralized distributed system in some embodiments) may be provided that includes at least one centralized configuration device, configured to implement at least one schedule generator. The at least one centralized configuration device may be configured to couple to a plurality of master devices, where each master device is connected to a respective plurality of slave devices. Each master device may include one or more timed functions configured to control timing of physical input operations and/or physical output operations for the respective plurality of slave devices, and streams between the master device and the respective plurality of slave devices. The at least one schedule generator may be configured to receive temporal properties from respective timed functions executing on the master devices, and to receive associations between the timed functions and streams between the master devices (which are distinct from streams between a master device and its slave devices). The at least one schedule generator may be further configured to generate respective schedules for the master devices based at least in part on the temporal properties and the associations, and distribute the respective schedules to the master devices, where the respective schedules are useable by the master devices to control execution of the timed functions and the streams between the master devices in real time in a coordinated manner. In some embodiments, the apparatus may be included in a decentralized distributed real time system that includes the plurality of master devices (and respective pluralities of slave devices connected thereto).

Furthermore, the apparatus may also support asynchronous events by sharing a signal-based timing infrastructure between one or more slave devices that are coupled to a master device, or between one or more slave devices coupled to different master devices. The explicit signal-based connections between the or more slave devices that are coupled to a master device, and/or between the one or more slave devices coupled to different master devices is in addition to the network which connects those devices to exchange data (streams). The signal-based connection may transport the asynchronous event for starting the physical input/output operation. To accommodate support for asynchronous event functionality for devices that share the signal-based connection, timed-functions implemented in the apparatus may include enhancements that enable/facilitate easy transition of the timed-function between execution of future time events and asynchronous (time) events. The timed-functions may start the future time events and asynchronous events and their respective associated stream transmissions.

The timed-function may accordingly include a local signal group parameter identifying the one or more slave devices interconnected via the shared signal-based bus as a local signal group. The local signal group parameter may include a description object listing all the unique local signal groups with which the timed-function can be associated, and may further include a configuration object holding information for the timed-function indicating whether the timed-function participates in one of the local signal groups supported by the timed-function. For each respective local signal group, the description object may further indicate whether the timed-function is a creator of the asynchronous event or a consumer of the asynchronous event. The description object may further indicate a latency limit for the asynchronous event, with the latency limit specifying a maximum time period during which the asynchronous event is expected to be recognized.

This Summary is intended to provide a brief overview of some of the subject matter described in this document. Accordingly, it will be appreciated that the above-described features are merely examples and should not be construed to narrow the scope or spirit of the subject matter described herein in any way. Other features, aspects, and advantages of the subject matter described herein will become apparent from the following Detailed Description, Figures, and Claims.

