Brevet FR2805624A1 — publié le 20010831

Allocation dynamique de canaux à une liaison avec le réseau Internet La présente invention concerne l'allocation dynamique de ressources à une liaison avec le réseau Internet en fonction de la quantité d'information à transmettre au cours de cette communication. L'allocation dynamique de ressources consiste à établir et/ou libérer automatiquement des circuits de communication à partir d'un terminal raccorde au réseau téléphonique commuté pour communiquer à travers le réseau Internet. On entend par "ressources" des canaux d'une liaison numérique aussi bien que des liaisons physiques analogiques, mais par souci de simplification, on ne parlera que de canaux dans la suite. Aujourd'hui, le principe préconisé dans la norme d'allocation dynamique en vigueur "BACP . Bandwidth Allocation Control Protocol" répertorié RFC 2125, repose sur un constat a posteriori de flux de trafic ou autrement dit de taux d'occupation des ressources. Cette norme répond ainsi à la rentabilité d'occupation des ressources en fonction des phénomènes d'engorgement du réseau. De la même façon, la norme "AODI : Always On Dynamic ISDN" qui traite dans le contexte d'un réseau à intégration de services RNIS la prise de canaux B à partir d'une liaison établie initialement dans le seul canal D, fait référence à un taux d'occupation d'un tampon de réception de données. La mise en pratique constatée de ces principes introduit une constante de temps RE nécessaire à l'observation de trafic des données reçues et se traduit par un retard à la décision qui affecte l'optimisation d'occupation des ressources dans le réseau, la performance de l'accès ainsi qu'une taxation excessive pour l'usager, telle qu' taxation directe ou une consommation d'un crédit temps. L'objectif de la présente invention est s'affranchir des inconvénients précités particulièrement d'allouer et libérer sans délais les ressources d'une ligne d'usager par une connaissance a priori de la quantité d'information à recevoir dans le terminal. L'invention complète ainsi les mécanismes selon les normes précitées. Cet objectif est atteint selon l'invention un procédé pour allouer au maximum N canaux ayant débit prédéterminé DE à une quantité d'information à transmettre au cours d'une communication téléphonique facturée pour l'occupation de chaque canal avec un prix de base PB pour un crédit-temps prédéterminé CT puis un prix PU par unité de temps après l'expiration du crédit-temps, N étant un entier au moins égal à 2, qui est caractérisé par les étapes suivantes - comparer la quantité d'information à N-1 seuils croissant avec leurs rangs 1 à N-1 et dépendant de PB, CT et PU, - allouer à la communication un nombre de canaux numériques égal au rang du seuil pour lequel la quantité d'information est strictement inférieure à celui-ci et au moins égale à un autre seuil immédiatement inférieur à celui-ci, un seul canal et N canaux étant alloués respectivement lorsque la quantité d'information est inférieure au plus petit seuil et au moins égale au plus grand seuil, et - transférer la quantité d'information à travers le nombre alloué des canaux. L'anticipation de l'allocation des ressources, c'est-à-dire de la prise des canaux au début de la communication améliore l'écoulement du trafic ainsi que la qualité de la prestation offerte à l'usager, grâce à l'élimination de l'inertie de la prise ressource supplémentaire permettant ainsi l'ajustement de prix de la communication en fonction du débit utile réellement nécessaire. Typiquement, chaque seuil de rang n compris entre 1 et N-1 est égal à nDE pour que le coût de communication soit le plus faible possible comme le verra dans la suite. Comme déjà dit, les canaux sont des "ressources" qui peuvent être des canaux numériques ou des liaisons analogiques. Chaque communication téléphonique peut être facturée en dépendance de plusieurs plages horaires pour lesquelles des prix de base, des crédits-temps et des prix par unité de temps prédéterminée sont respectivement définis. Les seuils auxquels la quantité d'information est comparée sont alors les seuils de la plage horaire au cours de laquelle la communication est établie. L'invention prévoit préalablement un choix entre la priorité à une faible durée de la communication et une optimisation du coût de la communication, les N canaux étant systématiquement alloués à la communication si la faible durée est choisie. Quel que soit le choix, les canaux sont immédiatement libérés après le transfert de la quantité d'information, ce qui a pour effet de stopper la taxation associée. Pour une communication avec le réseau Internet, la quantité d'information est préalablement détectée au niveau du protocole applicatif, typiquement dans l'en-tête d'un paquet inclus dans un message dont la taille est sensiblement égale à la quantité d'information. Le procédé d'allocation de canaux conforme à l'invention est mis en oeuvre dans une unité de commande d'un terminal notamment pour liaisons numériques avec un réseau de données public. D'autres caractéristiques et avantages la présente invention apparaîtront plus clairement ' la lecture de la description suivante de plusieurs réalisations préférées de l'invention en référence aux dessins annexés correspondants dans lesquels - la figure 1 montre deux graphes de variation de coût de communication téléphonique en fonction de quantité d'information à transmettre respectivement selon l'invention et selon la technique antérieure ; - la figure 2 est un algorithme d'allocation de canaux de transmission selon l'invention ; et - la figure 3 est un bloc-diagramme fonctionnel schématique d'une unité de commande numérique mettant en oeuvre le procédé d'allocation de canaux selon l'invention dans un terminal. L'invention repose sur une facturation une liaison de type communication téléphonique de départ, dite également communication sortante, dans un canal de transmission fondée sur un prix de base PB et un prix par unité de temps PU. Le prix de base PB comprend le coût de la connexion du canal au réseau téléphonique commuté, c'est-à-dire l'établissement de la liaison à travers ce canal, et un crédit-temps prédéterminé de communication CT. Le prix unitaire PU intervient après l'expiration du crédit-temps pour facturer la durée restante de la communication dans le canal. Par exemple, les valeurs PB, CT et PU sont les suivantes pour une communication téléphonique locale : PB = 0,74 FF pour au plus CT = 3 mn, et PU = 0,28 FF/mn pour une plage d'heures pleines de 8h à 19h et PU = 0,14 FF/mn pour une plage d'heures creuses. Les paramètres PB, CT et PU varient en fonction du numéro de l'appelé. Dans la suite, on se référera à une communication locale pour liaison d'un terminal d'usager à un travers un centre de commutation téléphonique, local a priori, donnant accès au réseau Internet. A titre d'exemple, il est supposé qu'un terminal d'usager dispose comme ressource de transmission, d'une ligne de transmission avec un accès de base 2B + D d'un réseau numérique à intégration de services RNIS, et donc de N = 2 canaux de transmission Bl et B2 à 64 kbit/s (ou kbit/s), soit un débit par canal de DE = 8 koctet/s. En référence au graphe de coût CC(X) en trait plein I relatif à l'invention dans la figure 1, le coût d'une communication établie sur un canal B1 pour transmettre une quantite d'information X exprimée ici en koctet, par exemple représentative de la taille d'un fichier à transmettre, est PB si la duree de la communication est inférieure au crédit-temps, soit pour X/DE CT. Lorsque la communication est établie sur N = 2 canaux, le coût de celle ci est 2PB si X/(2DE) CT. Selon l'invention, un premier seuil de quantité d'information SE1 est défini à l'intersection des droites d'équations CC = PB + PU(X/DE - CT) pour un canal, et CC = 2PB pour deux canaux, soit SE1 = DE(PB/PU + CT). Typiquement, avec les tarifs en vigueur actuellement, le seuil SE1 est de 3 Moctets dans la plage des heures pleines HP et de 6 Moctets en tarif réduit pendant la plage des heures creuses HC, pour prendre un deuxième canal B2. Dans la figure 1 est également representé un graphe en trait mixte TA indiquant la variation CC (X) selon la technique antérieure. La partie hachurée indique l'économie notable apportée par l'invention particulièrement lorsque la quantité d'information à transmettre est inférieure au premier seuil Par exemple, un fichier de X = 250 koctets est à transférer. Selon la technique antérieure, ce fichier est transmis d'abord dans un seul canal B1 pendant RE = 30 s, soit une quantité de RE.DE = 30.8 = 240 koctets. Il reste 250 - 240 = 10 koctets à transmettre dans les deux canaux B1 et B2 pendant 10/(2.8) seconde, c'est-à-dire pendant moins d'une seconde, ce qui engendre un coût de la communication CC égal à 2PB augmenté de la durée d'inertie à la libération de la ressource suite à un constat de faible trafic, correspondant à au moins à deux crédits-temps très peu utilisés. Selon l'invention, le premier canal B1 est seulement utilisé pendant une durée de 250/8 = 31,25 seconde qui est inférieure au crédit-temps CT et, une économie au moins d'un prix de base PB est ainsi acquise par rapport à la technique antérieure. Selon le procédé de l'invention présentée ci- après, l'usager a le choix soit en privilégiant la rapidité de la communication par sélection systématique des canaux, comme dans le premier exemple, soit en privilégiant le coût de la communication comme dans le deuxième exemple. L'objectif d'optimisation d'utilisation des ressources de l'invention repose sur la prise instantanée de ressource, dès qu'une quantité d'information à transmettre est connue, sans retard de décision RE pour occuper le deuxième canal B2 selon la technique antérieure, ainsi que sur la libération instantanée de ressource des que la quantité d'information est transmise. quantité d'information X est systématiquement connue a priori dans le contexte Internet avant le transfert de celle-ci, et est par exemple un courrier électronique à recevoir. Selon la technique antérieure, la durée pour transférer un fichier de X koctets est égale à RE + (X - DE.RE) / (2DE) où RE désigne le retard induit par l'inertie de la décision, retard de 30 secondes dans des cas concrets rencontrés pour que terminal décide de requérir un deuxième canal réseau. Lorsque la quantité d'information X est supérieure à SE1 et la durée est inférieure à CT, ou en variante lorsque la quantité X doit être transmise le plus rapidement possible, l'invention requiert une durée de transmission de X/(2DE). La technique antérieure présente une durée de communication plus longue de RE + (X - DE.RE)/(2DE) - X/(2DE) = RE/2, soit 15 secondes. Par exemple, pour transférer un fichier de X = 3 Moctets, taille courante d'un fichier de musique MP3 équivalant à 3 minutes en qualité Compact Disque CD, l'invention nécessite une durée de transfert de X/(2DE) = 3000/(2.8) = 187,5 secondes, soit un gain de temps de 15/187,5 = 8% par rapport à la technique antérieure. Ainsi, comme montré à la figure 2, procédé de l'invention présentant principalement neuf étapes E1 à E9, comprend après une première étape initiale E1 pour acquérir une quantité d'information X à recevoir, une deuxième étape initiale E2 proposant un choix à l'usager selon qu'il souhaite ou non privilégier le débit de la communication départ. I1 est supposé dans la figure 2 que la ressource mise à la disposition du terminal d'usager est de N canaux de transmission Bl à BN avec >_ 2. Par exemple, le terminal est une plate-forme de commutation privée PABX avec un accès primaire de N = 30 canaux B1 à B30 à 8 koctet/s. Le choix entre débit et coût de communication à l'étape E2 ne se substitue pas à 'observation d'écoulement de trafic dans le centre commutation téléphonique local qui peut être dépendant d'effets d'engorgement de réseau ou de saturation de trafic. Ce choix s'ajoute en complément à l'observation de trafic pour anticiper au mieux la prise des canaux. Si à l'étape E2, des économies de coût de communication sont choisies selon l'invention, l'une de plusieurs plages horaires est sélectionnée automatiquement en fonction de l'instant où la communication de départ est demandee à l'étape suivante E3. Par exemple, M = 2 plages horaires sont envisagées, une première plage pour les heures pleines HP et une deuxième plage pour les heures creuses HC. Pour chacune des M plages horaires HP, HC, l'invention définit, d'une manière analogue au premier seuil SE1 défini ci-dessus, N-1 seuils SP1 à SPN_1, SC1 à SCN_1 croissants avec leurs rangs 1 à N- 1. Ainsi un seuil SPn, SCn de rang n, avec l'indice n compris entre 1 et l'entier N-1, est une transition entre une communication avec une quantité d'information X strictement inférieure au seuil SCn, à laquelle n canaux seront alloués, et communication avec une quantité d'information strictement supérieure ou égale, c'est-à-dire moins égale au seuil SPn, SCn, à laquelle n+1 canaux seront alloués. Les seuils SP1 à SPN_1, SC, à SCN dépendent des trois paramètres de la plage horaire respective, savoir le prix de base PBP, PBC crédit-temps CTP, CTC et le prix par unité de temps PUP, PUC et sont déduits par récurrence du premier seuil SP1 = DE (PBP/PUP + CTP), SC, = DE (PBC/PUC + CTC), soit SPn = nDE (PBP/(nPUP) + CTP), SCn = nDE (PBC/(nPUC) + CTC). A l'étape suivante E3, la quantité d'information X est comparée aux N-1 seuils SP1 à SPN_1, SC1 à SCN_1 correspondant à la plage horaire sélectionnée à l'étape E3. Si la quantité d'information X strictement inférieure au seuil SPn et supérieure égale au seuil SPn_1, SCn_1 de rang n-1 immédiatement inférieur au rang n du seuil SPn, c'est-à-dire au moins égale à SPn_1, SCn_1, l'étape suivante E5 alloue un nombre n canaux de transmission B égal au rang du seuil SPn, SCn. Si la quantité d'information X est très grande et supérieure ou égale au dernier seuil SPN_1, SCN_1, alors le nombre de canaux alloués est égal à N, à l'étape E6. En revenant à l'étape initiale E2, si le débit de la communication, c'est-à-dire la rapidité de celle-ci, est privilégiée par l'usager, N canaux sont d'office alloués immédiatement à la communication à l'étape E6. Après l'étape E5 ou E6, l'information en quantité X est transférée dans les n canaux alloués avec 1 La figure 3 donne un exemple d'implémentation de l'invention dans un terminal tel qu'un ordinateur de bureau de type PC fonctionnant sous le système d'exploitation WINDOWS 98. Les blocs EQ et COM représentent un équipement de communication du terminal avec ses pilotes, et peuvent être étendus à tout type d'équipement. Le troisième bloc AC représente des bases protocolaires implémentées, en particulier celles permettant l'accès à Internet, telle que la pile TCP/IP (Transmission Control Protocol/Internet Protocol) de MICROSOFT. Les indications de flux de ligne et les commandes de prise/relachement de ressources sont implémentées à ce niveau et peuvent être remontées au bloc suivant TC pour la mise en oeuvre du procédé de l'invention. Le quatrième bloc TC joue le rôle d'interface entre les applications du bloc AP la pile protocolaire AC. Son implémentation est faite par chaînage entre l'interface de programmation Winsock 32 (fichier WS2 32.DLL) et les bases protocolaires sous-jacentes TCP, UDP (User Datagram Protocol), etc., et respecte l'interface SPI (Service Provider Interface) proposée par MICROSOFT. Concrètement cela se traduit par l'implémentation d'une interface LSP (Layered Service Provider) qui a le rôle de filtre protocolaire FI, particulièrement sur la fonction réceptrice de données WSPRecv sous la forme d'un fichier de type librairie dynamique DLL, LSP.DLL par exemple. L'installation de cette interface permet le chaînage sur des filtres préexistants. Le dernier bloc AP concerne diverses applications de service, comme par exemple une navigation WEB sur le réseau Internet, la récupération de courrier électronique le protocole POP3 (Post Office Protocol), la réception de fichiers par le protocole FTP (File Transfer Protocol), etc., en fait toute application utilisant l'interface de programmation WinSock. La mise en oeuvre de l'invention à niveau consiste à intercepter les données protocolaires de taille de données à recevoir au niveau du bloc TC et à la traiter dans un algorithme de décision AD. Cet algorithme prend en compte le paramètre flux entrant pour éviter des prises de ressource alors qu'il existe une congestion au niveau du réseau. Ainsi, l'allocation et la libération de ressources se fait sans inertie en exploitant l'information de taille de données à recevoir, présente dans la majorité des échanges protocolaires sur le réseau Internet. REVENDICATIONS 1 - Procédé pour allouer au maximum N canaux ayant un débit prédéterminé DE à une quantité d'information (X) à transmettre au cours d'une communication téléphonique facturée pour l'occupation de chaque canal avec un prix de base PB pour un crédit-temps prédéterminé CT puis un prix PU par unité de temps après l'expiration du crédit-temps, N étant un entier au moins égal à 2, caractérisé par les étapes suivantes - comparer (E4) la quantité d'information (X) à N-1 seuils (SP1 à SPN_1 ; SC, à SCN_1) croissant avec leurs rangs 1 à N-1 et dépendant de PB, CT et PU, - allouer (E5, E6) à la communication un nombre de canaux numériques égal au rang du seuil (SPn ; SCn) pour lequel la quantité d'information (X) est strictement inférieure à celui-ci et au moins égale à un autre seuil (SPn_1 ; SCn_1) immédiatement inférieur à celui-ci, un seul canal et N canaux étant alloués respectivement lorsque la quantité d'information (X) est inférieure au plus petit seuil (SP1) et au moins égale au plus grand seuil (SPN_1 ; SCN_1), et - transférer (E7) la quantité d'information travers le nombre alloué des canaux. 2 - Procédé conforme à la revendication 1, selon lequel chaque seuil de rang n compris entre 1 et N est égal à nDE(PB/(nPU) + CT). 3 - Procédé conforme à la revendication 1 ou selon lequel la communication téléphonique est facturée en dépendance de plusieurs plages horaires (HP, HC) pour lesquelles des prix de base (PBP, PBC), des crédits-temps (CTP, CTC) et des prix par unité de temps prédéterminée (PUP, PUC) sont respectivement définis, caractérisé en ce que les seuils (SP1 à SPN_ 1, SC, à SCN_1) auxquels la quantité d'information est comparée sont les seuils de la plage horaire cours de laquelle la communication est établie (E3). 4 - Procédé conforme à l'une quelconque revendications 1 à 3, comprenant préalablement choix entre la priorité à une faible durée de la communication (E2, oui) et une optimisation du coût de la communication (E2, non), les N canaux étant systématiquement alloués à la communication (E6) si la faible durée est choisie. 5 - Procédé conforme à l'une quelconque des revendications 1 à 4, comprenant la libération (E8) des canaux alloués immédiatement après le transfert (E7) de la quantité d'information (X). 6 - Procédé conforme à l'une quelconque revendications 1 à 5, comprenant préalablement détection (E1) de la quantité d'information dans l'en-tête d'un paquet inclus dans un message dont la taille est sensiblement égale à la quantité d'information (X). 7 - Procédé conforme à l'une quelconque des revendications 1 à 6, mis en oeuvre dans un terminal notamment pour liaisons numériques avec un réseau de données public.