WO1999027687A1 - Cell dispersion and sequencing method - Google Patents

Cell dispersion and sequencing method Download PDF

Info

Publication number
WO1999027687A1
WO1999027687A1 PCT/FR1998/002459 FR9802459W WO9927687A1 WO 1999027687 A1 WO1999027687 A1 WO 1999027687A1 FR 9802459 W FR9802459 W FR 9802459W WO 9927687 A1 WO9927687 A1 WO 9927687A1
Authority
WO
WIPO (PCT)
Prior art keywords
cell
path
information
queue
transmission
Prior art date
Application number
PCT/FR1998/002459
Other languages
French (fr)
Inventor
Yves Peligry
David Mouen-Makoua
Thierry Grenot
Original Assignee
Thomson-Csf
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 Thomson-Csf filed Critical Thomson-Csf
Priority to EP98955685A priority Critical patent/EP1033014A1/en
Priority to CA002308367A priority patent/CA2308367A1/en
Priority to IL13574198A priority patent/IL135741A/en
Publication of WO1999027687A1 publication Critical patent/WO1999027687A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1553Interconnection of ATM switching modules, e.g. ATM switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1553Interconnection of ATM switching modules, e.g. ATM switching fabrics
    • H04L49/1592Perfect Shuffle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/256Routing or path finding in ATM switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/565Sequence integrity

Definitions

  • the present invention relates to methods of dispersing and reordering cells. It applies in particular to an ATM switch, the English abbreviation for Asynchronous Transfer
  • This digital information forms traffic flows which can be classified into two main categories: - a first category of flow groups real-time traffic.
  • traffics are characterized by traffic parameters and time constraint parameters,
  • a second category of flow groups traffic of the non-real time type for which the traffic parameters are little or not defined.
  • the transfer of digital information by a switch is accomplished by establishing a connection between an entry point and an exit point of the switch.
  • VBR NRT service Anglo-Saxon initials for Variable Bit Rate Non Real Time
  • UBR service Anglo-Saxon initials for Unspecified
  • Bit Rate Bit Rate.
  • two transmission paths denoted ai and a2
  • ai and a2 Two connections with sporadic traffic each use one of these two transmission paths.
  • this configuration is very likely.
  • congestion occurs on the portion common to ai and a2 regardless of the traffic carried on all the other paths.
  • network switching capabilities may be lost; traditional internal routing techniques are ineffective in this case.
  • the under-utilization of the network's switching capacities is increased when part of the traffic corresponds to connections each established between a source and several destinations, the traffic is in this case qualified as "multicast", according to English terminology.
  • the invention proposes a solution to solve the above problem in an efficient manner, that the traffic corresponds to connections each established between a source and a destination (the traffic is in this case qualified as "unicast", according to English terminology. Saxon) or that the traffic corresponds to connections each established between a source and several destinations.
  • the subject of the invention is a method of dispersing and reordering cells transmitted by means of connections established between a source and one or more destination (s) connected by a network of intermediate switching entities defining transmission paths characterized in that it considers all of the transmission paths as a single transmission resource accessible to all connections in which it disperses the cells according to a first determined process and in that it restores the cells in order arrival at destination following a second determined process.
  • all of the transmission paths are managed as being a global resource for carrying the traffic of data connections.
  • the cells coming from an entry point, the source are dispersed in the network to an exit point, the destination in the case of unicast connections or to the exit points, the destinations, in the case of multicast connections.
  • the overall switching capacity of the network is shared by all connections.
  • the dispersing process is carried out on the basis of the connection: the cells of the different connections are dispersed on the different transmission paths according to a regular law (or round robin according to English terminology) .
  • the reordering process uses data contained in a connection context attached to the destination.
  • the invention has the advantage of efficiently managing all the switching capacities of the network and of not losing switching capacities regardless of the type of connection: unicast (a source to a destination) or multicast (a source to several destinations) .
  • unicast a source to a destination
  • multicast a source to several destinations
  • FIG. 2 a first connection context
  • FIGS. 5 and 6 detailed representations of the fields of the second connection context of FIG. 4,
  • FIG. 1 represents an architecture of a switch 1, ATM for example.
  • a switch Generally of large capacity, it is based on the use of internal switching modules 2, organized in a network between input modules 3, and output modules 4, Between a given input module 3 and a given output module 4, different transmission paths exist
  • These connections have the characteristic of sporadic cell traffic
  • the method considers the different transmission paths ai, a2, a3, a4 as a single transmission resource
  • the cells of the different connections C1,, CN1 are thus dispersed on the different transmission paths ai, a2, a3, a4
  • the method follows a first determined process When they reach their destination, the cells of the different connections C1,, CN1 are put back in order according to a second determined process
  • the second process essentially consists, for a given connection , to store the cells in queues each dedicated to a transmission path, to extract the cells from the queues according to determined criteria to put them in a sequencing queue and to purge the queues when a cell stays there too long
  • a first connection context illustrated for information by FIG. 2 is managed by the first process for each connection
  • the first connection context 5 comprises several fields 6, 7, 8
  • the different fields 6, 7, 8 are detailed in FIG. 3
  • a first field 6 contains information allowing simultaneously manage connections using the dispersing process and connections not using the dispersion process.
  • this provision authorizes, for example, the simultaneous management of connections intended to manage in the band intermediate switching entities which do not use the dispersion method with connections supporting normal user traffic which use the dispersion method.
  • the first field 6 comprises a bit, for example positioned at 1 when it is a connection using the dispersion method.
  • a second field 7 contains a number NEXT_PATH_E indicating the number of the transmission path a n to be followed by the cell to be dispersed.
  • the second field 7 comprises three bits making it possible to distinguish a number, NB_PATH, of transmission paths a n equal to a maximum of eight from a-, to a 8 , for a given connection.
  • the first process increments the number NEXT_PATH_E for the next cell.
  • the number NEXT_PATH_E is initiated at a value determined randomly so as to balance the traffic load on the network of entities of switching.
  • a third field 8 contains a number NEXT_SN_E indicating the sequence number of the cell to be dispersed.
  • the sequence number NEXT_SN_E is initialized to 0.
  • These two pieces of dispersion information SN and PATH are stored in a header of the cell independent of the first connection context.
  • a second connection context illustrated by way of illustration in FIG. 4, is managed by the second process for each connection.
  • the second connection context 9 comprises several fields 10, 11.
  • the different fields 10, 11 are detailed in FIG. 5 and in FIG. 6.
  • a first field 10 detailed in FIG. 5 contains several information.
  • a first piece of information 12 is of the same nature as the information contained in the first field 6 of the first connection context 5.
  • a second piece of information 13 is of the same nature as the information contained in the second field 7 of the first connection context 5.
  • the second information 13 gives the path number of cell transmission expected by the output module for the given connection.
  • Third information 14 is of the same nature as the information contained in the third field 8 of the first connection context 5.
  • the third information 14 gives the sequence number of the cell expected by the output module for the given connection.
  • a fourth piece of information 15 indicates whether or not the second process must take into account a fifth piece of information 16 described below. According to the illustration, the fourth information item 15 comprises a bit, for example set to 1 when the process must take into account the fifth item of information 16 described below.
  • the fifth item of information 16 gives an indication of the time remaining given by a timer, allocated to the second process for reordering the cells. As shown in the illustration, the fifth item of information 16 is coded on 9 bits.
  • a sixth item of information 17 noted NB_DELAYED indicates for a given connection the number of cells waiting, all queues combined. According to the illustration for each of the possible transmission paths (maximum eight because NEXT_PATH_R is coded on three bits) corresponds to a queue, that is to say eight queues per connection.
  • the sixth piece of information 17 comprises ten bits.
  • a second field 11 contains descriptors of the queues attached to the given connection. The second field 11 includes a descriptor Q_DESCRIPT [] per queue.
  • a Q_DESCRIPT [] descriptor includes several pieces of information.
  • a first piece of information 18 gives the value of a pointer FRONT positioned on the first cell of the queue. As shown in the illustration, the pointer is coded on 12 bits.
  • a second piece of information 19 gives the value of a BACK pointer positioned on the last cell of the queue. As shown in the illustration, the pointer is coded on 12 bits.
  • a third piece of information 20 named FRONT_SN gives the seven least significant bits of the sequence number of the cell which is at the head of the file.
  • a fourth piece of information 21 indicates whether the queue is empty or not. According to the illustration, the fourth item of information 21 comprises a bit, for example positioned at 0 when the queue is empty, at 1 when it is not empty. Taking into account the data previously described, the process diversion is as follows:
  • the process starts with an initialization phase.
  • the first process randomly chooses the value of the transmission path NEXT_PATH_E and it initiates the sequence number NEXT_SN_E at zero.
  • the second process initiates the value of the transmission path
  • NEXT_PATH_R corresponding to the first cell expected at the value chosen randomly by the first process for NEXT_PATH_E and it initiates the sequence number NEXT_SN_R to the same value as the sequence number NEXT_SN_E chosen by the first process, ie zero. Finally, it initiates the descriptors of each queue to zero. Is :
  • the header of the cell is filled with dispersion information, ie the sequence number NEXT_SN_E and the number of the transmission path NEXT_PATH_E contained in the first connection context. Which translates into relationships:
  • the first process disperses the cell in the network.
  • the cell is sent on the NEXT_PATH_E transmission path.
  • the first process increments the value of the transmission path modulo the number of possible transmission paths, NB_PATH, and it stores the new value in the first connection context. If the new value of the transmission path NEXT_PATH_E is equal to zero, then the first process increments the sequence number NEXT_SN_E modulo the numbering size of the sequence number and stores it in the first connection context, otherwise it keeps the sequence number NEXT_SN_E unchanged.
  • the second process When the cell reaches its destination, the second process is activated. It extracts the dispersion information from the cell header: SN and PATH.
  • the second process checks whether the received cell is inserted in the reception window. A first end of the reception window is determined by the waiting cell identified by the values of the second connection context NEXT_SN_R and NEXT_PATH_R. A second end is located at a distance from the first end equal to the size of a queue, 128 cells for the example considered. Verification can be performed by testing the following expression:
  • the received cell is in the reception window ELSE the received cell is not in the reception window.
  • 1st case the received cell is in the reception window. Two sub-cases are to be distinguished: 1st sub-case: the received cell corresponds to the expected cell.
  • NEXT_SN_R NEXT_SN_R (4) Under these conditions, the received cell is stored in the sequencing queue. The NEXT_PATH_R and NEXT_SN_R information is updated according to the PATH and SN values of the cell. Which translates into relationships:
  • NEXT_PATH_R PATH + 1 (modulo NB_PATH) (5) IF NEXT_PATH_R ⁇ 0
  • OTHERWISE NEXT_ SN_R SN + 1 (modulo the numbering size of SN). (7)
  • the 7 least significant bits of the field SN extracted from the cell are reported in the field FRONT_SN of the descriptor of the queue.
  • the NEXT_PATH_R and NEXT_SN_R information of the second connection context is updated according to the PATH and SN values of the cell.
  • NEXT_PATH_R PATH + 1 (modulo NB_PATH) (5)
  • OTHERWISE NEXT_SN_R SN + 1 (modulo the numbering size of SN). (7)
  • the second process In addition to receiving cells, the second process extracts cells from the queues and puts them in the sequencing queue. For a given connection, following the reception of a cell, or when a cell of this connection has been extracted from the sequencing queue, periodically, the second process traverses the queues. If they are empty, the second process does nothing. If they are not empty, several cases may arise.
  • Figure 7 shows four special cases A, B, C, D.
  • TIMEOUT_DATE is initialized if it was not already.
  • the cell is extracted from the queue F1 and stored in the sequencing queue.
  • the NEXT_PATH_R and NEXT_SN_R information of the second connection context is updated and the number of cells waiting for the NB_DELAYED connection is decremented by 1.
  • Case C the expected cell has not arrived but the queue F1 is not empty, which means that at least one cell has been lost on the corresponding transmission path.
  • the second process must then find the next cell to store in the sequencing queue.
  • the dispersion of the cells on the different paths of transmission follows a regular law: the cells are distributed regularly from the transmission path equal to 0, which corresponds to the queue F0, to the transmission path equal to n, which corresponds to the queue Fn.
  • the next expected cell is thus the cell with a sequence number equal to 2 on the transmission path equal to 3. This cell is extracted from the queue F3 and placed in the sequencing queue.
  • the NEXT_PATH_R and NEXT_SN_R information is updated and the number of cells waiting for the NB_DELAYED connection is decremented by 1.
  • Case D the conditions are the same as in case C except that the queue F3 is empty.
  • the extraction of a cell follows the following algorithm:
  • the TIMEOUT_DATE timer is activated if it was not already. If the selected queue is not empty, then the first cell of the queue is extracted and stored in the sequencing queue. The information NEXT_PATH_R and NEXT_SN_R of the second connection context are updated and the number of cells waiting for the connection NB_DELAYED is decremented by 1.
  • the queue selected is queue F3 because it corresponds to the minimum distance.
  • the number of cells waiting for the NB_DELAYED connection is decremented from 1.
  • the TIMEOUT_DATE delay common to all the different transmission paths of a connection makes it possible to limit the waiting times of an expected cell.
  • FIG. 8 gives examples of reordering cells in a switch in which the cells have been dispersed over four transmission paths to which correspond four queues F0, F1, F2, F3. Seven successive steps are illustrated.
  • Step 1 no cell is present in the different queues, F0 to F3.
  • the end date of TIMEOUTJDATE timer is calculated, the timer is activated by setting TV to
  • Step 4 the expected cell has been received, it has been placed in the FS sequencing queue.
  • the number of cells waiting for the NB_DELAYED connection is decremented by 1.
  • the number of cells waiting for connection NB_DELAYED is decremented by 1.

Abstract

The invention concerns methods for the dispersion and sequencing of cells transmitted by connections (C1....CN1) set up between a source (3i) and one or several destination(s) (4i) connected to intermediate switch modules (2i) defining transmission paths (an). The method consists, for each connection, in considering the different transmission paths (an) as a single transmission resource wherein it disperses the cells. The invention is applicable to any switch, in particular ATM.

Description

PROCEDE DE DISPERSION ET DE REMISE EN ORDRE DE CELLULES PROCESS FOR DISPERSION AND ORDERING OF CELLS
La présente invention se rapporte aux procédés de dispersion et de remise en ordre de cellules. Elle s'applique en particulier à un commutateur ATM, abréviation anglo-saxonne de Asynchronous TransferThe present invention relates to methods of dispersing and reordering cells. It applies in particular to an ATM switch, the English abbreviation for Asynchronous Transfer
Mode, pour véhiculer des informations numériques de nature et de débit aussi variés qu'irréguiiers (voix, vidéos, fichiers).Fashion, to convey digital information of a varied and irregular nature and speed (voice, videos, files).
Ces informations numériques forment des flux de trafic qui peuvent être classés en deux grandes catégories : - une première catégorie de flux regroupe les trafics de type temps réel. De tels trafics sont caractérisés par des paramètres de trafic et des paramètres de contrainte de temps,This digital information forms traffic flows which can be classified into two main categories: - a first category of flow groups real-time traffic. Such traffics are characterized by traffic parameters and time constraint parameters,
- une deuxième catégorie de flux regroupe les trafics de type non temps réel pour lesquels les paramètres de trafic sont peu ou pas définis. Le transfert d'informations numériques par un commutateur est réalisé par l'établissement d'une connexion entre un point d'entrée et un point de sortie du commutateur.- a second category of flow groups traffic of the non-real time type for which the traffic parameters are little or not defined. The transfer of digital information by a switch is accomplished by establishing a connection between an entry point and an exit point of the switch.
Lorsqu'il s'agit d'un trafic de type temps réel, les ressources nécessaires sont réservées en fonction des paramètres du trafic. Ce type de trafic ne pose pas de problème.In the case of real-time traffic, the necessary resources are reserved according to the traffic parameters. This type of traffic is not a problem.
Lorsqu'il s'agit d'un trafic de type non temps réel, il est difficile de réserver des ressources en fonction de paramètres incertains. Ce type de trafic conduit à des connexions ayant des périodes d'activité par rafales. Dans ces conditions, le commutateur doit pouvoir supporter des pointes de trafic sans perte de cellules. Les techniques de routage internes traditionnelles qui consistent à réserver un chemin de transmission au sein du commutateur en fonction de paramètres du trafic, et des paramètres de contrainte de temps sont inefficaces pour ce type de trafic. En particulier les techniques traditionnelles sont inefficaces pour l'ensemble des services suivants, définis par l'ATM Forum dans la spécification V.4 intitulé « Traffic management » :When it comes to non-real-time traffic, it is difficult to reserve resources based on uncertain parameters. This type of traffic leads to connections with burst activity periods. Under these conditions, the switch must be able to support traffic peaks without loss of cells. The traditional internal routing techniques which consist in reserving a transmission path within the switch according to traffic parameters, and time constraint parameters are ineffective for this type of traffic. In particular, traditional techniques are ineffective for all of the following services, defined by the ATM Forum in specification V.4 entitled "Traffic management":
• le service ABR, initiales anglo-saxonne pour Available Bit Rate,• ABR service, English initials for Available Bit Rate,
• le service VBRNRT, initiales anglo-saxonne pour Variable Bit Rate Non Real Time, • le service UBR, initiales anglo-saxonne pour Unspecified• VBR NRT service, Anglo-Saxon initials for Variable Bit Rate Non Real Time, • UBR service, Anglo-Saxon initials for Unspecified
Bit Rate. Soit par exemple une configuration donnée dans laquelle deux chemins de transmission, notés ai et a2, dont une portion est commune permettent de relier chacun une source à une destination séparées par un réseau d'entités de commutation intermédiaires. Deux connexions dont le trafic est sporadique empruntent chacune un de ces deux chemins de transmission. Les connexions étant sporadiques et le nombre de connexion étant parfois grand (plusieurs milliers), cette configuration est très probable. Lorsque les deux connexions émettent en même temps à pleine bande, une congestion se produit sur la portion commune à ai et a2 quel que soit le trafic écoulé sur tous les autres chemins. Dans cette situation, des capacités de commutation du réseau peuvent être perdues ; les techniques de routage internes traditionnelles sont dans ce cas inefficaces. La sous-utilisation des capacités de commutation du réseau est accrue lorsqu'une partie du trafic correspond à des connexions établies chacune entre une source et plusieurs destinations, le trafic est dans ce cas qualifié de « multicast », suivant la terminologie anglo-saxonne.Bit Rate. Consider for example a given configuration in which two transmission paths, denoted ai and a2, a portion of which is common, allow each to connect a source to a destination separated by a network of intermediate switching entities. Two connections with sporadic traffic each use one of these two transmission paths. As the connections are sporadic and the number of connections is sometimes large (several thousand), this configuration is very likely. When the two connections transmit at full bandwidth at the same time, congestion occurs on the portion common to ai and a2 regardless of the traffic carried on all the other paths. In this situation, network switching capabilities may be lost; traditional internal routing techniques are ineffective in this case. The under-utilization of the network's switching capacities is increased when part of the traffic corresponds to connections each established between a source and several destinations, the traffic is in this case qualified as "multicast", according to English terminology.
L'invention propose une solution pour résoudre le problème précédent d'une manière efficace, que le trafic corresponde à des connexions établies chacune entre une source et une destination (le trafic est dans ce cas qualifié de « unicast », suivant la terminologie anglo-saxonne) ou que le trafic corresponde à des connexions établies chacune entre une source et plusieurs destinations.The invention proposes a solution to solve the above problem in an efficient manner, that the traffic corresponds to connections each established between a source and a destination (the traffic is in this case qualified as "unicast", according to English terminology. Saxon) or that the traffic corresponds to connections each established between a source and several destinations.
A cet effet, l'invention a pour objet un procédé de dispersion et de remise en ordre de cellules transmises au moyen de connexions établies entre une source et une ou plusieurs destination(s) reliées par un réseau d'entités de commutation intermédiaires définissant des chemins de transmission caractérisé en ce qu'il considère l'ensemble des chemins de transmission comme une seule ressource de transmission accessible à toutes les connexions dans laquelle il disperse les cellules suivant un premier processus déterminé et en ce qu'il remet en ordre les cellules arrivées à destination suivant un deuxième processus déterminé.To this end, the subject of the invention is a method of dispersing and reordering cells transmitted by means of connections established between a source and one or more destination (s) connected by a network of intermediate switching entities defining transmission paths characterized in that it considers all of the transmission paths as a single transmission resource accessible to all connections in which it disperses the cells according to a first determined process and in that it restores the cells in order arrival at destination following a second determined process.
Afin d'éviter un blocage sur un des chemins de transmission du réseau, l'ensemble des chemins de transmission est géré comme étant une ressource globale pour véhiculer le trafic de connexions données. Pour cela, les cellules en provenance d'un point d'entrée, la source, sont dispersées dans le réseau à destination d'un point de sortie, la destination dans le cas de connexions unicast ou à destination des points de sortie, les destinations, dans le cas de connexions multicast. La capacité de commutation globale du réseau est partagée par toutes les connexions. Selon un mode préférentiel de réalisation du procédé, le processus de dispersion est effectué sur la base de la connexion : les cellules des différentes connexions sont dispersées sur les différents chemins de transmission suivant une loi régulière (ou round robin suivant la terminologie anglo-saxonne). Le processus de remise en ordre exploite des données contenues dans un contexte de connexion attaché à la destination.In order to avoid blocking on one of the transmission paths of the network, all of the transmission paths are managed as being a global resource for carrying the traffic of data connections. For this, the cells coming from an entry point, the source, are dispersed in the network to an exit point, the destination in the case of unicast connections or to the exit points, the destinations, in the case of multicast connections. The overall switching capacity of the network is shared by all connections. According to a preferred embodiment of the method, the dispersing process is carried out on the basis of the connection: the cells of the different connections are dispersed on the different transmission paths according to a regular law (or round robin according to English terminology) . The reordering process uses data contained in a connection context attached to the destination.
L'invention a pour avantage de gérer efficacement toutes les capacités de commutation du réseau et de ne pas perdre de capacités de commutation quel que soit le type de connexion : unicast (une source vers une destination) ou multicast (une source vers plusieurs destinations). L'invention sera bien comprise et d'autres caractéristiques et avantages apparaîtront clairement lors de la description suivante d'exemples particuliers de réalisation, s'appliquant aussi bien pour des connexions unicast que pour des connexions multicast, illustrées par les figures annexées qui représentent : - la figure 1 , une architecture d'un commutateur 1 , ATM par exemple,The invention has the advantage of efficiently managing all the switching capacities of the network and of not losing switching capacities regardless of the type of connection: unicast (a source to a destination) or multicast (a source to several destinations) . The invention will be well understood and other characteristics and advantages will become clear during the following description of particular embodiments, applying both for unicast connections and for multicast connections, illustrated by the appended figures which represent: FIG. 1, an architecture of a switch 1, ATM for example,
- la figure 2, un premier contexte de connexion,FIG. 2, a first connection context,
- la figure 3, une représentation détaillée des champs du premier contexte de connexion de la figure 2, - la figure 4, un deuxième contexte de connexion,- Figure 3, a detailed representation of the fields of the first connection context of Figure 2, - Figure 4, a second connection context,
- les figure 5 et 6, des représentations détaillées des champs du deuxième contexte de connexion de la figure 4,FIGS. 5 and 6, detailed representations of the fields of the second connection context of FIG. 4,
- la figure 7, des cas particuliers gérés par le processus de remise en ordre, - la figure 8, différentes étapes d'un exemple particulier de remise en ordre de cellules.- Figure 7, special cases managed by the reordering process, - Figure 8, different steps of a particular example of reordering cells.
Sur les différentes figures, les éléments homologues sont représentés avec une même référence.In the various figures, the homologous elements are represented with the same reference.
La figure 1 représente une architecture d'un commutateur 1 , ATM par exemple. Généralement de grande capacité, il est basé sur l'utilisation de modules de commutation internes 2, organisés en réseau entre des modules d'entrée 3, et des modules de sortie 4, Entre un module d'entrée 3, donné et un module de sortie 4, donné, différents chemins de transmission existent Pour l'exemple de commutateur illustré par la figure 1 , il y a autant de chemins de transmission différents qu'il y a de modules de commutation intermédiaires dans la colonne centrale, soient les chemins de transmission ai , a2, a3, a4 entre les modules sélectionnés Entre le module d'entrée 3ι et le module de sortie ^ N1 connexions sont à établir, C1 , , CN1 avec N1 =100 par exemple Ces connexions ont pour caractéristique un trafic sporadique de cellules Pour gérer efficacement les capacités de commutation du réseau de modules de commutation internes 2, entre le module d'entrée 3! et le module de sortie 4ι, le procédé considère les différents chemins de transmission ai , a2, a3, a4 comme une seule ressource de transmission Les cellules des différentes connexions C1, , CN1 sont ainsi dispersées sur les différents chemins de transmission ai, a2, a3, a4 Pour disperser les cellules , le procédé suit un premier processus déterminé Lorsqu'elles arrivent à destination, les cellules des différentes connexions C1 , , CN1 sont remises en ordre suivant un deuxième processus déterminé Le deuxième processus consiste essentiellement, pour une connexion donnée, a mémoriser les cellules dans des files d'attente dédiées chacune à un chemin de transmission, à extraire les cellules des files d'attente suivant des critères déterminés pour les ranger dans une file de séqueπcement et à purger les files d'attente lorsqu'une cellule y reste trop longtemps en attenteFIG. 1 represents an architecture of a switch 1, ATM for example. Generally of large capacity, it is based on the use of internal switching modules 2, organized in a network between input modules 3, and output modules 4, Between a given input module 3 and a given output module 4, different transmission paths exist For l example of a switch illustrated in FIG. 1, there are as many different transmission paths as there are intermediate switching modules in the central column, i.e. the transmission paths ai, a2, a3, a4 between the selected modules Between the input module 3ι and the output module ^ N1 connections are to be established, C1,, CN1 with N1 = 100 for example These connections have the characteristic of sporadic cell traffic To efficiently manage the switching capacities of the module network internal switching 2, between input module 3 ! and the output module 4ι, the method considers the different transmission paths ai, a2, a3, a4 as a single transmission resource The cells of the different connections C1,, CN1 are thus dispersed on the different transmission paths ai, a2, a3, a4 To disperse the cells, the method follows a first determined process When they reach their destination, the cells of the different connections C1,, CN1 are put back in order according to a second determined process The second process essentially consists, for a given connection , to store the cells in queues each dedicated to a transmission path, to extract the cells from the queues according to determined criteria to put them in a sequencing queue and to purge the queues when a cell stays there too long
Suivant un mode privilégié de réalisation, le premier processus et le deuxième processus du procédé sont décrits ci-après Pour disperser et remettre en ordre les cellules, le procédé met en œuvre différents contextes de connexion Un premier contexte de connexion, illustré à titre indicatif par la figure 2, est géré par le premier processus pour chaque connexion Le premier contexte de connexion 5 comprend plusieurs champs 6, 7, 8 Les différents champs 6, 7, 8 sont détaillés sur la figure 3 Un premier champ 6 contient une information permettant de gérer simultanément des connexions utilisant le procédé de dispersion et des connexions n'utilisant pas le procédé de dispersion. Ainsi, cette disposition autorise par exemple la gestion simultanée de connexions destinées à gérer dans la bande des entités de commutation intermédiaire qui ne font pas appel au procédé de dispersion avec des connexions supportant le trafic utilisateur normal qui font appel au procédé de dispersion. Suivant l'illustration le premier champ 6 comprend un bit, par exemple positionné à 1 lorsqu'il s'agit d'une connexion utilisant le procédé de dispersion. Un deuxième champ 7 contient un numéro NEXT_PATH_E indiquant le numéro du chemin de transmission an devant être suivi par la cellule à disperser. Suivant l'illustration le deuxième champ 7 comprend trois bits permettant de distinguer un nombre, NB_PATH, de chemins de transmission an égal au maximum à huit de a-, à a8, pour une connexion donnée. Après dispersion d'une cellule dans le réseau, le premier processus incrémente le numéro NEXT_PATH_E pour la cellule suivante. Au moment de l'établissement d'une connexion, entre le module d'entrée 3ι et le module de sortie 4ι, le numéro NEXT_PATH_E est initiaiise à une valeur déterminée aléatoirement de manière à équilibrer la charge de trafic sur le réseau d'entités de commutation. Un troisième champ 8 contient un numéro NEXT_SN_E indiquant le numéro de séquence de la cellule à disperser. Au moment de l'établissement d'une connexion, le numéro de séquence NEXT_SN_E est initiaiise à 0. Avant d'être dispersée chaque cellule est renseignée de son numéro de séquence SN = NEXT_SN_E et de son numéro de chemin de transmission PATH = NEXT_PATH_E appelés informations de dispersion. Ces deux informations de dispersion SN et PATH sont mémorisées dans un entête de la cellule indépendant du premier contexte de connexion. Un deuxième contexte de connexion, illustré à titre indicatif par la figure 4, est géré par le deuxième processus pour chaque connexion. Le deuxième contexte de connexion 9 comprend plusieurs champs 10, 11. Les différents champs 10, 11 sont détaillés sur la figure 5 et la figure 6. Un premier champ 10 détaillé sur la figure 5 contient plusieurs informations. Une première information 12 est de même nature que l'information contenue dans le premier champ 6 du premier contexte de connexion 5. Une deuxième information 13 est de même nature que l'information contenue dans le deuxième champ 7 du premier contexte de connexion 5. La deuxième information 13 donne le numéro du chemin de transmission de la cellule attendue par le module de sortie pour la connexion donnée. Une troisième information 14 est de même nature que l'information contenue dans le troisième champ 8 du premier contexte de connexion 5. La troisième information 14 donne le numéro de séquence de la cellule attendue par le module de sortie pour la connexion donnée. Une quatrième information 15 indique si le deuxième processus doit prendre en compte ou pas une cinquième information 16 décrite ci-après. Suivant l'illustration, la quatrième information 15 comprend un bit, par exemple positionné à 1 lorsque le processus doit prendre en compte la cinquième information 16 décrite ci-après. La cinquième information 16 donne une indication du temps restant donné par un temporisateur, alloué au deuxième processus pour remettre en ordre les cellules. Suivant l'illustration la cinquième information 16 est codée sur 9 bits. Une sixième information 17 notée NB_DELAYED indique pour une connexion donnée le nombre de cellules en attente, toutes files d'attente confondues. Suivant l'illustration à chacun des chemins de transmission possibles (huit au maximum car NEXT_PATH_R est codé sur trois bits) correspond une file d'attente, soit huit files d'attente par connexion. La sixième information 17 comprend dix bits. Un deuxième champ 11 contient des descripteurs des files d'attente attachées à la connexion donnée. Le deuxième champ 11 comprend un descripteur Q_DESCRIPT [ ] par file d'attente. Le contenu d'un descripteur Q_DESCRIPT [ ] est détaillé à la figure 6. Un descripteur Q_DESCRIPT [ ] comprend plusieurs informations. Une première information 18 donne la valeur d'un pointeur FRONT positionné sur la première cellule de la file d'attente. Suivant l'illustration le pointeur est codé sur 12 bits. Une deuxième information 19 donne la valeur d'un pointeur BACK positionné sur la dernière cellule de la file d'attente. Suivant l'illustration le pointeur est codé sur 12 bits. Une troisième information 20 nommée FRONT_SN donne les sept bits de poids faibles du numéro de séquence de la cellule qui est en tête de file. Une quatrième information 21 indique si la file d'attente est vide ou pas. Suivant l'illustration, la quatrième information 21 comprend un bit, par exemple positionné à 0 lorsque la file d'attente est vide, à 1 lorsqu'elle est non vide. Compte tenu des données précédemment décrites, le déroutement du procédé est le suivant :According to a preferred embodiment, the first process and the second process of the method are described below. To disperse and reorder the cells, the method implements different connection contexts. A first connection context, illustrated for information by FIG. 2 is managed by the first process for each connection The first connection context 5 comprises several fields 6, 7, 8 The different fields 6, 7, 8 are detailed in FIG. 3 A first field 6 contains information allowing simultaneously manage connections using the dispersing process and connections not using the dispersion process. Thus, this provision authorizes, for example, the simultaneous management of connections intended to manage in the band intermediate switching entities which do not use the dispersion method with connections supporting normal user traffic which use the dispersion method. According to the illustration, the first field 6 comprises a bit, for example positioned at 1 when it is a connection using the dispersion method. A second field 7 contains a number NEXT_PATH_E indicating the number of the transmission path a n to be followed by the cell to be dispersed. According to the illustration, the second field 7 comprises three bits making it possible to distinguish a number, NB_PATH, of transmission paths a n equal to a maximum of eight from a-, to a 8 , for a given connection. After dispersing a cell in the network, the first process increments the number NEXT_PATH_E for the next cell. When establishing a connection, between the input module 3ι and the output module 4ι, the number NEXT_PATH_E is initiated at a value determined randomly so as to balance the traffic load on the network of entities of switching. A third field 8 contains a number NEXT_SN_E indicating the sequence number of the cell to be dispersed. When establishing a connection, the sequence number NEXT_SN_E is initialized to 0. Before being dispersed, each cell is informed of its sequence number SN = NEXT_SN_E and its transmission path number PATH = NEXT_PATH_E scatter information. These two pieces of dispersion information SN and PATH are stored in a header of the cell independent of the first connection context. A second connection context, illustrated by way of illustration in FIG. 4, is managed by the second process for each connection. The second connection context 9 comprises several fields 10, 11. The different fields 10, 11 are detailed in FIG. 5 and in FIG. 6. A first field 10 detailed in FIG. 5 contains several information. A first piece of information 12 is of the same nature as the information contained in the first field 6 of the first connection context 5. A second piece of information 13 is of the same nature as the information contained in the second field 7 of the first connection context 5. The second information 13 gives the path number of cell transmission expected by the output module for the given connection. Third information 14 is of the same nature as the information contained in the third field 8 of the first connection context 5. The third information 14 gives the sequence number of the cell expected by the output module for the given connection. A fourth piece of information 15 indicates whether or not the second process must take into account a fifth piece of information 16 described below. According to the illustration, the fourth information item 15 comprises a bit, for example set to 1 when the process must take into account the fifth item of information 16 described below. The fifth item of information 16 gives an indication of the time remaining given by a timer, allocated to the second process for reordering the cells. As shown in the illustration, the fifth item of information 16 is coded on 9 bits. A sixth item of information 17 noted NB_DELAYED indicates for a given connection the number of cells waiting, all queues combined. According to the illustration for each of the possible transmission paths (maximum eight because NEXT_PATH_R is coded on three bits) corresponds to a queue, that is to say eight queues per connection. The sixth piece of information 17 comprises ten bits. A second field 11 contains descriptors of the queues attached to the given connection. The second field 11 includes a descriptor Q_DESCRIPT [] per queue. The content of a Q_DESCRIPT [] descriptor is detailed in Figure 6. A Q_DESCRIPT [] descriptor includes several pieces of information. A first piece of information 18 gives the value of a pointer FRONT positioned on the first cell of the queue. As shown in the illustration, the pointer is coded on 12 bits. A second piece of information 19 gives the value of a BACK pointer positioned on the last cell of the queue. As shown in the illustration, the pointer is coded on 12 bits. A third piece of information 20 named FRONT_SN gives the seven least significant bits of the sequence number of the cell which is at the head of the file. A fourth piece of information 21 indicates whether the queue is empty or not. According to the illustration, the fourth item of information 21 comprises a bit, for example positioned at 0 when the queue is empty, at 1 when it is not empty. Taking into account the data previously described, the process diversion is as follows:
Lors de l'établissement d'une connexion le procédé démarre par une phase d'initialisation. Lors de cette phase, le premier processus choisit aléatoirement la valeur du chemin de transmission NEXT_PATH_E et il initiaiise le numéro de séquence NEXT_SN_E à zéro. Simultanément le deuxième processus initiaiise la valeur du chemin de transmissionWhen establishing a connection, the process starts with an initialization phase. During this phase, the first process randomly chooses the value of the transmission path NEXT_PATH_E and it initiates the sequence number NEXT_SN_E at zero. Simultaneously the second process initiates the value of the transmission path
NEXT_PATH_R correspondant à la première cellule attendue à la valeur choisie aléatoirement par le premier processus pour NEXT_PATH_E et il initiaiise le numéro de séquence NEXT_SN_R à la même valeur que le numéro de séquence NEXT_SN_E choisi par le premier processus, soit zéro. Enfin, il initiaiise les descripteurs de chaque file à zéro. Soit :NEXT_PATH_R corresponding to the first cell expected at the value chosen randomly by the first process for NEXT_PATH_E and it initiates the sequence number NEXT_SN_R to the same value as the sequence number NEXT_SN_E chosen by the first process, ie zero. Finally, it initiates the descriptors of each queue to zero. Is :
Q_DESCRIPT [0-7] = 0. Les files d'attente sont considérées comme vides, et donc NBJDELAYED = 0. Hors phase d'initialisation, le premier processus et le deuxième processus réalisent différentes tâches qui sont décrites ci-après.Q_DESCRIPT [0-7] = 0. The queues are considered to be empty, and therefore NBJDELAYED = 0. Outside the initialization phase, the first process and the second process perform different tasks which are described below.
Soit une cellule à disperser. L'entête de la cellule est renseigné des informations de dispersion, soit le numéro de séquence NEXT_SN_E et le numéro du chemin de transmission NEXT_PATH_E contenues dans le premier contexte de connexion. Ce qui se traduit par les relations :Or a cell to disperse. The header of the cell is filled with dispersion information, ie the sequence number NEXT_SN_E and the number of the transmission path NEXT_PATH_E contained in the first connection context. Which translates into relationships:
SN = NEXT_SN_E (1 )SN = NEXT_SN_E (1)
PATH = NEXT_PATH_E (2)PATH = NEXT_PATH_E (2)
Le premier processus disperse la cellule dans le réseau. La cellule est émise sur le chemin de transmission NEXT_PATH_E. Le premier processus incrémente ensuite la valeur du chemin de transmission modulo le nombre de chemins de transmission possibles, NB_PATH, et il mémorise la nouvelle valeur dans le premier contexte de connexion. Si la nouvelle valeur du chemin de transmission NEXT_PATH_E est égale à zéro, alors le premier processus incrémente le numéro de séquence NEXT_SN_E modulo la taille de numérotation du numéro de séquence et le mémorise dans le premier contexte de connexion, sinon il garde le numéro de séquence NEXT_SN_E inchangé.The first process disperses the cell in the network. The cell is sent on the NEXT_PATH_E transmission path. The first process then increments the value of the transmission path modulo the number of possible transmission paths, NB_PATH, and it stores the new value in the first connection context. If the new value of the transmission path NEXT_PATH_E is equal to zero, then the first process increments the sequence number NEXT_SN_E modulo the numbering size of the sequence number and stores it in the first connection context, otherwise it keeps the sequence number NEXT_SN_E unchanged.
Lorsque la cellule arrive à destination, le deuxième processus est activé. Il extrait de l'entête de la cellule les informations de dispersion : SN et PATH. Dans une première étape, le deuxième processus vérifie si la cellule reçue s'insère dans la fenêtre de réception. Une première extrémité de la fenêtre de réception est déterminée par la cellule en attente identifiée par les valeurs du deuxième contexte de connexion NEXT_SN_R et NEXT_PATH_R. Une deuxième extrémité est située à une distance de la première extrémité égale à la taille d'une file d'attente, 128 cellules pour l'exemple considéré. La vérification peut être réalisée en testant l'expression suivante :When the cell reaches its destination, the second process is activated. It extracts the dispersion information from the cell header: SN and PATH. In a first step, the second process checks whether the received cell is inserted in the reception window. A first end of the reception window is determined by the waiting cell identified by the values of the second connection context NEXT_SN_R and NEXT_PATH_R. A second end is located at a distance from the first end equal to the size of a queue, 128 cells for the example considered. Verification can be performed by testing the following expression:
X = Valeur non signée de [SN - NEXT_SN_R]X = Unsigned value of [SN - NEXT_SN_R]
SI (X = 0 et la file d'attente de numéro NEXT_PATH_R n'est pas vide)IF (X = 0 and the number queue NEXT_PATH_R is not empty)
ALORS la cellule reçue n'est pas dans le fenêtre de réceptionTHEN the cell received is not in the reception window
SINON SI X < 128OTHERWISE IF X <128
ALORS la cellule reçue est dans la fenêtre de réception SINON la cellule reçue n'est pas dans la fenêtre de réception.THEN the received cell is in the reception window ELSE the received cell is not in the reception window.
En fonction du résultat du test, plusieurs cas sont à considérer pour le déroulement du deuxième processus :Depending on the test result, several cases should be considered for the course of the second process:
1 er cas : la cellule reçue est dans la fenêtre de réception. Deux sous-cas sont à distinguer : 1 er sous-cas : la cellule reçue correspond à la cellule attendue.1st case: the received cell is in the reception window. Two sub-cases are to be distinguished: 1st sub-case: the received cell corresponds to the expected cell.
C'est-à-dire que d'une partIn other words, on the one hand
PATH = NEXT_PATH_R (3) et d'autre partPATH = NEXT_PATH_R (3) and on the other hand
SN = NEXT_SN_R (4) Dans ces conditions la cellule reçue est rangée dans la file de sequencement. Les informations NEXT_PATH_R et NEXT_SN_R sont mises à jour en fonction des valeurs PATH et SN de la cellule. Ce qui se traduit par les relations :SN = NEXT_SN_R (4) Under these conditions, the received cell is stored in the sequencing queue. The NEXT_PATH_R and NEXT_SN_R information is updated according to the PATH and SN values of the cell. Which translates into relationships:
NEXT_PATH_R = PATH + 1 (modulo NB_PATH) (5) SI NEXT_PATH_R ≠ 0NEXT_PATH_R = PATH + 1 (modulo NB_PATH) (5) IF NEXT_PATH_R ≠ 0
ALORS NEXT_ SN_R - SN (6)THEN NEXT_ SN_R - SN (6)
SINON NEXT_ SN_R = SN + 1 (modulo la taille de numérotation de SN). (7)OTHERWISE NEXT_ SN_R = SN + 1 (modulo the numbering size of SN). (7)
La temporisation TIMEOUT_DATE est inhibée, en fixant le bit TV à O. 2ème sous-cas : la cellule reçue ne correspond pas à la cellule attendue. Si la temporisation n'est pas activée (TV=0), alors la date de fin de temporisation TIMEOUT_DATE est calculée et l'indication est donnée que la temporisation est active en fixant TV à 1. La cellule reçue est mémorisée dans la file d'attente correspondant au chemin de transmission qu'elle a suivi, soit dans la file d'attente de numéro PATH. Le nombre de cellules en attente pour la connexion NB_DELAYED est incrémente de 1. Si la file d'attente de numéro PATH était vide, alors elle est déclarée non vide, la quatrième information 21 du descripteur Q_DESCRIPT [ ] de la file d'attente est positionné à non vide, S = 1. Les 7 bits de poids faibles du champ SN extrait de la cellule sont reportés dans le champ FRONT_SN du descripteur de la file d'attente.The TIMEOUT_DATE timer is inhibited, by setting the TV bit to O. 2nd sub-case: the cell received does not correspond to the cell expected. If the timer is not activated (TV = 0), then the timeout end date TIMEOUT_DATE is calculated and the indication is given that the timer is active by setting TV to 1. The cell received is stored in the queue d 'wait corresponding to the transmission path it followed, ie in the PATH number queue. The number of cells waiting for the NB_DELAYED connection is incremented by 1. If the queue of PATH number was empty, then it is declared not empty, the fourth information 21 of the descriptor Q_DESCRIPT [] of the queue is positioned at non-empty, S = 1. The 7 least significant bits of the field SN extracted from the cell are reported in the field FRONT_SN of the descriptor of the queue.
2ème cas : la cellule reçue est en dehors de la fenêtre de réception. Un incident de transmission a eu lieu et beaucoup de cellules ont été perdues. Dans ces conditions, les files d'attente correspondant à la connexion sont vidées, le nombre de cellules en attente pour la connexion est mis à zéro NB_DELAYED = 0, la temporisation est inhibée, ceci est obtenu en initialisant TV à 0 et la cellule reçue est rangée dans la file de sequencement. Les informations NEXT_PATH_R et NEXT_SN_R du deuxième contexte de connexion sont mises à jour en fonction des valeurs PATH et SN de la cellule.2nd case: the cell received is outside the reception window. A transmission incident took place and many cells were lost. Under these conditions, the queues corresponding to the connection are emptied, the number of cells waiting for the connection is set to zero NB_DELAYED = 0, the time delay is inhibited, this is obtained by initializing TV at 0 and the cell received is placed in the sequencing queue. The NEXT_PATH_R and NEXT_SN_R information of the second connection context is updated according to the PATH and SN values of the cell.
Ce qui se traduit par les relations :Which translates into relationships:
NEXT_PATH_R = PATH + 1 (modulo NB_PATH) (5)NEXT_PATH_R = PATH + 1 (modulo NB_PATH) (5)
SI NEXT_PATH_R ≠ 0 ALORS NEXT_SN_R = SN (6)IF NEXT_PATH_R ≠ 0 THEN NEXT_SN_R = SN (6)
SINON NEXT_SN_R = SN + 1 (modulo la taille de numérotation de SN). (7)OTHERWISE NEXT_SN_R = SN + 1 (modulo the numbering size of SN). (7)
Parallèlement à la réception de cellules, le deuxième processus réalise l'extraction des cellules des files d'attente pour les ranger dans la file de sequencement. Pour une connexion donnée, à la suite de la réception d'une cellule, ou lorsqu'une cellule de cette connexion a été extraite de la file de sequencement, périodiquement, le deuxième processus parcourt les files d'attente. Si elles sont vides, le deuxième processus ne fait rien. Si elles ne sont pas vides, plusieurs cas peuvent se présenter. La figure 7 présente quatre cas particuliers A, B, C, D. Dans les différents cas, le deuxième processus est en attente de la cellule de numéro de séquence égal à 2 (NEXT_SN_R = 2 ) sur le chemin de transmission égal à 1 (NEXT_PATH_R = 1 ). Pour chaque cas, seulement quatre files d'attente F0, F1 , F2, F3 ont été représentées. Cas A : la cellule attendue n'est pas arrivée ; la temporisationIn addition to receiving cells, the second process extracts cells from the queues and puts them in the sequencing queue. For a given connection, following the reception of a cell, or when a cell of this connection has been extracted from the sequencing queue, periodically, the second process traverses the queues. If they are empty, the second process does nothing. If they are not empty, several cases may arise. Figure 7 shows four special cases A, B, C, D. In the different cases, the second process is waiting for the cell of sequence number equal to 2 (NEXT_SN_R = 2) on the transmission path equal to 1 (NEXT_PATH_R = 1). For each case, only four queues F0, F1, F2, F3 were represented. Case A: the expected cell has not arrived; timing
TIMEOUT_DATE est initialisée si elle ne l'était pas déjà.TIMEOUT_DATE is initialized if it was not already.
Cas B : la cellule attendue SN = 2 est présente dans la file d'attente espérée PATH = 1. La cellule est extraite de la file d'attente F1 et rangée dans la file de sequencement. Les informations NEXT_PATH_R et NEXT_SN_R du deuxième contexte de connexion sont mises à jour et le nombre de cellules en attente pour la connexion NB_DELAYED est décrémenté de 1.Case B: the expected cell SN = 2 is present in the expected queue PATH = 1. The cell is extracted from the queue F1 and stored in the sequencing queue. The NEXT_PATH_R and NEXT_SN_R information of the second connection context is updated and the number of cells waiting for the NB_DELAYED connection is decremented by 1.
Cas C : la cellule attendue n'est pas arrivée mais la file d'attente F1 n'est pas vide, ce qui veut dire qu'une cellule au moins a été perdue sur le chemin de transmission correspondant. Le deuxième processus doit alors trouver la prochaine cellule à ranger dans la file de sequencement. Dans l'exemple deux cellules ont été perdues, la cellule SN = 2 sur le chemin de transmission égal à 1 et la cellule SN = 2 sur le chemin de transmission égal à 2. En effet, la dispersion des cellules sur les différents chemins de transmission suit une loi régulière : les cellules sont distribuées régulièrement du chemin de transmission égal à 0, qui correspond à la file d'attente F0, au chemin de transmission égal à n, qui correspond à la file d'attente Fn. La prochaine cellule attendue est ainsi la cellule de numéro de séquence égal à 2 sur le chemin de transmission égal à 3. Cette cellule est extraite de la file d'attente F3 et rangée dans la file de sequencement. Les informations NEXT_PATH_R et NEXT_SN_R sont mises à jour et le nombre de cellules en attente pour la connexion NB_DELAYED est décrémenté de 1.Case C: the expected cell has not arrived but the queue F1 is not empty, which means that at least one cell has been lost on the corresponding transmission path. The second process must then find the next cell to store in the sequencing queue. In the example two cells were lost, the cell SN = 2 on the transmission path equal to 1 and the cell SN = 2 on the transmission path equal to 2. Indeed, the dispersion of the cells on the different paths of transmission follows a regular law: the cells are distributed regularly from the transmission path equal to 0, which corresponds to the queue F0, to the transmission path equal to n, which corresponds to the queue Fn. The next expected cell is thus the cell with a sequence number equal to 2 on the transmission path equal to 3. This cell is extracted from the queue F3 and placed in the sequencing queue. The NEXT_PATH_R and NEXT_SN_R information is updated and the number of cells waiting for the NB_DELAYED connection is decremented by 1.
Cas D : les conditions sont les mêmes que celles du cas C sauf que la file d'attente F3 est vide. La date de la fin de temporisation TIMEOUT_DATE est calculée, la temporisation est activée en fixant TV à 1 , si elle ne l'était pas déjà et les valeurs NEXT_PATH_R et NEXT_SN_R du deuxième contexte de connexion sont mises à jour. C'est-à-dire que NEXT PATH R = 3 et NEXT SN R = 2. Quel que soit le cas rencontré, l'extraction d'une cellule suit l'algorithme suivant :Case D: the conditions are the same as in case C except that the queue F3 is empty. The timeout END TIMEOUT_DATE date is calculated, the timeout is activated by setting TV to 1, if it was not already and the values of NEXT_PATH_R and NEXT_SN_R of the second connection context are updated. That is, NEXT PATH R = 3 and NEXT SN R = 2. Whatever the case encountered, the extraction of a cell follows the following algorithm:
- pour chaque file d'attente un numéro de séquence SNF est déterminé : 1 er cas : la file d'attente n'est pas vide ; dans ce cas le numéro de séquence SNF est déterminé à partir de la troisième information 20 du descripteur Q_DESCRIPT [ ] de la file d'attente. Ainsi SNF = FRONT_SN- for each queue an SNF sequence number is determined: 1st case: the queue is not empty; in this case the SNF sequence number is determined from the third piece of information 20 of the descriptor Q_DESCRIPT [] of the queue. Thus SNF = FRONT_SN
2ème cas : la file d'attente est vide ; dans ce cas une valeur virtuelle est calculée de la façon suivante : soit NFILE le numéro de la file d'attente SI NFILE < NEXT_PATH_R2nd case: the queue is empty; in this case a virtual value is calculated as follows: either NFILE the number of the queue IF NFILE <NEXT_PATH_R
ALORS SNF = NEXT_SN_R + 1 SINON SNF = NEXT_SN_R - pour chaque file d'attente une distance entre la cellule de numéro de séquence SNF et la cellule attendue est calculée. Cette distance est donnée par l'expression suivante : distance(NFILE) = (NB_PATH*[SNF-NEXT_SN_R]+ [NFILE-NEXT_PATH_R]) (modulo NB_PATH*128) - la file d'attente sélectionnée est celle dont la distance, distance (NFILE), est minimale.THEN SNF = NEXT_SN_R + 1 OTHERWISE SNF = NEXT_SN_R - for each queue a distance between the cell with sequence number SNF and the expected cell is calculated. This distance is given by the following expression: distance (NFILE) = (NB_PATH * [SNF-NEXT_SN_R] + [NFILE-NEXT_PATH_R]) (modulo NB_PATH * 128) - the queue selected is the one whose distance, distance (NFILE), is minimal.
- si la file d'attente sélectionnée est vide, la temporisation TIMEOUT_DATE est activée si elle ne l'était pas déjà. Si la file d'attente sélectionnée n'est pas vide, alors la première cellule de la file d'attente est extraite et rangée dans la file de sequencement. Les informations NEXT_PATH_R et NEXT_SN_R du deuxième contexte de connexion sont mises à jour et le nombre de cellules en attente pour la connexion NB_DELAYED est décrémenté de 1. Ainsi en reprenant le cas A de la figure 7, il est possible de calculer la distance, distance (NFILE), pour chaque file d'attente F0 à F3 : pour F0 distance (0) = 4 x (3-2) + (0-1 ) = 3 pour F1 distance (1 ) = 4 x (2-2) + (1 -1 ) = 0 pour F2 distance (2) = 4 x (2-2) + (2-1 ) = 1 pour F3 distance (3) = 4 x (2-2) + (3-1 ) = 2 La file d'attente sélectionnée est la file d'attente F1 car elle correspond à la distance minimale. La file d'attente F1 est vide par conséquent la temporisation TIMEOUT_DATE est activée si elle ne l'était pas déjà. Pour le cas C, l'algorithme conduit aux valeurs de distance suivantes : pour FO distance (0) = 4 x (3-2) + (0-1 ) = 3 pour F1 distance (1 ) = 4 x (3-2) + (1-1 ) = 4 pour F2 distance (2) = 4 x (3-2) + (2-1 ) = 5 pour F3 distance (3) = 4 x (2-2) + (3-1) = 2- if the selected queue is empty, the TIMEOUT_DATE timer is activated if it was not already. If the selected queue is not empty, then the first cell of the queue is extracted and stored in the sequencing queue. The information NEXT_PATH_R and NEXT_SN_R of the second connection context are updated and the number of cells waiting for the connection NB_DELAYED is decremented by 1. Thus, taking again case A of figure 7, it is possible to calculate the distance, distance (NFILE), for each queue F0 to F3: for F0 distance (0) = 4 x (3-2) + (0-1) = 3 for F1 distance (1) = 4 x (2-2) + (1 -1) = 0 for F2 distance (2) = 4 x (2-2) + (2-1) = 1 for F3 distance (3) = 4 x (2-2) + (3-1) = 2 The queue selected is the F1 queue because it corresponds to the minimum distance. The queue F1 is empty, therefore the TIMEOUT_DATE timer is activated if it was not already. For case C, the algorithm leads to the following distance values: for FO distance (0) = 4 x (3-2) + (0-1) = 3 for F1 distance (1) = 4 x (3-2 ) + (1-1) = 4 for F2 distance (2) = 4 x (3-2) + (2-1) = 5 for F3 distance (3) = 4 x (2-2) + (3-1 ) = 2
La file d'attente sélectionnée est la file d'attente F3 car elle correspond à la distance minimale. La file d'attente F3 n'est pas vide, la cellule SN = 2 est rangée dans la file de sequencement. Les informations NEXT_PATH_R et NEXT_SN_R du deuxième contexte de connexion sont mises à jour : NEXT_PATH_R = 0 et NEXT_SN_R = 3, en considérant que le nombre de chemins de transmission NB_PATH est égal à 4. Le nombre de cellules en attente pour la connexion NB_DELAYED est décrémenté de 1.The queue selected is queue F3 because it corresponds to the minimum distance. The queue F3 is not empty, the cell SN = 2 is stored in the sequencing queue. The NEXT_PATH_R and NEXT_SN_R information of the second connection context is updated: NEXT_PATH_R = 0 and NEXT_SN_R = 3, considering that the number of NB_PATH transmission paths is equal to 4. The number of cells waiting for the NB_DELAYED connection is decremented from 1.
La temporisation TIMEOUT_DATE commune à tous les différents chemins de transmission d'une connexion permet de limiter les temps d'attente d'une cellule attendue. A l'expiration de la temporisation, les files d'attente sont vidées, le nombre de cellules en attente pour la connexion est mis à zéro NB_DELAYED = 0. la temporisation est inhibée en fixant TV à 0 et le premier processus et le deuxième processus sont réinitialisés. La figure 8 donne des exemples de remise en ordre de cellules dans un commutateur dans lequel les cellules ont été dispersées sur quatre chemins de transmission auxquels correspondent quatre files d'attente F0, F1, F2, F3. Sept étapes successives sont illustrées.The TIMEOUT_DATE delay common to all the different transmission paths of a connection makes it possible to limit the waiting times of an expected cell. When the timer expires, the queues are emptied, the number of cells waiting for the connection is set to zero NB_DELAYED = 0. the timer is inhibited by setting TV to 0 and the first process and the second process are reset. FIG. 8 gives examples of reordering cells in a switch in which the cells have been dispersed over four transmission paths to which correspond four queues F0, F1, F2, F3. Seven successive steps are illustrated.
Etape 1 : aucune cellule n'est présente dans les différentes files d'attente, F0 à F3. La cellule attendue est la cellule portant le numéro de séquence SN = 1 sur le chemin de transmission 1 correspondant à la file d'attente F1.Step 1: no cell is present in the different queues, F0 to F3. The expected cell is the cell with the sequence number SN = 1 on the transmission path 1 corresponding to the queue F1.
Etape 2 : une cellule venant du chemin de transmission 2 est reçue avec le numéro de séquence SN = 1. Ce n'est pas la cellule attendue, elle est donc mémorisée dans la file d'attente F2. La date de fin de temporisation TIMEOUTJDATE est calculée, la temporisation est activée en fixant TV à lStep 2: a cell coming from the transmission path 2 is received with the sequence number SN = 1. It is not the expected cell, it is therefore stored in the queue F2. The end date of TIMEOUTJDATE timer is calculated, the timer is activated by setting TV to
Etape 3 : de nouvelles cellules sont reçues, mais comme la cellule attendue (SN = 1 dans F1 ) n'a toujours pas été reçue, les cellules restent mémorisées dans la file d'attente correspondant au chemin de transmission suivi par la cellule.Step 3: new cells are received, but since the expected cell (SN = 1 in F1) has still not been received, the cells remain stored in the queue corresponding to the transmission path followed by the cell.
Etape 4 : la cellule attendue a été reçue, elle a été rangée dans la file de sequencement FS. Les informations NEXT_SN_R et NEXT_PATH_R du deuxième contexte de connexion sont mises à jour : NEXT_PATH_R est incrémente soit NEXT_PATH_R = 2 et NEXT_SN_R est inchangé, soit NEXT_SN_R = 1. . Le nombre de cellules en attente pour la connexion NB_DELAYED est décrémenté de 1.Step 4: the expected cell has been received, it has been placed in the FS sequencing queue. The NEXT_SN_R and NEXT_PATH_R information of the second connection context is updated: NEXT_PATH_R is incremented either NEXT_PATH_R = 2 and NEXT_SN_R is unchanged, or NEXT_SN_R = 1.. The number of cells waiting for the NB_DELAYED connection is decremented by 1.
Etape 5 : la cellule attendue (SN = 1 dans F2) est présente, elle est extraite et rangée dans la file de sequencement FS. Aucune cellule n'a été reçue. Les informations NEXT_SN_R et NEXT_PATH_R du deuxième contexte de connexion sont mises à jour : NEXT_PATH_R est incrémente soit NEXT_PATH_R = 3 et NEXT_SN_R est inchangé, soit NEXT_SN_R = 1. Le nombre de cellules en attente pour la connexion NB_DELAYED est décrémenté de 1. Etape 6 : la cellule attendue (SN = 1 dans F3) est présente, elle est extraite (NB_DELAYED = NB_DELAYED-1 ) et rangée dans la file de sequencement FS. La cellule SN = 2 est reçue sur le chemin de transmission égal à 3. Elle est mémorisée dans la file d'attente F3 (NB_DELAYED = NB_DELAYED+1 ). Les informations NEXT_SN_R et NEXT_PATH_R du deuxième contexte de connexion sont mises à jour : NEXT_PATH_R est incrémente soit NEXT_PATH_R = 0 (car le modulo est de 4) et NEXT_SN_R est incrémente car NEXT_PATH_R = 0, soit NEXT_SN_R = 2.Step 5: the expected cell (SN = 1 in F2) is present, it is extracted and stored in the sequencing queue FS. No cells were received. The information NEXT_SN_R and NEXT_PATH_R of the second connection context are updated: NEXT_PATH_R is incremented either NEXT_PATH_R = 3 and NEXT_SN_R is unchanged, ie NEXT_SN_R = 1. The number of cells waiting for connection NB_DELAYED is decremented by 1. Step: 6 the expected cell (SN = 1 in F3) is present, it is extracted (NB_DELAYED = NB_DELAYED-1) and stored in the sequencing queue FS. The cell SN = 2 is received on the transmission path equal to 3. It is stored in the queue F3 (NB_DELAYED = NB_DELAYED + 1). The NEXT_SN_R and NEXT_PATH_R information of the second connection context is updated: NEXT_PATH_R is incremented either NEXT_PATH_R = 0 (because the modulo is 4) and NEXT_SN_R is incremented because NEXT_PATH_R = 0, or NEXT_SN_R = 2.
Etape 7 : la cellule attendue (SN = 2 dans FO) est présente, elle est extraite (NB_DELAYED = NB_DELAYED-1 ) et rangée dans la file de sequencement FS. La cellule SN = 2 est reçue sur le chemin de transmission 1 . Elle est mémorisée dans la file d'attente F1 (NB_DELAYED = NB_DELAYED+1 ). Les informations NEXT_SN_R et NEXT_PATH_R du deuxième contexte de connexion sont mises à jour : NEXT_PATH_R est incrémente soit NEXT_PATH_R = 1 et NEXT_SN_R est inchangé, soit NEXT_SN_R = 2. Step 7: the expected cell (SN = 2 in FO) is present, it is extracted (NB_DELAYED = NB_DELAYED-1) and stored in the sequencing queue FS. The cell SN = 2 is received on the transmission path 1. It is stored in the queue F1 (NB_DELAYED = NB_DELAYED + 1). The NEXT_SN_R and NEXT_PATH_R information of the second connection context is updated: NEXT_PATH_R is incremented either NEXT_PATH_R = 1 and NEXT_SN_R is unchanged, or NEXT_SN_R = 2.

Claims

REVENDICATIONS
1. Procédé de dispersion et de remise en ordre de cellules transmises au moyen de connexions établies entre une source (3ι) et une ou plusieurs destination(s) (4|) reliées par un réseau d'entités de commutation intermédiaires (2j) définissant des chemins de transmission (aπ) caractérisé en ce qu'il considère l'ensemble des chemins de transmission (an) comme une seule ressource de transmission accessible à toutes les connexions (C1 , ..., CN1 ) dans laquelle il disperse les cellules suivant un premier processus déterminé et en ce qu'il remet en ordre les cellules arrivées à destination (4j) suivant un deuxième processus déterminé.1. Method for dispersing and reordering cells transmitted by means of connections established between a source (3ι) and one or more destination (s) (4 |) connected by a network of intermediate switching entities (2j) defining transmission paths (a π ) characterized in that it considers all of the transmission paths (a n ) as a single transmission resource accessible to all connections (C1, ..., CN1) in which it disperses the cells according to a first determined process and in that it restores the cells arrived at destination (4d) according to a second determined process.
2. Procédé de dispersion et de remise en ordre de cellules selon la revendication 1 , caractérisé en ce que pour une connexion donnée le premier processus consiste :2. A method of dispersing and reordering cells according to claim 1, characterized in that for a given connection the first process consists:
- à gérer un premier contexte de connexion (5) attaché à la source 3 ) et comprenant une première (NEXT_SN_E) et une deuxième (NEXT_PATH_E) informations de dispersion mises à jour après chaque émission d'une cellule pour réaliser une distribution des cellules sur les différents chemins de transmission (a1 ,a2,a3,a4) suivant une loi régulière,- to manage a first connection context (5) attached to the source 3) and comprising a first (NEXT_SN_E) and a second (NEXT_PATH_E) dispersion information updated after each transmission from a cell to distribute the cells over the different transmission paths (a1, a2, a3, a4) according to a regular law,
- à renseigner chaque cellule avec les informations de dispersion (SN, PATH) courantes avant de la transmettre sur le chemin de transmission correspondant à la deuxième valeur de dispersion (PATH) contenue dans la cellule, et le deuxième processus consiste pour une destination (4-,) donnée :- to inform each cell with the current dispersion information (SN, PATH) before transmitting it on the transmission path corresponding to the second dispersion value (PATH) contained in the cell, and the second process consists for a destination (4 -,) given:
- à extraire de l'entête de chaque cellule reçue les informations de dispersion (SN, PATH) et à gérer un deuxième contexte de connexion (9) attaché à la destination (4 pour décider de mémoriser la cellule reçue dans une file d'attente déterminée (FO, F1 , F2, F3) ou de la ranger dans une file de sequencement (FS), pour décider de purger les files d'attente (FO, F1 , F2, F3) ou pour décider d'extraire une cellule d'une file d'attente (FO, F1 , F2, F3) déterminée pour la ranger dans la file de sequencement (FS). - extracting the dispersion information from the header of each cell received (SN, PATH) and managing a second connection context (9) attached to the destination (4 to decide to store the cell received in a queue determined (FO, F1, F2, F3) or put it in a sequencing queue (FS), to decide to purge the queues (FO, F1, F2, F3) or to decide to extract a cell from '' a queue (FO, F1, F2, F3) determined to store it in the sequencing queue (FS).
3. Procédé de dispersion et de remise en ordre de cellules selon la revendication 2, caractérisé en ce que la gestion du premier contexte de connexion (5) attaché à la source (3^ consiste à initialiser, lors de l'établissement de la connexion ou lors d'une réinitialisation, la première information de dispersion (NEXT_SN_E) à une valeur donnée et la deuxième information de dispersion (NEXT_PATH_E) à une valeur déterminée aléatoirement puis à incrémenter, après chaque émission de cellule, la première information de dispersion (NEXT_SN_E) modulo une première valeur déterminée et la deuxième information de dispersion (NEXT_PATH_E) suivant une loi régulière et modulo une deuxième valeur déterminée et en ce que le renseignement de la cellule consiste à copier dans un en-tête de la cellule les valeurs courantes des informations de dispersion (NEXT_SN_E, NEXT_PATH_E) contenues dans le premier contexte de connexion (5).3. A method of dispersing and reordering cells according to claim 2, characterized in that the management of the first connection context (5) attached to the source (3 ^ consists of initializing, when establishing the connection or during a reset, the first dispersion information (NEXT_SN_E) to a given value and the second dispersion information (NEXT_PATH_E) to a value determined randomly then to increment, after each cell emission, the first dispersion information (NEXT_SN_E ) modulo a first determined value and the second information of dispersion (NEXT_PATH_E) according to a regular law and modulo a second determined value and in that the information of the cell consists in copying in a header of the cell the current values of information of dispersion (NEXT_SN_E, NEXT_PATH_E) contained in the first connection context (5).
4. Procédé de dispersion et de remise en ordre de cellules selon la revendication 3, caractérisé en ce que la gestion du deuxième contexte de connexion (9) consiste :4. A method of dispersing and reordering cells according to claim 3, characterized in that the management of the second connection context (9) consists of:
- à identifier une cellule attendue par un numéro de séquence (NEXT_SN_R) et un numéro de chemin de transmission (NEXT_PATH_R),- to identify a cell expected by a sequence number (NEXT_SN_R) and a transmission path number (NEXT_PATH_R),
- à initialiser, lors de l'établissement de la connexion ou lors d'une réinitialisation, le numéro de séquence (NEXT_SN_R) à la valeur d'initialisation de la première information de dispersion (NEXT_SN_E) et le numéro de chemin de transmission (NEXT_PATH_R) à la valeur d'initialisation de la deuxième information de dispersion (NEXT_PATH_E),- to initialize, when establishing the connection or during a reinitialization, the sequence number (NEXT_SN_R) to the initialization value of the first dispersion information (NEXT_SN_E) and the transmission path number (NEXT_PATH_R ) the initialization value of the second dispersion information (NEXT_PATH_E),
- à mettre à jour la numéro de séquence (NEXT_SN_R) et le numéro de chemin de transmission (NEXT_PATH_R) de la cellule attendue après chaque réception de cellule,- to update the sequence number (NEXT_SN_R) and the transmission path number (NEXT_PATH_R) of the expected cell after each cell reception,
- à définir une fenêtre de réception en fonction de la cellule attendue,- to define a reception window according to the expected cell,
- à détecter un problème de transmission lorsque la cellule reçue arrive en dehors de la fenêtre de réception,- detecting a transmission problem when the received cell arrives outside the reception window,
- à purger les files d'attente (F0,F1 ,F2,F3) si un problème de transmission a été détecté, - à comparer, si aucun problème de transmission n'a été détecté la cellule reçue avec la cellule attendue pour décider du rangement de la cellule reçue dans une file d'attente (F0,F1 ,F2,F3) ou dans la file de sequencement (FS),- purge the queues (F0, F1, F2, F3) if a transmission problem has been detected, - to compare, if no transmission problem has been detected, the received cell with the expected cell to decide on the ordering of the received cell in a queue (F0, F1, F2, F3) or in the sequencing queue (FS),
- à allouer un temps maximum d'attente pour l'attente d'une cellule attendue au-delà duquel les files d'attente (F0,F1 ,F2,F3) sont vidées et le premier et le deuxième processus sont réinitialisés. - to allocate a maximum waiting time for waiting for an expected cell beyond which the queues (F0, F1, F2, F3) are emptied and the first and second processes are reset.
PCT/FR1998/002459 1997-11-21 1998-11-18 Cell dispersion and sequencing method WO1999027687A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP98955685A EP1033014A1 (en) 1997-11-21 1998-11-18 Cell dispersion and sequencing method
CA002308367A CA2308367A1 (en) 1997-11-21 1998-11-18 Cell dispersion and sequencing method
IL13574198A IL135741A (en) 1997-11-21 1998-11-18 Cell dispersion and sequencing method for atm switching

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR97/14644 1997-11-21
FR9714644A FR2771572B1 (en) 1997-11-21 1997-11-21 PROCESS FOR DISPERSION AND ORDERING OF CELLS

Publications (1)

Publication Number Publication Date
WO1999027687A1 true WO1999027687A1 (en) 1999-06-03

Family

ID=9513648

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR1998/002459 WO1999027687A1 (en) 1997-11-21 1998-11-18 Cell dispersion and sequencing method

Country Status (5)

Country Link
EP (1) EP1033014A1 (en)
CA (1) CA2308367A1 (en)
FR (1) FR2771572B1 (en)
IL (1) IL135741A (en)
WO (1) WO1999027687A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5020052A (en) * 1986-12-19 1991-05-28 Alcatel N.V. Packet switching network
US5253251A (en) * 1991-01-08 1993-10-12 Nec Corporation Switching system with time-stamped packet distribution input stage and packet sequencing output stage

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5020052A (en) * 1986-12-19 1991-05-28 Alcatel N.V. Packet switching network
US5253251A (en) * 1991-01-08 1993-10-12 Nec Corporation Switching system with time-stamped packet distribution input stage and packet sequencing output stage

Also Published As

Publication number Publication date
CA2308367A1 (en) 1999-06-03
IL135741A0 (en) 2001-05-20
IL135741A (en) 2004-07-25
EP1033014A1 (en) 2000-09-06
FR2771572A1 (en) 1999-05-28
FR2771572B1 (en) 2002-12-06

Similar Documents

Publication Publication Date Title
US6798743B1 (en) Packet prioritization processing technique for routing traffic in a packet-switched computer network
EP1646192B1 (en) Packet switch, scheduling device, drop control circuit, multicast control circuit and QOS control device
EP0446540B1 (en) Self-routing multipath switching network for switching cells in the asynchronous transfer mode
US5276681A (en) Process for fair and prioritized access to limited output buffers in a multi-port switch
EP0858193B1 (en) Method and device for resource allocation in a digital packet transmission network
EP0618705B1 (en) Asynchronous switching node distributing dynamically cells to outputs forming an irregular group
EP0912018B1 (en) Method of flow control inside an ATM switch having a distributed architecture
EP2282456A1 (en) Communication network on a chip with service guarantee
WO2004095783A2 (en) Method and device for controlling data packet traffic at the input of a network
FR2834412A1 (en) NETWORK NODE, PHYSICAL INTERFACE CONTAINED BY THIS NODE AND PROCESS FOR PROCESSING PACKAGES CARRYING A VOICE PAYLOAD
EP0771132B1 (en) Device for regulating the flow of ATM cells inside an ATM switch
EP0886455A1 (en) Method for controlling allocated bandwidths in shared access local area networks, protocol and filter for its implementation
EP0874533B1 (en) Fair packet scheduling
FR2775546A1 (en) Asynchronous transfer mode switch for traffic control
EP0587468A2 (en) Photonic connection network with multicast capability
EP1033014A1 (en) Cell dispersion and sequencing method
EP0961446B1 (en) Congestion control in an ATM node
EP0689371A1 (en) Communication system having a network and multiplexing unit
EP1878180B1 (en) Method for scheduling a packet belonging to flows and equipment for carrying out said method
WO1999038293A2 (en) System and method for asynchronous switching of composite cells, and corresponding input port and output port modules
EP3989494A1 (en) Method for aggregation and control of messages via a restricted bi-directional communication channel
EP0632669B1 (en) Communication system including ATM network and demultiplexer
EP0910912B1 (en) Method and device for detecting upstream congestion in an atm commutator with a switching system architecture and input memorisation
FR2758427A1 (en) SWITCHING ELEMENT, IN PARTICULAR ATM CELLS, USING PROBABILISTIC PRIORITIES ATTACHED TO CELLS
FR2771239A1 (en) Flow control procedure for digital data

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 135741

Country of ref document: IL

AK Designated states

Kind code of ref document: A1

Designated state(s): CA IL JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 1998955685

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2308367

Country of ref document: CA

Ref country code: CA

Ref document number: 2308367

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 09530950

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1998955685

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1998955685

Country of ref document: EP