US6396807B1 - Method for the control of flows of digital information - Google Patents

Method for the control of flows of digital information Download PDF

Info

Publication number
US6396807B1
US6396807B1 US09/193,872 US19387298A US6396807B1 US 6396807 B1 US6396807 B1 US 6396807B1 US 19387298 A US19387298 A US 19387298A US 6396807 B1 US6396807 B1 US 6396807B1
Authority
US
United States
Prior art keywords
destination
source
cells
flow
transmitted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US09/193,872
Inventor
Yves Peligry
David Mouen Makoua
Pierre Dumas
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xylon LLC
Hanger Solutions LLC
Original Assignee
Thomson CSF SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson CSF SA filed Critical Thomson CSF SA
Assigned to THOMSON-CSF reassignment THOMSON-CSF ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DUMAS, PIERRE, MAKOUA, DAVID MOUEN, PELIGRY, YVES
Application granted granted Critical
Publication of US6396807B1 publication Critical patent/US6396807B1/en
Assigned to REMOTE ACCESS, LLC reassignment REMOTE ACCESS, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: THALES SA
Assigned to THALES reassignment THALES CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: THOMSON-CSF
Assigned to XYLON LLC reassignment XYLON LLC MERGER (SEE DOCUMENT FOR DETAILS). Assignors: REMOTE ACCESS, LLC
Anticipated expiration legal-status Critical
Assigned to HANGER SOLUTIONS, LLC reassignment HANGER SOLUTIONS, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: INTELLECTUAL VENTURES ASSETS 161 LLC
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L12/5602Bandwidth control in ATM Networks, e.g. leaky bucket
    • 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

Definitions

  • the present invention relates to a method for the control of flows of digital information between sources and destinations connected by intermediate switching entities organized in networks.
  • Switches are often based on the use of intermediate switching entities, internal switching modules, organized in networks between input modules and output modules.
  • the digital information is transmitted in cellular form.
  • the cells are arranged in queues depending on their destination. If necessary, these queues may be subdivided to take account of priority of transit within the network.
  • This type of priority may be called internal priority. It determines the priority within the switch.
  • a second type of priority can be identified. It is called external priority.
  • External priority gives output priority to the physical port of an output module.
  • the term ‘port’ designates an output.
  • the term ‘port’ designates the association between a physical port of an output module and an external priority
  • priority’ designates the internal priority within the network.
  • connections set up between an input module and a port The digital information that is switched by a switch is conveyed by connections set up between an input module and a port.
  • connections set up between an input module and a port Various types of connections exist and have been defined by the ATM Forum. They correspond to the different services that may be offered by a switch.
  • a first type of connection called a real-time connection generates traffic with known parameters; This traffic corresponds in particular to CBR (Constant Bit Rate) and VBRrt (Variable Bit Rate real time) services. Switching resources internal to the switch are reserved a priori as a function of the parameters of the traffic.
  • the connections of this type are routed internally in the network in such a way that the switch renders the service that it undertook to perform when the connection was made. These connections do not raise any problems of congestion.
  • a second type of connection called a non-real time connection brings together connections corresponding especially to the ABR (Available Bit Rate), VBRnrt (Variable Bit Rate non-real time), UBR (Unspecified Bit Rate) and ABT (ATM Block Transfer) services.
  • the corresponding connections are capable of generating sporadic traffic.
  • a process of internal routing is not sufficient to resolve the problem of arrivals in blocks of cells which may generate phenomena of congestion in an internal switching module and/or at a port. In this case, a control of flows is implemented.
  • Methods of flow control by leaps are carried out between entities, generally by an exchange of credit as defined by the QFC alliance (the Quantum Flow Control which is an alliance of industrialists interested in flow control mechanisms).
  • Flow control by leaps can also be done by a slotting system as defined in the UIT Recommendation X.25.
  • These controls which are designed for networks generally external to switches, may be adapted to the control of flows in a switch.
  • the low complexity and low memory capacity of the internal switching modules dictated by constraints of cost of the switch, limit their role and enable them to achieve only a rudimentary flow control.
  • the end-to-end flow controls without participation of the intermediate switching entities and without control over these entities correspond to annex propositions covered by the term ‘tunneling’ and set up by the ATM Forum or the QFC alliance.
  • the control provides information only to the source, an input module, on a state of congestion of the destination, which is an output module. The control does not resolve the problem of congestion of the intermediate switching entities.
  • End-to-end flow controls with participation of intermediate switching entities and with control over these entities have the drawback of obtaining participation by the intermediate switching entities. They are thus incompatible with the constraints of low complexity and low memory capacity imposed on the internal switching modules that constitute the intermediate switching entities.
  • a flow control of this kind is implemented by the ABR services defined by the ATM Forum.
  • the invention proposes to resolve the problems of congestion both at the destination such as a port and at an intermediate entity such as an internal switching module without requiring the participation of the intermediate switching entities,
  • a problem of congestion may arise through the following situation. Between a specific source and a specific destination, a first flow with a priority k is blocked. Between the same source and the same destination, a second flow with a priority strictly lower than k is permitted.
  • the invention proposes especially to prevent the above situation.
  • an object of the invention is a method for the control of flows of digital information, transmitted in the form of cells, between sources and destinations between which connections are set up implementing intermediate switching entities organized in networks, wherein the sources and the destinations achieve the control of flows without the participation, in the control, of the intermediate switching entities, by computing a state of congestion of the intermediate switching entities and computing a state of congestion of the destinations to control a number of cells that may be transmitted by a source to a destination.
  • An advantage of the method is that it achieves a control of flows between the source and the destination without the participation of the intermediate switching entities.
  • the control of flows is based on an exchange of credits of cells between the destination and the source to permit the source to transmit cells to the destination.
  • control of flows that is achieved ensures, for a given flow, that there will be a first upper limit on the number of cells contained within the network of intermediate switching entities and a second upper limit on the number of cells distributed between the interior of the network of intermediate switching entities and the output module.
  • FIG. 1 shows an architecture of a switch to which the method of the invention is applicable
  • FIG. 2 shows an exemplary updating cell.
  • FIG. 1 shows an architecture of a switch 1 , for example an ATM switch, to which the method according to the invention is applicable.
  • the switch is generally a large-capacity switch and has a structure based on the use of internal switching modules 2 organized in a network, generally called a switch fabric network 3 , between input modules 4 and output modules 5 .
  • a congestion of the switch 1 may be due to an internal congestion 6 on one of the switching modules 2 or a congestion 7 on a port 8 of an output module 5 .
  • the digital information is transmitted by connections 9 set up between an input module 4 and a port 8 of an output module 5 .
  • the connections 9 each take one transmission path among the different transmission paths 10 possible.
  • a first type of flow is designated by the label M 2 M. It corresponds to the digital connections having a same priority level, a same input module and a same output module.
  • a second type of flow is designated by the label M 2 P. It corresponds to the digital connections having one and the same priority level, one and the same input module, one and the same output module and one and the same port on this output module.
  • each flow of the M 2 M type is a set of flows of the M 2 P type.
  • the Table 1 gives a depiction of different flow that may exist between the i th input module and the j th output module.
  • Each output module j comprises a specified number N 3 of ports.
  • each input module i preferably has one and the same specified number N 3 of ports.
  • Each digital connection may have a priority k varying from 1 to a specified number N 4 .
  • Each M 2 M type flow with a priority k is the combination of M 2 P type flows with the priority k and a port m, with m varying from 1 to N 3 .
  • the method defines two types of credit of cells, each attached to one type of flow.
  • the first type of credit of cells takes account of the cells contained in the network of intermediate switching modules. This type of credit is referenced CIF or Cell In Fly credit.
  • the second type of credit of cells takes account of cells that are distributed between the network of intermediate switching modules and the output module. This type of credit is called CIBF.
  • the method computes a maximum number N 4 of CIF (M 2 M) credits corresponding to a maximum number N 4 of M 2 M type flows existing between a given input module and a given output module. If this switch has N 1 input modules and N 1 output modules (this is generally the case with an ATM switch), the method computes a maximum number of CIF (M 2 M) credits N 1 ⁇ N 1 ⁇ N 4 .
  • the method computes a maximum number of CIBF (M 2 P) credits N 3 ⁇ N 4 corresponding to a maximum of M 2 P type flows N 3 ⁇ N 4 existing between a given input module and a given output module. If this switch has N 1 input modules and N 1 output modules (this is generally the case with an ATM switch), the method computes a maximum number of CIBF (M 2 P) credits N 1 ⁇ N 1 ⁇ N 3 ⁇ N 4 .
  • the method implements a first counter, Counter_Emt (M 2 M) and a second counter Counter_Rcv (M 2 M).
  • the first counter Counter_Emt (M 2 M) counts the cells sent by an input module to an output module for the given flow.
  • the second counter Counter_Rcv (M 2 M) counts the cells received by the output module for the same given flow.
  • the method implements a third counter, Counter_Emt (M 2 P) and a fourth counter Counter_Out (M 2 P).
  • the third counter Counter_Emt (M 2 P) counts the cells sent by an input module to a port of the output module for the given flow.
  • the fourth counter Counter_Out (M 2 P) counts the cells transmitted by this port to the exterior of the switch for the same given flow.
  • the difference between these two counters represents the CIBF cells distributed between the network of intermediate switching modules and the port of the output module for the given flow. This is expressed by the following relationship:
  • the flows of each of the two types are distinguished according to their priority level in order to prevent the situation where a priority flow is blocked whereas a flow with the same destination and the same source but with a lower priority is permitted.
  • the input module does not immediately have values of the second counter Counter_Rcv (M 2 M) and of the fourth counter Counter_Out (M 2 P) which depend on the output module.
  • the output module informs the input module of the values of the second counter Counter_Rcv (M 2 M) and the fourth counter Counter_Out (M 2 P). These values are referenced MAJ_Counter_Rcv (M 2 M) and MAJ_Counter_Out (M 2 P).
  • the information MAJ_Counter_Rcv (M 2 M) is the last value that the input module has received concerning the number of cells that it has sent and that have been received by the output module for the M 2 M type flow.
  • the information MAJ_Counter_Out (M 2 P) is the last value that the input module has received concerning the number of cells that it has sent and that have been received and already transmitted to the exterior by the port of the output module for the M 2 P type flow.
  • the method cannot compute the number of CIF cells or the number of CIBF cells from the relationships (1) and (2).
  • the method may estimate the number of cells sent by the input module and not yet received by the output module, namely the number of cells contained in the network of intermediate switching modules referenced CIF, by computing the following expression:
  • the method may estimate the number of cells that have been sent by the input module to a port of the output module and have not been yet transmitted by the port, namely the number of cells distributed between the network of intermediate switching modules and the output module referenced CIBF, by computing the following expression:
  • the method determines two limit values Limit (M 2 M) and Limit (M 2 P) determined on the basis of the characteristics of the switch and it defines two relationships:
  • the method ensures that the number of CIF cells and the number of CIBF cells are smaller than the determined limits, Limit (M 2 M) and Limit (M 2 P). Indeed, it proves to be the case by definition that:
  • the values of the second counter Counter_Rcv (M 2 M) and the fourth counter Counter_Out (M 2 P) sent by the output module to the input module are called updating information elements.
  • the updating information elements follow one transmission path among the different possible transmission paths in the same way as the cells. They are thus switched by the intermediate switching modules, just like the cells.
  • the transmission of the updating information elements takes place as follows. For a flow M 2 M (i, j, k) and the associated flows M 2 P (i, j, k, m), the output module j sends the updating information elements, intended for the input module i, to the input module j by an internal link.
  • the updating information elements are then transmitted to the output module i following one transmission path chosen among the different possible transmission paths.
  • the output module i then, by means of an internal link, sends to the input module i the updating information elements from the output module j, that have gone through the input module j.
  • the updating information elements are sent to the input module at a frequency whose choice must take account of the desire not to overload the intermediate switching modules while at the same time retaining sufficient recurrence so that the input module can accurately compute the credits of cells.
  • the recurrence of the sending of the updating information elements is fixed by a specified incrementation limit Limit_Inc.
  • the incrementation limit Limit_Inc defines a stop at a fifth counter Inc_Counter_Rcv (M 2 M) and a sixth counter Inc_Counter_Out (M 2 P).
  • the fifth counter Inc_Counter_Rcv (M 2 M) counts the number of cells received by the output module since the last transmission of updating information elements.
  • the sixth counter Inc_Counter_Out (M 2 P) counts the number of cells transmitted to the exterior by the port of the output module since the last transmission of updating information elements.
  • the updating method consists firstly in sending the updating information elements to the input module and secondly in reinitializing, for example by a zero-setting operation, the fifth counter Inc_Counter_Rcv (M 2 M) and the sixth counter Inc_Counter_Out (M 2 P).
  • the sending of the updating information elements is done by the transmission of an updating cell.
  • the updating cell has a certain format that depends on the number of priorities, the number of output modules, the number of ports per output module and the limits of the cell credits, Limit (M 2 M) and Limit (M 2 P).
  • the cell credits are limited to the value 32 .
  • the sixth bit makes it possible to prevent any ambiguity of counting.
  • the second counter Counter_Rcv (M 2 M) and the fourth counter Counter_Out (M 2 P) are encoded on 6 bits.
  • the number of input modules and the number of output modules is 16. 4 bits are used to number the input modules and 4 bits are used to number the output modules.
  • the number of “physical” ports per output module is 4 and the number of “external” priorities is 2. There are therefore 8 (“logic”) ports per output module.
  • each M 2 M type flow consists of 8 M 2 P type flows.
  • the corresponding updating cell transmitted between this output module and this input module is illustrated in FIG. 2 .
  • the updating cell 11 has a first field 12 and a second field 13 .
  • the method is as follows: the cells that have to be transmitted by the switch are organized in queues of the FIFO (First-In-First-Out) type as a function of the input module, output module, port and level of priority of the connections for which they are intended. It is equivalent to speaking of an organization of cells as a function of the M 2 P type flows. Let us take a cell that has to be transmitted along the flow M 2 P (i, j, k 1 , m 1 ), namely by a connection between the specified input module i and the specified port ml of the specified output module j with a specified priority level k 1 . The transmission of the cell requires a selection of a queue in which it is stored.
  • M 2 P i, j, k 1 , m 1
  • the selection of the queue is permitted by the method only if the relationships (5) and (6) are met.
  • the cell is sent along the flow M 2 P (i, j, k 1 , m 1 ).
  • the first counter Counter_Emt (M 2 M) and the third counter Counter_Emt (M 2 P) of each of the flows M 2 M (i, j, l) and of each of the flows M 2 P (i, j, l, m 1 ) having a priority level l smaller than or equal to k 1 are incremented.
  • the second counter Counter_Rcv (M 2 M) of each of the flows M 2 M (i, j, l) having a priority level l smaller than or equal to k 1 is incremented.
  • the fifth counter Inc_Counter_Rcv (M 2 M) linked to the output module j and dedicated to the flows between the input module i and the output module j is incremented.
  • the value of the fifth counter Inc_Counter_Rcv (M 2 M) is equal to the incrementation limit Limit_Inc, the updating procedure is started.
  • a cell received by the output module j is transmitted to the exterior by means of the port m 1 .
  • the updating procedure consists firstly in sending an updating cell to the input module i and secondly in reinitializing the fifth counter Inc_Counter_Rcv (M 2 M) and the sixth counter Inc_Counter_Out (M 2 P).
  • the updating cell contains the value of the second counter Counter_Rcv (M 2 M) of each of the flows M 2 M (i, j, k) existing between the input module i and the output module j whatever its level of priority k and it contains the value of the fourth counter Counter_Out (M 2 P) of each of the flows M 2 P (i, j, k, m) existing between the input module i and the output module j whatever its level of priority k and whatever its port m.
  • the reinitializing of the fifth counter Inc_Counter_Rcv (M 2 M) and the sixth counter Inc_Counter_Out (M 2 P) may be a zero-setting operation for example.
  • the method updates the information elements MAJ_Counter_Rcv (M 2 M) and MAJ_Counter_Out (M 2 P). This corresponds to the following algorithm:
  • the method then carries out the updating of all the credits of CIF cells and the updating of all the credits of CIBF cells for the M 2 M and M 2 P type flows existing between the input module i and the output module j. For this purpose, it computes the first terms of the relationships (5) and (6).
  • a new cell may be transmitted from the module i to the module j.
  • the invention has been described with reference to a particular example of switch.
  • the invention is not limited to a device of this kind. It can be applied to any device comprising a source, a destination and intermediate switching entities organized in networks.

Abstract

A method for the control of flows of digital information between a source and a destination linked by a network of intermediate switching entities consists in carrying out a control of flows without the participation of the intermediate switching entities in estimating a state of load of the intermediate switching entities and in estimating a state of congestion of the destination to control a number of cells that may be transmitted by the source to the destination. Application to the control of flows in an ATM switch.

Description

BACKGROUND OF THE INVENTION
The present invention relates to a method for the control of flows of digital information between sources and destinations connected by intermediate switching entities organized in networks.
In particular, it enables the control of digital information flows between entities of a switch, for example a switch of the ATM or asynchronous transfer mode type,
Large-capacity switches are often based on the use of intermediate switching entities, internal switching modules, organized in networks between input modules and output modules. The digital information is transmitted in cellular form. At input of the network, the cells are arranged in queues depending on their destination. If necessary, these queues may be subdivided to take account of priority of transit within the network. This type of priority may be called internal priority. It determines the priority within the switch. A second type of priority can be identified. It is called external priority. External priority gives output priority to the physical port of an output module. For an output module, the term ‘port’ designates an output. Hereinafter in the document, the term ‘port’ designates the association between a physical port of an output module and an external priority and the term ‘priority’ designates the internal priority within the network.
The digital information that is switched by a switch is conveyed by connections set up between an input module and a port. Various types of connections exist and have been defined by the ATM Forum. They correspond to the different services that may be offered by a switch.
A first type of connection called a real-time connection generates traffic with known parameters; This traffic corresponds in particular to CBR (Constant Bit Rate) and VBRrt (Variable Bit Rate real time) services. Switching resources internal to the switch are reserved a priori as a function of the parameters of the traffic. The connections of this type are routed internally in the network in such a way that the switch renders the service that it undertook to perform when the connection was made. These connections do not raise any problems of congestion.
A second type of connection called a non-real time connection brings together connections corresponding especially to the ABR (Available Bit Rate), VBRnrt (Variable Bit Rate non-real time), UBR (Unspecified Bit Rate) and ABT (ATM Block Transfer) services. The corresponding connections are capable of generating sporadic traffic. A process of internal routing is not sufficient to resolve the problem of arrivals in blocks of cells which may generate phenomena of congestion in an internal switching module and/or at a port. In this case, a control of flows is implemented.
There are various known methods of controlling flows in a network that may be classified as a function of the entities of the network that they involve and as a function of the entities to which the control is applied. The corresponding classification brings out:
methods to control flows in leaps,
end-to-end flow control methods without participation of the intermediate switching entities and without control over these entities,
end-to-end flow control methods with the participation of the intermediate switching entities and with control over these entities.
Methods of flow control by leaps are carried out between entities, generally by an exchange of credit as defined by the QFC alliance (the Quantum Flow Control which is an alliance of industrialists interested in flow control mechanisms). Flow control by leaps can also be done by a slotting system as defined in the UIT Recommendation X.25. These controls, which are designed for networks generally external to switches, may be adapted to the control of flows in a switch. However, the low complexity and low memory capacity of the internal switching modules, dictated by constraints of cost of the switch, limit their role and enable them to achieve only a rudimentary flow control.
The end-to-end flow controls without participation of the intermediate switching entities and without control over these entities correspond to annex propositions covered by the term ‘tunneling’ and set up by the ATM Forum or the QFC alliance. The control provides information only to the source, an input module, on a state of congestion of the destination, which is an output module. The control does not resolve the problem of congestion of the intermediate switching entities.
End-to-end flow controls with participation of intermediate switching entities and with control over these entities have the drawback of obtaining participation by the intermediate switching entities. They are thus incompatible with the constraints of low complexity and low memory capacity imposed on the internal switching modules that constitute the intermediate switching entities. A flow control of this kind is implemented by the ABR services defined by the ATM Forum.
SUMMARY OF THE INVENTION
The invention proposes to resolve the problems of congestion both at the destination such as a port and at an intermediate entity such as an internal switching module without requiring the participation of the intermediate switching entities,
A problem of congestion may arise through the following situation. Between a specific source and a specific destination, a first flow with a priority k is blocked. Between the same source and the same destination, a second flow with a priority strictly lower than k is permitted.
The invention proposes especially to prevent the above situation.
To this end, an object of the invention is a method for the control of flows of digital information, transmitted in the form of cells, between sources and destinations between which connections are set up implementing intermediate switching entities organized in networks, wherein the sources and the destinations achieve the control of flows without the participation, in the control, of the intermediate switching entities, by computing a state of congestion of the intermediate switching entities and computing a state of congestion of the destinations to control a number of cells that may be transmitted by a source to a destination.
An advantage of the method is that it achieves a control of flows between the source and the destination without the participation of the intermediate switching entities. The control of flows is based on an exchange of credits of cells between the destination and the source to permit the source to transmit cells to the destination.
In a preferred embodiment of the method, the control of flows that is achieved ensures, for a given flow, that there will be a first upper limit on the number of cells contained within the network of intermediate switching entities and a second upper limit on the number of cells distributed between the interior of the network of intermediate switching entities and the output module.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention will be understood and other features and advantages of the invention shall appear from the following description of particular embodiments illustrated by the appended figures, of which:
FIG. 1 shows an architecture of a switch to which the method of the invention is applicable,
FIG. 2 shows an exemplary updating cell.
In the different figures, the homologous elements are shown with the same references.
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 shows an architecture of a switch 1, for example an ATM switch, to which the method according to the invention is applicable. The switch is generally a large-capacity switch and has a structure based on the use of internal switching modules 2 organized in a network, generally called a switch fabric network 3, between input modules 4 and output modules 5. According to this structure, a congestion of the switch 1 may be due to an internal congestion 6 on one of the switching modules 2 or a congestion 7 on a port 8 of an output module 5. During the operation of this switch 1, the digital information is transmitted by connections 9 set up between an input module 4 and a port 8 of an output module 5. The connections 9 each take one transmission path among the different transmission paths 10 possible. To control the transmission of the digital information between an input module and an output module, the method according to the invention distinguishes two types of flow. A first type of flow is designated by the label M2M. It corresponds to the digital connections having a same priority level, a same input module and a same output module. A second type of flow is designated by the label M2P. It corresponds to the digital connections having one and the same priority level, one and the same input module, one and the same output module and one and the same port on this output module. Following this distinction, each flow of the M2M type is a set of flows of the M2P type.
Thus, for a switch comprising a number N1 of input modules and a number N2 of output modules, the Table 1 gives a depiction of different flow that may exist between the ith input module and the jth output module. Preferably, an ATM switch has as many input modules as output modules, N1=N2, since the modes of access are two-way access modes and since each output module p has an internal link with the input module p, where p may take any value between 1 and N1.
TABLE 1
Input module i to output module J
Port
1 Port m Port N3
Priority
1 M2M M2P M2P M2P
(i, j, 1) (i, j, 1, 1) (i, j, 1, m) (i, j, 1, N3)
Priority k M2M M2P M2P M2P
(i, j, k) (i, j, k, 1) (i, j, k, m) (i, j, k, N3)
Priority N4 M2M M2P M2P M2P
(i, j, N4) (i, j, N4, 1) (i, j, N4, m) (i, j, N4, N3)
Each output module j comprises a specified number N3 of ports. In the case of an ATM switch, each input module i preferably has one and the same specified number N3 of ports. Each digital connection may have a priority k varying from 1 to a specified number N4.
Each M2M type flow with a priority k is the combination of M2P type flows with the priority k and a port m, with m varying from 1 to N3.
With a view to clarity, only the labels M2M and M2P are used to designate a flow M2M (i, j, k) and a flow M2P (i, j, k, m).
To control the congestion of the switch, the method defines two types of credit of cells, each attached to one type of flow. The first type of credit of cells takes account of the cells contained in the network of intermediate switching modules. This type of credit is referenced CIF or Cell In Fly credit. The second type of credit of cells takes account of cells that are distributed between the network of intermediate switching modules and the output module. This type of credit is called CIBF.
Between the input module and the output module, there are as many CIF credits as there are levels of priority. Thus, in the case of a switch whose different flows are illustrated by Table 1, the method computes a maximum number N4 of CIF (M2M) credits corresponding to a maximum number N4 of M2M type flows existing between a given input module and a given output module. If this switch has N1 input modules and N1 output modules (this is generally the case with an ATM switch), the method computes a maximum number of CIF (M2M) credits N1×N1×N4.
Between an input module and a port of an output module, there are as much CIBF credits as there are priority levels. Thus, in the case of a switch whose different flows are shown by Table 1, the method computes a maximum number of CIBF (M2P) credits N3×N4 corresponding to a maximum of M2P type flows N3×N4 existing between a given input module and a given output module. If this switch has N1 input modules and N1 output modules (this is generally the case with an ATM switch), the method computes a maximum number of CIBF (M2P) credits N1×N1×N3×N4.
To compute the CIF credit attached to a given M2M type flow, the method implements a first counter, Counter_Emt (M2M) and a second counter Counter_Rcv (M2M). The first counter Counter_Emt (M2M) counts the cells sent by an input module to an output module for the given flow. The second counter Counter_Rcv (M2M) counts the cells received by the output module for the same given flow.
The difference between these two counters represents the CIF cells contained in the network of intermediate switching modules for the given flow M2M. This is expressed by the following relationship:
CIF(M 2 M)=Counter Emt(M 2 M)−Counter Rcv(M 2 M)  (1)
To compute the CIBF credit attached to a given M2P type flow, the method implements a third counter, Counter_Emt (M2P) and a fourth counter Counter_Out (M2P). The third counter Counter_Emt (M2P) counts the cells sent by an input module to a port of the output module for the given flow. The fourth counter Counter_Out (M2P) counts the cells transmitted by this port to the exterior of the switch for the same given flow. The difference between these two counters represents the CIBF cells distributed between the network of intermediate switching modules and the port of the output module for the given flow. This is expressed by the following relationship:
CIBF(M 2 P)=Counter Emt(M 2 P)−Counter_Out(M 2 P)  (2)
The flows of each of the two types are distinguished according to their priority level in order to prevent the situation where a priority flow is blocked whereas a flow with the same destination and the same source but with a lower priority is permitted.
To attain this goal, the credits of the flows are not decremented and incremented separately: any cell sent or received leads to the incrementation or decrementation of all the counters of the M2M and M2P type flows with lower priorities.
However, the input module does not immediately have values of the second counter Counter_Rcv (M2M) and of the fourth counter Counter_Out (M2P) which depend on the output module.
At specified times, the output module informs the input module of the values of the second counter Counter_Rcv (M2M) and the fourth counter Counter_Out (M2P). These values are referenced MAJ_Counter_Rcv (M2M) and MAJ_Counter_Out (M2P). The information MAJ_Counter_Rcv (M2M) is the last value that the input module has received concerning the number of cells that it has sent and that have been received by the output module for the M2M type flow. The information MAJ_Counter_Out (M2P) is the last value that the input module has received concerning the number of cells that it has sent and that have been received and already transmitted to the exterior by the port of the output module for the M2P type flow.
Since the input module does not have values coming from the output module in real time, the method cannot compute the number of CIF cells or the number of CIBF cells from the relationships (1) and (2).
However, the method may estimate the number of cells sent by the input module and not yet received by the output module, namely the number of cells contained in the network of intermediate switching modules referenced CIF, by computing the following expression:
Counter Emt(M 2 M)−MAJ_Counter Rcv(M 2 M)  (3)
Similarly, the method may estimate the number of cells that have been sent by the input module to a port of the output module and have not been yet transmitted by the port, namely the number of cells distributed between the network of intermediate switching modules and the output module referenced CIBF, by computing the following expression:
Counter Emt(M 2 P)−MAJ_Counter_Out(M 2 P)  (4)
The method determines two limit values Limit (M2M) and Limit (M2P) determined on the basis of the characteristics of the switch and it defines two relationships:
Counter Emt(M 2 M)−MAJ_Counter Rcv(M 2 M)<Limit(M 2 M)  (5)
 Counter Emt(M 2 P)−MAJ_Counter_Out(M 2 P)<limit(M 2 P)  (6)
Through the relationship (5) and (6), the method ensures that the number of CIF cells and the number of CIBF cells are smaller than the determined limits, Limit (M2M) and Limit (M2P). Indeed, it proves to be the case by definition that:
MAJ_Counter Rcv(M 2 M)≦Counter Rcv(M 2 M)  (7)
and
MAJ_Counter_Out(M 2 P)≦Counter_Out(M 2 P)  (8)
This makes it possible to write:
−(Counter Rcv(M 2 M))≦−(MAJ_Counter Rcv(M 2 M) )  (9)
and
−(Counter_Out(M 2 P))≦−(MAJ_Counter_Out(M 2 P) )  (10)
and therefore
CIF(M 2 M)=Counter Emt(M 2 M)−Counter Rcv(M 2 M)≦Counter Emt(M 2 M)−MAJ_Counter Rcv(M 2 M)  (11)
and
CIBF(M 2 P)=Counter Emt(M 2 P)−Counter_Out(M 2 P)≦Counter Emt(M 2 P)−MAJ_Counter_Out(M 2 P)  (12)
and thus, in combining (5) and (11) and (6) and (12), we get:
CIF(M 2 M)≦Counter Emt(M 2 M)−MAJ_Counter Rcv(M 2 M)<Limit(M 2 M)  (13)
and
CIBF(M 2 P)≦Counter Emt(M 2 P)−MAJ_Counter_Out(M 2 P)<Limit(M 2 P)  (14)
The values of the second counter Counter_Rcv (M2M) and the fourth counter Counter_Out (M2P) sent by the output module to the input module are called updating information elements. The updating information elements follow one transmission path among the different possible transmission paths in the same way as the cells. They are thus switched by the intermediate switching modules, just like the cells. In the particular case of implementation of the method by an ATM switch, the transmission of the updating information elements takes place as follows. For a flow M2M (i, j, k) and the associated flows M2P (i, j, k, m), the output module j sends the updating information elements, intended for the input module i, to the input module j by an internal link. The updating information elements are then transmitted to the output module i following one transmission path chosen among the different possible transmission paths. The output module i then, by means of an internal link, sends to the input module i the updating information elements from the output module j, that have gone through the input module j. In any case, the updating information elements are sent to the input module at a frequency whose choice must take account of the desire not to overload the intermediate switching modules while at the same time retaining sufficient recurrence so that the input module can accurately compute the credits of cells. The recurrence of the sending of the updating information elements is fixed by a specified incrementation limit Limit_Inc. The incrementation limit Limit_Inc defines a stop at a fifth counter Inc_Counter_Rcv (M2M) and a sixth counter Inc_Counter_Out (M2P).
The fifth counter Inc_Counter_Rcv (M2M) counts the number of cells received by the output module since the last transmission of updating information elements. The sixth counter Inc_Counter_Out (M2P) counts the number of cells transmitted to the exterior by the port of the output module since the last transmission of updating information elements.
When the fifth counter Inc_Counter_Rcv (M2M) or the sixth counter Inc_Counter_Out (M2P) reaches the limit of incrementation Limit_Inc, then an updating method is activated. The updating method consists firstly in sending the updating information elements to the input module and secondly in reinitializing, for example by a zero-setting operation, the fifth counter Inc_Counter_Rcv (M2M) and the sixth counter Inc_Counter_Out (M2P). The sending of the updating information elements is done by the transmission of an updating cell. The updating cell has a certain format that depends on the number of priorities, the number of output modules, the number of ports per output module and the limits of the cell credits, Limit (M2M) and Limit (M2P).
Let us take the following example:
The cell credits are limited to the value 32. The counters enabling the computation of these credits are thus encoded on 6 bits (26=64). The sixth bit makes it possible to prevent any ambiguity of counting. Thus, the second counter Counter_Rcv (M2M) and the fourth counter Counter_Out (M2P) are encoded on 6 bits.
The number of input modules and the number of output modules is 16. 4 bits are used to number the input modules and 4 bits are used to number the output modules.
The number of “physical” ports per output module is 4 and the number of “external” priorities is 2. There are therefore 8 (“logic”) ports per output module.
The number of “internal” priorities is 6.
Thus, there are 6 M2M type flows between a given input module and a given output module, and each M2M type flow consists of 8 M2P type flows. The corresponding updating cell transmitted between this output module and this input module is illustrated in FIG. 2. The updating cell 11 has a first field 12 and a second field 13. The first field 12 contains the value of each second counter Counter_Rcv (M2M) of each of the six M2M type flows. Each counter is encoded on 6 bits. The total length of the field is therefore 6×6=36 bits. The second field 13 contains the value of each fourth counter Counter_Out (M2P) of each of the eight M2P type flows forming an M2M type flow. Each counter is encoded on 6 bits. The total length of the field is therefore 6×6×8=288 bits.
The characteristics of the method have been described in detail in the above description.
In preserving the example of a switch, the method is as follows: the cells that have to be transmitted by the switch are organized in queues of the FIFO (First-In-First-Out) type as a function of the input module, output module, port and level of priority of the connections for which they are intended. It is equivalent to speaking of an organization of cells as a function of the M2P type flows. Let us take a cell that has to be transmitted along the flow M2P (i, j, k1, m1), namely by a connection between the specified input module i and the specified port ml of the specified output module j with a specified priority level k1. The transmission of the cell requires a selection of a queue in which it is stored. The selection of the queue is permitted by the method only if the relationships (5) and (6) are met. Following authorization, the cell is sent along the flow M2P (i, j, k1, m1). The first counter Counter_Emt (M2M) and the third counter Counter_Emt (M2P) of each of the flows M2M (i, j, l) and of each of the flows M2P (i, j, l, m1) having a priority level l smaller than or equal to k1 are incremented. At the reception of the cell by the output module j, the second counter Counter_Rcv (M2M) of each of the flows M2M (i, j, l) having a priority level l smaller than or equal to k1 is incremented. The fifth counter Inc_Counter_Rcv (M2M) linked to the output module j and dedicated to the flows between the input module i and the output module j is incremented. When the value of the fifth counter Inc_Counter_Rcv (M2M) is equal to the incrementation limit Limit_Inc, the updating procedure is started. At a specified instant, a cell received by the output module j is transmitted to the exterior by means of the port m1. This leads to the incrementation of the fourth counter Counter_Out (M2P) of each of the flows M2P (i, j, l, m1) having a priority level l smaller than or equal to k1 and the incrementation of the sixth counter Inc_Counter_Out (M2P) linked to the port m1 of the output module j. When the value of the sixth counter Inc_Counter_Out (M2P) is equal to the incrementation limit Limit_Inc, the updating method is activated. The updating procedure consists firstly in sending an updating cell to the input module i and secondly in reinitializing the fifth counter Inc_Counter_Rcv (M2M) and the sixth counter Inc_Counter_Out (M2P). The updating cell contains the value of the second counter Counter_Rcv (M2M) of each of the flows M2M (i, j, k) existing between the input module i and the output module j whatever its level of priority k and it contains the value of the fourth counter Counter_Out (M2P) of each of the flows M2P (i, j, k, m) existing between the input module i and the output module j whatever its level of priority k and whatever its port m. The reinitializing of the fifth counter Inc_Counter_Rcv (M2M) and the sixth counter Inc_Counter_Out (M2P) may be a zero-setting operation for example. When the input module i receives the updating cell, the method updates the information elements MAJ_Counter_Rcv (M2M) and MAJ_Counter_Out (M2P). This corresponds to the following algorithm:
Do, for all the priorities, 1≦k≦N4
MAJ_Counter_Rcv (M2M)=Counter_Rcv (M2M)
Do, for each port, 1≦m≦N3
MAJ_Counter_Out (M2P)=Counter_Out (M2P)
End
End
The method then carries out the updating of all the credits of CIF cells and the updating of all the credits of CIBF cells for the M2M and M2P type flows existing between the input module i and the output module j. For this purpose, it computes the first terms of the relationships (5) and (6).
If the relationships (5) and (6) are met, a new cell may be transmitted from the module i to the module j.
The invention has been described with reference to a particular example of switch. The invention however is not limited to a device of this kind. It can be applied to any device comprising a source, a destination and intermediate switching entities organized in networks.

Claims (15)

What is claimed is:
1. A method of controlling the flow of digital information, transmitted in the form of cells, between sources and destinations having connections therebetween set up via intermediate switching entities organized in networks, said method comprising:
estimating a number of cells sent by a source and not yet received by a destination for a first given flow;
estimating a number of cells sent by the source and not yet transmitted by the destination for a second given flow;
computing a state of congestion of the intermediate switching entities by determining if the number of cells estimated for the first given flow is greater than a first predetermined limit;
computing a state of congestion for the destination by determining if the number of cells estimated for the second given flow is greater than a second predetermined limit; and
controlling the number of cells transmitted from the source to the destination based on the states of congestions of the intermediate switching entities and the destination.
2. The method according to claim 1, wherein the first flow is determined based on the source, the destination and an internal priority.
3. The method according to claim 1, wherein the second flow is determined based on the source, the destination, an internal priority, and a port of the destination.
4. The method according to claim 1, wherein the destination transmits to the source, at given points in time, an updating cell containing a first updating value equal to a latest value of the number of cells received by the destination from the source, and containing a second updating value equal to a latest value of the number of cells transmitted by the destination,
wherein the estimation of the number of cells sent by the source and not yet received by the destination is obtained by subtracting the first updating value from the number of cells sent by the source for the first given flow, and
wherein the estimation of the number of cells sent by the source and not yet transmitted by the destination is obtained by subtracting the second updating value from the number of cells sent by the source for the second given flow.
5. The method according to claim 1, wherein the controlling step prevents cells from being transmitted if the estimation of the number of cells sent by the source and not yet received by the destination is greater than or equal to the first predetermined limit, and if the estimation of the number of cells sent by the source and not yet transmitted by the destination is greater than the second predetermined limit.
6. A method of controlling the flow of digital information, transmitted in the form of cells, between input modules corresponding to sources and output modules including ports corresponding to destinations, and having connections therebetween set up via intermediate switching modules configured to provide connections between the input and output modules, and in which a first type of flow is defined between a given input module and a given output module, and a second type of flow is defined between the given input module and a port of the given output module, said method comprising:
estimating a number of cells sent by a source and not yet received by a destination for the first type of flow;
estimating a number of cells sent by the source and not yet transmitted by the destination for the second type of flow;
computing a state of congestion of the intermediate switching modules by determining if the number of cells estimated for the first type of flow is greater than a first predetermined limit;
computing a state of congestion for the destination by determining if the number of cells estimated for the second given flow is greater than a second predetermined limit; and
controlling the number of cells transmitted from the source to the destination based on the states of congestions of the intermediate switching modules and the destination.
7. The method according to claim 6, wherein the first type of flow is determined based on the source, the destination and an internal priority.
8. The method according to claim 6, wherein the second type of flow is determined based on the source, the destination, an internal priority, and the port of the destination.
9. The method according to claim 6, wherein the destination transmits to the source, at given points in time, an updating cell containing a first updating value equal to a latest value of the number of cells received by the destination from the source, and containing a second updating value equal to a latest value of the number of cells transmitted by the destination,
wherein the estimation of the number of cells sent by the source and not yet received by the destination is obtained by subtracting the first updating value from the number of cells sent by the source for the first given flow, and
wherein the estimation of the number of cells sent by the source and not yet transmitted by the destination is obtained by subtracting the second updating value from the number of cells sent by the source for the second given flow.
10. The method according to claim 6, wherein the input module prevents cells from being transmitted if the estimation of the number of cells sent by the source and not yet received by the destination is greater than or equal to the first predetermined limit, and if the estimation of the number of cells sent by the source and not yet transmitted by the destination is greater than or equal to the second predetermined limit.
11. A switch comprising:
input modules corresponding to sources;
output modules including ports corresponding to destinations;
intermediate switching modules configured to provide connections between the input and output modules;.and
a processing unit associated with the switch and configured to define a first type of flow between a given input module and a given output module, and to define a second type of flow between the given input module and a port of the given output module, wherein the processing unit:
estimates a number of cells sent by a source and not yet received by a destination for the first type of flow,
estimates a number of cells sent by the source and not yet transmitted by the destination for the second type of flow,
computes a state of congestion of the intermediate switching modules by determining if the number of cells estimated for the first type of flow is greater than a first predetermined limit,
computes a state of congestion for the destination by determining if the number of cells estimated for the second given flow is greater than a second predetermined limit, and
controls the number of cells transmitted from the source to the destination based on the states of congestions of the intermediate switching modules and the destination.
12. The switch according to claim 11, wherein the processing unit determines the first type of flow based on the source, the destination and an internal priority.
13. The switch according to claim 11, wherein the processing unit determines the second type of flow based on the source, the destination, an internal priority, and the port of the destination.
14. The switch according to claim 11, wherein the destination transmits to the source, at given points in time, an updating cell containing a first updating value equal to a latest value of the number of cells received by the destination from the source, and containing a second updating value equal to a latest value of the number of cells transmitted by the destination,
wherein the processing unit obtains the estimated number of cells sent by the source and not yet received by the destination by subtracting the first updating value from the number of cells sent by the source for the first given flow, and
wherein the processing unit obtains the estimated number of cells sent by the source and not yet transmitted by the destination by subtracting the second updating value from the number of cells sent by the source for the second given flow.
15. The switch according to claim 11, wherein the input module prevents cells from being transmitted if the estimation of the number of cells sent by the source and not yet received by the destination is greater than or equal to the first predetermined limit, and if the estimation of the number of cells sent by the source and not yet transmitted by the destination is greater than or equal to the second predetermined limit.
US09/193,872 1997-11-18 1998-11-18 Method for the control of flows of digital information Expired - Lifetime US6396807B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9714447A FR2771239B1 (en) 1997-11-18 1997-11-18 METHOD FOR CONTROLLING DIGITAL INFORMATION FLOW
FR9714447 1997-11-18

Publications (1)

Publication Number Publication Date
US6396807B1 true US6396807B1 (en) 2002-05-28

Family

ID=9513494

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/193,872 Expired - Lifetime US6396807B1 (en) 1997-11-18 1998-11-18 Method for the control of flows of digital information

Country Status (2)

Country Link
US (1) US6396807B1 (en)
FR (1) FR2771239B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6847637B1 (en) * 1999-04-08 2005-01-25 Canon Kabushiki Kaisha Unit and method for switching data packets, a data processing apparatus comprising such a unit and a network comprising them
US20060140119A1 (en) * 2004-12-29 2006-06-29 Alcatel Predictive congestion management in a data communications switch using traffic and system statistics
US20080101568A1 (en) * 2006-10-20 2008-05-01 Nokia Corporation Accounting in a transit network
US7496035B1 (en) * 2003-01-31 2009-02-24 Cisco Technology, Inc. Methods and apparatus for defining flow types and instances thereof such as for identifying packets corresponding to instances of the flow types

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3955104A (en) 1973-11-30 1976-05-04 Silec-Semi-Conducteurs Synchronous control device for a static relay by a high frequency signal
US4038111A (en) 1974-08-01 1977-07-26 Silec-Semi-Conducteurs Method for diffusion of aluminium
US5029164A (en) * 1990-04-13 1991-07-02 Digital Equipment Corporation Congestion avoidance in high-speed network carrying bursty traffic
US5430721A (en) 1993-01-22 1995-07-04 Thomson-Csf Method for managing the throughput of digitally coded messages transported through an asynchronous network, particularly an ATM network, and device for its embodiment
US5442624A (en) * 1993-10-29 1995-08-15 At&T Corp. Dynamic access control for an ATM network
US5446734A (en) * 1990-04-13 1995-08-29 Digital Equipment Corporation Telecommunications network with plesiochronous transfer mode
US5487072A (en) 1994-06-30 1996-01-23 Bell Communications Research Inc. Error monitoring algorithm for broadband signaling
US5515359A (en) * 1994-08-26 1996-05-07 Mitsubishi Electric Research Laboratories, Inc. Credit enhanced proportional rate control system
US5528591A (en) * 1995-01-31 1996-06-18 Mitsubishi Electric Research Laboratories, Inc. End-to-end credit-based flow control system in a digital communication network
US5633867A (en) * 1994-07-01 1997-05-27 Digital Equipment Corporation Local memory buffers management for an ATM adapter implementing credit based flow control
US5825748A (en) * 1997-04-08 1998-10-20 International Business Machines Corporation Credit-based flow control checking and correction system

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3955104A (en) 1973-11-30 1976-05-04 Silec-Semi-Conducteurs Synchronous control device for a static relay by a high frequency signal
US4038111A (en) 1974-08-01 1977-07-26 Silec-Semi-Conducteurs Method for diffusion of aluminium
US5029164A (en) * 1990-04-13 1991-07-02 Digital Equipment Corporation Congestion avoidance in high-speed network carrying bursty traffic
US5446734A (en) * 1990-04-13 1995-08-29 Digital Equipment Corporation Telecommunications network with plesiochronous transfer mode
US5430721A (en) 1993-01-22 1995-07-04 Thomson-Csf Method for managing the throughput of digitally coded messages transported through an asynchronous network, particularly an ATM network, and device for its embodiment
US5442624A (en) * 1993-10-29 1995-08-15 At&T Corp. Dynamic access control for an ATM network
US5487072A (en) 1994-06-30 1996-01-23 Bell Communications Research Inc. Error monitoring algorithm for broadband signaling
US5633867A (en) * 1994-07-01 1997-05-27 Digital Equipment Corporation Local memory buffers management for an ATM adapter implementing credit based flow control
US5515359A (en) * 1994-08-26 1996-05-07 Mitsubishi Electric Research Laboratories, Inc. Credit enhanced proportional rate control system
US5528591A (en) * 1995-01-31 1996-06-18 Mitsubishi Electric Research Laboratories, Inc. End-to-end credit-based flow control system in a digital communication network
US5825748A (en) * 1997-04-08 1998-10-20 International Business Machines Corporation Credit-based flow control checking and correction system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Zygmunt Haas, "Adaptive Admission Congestion Control", Computer Communication Review, vol. 21, No. 5, Oct. 1, 1991, pp. 58-76.

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6847637B1 (en) * 1999-04-08 2005-01-25 Canon Kabushiki Kaisha Unit and method for switching data packets, a data processing apparatus comprising such a unit and a network comprising them
US7496035B1 (en) * 2003-01-31 2009-02-24 Cisco Technology, Inc. Methods and apparatus for defining flow types and instances thereof such as for identifying packets corresponding to instances of the flow types
US20060140119A1 (en) * 2004-12-29 2006-06-29 Alcatel Predictive congestion management in a data communications switch using traffic and system statistics
WO2006071550A2 (en) * 2004-12-29 2006-07-06 Alcatel Lucent Predictive congestion management in a data communications switch using traffic and system statistics
WO2006071550A3 (en) * 2004-12-29 2007-03-01 Cit Alcatel Predictive congestion management in a data communications switch using traffic and system statistics
US7480304B2 (en) 2004-12-29 2009-01-20 Alcatel Lucent Predictive congestion management in a data communications switch using traffic and system statistics
CN1913488B (en) * 2004-12-29 2011-07-27 阿尔卡特公司 Predictive congestion management in a data communications switch using traffic and system statistics
US20080101568A1 (en) * 2006-10-20 2008-05-01 Nokia Corporation Accounting in a transit network
US8306199B2 (en) * 2006-10-20 2012-11-06 Nokia Corporation Accounting in a transit network

Also Published As

Publication number Publication date
FR2771239B1 (en) 2000-12-08
FR2771239A1 (en) 1999-05-21

Similar Documents

Publication Publication Date Title
US5757770A (en) Method and device for the control of congestion in sporadic exchanges of data packets in a digital transmission network
US5765032A (en) Per channel frame queuing and servicing in the egress direction of a communications network
US5864539A (en) Method and apparatus for a rate-based congestion control in a shared memory switch
US6526060B1 (en) Dynamic rate-based, weighted fair scheduler with explicit rate feedback option
US5287535A (en) Switching node in label multiplexing type switching network
US5633867A (en) Local memory buffers management for an ATM adapter implementing credit based flow control
US6081505A (en) Cell scheduling system and method for networks nodes
US5870384A (en) Method and equipment for prioritizing traffic in an ATM network
US8369215B2 (en) Call admission control method and system
US6282197B1 (en) ATM switching apparatus and ATM communications network
EP1030485A1 (en) Method and apparatus for data traffic policing
US6587436B1 (en) Method and apparatus for allocation of available bandwidth
EP0817433B1 (en) Packet switched communication system and traffic shaping process
US6249819B1 (en) Method for flow controlling ATM traffic
US5956322A (en) Phantom flow control method and apparatus
US7009988B2 (en) Adaptive buffer partitioning method for shared buffer switch and switch therefor
Kamolphiwong et al. Flow control in ATM networks: A survey
US5978357A (en) Phantom flow control method and apparatus with improved stability
US6167050A (en) User traffic control apparatus for asynchronous transfer mode networks
US6396807B1 (en) Method for the control of flows of digital information
US6711133B1 (en) Method for controlling congestion in ATM switching system
EP0481447B1 (en) Method of controlling communication network incorporating virtual channels exchange nodes and virtual paths exchange nodes, and the said communication network
US6111856A (en) Switching element particularly for ATM cells implementing probabilistic priorities associated with the cells
EP0817435B1 (en) A switch for a packet communication system
AU717162B2 (en) Improved phantom flow control method and apparatus

Legal Events

Date Code Title Description
AS Assignment

Owner name: THOMSON-CSF, FRANCE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PELIGRY, YVES;MAKOUA, DAVID MOUEN;DUMAS, PIERRE;REEL/FRAME:009738/0602

Effective date: 19981218

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: REMOTE ACCESS, LLC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:THALES SA;REEL/FRAME:016561/0567

Effective date: 20050420

AS Assignment

Owner name: THALES, FRANCE

Free format text: CHANGE OF NAME;ASSIGNOR:THOMSON-CSF;REEL/FRAME:017240/0158

Effective date: 20010516

FPAY Fee payment

Year of fee payment: 8

FEPP Fee payment procedure

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: XYLON LLC, NEVADA

Free format text: MERGER;ASSIGNOR:REMOTE ACCESS, LLC;REEL/FRAME:036954/0361

Effective date: 20150813

AS Assignment

Owner name: HANGER SOLUTIONS, LLC, GEORGIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTELLECTUAL VENTURES ASSETS 161 LLC;REEL/FRAME:052159/0509

Effective date: 20191206