FR2827456A1 - Procede de communication entre deux couches de protocole - Google Patents

Procede de communication entre deux couches de protocole Download PDF

Info

Publication number
FR2827456A1
FR2827456A1 FR0109272A FR0109272A FR2827456A1 FR 2827456 A1 FR2827456 A1 FR 2827456A1 FR 0109272 A FR0109272 A FR 0109272A FR 0109272 A FR0109272 A FR 0109272A FR 2827456 A1 FR2827456 A1 FR 2827456A1
Authority
FR
France
Prior art keywords
layer
message
protocol
manager
queue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR0109272A
Other languages
English (en)
Inventor
Bernard Vautey
Jean Coupaye
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alcatel CIT SA
Alcatel Lucent SAS
Original Assignee
Alcatel CIT SA
Alcatel SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alcatel CIT SA, Alcatel SA filed Critical Alcatel CIT SA
Priority to FR0109272A priority Critical patent/FR2827456A1/fr
Publication of FR2827456A1 publication Critical patent/FR2827456A1/fr
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/321Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)

Abstract

C'est un procédé de communication d'une première à une seconde couche de protocole, permettant à une tâche de la première couche de transférer un message vers une seconde couche. Il consiste à exécuter dans la seconde couche une routine, dite d'autorisation d'émission, si et seulement si aucune congestion n'empêche le traitement d'un message dans la seconde couche; et il consiste à : - si la routine d'autorisation d'émission a émis un signal d'autorisation d'émission, transférer un message de la première à la seconde couche, et exécuter une autre routine, dans la première couche, pour informer le gestionnaire de la prise en compte de ce message; - si la routine d'autorisation d'émission n'a pas émis de signal d'autorisation d'émission, depuis le dernier transfert d'un message, mettre dans la file d'attente chaque message qui est à transférer de la première à la seconde couche, et fournir en outre au gestionnaire de la file l'adresse d'une routine chargée d'informer ce gestionnaire de la prise en compte de ce message, quand ce sera réalisé.

Description

<Desc/Clms Page number 1>
Procédé de communication entre deux couches de protocole
L'invention concerne un procédé de communication entre deux couches de protocole. Lorsqu'un message est à transmettre d'une première couche de protocole à une seconde couche de protocole, il est connu de mettre ce message dans une file d'attente. Il peut y avoir plusieurs files d'attente pour communiquer des message de la première couche à la seconde couche. Classiquement on exécute au moins une tâche distincte pour chaque couche de protocole. Dans la seconde couche, une tâche de traitement de message est associée à chaque file d'attente. Elle attend qu'un ou plusieurs messages soit mis dans cette file.
S'il n'y a pas de congestion empêchant le traitement d'un message dans la seconde couche, et si la tâche en cours dans la première couche n'a pas un degré de priorité supérieur, une commutation de tâche est réalisée dés lors qu'au moins un message est en attente dans au moins une file : La tâche en cours dans la première couche est interrompue, et la tâche de traitement de message de chaque file contenant au moins un message est lancée. Cette tâche de traitement de messages appelle une routine de la première couche qui a pour fonction d'informer le gestionnaire de la file, du fait que le message transféré est en cours de traitement dans la seconde couche. Puis une nouvelle commutation de tâche est réalisée : Cette tâche de traitement de message est interrompue. Le gestionnaire de tâche relance la tâche qui était en cours d'exécution dans la première couche. Chaque commutation de tâche nécessite un temps de traitement et des ressources non négligeables.
Le but de l'invention est de proposer un procédé de communication entre deux couches, permettant de réduire le temps de traitement et les ressources nécessaires.
L'objet de l'invention est un procédé de communication d'une première à une seconde couche de protocole, permettant à une tâche de la première couche de transférer un message vers une seconde couche ; caractérisé en ce qu'il consiste à exécuter dans la seconde couche une routine, dite d'autorisation d'émission, si et seulement si aucune congestion n'empêche le traitement d'un message dans la seconde couche ; et : - - si la routine d'autorisation d'émission a émis un signal d'autorisation d'émission, transférer un message de la première à la seconde couche, et exécuter une autre routine, dans la première couche, pour informer le gestionnaire de la prise en compte de ce message ;
<Desc/Clms Page number 2>
- si ta routine d'autorisation d'émission n'a pas émis de signal d'autorisation d'émission, depuis le dernier transfert d'un message, mettre dans la file d'attente chaque message qui est à transférer de la première à la seconde couche, et fournir en outre au gestionnaire de la file l'adresse d'une routine chargée d'informer ce gestionnaire de la prise en compte de ce message, quand ce sera réalisé.
Le procédé ainsi caractérisé ne nécessite aucune commutation de tâche puisque c'est toujours la même tâche qui est active. Il permet donc une économie de temps de traitement et de ressources.
Selon un mode de mise en oeuvre préférentiel, pour mettre un message dans une file d'attente, il consiste à mémoriser plusieurs segments du message respectivement dans diverses portions de mémoire libres, et à mémoriser des liens reliant les segments de ce message.
Ce mode de mise en oeuvre ne nécessite pas de lire, modifier, puis recopier un message entier lorsqu'une en-tête lui est rajoutée par un protocole de communication, puisqu'il est possible de mémoriser un segment supplémentaire (une en-tête d'encapsulation correspondant au protocole de communication) sans avoir à lire, modifier, et recopier l'intégralité du message déjà mémorisé. Ce mode de mise en oeuvre économise ainsi le temps de traitement qui serait nécessaire pour lire puis ré-écrire un message entier dans la mémoire de travail.
L'invention sera mieux comprise et d'autres caractéristiques apparaîtront à l'aide de la description ci-dessous.
Considérons, à titre d'exemple, la mise en oeuvre du procédé selon l'invention pour faire communiquer une couche application et une couche TCP/IP (Transfer Control Protocol/Internet Protocol) du système d'exploitation commercialisé sous la marque DUNIX. Le procédé selon l'invention est applicable dans les deux sens de communication. Considérons, à titre d'exemple, la communication de messages de la couche application vers la couche TCP/IP.
Il y a une ou plusieurs files d'attente permettant de stocker un message en attendant qu'il puisse être transféré de la couche application à la couche TCP/IP. Il y a une ou plusieurs tâches en cours d'exécution dans la couche application.
<Desc/Clms Page number 3>
Il faut distinguer deux cas : - Si une tâche de la couche TCP/IP devient prête à traiter un message, c'est à dire s'il n'y a plus de congestion pour cette couche TCP/IP, une routine de cette couche, appelée routine d'autorisation d'émission est exécutée pour l'une des files. Cette routine émet un signal d'autorisation d'émission, et elle fournit l'adresse d'une autre routine, appelée routine de réception, dans la couche application. Même s'il y a plusieurs tâches qui sont disponibles pour recevoir un message via la file considérée, un seul signal d'autorisation d'émission est émis pour cette file, jusqu'au prochain transfert d'un message. Si au moins un message est alors proposé au gestionnaire de la file correspondante, le message est transféré directement à la couche TCP/IP sans qu'il soit nécessaire de le mémoriser dans cette file. La routine de réception est exécutée par la tâche ayant émis le signal d'autorisation d'émission.
- Si aucune tâche de la couche TCP/IP n'est prête à traiter un message, c'est à dire s'il y a une congestion pour chaque tâche : Aucun signal d'autorisation d'émision n'a été reçu depuis le dernier transfert de message via la file considérée. Lorsqu'un message doit être transféré vers la couche TCP/IP, il est mémorisé dans la file considérée. Il reste stocké dans la file au moins jusqu'à ce que le gestionnaire de cette file reçoive le prochain message d'autorisation d'émission. S'il y a un ou plusieurs autres messages en attente dans la file, chaque message attend son tour dans l'ordre d'arrivée de ces messages. La couche Application informe de cette congestion la couche au-dessus d'elle, car cette information participe au contrôle du flux des messages à travers l'ensemble du système.
Ainsi la couche TCP/IP ne reçoit jamais de message sans avoir au préalable donné une autorisation d'émission. Par conséquent, la couche application connaît, message par message, l'état de progression des messages à transférer à la couche TCP/IP, et elle peut elle-même faire remonter cette information en amont. Le flux des messages est donc parfaitement contrôlé.
Les files d'attente sont de préférence réalisées chacune dans une mémoire tampon appelée mémoire tampon logique parce que l'enregistrement physique d'un message est réparti sur plusieurs emplacements libres, de la mémoire de travail, qui n'ont pas une suite d'adresses continue.
L'enregistrement d'un message dans une mémoire tampon logique consiste à mémoriser respectivement plusieurs segments du message dans diverses emplacements de mémoire libres, et à mémoriser des liens reliant tous les segments de ce message. En particulier, l'ajout d'une entête protocolaire pour
<Desc/Clms Page number 4>
encapsuler un message consiste à mémoriser cette entête dans une portion de mémoire libre, indépendante de celles utilisées précédemment pour d'autres parties du message, constituées auparavant. Par ailleurs, il consiste à mémoriser un lien logique reliant cette entête au dernier segment créé précédemment. Lors d'un tel ajout, il n'y a pas de lecture et de ré-écriture des segments créés précédemment pour ce message. Il y a donc une économie de temps de traitement. Un descripteur de mémoire tampon logique mémorise les liens reliant les divers segments de chaque message stocké dans la mémoire tampon logique. Vu de l'extérieur, chaque message stocké dans cette mémoire tampon logique semble être constitué d'un seul bloc.

Claims (2)

REVENDICATIONS :
1) Procédé de communication d'une première à une seconde couche de protocole, permettant à une tâche de la première couche de transférer un message vers une seconde couche ; caractérisé en ce qu'il consiste à exécuter dans la seconde couche une routine, dite d'autorisation d'émission, si et seulement si aucune congestion n'empêche le traitement d'un message dans la seconde couche ; et : - - si la routine d'autorisation d'émission a émis un signal d'autorisation d'émission, transférer un message de la première à la seconde couche, et exécuter une autre routine, dans la première couche, pour informer le gestionnaire de la prise en compte de ce message ; - - si la routine d'autorisation d'émission n'a pas émis de signal d'autorisation d'émission, depuis le dernier transfert d'un message, mettre dans la file d'attente chaque message qui est à transférer de la première à la seconde couche, et fournir en outre au gestionnaire de la file l'adresse d'une routine chargée d'informer ce gestionnaire de la prise en compte de ce message, quand ce sera réalisé.
2) Procédé selon la revendication 1, caractérisé en ce que pour mettre un message dans une file d'attente, il consiste à mémoriser plusieurs segments du message respectivement dans diverses portions de mémoire libres, et à mémoriser des liens reliant les segments de ce message.
FR0109272A 2001-07-12 2001-07-12 Procede de communication entre deux couches de protocole Pending FR2827456A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0109272A FR2827456A1 (fr) 2001-07-12 2001-07-12 Procede de communication entre deux couches de protocole

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0109272A FR2827456A1 (fr) 2001-07-12 2001-07-12 Procede de communication entre deux couches de protocole

Publications (1)

Publication Number Publication Date
FR2827456A1 true FR2827456A1 (fr) 2003-01-17

Family

ID=8865410

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0109272A Pending FR2827456A1 (fr) 2001-07-12 2001-07-12 Procede de communication entre deux couches de protocole

Country Status (1)

Country Link
FR (1) FR2827456A1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0955749A1 (fr) * 1998-05-08 1999-11-10 Nortel Networks Corporation Commande d'encombrement par un récepteur et avis d'encombrement du routeur
WO2001030032A1 (fr) * 1999-10-18 2001-04-26 Cobalt Networks, Inc. Gestion de largeur de bande

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0955749A1 (fr) * 1998-05-08 1999-11-10 Nortel Networks Corporation Commande d'encombrement par un récepteur et avis d'encombrement du routeur
WO2001030032A1 (fr) * 1999-10-18 2001-04-26 Cobalt Networks, Inc. Gestion de largeur de bande

Similar Documents

Publication Publication Date Title
TW412685B (en) System and method for managing client requests in client-server networks
FR2898753A1 (fr) Systeme sur puce a controle semi-distribue
JP2004532443A (ja) 状態転送動作のための分散型キャッシュ
FR2893803A1 (fr) Methode de communication entre une cartre (u)sim en mode serveur et un client
FR2984554A1 (fr) Bus logiciel
FR2994623A1 (fr) Dispositif et procede de transfert unidirectionnel de donnees
EP4132177A1 (fr) Procédé d&#39;acheminement de données d&#39;une session initialisée entre un terminal et un serveur
EP0524089B1 (fr) Structure de logiciel pour système de traitement de données, notamment pour système de télécommunications
FR2851712A1 (fr) Dispositif de gestion de communications par selection de terminaux et de medium de communication
FR2827456A1 (fr) Procede de communication entre deux couches de protocole
EP3332527B1 (fr) Procédé de transmission d&#39;information entre deux domaines de niveaux de sécurité distincts
CA2306677A1 (fr) Systeme de traitement de l&#39;information permettant la securisation des communications entre composants logiciels
US20220337615A1 (en) Dynamic sessional redirection and proxy
EP2979222B1 (fr) Procédé de stockage de données dans un système informatique effectuant une deduplication de données
FR2833123A1 (fr) Procede de gestion d&#39;une communication avec des moyens de fourniture d&#39;un service a serveurs multiples
EP1859600B1 (fr) Procédé amélioré de transmission de données et d&#39;informations de service qui leur sont associeés
EP2278466A1 (fr) Dispositif et procédé pour l&#39;exécution distribuée de traitements de données numériques
WO2001047197A2 (fr) Procede de transmission de mini-messages et son dispositif associe
EP1652346B1 (fr) Procede de localisation d&#39;objets mobiles communicants au sein d&#39;un reseau de communications
EP1439672A1 (fr) Méthode de configuration d&#39;un chemin de routage dans un routeur ip
EP1045306B1 (fr) Procédé de modification d&#39;un protocole entre objets distribués
EP1447948A2 (fr) Requête à traitement anticipé pour un routeur actif
FR2803711A1 (fr) Procede de gestion de collision d&#39;appels dans un canal de type canal d
EP1031926A1 (fr) Procédé de communication entre objects distants
JP4664026B2 (ja) コンピュータシステム、データ転送装置、及びデータ転送方法