throbber
United States Patent
`
`US 7,088,678 B1
`(10) Patent No.:
`(12)
`
`Freed et al.
`(45) Date of Patent:
`Aug. 8, 2006
`
`US007088678B1
`
`(54) SYSTEM AND METHOD FOR TRAFFIC
`SHAPING BASED ON GENERALIZED
`CONGESTION AND FLOW CONTROL
`
`(75)
`
`Inventors: Michael Freed, Pleasanton, CA (US);
`Satish Amara, Mt. Prospect, IL (US);
`Michael Borella, Naperv1lle, IL (US)
`(73) Assignee: 3Com Corporation, Marlborough, MA
`US
`(
`)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`
`( * ) Notice:
`
`(21) App]. No.: 09/941,280
`
`(22)
`
`Filed:
`
`Aug. 27, 2001
`
`(51)
`
`Int. Cl.
`H04L 12/26
`(2006.01)
`(52) US. Cl.
`.................................... 370/230; 370/236.1
`(58) Field of Classification Search ..... 370/22972361,
`370/248, 412; 709/2327235
`See application file for complete search history.
`References Cited
`
`(56)
`
`5,608,446 A
`5,610,910 A
`5,623,542 A
`5,623,601 A
`
`..................... 348/6
`3/1997 Carr et al.
`3/1997 Focsaneanu et al.
`........ 370/351
`4/1997 Schneider et al.
`.......... 379/399
`4/1997 Vu ......
`395/187.01
`
`5,636,211 A
`5,675,732 A
`
`
`6/1997 Newlin ................... 370/465
`10/1997 Majeti et al.
`.......... 395/200.01
`(Continued)
`FOREIGN PATENT DOCUMENTS
`WO 99/11003
`3/1999
`
`W0
`
`.
`(Continued)
`
`Droms, R., Dynamic Host Configuration Protocol, Request
`for Comments 1541, Oct. 1993, pp. 1 to 31.
`
`(Continued)
`
`Primary ExamineriDuc Ho
`147321”an Exammjriphuongclgéu Bahi‘lfglyen 11 B hn
`£4 3b 112802036»
`g?“ or
`”mm C “me
`De
`‘1
`e
`ergho
`(57)
`
`ABSTRACT
`
`en
`
`U.S. PATENT DOCUMENTS
`
`4,644,533 A
`4,881,263 A
`4,996,685 A
`5’014’234 A
`5,138,712 A
`5,301,273 A
`5,347,304 A
`5,430,727 A
`5,442,749 A
`5,488,412 A
`5,489,897 A
`5,528,595 A
`5,586,121 2
`,
`,
`5,598,410 A
`5,600,717 A
`5,606,606 A
`
`................... 370/94
`2/1987 Braif et al.
`
`------- 380/21
`11/ 1989 Hefblson et 31~
`
`2/1991 Farese et 31'
`370581
`
`""" 364/900
`5/1991 Ed‘WdS’ Jr'
`8/1992 Corbin ....................... 395/700
`...................... 395/200
`4/1994 Konishi
`
`.
`9/1994 M011ra et a1.
`....... 348/12
`7/1995 Callon ..................... 370/85.13
`8/1995 Northcutt et a1,
`,,,,,, 395/20009
`1/ 1996 Majeti et a1.
`................. 348/10
`
`2/1996
`340/87039
`
`6/ 1996 Walsh-ct al.
`............. 370/85.13
`~~~~~~~~~~ £3;ng
`12/1332 ighneidetr it 31'
`oura e a . ............
`
`1/1997 Stone ...................... 370/469
`
`
`..... 379/399
`2/1997 Schneider et al.
`..
`.......... 379/399
`2/ 1997 Schneider et a1.
`
`A system and methods. are shown for traffic shaping and
`congestion av01dance in a computer network such as a
`data-over-cable network. A headend of the data-over-cable
`system includes a traffic shaper configured to calculate a
`packet arrival rate from a cable modem and a traffic condi-
`tioner configured to calculate an average queue size on an
`t
`t .
`t rf
`t
`t
`1
`t
`k F
`1
`th
`0“ 1’“ me ace 0 an ex ema He W.“ ‘
`or examP 6’
`6
`trafiic shaper compares the packet arrival rate to three packet
`aIfiVal threShOIdS induding a committed rate threshold, a
`control rate threshold and a peak rate threshold. If the
`calculated packet arrival rate falls between the committed
`threshold and control
`rate threshold,
`the traffic shaper
`applies a link layer mechanism, such as a MAP bandwidth
`allocation mechanism, to lower the transmission rate from
`the cable mOdem‘
`
`35 Claims, 5 Drawing Sheets
`
`____________________C
`l ROUTER
`
`TRAFFIC MANAGER
`
`[‘100120
`
`INCOMING
`INTERFACE m
`
`OUTGOING
`INTERFACE 1.15.
`
`
`
`
`CLIENT
`DEVICE
`
`
`
`102
`
`
`TRAFFIC
`
`TRAFFIC
`
` DATA
`CONDITIONING
`
`
`NETWORK
`SHAPER m
`1.12
`
`
`
`
`MEMORY
`UNIT 13;
`
`
`PROCESSOR
`.132.
`
`EX1015
`
`Palo Alto Networks v. Sable Networks
`
`IPR2020-01712
`
`EX1015
`Palo Alto Networks v. Sable Networks
`IPR2020-01712
`
`

`

`US 7,088,678 B1
`
`Page 2
`
`
`
`U.S. PATENT DOCUMENTS
`5,675,742 A
`10/1997 Jain etal.
`................... 395/200
`
`
`5,678,041 A
`”“997 1331“” et 31 ~
`395/609
`
`~
`5,708,654 A
`“1998 AIME et 31'
`370/242
`$33: 2:119 ~~~~~~~~~~~~~~~~~~~ 395/20054
`23:22?) A
`,
`,
`ndt et 31'
`~~~~~~~~~~~~~ 395/200'5
`2335132? A
`39525050348
`$33: 3133““ 2311'
`
`'
`’
`’
`1.2““
`'
`
`
`5784597 A
`”998 Chm et 31'
`”5552
`
`.....
`5,790,198 A
`8/1998 Roop et a1.
`348/460
`8,1998 Sistanizadeh et 31.
`.
`5790 548 A
`370,401
`
`’
`’
`8/1998 Fox et a1. ............... 380/24
`5,790,677 A
`
`8,1998 McClure et 31.
`. 395,200.61
`5,790,770 A
`
`.. 395/20082
`5,790,806 A
`8,1998 Koperda ..
`8/1998 Kline ............ 370/230
`5,793,747 A
`
`8/1998 Sudia ................ 380/23
`5,799,086 A
`
`9/1998 Laursen et 31.
`.
`5,805,804 A
`. 395/20002
`5,809,252 A
`9/1998 Beighe et 31.
`..
`. 395/20057
`5,812,819 A
`9/1998 Rodwin et al.
`.
`..... 395/500
`.. 395/200.57
`5,815,664 A
`9/1998 Asano ........
`
`............... 370/449
`5,818,845 A
`10/1998 Moura et al.
`10/1998 Manghirmalani
`5,819,028 A
`et a1.
`.....
`395/1851
`
`18/133: Ewen -t~~-i~~
`3953/3895:
`oura e a .
`......
`
`10/1998 Focsaneanu etal.
`..
`370/389
`
`~ 395/20054
`11/ 1998 Nelson etal'
`~~
`
`‘ ””0068
`11/ 1998 “mg et 31'
`‘
`11/1998 Cohen ........... 370/433
`12/1998 Radia et a1.
`.
`. 395/187.01
`
`12,1998 Dillon et a1.
`. 395,200.47
`
`
`12,1998 Cole et 31.
`709,245
`
`1/1999 Moura et 31.
`370/449
`
`1/1999 Kanaj et 31
`709/238
`
`..... 348/12
`2/1999 Laubach et 31.
`
`2/1999 Dellaverson et 31.
`. 340/825.52
`.............. 395/187.01
`3/1999 Lim et al.
`4/1999 Kompella et al.
`.......... 370/236
`
`4/1999 Mohamed
`.370/401
`................. 370/351
`5/1999 Jones et al.
`6/1999 Compliment et al.
`..... 709/223
`6/1999 Spofford et al.
`....... 395/200.56
`$333 E1111? ”in ~~~~~~~~~~~~~~ ”57/339223
`3' """"""""""
`"""""
`'
`
`”999 CPHY et 31' """""""" 370/401
`$333 EEQQAAAA“““““““ 322%?
`
`8,1999 Bhagwat et 31"”: ......... 713,201
`8/1999 Chen etal.
`.................. 455/5.1
`
`9,1999 Sidey ......
`.709/223
`................... 709/219
`9/1999 Lee etal.
`9/1999 Tanno ................... 395/200.59
`
`................... 370/232
`11/1999 Yin etal.
`11/1999 Yoshida et al.
`............. 709/245
`
`................ 370/429
`11/1999 Burns et al.
`11/1999 Rowney etal.
`............. 713/201
`
`12,1999 Kawafuji et 31.
`370,401
`............. 709/223
`12/1999 BaWden etal.
`........... 370/329
`12/1999 Craddock et al.
`
`
`12,1999 Colby et 31.
`709,226
`12/1999 Woundy ..................... 370/401
`1/2000 Li etal.
`..................... 709/219
`
`.................... 455/3.1
`1/2000 Wu etal.
`1/2000 Fijolek etal.
`.............. 709/218
`
`2/2000 Woundy .....
`. 370/410
`.................. 455/5.1
`2/2000 Chen et a1.
`3/2000 Ramanathan et al.
`....... 370/241
`4/2000 Bauman ..................... 370/229
`
`2,312,245? 2
`,
`,
`5,828,666 A
`5,835,720 A
`5335727 A
`5,841,777 A
`5,848,233 A
`5,852,721 A
`5,854,901 A
`5,859,852 A
`5,864,679 A
`5,870,134 A
`5,872,523 A
`5,884,024 A
`5,892,754 A
`5,894,479 A
`5,903,558 A
`5909549 A
`5,913,037 A
`25335413 2
`A
`’
`’
`5923559 A
`2853323 A
`5’941’988 A
`5:943:604 A
`5,954,797 A
`5,958,007 A
`5,960,177 A
`
`5,982,748 A
`5,987,524 A
`
`5,991,306 A
`5,996,076 A
`5999536 A
`6,003,077 A
`6,005,851 A
`6,006,264 A
`6,009,103 A
`6,012,088 A
`
`6,014,545 A
`6,018,767 A
`6,031,841 A
`6,032,019 A
`6,041,041 A
`6,046,979 A
`
`6,046,983 A *
`2:823:23: A
`6,049,826 A
`6,052,724 A
`6,058,421 A
`6,061,349 A
`6,064,372 A
`6,065,049 A
`6,070,187 A
`6,070,242 A
`6070 246 A
`5
`5
`6,073,178 A
`6,075,787 A
`6091709 A
`6,094,431 A
`6,104,700 A
`6,112,258 A
`6,122,254 A
`6,128,298 A
`6,130,879 A
`6,130,880 A
`6,137,792 A
`6,137,793 A
`2:123:33; A
`6,170,061 B1
`6,178,455 B1
`6185624 B1
`’
`’
`6,189,102 Bl
`6,208,656 Bl
`6,212,563 B1
`6,216,171 B1
`6,223,222 B1
`6,233,224 B1*
`6,240,464 B1
`6,243,369 B1
`6,260,072 Bl
`6,269,099 B1
`6,272,150 B1
`6,275,853 B1
`6,289,377 B1
`2133122: :1
`,
`,
`6,301,618 B1
`6,308,328 B1
`6,331,987 B1
`633L163 B1
`6,337,858 B1
`6351773 Bl
`6,370,147 Bl
`
`6,442,158 Bl
`6449391 Bl
`
`6490727 Bl
`6510462 Bl
`6,625,118 B1*
`6365485 131*
`6,868,063 131*
`6,904,015 B1*
`6914383 131*
`”OZ/0122050 A1
`
`W0
`
`FOREIGN PATENT DOCUMENTS
`W0 00/67385
`11/2000
`
`4/2000 Hasegawa et al.
`....... 370/2361
`$888 gfiéignan
`3322;
`
`4/2000 Beser ..........
`709/222
`
`................ 709/223
`4/2000 Willie etal.
`5/2000 Fijolek etal.
`.............. 709/225
`5/2000 Coile etal.
`................. 370/389
`5/2000 Kahkoska ................... 345/173
`5/2000 Beser ......................... 709/218
`5/2000 Subramaniam et al.
`..... 709/220
`5/2000 Wong et al.
`................ 713/201
`5/2000 Beser ......................... 713/201
`
`
`
`~-
`
`
`
`................ 709/229
`6/2000 Wong etal.
`..
`370/395
`6/2000 Bobeck et al.
`370/235
`700% Harrison etal~
`370/395
`70000 Yamato etal.
`............ 370/235
`8/2000 Haddock et al.
`8/2000 Miller et a1.
`.................. 710/19
`9/2000 Aydemir et al.
`370/235
`10/2000 Wootton et a1.
`370/392
`10/2000 Liu ................
`370/230
`10/2000 Naudus et al.
`.............. 370/235
`10/2000 Jonas etal.
`................. 370/354
`.. 370/360
`10/2000 Gorman etal.
`
`$3888 Edajfimeilét'a.
`33;:
`
`1/2001 Beser ......................... 713/201
`1/2001 Schutte etal.
`.............. 709/228
`2,2001 Fi.olek etal
`709,239
`J
`' “““““““
`2/2001 Beser ......................... 713/201
`
`3/2001 Hrastar et a1.
`370/401
`
`4/2001 Beser ..........
`709/227
`..
`4/2001 150110 et £11.
`709/250
`
`4/2001 Fijolek et al.
`.............. 709/227
`5/2001 Yamashita et al.
`.......... 370/231
`
`5/2001 Fijolek eta1~ ~~~~~
`709/250
`6/2001 Grimwood et al.
`370/335
`
`..
`.. 709/241
`7/2001 Rodriguez-Moral
`
`.............. 370/389
`7/2001 Borella et al.
`8/2001 Hrastar ....................... 370/486
`8/2001 Beser et 31.
`709/223
`
`.
`9/2001 Lalwaney etal.
`709/222
`1232::
`13/2231 58:31“,~~~~~
`ras ar e a .
`..............
`10/2001 Sitaraman etal.
`.......... 709/227
`10/2001 Bowcutt etal.
`............ 725/111
`12/2001 Beser ......................... 370/486
`
`”/2001 Bowman'Am‘Mh
`709/231
`................. 370/356
`1/2002 Petty et a1.
`”002 F1101eket al~
`~~~~~~~~~~~~~~ 709/228
`“002 Beser ~~~~~~~~~~
`370/401
`
`
`
`370/352
`370/516
`
`”002 Beser ~~~~~~~~~~
`
`”002 Bums et31~ ~
`
`725/129
`”/2002 Nflzarathy et al~
`
`370/432
`~~~~~
`“2003 1311013“? 31~
`370/236
`9/2003 Hadl Sallm et a1.
`
`370/412
`”005 P4319431 ~~~~~
`
`~~ 370/236
`”005 De Cn°dder
`..
`6/2005 Chen ei a1.
`370/235
`
`7/2005 Dhamnlkota~
`3709301
`”002 Sandberg ~~~~~
`345/705
`
`
`370/248
`”OZ/0186660 A” ”/2002 Bahadlroglu ~
`725/107
`2003/0028891 A1
`”003 HardtetaL
`5/2003 Barham et 31.
`............. 709/235
`2003/0097461 1A1)!<
`
`

`

`US 7,088,678 B1
`
`Page 3
`
`OTHER PUBLICATIONS
`
`RFC 791, Internet Protocol, DARPA Internet Program Pro—
`tocol Specification, Sep. 1981, pp. 1-37.
`Postel, J., Internet Protocol, DARPA Internet Program Pro—
`tocol Specification, RFC 792, Sep. 1981, pp. 1-14.
`Postel, J., User Datagram Protocol, RFC 768, Aug. 28,
`1980, pp. 1-3.
`RFC 793, Transmission Control Protocol, DARPA Internet
`Program Protocol Specification, Sep. 1981, pp. 1-68.
`Case, I. et al., A Simple Network Management Protocol
`(SNMP), RFC 1157, May 1990, pp. 1-26.
`Sollins, K., The TFIP Protocol (Revision 2), RFC 1350, Jul.
`1992, pp. 1-9.
`Alexander, S., DHCP Options and BOOTP Vendor Exten—
`sions, RFC 2132, Mar. 1997, pp. 1-37.
`“Radio Frequency Interface Specification (Interim Specifi-
`cation) SP-RFIv1.1-103-991105”, MCNS Holdings, L.P.,
`1999, pp. Ii to 366.
`“Cable Modem to Customer Premise Equipment Interface
`Specification (Interim) SP-CMCI-IO2-980317”, Multimedia
`Cable Network Systems (MCNS) Holdings, L.P., Cable
`Television Laboratories, Inc., 1998, pp. ii to 40.
`“Operations
`Support
`System Interface
`Specification
`Baseline Privacy Interface MIB (Interim Specification)
`SP-OSSI-BPI-IO1-980331”, MCNS Holdings, L.P., 1997
`and 1998, pp. ii to 33.
`“Cable Modem Termination System-Network Side Interface
`Specification (Interim Specification) SP-CMTS-NSIIOl-
`960702”, MCNS Holdings, L.P., 1996, pp. ii to 13.
`“Removable Security Module
`Interface Specification
`(Interim Specification) SP-RSMI-101-980204”, MCNS
`Holdings, L.P., Cable Television Laboratories, Inc., 1997,
`pp. ii to 47.
`“Baseline Privacy Interface Specification (Interim) SP-BPI-
`[01-970922”, MCNS Holdings, L.P., 1997, pp. ii to 65.
`“Operations
`Support
`System Interface
`Specification
`(Interim) SP-OSSIIO1-970403”, MCNS Holdings, L.P.,
`1997, pp. 1 to 30.
`“Radio Frequency Interface Specification (Interim Specifi-
`cation) SP-RFI-102-971008”, MCNS Holdings, L.P., 1997,
`pp. ii to 186.
`“Cable Modem Telephony Return Interface Specification
`(Interim) SP-CMTRI-IO1-970804”, MCNS Holdings, L.P.,
`Cable Television Laboratories, Inc., 1997, pp. ii to 73.
`
`“Security System Specification (Interim Sepcification)
`SP-SSI-IO1-970506”, MCNS Holdings, L.P., 1997, pp. ii to
`103.
`
`“Internet Engineering Task Force”, Request for Comments
`2131, Dynamic Host Configuration Protocol (DHCP), Mar.
`1997, pp. 1 to 42.
`IPCDN Telephony Return MIB,
`S. Adiraju, J. Fijolek,
`Internet Engineering Task Force, Internet Draft, “<draft-ietf-
`ipcdn-tri-mib-00.1.txt>,” Mar. 1998, pp. 1 to 26.
`Kyees, P]. et a., ADSL: A New Twisted—Pair Access to the
`Information Highway, IEEE Communications Magazine,
`vol. 33, Issue 4, Apr. 1995, pp. 52-60.
`Huang, Yin-Hwa et al., Design of an MPEG-Based Set—Top
`Boxfor Video on Demand Services, Acoustics, Speech, and
`Signal Processing, 1995, ICASSP-95., 1995 International
`Conference, vol. 4, ISBN: 0-7803-2431-5, May 9-12, 1995,
`pp. 2655-2658.
`“A Solution for the Priority Queue Problem of Deadline-
`Ordered Service Disciplines,” N.R. Figueira, IEEE Intema-
`tional Conference on Computer Communications and Net-
`works, Sep. 22-25, 1997, pp. 320-325.
`“Radio Frequency Interface Specification (Interim Specifi-
`cation) SP-RFI-IO4-980724”, MCNS Holdings, L.P., 1997,
`pp. li to 196.
`Ramakrishnan, K., A Proposal to Add Explicit Congestion
`Notification (ECN) to IP, RFC 2481, Jan. 1999, pp. 1 to 24.
`ITU-T I.732, Fucntional Characteristics ofATMEquipment,
`Oct. 2000.
`
`ITU-T I.363.3, B—ISDN AIM Apaptation Layer Specifica—
`tion: Ijzpe 3/4 AAL, Aug. 1996.
`ITU-T 1326, Functional Architecture ofTransport Networks
`Based on AIM, Nov. 1995.
`“Radio Frequency Interface Specification (Interim Specifi-
`cation) SP-RFI-I05-991105”, MCNS Holdings, L.P., 1999,
`pp. li to 202.
`“Radio Frequency Interface Specification (Interim Specifi-
`cation) SP-RFIv1.1-IO6-001215”, MCNS Holdings, L.P.,
`2000, pp. ii to 432.
`WAP Architecture, Wireless Application Protocol Architec—
`ture Specification, Version 12, Jul. 12, 2001, pp. 2-24.
`www.cotse.com, Congestion Avoidance Overview, Oct. 30,
`2000, pp. 1-8.
`
`* cited by examiner
`
`

`

`U.S. Patent
`
`00
`
`0.5
`
`mS
`
`US 7,088,678 B1
`
`$2.282.m,2:
`m:law:mofimmpz.amofimmkz.M025930
`
`
`
`m._550m
`
`5II
`<53wz_zoEn_zoom2&5:0E5;
`N:lM5.9552c:mum/Em
`
`oakFNMDGE
`
`>MOEmE
`
`a._._z_.._
`
`MOmwm—UOME
`
`MNH
`
`ll}"ll[llllill||l|llllltllljl|lll
`
`NOV
`
`._.Zm_u_0
`
`m0_>m_o
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Aug. 8, 2006
`
`Sheet 2 of 5
`
`US 7,088,678 B1
`
`com
`
`NmmDGE
`
`
`
`Din—4M;
`
`amun—dim
`
`Din—4m;
`
`msz_._._n_zOU
`
`3M
`
`nzmo<m=._
`
`a3:22
`
`
`
`Nmm0<z<_>_O_u_n_<m._.
`
`
`
`
`
`555zo:<z_s_mm:Emacsm._m<o
`
`xxO>>._.mZ<._.<n_
`
`mam
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Aug. 8, 2006
`
`Sheet 3 of 5
`
`US 7,088,678 B1
`
`
`
`mEm._<>_mm<5.on
`
`A33
`
`hmxo<m
`
`205mmmemo
`
`.39
`
`Hamsmno
`
`85
`
`.rzmfio mmanna—u—
`
`SEBozwmmzh
`
`SEQJOImmmzpsouSozwmmzp
`
`x<mm
`
`
`
`.5528nmEzzoo
`
`
`
`¥m0>>hmz<._.<D
`
`$22981an».
`
`
`
`>h_.__m<momn_206mm
`
`.5on30.5
`
`
`
`1:;moan.55.on
`
`m._m<wE
`
`>>o._"_
`
`.6528
`
`206mm
`
`.23
`
`m0_>mn
`
`
`
`wadmm0<z<2O_n_u_<m._.
`
`
`
`
`
`EMJJOEHZOUDin—ditmmnzlmDEED—.5
`
`

`

`U.S. Patent
`
`Aug. 8, 2006
`
`Sheet 4 0f 5
`
`US 7,088,678 B1
`
`FIGURE 4A
`
`a
`
`START
`
`RECEIVE DATA PACKETS FROM A NETWORK
`
`DEVICE ON A TRAFFIC SHAPER
`
`COMPUTE A PACKET ARRIVAL RATE
`
`ON AN INCOMING INTERFACE
`
`APPLY AT LEAST THREE THRESHOLD LEVELS
`
`TO THE COMPUTED PACKET ARRIVAL RATE
`
`402
`
`404
`
`406
`
`408
`
`
`ACTION REQUIRED?
`
`NO
`
`410
`
`FORWARD THE
`
`DATA PACKETS
`
`YES
`
`TO CONTROL THE PACKET ARRIVAL RATE
`
`
`ENABLE
`FLOW CONTROL?
`
`
`YES
`
`414
`
`9
`
`ENABLE A LINK LAYER MECHANISM SUCH AS
`
`A TIME SLOT ALLOCATION MECHANISM
`
`

`

`U.S. Patent
`
`Aug. 8, 2006
`
`Sheet 5 0f 5
`
`US 7,088,678 B1
`
`FIGURE 43
`
`
`
`SUCCESSFUL
`
`CONTROL?
`
`YES
`
`N0
`
`ENABLE
`
`PACKET DROP WITH
`
`‘ ROBABILITY?
`
`YES
`
`COMPUTE A PACKET DROP PROBABILITY
`
`NO
`
`DROP DATA PACKETS BASED ON
`
`THE CALCULATED PROBABILITY
`
`422
`
`
`
`
`o—~o
`
`
`
`
`
`
`
`
`
`
`
`DROP THE DATA PACKETS RECEIVED
`
`FROM THE CLIENT DEVICE
`
`424
`
`
`
`

`

`US 7,088,678 B1
`
`1
`SYSTEM AND METHOD FOR TRAFFIC
`SHAPING BASED ON GENERALIZED
`CONGESTION AND FLOW CONTROL
`
`FIELD OF THE INVENTION
`
`The present invention relates to communications in com-
`puter networks. More specifically, it relates to a system and
`method for traffic shaping based on general congestion and
`flow control.
`
`BACKGROUND OF THE INVENTION
`
`In high-speed networks, routers are required to meet
`certain quality-of-service requirements associated with com-
`municating network entities. As is known in the art, the
`quality-of-service is a communication network attribute that
`exists between two network entities requiring a predeter-
`mined network service level. The basic network parameters
`typically affecting network performance are bandwidth and
`delays since the application traffic between two network
`entities in a computer network may require a certain mini-
`mum bandwidth or may be sensitive to delays. Thus, in the
`simplest terms, the quality-of-service means providing con-
`sistent and predictable data delivery services to communi-
`cating network entities requiring a predetermined level of
`network service. Further, the quality-of-service is the ability
`of a network element, such as an application process, host or
`router to have some level of assurance that its traffic and
`
`service requirements can be satisfied.
`In general, the quality-of-service elements manage net-
`work resources according to application demands and net-
`work management settings and, thus, cannot provide cer-
`tainty that resource sharing occurs. Therefore, quality-of-
`service with a guaranteed service level requires resource
`allocation to individual data streams through the network. In
`current implementations, a priority for quality-of-service
`developers has been to ensure that resources allocated to the
`best-effort traffic are not limited after reservations are made.
`
`However, equally important is that the high-priority appli-
`cations do not disable low-priority Internet applications.
`The key mechanisms for providing a predetermined level
`of quality-of-service include an admission control,
`traffic
`shaping, packet classification, packet marking and packet
`scheduling. In quality-of-service enabled Internet Protocol
`(“IP”) networks, it is necessary to specify a traffic profile for
`a connection or a set of connections. Traffic shaping or traffic
`conditioning is typically used, for example, to control the
`rate of data transmitted out of an interface so that it matches
`
`to
`the speed of the remote target interface and, further,
`ensure that the traffic conforms to a predetermined policy
`level. Thus, traffic shaping is primarily used to control the
`access to available bandwidth, to ensure that traffic conforms
`to a predetermined set of policies, and to regulate the flow
`of traffic in order to avoid congestion that can occur if the
`transmitted traffic exceeds the access speed of its remote,
`target interface.
`Traffic shaping is typically implemented on an edge router
`or core router and provides a mechanism to control the
`amount and volume of data being sent into the network as
`well as the rate at which the data is being sent. The
`predominant methods for traffic shaping include a leaky
`bucket method and a token bucket method. The leaky bucket
`is typically used to control the rate at which data is sent into
`the network and provides a mechanism by which bursty data
`can be shaped into a steady data stream. The leaky bucket
`implementation is typically employed for shaping traffic into
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`flows with a fixed rate of admission into the network and is
`
`generally ineffective in providing a mechanism for shaping
`traffic into flows with variable rates of admission.
`
`The token bucket provides a method for traffic shaping
`and ingress rate control. The token bucket provides a control
`mechanism that dictates when data can be transmitted based
`
`on the presence of tokens in a bucket and uses network
`resources by allowing flows to burst up to configurable burst
`threshold levels. In the token bucket implementation, tokens
`are “put” into the bucket at a certain rate, and the bucket has
`a predetermined capacity. In such an implementation, if the
`bucket fills up to its top capacity, newly arriving tokens are
`discarded. Similarly, if the bucket is full of tokens, incoming
`tokens overflow and are not available for future packets.
`Thus, at any time, the largest burst of data a source can send
`into a network is roughly proportional to the size of the
`bucket. In the token burst implementation, a system admin-
`istrator may configure a token generation rate and a depth of
`the burst.
`
`In addition to traffic shaping, the token bucket methods
`may be employed for congestion avoidance. As is known in
`the art, congestion avoidance refers to methods of control-
`ling an average queue size on an outgoing interface of a
`router such as an edge router. The primary mechanism used
`by the token bucket and leaky bucket for shaping the traffic
`includes dropping the incoming data packets to the network.
`Some routers handle dropping the packets using a technique
`typically referred to as tail dropping. Using tail dropping, a
`router simply drops packets indiscriminately, i.e., without
`regard to priority or class of service, for example. Other
`methods that have been used to avoid congestion more
`effectively than tail dropping include a Random Early
`Detection (“RED”), a Flow-based Random Early Detection
`(“FRED”), or
`a Weighted Random Early Detection
`(“WRED”).
`When RED is not configured, output buffers fill during
`periods of congestion. When the buffers are full, tail drop
`occurs, and all additional packets are dropped. Since the
`packets are dropped all at once, global synchronization of
`Transmission Control Protocol hosts can occur as multiple
`hosts reduce their transmission rates. As the congestion
`clears, the Transmission Control Protocol sources increase
`their data transmission rates, resulting in waves of conges-
`tion followed by periods where the transmission link is not
`fully used.
`The Random Early Detection mechanism controls the
`data congestion by dropping or marking packets with a drop
`probability. Typically, an algorithm used by the Random
`Early Detection mechanism may sample a queue length on
`a router and compare it
`to two threshold levels, a low
`threshold level and a high threshold level. For example, if
`the queue length is less than the low threshold level, no
`packets are dropped and packets are forwarded to a desti-
`nation address. If the queue length is between the low
`threshold level and the high threshold level, incoming pack-
`ets are dropped with a probability that is directly propor-
`tional to the queue length, and, if the queue length is greater
`than the high threshold level, all
`incoming packets are
`dropped.
`The Random Early Detection mechanism reduces the
`chances of tail dropping by selectively dropping packets
`when, for example, an output interface begins to show signs
`of congestion. By dropping some packets early rather than
`waiting until the buffer is full, Random Early Detection
`avoids dropping large numbers of packets at once and
`minimizes the chances of global synchronization.
`
`

`

`US 7,088,678 B1
`
`3
`The Weighted Random Early Detection generally drops
`packets selectively based on IP precedence so that packets
`with a higher IP precedence are less likely to be dropped
`than packets with a lower precedence. In such an imple-
`mentation, higher priority traffic is delivered with a higher
`probability than lower priority traffic. The Weighted Ran-
`dom Early Detection is more useful in the core routers of a
`network, rather than at
`the edge routers that assign IP
`precedence to packets as they enter the network.
`While the Random Early Detection mechanism and the
`variation thereof have been widely studied and employed in
`the existing computer networks, they suffer from a number
`of disadvantages. The Random Early Detection mechanism
`as well as the Weighted Random Early Detection mechanism
`signal
`the source about the congestion by dropping the
`packets and have the ability to control only a predetermined
`type of data, specifically, Transmission Control Protocol
`data.
`
`5
`
`10
`
`15
`
`Thus, the need remains for a system and method for traffic
`shaping in computer networks.
`
`20
`
`SUMMARY OF THE INVENTION
`
`In accordance with embodiments of the present invention,
`some of the problems associated with traffic shaping are
`overcome.
`
`25
`
`4
`
`Another embodiment of a method for traffic shaping in a
`data-over-cable system involves, receiving at least one data
`packet on a traffic manager from a cable modem via an
`upstream communication link and, responsive thereto, cal-
`culating at least one flow control parameter, such as a packet
`arrival rate or a queue size on an outgoing interface. Next,
`the method involves comparing a value of the at least one
`flow control parameter to at least three flow control thresh-
`old levels including a committed threshold level, a control
`threshold level and a peak threshold level. If the value of the
`at least one flow control parameter falls between the com-
`mitted threshold level and the control threshold level, the
`method involves controlling a bandwidth allocation for
`upstream transmission from the cable modem.
`An embodiment of a computer system, according to the
`present invention, includes an input interface arranged to
`receive at least one data packet from a network entity via an
`upstream communication link, an output interface arranged
`to send the at least one data packet to an external network,
`and a traffic manager connected to the input interface and the
`output interface. The traffic manager is arranged to calculate
`at least one flow control parameter using the at least one data
`packet received from the network entity and compares it to
`a set of flow control
`thresholds including a committed
`threshold level, a control threshold level, and a peak thresh-
`old level. The traffic manager is further arranged to apply a
`flow control mechanism to control data flow from the
`
`An embodiment of a method for traffic shaping in a
`computer network, according to the present
`invention,
`involves receiving at
`least one data packet on a traffic
`manager from a user network entity and, responsive thereto,
`calculating at least one flow control parameter using the at
`least one data packet from the user network entity. Next, the
`at least one flow control parameter is compared to at least
`three threshold levels including a committed threshold level,
`a control threshold level and a peak threshold level. Accord-
`ing to one embodiment of the present invention, the traffic
`manager includes a traffic shaper. In such an embodiment,
`the method includes calculating a data packet rate on the
`traffic shaper. If a value of the at least one flow control
`parameter, i.e. a data packet rate, falls between the commit-
`ted threshold level and the control
`threshold level,
`the
`method includes applying a link layer control mechanism to
`control data flow from the user network entity. The link layer
`control mechanism may involve controlling a transmit slot
`allocation for transmission from the user network entity. In
`a data-over-cable system, the traffic manager may employ a
`bandwidth allocation mechanism, such as MAP, to control
`upstream bandwidth allocation for the user network entity.
`Another embodiment of a method for traffic shaping
`according to the present invention involves, receiving at
`least one data packet on a traffic manager including a traffic
`conditioner from a user network entity and, responsive
`thereto, calculating at least one flow control parameter such
`as a queue size on an outgoing interface using the at least one
`data packet from the user network entity. Next, the queue
`size is compared to at least three threshold levels including
`a committed threshold level, a control threshold level and a
`peak threshold level. If a value of the queue size falls
`between the committed threshold level and the control
`
`threshold level, the method includes applying a link layer
`control mechanism to control data flow from the user
`
`network entity. The link layer control mechanism may
`involve controlling a transmit slot allocation for transmis-
`sion from the user network entity. In a data-over-cable
`system, the traffic manager may employ a bandwidth allo-
`cation mechanism, such as MAP, to control upstream band-
`width allocation for the user network entity.
`
`network entity is a value of the at least one flow control
`parameter falls between the committed threshold level and
`the control threshold level.
`
`30
`
`These as well as other aspects and advantages of the
`present invention will become more apparent to those of
`ordinary skill in the art by reading the following detailed
`description, with reference to the accompanying drawings.
`
`35
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`invention are
`Exemplary embodiments of the present
`described with reference to the following drawings,
`in
`which:
`
`40
`
`45
`
`50
`
`55
`
`60
`
`FIG. 1 is a functional block diagram illustrating a system
`architecture suitable for application of the present invention;
`FIG. 2 is a functional block diagram illustrating a data-
`over-cable system for traffic shaping and congestion avoid-
`ance according to an embodiment of the present invention;
`FIG. 3 is a block diagram illustrating an exemplary
`implementation of threshold levels for traffic shaping and
`congestion avoidance according to an embodiment of the
`present invention; and
`FIGS. 4A74B are a flowchart illustrating a method for
`traffic shaping in a data-over-cable system according to an
`embodiment of the present invention.
`
`DETAILED DESCRIPTION OF PREFERRED
`EMBODIMENTS
`
`FIG. 1 is a functional block diagram illustrating an
`exemplary embodiment of a network architecture 100 suit-
`able for application to the present
`invention for traffic
`shaping based on flow control and generalized congestion.
`FIG. 1 shows the architecture 100 including a data network
`118, such as a public Internet Protocol (IP) network to which
`a router 120 is linked via a network connection 116. A user
`
`65
`
`network entity, such as a client device 102, is linked to the
`router 120 via a communication link 104. The communica-
`
`tion link 104, as will be described in greater detail below,
`may include a cable connection, a wireless connection, a
`
`

`

`US 7,088,678 B1
`
`5
`dial-up connection, or any other network connection utiliz-
`ing a network protocol including link-layer mechanisms for
`controlling data transmission from the client device 102.
`In the network architecture 100 illustrated in FIG. 1, the
`router 120 may include an edge router. Edge routers typi-
`cally assign IP priority to packets as the packets enter the
`network so that core routers on the network may use the
`priority parameters specified in the packets to determine
`how to forward the packets to the next hop on the network.
`The router 120 includes a traffic manager 106 for traffic
`shaping according to one embodiment of the present inven-
`tion, in which, upon a receipt of at least one data packet from
`the client device 102, the traffic manager 120 calculates at
`least one flow control parameter and compares it to at least
`three threshold levels including a committed threshold level,
`a control threshold level and a peak threshold level. If the
`value of the calculated flow control parameter falls between
`the committed threshold level and the control
`threshold
`
`level, the traffic manager 120 applies a link-layer control
`mechanism to control data flow from the client device 102,
`as will be described in greater detail below.
`The traffic manager 106 includes a traffic shaper 110 and
`a traffic conditioner 112. FIG. 1, as well as subsequent
`figures, illustrates an embodiment in which the traffic shaper
`110 and the traffic conditioner 112 are separate entities,
`where the traffic shaper 110 controls data flow one an
`incoming interface 108, and the traffic conditioner 112
`controls data flows on an outgoing interface 114. However,
`it should be understood that in a preferred embodiment the
`router 120 may include a single entity including the func-
`tionality of both the traffic shaper 110 and the traffic con-
`ditioner 112.
`
`The traffic shaper 110 calculates a flow control parameter
`such as a data arrival rate on the incoming interface 108.
`When the traffic shaper 110 calculates the data arrival rate,
`it compares the data arrival rate with a predetermined set of
`traffic shaping thresholds. If the flow control parameter
`calculated on the traffic shaper 110 includes a data arrival
`rate,
`the traffic shaper 110 compares it to at least three
`threshold levels including a committed rate threshold level,
`a control rate threshold level and a peak rate threshold level.
`In such an embodiment, if the data arrival rate falls between
`the committed threshold level and the control
`threshold
`
`level, the traffic manager 106 enables a flow control mecha-
`nism to control

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket