WO2019155003A1 - Method for optimising an embedded system and associated devices - Google Patents

Method for optimising an embedded system and associated devices Download PDF

Info

Publication number
WO2019155003A1
WO2019155003A1 PCT/EP2019/053172 EP2019053172W WO2019155003A1 WO 2019155003 A1 WO2019155003 A1 WO 2019155003A1 EP 2019053172 W EP2019053172 W EP 2019053172W WO 2019155003 A1 WO2019155003 A1 WO 2019155003A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
link
computer program
requirement
embedded system
Prior art date
Application number
PCT/EP2019/053172
Other languages
French (fr)
Inventor
Florian GREFF
Original Assignee
Thales
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thales filed Critical Thales
Publication of WO2019155003A1 publication Critical patent/WO2019155003A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/826Involving periods of time

Definitions

  • the present invention relates to a method for optimizing an onboard system.
  • the present invention also relates to a computer program product adapted to the implementation of such an optimization method.
  • the present invention also relates to a readable medium of information specific to implementing the optimization method.
  • the present invention also relates to an embedded system associated with the optimization method.
  • Each component communicates data via packets that are network envelopes for carrying the data.
  • a system may be subject to transient failures, i.e. network packet transmission errors.
  • a network packet may be corrupted due to a hardware error leading to a bit inversion.
  • errors are very rare events, these errors should be managed which can alter the integrity of the packet.
  • Such a control coupled with the implementation of a retransmission of the packet in certain cases is sufficient for non-critical communication flows but insufficient for communication flows having real-time properties. This is to ensure that a data or more precisely a package arrives at its destination before a strict deadline. This supposes on the one hand that the packet arrives intact and on the other hand within the allotted time. In other words, in order to meet the problems of guaranteeing real-time operation, it is desirable to manage the transient transmission errors to ensure that the real-time system functions properly.
  • One technique for handling such errors in a real-time context is to duplicate communications along disjoint paths. Such a technique assumes that transmission errors are so rare that a data item will suffer at most on one of the two paths. If an error occurs so that one of the data arrives too late to the receiver, then at least the other data arrives at the receiver in time.
  • such a technique involves a doubling of the network resources used, a doubling which is mostly unnecessary because transmission errors are rare. Moreover, such a technique is based on the assumption that one of the packets arrives at its destination without errors, which has a probability of not being true.
  • the statistical requirement to be fulfilled corresponds to the reliability (referred to as "reliability" in English) of the real-time system and more precisely to the probability that no unmanaged failure occurs during the time interval considered (typically the duration of time). use of the system).
  • reliability referred to as "reliability” in English
  • Such a condition is equivalent to an average time between transient failures that is obtained by dividing the time interval considered by the desired reliability.
  • a failure corresponds to the case where a datum undergoes more retransmissions than the fixed limit.
  • the iterative design process can be lengthy to achieve a real-time system that meets the desired reliability.
  • such a method is incompatible with an incremental analysis because the calculated probability takes into account all the tasks implemented by the real-time system.
  • the present description relates to a method for optimizing an on-board system, the embedded system comprising components, each component communicating with another component by exchanging at least one packet, each packet comprising at least a portion of a data item, the set of components forming a communication network having links, the method comprising at least one step of providing a global statistical requirement for the on-board system, decomposing the overall statistical requirement into individual requirements, an individual requirement for each link to a given stream, and, for each link, determining the number of packet transmissions ensuring compliance with the individual requirement specific to the link.
  • Such an optimization method is able to operate in real time, and makes it possible to obtain an embedded system with fewer resources involved while respecting a requirement of reliability and preference, a resource allocation adapted to the need for reliability.
  • Such a method also makes it possible to optimize the resources used while respecting a desired reliability, which is defined by the overall statistical requirement provided.
  • the method makes it possible to divide the global optimization problem into several individual problems for each embedded system link. Each individual problem is defined by an individual requirement. The process therefore allows to obtain an optimization of the resources used for each link. This allows a more efficient implementation for the method compared in particular to a so-called global approach as illustrated above.
  • the optimization method comprises one or more of the following characteristics, taken in isolation or in any technically possible combination:
  • the method comprises a step of allocating additional resources to the onboard system.
  • the overall statistical requirement is that the average time between two failures for the system is less than a predefined value.
  • the links of the embedded system are in an SDRN architecture.
  • the present description also relates to a computer program product comprising a readable information medium, on which is stored a computer program comprising program instructions, the computer program being loadable on a data processing unit. and adapted to cause the implementation of a method as previously described when the computer program is implemented on the data processing unit.
  • the present description also relates to a readable medium of information storing a computer program comprising program instructions, the computer program being loadable on a data processing unit and adapted to lead to the implementation of a method such as than previously described when the computer program is implemented on the data processing unit.
  • the present description also relates to an embedded system comprising components, each component communicating with another component by exchange of at least one packet, each packet comprising at least a part of a datum, the set of components forming a network communication system comprising links, the system comprising a controller, the controller being adapted to implement a method as previously described.
  • FIG. 1 a schematic view of an exemplary system for implementing a method for optimizing an onboard system
  • FIG. 2 a schematic representation of a network according to an SDRN architecture comprising a controller capable of implementing an admission control
  • FIG. 3 a flowchart of an example implementation of an example of admission control.
  • FIG. 1 A computer 10 and a computer program product 12 are shown in FIG. 1.
  • the interaction of the computer program product 12 with the system 10 makes it possible to implement a method of optimizing an onboard system.
  • the computer 10 is an electronic computer adapted to manipulate and / or transform data represented as electronic or physical quantities in computer registers 10 and / or memories in other similar data corresponding to data. in memories, registers or other types of display, transmission or storage devices.
  • the computer 10 comprises a processor 14 comprising a data processing unit 16, memories 18 and an information carrier reader 20.
  • the computer 10 also includes a keyboard 22 and a display unit 24.
  • the computer program product 12 comprises a readable information medium.
  • a readable information medium is a medium readable by the computer 10, usually by the data processing unit 14.
  • the readable information medium is a medium adapted to memorize electronic instructions and capable of being coupled to a bus of a computer system.
  • the readable information medium is a diskette or floppy disk ("floppy disk"), an optical disk, a CD-ROM, a magneto-optical disk, a ROM memory, a RAM memory, an EPROM memory, an EEPROM memory, a magnetic card or an optical card.
  • On the readable information medium is stored a computer program including program instructions.
  • the computer program is loadable on the data processing unit 14 and is adapted to drive the implementation of the optimization process.
  • the operation of the computer 10 interacting with the computer program product 12 is now described with reference to an exemplary implementation of a method for optimizing an onboard system.
  • the embedded system having components, each component communicating with another component by exchanging at least one packet, each packet comprising at least a portion of a data item (a packet is a headset and a portion of a packet) useful carrying said at least a part of a data), the set of components forming a communication network having links L.
  • Each link L is adapted to be traversed by a communication flow / allowing the flow of packets, and therefore data, between the components.
  • the embedded system is a real-time system.
  • the method includes a supply step, a decomposition step, and a determination step.
  • the overall statistical requirement is expressed as follows: a probability p that a datum (any) arrives too late at its destination because of transmission errors during a time interval IT must be less than or equal to a value predefined.
  • the time interval IT considered is the duration of use of the network.
  • the overall statistical requirement can be expressed as an average time between two TME failures, a failure being in this case the fact that a data arrives too late at its destination because of the transmission errors.
  • the average time between two failures TME is related to the probability p and to the time interval IT according to the following relation:
  • the overall statistical requirement is expressed using the notion of average time between two failures TME, knowing that, in an equivalent manner, it is possible to use the probability p and the time interval IT.
  • the overall statistical requirement is expressed as an inequality, namely that the mean time between two TME failures for the system is less than a predefined value.
  • the overall statistical requirement is broken down into individual average time requirements between two TME failures for each L link traversed by a communication flow. For this, it is considered that the components of the network are in series in terms of failure: if a packet arrives too late on one of the links L, then the network is considered globally failing.
  • the mean time between failures of the system TME system is related both to the average time between two failures of the first component TME C1 and the average time between two failures of the second component TME C2 by the following relation:
  • TME ⁇ L TME system * n L
  • n L is the number of links L of the system
  • TME (L) designates the average time between two failures for the link L, L being in this context an integer between 1 and n L.
  • a communication flow passes through each link L.
  • the communication flow in a link L is specific to it.
  • the communication flow is noted / in what follows.
  • each link L is divided into a plurality of channels that the communication stream / consumes according to a consumption coefficient noted w f L. It follows that :
  • n C t is the number of channels of a link L of the system
  • TME (L, f) is the average time between failures for link L and communication flow /.
  • the determination step it is determined, for each link, the number of packet transmissions ensuring compliance with the individual requirement associated with the link.
  • a datum is simulated as an extended datum, that is to say as the datum repeated as many times as the datum is transmitted.
  • the size of the extended datum is equal to three times the size of the datum.
  • K f L the number of additional packets to retransmit in the worst case (still according to the statistical requirement) is noted K f L while e f L is the total size of the data without retransmission.
  • the worst case is the case where each bit error affects a different packet of the data, the number of retransmissions then being equal to the number of bit errors.
  • bit error rate the average rate of bit errors in the network is denoted BER with reference to the English abbreviation for "Bit Error Rate” which literally means “bit error rate”.
  • T f The minimum period between each sending of data in the flow.
  • bit errors follow a statistical law which is, in this case a Poisson's law.
  • the Poisson law is a discrete probability law that describes the behavior of the number of events occurring in a fixed time interval, if these events occur with an average frequency or known expectancy and regardless of the time elapsed since the previous event. If the average number of occurrences in the fixed time interval is l (strictly positive real number), then the probability p (/ c) that k occurrences occur is given by:
  • the parameter of the Poisson distribution in the flux / is denoted f L.
  • the parameter of the Poisson's law f L is the average number of retransmissions per data item, ie the average number of bit errors per data item.
  • the parameter of the Poisson's law is related to the average bit error rate BER and the total size of the data without retransmission L by the following mathematical relationship:
  • the determination step therefore involves iterating the preceding process to converge to an optimal value of the number of additional packets to retransmit in the worst case K f L.
  • the preceding condition makes it possible to obtain a value for the number of additional packets to be retransmitted in the worst case K.
  • the new total size of the data without retransmission e ' f L corresponds to a new communication flow / which consumes according to a new consumption coefficient which is denoted w' f L.
  • the new average time TME '(L, f) between two failures for the link L and a communication flow / is calculated via the following formula:
  • a seventh step the new value for the number of additional packets to retransmit in the worst case (obtained in the sixth step) and the value for the number of additional packets to be retransmitted in the worst case K f L (obtained in the first step) are compared. As long as the two values are different, it is chosen to repeat the process.
  • the method thus makes it possible to obtain the number of packets to retransmit for each link L, which simply results in the fact that the packet actually transmitted comprises K fiL times the data to be transmitted between the two components via the link L.
  • the method forces the respect of the reliability requirement instead of checking it a posteriori and allows the incremental allocation of the network resources under constraint of reliability. It is thus an inverted use of the mean time theory between two TME failures to guarantee a statistical situation rather than observe it. More specifically, the constraint of limiting the probability of failure becomes a design choice that is no longer experienced.
  • the method is thus a probabilistic approach for managing transmission errors without redundant communications.
  • the method is based on the principle of limiting the number of retransmission packets that a data item can undergo, in order to deduce an extended data size. equivalent in the worst case. It is this extended data size that is taken into account instead of the data size specified in the flow request. In other words, it is allocated the same resources as if the data was by default larger than the number of calculated retransmission packets.
  • the data sizes are such that the total reliability of the network will be greater than or equal to the reliability requirement given in input.
  • the method thus ensures reliable management of transmission errors according to a reliability constraint without resorting to redundancies, in particular duplications, communications.
  • the method allows better management of network resources used.
  • the proposed method is a method of optimizing an embedded system, including clean to operate in real time, which allows to obtain an embedded system with fewer resources involved while respecting a requirement of reliability.
  • the method is also compatible with a system design taking into account other criteria. Indeed, if it is determined that the number of packets to retransmit is too high, it is possible to allocate additional resources to the embedded system, typically additional communication channels.
  • the application of this method to a real-time system network according to the SDRN architecture is in the form of a transparent extension.
  • SDRN refers to the English term “Software-Defined Real-Time Networking” which literally means “Software-defined real-time network”.
  • FIG. 2 illustrates a schematic representation of such a network according to the SDRN architecture.
  • the SDRN architecture there are three stages, a first stage 30 which is the network 30, a second stage which is the controller 32 and a third stage which is that of the applications 34. Exchanges take place from the network 30 to the controller 32 (exchanges indicated by the arrow 36), from the controller 32 to the applications 34 (exchanges indicated by the arrow 38), from the controller 32 to the network 30 (exchanges indicated by arrow 40) and from applications 34 to controller 32 (exchanges indicated by arrow 42).
  • the network 30 communicates in particular its topology and the failures that occurred to the controller 32 while the controller 32 indicates to the network 30 a configuration to be respected.
  • the controller 32 communicates in particular to the applications 34 the results of the admission control while the applications 34 indicate to the controller 32 the properties of the flows.
  • the controller 32 calculates the configuration based on current traffic, network properties 30, properties of the underlying protocol and the optimization strategy. Based on this data, the controller 32 analyzes how the network 30 may behave in the worst case, in order to allocate the resources of the network 30 so that compliance with the real-time constraints of the communications is guaranteed.
  • the admission control has two steps E50 and E52.
  • the first step E50 the constraints are analyzed.
  • the first step takes two inputs 54 and 56 to obtain two outputs 58 and 60.
  • the first input 54 corresponds to the properties of the stream while the second input 56 corresponds to the properties of the network 30 and the properties of the underlying protocol.
  • the first output 58 is the consumption coefficient and the second output 60 is the jump delay.
  • a jump delay is the maximum time a packet of the stream spends on the link between two switches connected by the link, the delay being expressed in seconds.
  • the first output 58 and the second output 60 are respectively the first input and the second input of the second step E52 during which it is searched for the path.
  • the second step E52 also takes as input a third input 62 which comprises the topology, the state of the network 30 and the optimization strategy and returns in an output 66 the configuration parameters (symbolized by two arrows 64 in FIG. 3). , that is, the configuration sent by the arrow 40.
  • the admission control illustrated in FIG. 3 is thus the heart of the SDRN architecture since it makes it possible to heat-allocate incrementally real-time communication flows on embedded networks.
  • the method comprises a step of calculating additional parameters for inserting the results in the admission control.
  • the additional parameters calculated are the consumption coefficient and the jump delay.
  • the optimization method is a probabilistic approach for taking into account retransmissions in the SDRN admission control.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention concerns a method for optimising an embedded system, the embedded system comprising components, each component communicating with another component by exchange of at least one packet, each packet comprising at least a part of a data, the assembly of components forming a communication network comprising links, the method comprising at least a step of: - providing a global statistical requirement for the embedded system, - breaking down the global statistical requirement into individual requirements, one individual requirement for each link to a dataflow, and - for each link, determining the number of transmissions of packets guaranteeing compliance with the individual requirement belonging to the link in question.

Description

Procédé d’optimisation d’un système embarqué et dispositifs associés  Method of optimizing an onboard system and associated devices
La présente invention concerne un procédé d’optimisation d’un système embarqué. La présente invention se rapporte également à un produit programme d’ordinateur adapté à la mise en oeuvre d’un tel procédé d’optimisation. La présente invention concerne aussi un support lisible d’informations propre à mettre en oeuvre le procédé d’optimisation. La présente invention se rapporte également à un système embarqué associé au procédé d’optimisation. The present invention relates to a method for optimizing an onboard system. The present invention also relates to a computer program product adapted to the implementation of such an optimization method. The present invention also relates to a readable medium of information specific to implementing the optimization method. The present invention also relates to an embedded system associated with the optimization method.
A titre d’exemple, dans le domaine avionique, des systèmes temps réel sont utilisés. La plupart des systèmes embarqués comporte des composants tels que des unités de calcul, des capteurs et des actionneurs, chaque composant dialoguant avec les autres à travers des dispositifs de communications. Il peut s’agir de bus de communication (tous les composants dialoguent à travers le même lien) ou de réseaux commutés comme pour l’Internet.  For example, in the avionics field, real-time systems are used. Most embedded systems include components such as computing units, sensors and actuators, each component interacting with each other through communications devices. These can be communication buses (all components interact through the same link) or switched networks as for the Internet.
Dans le cas des réseaux commutés, la manière dont deux composants dialoguent est appelée protocole réseau. Chaque composant communique une donnée via des paquets qui sont des enveloppes réseaux permettant de transporter la donnée.  In the case of switched networks, the way two components communicate is called the network protocol. Each component communicates data via packets that are network envelopes for carrying the data.
En pratique, un système peut être sujet à des défaillances transitoires, c’est-à-dire des erreurs de transmission de paquet réseau. Par exemple, un paquet réseau peut être corrompu à cause d’une erreur matérielle conduisant à une inversion de bit. Bien que de telles erreurs soient des événements très rares, il convient de gérer ces erreurs qui peuvent altérer l’intégrité du paquet.  In practice, a system may be subject to transient failures, i.e. network packet transmission errors. For example, a network packet may be corrupted due to a hardware error leading to a bit inversion. Although such errors are very rare events, these errors should be managed which can alter the integrity of the packet.
Pour vérifier que le paquet arrive intact, il est connu de faire un contrôle sur l’intégrité des paquets entre un émetteur et un récepteur via des codes détecteurs ou correcteurs d’erreurs (tels qu’une somme de contrôle) ajoutés en queue. Les codes permettent dans tous les cas de détecter une erreur et éventuellement de la corriger. Dans l’hypothèse où il est détecté une erreur que le récepteur ne sait pas corriger, le paquet est détruit et une notification est éventuellement retournée à l’émetteur.  To verify that the packet arrives intact, it is known to check the integrity of the packets between a transmitter and a receiver via detector codes or error correctors (such as a checksum) added in queue. In any case, the codes make it possible to detect an error and possibly to correct it. In the event that an error is detected that the receiver can not correct, the packet is destroyed and a notification is eventually returned to the transmitter.
Un tel contrôle couplé à la mise en oeuvre d’une retransmission du paquet dans certains cas est suffisant pour des flux de communication non critiques mais insuffisant pour les flux de communication ayant des propriétés dites temps réel. Il s’agit de garantir qu’une donnée ou plus précisément un paquet arrive à destination avant une échéance stricte. Cela suppose d’une part que le paquet arrive intact et d’autre part dans le temps imparti. En d’autres termes, pour répondre aux problématiques de garantie d’un fonctionnement temps réel, il est souhaitable de bien gérer les erreurs transitoires de transmission pour garantir un bon fonctionnement du système temps réel. Such a control coupled with the implementation of a retransmission of the packet in certain cases is sufficient for non-critical communication flows but insufficient for communication flows having real-time properties. This is to ensure that a data or more precisely a package arrives at its destination before a strict deadline. This supposes on the one hand that the packet arrives intact and on the other hand within the allotted time. In other words, in order to meet the problems of guaranteeing real-time operation, it is desirable to manage the transient transmission errors to ensure that the real-time system functions properly.
Une technique pour gérer de telles erreurs dans un contexte temps réel est de dupliquer les communications le long de chemins disjoints. Une telle technique suppose que les erreurs de transmission sont si rares qu’une donnée en subira au plus une sur l’un des deux chemins. Si une erreur apparaît de sorte qu’une des données arrive trop tard au récepteur, alors au moins l’autre donnée arrive au récepteur à temps.  One technique for handling such errors in a real-time context is to duplicate communications along disjoint paths. Such a technique assumes that transmission errors are so rare that a data item will suffer at most on one of the two paths. If an error occurs so that one of the data arrives too late to the receiver, then at least the other data arrives at the receiver in time.
Toutefois, une telle technique implique un doublement des ressources réseau utilisées, doublement qui est la plupart du temps inutile du fait que les erreurs de transmission sont rares. De plus, une telle technique repose sur l’hypothèse qu’un des paquets arrive à destination sans erreurs, ce qui a une probabilité de ne pas être vrai.  However, such a technique involves a doubling of the network resources used, a doubling which is mostly unnecessary because transmission errors are rare. Moreover, such a technique is based on the assumption that one of the packets arrives at its destination without errors, which has a probability of not being true.
Pour pallier ce dernier problème, il est connu de calculer le risque que deux paquets arrivent à destination avec une erreur. Lorsque le risque calculé est supérieur à la fiabilité voulue pour le système temps réel, le nombre de paquets retransmis est augmenté, par exemple, le même paquet est transmis trois, quatre ou cinq fois. Cela augmente d’autant le nombre de ressources impliqué dans le système.  To overcome this last problem, it is known to calculate the risk that two packets arrive at their destination with an error. When the calculated risk is greater than the desired reliability for the real-time system, the number of retransmitted packets is increased, for example, the same packet is transmitted three, four or five times. This increases the number of resources involved in the system.
Dans le cas de réseaux capables de retransmettre un paquet ayant subi une erreur de transmission, si la réception d’un paquet n’a pas été acquittée par le voisin après un temps d’attente, ou que ce dernier a envoyé un acquittement négatif, alors l’émetteur retransmet le paquet. Dans un tel cas, la multiplication des retransmissions est encore moins indiquée puisqu’elle n’exploite pas la présence d’un tel mécanisme de retransmission.  In the case of networks capable of retransmitting a packet having undergone a transmission error, if the reception of a packet has not been acknowledged by the neighbor after a waiting time, or if the latter has sent a negative acknowledgment, then the transmitter retransmits the packet. In such a case, the multiplication of retransmissions is even less indicated since it does not exploit the presence of such a retransmission mechanism.
Toutefois, l’exploitation d’un tel mécanisme n’est pas aisée dans la mesure où la retransmission d’un paquet implique que l’émetteur a envoyé deux paquets au lieu d’un, ce qui retarde l’arrivée de la donnée complète et peut lui faire manquer l’échéance. Il existe également une probabilité plus faible qu’un train de paquets correspondant à une donnée subisse deux erreurs de transmission ou plus. L’existence d’une telle probabilité, même faible, montre que la fiabilité du système temps réel n’est pas garantie.  However, the exploitation of such a mechanism is not easy insofar as the retransmission of a packet implies that the transmitter has sent two packets instead of one, which delays the arrival of the complete data. and can make him miss the deadline. There is also a lower probability that a packet stream corresponding to a datum experiences two or more transmission errors. The existence of such a probability, however small, shows that the reliability of the real-time system is not guaranteed.
Pour traiter un tel problème, il est connu d’utiliser des approches probabilistes pour vérifier la conformité d’un système temps réel à une exigence statistique. L’exigence statistique à remplir correspond à la fiabilité (dénommée « reliability » en anglais) du système temps réel et plus précisément à la probabilité qu’aucune défaillance non gérée n’ait lieu durant l’intervalle de temps considéré (typiquement durée d’utilisation du système). Une telle condition est équivalente à un temps moyen entre défaillances transitoires qui est obtenu en divisant l’intervalle de temps considéré par la fiabilité souhaitée. Dans un tel cas, une défaillance correspond au cas où une donnée subit plus de retransmissions que la borne fixée. To deal with such a problem, it is known to use probabilistic approaches to verify the compliance of a real-time system with a statistical requirement. The statistical requirement to be fulfilled corresponds to the reliability (referred to as "reliability" in English) of the real-time system and more precisely to the probability that no unmanaged failure occurs during the time interval considered (typically the duration of time). use of the system). Such a condition is equivalent to an average time between transient failures that is obtained by dividing the time interval considered by the desired reliability. In such a case, a failure corresponds to the case where a datum undergoes more retransmissions than the fixed limit.
Il est alors connu de concevoir un composant puis d’observer les propriétés statistiques du composant conçu en utilisant un modèle d’erreurs basé sur un processus de Poisson pour obtenir la probabilité que, sur la durée de vie du système, les tâches ne vont pas subir plus de retransmissions que prévu. Lorsque le critère de fiabilité n’est pas rempli, une autre architecture pour le composant est proposée puis évaluée.  It is then known to design a component and then observe the statistical properties of the designed component using an error model based on a Poisson process to obtain the probability that, over the lifetime of the system, the tasks are not going receive more retransmissions than expected. When the reliability criterion is not met, another architecture for the component is proposed and evaluated.
Cependant, le processus itératif de conception peut être long pour obtenir un système temps réel respectant la fiabilité désirée. En outre, une telle méthode est incompatible avec une analyse incrémentale du fait que la probabilité calculée prend en compte l’ensemble des tâches mises en oeuvre par le système temps réel.  However, the iterative design process can be lengthy to achieve a real-time system that meets the desired reliability. In addition, such a method is incompatible with an incremental analysis because the calculated probability takes into account all the tasks implemented by the real-time system.
Il existe donc un besoin pour un procédé d’optimisation d’un système embarqué, notamment propre à fonctionner en temps réel, qui permette d’obtenir un système embarqué avec moins de ressources impliquées tout en respectant une exigence de fiabilité et de préférence, une allocation des ressources adaptée au besoin en fiabilité.  There is therefore a need for a method for optimizing an embedded system, particularly suitable for operating in real time, which makes it possible to obtain an embedded system with fewer resources involved while respecting a requirement of reliability and preference, a allocation of resources adapted to the need for reliability.
Pour cela, la présente description porte sur un procédé d’optimisation d’un système embarqué, le système embarqué comportant des composants, chaque composant communiquant avec un autre composant par échange d’au moins un paquet, chaque paquet comportant au moins une partie d’une donnée, l’ensemble des composants formant un réseau de communication comportant des liens, le procédé comportant au moins une étape de fourniture d’une exigence statistique globale pour le système embarqué, de décomposition de l’exigence statistique globale en exigences individuelles, une exigence individuelle pour chaque lien à un flux donné, et, pour chaque lien, de détermination du nombre de transmissions de paquets garantissant le respect de l’exigence individuelle propre au lien considéré.  For this, the present description relates to a method for optimizing an on-board system, the embedded system comprising components, each component communicating with another component by exchanging at least one packet, each packet comprising at least a portion of a data item, the set of components forming a communication network having links, the method comprising at least one step of providing a global statistical requirement for the on-board system, decomposing the overall statistical requirement into individual requirements, an individual requirement for each link to a given stream, and, for each link, determining the number of packet transmissions ensuring compliance with the individual requirement specific to the link.
Un tel procédé d’optimisation est propre à fonctionner en temps réel, et permet d’obtenir un système embarqué avec moins de ressources impliquées tout en respectant une exigence de fiabilité et de préférence, une allocation des ressources adaptée au besoin en fiabilité.  Such an optimization method is able to operate in real time, and makes it possible to obtain an embedded system with fewer resources involved while respecting a requirement of reliability and preference, a resource allocation adapted to the need for reliability.
Un tel procédé permet également d’optimiser les ressources utilisées tout en respectant une fiabilité désirée, qui est définie par l’exigence statistique globale fournie. En particulier, contrairement à une approche globale par exemple proposée dans le document WO 2017/050215 A1 visant à minimiser le délai global d’un ensemble de signaux échangés, le procédé permet de diviser le problème d’optimisation global en plusieurs problèmes individuels pour chaque lien du système embarqué. Chaque problème individuel est défini par une exigence individuelle. Le procédé permet donc d’obtenir une optimisation des ressources utilisées pour chaque lien. Cela permet ainsi une mise en oeuvre plus efficace pour le procédé comparé notamment à une approche dite globale telle qu’illustré précédemment. Such a method also makes it possible to optimize the resources used while respecting a desired reliability, which is defined by the overall statistical requirement provided. In particular, unlike a global approach for example proposed in WO 2017/050215 A1 to minimize the overall delay of a set of exchanged signals, the method makes it possible to divide the global optimization problem into several individual problems for each embedded system link. Each individual problem is defined by an individual requirement. The process therefore allows to obtain an optimization of the resources used for each link. This allows a more efficient implementation for the method compared in particular to a so-called global approach as illustrated above.
Suivant des modes de réalisation particuliers, le procédé d’optimisation comprend une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toutes les combinaisons techniquement possibles :  According to particular embodiments, the optimization method comprises one or more of the following characteristics, taken in isolation or in any technically possible combination:
- lors de l’étape de détermination, il est supposé que les erreurs sur la transmission d’un paquet suivent une loi statistique.  in the determination step, it is assumed that the errors on the transmission of a packet follow a statistical law.
- la loi statistique est une loi de Poisson.  - the statistical law is a law of Poisson.
- lors de l’étape de détermination, un processus itératif est mis en oeuvre.  during the determination step, an iterative process is implemented.
- lorsque le nombre de transmissions de paquets est trop élevé sur un lien, le procédé comporte une étape d’allocation de ressources supplémentaires au système embarqué.  when the number of packet transmissions is too high on a link, the method comprises a step of allocating additional resources to the onboard system.
- l’exigence statistique globale est que le temps moyen entre deux échecs pour le système est inférieur à une valeur prédéfinie.  - The overall statistical requirement is that the average time between two failures for the system is less than a predefined value.
- les liens du système embarqué sont suivant une architecture SDRN.  the links of the embedded system are in an SDRN architecture.
La présente description se rapporte également à un produit programme d’ordinateur comportant un support lisible d’informations, sur lequel est mémorisé un programme d’ordinateur comprenant des instructions de programme, le programme d’ordinateur étant chargeable sur une unité de traitement de données et adapté pour entraîner la mise en oeuvre d’un procédé tel que précédemment décrit lorsque le programme d’ordinateur est mis en oeuvre sur l’unité de traitement des données.  The present description also relates to a computer program product comprising a readable information medium, on which is stored a computer program comprising program instructions, the computer program being loadable on a data processing unit. and adapted to cause the implementation of a method as previously described when the computer program is implemented on the data processing unit.
La présente description concerne aussi un support lisible d’informations mémorisant un programme d’ordinateur comprenant des instructions de programme, le programme d’ordinateur étant chargeable sur une unité de traitement de données et adapté pour entraîner la mise en oeuvre d’un procédé tel que précédemment décrit lorsque le programme d’ordinateur est mis en oeuvre sur l’unité de traitement des données.  The present description also relates to a readable medium of information storing a computer program comprising program instructions, the computer program being loadable on a data processing unit and adapted to lead to the implementation of a method such as than previously described when the computer program is implemented on the data processing unit.
La présente description se rapporte également à un système embarqué comportant des composants, chaque composant communiquant avec un autre composant par échange d’au moins un paquet, chaque paquet comportant au moins une partie d’une donnée, l’ensemble des composants formant un réseau de communication comportant des liens, le système comportant un contrôleur, le contrôleur étant propre à mettre en oeuvre un procédé tel que précédemment décrit. D’autres caractéristiques et avantages de l’invention apparaîtront à la lecture de la description qui suit de modes de réalisation de l’invention, donnés à titre d’exemple uniquement et en référence aux dessins qui sont : The present description also relates to an embedded system comprising components, each component communicating with another component by exchange of at least one packet, each packet comprising at least a part of a datum, the set of components forming a network communication system comprising links, the system comprising a controller, the controller being adapted to implement a method as previously described. Other features and advantages of the invention will appear on reading the following description of embodiments of the invention, given by way of example only and with reference to the drawings which are:
- figure 1 , une vue schématique d’un exemple de système permettant la mise en œuvre d’un procédé d’optimisation d’un système embarqué,  FIG. 1, a schematic view of an exemplary system for implementing a method for optimizing an onboard system,
- figure 2, une représentation schématique d’un réseau suivant une architecture SDRN comportant un contrôleur propre à mettre en œuvre un contrôle d’admission, et  FIG. 2, a schematic representation of a network according to an SDRN architecture comprising a controller capable of implementing an admission control, and
- figure 3, un organigramme d’un exemple mise en œuvre d’un exemple de contrôle d’admission.  - Figure 3, a flowchart of an example implementation of an example of admission control.
Un ordinateur 10 et un produit programme d’ordinateur 12 sont représentés à la figure 1. L’interaction du produit programme d’ordinateur 12 avec le système 10 permet de mettre en œuvre un procédé d’optimisation d’un système embarqué.  A computer 10 and a computer program product 12 are shown in FIG. 1. The interaction of the computer program product 12 with the system 10 makes it possible to implement a method of optimizing an onboard system.
Plus généralement, l’ordinateur 10 est un calculateur électronique propre à manipuler et/ou transformer des données représentées comme des quantités électroniques ou physiques dans des registres de l’ordinateur 10 et/ou des mémoires en d’autres données similaires correspondant à des données physiques dans des mémoires, des registres ou d’autres types de dispositifs d’affichage, de transmission ou de mémorisation.  More generally, the computer 10 is an electronic computer adapted to manipulate and / or transform data represented as electronic or physical quantities in computer registers 10 and / or memories in other similar data corresponding to data. in memories, registers or other types of display, transmission or storage devices.
L’ordinateur 10 comporte un processeur 14 comprenant une unité de traitement de données 16, des mémoires 18 et un lecteur 20 de support d’informations. L’ordinateur 10 comprend également un clavier 22 et une unité d’affichage 24.  The computer 10 comprises a processor 14 comprising a data processing unit 16, memories 18 and an information carrier reader 20. The computer 10 also includes a keyboard 22 and a display unit 24.
Le produit programme d’ordinateur 12 comporte un support lisible d’informations. Un support lisible d’informations est un support lisible par l’ordinateur 10, usuellement par l’unité de traitement de données 14. Le support lisible d’informations est un médium adapté à mémoriser des instructions électroniques et capable d’être couplé à un bus d’un système informatique.  The computer program product 12 comprises a readable information medium. A readable information medium is a medium readable by the computer 10, usually by the data processing unit 14. The readable information medium is a medium adapted to memorize electronic instructions and capable of being coupled to a bus of a computer system.
A titre d’exemple, le support lisible d’informations est une disquette ou disque souple (de la dénomination anglaise de « floppy disk »), un disque optique, un CD-ROM, un disque magnéto-optique, une mémoire ROM, une mémoire RAM, une mémoire EPROM, une mémoire EEPROM, une carte magnétique ou une carte optique.  By way of example, the readable information medium is a diskette or floppy disk ("floppy disk"), an optical disk, a CD-ROM, a magneto-optical disk, a ROM memory, a RAM memory, an EPROM memory, an EEPROM memory, a magnetic card or an optical card.
Sur le support lisible d’informations est mémorisé un programme d’ordinateur comprenant des instructions de programme.  On the readable information medium is stored a computer program including program instructions.
Le programme d’ordinateur est chargeable sur l’unité de traitement de données 14 et est adapté pour entraîner la mise en œuvre du procédé d’optimisation. Le fonctionnement de l’ordinateur 10 en interaction avec le produit programme d’ordinateur 12 est maintenant décrit en référence à un exemple de mise en oeuvre d’un procédé d’optimisation d’un système embarqué. The computer program is loadable on the data processing unit 14 and is adapted to drive the implementation of the optimization process. The operation of the computer 10 interacting with the computer program product 12 is now described with reference to an exemplary implementation of a method for optimizing an onboard system.
Le système embarqué comportant des composants, chaque composant communiquant avec un autre composant par échange d’au moins un paquet, chaque paquet comportant au moins une partie d’une donnée (un paquet est un ensemble d’en- tête et d’une partie utile transportant ladite au moins une partie d’une donnée), l’ensemble des composants formant un réseau de communication comportant des liens L.  The embedded system having components, each component communicating with another component by exchanging at least one packet, each packet comprising at least a portion of a data item (a packet is a headset and a portion of a packet) useful carrying said at least a part of a data), the set of components forming a communication network having links L.
Chaque lien L est propre à être traversé par un flux de communication / permettant la circulation des paquets, et donc des données, entre les composants.  Each link L is adapted to be traversed by a communication flow / allowing the flow of packets, and therefore data, between the components.
Dans le contexte décrit, le système embarqué est un système temps réel.  In the context described, the embedded system is a real-time system.
Le procédé comporte une étape de fourniture, une étape de décomposition et une étape de détermination.  The method includes a supply step, a decomposition step, and a determination step.
Lors de l’étape de fourniture, il est fourni une exigence statistique globale pour le système embarqué.  During the supply step, a global statistical requirement for the embedded system is provided.
L’exigence globale statistique est exprimée de la façon suivante : une probabilité p qu’une donnée (n’importe laquelle) arrive trop tard à destination à cause des erreurs de transmission pendant un intervalle de temps IT doit être inférieure ou égale à une valeur prédéfinie.  The overall statistical requirement is expressed as follows: a probability p that a datum (any) arrives too late at its destination because of transmission errors during a time interval IT must be less than or equal to a value predefined.
Par exemple, l’intervalle de temps IT considéré est la durée d’utilisation du réseau. For example, the time interval IT considered is the duration of use of the network.
De manière analogue, l’exigence globale statistique peut s’exprimer sous forme d’un temps moyen entre deux échecs TME, un échec étant dans ce cas le fait qu’une donnée arrive trop tard à sa destination à cause des erreurs de transmission. Le temps moyen entre deux échecs TME est relié à la probabilité p et à l’intervalle de temps IT selon la relation suivante : Similarly, the overall statistical requirement can be expressed as an average time between two TME failures, a failure being in this case the fact that a data arrives too late at its destination because of the transmission errors. The average time between two failures TME is related to the probability p and to the time interval IT according to the following relation:
IT IT
TME =— TME = -
p  p
Dans la suite, l’exigence globale statistique est exprimée en utilisant la notion de temps moyen entre deux échecs TME, sachant que, de manière équivalente, il est possible d’utiliser la probabilité p et l’intervalle de temps IT.  In the following, the overall statistical requirement is expressed using the notion of average time between two failures TME, knowing that, in an equivalent manner, it is possible to use the probability p and the time interval IT.
Ainsi, l’exigence globale statistique s’exprime sous la forme d’une inégalité, à savoir que le temps moyen entre deux échecs TME pour le système est inférieur à une valeur prédéfinie.  Thus, the overall statistical requirement is expressed as an inequality, namely that the mean time between two TME failures for the system is less than a predefined value.
Lors de l’étape de décomposition, l’exigence statistique globale est décomposée en exigences individuelles de temps moyen entre deux échecs TME pour chaque lien L traversé par un flux de communication. Pour cela, il est considéré que les composants du réseau sont en série en termes de défaillance : si un paquet arrive trop tard sur l’un des liens L, alors le réseau est considéré comme défaillant globalement. During the decomposition step, the overall statistical requirement is broken down into individual average time requirements between two TME failures for each L link traversed by a communication flow. For this, it is considered that the components of the network are in series in terms of failure: if a packet arrives too late on one of the links L, then the network is considered globally failing.
Dans un cas de système à deux composants C1 et C2, cela signifie que le temps moyen entre deux échecs du système TMEsystème est relié à la fois au temps moyen entre deux échecs du premier composant TMEC1 et au temps moyen entre deux échecs du deuxième composant TMEC2 par la relation suivante : In a case of a two-component system C1 and C2, this means that the mean time between failures of the system TME system is related both to the average time between two failures of the first component TME C1 and the average time between two failures of the second component TME C2 by the following relation:
1 _ 1 1  1 _ 1 1
TMEsyste' me TMEC1 TMEC2 TME system TME C1 TME C2
En supposant que les deux composants sont identiques, alors le temps moyen entre deux échecs du premier composant TMEC1 est égal au temps moyen entre deux échecs du deuxième composant TMEC2 de sorte que la relation précédente devient :
Figure imgf000009_0001
Assuming that the two components are identical, then the average time between failures of the first component TME C1 is equal to the average time between failures of the second component TME C2 so that the previous relationship becomes:
Figure imgf000009_0001
Un tel raisonnement se généralise aisément à un nombre quelconque de composants identiques. En notant n le nombre de composants du système (n étant un nombre entier supérieur ou égal à 2) et TMEcomposant le temps moyen entre deux échecs de chaque composant, il est obtenu :
Figure imgf000009_0002
Such reasoning is easily generalized to any number of identical components. Noting n the number of components of the system (n being an integer greater than or equal to 2) and TME composing the average time between two failures of each component, it is obtained:
Figure imgf000009_0002
En l’occurrence, les composants du raisonnement précédent modélisent les liens L. Il vient ainsi :  In this case, the components of the previous reasoning model the links L. It comes as follows:
TME{L) = TMEsystème * nL TME {L) = TME system * n L
OÙ :  OR :
• nL est le nombre de liens L du système, et • n L is the number of links L of the system, and
• TME(L ) désigne le temps moyen entre deux échecs pour le lien L, L étant dans ce contexte un entier compris entre 1 et nL. • TME (L) designates the average time between two failures for the link L, L being in this context an integer between 1 and n L.
Comme expliqué précédemment, un flux de communication transite dans chaque lien L. Le flux de communication transitant dans un lien L est spécifique à celui-ci. Le flux de communication est noté / dans ce qui suit.  As explained above, a communication flow passes through each link L. The communication flow in a link L is specific to it. The communication flow is noted / in what follows.
En outre, chaque lien L est divisé en une pluralité de canaux que le flux de communication / consomme selon un coefficient de consommation noté wf L . Il en résulte que :
Figure imgf000009_0003
In addition, each link L is divided into a plurality of channels that the communication stream / consumes according to a consumption coefficient noted w f L. It follows that :
Figure imgf000009_0003
où: • nC t est le nombre de canaux d’un lien L du système, et or: • n C t is the number of channels of a link L of the system, and
• TME(L, f ) désigne le temps moyen entre deux échecs pour le lien L et un flux de communication /.  • TME (L, f) is the average time between failures for link L and communication flow /.
En connaissant la structure du système du point de vue des échanges entre les composants, le nombre de canaux d’un lien L du système nc L, le nombre de liens L et les coefficients de consommation wf L sont connus. En rappelant ici que l’exigence globale statistique qui s’exprime sous la forme d’une inégalité, à savoir que le temps moyen entre deux échecs TME pour le système est inférieur à une valeur prédéfinie, la formule précédente permet d’obtenir une valeur maximale pour le temps moyen entre deux échecs pour le lien L et un flux de communication TME L, f ). Le respect de cette relation est une exigence individuelle. By knowing the structure of the system from the point of view of exchanges between the components, the number of channels of a link L of the system n c L , the number of links L and the consumption coefficients w f L are known. Recalling here that the global statistical requirement expressed in the form of an inequality, namely that the average time between two TME failures for the system is less than a predefined value, the preceding formula makes it possible to obtain a value maximum for the average time between two failures for the link L and a communication flow TME L, f). Respect for this relationship is an individual requirement.
A l’issue de l’étape de décomposition, il est ainsi obtenu une exigence individuelle spécifique pour chaque lien L traversé par un flux de communication et garantissant que l’exigence globale statistique est vérifiée.  At the end of the decomposition step, it is thus obtained a specific individual requirement for each link L traversed by a communication flow and ensuring that the overall statistical requirement is verified.
Lors de l’étape de détermination, il est déterminé, pour chaque lien, le nombre de transmissions de paquets garantissant le respect de l’exigence individuelle associé au lien.  During the determination step, it is determined, for each link, the number of packet transmissions ensuring compliance with the individual requirement associated with the link.
Pour cela, une donnée est simulée comme une donnée étendue, c’est-à-dire comme la donnée répétée autant de fois que la donnée est transmise.  For this, a datum is simulated as an extended datum, that is to say as the datum repeated as many times as the datum is transmitted.
A titre d’exemple, pour un ensemble de paquets correspondant à une donnée qui est transmis trois fois, la taille de la donnée étendue est égale à trois fois la taille de la donnée.  By way of example, for a set of packets corresponding to a datum that is transmitted three times, the size of the extended datum is equal to three times the size of the datum.
Pour la suite, le nombre de paquets supplémentaires à retransmettre dans le pire cas (toujours selon l’exigence statistique) est noté Kf L alors que ef L est la taille totale de la donnée sans retransmission. For the rest, the number of additional packets to retransmit in the worst case (still according to the statistical requirement) is noted K f L while e f L is the total size of the data without retransmission.
Le pire cas est le cas où chaque erreur de bit touche un paquet différent de la donnée, le nombre de retransmissions étant alors égal au nombre d’erreurs de bits.  The worst case is the case where each bit error affects a different packet of the data, the number of retransmissions then being equal to the number of bit errors.
Par ailleurs, le taux moyen d’erreurs de bits dans le réseau est noté BER en référence au sigle anglais renvoyant au terme anglais de « Bit Error Rate » qui signifie littéralement « taux d’erreurs de bits ».  Furthermore, the average rate of bit errors in the network is denoted BER with reference to the English abbreviation for "Bit Error Rate" which literally means "bit error rate".
La période minimale entre chaque envoi de donnée dans le flux est notée Tf . The minimum period between each sending of data in the flow is noted T f .
Il est supposé dans l’étape de détermination que les erreurs de bits suivent une loi statistique qui est, en l’occurrence une loi de Poisson.  It is assumed in the determination step that the bit errors follow a statistical law which is, in this case a Poisson's law.
La loi de Poisson est une loi de probabilité discrète qui décrit le comportement du nombre d'évènements se produisant dans un intervalle de temps fixé, si ces évènements se produisent avec une fréquence moyenne ou espérance connue et indépendamment du temps écoulé depuis l'évènement précédent. Si le nombre moyen d’occurrences dans l’intervalle de temps fixé est l (nombre réel strictement positif), alors la probabilité p(/c) que k occurrences surviennent est donnée par :
Figure imgf000011_0001
The Poisson law is a discrete probability law that describes the behavior of the number of events occurring in a fixed time interval, if these events occur with an average frequency or known expectancy and regardless of the time elapsed since the previous event. If the average number of occurrences in the fixed time interval is l (strictly positive real number), then the probability p (/ c) that k occurrences occur is given by:
Figure imgf000011_0001
Où :  Or :
• e désigne la fonction exponentielle, et  E denotes the exponential function, and
• ! désigne la fonction factorielle.  •! denotes the factorial function.
Dans le cas considéré de l’étape de détermination, le paramètre de la loi de Poisson dans le flux / est noté f L. Physiquement, le paramètre de la loi de Poisson f L est le nombre moyen de retransmissions par donnée, c’est-à-dire le nombre moyen d’erreurs de bits par donnée. In the case considered of the determination step, the parameter of the Poisson distribution in the flux / is denoted f L. Physically, the parameter of the Poisson's law f L is the average number of retransmissions per data item, ie the average number of bit errors per data item.
Le paramètre de la loi de Poisson
Figure imgf000011_0002
est relié au taux moyen d’erreurs de bits BER et à la taille totale de la donnée sans retransmission
Figure imgf000011_0003
L par la relation mathématique suivante :
The parameter of the Poisson's law
Figure imgf000011_0002
is related to the average bit error rate BER and the total size of the data without retransmission
Figure imgf000011_0003
L by the following mathematical relationship:
Figure imgf000011_0004
Figure imgf000011_0004
Cela implique que l’exigence individuelle à respecter s’écrit :
Figure imgf000011_0005
This implies that the individual requirement to respect is written:
Figure imgf000011_0005
En prenant en compte la loi de Poisson, il en résulte que l’exigence individuelle à respecter devient :
Figure imgf000011_0006
Taking into account the Poisson's law, it follows that the individual requirement to respect becomes:
Figure imgf000011_0006
Les retransmissions induites par ces erreurs peuvent à nouveau subir des erreurs. L’étape de détermination suppose donc d’itérer le processus précédent pour converger vers une valeur optimale du nombre de paquets supplémentaires à retransmettre dans le pire cas Kf L . The retransmissions induced by these errors can again undergo errors. The determination step therefore involves iterating the preceding process to converge to an optimal value of the number of additional packets to retransmit in the worst case K f L.
Une itération du processus est détaillée dans ce qui suit en sept étapes.  An iteration of the process is detailed in the following in seven steps.
Lors de la première étape, la condition précédente permet d’obtenir une valeur pour le nombre de paquets supplémentaires à retransmettre dans le pire cas K .  In the first step, the preceding condition makes it possible to obtain a value for the number of additional packets to be retransmitted in the worst case K.
Dans une deuxième étape, il est calculé la nouvelle taille totale de la donnée sans retransmission 0'f L selon la formule suivante : In a second step, it is calculated the new total size of the data without retransmission 0'f L according to the following formula:
q' f,L = f,L + Kf,L Lors de la troisième étape, la nouvelle taille totale de la donnée sans retransmission e'f L correspond à un nouveau flux de communication / qui consomme selon un nouveau coefficient de consommation qui est noté w'f L. q 'f, L = f, L + K f, L In the third step, the new total size of the data without retransmission e ' f L corresponds to a new communication flow / which consumes according to a new consumption coefficient which is denoted w' f L.
Lors de la quatrième étape, le nouveau temps moyen TME'(L, f) entre deux échecs pour le lien L et un flux de communication / est calculé via la formule suivante :
Figure imgf000012_0001
In the fourth step, the new average time TME '(L, f) between two failures for the link L and a communication flow / is calculated via the following formula:
Figure imgf000012_0001
Il est également déterminé dans la cinquième étape le nouveau paramètre de la loi de Poisson f L via la relation :It is also determined in the fifth step the new parameter of the Poisson's law f L via the relation:
7,t = BER. e'f L 7 , t = BER. e ' f L
La nouvelle exigence individuelle à respecter s’écrit alors selon la formule The new individual requirement to respect is then written according to the formula
. TV > TME'(L, f ) ce qui permet dans une sixième étape une nouvelle
Figure imgf000012_0002
. TV> TME '(L, f) which allows in a sixth stage a new
Figure imgf000012_0002
valeur pour le nombre de paquets supplémentaires à retransmettre dans le pire cas
Figure imgf000012_0003
value for the number of additional packets to retransmit in the worst case
Figure imgf000012_0003
Lors d’une septième étape, la nouvelle valeur pour le nombre de paquets supplémentaires à retransmettre dans le pire cas
Figure imgf000012_0004
(obtenue à la sixième étape) et la valeur pour le nombre de paquets supplémentaires à retransmettre dans le pire cas Kf L (obtenue à la première étape) sont comparées. Tant que les deux valeurs sont différentes, il est choisi de réitérer le processus.
In a seventh step, the new value for the number of additional packets to retransmit in the worst case
Figure imgf000012_0004
(obtained in the sixth step) and the value for the number of additional packets to be retransmitted in the worst case K f L (obtained in the first step) are compared. As long as the two values are different, it is chosen to repeat the process.
A l’issue de l’étape de détermination, il est ainsi obtenu pour chaque lien le nombre de paquets supplémentaires à retransmettre dans le pire cas K .  At the end of the determination step, it is thus obtained for each link the number of additional packets to retransmit in the worst case K.
Pour une architecture donnée, le procédé permet ainsi d’obtenir le nombre de paquets à retransmettre pour chaque lien L, ce qui se traduit simplement par le fait que le paquet effectivement transmis comporte KfiL fois la donnée à transmettre entre les deux composants via le lien L. For a given architecture, the method thus makes it possible to obtain the number of packets to retransmit for each link L, which simply results in the fact that the packet actually transmitted comprises K fiL times the data to be transmitted between the two components via the link L.
Le procédé force le respect de l’exigence de fiabilité au lieu de la vérifier a posteriori et permet l'allocation incrémentale des ressources réseau sous contrainte de fiabilité. Il s’agit ainsi d’une utilisation inversée de la théorie des temps moyens entre deux échecs TME pour garantir une situation statistique plutôt que l’observer. Plus précisément, la contrainte de limiter la probabilité d’échec devient un choix de conception qui n’est plus subie.  The method forces the respect of the reliability requirement instead of checking it a posteriori and allows the incremental allocation of the network resources under constraint of reliability. It is thus an inverted use of the mean time theory between two TME failures to guarantee a statistical situation rather than observe it. More specifically, the constraint of limiting the probability of failure becomes a design choice that is no longer experienced.
Le procédé est ainsi une approche probabiliste pour la gestion des erreurs de transmission sans redondance des communications.  The method is thus a probabilistic approach for managing transmission errors without redundant communications.
Le procédé repose sur le principe de borner le nombre de paquets de retransmission que peut subir une donnée, afin d’en déduire une taille de donnée étendue équivalente dans le pire cas. C’est cette taille de donnée étendue qui est prise en compte à la place de la taille de donnée précisée dans la requête de flux. En d’autres termes, il est alloué les mêmes ressources que si la donnée était par défaut plus grande du nombre de paquets de retransmission calculés. The method is based on the principle of limiting the number of retransmission packets that a data item can undergo, in order to deduce an extended data size. equivalent in the worst case. It is this extended data size that is taken into account instead of the data size specified in the flow request. In other words, it is allocated the same resources as if the data was by default larger than the number of calculated retransmission packets.
Par calcul, les tailles de données sont telles que la fiabilité totale du réseau sera supérieure ou égale à l’exigence de fiabilité donnée en entrée.  By calculation, the data sizes are such that the total reliability of the network will be greater than or equal to the reliability requirement given in input.
Le procédé garantit ainsi une gestion sûre des erreurs de transmission selon une contrainte de fiabilité sans recourir à des redondances, notamment des duplications, des communications.  The method thus ensures reliable management of transmission errors according to a reliability constraint without resorting to redundancies, in particular duplications, communications.
Par rapport à des procédés exploitant une ou plusieurs redondances, le procédé permet une meilleure gestion des ressources réseau utilisées.  Compared to processes using one or more redundancies, the method allows better management of network resources used.
En résumé, le procédé proposé est un procédé d’optimisation d’un système embarqué, notamment propre à fonctionner en temps réel, qui permette d’obtenir un système embarqué avec moins de ressources impliquées tout en respectant une exigence de fiabilité.  In summary, the proposed method is a method of optimizing an embedded system, including clean to operate in real time, which allows to obtain an embedded system with fewer resources involved while respecting a requirement of reliability.
Il est à noter que cette meilleure gestion des ressources réseau est totalement transparente du point de vue du matériel et des applications, aucune complexité supplémentaire n’étant impliquée.  It should be noted that this better management of network resources is completely transparent from the point of view of hardware and applications, no additional complexity being involved.
Le procédé est également compatible avec une conception du système prenant en compte d’autres critères. En effet, s’il est déterminé que le nombre de paquets à retransmettre est trop élevé, il est possible d’allouer des ressources supplémentaires, au système embarqué, typiquement des canaux de communications supplémentaires.  The method is also compatible with a system design taking into account other criteria. Indeed, if it is determined that the number of packets to retransmit is too high, it is possible to allocate additional resources to the embedded system, typically additional communication channels.
L’application de ce procédé à un réseau de système temps réel suivant l’architecture SDRN se fait sous forme d’une extension transparente.  The application of this method to a real-time system network according to the SDRN architecture is in the form of a transparent extension.
Le sigle SDRN renvoie au terme anglais de « Software-Defined Real-Time Networking » qui signifie littéralement en français « Réseau temps réel défini par logiciel ».  The acronym SDRN refers to the English term "Software-Defined Real-Time Networking" which literally means "Software-defined real-time network".
Une telle architecture est notamment décrite dans une publication de mai 2017 de Florian Greff, Ye-Qiong Song, Laurent Ciarletta et Arnaud Samama intitulée“A Dynamic Flow Allocation Method for the Design of a Software-Defined Real-Time Mesh Network’, 13th IEEE International Workshop on Factory Communication Systems (WFCS 2017).  Such architecture is notably described in a May 2017 publication by Florian Greff, Ye-Qiong Song, Laurent Ciarletta and Arnaud Samama entitled "A Dynamic Flow Allocation Method for the Design of a Software-Defined Real-Time Mesh Network", 13th IEEE International Workshop on Factory Communication Systems (WFCS 2017).
La figure 2 illustre une représentation schématique d’un tel réseau suivant l’architecture SDRN. Dans l’architecture SDRN, il y a trois étages, un premier étage 30 qui est le réseau 30, un deuxième étage qui est le contrôleur 32 et un troisième étage qui est celui des applications 34. Des échanges ont lieu depuis le réseau 30 vers le contrôleur 32 (échanges indiqués par la flèche 36), depuis le contrôleur 32 vers les applications 34 (échanges indiqués par la flèche 38), depuis le contrôleur 32 vers le réseau 30 (échanges indiqués par la flèche 40) et depuis les applications 34 vers le contrôleur 32 (échanges indiqués par la flèche 42). FIG. 2 illustrates a schematic representation of such a network according to the SDRN architecture. In the SDRN architecture, there are three stages, a first stage 30 which is the network 30, a second stage which is the controller 32 and a third stage which is that of the applications 34. Exchanges take place from the network 30 to the controller 32 (exchanges indicated by the arrow 36), from the controller 32 to the applications 34 (exchanges indicated by the arrow 38), from the controller 32 to the network 30 (exchanges indicated by arrow 40) and from applications 34 to controller 32 (exchanges indicated by arrow 42).
Le réseau 30 communique notamment sa topologie et les pannes survenues au contrôleur 32 tandis que le contrôleur 32 indique au réseau 30 une configuration à respecter.  The network 30 communicates in particular its topology and the failures that occurred to the controller 32 while the controller 32 indicates to the network 30 a configuration to be respected.
Le contrôleur 32 communique notamment aux applications 34 les résultats du contrôle d’admission tandis que les applications 34 indiquent au contrôleur 32 les propriétés des flux.  The controller 32 communicates in particular to the applications 34 the results of the admission control while the applications 34 indicate to the controller 32 the properties of the flows.
Le contrôleur 32 calcule la configuration en fonction du trafic actuel, des propriétés du réseau 30, des propriétés du protocole sous-jacent et de la stratégie d’optimisation. Sur la base de ces données, le contrôleur 32 analyse la façon dont le réseau 30 peut se comporter dans le pire cas, afin d’allouer les ressources du réseau 30 de sorte que le respect des contraintes temps réel des communications soit garanti.  The controller 32 calculates the configuration based on current traffic, network properties 30, properties of the underlying protocol and the optimization strategy. Based on this data, the controller 32 analyzes how the network 30 may behave in the worst case, in order to allocate the resources of the network 30 so that compliance with the real-time constraints of the communications is guaranteed.
Plus précisément, le calcul de la configuration par le contrôleur 32 est appelé contrôle d’admission. Un organigramme de mise en œuvre du contrôle d’admission est illustré par la figure 3.  More specifically, the calculation of the configuration by the controller 32 is called admission control. An implementation chart of the admission control is illustrated in Figure 3.
Le contrôle d’admission comporte deux étapes E50 et E52.  The admission control has two steps E50 and E52.
Lors de la première étape E50, il est analysé les contraintes. La première étape prend deux entrées 54 et 56 pour obtenir deux sorties 58 et 60.  In the first step E50, the constraints are analyzed. The first step takes two inputs 54 and 56 to obtain two outputs 58 and 60.
La première entrée 54 correspond aux propriétés du flux alors que la deuxième entrée 56 correspond aux propriétés du réseau 30 et aux propriétés du protocole sous- jacent.  The first input 54 corresponds to the properties of the stream while the second input 56 corresponds to the properties of the network 30 and the properties of the underlying protocol.
La première sortie 58 est le coefficient de consommation et la deuxième sortie 60 est le délai de saut. Un délai de saut est le délai maximal subi par un paquet du flux sur le lien entre deux commutateurs reliés par le lien, le délai étant exprimé en seconde.  The first output 58 is the consumption coefficient and the second output 60 is the jump delay. A jump delay is the maximum time a packet of the stream spends on the link between two switches connected by the link, the delay being expressed in seconds.
La première sortie 58 et la deuxième sortie 60 sont respectivement la première entrée et la deuxième entrée de la deuxième étape E52 durant laquelle il est cherché le chemin.  The first output 58 and the second output 60 are respectively the first input and the second input of the second step E52 during which it is searched for the path.
La deuxième étape E52 prend également en entrée une troisième entrée 62 qui comporte la topologie, l’état du réseau 30 et la stratégie d’optimisation et renvoie dans une sortie 66 les paramètres de configuration (symbolisés par deux flèches 64 sur la figure 3), c’est-à-dire la configuration envoyée par la flèche 40. Le contrôle d’admission illustré par la figure 3 est ainsi le cœur de l’architecture SDRN puisqu’il permet d’allouer à chaud et de façon incrémentale des flux de communication temps réel sur des réseaux embarqués. The second step E52 also takes as input a third input 62 which comprises the topology, the state of the network 30 and the optimization strategy and returns in an output 66 the configuration parameters (symbolized by two arrows 64 in FIG. 3). , that is, the configuration sent by the arrow 40. The admission control illustrated in FIG. 3 is thus the heart of the SDRN architecture since it makes it possible to heat-allocate incrementally real-time communication flows on embedded networks.
Pour mettre en œuvre le procédé d’optimisation, le procédé comporte une étape de calcul de paramètres supplémentaires pour insérer les résultats dans le contrôle d’admission.  To implement the optimization method, the method comprises a step of calculating additional parameters for inserting the results in the admission control.
Les paramètres supplémentaires calculés sont le coefficient de consommation et le délai de saut.  The additional parameters calculated are the consumption coefficient and the jump delay.
Pour ce dernier paramètre, il est utilisé la relation suivante :
Figure imgf000015_0001
For this last parameter, it is used the following relation:
Figure imgf000015_0001
Où :  Or :
• m ΐ est la taille maximale d’un paquet de flux sur le lien L, cette taille s’exprimant en bit, et • m ΐ is the maximum size of a stream packet on the link L, this size being expressed in bit, and
• CL est la capacité du lien L, cette taille s’exprimant en bit par seconde.• C L is the capacity of the link L, this size being expressed in bits per second.
Pour utiliser le procédé d’optimisation dans le contrôle d’admission, il suffit de substituer aux valeurs de la première sortie 58 et la deuxième sortie 60 les paramètres supplémentaires calculés. To use the optimization method in the admission control, it suffices to substitute for the values of the first output 58 and the second output 60 the calculated additional parameters.
Ainsi, le procédé d’optimisation est une approche probabiliste pour la prise en compte des retransmissions dans le contrôle d’admission SDRN.  Thus, the optimization method is a probabilistic approach for taking into account retransmissions in the SDRN admission control.
Le procédé correspondant alors à une extension du contrôle d’admission, ce procédé est facilement intégrable dans l’architecture SDRN et apporte un faible surcoût au temps de contrôle d’admission.  The process then corresponds to an extension of the admission control, this method is easily integrable into the SDRN architecture and brings a small additional cost to the admission control time.

Claims

REVENDICATIONS
1.- Procédé d’optimisation d’un système embarqué, le système embarqué comportant des composants, chaque composant communiquant avec un autre composant par échange d’au moins un paquet, chaque paquet comportant au moins une partie d’une donnée, l’ensemble des composants formant un réseau de communication comportant des liens (L), le procédé comportant au moins une étape de : 1.- method for optimizing an embedded system, the embedded system comprising components, each component communicating with another component by exchanging at least one packet, each packet comprising at least a portion of a data, the set of components forming a communication network having links (L), the method comprising at least one step of:
- fourniture d’une exigence statistique globale pour le système embarqué,  - provision of a global statistical requirement for the embedded system,
- décomposition de l’exigence statistique globale en exigences individuelles, une exigence individuelle pour chaque lien (L) à un flux donné, et  - decomposition of the overall statistical requirement into individual requirements, an individual requirement for each link (L) to a given flow, and
- pour chaque lien (L), détermination du nombre de transmissions de paquets garantissant le respect de l’exigence individuelle propre au lien (L) considéré.  for each link (L), determining the number of packet transmissions guaranteeing compliance with the individual requirement specific to the link (L) considered.
2.- Procédé selon la revendication 1 , dans lequel, lors de l’étape de détermination, il est supposé que les erreurs sur la transmission d’un paquet suivent une loi statistique. 2. The method of claim 1, wherein, in the determination step, it is assumed that the errors on the transmission of a packet follow a statistical law.
3.- Procédé selon la revendication 2, dans lequel la loi statistique est une loi de Poisson. 3. The method of claim 2, wherein the statistical law is a Poisson law.
4.- Procédé d’optimisation selon l’une quelconque des revendications 1 à 3, dans lequel lors de l’étape de détermination, un processus itératif est mis en oeuvre. 4. An optimization method according to any one of claims 1 to 3, wherein during the determination step, an iterative process is implemented.
5.- Procédé d’optimisation selon l’une quelconque des revendications 1 à 4, dans lequel lorsque le nombre de transmissions de paquets est trop élevé sur un lien (L), le procédé comporte une étape d’allocation de ressources supplémentaires au système embarqué. 5. An optimization method according to any one of claims 1 to 4, wherein when the number of packet transmissions is too high on a link (L), the method comprises a step of allocating additional resources to the system. embedded.
6.- Procédé d’optimisation selon l’une quelconque des revendications 1 à 5, dans lequel l’exigence statistique globale est que le temps moyen entre deux échecs (TME) pour le système est inférieur à une valeur prédéfinie. 6. An optimization method according to any one of claims 1 to 5, wherein the overall statistical requirement is that the average time between failures (TME) for the system is less than a predefined value.
7.- Procédé d’optimisation selon l’une quelconque des revendications 1 à 6, dans lequel les liens (L) du système embarqué sont suivant une architecture SDRN. 7. An optimization method according to any one of claims 1 to 6, wherein the links (L) of the embedded system are in an SDRN architecture.
8.- Produit programme d’ordinateur (12) comportant un support lisible d’informations, sur lequel est mémorisé un programme d’ordinateur comprenant des instructions de programme, le programme d’ordinateur étant chargeable sur une unité de traitement de données (14) et adapté pour entraîner la mise en oeuvre d’un procédé selon l’une quelconque des revendications 1 à 7 lorsque le programme d’ordinateur est mis en œuvre sur l’unité de traitement des données (14). 8. Computer program product (12) comprising a readable information medium, on which is stored a computer program comprising program instructions, the computer program being loadable on a data processing unit (14) and adapted to carry out the implementation of a method according to any one of claims 1 to 7 when the computer program is implemented on the data processing unit (14).
9.- Support lisible d’informations mémorisant un programme d’ordinateur comprenant des instructions de programme, le programme d’ordinateur étant chargeable sur une unité de traitement de données (14) et adapté pour entraîner la mise en œuvre d’un procédé selon l’une quelconque des revendications 1 à 7 lorsque le programme d’ordinateur est mis en œuvre sur l’unité de traitement des données (14). 9.- readable information storage medium storing a computer program comprising program instructions, the computer program being loadable on a data processing unit (14) and adapted to cause the implementation of a method according to any one of claims 1 to 7 when the computer program is implemented on the data processing unit (14).
10.- Système embarqué comportant des composants, chaque composant communiquant avec un autre composant par échange d’au moins un paquet, chaque paquet comportant au moins une partie d’une donnée, l’ensemble des composants formant un réseau de communication comportant des liens (L), le système comportant un contrôleur (32), le contrôleur (32) étant propre à mettre en œuvre un procédé selon l’une quelconque des revendications 1 à 7. 10. Embedded system comprising components, each component communicating with another component by exchange of at least one packet, each packet comprising at least a part of a piece of data, the set of components forming a communication network comprising links (L), the system comprising a controller (32), the controller (32) being adapted to implement a method according to any one of claims 1 to 7.
PCT/EP2019/053172 2018-02-08 2019-02-08 Method for optimising an embedded system and associated devices WO2019155003A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1800122A FR3077698B1 (en) 2018-02-08 2018-02-08 PROCESS FOR OPTIMIZING AN ON-BOARD SYSTEM AND ASSOCIATED DEVICES
FR18/00122 2018-02-08

Publications (1)

Publication Number Publication Date
WO2019155003A1 true WO2019155003A1 (en) 2019-08-15

Family

ID=62597572

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2019/053172 WO2019155003A1 (en) 2018-02-08 2019-02-08 Method for optimising an embedded system and associated devices

Country Status (2)

Country Link
FR (1) FR3077698B1 (en)
WO (1) WO2019155003A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011064397A1 (en) * 2009-11-30 2011-06-03 Astrium Sas Method for calibrating thresholds and threshold calibration module for a satellite telecommunications system
US20150288586A1 (en) * 2012-10-22 2015-10-08 Texas State University-San Marcos Optimization of retransmission timeout boundary
WO2017050215A1 (en) 2015-09-22 2017-03-30 Huawei Technologies Co., Ltd. System and method for control traffic balancing in in-band software defined networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011064397A1 (en) * 2009-11-30 2011-06-03 Astrium Sas Method for calibrating thresholds and threshold calibration module for a satellite telecommunications system
US20150288586A1 (en) * 2012-10-22 2015-10-08 Texas State University-San Marcos Optimization of retransmission timeout boundary
WO2017050215A1 (en) 2015-09-22 2017-03-30 Huawei Technologies Co., Ltd. System and method for control traffic balancing in in-band software defined networks

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FLORIAN GREFF; YE-QIONG SONG; LAURENT CIARLETTA; ARNAUD SAMAMA: "A Dynamic Flow Allocation Method for the Design of a Software-Defined Real-Time Mesh Network", May 2017, IEEE INTERNATIONAL WORKSHOP ON FACTORY COMMUNICATION SYSTEMS
GREFF FLORIAN ET AL: "A dynamic flow allocation method for the design of a software-defined real-time mesh network", 2017 IEEE 13TH INTERNATIONAL WORKSHOP ON FACTORY COMMUNICATION SYSTEMS (WFCS), IEEE, 31 May 2017 (2017-05-31), pages 1 - 11, XP033129112, DOI: 10.1109/WFCS.2017.7991949 *

Also Published As

Publication number Publication date
FR3077698B1 (en) 2021-04-16
FR3077698A1 (en) 2019-08-09

Similar Documents

Publication Publication Date Title
EP3087701B1 (en) Method of diagnosis of service functions in an ip network
US7162524B2 (en) Gapless delivery and durable subscriptions in a content-based publish/subscribe system
US20050268146A1 (en) Recovery in a distributed stateful publish-subscribe system
US11301490B2 (en) Synchronous database replication with asynchronous transaction recovery
US8335843B2 (en) Communication system having multiple communication lines between a transmitter and a receiver
EP3470982B1 (en) Method and device for dynamically managing the message retransmission delay on an interconnection network
US10769174B2 (en) Site-consolidated disaster-recovery with synchronous-to-asynchronous traffic conversion
EP0602281B1 (en) Resequencing means for a cell switching system node
CN108259595A (en) The method and system of asynchronous call between a kind of service
WO2019155003A1 (en) Method for optimising an embedded system and associated devices
Darabkh et al. TCP traffic control evaluation and reduction over wireless networks using parallel sequential decoding mechanism
EP2751959A1 (en) Method for the exchange of data between nodes of a server cluster, and server cluster implementing said method
WO2020247287A1 (en) Latency prediction and network message microtiming
EP3152876A1 (en) Method and system for flow control
EP0895159B1 (en) Method for flushing high throughput transfer buffers and apparatus for carrying out the method
FR2766937A1 (en) Protocol and bus interconnection of elements of microcontroller
FR3093831A1 (en) Device for and method of data transmission
WO2020109733A2 (en) Data management for storing data frames in the memory of a data transmission system
US20080225873A1 (en) Reliable network packet dispatcher with interleaving multi-port circular retry queue
EP1087568B1 (en) Method and apparatus for transmission circuit management in a network
EP4380228A1 (en) Method and device for communication in a wireless communication network
Im et al. Cost Efficient Group Communication & Management for Intrusion Tolerant System
WO2016185143A1 (en) System for processing multimedia digital data
EP1733515A1 (en) Method and system for selecting packets according to volume transmitted by connection
FR2534764A1 (en) Method and device for requesting resource allocation in a switch with distributed structure.

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19702654

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19702654

Country of ref document: EP

Kind code of ref document: A1