CA2254104A1 - Method and apparatus for per traffic flow buffer management - Google Patents

Method and apparatus for per traffic flow buffer management Download PDF

Info

Publication number
CA2254104A1
CA2254104A1 CA002254104A CA2254104A CA2254104A1 CA 2254104 A1 CA2254104 A1 CA 2254104A1 CA 002254104 A CA002254104 A CA 002254104A CA 2254104 A CA2254104 A CA 2254104A CA 2254104 A1 CA2254104 A1 CA 2254104A1
Authority
CA
Canada
Prior art keywords
buffer
threshold
cell
connection
common
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.)
Abandoned
Application number
CA002254104A
Other languages
French (fr)
Inventor
David A. Hughes
Daniel E. Klausmeier
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.)
Cisco Technology Inc
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of CA2254104A1 publication Critical patent/CA2254104A1/en
Abandoned legal-status Critical Current

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/104Asynchronous transfer mode [ATM] switching fabrics
    • H04L49/105ATM switching elements
    • H04L49/108ATM switching elements using shared central buffer
    • 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

Abstract

A method of managing oversubscription of a common buffer resource shared by a number of traffic flows in a cell switching network in response to the utilization of the common buffer resource. A buffer utilization threshold is established for each of the traffic flows. As new cells arrive, the global usage of the buffer resource is monitored. As the buffer utilization increases, the thresholds for each of the traffic flows are dynamically adjusted based upon the global usage of the buffer. Aggressive buffer allocations are scaled back when necessary, thereby leaving space for traffic flows which are relatively empty. In one embodiment, the thresholds are coded in mantissa and exponent form so that the scaling is accomplished by adjusting the exponent value.

Description

METHOD AND APPARATUS FOR PER TRAFFIC FLOW
BUFFER MANAGEMENT

FIF~ .n OF THF ~VF.~II-)N
The present invention relat_s generally to the field of cell switching network co."u~ ~ir~ti~nc and, more spe~ific~lly~ to the çfflriPnt m~n~mPnt of shared buffer resources within such a network.
BACKGROUND
The desire to integrate data, voice, image and video over high speed digital trunks has led to the developm-P-nt of a packet switching technique called cell relay or asynchronous transfer mode (ATM). ATM traffic is switched and multiplexed in fixed length cells and an ATM nelwolk typically provides a number of inte.col-n~ d nodes which are capable of receiving data from other network nodes and forwarding that data through to other network nodes to its Illtim~t~P
destin~ti~n Nodes are interc~nne~t~d by tr:~ncmi~cion paths, each of which supports one or more virtual paths. Each virtual path contains one or more virtual ch~nnP-lc Switching can be performed at the trancmiCcion path, virtual path or virtual çh~nn~l level.
Network nodes generally employ buffering schem~c to prevent contention for switch resources (e.g., ports). In the past, this has included relatively unsophictic~tPd solutions, such as a first-in-first-out (FIFO) queue at each port.
This solution quickly leads to cells being dropped in(1iscrimin ~ly when the volume of network traffic is large. Other sch~mes involve "per connectionll b..rr~ . ;ng where each logical conn~ctinn (i.e., virtual path, virtual ch~nnel) is allocated its own cell memory. When the number of su~polt~d con~ ;on.c is large, however, the sum of the m~Yiml.m buffer requirements for individual connections may dr~Cti~ y exceed the physical available memory.
If one large buffer resource is to be shared arnong a number of connections then, some form of buffer m~n~gt m~nt must be employed. In the past, one solution has been to divide the buffer into a number of queues of fixed length and "hard ~lloc~t~" capacity for each connection. The problem with this solution is that the fixed length queues offer no flf-Yihility depending upon network traffic con~litionc Ir. addition, because of size and cost consl~ ts, each queue would have to remain relatively small as a single switch may support thousands of logical WO 97/43869 . PCT/US97/07839 connPctionc Those l~twolL. connPctinnc with signifir~-lt amounts of traffic would likely soon fill up their allotted 4ueue and cell dropping would soon result.
Another solution has been to ove~ubscribe the single memory ~e~o~e and allow each co~m~ ;on to buffer up to a fixed m~Yimllm, but where the sum of all the conne~tif~n m~ximq eYGePAs the memory c~a~ily. This ~ltçrn~tive relies on the fact that all connections are unlikely to r~quire their maximum buffer space at the same time. Although this condition is true most of the tirne, it is inevitable that con~ntiQn for buffer space will result at some point. Once contention does result, cells are dropped in-liccrimin~tçly, i.e., without regard for whether a connç~ on is already using a .cigllifir~nt amount of buffer space or not. A third solution has be~en to reserve a minimllm buffer ~lloc~ ~iot for each connPction with the lln~lloc~te~ space available on a first-come-first-served basis. This allows each conne~tion a guaranteed minimum buffer space. The problem with this solution is that where the number of logical connections runs into the thousands, a very large (i.e., eyppncive) common buffer is required for any reasonable minim~lm None of the buffer m~nagPment schemes of the prior art have .~tisf~torily addressed the problem of per c~nn~P~tjnn buffer m~n~PmPnt for large numbers of cormP,cti~ nc Hence, it would be dçcir~blP to have a m~Pch~nicm for effectively mzln~ging the oversubscription of a shared buffer resource.

SUMMARY AND OBJECTS OF THE INVEN IION
It is therefore an object of the present inve~llioll to provide an improved method for m:lna&jng the ove.s..bscliplion of a common communications l~,Soul~;Gshared by a large number of traffic flows, such as ATM conne~tio~c It is a further object of the present invention to provide an ~ffiriçnt method of buffer m~n~PmÇnt at t,he co.~ n level of a cell s~,vitching data COm~ );C~I;On nGlWUI1~ SO as to minimi7~ the oc-;ullG.~ce of l~_soulce overflow COrl~iti~!ns~
This and other objects of the invention are achieved by an effective method for m~n~ing ovçrsubscription by dyn~mir~lly ch~nging the maximum buffer space allowed for a particular traffic flow or conn~ction in l~l,onse to the global utilization of a single buffer l~soun~e. A buffer utilization threshold for each of a nnm~r of various traffic flows is established, As new cells arrive, the global usage of the buffer rGsource is monitored. As the buffer fills, the individual thresholds for the various traffic flows are dyn~mir~lly scaled based upon the global usage of the buffer. This method allows ,~ d buffer space for sensitive traffic flows despite the ove~ )lion. Aggressive buffer allocations are scaled back when ~e~esc ~ , thereby leaving space for traffic flows which are using only a small portion of their allocated buffer space. The present invention in effect rn~int~inC isolation between well behaved traffic flows, incuring that only flows which are using a disproportionate amount of memory are blocked from storing further cells or packets in the memory when the global resource usage approaches capacity.
In one embo~iment, the thresholds are coded in m~nticc~ and exponent form so that the scaling is ~ comrliched by adjusting the exponent. This approach allows a minimllm of memory to be used to store the flow thresholds and simplifi~Ps ~e mP~h~nicm for scaling the threchol~lc.
Other objects, features and advantages of the present invention will be appa.~l-t from the accompanying drawings and from the d~Pt~ilPd clecrrir~inn which follows.

BRIEF DF,.~CRIPrION OF THE DRAWINGS
The present invention is il1nct~tpd by way of eY~mple and not limit~qti- n in the figures of the accompanying drawings, in which like references in~ t~p~ similar elementc, and in which:
Figure la is a flow r~i~m illu~ g the initi~li7~tion of various pal;"~r~el ~ accordillg to one embo lin e,nt Figure lb is a flow di~.~ll illu~l~d~g dynamic per traffic flow buffer m~na~mpnt accol~ing to one embo~lirnPnt Figure lc is a flow ~ gr~ illustrating a cell service routine according to one embodiment;
Figure 2 is a plot which grarhic~lly illustrates the number of cells stored in a common buffer by each of a number of traffic flows;
Figure 3 is a plot similar to the plot shown in Figure 2 that further shows a number of buf,fer thresholds corresponding to the various traffic flows sharing the common buffer;
Figure 4 is a plot similar to the plot shown in Figure 3 and shows the common buffer l1tili7~tion at a later time;

WO 97/43869 . PCT/US97/07839 Figure 5 is a plot similar to the plot shown in Figure 4 and illustrates the effect of dynamic buffer threshold scaling for one traffic flow rr~ L ~ing to one embo~lim~Pnt and Figure 6 is a plot similar to the plot shown in Figure 4 and illustrates the effects of dynamic buffer threshold scaling for a different traffic flow accol~ulg to one embo~imP.nt DETAlT F.n D~SCRIPI'ION
An improved method and appala~us to efficiently mr-lagp~ a common comm..nic~tions buffer resource shared by a large number of traffic flows, such as a cell memory shared by ATM virtual ch~nn~lC or paths, is described. According to one emborlimpnt~ oversl1bscrirtion of a shared buffer Icso-~;e is m~n:~g~Pd by dyn~mic~lly ch~nging the maximum buffer space allowed for each traffic flow in response to the global utilization of a single shared buffer resource.
Upon review of this specifir~tion~ those skilled in the art will appreciate that the methods and a~p~alus to be described are applir~' kP at a number of levels.
For eY~mplP, the methodc can be employed at the "per logical connecti-)n" level or at the "per quality of service" level, among others. To ~co~mt for the numerous levels at which the present invention is applicable, the term "traffic flow" is used throughout this specification. Those skilled in the art will appreciate that this term describes the general nature of the levels at which the present invendon is appli. ~ lf . A presently p~fel,~d embo~1iment utilizes the invention at the perlogical co~ne~ n level in m m ~ein~ common buffer resources in ATM nGlWOIk nodes. In this particular case, a traffic flow is ~ ate1 with the transport of cells on a single logical conn~ction. The particular nature of this em~hodiment shouldnot, however, be seen as limiting the more general nature and scope of the present invention as set for~h in the appended claims.
In a fully integrated voice and data tP~P~ommunications net~,vork, a variety of switching nodes will be present. Each node is inLrco~ P~-~d to other network nodes by a variety of t~n~missj~ n paths. The ay~ capacity of these tr~ncmi~ion paths is inc~ascd using virtual connec! ;on~ In other words, rather than committing spe~ifi~ resources to a given source-~lestin~tion pair, each node conne~;~, a source-destin~ti~)n pair only when information, in the form of a cell, is present. When cells are not being created for a given source-destin~tion pair, the same net~,vork l~,SOUl~;eS are used to !~ .C..~;l cells for other source-~lestin~tion pairs. Cells are packets of fixed length and c~mpri.ce both flow control (i.e., cell header) and payload inform~tti- n Any or each of the nodes in a tel~P~mm--nir~tions network may comprise a cell memory or buffer which is available to a number of traffic flows. These buffers may exist at various levels, for example, at the port level, the card level (where a single card supports m~tltiple ports), the switch level, the class of service level, etc. As used hereafter, the term "per flow" is meant to include any or all sitll tti~?n.C where a single buffer resource is shared by a number of traffic flows, regardless of the level on which the sharing may occur.
The basic operation for per flow buffer control acco~ g to the present invention is described with reference to Figures la-lc. As shown in Figure la, an iniSi tli7~ttion procedure begins at step 10. At step 12, a shared buffer is initi;~li7Pd and a buffer count and flow cell counts are reset to zero. The use of these counts is described below.
Figure lb illustrates the operation of dynamic threshold scaling for a preferred embo~im-Pnt As a new cell arrives at step 14, the collcs~nding trafficflow is detP~nninf -d from the cell header inform~tion at step 16. The default threshold and buffer count for that flow are then retrieved from memory at step 18.
The default threshold can be thought of as Icp~ Pnt;~g the m~xim~m amount of buffer resources that a flow may use if no other flows are currently using the buffer. In other words, the default threshold l~;l)lcsents the maximum number ofcells a given flow may store in the buffer under the "ideal" cc ndition where noother traffic flows or resources are using the buffer. These thresholds may be dete,l~ ed based on factors such as total available buffer si~, cUct~m~pr requirem-Pntc~ traffic type, etc. The flow cell count ~l~lcse~lls the number of cells corresponding to the particular traffic flow of interest which are already stored in the buffer. At step 20, the total buffer utili7~tion is d~PtPrmin-P~d That is, the total number of cells from all traffic flows which are stored in the buffer is determinP.d Using the global buffer utili7~tinn from step 20 and the flow identific~tion from step 16 as in~i~P,s, a scaling factor for the flow threshold is retrieved from alookup table stored in memory at step 22. The scaling factor is used to c~ tP
the flow dynamic threshold in step 24 accordiilg to the following formula:

Dynamic Threshj = Threshj * SF
where:
Dynamic Threshi = the dynamic threshold for the i~ traffic flow;
Threshj = the default threshold for the itb traffic flow; and SFj = the scaling factor for the jth traffic flow according to the global buffer ~.tili7~tinn At step 26 a co~ a,ison is made to d~,te,."ine if the number of cells corresponding to the traffic flow of interest already stored in the buffer e~Y.l~eerlC the dynamic threshold for that flow. If so, the process moves to step 28 and the newcell is dropped. Othenvise, the process moves to step 30 where the new cell is ~mitted and the buffer count for the flow of interest and the global buffer count are incremPn~
As shown in Figure lc, when a cell departs the buffer, the coll~,~onding flow cell count and the global buffer counts are decrementPd In this way, current buffer counts are m~int~inP~ at both the flow and global levels. The process 100of Figure 1 is further descrihed in detail with lef~ ,.lce to Figures 2-6, below.
Referring to Figure 2, a graph depicting the common usage of a single buffer resource by a nurnber of traffic flows is shown. The horizontal axis of the graph of Figure 2 shows the traffic flows which are sharing the buffer. AlthoughFigure 2 shows only five flows sharing the single buffer, those skilled in the art will appreciate that this is for purposPs of clarity and .$im~ ity only and that the buffer m~na&Pm~nt methods of the present invention are equally applicable to situations where any number of traffic flows share a single common buffer. The vertical axis of the graph shown in Figure 2 is a count of the number of cells stored in the buffer by each flow. For the ex~nple shown in Figure 1, traffic flow 1 has 500 cells stored, traffic flow 2 has 1250 cells stored, traffic flow 3 has 750 cells stored, traffic flow 4 has 650 cells stored and traffic flow S has 1000 cells stored. Thus, for the example shown in Figure 2, a total of 4150 cells are stored in the shared buffer.
Figure 3 further ill.ls~Ps the eY~mp'~ begun in Figure 2. Each flow has the same number of cells stored in the shared buffer as in Figure 2. In Figure 3, however, a number of default thresholds are shown. Each default threshold (Threshl through Threshs) corresponds to a respective one of the traffic flows 1through 5. For the exarnple shown in Figure 3, Threshl is set at 3000 cells, WO 97/43869 . PCT/US97/07839 Thresh2 is set at 9000 cells, Thresh3 is set at 4000 ceUs, Thresh4 is set at S000 cells and Threshs is set at 7000 cells. As in~ ted above, the default thresholds.~p..~,.l the m~Yimllm amount of buffer ~sou--;~ that each particular flow may use if no other co.l..f~l;ons are ~;ull~,nlly using the buffer. The thre~holds have been d.~ nined based on factors such as total available buffer size, .;~ o--.e~
.~uir ~.~ent.~, traffic type, etc.
Referring now to Figure 4, the graph of buffer utilization for the shared buffer is shown at a later point in time than was dep:c t~-d in Figures 2 and 3. In the situation depicted in Figure 4, flows 2 and 4 have added a number of cells to the common buffer. Traffic flow 2 now has 5,500 cells stored in the buffer and traffic flow 4 has 1250 cells stored in the buffer. Flows 1, 3 and 5 have neither added nor removed cells from the buffer. Thus, a total of 9000 cells are stored in the buffer for the instant of time shown in Figure 4. If the common buffer is capable of storing a maximum of 10,000 cells total, for the e~ ,le depicted in Figure 4 the buffer is at 90% cap~ci~y.
Suppose now a new cell alTives. In accol~lce with the methods of the present invention, the new cell's co~ .yonding traffic flow information is det~,rrninPd For this example, suppose the new cell is ~csoçi~tPd with flow 2.
The default threshold and buffer count for flow 2 are ~ io~cd from memory. As shown in Figure 4, Thresh2 is 9000 cells and the global buffer count is 9000 cells (i.e., 90% of ca,oacily). Using the global buffer utilization, the appropli~ scaling factor for the flow 2 threshold is ~el.;cvcd from a lookup table stored in memory.
For this eY~mple~ suppose the flow 2 threshold is to be scaled back to one-half of its default value when global buffer ~ltili7, ~ion reaches 90% of capacity (the very sih~tion depicted in Figure 4). Thus, the Dynamic Thresh2 based on the current -buffer utili7~ti~n is 112 * 9000 = 4500 cells. This is gr~hir~lly illustrated inFigure 5.
The decision on whether to admit the new cell for flow 2 is now based on the dyn~mir~lly scaled threshold for flow 2. As shown in Figure 5, flow 2 is already storing 5500 cells in the comm- n buffer. This excee.lc the dyn~mic~lly scaled threshold for this flow (which is 4500 cells for the depicted buffer utili7~ion con~lition). As a result, the new cell is dropped.
Suppose now a new cell coll~,;,ponding to traffic flow 1 arrives. The buffer ntili7~ti~n has not çhp~ngto.d from the ~itu~ti~n depicted in Figures 4 and 5.

Flow 1 still stores 500 cells, flow 2 is storing 5500 cells, flow 3 is storing 750 cells, flow 4 is storing 1250 cells and flow 5 is storing 1000 cells. Thus, buffer utili7~ti~ n remains at 90% of capacity. Also, recall that the default threshold for flow 1 is 3000 cells, as shown in Figure 3.
As the new cell for flow 1 arrives, the default th~shold (3000 cells) and current buffer count (500 cells) for flow 1 are rellic~rcd from memory. Using the global buffer ~ltili7~tir)n (90%), the approp.iate scaling factor for the flow 1threshold is retrieved from the lookup table stored in memory. For this eY~mplf,suppose that like flow 2, the flow 1 threshold is to be scaled back to one-half of its default value when global buffer utili_ation reaches 90% of capacity. Thus, the Dynamic Threshl based on the current buffer utili_ation is 1/2 * 3000 = 1500 cells. This is g~al h;rally illustrated in Figure 6.
The de~icion on whether to admit the new cell for flow 1 is now based on the dyn~mic;llly scaled threshold for flow 1. As shown in Figure 6, flow 1 is only storing 500 cells in the common buffer. This is less than the number of cells pç~nitt*d by the dynqrnic~lly scaled threshold for this flow. As a result, the new cell is a~lmitt*-d to the buffer and the global buffer count and flow 1 buffer count are incremPnte~
The above examples illustrate how dy~ lic scaling pen~li7~s only those flows which are using si~nifir~nt portions of their allocated buffer space. Flow 2 was using a .eignifir~r~t portion of its ~lloc~t~ capacity (5500 out of 9,000). As the buffer reached the 90% full level, dynamic scaling was employed and flow 2 was not perrnittPd to store any more cells. Under these conditions, flow 2 wouldnot be allowed to store any more cells until global buffer u~ili7~tion had declined.
On the other hand, given the same buffer l~tili7~ion (90% of capacity), flow 1, which was storing only 500 cells (1/6 of its co~figured m~xim~lm), was permittf~d to store another cell. Note also that although flow 2 was using a cignifir~nt amount of buffer space, dynamic scaling only ~ffe~tP.~ newly arriving cells. That is, although flow 2 was already storing more cells (5500) than would otherwise be permi~tfl1 accor~illg to the dyn~mic~lly scaled threshold (4500), no previously stored cells were discarded.
It will be app.~iated that ~ii rrc,e~ .~ scaling tables can be provided for different traffic flows. For inct~nre, scaling Class 1 might be used for UBR
traffic, Class 2 might be for ABR traffic and Classes 3 and 4 used for more sensilive traffie sueh as VBR and CBR. Table 1 shows some eYe~pl~y se~ g.~, although it will be appreeiated that other sealing faetors eould be used. The per flow thresholds for ABR and UBR traffie are l;kely to be set aggressively high as these classes ean tolerate scaling back _arly. Other traffie types (sueh as CBR and VBR) would generally have smaller per flow threch~ but would be more sensitive to sealing baek Table 1 Buffer Scaling Scaling Scaling Scaling Utilization Factor Factor Factor Factor Class I Class 2 Class 3 Class 4 < 90%
90% 1/2 91% 1/4 92% 1/8 1/2 93% 1/16 1/4 94% 1/32 1/8 95% 1/64 1/16 96% 1/256 1/32 1/2 97% 1/1024 1/64 1/2 98% 1/4096 1/256 1/4 99% 1/16384 1/16384 1/4 The 1 % h~ el-t.c, the starting value of 90%, and the sealing fraetions are all examples only. The contentC of the table are, in general, configurable. For - example, to provide a safety margin for CBR and VBR queues, it may be desirable to move the seale table lower, that is, replacing the 9X% with 8X% or 7X%.
Also, the sealing factors can be made user sele~t~hle based on netwo.~ conditions and/or requirPmP.n~c l.imiting the scaling faetors to binary fractionc ean dr~c~ y simplify the implemPnt~tion In such an embodimPnt, the thresholds are preferably stored in a format having a 4bit m~nti~ (M) and a common 4-bit eAI3ollellt (E). The linear threshold ~I~) is e~lc~ tP~1 as T=Mx2E. Thus, the scaling can be easily achievedby adjusting the ~Apo.~"t such that T=Mx2(E-A) where A is obtained from Table 1 WO 97/43869 . PCT/US97/07839 -1~
(in other words, Table 1 would actually store the adjustmçnt A = ~0,1, 2, 3 . . .
rather than the fraction ~1,1/2, 1/4, 1/8 .... ~).
It will be appl~;alGd that the dyl~l~ie threshold scaling method has several perform~nre advantages over eYictin~ t~hn;~l~)es~ For eY ~mr'~ the method is sr~l~hl~o to a large number of traffic flows and for a large number of per flow queues. Sensitive traffic flows can be isolated from "memory hogs". The method further ensures "fair" allocation of IGsou~es between flows in the same scale and class. Note that "fair" does not nece ~c!~;ly mean equal (at 90% buffer utili7~tion flow 2 was permitted to store 4500 cells while flow 1 was only allowed 1500), rather, resource allocation may be ~e~e....h.~d by individual c~lstompr needs.
Dynamic scaling further allows pref~renti~ t.c of groups of traffic flows via the selection of scaling classes. Global l~,sou.ce overflows are avoided and, hence, the perform~nr~ degradation that accomp~nies these events is avoided.
Storing the thresholds associated with the flow in the form of separate m~nticc~c with a shared exponent dr~ctic~lly reduces the memory which would otherwise be required to store these threchok1s. A convention~l al)proach would require 20 bits per threshold per flow. The prGrGIlGd method, however, requires just 20 bits to store all the thresholds (~C~lming a 4-bit IG~ S~ ;on). This makes a signifi- ~nt difference when the number of flows is large. Furthermore, it reduces the proceccing bandwidth ber~-ce the buffer count comparisons share a common exponent test and a simple 4-bit m~ntiss~ co.l.pa ison.
In addition to m~ximum threshold discard control as described above, a number of other options can be s.~polllcd using the methods of the present invention. Por eY~mrle, dericions on whether to discard cells which have their cell loss priority (CLP) bits set or decisions on whether to use EFCI congestioncontrol can be made acco. Iing to dyn~mic~lly scaled threcholds. Such implement~tions are ~liccncse~l below.
Typically, each node in a network ...~ ;..c information regar~ling each traffic flow (e.g., VP and/or VC) it supports. To impl~ment per flow dynamic scaling m?n~ t options, ~ddition~l information would be m;lint~in~d by these nodes. Then, for each cell, the cell header is used to genP~te a flow in~ir:ltor that indexes a lookup table that con~ linc inform:~tion regarding the traffic flow ofinterest. The lookup table may be stored in a memory associated with the WO 97143869 . PCT/US97/07839 node of interest and would store a number of thresholds whieh could be dyt~mir~lly scaled.
As an PY~mr~, cc n~idPr the ease where a CLP threshold is to be scaled.
In sueh an embo~iment, eells whieh have their CLP bits set (CLP = 1) will be discarded when the buffer eount for the traffie flow of interest ey~c-p~e(lc the CLP
threshold. The CLP thresholds ean be dyn~mir~lly scaled aceoldi.lg to the procedure described above.
As another PY~m, le, consider the ease of frame diseard. In many applications, data is sent in frames. In such cases, once one cell is lost, the rest of the cells in the frame are not useful. "Goodput" can therefore be improved by disea~di~lg the rem~ining cells in the frame. A single bit per flow (frarne diseard enable bit) could be used to enable this feature.
In this case, logic ~ccoci~t~d with the node co~ g the common buffer would keep track of end-of-frame (EOF) indic~tQrs in arriving cells. In this way, frames could be distinguished. Various state inforrnation dete~ ined from the EOF in-lic~tor.c and a dyn~mic~lly scaled early paeket discard threahold could then be used to trigger frame discarding.
Per flow buffer m~n~,5~ t can also be used to set the EFCI bit in cell headers to allow for the use of other congestion m~n~gemPnt procec~cPc. The EFCI threshold is ch~lrPd as cells are serviced. If the buffer count for the traffic flow of interest is greater than the EFCI threshold for that flow, the EFCI bit in the cell header set. Again, the EFCI threshold can be dyn~mir~lly scaled accordLIlg to the above descrihed process.
Thu~" an effirient method for m:ln~ing a common commllni( ~tionc buffer resource shared by a large number of traffic flows (e.g., pr~cesses or connections) has been described. In the foregoing specific~tion. the invention has been described with ,~,fe,~"~ce to specific ~Yemrl~ly embo limentc thereof. It will, however, be clear that various mo-~ific~ti- ns and changes may be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. For example, those skilled in the art will appreciate that the common buffers described in the specificati~ may exist at a variety of levels within a network switch node. This in~hldes the port level, card level, switch level, etc. Also, eY~mpl~ry thresholds of interest, such as maximum cell discardthreshoklc, CLP thresholds. EPD thresholds and EFCI thresholds have been WO 97/43869 . PCTIUS97/07839 ~~iccllcc ~ ~lthol)gh d;~ ~d sep&-~tely, those skilled in the art will recognizethat the buffer count checks for each of these thrçcholds may he pc~Ço..l,ed .cimlllt~neollcly or in various groupings according to user and network ~ui~ rntC Further, these are only ~Y~mpl~-s of the types of thresholds which might be dyl qrnir~lly scaled. Those skilled in the art will recognize that a number of other thresholds may be dr~n-irq~ly configured to achieve desired traffic m~na~Pmrnt in a data communiratinnc ne~vork. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a ~e~ ive sense.

Claims (24)

What is claimed is:
1. A method of managing a common buffer resource shared by a plurality of processes including a first process, the method comprising the steps of:
establishing a first buffer utilization threshold for said first process;
monitoring the usage of said common buffer by said plurality of processes;
and dynamically adjusting said first buffer utilization threshold according to said usage.
2. The method of claim 1 wherein said plurality of processes is a plurality of traffic flows and said first process is a first traffic flow.
3. The method of claim 1 wherein said first buffer utilization threshold is represented in a format having a mantissa and an exponent.
4. The method of claim 1 wherein said first buffer utilization threshold is a cell maximum threshold.
5. The method of claim 1 wherein said first buffer utilization threshold is a cell loss priority (CLP) threshold.
6. The method of claim 1 wherein said first buffer utilization threshold is an early packet discard (EPD) threshold.
7. The method of claim 1 wherein said common buffer has a maximum capacity and wherein the step of dynamically adjusting comprises:
determining said usage of said common buffer by said plurality of processes;
determining a first scaling factor according to said usage of said common buffer; and scaling said first buffer utilization threshold by said first scaling factor.
8. The method of claim 3 wherein the step of dynamically adjusting comprises performing a subtraction operation on said exponent.
9. The method of claim 3 wherein a plurality of thresholds, each of said plurality of thresholds corresponding to a respective one of said plurality of processes, share a common exponent and wherein said plurality of thresholds are scaled simultaneously using a subtraction operation on said common exponent.
10. A buffer management process for a cell switching communications network having a first node, said first node having a common buffer being sharedby a plurality of network connections including a first connection, the process comprising the steps of:
receiving a first cell at said first node, said first cell being associated withsaid first connection;
determining a buffer count for said common buffer, said buffer count representing a current utilization of said common buffer by said plurality of connections;
establishing a first connection threshold for said first connection according to said buffer count; and determining whether said first cell will be accommodated in said common buffer using said first connection threshold.
11. The buffer management process of claim 10 wherein the step of establishing the first connection threshold comprises:
establishing an initial connection threshold; and dynamically adjusting said initial connection threshold according to said buffer count, said dynamic adjusting producing a first scaled threshold.
12. The buffer management process of claim 11 wherein the step of determining whether said first cell will be accommodated comprises:
establishing a connection cell count, the connection cell count indicating the number of cells associated with the first connection stored in said common buffer, comparing said connection cell count to said first scaled threshold, wherein if said connection cell count exceeds said first scaled threshold, said first cell is not admitted to said common buffer.
13. The buffer management process of claim 12 wherein said first connection threshold is coded in a format having a mantissa and an exponent and said step of dynamically adjusting comprises a subtraction operation.
14. A buffer management system for congestion prevention in a cell switching communications network comprising a plurality of logical connections, the buffer management system comprising:
a first node receiving network traffic transmitted over said plurality of logical connections, said first node having a common buffer and further having abuffer control device, said buffer control device monitoring the usage of said common buffer by said network traffic and dynamically scaling a buffer utilization threshold according to said usage, said buffer utilization threshold corresponding to a first of said plurality of logical connections.
15. A buffer management system as in claim 14 wherein said buffer control device further comprising:
a lookup table stored in a memory, said lookup table comprising buffer threshold scaling factors.
16. The method of claim 14 wherein said buffer utilization threshold is represented in a format having a mantissa and an exponent.
17. A buffer management system as in claim 14 wherein said buffer utilization threshold is a cell loss priority (CLP) threshold.
18. A buffer management system as in claim 14 wherein said buffer utilization threshold is early packet discard (EPD) threshold.
19. A buffer management system as in claim 14 wherein said buffer utilization threshold is a cell maximum threshold.
20. A buffer management system as in claim 15 wherein said buffer control device further comprising circuitry for comparing, said circuitry for comparing receiving a first signal indicating a buffer count, the buffer count representing the utilization of said common buffer by said first connection, said circuitry for comparing further receiving a second signal representing said scaled buffer utilization threshold after dynamic scaling, said circuitry for comparinggenerating a third signal, said third signal indicating whether said first connection has exceeded an associated allowable usage of said common buffer..
21. A cell exchange node for a cell switching communications network, the node comprising:
a lookup table stored in a memory, said lookup table comprising buffer threshold scaling factors.
22. A cell exchange node as in claim 21 wherein said communications network comprising a plurality of logical connections and wherein said memory further comprising a plurality of connection thresholds, said plurality of connection thresholds each representing a maximum number of cells to be stored in a buffer associated with said cell exchange node for each respective logical connection.
23. A cell exchange node as in claim 22 wherein said plurality of connection thresholds are coded in a format having a mantissa and an exponent.
24. A cell exchange node as in claim 23 wherein said plurality of connection thresholds share a common exponent.
CA002254104A 1996-05-15 1997-05-09 Method and apparatus for per traffic flow buffer management Abandoned CA2254104A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/648,556 US6034945A (en) 1996-05-15 1996-05-15 Method and apparatus for per traffic flow buffer management
US08/648,556 1996-05-15
PCT/US1997/007839 WO1997043869A1 (en) 1996-05-15 1997-05-09 Method and apparatus for per traffic flow buffer management

Publications (1)

Publication Number Publication Date
CA2254104A1 true CA2254104A1 (en) 1997-11-20

Family

ID=24601278

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002254104A Abandoned CA2254104A1 (en) 1996-05-15 1997-05-09 Method and apparatus for per traffic flow buffer management

Country Status (6)

Country Link
US (2) US6034945A (en)
EP (1) EP0898855A1 (en)
JP (1) JP2000510308A (en)
AU (1) AU730804B2 (en)
CA (1) CA2254104A1 (en)
WO (1) WO1997043869A1 (en)

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6034945A (en) 1996-05-15 2000-03-07 Cisco Technology, Inc. Method and apparatus for per traffic flow buffer management
US5991265A (en) * 1996-12-02 1999-11-23 Conexant Systems, Inc. Asynchronous transfer mode system and method
GB2321820B (en) * 1997-01-17 1999-04-14 Tadhg Creedon Method and apparatus for buffer management in virtual circuit systems
GB2321821B (en) 1997-01-17 1999-03-24 Neill Eugene O Method for distributing and recovering buffer memories in an asynchronous transfer mode edge device
GB2323744B (en) * 1997-01-17 1999-03-24 Connell Anne O Method of supporting unknown addresses in an interface for data transmission in an asynchronous transfer mode
GB2322761B (en) * 1997-01-17 1999-02-10 Donal Casey Method for selecting virtual channels based on address p;riority in an asynchronous transfer mode device
US6246687B1 (en) * 1997-03-27 2001-06-12 Massachusetts Institute Of Technology Network switching system supporting guaranteed data rates
US6430191B1 (en) 1997-06-30 2002-08-06 Cisco Technology, Inc. Multi-stage queuing discipline
US6487202B1 (en) 1997-06-30 2002-11-26 Cisco Technology, Inc. Method and apparatus for maximizing memory throughput
US6912224B1 (en) 1997-11-02 2005-06-28 International Business Machines Corporation Adaptive playout buffer and method for improved data communication
FI104603B (en) * 1997-11-04 2000-02-29 Nokia Networks Oy Control of buffer
US6560198B1 (en) * 1997-11-07 2003-05-06 Telcordia Technologies, Inc. Method and system for stabilized random early detection using packet sampling
IL122271A (en) * 1997-11-21 2001-01-11 Eci Telecom Ltd Apparatus and method for managing network congestion
US7145868B2 (en) * 1997-11-28 2006-12-05 Alcatel Canada Inc. Congestion management in a multi-port shared memory switch
US6526060B1 (en) 1997-12-05 2003-02-25 Cisco Technology, Inc. Dynamic rate-based, weighted fair scheduler with explicit rate feedback option
US6434612B1 (en) 1997-12-10 2002-08-13 Cisco Technology, Inc. Connection control interface for asynchronous transfer mode switches
JP3075248B2 (en) 1998-01-19 2000-08-14 日本電気株式会社 Asynchronous transfer mode switch
US6320845B1 (en) 1998-04-27 2001-11-20 Cisco Technology, Inc. Traffic management and flow prioritization on a routed computer network
US6377546B1 (en) * 1998-05-12 2002-04-23 International Business Machines Corporation Rate guarantees through buffer management
GB2337905B (en) * 1998-05-28 2003-02-12 3Com Technologies Ltd Buffer management in network devices
CA2333595C (en) * 1998-05-29 2007-10-16 Siemens Aktiengesellschaft Method for removal of atm cells from an atm communications device
US6463485B1 (en) 1998-06-03 2002-10-08 Cisco Technology, Inc. System for providing cell bus management in a switch platform including a write port cell count in each of a plurality of unidirectional FIFO for indicating which FIFO be able to accept more cell
US6483850B1 (en) * 1998-06-03 2002-11-19 Cisco Technology, Inc. Method and apparatus for routing cells having different formats among service modules of a switch platform
US6438102B1 (en) 1998-06-03 2002-08-20 Cisco Technology, Inc. Method and apparatus for providing asynchronous memory functions for bi-directional traffic in a switch platform
JP3141850B2 (en) * 1998-07-10 2001-03-07 日本電気株式会社 Time division switching device, time division switching method, and recording medium
US6430153B1 (en) 1998-09-04 2002-08-06 Cisco Technology, Inc. Trunk delay simulator
US6999421B1 (en) * 1998-10-26 2006-02-14 Fujitsu Limited Adjustable connection admission control method and device for packet-based switch
JP3070683B2 (en) * 1998-11-13 2000-07-31 日本電気株式会社 Image transmission method and image transmission device using the method
US6658469B1 (en) * 1998-12-18 2003-12-02 Microsoft Corporation Method and system for switching between network transport providers
US6978312B2 (en) * 1998-12-18 2005-12-20 Microsoft Corporation Adaptive flow control protocol
US6724756B2 (en) 1999-01-12 2004-04-20 Cisco Technology, Inc. Method for introducing switched virtual connection call redundancy in asynchronous transfer mode networks
US7215641B1 (en) * 1999-01-27 2007-05-08 Cisco Technology, Inc. Per-flow dynamic buffer management
US6762994B1 (en) * 1999-04-13 2004-07-13 Alcatel Canada Inc. High speed traffic management control using lookup tables
US6657955B1 (en) * 1999-05-27 2003-12-02 Alcatel Canada Inc. Buffering system employing per traffic flow accounting congestion control
US6717912B1 (en) 1999-05-28 2004-04-06 Network Equipment Technologies, Inc. Fair discard system
EP1069801B1 (en) * 1999-07-13 2004-10-06 International Business Machines Corporation Connections bandwidth right sizing based on network resources occupancy monitoring
US6618378B1 (en) * 1999-07-21 2003-09-09 Alcatel Canada Inc. Method and apparatus for supporting multiple class of service connections in a communications network
US6724776B1 (en) * 1999-11-23 2004-04-20 International Business Machines Corporation Method and system for providing optimal discard fraction
US6788697B1 (en) * 1999-12-06 2004-09-07 Nortel Networks Limited Buffer management scheme employing dynamic thresholds
US6891794B1 (en) 1999-12-23 2005-05-10 Cisco Technology, Inc. System and method for bandwidth protection in a packet network
US6775292B1 (en) * 2000-01-24 2004-08-10 Cisco Technology, Inc. Method for servicing of multiple queues carrying voice over virtual circuits based on history
US7142558B1 (en) 2000-04-17 2006-11-28 Cisco Technology, Inc. Dynamic queuing control for variable throughput communication channels
US6904014B1 (en) 2000-04-27 2005-06-07 Cisco Technology, Inc. Method and apparatus for performing high-speed traffic shaping
US6738386B1 (en) * 2000-05-11 2004-05-18 Agere Systems Inc. Controlled latency with dynamically limited queue depth based on history and latency estimation
US20020018474A1 (en) * 2000-06-01 2002-02-14 Seabridge Ltd. Efficient packet transmission over ATM
US7126969B1 (en) * 2000-07-06 2006-10-24 Cisco Technology, Inc. Scalable system and method for reliably sequencing changes in signaling bits in multichannel telecommunication lines transmitted over a network
US7743134B2 (en) * 2000-09-07 2010-06-22 Riverbed Technology, Inc. Thwarting source address spoofing-based denial of service attacks
US7043759B2 (en) * 2000-09-07 2006-05-09 Mazu Networks, Inc. Architecture to thwart denial of service attacks
US7398317B2 (en) * 2000-09-07 2008-07-08 Mazu Networks, Inc. Thwarting connection-based denial of service attacks
US7702806B2 (en) * 2000-09-07 2010-04-20 Riverbed Technology, Inc. Statistics collection for network traffic
US7278159B2 (en) * 2000-09-07 2007-10-02 Mazu Networks, Inc. Coordinated thwarting of denial of service attacks
US7124440B2 (en) * 2000-09-07 2006-10-17 Mazu Networks, Inc. Monitoring network traffic denial of service attacks
US20020107974A1 (en) * 2000-10-06 2002-08-08 Janoska Mark William Data traffic manager
US6967921B1 (en) * 2000-11-27 2005-11-22 At&T Corp. Method and device for efficient bandwidth management
US7130267B1 (en) 2000-12-29 2006-10-31 Cisco Technology, Inc. System and method for allocating bandwidth in a network node
US6947996B2 (en) * 2001-01-29 2005-09-20 Seabridge, Ltd. Method and system for traffic control
US7342942B1 (en) 2001-02-07 2008-03-11 Cortina Systems, Inc. Multi-service segmentation and reassembly device that maintains only one reassembly context per active output port
US6990115B2 (en) * 2001-02-26 2006-01-24 Seabridge Ltd. Queue control method and system
US6831891B2 (en) * 2001-03-06 2004-12-14 Pluris, Inc. System for fabric packet control
US6950396B2 (en) * 2001-03-20 2005-09-27 Seabridge Ltd. Traffic control method and system
JP3598985B2 (en) * 2001-03-21 2004-12-08 日本電気株式会社 Queue assignment system and queue assignment method for packet switch
US7450510B1 (en) 2001-04-19 2008-11-11 Cisco Technology, Inc. System and method for distributing guaranteed bandwidth among service groups in a network node
US7161905B1 (en) * 2001-05-03 2007-01-09 Cisco Technology, Inc. Method and system for managing time-sensitive packetized data streams at a receiver
US7327760B1 (en) 2001-05-08 2008-02-05 Cortina Systems, Inc. Multi-service segmentation and reassembly device operable with either a cell-based or a packet-based switch fabric
GB2372172B (en) * 2001-05-31 2002-12-24 Ericsson Telefon Ab L M Congestion handling in a packet data network
US7065581B2 (en) * 2001-06-27 2006-06-20 International Business Machines Corporation Method and apparatus for an improved bulk read socket call
US7225271B1 (en) * 2001-06-29 2007-05-29 Cisco Technology, Inc. System and method for recognizing application-specific flows and assigning them to queues
US7218608B1 (en) 2001-08-02 2007-05-15 Cisco Technology, Inc. Random early detection algorithm using an indicator bit to detect congestion in a computer network
US7039013B2 (en) * 2001-12-31 2006-05-02 Nokia Corporation Packet flow control method and device
US7743415B2 (en) * 2002-01-31 2010-06-22 Riverbed Technology, Inc. Denial of service attacks characterization
US7213264B2 (en) 2002-01-31 2007-05-01 Mazu Networks, Inc. Architecture to thwart denial of service attacks
US7286547B2 (en) * 2002-05-09 2007-10-23 Broadcom Corporation Dynamic adjust multicast drop threshold to provide fair handling between multicast and unicast frames
US8479057B2 (en) * 2002-11-04 2013-07-02 Riverbed Technology, Inc. Aggregator for connection based anomaly detection
US7363656B2 (en) * 2002-11-04 2008-04-22 Mazu Networks, Inc. Event detection/anomaly correlation heuristics
US8504879B2 (en) * 2002-11-04 2013-08-06 Riverbed Technology, Inc. Connection based anomaly detection
US7421502B2 (en) * 2002-12-06 2008-09-02 International Business Machines Corporation Method and system for storage-aware flow resource management
US7929534B2 (en) * 2004-06-28 2011-04-19 Riverbed Technology, Inc. Flow logging for connection-based anomaly detection
US7760653B2 (en) * 2004-10-26 2010-07-20 Riverbed Technology, Inc. Stackable aggregation for connection based anomaly detection
US8909807B2 (en) * 2005-04-07 2014-12-09 Opanga Networks, Inc. System and method for progressive download using surplus network capacity
US20070058650A1 (en) * 2005-08-09 2007-03-15 International Business Machines Corporation Resource buffer sizing under replenishment for services
JP2007206799A (en) * 2006-01-31 2007-08-16 Toshiba Corp Data transfer device, information recording reproduction device and data transfer method
US20070198982A1 (en) * 2006-02-21 2007-08-23 International Business Machines Corporation Dynamic resource allocation for disparate application performance requirements
US7948976B2 (en) * 2006-04-26 2011-05-24 Marvell Israel (M.I.S.L) Ltd. Efficient management of queueing resources for switches
JP4129694B2 (en) * 2006-07-19 2008-08-06 ソニー株式会社 Information processing apparatus and method, program, and recording medium
US20080049760A1 (en) * 2006-08-24 2008-02-28 Gilles Bergeron Oversubscription in broadband network
TW200833026A (en) * 2007-01-29 2008-08-01 Via Tech Inc Packet processing method and a network device using the method
US7978607B1 (en) * 2008-08-29 2011-07-12 Brocade Communications Systems, Inc. Source-based congestion detection and control
EP2187580B1 (en) * 2008-11-18 2013-01-16 Alcatel Lucent Method for scheduling packets of a plurality of flows and system for carrying out the method
US9112818B1 (en) 2010-02-05 2015-08-18 Marvell Isreal (M.I.S.L) Ltd. Enhanced tail dropping in a switch
US8499106B2 (en) * 2010-06-24 2013-07-30 Arm Limited Buffering of a data stream
JP5919727B2 (en) * 2011-10-26 2016-05-18 富士通株式会社 Program for buffer management, relay device, and control method
US8665725B2 (en) 2011-12-20 2014-03-04 Broadcom Corporation System and method for hierarchical adaptive dynamic egress port and queue buffer management
US9485326B1 (en) 2013-04-01 2016-11-01 Marvell Israel (M.I.S.L) Ltd. Scalable multi-client scheduling
US9306876B1 (en) 2013-04-01 2016-04-05 Marvell Israel (M.I.S.L) Ltd. Multibank egress queuing system in a network device
US9473418B2 (en) * 2013-12-12 2016-10-18 International Business Machines Corporation Resource over-subscription
US9548937B2 (en) * 2013-12-23 2017-01-17 Intel Corporation Backpressure techniques for multi-stream CAS
US10057194B1 (en) 2014-01-07 2018-08-21 Marvell Israel (M.I.S.L) Ltd. Methods and apparatus for memory resource management in a network device
US9866489B2 (en) * 2014-07-11 2018-01-09 F5 Networks, Inc. Delayed proxy action
CN109257304A (en) * 2017-07-12 2019-01-22 中兴通讯股份有限公司 A kind of bandwidth adjusting method, device, storage medium and the network equipment
US10608943B2 (en) * 2017-10-27 2020-03-31 Advanced Micro Devices, Inc. Dynamic buffer management in multi-client token flow control routers
CN109408233B (en) * 2018-10-17 2022-06-03 郑州云海信息技术有限公司 Cache resource allocation method and device
US11206222B2 (en) 2020-02-07 2021-12-21 Wipro Limited System and method of memory management in communication networks

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4430712A (en) * 1981-11-27 1984-02-07 Storage Technology Corporation Adaptive domain partitioning of cache memory space
US4734907A (en) * 1985-09-06 1988-03-29 Washington University Broadcast packet switching network
CA1329432C (en) * 1988-11-02 1994-05-10 William Davy Method of memory and cpu time allocation for a multi-user computer system
US5014265A (en) * 1989-11-30 1991-05-07 At&T Bell Laboratories Method and apparatus for congestion control in a data network
US5303078A (en) 1990-12-18 1994-04-12 Bell Communications Research, Inc. Apparatus and method for large scale ATM switching
US5157654A (en) 1990-12-18 1992-10-20 Bell Communications Research, Inc. Technique for resolving output port contention in a high speed packet switch
US5274768A (en) 1991-05-28 1993-12-28 The Trustees Of The University Of Pennsylvania High-performance host interface for ATM networks
WO1992022971A1 (en) 1991-06-18 1992-12-23 Fujitsu Limited Method for determining alternative route
US5379297A (en) 1992-04-09 1995-01-03 Network Equipment Technologies, Inc. Concurrent multi-channel segmentation and reassembly processors for asynchronous transfer mode
DE69129851T2 (en) 1991-09-13 1999-03-25 Ibm Configurable gigabit / s switch adapter
US5542068A (en) * 1991-12-10 1996-07-30 Microsoft Corporation Method and system for storing floating point numbers to reduce storage space
US5680582A (en) * 1991-12-20 1997-10-21 Microsoft Corporation Method for heap coalescing where blocks do not cross page of segment boundaries
SE515178C2 (en) * 1992-03-20 2001-06-25 Ericsson Telefon Ab L M Procedures and devices for prioritizing buffer management in packet networks
US5313454A (en) 1992-04-01 1994-05-17 Stratacom, Inc. Congestion control for cell networks
US5539899A (en) * 1992-04-03 1996-07-23 International Business Machines Corporation System and method for handling a segmented program in a memory for a multitasking data processing system utilizing paged virtual storage
FR2694671A1 (en) * 1992-08-06 1994-02-11 Trt Telecom Radio Electr Device for rearranging virtual circuit rates in asynchronous time division multiplex transmission.
FR2699703B1 (en) * 1992-12-22 1995-01-13 Bull Sa Method for managing a buffer memory, recording medium and computer system incorporating it.
US5412655A (en) 1993-01-29 1995-05-02 Nec Corporation Multiprocessing system for assembly/disassembly of asynchronous transfer mode cells
US5359592A (en) 1993-06-25 1994-10-25 Stratacom, Inc. Bandwidth and congestion control for queue channels in a cell switching communication controller
DE4323405A1 (en) * 1993-07-13 1995-01-19 Sel Alcatel Ag Access control method for a buffer memory and device for buffering data packets and switching center with such a device
JP3044983B2 (en) 1993-08-25 2000-05-22 株式会社日立製作所 Cell switching method for ATM switching system
CA2123447C (en) 1993-09-20 1999-02-16 Richard L. Arndt Scalable system interrupt structure for a multiprocessing system
KR960003783B1 (en) * 1993-11-06 1996-03-22 한국전기통신공사 Subscriber atm mux for interface to isdn
US5600820A (en) * 1993-12-01 1997-02-04 Bell Communications Research, Inc. Method for partitioning memory in a high speed network based on the type of service
DE69328380T2 (en) 1993-12-31 2000-10-12 Ibm METHOD AND DEVICE FOR COMMUNICATING SEVERAL TRAFFIC CLASSES
JPH07221761A (en) 1994-02-04 1995-08-18 Fujitsu Ltd Cell delay absorption circuit
JP3405800B2 (en) 1994-03-16 2003-05-12 富士通株式会社 ATM-based variable-length cell transfer system, ATM-based variable-length cell switch, and ATM-based variable-length cell switch
JP2655481B2 (en) 1994-04-28 1997-09-17 日本電気株式会社 Priority control method in output buffer type ATM switch
US5583861A (en) 1994-04-28 1996-12-10 Integrated Telecom Technology ATM switching element and method having independently accessible cell memories
US5434848A (en) * 1994-07-28 1995-07-18 International Business Machines Corporation Traffic management in packet communications networks
US5949781A (en) 1994-08-31 1999-09-07 Brooktree Corporation Controller for ATM segmentation and reassembly
US5548587A (en) 1994-09-12 1996-08-20 Efficient Networks, Inc. Asynchronous transfer mode adapter for desktop applications
ES2137296T3 (en) 1994-09-28 1999-12-16 Siemens Ag ATM COMMUNICATION SYSTEM FOR STATISTICAL CELL MULTIPLEXION.
US5541912A (en) * 1994-10-04 1996-07-30 At&T Corp. Dynamic queue length thresholds in a shared memory ATM switch
ZA959722B (en) 1994-12-19 1996-05-31 Alcatel Nv Traffic management and congestion control for packet-based networks
US5541919A (en) * 1994-12-19 1996-07-30 Motorola, Inc. Multimedia multiplexing device and method using dynamic packet segmentation
EP0719065A1 (en) 1994-12-20 1996-06-26 International Business Machines Corporation Multipurpose packet switching node for a data communication network
JPH08288965A (en) 1995-04-18 1996-11-01 Hitachi Ltd Switching system
US5625625A (en) 1995-07-07 1997-04-29 Sun Microsystems, Inc. Method and apparatus for partitioning data load and unload functions within an interface system for use with an asynchronous transfer mode system
US5956342A (en) 1995-07-19 1999-09-21 Fujitsu Network Communications, Inc. Priority arbitration for point-to-point and multipoint transmission
US5796735A (en) 1995-08-28 1998-08-18 Integrated Device Technology, Inc. System and method for transmission rate control in a segmentation and reassembly (SAR) circuit under ATM protocol
US5875352A (en) 1995-11-03 1999-02-23 Sun Microsystems, Inc. Method and apparatus for multiple channel direct memory access control
US5974466A (en) 1995-12-28 1999-10-26 Hitachi, Ltd. ATM controller and ATM communication control device
US5765032A (en) 1996-01-11 1998-06-09 Cisco Technology, Inc. Per channel frame queuing and servicing in the egress direction of a communications network
US6028844A (en) 1996-01-25 2000-02-22 Cypress Semiconductor Corp. ATM receiver
US5978856A (en) 1996-01-26 1999-11-02 Dell Usa, L.P. System and method for reducing latency in layered device driver architectures
US5793747A (en) 1996-03-14 1998-08-11 Motorola, Inc. Event-driven cell scheduler and method for supporting multiple service categories in a communication network
US5844901A (en) 1996-03-15 1998-12-01 Integrated Telecom Technology Asynchronous bit-table calendar for ATM switch
US5812527A (en) 1996-04-01 1998-09-22 Motorola Inc. Simplified calculation of cell transmission rates in a cell based netwook
US6034945A (en) 1996-05-15 2000-03-07 Cisco Technology, Inc. Method and apparatus for per traffic flow buffer management
US6058114A (en) 1996-05-20 2000-05-02 Cisco Systems, Inc. Unified network cell scheduler and flow controller
US5898688A (en) 1996-05-24 1999-04-27 Cisco Technology, Inc. ATM switch with integrated system bus
US5742765A (en) 1996-06-19 1998-04-21 Pmc-Sierra, Inc. Combination local ATM segmentation and reassembly and physical layer device
GB9613473D0 (en) 1996-06-27 1996-08-28 Mitel Corp ATM cell transmit priority allocator
US5854911A (en) 1996-07-01 1998-12-29 Sun Microsystems, Inc. Data buffer prefetch apparatus and method
US5901147A (en) 1996-08-30 1999-05-04 Mmc Networks, Inc. Apparatus and methods to change thresholds to control congestion in ATM switches
US5999518A (en) 1996-12-04 1999-12-07 Alcatel Usa Sourcing, L.P. Distributed telecommunications switching system and method
US5864540A (en) 1997-04-04 1999-01-26 At&T Corp/Csi Zeinet(A Cabletron Co.) Method for integrated traffic shaping in a packet-switched network
US5970064A (en) 1997-06-12 1999-10-19 Northern Telecom Limited Real time control architecture for admission control in communications network
US5982783A (en) 1997-06-16 1999-11-09 Lucent Technologies Inc. Switch distribution via an intermediary switching network

Also Published As

Publication number Publication date
US6535484B1 (en) 2003-03-18
AU730804B2 (en) 2001-03-15
JP2000510308A (en) 2000-08-08
AU3001097A (en) 1997-12-05
WO1997043869A1 (en) 1997-11-20
EP0898855A1 (en) 1999-03-03
US6034945A (en) 2000-03-07

Similar Documents

Publication Publication Date Title
CA2254104A1 (en) Method and apparatus for per traffic flow buffer management
US5629928A (en) Dynamic fair queuing to support best effort traffic in an ATM network
CA2356278C (en) Inter-class schedulers utilizing priority guaranteed queuing
US5765032A (en) Per channel frame queuing and servicing in the egress direction of a communications network
JP3354689B2 (en) ATM exchange, exchange and switching path setting method thereof
EP0763915B1 (en) Packet transfer device and method adaptive to a large number of input ports
CA2065043C (en) Method for prioritizing selectively discarding and multiplexing differing traffic type fast packets
US5689499A (en) Method and apparatus for managing the statistical multiplexing of data in digital communication networks
US6188698B1 (en) Multiple-criteria queueing and transmission scheduling system for multimedia networks
US7023866B2 (en) Fair queue servicing using dynamic weights (DWFQ)
US7023856B1 (en) Method and system for providing differentiated service on a per virtual circuit basis within a packet-based switch/router
US8369215B2 (en) Call admission control method and system
US20020126674A1 (en) System and method for routing data cells through an atm architecture using quality of service data in a service control point
EP1030485B1 (en) Method and apparatus for data traffic policing
Sykas et al. Overview of ATM networks: functions and procedures
US6192049B1 (en) Jitterless and lossless switching fabric with network routing
EP0838970B1 (en) Method for shared memory management in network nodes
EP1473895B1 (en) Multiplex transmission apparatus and multiplex transmission method
KR100283190B1 (en) System and method in an ATM switch for dynamically routing data cells
EP1545071B1 (en) A method for improved handling of dynamic bandwidth changes in a transport network using inverse multiplexing
US20030072268A1 (en) Ring network system
Vickers et al. Congestion control and resource management in diverse ATM environments
US6728272B1 (en) Method and apparatus for transporting private line traffic over an ATM network
EP1079660A1 (en) Buffer acceptance method
Lampe Traffic studies of a multiplexer in an ATM network and applications to the future broadband ISDN

Legal Events

Date Code Title Description
FZDE Discontinued