Brevet FR2671250A1 — publié le 19920703

Procédé et dispositif pour contrôler le débit de données d'un terminal couplé à un réseau de transmission de I'information. La présente invention concerne un procédé et un dispositif pour contrôler le débit de données d'un terminal couplé à un réseau de transmission de l'information. L'intégration de nombreux services à débits éminemment différents, compris par exemple entre 64 Kbit/seconde et 140 Mégabit/seconde, sur des réseaux large bande pose des problèmes de contrôle de débit. Parmi les mécanismes connus pour contrôler le débit d'un terminal, figure un mécanisme de régulation connu sous la désignation "Leaky Bucket" qui alloue au terminal qu'il régule un crédit de données ou de paquets de données qu'il peut émettre sur le réseau. Un mécanisme de ce type est décrit dans l'article de J. D. TURNER ayant pour titre "The Challenge of Multi-point Communication" publié en mai 1987 au 5ème Séminaire-Lake Com. Pour un tel mécanisme, le problème qui se pose est celui de sa réalisation qui doit être suffisamment souple et peu coûteuse pour permettre au terminal de travailler quelque soit la bande allouée. Dans son principe la solution "Leaky Bucket" met en oeuvre un compteur qui compte les bits ou les paquets de données émis au rythme d'une horloge fixé par la bande allouée par le réseau. Un générateur de paquets vides ou de cellules vides est sélectionné lorsque le terminal émet plus de données que le lui permet la bande allouée par le réseau. Le dispositif comporte généralement une mémoire-tampon organisée en pile de type FIFO, abréviation du terme anglo-saxon "First In First Out".Les cellules ou paquets de données sont émis au rythme d'une horloge de lecture qui n'est validée que si le registre pile est prêt à émettre une cellule ou un paquet et que le dispositif l'y autorise. Le dispositif comporte également une horloge de référence qui fonctionne en permanence et dont la cadence est imposée par le réseau. Naturellement, la conception d'un tel dispositif repose entièrement sur la réalisation de l'horloge de référence qui doit pouvoir être programmée sur toute la largeur de bande du réseau et qui est d'autant plus compliquée et coûteuse que la largeur de bande à couvrir est importante. Le but de l'invention est de pallier les inconvénients pré-cités. A cet effet, l'invention a pour objet, un procédé pour contrôler le débit de données d'un terminal couplé à un réseau de transmission de l'information caractérisé en ce qu'il consiste à - soustraire le nombre de bits par unité de temps transmis par le terminal au nombre de bits par unité de temps autorisé par le réseau, - à cumuler les résultats des soustractions élémentaires, - et à autoriser la transmission des bits par le terminal tant que le résultat du cumul de la soustraction est inférieur à une valeur de seuil déterminée par le réseau. L'invention a également pour objet un dispositif pour la mise en oeuvre du procédé pré-cité. D'autres caractéristiques et avantages de l'invention apparaîtront ci-après à la lumière de la description qui suit faite en regard des dessins annexés qui représentent - les figures 1, 2 et 3, des organigrammes pour illustrer le procédé selon l'invention; - la figure 4, un graphe illustrant le principe mis en oeuvre par l'invention pour contrôler le débit de données transmises par un terminal - la figure 5, un exemple de réalisation d'un dispositif pour la mise en oeuvre du procédé selon l'invention; - la figure 6 un exemple d'implantation du dispositif selon l'invention dans un terminal. Plutôt que de mettre en oeuvre deux compteurs, l'un comptant à la cadence de référence imposée par le réseau, l'autre comptant au rythme de lecture du registre-tampon transmettant les données au réseau et qui est en fait la cadence maximum du réseau pendant un temps paquet, et de comparer les valeurs de ces deux compteurs pour autoriser ou non la transmission de paquets de données, le procédé selon l'invention exploite directement la différence entre les deux horloges de lecture du registre pile du terminal et celle imposée par le réseau à intervalles de temps réguliers suivant trois modes, désignés, ci-après, mode 1, mode 2 et mode 3, suivant que le terminal a des données à envoyer et le droit de le faire, que le terminal a des données à envoyer et n'a pas le droit de le faire ou que le terminal n'a plus de données à envoyer depuis longtemps.Les modes 1, 2 et 3 sont illustrés par les organigrammes des figures 1, 2 et 3. Suivant le mode 1 qui est représenté par l'organigramme de la figure 1, le procédé consiste à calculer par étapes de durées T constantes un nombre Ri vérifiant une relation de la récurence de la forme R = A - B + R (1) dans laquelle A et B désignent respectivement les nombres de bits par unité de temps transmis par le terminal et admis par le réseau. En appelant Nt et Nc les débits exprimés en bits/seconde du terminal et du réseau, la relation (1) s'écrit encore R = (Nt - Nc) x T + R (2). Le calcul commence par une initialisation à zéro du nombre R. A chaque étape de durée T suivante le calcul se poursuit comme schématisé par les blocs 1 à 11, par le calcul (bloc 2) d'un nouveau nombre R suivant la relation (1), et par une comparaison (bloc 3) du nombre R obtenu à une valeur de seuil Thl déterminée par le débit qui est autorisé par le réseau. Si à chaque comparaison le nombre R calculé est inférieur au seuil Thl mais supérieur à un seuil déterminé Th2 la transmission (blocs 4, 5, 6) des données correspondantes sur le réseau est autorisée. Par contre si la valeur de R est supérieure au seuil Thl la transmission est interrompue, la valeur R correspondante qui est égale à n (Nt-Nc), est alors mémorisée et le procédé passe alors à ltexécution du mode 2.. Suivant les étapes illustrées par les blocs 12 à 19 de l'organigramme de la figure 2, le mode 2 consiste, à calculer, de la façon représentée dans les blocs 12, 13 et 14 de l'organigramme, un nombre R = R - B (3) et à comparer 13 le nombre R au seuil Thl défini précédemment. Si, comme figuré par les blocs 13 et 14 de l'organigramme le nombre R reste supérieur au seuil Thl, le procédé retourne à l'exécution de étapes figurées par les blocs 12 à 14. Par contre dans le cas contraire, si le nombre R calculé est inférieur au seuil Thl le procédé retourne à l'exécution du mode 1 comme figuré par les blocs 15, 16 et 17 sur la figure 2 dans la mesure ou un test effectué par le bloc 17 constate que le terminal est prêt à émettre. Si le terminal n'est pas prêt à émettre le nombre R calculé est comparé (bloc 18) au seuil Th2 précédent. Si le résultat de la comparaison montre que le nombre R est supérieur au seuil Th2 alors le procédé retourne à l'exécution de l'étape figurée par le bloc 12 ou passe à l'exécution du mode 3 dans le cas contraire. L'exécution du mode 3 a lieu de la façon figurée par les tests 8, 9 et 17, 18, 19 des figures 1 et 2 lorsque le nombre R calculé suivant les relations 1 ou 3 est égal au seuil Th2. Dans ce cas, Comme le montre les étapes 20 à 23 de la figure 3, la transmission est arrêtée jusqu a ce que le terminal décide de ré-émettre des données. Un exemple d'évolution du nombre R entre les seuils Thl et Th2 précédemment définis et qui résume bien le procédé selon l'invention est représenté à la figure 4. Un dispositif pour la mise en oeuvre du procédé selon l'invention est représenté à la figure 5. Ce dispositif comprend un registre accumulateur 24 et un dispositif à seuil formé par des circuits comparateurs 25, 26 et 27. Le registre accumulateur 24 comprend un circuit additioneur 28 comportant deux entrées d'opérande El et E2 et une sortie S. La sortie S du circuit additionneur 28 est reliée aux entrées d'un registre 29 dont la sortie est reliée à la deuxième entrée d'opérande E2 du circuit additionneur 28. La sortie du registre 29 est reliée respectivement à une première entrée marquée (-) du circuit comparateur 25, à une entrée marquée (+) du circuit comparateur 26 et à une entrée marquée (+) du circuit comparateur 27.Les entrées marquées (+) du circuit comparateur 25 et l'entrée marquée (-) du circuit comparateur 26 reçoivent chacune la valeur de seuil Thl. L'entrée marquée (-) du circuit comparateur 27 reçoit la valeur de seuil Th2. Les sorties des circuits comparateurs 25, 26 et 27 sont reliées à un circuit de commande 30 d'un circuit multiplexeur 31. Le circuit multiplexeur 31 comporte trois entrées sur lesquelles sont appliqués respectivement à chaque temps élémentaire T de calcul, les nombres A - B - B, et 0 fourni par une unité de calcul 32. L'insertion du dispositif de la figure 5 à l'intérieur d'un terminal a lieu de la manière représentée à la figure 6. Sur la figure 6, la partie du terminal représentée comporte un registre pile 33 pour la mise en file d'attente des données à transmettre sur une ligne 34 du réseau. Le registre pile 33 est commandé de façon connue par un dispositif de commande 35 piloté à partir d'une base de temps 36. Le dispositif de la figure 5 porte sur la figure 6 la référence 37 et est inséré entre le dispositif de commande 35 et la base de temps 36. Il reçoit du réseau la valeur B correspondant à la bande allouée par le réseau ainsi que les valeurs de seuil Thl et Th2 correspondant respectivement au nombre maximum de paquets contigus acceptables sur le réseau et au crédit d'émission en dessous duquel le système ne doit pas descendre. Il fournit sur sa sortie un signal d'autorisation de transmission au dispositif de commande 35, ce signal étant appliqué au dispositif de commande 35 par la sortie du circuit de commande 30 de la figure 5. REVENDICATIONS 1. Procédé pour contrôler le débit de données d'un terminal couplé à un réseau de transmission de l'information caractérisé en ce qu'il consiste à - soustraire (2) le nombre de bits (B) autorisé par unité de temps par le réseau au nombre de bits (A) transmis par unité de temps par le terminal - à cumuler (2) les résultats des soustractions élémentaires - et à autoriser la transmission (5, 6) des bits A tant que le résultat de la soustraction (2) est inférieur à une valeur de seuil Thl déterminée par le réseau. 2. Procédé selon la revendication 1 caractérisé en ce qu'il consiste à cumuler (2)la soustraction des nombres A et B durant un nombre n d'unités de temps successives en additionnant (12) à chaque unité de temps le résultat de la soustraction des nombres A et B à la somme des résultats déjà obtenue au cours de soustractions précédentes, à comparer (3, 13) durant chaque unité de temps le résultat de l'addition obtenu à la valeur de seuil Thl déterminée pour autoriser la transmission des bits A tant que le résultat de la soustraction obtenu est inférieur à la valeur de seuil Thl déterminée par le réseau. 3. Procédé selon l'une quelconque des revendications 1 et 2 caractérisée en ce qu'il consiste lorsque la valeur du seuil Thl est dépassée à retrancher par unités de temps successives le nombre de bits B autorisé du résultat de l'addition obtenu lors du dépassement de la valeur de seuil déterminée Thl, à comparer (13) chaque résultat de soustraction obtenu à la valeur de seuil déterminée Thl, pour autoriser à nouveau la transmission des bits A lorsque le résultat de la soustraction devient inférieur à la valeur de seuil déterminée. 4. Procédé selon l'une quelconque des revendications 2 et 3 caractérisé en ce qu'il consiste à arrêter la transmission lorsque le résultat de la soustraction devient inférieur à une deuxième valeur de seuil Th2 inférieure au seuil Thl. 5. Dispositif pour la mise en oeuvre du procédé selon ltune quelconque des revendications 1 à 4 caractérisé en ce qu'il comprend un registre accumulateur pour totaliser les résultats des soustractions entre les nombres A et B et un dispositif à seuil (25, 26, 27) couplé à la sortie du registre accumulateur (24) pour autoriser la transmission des bits A tant que le cumul des résultats des soustractions des nombres A et B ne dépasse pas la valeur du premier seuil.