WO2000005656A1 - Dynamic buffer management scheme for atm switches - Google Patents

Dynamic buffer management scheme for atm switches Download PDF

Info

Publication number
WO2000005656A1
WO2000005656A1 PCT/US1999/016477 US9916477W WO0005656A1 WO 2000005656 A1 WO2000005656 A1 WO 2000005656A1 US 9916477 W US9916477 W US 9916477W WO 0005656 A1 WO0005656 A1 WO 0005656A1
Authority
WO
WIPO (PCT)
Prior art keywords
queue
buffer
threshold
created
virtual connection
Prior art date
Application number
PCT/US1999/016477
Other languages
French (fr)
Inventor
Iftekhar Hussain
Thomas Worster
Original Assignee
General Datacomm, Inc.
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 General Datacomm, Inc. filed Critical General Datacomm, Inc.
Priority to CA002338218A priority Critical patent/CA2338218A1/en
Publication of WO2000005656A1 publication Critical patent/WO2000005656A1/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/5681Buffer or queue management
    • H04L2012/5682Threshold; Watermark

Definitions

  • the present invention relates broadly to the field of telecommunications. More particularly, the present invention relates to the management of shared memory buffers in an asynchronous transfer mode (ATM) switch or node by setting of queue size and dynamic queue thresholds as functions of overall buffer occupancy and service category.
  • ATM asynchronous transfer mode
  • ATM Asynchronous Transfer Mode
  • LANs local area networks
  • WANs wide area networks
  • ATM cells which are relatively short, fixed length packets. Because ATM cells can carry voice, video and data across a single backbone network, the ATM technology provides a unitary mechanism for high speed end-to- end telecommunications traffic.
  • the simplest implementation of shared memory buffers sets up queues for virtual connections (VCs) as needed and sets a queue length threshold for each queue regardless of the service category of the VC.
  • This implementation is often referred to as the "Static Threshold" scheme. Arriving cells are admitted to the queue only if the queue length is smaller than the threshold set for the queue.
  • the Static Threshold scheme is simple to implement, it does not adapt to changing traffic conditions. If one port in the switch (one VC) is very active, cells from that VC will be lost even if there is shared memory available to enlarge the queue.
  • a control threshold T (t) at time t is set (using notation of the present invention) equal to a multiple ⁇ of the unused buffer space as shown in equation (1) where B is the total size of the shared buffer and U is the size of the used portion of the buffer.
  • Choudhury states that ⁇ should be a positive, negative, or zero power of two so that a shifter can be used to regulate the control threshold. According to Choudhury, ⁇ is adjusted depending on whether the switch is moderately loaded or heavily loaded and whether the load is uniform across all ports or non-uniform with one port more heavily loaded than others.
  • the Dynamic Threshold scheme of Choudhury is essentially a Static Threshold Scheme which is dynamically tuned according to load conditions in the switch. All VCs are treated equally and a certain amount of buffer space is intentionally wasted to accomplish this.
  • the Choudhury scheme excels when there is a uniform load on the switch but does not provide much improvement over Static Threshold schemes when only a few ports in the switch are overloaded. Also, as specifically noted by Choudhury, the scheme does not address the issue of multiple service categories .
  • CBR constant bit rate
  • VBR variable bit rate
  • URR unspecified bit rate
  • ABR available bit rate
  • the buffer management scheme of the present invention sets different dynamic thresholds for different VCs according to the formula expressed in equation (2) .
  • TfU T F + 7i . (B - U) (2)
  • T (U) is the threshold (in number of cells) for the i th connection when the used portion of the buffer is U.
  • T F1 is the minimum required buffer threshold allocation (in number of cells) for the 1 th connection buffer when the buffer is full and Yi is preferably a power of two chosen for the i th connection at the time the connection is set-up. Both T F ⁇ and ⁇ i are chosen based on the service category of the connection.
  • the buffer management scheme of the present invention sets minimum and maximum buffer sizes based on the service category of the connection.
  • a minimum buffer is guaranteed for service categories above UBR (unspecified bit rate) .
  • the minimum buffer available is determined by the number of backlogged connections.
  • the maximum buffer size for each connection is a function of the total buffer size B, T F i, and Ji .
  • Figure 1 is a graph of the relationship between dynamic threshold and overall buffer occupancy
  • Figure 2 is a flow chart illustrating the operations of an apparatus according to the invention.
  • a dynamic threshold T (U) can be set such that if the number of cells Qvc in a buffer equals or exceeds the threshold (Qvc ⁇ T (U) ) , cells arriving at the buffer are discarded.
  • the dynamic threshold T (U) is shown to be a linear function of the overall buffer occupancy U.
  • the dynamic threshold decreases, i.e. cells will be discarded sooner.
  • the linear function has a negative slope.
  • the "y intercept" of the function, labelled "x" on the y-axis of Figure 1 is the integer value of the dynamic threshold when the overall buffer occupancy is empty.
  • the minimum required buffer threshold allocation T 0 should be some integer number less than or equal to x.
  • buffer thresholds are set by add/subtract shift operations. Therefore, the slope of the function is preferably limited to an integer power of two, i.e. 2y.
  • the intercept and the slope of the function T (U) can be chosen so that the threshold has some value T F when the buffer is full as shown in equation (3) .
  • the threshold when the buffer is empty should be less than or equal to x as shown in equation (5) .
  • Equation (6) can be rewritten as equation (7) .
  • equations (4) and (8) may be used directly at the time a VC is set up to determine x and y from B, T 0 , and T .
  • y is selected on a per class basis, i.e. the value of y depends solely on the service category and the size of the buffer.
  • T F is also preferably based solely on the service category .
  • the buffer threshold formula according to the invention can be expressed in simplified form as equation (9) .
  • T (U) is the threshold for the i ⁇ connection buffer when the overall buffer usage is U.
  • B is the total shared buffer size
  • ⁇ j_ is 2Y where y is chosen for the ith connection at the time the connection is set-up based on service category and total shared buffer size.
  • the thresholds, buffer size and buffer usage are given as an integer number of cells.
  • minimum and maximum queue occupancy levels are also set by the dynamic thresholding scheme for each connection.
  • Table 1 illustrates the presently preferred recommended dynamic threshold parameters for five different service categories.
  • is a dimensionless coefficient as defined by ITU 1.371, the complete disclosure of which is hereby incorporated herein by reference. The default value of ⁇ is 120.
  • PCR refers to the peak cell rate and ⁇ PCR refers to the cell delay variation tolerance or CDVT as defined in ITU 1.371 for constant bit rate (CBR) and variable bit rate-real time (VBR-rt) service categories.
  • B is the size of the shared buffer in number of cells.
  • b e is the effective buffer size as defined in IEEE Journal on Selected Areas in Communications, Vol. 13, No. 6, pp. 1115-11127 (1995)
  • TBE is the transient buffer exposure as defined in ATM forum Traffic Management Specification 4.0, April 1996, #af-tm-0056.000.
  • the minimum buffer size Q m i n is the minimum size of the buffer in number of cells when the shared buffer is completely full.
  • Q max is the maximum queue occupancy (in number of cells) allowed for a particular connection.
  • URR unspecified bit rate
  • Q max is purely a function of the total shared buffer size
  • Q m i n is a function of total shared buffer size and number of backlogged connections N.
  • the value of the y parameter should be chosen such that the resulting value of Q max is greater than or equal to the maximum value of Q m i n for the service category.
  • y should be set proportionally to the expected queue length of a connection in the category.
  • T 2 T F + ⁇ ' 2 B - ⁇ ' 2T1 - ⁇ 1T2
  • equation (12) Substituting equation (12) in equation (13) yields equation (14) which is exemplary of equation (10) .
  • equation (15) is produced which is also exemplary of equation (10) .
  • an apparatus will determine at 10 when a new virtual connection is about to be established. If a new VC is being established, the apparatus will determine at 12 the service category of the new VC and will set the parameters based on the service category at 14. These parameters include T F , ⁇ , Q maX , and Q m i n - At 16, the apparatus will determine the amount of free space in the shared buffer and at 18 the apparatus will set the dynamic queue threshold using equation (9) . The apparatus will return to step 10.
  • the apparatus When no new VC is being established the apparatus will continue to monitor the amount of free space in the shared buffer at 16 and will reset the dynamic queue thresholds at 18 accordingly. Based on the queue thresholds, determination may be made by the apparatus to discard cells which would cause the queue length to exceed the queue threshold.

Abstract

A buffer management scheme for a shared memory in an ATM switch sets different dynamic thresholds (18) for different Vcs (10) according to the formula: Tsub i (U) = Tsub Fsub i + gama sub i . (B - U) where B is the total size of the shared buffer and U is the size of the used portion of the buffer. According to the invention, Tsub i (U) is the threshold (in number of cells) for the ith connection when the used portion of the buffer is U, Tsub Fsub i is the required buffer allocation (in number of cells) for the ith connection buffer when the buffer is full and gama sub i is a power of two chosen for the ith connection at the time the connection is set-up. Both Tsub Fsub i and gama sub i are chosen based on the service category of the connection (12). In addition, the buffer management scheme sets minimum and maximum buffer sizes based on the service category of the connection. Preferably, a minimum buffer is guaranteed for service categories above UBR (unspecified bit rate). For UBR traffic, the minimum buffer available is determined by the number of backlogged connections. The maximum buffer size for each connection is a function of the total buffer size B, Tsub Fsub i and gama sub i.

Description

DYNAMIC BUFFER MANAGEMENT SCHEME FOR ATM SWITCHES
This application claims the benefit of provisional application Serial Number 60/093,681 filed July 22, 1998.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates broadly to the field of telecommunications. More particularly, the present invention relates to the management of shared memory buffers in an asynchronous transfer mode (ATM) switch or node by setting of queue size and dynamic queue thresholds as functions of overall buffer occupancy and service category.
2. State of the Art
Perhaps the most awaited, and now fastest growing technology in the field of telecommunications in the 1990' s is known as Asynchronous Transfer Mode (ATM) technology. ATM is providing a mechanism for removing performance limitations of local area networks (LANs) and wide area networks (WANs) and providing data transfers at a speed of on the order of gigabits/second. The variable length packets of LAN and WAN data are being replaced with ATM cells which are relatively short, fixed length packets. Because ATM cells can carry voice, video and data across a single backbone network, the ATM technology provides a unitary mechanism for high speed end-to- end telecommunications traffic.
Because the data contained in the ATM cells can be generated from either generally fixed rate communications, or bursty type communications, it will be appreciated that traffic accommodation mechanisms have been introduced in order to avoid situations where ATM switches or nodes are over-taxed, resulting in loss of cells. In particular, various buffering mechanisms are well known. Among these include input queues, output queues, and shared buffers. It is now generally agreed that shared buffers are the preferred mechanism for implementing either input queues or output queues (or both) in an ATM switch.
The simplest implementation of shared memory buffers sets up queues for virtual connections (VCs) as needed and sets a queue length threshold for each queue regardless of the service category of the VC. This implementation is often referred to as the "Static Threshold" scheme. Arriving cells are admitted to the queue only if the queue length is smaller than the threshold set for the queue. Although the Static Threshold scheme is simple to implement, it does not adapt to changing traffic conditions. If one port in the switch (one VC) is very active, cells from that VC will be lost even if there is shared memory available to enlarge the queue.
Several "Dynamic Threshold" schemes have been proposed. These schemes attempt to adjust the queue length thresholds of all of the queues in shared memory based on the amount of currently available memory. One scheme for dynamic buffer management is disclosed in A. K. Choudhury and E. L. Hahne, Dynamic Queue Length Thresholds in a Shared Memory ATM Switch, Proc. IEEE INFOCOM '96 (San Francisco, California) pp. 1-9, March 1996 (hereinafter "Choudhury") . According to Choudhury, a control threshold T (t) at time t is set (using notation of the present invention) equal to a multiple γ of the unused buffer space as shown in equation (1) where B is the total size of the shared buffer and U is the size of the used portion of the buffer.
T(t) = y (B - U) (1)
If any queue reaches a length greater than or equal to the control threshold T (t) , cells destined for that queue will be discarded. Choudhury states that γ should be a positive, negative, or zero power of two so that a shifter can be used to regulate the control threshold. According to Choudhury, γ is adjusted depending on whether the switch is moderately loaded or heavily loaded and whether the load is uniform across all ports or non-uniform with one port more heavily loaded than others.
The Dynamic Threshold scheme of Choudhury is essentially a Static Threshold Scheme which is dynamically tuned according to load conditions in the switch. All VCs are treated equally and a certain amount of buffer space is intentionally wasted to accomplish this. The Choudhury scheme excels when there is a uniform load on the switch but does not provide much improvement over Static Threshold schemes when only a few ports in the switch are overloaded. Also, as specifically noted by Choudhury, the scheme does not address the issue of multiple service categories .
Current ATM service is offered in different categories according to a user's needs. Some of these categories include constant bit rate (CBR) , variable bit rate (VBR) , unspecified bit rate (UBR) , and available bit rate (ABR) . Some categories are given a higher priority than others when decisions are made to discard cells. For example, it is desirable that cells rarely, if ever, be discarded from CBR traffic. It has been recognized that the category of service should be taken into account when managing queues in shared memory. However, no scheme has been proposed for doing so.
SUMMARY OF THE INVENTION
It is therefore an object of the invention to provide a dynamic buffer management scheme for ATM switches.
It is also an object of the invention to provide a dynamic buffer management scheme which allocates shared buffer memory to VC queues based in part on the service category of the VC.
It is another object of the invention to provide a dynamic buffer management scheme which adjusts the allocation of shared buffer memory to VC queues based in part on the service category of the VC and overall congestion in the ATM switch.
In accord with these objects which will be discussed in detail below, the buffer management scheme of the present invention sets different dynamic thresholds for different VCs according to the formula expressed in equation (2) .
TfU) = TF + 7i . (B - U) (2)
As in equation (1), B is the total size of the shared buffer and U is the size of the used portion of the buffer. According to the invention, T (U) is the threshold (in number of cells) for the ith connection when the used portion of the buffer is U. TF1 is the minimum required buffer threshold allocation (in number of cells) for the 1th connection buffer when the buffer is full and Yi is preferably a power of two chosen for the ith connection at the time the connection is set-up. Both TF± and γi are chosen based on the service category of the connection.
In addition, the buffer management scheme of the present invention sets minimum and maximum buffer sizes based on the service category of the connection. Preferably, a minimum buffer is guaranteed for service categories above UBR (unspecified bit rate) . For UBR traffic, the minimum buffer available is determined by the number of backlogged connections. The maximum buffer size for each connection is a function of the total buffer size B, TFi, and Ji .
Additional objects and advantages of the invention will become apparent to those skilled in the art upon reference to the detailed description taken in conjunction with the provided figures . BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a graph of the relationship between dynamic threshold and overall buffer occupancy; and
Figure 2 is a flow chart illustrating the operations of an apparatus according to the invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
As mentioned above, a dynamic threshold T (U) can be set such that if the number of cells Qvc in a buffer equals or exceeds the threshold (Qvc≥T (U) ) , cells arriving at the buffer are discarded. Referring now to Figure 1, the dynamic threshold T (U) is shown to be a linear function of the overall buffer occupancy U. In particular, it will be noted that as the overall buffer occupancy increases, the dynamic threshold decreases, i.e. cells will be discarded sooner. Thus, the linear function has a negative slope. The "y intercept" of the function, labelled "x" on the y-axis of Figure 1, is the integer value of the dynamic threshold when the overall buffer occupancy is empty. Thus, the minimum required buffer threshold allocation T0 should be some integer number less than or equal to x. According to standard practices, buffer thresholds are set by add/subtract shift operations. Therefore, the slope of the function is preferably limited to an integer power of two, i.e. 2y. The intercept and the slope of the function T (U) can be chosen so that the threshold has some value TF when the buffer is full as shown in equation (3) .
T(B) = T r = x - 2yB (3)
Thus, the value of the intercept x can be expressed as shown in equation (4) .
X = TF + 2'B (4) As mentioned above, the threshold when the buffer is empty should be less than or equal to x as shown in equation (5) .
x ≥ T 0 (5)
Substituting equation (4) for x in equation (5) yields equation (6) .
T F + 2yB ≥ T 0 (x6)'
Equation (6) can be rewritten as equation (7) .
V > To ~ T? (7)
B
Therefore, an appropriate algorithm for choosing the value of y in order to set the slope of the threshold function can be expressed as equation (8) .
Figure imgf000008_0001
According to one embodiment of the invention, equations (4) and (8) may be used directly at the time a VC is set up to determine x and y from B, T0, and T . However, in the preferred embodiment y is selected on a per class basis, i.e. the value of y depends solely on the service category and the size of the buffer. TF is also preferably based solely on the service category .
With the above considerations in mind, the buffer threshold formula according to the invention can be expressed in simplified form as equation (9) .
TiU) = Tp + γ B - U) (9)
As shown in equation (9), T (U) is the threshold for the i^ connection buffer when the overall buffer usage is U. B is the total shared buffer size, and γj_ is 2Y where y is chosen for the ith connection at the time the connection is set-up based on service category and total shared buffer size. The thresholds, buffer size and buffer usage are given as an integer number of cells.
According to a preferred embodiment of the invention, minimum and maximum queue occupancy levels (Qπun and Qmax) are also set by the dynamic thresholding scheme for each connection. Table 1 illustrates the presently preferred recommended dynamic threshold parameters for five different service categories.
Figure imgf000010_0001
Table 1
In Table 1, α is a dimensionless coefficient as defined by ITU 1.371, the complete disclosure of which is hereby incorporated herein by reference. The default value of α is 120. PCR refers to the peak cell rate and τPCR refers to the cell delay variation tolerance or CDVT as defined in ITU 1.371 for constant bit rate (CBR) and variable bit rate-real time (VBR-rt) service categories. As above, B is the size of the shared buffer in number of cells. be is the effective buffer size as defined in IEEE Journal on Selected Areas in Communications, Vol. 13, No. 6, pp. 1115-11127 (1995) and TBE is the transient buffer exposure as defined in ATM forum Traffic Management Specification 4.0, April 1996, #af-tm-0056.000. The minimum buffer size Qmin is the minimum size of the buffer in number of cells when the shared buffer is completely full. Qmax is the maximum queue occupancy (in number of cells) allowed for a particular connection. For unspecified bit rate (UBR) service, Qmax is purely a function of the total shared buffer size and Qmin is a function of total shared buffer size and number of backlogged connections N. For a given service category, the value of the y parameter should be chosen such that the resulting value of Qmax is greater than or equal to the maximum value of Qmin for the service category. Moreover, for a given service category, y should be set proportionally to the expected queue length of a connection in the category. Several properties of the buffer management scheme can be ascertained from an analysis of the threshold formula shown in equation (9) . For example, if there are N connections each having a queue threshold defined by TFi and γ±, and if all connections are completely backlogged (i.e. their corresponding queue lengths are at their corresponding dynamic thresholds T± (i = I, 2, 3r . . . f N) ) , then the steady-state vc threshold (or the queue length) for each connection i can be expressed as shown in equation (10) .
(10) T. = Q =
Figure imgf000011_0001
The truth of equation (10) can be proven by iterative computation for N>2. For example, where N=2, there will be two iterations of equation (9), one for i=l and one for i=2. If the second equation is rewritten as a function of U as shown in equation (11) , it can be substituted into the first equation to establish the relationship between the two thresholds as shown in equation (12) .
Figure imgf000011_0002
T _ ηr .— • + r ' ■ i F r2 r2 :
:i2;
Under a complete backlog condition U=T1+T2 which can be used to rewrite the second iteration of equation ( 9) , i . e . where i=2, as equation (13) .
T 2 = T F + γ ' 2 B - γ ' 2T1 - γ1T2
( 13) Substituting equation (12) in equation (13) yields equation (14) which is exemplary of equation (10) .
(i4 ) 2 (1 + yl + r2)
Similarly, if the expression for T2 from equation (14) is substituted in equation (12) , equation (15) is produced which is also exemplary of equation (10) .
Figure imgf000012_0001
Repeating this process iteratively for higher values of N, will establish the truth of equation (10) .
A first corollary to the proof of equation (10) is that if there are N backlogged connections, each with the same j± but with different TF , then their steady-state queue lengths will be given by equation (16) .
(16)
Figure imgf000012_0002
A second corollary to the proof of equation (10) is that if there are N backlogged connections with the same γ± and with the same TF , then their steady-state queue lengths will be given by equation (17) .
Figure imgf000012_0003
The analytical results of equations (10) , (16) , and (17) were compared with simulation results obtained by simulating three connections sharing a common memory pool. The simulation memory was partitioned into per connection logical queues . Complete backlogged conditions were created by having per connection input rates exceed the output rates . A comparison of the simulation results with the analytical results is illustrated in Table 2.
Figure imgf000013_0001
Table 2
As can be seen in Table 2, the analytical results and the simulation results are virtually identical. The small differences between the results are because the simulation results were truncated to the nearest integer.
Those skilled in the art will appreciate that the dynamic buffer management scheme may be implemented in a combination of hardware and software in order to perform the functions outlined above. Referring now to Figure 2, an apparatus according to the invention will determine at 10 when a new virtual connection is about to be established. If a new VC is being established, the apparatus will determine at 12 the service category of the new VC and will set the parameters based on the service category at 14. These parameters include TF, γ, QmaX, and Qmin- At 16, the apparatus will determine the amount of free space in the shared buffer and at 18 the apparatus will set the dynamic queue threshold using equation (9) . The apparatus will return to step 10. When no new VC is being established the apparatus will continue to monitor the amount of free space in the shared buffer at 16 and will reset the dynamic queue thresholds at 18 accordingly. Based on the queue thresholds, determination may be made by the apparatus to discard cells which would cause the queue length to exceed the queue threshold.
There have been described and illustrated herein several embodiments of a dynamic buffer management scheme for ATM switched. While particular embodiments of the invention have been described, it is not intended that the invention be limited thereto, as it is intended that the invention be as broad in scope as the art will allow and that the specification be read likewise. It will therefore be appreciated by those skilled in the art that yet other modifications could be made to the provided invention without deviating from its spirit and scope as so claimed.

Claims

Claims :
1. A dynamic buffer management method for managing multiple ATM queues in a shared buffer, comprising: a) creating a queue for each virtual connection at the time the virtual connection is set up; b) setting a minimum queue threshold for each queue at the time it is created based on the service category of the virtual connection for which the queue was created; c) dynamically adjusting the queue threshold for each queue based on the minimum queue threshold and the amount of unused shared buffer space.
2. A method according to claim 1, wherein: said step of adjusting includes increasing the minimum queue threshold by a fractional amount of the unused shared buffer space.
3. A method according to claim 2, wherein: the fractional amount which is added to the minimum queue threshold is determined by the service category of the virtual connection for which the queue was created.
4. A method according to claim 1, further comprising: d) setting a maximum permitted queue occupancy for each queue at the time it is created based on the service category of the virtual connection for which the queue was created.
5. A method according to claim 4, wherein: the maximum permitted queue occupancy is a fractional amount of the dynamically adjusted queue threshold when the buffer is empty.
6. A method according to claim 4, further comprising: e) setting a minimum queue occupancy for each queue at the time it is created based on the service category of the virtual connection for which the queue was created.
7. A method according to claim 6, wherein: the minimum queue occupancy is based on the number of active backlogged connections.
8. A dynamic buffer management method for managing multiple ATM queues in a shared buffer, comprising: a) creating a queue for each virtual connection at the time the virtual connection is set up; b) setting a minimum queue threshold TF┬▒ for each ifch queue at the time it is created based on the service category of the virtual connection for which the queue was created; c) dynamically adjusting the queue threshold for each queue based on the formula
Figure imgf000016_0001
where B is the total size of the shared buffer, U is the size of the currently used portion of the buffer, ╬│ is a fraction based on the service category of the virtual connection for which the queue was created, and ┬▒ (U) is the dynamically adjusted threshold (in number of cells) for the ith connection when the used portion of the buffer is U.
9. A method according to claim 8, wherein:
Yi = 2y where y is chosen based on the service category of the connection.
10. A method according to claim 9, further comprising: d) setting a maximum permitted queue occupancy Qmax for each queue at the time it is created based on the formula
T + 2yB Q = -1
"" (1 + 2y)
11. A method according to claim 10, wherein: for CBR service and for VBR-rt service y= °S2-jjf | and T F = τ PCR PCR '. for VBR-nrt service y=-4 and T^be. for ABR service y=-4 and TF-TBE; and for UBR service y=0 and TF=0.
12. An apparatus for dynamically managing multiple ATM queues in a shared buffer, comprising: a) means for creating a queue for each virtual connection at the time the virtual connection is set up; b) means of setting a minimum queue threshold for each queue at the time it is created based on the service category of the virtual connection for which the queue was created; c) means for dynamically adjusting the queue threshold for each queue based on the minimum queue threshold and the amount of unused shared buffer space.
13. An apparatus according to claim 12, wherein: said means for dynamically adjusting includes means for increasing the minimum queue threshold by a fractional amount of the unused shared buffer space.
14. An apparatus according to claim 13, wherein: said means for dynamically adjusting includes means for determining the fractional amount which is added to the minimum queue threshold based upon the service category of the virtual connection for which the queue was created.
15. An apparatus according to claim 12, further comprising: d) means for setting a maximum permitted queue occupancy for each queue at the time it is created based on the service category of the virtual connection for which the queue was created.
16. An apparatus according to claim 15, further comprising: e) means for setting a minimum queue occupancy for each queue at the time it is created based on the service category of the virtual connection for which the queue was created.
PCT/US1999/016477 1998-07-22 1999-07-21 Dynamic buffer management scheme for atm switches WO2000005656A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CA002338218A CA2338218A1 (en) 1998-07-22 1999-07-21 Dynamic buffer management scheme for atm switches

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US9368198P 1998-07-22 1998-07-22
US60/093,681 1998-07-22

Publications (1)

Publication Number Publication Date
WO2000005656A1 true WO2000005656A1 (en) 2000-02-03

Family

ID=22240192

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/016477 WO2000005656A1 (en) 1998-07-22 1999-07-21 Dynamic buffer management scheme for atm switches

Country Status (2)

Country Link
CA (1) CA2338218A1 (en)
WO (1) WO2000005656A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100405786C (en) * 2005-12-09 2008-07-23 清华大学 Sharing cache dynamic threshold early drop device for supporting multi queue
CN107656881A (en) * 2017-09-13 2018-02-02 中国科学院半导体研究所 Data storage transit system based on FPGA

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5541912A (en) * 1994-10-04 1996-07-30 At&T Corp. Dynamic queue length thresholds in a shared memory ATM switch
US5901139A (en) * 1995-09-27 1999-05-04 Nec Corporation ATM cell buffer managing system in ATM node equipment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5541912A (en) * 1994-10-04 1996-07-30 At&T Corp. Dynamic queue length thresholds in a shared memory ATM switch
US5901139A (en) * 1995-09-27 1999-05-04 Nec Corporation ATM cell buffer managing system in ATM node equipment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100405786C (en) * 2005-12-09 2008-07-23 清华大学 Sharing cache dynamic threshold early drop device for supporting multi queue
CN107656881A (en) * 2017-09-13 2018-02-02 中国科学院半导体研究所 Data storage transit system based on FPGA

Also Published As

Publication number Publication date
CA2338218A1 (en) 2000-02-03

Similar Documents

Publication Publication Date Title
US6240066B1 (en) Dynamic bandwidth and buffer management algorithm for multi-service ATM switches
EP1122916B1 (en) Dynamic buffering system having integrated radom early detection
US5917804A (en) Connection admission control for ATM networks handling CBR and VBR services
US6438106B1 (en) Inter-class schedulers utilizing statistical priority guaranteed queuing and generic cell-rate algorithm priority guaranteed queuing
EP1028600B1 (en) An optimal buffer management scheme with dynamic queue length thresholds for ATM switches
US20080069113A1 (en) Method and system for controlling atm traffic using bandwidth allocation technology
US6018518A (en) Flow control in a cell switched communication system
US6587437B1 (en) ER information acceleration in ABR traffic
EP1183901A1 (en) Bi-modal control system and method for partitioning a shared output buffer in a connection-oriented network
WO2000076148A1 (en) Method for allocating bandwidth to real-time variable bit rate (rt-vbr) traffic
EP0845182B1 (en) Traffic policing in broadband networks
KR100429897B1 (en) Adaptive buffer partitioning method for shared buffer switch and switch used for the method
WO1997001895A2 (en) Connection admission control system (cac) for atm networks
Fan et al. An optimal buffer management scheme with dynamic thresholds
WO2000005656A1 (en) Dynamic buffer management scheme for atm switches
Chao et al. Design of an ATM shaping multiplexer with guaranteed output burstiness
EP0481447A2 (en) Method of controlling communication network incorporating virtual channels exchange nodes and virtual paths exchange nodes
He et al. Connection admission control design for GlobeView®-2000 ATM core switches
Hasegawa et al. Performance of TCP over ABR service class
Elsayed et al. Analysis of an ATM statistical multiplexer with heterogeneous Markovian on/off sources and applications to call admission control
WO2000022785A1 (en) Atm connection admission control device for dbr connections
Mitrou et al. Traffic engineering using a class ofM/G/1models
Rejin et al. Modified round-robin scheduler for pareto traffic streams
Pao et al. Cell scheduling for ATM switch with delay-sensitive and loss-sensitive traffic
Atkinson A traffic control scheme for virtual paths in an asynchronous transfer mode network

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA JP US

AL Designated countries for regional patents

Kind code of ref document: A1

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

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

Ref document number: 2338218

Country of ref document: CA

Ref country code: CA

Ref document number: 2338218

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 09744324

Country of ref document: US

122 Ep: pct application non-entry in european phase