System and method for executing distributed software
Abstract
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.
Claims
exact text as granted — not AI-modified1 . A system for executing a distributed software, the system comprising:
a plurality of nodes; and a communication channel; wherein the nodes are configured to allow communication across the communication channel, wherein repetitive communication time intervals of a predetermined constant duration are definable and wherein data transmission occurs within data communication time windows defined by start times and end times relative to the communication time intervals; wherein the distributed software comprises at least a first task and a second task; wherein the nodes are configured to execute the first and second tasks such that only one of the first and second tasks is executed at a given time; wherein the first task generates first data and transmits the first data to the communication channel repetitively at a first period, wherein data transmission of the first data occurs within first communication time windows having the same start and end times relative to their respective communication time intervals; wherein the second task generates second data and transmits the second data to the communication channel repetitively at a second period, wherein data transmission of the second data occurs within second communication time windows having same start and end times relative to their respective communication time intervals; wherein each of the first and second periods is an integer multiple of the predetermined constant duration, and wherein the start time of the first communication time windows is prior to the end time of the second communication time windows, and the start time of the second communication time windows is prior to the end time of the first communication time windows.
2 . The system according to claim 1 , further comprising a plurality of controllers, wherein each controller interfaces one node to the communication channel.
3 . The system according to claim 1 , further comprising at least one sensor providing an input signal to at least one of the nodes.
4 . The system according to claim 1 , further comprising at least one actuator controlled by at least one of the nodes.
5 . The system according to claim 1 , wherein the distributed software comprises a plurality of modules, each module comprising at least one task.
6 . The system according to claim 5 , wherein the first task and the second task are part of the same module.
7 . The system according to claim 5 , wherein the first task and the second task are part of different modules.
8 . The system according to claim 5 , wherein each node is configured to execute at least one of the plurality of modules.
9 . The system according to claim 5 , wherein at least one of the plurality of modules has at least a first mode and a second mode, wherein the first mode comprises the first task and the second mode comprises the second task, wherein the node is configured to stop repetitive execution of the first task and commence repetitive execution of the second task upon occurrence of a mode switch.
10 . The system according to claim 9 , wherein the mode switch is caused by an input signal of a sensor.
11 . The system according to claim 9 , wherein the mode switch is caused by a change of an internal state of the at least one module.
12 . The system according to claim 6 , wherein the modules are definable in accordance with the Timing Definition Language (TDL).
13 . The system according to claim 1 , wherein the first task and/or the second task is configured to have a predefined logical execution time interval associated therewith, wherein a physical execution of an invocation of the task starts at or after a beginning of the logical execution time interval and wherein the physical execution of the invocation of the task is completed before or at an end of the logical execution time interval.
14 . (canceled)
15 . The system according to claim 1 , wherein each invocation of the first task generates first data for transmission within the first window.
16 . The system according to claim 1 , wherein the system is configured to maintain durations of the first period and the second period constant with a relative accuracy of better than 10 −3 .
17 . The system according to claim 1 , wherein the communication time interval of the predetermined constant duration is less than 0.01 s.
18 . The system according to claim 1 , wherein the data transmission of the data includes transmission of a message including a representation of the data and a tag, wherein the tag is indicative of the task which generated the data.
19 . (canceled)
20 . (canceled)
21 . The system according to claim 18 , wherein a first tag included in a first message including the first data is encoded by a first number of bytes, wherein a second tag included in a second message including the second data is encoded by a second number of bytes, and wherein the first number is different from the second number.
22 . The system according to claim 1 , wherein the data transmission of the first data includes a representation of the first data encoded by a first number of bytes, wherein the data transmission of the second data includes a representation of the second data encoded by a second number of bytes, and wherein the first number is different from the second number.
23 . (canceled)
24 . The system according to claim 1 , wherein the start time of the first communication time window is different from the start time of the second communication time window.
25 . The system according to claim 1 , wherein the end time of the first communication time window is different from the end time of the second communication time window.
26 . (canceled)
27 . The system according to claim 1 , wherein the nodes are configured to transmit a first number of data across the communication channel within a first communication time interval, and to transmit a second number of data, which is different from the first number of data, across the communication channel within a second communication time interval.
28 . The system according to claim 1 , wherein the data transmission of the first data includes transmission of the first data together with third data, wherein a data frame is formed as a combined representation of the first and third data.
29 . A vehicle including the system as defined in claim 1 .
30 . A method of executing a distributed software, the method comprising:
operating a communication channel allowing communication between nodes of a plurality of nodes; executing at least a first task and a second task on the plurality of nodes such that only one of the first and second tasks is executing at a given time; generating first data by the first task and transmitting the first data to the communication channel repetitively at a first period, wherein the transmitting of the first data occurs within first communication time windows having same start and end times relative to repetitive communication time intervals of a predetermined constant duration; generating second data by the second task and transmitting the second data to the communication channel repetitively at a second period, wherein the transmitting of the second data occurs within second communication time windows having same start and end times relative to the repetitive communication time intervals; wherein each of the first and second periods is an integer multiple of the predetermined constant duration, and wherein the start time of the first communication time windows is prior to the end time of the second communication time windows, and the start time of the second communication time windows is less than prior to the end time of the first communication time windows.
31 . The method according to claim 30 , wherein the transmitting of the data includes transmitting a message including a representation of the data and a representation of a tag, wherein the tag is indicative of the task which generated the data.
32 . The method according claim 31 , wherein a first tag included in a first message including the first data is encoded by a first number of bytes, wherein a second tag included in a second message including the second data is encoded by a second number of bytes, and wherein the first number is different from the second number.
33 . The method according to claim 30 , wherein the transmitting of the first data includes a representation of the first data encoded by a first number of bytes, wherein the transmitting of the second data includes a representation of the second data encoded by a second number of bytes, and wherein the first number is different from the second number.
34 . The system according to claim 1 , wherein the system is configured to maintain durations of the first period and the second period constant with a relative accuracy of better than 10 −4 .
35 . The system according to claim 1 , wherein the system is configured to maintain durations of the first period and the second period constant with a relative accuracy of better than 10 −5 .
36 . The system according to claim 1 , wherein the system is configured to maintain durations of the first period and the second period constant with a relative accuracy of better than 10 −6 .
37 . The system according to claim 1 , wherein the communication time interval of the predetermined constant duration is less than 0.001 s.Join the waitlist — get patent alerts
Track US2011044345A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.