US 7715408 B2
A method for establishing communication schedules for a distributed real-time computer system comprising nodal computers, wherein: a) a grid (RAS) is created, which contains all of the parameters necessary to enable basic communication between nodes (KR1 . . . KR5) of a cluster (CLU); b) nodal communication schedules (KPG; KP1, KP2) for all nodes planned to be used as invariant components (KR2; KR2, KR3) are derived from the grid (RAS) and all parameters of the grid are copied and node-specific parameters are added; and c) cluster communication schedules (CP1, CP2; CL1, CL2) are derived from the nodal communication schedules (KPG; KP1, KP2), which contain, in addition to all parameters of the grid and the node-specific parameters of the invariant components, those parameters which are relevant to the remaining nodes of the cluster.
1. A method for establishing communication schedules for a distributed real-time computer cluster comprising nodal computers, comprising the steps of:
a) creating a grid by a computer which contains parameters necessary to enable basic communication between nodes of a cluster;
b) providing nodal communication schedules for all nodes planned to be used as invariant components, said nodal communication schedules having been derived based on the parameters contained in said grid and any node-specific parameters from said invariant components; and
c) deriving cluster communication schedules from said nodal communication schedules which contain, in addition to all parameters of the grid and the node-specific parameters of the invariant components, those parameters which are relevant to the remaining nodes of the cluster;
d) wherein said nodal communication schedules for said invariant components may be used in any grid having the same parameters.
2. A method as defined in
3. The cluster of
4. A method as defined in
5. A method as defined in
6. A method as defined in
7. A cluster communication schedule created by a method as defined in
8. A data medium able to be read by a computer and containing a communication schedule as defined in
9. A data medium able to be read by a computer and containing a computer program for carrying out the method as defined in
10. The cluster of
11. A distributed computing cluster comprising:
a plurality of computing nodes in communication with each other;
a grid, defining a plurality of slots, said slots defining the timing and length and of transmission windows for said cluster during which said computing nodes may transmit messages, said grid containing parameters necessary to enable basic communication between said nodes in said cluster;
a plurality of invariant nodal communication schedules associated with specific respective computing nodes, said nodal communication schedules having been derived based on the parameters contained in said grid and any node-specific parameters from said invariant components, wherein each of said nodes having an invariant nodal communication schedule is assigned to a slot in said grid;
a cluster communications schedule containing all grid parameters, all node-specific parameters, and any other parameters relevant to other nodes in said cluster, said cluster communication schedule being derived from said plurality of invariant nodal communications schedules;
wherein each of said nodes having an invariant nodal communication schedule may transmit messages to other of said computing nodes during it's assigned slot and may receive messages during any defined slot, and further wherein said invariant nodal communications schedules may be used in any grid having the same parameters.
This application claims priority from PCT Application No. PCT/AT05/000357 filed Sep. 7, 2005, which in turn claims priority from Austrian Patent Application No. A 1554/2004 filed Sep. 15, 2004.
The invention relates to a method for establishing communication plans for a distributed real-time computer system comprising nodal computers.
Communication schedules are necessary in order to define clear and unique time-triggered communication within a distributed, time-triggered real-time computer architecture, hereinafter referred to as a “cluster.” Distributed, time-triggered real-time systems are used, inter alia, in automobiles or aircraft. Such systems are described, for example, in the following documents: U.S. Pat. Nos. 5,694,542; 4,866,606 and 5,887,143; European Patent No. 1,222,542 B1; and World Patent Publication Nos. WO 2002/099643 A3 and WO 2004/0233302.
Bus protocols for distributed, time-triggered real-time systems are further described in: TTP: “TTP/C Protocol Specification”, available on http://www.tttech.com; FlexRay: “FlexRay Communication System Protocol Specification”, available on http://www.flexray.com; and “TTCAN (time-triggered communication on CAN)”, ISO 11898-1. Detailed information concerning communication schedules are also available in: Kopetz, H. (1997)—“Real-Time Systems, Design Principles for Distributed Embedded Applications”, ISBN: 0-7923-9894-7, Boston, Kluwer Academic Publishers; and Kopetz, H., Bauer, G.—“The Time Triggered Architecture”, Proceedings of the IEEE Vol. 91, No. 1, Jan. 2003, pp. 112-126.
The following short definitions are provided with reference to the terminology used.
If, for example, clusters are used in an automobile, then the individual nodes are associated with different individual applications, such as, for example, engine control, control of the air-conditioning system, control of seat adjustments, exhaust purification, etc. If an automobile is to be offered with different equipment and fittings, then it becomes necessary to use cluster variants, which, however, leads to variations in the communication schedules. Thus, the same nodal computers must have, in different variants, different communication schedules so that they do, in fact, differ from one another. This leads to undesirable complications and costs with the large-scale production of cluster variants, since it must either be possible to subsequently load the communication schedules into the nodal computers, or a node variant must be provided for each cluster variant. The process of loading the communication schedules must normally be done on the production bench and costs time and leads to logistic problems. The provision and storage of various node variants for each cluster variant naturally leads to costs in a similar manner.
It is therefore necessary to find means of using invariant components that can be applied without any modification to different cluster variants. In principle, nodal computers can also communicate when their communication schedules do not exactly reflect the specific cluster. Communication can work as long as all communication partners of the node transmit and receive messages in conformity with the schedules of the node.
It is an object of the invention to provide a method for creating communication schedules that enable the use of invariant components. This object is achieved by a method as defined in claim 1, to wit:
A special advantage of the method of the invention is that correct communication schedules can be created promptly and constructively without having to “test” them.
In order to make it possible to configure cluster variants using invariant components, it is currently necessary to create master communication schedules in which, with the help of deliberation and skillful distribution of slots and messages, it is assured that nodes can be used in multiple variants. This work, however, is prone to errors involving trial-and-error manipulation of parameters and it is not always certain that each combination really works. By contrast, the method of the invention guarantees the correct interaction of nodes in all cluster variants by setting up compatible communication schedules.
The method is simplified in many cases when the grid is extracted (copied) from a communication schedule that already exists.
The method of the invention is particularly reliable and time-saving when nodal communication schedules are created for two or more invariant components of the cluster. The same applies to one embodiment of the invention in which at least two variants of cluster communication schedules are created. It is particularly advantageous when communication schedules for clusters of nodal computers in automobiles are created, since cost reduction can be achieved thereby.
The invention further relates to a computer program with program code resources for executing all the steps when the program is run on a computer, a cluster communication schedule that has been created in accordance with one of the methods as described above, a cluster communication schedule that has been created with the help of a computer program of the type mentioned, a data medium that can be read by the computer and that contains a computer program of the type mentioned and also a data medium that contains a communication schedule that can be read by the computer and that has been created using a method of the invention.
The accompanying drawings, which are incorporated herein and constitute part of this specification, illustrate the presently preferred embodiments of the invention, and, together with the general description given above and the detailed description given below, serve to explain the features of the invention. In the drawings:
In the drawings, like numerals indicate like elements throughout. Certain terminology is used herein for convenience only and is not to be taken as a limitation on the present invention. The term “cluster” refers to the nodal computers of a distributed real-time computer system, and is shown in
With reference to
The nodal computer KR1 can be the controller of an air-conditioning system and the peripheral PE1 contain the air-conditioning system as such, e.g. an air-conditioning compressor, temperature sensors, humidity sensors, etc.
The nodal computer KR2 can, for example, be the door controller in an automobile and the peripheral PE2 could be components of the door, e.g. a switch in the door, a wing mirror, a power window motor, etc.
The nodal computer KR3 can be a seat controller in the car under consideration and the peripheral PE3 can include seat components e.g. a switch in the seat, adjustment motors, etc.
The nodal computer KR4 can be the air-conditioning valve controller and the peripheral PE4 could contain the ventilation valves, e.g. fan motors, valve adjustment means, etc.
The nodal computer KR5 and the associated peripheral PE5 are not considered here and may be regarded as a “reserve”.
To remain with the example of automobiles, there are doors, seats, and air-conditioning systems in various designs. In luxury designs, for example, the doors communicate with the seat and the air-conditioning system, a memo function adjusts the wing mirror, the door and the seat and the desired inside temperature. These options are not available with the simpler variants of a model, although the air-conditioning controller will always communicate with the air-conditioning valve controller. Owing to the different variants, e.g. two types of door, three types of seat, two types of air-conditioning system and so on, there are innumerable combinations, and in the present example there are twelve variations. If each cluster variant were to be treated as a controller variant, then in this example it would be necessary to provide twelve door control device variants instead of merely two having different functions. Thus, the use of invariant components that can be used without any modification in various models of the relevant automobile is worthy of consideration.
In the next step, the nodal communication schedule KPG for all nodes planned to be used as invariant components, the nodal computer KR2 in the present example, is derived from the grid RAS and, in the process, all parameters of the grid are accepted and node-specific parameters are added.
A node with this nodal communication schedule KPG can now be used in different clusters that must each be derived from the same grid.
As far as the parameters of the grid RAS are concerned, they are a subset of the parameters of a cluster communication schedule CP1, CP2. These grid parameters include all parameters that are theoretically required to enable time-triggered communication between the nodes KR1 . . . KR5 of the cluster as regards the reception of messages. These parameters include at least the following:
Beyond this, depending on the actual time-triggered transmission protocol used and depending on the actual communication controller hardware, there will be other parameters necessary to enable basic communication. Such parameters will therefore also belong to the grid parameters RAS.
The grid parameters can be created or derived from existing cluster communication schedules with the aid of tools (utility or service programs), mixed forms being possible if desired. Thus, parameters of existing nodes can be used and broadened to develop cluster communication schedules, in which these nodes can then be used together with others.
A nodal communication schedule KPG that has been derived from a grid consists of the following parameters:
Nodal communication schedules, KPG in this case, that have been derived from the same grid, can be copied to the cluster communication schedule CP1, CP2. Here again, the transfer is supported by tools in order to ensure that there are no overlaps in the message positions or that the definition of the messages transmitted meets the overall requirements of the nodal communication schedules CP1, CP2 that have been copied. The cluster communication schedules CP1, CP2 created finally consist of the following parameters:
The diagrams given in
The nodal computer KR1, that is the controller of the air-conditioning system in the present example, occupies the slot SL1. In addition to effecting the air-conditioning control, the controller may be adapted to send a control message regarding the dimming of the switch lights, which is also read, inter alia, by the nodal computers KR2 and KR3 as messages EN1/2. In addition, the nodal computer may also be adapted to send a message regarding the outside temperature, which is received and processed as message EN1 by the door controller, i.e., the nodal computer KR2.
The nodal computer KR2, the door controller in the present example, occupies slot SL2, sends the message AN1 and receives the message EN1.
The nodal computer KR3, the seat controller in the present example, occupies slot SL3, sends the message ANL and receives the message EN2.
The communication schedule KP1 (
The example thus illustrates that providing for different air-conditioning systems—even different communication on the bus—does not necessarily have to result in different seat and door controllers, i.e., the nodal computers KR2 and KR3 are designed as invariant components.
It will be appreciated by those skilled in the art that changes could be made to the embodiments described above without departing from the broad inventive concept thereof. It is understood, therefore, that this invention is not limited to the particular embodiments disclosed, but it is intended to cover modifications within the spirit and scope of the present invention as defined by the appended claims.