ITMI982555A1 - METHOD OF DEVICE FOR STATISTICAL MULTIPLEXING IN TECHNIQUEWEIGHTED FAIR QUEUING (WFQ) OF FLOWS THAT CONVEY ATM TRAFFIC - Google Patents

METHOD OF DEVICE FOR STATISTICAL MULTIPLEXING IN TECHNIQUEWEIGHTED FAIR QUEUING (WFQ) OF FLOWS THAT CONVEY ATM TRAFFIC Download PDF

Info

Publication number
ITMI982555A1
ITMI982555A1 ITMI982555A ITMI982555A1 IT MI982555 A1 ITMI982555 A1 IT MI982555A1 IT MI982555 A ITMI982555 A IT MI982555A IT MI982555 A1 ITMI982555 A1 IT MI982555A1
Authority
IT
Italy
Prior art keywords
wfq
fifo
block
tokens
indicator
Prior art date
Application number
Other languages
Italian (it)
Inventor
Roberto Paglino
Alessandro Pastorino
Roberto Gallino
Dario Cardini
Original Assignee
Italtel Spa
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 Italtel Spa filed Critical Italtel Spa
Priority to ITMI982555 priority Critical patent/IT1303870B1/en
Priority to JP2000584718A priority patent/JP2002531034A/en
Priority to PCT/IT1999/000380 priority patent/WO2000032008A1/en
Priority to EP99959662A priority patent/EP1133890A1/en
Publication of ITMI982555A1 publication Critical patent/ITMI982555A1/en
Application granted granted Critical
Publication of IT1303870B1 publication Critical patent/IT1303870B1/en
Priority to NO20012533A priority patent/NO20012533L/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • 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/5651Priority, marking, classes
    • 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/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling
    • 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/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

( DESCRIZIONE dell'invenzione industriale a nome: (DESCRIPTION of the industrial invention in the name:

Campo di applicazione dell'invenzione Field of application of the invention

La presente invenzione riguarda in generale sistemi di comunicazione che impiegano la tecnica numerica di commutazione veloce di celle, denominata ATM (Asynchronous Transfer Mode), utilizzata per il trasporto di segnali vocali, segnali video e dati. The present invention relates in general to communication systems which employ the numerical technique of fast cell switching, called ATM (Asynchronous Transfer Mode), used for the transport of voice signals, video signals and data.

Più in particolare, l'invenzione riguarda un metodo ed un dispositivo per il multiplexing statistico in tecnica Weighted Fair Queuing (WFQ) di flussi che convogliano traffico ATM. More particularly, the invention relates to a method and a device for statistical multiplexing in Weighted Fair Queuing (WFQ) technique of flows that convey ATM traffic.

La tecnica ATM assume un ruolo di importanza sempre maggiore nella commutazione integrata di flussi di segnali numerici appartenenti a servizi per la trasmissione di segnali vocali, video e dati, con requisiti di larghezza di banda diversi e caratteristiche di traffico differenziate. The ATM technique assumes an increasingly important role in the integrated switching of digital signal flows belonging to services for the transmission of voice, video and data signals, with different bandwidth requirements and different traffic characteristics.

La tecnica ATM prevede in particolare che le informazioni relative ai vari servizi siano organizzate in unità contigue con una lunghezza fissa di 424 bit (53 byte), denominate celle. Tali celle contengono, oltre ai dati veri e propri, un campo di intestazione (header) che porta tra l'altro le informazioni necessarie all'instradamento della cella stessa attraverso la rete geografica. In particular, the ATM technique provides that the information relating to the various services is organized in contiguous units with a fixed length of 424 bits (53 bytes), called cells. These cells contain, in addition to the actual data, a header field which carries, among other things, the information necessary for routing the cell through the geographic network.

La rete di connessione, che ha il compito di commutare spazialmente le celle da una porta d’ingresso ad una porta d'uscita, deve essere in grado di smaltire elevati volumi di traffico, dell'ordine delle centinaia di Gbit/s. The connection network, which has the task of spatially switching the cells from an entrance door to an exit door, must be able to handle high volumes of traffic, in the order of hundreds of Gbit / s.

L'introduzione di meccanismi di priorità di servizio sul flusso di celle ATM, siano essi rappresentati da singole connessioni o da insiemi di connessioni, si collega indicata con ASN (ATM Switching Network). Un discorso del tutto speculare vale per la sezione posta sul lato uscente di tale matrice. In tal caso I flussi uscenti dalla matrice ASN costituiscono altrettanti flussi d’ingresso LINK-IN per identici multiplexer statistici, SMU1. SMUk, ed i flussi LINK-OUT uscenti da questi ultimi pervengono ai multiplexer ATM (demultiplexer) AMX1, ..., AMXk, ciascuno dei quali smista il traffico convogliato verso un rispettivo gruppo di Line Interface Cards, LIC1, ... LICr operanti a differenti bit-rate. The introduction of service priority mechanisms on the flow of ATM cells, whether they are represented by single connections or by sets of connections, is referred to as ASN (ATM Switching Network). A completely specular discourse applies to the section located on the outgoing side of this matrix. In this case, the outgoing flows from the ASN matrix constitute as many LINK-IN input flows for identical statistical multiplexers, SMU1. SMUk, and the LINK-OUT flows outgoing from the latter reach the ATM multiplexers (demultiplexers) AMX1, ..., AMXk, each of which sorts the traffic conveyed to a respective group of Line Interface Cards, LIC1, ... LICr operating at different bit-rates.

Nel funzionamento, si ipotizza che la matrice ASN sia autoinstradante e non bloccante. Come è noto, il compito principale dei multiplexer statistici è quello di organizzare il traffico in uscita sulla base della variabilità del traffico in ingresso, ripartendo dinamicamente tra le varie sessioni attive la banda disponibile sul link uscente, al preciso scopo di massimizzare il traffico complessivamente gestibile dalla matrice ASN, garantendo nel contempo alle varie sessioni la banda minima concordata nella fase di negoziazione del protocollo di Traffic Management. Queste finalità sono raggiunte attraverso una funzionalità di scheduling, mentre una funzionalità di shaping limita superiormente la banda delle varie connessioni, limitando la perdita di celle ATM dovute a congestione. In operation, the ASN matrix is assumed to be self-routing and non-blocking. As is known, the main task of statistical multiplexers is to organize the outgoing traffic on the basis of the variability of the incoming traffic, dynamically distributing the band available on the outgoing link among the various active sessions, with the express purpose of maximizing the overall manageable traffic. from the ASN matrix, at the same time guaranteeing to the various sessions the minimum bandwidth agreed in the negotiation phase of the Traffic Management protocol. These purposes are achieved through a scheduling function, while a shaping function limits the bandwidth of the various connections at the top, limiting the loss of ATM cells due to congestion.

Per far fronte a queste necessità i multiplexer SMU possiedono dei buffer largamente dimensionati, e quindi in grado di trattare adeguatamente i canali che convogliano traffico non real-time (nrt), come ad esempio quello definito nelle classi di servizio nrt-VBR (nrt Variable Bit Rate), ABR (Available Bit Rate), ed UBR (Unspecified Bit Rate). Per contro, i canali che convogliano traffico real-time, come ad esempio quello definito nelle classi di servizio CBR (Constant Bit Rate) e rt-VBR non necessitano, ovviamente, di grandi buffer. To meet these needs, SMU multiplexers have large buffers, and therefore able to adequately handle the channels that carry non-real-time traffic (nrt), such as the one defined in the nrt-VBR (nrt Variable Bit Rate), ABR (Available Bit Rate), and UBR (Unspecified Bit Rate). On the other hand, the channels that carry real-time traffic, such as that defined in the CBR (Constant Bit Rate) and rt-VBR service classes, obviously do not need large buffers.

Le figg.2 e 3 della presente domanda sono schematizzazioni ad alto livello dei multiplexer statistici SMU valide in generale. La fig.2 fornisce una schematizzazione funzionale che indica come le celle ATM che compongono un link d’ingresso LINK-IN vengano ripartite in n code trasmissive QU1, QUn e memorizzate in un buffer gestito da una funzionalità di Buffer Managing BM. Ciascuna coda raggruppa celle provenienti da differenti flussi elementari che costituiscono altrettante connessioni entro la rete, supportate da rispettivi canali virtuali VC (Virtual Channel). Questi ultimi sono convenientemente ripartiti entro diversi percorsi trasmissivi virtuali VP (Virtual Path). Il raggruppamento dei VC per coda trasmissiva può avvenire in base a differenti criteri, ad esempio, a seconda delia bit-rate dell'interfaccia di linea LIC, oppure a seconda del percorso VP entro la rete. Figures 2 and 3 of the present application are high-level schematizations of the statistical multiplexers SMU valid in general. Fig. 2 provides a functional diagram that indicates how the ATM cells that make up a LINK-IN input link are divided into n transmission queues QU1, QUn and stored in a buffer managed by a Buffer Managing BM function. Each queue groups cells coming from different elementary flows which constitute as many connections within the network, supported by respective virtual channels VC (Virtual Channel). The latter are conveniently distributed within different virtual transmission paths VP (Virtual Path). The grouping of the VCs by transmission queue can take place according to different criteria, for example, according to the bit-rate of the LIC line interface, or according to the VP path within the network.

Fondamentale per l’esplicazione della suddetta funzionalità BM è il fatto di mantenere aggiornata la conoscenza delle locazioni di memoria delle n code e delle celle presenti in ciascuna coda. Allo scopo il Buffer Manager BM, ad ogni cella acquisita, aggiorna una tabella di indicatori, Q-ID1, .... Q-IDn dell'indirizzo dell'ultima cella occupata in ciascuna coda di celle (supposta nota la modalità di impilamento entro la coda). Per compiere la suddetta operazione il blocco BM analizza Γ identificativo della connessione presente nella parte Header della cella ATM, precisamente nei campi VC (Virtual Channel) e VP (Virtual Path), ed utilizza questa informazione per calcolare un indicatore Q-ID alla coda trasmissiva. L'acquisizione, o lo scarto, di una cella viene decisa sulla base della classe di traffico e del grado di occupazione della coda e del buffer complessivamente. In caso di accettazione, il BM richiede la scrittura della cella nel buffer e decide se l'indicatore Q-ID debba essere, o meno, memorizzato per le ulteriori funzionalità che terminano con il servizio della coda e la trasmissione della cella. Fundamental for the implementation of the aforementioned BM functionality is the fact of keeping the knowledge of the memory locations of the n queues and of the cells present in each queue updated. For this purpose, the Buffer Manager BM, for each acquired cell, updates a table of indicators, Q-ID1, .... Q-IDn of the address of the last cell occupied in each queue of cells (assuming that the stacking mode is known within tail). To carry out the aforementioned operation, the BM block analyzes Γ identification of the connection present in the Header part of the ATM cell, precisely in the VC (Virtual Channel) and VP (Virtual Path) fields, and uses this information to calculate a Q-ID indicator at the transmission queue. . The acquisition, or discard, of a cell is decided on the basis of the traffic class and the degree of occupation of the queue and the buffer as a whole. In case of acceptance, the BM requests the writing of the cell in the buffer and decides whether or not the Q-ID indicator should be memorized for the further functionalities ending with the queue service and the cell transmission.

A valle del blocco BM è posto un blocco SORTER che esplica una funzionalità di servizio, detta di Celi Scheduling, consistente nel selezionare opportunamente le celle ATM da porre sequenzialmente sul link d'uscita LINK-OUT. Molteplici sono gli algoritmi sviluppati per compiere la suddetta funzionalità, tra questi assume particolare rilievo ai fini dell'invenzione quello di Weighted Fair Queuing, detto in seguito WFQ. Downstream of the BM block there is a SORTER block which performs a service function, called Cell Scheduling, consisting in suitably selecting the ATM cells to be sequentially placed on the LINK-OUT output link. There are many algorithms developed to perform the aforementioned functionality, among these the Weighted Fair Queuing, later called WFQ, assumes particular importance for the purposes of the invention.

La fig.3 mette in maggior rilievo l’impostazione circuitale dei multiplexer SMU di fig.2, verrà in seguito fornita una descrizione dei blocchi BM e SORTER dotata di un buon dettaglio circuitale. Fig. 3 highlights the circuit setting of the SMU multiplexers in fig. 2, a description of the BM and SORTER blocks with good circuit detail will be provided below.

Tornando all’articolo citato e precisamente alla fig.3, meglio esplicitata nella fig.4 della presente domanda, si può notare l'evoluzione tecnologica che subisce un singolo multiplexer statistico SMU rispetto alla generica rappresentazione funzionale di fig.2, indipendentemente dal fatto che esso sia posto all'ingresso o all’uscita della matrice di commutazione ASN di fig.1. Nella rappresentazione di fig.4, infatti, è evidente la netta separazione operata tra le code trasmissive che sostengono traffico real-time e le code che sostengono traffico non real-time. È pure evidente la presenza di una struttura modulare in cui le code logiche di celle QU di tipo non real-time, e le code dei relativi indicatori di coda Q-ID, sono raggruppate in m blocchi logici individuati da rispettivi indicatori B-ID1, .... B-IDm, mentre le celle QU di tipo real-time vengono raggruppate in una sola coda (CBR) visibile all’estremità inferiore della figura. Returning to the aforementioned article and precisely to fig. 3, better explained in fig. 4 of the present application, it is possible to note the technological evolution that a single statistical multiplexer SMU undergoes with respect to the generic functional representation of fig. 2, regardless of the fact that it is placed at the input or at the output of the switching matrix ASN of fig.1. In the representation of fig. 4, in fact, the clear separation made between the transmission queues that support real-time traffic and the queues that support non-real-time traffic is evident. The presence of a modular structure is also evident in which the logical queues of non-real-time type QU cells, and the queues of the related Q-ID queue indicators, are grouped into m logical blocks identified by respective indicators B-ID1, .... B-IDm, while the real-time QU cells are grouped into a single queue (CBR) visible at the lower end of the figure.

Ciascun blocco B-ID include un proprio sotto-blocco SB (Scheduler Block) che espleta la funzionalità di scheduling sulle n code logiche Q-ID1, ..., Q-IDn del blocco stesso, e fornisce una sequenza di indicatori ad un ulteriore blocco di scheduling SBS (Scheduler Block Scheduler) comune a tutti i blocchi B-ID ed alla coda delle connessioni real-time. Lo scheduler SBS ricompone i due tipi di traffico nel flusso uscente LINK-OUT. Each B-ID block includes its own SB (Scheduler Block) sub-block which performs the scheduling function on the n logical queues Q-ID1, ..., Q-IDn of the block itself, and provides a sequence of indicators to a further scheduling block SBS (Scheduler Block Scheduler) common to all B-ID blocks and to the queue of real-time connections. The SBS scheduler recomposes the two types of traffic in the outgoing LINK-OUT stream.

Nel funzionamento, le code di celle ATM di ciascun blocco B-ID condividono una cell-rate configurabile e deterministica, in termini più espliciti questo significa che a ciascun blocco B-ID viene assegnata una banda fissa, eventualmente differente da blocco a blocco. I criteri di assegnazione delle code logiche ai singoli blocchi sono indicati nell’articolo citato. Per generare i servizi dei blocchi B-ID, lo scheduler SBS fa uso di un calendario in cui gli indicatori B-ID vengono continuamente inseriti ed estratti secondo un opportuno criterio noto. Analogamente, lo scheduler SB di un generico blocco B-ID genera i servizi delle singole code tramite l'ausilio di un calendario contenente gli indicatori Q-ID delle code appartenenti al blocco B-ID considerato. Quando un blocco viene servito, il relativo scheduler SB determina la coda avente diritto all'estrazione di una cella dal buffer. Come i calendari vengano utilizzati dipende dall'una, o dall’altra, di due modalità di scheduling previste, e precisamente la modalità detta di Rate Shaping per la limitazione della cell-rate di picco, e la modalità di WFQ per garantire alle singole connessioni non real-time la banda minima concordata nella fase di negoziazione del protocollo di Traffic Management. In operation, the ATM cell queues of each B-ID block share a configurable and deterministic cell-rate, in more explicit terms this means that each B-ID block is assigned a fixed band, possibly different from block to block. The criteria for assigning the logical queues to the individual blocks are indicated in the aforementioned article. To generate the services of the B-ID blocks, the SBS scheduler makes use of a calendar in which the B-ID indicators are continuously inserted and extracted according to a suitable known criterion. Similarly, the scheduler SB of a generic B-ID block generates the services of the individual queues by means of a calendar containing the Q-ID indicators of the queues belonging to the B-ID block considered. When a block is served, its scheduler SB determines the queue entitled to extract a cell from the buffer. How the calendars are used depends on one, or the other, of two scheduled scheduling modes, and precisely the so-called Rate Shaping mode for limiting the peak cell-rate, and the WFQ mode to guarantee individual connections the minimum bandwidth agreed in the negotiation phase of the Traffic Management protocol is not real-time.

Per quanto sopra, si può concludere che la struttura sopra evidenziata opera la suddivisione della banda tra code appartenenti a differenti blocchi logici mediante un insieme di m+1 calendari fisicamente distinti ed organizzati in un doppio livello gerarchico. Questa architettura presenta le due seguenti limitazioni: With regard to the above, it can be concluded that the structure highlighted above operates the subdivision of the band between queues belonging to different logical blocks by means of a set of physically distinct m + 1 calendars organized in a double hierarchical level. This architecture has the following two limitations:

• Impossibilità di ripartire in modo dinamico la banda complessiva tra i blocchi, dato che a ciascun blocco compete una banda fissa, per cui eventuali “buchi trasmissivi” di un blocco non possono essere sfruttati dagli altri. • Impossibility of dynamically distributing the overall bandwidth among the blocks, given that each block has a fixed bandwidth, so any “transmission gaps” of a block cannot be exploited by the others.

• Impossibilità di aumentare a piacimento il numero dei blocchi, poiché la realizzazione circuitale di un gran numero di scheduler BS (uno scheduler per blocco) con meccanismo a calendario, che nelle applicazioni pratiche può assumere facilmente grosse dimensioni, trova un limite fissato dalla tecnologia dei circuiti integrati semi-custom. • Impossibility of increasing the number of blocks at will, since the circuit implementation of a large number of BS schedulers (one scheduler per block) with a calendar mechanism, which in practical applications can easily assume large dimensions, finds a limit set by the technology of semi-custom integrated circuits.

Necessità di dover effettuare una scansione del calendario di uno scheduler BS ad ogni tempo cella per determinare la coda di celle da servire, ciò comporta l’esecuzione di numerose operazioni in tempi brevi, richiedendo l'utilizzo di circuiti molto veloci e quindi costosi. The need to scan the calendar of a BS scheduler at each cell time to determine the queue of cells to be served, this involves the execution of numerous operations in a short time, requiring the use of very fast and therefore expensive circuits.

Le ultime due limitazioni dell’arte nota di fig.4 vengono in parte a cadere grazie ad una invenzione sviluppata nei laboratori della Richiedente, e già oggetto di una domanda di brevetto Italiana depositata con il numero MI97A 002147 in data 23-9-1997. Tale invenzione, schematizzata nelle figure 5 e 6, permette di ripartire in modo dinamico la banda tra le code trasmissive servite da un generico blocco di code mediante un’applicazione originale dell’algoritmo WFQ. Continua purtroppo a permanere l’impossibilità di ripartire dinamicamente la banda tra i blocchi. The last two limitations of the prior art of fig. 4 are partially eliminated thanks to an invention developed in the Applicant's laboratories, and already the subject of an Italian patent application filed with number MI97A 002147 on 09/23/1997. This invention, schematized in Figures 5 and 6, allows to dynamically divide the band between the transmission queues served by a generic block of queues using an original application of the WFQ algorithm. Unfortunately, the impossibility of dynamically distributing the band between the blocks continues to exist.

La fig.5 illustra la disposizione funzionale dei blocchi di un multiplexer statistico realizzato secondo l'invenzione appena citata. Anche in questo caso le code trasmissive delle connessioni non real-time vengono ripartite in m blocchi funzionali indirizzati dagli indicatori di blocco B-ID1, ..., B-IDm; un’analoga ripartizione subiscono gli indicatori Q-ID alle singole code. Gli indicatori Q-ID destinati ad un generico blocco vengono quindi trattati da un blocco opzionale SHP/SKD che compie le funzionalità di shaping e di scheduling per limitare la banda di picco; dopodiché ad ogni nuova occorrenza di un indicatore, a seconda della tipologia della coda di celle a cui lo stesso è abbinato, viene inserito in una di tre liste FIFO (First In First Out), rispettivamente HP-FIFO, LP-FIFO, e VLP-FIFO, indicate in ordine di priorità di servizio. Per brevità è stata omessa l’indicazione di una flag (semaforo) posta al servizio di una coda che raggruppa tute le connessioni servite in real-time, che bypassano quindi la funzionalità di WFQ, ed occorre inoltre evidenziare che le liste VLP-FIFO sono opzionali. Le FIFO vengono utilizzate per esplicare la funzionalità di WFQ nel modo in cui recita la rivendicazione 1 che viene qui di seguito riprodota: Fig. 5 illustrates the functional arrangement of the blocks of a statistical multiplexer made according to the aforementioned invention. Also in this case the transmission queues of the non real-time connections are divided into m functional blocks addressed by the block indicators B-ID1, ..., B-IDm; the Q-ID indicators at the individual queues undergo a similar distribution. The Q-ID indicators intended for a generic block are then treated by an optional SHP / SKD block which performs the shaping and scheduling functions to limit the peak band; after which at each new occurrence of an indicator, depending on the type of queue of cells to which it is associated, it is inserted in one of three FIFO (First In First Out) lists, respectively HP-FIFO, LP-FIFO, and VLP -FIFO, indicated in order of service priority. For the sake of brevity, the indication of a flag (semaphore) placed at the service of a queue that groups all the connections served in real-time, which therefore bypasses the WFQ functionality, has been omitted, and it should also be noted that the VLP-FIFO lists are optional. The FIFOs are used to carry out the functionality of WFQ in the way claimed in claim 1 which is reproduced below:

“Metodo per la gestione di risorse in tecnica ATM per applicazioni Weighted Fair Queuing in un sistema per la trasmissione su di un link di uscita di flussi di celle ATM provenienti da uh link in ingresso appartenenti a classi di servizio a diversa qualità, ad almeno alcuni di detti flussi essendo associata una rispetiva banda minima garantita assegnata in fase di instaurazione del servizio, ed essendo assicurata a ciascuno di detti flussi di celle la possibilità di fruire di ulteriore banda eventualmente disponibile su detto link di uscita, caraterizzato dal fatto di assegnare a ciascuno di detti flussi, in un periodo di rinnovo multiplo intero del tempo di trasmissione di una cella su detto link in uscita, un rispettivo numero di diritti di accesso a deto link di uscita, o token, proporzionale a detta banda minima, e, per ciascun periodo di rinnovo, di comprendere le seguenti fasi di: "Method for the management of resources in ATM technique for Weighted Fair Queuing applications in a system for the transmission on an output link of ATM cell flows coming from an input link belonging to classes of service of different quality, to at least some of said flows being associated with a respective minimum guaranteed band assigned during the service establishment phase, and each of said cell flows being ensured the possibility of using any additional band available on said output link, characterized by the fact of assigning to each of said flows, in a whole multiple renewal period of the transmission time of a cell on said outbound link, a respective number of access rights to said outbound link, or token, proportional to said minimum band, and, for each renewal period, to include the following stages of:

- inserire le celle di ciascuno di deti flussi in una rispettiva coda trasmissiva; - insert the cells of each of certain flows in a respective transmission queue;

- assegnare a ciascuna di dette code trasmissive il proprio numero di token; - assign to each of said transmission queues its own number of tokens;

- inserire indicatori di dete code trasmissive all'interno di una strutura di memorizzazione ad alta priorità; - inserting indicators of transmission detainees inside a high priority memorization structure;

- scandire deta struttura di memorizzazione ad alta priorità servendo le code trasmissive via via indicate decrementando i token a loro disposizione e trasferendo gli indicatori delle code che hanno esaurito i propri token all'interno di una strutura di memorizzazione a bassa priorità; - scan the high priority storage structure by serving the transmission queues indicated by decreasing the tokens available to them and transferring the indicators of the queues that have run out of their tokens within a low priority storage structure;

- una volta terminata la scansione di deta strutura di memorizzazione ad alta priorità, scandire deta struttura di memorizzazione a bassa priorità servendo le code da essa indicate fino alla fine del periodo di rinnovo". - once the scanning of said high priority storage structure has been completed, scan said low priority storage structure by serving the queues indicated by it until the end of the renewal period ".

Come si può notare, non traspare affatto dal tenore della rivendicazione la possibilità di suddividere le code di celle in blocchi funzionali. Nei testo questa possibilità è data per scontata, in quanto solo vagamente accennata. In ogni caso manca del tutto la descrizione dei mezzi che distribuiscono il servizio tra i diversi blocchi B-ID, ed il lettore può quindi ragionevolmente supporre che essi siano implicitamente analoghi a quelli fino ad allora noti, ovvero del tipo del blocco SBS di fig.4. Quest’ultimo è rappresentato in fig.5 da un blocco SHP/SKD che riceve allo scopo gli indicatori B-ID. As can be seen, the possibility of dividing the cell queues into functional blocks does not at all transpire from the content of the claim. In the text this possibility is taken for granted, as it is only vaguely hinted at. In any case, the description of the means which distribute the service between the different B-ID blocks is completely lacking, and the reader can therefore reasonably assume that they are implicitly similar to those previously known, that is of the type of the SBS block of fig. 4. The latter is represented in fig. 5 by a SHP / SKD block which receives the B-ID indicators for this purpose.

La fig.6 mette in evidenza l'aspetto più propriamente sistemistico del multiplexer statistico rappresentato funzionalmente in fig.5; questa figura costituisce un punto di riferimento per il confronto con successive analoghe figure che illustreranno l'invenzione oggetto della presente domanda, e di alcune varianti. Come si può notare, il buffer manager BM fornisce gli indicatori di blocco B-ID e di coda Q-ID al blocco SHP/SKD-Q, ed il solo indicatore di blocco B-ID al blocco SHP/SKD-B. Questi due blocchi, come detto, compiono le funzionalità di shaping e scheduling per il servizio fornito ai blocchi (SHP/SKD-B) ed alle code all'interno dei blocchi (SHP/SKD-Q). Gli indicatori Q-ID estratti dal blocco SHP/SKD-Q vengono di volta in volta scritti in una delle tre FIFO (fig.5) di un corrispondente gruppo di FIFO incluse in un blocco WFQ-Q, che compie la suddetta funzionalità di WFQ servendosi di un indicatore B-ID estratto dal blocco SHP/SKD-B per indirizzare il gruppo di FIFO servito. Gli indicatori Q-ID estratti dal blocco WFQ-Q vengono da ultimo forniti al blocco BM per completare la funzionalità di servizio su! link di uscita LINK-OUT. Fig. 6 highlights the more properly systemic aspect of the statistical multiplexer represented functionally in Fig. 5; this figure constitutes a reference point for comparison with subsequent similar figures which will illustrate the invention which is the subject of the present application, and of some variants. As can be seen, the buffer manager BM provides the block B-ID and queue Q-ID indicators to the SHP / SKD-Q block, and the only block indicator B-ID to the SHP / SKD-B block. These two blocks, as mentioned, perform the shaping and scheduling functions for the service provided to the blocks (SHP / SKD-B) and to the queues inside the blocks (SHP / SKD-Q). The Q-ID indicators extracted from the SHP / SKD-Q block are each time written in one of the three FIFOs (fig. 5) of a corresponding group of FIFOs included in a WFQ-Q block, which performs the aforementioned WFQ functionality using a B-ID indicator extracted from the SHP / SKD-B block to address the group of FIFO served. The Q-ID indicators extracted from the WFQ-Q block are ultimately supplied to the BM block to complete the service functionality on! LINK-OUT output link.

L'esame delle figg.5 e 6 mette in chiara luce la limitazione residua della sopra citata invenzione, dovuta al fatto che manca una funzionalità che consenta di variare dinamicamente la banda assegnata ai blocchi identificati dagli indicatori B-ID. Qualora poi, come nella pratica avviene, i blocchi opzionali SHP/SKD siano effettivamente presenti, tornano in parte a sussistere anche le limitazioni dell’arte nota di fig.4, altrimenti superate, in quanto viene riproposta la stessa architettura ad m+1 calendari. Scopi dell'invenzione The examination of Figs. 5 and 6 clearly highlights the residual limitation of the aforementioned invention, due to the fact that there is no functionality that allows to dynamically vary the band assigned to the blocks identified by the B-ID indicators. If then, as in practice, the optional SHP / SKD blocks are actually present, the limitations of the known art of fig. 4 also subsist in part, otherwise overcome, as the same architecture is proposed again in m + 1 calendars. . Aims of the invention

Pertanto scopo della presente invenzione è quello di superare gli inconvenienti dei multiplexer statistici per applicazioni ATM realizzati mediante una struttura a blocchi funzionali di code di celle secondo l’arte nota. Più precisamente, l'invenzione si prefigge di superare, in primo luogo, la limitazione dovuta all'incapacità di ripartire in modo dinamico la banda disponibile tra i blocchi, onde meglio sopperire alle esigenze del traffico reale, ed in secondo luogo le limitazioni tipiche delle strutture ad array di scheduler, ovvero la loro difficoltà realizzativa. Therefore, the purpose of the present invention is to overcome the drawbacks of statistical multiplexers for ATM applications made by means of a functional block structure of cell queues according to the known art. More precisely, the invention aims to overcome, firstly, the limitation due to the inability to dynamically divide the available bandwidth between the blocks, in order to better meet the needs of real traffic, and secondly the typical limitations of scheduler array structures, or rather their implementation difficulty.

Altro scopo della presente invenzione è quello di indicare un metodo per il multiplexing statistico in tecnica ATM che consenta di sfruttare al meglio la banda disponibile senza creare congestione e riducendo drasticamente il numero complessivo di operazioni necessarie al raggiungimento di queste finalità. Another object of the present invention is to indicate a method for statistical multiplexing in the ATM technique which allows to make the most of the available band without creating congestion and drastically reducing the overall number of operations necessary to achieve these purposes.

Sommario dell'invenzione Summary of the invention

Per conseguire tali scopi la presente invenzione ha per oggetto un metodo di multiplexing statistico di flussi di celle ATM originati da connessioni aventi classi di servizio di diversa qualità, detti flussi generando code trasmissive di celle ripartite entro blocchi funzionali, e ad almeno alcuni di detti flussi essendo assegnata una banda minima garantita sul flusso multiplato e la possibilità di ripartire una banda residua eventualmente disponibile sullo stesso flusso mediante una funzionalità nota, detta in seguito di Weighted Fair Queuing, o WFQ, che assegna dinamicamente opportune quantità di gettoni, valutate su base statistica, a delle singole code trasmissive, che spendono detti gettoni per accedere alia banda residua sul flusso multiplato (LINK-OUT), caratterizzato dal fatto che detta funzionalità di WFQ comprende delle fasi di assegnazione dinamica di opportune quantità di gettoni, valutate su base statistica, anche ai detti blocchi funzionali, che spendono detti gettoni per consentire alle proprie code trasmissive di accedere alla ripartizione della banda residua su) flusso multiplato (LINK-OUT), ripartendo in tal modo tra i detti blocchi funzionali la banda residua sul flusso multiplato, come anche descritto nella rivendicazione 1. To achieve these purposes, the present invention relates to a statistical multiplexing method of ATM cell flows originating from connections having service classes of different quality, said flows generating transmission queues of cells divided into functional blocks, and to at least some of said flows being assigned a minimum guaranteed band on the multiplexed flow and the possibility of distributing a residual band that may be available on the same flow by means of a known function, later called Weighted Fair Queuing, or WFQ, which dynamically assigns appropriate quantities of tokens, evaluated on a statistical basis , to individual transmission queues, which spend said tokens to access the residual band on the multiplexed stream (LINK-OUT), characterized by the fact that said WFQ functionality includes dynamic assignment phases of appropriate quantities of tokens, evaluated on a statistical basis, also to said functional blocks, which spend said tokens for allow its own transmission queues to access the distribution of the residual band on the multiplexed flow (LINK-OUT), thus dividing the residual band on the multiplexed flow among said functional blocks, as also described in claim 1.

Altro oggetto d’invenzione è un metodo di multiplexing statistico che possiede tutte le caratteristiche del metodo descritto nella rivendicazione 1, e l'ulteriore caratteristica di compiere ad ogni tempo cella: Another object of the invention is a statistical multiplexing method that possesses all the characteristics of the method described in claim 1, and the further characteristic of performing at any cell time:

- una prima schedulazione degli intervalli di emissione di indicatori dei blocchi funzionali da servire, atta a dilatare detti intervalli per limitare la banda di picco cumulativa del gruppo di code di celle appartenenti ai blocchi serviti; - a first scheduling of the emission intervals of indicators of the functional blocks to be served, adapted to dilate said intervals to limit the cumulative peak band of the group of queues of cells belonging to the served blocks;

- una seconda schedulazione degli intervalli di emissione di indicatori delle code trasmissive da servire, atta a dilatare detti intervalli per limitare la banda di picco delle code servite, come descritto in una rivendicazione dipendente di metodo. - a second scheduling of the emission intervals of indicators of the transmission queues to be served, adapted to dilate said intervals to limit the peak band of the queues served, as described in a method dependent claim.

Altro oggetto d’invenzione è un multiplexer statistico che attua il metodo descritto nella rivendicazione 1, come descritto nella rivendicazione indipendente 13. Another object of the invention is a statistical multiplexer that implements the method described in claim 1, as described in independent claim 13.

Altro oggetto d'invenzione è un multiplexer statistico che possiede tutti i mezzi del multiplexer della rivendicazione 13, ed ulteriori mezzi di schedulazione degli intervalli di servizio dei blocchi funzionali e delle relative code trasmissive, come descritto in una rivendicazione dipendente di dispositivo. Another object of the invention is a statistical multiplexer which possesses all the means of the multiplexer of claim 13, and further means for scheduling the service intervals of the functional blocks and the related transmission queues, as described in a device-dependent claim.

Ulteriori oggetti d'invenzione sono delle varianti di metodo e di dispositivo, come risultano dalle rispettive rivendicazioni dipendenti. Further objects of the invention are method and device variants, as they result from the respective dependent claims.

Vantaggi dell'invenzione Advantages of the invention

Un primo notevole vantaggio della presente invenzione è dovuto al fatto che l'applicazione dell’algoritmo WFQ sia a livello blocco che a livello code permette di estendere la ripartizione dinamica della banda anche al livello dei blocchi, consentendo di sfruttare in modo ottimale le risorse trasmissive. Ciò posto, un ulteriore vantaggio che ne deriva è conseguibile raggruppando tutte le connessioni delle classi di servizio real-time di un blocco, ad esempio CBR, ponendole in una coda ad alta priorità all'interno del blocco stesso. In tal modo l’algoritmo WFQ applicato alle code del blocco considerato garantisce la minimizzazione della variazione del ritardo di cella, o CDV (Celi Delay Variation), causato alle connessioni CBR dalle altre connessioni appartenenti al blocco. Il ritardo delle connessioni CBR è però influenzato dal ritardo nel servizio del blocco a cui appartengono. Qualora la scelta dei parametri del sistema renda questa dipendenza un problema, è possibile raggruppare le connessioni CBR di tutti i blocchi in un unico blocco ad alta priorità ad esse dedicato. Come si nota, l’invenzione consente di creare in modo estremamente naturale due differenti livelli di bypass, particolarmente adatti al trattamento di flussi trasmissivi real-time. A first notable advantage of the present invention is due to the fact that the application of the WFQ algorithm both at the block level and at the code level allows to extend the dynamic distribution of the band also at the block level, allowing the transmission resources to be optimally exploited. . Having said this, a further advantage deriving from it is obtainable by grouping all the connections of the real-time service classes of a block, for example CBR, by placing them in a high priority queue within the block itself. In this way, the WFQ algorithm applied to the queues of the considered block guarantees the minimization of the variation of the cell delay, or CDV (Celi Delay Variation), caused to the CBR connections by the other connections belonging to the block. However, the delay of CBR connections is affected by the delay in the service of the block to which they belong. If the choice of the system parameters makes this dependence a problem, it is possible to group the CBR connections of all the blocks in a single high priority block dedicated to them. As you can see, the invention allows you to create two different bypass levels in an extremely natural way, particularly suitable for the treatment of real-time transmission flows.

Un secondo notevole vantaggio del multiplexer statistico della presente invenzione è che esso necessita solamente di due calendari per effettuare il controllo della banda di picco, sia a livello blocco che a livello coda, limitando la banda ad entrambi i livelli della gerarchia logica. Un primo calendario è per i blocchi, ed un secondo per le code; quest'ultimo è messo a disposizione delle code dei blocchi di volta in volta selezionati. Per cui, rispetto alle architetture dell'arte nota che replicano i calendari tante volte quante sono i blocchi, la logica necessaria per realizzare il controllo della rate di picco subisce una drastica riduzione di complessità. Ne consegue, a parità di numero di porte del multiplexer statistico, una diminuzione delle dimensioni dei circuiti integrati che realizzano i calendari ed una conseguente riduzione dei costi di produzione. Inoltre, la rimozione del vincolo tecnologico sul numero massimo dei blocchi imposto dalla replica dei calendari, rende possibile la costruzione di sistemi con un numero di porte considerevolmente maggiore di quello attualmente possibile, che si aggira intorno al centinaio. L’architettura del multiplexer statistico secondo la presente invenzione consente di imporre la limitazione del picco in modo selettivo, poiché possono sussistere code alle quali viene applicato l’algoritmo di WFQ puro, cioè con rate di picco non limitata, e code superiormente limitate in banda. Questa proprietà, che vale anche per i blocchi, può essere ottenuta mediante configurazione di opportuni parametri via software. A second significant advantage of the statistical multiplexer of the present invention is that it only needs two calendars to control the peak band, both at block level and at queue level, limiting the band to both levels of the logical hierarchy. A first calendar is for blocks, and a second for queues; the latter is made available to the queues of the blocks selected each time. Therefore, with respect to the architectures of the prior art which replicate calendars as many times as there are blocks, the logic necessary to control the peak rate undergoes a drastic reduction in complexity. As a result, with the same number of ports of the statistical multiplexer, a decrease in the size of the integrated circuits that make up the calendars and a consequent reduction in production costs. Furthermore, the removal of the technological constraint on the maximum number of blocks imposed by the replication of calendars makes it possible to build systems with a number of ports considerably greater than that currently possible, which is around a hundred. The architecture of the statistical multiplexer according to the present invention allows to impose the limitation of the peak in a selective way, since there can exist queues to which the pure WFQ algorithm is applied, i.e. with an unrestricted peak rate, and queues which are limited at the top in the band. . This property, which also applies to blocks, can be obtained by configuring appropriate parameters via software.

Breve descrizione delle figure Brief description of the figures

Ulteriori scopi e vantaggi della presente invenzione risulteranno chiari dalla descrizione particolareggiata che segue di un esempio di realizzazione della stessa e dai disegni annessi dati a puro titolo esplicativo e non limitativo, in cui: Further objects and advantages of the present invention will become clear from the following detailed description of an example of its embodiment and from the annexed drawings given purely for explanatory and non-limiting purposes, in which:

- in fig.1 è indicata un'architettura comunemente riscontrata nei nodi di rete ATM; - nelle figg.2 e 3 sono indicate delle schematizzazione ad alto livello dei multiplexer statistici SMU di fig.1 valide in generale; - Fig. 1 shows an architecture commonly found in ATM network nodes; - Figs. 2 and 3 show high-level schematizations of the statistical multiplexers SMU of fig. 1 valid in general;

- in fig.4 è indicata una schematizzazione funzionale del blocco SMU di fig.2, riferito all’arte nota; - fig. 4 shows a functional schematic of the SMU block of fig. 2, referring to the known art;

- in fig.5 è indicata un'ulteriore schematizzazione funzionale del blocco SMU di fig.2, come risulta da una precedente domanda di brevetto della stessa Richiedente; - fig. 5 shows a further functional schematic of the SMU block of fig. 2, as shown in a previous patent application by the same Applicant;

- in fig.6 è indicato un diagramma a blocchi funzionali del blocco SMU di fig.3 quando vale la schematizzazione funzionale di fig.5; - fig.6 indicates a functional block diagram of the SMU block of fig.3 when the functional diagram of fig.5 is valid;

- in fig.7 è indicata una schematizzazione funzionale del blocco SMU di fig.2 realizzato secondo la presente invenzione; - fig.7 shows a functional schematic diagram of the SMU block of fig.2 realized according to the present invention;

- in fig.8 è indicata una schematizzazione funzionale di un blocco SHP/SKD di fig.7; - in fig.9 è indicato un diagramma a blocchi funzionali del blocco SMU di fig.3 quando - fig.8 shows a functional schematic of a SHP / SKD block of fig.7; - fig. 9 shows a functional block diagram of the SMU block of fig. 3 when

vale la schematizzazione funzionale di fig.7 secondo l’invenzione; the functional diagram of fig.7 according to the invention is valid;

- in fig.10 è indicata una schematizzazione circuitale di un blocco BM di fig.9; - fig.10 shows a circuit diagram of a block BM of fig.9;

- in fig.11 è indicata una schematizzazione circuitale valida per entrambi i blocchi WFQ-Q e WFQ-B di fig.9; - fig.11 shows a circuit diagram valid for both blocks WFQ-Q and WFQ-B of fig.9;

- in fig.12 è indicato in dettaglio un generico blocco TK-CNTj ed un secondo blocco TK-CNT-B di fig.11; - fig.12 shows in detail a generic block TK-CNTj and a second block TK-CNT-B of fig.11;

- nelle figure da 13 a 16 sono indicati dei diagrammi di flusso che schematizzano il funzionamento del blocco WFQ-B di fig.9; - figures 13 to 16 show flow diagrams which schematize the operation of the WFQ-B block of fig. 9;

- in fig.17 è indicato un diagramma a blocchi funzionali di una variante della rappresentazione a blocchi di fig.9; - fig.17 shows a functional block diagram of a variant of the block representation of fig.9;

- in fig.18 è indicato un diagramma di flusso che schematizza il funzionamento secondo la variante di fig.17; e - fig. 18 shows a flow diagram which schematizes the operation according to the variant of fig. 17; And

- nelle figg.19 e 20 sono indicati dei diagrammi a blocchi funzionali di ulteriori varianti delia rappresentazione a blocchi di fig.9. - figs. 19 and 20 show functional block diagrams of further variants of the block representation of fig. 9.

Descrizione detagliata di alcune forme preferite di realizzazione dell’invenzione Con riferimento alla fig.7, viene ora descritto il multiplexer statistico oggetto della presente invenzione. Rispetto alla descrizione generale di fig.2, le code trasmissive di celle QU che raggruppano diverse connessioni, vengono qui ripartite in m blocchi funzionali indirizzati dagli indicatori di blocco B-ID1. B-lDm; un’analoga ripartizione subiscono gli indicatori Q-1D alle singole code trasmissive. Detailed description of some preferred embodiments of the invention With reference to Fig. 7, the statistical multiplexer object of the present invention is now described. With respect to the general description of Fig. 2, the transmission queues of cells QU which group different connections, are here divided into m functional blocks addressed by the block indicators B-ID1. B-1Dm; the Q-1D indicators undergo a similar distribution to the individual transmission queues.

In fig.7 si possono notare due apparentemente distinte funzionalità di WFQ, una prima per il tratamento degli indicatori B-ID, ed una seconda per il tratamento degli indicatori Q-ID. Ad ogni occorrenza di una cella viene generata una coppia di indicatori, B-ID e Q-ID. L'indicatore B-ID, a seconda del tipo di ripartizione prefissata tra code trasmissive di celle ATM e blocchi, viene, qualora assente, inserito in una di tre liste FIFO, rispetivamente indicate in ordine di priorità di servizio con HP-FIFO, LP-FIFO, e VLP-FIFO. L’indicatore Q-ID, a seconda della natura della coda a cui lo stesso è abbinato, viene, qualora assente, inserito in analoghe liste FIFO abbinate al blocco individuato dall’indicatore B-ID corrispondente. I due gruppi di FIFO vengono “singolarmente" utilizzati per esplicare la funzionalità di WFQ in un modo simile a quello descrito, per le sole code trasmissive, nella citata domanda di breveto a nome della stessa Richiedente. Gli indicatori B-ID selezionati dalla prima funzionalità di WFQ vengono quindi trattati da un blocco SHP/SKD che compie le funzionalità di shaping e di scheduling per limitare la banda di picco dell'insieme di code trasmissive assegnate al generico blocco, dopodiché gli indicatori B-ID di volta in volta schedulati vengono messi a disposizione della seconda funzionalità di WFQ per la selezione del gruppo di tre FIFO da servire. Analogamente a quanto fato per gli indicatori B-ID, gli indicatori Q-ID forniti dalla seconda funzionalità di WFQ vengono tratati da un blocco SHP/SKD che compie le funzionalità di shaping e di scheduling per limitare la banda di picco dei flussi multiplati. In fig. 7 two apparently distinct functions of WFQ can be seen, a first for the treatment of the B-ID indicators, and a second for the treatment of the Q-ID indicators. A pair of indicators, B-ID and Q-ID, is generated for each occurrence of a cell. The B-ID indicator, depending on the type of pre-established distribution between the transmission queues of ATM cells and blocks, is, if absent, inserted in one of three FIFO lists, respectively indicated in order of service priority with HP-FIFO, LP -FIFO, and VLP-FIFO. The Q-ID indicator, depending on the nature of the queue to which it is associated, is, if absent, inserted in similar FIFO lists combined with the block identified by the corresponding B-ID indicator. The two groups of FIFOs are "individually" used to perform the WFQ functionality in a similar way to that described, only for the transmission queues, in the aforementioned patent application in the name of the same Applicant. The B-ID indicators selected by the first function of WFQ are then processed by a SHP / SKD block that performs the shaping and scheduling functions to limit the peak band of the set of transmission queues assigned to the generic block, after which the B-ID indicators scheduled from time to time are placed available to the second WFQ functionality for the selection of the group of three FIFOs to be served. Similarly to what was done for the B-ID indicators, the Q-ID indicators provided by the second WFQ functionality are treated by a SHP / SKD block that performs the shaping and scheduling functions to limit the peak bandwidth of multiplexed flows.

Occorre inoltre evidenziare che le liste VLP-FIFO sono opzionali, come pure i blocchi SHP/SKD. It should also be noted that the VLP-FIFO lists are optional, as are the SHP / SKD blocks.

In una prima variante realizzativa della presente invenzione è prevista una flag di coda vuota posta al servizio di una coda che raggruppa tute le connessioni che trasmettono alla rate di picco (CBR e rt-VBR) di un generico blocco indirizzato da B-ID, e che necessitano quindi di essere servite in real-time. L'indicazione di tale flag nelle figure finora illustrate è stata omessa, per brevità. In a first variant embodiment of the present invention an empty queue flag is provided at the service of a queue which groups all the connections that transmit at the peak rate (CBR and rt-VBR) of a generic block addressed by B-ID, and which therefore need to be served in real-time. The indication of this flag in the figures illustrated so far has been omitted, for the sake of brevity.

In una seconda variante realizzala tutte le connessioni che trasmettono alla rate di picco di tutti i blocchi sono raggruppate in un unico blocco ad alta priorità ad esse dedicato, in questo caso ambedue le funzionalità di WFQ vengono scavalcate e l'indicatore Q-ID viene direttamente fornito al relativo blocco SHP/SKD per la sua scheduiazione e l'inserimento prioritario della cella sul link d'uscita. Manca anche in questo caso, nelle figure finora illustrate, l'indicazione della flag di coda vuota associata all’unica coda che raggruppa tutte le celle ATM delle connessioni real-time di tutti i blocchi . In a second variant, all the connections that transmit at the peak rate of all the blocks are grouped into a single high priority block dedicated to them, in this case both the WFQ functions are bypassed and the Q-ID indicator is directly supplied to the relative SHP / SKD block for its scheduling and priority insertion of the cell on the output link. Also in this case, in the figures illustrated so far, the indication of the empty queue flag associated with the single queue that groups all the ATM cells of the real-time connections of all the blocks is missing.

Con riferimento alla fig.8, si può notare che il generico blocco SHP/SKD, sia esso al servizio delle code trasmissive indicate da Q-ID, che da B-ID, comprende un blocco SHAPER-Q (SHAPER-B), che compie una funzionalità di shaping, posto a monte di un blocco SCHEDULER-Q (SCHEDULER-B), che a sua volta compie una funzionalità di scheduling. La funzionalità di shaping calcola un tempo di attesa, al limite nullo, e converte l'informazione in un valore N-SLOT-Q (N-SLOT-B) che rappresenta uno slot di un calendario avente lunghezza finita (indicato in figura) incluso nel blocco SCHEDULER-Q (SCHEDULER-B). L'indicatore Q-ID (B-ID) che perviene allo shaper ed il valore N-SLOT-Q (N-SLOT-B) calcolato dallo shaper vengono trasferiti alla funzionalità di scheduling che inserisce l'indicatore Q-ID (B-ID) nella locazione del calendario indicata da N-SLOT-Q (N-SLOT-B). La funzionalità di scheduling provvede alla scansione ciclica del calendario con cadenza 1/Tc, dove Tc è il generico tempo cella, ovvero l'intervallo temporale necessario alla trasmissione seriale sul link di tutti i bit della cella. Ad ogni locazione scandita vengono estratti dal calendario, su base FIFO, gli indicatori ivi memorizzati. In figura TNOW rappresenta il tempo cella attuale, ovvero il tempo multiplo di Tc intercorso dall’inizio del ciclo di scansione. Il tempo TNOW indica in figura una locazione vuota, mentre il tempo TV indica una precedente locazione di calendario. With reference to fig. 8, it can be noted that the generic SHP / SKD block, whether it serves the transmission queues indicated by Q-ID or B-ID, includes a SHAPER-Q (SHAPER-B) block, which performs a shaping function, placed upstream of a SCHEDULER-Q block (SCHEDULER-B), which in turn performs a scheduling function. The shaping function calculates a waiting time, at the limit of zero, and converts the information into an N-SLOT-Q (N-SLOT-B) value which represents a slot of a calendar having a finite length (shown in the figure) included in the SCHEDULER-Q (SCHEDULER-B) block. The Q-ID (B-ID) indicator that reaches the shaper and the N-SLOT-Q (N-SLOT-B) value calculated by the shaper are transferred to the scheduling function which inserts the Q-ID (B- ID) in the calendar location indicated by N-SLOT-Q (N-SLOT-B). The scheduling function provides for the cyclic scanning of the calendar with cadence 1 / Tc, where Tc is the generic cell time, that is the time interval necessary for the serial transmission on the link of all the bits of the cell. At each scanned location, the indicators stored there are extracted from the calendar on a FIFO basis. In figure TNOW represents the current cell time, or the multiple time of Tc elapsed from the start of the scan cycle. Time TNOW indicates in the figure an empty location, while TV time indicates a previous calendar location.

La funzionalità di shaping consiste nel limitare superiormente la banda di code e blocchi. Per questa ragione effettua il calcolo del tempo di inserimento di Q-ID secondo la seguente legge: The shaping functionality consists in limiting the band of queues and blocks at the top. For this reason it calculates the Q-ID insertion time according to the following law:

TEMPO DI INSERIMENTO = max[PRECEDENTE(N_SLOT_QxTc) 1/PCR, TNOw], INSERTION TIME = max [PREVIOUS (N_SLOT_QxTc) 1 / PCR, TNOw],

dove PRECEDENTE(N_SLOT_Q) indica la locazione del calendario nella quale l'indicatore Q-ID era stato inserito l’ultima volta, e POR (Peak Celi Rate) è la cadenza di picco della coda indicata da Q-ID. La stessa legge è valida per i blocchi a patto di sostituire N-SLOT-Q con N-SLOT-B e di definire un rate di picco PCR per ciascun blocco. La configurazione dei parametri PCR nei blocchi SHAPER_Q e SHAPER_B viene fatta via software. In conseguenza della legge d’inserzione sopra indicata, la scansione del calendario provvedere a ritardare opportunamente l'emissione degli indicatori di code e/o blocchi, facendo in modo che gli stessi non vengano serviti troppo rapidamente violando così la banda ad essi assegnata. where PREVIOUS (N_SLOT_Q) indicates the location of the calendar in which the Q-ID indicator was last entered, and POR (Peak Celi Rate) is the peak cadence of the queue indicated by Q-ID. The same law is valid for blocks as long as you replace N-SLOT-Q with N-SLOT-B and define a PCR peak rate for each block. The configuration of the PCR parameters in the SHAPER_Q and SHAPER_B blocks is done via software. As a result of the above mentioned insertion law, the calendar scan will appropriately delay the emission of the queue and / or block indicators, ensuring that they are not served too quickly, thus violating the band assigned to them.

Con riferimento alla fig.9, si può notare come la rappresentazione sistemistica ivi raffigurata differisca da quella dell'arte nota di fig.6 per quanto segue: With reference to fig. 9, it can be noted that the systemic representation shown there differs from that of the known art of fig. 6 for the following:

la presenza di un blocco WFQ-B posto immediatamente a monte del blocco SHP/SKD-B, qui separato nelle sue componenti SHAPER-B e SCHEDULER-B; the presence of a WFQ-B block placed immediately upstream of the SHP / SKD-B block, here separated into its SHAPER-B and SCHEDULER-B components;

il blocco WFQ-Q è posto a monte del blocco SHP/SKD-Q, qui separato nelle sue componenti SHAPER-Q e SCHEDULER-Q; the WFQ-Q block is placed upstream of the SHP / SKD-Q block, here separated into its SHAPER-Q and SCHEDULER-Q components;

l’indicatore B-ID uscente dal blocco SCHEDULER-B viene anch'esso fornito al buffer manager BM alla stregua di Q-ID. the B-ID indicator coming out of the SCHEDULER-B block is also supplied to the buffer manager BM as Q-ID.

Il diagramma a blocchi funzionali di fig.9 mette in luce la presenza di due anelli di percorrenza degli indicatori. L anello più interno viene percorso dagli indicatori Q-ID che partono dal blocco BM e attraversano nell’ordine: WFQ-Q, SHAPER-Q, SCHEDULER-Q, e ritornano al blocco BM di partenza. L’anello più esterno viene percorso dagli indicatori B-ID che partono dal blocco BM e attraversano nell’ordine: WFQ-B, SHAPER-B, SCHEDULER-B, e ritornano al blocco BM di partenza.. Il secondo anello interagisce con il primo a livello del blocco WFQ-Q. Il riferimento agli anelli ha un valore più che altro descrittivo. The functional block diagram in fig. 9 highlights the presence of two indicator travel rings. The innermost ring is crossed by the Q-ID indicators that start from the BM block and cross in the order: WFQ-Q, SHAPER-Q, SCHEDULER-Q, and return to the starting BM block. The outermost ring is crossed by the B-ID indicators which start from the BM block and cross in the order: WFQ-B, SHAPER-B, SCHEDULER-B, and return to the starting BM block. The second ring interacts with the first at the level of the WFQ-Q block. The reference to the rings has a mostly descriptive value.

Con riferimento alla fig.10, viene ora illustrata a livello generale l’architettura circuitale del buffer manager BM di fig.9. Come si può notare in figura, il blocco BM include i seguenti sottoblocchi: un controllore della funzionalità di accesso ACC-CONTR, un controllore della funzionalità di servizio SER-CONTR, un contatore CODE-CONT associato alle code trasmissive, un buffer delle code trasmissive BUF-CEL, un convertitore serie/parallelo S/P, un convertitore parallelo/serie P/S, ed infine un distributore SYNC del clock di rete CK. I blocchi controllori ed il buffer delle celle comunicano con un bus dati bidirezionale BUS-DATI, un bus indirizzi BUS-IND, e delle linee di controllo. Il link d’ingresso LINK-IN perviene al convertitore S/P e da qui ad un ingresso del blocco ACC-CONTR, mentre il segnale uscente dal blocco SER-CONTR perviene al convertitore P/S per l’immissione sul link d’uscita LINK-OUT. li blocco ACC-CONTR invia un primo segnale di abilitazione alla scrittura WR-EN al buffer BUF-CEL per la scrittura di una cella ATM, ed un secondo segnale WR-EN-P ad una unità WFQ-CONTR di esecuzione dell’algoritmo di WFQ (visibile in fig.11) per la scrittura dei puntatori B-ID e/o Q-ID associati alla cella relativa, di un valore TR-TYPE che caratterizza il tipo di traffico sostenuto dalla connessione cui la cella appartiene, e di un primo e/o un secondo valore di conteggio VAL-CNT di due contatori rispettivamente associati alla coda che ospita la cella ed al blocco che ospita la coda. Il blocco SER-CONTR invia un segnale di abilitazione alla lettura RD-EN al blocco BUF-CEL. Il contatore CODE-CONT riceve dal blocco ACC-CONTR un segnale INCR-CONT per l'incremento del conteggio ed un segnale LEGGI-CONT per la lettura del conteggio, e dal blocco SER-CONTR un segnale di decremento del conteggio DECR-CONT. In risposta al segnale LEGGI-CONT il contatore fornisce il dato letto VAL-CNT. Il blocco SER-CONTR riceve in ingresso due tipologie di puntatori (indicatori) B-ID e Q-ID provenienti dai blocchi WFQ-Q e WFQ-B (fig.9), oppure dai blocchi SCHEDULER-Q e SCHEDULER-B (fig.9) nel caso questi due ultimi blocchi non siano opzionali. With reference to fig. 10, the circuit architecture of the BM buffer manager in fig. 9 is now illustrated at a general level. As can be seen in the figure, the BM block includes the following sub-blocks: a controller of the ACC-CONTR access functionality, a controller of the SER-CONTR service functionality, a CODE-CONT counter associated with the transmission queues, a buffer of the transmission queues BUF-CEL, a series / parallel S / P converter, a parallel / series P / S converter, and finally a SYNC distributor of the CK network clock. The controller blocks and the cell buffer communicate with a bidirectional data bus DATA-BUS, a BUS-IND address bus, and control lines. The LINK-IN input link reaches the S / P converter and from there to an input of the ACC-CONTR block, while the outgoing signal from the SER-CONTR block reaches the P / S converter for input on the output link LINK-OUT. The ACC-CONTR block sends a first WR-EN write enable signal to the BUF-CEL buffer for writing an ATM cell, and a second WR-EN-P signal to a WFQ-CONTR unit for execution of the WFQ (visible in fig. 11) for writing the B-ID and / or Q-ID pointers associated with the relative cell, a TR-TYPE value that characterizes the type of traffic supported by the connection to which the cell belongs, and a first and / or a second count value VAL-CNT of two counters respectively associated with the queue hosting the cell and the block hosting the queue. The SER-CONTR block sends an RD-EN read enable signal to the BUF-CEL block. The CODE-CONT counter receives from the ACC-CONTR block an INCR-CONT signal for increasing the count and a READ-CONT signal for reading the count, and from the SER-CONTR block a signal for decrementing the DECR-CONT count. In response to the READ-CONT signal, the counter provides the data read VAL-CNT. The SER-CONTR block receives two types of pointers (indicators) B-ID and Q-ID from the WFQ-Q and WFQ-B blocks (fig. 9), or from the SCHEDULER-Q and SCHEDULER-B blocks (fig. .9) if these last two blocks are not optional.

Prima di illustrare il funzionamento del buffer manager BM, per altro già in buona parte anticipato nell'introduzione, conviene descrivere le figg. 11 e 12 e poi accomunarle alla fig.10 nel funzionamento. Before illustrating the operation of the buffer manager BM, which has already been largely anticipated in the introduction, it is worth describing figs. 11 and 12 and then connect them to fig. 10 in operation.

Con riferimento alla ftg.11, viene ora illustrata a livello generale l’architettura circuitale dei blocchi WFQ-Q e WFQ-B di fig.9. Come si può notare, e senza alcuna limitazione per l’invenzione, l'architettura è riferita al caso di controllo dei due blocchi WFQ-Q e WFQ-B mediante un’unica unità di esecuzione dell’algoritmo WFQ indicata con WFQ-CONTR. La suddetta unità è connessa al bus dati ed al bus indirizzi de! buffer manager BM e riceve dal blocco ACC-CONTR un segnale di abilitazione alla scrittura WR-EN-P. L’unità WFQ-CONTR comunica con i blocchi WFQ-Q e WFQ-B mediante un bus interno BUS-DATI-WFQ ed invia ai suddetti blocchi i segnali di lettura/scrittura, ottenuti dalla decodifica dell’informazione ricevuta sul bus indirizzi BUS-IND o generati autonomamente. I segnali inviati al blocco WFQ-Q sono i seguenti: With reference to ftg.11, the circuit architecture of the WFQ-Q and WFQ-B blocks of fig.9 is now illustrated at a general level. As can be seen, and without any limitation for the invention, the architecture refers to the case of control of the two blocks WFQ-Q and WFQ-B through a single execution unit of the WFQ algorithm indicated with WFQ-CONTR. The above unit is connected to the data bus and the address bus of the! buffer manager BM and receives a WR-EN-P write enable signal from the ACC-CONTR block. The WFQ-CONTR unit communicates with the WFQ-Q and WFQ-B blocks via an internal BUS-DATA-WFQ bus and sends the read / write signals obtained from the decoding of the information received on the BUS-address bus to the aforementioned blocks. IND or self-generated. The signals sent to the WFQ-Q block are the following:

• W/R-ENH1, ...,W/R-ENHm; W/R-ENL1, ...,W/R-ENLm; W/R-ENV1, ...,W/R-ENVm; • W/R-ENQ1 . W/R-ENQm; • W / R-ENH1, ..., W / R-ENHm; W / R-ENL1, ..., W / R-ENLm; W / R-ENV1, ..., W / R-ENVm; • W / R-ENQ1. W / R-ENQm;

• W/R-ENR1, ....W/R-ENRm. • W / R-ENR1, .... W / R-ENRm.

I segnali inviati al blocco WFQ-B sono i seguenti: The signals sent to the WFQ-B block are the following:

• W/R-ENH-B; W/R-ENL-B; W/R-ENV-B; • W / R-ENH-B; W / R-ENL-B; W / R-ENV-B;

■ · W/R-ENB e W/R-ENR-B. ■ · W / R-ENB and W / R-ENR-B.

Il blocco WFQ-Q comprende m gruppi B1. Bm, ciascuno di tre memorie FIFO, HP-FIFO, LP-FIFO, e VLP-FIFO. Il blocco WFQ-B comprende invece un solo gruppo di memorie FIFO. Il blocco WFQ-Q comprende inoltre m flag RT-FU\G ed m contatori TK-CNT1. TK-CNTm, la cui funzione verrà chiarita in seguito, mentre il blocco WFQ-B include una sola flag RT-FL^G ed un solo contatore TK-CNT-B. All'interno del blocco WFQ-Q i segnali di lettura/scrittura W/R-ENH pervengono alle memorie HP-FIFO, i segnali W/R-ENL alle memorie LP-FIFO, i segnali W/R-ENV alle memorie VLP-FIFO, i segnali W/R-ENR alle flag RT-FLAG, ed i segnali W/R-ENQ ai contatori TK-CN nell’ordine numerale corrispondente. All’interno del blocco WFQ-B i segnali di lettura/scrittura W/R-ENH-B, W/R-ENL-B, W/R-ENV-B pervengono rispettivamente alle memorie HP-FIFO, LP-FIFO, VLP-FIFO, il segnale W/R-ENR-B alla flag RT-FLAG, ed il segnale W/R-ENB ai contatore TK-CNT-B. L’unità WFQ-CONTR pone sul bus dati interno BUS-DATI-WFQ i puntatori B-ID e Q-ID, i valori da scrivere, o letti, nelle flag RT-FLAG e nei contatori TK-CNT selezionati ad ogni tempo cella mediante lo svolgimento della funzionalità di WFQ. The WFQ-Q block comprises m groups B1. Bm, each of three FIFO, HP-FIFO, LP-FIFO, and VLP-FIFO memories. Block WFQ-B, on the other hand, comprises a single group of FIFO memories. The WFQ-Q block also includes m flags RT-FU \ G and m counters TK-CNT1. TK-CNTm, the function of which will be explained later, while block WFQ-B includes a single flag RT-FL ^ G and a single counter TK-CNT-B. Inside the WFQ-Q block, the read / write signals W / R-ENH reach the HP-FIFO memories, the W / R-ENL signals reach the LP-FIFO memories, the W / R-ENV signals reach the VLP- memories. FIFO, the W / R-ENR signals to the RT-FLAG flags, and the W / R-ENQ signals to the TK-CN counters in the corresponding numeral order. Inside the WFQ-B block the read / write signals W / R-ENH-B, W / R-ENL-B, W / R-ENV-B reach the HP-FIFO, LP-FIFO, VLP memories respectively -FIFO, the W / R-ENR-B signal to the RT-FLAG flag, and the W / R-ENB signal to the TK-CNT-B counter. The WFQ-CONTR unit places on the internal data bus BUS-DATA-WFQ the pointers B-ID and Q-ID, the values to be written, or read, in the RT-FLAG flags and in the TK-CNT counters selected at each cell time by carrying out the functionality of WFQ.

Con riferimento alla fig.12, è illustrato il formato del j-esimo contatore TK-CNTj tra i contatori TK-CNT1, ..., TK-CNTm dei blocco WFQ-Q, e del contatore TK-CNT-B del blocco WFQ-B. È utile premettere che per le n code airinterno di un blocco vale la relazione: z s = n, dove z è il numero di connessioni ABR, ed s è il numero di connessioni non-ABR. Il contatore TK-CNTj è una struttura di memoria comprendente z campi, N°TOK(QU1) . N°TOK(QUz), ciascuno contenente un numero di ‘'token", cioè gettoni, a disposizione di ciascuna coda trasmissiva QU1,...QUz appartenente al generico blocco Bj. Similmente, il contatore TK-CNT-B comprende m campi, N°TOK(B1),..., N°TOK(Bm), ciascuno contenente un numero di token a disposizione di un corrispondente blocco B1, Bm. With reference to fig. 12, the format of the j-th counter TK-CNTj is shown between the counters TK-CNT1, ..., TK-CNTm of the block WFQ-Q, and of the counter TK-CNT-B of the block WFQ -B. It is useful to premise that for n queues within a block the following relation holds: z s = n, where z is the number of ABR connections, and s is the number of non-ABR connections. The counter TK-CNTj is a memory structure comprising z fields, N ° TOK (QU1). N ° TOK (QUz), each containing a number of '' tokens ", ie tokens, available to each transmission queue QU1, ... QUz belonging to the generic block Bj. Similarly, the counter TK-CNT-B includes m fields , N ° TOK (B1), ..., N ° TOK (Bm), each containing a number of tokens available to a corresponding block B1, Bm.

Nel funzionamento, vale per il blocco BM quanto era stato detto a riguardo della fig.2, a cui si rimanda, con l'accortezza che agli unici puntatori Q-ID si aggiungono ora i puntatori di blocco B-IO. La precedente illustrazione svolta in fig.2, data l'estrema generalità di quella figura, non era esauriente circa il destino dei puntatori. Questa lacuna viene ora colmata, grazie anche a quanto detto in merito alla funzionalità di WFQ di fig.5. Ciò posto il blocco BM compie la funzionalità di accesso e termina quella di servizio, essenzialmente svolta dall’unità WFQ-CONTR. Il trasferimento di un puntatore Q-ID dal blocco di controllo ACC-CONTR all’unità WFQ-CONTR è necessaria qualora nel buffer BUF-CEL non sia già presente almeno una cella appartenente alla coda considerata. Questa informazione è contenuta in appositi contatori di coda inclusi nel blocco di conteggio CODE-CNT, ciascuno dei quali indica il numero di celle appartenenti ad una rispettiva coda presente nel buffer BUF-CEL. I contatori vengono aggiornati dai segnali INCR-CNT e DECR-CNT, rispettivamente ad ogni accettazione e servizio della coda in esame. Il trasferimento di B-ID è necessario qualora nel buffer BUF-CEL non sia già presente almeno una cella appartenente ad una coda trasmissiva assegnata al blocco considerato. Tale informazione viene ricavata da contatori di blocco inclusi nel blocco CODE-CNT, il cui significato relativamente ai blocchi è analogo a quello dei contatori di coda relativamente alle code. L’eventuale trasferimento di B-ID e/o Q-ID è completato con l’informazione di traffic type TR-TYPE. Più nello specifico, esistono tre possibili valori di traffic type che danno luogo ad altrettante destinazioni nel trasferimento dei puntatori Q-ID: In operation, what has been said about fig. 2 applies to the BM block, to which reference is made, with the foresight that the B-IO block pointers are now added to the only Q-ID pointers. The previous illustration carried out in fig. 2, given the extreme generality of that figure, was not exhaustive about the fate of the pointers. This gap is now filled, thanks also to what has been said about the functionality of WFQ in fig. 5. This place the BM block performs the access function and ends the service one, essentially performed by the WFQ-CONTR unit. The transfer of a Q-ID pointer from the ACC-CONTR control block to the WFQ-CONTR unit is necessary if at least one cell belonging to the considered queue is not already present in the BUF-CEL buffer. This information is contained in suitable queue counters included in the CODE-CNT counting block, each of which indicates the number of cells belonging to a respective queue present in the BUF-CEL buffer. The counters are updated by signals INCR-CNT and DECR-CNT, respectively at each acceptance and service of the queue in question. The transfer of B-ID is necessary if at least one cell belonging to a transmission queue assigned to the block in question is not already present in the BUF-CEL buffer. This information is obtained from block counters included in the CODE-CNT block, the meaning of which in relation to the blocks is similar to that of the queue counters in relation to queues. Any transfer of B-ID and / or Q-ID is completed with the information of traffic type TR-TYPE. More specifically, there are three possible traffic type values that give rise to as many destinations in the transfer of Q-ID pointers:

- HPT (High Priority Traffic): il puntatore Q-ID viene inserito in una rispettiva memoria HP-FIFO ad alta priorità del WFQ-Q, così da garantire la sua estrazione privilegiata rendendo minimo il tempo di permanenza nelle FIFO dei blocchi WFQ-Q. Una coda caratterizzata da un valore di traffic type pari a HPT è adatta a contenere connessioni CBR o rt-VBR. - HPT (High Priority Traffic): the Q-ID pointer is inserted in a respective high priority HP-FIFO memory of the WFQ-Q, so as to guarantee its privileged extraction by minimizing the time spent in the FIFOs of the WFQ-Q blocks . A queue with a traffic type value of HPT is suitable for holding CBR or rt-VBR connections.

- LPT (Low Priority Traffic): il puntatore Q-ID viene inserito in una rispettiva memoria LP-FIFO a bassa priorità del WFQ-Q finché ha token disponibili; una volta esauriti i permessi, il puntatore viene inserito in una memoria VLP-FIFO a bassissima priorità. Una coda caratterizzata da un valore di traffic type pari a LPT è adatta a contenere connessioni nrt-VBR del tipo ABR (a banda disponibile). Questo valore di traffic type permette di garantire una banda minima alle code che caratterizza. - LPT (Low Priority Traffic): the Q-ID pointer is inserted in a respective low priority LP-FIFO memory of the WFQ-Q as long as it has available tokens; once the permissions have been exhausted, the pointer is inserted into a very low priority VLP-FIFO memory. A queue characterized by a traffic type value equal to LPT is suitable for containing nrt-VBR connections of the ABR type (with available bandwidth). This traffic type value allows to guarantee a minimum bandwidth to the queues it characterizes.

- VLPT (Very Low Priority Traffic): il puntatore Q-ID viene inserito in una rispettiva memoria VLP-FIFO a bassissima priorità del WFQ-Q. Una memoria VLP-FIFO è servita soltanto quando le corrispondenti FIFO a maggiore priorità sono vuote. Una coda caratterizzata da un valore di traffic type pari a VLPT è adatta a contenere connessioni di tipo UBR, per cui non è garantita una banda minima. - VLPT (Very Low Priority Traffic): the Q-ID pointer is inserted in a respective very low priority VLP-FIFO memory of the WFQ-Q. A VLP-FIFO memory is only served when the corresponding higher priority FIFOs are empty. A queue characterized by a traffic type value equal to VLPT is suitable for containing UBR connections, therefore a minimum bandwidth is not guaranteed.

Per quanto invece concerne la suddivisione dei puntatori B-ID entro le memorie HP-FIFO, LP-FIFO, e VLP-FIFO del blocco WFQ-B, la situazione non è così ben delineata come invece nel caso dei puntatori Q-ID alle singole code. Dovendo infatti decidere in quale FIFO memorizzare un puntatore Q-ID basta solo conoscere la tipologia della coda a cui esso è associato, l'informazione è fornita dal parametro traffic-type. La distinzione tra flussi a banda minima non garantita e flussi a banda minima garantita consente quindi di assegnare i secondi alla LP-FIFO il cui servizio comporta la gestione dei token. In un blocco, invece, convivono diverse tipologie di code per quanto concerne la classe di servizio. Occorre quindi stabilire un criterio per ripartire i puntatori B-ID tra le tre FIFO del blocco WFQ-B. Un primo criterio potrebbe essere quello di suddividere i blocchi (e quindi i loro puntatori B-ID) in tre gruppi di uguale banda aggregata e di assegnare i gruppi alle FIFO, in ordine di priorità, in base al numero di code real-time contenute in ciascun gruppo. Questa scelta potrebbe causare un eccessivo aumento del CDV delle code incluse nei blocchi facenti parte del gruppo associato alla memoria VLP-FIFO, per cui un secondo criterio di ripartizione potrebbe non considerare più equibanda i tre gruppi di blocchi ma bensì di banda crescente nel senso della priorità decrescente. Viene in tal modo evitato il monopolio del servizio da parte del gruppo a maggiore priorità, e, per le stesse ragioni, da parte del gruppo a priorità intermedia nei confronti di quello a più bassa priorità. Qualunque sia il criterio di ripartizione dei blocchi, e volendo prescindere dalla seconda variante realizzativa, conviene fare in modo che il WFQ di blocco abbia lo stesso funzionamento del WFQ di coda, consentendo una pari flessibilità nel trattamento dei blocchi. Maggiori dettagli saranno fomiti illustrando le flow-chart di funzionamento del WFQ di blocco. As for the subdivision of the B-ID pointers within the HP-FIFO, LP-FIFO, and VLP-FIFO memories of the WFQ-B block, the situation is not as well defined as in the case of the Q-ID pointers to the individual code. In fact, having to decide in which FIFO to store a Q-ID pointer, it is only necessary to know the type of queue to which it is associated, the information is provided by the traffic-type parameter. The distinction between flows with a minimum unsecured band and flows with a minimum guaranteed band therefore allows the seconds to be assigned to the LP-FIFO whose service involves the management of the tokens. In a block, on the other hand, different types of queues coexist as regards the class of service. It is therefore necessary to establish a criterion to divide the B-ID pointers among the three FIFOs of the WFQ-B block. A first criterion could be to divide the blocks (and therefore their B-ID pointers) into three groups of equal aggregate bandwidth and to assign the groups to the FIFOs, in order of priority, based on the number of real-time queues contained. in each group. This choice could cause an excessive increase in the CDV of the queues included in the blocks that are part of the group associated with the VLP-FIFO memory, so a second distribution criterion could no longer consider the three groups of blocks equibanda but rather of increasing bandwidth in the sense of decreasing priority. In this way, the monopoly of the service by the group with higher priority is avoided, and, for the same reasons, by the group with intermediate priority in relation to the one with lower priority. Whatever the block distribution criterion, and if you want to ignore the second embodiment variant, it is advisable to make sure that the block WFQ has the same operation as the queue WFQ, allowing equal flexibility in the treatment of the blocks. More details will be provided by illustrating the operating flow-charts of the block WFQ.

Le precedenti considerazioni sulla difficoltà concettuale, e reale, di suddividere i blocchi in gruppi decrescenti di priorità, unitamente alla difficoltà di ripartire le code trasmissive tra i i diversi blocchi in modo da renderne effettiva la priorità prescelta, sono dei chiari indizi di non ovvietà della presente invenzione, da opporre ad eventuali conclusioni di un’analisi che, molto riduttivamente, potrebbe vedere la presente multiplazione statistica come la semplice duplicazione di una funzionalità di WFQ nota. La mancanza di argomenti a favore di questa erronea conclusione apparirà inoltre proseguendo nell'illustrazione del funzionamento e dal tenore stesso delle rivendicazioni, ove si potrà notare come le fasi che rendono dinamica la multiplazione statistica dei flussi, vale a dire le fasi di assegnazione e rinnovo dei token, sono svolte congiuntamente per i blocchi e per le rispettive code. Ciò significa che si è in presenza di una più estesa funzionalità di WFQ in grado di integrare i due trattamenti tra loro complementari riservati ai blocchi ed alle code trasmissive, pur mantenendo distinte le fasi che conducono all’emissione degli indicatori di blocco e di coda. Queste fasi non sono tuttavia indipendenti, in quanto le fasi che portano all'emissione di un indicatore di coda trasmissiva possono partire solo dopo che sia stato prescelto un blocco funzionale, in tal modo la ripartizione della banda residua tra le code trasmissive ne risulta condizionata. Troppo significative sono le interrelazioni tra il WFQ di blocco e di coda perché si possa pensare ad una semplice replicazione di un algoritmo noto, sembrerebbe invece assai più logico riconoscere l'originalità della funzionalità estesa di WFQ utilizzata nella presente invenzione. The previous considerations on the conceptual and real difficulty of dividing the blocks into decreasing priority groups, together with the difficulty of dividing the transmission queues among the different blocks in order to make the chosen priority effective, are clear indications of the non-obviousness of the present invention, to be opposed to possible conclusions of an analysis which, very reductively, could see the present statistical multiplexing as the simple duplication of a known WFQ functionality. The lack of arguments in favor of this erroneous conclusion will also appear by continuing to illustrate the functioning and the tenor itself of the claims, where it will be noted how the phases that make the statistical multiplexing of flows dynamic, namely the phases of assignment and renewal of tokens, are carried out jointly for the blocks and for the respective queues. This means that there is a more extensive WFQ functionality capable of integrating the two complementary treatments reserved for transmission blocks and queues, while maintaining distinct the phases that lead to the emission of block and queue indicators. However, these phases are not independent, since the phases that lead to the emission of a transmission queue indicator can start only after a functional block has been selected, in this way the distribution of the residual band between the transmission queues is conditioned. The interrelationships between the block and queue WFQ are too significant for one to think of a simple replication of a known algorithm, it would seem much more logical to recognize the originality of the extended functionality of WFQ used in the present invention.

Proseguendo nell'illustrazione del funzionamento, si vede che l'accettazione di una cella da una coda trasmissiva di celle estratte dal flusso d'ingresso LINK-IN (fig.1 ) termina con l'inserimento dei puntatori B-ID e/o Q-ID nelle opportune FIFO del WFQ. Il rispetto della condizione di inserimento precedentemente esposta garantisce che ciascun puntatore di blocco e di coda compaia al più una volta nelle FIFO del WFQ. Gli inserimenti dei puntatori Q-ID e B-ID, qualora necessari, vengono effettuati in parallelo. Continuing in the illustration of the operation, it can be seen that the acceptance of a cell from a transmission queue of cells extracted from the LINK-IN input stream (fig. 1) ends with the insertion of pointers B-ID and / or Q -ID in the appropriate FIFO of the WFQ. Compliance with the previously described insertion condition ensures that each block and queue pointer appears at most once in the FIFOs of the WFQ. If necessary, the insertions of the Q-ID and B-ID pointers are made in parallel.

Il servizio di una coda trasmissiva di celle da inserire nel flusso d’uscita LINK-OUT (fig.1 ) comporta, ad ogni tempo cella, le seguenti fasi operative svolte sequenzialmente: The service of a transmission queue of cells to be inserted in the LINK-OUT output flow (fig. 1) involves, at each cell time, the following operational phases carried out sequentially:

a) estrazione di un puntatore B-ID dal gruppo di FIFO del blocco WFQ-B (mediante esecuzione dell’algoritmo di WFQ); a) extraction of a B-ID pointer from the FIFO group of the WFQ-B block (by running the WFQ algorithm);

b) eventuale trasferimento del puntatore B-ID al blocco SHAPER-B (fig.9) e da questi al blocco SCHEDULER-B per l’emissione di un puntatore B-ID ad un blocco che ha diritto al servizio con rate di picco limitata; b) possible transfer of the B-ID pointer to the SHAPER-B block (fig. 9) and from these to the SCHEDULER-B block for the emission of a B-ID pointer to a block entitled to the service with a limited peak rate ;

c) estrazione di un puntatore Q-ID da uno dei gruppi di FIFO del blocco WFQ-Q selezionato dal puntatore B-ID emesso nella fase precedente (mediante esecuzione dell’algoritmo di WFQ); c) extraction of a Q-ID pointer from one of the FIFO groups of the WFQ-Q block selected by the B-ID pointer issued in the previous phase (by running the WFQ algorithm);

d) eventuale trasferimento del puntatore Q-ID al blocco SHAPER-Q (fig.9) e da questi al blocco SCHEDULER-Q per l’emissione di un puntatore Q-ID ad una coda trasmissiva che ha diritto al servizio con rate di picco limitata; d) possible transfer of the Q-ID pointer to the SHAPER-Q block (fig. 9) and from these to the SCHEDULER-Q block for the emission of a Q-ID pointer to a transmission queue entitled to the service with peak rate limited;

e) trasferimento dei puntatori B-ID e Q-ID in tal modo determinati al blocco buffer manager BM per il compimento delle seguenti operazioni: e) transfer of the pointers B-ID and Q-ID thus determined to the buffer manager block BM for carrying out the following operations:

- estrazione di una cella dal buffer BUF-CEL da parte del blocco SER-CONTR per il suo inserimento nel link d’uscita LINK-OUT; - extraction of a cell from the BUF-CEL buffer by the SER-CONTR block for its insertion in the LINK-OUT output link;

- generazione del segnale DECR-CNT per il decremento dei contatori di blocco e di coda del blocco di conteggio CODE-CNT; - generation of the DECR-CNT signal for decrementing the block and queue counters of the CODE-CNT count block;

- generazione del segnale LEGGI-CNT per la lettura del valore VAL-CNT dei contatori di blocco e di coda di CODE-CNT; - generation of the READ-CNT signal for reading the VAL-CNT value of the block and queue counters of CODE-CNT;

- eventuale generazione del segnale WR-EN-P per la riscrittura di B-ID e/o Q-ID nel rispettivo gruppo di FIFO nel caso il rispettivo valore di VAL-CNT fosse non nullo. - possible generation of the WR-EN-P signal for the rewriting of B-ID and / or Q-ID in the respective FIFO group if the respective VAL-CNT value is not null.

Come meglio sarà visto tra breve, i puntatori B-ID e Q-ID vengono emessi dai blocchi WFQ-B e WFQ-Q secondo la seguente legge: As will be better seen shortly, the B-ID and Q-ID pointers are issued by the WFQ-B and WFQ-Q blocks according to the following law:

• se la memoria HP-FIFO contiene almeno un puntatore, esso viene estratto; • se la memoria HP-FIFO è vuota e la memoria LP-FIFO contiene almeno un puntatore, esso viene estratto; • if the HP-FIFO memory contains at least one pointer, it is extracted; • if the HP-FIFO memory is empty and the LP-FIFO memory contains at least one pointer, it is extracted;

• se le memorie HP-FIFO e LP-FIFO sono entrambe vuote e la memoria VLP-FIFO contiene almeno un puntatore, esso viene estratto. • if the HP-FIFO and LP-FIFO memories are both empty and the VLP-FIFO memory contains at least one pointer, it is extracted.

Con riferimento alle figg.13, 14, 15, e 16, ed a quanto detto nella precedentemente citata domanda di brevetto depositata dalla stessa Richiedente circa le modalità di esecuzione dell’algoritmo di WFQ applicato alle sole code trasmissive, vengono ora meglio specificate le modalità di esecuzione dello stesso neH’ambito del metodo di multiplazione statistica oggetto della presente invenzione, precisando che nel nuovo ambito il suddetto algoritmo di WFQ viene applicato in modo innovativo per selezionare i blocchi, oltre che per servire le rispettive code trasmissive. With reference to figs. 13, 14, 15, and 16, and to what has been said in the previously cited patent application filed by the same Applicant about the methods of execution of the WFQ algorithm applied only to the transmission queues, the methods are now better specified. execution of the same in the context of the statistical multiplexing method object of the present invention, specifying that in the new context the aforementioned WFQ algorithm is applied in an innovative way to select the blocks, as well as to serve the respective transmission queues.

L’estensione del suddetto algoritmo anche ai blocchi di code trasmissive è una novità assoluta della presente invenzione, e pertanto le modalità di una tale applicazione verranno accuratamente illustrate con riferimento alle principali risorse incluse nel blocco WFQ-B. Con le opportune distinzioni, le nozione esposte continueranno a valere anche per ii blocco WFQ-Q. The extension of the aforementioned algorithm also to blocks of transmission queues is an absolute novelty of the present invention, and therefore the methods of such an application will be accurately illustrated with reference to the main resources included in the WFQ-B block. With the appropriate distinctions, the notion set out will continue to apply to the WFQ-Q block as well.

I casi relativi alla prima e seconda variante realizzativa della presente invenzione, che prevedono l’utilizzo delle RT-FL4G per stabilire una priorità assoluta sui flussi real-time isolati in code dedicate, o in un blocco, sono una diretta conseguenza del complesso delle nozioni esposte, o citate. Verrà pertanto brevemente illustrata solo la seconda variante che costituisce anch'essa motivo di novità. Ciò posto, si rimanda a quanto già detto circa la suddivisione in classi di servizio dei diversi flussi entranti in un nodo di rete e multiplati nell’unico flusso LINK-IN (fig.1) all'ingresso del generico multiplexer statistico SMU. Giova rimarcare che non esiste a priori una relazione tra la banda del link in ingresso e la banda del link in uscita LINK-OUT, e riassumere che il flusso in ingresso è costituito da celle appartenenti ad un certo numero di flussi con diversi livelli di QoS. Tali flussi consistono in un numero z di flussi trasmissivi di applicazioni a banda disponibile o ABR (quali sono ad esempio i flussi non "reai time" relativi ad un file dati) per i quali il sistema garantisce comunque una banda minima e la massima disponibilità della banda in eccesso, ed in un numero s di flussi trasmissivi di applicazioni non ABR (quali sono ad esempio i flussi "reai time" relativi a segnali televisivi, etc.), per i quali il sistema deve comunque garantire la banda di picco stabilita (connessioni CBR ovvero di massima priorità). Ai suddetti flussi si aggiungono i flussi di tipo UBR, per i quali il sevizio non garantisce una banda minima. Le classi di QoS menzionate, unitamente a quanto già detto per i blocchi, suggeriscono il criterio di ripartizione dei puntatori B-ID e Q-ID tra le memorie FIFO del WFQ. The cases relating to the first and second embodiment variant of the present invention, which provide for the use of RT-FL4G to establish an absolute priority on isolated real-time flows in dedicated queues, or in a block, are a direct consequence of the complex of concepts exhibited, or cited. Therefore, only the second variant will be briefly illustrated, which is also a reason for novelty. Having said this, please refer to what has already been said about the subdivision into service classes of the different flows entering a network node and multiplexed in the single LINK-IN flow (fig. 1) at the entrance of the generic statistical multiplexer SMU. It should be noted that there is no a priori relationship between the band of the incoming link and the band of the outgoing link LINK-OUT, and to summarize that the incoming flow is made up of cells belonging to a certain number of flows with different levels of QoS . These flows consist of a number z of transmission flows of available bandwidth or ABR applications (such as, for example, the non "real time" flows relating to a data file) for which the system still guarantees a minimum bandwidth and maximum availability of the excess band, and in a number s of transmission flows of non-ABR applications (such as, for example, the "real time" flows relating to television signals, etc.), for which the system must in any case guarantee the established peak band ( CBR connections or of highest priority). To the aforesaid flows are added the flows of the UBR type, for which the service does not guarantee a minimum bandwidth. The QoS classes mentioned, together with what has already been said for the blocks, suggest the criterion for distributing the B-ID and Q-ID pointers among the FIFO memories of the WFQ.

Il presupposto su cui si fonda l’algoritmo di WFQ è che ci sia della banda disponibile da ripartire, per cui, detta Rtot la banda totale disponibile sul link LINK-OUT, dette RAj le bande minime contrattate degli z flussi trasmissivi ABR (o più precisamente a banda minima garantita) e dette RNAj le bande trasmissive fisse degli s flussi trasmissivi non ABR (UBR esclusi) deve valere la relazione ∑,RAi + ∑,RNAi S Rtot Il rispetto di tale relazione viene garantito, in fase di contrattazione, da una corretta assegnazione alle singole applicazioni dei valori RAi e RNAj. The assumption on which the WFQ algorithm is based is that there is available bandwidth to be distributed, therefore, called Rtot the total band available on the LINK-OUT link, called RAj the minimum contracted bands of the z transmission flows ABR (or more precisely with minimum guaranteed band) and called RNAj the fixed transmission bands of s non-ABR transmission flows (excluding UBR) the relation ∑, RAi + ∑, RNAi S Rtot must apply. correct assignment of RAi and RNAj values to individual applications.

Il meccanismo dei token è nato per garantire alle code ABR la garanzia di una banda minima. Allo scopo il numero di token assegnati in un certo periodo TR, detto periodo di rinnovo, a ciascuna coda trasmissiva appartenente ad un flusso trasmissivo ABR, è proporzionale afla banda minima assegnata in sede di contrattazione. Il periodo di rinnovo TR è un multiplo intero del tempo di cella Tc. Esso viene definito come: TR = (Rtot/G)*Tc dove il fattore G caratterizza la granularità legata alla banda minima gestibile. Il numero di token assegnato a ciascuna coda appartenente a flussi trasmissivi ABR è pari a RAj/G. La variazione del periodo TR, ossia della granularità con la quale i token vengono distribuiti, permette di ottimizzare in ogni situazione le prestazioni del multiplexer statistico delle figg.10 e 11 . The token mechanism was created to guarantee ABR queues the guarantee of a minimum bandwidth. For this purpose, the number of tokens assigned in a certain TR period, called renewal period, to each transmission queue belonging to an ABR transmission flow, is proportional to the minimum band assigned during the negotiation. The renewal period TR is an integer multiple of the cell time Tc. It is defined as: TR = (Rtot / G) * Tc where the G factor characterizes the granularity linked to the minimum manageable band. The number of tokens assigned to each queue belonging to ABR transmission flows is equal to RAj / G. The variation of the TR period, that is of the granularity with which the tokens are distributed, allows to optimize in every situation the performances of the statistical multiplexer of figs. 10 and 11.

Vantaggiosamente, le bande contrattate possono venire facilmente variate semplicemente cambiando il numero di token a disposizione di ciascuna applicazione. In sede di contrattazione è anche possibile assegnare i token in modo tale che la somma di tutte le bande minime di tutti i flussi ABR e di tutte le bande di picco dei flussi non ABR (UBR esclusi) risulti sempre minore della banda totale del link in uscita. Ciò permetterebbe di avere sempre a disposizione una certa banda in eccesso da poter distribuire. In effetti i token possono essere visti come una unità di misura della banda, per cui chi decide se accettare o meno una connessione, deve verificare che le condizioni di traffico in rete permettano di garantire a quella connessione e alle altre già presenti il rispetto dei parametri di traffico che le caratterizzano. Se tale valutazione viene fatta utilizzando l'unita' di misura" token, allora a ciascuna connessione con banda fissa ed a ciascuna connessione con banda minima garantita, devono essere assegnati dei token. Da quanto sopra ne consegue che in fase di accettazione vengono assegnati dei token anche alle code QUj i cui puntatori sono contenuti nelle memorie HP-FIFO del blocco WFQ-Q. Questo stesso ragionamento si applica anche ai blocchi, dato che i parametri di banda di ciascun blocco risultano dalle bande delle rispettive code, per cui in fase di accettazione vengono assegnati dei token anche ai blocchi i cui puntatori B-ID sono contenuti nella memoria HP-FIFO del blocco WFQ-B. Valendo il criterio di assegnazione dei token stabilito per le code, risulta di conseguenza che la somma dei token di tutti i blocchi non supera mai la banda totale in uscita (LINK-OUT). Advantageously, the contracted bands can be easily varied simply by changing the number of tokens available to each application. When negotiating, it is also possible to assign tokens in such a way that the sum of all the minimum bands of all the ABR flows and of all the peak bands of the non-ABR flows (excluding UBR) is always less than the total band of the link in exit. This would make it possible to always have a certain excess bandwidth available to distribute. In fact, tokens can be seen as a unit of measurement of bandwidth, so who decides whether or not to accept a connection, must verify that the traffic conditions on the network allow to guarantee compliance with the parameters for that connection and the others already present. of traffic that characterize them. If this evaluation is made using the "token" unit of measure, then tokens must be assigned to each connection with fixed band and to each connection with minimum guaranteed band. From the above it follows that during the acceptance phase token also to the QUj queues whose pointers are contained in the HP-FIFO memories of the WFQ-Q block. This same reasoning also applies to the blocks, since the band parameters of each block result from the bands of the respective queues, so in phase tokens are also assigned to the blocks whose B-ID pointers are contained in the HP-FIFO memory of the WFQ-B block. the blocks never exceed the total output band (LINK-OUT).

Rimane tuttavia valido per il multipiexer statistico secondo la presente invenzione il fatto di utilizzare i token esclusivamente per garantire le bande minime, ragion per cui le connessioni con banda fissa vengono sempre servite con alta priorità, indipendentemente dal valore dei token che chi decide l'accettazione assegna a ciascuna di esse. Sorge allora spontanea la domanda: e se una connessione a banda fissa (es. CBR) trasmettesse ad una banda maggiore del suo PCR (Peak Celi Rate), non riceverebbe in realtà più del dovuto? La risposta è affermativa, ma ciò non può succedere perché, come è noto, nei nodi d’ingresso della rete (fig. 1) sono presenti dei componenti chiamati "policer” (non indicati nelle figure) i quali verificano e fanno in modo che ciascuna connessione CBR (VBR) non trasmetta ad una banda superiore al suo PCR (SCR). However, the fact of using the tokens exclusively to guarantee the minimum bands remains valid for the statistical multipiexer according to the present invention, which is why fixed band connections are always served with high priority, regardless of the value of the tokens that those who decide to accept assign to each of them. The question then arises spontaneously: and if a fixed band connection (eg CBR) transmitted at a higher bandwidth than its PCR (Peak Celi Rate), would it not actually receive more than it should? The answer is affirmative, but this cannot happen because, as is known, in the input nodes of the network (fig. 1) there are components called "policers" (not shown in the figures) which verify and ensure that each CBR (VBR) connection does not transmit at a higher bandwidth than its PCR (SCR).

Con riferimento alla fig.13 viene illustrato il metodo utilizzato nella presente invenzione per la ripartizione della banda disponibile tra i diversi blocchi B-ID. Il metodo è descritto relativamente ad un solo periodo di rinnovo TR. With reference to Fig. 13, the method used in the present invention for the distribution of the available band between the different B-ID blocks is illustrated. The method is described for a single TR renewal period.

All'inizio del periodo TR l’unità di controllo WFQ-CONTR (fig.11) si porta in una fase INIZIALIZZA TR-CNT in cui viene inizializzato un contatore TR-CNT con il valore TR del periodo di rinnovo dei token. At the beginning of the TR period, the WFQ-CONTR control unit (fig.11) goes into an INITIALIZE TR-CNT phase in which a TR-CNT counter is initialized with the TR value of the token renewal period.

Segue una fase INIZIALIZZA TK-CNT-B, TK-CNT1,...,TK-CNTm durante la quale vengono inizializzati i dispositivi di memorizzazione dei token sopra indicati (fig.12) con i valori di token N°TOK(B1) . N°TOK(Bm) assegnati ai rispettivi campi del contatore TK-CNT-B, e con i valori di token N°TOK(QU1), ...,N<D>TOK(QUz) assegnati ai rispettivi campi degli m contatori TK-CNTj. Il numero di token N°TOK(Bj) che un generico blocco effetivamente utilizza per garantire la banda minima di blocco è dato dalla seguente espressione: An INITIALIZE TK-CNT-B, TK-CNT1, ..., TK-CNTm phase follows, during which the storage devices of the tokens indicated above are initialized (fig. 12) with the token values N ° TOK (B1) . N ° TOK (Bm) assigned to the respective fields of the counter TK-CNT-B, and with the token values N ° TOK (QU1), ..., N <D> TOK (QUz) assigned to the respective fields of the m counters TK-CNTj. The number of tokens N ° TOK (Bj) that a generic block actually uses to guarantee the minimum block band is given by the following expression:

dove z è il numero di code trasmissive QU di tipo ABR assegnate al blocco j-esimo. where z is the number of ABR-type transmission queues QU assigned to the j-th block.

Successivamente l’unità WFQ-CONTR si porta in una fase INIZIALIZZA LE FIFO DEI BLOCCHI WFQ-Q, WFQ-B durante la quale vengono rimossi eventuali puntatori contenuti nelle suddette memorie, e vengono opportunamente inseriti nei gruppi di memorie HP-FIFO, LP-FIFO, VLP-FIFO del blocco WFQ-Q dei puntatori Q-ID a code trasmissive che hanno celle da trasmettere, e nelle omonime memorie del blocco WFQ-B dei puntatori B-ID ai blocchi che includono le suddette code. Subsequently the WFQ-CONTR unit goes into a phase INITIALIZE THE FIFO OF THE WFQ-Q, WFQ-B BLOCKS during which any pointers contained in the aforementioned memories are removed, and are suitably inserted in the groups of memories HP-FIFO, LP- FIFO, VLP-FIFO of the block WFQ-Q of the Q-ID pointers to transmission queues which have cells to be transmitted, and in the homonymous memories of the WFQ-B block of the B-ID pointers to the blocks which include the aforesaid queues.

Le fasi di inizializzazione finora illustrate mostrano chiaramente come fino a questo punto non siano affatto distinguibili due funzionalità di WFQ tra loro indipendenti, rispettivamente per i blocchi e le code trasmissive, poiché infatti i relativi trattamenti sono svolti congiuntamente. Da questo punto in avanti è possibile illustrare separatamente le due funzionalità, ma questo non significa che la seconda sia indipendente dalla prima. The initialization steps illustrated so far clearly show how up to this point two independent WFQ functions are not distinguishable at all, respectively for the transmission blocks and queues, since in fact the relative treatments are carried out jointly. From this point forward it is possible to illustrate the two functions separately, but this does not mean that the second is independent from the first.

L'unità WFQ-CONTR nella fase TR-CNT - Tc → TR-CNT decrementa di una quantità corrispondente al tempo cella Tc il contatore TR-CNT, e si porta in una fase di test TR-CNT = 0 nella quale verifica se il tempo TR non sia terminato. The WFQ-CONTR unit in the TR-CNT - Tc → TR-CNT phase decreases the counter TR-CNT by a quantity corresponding to the cell time Tc, and goes into a test phase TR-CNT = 0 in which it checks whether the TR time has not ended.

Se il tempo TR non è ancora terminato, l'unità WFQ-CONTR si porta in una fase di lettura LEGGI HP-FIFO durante la quale viene letto un puntatore B-ID, a cui segue una fase di test È HP-FIFO VUOTA? nella quale verifica se nella suddetta FIFO non ci sono più puntatori B-ID a blocchi ad alta priorità di servizio ancora da emettere. If the TR time has not yet expired, the WFQ-CONTR unit goes into a reading phase READ HP-FIFO during which a B-ID pointer is read, followed by a test phase IS HP-FIFO EMPTY? in which it checks whether in the aforementioned FIFO there are no more B-ID block pointers with high service priority yet to be emitted.

Se il test indica che tali puntatori ci sono l'unità WFQ-CONTR si porta in una fase SERVI HP-FIFO durante la quale viene servito il blocco il cui puntatore B-ID era stato letto nella fase LEGGI HP-FIFO. Al termine della fase SERVI HP-FIFO, che verrà illustrata con la fig.14, l’unità WFQ-CONTR ritorna alla fase in cui si decrementa TR-CNT e ripete ciclicamente le fasi comprese tra quest’ultima e la fase di servizio fino a che non è esaurito il tempo TR, oppure fino a che la memoria HP-FIFO stessa non è stata svuotata. If the test indicates that these pointers are present, the WFQ-CONTR unit moves into a SERVI HP-FIFO phase during which the block whose B-ID pointer was read in the READ HP-FIFO phase is served. At the end of the SERVI HP-FIFO phase, which will be illustrated in fig. 14, the WFQ-CONTR unit returns to the phase in which TR-CNT is decreased and cyclically repeats the phases between the latter and the service phase until until the time TR is exhausted, or until the HP-FIFO memory itself has not been emptied.

Quando ciò accade, il test È HP-FIFO VUOTA? risulta vero e l’unità WFQ-CONTR si porta in una fase dì lettura LEGGI LP-FIFO durante la quale viene letto un puntatore B-ID, a cui segue una fase di test È LP-FIFO VUOTA? nella quale verifica se nella suddetta FIFO non ci sono più puntatori B-ID a blocchi a bassa priorità di servizio ancora da emettere. When this happens, the test IS HP-FIFO EMPTY? is true and the WFQ-CONTR unit goes into a reading phase READ LP-FIFO during which a B-ID pointer is read, followed by a test phase IS LP-FIFO EMPTY? in which it checks whether in the aforementioned FIFO there are no more low service priority block B-ID pointers yet to be emitted.

Se il test indica che tali puntatori ci sono l’unità WFQ-CONTR si porta in una fase SERVI LP-FIFO durante la quale viene servito il blocco il cui puntatore B-ID era stato letto nella fase LEGGI LP-FIFO. Al termine della fase SERVI LP-FIFO, che verrà illustrata con la fig.15, l’unità WFQ-CONTR ritorna alla fase in cui si decrementa TR-CNT e ripete ciclicamente le fasi di lettura e di servizio della memoria LP-FIFO fino a che non è esaurito il tempo TR, oppure fino a che la memoria LP-FIFO stessa non è stata svuotata. If the test indicates that these pointers are present, the WFQ-CONTR unit goes into a SERVI LP-FIFO phase during which the block whose B-ID pointer was read in the READ LP-FIFO phase is served. At the end of the SERVI LP-FIFO phase, which will be illustrated in fig. 15, the WFQ-CONTR unit returns to the phase in which TR-CNT is decreased and cyclically repeats the reading and service phases of the LP-FIFO memory until until the time TR is exhausted, or until the LP-FIFO memory itself has not been emptied.

Quando ciò accade, il test È LP-FIFO VUOTA? risulta vero e l’unità WFQ-CONTR si porta in una fase di lettura LEGGI VLP-FIFO durante la quale viene letto un puntatore B-ID, a cui segue una fase di test È LP-FIFO VUOTA? (trasferita per comodità di raffigurazione all'inizio di fig.16) nella quale verifica se nella suddetta FIFO non ci sono più puntatori B-ID a blocchi a bassissima priorità di servizio ancora da emettere. When this happens, is the test LP-FIFO EMPTY? is true and the WFQ-CONTR unit goes into a reading phase READ VLP-FIFO during which a B-ID pointer is read, followed by a test phase IS LP-FIFO EMPTY? (transferred for ease of representation at the beginning of fig. 16) in which it checks whether in the aforementioned FIFO there are no more B-ID block pointers with very low service priority still to be emitted.

Se il test indica che tali puntatori ci sono l’unità WFQ-CONTR si porta in una fase SERVI VLP-FIFO durante la quale viene servito il blocco il cui puntatore B-ID era stato letto nella fase LEGGI VLP-FIFO. Al termine della fase SERVI VLP-FIFO, che verrà illustrata con la fig.16, l'unità WFQ-CONTR ritorna alla fase in cui si decrementa TR-CNT e ripete ciclicamente le fasi di lettura e di servizio della memoria VLP-FIFO fino a che non è esaurito il tempo TR, oppure fino a che la memoria VLP-FIFO stessa non è stata svuotata. In ambedue i casi viene riavvìata la fase di START e l'unità WFQ-CONTR si riporta nuovamente nelle fase di inizializzazione del contatore TR-CN nella quale viene ripristinato il valore originale del periodo di rinnovo TR nel contatore TR-CNT, a cui fa seguito la fase in cui vengono nuovamente calcolati e ridistribuiti i token nei contatori TK-CNT1,...,TK-CNTm e TK-CNT-B, FIFO, e la fase in cui vengono reinizializzati i contenuti di tutte le FIFO dei blocchi WFQ-Q e WFQ-B. If the test indicates that these pointers are present, the WFQ-CONTR unit goes into a SERVI VLP-FIFO phase during which the block whose B-ID pointer was read in the READ VLP-FIFO phase is served. At the end of the SERVI VLP-FIFO phase, which will be illustrated in fig. 16, the WFQ-CONTR unit returns to the phase in which TR-CNT is decreased and cyclically repeats the reading and service phases of the VLP-FIFO memory until until the time TR is exhausted, or until the VLP-FIFO memory itself has not been emptied. In both cases the START phase is restarted and the WFQ-CONTR unit goes back to the initialisation phase of the TR-CN counter in which the original value of the TR renewal period is restored in the TR-CNT counter, to which it followed by the phase in which the tokens in the counters TK-CNT1, ..., TK-CNTm and TK-CNT-B, FIFO are re-calculated and redistributed, and the phase in which the contents of all the FIFOs of the WFQ blocks are reinitialized -Q and WFQ-B.

Con riferimento alia fig.14, viene illustrata la fase SERVI HP-FIFO di fig.13 che inizia con una fase EMETTI B-ID SU BUS-DATI-WFQ il cui significato è ovvio. With reference to fig. 14, the SERVI HP-FIFO phase of fig. 13 is illustrated which begins with a phase EMIT B-ID ON BUS-DATA-WFQ whose meaning is obvious.

Segue una fase in cui viene letto il valore VAL-CNT riferito alle occorrenze del blocco indicato da B-ID, e poi eseguito un test sul valore letto per stabilire se ci sono ancora blocchi di quel tipo da servire. Questo sarà vero in caso di presenza di almeno una cella ancora da trasmettere in almeno una coda assegnata al blocco appena servito. A phase follows in which the VAL-CNT value referred to the occurrences of the block indicated by B-ID is read, and then a test is performed on the value read to determine if there are still blocks of that type to be served. This will be true if there is at least one cell still to be transmitted in at least one queue assigned to the block just served.

Se il test VAL-CNT = 0? risulta falso, viene eseguita la fase SCRIVI B-ID IN HP-FIFO per reinserire il puntatore B-ID nella memoria HP-FIFO, altrimenti l’unità WFQ-CONTR si riporta nella fase di decremento del tempo TR e ripete il ciclo di svuotamento di HP-FIFO, terminando così la fase di servizio. If the VAL-CNT test = 0? is false, the WRITE B-ID IN HP-FIFO phase is performed to reinsert the B-ID pointer in the HP-FIFO memory, otherwise the WFQ-CONTR unit returns to the TR time decrease phase and repeats the emptying cycle of HP-FIFO, thus ending the service phase.

Con riferimento alla fig.15, viene illustrata la fase SERVI LP-FIFO di fig.13 che inizia con una fase EMETTI B-ID SU BUS-DATI-WFQ il cui significato è ovvio. Viene quindi letto il valore VAL-CNT riferito alle occorrenze del blocco indicato da B-ID, e poi eseguito un test sul valore letto per stabilire se ci sono ancora blocchi di quel tipo da servire. With reference to fig. 15, the SERVI LP-FIFO phase of fig. 13 is illustrated which begins with a phase EMIT B-ID ON BUS-DATA-WFQ whose meaning is obvious. The VAL-CNT value referred to the occurrences of the block indicated by B-ID is then read, and then a test is performed on the value read to determine if there are still blocks of that type to be served.

Se il test VAL-CNT = 0 risulta falso, l’unità WFQ-CONTR esegue nella fase È TK-CNT-B = 0 un test sul valore del campo del token counter TK-CNT-B riferito al blocco indicato dal puntatore B-ID. If the test VAL-CNT = 0 is false, the WFQ-CONTR unit performs in phase IS TK-CNT-B = 0 a test on the value of the field of the token counter TK-CNT-B referred to the block indicated by pointer B- ID.

Se dal test risulta che il blocco in questione possiede ancora gettoni da spendere, il puntatore B-ID viene reinserito nella memoria LP-FIFO e decrementato di una unità il valore nel campo del token counter TK-CNT-B. Dopodiché l’unità WFQ-CONTR si riporta nella fase di decremento del tempo TR e ripete il ciclo di svuotamento di LP-FIFO. If the test shows that the block in question still has tokens to spend, the B-ID pointer is reinserted into the LP-FIFO memory and the value in the field of the token counter TK-CNT-B is decreased by one unit. Then the WFQ-CONTR unit returns to the phase of decreasing the TR time and repeats the LP-FIFO emptying cycle.

Se dal test sul token counter TK-CNT-B risulta che il blocco indicato da B-ID ha già speso tutti i propri gettoni, il puntatore B-ID viene inserito nella memoria VLP-FIFO, dopodiché viene decrementato di una unità il tempo TR e ripetuto il ciclo di svuotamento di LP-FIFO, terminando cosi la fase di servizio. If the test on the token counter TK-CNT-B shows that the block indicated by B-ID has already spent all its tokens, the B-ID pointer is inserted into the VLP-FIFO memory, after which the time TR is decreased by one unit the LP-FIFO emptying cycle is repeated, thus ending the service phase.

La fig.16 illustra la fase SERVI VLP-FIFO di fig.13 che è del tutto analoga alla fase SERVI HP-FIFO di fig.14, eccetto per il fatto che il puntatore B-ID viene ora inserito nella memoria VLP-FIFO. Fig. 16 illustrates the SERVI VLP-FIFO phase of Fig. 13 which is completely analogous to the SERVI HP-FIFO phase of Fig. 14, except that the B-ID pointer is now inserted into the VLP-FIFO memory.

È del tutto evidente che, prescindendo momentaneamente da successive operazioni di scheduling degli indicatori B-ID e Q-ID, una volta che risulti completata una fase EMETTI B-ID SU BUS-DATI-WFQ, può partire l’esecuzione di quelle fasi del WFQ applicato alle code trasmissive che conducono all’emissione di un indicatore Q-ID e che sono del tutto analoghe alle corrispondenti fasi illustrate per i blocchi. It is quite clear that, temporarily disregarding subsequent scheduling operations of the B-ID and Q-ID indicators, once a phase is completed EMIT B-ID ON THE DATA-BUS-WFQ, the execution of those phases of the WFQ applied to the transmission queues which lead to the emission of a Q-ID indicator and which are completely analogous to the corresponding steps illustrated for the blocks.

Dai diagrammi di flusso appena illustrati si possono riassumere le caratteristiche salienti del WFQ di blocco, dicendo che la FIFO ad alta priorità HP-FIFO contiene puntatori B-ID a blocchi funzionali che sono serviti sempre, indipendentemente dai token ad essi assegnati durante la fase negoziale. From the flow diagrams illustrated above, the salient features of the block WFQ can be summarized, saying that the high-priority FIFO HP-FIFO contains B-ID pointers to functional blocks that are always served, regardless of the tokens assigned to them during the negotiation phase. .

La FIFO a bassa priorità LP-FIFO contiene puntatori B-ID a blocchi funzionali che hanno ancora a disposizione token e che, quindi, hanno sicuramente diritto ad essere serviti. The low-priority FIFO LP-FIFO contains B-ID pointers to functional blocks which still have tokens available and which, therefore, are definitely entitled to be served.

La FIFO a bassissima priorità VLP-FIFO contiene puntatori B-ID a blocchi funzionali che hanno già speso tutti i token a loro disposizione e che, quindi, hanno già sicuramente sfruttato appieno la banda minima a loro concessa. Tati blocchi hanno quindi uguale diritto di venire serviti, per cui la banda residua viene ripartita tra gli stessi in modo uniforme. The very low priority FIFO VLP-FIFO contains B-ID pointers to functional blocks that have already spent all the tokens at their disposal and that, therefore, have certainly already fully exploited the minimum bandwidth granted to them. These blocks therefore have the same right to be served, so that the residual band is evenly distributed among them.

Durante l'intervallo di tempo TR la memoria LP-FIFO viene scandita ciclicamente ed i blocchi da essa indicati vengono uniformemente serviti. Tali blocchi, per effetto della diminuzione del numero di token e della loro chiamata per il servizio delle rispettive code trasmissive, possono venire a trovarsi in stati diversi. During the time interval TR the LP-FIFO memory is scanned cyclically and the blocks indicated by it are uniformly served. These blocks, due to the decrease in the number of tokens and their call for the service of the respective transmission queues, can come to be in different states.

Un blocco può contemporaneamente esaurire i propri token e non avere più code da servire. Tale situazione si verificherà quando, durante il periodo TR, la cell-rate aggregata è stata esattamente uguale alla banda minima assegnata al blocco. A block can simultaneously run out of its tokens and have no more queues to serve. This situation will occur when, during the TR period, the aggregate cell-rate was exactly equal to the minimum band assigned to the block.

Un blocco può invece non avere più code da servire prima di avere esaurito i propri token. Ciò significa che tale blocco includerà code trasmissive la cui cell-rate aggregata, durante il periodo TR, è stata inferiore alla banda minima assegnata al blocco. On the other hand, a block may no longer have queues to serve before it has run out of its tokens. This means that this block will include transmission queues whose aggregate cell-rate, during the TR period, was lower than the minimum band assigned to the block.

Una blocco può infine esaurire i propri token prima dello scadere del periodo TR. Ciò significa che tale blocco includerà code trasmissive la cui cell-rate aggregata, durante il periodo TR, è stata superiore alla banda minima assegnata al blocco. A block may eventually run out of its tokens before the TR period expires. This means that this block will include transmission queues whose aggregate cell-rate, during the TR period, was higher than the minimum band assigned to the block.

Durante il periodo TR, per effetto dell'attività di svuotamento della memoria LP-FIFO, potranno verificarsi i seguenti due casi: During the TR period, due to the LP-FIFO memory emptying activity, the following two cases may occur:

Nel primo caso, lo svuotamento della LP-FIFO coincide con la fine del periodo TR. Ciò significa che tutti i blocchi funzionali hanno trasmesso, durante il periodo TR, con una cell-rate aggregata uguale alla velocità determinata dalla banda minima concordata. In questo caso, durante tale periodo, non vi sarà alcuna banda disponibile in eccesso da distribuire tra i blocchi. In the first case, the emptying of the LP-FIFO coincides with the end of the TR period. This means that all functional blocks have transmitted, during the TR period, with an aggregate cell-rate equal to the speed determined by the agreed minimum band. In this case, during that period, there will be no excess bandwidth available to distribute between the blocks.

Nel secondo caso lo svuotamento della LP-FIFO arriva prima della fine del periodo TR. Ciò significa che almeno uno tra i blocchi funzionali ha trasmesso, durante il periodo TR, con una cell-rate aggregata inferiore alla velocità determinata dalla banda minima concordata. In questo caso, durante tale periodo, vi sarà banda disponibile in eccesso da distribuire eventualmente tra i blocchi. La memoria VLP-FIFO viene scandita ciclicamente in modo tale che tutti i blocchi il cui indicatore è presente vengano uniformemente serviti, indipendentemente dal numero di token da essi originariamente posseduto ed indipendentemente dal numero di code che gli stessi abbiano ancora da servire (Round-Robin). In the second case, the emptying of the LP-FIFO arrives before the end of the TR period. This means that at least one of the functional blocks transmitted, during the TR period, with an aggregate cell-rate lower than the speed determined by the agreed minimum band. In this case, during this period, there will be excess bandwidth available to eventually be distributed among the blocks. The VLP-FIFO memory is scanned cyclically so that all the blocks whose indicator is present are uniformly served, regardless of the number of tokens they originally owned and regardless of the number of queues that they still have to serve (Round-Robin ).

Si potrà apprezzare che, in questo modo, anche nel caso pessimo in cui tutti i blocchi abbiano code la cui cell-rate aggregata sia superiore alla banda minima assegnata al rispettivo blocco, gli stessi blocchi vengano correttamente serviti almeno con la banda minima concordata. Ulteriormente apprezzabile risulta poi. il fatto che, grazie alla modalità di scansione della memoria VLP-FIFO, nessun blocco riesce a monopolizzare il servizio. It will be appreciated that, in this way, even in the worst case in which all the blocks have queues whose aggregate cell-rate is higher than the minimum bandwidth assigned to the respective block, the same blocks are correctly served at least with the agreed minimum bandwidth. It is then further appreciable. the fact that, thanks to the VLP-FIFO memory scanning mode, no block is able to monopolize the service.

Nel caso specifico della seconda variante realizzativa, in aggiunta alle tre memorie FIFO viene utilizzata la flag RT-FLAG per il governo dell’unico blocco che raggruppa tutte le code trasmissive con necessità di sevizio in real-time. In tal caso l’unità WF-CONTR, una volta esaurita la fase iniziale, passa subito ad eseguire un test sul valore di RT-FL4G per vedere se esiste un blocco da servire con precedenza assoluta, anche rispetto alla FIFO ad alta priorità HP-FIFO. Una volta svuotato il suddetto blocco e disattivata la flag, l'unità WF-CONTR procede come illustrato in fìg-13. In the specific case of the second implementation variant, in addition to the three FIFO memories, the RT-FLAG flag is used to control the single block that groups all the transmission queues with the need for real-time service. In this case the WF-CONTR unit, once the initial phase has been completed, immediately proceeds to carry out a test on the RT-FL4G value to see if there is a block to be served with absolute precedence, even with respect to the high priority FIFO HP- FIFO. Once the aforementioned block has been emptied and the flag deactivated, the WF-CONTR unit proceeds as illustrated in fig-13.

Con riferimento alla fig.8, viene ora discusso i! caso in cui i blocchi SHAPER-B, SCHEDULER-B e SHAPER-Q, SCHEDULER-Q di fig.9 non debbano essere considerati opzionali, ma bensì effettivi. Questo è il caso più probabile in quanto, generalmente i blocchi e le code trasmissive con traffic-type non real-time necessitano di un controllo preventivo della banda di picco prima della loro ammissione al servizio. Si ricorda che per i corrispondenti real-time il picco è preventivamente garantito in fase di accettazione della connessione. Nel caso prospettato il diagramma di flusso principale di fig.13, come pure i diagrammi di flusso delle fasi di servizio illustrati nelle figure 14, 15 e 16 restano immutati, in quanto il servizio che essi producono è quello di emettere un puntatore B-ID e/o Q-ID sul bus dati BUS-DATI-WFQ dell'unità di controllo WFQ-CONTR. La suddetta unità, dall'analisi del TR-TYPE, deciderà se prolungare il bus BUS-DATI-WFQ verso i blocchi SHAPER-B e SHAPER-Q, o altrimenti trasferire il puntatore B-ID e/o Q-ID direttamente all’unità SER-CONTR (fig. 10) che controlla la fase terminale della funzionalità di servizio. In modo del tutto analogo è possibile disabilitare selettivamente, via software, il controllo del picco sulla banda di singoli blocchi, e/o sulla banda di singole code trasmissive, che continueranno ad avere una banda regolata dall'algoritmo di WFQ puro. La struttura proposta consente quindi la coesistenza di blocchi e/o code con o senza il controllo della cell-rate di picco. With reference to FIG. 8, we now discuss i! case in which the SHAPER-B, SCHEDULER-B and SHAPER-Q, SCHEDULER-Q blocks of fig. 9 are not to be considered optional, but rather effective. This is the most probable case as generally blocks and transmission queues with non-real-time traffic-type require a prior check of the peak band before their admission to the service. Please note that for the real-time correspondents the peak is guaranteed in advance when the connection is accepted. In the case presented, the main flow diagram of fig. 13, as well as the flow diagrams of the service phases illustrated in figures 14, 15 and 16 remain unchanged, since the service they produce is to issue a B-ID pointer and / or Q-ID on the BUS-DATA-WFQ data bus of the WFQ-CONTR control unit. The aforementioned unit, from the analysis of the TR-TYPE, will decide whether to extend the BUS-DATA-WFQ bus towards the SHAPER-B and SHAPER-Q blocks, or otherwise transfer the B-ID and / or Q-ID pointer directly to the SER-CONTR unit (fig. 10) which controls the terminal phase of the service function. In a completely analogous way, it is possible to selectively disable, via software, the control of the peak on the band of single blocks, and / or on the band of single transmission queues, which will continue to have a band regulated by the pure WFQ algorithm. The proposed structure therefore allows the coexistence of blocks and / or queues with or without the control of the peak cell-rate.

In fig.17 viene illustrato il diagramma a blocchi funzionali di una terza variante realizzativa in cui la ricerca di un indicatore B-ID da emettere viene effettuata in parallelo dai blocchi SCHEDULER-B e dal tandem WFQ-B, SHAPER-B, e la ricerca di un indicatore Q-ID da emettere viene effettuata in parallelo dai blocchi SCHEDULER-Q e dal tandem WFQ-Q, SHAPER-Q. Il vantaggio che ne deriva è quello di ridurre il CDV che l'indicatore subisce percorrendo interamente il suo anello. Fig. 17 shows the functional block diagram of a third embodiment variant in which the search for a B-ID indicator to be emitted is carried out in parallel by the SCHEDULER-B blocks and by the tandem WFQ-B, SHAPER-B, and the search for a Q-ID indicator to be emitted is carried out in parallel by the SCHEDULER-Q blocks and by the WFQ-Q, SHAPER-Q tandem. The resulting advantage is to reduce the CDV that the indicator undergoes by covering its entire ring.

Con riferimento alla fig.17, si può notare come la rappresentazione a blocchi ivi raffigurata differisca da quella di fig.9 per quanto segue: With reference to fig. 17, it can be noted that the block representation shown there differs from that of fig. 9 for the following:

- l'uscita del blocco SHAPER-Q non è più connessa al blocco SCHEDULER-Q ma bensì ad un primo ingresso di un blocco SELECT Q-ID; - the output of the SHAPER-Q block is no longer connected to the SCHEDULER-Q block but rather to a first input of a SELECT Q-ID block;

- l'uscita del blocco SCHEDULER-Q non è più connessa al buffer manager BM ma bensì ad un secondo ingresso del blocco SELECT Q-ID; - the output of the SCHEDULER-Q block is no longer connected to the buffer manager BM but rather to a second input of the SELECT Q-ID block;

- una prima uscita del blocco SELECT Q-ID è connessa al buffer manager BM; - a first output of the SELECT Q-ID block is connected to the buffer manager BM;

- una seconda uscita del blocco SELECT Q-ID è connessa all’ingresso del blocco SCHEDULER-Q. - a second output of the SELECT Q-ID block is connected to the input of the SCHEDULER-Q block.

Considerazioni duali valgono per i blocchi WFQ-B, SHAPER-B, SCHEDULER-B; in tal caso è presente un blocco SELECT B-ID la cui uscita connessa al buffer manager BM è pure connessa ad un terzo ingresso del blocco WFQ-Q. Per brevità, è stata omessa nelle figure l'indicazione di una rispettiva unità di controllo dei blocchi SHAPER-Q. SCHEDULER-Q, e SHAPER-B, SCHEDULER-B. Dual considerations apply to the WFQ-B, SHAPER-B, SCHEDULER-B blocks; in this case there is a SELECT B-ID block whose output connected to the buffer manager BM is also connected to a third input of the WFQ-Q block. For the sake of brevity, the indication of a respective control unit of the SHAPER-Q blocks has been omitted in the figures. SCHEDULER-Q, and SHAPER-B, SCHEDULER-B.

Con riferimento alla fig. 18, viene illustrato il funzionamento de] multipìexer statistico rappresentato diagramma a blocchi di fig. 17 relativamente alle sole funzionalità di shaping e scheduling. Per brevità viene indicata la flow chart delle suddette funzionalità che riguardano i soli indicatori B-ID, essendo la flow chart che tratta gli indicatori Q-ID del tutto identica a quella che verrà ora illustrata. In fig.18 dopo l’indicazione di START, il flusso elaborativo si suddivide in due rami eseguiti in parallelo. Sul primo ramo l’indicatore B-ID estratto dal blocco WFQ-B viene inviato, al termine della fase ESEGUI WFQ-B, al blocco SHAPER-B. Quest’ultimo calcola il tempo di inserimento nel calendario, espresso come N-SLOT-B, e nella successiva fase l'unità di controllo inserisce B-IO nel calendario alla locazione indicata da N-SLOT-B, incrementa di un tempo di cella Tc un contatore del tempo corrente TNOW utilizzato per la scansione del calendario, e ritorna quindi al punto di partenza immediatamente dopo lo START. Guardando al diagramma a blocchi di fig.17, la fase B-ID → CALEND(N-SLOT-B) equivale al percorso compiuto da B-ID dalla seconda uscita del blocco SELECT B-ID all’ingresso del blocco SCHEDULER-B. With reference to fig. 18, the operation of the statistical multiplexer shown in the block diagram of FIG. 17 regarding the shaping and scheduling functions only. For the sake of brevity, the flow chart of the aforementioned functions is indicated which concern only the B-ID indicators, since the flow chart that deals with the Q-ID indicators is completely identical to that which will now be illustrated. In fig. 18 after the START indication, the processing flow is divided into two branches performed in parallel. On the first branch, the B-ID indicator extracted from the WFQ-B block is sent, at the end of the RUN WFQ-B phase, to the SHAPER-B block. The latter calculates the insertion time in the calendar, expressed as N-SLOT-B, and in the following phase the control unit inserts B-IO in the calendar at the location indicated by N-SLOT-B, increases by a cell time Tc a TNOW current time counter used to scan the calendar, and then returns to the starting point immediately after the START. Looking at the block diagram in fig. 17, phase B-ID → CALEND (N-SLOT-B) is equivalent to the path taken by B-ID from the second output of the SELECT B-ID block to the input of the SCHEDULER-B block.

Contemporaneamente alle fasi di elaborazione di cui sopra, l’unità di controllo esegue una fase di test È B-ID DA SCHED-B per verificare la presenza di un indicatore B-ID emesso dallo SCHEDULER-B. Simultaneously with the processing steps above, the control unit performs a test phase IS B-ID FROM SCHED-B to check for the presence of a B-ID indicator issued by SCHEDULER-B.

Se la risposta è si, viene emesso il puntatore B-ID sulla prima uscita del blocco SELECT B-ID da cui prosegue verso il buffer manager BM, ed il controllo ritorna all'esecuzione della fase TNOW+Tc → TNOW ed alla successiva ripetizione delle elaborazioni sui due rami. If the answer is yes, the B-ID pointer is emitted on the first output of the SELECT B-ID block from which it continues towards the buffer manager BM, and the control returns to the execution of the TNOW + Tc → TNOW phase and to the subsequent repetition of the elaborations on the two branches.

Se invece la risposta è no significa che l'algoritmo di ricerca che governa SCHEDULER-B non ha individuato nessun indicatore B-ID da estrarre, l’unità di controllo compie quindi un seconda fase di test È B-ID DA WFQ-B per verificare la presenza di un indicatore B-ID emesso dal blocco WFQ-B. If, on the other hand, the answer is no, it means that the search algorithm governing SCHEDULER-B has not identified any B-ID indicator to be extracted, the control unit then performs a second test phase IS B-ID DA WFQ-B to check for the presence of a B-ID indicator issued by the WFQ-B block.

Se la risposta è no, nessun indicatore B-ID è stato emesso da WFQ-B. In questo caso nessun indicatore B-ID (e quindi Q-ID) può essere emesso dall'anello nel presente tempo cella e nessuna ulteriore operazione deve essere effettuata, pertanto il controllo ritorna all’esecuzione della fase TNOW+Tc → TNOW ed alla successiva ripetizione delle elaborazioni sui due rami. If the answer is no, no B-ID indicator has been issued by WFQ-B. In this case, no B-ID indicator (and therefore Q-ID) can be emitted from the ring in the present cell time and no further operation must be carried out, therefore the control returns to the execution of the TNOW + Tc → TNOW phase and to the following one. repetition of the processing on the two branches.

Se la nella seconda fase di test la risposta è sì, significa che un indicatore B-ID è stato emesso dal blocco WFQ-B ed occorre stabilire se, e quando, esso può essere riemesso verso il blocco BM. Allo scopo viene compiuta una terza fase di test È N-SLOT-B > TNOW/Tc in cui l’unità di controllo dello scheduler verifica se la locazione d’inserimento nel calendario calcolata dal blocco SHAPER-B è maggiore di quella (TNOW/Tc) corrispondente al tempo attuale TNOW. If in the second test phase the answer is yes, it means that a B-ID indicator has been issued by the WFQ-B block and it is necessary to establish if, and when, it can be re-issued towards the BM block. For this purpose, a third test phase is carried out È N-SLOT-B> TNOW / Tc in which the scheduler control unit checks whether the insertion location in the calendar calculated by the SHAPER-B block is greater than that (TNOW / Tc) corresponding to the current time TNOW.

In caso affermativo nessun indicatore B-ID può essere estratto dall’anello nel presente tempo cella TNOW, ed il controllo passa ad una successiva fase INSERISCI B-ID NEL CALENDARIO ALLA LOCAZIONE N-SLOT-B, il cui significato è ovvio; dopodiché il controllo ritorna all’esecuzione della fase TNOW+Tc → TNOW ed alla successiva ripetizione delle elaborazioni sui due rami. If so, no B-ID indicator can be extracted from the ring in the present time cell TNOW, and the control passes to a subsequent phase INSERT B-ID IN THE CALENDAR TO LOCATION N-SLOT-B, the meaning of which is obvious; then the control returns to the execution of the TNOW + Tc → TNOW phase and to the subsequent repetition of the processing on the two branches.

Se nella terza fase di test la risposta è negativa, significa che la locazione N-SLOT-B è uguale a quella calcolata dallo shaper al tempo corrente TNOW, il segno di minore rappresenterebbe infatti una condizione resa impossibile dal particolare algoritmo adottato dallo shaper. Viene in tal caso compiuta una fase EMETTI B-ID in cui l'indicatore B-ID viene emesso sulla prima uscita del blocco SELECT B-ID, da dove prosegue verso il buffer manager BM. Nessun inserimento di B-ID nel calendario è necessario. Dopodiché il controllo ritorna all’esecuzione della fase TNOW+Tc → TNOW ed alla successiva ripetizione delle elaborazioni sui due rami. If in the third test phase the answer is negative, it means that the N-SLOT-B location is equal to that calculated by the shaper at the current time TNOW, the minor sign would in fact represent a condition made impossible by the particular algorithm adopted by the shaper. In this case an EMIT B-ID phase is performed in which the B-ID indicator is emitted on the first output of the SELECT B-ID block, from where it continues towards the buffer manager BM. No entry of B-ID in the calendar is necessary. Then the control returns to the execution of the TNOW + Tc → TNOW phase and to the subsequent repetition of the processing on the two branches.

Vantaggiosamente, è stato realizzato un unico circuito integrato di tipo ASIC (Application Specific Integrated Circuit) che include tutti i blocchi funzionali indicati in fig.9. Advantageously, a single integrated circuit of the ASIC type (Application Specific Integrated Circuit) has been realized which includes all the functional blocks indicated in fig. 9.

Architeture con funzionalità ridota possono essere otenute rimuovendo dall'architettura di fig.9 alcuni blocchi che implementano le funzionalità non considerate. Occorrerà in tal caso modificare in modo congruente le flow-chart finora illustrate. Nel multiplexer illustrato nella terza variante di fig.17 è ad esempio possibile includere l’elaborazione parallela offerta dal blocco SELECT nell’uno o nell'altro, o in ambedue, gli anelli di emissione dei puntatori B-ID e Q-ID. Architecture with reduced functionality can be obtained by removing from the architecture of fig.9 some blocks that implement the functions not considered. In this case it will be necessary to modify the flowcharts illustrated so far in a congruent way. For example, in the multiplexer illustrated in the third variant of fig.17 it is possible to include the parallel processing offered by the SELECT block in one or the other, or in both, the emission rings of the B-ID and Q-ID pointers.

Un altro esempio di tali strutture è visibile in fig.19 relativamente ad una quarta variante realizzaztiva della presente invenzione in cui sono stati rimossi i blocchi SHAPER-Q e SCHEDULER-Q. In tal caso l’indicatore di coda Q-ID estratto dal blocco WFQ-Q non viene inserito nel calendario ma passato direttamente al buffer manager BM, che deve richiedere la lettura di una cella ATM memorizzata nel buffer BUF-CEL (fig.12) e, qualora necessario, ritrasferire l’indicatore Q-ID alla funzionalità di WFQ-Q. La soluzione indicata in fig19, che non permette di controllare la banda di picco di ciascuna coda trasmissiva, garantisce tutavia un miglior sfruttamento della banda ed una minor occupazione di logica. Another example of such structures can be seen in fig.19 relating to a fourth embodiment variant of the present invention in which the SHAPER-Q and SCHEDULER-Q blocks have been removed. In this case, the queue indicator Q-ID extracted from the WFQ-Q block is not inserted in the calendar but passed directly to the buffer manager BM, which must request the reading of an ATM cell stored in the BUF-CEL buffer (fig. 12) and, if necessary, transfer the Q-ID indicator back to the WFQ-Q functionality. The solution indicated in fig 19, which does not allow to control the peak band of each transmission queue, nevertheless guarantees a better use of the band and less use of logic.

Un ulteriore esempio di struttura con funzionalità ridotta è visibile in fig.20, relativamente ad una quinta variante realizzativa della presente invenzione in cui è stato rimosso il blocco WFQ-B. In tal caso il blocco BM trasferisce gli indicatori B-ID direttamente al blocco SHAPER-B che, svolta la sua funzione, lo inserisce nel calendario scandito dal blocco SCHEDULER-B. Questa scelta è funzionalmente equivalente al modo di operare secondo l’arte nota, in quanto assegna ai blocchi una banda costante e riserva l’applicazione della funzionalità di WFQ alle sole code trasmissive. A further example of a structure with reduced functionality is visible in fig. 20, relating to a fifth embodiment variant of the present invention in which the WFQ-B block has been removed. In this case the BM block transfers the B-ID indicators directly to the SHAPER-B block which, having performed its function, inserts it in the calendar scanned by the SCHEDULER-B block. This choice is functionally equivalent to the way of operating according to the known art, as it assigns a constant band to the blocks and reserves the application of the WFQ functionality only to the transmission queues.

Claims (27)

RIVENDICAZIONI 1. Metodo di multiplexing statistico di flussi di celle ATM originati da connessioni aventi classi di servizio di diversa qualità, detti flussi generando code trasmissive di celle (QUj) ripartite entro blocchi funzionali (Bi,...,Bm), e ad almeno alcuni di detti flussi essendo assegnata una banda minima garantita sul flusso multiplato (LINK-OUT) e la possibilità di ripartire una banda residua eventualmente disponibile sullo stesso flusso mediante una funzionalità, detta in seguito di Weighted Fair Queuing, o WFQ, che assegna dinamicamente opportune quantità di gettoni, valutate su base statistica, a delle singole code trasmissive (QUj), che spendono detti gettoni per accedere alla banda residua su! flusso multiplato (LINK-OUT), caratterizzato dal fatto che detta funzionalità di WFQ comprende delle fasi di assegnazione dinamica di opportune quantità di gettoni, valutate su base statistica, anche ai detti blocchi funzionali (Bi,...,Bm), che spendono detti gettoni per consentire alle proprie code trasmissive (QUj) di accedere alla ripartizione della banda residua sul flusso multiplato (LINK-OUT), ripartendo in tal modo tra i detti blocchi funzionali (Bj) la banda residua sul flusso multiplato. CLAIMS 1. Method of statistical multiplexing of ATM cell flows originating from connections having service classes of different quality, said flows generating transmission queues of cells (QUj) divided into functional blocks (Bi, ..., Bm), and to at least some of said flows being assigned a minimum guaranteed band on the multiplexed flow (LINK-OUT) and the possibility of distributing a residual band that may be available on the same flow by means of a function, later called Weighted Fair Queuing, or WFQ, which dynamically assigns appropriate quantities of tokens, evaluated on a statistical basis, to individual transmission queues (QUj), which spend said tokens to access the residual band on! multiplexed flow (LINK-OUT), characterized by the fact that said WFQ functionality includes phases of dynamic assignment of appropriate quantities of tokens, evaluated on a statistical basis, also to said functional blocks (Bi, ..., Bm), which spend said tokens to allow their own transmission queues (QUj) to access the distribution of the residual band on the multiplexed flow (LINK-OUT), thus dividing the residual band on the multiplexed flow between said functional blocks (Bj). 2. Metodo di multiplexing statistico secondo la rivendicazione 1, caratterizzato dal fatto che le fasi di detta funzionalità di WFQ vengono ripetute ciclicamente con periodo di rinnovo del ciclo (TR) multiplo intero del tempo di trasmissione di una cella (Tc) sul detto flusso multiplato (LINK-OUT), ciascun ciclo comprendendo le fasi di: a) assegnare (INIZIALIZZA TK-CNT1,...,m) ad almeno alcune di dette code trasmissive (QU1, .... QUz) un rispettivo numero di gettoni (N^KfQUI), ..., N°TK(QUz)) proporzionale alla banda dei rispettivi detti flussi; b) assegnare (INIZIALIZZA TK-CNT-B) ad almeno alcuni di detti blocchi (B1, .... Bm) un rispettivo numero di gettoni, (N°TK(B1) N°TK(Bm)) proporzionale alla banda cumulativa dei rispettivi flussi componenti; c) ripartire (INIZIALIZZA FIFO WFQ-B) gli indicatori (B-ID) di blocchi che includono code trasmissive in attesa di essere servite entro una lista ad alta priorità (HP-FIFO), una lista a bassa priorità (LP-FIFO), ed una lista a bassissima priorità (VLP-FIFO) appartenenti ad un primo insieme di liste (WFQ-B) gestite su base FIFO; d) ripartire (INIZIALIZZA FIFO WFQ-Q) gli indicatori (Q-ID) di dette code trasmissive che attendono di essere servite entro una lista ad alta priorità (HP-FIFO), una lista a bassa priorità (LP-FIFO), ed una lista a bassissima priorità (VLP-FIFO), singolarmente appartenenti a secondi insiemi di liste (WFQ-Q) gestite su base FIFO, associati ai blocchi funzionali; e) scandire, a cadenza di cella (Tc) e sulla base dei gettoni disponibili, le liste di indicatori (B-ID) di detto primo insieme (SERVI HP-FIFO, SERVI LP-FIFO, SERVI VLP-FIFO) per l'emissione di indicatori (B-ID) che selezionano dei blocchi funzionali (Bj) aventi code da servire; f) scandire, a cadenza di cella (Tc) e sulla base dei gettoni disponibili, le liste appartenenti ai detti secondi insiemi di liste (WFQ-Q) selezionati, per l'emissione di rispettivi indicatori (Q-ID) di code trasmissive (QUj) abilitate a trasmettere una cella sul flusso multiplato (LINK-OUT). 2. Statistical multiplexing method according to claim 1, characterized in that the steps of said WFQ functionality are repeated cyclically with cycle renewal period (TR) which is an integer multiple of the transmission time of a cell (Tc) on said multiplexed flow (LINK-OUT), each cycle including the phases of: a) assign (INITIALIZE TK-CNT1, ..., m) to at least some of said transmission queues (QU1, .... QUz) a respective number of tokens (N ^ KfQUI), ..., N ° TK ( QUz)) proportional to the band of the respective said flows; b) assign (INITIALIZE TK-CNT-B) to at least some of said blocks (B1, .... Bm) a respective number of tokens, (N ° TK (B1) N ° TK (Bm)) proportional to the cumulative band of the respective component flows; c) distribute (INITIALIZE FIFO WFQ-B) the indicators (B-ID) of blocks that include transmission queues waiting to be served within a high priority list (HP-FIFO), a low priority list (LP-FIFO) , and a very low priority list (VLP-FIFO) belonging to a first set of lists (WFQ-B) managed on a FIFO basis; d) distribute (INITIALIZE FIFO WFQ-Q) the indicators (Q-ID) of said transmission queues that are waiting to be served within a high priority list (HP-FIFO), a low priority list (LP-FIFO), and a very low priority list (VLP-FIFO), individually belonging to second sets of lists (WFQ-Q) managed on a FIFO basis, associated with the functional blocks; e) scan, at cell frequency (Tc) and on the basis of the available tokens, the lists of indicators (B-ID) of said first set (SERVI HP-FIFO, SERVI LP-FIFO, SERVI VLP-FIFO) for emission of indicators (B-ID) which select functional blocks (Bj) having queues to be served; f) scanning, at cell rate (Tc) and on the basis of the available tokens, the lists belonging to said second sets of lists (WFQ-Q) selected, for the emission of respective indicators (Q-ID) of transmission queues ( QUj) enabled to transmit a cell on the multiplexed stream (LINK-OUT). 3. Metodo di multiplexing statistico secondo la rivendicazione 2, caratterizzato dal fatto che la detta fase di scandire e) comprende le fasi di; - leggere (LEGGI HP-FIFO) un indicatore (B-ID) da una lista ad alta priorità (HP-FIFO) e servire (SERVI HP-FIFO) il blocco indicato, terminando la scansione (È HP-FIFO VUOTA) con lo svuotamento di detta lista ad alta priorità; - leggere (LEGGI LP-FIFO) un indicatore (B-ID) da una lista a bassa priorità (LP-FIFO) e servire (SERVI LP-FIFO) il blocco indicato, decrementando, nel caso, i gettoni a disposizione e trasferendo l'indicatore (B-ID) del bloccò che ha esaurito i propri gettoni all'interno di una lista a bassissima priorità (VLP-FIFO), terminando la scansione (È LP-FIFO VUOTA) con lo svuotamento di detta lista a bassa priorità, o con la fine del periodo di rinnovo (TR); - leggere (LEGGI VLP-FIFO) un indicatore (B-ID) da una lista a bassissima priorità (VLP-FIFO) e servire (SERVI VLP-FIFO) il blocco indicato, terminando la scansione (È VLP-FIFO VUOTA) con lo svuotamento di detta lista a bassissima priorità, o con la fine del periodo di rinnovo (TR). 3. Statistical multiplexing method according to claim 2, characterized in that said step of scanning e) comprises the steps of; - read (READ HP-FIFO) an indicator (B-ID) from a high priority list (HP-FIFO) and serve (SERVI HP-FIFO) the indicated block, ending the scan (IS HP-FIFO EMPTY) with the emptying of said high priority list; - read (READ LP-FIFO) an indicator (B-ID) from a low priority list (LP-FIFO) and serve (SERVI LP-FIFO) the indicated block, decreasing, if necessary, the available tokens and transferring the 'indicator (B-ID) of the block that has exhausted its tokens within a very low priority list (VLP-FIFO), ending the scan (IS LP-FIFO EMPTY) with the emptying of said low priority list, o with the end of the renewal period (TR); - read (READ VLP-FIFO) an indicator (B-ID) from a very low priority list (VLP-FIFO) and serve (SERVI VLP-FIFO) the indicated block, ending the scan (IS VLP-FIFO EMPTY) with the emptying of said very low priority list, or with the end of the renewal period (TR). 4. Metodo di multiplexing statistico secondo la rivendicazione 3, caratterizzato dal fatto che ciascuna detta fase di servire (SERVI HP-FIFO, SERVI LP-FIFO, SERVI VLP-FIFO) i blocchi indicati nelle dette liste aventi differenti priorità, inoltre comprende la fase di reinserire un detto indicatore di blocco (B-ID) nella lista di provenienza in caso di presenza di almeno una cella ancora da trasmettere in almeno una coda (QUj) assegnata al blocco selezionato. 4. Method of statistical multiplexing according to claim 3, characterized in that each said phase of serving (SERVI HP-FIFO, SERVI LP-FIFO, SERVI VLP-FIFO) the blocks indicated in said lists having different priorities, furthermore comprises the phase re-inserting said block indicator (B-ID) in the source list in the event of the presence of at least one cell still to be transmitted in at least one queue (QUj) assigned to the selected block. 5. Metodo di multiplexing statistico secondo una delle rivendicazioni precedenti, caratterizzato dal fatto che le dette connessioni aventi classi di servizio di diversa qualità ne comprendono alcune per cui è garantita la cell-rate di picco, e che comportano quindi flussi i quali non hanno l’opportunità di fruire di detta ulteriore banda eventualmente disponibile sul flusso multiplato (LINK-OUT), detti flussi alla cell-rate di picco generando code trasmissive allocate in un unico blocco che vengono servite prioritariamente fino allo svuotamento dello stesso. 5. Statistical multiplexing method according to one of the preceding claims, characterized in that said connections having service classes of different quality include some for which the peak cell-rate is guaranteed, and which therefore involve flows which do not have the opportunity to make use of said further band possibly available on the multiplexed flow (LINK-OUT), said flows at the peak cell-rate generating transmission queues allocated in a single block which are served as a priority until it is emptied. 6. Metodo di multiplexing statistico secondo una delle precedenti rivendicazioni, dove alcune di dette connessioni sono sostenute da flussi di celle ATM che necessitano di un controllo della banda di picco tale da non permettere il superamento di un certo valore massimo di banda entro il detto flusso multiplato (LINK-OUT), caratterizzato dal fatto di ricorrere ad una prima temporizzazione che dilata gli intervalli di emissione di almeno alcuni detti indicatori (B-ID) dei blocchi funzionali (Bj) per limitare la banda di picco cumulativa del gruppo di connessioni appartenenti ai blocchi selezionati. 6. Method of statistical multiplexing according to one of the preceding claims, where some of said connections are supported by flows of ATM cells which require a control of the peak band such as not to allow a certain maximum bandwidth value to be exceeded within said flow multiplexed (LINK-OUT), characterized by the fact of resorting to a first timing that expands the emission intervals of at least some said indicators (B-ID) of the functional blocks (Bj) to limit the cumulative peak band of the group of connections to the selected blocks. 7. Metodo di multiplexing statistico secondo la rivendicazione 6, caratterizzato dal fatto che detta prima temporizzazione è ottenuta calcolando ad ogni tempo cella (Tc) una locazione d'inserzione (N-SLOT-B) in un primo calendario di un indicatore (B-ID) di un blocco selezionato, il primo calendario essendo letto con ia stessa cadenza di scrittura per estrarre un indicatore del blocco (Bj) che verrà effettivamente selezionato al tempo cella attuale (TNOW). 7. Statistical multiplexing method according to claim 6, characterized in that said first timing is obtained by calculating at each cell time (Tc) an insertion location (N-SLOT-B) in a first calendar of an indicator (B- ID) of a selected block, the first calendar being read with the same writing rate to extract an indicator of the block (Bj) which will actually be selected at the current cell time (TNOW). 8. Metodo di multiplexing statistico secondo la rivendicazione 6, o 7, caratterizzato dal fatto di ricorrere ad una seconda temporizzazione che dilata gli intervalli di emissione di almeno alcuni detti indicatori (Q-ID) di coda trasmissiva per limitare la banda di picco delle code servite. 8. Method of statistical multiplexing according to claim 6, or 7, characterized by the fact of resorting to a second timing which dilates the emission intervals of at least some of said transmission queue indicators (Q-ID) to limit the peak band of the queues served. 9. Metodo di multiplexing statistico secondo la rivendicazione 8, caratterizzato dal fatto che detta seconda temporizzazione è ottenuta calcolando ad ogni tempo cella (Tc) una locazione d'inserzione (N-SLOT-Q) in un secondo calendario di un detto indicatore di coda da servire (Q-ID), il secondo calendario essendo letto con la stessa cadenza di scrittura per estrarre un indicatore della coda trasmissiva (QUj) che verrà effettivamente servita al tempo cella attuale (TNOW). .9. Statistical multiplexing method according to claim 8, characterized in that said second timing is obtained by calculating at each cell time (Tc) an insertion location (N-SLOT-Q) in a second calendar of said queue indicator to be served (Q-ID), the second calendar being read with the same writing rate to extract an indicator of the transmission queue (QUj) that will actually be served at the current cell time (TNOW). . 10. Metodo di multiplexing statistico secondo la rivendicazione 7, caratterizzato dal fatto che detta inserzione in un primo calendario di un indicatore di blocco (B-ID) è svolta in parallelo a detta estrazione. 10. Statistical multiplexing method according to claim 7, characterized in that said insertion in a first calendar of a block indicator (B-ID) is carried out in parallel with said extraction. 11. Metodo di multiplexing statistico secondo la rivendicazione 9, o 10, caratterizzato dal fatto che detta inserzione in un secondo calendario di un indicatore di coda trasmissiva (Q-ID) è svolta in parallelo a detta estrazione. Method of statistical multiplexing according to claim 9 or 10, characterized in that said insertion in a second calendar of a transmission queue indicator (Q-ID) is carried out in parallel with said extraction. 12. Metodo di multiplexing statistico secondo una delle rivendicazioni da 7 a 11, caratterizzato dal fatto che detti indicatori (B-ID, Q-ID) estratti da una comune locazione (N-SLOT-B, N-SLOT-Q) di un rispettivo calendario, sono estratti secondo la metodologia FIFO. 12. Statistical multiplexing method according to one of claims 7 to 11, characterized in that said indicators (B-ID, Q-ID) extracted from a common location (N-SLOT-B, N-SLOT-Q) of a respective calendar, are extracted according to the FIFO methodology. 13. Multiplexer statistico di flussi di celle ATM originati da connessioni aventi classi di servizio di diversa qualità, detti flussi generando code trasmissive di celle (QUj) ripartite entro blocchi funzionali selezionati per il servizio, e ad almeno alcuni di detti flussi essendo assegnata una banda minima garantita sul flusso multiplato (LINK-OUT), e la possibilità di ripartire una banda residua eventualmente disponibile sullo stesso flusso, comprendente: a) un buffer di memorizzazione di dette code trasmissive (QUj) di celle ATM: b) mezzi che controllano l’accesso al buffer per l'inserimento o l’estrazione di dette celle; c) mezzi di conteggio del numero di celle comprese in ciascuna detta coda trasmissiva; d) mezzi di esecuzione di una tecnica nota, detta in seguito di Weighted Fair Queuing, o WFQ, che assegnano dinamicamente opportune quantità di gettoni, valutate su base statistica, a delle singole code trasmissive (QUj), che spendono detti gettoni per accedere alla banda residua sul flusso multiplato (LINK-OUT), caratterizzato dal fatto che detti mezzi di esecuzione della tecnica WFQ sono modificati (WFQ-CONTR, WFQ-B, WFQ-Q) in modo da assegnare dinamicamente opportune quantità di gettoni, valutate su base statistica, anche ai detti blocchi funzionali (Bi . Bm), che spendono detti gettoni per consentire alle proprie code trasmissive (QUj) di accedere alla ripartizione della banda residua sul flusso multiplato (LINK-OUT), ripartendo in tal modo tra i detti blocchi funzionali (Bj) la banda residua sul flusso multiplato. 13. Statistical multiplexer of ATM cell flows originating from connections having service classes of different quality, said flows generating cell transmission queues (QUj) divided into functional blocks selected for the service, and at least some of said flows being assigned a band guaranteed minimum on the multiplexed flow (LINK-OUT), and the possibility of distributing a residual band that may be available on the same flow, including: a) a buffer for storing said transmission queues (QUj) of ATM cells: b) means that control access to the buffer for the insertion or extraction of said cells; c) means for counting the number of cells included in each said transmission queue; d) means for carrying out a known technique, hereinafter called Weighted Fair Queuing, or WFQ, which dynamically assigns appropriate quantities of tokens, evaluated on a statistical basis, to individual transmission queues (QUj), which spend said tokens to access the residual band on the multiplexed flow (LINK-OUT), characterized by the fact that said means of execution of the WFQ technique are modified (WFQ-CONTR, WFQ-B, WFQ-Q) so as to dynamically assign appropriate quantities of tokens, evaluated on a statistics, also to said functional blocks (Bi. Bm), which spend said tokens to allow their own transmission queues (QUj) to access the distribution of the residual band on the multiplexed stream (LINK-OUT), thus dividing between said blocks functional (Bj) the residual band on the multiplexed stream. 14. Multiplexer statistico secondo la rivendicazione 13, caratterizzato dal fatto che detti mezzi modificati di esecuzione della tecnica WFQ (WFQ-CONTR, WFQ-B, WFQ-Q) comprendono: a) una prima struttura di memorizzazione (TK-CNT1,...,TK-CNTm) a disposizione di ciascuna coda trasmissiva (QUj) per memorizzare un rispettivo numero di gettoni (N°TK(QU1) . N°TK(QUz)) proporzionale alla banda dei rispettivi detti flussi, detta prima struttura di memorizzazione (TK-CNT1,...,TK-CNTm) essendo utilizzabile come insieme di contatori; b) una seconda struttura di memorizzazione (TK-CNT-B) a disposizione di ciascuno di detti blocchi funzionali (B1, ..., Bm) per memorizzare un rispettivo numero di detti gettoni (N°TK(B1),...,N°TK(Bm)) proporzionale alla banda cumulativa dei rispettivi flussi componenti, detta seconda struttura di memorizzazione (TK-CNT-B) essendo utilizzabile come insieme di contatori; c) un primo insieme di memorie FIFO aventi differenti priorità di servizio (WFQ-B), utilizzabili per la memorizzazione di indicatori (B-ID) dei blocchi funzionali (Bi,...,Bm); d) secondi insiemi di memorie FIFO aventi differenti priorità di servizio (WFQ-Q), singolarmente utilizzabili per la memorizzazione di indicatori (Q-ID) delle code trasmissive (QUj) che appartengono ad un rispettivo detto blocco funzionale (Bj); e) una unità di controllo (WFQ-CONTR) connessa alla prima (TK-CNT1,...,TK-CNTm) e seconda (TK-CNT-B) struttura di memorizzazione riservate ai gettoni, al detto primo (WFQ-B) e secondi insiemi di memorie FIFO (WFQ-Q) riservate agli indicatori, detta unità di controllo (WFQ-CONTR) essendo governata da un programma che assegna le rispettive dette quantità di gettoni e ne regola il consumo. 14. Statistical multiplexer according to claim 13, characterized in that said modified means for carrying out the WFQ technique (WFQ-CONTR, WFQ-B, WFQ-Q) comprise: a) a first storage structure (TK-CNT1, ..., TK-CNTm) available to each transmission queue (QUj) to store a respective number of tokens (N ° TK (QU1). N ° TK (QUz) ) proportional to the bandwidth of the respective said flows, said first storage structure (TK-CNT1, ..., TK-CNTm) being usable as a set of counters; b) a second storage structure (TK-CNT-B) available to each of said functional blocks (B1, ..., Bm) to store a respective number of said tokens (N ° TK (B1), ... , N ° TK (Bm)) proportional to the cumulative band of the respective component flows, said second storage structure (TK-CNT-B) being usable as a set of counters; c) a first set of FIFO memories having different service priorities (WFQ-B), usable for storing indicators (B-ID) of the functional blocks (Bi, ..., Bm); d) second sets of FIFO memories having different service priorities (WFQ-Q), individually usable for storing indicators (Q-ID) of the transmission queues (QUj) belonging to a respective said functional block (Bj); e) a control unit (WFQ-CONTR) connected to the first (TK-CNT1, ..., TK-CNTm) and second (TK-CNT-B) storage structure reserved for tokens, to said first (WFQ-B ) and second sets of FIFO memories (WFQ-Q) reserved for the indicators, said control unit (WFQ-CONTR) being governed by a program that assigns the respective said quantities of tokens and regulates their consumption. 15. Multiplexer statistico secondo la rivendicazione 14, caratterizzato dal latto che detto primo insieme di memorie FIFO (WFQ-B) e ciascun secondo insieme di memorie FIFO (WFQ-Q) aventi differenti priorità di servizio, singolarmente comprendono una memoria FIFO ad alta priorità (HP-FIFO), una memoria FIFO a bassa priorità (LP-FIFO), ed una memoria FIFO a bassissima priorità (VLP-FIFO). 15. Statistical multiplexer according to claim 14, characterized in that said first set of FIFO memories (WFQ-B) and each second set of FIFO memories (WFQ-Q) having different service priorities, individually comprise a high priority FIFO memory (HP-FIFO), a low priority FIFO memory (LP-FIFO), and a very low priority FIFO memory (VLP-FIFO). 16. Multiplexer statistico secondo una delle rivendicazioni da 13 a 15, caratterizzato dal fatto che detti mezzi modificati di esecuzione della tecnica WFQ {WFQ-CONTR, WFQ-B, WFQ-Q) ulteriormente comprendono un contatore del tempo reale che viene inizializzato da detta unità di controllo (WFQ-CONTR) con un valore prefissato, decrementato ad ogni tempo-cella (Tc), e quindi reinizializzato dopo ogni azzeramento, ripetendo ciclicamente le fasi anzidette; il contatore del tempo reale essendo utilizzato dall’unità di controllo (WFQ-CONTR) per rinnovare, ad ogni inizializzazione del suddetto contatore, la scrittura del numero iniziale di detti gettoni riservati ai blocchi funzionali (Bi,...,Bm) ed alle code trasmissive (QUj), rispettivamente entro la prima (TK-CNT1,...,TK-CNTm) e seconda (TK-CNTB) struttura di memorizzazione e conteggio. 16. Statistical multiplexer according to one of claims 13 to 15, characterized in that said modified means of carrying out the WFQ technique (WFQ-CONTR, WFQ-B, WFQ-Q) further comprise a real-time counter which is initialized by said control unit (WFQ-CONTR) with a predetermined value, decreased at each cell-time (Tc), and then reinitialized after each reset, by cyclically repeating the aforementioned steps; the real time counter being used by the control unit (WFQ-CONTR) to renew, at each initialization of the aforementioned counter, the writing of the initial number of said tokens reserved for the functional blocks (Bi, ..., Bm) and for the transmission queues (QUj), respectively within the first (TK-CNT1, ..., TK-CNTm) and second (TK-CNTB) storage and counting structure. 17. Multiplexer statistico secondo la rivendicazione 16, caratterizzato dal fatto che ad ogni inizializzazione del detto contatore del tempo reale la detta unità di controllo (WFQ-CONTR) rinnova il contenuto di dette memorie FIFO ad alta (HP-FIFO), bassa (LP-FIFO), e bassissima (VLP-FIFO) priorità appartenenti a detto primo (WFQ-B) e secondi insiemi (WFQ-Q) di memorie FIFO. 17. Statistical multiplexer according to claim 16, characterized in that at each initialization of said real time counter the said control unit (WFQ-CONTR) renews the content of said high (HP-FIFO), low (LP -FIFO), and very low (VLP-FIFO) priorities belonging to said first (WFQ-B) and second sets (WFQ-Q) of FIFO memories. 18. Multiplexer statistico secondo la rivendicazione 17, caratterizzato dal fatto che durante ciascun detto periodo di rinnovo (Tr) la detta unità . di controllo (WFQ-CONTR) scandisce, con cadenza di cella (Tc) e sulla base dei gettoni disponibili, il detto primo insieme di memorie FIFO (WFQ-B) per l’emissione di un indicatore (B-ID) per la selezione di un blocco funzionale (Bj) avente almeno una coda da servire. 18. Statistical multiplexer according to claim 17, characterized in that during each said renewal period (Tr) the said unit. control (WFQ-CONTR) scans, with cell frequency (Tc) and on the basis of the available tokens, the said first set of FIFO memories (WFQ-B) for the emission of an indicator (B-ID) for the selection of a functional block (Bj) having at least one queue to be served. 19. Multiplexer statistico secondo la rivendicazione 18, caratterizzato dal fatto che durante ciascun detto periodo di rinnovo (Tr) la detta unità di controllo (WFQ-CONTR) scandisce, con cadenza di cefla (Tc) e sulla base dei gettoni disponibili, un detto secondo insieme di memorie FIFO (WFQ-Q) associato ad un blocco funzionale (Bj) selezionato, per l'emissione di un indicatore (Q-ID) di una coda trasmissiva (QUj) abilitata a trasmettere una cella sul flusso multiplato (LINK-OUT). 19. Statistical multiplexer according to claim 18, characterized by the fact that during each said renewal period (Tr) the said control unit (WFQ-CONTR) scans, at a rate of clock (Tc) and on the basis of the available tokens, a said second set of FIFO memories (WFQ-Q) associated with a selected functional block (Bj), for the emission of an indicator (Q-ID) of a transmission queue (QUj) enabled to transmit a cell on the multiplexed flow (LINK- OUT). 20. Multiplexer statistico secondo una delle rivendicazioni da 13 a 19, dove dette connessioni aventi classi di servizio di diversa qualità ne comprendono alcune per cui è garantita la cell-rate di picco, e che comportano quindi flussi i quali non hanno la possibilità di fruire di detta ulteriore banda eventualmente disponibile sul detto flusso multiplato (LINK-OUT), detti flussi alla rate di picco generando code trasmissive allocate in un unico blocco, caratterizzato dal fatto che detta unità di controllo (WFQ-CONTR) è ulteriormente connessa ad un dispositivo (RT-FLAG) indicatore dello stato di riempimento di detto unico blocco in modo tale per cui le code trasmissive di detto unico blocco vengono prioritariamente servite fino a quando detto dispositivo indicatore (RT-FLAG) è attivo. 20. Statistical multiplexer according to one of claims 13 to 19, where said connections having service classes of different quality include some for which the peak cell-rate is guaranteed, and which therefore involve flows which cannot be used of said further band possibly available on said multiplexed flow (LINK-OUT), said flows at the peak rate generating transmission queues allocated in a single block, characterized by the fact that said control unit (WFQ-CONTR) is further connected to a device (RT-FLAG) indicator of the filling status of said single block in such a way that the transmission queues of said single block are primarily served as long as said indicator device (RT-FLAG) is active. 21. Multiplexer statistico secondo una delle rivendicazioni da 13 a 20, dove alcune di dette connessioni sono sostenute da flussi di celle ATM che necessitano di un controllo della banda di picco tale da non permettere il superamento di un certo valore massimo di banda entro il detto flusso multiplato (LINK-OUT), caratterizzato dal fatto di comprendere primi mezzi di temporizzazione (SHAPER-B, SCHEDULER-B) che dilatano gli intervalli di emissione di almeno alcuni detti indicatori (B-ID) dei blocchi funzionali (Bj) per limitare la banda di picco cumulativa del gruppo di connessioni appartenenti ai blocchi selezionati. 21. Statistical multiplexer according to one of claims 13 to 20, where some of said connections are supported by flows of ATM cells which require a control of the peak band such as not to allow a certain maximum band value to be exceeded within said multiplexed flow (LINK-OUT), characterized in that it comprises first timing means (SHAPER-B, SCHEDULER-B) which dilate the emission intervals of at least some said indicators (B-ID) of the functional blocks (Bj) to limit the cumulative peak band of the group of connections belonging to the selected blocks. 22. Multiplexer statistico secondo la rivendicazione 21, caratterizzato dal fatto che detti primi mezzi di temporizzazione (SHAPER-B, SCHEDULER-B) comprendono un primo sagomatore di traffico (SHAPER-B) posto a monte di un primo schedulatore con meccanismo a calendario (SCHEDULER-B), detto primo sagomatore (SHAPER-B) calcolando ad ogni tempo cella (Tc) una locazione d'inserzione (N-SLOT-B) nel primo calendario di un indicatore (B-ID) di un blocco selezionato e scrivendo l’indicatore (B-ID) nel primo calendario alla locazione calcolata, e detto primo schedulatore (SCHEDULER-B) leggendo il primo calendario con la stessa cadenza di scrittura per estrarre un indicatore (B-ID) dei blocco (Bj) che verrà effettivamente servito al tempo cella attuale (TNOW). 22. Statistical multiplexer according to claim 21, characterized in that said first timing means (SHAPER-B, SCHEDULER-B) comprise a first traffic shaper (SHAPER-B) placed upstream of a first scheduler with calendar mechanism ( SCHEDULER-B), called first shaper (SHAPER-B) calculating at each cell time (Tc) an insertion location (N-SLOT-B) in the first calendar of an indicator (B-ID) of a selected block and writing the indicator (B-ID) in the first calendar at the calculated location, and said first scheduler (SCHEDULER-B) reading the first calendar with the same writing frequency to extract an indicator (B-ID) of the blocks (Bj) that will be actually served at the current cell time (TNOW). 23. Multiplexer statistico secondo la rivendicazione 21, o 22, caratterizzato dal fatto che inoltre comprende secondi mezzi di temporizzazione (SHAPER-Q, SCHEDULER-Q) che dilatano gli intervalli di emissione di almeno alcuni detti indicatori (Q-ID) delle code trasmissive (QUj) per limitare la banda di picco delle code servite. 23. Statistical multiplexer according to claim 21, or 22, characterized in that it also comprises second timing means (SHAPER-Q, SCHEDULER-Q) which dilate the emission intervals of at least some of said indicators (Q-ID) of the transmission queues (QUj) to limit the peak band of the queues served. 24. Multiplexer statistico secondo la rivendicazione 23, caratterizzato dal fatto che detti secondi mezzi di temporizzazione (SHAPER-Q, SCHEDULER-Q) comprendono un secondo sagomatore di traffico (SHAPER-Q) posto a monte di un secondo schedulatore con meccanismo a calendario (SCHEDULER-Q), detto secondo sagomatore (SHAPER-Q) calcolando ad ogni tempo cella (Tc) una locazione d’inserzione (N-SLOT-Q) nel secondo calendario di un indicatore (Q-ID) di coda trasmissiva da servire e scrivendo l'indicatore (Q-ID) nel secondo calendario alla locazione calcolata, e detto secondo schedulatore (SCHEDULER-Q). leggendo il secondo calendario con la stessa cadenza di scrittura per estrarre un indicatore (Q-ID) della coda trasmissiva (QUj) che verrà effettivamente servita al tempo cella attuale (TNOW). 24. Statistical multiplexer according to claim 23, characterized in that said second timing means (SHAPER-Q, SCHEDULER-Q) comprise a second traffic shaper (SHAPER-Q) placed upstream of a second scheduler with calendar mechanism ( SCHEDULER-Q), called second shaper (SHAPER-Q) calculating at each cell time (Tc) an insertion location (N-SLOT-Q) in the second calendar of a transmission queue indicator (Q-ID) to be served and writing the indicator (Q-ID) in the second calendar at the calculated location, and called the second scheduler (SCHEDULER-Q). reading the second calendar with the same writing frequency to extract an indicator (Q-ID) of the transmission queue (QUj) that will be effectively served at the current cell time (TNOW). 25. Multiplexer statistico secondo la rivendicazione 22, caratterizzato dal fatto che detto primo sagomatore (SHAPER-B) opera in parallelo al detto primo scheduiatore (SCHEDULER-B). 25. Statistical multiplexer according to claim 22, characterized in that said first shaper (SHAPER-B) operates in parallel to said first scheduler (SCHEDULER-B). 26. Multiplexer statistico secondo la rivendicazione 24, o 25, caratterizzato dal fatto che detto secondo sagomatore (SHAPER-Q) opera in parallelo al detto secondo scheduiatore (SCHEDULER-Q). 26. Statistical multiplexer according to claim 24, or 25, characterized in that said second shaper (SHAPER-Q) operates in parallel to said second scheduler (SCHEDULER-Q). 27. Multiplexer statistico secondo una delle rivendicazioni da 22 a 26, caratterizzato dal fatto che detti indicatori (B-ID, Q-ID) estratti da una comune locazione (N-SLOT-B, N-SLOT-Q) di un rispettivo calendario, sono estratti secondo la metodologia FIFO. 27. Statistical multiplexer according to one of claims 22 to 26, characterized in that said indicators (B-ID, Q-ID) extracted from a common location (N-SLOT-B, N-SLOT-Q) of a respective calendar , are extracted according to the FIFO methodology.
ITMI982555 1998-11-25 1998-11-25 METHOD AND DEVICE FOR STATISTICAL MULTIPLEXING IN WEIGHTED FAIR QUEUING (WFQ) TECHNIQUE OF FLOWS THAT CONVEY ATM TRAFFIC IT1303870B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
ITMI982555 IT1303870B1 (en) 1998-11-25 1998-11-25 METHOD AND DEVICE FOR STATISTICAL MULTIPLEXING IN WEIGHTED FAIR QUEUING (WFQ) TECHNIQUE OF FLOWS THAT CONVEY ATM TRAFFIC
JP2000584718A JP2002531034A (en) 1998-11-25 1999-11-23 Method and apparatus for WFQ statistical multiplexing of ATM flows
PCT/IT1999/000380 WO2000032008A1 (en) 1998-11-25 1999-11-23 Method and device for the wfq statistical multiplexing of atm flows
EP99959662A EP1133890A1 (en) 1998-11-25 1999-11-23 Method and device for the wfq statistical multiplexing of atm flows
NO20012533A NO20012533L (en) 1998-11-25 2001-05-23 Method and apparatus for WFQ statistical multiplexing of ATM streams

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ITMI982555 IT1303870B1 (en) 1998-11-25 1998-11-25 METHOD AND DEVICE FOR STATISTICAL MULTIPLEXING IN WEIGHTED FAIR QUEUING (WFQ) TECHNIQUE OF FLOWS THAT CONVEY ATM TRAFFIC

Publications (2)

Publication Number Publication Date
ITMI982555A1 true ITMI982555A1 (en) 2000-05-25
IT1303870B1 IT1303870B1 (en) 2001-03-01

Family

ID=11381133

Family Applications (1)

Application Number Title Priority Date Filing Date
ITMI982555 IT1303870B1 (en) 1998-11-25 1998-11-25 METHOD AND DEVICE FOR STATISTICAL MULTIPLEXING IN WEIGHTED FAIR QUEUING (WFQ) TECHNIQUE OF FLOWS THAT CONVEY ATM TRAFFIC

Country Status (5)

Country Link
EP (1) EP1133890A1 (en)
JP (1) JP2002531034A (en)
IT (1) IT1303870B1 (en)
NO (1) NO20012533L (en)
WO (1) WO2000032008A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728212B1 (en) 2000-06-23 2004-04-27 Alcatel Asymmetric void filling scheduler with bandwidth grabbing
WO2003009634A1 (en) * 2001-07-18 2003-01-30 Alcatel Usa Sourcing, L.P. Asymmetric void filling scheduler with bandwidth grabbing
EP3799374A1 (en) * 2019-09-26 2021-03-31 Mitsubishi Electric R&D Centre Europe B.V. Method for transmitting data packets and apparatus for implementing the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0843499A3 (en) * 1996-11-19 1999-01-20 Italtel s.p.a. Method and device for the management of resources in ATM technique for weighted fair queuing (WFQ) applications

Also Published As

Publication number Publication date
WO2000032008A1 (en) 2000-06-02
EP1133890A1 (en) 2001-09-19
IT1303870B1 (en) 2001-03-01
JP2002531034A (en) 2002-09-17
NO20012533L (en) 2001-07-19
NO20012533D0 (en) 2001-05-23

Similar Documents

Publication Publication Date Title
US7061862B2 (en) Inter-network relay system and method
US5555256A (en) Channel identifier generation
EP0471344B1 (en) Traffic shaping method and circuit
JP4283375B2 (en) Method for allocating upstream time slots to network terminals, and network terminal and medium access control apparatus for executing such methods
EP0872089B1 (en) Scheduler for an information packet switch
US5867663A (en) Method and system for controlling network service parameters in a cell based communications network
US5748615A (en) Method and circuit arrangement for forwarding message cells transmitted via an ATM communication equipment to a serving trunk
JPH022767A (en) Packet exchanger
US5999533A (en) ATM cell transmit priority allocator
JP2682494B2 (en) Multi-access communication system
US6768717B1 (en) Apparatus and method for traffic shaping in a network switch
JPH09507738A (en) Method and apparatus for prioritizing traffic in an ATM network
JPH0514410A (en) Traffic control method
CA2262202C (en) Switch with flexible link list manager for handling atm and stm traffic
EP0843499A2 (en) Method and device for the management of resources in ATM technique for weighted fair queuing (WFQ) applications
JP3561870B2 (en) Packet buffer device
JPH10178451A (en) Hybrid exchange, exchange, and method for re-assignment of stm data in the exchanges.
US5708660A (en) Circuit arrangement for accepting and forwarding message cells with an ATM communication equipment
EP1031253B1 (en) Buffer management method
ITMI982555A1 (en) METHOD OF DEVICE FOR STATISTICAL MULTIPLEXING IN TECHNIQUEWEIGHTED FAIR QUEUING (WFQ) OF FLOWS THAT CONVEY ATM TRAFFIC
US6680908B1 (en) Network switch including bandwidth allocation controller
US20040184460A1 (en) System and method for providing quality of service in asynchronous transfer mode cell transmission
JP2003124953A (en) Ring type network system
JP3416156B2 (en) Method and circuit arrangement for transmitting information cells via virtual connections of different priorities
JP2001285362A (en) Method and apparatus for dynamic bit map generator scheduler