Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DYNAMIC CONFIGURATION OF THE SCHEDULING OF TRANSMISSION OF STREAMS IN DETERMINISTIC NETWORKS
Document Type and Number:
WIPO Patent Application WO/2023/088702
Kind Code:
A1
Abstract:
The present invention proposes a method for the fast and dynamic configuration of the scheduling of transmission of streams in deterministic networks. This method makes it possible, when a new stream occurs within the network, to decide on a new schedule for transmission of the streams, and makes it possible to deploy said new schedule in the network so as to take up this new stream without compromising the QoS of the other streams already present in the network.

Inventors:
BEN HADJ SAID SIWAR (FR)
BOC MICHAEL (FR)
Application Number:
PCT/EP2022/080909
Publication Date:
May 25, 2023
Filing Date:
November 07, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
COMMISSARIAT ENERGIE ATOMIQUE (FR)
International Classes:
H04L45/00
Other References:
AHMED NASRALLAH ET AL: "Reconfiguration Algorithms for High Precision Communications in Time Sensitive Networks: Time-Aware Shaper Configuration with IEEE 802.1Qcc (Extended Version)", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 27 June 2019 (2019-06-27), XP081384950
POP PAUL ET AL: "Enabling Fog Computing for Industrial Automation Through Time-Sensitive Networking (TSN)", IEEE COMMUNICATIONS STANDARDS MAGAZINE, IEEE, vol. 2, no. 2, 1 June 2018 (2018-06-01), pages 55 - 61, XP011687316, ISSN: 2471-2825, [retrieved on 20180717], DOI: 10.1109/MCOMSTD.2018.1700057
QUAN WEI ET AL: "On-line Traffic Scheduling optimization in IEEE 802.1Qch based Time-Sensitive Networks", 2020 IEEE 22ND INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS; IEEE 18TH INTERNATIONAL CONFERENCE ON SMART CITY; IEEE 6TH INTERNATIONAL CONFERENCE ON DATA SCIENCE AND SYSTEMS (HPCC/SMARTCITY/DSS), IEEE, 14 December 2020 (2020-12-14), pages 369 - 376, XP033906664, DOI: 10.1109/HPCC-SMARTCITY-DSS50907.2020.00045
N. G. NAYAKF. DURRK. ROTHERMEL: "Incremental flow scheduling and routing in Time-Sensitive Software-defined networks", IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS, vol. 14, no. 5, May 2018 (2018-05-01), XP011683100, DOI: 10.1109/TII.2017.2782235
P. POPM. L. RAAGAARDM. GUTIERREZW. STEINER: "Enabling Fog Computing for Industrial Automation Through Time-Sensitive Networking (TSN", IEEE COMMUNICATIONS STANDARDS MAGAZINE, June 2018 (2018-06-01)
M. L. RAAGAARDP. POPM. GUTIERREZW. STEINER: "Runtime Reconfiguration of Time-Sensitive Networking (TSN) Schedules for Fog Computing", IEEE FOG WORLD CONGRESS (FWC, 2017
Attorney, Agent or Firm:
ATOUT PI LAPLACE (FR)
Download PDF:
Claims:
26

Revendications Procédé de reconfiguration dynamique d’une planification de transmission de flux de données dans un réseau déterministe sensible au temps, les flux de données étant émis par des terminaux émetteurs vers des terminaux récepteurs via des commutateurs regroupant des commutateurs d’accès SWj couplés aux terminaux émetteur et récepteur et des commutateurs cœur de réseau pour acheminer les flux entre les commutateurs d’accès, les commutateurs étant configurés pour appliquer des cycles de transmission de flux selon une planification de transmission de flux définie par un ordonnanceur temporel, le procédé étant mis en œuvre par ordinateur et comprenant des étapes consistant à :

- recevoir au moins une requête d’ajout d’un nouveau flux STi dans le réseau, le nouveau flux devant être émis d’un terminal émetteur vers un commutateur d’accès SWj ;

- déterminer si une planification de transmission de flux est en cours pour ledit commutateur d’accès SWj en :

- identifiant un port de sortie Pk dudit commutateur d’accès SWj pour émettre le nouveau flux dans le réseau ;

- récupérant la configuration courante de la planification de transmission pour ledit port de sortie Pk ; et

- déterminant si une planification de transmission de flux est en cours sur ledit port de sortie Pk ; si une planification de transmission de flux est en cours, déterminer s’il existe suffisamment de créneaux de temps disponibles pour transmettre le nouveau flux par le commutateur d’accès SWj selon la planification courante ; ou

- s’il n’y a pas de planification de transmission de flux en cours : calculer une nouvelle planification de transmission de flux telle que : la durée du cycle de transmission est la même pour tous les commutateurs du réseau ; chaque cycle de transmission comporte le même nombre de créneaux de temps pour transmettre les flux ; les créneaux de temps d’un cycle donné sont repartis entre tous les commutateurs d’accès du réseau ; et déterminer pour le commutateur d’accès SWj s’il existe suffisamment de créneaux de temps disponibles, parmi le nombre de créneaux de temps qui lui sont alloués, pour transmettre le nouveau flux, selon la nouvelle planification ; et

- allouer audit nouveau flux, les créneaux de temps nécessaires à sa transmission, s’il existe suffisamment de créneaux de temps disponibles pour transmettre ce nouveau flux par le commutateur d’accès SWj selon la planification courante ou selon la nouvelle planification. Le procédé selon la revendication 1 dans lequel l’étape de calculer une nouvelle planification de transmission de flux comprend des étapes consistant à :

- déterminer le nombre de commutateurs d’accès dans le réseau ;

- récupérer une valeur prédéfinie ou calculer une valeur pour une durée de référence fixe pour un cycle de transmission ;

- diviser la durée de référence fixe en une pluralité de créneaux de temps de durée égale, la durée d’un créneau de temps étant égale au temps nécessaire pour envoyer la plus petite trame d’un flux parmi les flux existants ; et

- attribuer sur la durée de référence fixe, à chaque commutateur d’accès un nombre de créneaux de temps parmi la pluralité des créneaux de temps, le nombre de créneaux de temps alloués à chaque commutateur d’accès dépendant du nombre de flux existants passant par chaque commutateur d’accès. Le procédé selon la revendication 2 dans lequel la valeur prédéfinie ou calculée de la durée de référence fixe correspond, soit à la plus petite valeur de période parmi les périodes de flux critiques reçus au démarrage du système, soit au plus grand diviseur commun de toutes les périodes des flux critiques parmi les flux existants. Le procédé selon l’une quelconque des revendications 1 à 3 comprenant avant l’étape d’allocation de créneaux de temps pour un nouveau flux, une étape consistant à réserver un ou plusieurs créneaux de temps de contrôle pour le trafic de contrôle réseau. Le procédé selon l’une quelconque des revendications 1 à 4 comprenant après l’étape de déterminer s’il existe suffisamment de créneaux de temps disponibles pour transmettre le nouveau flux par le commutateur d’accès SWj selon la planification courante ou selon la nouvelle planification, une étape d’ajouter le nouveau flux à une liste de flux sans attribution de créneaux de temps, s’il n’existe pas de créneaux de temps disponibles suffisants pour transmettre le nouveau flux. Le procédé selon la revendication 5 comprenant de plus des étapes permettant de traiter la liste des flux sans attribution de créneaux de temps, lesdites étapes consistant à rechercher pour un flux sans attribution, s’il existe des créneaux de temps non utilisés par les autres commutateurs d’accès que celui recevant ledit flux sans attribution, et si oui, des étapes consistant à allouer au moins un desdits créneaux de temps non utilisés audit flux sans attribution selon la priorité dudit flux sans attribution. Le procédé selon la revendication 6 comprenant de plus, s’il n’existe pas de créneaux de temps non utilisés par les autres commutateurs d’accès que celui recevant ledit flux sans attribution, des étapes consistant à déterminer si ledit flux a une priorité supérieure à un flux existant, et si oui des étapes consistant à libérer les créneaux de temps d’un flux existant de priorité inférieure pour l’attribuer audit flux sans attribution. Un produit programme d’ordinateur, ledit programme d’ordinateur comprenant des instructions de code permettant d’effectuer les étapes du procédé selon l'une quelconque des revendications 1 à 7, lorsque ledit programme est exécuté sur un ordinateur. 29 Un dispositif de reconfiguration dynamique d’une planification de transmission de flux de données dans un réseau déterministe sensible au temps, les flux de données étant émis par des terminaux émetteurs vers des terminaux récepteurs via des commutateurs regroupant des commutateurs d’accès SWj couplés aux terminaux émetteurs et récepteurs, et des commutateurs cœur de réseau pour acheminer les flux entre les commutateurs d’accès, les commutateurs étant configurés pour appliquer des cycles de transmission de flux selon une planification de transmission de flux définie par un ordonnanceur temporel, le dispositif comprenant des moyens pour mettre en œuvre les étapes du procédé selon l’une quelconque des revendications 1 à 7. Utilisation du dispositif selon la revendication 9 dans un réseau sensible au temps implémentant une architecture réseau centralisée, notamment une architecture selon le modèle dit « Software Defined Network ». Utilisation du dispositif selon la revendication 9 dans un réseau sensible au temps implémentant une architecture réseau distribuée. Utilisation du dispositif selon l’une quelconque des revendications 9 à 11 dans un réseau déterministe sensible au temps TSN implémentant les spécifications de la norme IEEE 802.1 .

Description:
DESCRIPTION

Titre de l’invention :

CONFIGURATION DYNAMIQUE DE LA PLANIFICATION DE TRANSMISSION DES FLUX DANS LES RÉSEAUX DÉTERMINISTES

[0001 ] Domaine de l’invention

[0002] La présente invention est dans le domaine des réseaux de télécommunication, et concerne plus particulièrement un procédé de reconfiguration dynamique de la planification de transmission des flux multi-QoS dans les réseaux déterministes ou réseaux sensibles au temps (TSN) « Time Sensitive Networking ».

[0003] Etat de la Technique

[0004] TSN est un ensemble de normes, définies par le groupe de travail IEEE 802.1 , qui étendent le réseau Ethernet afin de répondre aux exigences strictes des communications en temps réel.

[0005] Ce type de réseaux est destiné à être utilisé principalement dans des réseaux industriels, les réseaux intra-véhiculaires, les réseaux de cœur 5G/6G.

[0006] La transmission de données des applications critiques en temps réel (par exemple les régulations rapides, l'acquisition de signaux dans les réseaux électriques ou le contrôle des mouvements) et des applications à forte intensité de données (par exemple les flux vidéo ou les systèmes informatiques) est aujourd'hui mise en œuvre dans des réseaux séparés afin d'éviter les interférences mutuelles. La flexibilisation et la numérisation croissantes des processus de travail ont toutefois nécessité une fusion croissante de l'informatique et de l'exploitation industrielle, et par conséquent une fusion des systèmes auparavant séparés. En étendant et en adaptant les standards Ethernet existants, le TSN crée une convergence entre la technologie de l'information (IT) et la technologie de l'exploitation industrielle (OT) dans les réseaux industriels. Cela signifie que les données critiques en temps réel et les applications à forte intensité de données peuvent être mises en œuvre sur un câble Ethernet commun sans interférer les unes avec les autres.

[0007] Les spécifications TSN (IEEE 802.1 ) fournissent des services déterministes, permettant la transmission en temps réel de données dans un cadre prévisible à l’intérieur d’un espace de temps connu, dans les environnements industriels, telles que les applications de contrôle des machines dans les processus de production, du capteur au nuage (« cloud » selon l’anglicisme consacré). TSN offre une latence et une qualité de service garanties avec la synchronisation temporelle.

[0008] Les différents documents de la norme TSN offrent une solution de communication en temps réel complète lorsqu'ils sont utilisés ensemble de manière concertée. Mais chaque spécification standard est autonome et elle peut être utilisée seule. On peut regrouper les spécifications en trois catégories :

La synchronisation temporelle correspondant à la norme IEEE 802.1 AS, où tous les périphériques qui participent à la communication en temps réel doivent avoir une compréhension commune du temps.

La planification correspondant à la norme IEEE 802.1 Qbv et la mise en forme du trafic où tous les périphériques participant à la communication en temps réel respectent les mêmes règles dans le traitement et la transmission des paquets de communication.

La sélection des chemins de communication, des réservations de chemins et de la tolérance de panne où tous les périphériques participant à la communication en temps réel respectent les mêmes règles dans la sélection des chemins de communication et dans la réservation de la bande passante et des horaires, en utilisant éventuellement plusieurs chemins simultanés pour obtenir une tolérance de panne.

[0009] La norme IEEE 802.1 Qbv qui est l’un des standards phares de TSN, et désignée par Qbv dans la suite de la description, propose un mécanisme pour assurer des latences bornées. Il permet aux commutateurs d’un réseau TSN de contrôler le trafic dans des files d’attente de ports de sortie des commutateurs, selon une planification de transmission prédéfinie (l'ordonnanceur temporel IEEE

802.1 Qbv), et ainsi de garantir la qualité du trafic prioritaire. L'ordonnanceur temporel IEEE 802.1 Qbv est conçu pour séparer la communication sur le réseau Ethernet en cycles de temps répétés de longueur fixe. Au sein de ces cycles, différentes tranches de temps peuvent être configurées et être affectées à une ou plusieurs des huit priorités Ethernet.

[0010] La figure 1 illustre de manière schématique la structure d’un commutateur permettant d’appliquer le principe de planification Qbv dans un réseau TSN composé d’une pluralité d’équipements sources/destinataires connectés à des commutateurs via des liens Ethernet.

[0011] Les commutateurs (« Switch » en anglais) servent d’intermédiaires entre des terminaux émetteurs ou Parleur(s) (« Talker(s) » en anglais) de flux de données et des terminaux récepteurs ou Auditeur(s) (« Listener(s) » en anglais), en gérant le multiplexage des données, i.e. leur réception, leur traitement et leur retransmission.

[0012] Pour des raisons de simplification de la description, la figure 1 montre un commutateur TSN 100 avec uniquement deux ports d’entrée (« ingress port » en anglais) et un seul port de sortie (« egress port » en anglais), à titre d’exemple non limitatif sur le nombre de port d’entrée et de sortie. Un premier flux de données, composé de fragments ‘A’ de données, est reçu par un premier port d’entrée 102, et un deuxième flux de données, composé de fragments de données ‘B’, est reçu par un deuxième port d’entrée 104.

[0013] La sortie de chacun des ports d’entrée est couplée à un module de distribution des flux 108 qui affecte les données de chaque flux à une file d’attente appropriée, au nombre de huit en général (Q0 oui 10-0 à Q7 oui 10-7), selon la priorité de chaque flux.

[0014] Selon la définition des trames Ethernet dans IEEE 802.1 Q, un filtre prioritaire (« priority filter » en anglais) détermine quel flux spécifique est transmis aux files d'attente prioritaires correspondantes en fonction d’un point de code prioritaire (PCP). Un trafic programmé (qui a la priorité la plus élevée par défaut) entre dans une file d'attente prioritaire, et un trafic non programmé entre dans une file d’attente non prioritaire.

[0015] La sortie des files d’attente est associée à une structure 112 de portes logiques, chaque porte logique ayant deux états "ouvert" ou "fermé". L’état courant de chaque porte est fonction du contenu d’une liste de contrôle GCL (« Gate Control List » en anglais) 114. Quand une porte est à un temps donné dans un état ouvert les trames qui se trouvent dans la file d’attente associée à cette porte peuvent passer, et être transmises vers le port de sortie 106 via le commutateur analogique 112. Ceci est par exemple illustré pour la file d’attente Q7 avec un bit mis à ‘1 ’ dans la CGL au temps tO, qui permet alors de transmettre les données B vers le port de sortie 106. Quand une porte est dans un état fermé (correspondant alors à un bit mis à 0 dans la liste), les trames qui se trouvent dans la file d’attente associée à cette porte ne peuvent pas être transmises dans le réseau.

[0016] Bien que le mécanisme Qbv en lui-même soit plutôt simple, il existe une complexité inhérente à la génération des GCL, la problématique étant de trouver les bons moments pour ouvrir et fermer les portes.

[0017] De plus, dès que l’on considère la configuration du mécanisme Qbv sur tous les commutateurs TSN se trouvant dans un réseau, la complexité d’établir une GCL adéquate pour chaque commutateur augmente considérablement. Il a été étudié que la synthèse des plannings de communication dans des scénarios réels s'avère souvent être un problème NP-complet. Or, il n'existe pas à ce jour d'algorithme qui génère un planning de communication en temps polynomial.

[0018] Etant donné que la norme Qbv est importante dans les futurs systèmes de communication industriels, en particulier dans les usines intelligentes dotées de systèmes de fabrication autonomes, il existe le besoin d’un algorithme qui permette d’établir une configuration Qbv rapidement et de déployer cette configuration sans perturber les flux qui circulent déjà dans le réseau.

[0019] Dans ces systèmes, les appareils tels que les robots, les actionneurs et les capteurs doivent communiquer entre eux rapidement car ils doivent réagir très vite en fonction du système de commande et de contrôle, ou en fonction de certains événements inattendus. De cette façon, ces systèmes peuvent garantir la précision d’un processus de fabrication et minimiser tout défaut.

[0020] Aussi, pour pouvoir répondre à des scénarios envisagés dans l’industrie 4.0 où les lignes de production sont plutôt reconfigurables (ce qui implique une dynamique dans le réseau industriel), ou même répondre au scénario d’intégrer TSN dans le cœur 5G/6G où les flux ne sont pas connus d’avance, il existe le besoin d’un algorithme d’ordonnancement des flux qui opère en ligne, i.e. qui soit dynamique, pour l’installation incrémental des flux d’applications dans le réseau TSN.

[0021] De plus, afin qu’il puisse être utilisé en ligne, un tel algorithme doit avoir un temps d’exécution très court, dans un ordre de grandeur inférieur à quelques secondes.

[0022] Il existe quelques approches qui abordent en partie ces problématiques. [0023] Le standard IEEE 802.1 Qcc fournit deux approches principales (celle centralisée et celle distribuée) pour configurer les mécanismes TSN [IEEE802.1 Qcc]. Dans ce standard, il est souligné que l’approche centralisée est la plus favorisée pour assurer la configuration de IEEE 802.1 Qbv. Cependant, ce standard ne fournit pas les algorithmes qui permettent de décider et de générer la GCL à déployer dans le réseau.

[0024] Dans la littérature, l’approche principale repose généralement sur des outils d’ingénierie : outils de simulation comme « RTaW-Pegase » ou bien des outils d’optimisation mathématiques comme les formulations ILP (« Integer Linear Programming >>) ou les solveurs SMT (« Satisfiability modulo Theories >>).

[0025] Or, ces outils d’ingénierie ne sont pas adaptés pour une configuration incrémentale et dynamique comme celle de l’IEEE 802.1 Qbv. En effet, pour que ces outils puissent fournir la bonne configuration Qbv à déployer, il serait nécessaire d’avoir une pré-connaissance de tous les flux qui pourraient circuler dans le réseau TSN. Même en recourant à ces outils pour générer la nouvelle configuration IEEE802.1 Qbv pour chaque nouveau flux, des latences seraient ajoutées dans la configuration du fait de devoir récupérer la liste des flux qui y existent dans le réseau, la topologie, les caractéristiques du nouveau flux, et de devoir fournir ces informations à l’outil afin de chercher la configuration Qbv à déployer. Ceci pourrait durer quelques heures avant de pouvoir accepter/rejeter le nouveau flux et déployer la configuration décidée. Pour ces raisons, ces outils d’ingénierie sont plutôt adaptés pour déterminer une configuration pour un réseau fermé où les flux sont connus d’avance et où il n’y a pas de nouveaux flux pendant l’opération du réseau. Ils sont destinés à une utilisation hors-ligne avant de déployer le réseau.

[0026] De nombreuses publications proposent des solutions pour le calcul de la configuration IEEE 802.1 Qbv hors ligne.

[0027] Quelques travaux s’intéressent à la problématique de configuration en ligne du mécanisme IEEE 802.1 Qbv.

[0028] Dans l’article de N. G. Nayak, F. Durr, K. Rothermel, “Incremental flow scheduling and routing in Time-Sensitive Software-defined networks », IEEE transactions on industrial informatics, vol. 14, No. 5, May 2018, il est présenté un algorithme d’ordonnancement incrémental des flux critiques périodiques. L’algorithme repose sur différentes formulations d’ILP pour retrouver la solution optimale à chaque fois. Cependant, ce papier ne considère l’ordonnancement des flux qu’au niveau des terminaux utilisant le réseau TSN, reposant sur des « switches Openflow », sans support de 802.1 Qbv. Ainsi le mécanisme Qbv n’est appliqué qu’à l’entrée du réseau, laissant deux questions non résolues : « comment l’ordonnancement des flux venant de différents commutateurs TSN d’accès est géré ? », et « comment les commutateurs au cœur réseau gèrent l’interférence qui pourrait y avoir entre des flux de même priorité venant de deux commutateurs différents et empruntant la même file d’attente de sortie ? ».

[0029] Dans les articles - P. Pop, M. L. Raagaard, M. Gutierrez, W. Steiner “Enabling Fog Computing for Industrial Automation Through Time-Sensitive Networking (TSN)”, IEEE Communications Standards Magazine, June 2018 ; et - M. L. Raagaard, P. Pop, M. Gutierrez, W. Steiner, “Runtime Reconfiguration of Time-Sensitive Networking (TSN) Schedules for Fog Computing”, IEEE Fog World Congress (FWC), 2017 - les auteurs proposent une heuristique pour la reconfiguration de IEEE 802.1 Qbv « at runtime ». Cette heuristique a pour objectif de placer des plages de temps ou créneaux de temps (« time slots » en anglais) pour le trafic TSN en analysant le cycle en cours. Pour calculer la durée de cycle Qbv, l’heuristique adopte la méthode dite hyper-période, c’est-à-dire où la durée de cycle correspond au plus petit commun multiple (ppcm) de toutes les périodes des flux TSN. Pour ceci, il est nécessaire d’avoir une connaissance préalable des flux TSN qui pourront être présents dans le réseau. Un inconvénient est que la méthode hyper-période complexifie l’allocation des ressources, et la durée d’exécution de l’heuristique augmente en fonction de la durée de cycle adoptée. En effet, le nombre de créneaux de temps à réserver dépend de la période du flux et de la durée de cycle. Par exemple, si le cycle dure 1 ms et le flux a une période de 200ps, il y a 5 créneaux de temps à placer pour ce flux. Plus le rapport durée_cycle / période_de_flux est grand, plus la recherche de créneaux de temps disponibles dans le cycle en cours est complexe. De plus, il n’est pas explicité dans cet article la manière dont l’heuristique gère la réservation de créneaux de temps tout au long du chemin de routage de chaque flux.

[0030] Aussi, il n’existe pas de solution connue pour calculer et configurer la planification des transmissions de flux dans des commutateurs TSN, d’une manière dynamique, au fur et à mesure de l’arrivée des flux, sans qu’il soit nécessaire de connaître au préalable tous les flux qui pourront circuler dans le réseau TSN.

[0031 ] La présente invention répond à ces différents besoins.

[0032] Résumé de l’invention

[0033] Un objet de la présente invention est un procédé et un dispositif pour sa mise en oeuvre, permettant de calculer de manière rapide et dynamique une configuration pour la planification de transmission des flux dans les réseaux déterministes.

[0034] La présente invention adresse notamment la configuration IEEE 802.1 Qbv, en ligne, au fur et à mesure de l’arrivée de nouveaux flux, dans un réseau de commutateurs TSN supportant le mécanisme IEEE 802.1 Qbv.

[0035] Le procédé de l’invention permet lors de l’apparition d’un ou de plusieurs nouveau flux au sein d’un réseau déterministe, de déterminer rapidement en ligne une nouvelle planification de transmission des flux, et permet de déployer la nouvelle planification dans le réseau de manière à prendre en charge ce ou ces nouveau flux sans compromettre la qualité de service (QoS) des autres flux déjà présents dans le réseau.

[0036] L’invention propose une répartition efficace des ressources temporelles (i.e. des créneaux de temps ou «time slots») entre les commutateurs TSN d’accès (i.e. les commutateurs directement connectés aux terminaux émetteurs et récepteurs de flux de données) afin d’assurer l’isolation temporelle des flux et ainsi fournir une solution aux interférences qu’il pourrait y avoir entre des flux de même priorité arrivant au même commutateur et empruntant la même file d’attente pour un même port de sortie.

[0037] Avantageusement, la répartition des ressources temporelles est dynamique et peut s’adapter selon le nombre de flux desservis par chaque commutateur TSN.

[0038] Dans un mode de réalisation, des créneaux de temps sont réservés aux trames de contrôle réseau (par exemple, les trames de synchronisation temporelle IEEE 802.1 AS, les trames de découverte de topologie LLDP, ...) et le reste des plages de temps disponibles sur un cycle de base est réparti selon le procédé de l’invention entre les commutateurs TSN d’accès. [0039] Avantageusement, l’allocation de créneaux de temps est basé sur un algorithme moins complexe que ceux présentés dans l’art antérieur, et il permet d’accepter/ou de rejeter un flux rapidement.

[0040] A la différence des méthodes de planification connues, la solution proposée pour calculer une nouvelle planification, adopte un cycle d’une durée fixe qui est réduite à une période de référence, et dans lequel la période d’un flux périodique peut être un multiple du cycle. Avantageusement, ceci permet de réduire efficacement le nombre d'intervalles de temps dans la GCL, permet de faciliter la mise à jour de la GCL et de rendre la configuration de la GCL plus simple et plus efficace.

[0041] Toujours avantageusement par rapport à la méthode hyper-période traditionnelle, la méthode proposée permet de calculer un ordonnancement des flux plus rapidement tout en garantissant une faible latence et en réduisant efficacement le temps d'exécution.

[0042] La présente invention peut être mise en oeuvre dans les réseaux industriels (domaines de l’usine du future, industrie 4.0 / usines fortement reconfigurables), les réseaux intra-véhiculaires (domaines de véhicules de tout type : automobile, camions, bus, train, bateau...), ou encore dans le cœur du réseau 5G/6G (pour véhiculer des communications temps réels).

[0043] Pour obtenir les résultats recherchés, il est proposé un procédé de reconfiguration dynamique d’une planification de transmission de flux de données dans un réseau déterministe sensible au temps. Les flux de données sont émis par des terminaux émetteurs vers des terminaux récepteurs via des commutateurs regroupant des commutateurs d’accès SWj couplés aux terminaux émetteur et récepteur et des commutateurs cœur de réseau pour acheminer les flux entre les commutateurs d’accès, les commutateurs étant configurés pour appliquer des cycles de transmission de flux selon une planification de transmission de flux définie par un ordonnanceur temporel, le procédé est mis en œuvre par ordinateur et comprenant des étapes consistant à : recevoir au moins une requête d’ajout d’un nouveau flux STi dans le réseau, le nouveau flux devant être émis d’un terminal émetteur vers un commutateur d’accès SWj ; - déterminer si une planification de transmission de flux est en cours pour ledit commutateur d’accès SWj ;

- si une planification de transmission de flux est en cours, déterminer s’il existe suffisamment de créneaux de temps disponibles pour transmettre le nouveau flux par le commutateur d’accès SWj selon la planification courante ; ou

- s’il n’y a pas de planification de transmission de flux en cours : calculer une nouvelle planification de transmission de flux telle que : la durée du cycle de transmission est la même pour tous les commutateurs du réseau ; chaque cycle de transmission comporte le même nombre de créneaux de temps pour transmettre les flux ; les créneaux de temps d’un cycle donné sont repartis entre tous les commutateurs d’accès du réseau ; et déterminer pour le commutateur d’accès SWj s’il existe suffisamment de créneaux de temps disponibles, parmi le nombre de créneaux de temps qui lui sont alloués, pour transmettre le nouveau flux, selon la nouvelle planification ; et

- allouer audit nouveau flux, les créneaux de temps nécessaires à sa transmission, s’il existe suffisamment de créneaux de temps disponibles pour transmettre ce nouveau flux par le commutateur d’accès SWj selon la planification courante ou selon la nouvelle planification.

[0044] L’expression « les créneaux de temps nécessaires à sa transmission » signifie un ou plusieurs créneaux de temps sur un cycle.

[0045] L’invention peut être mise en oeuvre selon des modes de réalisation alternatifs ou combinés, où :

- L’étape de déterminer si une planification de transmission de flux est en cours pour ledit commutateur d’accès SWj comprend des étapes consistant à : identifier un port de sortie Pk dudit commutateur d’accès SWj pour émettre le nouveau flux dans le réseau ; récupérer la configuration courante de la planification de transmission pour ledit port de sortie P k ; et déterminer si une planification de transmission de flux est en cours sur ledit port de sortie P k .

- L’étape de calculer une nouvelle planification de transmission de flux comprend des étapes consistant à : déterminer le nombre de commutateurs d’accès dans le réseau ; récupérer une valeur prédéfinie ou calculer une valeur pour une durée de référence fixe pour un cycle de transmission ; diviser la durée de référence fixe en une pluralité de créneaux de temps de durée égale, la durée d’un créneau de temps étant égale au temps nécessaire pour envoyer la plus petite trame d’un flux parmi les flux existants ; et attribuer sur la durée de référence fixe, à chaque commutateur d’accès un nombre de créneaux de temps parmi la pluralité des créneaux de temps, le nombre de créneaux de temps alloués à chaque commutateur d’accès dépendant du nombre de flux existants passant par chaque commutateur d’accès.

- La valeur prédéfinie ou calculée de la durée de référence fixe correspond, soit à la plus petite valeur de période parmi les périodes de flux critiques reçus au démarrage du système, soit au plus grand diviseur commun de toutes les périodes des flux critiques parmi les flux existants.

- Avant l’étape d’allocation de créneaux de temps pour un nouveau flux, le procédé comprend une étape consistant à réserver un ou plusieurs créneaux de temps de contrôle pour le trafic de contrôle réseau.

- Après l’étape de déterminer s’il existe suffisamment de créneaux de temps disponibles pour transmettre le nouveau flux par le commutateur d’accès SWj selon la planification courante ou selon la nouvelle planification, le procédé comprend une étape d’ajouter le nouveau flux à une liste de flux sans attribution de créneaux de temps, s’il n’existe pas de créneaux de temps disponibles suffisants pour transmettre le nouveau flux.

- Le procédé comprend de plus des étapes permettant de traiter la liste des flux sans attribution de créneaux de temps, lesdites étapes consistant à rechercher pour un flux sans attribution, s’il existe des créneaux de temps non utilisés par les autres commutateurs d’accès que celui recevant ledit flux sans attribution, et si oui, des étapes consistant à allouer au moins un desdits créneaux de temps non utilisés audit flux sans attribution selon la priorité dudit flux sans attribution.

- Le procédé comprend de plus, s’il n’ existe pas de créneaux de temps non utilisés par les autres commutateurs d’accès que celui recevant ledit flux sans attribution, des étapes consistant à déterminer si ledit flux a une priorité supérieure à un flux existant, et si oui des étapes consistant à libérer les créneaux de temps d’un flux existant de priorité inférieure pour l’attribuer audit flux sans attribution.

[0046] L’invention concerne aussi un dispositif de reconfiguration dynamique d’une planification de transmission de flux de données dans un réseau déterministe sensible au temps, les flux de données étant émis par des terminaux émetteurs vers des terminaux récepteurs via des commutateurs regroupant des commutateurs d’accès SWj couplés aux terminaux émetteurs et récepteurs, et des commutateurs cœur de réseau pour acheminer les flux entre les commutateurs d’accès, les commutateurs étant configurés pour appliquer des cycles de transmission de flux selon une planification de transmission de flux définie par un ordonnanceur temporel, le dispositif comprenant des moyens pour mettre en œuvre les étapes du procédé de l’invention.

[0047] Avantageusement, le procédé de la présente invention peut être mis en œuvre dans les deux infrastructures de gestion de réseau présentées dans le standard IEEE 802.1 Qcc, à savoir, l’infrastructure centralisée et l’infrastructure distribuée.

[0048] Dans un mode de réalisation pour l’approche centralisée, le procédé s’exécute au niveau du contrôleur central CNC (« Central Network Controller » en anglais).

[0049] Dans un mode de réalisation pour l’approche distribuée, chaque commutateur d’un réseau TSN détermine l’allocation de créneaux de temps et il publie cette allocation vers ses voisins.

[0050] L’invention concerne aussi un produit programme d’ordinateur qui comprend des instructions de code permettant d’effectuer les étapes du procédé de l’invention, lorsque le programme est exécuté sur un ordinateur.

[0051 ] Description des figures [0052] D’autres caractéristiques et avantages de l’invention apparaîtront à l’aide de la description qui suit et des figures des dessins annexés dans lesquels :

[0053] [Fig.1 ] est un exemple simplifié de la structure d’un commutateur TSN ;

[0054] [Fig.2] illustre la réservation de créneaux de temps de contrôle pour le trafic de contrôle réseau dans un cycle Qbv de base ;

[0055] [Fig.3] illustre une allocation de créneaux de temps pour différents flux TSN dans un cycle Qbv de durée fixe, selon un mode de réalisation de l’invention ;

[0056] [Fig.4a] illustre un exemple de répartition de créneaux de temps dans un réseau TSN constitué de trois commutateurs d’accès, selon un mode de réalisation de l’invention ;

[0057] [Fig .4b] illustre un exemple de changement de la répartition de créneaux de temps en fonction de la charge de chaque commutateur d’accès, selon un mode de réalisation de l’invention ;

[0058] [Fig.5] est un organigramme des étapes du procédé de reconfiguration de la planification de transmission de flux, selon un mode de réalisation de l’invention ;

[0059] [Fig.6] est un organigramme des étapes du procédé pour récupérer des créneaux de temps disponibles non utilisés par les autres commutateurs d’accès, selon un mode de réalisation de l’invention ;

[0060] [Fig.7] illustre un environnement de réseau TSN selon une approche centralisée IEEE 802.1 Qcc, permettant de mettre en oeuvre le procédé de l’invention ;

[0061 ] [Fig.8] est un organigramme pour illustrer dans un environnement réseau centralisé, différentes étapes du procédé de réservation de ressources réseaux pour de nouveaux flux, selon un mode de réalisation de l’invention ; et

[0062] [Fig.9] illustre un environnement de réseau TSN selon une approche distribuée IEEE 802.1 Qcc, permettant de mettre en oeuvre le procédé de l’invention.

[0063] Description détaillée de l’invention

[0064] Le principe général de l’invention pour proposer une architecture de configuration dynamique de la planification des transmissions des trames au niveau de commutateurs TSN, est basé sur une approche qui permet de décider d’allouer ou de libérer des créneaux de temps pour les flux, d’une manière rapide et dynamique.

[0065] Il est à noter que les expressions ‘plage de temps’, ‘créneau de temps’, ‘time slots’ sont utilisées indifféremment pour désigner une durée d’allocation de ressources temporelles.

[0066] La description détaillée est faite pour un environnement de réseau déterministe TSN selon la norme IEEE 802.1 et les standards associés. Dans la description, les différents termes utilisés avec un acronyme comme Qbv, Qcc, AS, etc, doivent être compris comme désignant ledit terme selon le standard correspondant pour la norme IEEE 802.1 . Ainsi par exemple, le cycle Qbv signifie le cycle tel que défini par le standard IEEE 802.1 Qbv.

[0067] Pour que la planification puisse assurer les latences bornées exigées dans le contexte des réseaux déterministes, tous les commutateurs TSN ainsi que les terminaux connectés à un réseau TSN sont considérés parfaitement synchronisés entre eux, notamment en suivant le standard IEEE 802.1 AS.

[0068] Dans la littérature précitée, la durée du cycle Qbv, nommée « hyper-period », est en principe déterminée à partir des périodes des flux critiques périodiques (le ppcm), ce qui complexifie énormément l’insertion des nouveaux flux dans un cycle qui tourne.

[0069] Dans la présente invention, la durée d’un cycle Qbv est prise comme une durée fixe, qui peut correspondre soit à la plus petite valeur de période parmi les périodes des flux critiques reçus au démarrage du système, soit au plus grand diviseur commun (pgcd) de toutes les périodes des flux critiques.

[0070] Pour allouer un time slot à un flux donné, le procédé de l’invention va chercher un time slot disponible sur tout le cycle Qbv et l’allouer, le réserver à ce flux. Cette approche permet ainsi de réduire la complexité de l’allocation de créneaux de temps.

[0071] Les flux n’ayant pas nécessairement la même période, le procédé peut traiter des flux dont la période coïncide avec la durée de cycle, et le time slot alloué à ce type de flux est alors contenu intégralement dans la durée du cycle Qbv. Le procédé permet aussi de traiter des flux dont la période est un multiple de la durée de cycle, et le time slot alloué à ce type de flux est alors réparti sur plusieurs cycles. Par exemple pour un flux dont la période est 2 fois la durée du cycle, un time slot réservé à ce type de flux sera utilisé un cycle sur 2.

[0072] La topologie des réseaux TSN pour la mise en oeuvre de l’invention, est considérée comme comportant deux catégories de commutateurs TSN : (i) des commutateurs d’accès correspondant à des commutateurs TSN qui sont directement connectés à des terminaux qui utilisent le réseau (fournir et/ou recevoir un flux) ; et (ii) des commutateurs cœur de réseau qui sont des commutateurs TSN qui ont pour rôle d’acheminer, de transférer, des flux entre des commutateurs d’accès et un dernier commutateur couplé à un terminal destinataire d’un flux. Le procédé de la présente invention opère pour les commutateurs d’accès uniquement afin de limiter la répartition des times slots sur ces commutateurs car ils sont la porte d’entrée des flux au réseau TSN. Le procédé n’opère pas d’allocation de time slot sur les commutateurs cœur de réseau car ils ne font que router les flux venant des commutateurs d’accès, en appliquant l’allocation de flux qui est déterminée au niveau des commutateurs d’accès.

[0073] La norme TSN impliquant qu’un ensemble de créneaux de temps dédiés pour le trafic de contrôle réseau échangé entre les commutateurs, soit réservé, le procédé de l’invention, avant de répartir les créneaux de temps entre les commutateurs d’accès pour les flux de données, réserve un ensemble de « créneaux de temps de contrôle » pour le trafic de contrôle réseau (par exemple, les messages de synchronisation temporelle IEEE 802.1 AS, les messages de découverte de topologie LLDP, ...). La figure 2 illustre la réservation de deux créneaux de temps de contrôle dans l’ensemble des créneaux de temps d’un cycle.

[0074] Le procédé d’allocation de créneaux de temps de l’invention va permettre de déterminer parmi les créneaux de temps non réservés pour le trafic de contrôle réseau, une répartition de créneaux de temps à attribuer à différents flux qui peuvent avoir des périodes différentes.

[0075] La figure 3 illustre l’allocation de times slot pour différents flux TSN dans un cycle Qbv de durée fixe selon l’invention. Dans cet exemple simplifié, le cycle est pris avec une durée fixe égale à 1 ms, un premier flux ‘f 1 ’ pris avec une période de 1 ms, un second flux ‘f2’ et un troisième flux ‘f3’ ayant chacun une période de 3 ms. Le flux f1 a alors besoin d’un time slot à chaque cycle, et les flux f2 et f3 ont besoin d’un time slot tous les trois cycles.

[0076] De manière à optimiser l’allocation et l’utilisation des ressources, dans un mode de réalisation, le procédé de l’invention permet d’associer au time slot un paramètre désigné par « phase » qui permet d’identifier les occurrences de créneaux de temps qui ne sont pas utilisées, et les répartir sur plusieurs flux. Ainsi, comme illustré sur la figure 3, le time slot ‘n’ n’étant pas utilisé (phase ‘2’), il peut alors être attribué au flux f2 en phase ‘0’, et attribué au flux f3 en phase ‘1 ’.

[0077] La réservation de créneaux de temps pour un flux donné va dépendre de la route que le flux empruntera, i.e. les différents commutateurs TSN traversés, et de la disponibilité des times slots dans chacun des commutateurs TSN visités. Aussi, plus la topologie du réseau grandit, plus la complexité d’un algorithme de réservation de créneaux de temps augmente. En effet, l’algorithme doit être en mesure de retrouver un time slot disponible sur chaque commutateur visité et en mesure aussi de respecter les contraintes des flux en termes de latence. De plus, si l’algorithme doit réassigner certains créneaux de temps (déjà affectés à d’autres flux existants) afin qu’un nouveau flux ait le time slot adéquat, un tel algorithme doit être en mesure de vérifier l’impact de cette réassignation sur les planifications des autres commutateurs.

[0078] Avantageusement, le procédé de la présente invention permet de respecter ces contraintes tout en réduisant la complexité de l’algorithme de réservation. Pour cela, comme déjà indiqué, la durée de cycle pour opérer l’algorithme est considérée comme étant fixe et la même pour tous les commutateurs TSN, et chaque cycle est divisé en un nombre identique de créneaux de temps, la durée d’un time slot étant prise comme égale au temps nécessaire pour envoyer la plus petite trame d’un flux, i.e. pour un flux Ethernet un time slot sera égal à la durée d’une trame de 64 Bytes. Aussi, pour un flux Ethernet avec des trames de 100 Bytes, l’algorithme opéré par le procédé de l’invention, va réserver deux créneaux de temps dans chaque cycle pour ce flux.

[0079] L’idée principale consiste à répartir les créneaux de temps (hors ceux réservés pour le flux de contrôle) d’un cycle donné entre tous les commutateurs d’accès TSN. [0080] La figure 4a illustre un exemple de la répartition de créneaux de temps selon un mode de réalisation de l’invention, dans un réseau TSN constitué de trois commutateurs d’accès TSN (S1 , S2, S3). Un terminal récepteur L1 connecté au réseau est abonné à quatre terminaux émetteurs (T1 , T2, T3, T4) connectés au réseau. Le terminal récepteur reçoit des flux de chaque émetteur via des chemins différents, les flux transitant par des commutateurs différents. Tel qu’illustré, un flux f1_T1 émis par l’émetteur T1 est transmis au récepteur L1 via les commutateurs S1 et S3, un flux f2_T2 émis par l’émetteur T2 est transmis au récepteur L1 via les commutateurs S2 et S3, un flux f3_T3 émis par l’émetteur T3 est transmis au récepteur L1 via les commutateurs S2 et S3, et un flux f4-T4 émis par l’émetteur T4 est transmis au récepteur L1 via le commutateur S3. Cette configuration peut amener une situation où les quatre flux peuvent « se disputer » l’accès au port de sortie (egress port) du commutateur S3 qui délivre les flux au terminal récepteur L1 , et où ils peuvent avoir de l’interférence entre eux.

[0081] L’application du procédé de l’invention permet de contrôler les transmissions au niveau du port de sortie du commutateur S3, i.e. au niveau de la gestion de la GCL, avec une allocation de créneaux de temps répartis entre l’ensemble des trois commutateurs S1 , S2 et S3. L’allocation de créneaux de temps pour le flux f1_T1 sortant de T1 vers S1 , consiste à trouver au niveau du commutateur S1 , un slot disponible dans le cycle, parmi les slots alloués au commutateur S1 . De la même manière, l’allocation de créneaux de temps pour le flux f2_T2 sortant de T2 vers S2 et le flux f3_T3 sortant de T3 vers S2, consiste à trouver au niveau du commutateur S2, des slots disponibles dans le cycle, parmi les slots alloués au commutateur S2. Il en est de même pour le flux f4-T4 sortant de T4 vers S3, où l’allocation de créneaux de temps consiste à trouver au niveau du commutateur S3, un time slot disponible dans le cycle parmi les slots alloués au commutateur S3.

[0082] Avantageusement, il n’est alors plus besoin d’analyser ni de vérifier la disponibilité de créneaux de temps dans tous les commutateurs du réseau se trouvant sur la route d’un flux. Il suffit de trouver un créneau de temps disponible au niveau d’un port de sortie du commutateur d’accès recevant ce flux (le premier commutateur sur lequel arrive un flux en provenance d’un émetteur). [0083] Par ailleurs, la répartition des créneaux de temps au sein de chaque commutateur dépend de la charge de chaque commutateur en termes de nombre de flux qui passe par son port de sortie. Ainsi la jauge est dynamique, le nombre de créneaux de temps alloués à un commutateur d’accès TSN donné peut varier selon le nombre de flux passant par ce commutateur.

[0084] Le procédé d’allocation de time slot de l’invention permet une répartition dynamique des créneaux de temps entre les différents commutateurs d’accès du réseau, en fonction du nombre de flux qui passe par chaque commutateur.

[0085] La figure 4b donne une illustration d’un changement dans la répartition des créneaux de temps en fonction de la charge de chaque commutateur, prenant en compte le nombre de flux associés à chaque commutateur. Dans cet exemple simplifié, un commutateur S1 est traversé par un seul flux f1_T1 et un commutateur S2 est traversé par trois flux, le flux f2-T2 émis par un terminal T2, le flux f3_T3 émis par un terminal T3, et le flux f5_T3 émis par le terminal T3. Dans cette configuration, il y a donc plus de flux qui traversent le commutateur S2 que le commutateur S1 . Dans un tel cas de figure, le procédé de l’invention permet que le commutateur S2 puisse récupérer au niveau du commutateur d’accès S3 qui est le commutateur de sortie vers le destinataire L1 , des créneaux de temps non utilisés par le commutateur S1 , afin de les allouer à un flux du commutateur S2. Ceci est illustré au niveau du commutateur S3, par le flux f5_T3 apparaissant dans la plage de créneaux de temps alloués au commutateur S1 .

[0086] La figure 5 est un organigramme des étapes du procédé 500 d’allocation de créneaux de temps selon un mode de réalisation de l’invention. Les étapes sont appliquées dans un réseau déterministe de type TSN composé d’une pluralité de commutateurs TSN regroupant des commutateurs d’accès SWi et des commutateurs cœur de réseau, le réseau étant utilisé par une pluralité de terminaux émetteurs (Parleurs) pour envoyer des flux de données vers des terminaux récepteurs (Auditeurs) via des commutateurs d’accès et éventuellement des commutateurs cœur de réseau selon une planification de transmission prédéfinie par un ordonnanceur temporel conçu pour séparer la communication sur le réseau en cycles de temps répétés de longueur fixe, les flux pouvant comprendre des flux de de priorité différente, des flux critiques et des flux non-critiques. [0087] Le procédé qui permet une reconfiguration de la planification de la transmission de flux, comprend des étapes consistant à :

[0088] Etape 502 : Recevoir des requêtes pour admettre de nouveaux flux entrants (ST-i, STi, ...ST n ) dans le réseau. Le procédé peut opérer de manière séquentielle à la réception d’une nouvelle requête pour l’ajout d’un ou plusieurs flux, opérer après un temps d’attente de réception de plusieurs requêtes, ou opérer à réception d’un groupe de requêtes.

[0089] Dans un mode de réalisation de réception de plusieurs nouveaux flux, le procédé peut déterminer la priorité des flux et opérer selon le niveau de priorité de ces flux, en traitant le flux le plus prioritaire en premier.

[0090] Après la réception de requêtes, le procédé passe à l’étape suivante.

[0091] Etape 504 : le procédé permet d’identifier pour un nouveau flux STi, le port de sortie P k dans le commutateur d’accès SWj couplé au terminal émetteur de ce flux, qui va émettre ce nouveau flux STi dans le réseau.

[0092] Etape 506 : Récupérer la configuration courante de la planification de transmission pour le commutateur d’accès SWj et déterminer s’il y a une planification en cours au niveau du port de sortie P k ?

[0093] Si oui, le procédé enchaine avec l’étape 510 pour déterminer si parmi l’ensemble des créneaux de temps assignés à ce commutateur d’accès SWj, il existe des créneaux de temps disponibles pour le flux STi.

[0094] Revenant à l’étape 506, s’il n’y a pas une planification en cours pour le port de sortie P k , le procédé permet de générer une nouvelle planification qui prend en compte le nouveau flux STi.

[0095] Etape 508 : le procédé opère un premier niveau d’allocation de créneaux de temps pour tous les commutateurs d’accès du réseau.

[0096] Dans un mode de réalisation, l’étape 508 comprend des étapes consistant à :

[0097] déterminer le nombre de commutateurs d’accès dans le réseau TSN ;

[0098] récupérer une valeur prédéfinie ou calculer une valeur pour déterminer une durée de référence fixe pour un cycle Qbv. La durée de référence est une valeur fixe, qui peut soit correspondre à la plus petite valeur de période parmi les périodes des flux critiques reçus au démarrage du système, soit correspondre au plus grand diviseur commun de toutes les périodes des flux critiques ;

[0099] diviser la durée de référence fixe en une pluralité de créneaux de temps de durée égale, la durée d’un créneau de temps étant égale au temps nécessaire pour envoyer la plus petite trame d’un flux parmi les flux existants ; et

[0100] attribuer sur la durée de référence fixe, à chaque commutateur d’accès un nombre de créneaux de temps nécessaires à sa transmission parmi la pluralité des créneaux de temps, le nombre de créneaux de temps alloués à chaque commutateur d’accès dépendant du nombre de flux existants passant par chaque commutateur d’accès.

[0101] L’expression « un nombre de créneaux de temps nécessaires à sa transmission » signifie un ou plusieurs créneaux de temps sur un cycle.

[0102] Dans un mode de réalisation, avant d’attribuer les créneaux de temps aux commutateurs d’accès, le procédé permet de réserver en début de cycle, un ou plusieurs créneaux de temps pour des flux de contrôle pour le trafic du contrôle réseau. L’étape d’attribuer à chaque commutateur d’accès un nombre de créneaux de temps se fait alors parmi les créneaux de temps restants.

[0103] Après l’allocation des créneaux de temps à tous les commutateurs d’accès, le procédé poursuit par l’étape 510, en déterminant si parmi l’ensemble des créneaux de temps assignés au commutateur d’accès SWj, il reste des créneaux de temps disponibles pour le flux STi.

[0104] Etape 512 : Si non, c’est-à-dire si aucun créneau de temps n’est disponible pour le flux STi parmi l’ensemble des créneaux de temps assignés au commutateur d’accès SWj, le procédé permet d’ajouter le nouveau flux STi à une liste de flux sans attribution de créneaux de temps.

[0105] Etape 514 : Si oui, c’est-à-dire s’il existe au moins un créneau de temps disponible pour le nouveau flux STi parmi l’ensemble des créneaux de temps alloués au commutateur d’accès SWj, le procédé poursuit sur un second niveau d’allocation pour réserver le nombre de créneaux de temps qui est requis pour transmettre tout le flux STi (relativement à la période du flux). [0106] Ce second niveau d’allocation pour un nouveau flux permet aussi de déterminer, en fonction de la longueur des trames du flux, s’il y a besoin de réserver un créneau de temps à chaque cycle ou sur différents cycles. Dans un mode de réalisation, le procédé utilise le paramètre ‘phase’ précité illustré sur la figure 3, pour identifier la répartition du flux sur un ou plusieurs cycles.

[0107] Etape 516 : Quand l’allocation du/des créneaux de temps pour le nouveau flux STi est terminée, le procédé itère les étapes 504 à 514 pour traiter une nouvelle requête d’allocation de créneaux de temps pour un nouveau flux.

[0108] Etape 518 : Quand toutes les requêtes sont traitées avec attribution ou non de créneaux de temps pour chaque flux, le procédé principal d’allocation se termine.

[0109] Une fois que toutes les requêtes reçues pour de nouveaux flux sont traitées (selon le procédé 500 illustré par la figure 5), un procédé complémentaire 600 permet de traiter la liste des flux qui n’ont pas reçu de créneaux de temps (ces flux ayant été ajoutés à cette liste à l’étape 512).

[0110] La figure 6 est un organigramme des étapes du procédé 600 pour traiter les flux qui n’ont pas été assignés à des créneaux de temps par le procédé initial d’allocation 500. Le procédé 600 va permettre de récupérer, s’il en existe, des créneaux de temps non utilisés par d’autres commutateurs d’accès et qui sont alors disponibles, et permettre de les réallouer à tous ou à certains des flux de la liste des flux sans attribution.

[0111] Dans un mode de réalisation, le procédé permet une réallocation des créneaux de temps non utilisés à des flux prioritaires de la liste des flux sans attribution.

[0112] Le procédé 600 vise ainsi à identifier, dans les ensembles de créneaux de temps associés aux autres commutateurs, ceux qui ne sont pas utilisés. Si des créneaux de temps non utilisés sont identifiés, le procédé permet dans un mode de réalisation de les réserver à des flux de priorité haute, et d’associer ces créneaux de temps respectivement à chaque commutateur d’accès qui est utilisé par ces flux prioritaires.

[0113] Comme illustré sur la figure 6, une première étape 602 consiste à récupérer la liste des flux non assignés STi, (i=m, ..., n), et à récupérer la liste de réservation de créneaux de temps après la première allocation avec l’état d’occupation des créneaux de temps sur les cycles.

[0114] Dans une étape suivante 604, le procédé qui opère de manière itérative pour traiter chaque flux non assigné de la liste, permet d’identifier pour le flux STi qui est traité, le premier commutateur d’accès SWj sur le chemin de routage du flux STi.

[0115] Dans une étape suivante 606, le procédé permet de déterminer s’il existe au moins un créneau de temps disponible (ou une phase de créneau de temps disponible si le flux à ajouter présente une période de plus d’un temps de cycle, cette précision n’étant plus reprise dans la suite), dans l’ensemble des autres commutateurs SW t , t + j, hors le premier commutateur d’accès SWj identifié.

[0116] S’il existe au moins un créneau de temps disponible (branche oui de 606), le procédé permet à l’étape 608 de réserver ce créneau de temps pour le flux Sti traité, et de l’associer au premier commutateur SWj identifié.

[0117] Puis le procédé permet à l’étape suivante 622, de finaliser la requête d’ajout du flux et poursuit pour traiter un prochain flux de la liste des flux non assignés. Dans cette étape 622 la liste des flux non assignés et la liste des créneaux de temps réservés avec leur état d’occupation sont mises à jour.

[0118] Revenant à l’étape 606, s’il n’a pas été identifié au moins un créneau de temps disponible dans l’ensemble des autres commutateurs d’accès ou si le nombre de créneaux restants disponibles ne permet pas de transmettre l’intégralité du flux (branche non), le procédé permet de déterminer à l’étape suivante 610 si le flux analysé STi est un flux critique, au sens des flux critiques TSN.

[0119] S’il ne s’agit pas d’un flux critique (branche non de 610), le procédé permet de rejeter la requête d’ajout du flux STi à l’étape suivante 618, puis reboucle pour traiter un prochain flux, la liste des flux non assignés étant mise à jour.

[0120] S’il s’agit d’un flux critique (branche oui de 610), le procédé permet à l’étape suivante 612 de récupérer la priorité des flux existants ST k (k=0, ..., m-1 ), pour vérifier (étapes 614, 616) si la priorité du flux analysé STi est supérieure à celle d’au moins un des autres flux qui ont des créneaux de temps ?

[0121] Si la priorité du flux analysé STi est moins grande que celles des flux existants (branche non de 614), le procédé permet de rejeter (étape 618) la requête d’ajout du flux analysé ST i; puis reboucle pour traiter un prochain flux, la liste des flux non assignés étant mise à jour.

[0122] Si la priorité du flux analysé STi est supérieure à la priorité d’un flux existant Stk (branche oui de 614), le procédé poursuit à l’étape 620 consistant à :

- Libérer le créneau de temps déjà alloué au flux ST k dont la priorité est inférieure à celle du flux STi en cours de traitement ;

- Allouer le créneau de temps libéré au flux STi en cours de traitement ; et

- Associer le créneau de temps alloué au flux STi au premier commutateur d’accès SWj identifié sur le chemin de routage du flux STi.

[0123] Le procédé permet ensuite à l’étape suivante 622 de finaliser la requête d’ajout de ce nouveau flux, et reboucle pour traiter un prochain flux. Dans cette étape la liste des flux non assignés et la liste des créneaux de temps réservés avec leur état d’occupation sont mises à jour.

[0124] Quand l’ensemble des requêtes d’ajout de nouveaux flux ont été traitées, soit par le seul procédé d’allocation de flux 500 (si des créneaux de temps ont été alloués à tous les flux), soit avec le procédé complémentaire 600 (pour traiter les flux de la liste des flux non assignés), le réseau TSN dispose d’une nouvelle planification de transmission des flux qui respecte les spécifications de la norme IEEE 802.1 .

[0125] La description détaillée a porté sur la gestion de l’allocation de créneaux de temps lors de l’apparition d’un nouveau flux. Cependant, dans les applications intéressées par le procédé de l’invention, les flux peuvent être dynamiques, en ce qu’il peut y avoir apparition d’un flux ou disparition d’un flux.

[0126] La disparition d’un flux impliquera la libération d’un créneau de temps qui lui a été alloué auparavant. L’évènement de disparition d’un flux peut être traité par l’émission d’une requête de type « Leave request » envoyée par l’application elle- même ou bien par le commutateur d’accès qui identifie une non-utilisation du créneau de temps associé à ce flux là pendant plusieurs cycles (par exemple au bout de 4 cycles, si aucune transmission n’a été effectuée pour un créneau de temps donné, le commutateur d’accès peut émettre une requête « Leave request »). Une fois que la requête de disparition est reçue, elle est traitée afin de libérer le créneau de temps correspondant qui redevient alors disponible pour un nouveau flux. [0127] En termes d’implémentation, une allocation de créneau de temps consiste en une nouvelle entrée dans une « Gate Control List » (GCL) pour ouvrir une porte à la file d’attente à laquelle est affecté le nouveau flux dans ce créneau de temps. Avantageusement, l’allocation de créneau de temps réalisée par le procédé de l’invention se fait sans pour autant changer la durée du cycle de transmission Qbv.

[0128] La répartition des créneaux de temps entre les commutateurs d’accès se traduit ainsi : dans un commutateur SWj, toutes les portes de toutes les files d’attente sont fermées quand ses créneaux de temps sont réservés à un autre commutateur SW k . Ceci permet d’assurer l’exclusivité des créneaux de temps pour chacun des commutateurs d’accès.

[0129] Dans un mode de réalisation, la mise à jour de la configuration GCL opérationnelle, se fait à la fin du cycle en cours afin de limiter un problème de variation de latence que les flux en cours pourraient subir.

[0130] Il est à noter que la durée de cycle Qbv est définie pendant la phase initiale, quand le réseau démarre et que les premiers flux arrivent. Afin de limiter l’impact que pourrait avoir un changement de durée de cycle sur les performances de flux critiques, la durée de cycle n’est pas changée pendant la phase opérationnelle du réseau TSN. Toutefois, si jamais, le réseau arrive à un état ou à un pourcentage important où des nouvelles requêtes de flux sont rejetées pour manque de disponibilité de créneaux de temps (par exemple 70% des requêtes sont rejetées), il peut être prévu une reconfiguration totale du réseau qui soit planifiée à un moment approprié où la durée de cycle est reconsidérée ainsi que toute la planification GCL. Par exemple dans le scénario d’une usine, une reconfiguration complète peut-être planifiée au moment où les lignes de production sont en arrêt.

[0131] Afin d’assurer la configuration et la gestion des réseaux TSN, la norme IEEE 802.1 Qcc propose principalement deux approches : une approche centralisée et une approche distribuée. Le procédé décrit peut être mis en oeuvre dans chacune de ces deux configurations.

[0132] Approche centralisée :

[0133] L’approche centralisée fournit par le standard IEEE 802.1 Qcc est illustrée par la Figure 7, et la figure 8 montre un organigramme des étapes du procédé de réservation de ressources réseaux pour de nouveaux flux selon l’invention tel que mis en oeuvre dans une approche centralisée.

[0134] L’ensemble des commutateurs TSN du réseau est contrôlé, géré et configuré par une entité centralisée CNC (« Centralized Network Configuration »). Les terminaux (Parleurs / Auditeurs) qui vont utiliser le réseau TSN fournissent les caractéristiques de leur flux à une entité CUC (« Centralized User Configuration ») en utilisant des logiciels tiers (« middleware >>) comme par exemple OPC UA, ROS, DDS.... L’entité CUC a pour rôle de regrouper les demandes des terminaux/applications pour utiliser le réseau TSN et de les fournir à l’entité CNC. Les demandes sont analysées par le CNC tout en ayant les informations sur les capacités actuelles du réseau TSN. Si la réservation des ressources pour de nouveaux flux est possible, le CNC répond au CUC que ces terminaux/applications peuvent utiliser le réseau. Le CNC peut aussi fournir à ces terminaux/applications le créneau à utiliser (i.e. quand commencer à utiliser le réseau). Par exemple, il peut demander à une application de commencer à envoyer ses données dans x millisecondes. Dans le cas où la réservation des ressources est impossible pour certains flux, le CNC rejette les demandes associées à ces flux. Dans cette approche, le procédé de l’invention peut être implémenté et mis en oeuvre au niveau du CNC.

[0135] Ainsi dans une première étape 802, le CNC reçoit du CUC une requête pour accepter ‘n’ nouveaux flux STi. Le CNC extrait les caractéristiques des flux, récupère la topologie du réseau et la configuration Qbv (étape 804).

[0136] Puis à l’étape suivante 806, il calcule un chemin de routage pour un flux STi à traiter.

[0137] L’étape suivante 808 consiste à opérer le procédé 500 d’allocation de ressources décrit en référence à la figure 5 et éventuellement suivi du procédé complémentaire 600 décrit en référence à la figure 6.

[0138] Quand tous les flux ont été traités (avec allocation de créneau de temps ou non), le CNC permet (étape 810) de générer la configuration Qbv dans chaque commutateur pour les nouveaux flux acceptés, puis (étape 812) de diffuser les règles de routage et la configuration Qbv dans chaque commutateur impliqué dans le routage des nouveaux flux acceptés. [0139] Enfin, le CNC envoie (étape 814) au CUC la liste des flux acceptés et la configuration à utiliser dans les noeuds terminaux.

[0140] Approche distribuée :

[0141] Dans le cas d’une gestion de réseau distribuée, comme illustrée sur la figure 9, une phase initiale est nécessaire où les commutateurs d’accès TSN doivent échanger des messages entre eux afin de converger vers une répartition de créneaux de temps. Une fois la convergence obtenue, chacun des commutateurs d’accès alloue un créneau de temps pour le nouveau flux parmi les créneaux de temps qui lui sont associés, et ensuite il propage cette information vers les commutateurs cœur de réseau TSN afin qu’ils intègrent cette nouvelle réservation.

[0142] Il a été décrit des modes de réalisation de l’invention qui présentent des caractéristiques avantageuses qui sont principalement :

- Une répartition des ressources temporelles entre des commutateurs d’accès d’un réseau TSN, qui est dynamique et qui varie en fonction du nombre de flux desservis par chacun des commutateurs d’accès.

- Un procédé qui permet de réserver rapidement des ressources temporelles dans un réseau TSN pour chaque nouveau flux, d’une manière dynamique en s’appuyant sur les caractéristiques du nouveau flux, sans avoir recours à des outils de simulation hors-ligne ou à de la modélisation mathématique.

- Une allocation rapide de ressources temporelles faite en ligne, au fur et à mesure de l’arrivée de nouveaux flux.