FR3062007A1 - Reseau maille de communication, procede de configuration et produit programme d'ordinateur associes - Google Patents

Reseau maille de communication, procede de configuration et produit programme d'ordinateur associes Download PDF

Info

Publication number
FR3062007A1
FR3062007A1 FR1700038A FR1700038A FR3062007A1 FR 3062007 A1 FR3062007 A1 FR 3062007A1 FR 1700038 A FR1700038 A FR 1700038A FR 1700038 A FR1700038 A FR 1700038A FR 3062007 A1 FR3062007 A1 FR 3062007A1
Authority
FR
France
Prior art keywords
node
message
network
nodes
transmission
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
FR1700038A
Other languages
English (en)
Other versions
FR3062007B1 (fr
Inventor
Pierre COUSTAL
Franck Tailliez
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Thales SA
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 SA filed Critical Thales SA
Priority to FR1700038A priority Critical patent/FR3062007B1/fr
Priority to GB1800349.1A priority patent/GB2560099B/en
Priority to DE102018100602.0A priority patent/DE102018100602A1/de
Publication of FR3062007A1 publication Critical patent/FR3062007A1/fr
Application granted granted Critical
Publication of FR3062007B1 publication Critical patent/FR3062007B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • H04L12/40182Flexible bus arrangements involving redundancy by using a plurality of communication lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • 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/72Admission control; Resource allocation using reservation actions during connection setup
    • H04L47/726Reserving resources in multiple paths to be used simultaneously
    • H04L47/728Reserving resources in multiple paths to be used simultaneously for backup paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/64Distributing or queueing
    • H04Q3/66Traffic distributors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

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

Abstract

Ce réseau maillé de communication comprend au moins trois nœuds munis d'au moins deux ports de sortie reliés chacun à un autre nœud par un lien de communication. Chaque nœud (N1) comporte un module de routage (50) et un module de transmission (60) pour chaque port de sortie. Le module de transmission comprend une mémoire tampon (66) propre à recevoir des messages en provenance du module de routage, et une unité (62) de séquencement de la transmission, sur le port de sortie correspondant, des messages reçus par les mémoires tampons. Chaque unité de séquencement est configurée pour transmettre sur le port de sortie correspondant les messages reçus par les mémoires tampons en fonction d'une séquence d'intervalles temporels, chaque intervalle temporel de la séquence étant dédié à la transmission d'un message en provenance d'un nœud émetteur donné, qui est fonction d'un débit nécessaire sur le lien de communication relié au port de sortie, calculé pour chaque nœud émetteur.

Description

Mandataire(s) : simplifiée.
CABINET LAVOIX Société par actions © RESEAU MAILLE DE COMMUNICATION, PROCEDE DE CONFIGURATION ET PRODUIT PROGRAMME D'ORDINATEUR ASSOCIES.
FR 3 062 007 - A1 (57) Ce réseau maillé de communication comprend au moins trois noeuds munis d'au moins deux ports de sortie reliés chacun à un autre noeud par un lien de communication. Chaque noeud (N1) comporte un module de routage (50) et un module de transmission (60) pour chaque port de sortie. Le module de transmission comprend une mémoire tampon (66) propre à recevoir des messages en provenance du module de routage, et une unité (62) de séquencement de la transmission, sur le port de sortie correspondant, des messages reçus par les mémoires tampons. Chaque unité de séquencement est configurée pour transmettre sur le port de sortie correspondant les messages reçus par les mémoires tampons en fonction d'une séquence d'intervalles temporels, chaque intervalle temporel de la séquence étant dédié à la transmission d'un message en provenance d'un noeud émetteur donné, qui est fonction d'un débit nécessaire sur le lien de communication relié au port de sortie, calculé pour chaque noeud émetteur.
Figure FR3062007A1_D0001
Figure FR3062007A1_D0002
Réseau maillé de communication, procédé de configuration et produit programme d’ordinateur associés
La présente invention est relative à un réseau maillé de communication du type comprenant au moins trois nœuds munis d’au moins deux ports de sortie reliés chacun à un autre nœud par un lien de communication respectif, chaque lien de communication étant destiné à la transmission des messages depuis un nœud donné vers un nœud voisin entre lesquels il s’étend, chaque nœud comportant:
un module de routage comportant un organe de routage et un organe de mémorisation d’une table de routage, la table de routage étant configurée pour associer à chaque message destiné à être reçu par ledit nœud une information de routage du message vers l’un des ports de sortie.
La présente invention concerne également un procédé de configuration du réseau maillé de communication et un produit programme d’ordinateur associé.
Un réseau maillé de communication, aussi dénommé réseau de communication point à point, est constitué d’une pluralité de nœuds reliés entre eux par des liaisons de communication uni ou bidirectionnelles. Le réseau comporte Nb nœuds, ou Nb est un entier quelconque mais défini. Le réseau est par conséquent fini.
Dans un tel réseau, l’acheminement d’un message entre un nœud émetteur et un nœud destinataire utilise des nœuds intermédiaires pour relayer le message et s’appuie sur un mécanisme de routage.
De manière générale, quelle que soit la nature de la couche physique du réseau considéré, le problème de la robustesse de l’acheminement se pose dès lors que ce réseau est fondé sur un tel mécanisme de routage.
Afin de ne pas perdre tout ou partie du service de communication lors d’une panne d'un ou de plusieurs nœuds et/ou d’une rupture d’une ou de plusieurs liaisons de communication, ou bien encore pour permettre la prise en compte d'un besoin fonctionnel correspondant à l’absence d’un ou plusieurs nœuds, la topologie du réseau doit nécessairement présenter un certain degré de connectivité.
La connectivité du réseau est une réponse structurelle au besoin de robustesse lors de la disparition d'un ou plusieurs nœuds ou liaisons de communication.
Ainsi, pour obtenir un réseau robuste à la disparition de tout sous-ensemble constitué de p-1 nœuds et/ou liaisons de communication entre des nœuds, il est nécessaire et suffisant que le graphe correspondant au réseau soit un graphe p-connexe.
Un tel réseau continue alors à assurer le service de communication entre tous les nœuds restants pour n'importe quel groupe de p-1 nœuds et/ou liaisons de communication entre des nœuds absents.
En d’autres termes, le choix de la topologie du réseau est lié au besoin de robustesse souhaité.
Une condition nécessaire (mais pas suffisante) pour qu'un graphe soit p-connexe est que chacun de ses nœuds ait au moins p nœuds voisins, c’est-à-dire qu’il soit relié directement, c’est-à-dire sans passer par un nœud intermédiaire, par des liaisons de communication à p autres nœuds du réseau.
La complexité du réseau augmente avec le nombre total Nb de nœuds et le degré de connectivité du réseau, c’est-à-dire le nombre de liaisons de communication entre les nœuds.
Dans un réseau complexe, les questions du routage et du contrôle du flux des messages échangés entre les nœuds s'avèrent des problèmes difficiles à traiter, dès lors qu'il est nécessaire de prendre en compte des modifications aléatoires du réseau, telles que la disparition d’un ou plusieurs nœuds ou liaisons de communication.
En effet, si les fonctions de routage et/ou de contrôle du flux ne sont pas correctement résolues, elles peuvent conduire à la perte totale ou partielle du service de communication entre les nœuds restants après une modification ou panne partielle du réseau, alors même que les nœuds restants conservent une connectivité structurelle entre eux, de nature à permettre le maintien du service de communication.
Afin de permettre le maintien du service de communication, il est par exemple connu de recalculer dynamiquement des tables de routage au niveau de chaque nœud lorsqu’on détecte une modification aléatoire du réseau. Cependant, une telle opération est complexe à mettre en œuvre et présente certaines limites en termes de robustesse et de sécurité.
Dans ce contexte, l'invention a pour but de pallier ces problèmes.
A cette fin, l’invention a pour objet un réseau maillé de communication du type précité dans lequel chaque nœud comprend :
- un module de transmission pour chaque port de sortie, le module de transmission comprenant :
+ une mémoire tampon pour chaque nœud émetteur appartenant au réseau et destiné à être à l’origine de l’émission d’un message sur le réseau, chaque mémoire tampon étant propre à recevoir des messages en provenance du module de routage, et + une unité de séquencement de la transmission, sur le port de sortie correspondant, des messages reçus par les mémoires tampons, l’organe de routage étant propre à router les messages reçus par le nœud, vers les différentes mémoires tampons en fonction du nœud émetteur à l’origine de l’émission du message sur le réseau et de la table de routage, chaque unité de séquencement comprenant un organe de mémorisation d’une séquence d’intervalles temporels propre au port de sortie correspondant, chaque intervalle temporel de la séquence étant dédié à la transmission sur le port de sortie correspondant d’un message en provenance d’un nœud émetteur donné, et dans chaque module de transmission, l’unité de séquencement est configurée pour transmettre sur le port de sortie correspondant les messages reçus par les mémoires tampons en fonction de la séquence d’intervalles temporels, la séquence d’intervalles temporels étant fonction d’un débit nécessaire sur le lien de communication relié au port de sortie, calculé pour chaque nœud émetteur.
Suivant des modes particuliers de réalisation, l’invention présente l’une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toute combinaison techniquement possible :
- les tables de routage sont définies de sorte qu’elles vérifient que chaque message émis par un nœud émetteur à destination d’un nœud destinataire emprunte deux sous-ensembles de liens de communication et de nœuds différents pour atteindre le nœud destinataire ;
- chaque unité de séquencement comprend un commutateur et un organe de commande, l’organe de commande étant propre à commander chaque commutateur pour qu’il connecte, l’une des mémoires tampons au port de sortie en fonction de la séquence d’intervalles temporels ;
- chaque nœud comprend un module d’interface propre à fragmenter en trames élémentaires des messages à transmettre à un ou des nœuds destinataires et provenant d’un module applicatif connecté au nœud ; et
- chaque table de routage associe à chaque couple comprenant l’identifiant d’un message et l’identifiant d’un nœud précédent ou d’un port d’entrée d’où provient le message, l’identifiant d’un nœud suivant ou du port de sortie vers lequel le message doit être transmis.
L’invention a également pour objet un procédé configuration d’un réseau maillé de communication comprenant au moins trois nœuds munis d’au moins deux ports de sortie reliés chacun à un autre nœud par un lien de communication respectif, chaque lien de communication étant destiné à la transmission de données depuis un nœud donné vers un nœud voisin entre lesquels il s’étend, le procédé comprenant les étapes suivantes :
la fourniture de données d’architecture relatives à l’architecture physique du réseau, la fourniture d’une liste de messages destinés à circuler sur le réseau entre un nœud émetteur et un ou des nœuds destinataires, la fourniture de données de communication pour chaque message, les données de communication comprenant un identifiant du message, un identifiant du nœud émetteur à l’origine de l'émission du message sur le réseau, une taille du message, une période d’émission du message et un identifiant du ou des nœuds destinataires du message, la détermination, pour chaque message, d’un ensemble de liens de communication et de nœuds via lesquels circule le message pour atteindre le ou les nœuds destinataires ; et le calcul d’une table de routage pour chaque nœud en fonction des ensembles de lien de communication et de nœuds déterminés, la table de routage étant configurée pour associer à chaque message destiné à être reçu par ledit nœud une information de routage du message vers l’un des ports de sortie.
Le procédé comprend également les étapes suivantes :
l’identification, pour chaque lien de communication, d’un ensemble de messages destinés à circuler sur le lien de communication en fonction de l’étape de détermination,
- le calcul, pour chaque lien de communication, du débit nécessaire à la circulation sur le lien de communication de l’ensemble des messages identifiés qui proviennent d’un même nœud émetteur, le calcul, pour chaque lien de communication, d’une séquence d’intervalles temporels en fonction du débit nécessaire calculé pour chaque nœud émetteur, chaque intervalle temporel étant dédié à la transmission sur le lien de communication d’un message en provenance d’un nœud émetteur donné ; et
- l’implémentation au niveau de chaque nœud de la table de routage, et des séquences d’intervalles temporels calculées pour les liens de communication destinés à la transmission de données depuis le nœud considéré vers un nœud voisin.
Suivant des modes particuliers de réalisation, l’invention présente l’une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toute combinaison techniquement possible :
- Le procédé comprend également les étapes suivantes :
+ la détermination d’une taille de trame élémentaire circulant sur le réseau, chaque message étant propre à être fragmenté au niveau de chaque nœud émetteur en trames élémentaires, + la détermination d’une période d’injection des trames élémentaires sur le réseau par chaque nœud émetteur ; et
- l’étape de détermination de la période d’injection des trames élémentaires est réalisée pour chaque nœud émetteur et comprend pour chaque nœud émetteur les sousétapes suivantes :
+ la détermination du débit maximal nécessaire à l’émission des messages destinés à être émis par ledit nœud émetteur, en fonction de la taille et de la période d’émission des messages, + le calcul de la période d’injection en fonction de la taille de trame élémentaire et du débit maximal nécessaire ; et
- lors de l’étape de détermination pour chaque message d’un ensemble de liens de communication et de nœuds, un sous-ensemble primaire de liens de communication et de nœuds est déterminé en fonction des données d’architecture fournies et au moins un sous-ensemble secondaire est déterminé en fonction des données d’architecture dans lesquelles un ou plusieurs liens de communication et/ou nœuds appartenant au sousensemble primaire sont supprimés, chaque sous ensemble correspondant à un arbre de communication, et en ce que l’ensemble de liens de communication et de nœuds comprend la réunion arithmétique des sous-ensembles primaire et secondaires.
L’invention a aussi pour objet un produit programme d’ordinateur comportant des instructions logicielles qui, lorsque mises en œuvre par un équipement informatique, mettent en œuvre le procédé.
L’invention et ses avantages seront mieux compris à la lecture de la description qui va suivre, donnée uniquement à titre d’illustration, d’un exemple de réalisation particulier. Celui-ci porte sur la réalisation et la configuration d’un réseau maillé de communication 3-connexe.
La description détaillée est faite en se référant aux dessins annexés sur lesquels :
- la figure 1 est un graphe correspondant à un réseau maillé de communication 3connexe, dans lequel chaque nœud est connecté par trois liaisons de communication à trois autres nœuds, dits nœuds voisins ;
- la figure 2 est une représentation schématique, sous forme de blocs fonctionnels, d’un nœud du réseau de la figure 1 connecté à un module applicatif d’un système modulaire auquel appartient le réseau ;
- la figure 3 est une représentation schématique d’un dispositif de configuration du réseau de la figure 1 ;
- la figure 4 est un organigramme d’un exemple de procédé de configuration du réseau de la figure 1 ;
- la figure 5 est une figure analogue à la figure 1 sur laquelle un ensemble de liens de communication parcourus par un message donné est identifié ;
- la figure 6 est un graphe représentant un sous-ensemble primaire de liens de communication et de nœuds du réseau de la figure 1 ;
- la figure 7 est un ensemble de graphes représentant des sous-ensembles secondaires de liens de communication et de nœuds du réseau de la figure 1 ;
- la figure 8 est un diagramme en bâton représentant la répartition temporelle de messages de communication émis par un nœud émetteur du réseau ; et
- la figure 9 illustre la latence maximale de transmission d’un message.
La figure 1 représente, sous la forme d’un graphe, un réseau maillé de communication 10 composé de dix-huit nœuds et vingt-sept liaisons de communication bidirectionnelles également appelées liaisons de communication par la suite.
Chaque nœud est identifié par la lettre N suivie d’un entier i correspondant à un numéro logique d’identification absolu du nœud sur le réseau 10.
Chaque liaison bidirectionnelle est identifiée différemment suivant une direction de communication d’un message qui la traverse. Chaque liaison bidirectionnelle comprend deux liens de communication également appelés liens unidirectionnels.
Chaque lien de communication est identifié par la lettre L suivie des numéros logiques des deux nœuds connectés l’un à l’autre par ce lien, les numéros logiques étant ordonnés suivant la direction de communication définie par le lien. L’adjonction des numéros logiques des deux nœuds connectés l’un à l’autre par le lien donne un identifiant y du lien de communication.
Ainsi la liaison bidirectionnelle s’étendant entre les nœuds 3 et 4 comprend un premier lien de communication L34, dont l’identifiant y est égal à 34, identifié sur la figure 1 à l’aide d’une flèche représentant la direction de communication depuis le nœud 3 vers le nœud 4 et un deuxième lien de communication L43, dont l’identifiant y est égal à 43, identifié sur la figure 1 à l’aide d’une flèche représentant la direction de communication depuis le nœud 4 vers le nœud 3.
Chaque lien de communication est destiné à la transmission de données depuis un nœud donné vers un nœud voisin, entre lesquels il s’étend, c’est-à-dire qu’il relie directement.
Sur la figure 1, seuls les liens de communication reliés au nœud N3 ont été repérés pour des raisons de clarté.
Chaque nœud N, est connecté à trois nœuds voisins, de sorte que le réseau 10 est 3-régulier et aussi 3-connexe. Un graphe dont tous les nœuds sont connectés par 3 liens de communication à des nœuds de communication voisins, également appelés nœuds de communication adjacents, est dit 3-régulier.
La distance maximale entre deux nœuds N, quelconques du réseau 10 est de quatre pas. La maille composée de six nœuds représente la distance du cycle le plus court qui peut être construit à l’intérieur du réseau 10.
Les nœuds N, sont propres à échanger entre eux des messages de communication, qui sont transmis sur les liens de communication.
Dans le mode de réalisation particulier décrit ici en détail, le réseau 10 fait partie intégrante d’un système modulaire, non représenté, dans lequel chaque nœud N, constitue un point de connexion au réseau d’un module applicatif 20 dudit système modulaire.
Du fait que le graphe correspondant au réseau 10 est 3-connexe, le réseau 10 est robuste à toute panne double de nœud(s) et/ou de lien(s) de communication, dans les deux sens. En d’autres termes, tous les nœuds N, restent accessibles entre eux si on supprime deux liaisons bidirectionnelles, deux nœuds ou un nœud et une liaison bidirectionnelle, quelconques dans le réseau 10.
Avantageusement, et comme représenté à la figure 1, le graphe correspondant au réseau 10 est au moins un graphe p-connexe.
Avantageusement encore, le graphe correspondant au réseau est un graphe à la fois p-connexe et p-régulier, comme dans le cas de la figure 1. Un graphe dont tous les nœuds sont connectés par p liens de communication à des nœuds de communication voisins est dit p-régulier. Cela permet de minimiser la quantité de matériel utilisé pour mettre en place le réseau tout en garantissant une certaine robustesse, c’est-à-dire une robustesse à la disparition de tout sous-ensemble du réseau constitué de p-1, liaisons de communication, c’est-à-dire liens de communication dans les deux sens, et/ou nœuds.
L’architecture physique du réseau 10 est caractérisée à l’aide de données d’architecture comprenant au moins une matrice d'adjacence A, qui indique la topologie courante du réseau 10.
Avantageusement les données d’architecture comprennent également :
- une table des voisins T, qui indique le numéro logique k, I ou m des noeuds voisins Nk, Ni et Nm, voisins du nœud N, considéré, c’est-à-dire les nœuds du réseau qui sont reliés directement, par un lien de communication, à un port du nœud N,.
La matrice d’adjacence A d'un réseau à Nb nœuds est une matrice de dimension Nb x Nb composée de 0 et de 1. Un élément non diagonal Ag dont la valeur est égale à 1 indique l'existence d'un lien entre les nœuds N, et Nj.
Par convention, dans la suite du document, le terme Αυ=1 désigne le lien orienté allant du nœud Nj au nœud N,. Pour une liaison bidirectionnelle, c’est-à-dire un lien de communication dans les deux sens, on a Ag = Aj, = 1.
Ainsi, pour un réseau non orienté, c’est-à-dire dont tous les liens sont bidirectionnels, tel que le réseau 10, la matrice d'adjacence A associée est symétrique.
La matrice d’adjacence A associée à un réseau non orienté p-régulier de Nb nœuds est une matrice symétrique, constituée de 0 et de 1, et contenant Nb x p valeurs à 1.
La matrice d'adjacence A donne une description univoque de l'état du réseau. Elle donne une description complète du réseau tout en ne demandant que peu de mémoire de stockage.
La matrice d'adjacence A du réseau 10 est ainsi la suivante :
(0 1 0001 1 0000000000 ο)
1 0 1 0
0 1 0 1
0 0 1 0
0 0 0 1
1 0 0 0
1 0 0 0
0 0 0 0
0 0 1 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 1
0 0 0 0
0 0 0 0
0 0 0 0
0 1 0 0
0 0 0 0
0 0 0
0 0 0
0 0
10 0
0 0
0 0 1
0 10
0 0 1
0 0 0
0 0
0 10
0 0 0
0 0 1
10 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0
0 0 0
0 10
0 0 0
0 0 1
0 0
10 0
10
10 1
0 10
0 0 0
0 0 0
0 0 0
10 0
0 0 0
0 0 1
0 0 0
0 0 0
0 0
0 0 0
0 10
0 0 0
10 0
0 0 0
0 0 1
0 0 0
0 0 0
10 0
10
10 1
0 10
0 0 1
0 0 ο ο ο ο ο ο ο ο ο ο ο ο ο ο ο ο ο ο ο Ο 1 Ο 1 ο ο ο ο ο Ο 1
0J
Comme représenté à la figure 2 pour le cas particulier du nœud chaque nœud N, du réseau 10 comporte un module d’entrée/sortie 30, un module d’interface 40, un 5 module de routage 50 et un module de transmission 60.
Chaque nœud N, comprend avantageusement un ou plusieurs circuits intégrés dédiés, tels qu’un ou plusieurs ASIC (de l’anglais Application Spécifie Integrated Circuit) propres à former les modules 30, 40, 50 et 60.
En variante, chaque nœud N, comprend un ou plusieurs composants logiques programmables, tels qu’un ou plusieurs FPGA (de l’anglais Field Programmable Gâte Array) propres à former les modules 30, 40, 50 et 60.
En variante, chaque nœud N, comprend un bloc mémoire et un calculateur propre à mettre en œuvre des instructions logicielles de programmation mémorisées par le bloc mémoire afin de former les modules 30, 40, 50 et 60.
Les nœuds N, du réseau échangent entre eux des messages prédéterminés destinés à circuler sur le réseau entre un nœud émetteur et un ou des nœuds destinataires. Par messages prédéterminés ont entend que les messages échangés ont des caractéristiques, également appelées données de communication, connues.
Les données de communication comprennent un identifiant du message, un identifiant du nœud émetteur à l’origine de l’émission du message sur le réseau, une taille du message, une période d’émission du message et un identifiant du ou des nœuds destinataires du message.
L’identifiant du nœud émetteur et du nœud destinataire correspondent, par exemple, au numéro logique d’identification absolu du nœud émetteur, respectivement du nœud destinataire.
Un message est, par exemple, référencé par la lettre M suivie du numéro logique i du nœud émetteur et d’un numéro r identifiant le message émis par le nœud émetteur i.
Les messages émis par le nœud sont référencés Μ1ιΓ. Plus précisément si le nœud Nt émet seulement deux messages différents, c’est-à-dire deux messages ayant des données de communication différentes, on considère que le nœud N! émet un premier message et un deuxième message M1i2.
L’identifiant du message correspond, par exemple, à l’adjonction du numéro logique i du nœud émetteur et du numéro r identifiant le message émis par le nœud émetteur.
Le module d’entrée/sortie 30 comporte quatre ports d’entrée/sortie 31, 32, 33, 34, dont un port d’entrée/sortie 31, dit interne, est connecté au module d’interface 40. Les 15 autres ports d’entrée/sortie 32, 33, 34, dits externes, sont connectés à d’autres nœuds du réseau 10, qui sont les nœuds voisins du nœud N1 considéré.
En d’autres termes, chaque port externe 32, 33, 34 est relié à un nœud voisin du nœud N! considéré.
Chacun des ports 31 à 34 comporte un coupleur d’entrée 36, par exemple 20 sérialisateur, un coupleur de sortie 38, par exemple désérialisateur.
Chacun des ports d’entrée /sortie est connecté, d’une part, au module de routage, 50 et, d’autre part, au module de transmission 60.
Le module d’interface 40 est connecté via une ligne de communication 42, avantageusement bidirectionnelle, au module applicatif 20.
Le module d’interface 40 est également connecté au port interne 31.
Le module d’interface 40 fait l’interface entre le module applicatif 20 et le port interne 31.
Le module d’interface 40 est propre à fragmenter en trames élémentaires Tir des messages Mijr à transmettre à un ou des nœuds destinataires et provenant du module 30 applicatif 20 et à transmettre les trames élémentaires au module de routage 50 via le port interne 31.
Les trames élémentaires Tir comprennent au moins l’identifiant du message et un identifiant du dernier nœud par lequel la trame Tir a transité.
Le module d’interface 40 est également propre à transmettre au module applicatif
20 des messages Mir et plus précisément des trames élémentaires Tir provenant du réseau et à destination du nœud N! considéré. Ces trames élémentaires ont été transmises par l’un des nœuds N2, N6i N7 au nœud N1, puis routées par le module de routage 50 vers le port interne 31.
Avantageusement, le module d’interface 40 est propre à reconstituer le message émis par un module applicatif, associé à l’un des nœuds N2, N6i N7, vers le nœud N1 à partir des trames élémentaires qu’il reçoit, c’est-à-dire à partir des trames élémentaires reçues par le nœud N1 et ayant pour nœud destinataire le nœud N1. En d’autres termes le module d’interface 40 assure des opérations de défragmentation.
Avantageusement encore, le module d’interface 40 est également configuré pour compter et ordonnancer les trames qu’il reçoit et pour vérifier l'intégrité du message qu’il reconstitue.
Le module de routage 50 comprend un organe 52 de mémorisation d’une table de routage propre au nœud hh considéré et un organe 54 de routage des trames élémentaires Tir reçues par chaque module d’entrée/sortie 31, 32, 33, 34.
La table de routage est configurée pour associer à chaque message destiné à être reçu par le nœud Νί une information de routage du message vers l’un des ports d’entrée/sortie.
La table de routage associe, par exemple, à chaque couple comprenant l’identifiant d’un message et l’identifiant du dernier nœud par lequel la trame a transité, l’identifiant d’un nœud suivant vers lequel le message doit être transmis.
Avantageusement l’organe de mémorisation 52 est également propre à mémoriser pour chaque nœud voisin du nœud considéré, l’identifiant du port d’entrée/sortie relié audit nœud voisin.
En variante, la table de routage associe à chaque couple comprenant l’identifiant d’un message et l’identifiant du port d’entrée/sortie par lequel la trame a été reçue, l’identifiant d’un port d’entrée/sortie, c’est-à-dire d’un port de sortie, vers lequel le message doit être transmis.
Les tables de routage sont définies de sorte qu’elles vérifient que chaque message, trame élémentaire Tir émis par un nœud émetteur à destination d’un ou plusieurs nœuds destinataires est transmis au nœud destinataire même si un et éventuellement plusieurs liens de communication et/ou nœuds appartenant au réseau est/sont supprimés. La redondance de la transmission des messages est garantie.
En d’autres termes, les tables de routage sont définies de sorte qu’elles vérifient que chaque message et plus précisément chaque trame élémentaire Tir emprunte plusieurs chemins différents dans le réseau pour atteindre un nœud destinataire donné.
Le module de transmission 60 comprend une unité de séquencement 62 de la transmission des messages pour chaque lien de communication destiné à la transmission de données depuis le nœud Ni considéré vers un nœud voisin, c’est-à-dire pour chaque port d’entrée/sortie et notamment pour chaque port de sortie.
Le module de transmission 60 comprend également un ensemble de mémoires tampons 66.
Chaque ensemble de mémoires tampons 66 comprend, par exemple, une FIFO pour chaque émetteur, c’est-à-dire pour chaque nœud appartenant au réseau et destiné à être à l’origine de l’émission d’un message sur le réseau.
En d’autres termes, chaque module de transmission 60 comprend une mémoire tampon pour chaque nœud émetteur appartenant au réseau.
Dans l’exemple de la figure 2, le module de transmission 60 comprend trois unités de séquencement 62 puisqu’il comprend trois liens de communication L12, Lw, L17 destinés à la transmission de données depuis le nœud bf considéré vers un nœud voisin.
Le module de transmission 60 comprend avantageusement une mémoire tampon 63, par exemple une FIFO dit de sortie (de l’anglais « first in, first out », qui signifie premier entré, premier sorti), s’étendant entre le module de routage 50, notamment l’organe de routage 54, et le coupleur de sortie 38 du port interne 31.
Le module d’interface 40 est par exemple propre à venir lire, par l’intermédiaire du coupleur de sortie 38 du port interne 31, la mémoire tampon 63 avec une fréquence de lecture prédéterminée.
L’organe de routage 54 est propre à router les messages reçus par le nœud, vers les différentes mémoires tampons en fonction du nœud émetteur à l’origine de l’émission du message sur le réseau et de la table de routage,
L’organe de routage 54 est propre à router les trames reçues par chaque module d’entrée/sortie 31, 32, 33, 34, au niveau du coupleur d’entrée 36, vers les différentes unités de séquencement 62, en fonction de la table de routage.
L’organe de routage 54 est également propre à router les trames reçues par chaque module d’entrée/sortie 31, 32, 33, 34, au niveau du coupleur d’entrée 36, vers la mémoire tampon 63 et notamment le module d’interface 40, en fonction de la table de routage.
Chaque unité de séquencement 62 s’étend entre l’organe de routage et un port d’entrée/sortie associé, c’est-à-dire notamment un port de sortie associé.
Chaque unité de séquencement 62 est configurée pour transmettre sur le lien de communication auquel elle est associée, c’est-à-dire sur le port de sortie auquel elle est associée, les messages Mir, c’est-à-dire les trames Tir, en provenance du module de routage 50, en fonction d’une séquence d’intervalles temporels prédéterminée associée au lien de communication auquel elle est associée.
Chaque unité de séquencement 62 comprend, par exemple, un organe de mémorisation d’une séquence d’intervalles temporels propre au port de sortie auquel elle est associée, chaque intervalle temporel de la séquence étant dédié à la transmission sur le port de sortie correspondant d’un message en provenance d’un nœud émetteur donné.
Dans chaque module de transmission 60, l’unité de séquencement 62 est configurée pour transmettre sur le port de sortie correspondant les messages reçus par les mémoires tampons, en provenance de l’organe de routage 54, en fonction de la séquence d’intervalles temporels.
Chaque unité de séquencement 62 comprend un commutateur 68 et un organe 69 de commande du commutateur correspondant.
Chaque commutateur 68 est propre à connecter, en fonction d’une commande transmise par l’organe de commande 69, l’une des FIFO de l’ensemble de mémoires tampons 66 correspondant au coupleur de sortie 38 relié au nœud voisin correspondant. En d’autres termes chaque commutateur 68 est associé à l’un des ports d’entrée/sortie et donc à un lien de communication.
L’organe de commande 69 commande chaque commutateur 68 en fonction de la séquence d’intervalles temporels prédéterminée associée au lien de communication correspondant. La séquence d’intervalles temporels est mémorisée par l’organe de commande 69 et préalablement calculée comme cela sera décrit par la suite. Chaque intervalle temporel de la séquence est dédié à la transmission sur le lien de communication d’un message, et plus précisément d’une trame élémentaire, en provenance d’un nœud émetteur donné.
En d’autres termes l’organe de commande 69 est propre à commander le commutateur 68 pour sélectionner la trame à transmettre sur le lien de communication correspondant en fonction de la séquence d’intervalles temporels prédéterminée associée au lien de communication. Les trames sont sélectionnées suivant leur ordre d'arrivée grâce à l’utilisation des FIFOs et en fonction de leur nœud émetteur grâce à l’utilisation de la séquence d’intervalles temporels.
Avantageusement, une FIFO d’entrée, non représentée, est associée à chaque coupleur d’entrée 36 et une trame arrivant au niveau du coupleur d’entrée 36 est mémorisée dans la FIFO d’entrée correspondante.
Le module de routage 50 copie alors la trame placée dans la FIFO d’entrée d’un port, dit d’entrée, dans la FIFO de sortie d’un port, dit de sortie, qui est sélectionné en fonction de la table de routage et notamment de l’identifiant du dernier nœud par lequel a transité la trame et de l’identifiant du message auquel est associée la trame.
Le module de routage 50 vient lire les données comprises dans chaque FIFO d’entrée, par exemple, séquentiellement.
Le réseau maillé est avantageusement mis en œuvre à l’aide d’un dispositif de configuration du réseau 80 représenté à la figure 3.
Le dispositif de configuration du réseau comprend une mémoire 82 et un calculateur 84 propre à mettre en œuvre des instructions logicielles de programmation mémorisées par la mémoire 82.
L’ensemble des instructions logicielles forment un produit programme d’ordinateur.
En variante, le dispositif de configuration du réseau comprend en lieu et place du calculateur et de la mémoire, un ou plusieurs composants logiques programmables, tels qu’un ou plusieurs FPGA (de l’anglais Field Programmable Gâte Array) ou encore un ou plusieurs circuits intégrés dédiés, tels qu’un ou plusieurs ASIC (de l’anglais Application Spécifie Integrated Circuit) remplissant la même fonction.
La mémoire 82 comprend des instructions logicielles de programmation propres à mettre en œuvre le procédé de configuration du réseau décrit à la figure 4.
Plus précisément, la mémoire 82 comprend des instructions logicielles de fourniture 86 des données d’architecture, d’une liste de messages prédéterminés destinés à circuler sur le réseau entre un nœud émetteur et un ou des nœuds destinataires et des données de communication associées aux messages de la liste.
La mémoire 82 comprend également des instructions logicielles de détermination 88, pour chaque message fourni, d’un ensemble de liens de communication et de nœuds via lesquels circule le message pour atteindre le ou les nœuds destinataires, de calcul de la table de routage pour chaque nœud et d’identification 90, pour chaque lien de communication, d’un ensemble de messages destinés à circuler sur le lien de communication.
La mémoire 82 comprend aussi des instructions logicielles de calcul 92, pour chaque lien de communication, du débit nécessaire à la circulation sur le lien de communication, de l’ensemble des messages identifiés en provenance d’un même nœud émetteur, de calcul 93, pour chaque lien de communication, de la séquence d’intervalles temporels et de téléchargement 94, au niveau de chaque nœud, de la table de routage et des séquences d’intervalles temporels calculées pour les liens de communication destinés à la transmission de données depuis le nœud considéré vers un nœud voisin.
Avantageusement la mémoire comprend aussi des instructions logicielles de détermination 95 d’une taille de trame élémentaire circulant sur le réseau et de détermination 96 d’une période d’injection des trames élémentaires sur le réseau.
Avantageusement le dispositif de configuration est propre à être connecté au réseau de sorte à transmettre aux nœuds du réseau les tables de routage et les séquences d’intervalles temporels via l’exécution des instructions logicielles de téléchargement 94.
Un procédé de configuration du réseau maillé de la figure 1 va être décrit à l’aide de la figure 4 et permettra de décrire plus en détails le fonctionnement du dispositif de configuration et notamment les caractéristiques relatives aux instructions logicielles mémorisées par la mémoire 82.
En outre, afin d’expliquer plus précisément les différentes étapes du procédé, un exemple simplifié de réalisation du procédé de configuration sera présenté en parallèle de la description de la figure 4, à l’aide des figures 5 à 7.
Le procédé de configuration comprend une succession d’étapes 100, 102 et 104 de fourniture.
Lors de l’étape 100 les données d’architecture et, par exemple, de la matrice d’adjacence A sont fournies.
Lors de l’étape 102 la liste de messages prédéterminés destinés à circuler sur le réseau est fournie, tandis que lors de l’étape 104 les données de communication sont fournies pour chaque message de la liste.
Dans l’exemple des figures 5 à 7, lors de l’étape 102, la liste des messages prédéterminés comprend, par exemple, un message Mn,i ayant comme nœud émetteur le nœud Nu et comme nœuds destinataires les nœuds N-i, N4, N6, N13.
Ensuite, lors d’une étape de détermination 106, un ensemble de liens de communication et de nœuds via lesquels circule le message pour atteindre le ou les nœuds destinataires, est déterminé pour chaque message.
L’ensemble de liens de communication est déterminé en fonction d’un premier critère C1 à minimiser. Le premier critère C1 est de préférence le nombre de liens de communication et/ou de nœuds par lesquels transite le message.
Avantageusement, lors de l’étape de détermination 106, l’ensemble de liens de communication définit plusieurs chemins redondants empruntés par le message, de sorte que si le message emprunte l’ensemble de ces chemins, chaque message émis par un nœud émetteur à destination d’un ou plusieurs nœuds destinataires est transmis au nœud destinataire même si un et éventuellement plusieurs liens de communication et/ou nœuds appartenant au réseau est/sont supprimés.
Plus précisément, lors l’étape de détermination 106, pour chaque message, un sous-ensemble primaire de liens de communication et de nœuds est déterminé en fonction des données d’architecture fournie et du premier critère C1.
En outre, lors de l’étape 106, au moins un et avantageusement plusieurs sousensembles secondaires de liens de communication et de nœuds sont déterminés en fonction des données d’architecture dans lesquelles, par exemple, un ou plusieurs liens de communication et/ou nœuds appartenant au sous-ensemble primaire est/sont supprimés.
Les sous-ensembles primaire et secondaires correspondent chacun à un arbre de communication, et l’ensemble de liens de communication et de nœuds déterminé à l’étape 106 comprend la réunion arithmétique des sous-ensembles primaire et secondaires.
En variante, dans le cas où le graphe correspondant à l’architecture physique du réseau est un graphe p-connexe, comme cela est le cas sur la figure 1, l’étape de détermination 106 comprend pour chaque groupe différent de Ne entités choisies parmi les liens de communication (dans les deux sens) et/ou nœuds du sous-ensemble primaire, la détermination d’un sous-ensemble secondaire en fonction des données d’architecture dans lesquelles le groupe de Ne entités est supprimé et du premier critère C1, avec Ne un nombre entier inférieur ou égal à p et correspondant au nombre de pannes simultanées auxquelles le réseau est apte à résister. Dans cette variante, l’ensemble de liens de communication et de nœuds déterminé comprend la réunion arithmétique des sous-ensembles primaire et secondaires.
Pour l’exemple des figures 5 à 7, l’ensemble de liens de communication et de nœuds déterminé lors de l’étape 106 pour le message est représenté à la figure 5 en traits pointillés.
Comme expliqué ci-dessus, cet ensemble de liens de communication et de nœuds, est obtenu, par exemple, via la détermination d’un sous-ensemble primaire et de sous-ensembles secondaires de liens de communication et de nœuds, par lesquels le message M11ti est destiné à transiter.
Le sous-ensemble primaire de liens de communication et de nœuds est représenté à la figure 6, tandis que les sous-ensembles secondaires de liens de communication et de nœuds sont représentés à la figure 7.
A la figure 7, il y a autant de sous-ensembles secondaires que de liaisons de communication potentiellement défaillantes appartenant au sous-ensemble primaire. En d’autres termes, un sous-ensemble secondaire est déterminé pour chaque liaison de communication du sous ensemble primaire potentiellement défaillante.
La réunion des sous-ensembles primaire et secondaires donne l’ensemble de liens de communication et de nœuds déterminé lors de l’étape 106 pour le message Μ11τ1, également appelée empreinte du message Mnj.
Ensuite, au cours d’une étape de calcul 108, la table de routage est calculée pour chaque nœud en fonction des ensembles de lien de communication et de nœuds déterminés pour chaque message Mi r.
Au cours de l’étape 108, on identifie pour chaque nœud Nj l’ensemble des messages transitant par ce nœud, ainsi qu'un nœud précédent par lequel a transité le message et le nœud suivant vers lequel il doit être transmis, à partir de tous les ensembles de lien de communication et de nœuds déterminés.
Par nœud précédent on entend le nœud voisin précédent par lequel a transité le message.
Suite à l’étape de calcul 108, la table de routage calculée associe à chaque couple comprenant l’identifiant d’un message et l’identifiant d’un nœud précédent d’où provient le message, l’identifiant d’un nœud suivant vers lequel le message doit être transmis.
Puis le procédé comprend une étape 110 d’identification au cours de laquelle il est identifié pour chaque lien de communication, l’ensemble des messages destinés à circuler sur le lien de communication. Cette étape d’identification est réalisée à partir de tous les ensembles de lien de communication et de nœuds déterminés à l’étape de détermination 106.
Avantageusement, au cours d’une étape d’initialisation non-représentée, une taille de trame élémentaire circulant sur le réseau est déterminée. La taille de trame élémentaire est commune à tous les messages et lors de leur émission sur le réseau tous les messages sont fragmentés en trame élémentaire.
En variante la taille des trames élémentaires varie suivant le nœud émetteur émettant la trame.
Avantageusement encore, lors d’une étape de pré-configuration des modules d’interface, un motif d’émission des messages est obtenu pour chaque émetteur. Plus précisément on définit pour chaque émetteur un motif temporel d’émission des messages qu’il est destiné à émettre en fonction de la taille des messages et de leur période d’émission.
En considérant l’exemple d’un émetteur tel que le nœud Ni destiné à émettre quatre messages, à savoir Mu, M12, M1i3, Mi,4 avec les messages M1t1 faisant 100 octets et ayant une période de 4 ms, M1x2 faisant 200 octets et ayant une période de 8 ms, Mi,3 faisant 300 octets et ayant une période de 8 ms et M14 faisant 400 octets et ayant une période de 16 ms, lors de l’étape de pré-configuration on définit, par exemple, le motif temporel de la figure 8.
Le diagramme de la figure 8 montre la taille des messages en ordonnée et leur répartition temporelle en abscisse suivant une période prédéterminée. La période prédéterminée est égale au plus petit commun multiple des périodes des messages.
Grâce au diagramme de la figure 8, le débit maximal nécessaire à l’émission des 5 messages est obtenu. Dans cet exemple, le débit maximal est de 150 octets/ms et est égal au rapport entre, d’une part, la taille maximale des données envoyées pendant une durée égale à la période prédéterminée et, d’autre part, la période prédéterminée.
Les périodes d’injection des trames élémentaires sont alors calculées pour chaque nœud émetteur lors de l’étape de pré-configuration, à partir de la division de la taille de la 10 trame élémentaire par le débit maximal obtenu pour le nœud émetteur.
Avantageusement les périodes d’injection des trames élémentaires vérifient l’équation suivante :
(Τ' Ί
Pi = -----, avec TT la taille de la trame élémentaire et P, la période (débit maximat) d’injection des trames élémentaires.
En d’autres termes, pour chaque nœud, le nombre de trames injectés par seconde, également appelé en anglais « frame rate » et noté FR,, est exprimé de la façon suivante :
„„ (débit maximal) (Tr)
En variante la taille des trames élémentaires et la période d’injection des trames 20 ont des valeurs prédéterminées connues.
Le procédé comprend également une étape 112 de calcul, pour chaque lien de communication L, du débit Fyi nécessaire à la circulation sur le lien de communication de l’ensemble des messages identifiés en provenance d’un même nœud émetteur et destiné à circuler sur le lien de communication.
Le débit nécessaire est par exemple calculé à partir de l’équation suivante :
N N
Fyi = flux (Mir) =^γr=l r=l , avec y un identifiant du lien de communication considéré, i un identifiant du nœud émetteur considéré et r un identifiant des messages émis par le nœud émetteur i et destiné à circuler sur le lien de communication y, 5/Γ la taille du message émis par le nœud émetteur i et identifié par l’identifiant r, Tir la période d’émission du message émis 30 par le nœud émetteur i et identifié par l'identifiant r.
Ensuite, lors d’une autre étape de calcul 114, la séquence d’intervalles temporels est calculée pour chaque lien de communication en fonction du débit nécessaire calculé pour chaque nœud émetteur.
Avantageusement la période d’injection est la même pour toutes les trames émises sur le réseau et est égale à la durée de chaque intervalle temporel.
L’étape de calcul 114 comprend, par exemple, pour chaque lien de communication, une première sous-étape 114A de détermination d’une longueur optimale Lopt de la séquence, en fonction du débit nécessaire calculé pour chaque nœud émetteur.
L’objectif au cours de cette sous-étape 114A est de déterminer la longueur de séquence d’intervalles temporels permettant de respecter au mieux la répartition de bande passante du lien de communication souhaitée entre les différents nœuds émetteurs.
Au cours de la sous-étape 114A, un vecteur flux normalisé Fy est déterminé pour F chaque lien de communication. Le vecteur flux comprend les valeurs pour chaque nœud émetteur N, émettant au moins un message transitant par le lien de communication considéré.
Ensuite, la longueur optimale Lopt est, par exemple, calculée en cherchant la valeur de longueur L inférieure ou égale à une longueur maximale de la séquence Lmax qui minimise le produit scalaire (Fx — Gxy. (Fx — Gxy En d’autres termes on cherche le min vL<Lmax(Fx - Gxy. (Fx — Gx), avec L e N et G un vecteur flux arrondi comprenant les pxi
y.p .
valeurs du vecteur flux normalisé divisées par L et arrondies (round (-^-)) et Lmax la longueur maximale de la séquence qui dépend des contraintes matérielles.
En d’autres termes la valeur de la longueur maximale de la séquence Lmaxest fixée en fonction des contraintes matérielles liées aux éléments utilisés qui forment le réseau
10.
La longueur maximale de la séquence est par exemple égale à 256.
En variante, la longueur optimale de la séquence a une valeur prédéterminée.
Puis, au cours d'une sous-étape 114B de détermination de la séquence d’intervalles temporels, réalisée pour chaque lien de communication, on détermine pour un lien de communication donné, l’émetteur auquel chaque intervalle temporel est dédié.
Plus précisément, lors de la sous-étape de détermination 114B, les instructions logicielles de calcul de la séquence d’intervalles temporels, lorsqu’elles sont exécutées, déterminent successivement pour chaque intervalle temporel de la séquence l’identifiant du nœud émetteur associé à l’intervalle temporel en fonction du débit nécessaire calculé pour chaque nœud émetteur, et du nombre d’intervalles temporels déjà affectés à chaque nœud émetteur.
La séquence d’intervalles temporels et notamment l’indice du nœud émetteur associé à chaque intervalle temporel est, par exemple, déterminé à partir de la formule suivante :
maxvi Zi(k) = gj*k - qj(k-1 ), avec k la position de l’intervalle temporel dans la séquence, qui correspond également au nombre d’intervalles temporels total déjà affectés à l’un quelconque des nœuds émetteurs, qj(k) le nombre d’intervalles temporels déjà alloués au nœud émetteur N, dans la séquence à la position k-1, en partant de la première position, i l’identifiant des nœuds émetteurs émettant un message transitant par le lien de communication
Fxi
y. P .
considéré, et gi = round
Lopt
Plus précisément on cherche l’indice i, c’est-à-dire le nœud émetteur N, pour lequel la grandeur z,(k) est maximale.
Suite à l’étape 114, la liste de séquence est obtenue pour chaque lien de communication et le procédé comprend une étape 116 d’implémentation ou de téléchargement au niveau de chaque nœud, de la table de routage et des séquences d’intervalles temporels calculées pour les liens de communication destinés à la transmission de données depuis le nœud considéré vers un nœud voisin.
En d’autres termes, les séquences d’intervalles temporels calculées à l’étape 114 pour les liens de communication Lab sont téléchargées au niveau du nœud Na et notamment au niveau de l’organe de commande 69 du nœud Na, tandis que les séquences d’intervalles temporels calculées à l’étape 114 pour les liens de communication Lba sont téléchargées au niveau du nœud Nb.
Le réseau maillé est alors prêt à fonctionner et à router les messages de manière contrôlée et redondante.
En effet, une fois toutes les séquences calculées et qu’une séquence est associée à chaque lien de communication, on peut calculer la latence maximale d’une trame élémentaire Tir en fonction du message auquel elle appartient. La latence maximale d’une trame élémentaire Tir est égale au maximum des sommes des périodes maximales de transmission constatées sur les liens de communication consécutifs par lesquels transite le message. Les périodes maximales sont, par exemple, calculées à partir de chaque séquence d’intervalles temporels.
Par exemple, pour un lien de communication devant partager sa bande passante entre trois nœuds émetteurs de sorte que la séquence d’intervalles temporels comprend trois intervalles dédiés à un premier nœud émetteur, deux intervalles dédiés à un deuxième nœud émetteur et un intervalle dédié à un troisième émetteur, avec chaque intervalle temporel ayant une période de 2ms, les périodes maximales de transmission pour les premier, deuxième et troisième nœud émetteurs sont respectivement de 4 ms, 8 ms et 12 ms.
En d’autres termes, pour obtenir la latence maximale d’une trame élémentaire relative à un message, on parcoure chaque lien de communication emprunté par le message pour aller du nœud émetteur vers le nœud destinataire et pour chaque lien emprunté on somme les périodes maximales de transmission associées. On réalise cette étape pour chaque sous-ensemble primaire et secondaires de liens empruntés par le message et on récupère la somme ayant la valeur maximale, qui est égale à la latence maximale de la trame élémentaire.
Pour vérifier le bon fonctionnement du réseau mis en œuvre, il suffit de comparer pour chaque message, au niveau de chaque lien de communication emprunté par le message, la période d’injection des trames élémentaires avec la période maximale de transmission des trames élémentaires. Si pour chaque lien de communication, la période maximale de transmission est inférieure à la période d’injection le bon fonctionnement du réseau et notamment le contrôle du flux des messages est prouvé.
En outre, la configuration du réseau permet de connaître la latence maximale d’un message à partir de la latence maximale d’une trame élémentaire, de la période d’injection des trames élémentaires et du nombre de trames élémentaires constituant un message.
La latence maximale d’un message vérifie : Dmaxir = (NT - 1) P, + DTir, avec NT le nombre total de trames constituant le message et DTir la latence maximale de la trame élémentaire relative au message d’indice r émis par le nœud N,.
La figure 9 illustre un tel fonctionnement pour NT égal à 5.
La répartition temporelle du trafic à l’aide des séquences d’intervalles temporels permet d’assurer qu’aucune trame élémentaire n’excède la bande passante maximale allouée, définie par les intervalles temporels qui lui sont alloués au niveau de chaque lien de communication.
La configuration du réseau favorise la non-propagation des pannes entre les nœuds émetteurs et constitue une protection contre des risques d’engorgement du réseau liés notamment à des émissions intempestives non contrôlées des trames.
En d’autres termes les nœuds configurés comme expliqués ci-dessus permettent de construire un réseau maillé de communication qui présente la caractéristique de garantir, en toutes circonstances, un routage exploitant avantageusement 100 % de la connectivité potentielle du réseau.
L’expression «100% de la connectivité potentielle du réseau» signifie que le routage entre deux nœuds est assuré dès qu’un chemin existe entre ces deux nœuds.
La configuration du réseau permet d’assurer un routage redondant tout en assurant un contrôle du flux.
Plus généralement, la configuration du réseau telle que décrite ci-dessus permet d’assurer l’organisation spatiale et temporelle du trafic et confère au réseau des propriétés fondamentales en terme de latence de communication et de non propagation des pannes, qui répondent aux exigences de certification pour l’aéronautique civile.
Les modes de réalisations et variantes envisagés ci-dessus sont propres à être combinés entre eux pour donner lieu à d’autres modes de réalisation de l’invention.

Claims (10)

  1. REVENDICATIONS
    1,- Réseau maillé (10) de communication comprenant au moins trois nœuds (N,) munis d’au moins deux ports de sortie reliés chacun à un autre nœud par un lien de communication respectif (Lab), chaque lien de communication étant destiné à la transmission des messages depuis un nœud donné (Na) vers un nœud (Nb) voisin entre lesquels il s’étend, chaque nœud comportant:
    un module de routage (50) comportant un organe de routage et un organe de mémorisation d’une table de routage, la table de routage étant configurée pour associer à chaque message destiné à être reçu par ledit nœud une information de routage du message vers l’un des ports de sortie;
    caractérisé en ce que chaque nœud comporte également :
    un module de transmission (60) pour chaque port de sortie, le module de transmission (60) comprenant :
    o une mémoire tampon pour chaque nœud émetteur appartenant au réseau et destiné à être à l’origine de l’émission d’un message sur le réseau, chaque mémoire tampon étant propre à recevoir des messages en provenance du module de routage, et o une unité de séquencement (62) de la transmission, sur le port de sortie correspondant, des messages reçus par les mémoires tampons, en ce que l’organe de routage (54) est propre à router les messages reçus par le nœud, vers les différentes mémoires tampons en fonction du nœud émetteur à l’origine de l’émission du message sur le réseau et de la table de routage, en ce que chaque unité de séquencement (62) comprend un organe de mémorisation d’une séquence d’intervalles temporels propre au port de sortie correspondant, chaque intervalle temporel de la séquence étant dédié à la transmission sur le port de sortie correspondant d’un message en provenance d’un nœud émetteur donné, et en ce que dans chaque module de transmission, l’unité de séquencement est configurée pour transmettre sur le port de sortie correspondant les messages reçus par les mémoires tampons en fonction de la séquence d’intervalles temporels, la séquence d’intervalles temporels étant fonction d’un débit nécessaire sur le lien de communication relié au port de sortie, calculé pour chaque nœud émetteur.
  2. 2. - Réseau selon la revendication 1, caractérisé en ce que les tables de routage sont définies de sorte qu’elles vérifient que chaque message émis par un nœud émetteur à destination d’un nœud destinataire emprunte deux sous-ensembles de liens de communication et de nœuds différents pour atteindre le nœud destinataire.
  3. 3. - Réseau selon la revendication 1 ou 2, caractérisé en ce que chaque unité de séquencement (62) comprend un commutateur (68) et un organe de commande (69), l’organe de commande étant propre à commander chaque commutateur (68) pour qu’il connecte, l’une des mémoires tampons au port de sortie en fonction de la séquence d’intervalles temporels
  4. 4. - Réseau selon l’une quelconque des revendications précédentes, caractérisé en ce que chaque nœud comprend un module d’interface (40) propre à fragmenter en trames élémentaires (Tir) des messages (Mi r) à transmettre à un ou des nœuds destinataires et provenant d’un module applicatif (20) connecté au nœud.
  5. 5. - Réseau selon l’une quelconque des revendications précédentes, caractérisé en ce que chaque table de routage associe à chaque couple comprenant l’identifiant d’un message et l’identifiant d’un nœud précédent ou d’un port d’entrée d’où provient le message, l’identifiant d’un nœud suivant ou du port de sortie vers lequel le message doit être transmis.
  6. 6. - Procédé de configuration d’un réseau maillé (10) de communication comprenant au moins trois nœuds (N.) munis d’au moins deux ports de sortie reliés chacun à un autre nœud par un lien de communication respectif (Lab), chaque lien de communication étant destiné à la transmission de données depuis un nœud donné (Na) vers un nœud (Nb) voisin entre lesquels il s’étend, le procédé comprenant les étapes suivantes :
    la fourniture (100) de données d’architecture relatives à l’architecture physique du réseau, la fourniture (102) d’une liste de messages (Mi r) destinés à circuler sur le réseau entre un nœud émetteur et un ou des nœuds destinataires, la fourniture (104) de données de communication pour chaque message, les données de communication comprenant un identifiant du message (ir), un identifiant du nœud émetteur (N,) à l’origine de l’émission du message sur le réseau, une taille (Slr) du message, une période (Tir) d’émission du message et un identifiant du ou des nœuds (Ni) destinataires du message,
    - la détermination (106), pour chaque message, d’un ensemble de liens de communication et de nœuds via lesquels circule le message pour atteindre le ou les nœuds destinataires, le calcul (108) d’une table de routage pour chaque nœud en fonction des ensembles de lien de communication et de nœuds déterminés, la table de routage étant configurée pour associer à chaque message destiné à être reçu par ledit nœud une information de routage du message vers l’un des ports de sortie caractérisé en ce que le procédé comprend également les étapes suivantes :
    - l’identification (110), pour chaque lien de communication (Lab), d’un ensemble de messages destinés à circuler sur le lien de communication en fonction de l’étape de détermination,
    - le calcul (112), pour chaque lien de communication (Lab), du débit nécessaire à la circulation sur le lien de communication de l’ensemble des messages identifiés qui proviennent d’un même nœud émetteur, et
    - le calcul (114), pour chaque lien de communication (Lab), d’une séquence d’intervalles temporels en fonction du débit nécessaire calculé pour chaque nœud émetteur, chaque intervalle temporel étant dédié à la transmission sur le lien de communication d’un message en provenance d’un nœud émetteur donné,
    - l’implémentation (106) au niveau de chaque nœud de la table de routage, et des séquences d’intervalles temporels calculées pour les liens de communication destinés à la transmission de données depuis le nœud considéré vers un nœud voisin.
  7. 7,- Procédé selon la revendication 6, caractérisé en ce que le procédé comprend également les étapes suivantes :
    - la détermination d’une taille (TT) de trame élémentaire circulant sur le réseau, chaque message étant propre à être fragmenté au niveau de chaque nœud émetteur en trames élémentaires, et
    - la détermination d’une période (Pi) d’injection des trames élémentaires sur le réseau par chaque nœud émetteur.
  8. 8.- Procédé selon la revendication 7, caractérisé en ce que l'étape de détermination de la période (P|) d’injection des trames élémentaires est réalisée pour chaque nœud émetteur (Ni) et comprend pour chaque nœud émetteur (Ni) les sousétapes suivantes :
    la détermination du débit maximal nécessaire à l’émission des messages destinés à être émis par ledit nœud émetteur, en fonction de la taille et de la période d’émission des messages,
    - le calcul de la période d’injection (P|) en fonction de la taille (TT) de trame élémentaire et du débit maximal nécessaire.
  9. 9. - Procédé selon l’une quelconque des revendications 6 à 8, caractérisé en ce que, lors l’étape de détermination (106) pour chaque message (Mi r) d’un ensemble de liens de communication et de nœuds, un sous-ensemble primaire de liens de communication et de nœuds est déterminé en fonction des données d’architecture fournies et au moins un sous-ensemble secondaire est déterminé en fonction des données d’architecture dans lesquelles un ou plusieurs liens de communication et/ou nœuds appartenant au sous-ensemble primaire sont supprimés, chaque sous ensemble correspondant à un arbre de communication, et en ce que l’ensemble de liens de communication et de nœuds comprend la réunion arithmétique des sous-ensembles primaire et secondaires.
  10. 10. - Produit programme d'ordinateur comportant des instructions logicielles qui, lorsque mises en œuvre par un équipement informatique, mettent en œuvre le procédé selon l’une quelconque des revendications 6 à 9.
    2/6
    3/6
FR1700038A 2017-01-16 2017-01-16 Reseau maille de communication, procede de configuration et produit programme d'ordinateur associes Active FR3062007B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR1700038A FR3062007B1 (fr) 2017-01-16 2017-01-16 Reseau maille de communication, procede de configuration et produit programme d'ordinateur associes
GB1800349.1A GB2560099B (en) 2017-01-16 2018-01-09 Mesh communication network and associated configuration process and computer program product
DE102018100602.0A DE102018100602A1 (de) 2017-01-16 2018-01-12 Kommunikations-Maschennetz, zugeordnetes Konfigurationsverfahren und Rechnerprogrammprodukt

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1700038A FR3062007B1 (fr) 2017-01-16 2017-01-16 Reseau maille de communication, procede de configuration et produit programme d'ordinateur associes
FR1700038 2017-01-16

Publications (2)

Publication Number Publication Date
FR3062007A1 true FR3062007A1 (fr) 2018-07-20
FR3062007B1 FR3062007B1 (fr) 2019-05-24

Family

ID=58609558

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1700038A Active FR3062007B1 (fr) 2017-01-16 2017-01-16 Reseau maille de communication, procede de configuration et produit programme d'ordinateur associes

Country Status (3)

Country Link
DE (1) DE102018100602A1 (fr)
FR (1) FR3062007B1 (fr)
GB (1) GB2560099B (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0404337A2 (fr) * 1989-06-22 1990-12-27 Digital Equipment Corporation Réseau maillé local à grande vitesse
US20060039370A1 (en) * 2004-08-23 2006-02-23 Warren Rosen Low latency switch architecture for high-performance packet-switched networks
EP2800319A1 (fr) * 2013-05-02 2014-11-05 Thales Noeud, réseau maillé de communication et procédé de reconfiguration du routage

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0696147A1 (fr) * 1994-08-03 1996-02-07 Siemens Aktiengesellschaft Procédé et système d'acheminement pour la gestion de trafic dynamique dans un réseau de communication
US9277480B2 (en) * 2013-03-15 2016-03-01 Facebook, Inc. Cloud controller for next generation data network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0404337A2 (fr) * 1989-06-22 1990-12-27 Digital Equipment Corporation Réseau maillé local à grande vitesse
US20060039370A1 (en) * 2004-08-23 2006-02-23 Warren Rosen Low latency switch architecture for high-performance packet-switched networks
EP2800319A1 (fr) * 2013-05-02 2014-11-05 Thales Noeud, réseau maillé de communication et procédé de reconfiguration du routage

Also Published As

Publication number Publication date
GB2560099B (en) 2022-03-02
DE102018100602A1 (de) 2018-07-19
FR3062007B1 (fr) 2019-05-24
GB2560099A (en) 2018-08-29
GB201800349D0 (en) 2018-02-21

Similar Documents

Publication Publication Date Title
EP2282456B1 (fr) Réseau de communication sur puce avec garantie de service
FR2820921A1 (fr) Dispositif et procede de transmission dans un commutateur
EP1641197B1 (fr) Architecture de communication NoC (réseau sur puce ) pour applications de type flots de données
EP3389224B1 (fr) Procede de generation et de controle de trafic de test, port d&#39;entree ou de sortie de commutateur et commutateur associes
FR2883117A1 (fr) Architecture de noeud de communication dans un systeme de reseau sur puce globalement asynchrone.
FR2883116A1 (fr) Architecture de communication globalement asynchrone pour systeme sur puce.
FR2893471A1 (fr) Systeme et procede de routage statique de flux de paquets de donnees dans un reseau d&#39;interconnexion
FR2804812A1 (fr) Procede et dispositif de communication entre un premier et un deuxieme reseau
EP2800319B1 (fr) Noeud, réseau maillé de communication et procédé de reconfiguration du routage
EP0715437A1 (fr) Procédé d&#39;acheminement de cellules dans un réseau ATM
FR2824434A1 (fr) Procede de diffusion d&#39;un paquet de donnees au sein d&#39;un reseau commute, base sur un calcul optimise de l&#39;arbre de recouvrement
FR2939992A1 (fr) Procede d&#39;equilibrage de la latence dans un arbre de communication, dispositif, produit programme d&#39;ordinateur et moyen de stockage correspondants
EP3329702B1 (fr) Procede de decouverte d&#39;un noeud d&#39;un reseau ad hoc
FR3062007A1 (fr) Reseau maille de communication, procede de configuration et produit programme d&#39;ordinateur associes
US20160173472A1 (en) Method for exchanging numerical data frames and associated communication system
KR20180028291A (ko) 이더넷 프레임 기반의 트래픽 제어 방법
EP1845456B1 (fr) Système d&#39;interconnexions de blocs fonctionnels externes sur puce muni d&#39;un unique protocole parametrable de communication
US8543672B2 (en) Method for reconfiguring a ring network, a network node, and a computer program product
WO2020109733A2 (fr) Gestion des données pour le stockage de trames de données dans la mémoire d&#39;un système de transmission de données
FR3039345A1 (fr) Systeme de routage permettant le filtrage de donnees pour l&#39;integration et le test d&#39;equipements operationnels
EP2835954A2 (fr) Procédé de traitement, dans un réseau ad hoc de radiocommunication, stations de radiocommunication et programmes d&#39;ordinateur correspondants
FR3115957A1 (fr) Procédé d&#39;échange de données dans une plateforme de communication, produit programme d&#39;ordinateur et plateforme de communication associés
FR2820917A1 (fr) Procede et appareil de commutation permettant un routage de paquets non-bloquant &#34;au niveau chemin&#34;, suite a des evenements de connexion/deconnexion de liens
FR3087979A1 (fr) Systeme de transmission de donnees
FR2893205A1 (fr) Methode de gestion d&#39;un reseau a anneaux redondes

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20180720

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8