CA2104002C - Rate-based adaptive congestion control system and method for integrated packet networks - Google Patents

Rate-based adaptive congestion control system and method for integrated packet networks

Info

Publication number
CA2104002C
CA2104002C CA002104002A CA2104002A CA2104002C CA 2104002 C CA2104002 C CA 2104002C CA 002104002 A CA002104002 A CA 002104002A CA 2104002 A CA2104002 A CA 2104002A CA 2104002 C CA2104002 C CA 2104002C
Authority
CA
Canada
Prior art keywords
fast
packet
congestion
congestion level
rate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CA002104002A
Other languages
French (fr)
Other versions
CA2104002A1 (en
Inventor
Michael G. Hluchyj
Nanying Yin
Daniel B. Grossman
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.)
Motorola Mobility LLC
Original Assignee
Motorola 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 Motorola Inc filed Critical Motorola Inc
Publication of CA2104002A1 publication Critical patent/CA2104002A1/en
Application granted granted Critical
Publication of CA2104002C publication Critical patent/CA2104002C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L12/5602Bandwidth control in ATM Networks, e.g. leaky bucket
    • 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/5629Admission control
    • H04L2012/563Signalling, e.g. protocols, reference model
    • 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/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5632Bandwidth allocation
    • H04L2012/5635Backpressure, e.g. for ABR
    • 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/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5636Monitoring or policing, e.g. compliance with allocated rate, corrective actions
    • 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/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5636Monitoring or policing, e.g. compliance with allocated rate, corrective actions
    • H04L2012/5637Leaky Buckets
    • 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
    • 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/5647Cell loss
    • H04L2012/5648Packet discarding, e.g. EPD, PTD

Abstract

An adaptive congestion control device (600) and method provides for minimizing congestion on a basis of independent congestion level indicators. The invention further provides efficient recovery in an integrated packet network that becomes congested. In addition, the invention ensures that a user may utilize the network on a space-available basis when capacity is available in said network.

Description

~10L~1aO2 IRATE-E~ASEI) ~DAPTIVE COINGESTION CONTIF:IIC)I
SYSTEM AIID MIETIIOID FOR INTEGRATIE~ID PACKET
I ETWORKS

IField of the Invenlltion This invention relates generally to data processing and data communications, and more p~iclJlarJy relates to 10 oontrolling congestion in an integrated packelt ne~work.

E~ackgrolsnd of ~he Illven~ioll Businesses, ins~itutions, yoverflment agencies, oommon 15 carrierC~, and va3ue-added service providers utilize packet-swi~ched networks ~hat integrate frame-delimited cla~a traffic ~including frame relay~, packetized ~paech, and constant bit rate (non-de3imited) traffic onto common transmission facili~ies. For such networks, a basic unit of 20 trans,~lissiGIl has been defined to be a nfast packet." A fast packet typically contains a header that includes conn~ction id~ntification and other overhead in~ormation, and is fiXQd or restricted in length (e.g., to con~ain a "payload" of 48 ocltets of user information). Where is it necessary to convey 25 information of len~th greater ~han that of a maximum payload size, a fast packet adaption proto501 iS u~ilized, operatin~ at a hi~her level than a fast packet relaying prot~Jcol~ where the fast packe~ adap~ion pr~tocol inclucles a segmentation and reassambly function. It is us8ful to note that transmission of 30 integra~ed packets requires congest;on control becaus~ of its bursty naturs, while tr~nsmission of constant bit rate (CBR) traffic does not require such con~rol.
Packet switched ne~works are subject to congestion wh~n traffic offered ~o the network exceeds a capaci~y of ~he ..

~ ,~
..

,~
::

21~0~2 network. Such congestion is randnm in nature. End-user equiprrent tends to offer traffic in "~ursts/" interspersed with periods of inactivity. Networks are typioally designed ~o accol"i"o~Jale some expected a~gregate o~fered loa~. However, cost to an operator of the transmission network facilities and related equipment increases as ~he capaoi~y of the ne~work.
Thus, networks are often design~d to accommodate less than an absolute maximum possible offered load, and to rely on statistical effects to avoid blocking of transmission. Such a design may lead to con~estion.
During occurrence of con~estion, queues in~rnal to nodes that constitute the network grow, and tnay exceed the memory allocated ~o ~h~m, forcing packets to be discarded. In adclition, ~he end-to-~nd transi~ delay experi0need by packets traversing th0 network increas~3s signifioantly as o~fered traffic increases. Discarding of packets and increased end-to-end transit dclay degrades an end-user's perceived ~quality of servic~. In addition, discard or excessive clelay cause commoniy IJS&d end-to-end protocols to retransmit not only those packets which were discarded or delayed, but all packets whieh were unackno~le~ d at a time that the discard or time-out wa~ d~termined. This typically results in an avalanche effect, duriny which the natwork ceases ~o perform useful work and cannot recover withou~ manual intervsn~ion.
In a "connection-orien~d" packe~ network, values of quality-of-service paramet~rs ar~ negotiated among originating end-user equipment, the ne~work~s), and terminatin~ end-user equipment. Categories of negotiated parameters inolude ~hrouyhput and transit delay. Throu~hput 3 0 parameters typically describe th~ users' axpec~ations of traffic lto be offered during a given ~ime period, an estimation of a greatest amount of ~raffic the users expect to offer during such a period, and a m~tric for describirlg "burstiness"
of traffic. This throu~hput information is used by the .. .
.. . ' . ' : ' ' .
.
.
.

~ 0~0~2 networkts) for purposes such as resource allocation and rate enforG~ment.
There is a nesd for a device and method for providin~ a rate-based congestion control for integrat~d packat networks 5 that performs rat~ enforcement such that ~nd-user equipment may exc~ed an expected throughput agreed durin~ negotiation, utilizing ~he network(s) on a space-availalble basis when capacity is available in the network(s).

Sulmmary of th~ Inven~ion A systern and method are ineluded for providing rate-based congestion control in an integrated fast packet netNork.
Each packet is oapable of conveying a plurallty of lev~ls of 15 congestion indication. The system includes units for and ~he method includ~s step.s for providing the functions of, a source edge node unit, operably coupled ~o receive the fast packet traffic for transmission over th~ network, said unil: havin~ a predetermined throu~hput rate, for ra~e-based monitorin~ and 2 0 rate enforcement o~ the traffiG utilizing a monitor/enforc~r unit, a transit nod0 unit, operably coupled to the source edge node unit, having a plurality of intermediate nodes for providing at said nodes fast packst transmission p~ths, and a clestination edge node unit, operab~y coupled to the transit ?5 nQde unit, for providing a~ least a correJated congestion leveI
and for outputting traffio at a r~aIized throughput ra~e, such ~hat the rsalized throughpu~ rats of ~he transmitted fast packets may exceed the n~Q l;alecl ~hroughput ra~e where the f~st pack~ts utilize unallocated or unussd network capacity.
The terms 'fast packe~' and 'packet' are used intsrchangeably.

. . . . . . .
.. ~ . .

, 2 ~ 2 Brief ~serip~ion ot the Drawings FiG. 1, numeral 100, illustrates relevant fields of an information packet (102), typicaily a fast packet, and information gatherin~ of congestion in~ormatiorl along a fast packet source-to-destination connection path of a subnetwork (SUBPATH) utilizing a fast packet with a rnultiple bit congestion level field in accordanoe wi~h ~he present invention .
t0 FIG. 2, numeral 200, illus~rates typic:al queue group ccngestion level transitions in aocordance with the pres~ent invention.
Fl~:3. 3, numeral 300, illu~ dtes a protocol profil~ of a network"nodelted acs:ordin~ to the Open System Interconnection ~OSI~ reference m~dei, utilizing the method of the present invention.
FiG. 4, numeral 400, illustrates a leaky bucket monitor/enforcer in accordance with ~he present inven~ion where said monitor/enforcer is visualized as a fictitious queue model system.
FIG. 5, numeral 500, sets forth a flow ~iagram illustrating a leaky bucket operation and disçard priority marking in accordance with the present inventiQn.
Fl(~;. 6, numeral 600, iliustrates a ~irst embodiment of a 2 5 system that utilizes the pr~sent invention ~r providing rate-based congestion control in an in~egrated fast packe~ network, each fast packet capable of conveying a plurali~y of l~vels of ~ongestion.
FIG. 7, num~ral 700, s~ts forth a flow char~ illustrating steps for samplin~ a transi~ queue group for con~estion levels in aocordance wi~h the method of the presen~ inventiorl.
FIG. 8, numerai 800, sets for~h a flow-ohar~ showing steps for fast packet discarding and fast packet congestion .~

~ 1 ~ t.~ 2 level marking ~ a data trans~it queu0 in acoordance with the present invention.
Fl:3. 9, numer~l 900, sets forth a flow chart showlng steps for fast packet disoarding and fast pack~t con~estion 5 ievel marking at a voice transmi~ queue in accordance wi~h the present invention.
FIG. ~0, numErai ~ûO0, se~s forth a flow chart illustratin~ steps for updating con~estion and tagging sta~us, forward explicit congestion nolitic~ion ~F:ECM) markin~ and 1 O oreation of backward oontrol fast packet ~t a destination edge node in accordance with the method of the present invention.
FIG. 11, numeral 1100, is flow ohart illustra~ing s~eps for updating a tag sta~us when ~c~ivin~ a firs~ fast packet in a frame at a destination edge node in accordance with tl1e 15 method of th~ present inYention.
FIG. 12, numeral 1200, is a ~low chart illustrating steps for cre~ling and storing a backward congestion code at a d~stination ~dge nodc in acco7dance wi~h the method of the present invention.
FIG. 13, numeral 1300, is a flow chart illustrating steps for rcceiving a contrnt fast packet in a b~ckward direc~ion at a source ~dge nade in accordanc0 with the Illelii~d of the present invention .
FIG. 14, numerai 1400, is a flow chart illustrating steps 25 foL r~ceiving a data fast packet in a backvJ~rd direction and setting a backward explicit cong~stion noiiticaLion (BE(;;N) at a source edge ncde in acccrdance with the method of the present invention .
FIG. 15, numeral 1500, shows the st~ps of the method of 30 the present invention f~r providing rate-bas~d con~estion control in an integrat~d fas~ packet network, each fast packet capable of conveying a plurality of levels of con~estion and havin~ a prede~ermined throlighput ra~.

. . . ,- . ~ . ~
' -. : ' . ~

, ,, , Detailed IDes~ripltion of a Pr~f~rr~d Embodiment The present invention provides several advantages over known approache~. First, a~ lea~t four levels of network 5 congestion are conveyed in a fas~ packet header in a forward direction (i.e., toward a d~stination user's equiprnent), providing corresponding ieveis of action ~y th0 network. Sinçe ~ther schemes have tw~ levels or none, the present invention, by utilizing the four levels in a uniqu~ fashion, provides for a 10 great0r scope of action by the network.

Second, lev~ls ef congestion are tracked and lFiltered independ~ntly by intermediat~ switching nod~s. An indication of a highest congestion level encountered between an entry and 15 egress point is conveyed in sach fas~ packet. This approach provides more efficient network operation for paths that cross multiple switching nodes. In addition, this avoids problems ~such as are found utilizin~ d~nsity marking schemes) of distin~uishing actual eongestion from short-term, 2 O inoons~quential chan~es in ~he sta~es of individual switohing nsdes, whsn said changes are summed over all the nodes traversed by a path.

Third, when cang~stion occurs in one or more switching 25 no~es, only those connections which exceed their negQtiated throughput parameters receiv~ an explicit con~estion indication unless one or more switohing node ~xp~riences severe c~n~estiQn~ Thus, during periods of rnild or moderate cong~stion, conn~ctions operatin~ within the t~ roughput 3 û paramet~rs previously negotiated between the end~user equipment and the network continue to recelve the throu~hput 50 negotiated.

.

.
, ~I.a~0~2 Fourth, stability of the Metwork is independent of specifio behavior of end~user equipment. Fifth, feedback of severe con~estion information toward an entry to the network causes discarding o~ information, thus nol: relying, as do~s 5 existing art, on discarding a~ a congested switchin~ node. This frees processing capacity in congasted no~es.

FIG. 1, num0ral 100, illustrates relevant fields of an information packet (1023, typically a ~ast packet, and 10 information gathering of congestion inforrnation along a packet source-to-destination connec~ion pa$~l of a subnetwork utilizing a fast pack~ with a multiple bit conges~ion level field in accordance wi~h ~h~ presen~ invention. The subnetwork typicaliy includes 3NTERME~iATE SWITC:HING
15 NODES (110), coupled, r~spectively, to a SOURCE EDGE NQDE
(108) and to a DESTINATION EDGE NODE (112), the subn~twork further being coupled to at least hNo end systsms, at least one being the SOI IRCE END SYSTEM (109), and ~t least one bein~ a DESTINATION END SYSTEM t111), to provide operabl~
20 transnissior- of fa~t pack~s alon~ the path beh~raen the SC)URCE EDGE NODE (1 08) and the DESTIN~TIC)N EDGE NODE
(112), deSCrjbgd mOre fUIIY bel0W (FIG. 6). The data PaCket ;nCIUdeS at leaS~ a f;eld CL ~104) ~hat represents a multiple b;t f;eld, tYP;CallY ~NO b;tS, US9d tO StOre and ;nd;O~te a 25 COngeSt;On leYel Of a most congested internodal link a0Ong the path and a da~a fiald (106). The congestion level of an ;nternOdal link is detsrmined locally in eaeh in~ermediate node feeding th~ link. In the pre~srr~d embodiment the two bi~ field of CL takes on values C0rreSPOnd;n9 to norm~l, mild, moderate, 30 and s~vere levels of congestion. At each intermedia~e node fast packets are queu0d into at least voice and data transi~
queues, and th~ congestion level is determined by comparin~ an average depth o~ transit queues within a queue group to a set of predetermined thresholds. VoiCB and data are in separate _ .

:

2 1 0 ~ O G 2 queus groups. The thresholcl values depend on both the queue group and a specifie queue within the group (typically high, mediurn, and low priority queues for the data group). The con3estion lovel is tracked separateiy for voice and data queue 5 groups, with the congestion level of the data queue group set ~o that of ~he most congested priority queue. The DESTINATION
EDGE NODE ~ypically ~e.9., periedically or after ohan~es in the state of the pa~h) copies the ~wo bit ~ield CL (114) in~o a second packet (1 0) containing no us~r data and only one of 10 three field codes ~nnrmal, moderatel and savere) and utilizes a closed-loop feedback sehema to prQvide baekward con0estion rate adjustment information. (3eneraliy, normal and miid congestien l~vel states are combined to form a Backward Correlated Con~eslion Level (13CCL) normal s~a~e, as described 15 more fully below.

Fl~ , numeral 200, illustrates typical queuc group con~sstion Icvel transitions in aceordance with the present invention. As is clear from FIG. 2, hysteresis is introduced by ~0 only allowing queue ~roup congestion level transitions to a normal state when congestien subsides. This hysteresis helps to r~turn the quf~ue group to a normal state more rapidly and provides a more stable operation of the contrcl process.
During normal operation, the congestion sta~ of ths queue 25 group is 'normal' (202). Wh~n the average length of any queue in the qu~ue ~roup exceeds a predetermined l~vel for said quaue, the con~estion s~ate of the clueue ~roup becomes 'mild (Z04)'. When, in the mild state, the average leng~h of any queue in the queue group exceeds a pr~elermin~d level for the 30 qu~ue, the cony~stion state of the quelJe ~roup becomes 'mocl~rate' (20~). When, in ~he mod~rate s~ate, the average length of any qu~ue in the quelle group ~x~s a predeterrnined lev~l for the queue, the con~estion state of ~h~ queue ~roup becomes 'severe' ~208). When, in the mild, moderate or sever~

) 0 2 states the average len~th of each queue in the queue group b~comes less than a predetermined threshold established for said queue, the con~estion stat~ of the qulsu~ ~roup becomes 'normal'. Note tha~ the conges~ion state of ~he que~ roup 5 cannot transition from 'sever~' to 'moderat~' or 'mild', and similarly cannot ~ransition fr~)m 'moderate' to 'mild'.

FIG. 3, num~ral 300, illustrates a protocoi profile of a network, modelled acoording to the principles of the Oper1 10 System Interoonnaction (OSI) Refer~nce Modei, utilizin~ the method of the present invention. End systems (30~, 312) ar~
illustrated, each havin~ ~he seven 12ysrs (PH ~ PHYSICAL (1,8), DATA LIINK (2,9), NETWORK (3,10), TRANSPORT (4,11), SESSil:)N
(5,12), PRESENTATION (6,13), and APPLICATION p,~) for the 15 funetions of data communication as defined more fully, as is known in the art, in the Interna~ional (:)r~anization for Standardiza~ion standard (ISO 7498) and in the International Telegraph and Telephone Consultative Committee's R~".~"ehdalion X.200. EDGE NODES C)F THE END SYSTEMS (304 20 310) typically comprise at least a first layer be9n~ a physical layer (PH)(15,40) for inplJt (15, ~0) and for output (2~, 34), a second layer being a da~a link layer (DL)(16, 39) op~rably coupled to an end system (302, 312) and being further subdivided into corresponding data link control (DLC~ (18, 37), 25 fas~ packet adap~ion (FPA) (t9, 36), and ~ast packet rela)r (FPR) ~20, 35) sub-layers operably ~oupied ~o at least a first intermediate node (306, 308) via the physical layer (PH) (~1, 34), and a ~hird tayer (I~I~TWORK) ( 17, 38). Ii'lTERMEDlATE
NC)DES (306, ..., 308~ typically oomprise at least a first layer 30 being a physical layer ~PH) for input (22, 3~) and for output (27, 28), a second layer havin~ data link control (OLC:) (25, 31), fast packet adaption ~FPA) ~24, 30~, and fast pack~t relay (FPR) (239 29) layers op~r~bly coupled to at least a ~irst in~ermedia~e nod0 ~306, 308) via the physical layer (PH) (27, .

.: . .
. ~ . .

2 ~ 2 28), and a third layer (NFTWt:)RK) (26, 32~. TYPjGallY, only the PH layer and FPR and FPA sub-layers ~re active in the subnetwork during information transfer.

In a first embodiment of the present inventisn wherein the invention is used for congestion control intenfrorking with frame relay, cong~stion control is ra~e-bas~d makin~ use of an unbulFfered leaky bucke~ monitor/enforc~r. Leaky bucke~s are known in the art. The role of th~ leaky buck~ is to monitor a rate ~f traffic on each fast packet c~nnection at a source edge of the ne~work. E3y their nature these connections are bursty.
Thus the leaky bucket measures an average rate. A time interval over which ~hs leaky buck~ averages rate i5 sel0ctable. Said tim$~ in~erval determines a de~ree of burstiness allowed to the monitored connec~ion. Typically a short averaging interval is use:l ~or connections with CBR-lik~
demand characteristics, and a lon~ averaging interval is usad for more bursty connections (such as LAN in~ert:onne~tions).

A leaky bucket monitor/enforcer may be visualized (but typically not implemented) as a fictitiolls queue model system, illustrat~d in FIG. 4, numeral 400. Frames, comprised of at least one fast packet, are transmitted to two switches (402, 4û8), and are sel~ctively dir~cted ~in parallel~ from the first svuitch (402) to a summer ~406) and from the second swltch (408) to a fictitious queue ~410) having a queue length Q where the arriving frame finds ~hat Q is less than or e~ual to a preselec~ed maximum allocation (bucke~ size) B. The fictitious queue (410) i5 ser~0d at a rate R. Where the fram~
finds that Q is less than or equal ~o B, the fram~ i5 alluwed into the fast packet subneh~ork (l~aky buckQt output). Where the arriving frame finds ~hat Q is ~r~ater than B, ~he first swi~h dir~cts the frame ~o a viola~ion handling uni~ (404), ' 21~ ~0~

and the second switch opens.to block ~he frame ~rom enterin~
ths fictitious queue ~410).

Wh~n a frame is received in exoess o~ the negotiated rate 5 R anci buoket size B, the violation handling unit (404) provides for using a ff*ld code F for markin~ a first fast packet in the frame for use by the FPA layer (to indieate to the destination edge node tha~ the fr~me is in violation of ~he ne~otiated rate R and buçket size 5), and the frame is allowed into the fast 10 packet network. Also, the discard priority for the first fast packet of the frame is se~ ~o Las~ Discardsd, as ar~ all ~Fast paokets of non-violating ~rames. In additien, the disoard priority of the second and subsequen~ fas~ packe~s of th~
frame is lowcred.

Where a path that the frame is ~o follow is congested to a 10vcl that is ~reater than or equal to the prec~et~",ined level of congestion (as incl;o~ed by BCCL), the viola~ion handiin~
unit (404) treats the frame as a violatin~ frarne, discards it, 20 and creates an empty fast packet wi~h Last Di~card priority in which field code F is marked (for indio~lin~ the violation ts the destina~ion edgc node for that connection~. A frame arriving at the leaky bucket wi~h a frame relay discard eligibility ~DE) ~it set to 1 (due to a prior leaky bucket 25 dQ~ermination or s~ by the end system) is lr~ted as a viola~ing frame, as set 70rth above. Aiso, the DE bit of any frame mark0d by the leaky buck~t a~ the source edge nod~ and successfully delivered to the destination ed~e node is set at th~ destina~ion edge node befor~ ~he frame exits the 3 0 subnetwork.

The monitor/enforcer at th~ source ed~e node determines ~he s~atE o~ cong~stion alon~ the ~orward direc~ion of the connection by a fee~ ck mechanism (descrlbed below~. Where ~ . :

~04a~2 1~
a path is con~ested to a level. that is greater than or equal to the predet~rmined level of con0estion, all but the first fast packet of the violating frame is discarded at the source edge node to remove the burden of disoarding fast packets from the 5 intermediate nodes since an int~rmediate node overburdened with discarding fast packets from several violating frames could result in poor performance for fast packets from wel!-behaved connections. Where the path is congested to a level that is less than the predetermined lavel of congestion, the 10 discard priority for all bu~ the first fast packet (which carries the marked field code F) of the violating frame is lowered.
Where a link becsmes eongested to a predetermined level wherein packe~s are dropped, ~he fas~ packet discard priori~y is used to determine which fast packats are di~carded first.
1~ Hence, fast packets from vioiating frames ~re discard~d b~fore any of those from fast packet conneetions that are within the preda~erminsd ne~otial*d rate P~.

An excess rate pararne~er/ R2, is used to swi~h the 20 leaky bucket to the discard modc in an open loop fashion.
Conceptually, there ar0 two leaky buckets. A first leaky bucke~ is used to lower the fast packet discard priority if R is exceeded, and the secor,~ leaky buGket is used to discard frames at the scurcs edge where R ~ R2 is exceeded. In eff~ct, 25 R2 repres~nts an amount of excess traffic ~hat can be discarded ~rom an inlsl"~ediate link node queue ~or a fast packet connection withou~ d~grading service provid~d to other fast packet connections shalring th~ link.
.
1 eaky bucket operation and discard priority marking in accordanc~ with the present invention is set forth in a flow diagram in FiG. 5, num~ral 50û. The terminology "where affirmativ~l', used b~low, is defin~d to mean that a de~errnina~ion recited immediateiy before "sNhere affirmative"

.. , . . . :

2 1 0 ~

~3 has been executed, and the cl~ermination has been found ~o be positive. Upon receiving a fas~ packet (5023, one of the following sets of steps ars exeeu~ed:
(A) determining whether ~he fast packe~ is a first 5 packet in a fram~ (504) [see also s~ep set (B)l; where affirmative, upda~in~ the leaky bucket queue length Q an~
setting a first clock (506); determinin~ whether the discard eligibility bit (DE) is set ~508) [see step sst (G~]; where DE is unse~, dat~rmining whe~her a ~ B (5~0)[see sltep set (F)J; where 10 affirmative, updating leaky bucke~ 2 with queue len~th Q~ ~nd setting a seoond cloek ~512); de$ermining whether Q2 is graat~r than a second prese~ected maximum allocation (bucke~
5iZe) B2 (514)1see step set (H)]; where Q2 ~ B~, unset an excess in~licalion (~16); determining a number of bits (K) in 15 the fast packet and up~ g Q2 such tha~ C;)2 - ~2 ~ K (517);
setting frame mark indication (518); determining whether a severe congestion indicalion (greater than or equal to a predetermined congestion level) is set (5203~see step set (I)];
where severe congestion indication is unset, taggin~ (markin~) 20 an FPA frame state (522); se~ting a discard priority ~o Last Discarded (~24); and transmit~ y the fas~ packet ~526);
(B) where the fast packe~ is o~har than the first packet in the frame, d~termining wheth~r excess indication is set (544)[see also step set (C:)]; and where ~xc~ss il~lica~ion is 25 s~, and discarding the fast packet ~556);
(C) where the forward path is congested and the packet is tag~ed, or ali:ernativeiy, the forwar~ path is saverely congested, determining whether a frame mark indication is s~t (546) Lsee ~P set (D)~; wher~ the frame mark indic~livn is 30 set, determining whsther s~3vere con~estion level indica~ion is set ~548)1s~ step set (E)l; where ~he s2v~re ~on~slion indication is set, and disca~ing th~ fast pa~kat ~556);
~ D) wher~ the frame mark indica~ion is unset, de~ertnining ~he number o~ b~ts ~K~ in the ~s~ packe~ ~538);

.

2 i ~C~)2 updating Q such that Q-(;) + K (540); setting a discard priority to Last Discarded (542~; and transmitting the fast packe (52~);
(E~ where the severe oonges~ion level indication is S unset, clete""ining the number of bits (K3 in the fast packet (550); ~dalin~ Q2 such that Q25Q2 ~ K (5S2~; setting a discard priority to First Discarded (544), and transmi~tin~ the fast packet (526);
(F) where Q s B, uns~tting the frame rnark indication 1 O (5363; determining ths number of bits (K) in the fast packet (5383; updating Q suoh that Q5Q ~ K (54û); setting a discard priority to Last Discarded ~542); and transmitting the fast packet (526);
(~3) where ~he DE bit is sst in the frame relay frame, 1~ bypassing the step of d~t~r",ining wheth~r Q ~ 13 in (A) above, and otherwise procesding as set forth in step ~A);
~ H) whera Q2 ~ E~2, setting an excess indication (528~;
and discarding the fast packet (530);
and ~0 (I) whers a sev~re congestion indication is set, discarding the ~ast paoket (532); creating an empty packet (534); tag~ing (marking~ an FPA frame sta~e ~522); se~ting a discard priority to Last Discarded (~24~; and transmitting the fast packet ~526).
2~
In a preferred embodimen~, data fas~ paoket connections are assigned to a transit internodal (head-of-line priority~
queue bas~d on an expect~d purst size of the source. The lar~er the expectad burst ~ntering the subn~twork, the lower 30 the assigned priority queue and the higher an expect~d delay.
Hence, in~eractive terminal traffic is typically assigned a high priori~y, and lFile transfers a low priority.

- ~0~0~2 FIG. 6, num~r~l 600, illustrates a first embodiment of a system that utilizes the present invention for previding rate based congestion control in an integratec~ fast packet nst~verk each packet having ~t le~st a two bit con~estien level field.
5 The system comprises at least a source ed~e nod~ unit ~602;, operably coupled to receive ths fas~ packet ~raffic for transmission over the network, said unit havin~ a negotiated throughput rate, for rate-based monitorin!g and ralte enforcement of ~he ~raffio utilizing a moniitor/enforcer unit 10 that provides a fast paGket discard priority, a ~ransit node uni~
(604), uperably coupled to the source edge node unit, having a plurality of interm~diate nodes for providing a~ said nocles fas~ packet transmission pa~hs, and a destination edge node unit ~606), operably coupled to the transi~ node uni~ ~604), for 15 providing at least a correlated con~es~ion level and for outputting reass0mbled frames of transmitted fast packets at a realized throughput rate, such that ths realized throughpu~
rate of the transmitted fast packets may exceed the predetsrmined throughput rate where the fast paokets utilize 20 unused or unallocated ne~work capacit~. Since an end system typicaliy both transmits and receives frames relatecl to the same snd-~o-end communic~tion, an end system is both a sourc~ end systom in one direction of communication and a destination end system in the other, and, similarly, an edg~
25 node is bo~h a source ed~e node in one direction of communication and a destination ed~e node in th~ other.

The sour~e cdge nocle unit (602) inclLldes at IEast a moni~or/enforcer unit (~08), ~ BCCL ~tate deteGIion unit (612) 30 and a frame relay BECN marking unit (610~. The monitor/en~Jrcer unit ~t least performs leaky bucket operation and discarcl priori~y marking. Typically, the discard priority field of a fas~ packet has hNo possible values, the one bein~ 'Last Discarded' and the other b0in~ 'First Dis~arded'.

.

.

.

2 1 ~ 2 ~6 When a frame is receiv~d in 0XCelS5 of previously negotiated rate R and buckat size B, the discard priority of the first fast packQt comprising the frame is set to Las;t Discarded and that of subsequent fast packsts is set to First Discarded. I lowever, 5 if the BCCL state detection unit (612~ indica~es tha~
congestion along the path is 'severe', the frame is àisc~rded and a con~rol fast packe~ is sen~, or if ~he previously negotiated excess ra~e R2 ~nd excess buc:ket size ~2 is excoeded, th~ frame is discarded ancl n~ sontrol fast packet is 10 sent. When a control fas~ pack~t is receivecl in th~ backwarà
direction (i.e., from the destination edge node~ the i3CCL state dstection unit (612) storcs the BGCL frorn said control fast packet. When the first fast paGket of a frame is received in the b~ck~l~ard dire~lion, the BECN bit of said frame is ~et if the 15 BCGL is equal ~o or ~reat~r than a predetermined congestion ievel.

The transit node uni~ includes at least congestion-reducing unit (614) for dcterrnining a transit node queue group 20 (TNQ~à) congestion l~v~l for fast pack~ts and for disc~rding fast packets based on saîd TNQG COllg~StiO~ level and on said discard priority. The transit node unit generally further includes a low pass ~ilt~r, operably coupled ~o the conges~ion-reducing unit (614), ~r proYidin~ a m~asurement that allows 25 cQnges~ion determina~ion of a par~icular queue. Typie~lly, said measuremen~ is obtainecl by averaging the samplad qu~ue dap~h tha~ is input from a queue depth sampl~r (618).

The destinaticn edge ncde unit (606) generally comprises 30 at Icas~: a connection congestion levei ~CL) sta~e de~erminer (620), op~rably coupled to the transit node means, for determining a connection cong~stion lev~l (CL) state; a fast packet ~cJap~ion ~FPR) frame tag state determiner (622), op~rabiy coupled to the sourGe edge node means, far :

:
.

determining a FPA frame tag.state; a correlated CL determiner ~626), operably coupled to the connection CL state daterrniner (620) and to the FPA frame tag state de~erminer (622), for utilizing the CL state and the FPA fralre l:ag stat0 to 5 determine a correlated congestion level that provides a backward correla~d congestion level (BCCL~ state to a BCCL
signal unit (624) ~hat is o,oerabJy coupled to provide a E~CCL
sta~e indicalion to the source edge node uni~ (602), as described more fully herein, and tha~ further provid~s a 10 forward correlat~d congestion level (K~CL) to a FC(:;L state determiner (628) that is operably coupled to provide a frame relay forward explicit congestion notification (FECN) to a fram~ r~lay FECN marking unit ~630~ that outputs the reassembled frames of transmitted fast packets.

Thus, there is a one-to-one mapping between a frarne r~lay conn~ction and its suppor~ing fast pack~ connec~ion such that the frame relay conrlection is allow~d to exceed its negotiated (prede~ermined) lthrou~hput rate R without 20 suffering any ne~tive cons~quences if there is unused capaci~y along i~s assigned rou~e. Where the net~vork is congested, the ne~ ed throughput rate, as monitored by ~he leaky bucket, determin0s which conn~ctions are in violation, and sets fast packet discar~ priorities that are used by transit 2 5 nQdes to distin~uish vioiating and non-violatin~ fram~ traffic in the subnetwork.

The closed-loop feedback syst~m of the firs~
embodiment provides con~es~ion notification across a frame 30 relay int~rfa~e. At the destination edge node, the congestion sta~e of ~he forward connection is maintained by examining a con~stion level (CL~ fieid in an arriving fas~ pasket for that connection. The con~estion sta~e is corre3ate~ wi~h the fram~
ta~ state that is det~rmined by ch~ckin~ the firs~ fast packet 2 ~ 0 2 of each frame for a field oode F. The fram0 ta~ state is h~ld for a pr~d0termined number of consecuti~re fr~mes (~.9., ~0~
~ter a frame is received with the field oode F. For example, co7rela~ed congestion level for forward a~nd backward 5 directions may be set as shown in the ~able below.

FRAMETAG FASTPA~KET FOF~/ARD FECN BACK~NARD B~N
51A~ ~ECl~ CORREIA~D BIT CORREL~TED E~ll LEV~L LEVEL LEVEL
Nb Nermal Normal No Normal ~b No Mild Normal No Normal ~b No Moderate Nlormal l~b Normal No ~ Severe Moderate Yes Moderate Yes Yes Normal Normal Nb Normal l~b Yes Mild Mild Yes Norrnal No Yes Moderate Moderate Yes Moderate Yes Yes Severe Severe Yes Severe Yes In this ambodiment the frame relay forward ~xpiicit congestion noli~icalion ~FECN) bit ix se~ on frames crossin~
1 Q the frame relay interfaoe at the des~ination ed~e whenever the ~orward correlated congestion level (FCCL) is in a mild, moderate or severe state. The oorr~lated con~estion is returned to the source via a fast packet containing no user data and only one ~f the three field codes (normal, modera~, 15 severe) for backward congestion, such pa~ket being sent only lJpon ohange of congestion l~vel or after a prede~rmined num~er of packets have been received since ~he last such packet was sent. Her~, ~he norrnal and mild FCCL sta~es are combined to form a bac~;v/ard correla~ed con~es~ion level 20 (BCC:L) normal state. The frame relay backward ~xplicit oongestion notification ~BECN) bit is set for all fram~s erossin~ the fram~ relay interFace ~o ~he souroe whenever the 2 ~ 2 Bt:;CL s~ate is moderate or severe. Also, if the BCCL state is severe, the leaky bucket be~ins to strictl!/ enforce the negotiated throughput rate, P~, by disoarding the violating frames. The frame tag st~te is still conv~yed to the 5 d~slinalion cdge node for each of these discarded frames by crea~in~ an empty fast packet oontaining the field eode F tag.
Since ths E3CCL control signalling is via lthe unreiiable fas~
paoket relay servioe, i~ must be reenforoed by repeating the indication to oompensate for control fast packets lost in the 10 sl,bneh~ork. A control fas~ packe~ is sen~ in a backward ~iireelion whenever the BCCL state chan~es or, alternatively, after a predetermined number of frames have been received in a forward direc~ion. The destination edge conyestisn correlation, FECN marking, backul~r~ oorlgestion indica~ion, and 15 BE(::N rnarking functions are dsscribed more fully below.

FIQ. 7, numeral 700, sets forth a flow char~ illustrating steps for sampling a transit queue group for congestion levels in accordance with the method of the present inventil~n. For 20 each queue group that is sampled, one of ~he follou~ g sets of steps is executed (in aecordanc0 with determinations as set forth below):
(A) reading (sampling~ a quelJe len~th from a transit queue (7û2); upcl~ing an average queue length for ~he transi~
25 qusue (704); determining whether the avera~e (i.e., filtered3 queue length is greater than a first predetsrmined thresholdl (706~[see 5~p set ~B)~; wher~ affirmative, determining whsther the average queue len~th is ~reater than a second predetermined threshold2 (708)[see step set (C)]; where 30 ~T~i",.~ e, determining whether the average queue length is greater than a third predet0rmined threshold~ ~710)[see step set ~D); where affirmative, ~ettin~ the congestion level for the queue to sever~ (712); determining whe~her all queues in a selecte~ ç~roup have be~n sampled (714) [see step set (E)]; and, ~ . . . .

.

2~0'~ 3a~


where afFirmative, determinin~ whether ~he queue group con~estion l~vel (CL) is ~reater than a maximum congestion level in the queue group [see step set (F);
(B) in step (A) where the average queue length is less than or equal to the threshold1, setting the CL to normal and proceedin~ to the step of determining wh~ther all queues in the selected group have been sampled (714) in s~ep (A);
(C) in step (A) where the averag~ queue len~th is 10ss than or equal to the threshold2, setting th~ CL to rnild and 1 O proceeding to the step of determining whe~ther ~ll quaues in the sel~eL~d group hav~ been sampled (714) in s~ep (A);
(D) in step (A) where the averag~ queue length is less than or equal to the ~hr~7shold3, setting the CL to moderate and proceeding to the s~3p of de~rmining whether all queues in the selacted ~roup have b0an sarllpled (714~ in step (A);
(E~ in step (A) where at least one queue in the selected gruup i5 unsampled, proceeding to ~he stcp of reading a queue length from a transit queue (702) in step (A~;
and (F) in step (A~ where the pr~violus value of ~he queu~
~roup congestion level ~CL) is less than the ~r~atest oongestion level of any queue in the queue group, or if the congestion levels of all queues in the queue group are 'normal', set~ing the qu~ue group congestion lev~l ~o ~he greatest congestion level of any queue in the qu~ue ~roup (724).
Otherwise, th~ queue ~roup CL is unchanged.

A flow chart for illustrating steps for packet discarding and packet con~es~ion level marking a~ a data transmit queue in accordance with th~ present invention is set forth in FIG. 8, numefal 800. For eaoh data packe~ to be tran~ itl~d, one of the following ~ets o~ s~eps is ~ollowed (in accordance with determinations as set forth below):

. . :

2 ~ 9~2 (A) sslectin~ a packet from a queue of data packets to be transmitted (~023; determining whether an instantaneous queua len~th is less than a prede~ermined high discard level (804)~see step set (B)~; where affirmative, ~etermining 5 whsther the queue ~roup congestion level (CL) i5 severe, or alternatively, whethsr the instantaneous queue length is greater th~n a pre~Je~ei,l,ined low discard le~el ~806~[see step set ~C); where affirmative, determini1lg whether the discard priority is Last Discarded ~80~[see step se~ )31; vvhere 10 affirma~ive, determining whether ~he packe~ CL is less than ~he queue group CL (~10)[s~e step set (E); where affifma~ive, setting the packet CL ~qual to the qu~ue group CL (812); and transmittin~ the paoket (814);
(B) in step ~A) where the instan~aneolJs quel-e len~th is 15 greater than or equal to the prec~et~ ,ined high discard level, discarding the packet (816); and proceeding ~o selectiny another packet from a queue of data packets to be transmitted (802) in stcp ~A);
(C) in ~tep (A) wher0 ~he queue g~oup con~estion leu~l 20 (C~ is other than severe, and the i"~l~n~aneous qu~ue len~th is less ~han or eqlJal to a pred~ermined low discard level, proceedin~ to dstermining whether the packct CL is less than the queue ~roup CL ~8~0) in step (A);
(:)) in step (A) where the diseard prior;ty is ot7 er than 25 ~he Las~ Discard0d, discardin~ the packet (818); ancl proceeding to select ano~her pack~t from a queue of fast packets to be transmitted (802) in stcp (A~;
and (E) in step (A) where the packet GL is gr~ater than or 30 equal to the queue ~roup CL, transmittin~ the paGket (~14).

A flow ehar~ for illustratin~ step~ for packet discardin~
and packe~ conges~ion level marking at a voice transrni~ queue in accor~ance with the present iflvention is set for~h in FiG. 9, .
.

. . . . .
", .

1 0 ~ ~

numeral 900. Voio~ fast packets are typically not processed at the source edge node by the monitor/en~orcer. Howevef, the packet discard priority is typically d~termined by a spe~ch coding unit, bas~d on the significanc~ of the pack~t ~or 5 purposes of reconstruction o~ the spsach signal. For each voice packet ~o be ~ransmitted, one o~ the followin~ sets of steps is follow0d (in accordance with daiterminations as set forttl below~:
~A) selectin~ a packet frorn a qUelJe of voice packets to 10 be transmit~ed (902); se~ting variable PDP equal to a packet discard priority and variable IQL to ~he instantaneous queue length (904~; determining whether JQL is greater than a predetermined voice watermark3 ~90~)~5ee step set (B)];
where the IQL is less than or equal to the pr~de~r,llined voice 15 watermark3, determining whether IQL is ~reater than a predet~rmined voice w~tei",ark2 and PDP is unequal to Last Discard (908)[see step set (C); where IQL is less than or ~qual to the predetermined voic~ w~b~"lark2 or PDP is equal to Last Discarded, determining whsther IQL is greater than a 20 predetermined voice watermark1 and PDP equals a first discar~l set~ing (910)[see s~ep set ~ ; where IQL i5 less than or equal to the p,ecletermined voice watermark1 or PDP is unequal to First Discarded, deler"lining whe~her the packet CL
is less than the queue group CL ~912~see step s~t ~E); where 25 a~firmative, setting the packet CL e~ual ~o ~he quell~ group CL
(g14); and transmit~ing the packet (916);
(B) in step (A) where the IQL is gr~ater ~han the predetermined voice w~t~rmark3, discarding the packet (~18~;
and proceading to selecting a packet from a queue of voice 30 packets to be transrni~ted (902) in step (A);
(C) in step ~A) where th~ IQL is greater than the pred~termined voice watermark2 and PIDP is unequal to last discard, discarding the packet (920); and proceeding to ~3 selec~ing a pack~t fr~m a queue of voice packe~s ~o be transmittcd ~902) in step (A);
~ D~ in step (A) wher~ the IQL is ~reater than the predetermined voice watermark1, and PDP is equal to First 5 discard, discarding the packet (922); and proceeding to selcctirl~ a packe~ ~rom a queue of voice packets to be transmitted (902) in step (A~;
(E) in step ~A) where the packet GL is greater than or aqual to the queue group CL, transmiffing the paok0t (916).
O
A flow chart for illus~,~ling st~ps for updating conges~ion and ta~gin~ sta~us, forward ex~licit congestion no~i~icalion (FECN~ markin~ and cre~ion of backward control packet at a deslin~lion edge node in accordance with the 1 5 Illelllo~l of the prese~lt invention is set fo~h in FIG. 10, numeral 1ûO0. For each received outbound pack*t, one of the following sets of steps is followed ~in accordance with de~rmirlations as set forth below):
(A~ updating the congestion status of the received 20 outbnund fast packet (1002); det~rmining whether the fast packet is a first fast packet in the frame (1004)~see step set (B)]; where affirmative, updating a fast packet adaption ta~ging status ~state) (1006); clete-mining whether the outbound packe~ is c~ngested and tagged, or alternatively, 25 seYereiy congested (~008)[see st~p set (C:)l; where ~he forward path is uncongested or the pack~t is untag~ed, and where the forward path is other than severely congested, deterrninin~
wh~ther the tagging or con~estion status has ohanged (1010~[see s~ep se~ (D)]; where the ta~ing or con0estion 30 status has changsd, cr~a~in~ and storin0 a backward cong~stion code (1~12); s~orin~ a ourrent ta~ and con~estion s~atus ~1014~; setting a coun~r1 to a predetermined number N1 t1016); creating a oontrol packet for a backward direction ~1018); and setting a control field for a backward congestion . . , '' . ' , .
, ;,' ' -' ~, , ' , 21~0~2 ~4 eode and ~etting the c~ntrol packet discard priority to Last Discard (1020);
(B) in step (A~ where the ou~bound packet is o~her than a first packet in th~ fram~, procaeding to the s~ep of 5 determining whether the tag~ing or congestion status has changed (1010) in step (A);
(C~ in step (A) where the fo~ard p~h is eongest~d and the p~kat is tagged, or aiternatively, the forward path is sev~rely congested, setting a FECN bit in the frarne relay 1 0 frame;
(D) in step (A), where ~gging and con~estiorl status are unchanged, determining whether the packet is the firsl: packet in the frame (1024)[see step set (E)3; where the packst is ~he ~irst packet in the frame, ~e~e~ inin~ whether a counter1 is 15 set to zero (10~6); wh0re the counter1 is set to zero, proce~ding to ~he step o~ setting counter1 to the predetermined number N1 (101~) of step ~A);
(E3 in s~ep (D) where the packet is other than the first packet in the frame, ending the status determinin~ steps;
2 0 and ~ F~ in step (1:~) where the counter1 is s~ to other ~han zero, setting th0 counter1 to oQunter A flow chart for illus~r~ing s~eps fOF upda~in0 a ta~
2~ s~atus when receiving a first paGket in ~ frame at a destination edge node in accordance with ~he Ille~o~i o~ the present inv~ntion is set forth in Fl(à. 11, num~ral 1100. For each ~irst packet in a frame reo~ived, one of the ~oll~wing se~s of s~eps is followed (in accordance with determinations 30 as se~ 7Orth below):
(A~ det~rmining wheth~r the fast paok~t adaption (FPA) s~e is marked (ia~ 1102)~see step set (B~l; where the FPA is un~a~0ed, determining whether a coun~er2 is set ~o zero o ~
4)~see s~ep set(C;~; wh~re affirmative, se~ting a c~rren~
t~g status equal to untagged (11063;
(~3 where the FPA is tagged, setting the oourlt~r2 equal to a predetermined second number N2(1îO8);
5 and (C3 where the coun~er2 is great~r ~han 0, decr~menting counter2 and, setting the current ta~ x~atus equal to tagg~d (1110).

A flow chart for illustratin~ steps for creating and storin~ a b~ck~rd congestion ood~ at a d~stination edge node in accordance with the method of the present invention is sst for~h in FIG. 1~, nurn~ral 1;200. For each packet havirlg a tag or oon~estion status chailged, one oF the followiny sets of steps 15 is followed (in accordance with determinations as set for~h below~:
(A) determinin~ whether ~ congestion level (CL) is one of: normal and mild (12û2)1see stsp set (B)3; where (:L is o~her than one ~f normal and mild, determinin~ wl.~ er CL is 20 moderate (1204)~see step se~ ~C:)]; where CL is o~her than one of normal, mild, and modsra~e, dstermining wh~her ~he t~g s~atus (stat~) is tag~ed (1206)~see step se~ (D~l; whsre the tay sta~us is tagged, setting a baclcwaFd con~estion code equal ~o severe ~1208); stori~g the b~ck~;ard congestion code (1210);
(B) in st~p (A) where the ~oi~ge$~ion l9V~ i5 equal to one of norrnal and mild, sstting the b~G~nr~ congestion code equal to normai (t2t2) and storin~ the backward congestion code (12~ 0);
(C) in step (A~ where the con~esti~n level is squal to modera~e, deterrninin~ whether the tag sta~3s i~ ~a~g~d (1214)[see s~p set (E3; wher0 ~he tag statu~ is tagg~d, setting the backward congestion cods equal to mod~rate (1216~; and storihg the bac3nNard con~stion GOd~ 2'10);

, .. : . - . :
. .
:: ' . . ', : : ' , , , ,: : , ~ :

o a S~

(D) in step ~A) where ithe l:a~ged status is untagged, setting the backward oongestion code ~qual to moderate ~1216~; and storing ~he backward congestion oode (I~0);
~E~ in step (C) where the tag status is untagsed, sattin~ tha backward con~0stion code equal to normal (1212);
and storing the backward oongestion code (1210) A flow chart for illustrating steps for reoeivin~ a control paoket in a backward direotion at a source edg~ node in accardance with the ~-,e~ilo~ of the present inven~ion is set forth in FIG. 13, numeral 130û. For each cont~l packet rsoeived, one of thc following sets of steps is followed (in aocor~lance with ~et~ inatiorss as set forth below):
(A) reading ~l oontrol field o~ the received control packc~ (1302); determining whethsr ~he control ~ield has changed from a previous backward congestion ind;oation ~value)(1 304)[see step s~t (B)]; where at~ir-"ali~e, detcrmining whether ~he control field is a normal value (1306)~see step set (C)~; where the con~rol field is other than normal, determinin~ whe~h~r the control field is a modera~e valus (~3û7)[~ee step set (D~]; where the control fieid ;s modera~e, settillg the backward con~s~ion indioa~ion to a moderate indication (1308);
~B) in st0p (A) wheYe the control field is unchan~ed frQm a previous backward con~stion indic~tion (vaiue), ceasing taking further steps ~o set ~h~ control field;
(C) in step (A~ where ~he control field is a normal value, setting the backwarcl congeslion indication ~o a norrnal indication (1310~;
3 o and (D) in step (A) wher~ the control field is other than a n~rmal value and o~hcr ~han a moderate value, s0tting ~h~
backward congestion indication to a ~vere indication (t312).

_ .

;

2 1 ~ 2 ~7 A flow chart far illustrating steps for r~ceivin~ a data fast paeket in a backward direction and settin~ a backward explicit oongestion nolitica~ion ~E~ECN) bit at a source edge node in accordance with ~he method of the present invention is 5 s~t forth in FIG. 14, numeral ~400. For e,ach da~a fast packet received in a backward direction, one of the following sets of steps is followed ~in accordanc~ with delterminations as set forth below):
~A) determinin~ whether the pack~t is a first pack~t in 10 its frame (14O~)1See step se~ ~B)3, where the packe~ is a first packet in its frame, determinin~ wheth0r the backward congestion ins~ic~lion is equal to normal (1404)[s~e step set (C)~; where tha b~ek~;ard congeslion in~iic~ i is equai to normal, ceasing ~akin~ furth~r steps ~o set BECN;
(B) in step (A) where th~ packet is other than a first packet in i~s frame, ceasing taking fur~her steps to set ~he E~ECN bit;
and (C) in step (A) where the b~k~;~rd con~estion indication 20 is indicated as other than normal, se~tin~ the frame relay BECN
bit to a se~ state (14063.

Thus, F3G. 15, num~ral 150û, shows ~h* steps of ~he me~hod of the present inven~ion for providing rate-basedl 25 cQngestion control in an int~grat~d ~ast packe~ traffic network, each packet having at least a two bit ccngestion level field and a prede~ermined throu~hpln rats, compris~s at least the steps of: rate-based monitoring and rate enforcing the traffi~ utilizing a monitor/enforcer that provides a fast 3 0 pack0t discard priority ~1502), providing, at a plurality of intermediate nodes, fast packe~ ~ransmission paths (1504), and providing at leas~ a correlated congestion lev~l and for outputtin~ reass~mbled frames of transmitted fast packets at a re~li7e~ throughput rate ~1506), such that th~ realized , . . . - . - . . .
. .. . . . ... . . . . . .
.. . . - . . . ..

- : . - :
: . ' . : .:
.

2 ~ 2 ~8 throughput rate of the transmitted fast packets may exceed th~ predetermined throughpu~ rate where ths fast packets utilize availabla ne~work eapacity.

In a second el"bocii,l,enl, a system carrying transparent framcd traffiG utiliz~s the method of the present invention. In this embodim~nt, the same func~ion is provided as descri~ed abovs, except that the aocess intefface does flC~t SUppGlt FECN
or BECN. That is, the cong~s1ion control will still be closed 10 loop, but wiîl have no way of informing the source or destination to slow its rate.

In ~ third em~odim~nt, a system carries point-to-point sirnpl~x traffic, or ~Iternatively, point-to-mlJltipoint simple~
15 traffic. In this embodiment there is no reverse path to close the feedback loop. Here, the leaky buck~t continues to lower the fast packet discard priority and ~o discard en~ire frames, but now does so in an open-loop Pashion. The excess rate parameter, P~2, is used to switch ~he leaky buokst to a discard 20 mode. As i~ ed above, c~nc~p1LIaliy, there are ~wo leaky buckets, the ~irs~ being used to lower th~ ~s~ packet discard priori~y where P~ is excee~ and ~he sscond being used to J;scarJ frames ~t th~ source edge where R ~ R2 is exce~cled In the point-to-point el~bodi~ent, the leaky bucket operates 2~ iden~icaliy to that of the ~rame relay servic0 desoribed above.

C)bviously nurnerous ~ di~ic~1ion and variartions sf the pr~sen~ invention ar~ possibl~ in li~ht of ~he abov~ ~eachin~s.
30 It is ther~fore to be unclerstood ~h~ wi~hin the scope of the app~nded claims, ghe inven~ion may be pr~cr1ic~cl otherwise than as specifically described herein.

We ciaim:

.
~ .. . . :
, -. ' ' :

~ . . . .
: . .

Claims (30)

The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:
1. A system for providing rate-based congestion control of fast packet traffic having a plurality of fast packets in an integrated fast packet network, each packet being capable of conveying a plurality of levels of congestion indication, comprising at least:
source edge node means, operably coupled to receive the fast packet traffic for transmission over the network, said source edge node means having a predetermined throughput rate, for rate-based monitoring and rate enforcement of the fast packet traffic utilizing a leaky bucket monitor/enforcer means that monitors the fast packet traffic and determines and marks a fast packet discard priority for each fast packet, transit node means, operably coupled of the source edge node means, having a plurality of intermediate nodes for providing at said intermediate nodes fast packet transmission paths, and destination edge node means, operably coupled to the transit node means, for providing at least a correlated congestion level and for outputting traffic at a realized throughput rate, such that where fast packets utilize unallocated or unused network capacity, the realized throughput rate of transmitted fast packets exceeds a negotiated throughput rate, wherein the destination edge node means further includes a backwards correlated congestion level state determiner, i.e., BCCL STATE DET, operably coupled to provide a backwards correlated congestion level, i.e., BCCL, state to the leaky bucket monitor/enforcer means via a control fast packet wherein the transit node means further includes at least congestion-reducing means for determining a transit node queue group, i.e., TNQG, congestion level for fast packets and for discarding fast packets based on said transit node queue group congestion level and on said fast packet discard priority.
2. The system of claim 1 wherein the means for determining a transit node queue group congestion level and for discarding fast packets based on said transit node queue group on said discard priority incorporates hysteresis for state transitions.
3. The system of claim 1 wherein the leaky bucket monitor/enforcer means that provides a fast packet discard priority comprises at least said leaky bucket monitor/enforcer for at least determining and marking said fast packet discard priority such that, when a frame is received in excess of a previously negotiated rate, R, and bucket size, B, the discard priority of a first fast packet comprising said frame is set to 'last discarded' and the discard priority of subsequent fast packets is set to 'first discarded'.
4. The system of claim 3, further including means for, when said frame is received in excess of a previously negotiated rate R2 and bucket size B2, discarding said frame.
5. The system of claim 1, wherein the transit node means further includes a low pass filter that is operably coupled to provide a measurement to the congestion reducing means, wherein the measurement allows congestion determination of a particular queue.
6. The system of claim 5, wherein the measurement that allows congestion determination of the particular queue is obtained by averaging a sampled queue depth that is input from a queue depth sampler.
7. The system of claim 1 wherein the congestion level field is two bits or an equivalent of two bits.
8. A system for providing rate-based congestion control of fast packet traffic having a plurality of fast packets in an integrated fast packet network, each packet being capable of conveying a plurality of levels of congestion indication, comprising at least;
source edge node means, operably coupled to receive the fast packet traffic for transmission over the network, said source edge node means having a predetermined throughput rate, for rate-based monitoring and rate enforcement of the fast packet traffic utilizing a leaky bucket monitor/enforcer means that monitors the fast packet traffic and determines and marks a fast packet discard priority for each fast packet, transit node means, operably coupled to the source edge node means, having a plurality of intermediate nodes for providing at said intermediate nodes fast packet transmission paths, and destination edge node means, operably coupled to the transit node means, for providing at least a correlated congestion level and for outputting traffic at a realized throughput rate, such that where fast packets utilize unallocated or unused network capacity, the realized throughput rate of transmitted fast packets exceeds a negotiated throughput rate, wherein the destination edge node means further includes a backwards correlated congestion level state determiner, i.e., BCCL STATE DET, operably coupled to provide a backwards correlated congestion level, i.e., BCCL, state to the leaky bucket monitor/enforcer means via a control fast packet further including a frame relay backwards explicit congestion notification, i.e., BECN, marking unit, operably coupled to the BCCL
STATE DET, for setting a BECN bit when the backward correlated congestion level is equal to or greater than a predetermined congestion level.
9. A system for providing rate-based congestion control of fast packet traffic having a plurality of fast packets in an integrated fast packet network, each packet being capable of conveying a plurality of levels of congestion indication, comprising at least:
source edge node means, operably coupled to receive the fast packet traffic for transmission over the network, said source edge node means having a predetermined throughput rate, for rate-based monitoring and rate enforcement of the fast packet traffic utilizing a leaky bucket monitor/enforcer means that monitors the fast packet traffic and determines and marks a fast packet discard priority for each fast packet, transit node means, operably coupled to the source edge node means, having a plurality of intermediate nodes for providing at said intermediate nodes fast packet transmission paths, and destination edge node means, operably coupled to the transit node means, for providing at least a correlated congestion level and for outputting traffic at a realized throughput rate, such that where fast packets utilize unallocated or unused network capacity, the realized throughput rate of transmitted fast packets exceeds a negotiated throughput rate, wherein the destination edge node means further includes a backwards correlated congestion level state determiner, i.e., BCCL STATE DET, operably coupled to provide a backwards correlated congestion level, i.e., BCCL, state to the leaky bucket monitor/enforcer means via a control fast packet further including a means for discarding fast packets that is operably coupled to monitor fast packet traffic in the source edge node means of the integrated fast packet network and for discarding fast packets when a BCCL
state that indicates level of congestion is greater than a predetermined congestion value.
10. A system for providing rate-based congestion control of fast packet traffic having a plurality of fast packets in an integrated fast packet network, each packet being capable of conveying a plurality of levels of congestion indication, comprising at least;
source edge node means, operably coupled to receive the fast packet traffic for transmission over the network, said source edge node means having a predetermined throughput rate, for rate-based monitoring and rate enforcement of the fast packet traffic utilizing a leaky bucket monitor/enforcer means that monitors the fast packet traffic and determines and marks a fast packet discard priority for each fast packet, transit node means, operably coupled to the source edge node means, having a plurality of intermediate nodes for providing at said intermediate nodes fast packet transmission paths, and destination edge node means, operably coupled to the transit node means, for providing a least a correlated congestion level and for outputting traffic at a realized throughput rate, such that where fast packets utilize unallocated or unused network capacity, the realized throughput rate of transmitted fast packets exceeds a negotiated throughput rate, wherein the destination edge node means comprises at least:

a connection congestion level, i.e., CL, state determiner, operably coupled to the transit node means, for determining a connection congestion level state;
a fast packet adaption frame tag state determiner, operably coupled to the transit node means, for determining a fast packet adaption frame tag state;
a correlated congestion level, i.e, CL, determiner, operably coupled to the connection congestion level state determiner and to the fast packet adaption frame tag state determiner, for utilizing the congestion level state and the fast packet adaption frame tag state to determine a correlated congestion level that provides a backward correlated congestion level, i.e., BCCL, state to a backward correlated congestion level signal unit that is operably coupled to provide a backward correlated congestion level state indication to the source edge node means and that further provides a forward correlated congestion level, i.e., FCCL, to a forward correlated congestion level state determiner.
11. A system for providing rate-based congestion control of fast packet traffic having a plurality of fast packets in an integrated fast packet network, each packet being capable of conveying a plurality of levels of congestion indication, comprising at least:
source edge node means, operably coupled to receive the fast packet traffic for transmission over the network, said source edge node means having a predetermined throughput rate, for rate-based monitoring and rate enforcement of the fast packet traffic utilizing a leaky bucket monitor/enforcer means that monitors the fast packet traffic and determines and marks a fast packet discard priority for each fast packet, transit node means, operably coupled to the source edge node means, having a plurality of intermediate nodes for providing at said intermediate nodes fast packet transmission paths, and destination edge node means, operably coupled to the transit node means, for providing at least a correlated congestion level and for outputting traffic at a realized throughput rate, such that where fast packets utilize unallocated or unused network capacity, the realized throughput rate of transmitted fast packets exceeds a negotiated throughput rate, wherein the destination edge node means comprises at least:

a connection congestion level, i.e., CL, state determiner, operably coupled to the transit node means, for determining a connection congestion level state;
a fast packet adaption, i.e., FPA, frame tag state determiner, operably coupled to the transit node means, for determining a fast packet adaption, i.e., FPA, frame tag state;
a correlated congestion level determiner, operably coupled to the connection congestion level state determiner and to the fast packet adaption frame tag state determiner, for utilizing the congestion level state and the fast packet adaption frame tag state to determine correlated congestion level that provides a backward correlated congestion level state to a backward correlated congestion level signal unit that is operably coupled to provide a backward correlated congestion level state indication to the source edge node means and that further provides a forward correlated congestion level to a forward correlated congestion level state determiner, wherein the forward correlated congestion level state determiner is further operably coupled to provide a frame relay forward explicit congestion notification to a frame relay forward explicit congestion notification marking unit that outputs frames of transmitted fast packets.
12. A system for providing rate-based congestion control of fast packet traffic having a plurality of fast packets in an integrated fast packet network, each packet being capable of conveying a plurality of levels of congestion indication, comprising at least:
source edge node means, operably coupled to receive the fast packet traffic for transmission over the network, said source edge node means having a negotiated throughput rate, i.e., R, and bucket size, i.e.. B, for rate-based monitoring and rate enforcement of the fast packet traffic utilizing a leaky bucket monitor/enforcer means for at least determining and marking a fast packet discard priority such that, when a frame is received in excess of said rate R and bucket size B, the discard priority of a first fast packet comprising said frame is set to 'last discarded' and the discard priority of subsequent fast packets is set to 'first discarded', except that if the backwards correlated congestion level state detection unit indicates that congestion along the path exceeds a predetermined level, the frame is discarded and a control fast packet is sent, or if the negotiated excess rate, i.e., R2, and excess bucket size, i.e., B2, is exceeded, the frame is discarded, transit node means, operably coupled to the source edge node means, having a plurality of intermediate nodes for providing at said intermediate nodes fast packet transmission paths utilizing congestion-reducing means for determining a transit node queue group, i.e.,TNQG, congestion level for fast packets and for discarding fast packets based on said transit node queue group congestion level and on a discard priority, and destination edge node means, operably coupled to the transit node means, for providing at least a correlated congestion level and for outputting reassembled frames of transmitted fast packets at a realized throughput rate, such that the realized throughput rate of transmitted fast packets exceeds a predetermined throughput rate where fast packets utilize unused or unallocated network capacity, wherein the destination edge node means further includes a backwards correlated congestion level state determiner, i.e., BCCL STATE DET, operably coupled to provide a backwards correlated congestion level, i.e., BCCL, state to the leaky bucket monitor/enforcer means via a control fast packet.
13. The system of claim 12, further including a low pass filter, operably coupled to the congestion-reducing means, for averaging a sampled queue depth that is input from a queue depth sampler.
14. A system for providing rate-based congestion control of fast packet traffic having a plurality of fast packets in an integrated fast packet network, each packet being capable of conveying a plurality of levels of congestion indication, comprising at least:
source edge node means, operably coupled to receive the fast packet traffic for transmission over the network, said source edge node means having a negotiated throughput rate, i.e., R, and bucket size, i.e., B, for rate-based monitoring and rate enforcement of the fast packet traffic utilizing a leaky bucket monitor/enforcer means for at least determining and marking a fast packet discard priority such that, when a frame is received in excess of said rate R and bucket size B, the discard priority of the first fast packet comprising said frame is set to 'last discarded' and the discard priority of subsequent fast packets is set to 'first discarded', except that if the backwards correlated congestion level, i.e., BCCL, state detection unit indicates that congestion along the path exceeds a predetermined level, the frame is discarded and a control fast packet is sent, or if the negotiated excess rate, i.e., R2, and excess bucket size, i.e., B2, is exceeded, the frame is discarded, transit node means, operably coupled to the source edge node means, having a plurality of intermediate nodes for providing at said intermediate nodes fast packet transmission paths utilizing congestion-reducing means for determining a transit node queue group congestion level, i.e., TNOG, for fast packets and for discarding fast packets based on said transit node queue group congestion level and on a discard priority, and destination edge node means, operably coupled to the transit node means, for providing at least a correlated congestion level and for outputting by said destination edge node means, reassembled frames of transmitted fast packets at a realized throughput rate, such that the realized throughput rate of transmitted fast packets exceeds a predetermined throughput rate where fast packets utilize unused or unallocated network capacity, further including a backwards correlated congestion level state determiner, i.e., BCCL STATE DET, operably coupled to the destination edge node means, for providing a backwards correlated congestion level state to the leaky bucket monitor/enforcer means via a control fast packet and further including a frame relay backwards explicit congestion notification, i.e., BECN, marking unit, operably coupled to the backwards correlated congestion level state determiner, i.e., BCCL STATE DET, for setting a backwardsexplicit congestion notification, BECN, bit when the backward correlated congestion level is equal to or greater than a predetermined congestion level.
15. A system for providing rate-based congestion control of fast packet traffic having a plurality of fast packets in an integrated fast packet network, each packet being capable of conveying a plurality of levels of congestion indication, comprising at least:

source edge node means, operably coupled to receive the fast packet traffic for transmission over the network, said source edge node means having a negotiated throughput rate, i.e., R, and bucket size, i.e., B, for rate-based monitoring and rate enforcement of the fast packet traffic utilizing a leaky bucket monitor/enforcer means for at least determining and marking a fast packet discard priority such that, when a frame is received in excess of said rate R and bucket size B, the discard priority of the first fast packet comprising said frame is set to 'last discarded' and the discard priority of subsequent fast packets is set to 'first discarded', except that if the backwards correlated congestion level, i.e., BCCL, state detection unit indicates that congestion along the path exceeds a predetermined level, the frame is discarded and a control fast packet is sent, or if the negotiated excess rate, i.e., R2, and excess bucket size, i.e., B2, is exceeded, the frame is discarded, transit node means, operably coupled to the source edge node means, having a plurality of intermediate nodes for providing at said intermediate nodes fast packet transmission paths utilizing congestion-reducing means for determining a transit node queue group, i.e., TNQG, congestion level for fast packets and for discarding fast packets based on said transit node queue group, TNQG, congestion level and on a discard priority, and destination edge node means, operably coupled to the transit node means, for providing at least a correlated congestion level and for outputting by said destination edge means, reassembled frames of transmitted fast packets at a realized throughput rate, such that the realized throughput rate of transmitted fast packets exceeds a predetermined throughput rate where fast packets utilize unused or unallocated network capacity, wherein the destination edge node means comprises at least:
a connection congestion level, i.e., CL, state determiner, operably coupled to the transit node means, for determining a connection congestion level state;
a fast packet adaption, i.e., FPA, frame tag state determiner, operably coupled to the source edge node means, for determining a fast packet adaption frame tag state;
a correlated congestion level, i.e., CL, determiner, operably coupled to the connection congestion level state determiner and to the fast packet adaption frame tag state determiner, for utilizing the congestion level state and the fast packet adaption frame tag state to determine a correlated congestion level that provides a backward correlated congestion level, i.e., BCCL, state to a backward correlated congestion level, i.e., BCCL, signal unit that is operably coupled to provide a backward correlated congestion level state indication to the source edge node means and that further provides a forward correlated congestion level, i.e., FCCL, to a forward correlated congestion level state determiner.
16. A system for providing rate-based congestion control of fast packet traffic having a plurality of fast packets in an integrated fast packet network, each packet being capable of conveying a plurality of levels of congestion indication, comprising a least:
source edge node means, operably coupled to receive the fast packet traffic for transmission over the network, said source edge node means having a negotiated throughput rate, i.e., R, and bucket size, i.e., B, for rate-based monitoring and rate enforcement of the fast packet traffic utilizing a leaky bucket monitor/enforcer means for at least determining and marking a fast packet discard priority such that, when a frame is received in excess of said rate R and bucket size B, the discard priority of the first fast packet comprising said frame is set to 'last discarded' and the discard priority of subsequent fast packets is set to 'first discarded', except that if the backwards correlated congestion level, i.e.. BCCL state detection unit indicates that congestion along the path exceeds a predetermined level, the frame is discarded and a control fast packet is sent, or if the negotiated excess rate R2 and excess bucket size B2 is exceeded, the frame is discarded, transit node means, operably coupled to the source edge node means, having a plurality of intermediate nodes for providing at said intermediate nodes fast packet transmission paths utilizing congestion-reducing means for determining a transit node queue group congestion level for fast packets and for discarding fast packets based on said transit node queue group congestion level and on a discard priority, and destination edge node means, operably coupled to the transit node means, for providing at least a correlated congestion level and for outputting, by said destination edge node means, reassembled frames of transmitted fast packets at a realized throughput rate, such that the realized throughput rate of transmitted fast packets exceeds a predetermined throughput rate where fast packets utilize unused or unallocated network capacity, wherein the destination edge node means comprises at least: a connection congestion level state determiner, operably coupled to the transit node means, for determining a connection congestion level state;
a fast packet adaption frame tag state determiner, operably coupled to the source edge node means, for determining a fast packet adaption frame tag state;
a correlated congestion level determiner, operably coupled to the connection congestion level state determiner and to the fast packet adaption frame tag state determiner, for utilizing the congestion level CL state and the fast packet adaption frame tag state to determine a correlated congestion level that provides a backward correlated congestion level state to a backward correlated congestion level signal unit that is operably coupled to provide a backward correlated congestion level, i.e., BCCL, state indication to the source edge node means and that further provides a forward correlated congestion level to a forward correlated congestion level state determiner, wherein the forward correlated congestion level, i.e., FCCL, state determiner isfurther operably coupled to provide a frame relay forward explicit congestion notification, i.e., FECN, to a frame relay forward explicit congestion notification marking unit that outputs the reassembled frames of transmitted fast packets.
17. A method for providing rate-based congestion control of fast packet traffic having a plurality of fast packets in an integrated fast packet network, each packet being capable of conveying a plurality of levels of congestion indication, comprising at least the steps of:
rate-based monitoring and rate enforcing the fast packet traffic utilizing a leaky bucket monitor/enforcer, providing, at a plurality of intermediate nodes, fast packet transmission paths, and providing at least a correlated congestion level and for outputting, by a destination edge node unit, reassembled frames of transmitted fast packets at a realized throughput rate, such that where fast packets utilize unused or unallocated network capacity the realized throughput rate of transmitted fast packets exceeds a predetermined throughput rate, wherein utilizing the leaky bucket monitor/enforcer that provides a fast packet discard priority comprises at least the steps of utilizing a leaky bucket monitor/enforcer for at least determining and marking a fast packet discard priority such that when a frame is received in excess of the negotiated rate R, the discard priority of the first fast packet comprising said frame is set to Last discard and the discard priority of subsequent fast packets is set to First discard, wherein the leaky bucket and discard priority marking, upon receiving a fast packet, utilize one of the following sets of steps:
(A) determining whether the fast packet is a first packet in a frame; where affirmative, updating the leaky bucket queue length Q and setting a first clock; determining whether the discard eligibility (DE) bit is set in the frame relay frame; where DE is unset, determining whether Q<B; where affirmative, updating leaky bucket 2 with queue length Q2 and setting a second clock; determining whether Q2 is greater than a second preselected maximum allocation (bucket size) B2; where Q2 < or = B2, unsetting an excess indication; determining a number of bits (K) in the fast packet and updating Q2 such that Q2=2+k; setting frame mark indication; determining whether a severe congestion level (greater than or equal to a predetermined congestion level) is set; where severe congestion indication is unset, tagging (marking) an FPA frame state; setting a discard priority to Last Discarded;
and transmitting the fast packet;
(B) where the fast packet is other than the first packet in the frame, determining whether excess indication is set, and where excess indication is set, and discarding the fast packet;
(C) where excess indication is unset, determining whether a frame mark indication is set; where the frame mark indication is set, determining whether severe congestion indication is set; where the severe congestion indication is set, and discarding the fast packet;
(D) where the frame mark indication is unset, determining the number of bits (K)in the packet; updating Q such that Q=Q+K; setting a discard priority to Last Discarded; and transmitting the fast packet;
(E) where the severe congestion level indication is unset, determining the number of bits (K) in the packet; updating Q2 such that Q2=Q2+K; setting a discard priority to First Discarded; and transmitting the fast packet;
(F) where Q < or = B, unsetting the frame mark indication; determining the number of bits (K) in the packet; updating Q such that Q=Q+K; setting a discard priority to Last Discarded; and transmitting the fast packet;
(G) where the DE bit is set (typically to 1), bypassing the step of determining whether Q>B in (25A) above, and otherwise proceeding as set forth in step (25A); (H) where Q2>B2, setting an excess indication; and discarding the fast packet; and (I) where a severe congestion level indication is set, discarding the fast packet; creating an empty packet; tagging (marking) an FPA frame state; setting a discard priority to Last Discarded; and transmitting the fast packet.
18. The method of claim 15 wherein the congestion level field is two bits or an equivalent of two bits.
19. The method of claim 17, further including the step of providing a backwards correlated congestion level (BCCL) state to the leaky bucket monitor/enforcer.
20. The method of claim 19 further including the step of setting a backward explicit congestion notification (BECN) bit when the backward correlated congestion level is equal to or greater than a predetermined congestion level.
21. A method for providing rate-based congestion control of fast packet traffic having a plurality of fast packets in an integrated fast packet network, each packet being capable of conveying a plurality of levels of congestion indication, comprising at least the steps of:
rate-based monitoring and rate enforcing the fast packet traffic utilizing a monitor/enforcer, providing, at a plurality of intermediate nodes, fast packet transmission paths, and providing at least a correlated congestion level and for outputting, by a destination edge node unit, reassembled frames of transmitted fast packets at a realized throughput rate, such that the realized throughput rate of transmitted fast packets exceeds a predetermined throughput rate where fast packets utilize unused or unallocated network capacity, wherein the step of providing a plurality of intermediate nodes, fast packet transmission paths includes at least utilizing a congestion-reducing unit for determining a transit node queue group, i.e., TNQG, congestion level for fast packets and for discarding fast packets based on said TNQG congestion level and on a discard priority, wherein steps for determining a transit node queue group congestion level includes sampling a transit queue group for congestion levels such that one of the following sets of steps is executed in accordance with determinations as set forth below:
(A) sampling a queue length from a transit queue; updating an averaged queue length for the transit queue; determining whether an average queue length is greater than a first predetermined threshold1 {see step set (29B)}; where affirmative, determining whether the average queue length is greater than a second predetermined threshold2 {see step set (29C)}; where affirmative, determining whether the average queue length is greater than a third predetermined threshold3 {see step set (29D)}; where affirmative, setting the congestion level for the queue to severe; determining whether all queues in a selected group have been sampled {see step set (29E)}; and, where affirmative, determining whether the queue group congestion level, CL, is greater than a predetermined maximum congestion level in the queue group {see step set (29F)};

(B) in step (29A) where the average queue length is less than or equal to the threshold1, setting the CL to normal and proceeding to the step of determining whether all queues in the selected group have been sampled in step (29A);
(C) in step (29A) where the average queue length is less than or equal to the threshold2, setting the CL to mild and proceeding to the step of determining whether all queues in the selected group have been sampled in step (29A), (D) in step (29A) where the average queue length is less than or equal to the threshold3, setting the CL to moderate and proceeding to the step of determining whether all queues in the selected group have been sampled in step (29A);
(E) in step (29A) where at least one queue in the selected group is unsampled, proceeding to the step of reading a queue length from a transit queue in step (29A); and (F) in step (29A), where the previous value of the queue group congestion level,CL, is less than the greatest congestion level of any queue in the queue group, or if the congestion levels of all queues in the queue group are 'normal', setting the queue group congestion level to the greatest congestion level of any queue in the queue group; otherwise, the queue group CL is unchanged.
22. A method for providing rate-based congestion control of fast packet traffic having a plurality of fast packets in an integrated fast packet network, each packet being capable of conveying a plurality of levels of congestion indication, comprising at least the steps of:
rate-based monitoring and rate enforcing the fast packet traffic utilizing a leaky bucket monitor/enforcer that monitors the fast packet traffic and determines and marks a fast packet discard priority for each fast packet, providing, at a plurality of intermediate nodes, fast packet transmission paths, and providing at least a correlated congestion level and for outputting, by a destination edge node unit, reassembled frames of transmitted fast packets at a realized throughput rate, such that the realized throughput rate of transmitted fast packets exceeds a predetermined throughput rate where fast packets utilize unused or unallocated network capacity, wherein the step of providing at least a correlated congestion level and for outputting reassembled frames of transmitted fast packets at a realized throughput rate comprises at least the steps of:
determining a connection congestion level, CL, state; determining a fast packet adaption, FPA, frame tag state;
utilizing the CL state and the FPA frame tag state to determine a correlated congestion level, providing a backward correlated congestion level, BCCL, state to a BCCL signal unit, and providing a forward correlated congestion level, FCCL, to a FCCL state determiner.
23. The method of claim 22 further including the step of providing a frame relay forward explicit congestion notification (FECN) to a frame relay FECN marking unit that outputs the reassembled frames of transmitted fast packets.
24. A method for providing rate-based congestion control of fast packet traffic having plurality of fast packets in an integrated fast packet network, each packet being capable of conveying a plurality of levels of congestion indication, comprising at least the steps of:
rate-based monitoring and rate enforcing the fast packet traffic utilizing a leaky bucket monitor/enforcer, providing, at a plurality of intermediate nodes, fast packet transmission paths, and providing at least a correlated congestion level and for outputting, by a destination edge node unit, reassembly frames of transmitted fast packets at a realized throughput rate, such that the realized throughput rate of transmitted fast packets exceeds a predetermined throughput rate where fast packets utilize unused or unallocated network capacity, further including packet discarding and congestion level marking for data packets such that, for each data packet to be transmitted, one of the following sets of steps is followed at an intermediate node in accordance with determinations as set forth below: (A) selecting a packet from a queue of data packets to be transmitted; determining whether an instantaneous queue length is less than a predetermined high discard level {see step set (32B)}; where affirmative, determining whether the queue group congestion level, CL, is severe, or alternatively, whether the instantaneous queue length is greater than a predetermined low discard level {see step set (32C)}; where affirmative, determining whether the discard priority is Last Discarded {see step set (32D)}; where affirmative, determining whether the packet CL is less than the queue group CL {see step set (32E)};
where affirmative, setting the packet CL equal to the queue group CL; and transmitting the packet; (B) in step (32A) where the instantaneous queue length is greater than or equal to the predetermined high discard level, discarding the packet; and proceeding to select another packet from a queue of data packets to be transmitted in step (32A); (C) in step (32A) where the queue group congestion level, CL, is other than severe and the instantaneous queue length is less than or equal to a predetermined low discard level, proceeding to determining whether the packet CL is less than the queue group CL in step (32A); (D) in step (32A) where the discard priority is other than the Last Discarded, discarding the packet; and proceeding to select another packet from a queue of data packets to be transmitted in step (32A); and (E) in step (32A) where the packet CL is greater than or equal to the queue group CL, transmitting the packet.
25. A method for providing rate-based congestion control of fast packet traffic having a plurality of fast packets in an integrated fast packet network, each packet being capable of conveying a plurality of levels of congestion indication, comprising at least the steps of:
rate-based monitoring and rate enforcing the fast packet traffic utilizing a leaky bucket monitor/enforcer that monitors the fast packet traffic and determines and marks a fast packet discard priority for each fast packet, providing, at a plurality of intermediate nodes, fast packet transmission paths, and providing at least a correlated congestion level and for outputting, by a destination edge node unit, reassembled frames of transmitted fast packets at a realized throughput rate, such that where fast packets utilize unused or unallocated network capacity the realized throughput rate of transmitted fast packets exceeds a predetermined throughput rate, further including packet discarding and congestion level marking at a voice transmit queue such that, for each voice packet to be transmitted, one of the following sets of steps is followed in accordance with determinations as set forth below: (A) selecting a packet from a queue of voice packets to be transmitted; setting variable PDP, packet discard priority, equal to a packet discard priority and variable IQL to an instantaneous queue length; determining whether IQL is greater than a predetermined voice watermark3 {see step set (33B)}; where the IQL is less than or equal to the predetermined voice watermark3, determining whether IQL is greater than a predetermined voice watermark2 and PDP is unequal to Last Discard {see step set (33C)}; where IQL is less than or equal to the predetermined voice watermark2 or PDP is equal to Last Discarded, determining whether IQL is greater than a predetermined voice watermark1 and PDP equals a first discard setting {see step set (33D)}; where IQL is less than or equal to the predetermined voice watermark1 or PDP is unequal to First Discarded, determining whether the packet CL is less than the queue group CL {see step set (33E)}; where affirmative, setting the packet CL equal to the queue group CL; and transmitting the packet; (B) in step (33A) where the IQL is greater than the predetermined voice watermark3, discarding the packet; and proceeding to selecting a packet from a queue of voice packets to be transmitted in step (33A); (C) in step (33A) where the IQL is greater than the predetermined voice watermark2 and PDP is unequal to Last Discard, discarding the packet; and proceeding to selecting a packet from a queue of voice packets to be transmitted in step (33A); (D) in step (33A) where the IQL is greater than the predetermined voice watermark1 and PDP equals to the first discard, discarding the packet;
and proceeding to selecting a packet from a queue of voice packets to be transmitted in step (33A); (E) in step (33A) where the packet CL is greater than or equal to the queue group CL, transmitting the packet.
26. A method for providing rate-based congestion control of fast packet traffic having a plurality of fast packets in an integrated fast packet network, each packet being capable of conveying a plurality of levels of congestion indication, comprising at least the steps of:
rate-based monitoring and rate enforcing the fast packet traffic utilizing a leaky bucket monitor/enforcer that monitors the fast packet traffic and determines and marks a fast packet discard priority for each fast packet, providing, at a plurality of intermediate nodes, fast packet transmission paths, and providing at least a correlated congestion level and for outputting, by a destination edge node unit, reassembled frames of transmitted fast packets at a realized throughput rate, such where fast packets utilize unused or unallocated network capacity the realized throughput rate of transmitted fast packets exceeds a predetermined throughput rate, wherein the step of providing at least a correlated congestion level and outputting reassembled frames of transmitted fast packets further includes steps for updating congestion and tagging status, forward explicit congestion notification, FECN, marking and creation of backward control packet at a destination edge node such that, for each received outbound packet, one of the following sets of steps is followed in accordance with determinations as set forth below: (A) updating the congestion status of the received outbound packet;
determining whether the packet is a first packet in the frame {see step set (34B)}; where affirmative, updating a fast packet adaption tagging status, state; determining whether the forward path is congested and tagged, or alternatively, severely congested {see step set (34C)}; where the forward path is other than congested or the packet is untagged, and the forward path is other than severely congested, determining whether the tagging or congestion status has changed {see step set (34D)}; where the tagging or congestion status has changed, creating and storing a backward congestion code; storing a current tag and congestion status; setting a counter1 to a predetermined number N1; creating a control packet for a backward direction; and setting a control field for a backward congestion code and setting the control packet discard priority to Last Discard; (B) in step (34A) where the outbound packet is other than a first packet in the frame, proceeding to the step of determining whether the tagging or congestion status has changed in step (34A); (C) in step (34A) where the forward path is congested and the packet is tagged, or alternatively, the forward path is severely congested, setting a FECN bit in the frame relay frame; (D) in step (34C) where tagging and congestion status are unchanged, determining whether the packet is the first packet in the frame {see step set (34E)}; where the packet is the first packet in the frame, determining whether a counter1 is set to zero; where the counter1 is set to zero, proceeding to the step of setting counter1 to the predetermined number N1 of step (34A); (E) in step (34D) where the packet is other than the first packet in the frame, ending the status determining steps; and (F) in step (34D) where the counter1 is set to other than zero, setting the counter1 to counter1-1.
27. A method for providing rate-based congestion control of fast packet traffic having a plurality of fast packets in an integrated fast packet network, each packet being capable of conveying a plurality of levels of congestion indication, comprising at least the steps of:
rate-based monitoring and rate enforcing the fast packet traffic utilizing a leaky bucket monitor/enforcer that monitors the fast packet traffic and determines and marks a fast packet discard priority for each fast packet, providing, at a plurality of intermediate nodes, fast packet transmission paths, and providing at least a correlated congestion level and for outputting, by a destination edge node unit, reassembled frames of transmitted fast packets at a realized throughput rate, such that where fast packets utilize unused or unallocated network capacity the realized throughput rate of transmitted fast packets exceeds a predetermined throughput rate, wherein the step of providing at least a correlated congestion level and outputting reassembled frames of transmitted fast packets further includes steps for updating a tag status when receiving a first packet in a frame at a destination edge node such that, for each first packet in a frame received, one of the following sets of steps is followed in accordance with determinations as set forth below:
(A) determining whether the fast packet adaption, FPA, state is marked, i.e., tagged, {see step set (35B)}; where the FPA is untagged, determining whether a counter2 is set to zero {see step set(35C)}; where affirmative, setting a current tag status equal to untagged;
(B) where the FPA is tagged, setting the counter2 equal to a predetermined second number N2; and (C) where the counter2 is greater than zero, decrementing counter2, setting the current tag status equal to tagged.
28. A method for providing rate-based congestion control of fast packet traffic having a plurality of fast packets in an integrated fast packet network, each packet being capable of conveying a plurality of levels of congestion indication, comprising at least the steps of:
rate-based monitoring and rate enforcing the fast packet traffic utilizing a leaky bucket monitor/enforcer that monitors the fast packet traffic and determines and marks a fast packet discard priority for each fast packet, providing, at a plurality of intermediate nodes, fast packet transmission paths, and providing at least a correlated congestion level and for outputting, by a destination edge node unit, reassembled frames of transmitted fast packets at a realized throughput rate, such that where fast packets utilize unused or unallocated network capacity the realized throughput rate of transmitted fast packets exceeds a predetermined throughput rate, where the step of providing at least a correlated congestion level and outputting reassembled frames of transmitted fast packets further includes steps for creating and storing a backward congestion code at a destination edge node such that, for each packet having a tag or congestion status changed, one of the following sets of steps is followed in accordance with determinations as set forth below:
(A) determining whether a congestion level, CL, is one of: normal and mild (see step set (36B)), where CL is other than one of normal and mild, determining whether CL is moderate (see step set (36C)); where CL is other than one of normal, mild, and moderate, determining whether the tag status, i.e., state, is tagged {see step set (36D)}; where the tag status is tagged, setting a backward congestion code equal to severe; storing the backward congestion code;
(B) in step (36A) where the congestion level is equal to one of normal and mild,setting the backward congestion code equal to normal and storing the backward congestion code;
(C) in step (36A) where the congestion level is equal to moderate, determining whether the tag status is tagged {see step set (36E)}; where the tag status is tagged, setting the backward congestion code equal to moderate; and storing the backward congestion code;
(D) in step (36A) where the tagged status is untagged, setting the backward congestion code equal to moderate; and storing the backward congestion code;
(E) in step (36C) where the tag status is untagged, setting the backward congestion code equal to normal; and storing the backward congestion code.
29. A method for providing rate-based congestion control of fast packet traffic having a plurality of fast packets in an integrated fast packet network, each packet being capable of conveying a plurality of levels of congestion indication, comprising at least the steps of:
rate-based monitoring and rate enforcing the fast packet traffic utilizing a leaky bucket monitor/enforcer that monitors the fast packet traffic and determines and marks a fast packet discard priority for each fast packet, providing, at a plurality of intermediate nodes, fast packet transmission paths, and providing at least a correlated congestion level and for outputting, by a destination edge node unit, reassembled frames of transmitted fast packets at a realized throughput rate, such that where fast packets utilize unused or unallocated network capacity the realized throughput rate of transmitted fast packets exceeds a predetermined throughput rate, wherein the rate monitoring/enforcing of traffic utilizing a monitor/enforcer further includes steps for receiving a control packet in a backward direction at a source edge node such that for each control packet received, one of the following sets of steps is followed in accordance with determinations as set forth below:
(A) sampling a control field of the received control packet; determining whether the control field has changed from a previous backward congestion indication {see step set (37B)}; where affirmative, determining whether the control field is a normal value {see step set (37C)}; where the control field isother than normal, determining whether the control field is a moderate value {see step set (37D)}; where the control field is moderate, setting the control field to a moderate indication;
(B) in step (37A) where the backward congestion indication, i.e., value, is unchanged, ceasing taking further steps to set the control field;
(C) in step (37A) where the control field is a normal value, setting the backward congestion indication to a normal indication; and (D) in step (37A) where the control field is other than a normal value and otherthan a moderate value, setting the control field to a severe indication.
30. A method for providing rate-based congestion control of fast packet traffic having a plurality of fast packets in an integrated fast packet network, each packet being capable of conveying a plurality of levels of congestion indication, comprising at least the steps of:
rate-based monitoring and rate enforcing the fast packet traffic utilizing a leaky bucket monitor/enforcer that monitors the fast packet traffic and determines and marks a fast packet discard priority for each fast packet, providing, at a plurality of intermediate nodes, fast packet transmission paths, and providing at least a correlated congestion level and for outputting, by a destination edge node unit, reassembled frames of transmitted fast packets at a realized throughput rate, such that where fast packets utilize unused or unallocated network capacity the realized throughput rate of transmitted fast packets exceeds a predetermined throughput rate, wherein the rate monitoring/enforcing of traffic utilizing a monitor/enforcer further includes steps for receiving a data fast packet in a backward direction and setting a backward explicit congestion notification, i.e., BECN, at a source edge node such that, for each control packet received in a backward direction, one of the following sets of steps is followed in accordance with determinations as set forth below:
(A) determining whether the packet is a first fast packet in its frame {see step set (38B)}: where the fast packet is a first fast packet in its frame, determining whether a backward congestion indication is equal to normal {see step set (38C)}; where backward congestion indication is equal to normal, ceasing taking steps to set BECN;
(B) in step (38A) where the fast packet is other than a first fast packet in its frame, ceasing taking further steps to set the BECN; and (C) in step (38A) where the backward congestion indication is indicated as other than normal, setting the frame relay BECN to a set state.
CA002104002A 1992-01-21 1992-12-10 Rate-based adaptive congestion control system and method for integrated packet networks Expired - Lifetime CA2104002C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/823,724 US5426640A (en) 1992-01-21 1992-01-21 Rate-based adaptive congestion control system and method for integrated packet networks
US823,724 1992-01-21

Publications (2)

Publication Number Publication Date
CA2104002A1 CA2104002A1 (en) 1993-07-22
CA2104002C true CA2104002C (en) 1998-09-29

Family

ID=25239549

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002104002A Expired - Lifetime CA2104002C (en) 1992-01-21 1992-12-10 Rate-based adaptive congestion control system and method for integrated packet networks

Country Status (6)

Country Link
US (1) US5426640A (en)
EP (1) EP0576647A4 (en)
JP (1) JPH06507290A (en)
AU (1) AU650195B2 (en)
CA (1) CA2104002C (en)
WO (1) WO1993014605A1 (en)

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6847611B1 (en) 1990-12-10 2005-01-25 At&T Corp. Traffic management for frame relay switched data service
US6771617B1 (en) 1993-06-17 2004-08-03 Gilat Satellite Networks, Ltd. Frame relay protocol-based multiplex switching scheme for satellite mesh network
US5434850A (en) 1993-06-17 1995-07-18 Skydata Corporation Frame relay protocol-based multiplex switching scheme for satellite
JP3044983B2 (en) * 1993-08-25 2000-05-22 株式会社日立製作所 Cell switching method for ATM switching system
ZA946674B (en) * 1993-09-08 1995-05-02 Qualcomm Inc Method and apparatus for determining the transmission data rate in a multi-user communication system
FI94814C (en) * 1993-11-30 1995-10-25 Nokia Telecommunications Oy Procedure for managing congestion situations in a frame switching network and a subscriber node in a frame switching network
FI94815C (en) * 1993-11-30 1995-10-25 Nokia Telecommunciations Oy Method and apparatus for handling congestion situations in a frame switching network
US5923657A (en) * 1994-08-23 1999-07-13 Hitachi, Ltd. ATM switching system and cell control method
JP3632229B2 (en) * 1994-12-07 2005-03-23 株式会社日立製作所 ATM switching equipment
US5524006A (en) * 1995-02-15 1996-06-04 Motorola, Inc. Second-order leaky bucket device and method for traffic management in cell relay networks
US5666353A (en) * 1995-03-21 1997-09-09 Cisco Systems, Inc. Frame based traffic policing for a digital switch
JP3568617B2 (en) * 1995-03-24 2004-09-22 株式会社東芝 Cell transfer rate regulation method in ATM communication network
US5659541A (en) * 1995-07-12 1997-08-19 Lucent Technologies Inc. Reducing delay in packetized voice
US6075768A (en) * 1995-11-09 2000-06-13 At&T Corporation Fair bandwidth sharing for video traffic sources using distributed feedback control
US5751969A (en) * 1995-12-04 1998-05-12 Motorola, Inc. Apparatus and methods for predicting and managing congestion in a network
US5777987A (en) * 1995-12-29 1998-07-07 Symbios, Inc. Method and apparatus for using multiple FIFOs to improve flow control and routing in a communications receiver
US5864539A (en) * 1996-05-06 1999-01-26 Bay Networks, Inc. Method and apparatus for a rate-based congestion control in a shared memory switch
US5918182A (en) * 1996-08-30 1999-06-29 Motorola, Inc. Method and apparatus for mitigating data congestion in an integrated voice/data radio communications system
US5805595A (en) 1996-10-23 1998-09-08 Cisco Systems, Inc. System and method for communicating packetized data over a channel bank
US6081524A (en) 1997-07-03 2000-06-27 At&T Corp. Frame relay switched data service
US6424624B1 (en) * 1997-10-16 2002-07-23 Cisco Technology, Inc. Method and system for implementing congestion detection and flow control in high speed digital network
US6421355B1 (en) * 1998-01-20 2002-07-16 Texas Instruments Incorporated Methods and linecard device for allocating multiple timeslots over digital backplane
US6477143B1 (en) 1998-01-25 2002-11-05 Dror Ginossar Method and apparatus for packet network congestion avoidance and control
EP0935367B1 (en) * 1998-02-05 2008-12-10 Alcatel Lucent Cell discard method
DE59901632D1 (en) 1998-03-09 2002-07-11 Siemens Ag METHOD FOR REMOVING ATM CELLS FROM AN ATM COMMUNICATION DEVICE
US6333917B1 (en) * 1998-08-19 2001-12-25 Nortel Networks Limited Method and apparatus for red (random early detection) and enhancements.
US7707600B1 (en) * 1998-08-21 2010-04-27 Intel Corporation Confirming video transmissions
US6195332B1 (en) * 1998-08-28 2001-02-27 3Com Corporation Rate-based flow control protocol on an ethernet-over-ring communications network
US6308214B1 (en) * 1998-09-23 2001-10-23 Inktomi Corporation Self-tuning dataflow I/O core
US6868061B1 (en) * 1998-12-10 2005-03-15 Nokia Corporation System and method for pre-filtering low priority packets at network nodes in a network service class utilizing a priority-based quality of service
DE69939366D1 (en) * 1999-04-12 2008-10-02 Ibm Method and apparatus for improving overall network response time in file exchange between Telnet 3270 server and Telnet 3270 clients
CA2279728A1 (en) 1999-08-06 2001-02-06 Spacebridge Networks Corporation Soft, prioritized early packet discard (spepd) system
US6781956B1 (en) 1999-09-17 2004-08-24 Cisco Technology, Inc. System and method for prioritizing packetized data from a distributed control environment for transmission through a high bandwidth link
US6650652B1 (en) * 1999-10-12 2003-11-18 Cisco Technology, Inc. Optimizing queuing of voice packet flows in a network
KR100341391B1 (en) * 1999-10-22 2002-06-21 오길록 Adaptive added transmission method and packet loss recovery method for interactive audio service, and audio input-output control device in multimedia computer
US20050018611A1 (en) * 1999-12-01 2005-01-27 International Business Machines Corporation System and method for monitoring performance, analyzing capacity and utilization, and planning capacity for networks and intelligent, network connected processes
US6678244B1 (en) * 2000-01-06 2004-01-13 Cisco Technology, Inc. Congestion management system and method
US6646988B1 (en) * 2000-01-31 2003-11-11 Nortel Networks Limited System, device, and method for allocating excess bandwidth in a differentiated services communication network
US6977930B1 (en) * 2000-02-14 2005-12-20 Cisco Technology, Inc. Pipelined packet switching and queuing architecture
GB2360168B (en) * 2000-03-11 2003-07-16 3Com Corp Network switch including hysteresis in signalling fullness of transmit queues
US6674717B1 (en) * 2000-03-30 2004-01-06 Network Physics, Inc. Method for reducing packet loss and increasing internet flow by feedback control
US7107535B2 (en) * 2000-05-24 2006-09-12 Clickfox, Llc System and method for providing customized web pages
US20020071388A1 (en) * 2000-11-16 2002-06-13 Einar Bergsson Selectable network protocol
EP1336282B1 (en) * 2000-11-22 2006-01-25 Siemens Aktiengesellschaft Device and method for controlling data traffic in a tcp/ip data transmission network
US7325049B2 (en) * 2000-12-29 2008-01-29 Intel Corporation Alert management messaging
US7177279B2 (en) * 2001-04-24 2007-02-13 Agere Systems Inc. Buffer management for merging packets of virtual circuits
US7551560B1 (en) 2001-04-30 2009-06-23 Opnet Technologies, Inc. Method of reducing packet loss by resonance identification in communication networks
US7072297B2 (en) * 2001-04-30 2006-07-04 Networks Physics, Inc. Method for dynamical identification of network congestion characteristics
US7855966B2 (en) * 2001-07-16 2010-12-21 International Business Machines Corporation Network congestion detection and automatic fallback: methods, systems and program products
US7068601B2 (en) * 2001-07-16 2006-06-27 International Business Machines Corporation Codec with network congestion detection and automatic fallback: methods, systems & program products
US7215639B2 (en) * 2001-08-31 2007-05-08 4198638 Canada Inc. Congestion management for packet routers
US8125902B2 (en) * 2001-09-27 2012-02-28 Hyperchip Inc. Method and system for congestion avoidance in packet switching devices
US7102997B2 (en) * 2002-03-04 2006-09-05 Fujitsu Limited Aggregate rate transparent LAN service for closed user groups over optical rings
US7391785B2 (en) * 2002-09-02 2008-06-24 Motorola, Inc. Method for active queue management with asymmetric congestion control
US7260064B2 (en) * 2002-10-11 2007-08-21 Lucent Technologies Inc. Method and apparatus for performing network routing based on queue lengths
US7280482B2 (en) * 2002-11-01 2007-10-09 Nokia Corporation Dynamic load distribution using local state information
AU2002357353A1 (en) * 2002-12-20 2004-07-22 International Business Machines Corporation Maximum lifetime routing in wireless ad-hoc networks
US7324535B1 (en) * 2003-04-10 2008-01-29 Cisco Technology, Inc. Methods and apparatus for maintaining a queue
US7453798B2 (en) * 2004-02-19 2008-11-18 Internationl Business Machines Corporation Active flow management with hysteresis
DE102004030631A1 (en) * 2004-06-24 2006-01-19 Infineon Technologies Ag Suppression of bursts caused by burst-like changes in data rate in synchronous radio transmission
JP2006013050A (en) * 2004-06-24 2006-01-12 Sharp Corp Laser beam projection mask, laser processing method using the same and laser processing system
US7859996B2 (en) * 2004-10-29 2010-12-28 Broadcom Corporation Intelligent congestion feedback apparatus and method
US7480304B2 (en) * 2004-12-29 2009-01-20 Alcatel Lucent Predictive congestion management in a data communications switch using traffic and system statistics
DE602006011125D1 (en) * 2005-01-31 2010-01-28 British Telecomm CONTROLLING A DATA FLOW IN A NETWORK
US7606159B2 (en) * 2005-08-30 2009-10-20 Cisco Technology, Inc. Method and apparatus for updating best path based on real-time congestion feedback
US20070153683A1 (en) * 2005-12-30 2007-07-05 Mcalpine Gary L Traffic rate control in a network
US20070230369A1 (en) * 2006-03-31 2007-10-04 Mcalpine Gary L Route selection in a network
JP4295292B2 (en) * 2006-04-03 2009-07-15 リコーソフトウエア株式会社 Image transfer method and program storage recording medium
US8185896B2 (en) * 2007-08-27 2012-05-22 International Business Machines Corporation Method for data processing using a multi-tiered full-graph interconnect architecture
US8140731B2 (en) * 2007-08-27 2012-03-20 International Business Machines Corporation System for data processing using a multi-tiered full-graph interconnect architecture
US8108545B2 (en) * 2007-08-27 2012-01-31 International Business Machines Corporation Packet coalescing in virtual channels of a data processing system in a multi-tiered full-graph interconnect architecture
US7904590B2 (en) * 2007-08-27 2011-03-08 International Business Machines Corporation Routing information through a data processing system implementing a multi-tiered full-graph interconnect architecture
US8014387B2 (en) * 2007-08-27 2011-09-06 International Business Machines Corporation Providing a fully non-blocking switch in a supernode of a multi-tiered full-graph interconnect architecture
US7958182B2 (en) * 2007-08-27 2011-06-07 International Business Machines Corporation Providing full hardware support of collective operations in a multi-tiered full-graph interconnect architecture
US7958183B2 (en) * 2007-08-27 2011-06-07 International Business Machines Corporation Performing collective operations using software setup and partial software execution at leaf nodes in a multi-tiered full-graph interconnect architecture
US7921316B2 (en) * 2007-09-11 2011-04-05 International Business Machines Corporation Cluster-wide system clock in a multi-tiered full-graph interconnect architecture
EP2079205A1 (en) * 2008-01-14 2009-07-15 British Telecmmunications public limited campany Network characterisation
US8077602B2 (en) * 2008-02-01 2011-12-13 International Business Machines Corporation Performing dynamic request routing based on broadcast queue depths
IT1390712B1 (en) * 2008-07-09 2011-09-15 Saverio Mascolo IMPLEMENTATION MECHANISM FOR SENDING PACKAGES IN RATE-BASED MODE ON PACKAGE SWITCHED NETWORKS
FR2946820B1 (en) * 2009-06-16 2012-05-11 Canon Kk DATA TRANSMISSION METHOD AND ASSOCIATED DEVICE.
JP5498889B2 (en) * 2010-08-06 2014-05-21 アラクサラネットワークス株式会社 Packet relay apparatus and congestion control method
CN105075202B (en) 2013-03-28 2019-07-12 英国电讯有限公司 For handling method, node and the packet network of grouping in packet network
GB201313760D0 (en) 2013-07-31 2013-09-18 British Telecomm Fast friendly start for a data flow
JP6281327B2 (en) * 2014-03-06 2018-02-21 富士通株式会社 Information processing system, information processing apparatus, switch apparatus, and information processing system control method
EP3332519B8 (en) 2015-08-06 2019-07-31 British Telecommunications public limited company Data packet network
US10469393B1 (en) 2015-08-06 2019-11-05 British Telecommunications Public Limited Company Data packet network

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4734907A (en) * 1985-09-06 1988-03-29 Washington University Broadcast packet switching network
JPS62235218A (en) * 1986-04-04 1987-10-15 Unitika Ltd Method for separating and recovering uranium and hydrofluoric acid
DE3614062A1 (en) * 1986-04-23 1987-10-29 Siemens Ag METHOD FOR FLOW CONTROLLING DATA WITHIN A MESHED NETWORK
US4769811A (en) * 1986-12-31 1988-09-06 American Telephone And Telegraph Company, At&T Bell Laboratories Packet switching system arranged for congestion control
US4769810A (en) * 1986-12-31 1988-09-06 American Telephone And Telegraph Company, At&T Bell Laboratories Packet switching system arranged for congestion control through bandwidth management
JPH01221042A (en) * 1988-02-29 1989-09-04 Toshiba Corp Congestion control method for packet exchange
JPH02220531A (en) * 1989-02-22 1990-09-03 Toshiba Corp Call connection control system and flow monitor system
NL8901171A (en) * 1989-05-10 1990-12-03 At & T & Philips Telecomm METHOD FOR MERGING TWO DATA CELL FLOWS TO ONE DATA CELL FLOW, AND ATD MULTIPLEXER FOR APPLICATION OF THIS METHOD
US5058111A (en) * 1989-06-19 1991-10-15 Oki Electric Industry Co., Ltd. Subscriber line interface circuit in a switching system
FR2648645B1 (en) * 1989-06-20 1991-08-23 Cit Alcatel METHOD AND DEVICE FOR EVALUATING THE THROUGHPUT OF VIRTUAL CIRCUITS EMPLOYING A TIME-MULTIPLEXED TRANSMISSION CHANNEL
US5179557A (en) * 1989-07-04 1993-01-12 Kabushiki Kaisha Toshiba Data packet communication system in which data packet transmittal is prioritized with queues having respective assigned priorities and frequency weighted counting of queue wait time
US5179556A (en) * 1991-08-02 1993-01-12 Washington University Bandwidth management and congestion control scheme for multicast ATM networks

Also Published As

Publication number Publication date
EP0576647A1 (en) 1994-01-05
AU650195B2 (en) 1994-06-09
US5426640A (en) 1995-06-20
EP0576647A4 (en) 1995-04-19
AU3274193A (en) 1993-08-03
WO1993014605A1 (en) 1993-07-22
CA2104002A1 (en) 1993-07-22
JPH06507290A (en) 1994-08-11

Similar Documents

Publication Publication Date Title
CA2104002C (en) Rate-based adaptive congestion control system and method for integrated packet networks
EP0755594B1 (en) A second-order leaky bucket device and method for traffic management in cell relay networks
AU703410B2 (en) Traffic management and congestion control for ATM
US5757770A (en) Method and device for the control of congestion in sporadic exchanges of data packets in a digital transmission network
EP0784895B1 (en) Flow control method and apparatus for cell-based communication networks
CA2250278C (en) Performance monitoring of an atm switch
US7054269B1 (en) Congestion control and traffic management system for packet-based networks
JP4078755B2 (en) Bandwidth monitoring method
US5864539A (en) Method and apparatus for a rate-based congestion control in a shared memory switch
US5699346A (en) Measuring burst rate and burst size in ATM network virtual connections
CA2272221C (en) Method for monitoring and controlling traffic in real time in an atm switching node
US6282197B1 (en) ATM switching apparatus and ATM communications network
Chiussi et al. Dynamic max rate control algorithm for available bit rate service in ATM networks
US5956322A (en) Phantom flow control method and apparatus
US6741570B1 (en) Cell buffer use rate monitoring method and system
ATE304259T1 (en) DEVICES WITH WINDOW-TIME-SPACE TRAFFIC MANAGEMENT (WTFC)
JPH1075254A (en) Cell rate monitoring device
Chiussi et al. Virtual queueing techniques for ABR service: Improving ABR/VBR interaction
US7209447B1 (en) Method and apparatus for measuring packet connection quality of service
US7570588B1 (en) Algorithm for computing the size of a virtual circuit (VC) generating too much red traffic
US6414937B1 (en) Self-healing method of ABR and ATM cell switch device therefor
KR100265070B1 (en) Cell rate and average cell rate control method in the monitoring information processing unit of asynchronous transmission mode that manages traffic in real time
Hunt Teleservice Provision via a Frame Relay Network-A User Case Study
KR19990048607A (en) Device and control method of cell buffer in ATM switch
Kwon et al. A reactive flow control mechanism in ATM network with end-to-end transport

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20121210