Brevet FR2516728A1 — publié le 19830520

Le présent brevet concerne les procédures de transmission de données dites a haut niveau comme, par exemple, la procédure HDLC. Il concerne plus particulièrement une méthode de transmission des données qui permet d'insErer, dans le flot principal de données, des octets auxiliaires véhiculant des informations en temps regel. La procédure HDLC est définie dans la Norme Internationale réfOrencEe ISO 4335 -1976 (F). Cette norme précise comment sont constitués les messages a transmettre ainsi que les codes de service FANION, ABANDON et INACTIF. Dans une telle procédure, la liaison est totalement réservée a la transmission des données et même pendant les périodes sans message la liaison est occupée a transmettre des codes de service FANION comme code de remplissage. Dans une liaison de ce type, il peut arriver que l'exploitation de la liaison réclame la transmission de données auxiliaires (ces données sont ainsi baptisées par opposition avec les données principales auxquelles la liaison est affect6*} Ces donnes auxiliaires peuvent être, par exemple, une communication tffiléphonique de service codée ou encore des signaux d'exploitation.Ces données auxiliaires sont caractérisées d'une part, par la faible quantité d'information véhicule et d'autre part, par leur caractère immanent. Il importe donc de trouver un moyen permettant d'ins4rer des octets auxiliaires dans le flot des informations principales. A cet effet, la présente invention a pour objet un procddd de transmission de données à hautes performances du type HDLC permettant l'insertion de données auxiliaires dans le flot de données principales caractris en ce qu'il comporte a l'6mission, l'indication de l'origine des blocs de données auxiliaires par l'envoi de codes de service (F2), chacun des codes de service étant immédiatement suivi d'un bloc de données auxiliaires, lequel bloc de donnes auxiliaires comporte un nombre fixe d'octets n défini par convention préalable, la réception, la localisation du début des blocs de données auxiliaires par reconnaissance des codes de service (F2) les n octets de données auxiliaires étant ensuite à chaque fois extraits du flot de données principales pour être transmis au dispositif destinataire. Suivant une autre caractéristique de l'invention, le nombre n d'octets constituant chaque bloc de donnes auxiliaires est variable d'un bloc de données auxiliaires à l'autre et est défini par la valeur contenue dans un nombre fixe de bits qui suivent immédiatement le code de service (F2) qui marque l'origine du bloc de données auxiliaires concernées. Suivant un autre enseignement de l'invention, les bits qui suivent immédiatement le code de service (F2) qui maque l'origine du bloc de données auxiliaires concernes contiennent, outre l'indication de la longueur du bloc de données auxiliaires, des renseignements concernant la transmission de ces dites données auxiliaires comme, par exemple, 11 indication du destinataire. L'invention vise bien entendu les systèmes de transmission de données répondant aux caractéristiques précddentes. D'autres objets, caractéristiques et avantages de la présente invention ressortiront mieux de l'expose qui suit, fait en référence aux dessins annexés a ce texte qui reprEsentent des modes de réalisation préférés de l'invention. La figure 1 représente les 3 codes de service utilises dans la procédure de transmission de données HDLC aussi bien que dans la présente invention. La figure 1A représente le code FANION (en anglais FLAG} de la procédure HDLC qui est le code de REMPLISSAGE FO dans la présente invention. La figure 1B représente le code ABANDON (en anglais ABORT) de la procédure HDLC. La figure 1C représente le code INACTIF (en anglais IDLE) de la procédure HDLC. La figure 2 représente le code de service (F2) servant de préambule aux blocs d'octets auxiliaires. La figure 3 représente l'ordinogramme du procédé de réception dans le cas où le code de service F2 est suivi d'un nombre fixe et défini n d'octets auxiliaires. La figure 4 représente l'ordinogramme du procédé de réception dans le cas ob le nombre d'octets composant chaque bloc de donnees auxiliaires est défini par l'octet qui suit immédiatement le code de service (F2 > . La figure 5 représente l'ordinogramme du procédé de exception dans le cas ob l'octet qui suit iamédiatement le code de service (F2) définit l'identité du destinataire et la longueur du bloc de données auxiliaires. Comme il a été dit précédemment, la procédure HDLC utilise 3 codes de service . le code FANION . le code ABANDON le code INACTIF Le code FANION est représenté sur la figure 1A. Ce code a une longueur de 8 bits et sa configuration est la suivante - le premier bit (qui est situe au rang 0) a la valeur ZERO - les six bits suivants (qui sont situes aux rangs 1 à 6) ont la valeur UN - le dernier bit (qui est situé au rang 7) a la valeur ZERO. Le code FANION (en anglais FLAG) est utilise comme CODE DE REMPLISSAGE (en anglais FILLER) et il est -désigné par le symbole FLG. Ce code de remplissage est utilisé pour garnir les espaces laissés libres entre les trames. Le code ABANDON est représenté sur la figure 1B. Ce code a une longeur de 8 bits et sa configuration est la suivante - le premier bit (qui est situé au rang 0) a la valeur ZERO - les sept bits suivants (qui sont situés aux rangs 1 a 7) ont la valeur UN. Le code ABANDON (en anglais ABORT) est utilisé comme CODE D'INDICATION D'ERREUR et il est désigne par le symbole ABT. Ce code d'indication d'erreur est utilise par le dispositif émetteur pour signaler qu'il a détecté un fonctionnement incorrect dans la liaison. Le code INACTIF est représenté sur la figure 1C. Ce code a une longueur de 16 bits et sa configuration est la suivante - le premier bit (qui est situe au rang 0) a la valeur ZERO - les quinze bits suivants (qui sont situés aux rangs 1 a 15) ont la valeur UN. Le code INACTIF (en anglais IDLE) est utilisé comme CODE DE LIBERATION de la liaison et il est désigné par le symbole IDL. Ce code de libération de la liaison est utilisé par le dispositif metteur pour signaler qu'il a fini d'émettre et que la liaison est disponible pour d'autres transmissions. Dans les 3 codes qui viennent d'être dXcrit, il est remarquable que les 7 premiers bits de ces codes soient identiques : 1 bit "ZERO" suivi de 6 bits "UN". Cette partie identique constitue la clef permettant de savoir qu'il s'agit de codes de service. Cette partie identique sera appelée par la suite "NOYAU DE CODE" (en anglais FLAG NUCLEUS). Il est possible de résumer ce qui vient autre dit en disant que le code FANION est un noyau de code suivi d'un bit égal à ZERO. Pour cela il sera désigné par la suite par l'appellation FO le code ABANDON est un noyau de code suivi d'un bit égal à UN. Pour cela, il sera désignè par la suite par l'appellation F1 le code INACTIF est un noyau de code suivi de 9 bits égaux a UN. Pour cela, il sera désigné par la suite par l'appellation F9. Dans la pressente invention, il est propose un quatrième code de service constitué d'un noyau de code suivi de deux bits égaux a UN. Ce code de service F2 est représenté sur la figure 2. Aux quatre codes de service F0, F1, F2 et F9 ainsi définis, la pressente invention propose l'attribution des fonctions de service suivantes le code de service FO conserve la fonction FANION comme dans la procédure HDLC standard, cest-a-dire la fonction de remplissage intertrame le code de service F1 conserve la fonction ABANDON comme dans- la procédure HDLC standard c'est-à-dire la fonction annulation du message reçu le code de service F2 constitue le préambule d'un message secondaire c'est-à-dire que ce message secondaire débute immédiatement derrière le dernier bit du code de service F2 le code de service F9 conserve la fonction INACTIF comme dans la procédure HDLC standard c'est-à-dire la fonction de libération de ligne. Ces conventions étant définies, la présente invention propose trois variantes pour la procffidure d'exploitation du code de service F2. Dans une première version, l'apparition du code F2 marque le début proprement dit du message secondaire, c'est-a-dixe que le premier octet qui suit ce code de service F2 est le premier octet du message auxiliaire. La longueur du message auxiliaire est, dans cette procédure, définie une fois pour toute et comprendra un nombre fixe d'octets n qui est connu du système récepteur. Dans la deuxième version, l'octet qui suit le code F2 est un code qui définit le nombre d'octets composant le message auxiliaire placé immédiatement après lui. Par exemple, si l'octet qui suit le code F2 a pour valeur 5, cela signifie que les cinq octets placés après lui constituent le message inséré. Pour connattre la longueur du message, le système récepteur aura a lire cet octet et en ddduire le nombre d'octets n à recevoir. Dans une troisième version, l'octet qui suit le code F2 est un code qui définit les modalités de la transmission auxiliaire. Par exemple, les deux premiers bits de cet octet définissent un destinataire parmi quatre et les six bits suivants définissent le nombre d'octets transmis. Dans ce cas, le système récepteur r.econnaStra l'adresse du dispositif destinataire par la décodífication des deux premiers bits de cet octet et la longueur du message par la decodification des 6 bits suivants. A l'emission, les choses se passent de la façon suivante. Quand le dispositif émetteur est sollicité pour émettre un message auxiliaire, il suspend l'émission du message principal des que cela est permis par la procédure HDLC. Après quoi, il émet sur la liaison un code de service F2. Ce code de service est ensuite suivi du groupe d'octets constituant le message auxiliaire. Dans le cas de la première version citée comme exemple cidessus, le système émetteur place sur la liaison le code de service F2 suivi des n octets constituant le message auxiliaire. Dans le cas de la deuxième version, le système émettez place sur la liaison le code de service F2, suivi de l'octet de définition de la longueur n du message a transmettre puis il place les n octets du message auxiliaire. Dans le cas de la troisième version, le système metteur place sur la liaison le code de service F2, suivi de l'octet de définition de l'adresse et de la longeur n du message, ensuite, il place les n octets du message auxiliaire. A la réception, le système récepteur. localise le ddbut du message auxiliaire par la détection du code de service F2 et recueille les octets du message auxiliaire qui suivent immédiatement. Sur la figure 3 est représenté l'ordinogramme du procédé de localisation et de séparation du message auxiliaire correspondant la premiere version de l'invention. En (1) est représentee la réception d'un octet sur la liaison. En (2) -le système de réception recherche si cet octet contient un noyau de code. Si c'est le cas en (3), le système de réception vérifie si ce noyau de code est suivi de deux bits égaux à UN : c'est-a-dire s'il s'agit d'un code de service F2. Si l'on est en présence d'un code de service F2 en (4), le système de r8ception ouvre le registre auxiliaire en vue du stockage du message auxiliaire. Par contre, s'il ne s'agit pas d'un code de service F2, le système récepteur vérifie en (5) si le registre auxiliaire est ouvert.Si ce registre est ouvert, cela signifie que le code de service d8tecté est arrivé alors que le système récepteur attendait un octet de message auxiliaire ce qui constitue une anomalie et en (6) il y a mission d'un signal d'incident sur réception d'un message auxiliaire. Une fois ce signal émis, le système de réception traite en (7) code de service reçu conform'ement- a la norme HDLC standard. Dans le cas, ofl en (5), le système récepteur trouve le registre auxiliaire fermé, cela signifie qu'aucun octet auxiliaire n'est attendu et le code de service est transmis directement en (7) pour être traité conformement a la norme HDLC standard.Si en (2) le système de réception ne détecte pas de noyau de code, il se trouve donc en présence d'une donnée et il recherche en (8) si le registre auxiliaire est ouvert. Si ce registre auxiliaire n'est pas ouvert, cela signifie que la donnée reçue appartient à un message principal et cet octet est traité en (9) comme tel. Par contre, si le registre auxiliaire est ouvert, cela signifie que l'octet reçu appartient a un message auxiliaire et en (10) cet octet est chargé dans le registre auxiliaire. Une fois cet octet chargé, le système de réception accroit en (11) d'une unité le compte d'octet auxiliaire reçu puis vérifie en (12) si ce nouveau compte d'octet est égal au nombre d'octets auxiliaires défini conventionnellement.Si cette égalité n'est pas vérifie, le système de rdeeption, en (13), ducale le contenu du registre a décalage (ou éventuellement fait évoluer l'adresse de chargement du prochain octet dans le registre à décalage) afin de préparer ce registre a décalage a recevoir le prochain octet. Dans le cas od l'égalité est vérifiée en (12) le système de rFception ferme l'accès au registre en (14) puis en (15) transmet le contenu de ce registre auxiliaire au dispositif destinataire du message auxiliaire. Une fois cette transmission effectue, le système de réception effectue, en (16), la remise à z6ro du registre auxiliaire. Dans le cas de la deuxième version citEe comme exemple dans les pages prEcedentes lorsque le système emetteur désire insérer un message auxiliaire, il coînmence par placer sur la liaison un code de service F2. Ensuite, immdiatement s la suite de ce code de service, il place un octet dont le contenu indique la longeur en octets du message auxiliaire. Enfin, il place les n octets du message auxiliaire. Sur la fige 4 est représenté l'ordinogramme de la procédure de réception d'un message auxiliaire correspondant a la deuxième version de l'invention. A la réception, le système récepteur reçoit en (20) les octets placés sur la liaison. En (21), il examine chaque octet incident pour vérifier si cet octet ne contient pas un noyau de code : Si l'octet incident contient un noyau de code, le système récepteur examine en (22) si le code de service n'est pas un code de service F2. Si c'est un code de service F2, le système récepteur, en (23), ouvre l'accès au registre de compte d'octets auxiliaire. Si le code de service reçu n'est pas un code de service F2, en (24), le système récepteur vérifie si l'accès au registre de compte d'octet est ouvert.Si l'accès a ce registre de compte d'octet est ouvert, cela signifie que ce code de service suit immédiatement un code F2 c'est- -dire qu'il se trouve a l'emplacement de l'octet de définition du nombre d'octets constituant le message. Dans ce cas, en (25) le système de rSception envoie un signal d'incident de transmission de message auxiliaire puis en (27) transmet le code de service reçu pour exploitation suivant le mode HDLC standard. Dans le cas contraire, si en (24) l'accès au registre de compte d'octets auxiliaire est ferme, le système de réception passe à l'étape suivante (26) où il vérifie si l'accès au registre de données auxiliaire est ouvert.Si cet accès est ouvert, cela signifie que le code de service incident est arrive alors que les données auxiliaires sont attendues et en (25) il y a dmission d'un signal d'incident sur message auxiliaire puis en (27) le code de service suivant la norme HDLC standard. Dans le cas a en (21) il n'a pas été trous de noyau de code, le système récepteur examine en (28) Si l'accès au registre de compte d'octet est ouvert. Si l'accès à ce registre de compte est fermé, le système récepteur regarde en (32) si l'accès au registre de données auxiliaires est ouvert. Si l'accès a ce registre est fermé,-cela signifie qu'aucune donnée auxiliaire n'est attendue et l'octet reçu est transmis en (33) pour traitement suivant la norme HDLC standard.Si au contraire, dans l'étape (32) le système récepteur a trouvé l'accès au registre données auxiliaires ouvert, cela signifie que l'octet reçu est une donne auxiliaire et qu'il est attendu par le registre de données auxiliaires. Dans ces conditions, l'octet est chargé en (34) dans le registre de donnes auxiliaires. Puis en (35) le système récepteur accroit d'une unité le contenu du compteur d'octets auxiliaires pour tenir compte de cet octet qui vient d'être chargé. Ensuite, en (36), le système récepteur vérifie si ce nouveau contenu du compteur d'octets auxiliaires est égal au compte d'octets auxiliaires défini par le contenu du registre de compte d'octets.S'il n'y a pas égalité, le système rEcepeur, en (37), décale le registre octets auxiliaires (ou dventuellement déplace l'adresse d'accès au registre d'octets auxiliaires} pour préparer le chargement du prochain octet de donnée auxiliaire. Dans le cas a dans l'6tape (36) le système récepteur constate que le nombre d'octets auxiliaires reçus est égal au compte d'octets auxiliaires attendus, ce système récepteur, en (38), ferme l'accès au registre de données auxiliaires, puis en (39), il transmet le contenu du registre d'octets auxiliaires aux circuits utilisateurs.Une fois cette opration terminez, le système de rffiception effectue en (40) la remise a zEro du registre d'octets auxiliaires et en (41) la remise a zdro du compteur des octets auxiliaires. Dans le cas oA, en (28), le Système de réception a trouvé l'accès du registre de compte d'octets auxiliaires ouverts, celui-ci effectue le chargement du dit registre de compte d'octets auxiliaires a partir du contenu de l'octet incident reçu en (20). Une fois le registre de compte d'octet chargé, le système de rdseption effectue en (30) la fermeture de l'accès au registre de compte d'octets, puis en (31) l'ouverture de l'accès au registre des octets auxiliaires. Dans le cas de la 3ème version, lorsque le système metteur désire placer un message auxiliaire, il commence par placer sur la liaison un code de service F2 suivi d'un octet dit de définition de modalité puis enfin du message auxiliaire a transmettre. A la réception, le système cepteux-effectue la séparation du message auxiliaire en localisant le code de service F2 et en descendant l'octet de définition de modalité. La figure 5 représente l'ordinogramme de la procédure de réception d'un message auxiliaire suivant la troisième version de l'invention. En (50) le système de réception reçoit un à un les octets incidents. En (51) le système de réception examine si cet octet contient un noyau de code. Si cet octet contient un noyau de code, le système de réception surveille en (53) pour savoir si le code en question est un code F2. S'il s'agit effectivement d'un code F2 le système récepteur, en (54), ouvre l'accès au registre de définition de modalité de la transmission. Dans le cas contraire, c'est-à-dire si le code reçu n'est pas un code F2 le système de réception vérifie en (55) Si l'accès au registre de définition de modalit de la transmission est ouvert.Si cet accès est ouvert, cela signifie que le système de réception attendait un octet de définition de modalité à la place du code de service, il y a donc un incident dans la réception du message auxiliaire et en (57) il y a émission d'un signal d'incident puis en (58) le code de service reçu et traité suivant la norme standard HDLC. Si en -(55) l'accès au registre de définition de modalité de la transmission est trouva ferme, le système de réception vérifie en (56) si l'accès au registre auxiliaire est ouvert.Si cet acces est ouvert, cela signifie que le code de service reçu est arrivé alors qu'un octet de donnée auxiliaire était attendu et en (57) il y a émission d'un signal d'incident puis en (58) le code de service est traité suivant la norme standard BDLC. Dans le cas a en (56) l'accès au registre auxiliaire est trouvé fermé, la situation est normale en ce qui concerne le message auxiliaire et le code de service reçu est traité en (58) suivant la norme standard HDLC. Si dans l'examen effectue en (51) le système récepteur n'a pas trouvé de noyau de code, ce qui veut dire que l'octet reçu est un octet de donnez, il examine en (52) si l'accès au registre de difinition de modalité de la transmission est ouvert.Si l'accès au registre de définition de modalité de la transmission est ouvert, le système de réception, en (69), charge l'octet reçu dans le registre de définition de modalité puis en (70) il ferme l'accès au registre de définition de modalit! de la transmission puisque ce registre contient l'information attendue. Puis en (71) le système de réception traite l'octet de définition de modalité et enfin en (72) le traitement étant fini, le système de réception ouvre l'accès au registre auxiliaire. Si lors du test effectué en (52) l'accès au registre de la définition de modalité de la transmission a été trouvé fermi, le système de réception, en (59), regarde si l'accès au registre auxiliaire est ouvert.Si cet accès est fermi cela veut dire que l'octet de données reçu appartient aux donnes principales et celuici est traité en (60) suivant le standard HDLC. Par contre, si l'accès au registre auxiliaire est ouverts cela signifie que cet octet appartient aux donnes auxiliaires et en (61) le système de réception charge cet octet dans le registre auxiliaire. Quand cet octet est charge le système de réception, en (62), ascroft d'une unité le contenu du compteur d'octet auxiliaire puis cette opGration dotant effectuée, il vérifie en (63) si le nombre d'octet auxiliaire défini dans l'octet de ddflnition de modalitF est atteint. Si ce nombre n'est pas atteint, cest-a-dire que d'autres octets auxiliaires sont attendus, le système de réception effectue en (64) le décalage du registre auxiliaire en vue de la réception du prochain octet auxiliaire. Dans le cas contraire, c'est- & dire quand tous les octets auxiliaires ont été reçus, le système de réception, en (65), ferme l'accès au registre auxiliaire puis en (66) transmet les données auxiliaires reçues au système utilisateur. Une fois cette opération terminée, le système de réception clot la réception du message auxiliaire en mettant à zéro, en (67), le registre de modalité et, en (68), le registre auxiliaire. Bien entendu, l'invention n'est nullement au mode de réalisation décrit et représenté et comprend tous les équivalents techniques des moyens décrits ainsi que leurs combinaisons si celles-ci sont effectuées suivant l'esprit de l'invention et mises en oeuvre dans le cadre des revendications qui suivent. REVENDICATIONS 1. Procède de transmission de données de haut niveau du type HDLC permettant l'insertion de donnes auxiliaires dans le flot de données principales caractérisé en ce qu'il comporte à l'Emission, l'indication de l'origine des blocs de données auxiliaires par l'envoi de codes de service (F2), chacun des dits codes de service étant immédiatement suivi d'un bloc de données auxiliaires, lequel bloc de données auxiliaires comporte un nombre fixe d'octets n ddfini par convention préalable, à la réception, la localisation du ddbut des blocs de données auxiliaires par reconnaissance des codes de service (F2) les n octets de donnes auxiliaires dotant ensuite t chaque fois extraits du flot de donnes principales pour Autre transmis au dispositif destinataire. 2. Procède de transmission de donnes suivant la revendication 1 caractérisé en ce que le nombre n d'octets constituant chaque bloc de données auxiliaire est variable d'un bloc de données auxiliaires a l'autre et est fini par la valeur contenue dans un nombre fixe de bits qui suivent immédiatement le code de service (F2) qui marque l'origine du bloc de données auxiliaires concernées. 3. Procéda de transmission de données suivant la revendication 2 caractérisé en ce que les bits qui suivent immediatement le code de service (F2) qui marque l'origine du bloc de données auxiliaires concernEs contiennent, outre l'indication de longueur du bloc de données auxiliaires, des renseignements concernant la transmission de ces dites données auxiliaires comme, par exemples l'indication du destinataire. 4. Systeme de transmission de donnes utilisant le procédé de transmission suivant l'une des revendications 1, 2 ou 3.