Brevet FR2788178A1 — publié le 20000707

DESCRIPTION L'invention concerne un système de communication comprenant une station de tête, un média de transmission et des terminaux qui comportent: - des moyens pour transmettre à la station de tête des requêtes qui indiquent un nombre de réservations à allouer au terminal sur le média de transmission, - un compteur de requêtes pour comptabiliser les réservations qui ont été requises par le terminal et qui n'ont pas encore été allouées, - des moyens de calcul du nombre de réservations à requérir en tenant compte de la valeur du compteur de requêtes, et ladite station de tête comportant un ensemble de compteurs d'allocations associés chacun o10 à un terminal pour comptabiliser les réservations à allouer audit terminal. L'invention concerne également un terminal destiné à être utilisé dans un tel système de communication, un procédé de requête destiné à être mis en oeuvre dans un tel terminal, et un procédé de mise à jour de compteur destiné à être mis en oeuvre dans une station de tête selon l'invention. L'invention a par exemple des applications dans les systèmes de communication interactifs par satellite ou par liaisons hertziennes. Un tel système est notamment décrit dans l'article "Combined Free/Demand Assignment Multiple Access (CFDAMA) Protocols for Packet Satellite Communications" de Tho Le-Ngoc et Jahangir I Mohammed, publié dans la revue Proceedings of 2nd IEEE International Conference on Universal Personal Communications, Ottawa, Canada, 12-15 Oct 1993, vol.2, pp 824-828. La méthode de requête décrite dans cet article consiste à tenir compte du nombre de réservations qui ont été requise par le terminal et qui ne lui ont pas encore été allouées, pour calculer le nombre de réservations à requérir. Cette méthode est avantageuse parce qu'elle permet d'éviter de reformuler plusieurs fois une même requête lorsque la requête initiale n'a pas encore été honorée. On évite ainsi de requérir inutilement des réservations qui ensuite ne seront pas utilisées par le terminal. Cela permet d'optimiser le partage des ressources entre les différents terminaux. Ceci est particulièrement important dans le cas o le média de transmission est un canal satellite, parce que ce type de média de transmission est particulièrement onéreux. Cette méthode consiste à supposer que les requêtes qui ont déjà été envoyées, et pour lesquelles aucune allocation n'a encore été reçue, sont en cours de traitement et finiront par être honorées. Elle est donc très sensible aux pertes de données qui peuvent résulter de mauvaises conditions de transmission. En effet, avec cette méthode, les requêtes perdues restent comptabilisées par le compteur de requêtes et le nombre de réservations correspondant est donc pris en compte pour toutes les requêtes ultérieures. Le nombre de réservations requises par le terminal après un tel incident est donc continuellement inférieur aux besoins réels du terminal. Ceci a pour effet d'augmenter de façon irréversible le délai moyen d'attente des données avant transmission. L'invention a notamment pour but de remédier à cet inconvénient. Ce but est atteint avec un système de communication tel que décrit dans le paragraphe introductif et caractérisé en ce que lesdits terminaux comportent des moyens de réinitialisation pour réinitialiser leur compteur de requêtes, et pour transmettre à la station de tête un indicateur de réinitialisation du compteur d'allocations qui leur est associé. Une telle réinitialisation permet d'éviter que le terminal comptabilise éternellement des réservations qui n'ont pas été honorées. Il peut par exemple s'agir d'une réinitialisation périodique. Dans un mode de réalisation plus avantageux, lesdits terminaux comportent des moyens de détection d'anomalie et des moyens d'activation desdits moyens de réinitialisation lorsqu'une anomalie est détectée. Ce mode de réalisation est plus avantageux parce qu'il permet de réduire le nomibre de réinitialisations inutiles qui conduisent chacune à une baisse d'efficacité dans l'attribution des réservations sur le média de transmission. Les moyens de détection d'anomalie comportent par exemple des moyens de comparaison de la valeur du compteur de requêtes à une valeur prédéfinie. Dans un autre exemple, ils comportent des moyens de comparaison de la valeur du compteur de requêtes à un instant t à la somme des requêtes émises entre cet instant t et un instant antérieur t-P, o P est une durée (dite durée de recouvrement) suffisamment élevée pour qu'en l'absence d'anomalie les réservations requises avant l'instant t-P aient été allouées à l'instant t. Si la valeur du compteur de requêtes à un instant t est supérieure à la somme des requêtes émises entre t-P et t, cela signifie que quelque chose d'anormal s'est passé, par exemple que des requêtes ont été perdues. L'invention sera mieux comprise et d'autres détails apparaîtront dans la description qui va suivre en référence aux dessins annexés qui sont donnés à titre d'exemples non limitatifs et dans lesquels: - la figure 1 représente schématiquement un exemple de système de communication selon l'invention, - la figure 2 représente un exemple de système de communication par satellite selon l'invention, - la figure 3 représente un exemple de procédé de requête selon l'invention, - la figure 4 représente un procédé selon l'invention de mise à jour des compteurs d'allocations par la station de tête, - les figures 5, 6 et 7 sont des représentations graphiques des résultats obtenus avec le procédé selon l'invention, en comparaison des résultats obtenus avec le procédé selon l'art antérieur. Sur la figure 1 on a représenté à titre d'exemple un système de communication qui comporte une station de tête 1 et une pluralité de terminaux interactifs 2 communiquant par l'intermédiaire d'un média de transmission 3. Ce média de transmission peut être de différentes natures. Par exemple, il peut s'agir un réseau câblé, d'une transmission par voie hertzienne, ou par voie satellite. Sur la figure 2 on a choisi de représenter à titre d'exemple un système de communication par satellite parce que c'est dans ce type de système que le risque d'avoir de mauvaises conditions de transmission est le plus important: de mauvaises conditions de transmission peuvent affecter un terminal spécifique d'un système de communication par satellite en fonction des conditions météorologiques locales par exemple. L'invention est toutefois applicable à d'autres média de transmission. Les terminaux 2 transmettent des données et des requêtes à la station de tête 1 par l'intermédiaire d'un premier satellite 4 en utilisant une première bande de fréquences Ku, et la station de tête 1 diffuse des données et informations de contrôle aux terminaux 2 par l'intermédiaire d'un second satellite 5 en utilisant une seconde bande de fréquences Ka. Dans l'exemple qui va être décrit, les terminaux interactifs 1 accèdent au média de transmission 3 par un mécanisme d'accès multiple à répartition dans le temps (TIDMA de l'anglais Time Division Multiple Access). Pour cela, le temps est découpé en intervalles de temps, et des intervalles de temps sont alloués dynamiquement aux terminaux, par la station de tête, sur requête desdits terminaux. Dans cet exemple de réalisation, les réservations sur le média de transmission qui sont requises par les terminaux et allouées par la station de tête, sont donc constituées par des intervalles de temps. Chaque terminal 2 contient une mémoire 10 qui est une file d'attente de transmission et dans laquelle il stocke par paquets les données qu'il a à transmettre. Lorsqu'un terminal i formule une requête en vue de se faire attribuer un certain nombre d'intervalles de temps, il tient compte du nombre MEM(i,t) de paquets stockés dans cette mémoire de transmission à l'instant t considéré. Différents mécanismes de requêtes ont été proposés. Les mécanismes du type de celui qui a été décrit dans l'article cité en introduction sont particulièrement efficaces du point de vue de l'optimisation du partage des ressources entre les terminaux du système de communication. Ils consistent à comptabiliser le nombre de réservations déjà requises et qui doivent encore être honorées pour chaque terminal. Chaque terminal est doté d'un compteur COUNT(i) appelé compteur de requêtes qui est incrémenté d'une unité à chaque fois qu'une réservation est requise, et décrémenté d'une unité à chaque fois qu'une allocation est reçue. Chaque requête émise par un terminal i indique la différence entre le contenu MEM(i,t) de sa mémoire de transmission et la valeur COUNT(i) de son compteur de requêtes à un instant donné t. Au niveau de la station de tête, chaque nouvelle requête reçue pour un terminal s'ajoute à précédente: le nombre de réservations à allouer pour chaque terminal est stocké dans un compteur ALLOC(i) associé audit terminal qui est incrémenté lorsqu'une requête en réservation est reçue par la station de tête et décrémenté lorsque des réservations sont allouées audit terminal. Un tel mécanisme présente l'inconvénient d'être particulièrement sensible aux pertes de données qui peuvent résulter de mauvaises conditions de transmission. L'invention consiste notamment à améliorer ce type de mécanismes de requête pour le rendre plus robuste aux pertes de données. Sur la figure 3 on a représenté un exemple préférentiel de mécanisme de requête selon l'invention. Ce mécanisme est mis en oeuvre par un terminal lorsqu'il va émettre un requête vers la station de tête. Soit t l'instant auquel ce mécanisme est mis en oeuvre par le terminal i. - A la case 50, le terminal i effectue un test pour détecter une éventuelle anomalie. Pour cela, il compare la valeur du compteur de requêtes COUNT(i) à la somme RESA(i, t) des t-p requêtes émises entre l'instant t considéré et un instant antérieur t-P, o P est une durée de recouvrement suffisamment élevée pour qu'en l'absence d'anomalie les réservations requises avant l'instant t-P aient été allouées à l'instant t. - Si la valeur du compteur de requêtes COUNT(i) à cet instant t est supérieure à la somme des requêtes émises entre t-P et t (flèche N sur la figure), cela signifie que quelque chose d'anormal s'est passé, par exemple que des requêtes ont été perdues. Le terminal réinitialise alors son compteur de requêtes COUNT(i) à la case 51iN (COUNT(i)=0), et il positionne à un la valeur d'un l'indicateur de réinitialisation F(i) (cet indicateur de réinitialisation sera transmis à la station de tête avec la requête du terminal, à la case 55). Puis il poursuit son fonctionnement à la case 52. - Sinon (flèche Y sur la figure), aucune anomalie n'est détectée. A la case 51Y la valeur de l'indicateur de réinitialisation F(i) est positionnée à zéro, puis le fonctionnement se poursuit à la case 52. - A la case 52, le terminal calcule le nombre de réservations RESA(i,t) à requérir: ce nombre de réservations est égal au nombre de paquets MEM(i,t) contenus dans la mémoire de transmission du terminal i à l'instant t, déduit de la valeur COUNT(i) du compteur de requêtes du terminal i à l'instant t: RESA(i,t)=MEM(i,t)-COUNT(i). - Puis à la case 53, le terminal stocke la valeur obtenue RESA(i,t) dans une mémoire de type FIFO (de l'anglais First In First Out) de taille P. A la case 54, le terminal met ensuite à jour la valeur de son compteur de requêtes: COUNT(i)=COUNT(i)+ RESA(i,t). - Puis, à la case 55, il émet sa requête R{RESA(i,t); i; F(i)}, dans un intervalle de temps qui lui est alloué, à la suite des données utiles. Le choix de la valeur de la durée de recouvrement P est important. En général la valeur de P devrait être choisie de façon à inclure le délai de transmission aller-retour sur le média de transmission considéré, plus le délai de traitement par la station de tête qui dépend de la charge du média de transmission et du nombre de terminaux connectés au système de communication. Pour éviter des réinitialisations trop fréquentes, et donc des baisses d'efficacité dans le partage des ressources, la valeur de P doit plutôt être surestimée. Sur la figure 4, on a représenté un exemple de mise à jour des compteurs d'allocations ALLOC(i) qui sont stockés dans la station de tête. A la case 60, la station de tête reçoit une requête R{RESA(i,t); i; F(i)} en provenance du terminal i. A la case 61, elle teste la valeur de l'indicateur de réinitialisation F(i). Si F(i) est positif (F(i)=1), le fonctionnement se poursuit à la case 62. Sinon, il se poursuit à la case 63. A la case 62, le compteur d'allocations ALLOC(i) est réinitialisé (ALLOC(i)=0). Puis le fonctionnement se poursuit à la case 63. A la case 63, le compteur d'allocations est incrémenté du nombre de réservations indiqué dans la requête R: ALLOC(i)=ALLOC(i)+RESA(i,t). Sur les figures 5, 6 et 7 on a représenté les résultats obtenus grâce à l'invention dans un système de communication tel que représenté sur la figure 2 et dont les caractéristiques sont les suivantes: - le système de communication comporte 10 stations qui génèrent de façon homogène un trafic qui correspond à une charge de 75% du média de transmission, - le délai de transmission aller-retour est de l'ordre de 0,5 secondes, - une dégradation des conditions de transmission se produit à l'instant t=300s et entraîne une perte de données, uniquement pour le terminal i=K, et pendant 6s, - P a été fixé à 10s. Sur la figure 5, on a représenté l'influence de la perte de données sur le délai d'attente moyen dans la mémoire de transmission DA (exprimé en secondes), avec un mécanisme de requête selon l'art antérieur, pour le terminal i=K (courbe 1) et pour les autres terminaux i É K (courbe 2). On constate l'augmentation irréversible du délai moyen d'attente dans la mémoire de transmission pour le terminal qui a subit la perte de données. Sur la figure 6, on a représenté les valeurs des variables COUNT(i) et _ RESA(i, t) en fonction du temps, pour P=10s. On constate une unique détection -P d'anomalie et donc une unique réinitialisation des compteurs de requêtes et d'allocations à l'instant t=320s. Sur la figure 7, on a représenté le délai d'attente moyen dans la mémoire de transmission DINV (exprimé en secondes), avec un mécanisme de requête selon l'invention, pour le terminal i=K (courbe 1) et pour les autres terminaux i, K (courbe 2), lorsque P=10s. Ce délai moyen augmente pendant une courte durée pour le terminal i=K, puis retourne à sa valeur normale. l REVENDICATIONS 1. Système de communication comprenant une station de tête (1), un média de transmission (3, 4, 5) et des terminaux (2) qui comportent: - des moyens pour transmettre à la station de tête des requêtes (R) qui indiquent un nombre de réservations à allouer au terminal sur le média de transmission (RESA(i,t)), - un compteur de requêtes (COUNT(i)) pour comptabiliser les réservations qui ont été requises par le terminal et qui n'ont pas encore été allouées, - des moyens de calcul du nombre de réservations (RESA(i,t)) à requérir en tenant compte de la valeur du compteur de requêtes (COUNT(i)), et ladite station de tête comportant un ensemble de compteurs d'allocations associés chacun à un terminal (ALLOC(i)) pour comptabiliser les réservations à allouer audit terminal, caractérisé en ce que lesdits terminaux comportent des moyens de réinitialisation pour réinitialiser leur compteur de requêtes, et pour transmettre à la station de tête un indicateur de réinitialisation (F(i)) du compteur d'allocations qui leur est associé. 2. Système de communication selon la revendication 1, caractérisé en ce que lesdits terminaux comportent des moyens de détection d'anomalie (50) et des moyens d'activation (51N) desdits moyens de réinitialisation lorsqu'une anomalie est détectée. 3. Système de communication selon la revendication 2, caractérisé en ce que lesdits moyens de détection d'anomalie comportent des moyens de comparaison de la valeur dudit compteur de requêtes à un instant t à la somme des requêtes émises entre cet instant t et un instant antérieur t- P o P est suffisamment élevé pour que, en l'absence d'anomalie, les réservations requises avant l'instant t-P aient été allouées à l'instant t. 4. Terminal (2) destiné à être utilisé dans un système de communication comportant un média de transmission (3, 4, 5) et une station de tête (1), ledit terminal comportant: - des moyens pour transmettre à la station de tête des requêtes qui indiquent un nombre de réservations à allouer au terminal sur le média de transmission (RESA(i,t)), - un compteur de requêtes (COUNT(i)) pour comptabiliser les réservations qui ont été requises par le terminal et qui n'ont pas encore été allouées, - des moyens de calcul du nombre de réservations à requérir en tenant compte de la valeur du compteur de requêtes, caractérisé en ce qu'il comporte également des moyens de réinitialisation (51N) pour réinitialiser ledit compteur de requêtes, et pour transmettre à la station de tête un indicateur de réinitialisation (F(i)) d'un compteur d'allocations (ALLOC(i)) stocké dans la station de tête (1), qui comptabilise les réservations à allouer audit terminal. 5. Terminal selon la revendication 4, caractérisé en ce qu'il comporte des moyens de détection d'anomalie (50) et des moyens (51iN) d'activation desdits moyens de réinitialisation lorsqu'une anomalie est détectée. 6. Terminal selon la revendication 5, caractérisé en ce que lesdits moyens de détection d'anomalie comportent des moyens de comparaison de la valeur du compteur de requêtes à un instant t à la somme des requêtes émises entre cet instant t et un instant antérieur t-P o P est suffisamment élevé pour qu'en l'absence d'anomalie, les réservations requises avant l'instant t-P aient été allouées à l'instant t. 7. Procédé de requête permettant à un terminal (2) de se faire allouer par une station de tête (1) un certain nombre de réservations sur un média de transmission (3), ledit procédé consistant notamment à: - maintenir à jour un compteur de requêtes (COUNT(i)) qui indique le nombre de réservations déjà requises qui n'ont pas encore été allouées, - calculer le nombre de réservations à requérir (RESA(i,t)) en tenant compte de la valeur du compteur de requêtes, caractérisé en ce qu'il comporte une étape de réinitialisation pour réinitialiser la valeur du compteur de requêtes (51N) et pour transmettre (55) à la station de tête un indicateur de réinitialisation (F(i)) d'un compteur d'allocations (ALLOC(i)) stocké dans la station de tête, qui comptabilise les réservations à allouer audit terminal. 8. Procédé de requête selon la revendication 7, caractérisé en ce qu'il comporte une étape de détection d'anomalie (50) et en ce que ladite étape de réinitialisation (51N) est effectuée lorsqu'une anomalie est détectée. 9. Procédé de requête selon la revendication 8, caractérisé en ce que l'étape de détection d'anomalie comporte une étape de comparaison de la valeur du compteur de requêtes à un instant t à la somme des requêtes émises entre cet instant t et un instant antérieur t-P o P est suffisamment élevé pour qu'en l'absence d'anomalie, les réservations requises avant l'instant t-P aient été allouées à l'instant t. 10. Procédé de mise à jour d'au moins un compteur (ALLOC(i)) d'une station de tête (1) d'un système de communication, ledit compteur étant associé à un terminal (2) dudit système de communication, caractérisé en ce qu'il comporte une étape préalable de réinitialisation (62) dudit compteur effectuée sur réception (61) d'un indicateur de réinitialisation (F(i)) transmis par ledit terminal.