throbber

`
`
`
`
`
`
`
`US 7,342,929 B2
`(10) Patent No.:
`a2) United States Patent
`
`
`
`
`
`
`
`(45) Date of Patent:
`Bremler-Barretal.
`Mar. 11, 2008
`
`
`
`
`US007342929B2
`
`
`
`
`
`
`(54) WEIGHTED FAIR QUEUING-BASED
`
`
`
`
`METHODS AND APPARATUS FOR
`
`
`PROTECTING AGAINST OVERLOAD
`
`
`CONDITIONS ON NODES OF A
`DISTRIBUTED NETWORK
`
`
`
`
`
`
`
`(75)
`
`
`
`
`
`
`
`
`
`Inventors: Anat Bremler-Barr, Holon (IL); Dan
`
`
`
`
`Touitou, Ramat-Gan (IL); Keren
`
`
`
`
`
`Horvitz, Hod Hasharon dL); Rephael
`
`
`
`
`
`Tzadikario, Kefar Sava (IL); Yehuda
`
`
`
`Afek, Hod-HaSharon (IL)
`
`
`
`
`
`
`
`(73) Assignee: (us) Technology, Inc., San Jose, CA
`
`
`
`
`
`
`
`
`Subject to any disclaimer, the term ofthis
`(*) Notice:
`
`
`
`
`patent is extended or adjusted under 35
`
`
`
`
`U.S.C. 154(b) by 1030 days.
`
`
`
`
`(21) Appl. No.: 10/134,048
`
`
`
`
`
`Apr. 26, 2002
`,
`oo.
`
`
`
`
`Prior Publication Data
`
`
`
`
`
`
`US 2003/0076848 Al
`Apr. 24, 2003
`
`
`
`
`Related U.S. Application Data
`(60) Provisional application No. 60/286,943,filed on Apr.
`
`
`
`
`
`
`97. 2001.
`
`

`(51)
`Int. Cl.
`
`
`(2006.01)
`HOAL 1228
`
`
`370/395.4: 370/412
`(52) US. Cl
`
`
`
`
`
`
`”
`eesveeDoreen
`
`
`
`
`
`
`(58) Field of Classification Search 0.0.0.0.ee None
`
`
`
`
`
`
`
`See application file for complete search history.
`
`
`References Cited
`
`
`U.S. PATENT DOCUMENTS
`
`
`
`
`
`5,689,508 A
`11/1997) Lyles woe eeeeeeee 370/391
`
`
`
`
`
`
`5,905,730 A
`5/1999 Yang etal. wee 370/429
`
`
`
`Filed:
`
`(22)
`
`(65)
`
`
`
`(56)
`
`
`
`
`
`
`
`
`5,917,822 A *
`
`5,956,340 A *
`
`6,041,059 A *
`
`
`
`
`
`6/1999 Lyles etal. we. 370/395.4
`
`
`
`
`9/1999 Afek et al. oo 370/412
`
`
`
`
`
`3/2000 Joffe et al... 370/412
`(Continued)
`
`FOREIGN PATENT DOCUMENTS
`
`
`
`
`
`
`
`
`
`
`
`wo
`
`
`
`
`
`
`4/2002
`WO 02/33870
`OTHER PUBLICATIONS
`
`
`
`
`
`
`
`
`
`
`Bennett, J.C.R. et al. “Hierarchical Packet Fair Queueing Algo-
`
`
`
`
`rithms.”, IEEE (Oct. 1997).
`(Continued)
`
`
`
`
`Primary Examiner—Edan Orgad
`
`
`
`
`Assistant Examiner—lung Park
`
`
`
`
`
`
`(74) Attorney, Agent, or Firm—David J. Powsner; DanielJ.
`
`Kligler
`
`
`
`
`
`
`
`
`
`ABSTRACT
`(57)
`
`
`
`
`
`
`
`An improved network device that controls throughput of
`
`
`
`
`
`
`packets received thereby, e.g., to downstream devices or to
`
`
`
`
`
`
`
`downstream logic contained within the same network
`
`
`
`
`
`
`
`device. The network device comprises a scheduler that
`
`
`
`
`
`
`
`
`
`schedules one or more packets of a selected class for
`
`
`
`
`
`
`
`
`
`throughput as a function of a weight of that class and
`
`
`
`
`
`
`
`
`Weights ofone or more other classes, The weight of at least
`
`
`
`
`
`
`
`the selected class is dynamic and is a function ofa history
`
`
`
`
`
`
`
`
`of volume of packets received by the network device in the
`
`
`
`
`
`
`
`selected class. An apparatus for protecting against overload
`
`
`
`
`
`
`
`
`conditions on a network, e.g., of the type caused by DDoS
`
`
`
`
`
`
`
`
`attacks, has a scheduler and a token bucket mechanism,e.g.,
`
`
`
`
`
`
`
`
`as described above. Such apparatus can also include a
`
`
`
`
`
`
`
`
`
`plurality of queues into which packets of the respective
`
`
`
`
`
`
`
`classes are placed on receipt by the apparatus. Those packets
`
`
`
`
`
`
`
`
`are dequeued by the scheduler, e.g., in the manner described
`
`
`
`
`
`
`
`above, for transmittal to downstream devices(e.g., potential
`
`
`
`
`victim nodes) on the network.
`
`
`
`
`37 Claims, 6 Drawing Sheets
`
`
`
`
`
`
`
`
`
`User-Source
`(dentifier
`
`
`
`
`Drop
`
`
`
`Rate-Limiter
`
`
`
`(e.g., token
`
`
`leaky bucket)
`
`Authenticator
`
`ingMechanism
`
`Cookie-Mark-
`
`
`
`
`Q3 >_>
`
`
`
`Filters:
`Input from
`
`
`
`
`
`
`1, Anti-Spoof
`Network
`.
`
`
`Classify
`r—>) Classify
`
`
`
`
`
`
`-
`Recognition
`
`
`
`
`
`
`
`
`
`Drop
`
`Back to Client
`
`(Source)
`
`
`
`
`Qo
`|__|
`
`Q1
`Q2
`te}
`
`
`
`
`
`
`
`
`
`
`
`Overall Rate
`
`Limiter
`
`
`
`
`Splunk Inc.
`
`Exhibit 1030
`
`Page 1
`
`Splunk Inc. Exhibit 1030 Page 1
`
`

`

`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`6/2000 Lee .....eceeeeeeseseereceeeeeee 370/412
`6,072,800 A
`
`
`
`
`
`
`
`10/2000 Stiliadis et al.
`wee 370/232
`6,134,217 A
`
`
`
`
`
`
`
`1/2001 Win etal. .........
`wee 709/229
`6,182,142 B1*
`
`
`
`
`
`
`
`3/2001 Stephens etal. ..
`wee 370/395
`6,208,652 Bl
`
`
`
`
`
`
`
`4/2001 Ghanietal. ......
`we 370/230
`6,215,769 B1*
`
`
`
`
`
`
`
`3/2005 Appala etal.
`wee 370/235
`6,862,265 B1*
`....
`
`
`
`
`
`
`
`...
`3/2005 Talpade et al.
`we 370/412
`6,862,291 B2*
`
`
`
`
`
`
`
`6,975,638 B1* 12/2005 Chen etal.
`....
`we 370/412
`
`
`
`
`
`
`7,058,974 B1*
`6/2006 Maheretal. ..... 726/13
`2001/0012272 Al*
`8/2001 Aubert et al.
`.......0.00.. 370/230
`
`
`
`
`
`
`
`2002/0097726 A1l*
`7/2002 Garcia-Luna-Aceves
`
`
`
`
`et al. ee eeeeee 370/395.31
`
`
`
`
`
`
`
`
`8/2002 Yang....
`wee 370/395.1
` 8/2005 Patrick «0.0... 370/395.43
`
`
`
`
`
`
`
`
`2002/0114334 Al*
`2005/0175014 Al*
`
`
`
`
`
`
`
`OTHER PUBLICATIONS
`
`
`
`
`
`
`
`
`
`
`
`Bennett, J.C.R. et al. “High Speed, Scalable, and Accurage Imple-
`
`
`
`
`
`
`
`mentation of Fair Queueing Algorithms in ATM Networks.”, ICNP
`
`(1997).
`
`
`
`
`
`
`
`
`
`Bennett, J.C.R. et al. “WFQ: Worst-case Fair Weighted Fair
`
`
`Queueing.”, Infocom’96.
`
`
`
`
`
`
`
`
`Chiussi, F.M. et al. “Implementing Fair Queueing in ATM Switches:
`
`
`
`
`
`The Discrete-Rate Approach.”, IEEE’ 1997.
`
`
`
`
`
`
`Chiussi, F.M. et al. “Minimum-Delay Self-Clocked Fair Queueing
`
`
`
`
`
`Algorithm for Packet-Switched Networks.”IEEE 1998.
`
`
`
`
`
`
`
`Demers, A. et al. “Analysis and Simulation of a Fair Queueing
`
`
`
`
`
`
`Algorithm,” © 1989 Association for Computing Machinery.
`
`
`
`
`
`
`
`Eckhardt, D.A. et al. “Effort-limited Fair (ELF) Scheduling for
`
`
`
`
`
`Wireless Networks,” IEEE Infocom 2000.
`
`
`
`
`
`
`
`Golestani, S.J. “Network Delay Analysis of a Class of Fair Queue-
`
`
`
`
`
`
`ing Algorithms,” IEEE Journal on Selected Areas in Communica-
`
`
`
`
`
`
`
`
`tions, vol. 13 No. 6 (Aug. 1995) pp. 1057-1070.
`
`
`
`
`
`
`
`Golestani, S.J. “A Self-Clocked Fair Queueing Scheme for Broad-
`
`
`
`
`
`
`
`
`band Applications,” IEEE © 1994 pp. Sce.1.1-Sel.11.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`US 7,342,929 B2
`
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Greenberg, Albert G. et al. “How Fair is Fair Queuing?” Journal of
`
`
`
`
`
`
`
`
`
`the Association for Computing Machinery vol. 39 No. 3 (Jul. 1992)
`
`
`pp. 568-598.
`
`
`
`
`
`
`Parekh, A.K.J. “A Generalized Processor Sharing Approach to Flow
`
`
`
`
`
`
`Control in Integrated Services Networks,” Ph.D. Dissertation Mas-
`
`
`
`
`
`sachusetts Institute of Technology (Feb. 1992).
`
`
`
`
`
`
`
`
`Parekh, A.K.et al. “A Generalized Processor Sharing Approach to
`
`
`
`
`
`
`
`
`Flow Control in Integrated Services Networks: The Multiple Node
`
`
`
`
`
`
`
`Case,” IEEE/ACM Transactions on Networking vol. 2 No. 2 (Apr.
`
`
`
`1994) pp. 137-150.
`
`
`
`
`
`
`
`
`Parekh, A.K.et al. “A Generalized Processor Sharing Approach to
`
`
`
`
`
`
`
`Flow Control in Integrated Services Networks: The Single-Node
`
`
`
`
`
`
`
`Case,” IEEE/ACM Transactions on Networking vol. 1, No. 3 (Jun.
`
`
`
`1993) pp. 344-357.
`
`
`
`
`
`
`
`“Quality of Service Networking,” downloaded from the web
`
`(address:
`http://www.cisco.com/univered/cc/td/doc/cisintwk/
`
`
`
`
`
`
`ito__doc/qos.htm) © Cisco Systems, Inc., 1999.
`
`
`
`
`
`
`
`
`Rexford, J.L. et al. “Hardware-Efficient Fair Queueing Architec-
`
`
`
`
`
`
`
`
`tures for High-Speed Networks,” IEEE © 1996 pp. 5d.2.1-5d.2.9.
`
`
`
`
`
`
`
`
`Shreedhar M. et al. “Efficient Fair Queuing Using Deficit Round-
`
`
`
`
`
`
`
`Robin,” IEEE/ACM Transactions on Networking vol. 4 No. 3 (Jun.
`
`
`
`1996) pp. 375-385.
`
`
`
`
`
`
`
`Stiliadis, D. et al. “Frame-based Fair Queueing: A New Traffic
`
`
`
`
`
`
`Scheduling Algorithm for Packet-Switched Networks,” (Jul. 18,
`
`
`
`1995) pp. 1-43.
`
`
`
`
`
`
`
`
`
`U.S. Appl. No. 09/929,877, filed Aug. 14, 2001, entitled: “Method
`
`
`
`
`
`
`
`and apparatusfor protecting against overloaded conditions on nodes
`of a distributed network”.
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Appl. No. 60/286,943, filed Apr. 27, 2001, entitled: ““Weighted-
`
`
`
`
`
`
`
`fair queuing based apparatus for defending against distributed.
`denial of service attacks”.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`* cited by examiner
`
`
`
`Splunk Inc.
`
`Exhibit 1030
`
`Page 2
`
`Splunk Inc. Exhibit 1030 Page 2
`
`

`

`
`U.S. Patent
`
`
`
`
`Mar.11, 2008
`
`
`
`
`
`Sheet 1 of6
`
`
`
`US 7,342,929 B2
`
`
`he
`
`
`o
`
`
`fs
`
`R|iN
`
`CJ
`
`sno re
`
`Splunk Inc.
`
`Exhibit 1030
`
`Page 3
`
`1 F
`
`
`IG.
`
`
`
`
`oo
`
`Splunk Inc. Exhibit 1030 Page 3
`
`

`

`
`U.S. Patent
`
`
`
`
`Mar. 11, 2008
`
`
`
`
`Sheet 2 of 6
`
`
`
`US 7,342,929 B2
`
`WY
`
`
`
`ro(aonanayof]Z‘Ol4
`vASLnovd&a|&:a#SIDIOVd
`N:]Asons)ar
`ncne,x
`jn/fpecsn
`
`nt8
`
`
`
`Splunk Inc.
`
`Exhibit 1030
`
`Page 4
`
`Splunk Inc. Exhibit 1030 Page 4
`
`
`

`

`U.S. Patent
`
`Mar. 11, 2008
`
`Sheet 3 of 6
`
`US 7,342,929 B2
`
`Udy0}*3°9)
`
`(joyongAye9]
`
`CoonJBINPOLYOS
`
`801NOS-J8Sf
`
`JayUsp|
`
`WISTUBYS|{ Ut
`RIA-anjoeD
`
`esto
`
`Ea
`
`joodg-nuy‘T
`
`‘STON
`
`
`
`Ayssej|j¢#-————
`
`tolinduy
`
`YIOMION
`
`JOUWWTTWs]01Yoe|
`
`deyT]eI9AO
`
`UIEdoigdoiq
`
`(a0mos)
`
`Fig. 3A
`
`Splunk Inc.
`
`Exhibit 1030
`
`Page 5
`
`Splunk Inc. Exhibit 1030 Page 5
`
`
`
`
`
`
`

`

`
`U.S. Patent
`
`
`
`Mar. 11, 2008
`
`Sheet 4 of 6
`
`
`
`US 7,342,929 B2
`
`Joyeonusyny
`
`8OINOS-J9S/)
`
`Jeynuap]
`
`wsTURYapy Bui
`IeW-oryjoo
`
`woTTUsOONY
`
`
`
`
`
`yndyng
`
`081ey
`
`peiee
`
`AjIsseyD
`
`Joodg-nuy"J
`
`
`Ayisse]Q|¢——
`
`YIOMION
`
`SLO)UT
`
`woryuduy
`
`JOU]Wl]OFPed
`
`
`
`SEYTEISAQOWUEdoiq
`
`dog
`
`(200s)
`
`Fig. 3B
`
`Splunk Inc.
`
`Exhibit 1030
`
`Page 6
`
`Splunk Inc. Exhibit 1030 Page 6
`
`
`
`
`
`

`

`
`U.S. Patent
`
`
`
`
`Mar.11, 2008
`
`
`
`
`Sheet 5 of6
`
`
`
`US 7,342,929 B2
`
` Single user
`
`
`source
`
`
`
`
`
`
`
`
`
`A proxy with no
`
`
`malicous source
`
`
`
`Before Queue Decomposition:
`
`
`
`A proxy with
`
`
`
`
`
`
`malicous sources
`
`
`
`After Queue Decomposition:
`
`
`
`
`
`
`
`
`
` Innocent sources
`
`
`
`
`malicous sources
`
`
`
`
`
`
`
`
`
` Single user
`
`
`
`
`
`
`
`source
`
`W=1
`
` We=1,1,1,
`
`W=1,1,1, Wel
`
`W=1
`
`W=1
`
`
`Fig. 4
`
`Splunk Inc.
`
`Exhibit1030
`
`Page 7
`
`Splunk Inc. Exhibit 1030 Page 7
`
`

`

`
`U.S. Patent
`
`
`
`
`Mar.11, 2008
`
`
`
`
`Sheet 6 of6
`
`
`
`US 7,342,929 B2
`
`
`FIG. 5
`
`OF HISTORY
`
`
`
`
`
`ASSIGN BUCKET TO EACH PACKET
`
`
`
`
`CLASS WITH VOLUME A FUNCTION
`
`
`
`V
`
`
`
`
`
`
`MODEL BUCKET FILL RATE, MAX
`
`
`
`
`
`AND MIN CAPACITY FOR EACH CLASS
`
`
`
`1
`
`
`
`
`REDUCE BUCKET PROPORTIONALLY
`
`
`
`
`TO PACKET THROUGHPUT OF CLASS
`
`1
`
`
`
`
`
`DETERMINE DYNAMIC WEIGHT FOR
`
`
`
`EACH CLASS BUCKET VOLUME/HISTORY
`
`
`
`
`
`Mu
`
`
`
`
`
`
`
`
`SCHEDULE PACKETS FOR THROUGHPUT
`
`
`
`BASED ON DYNAMIC WEIGHTS,
`
`
`BUCKET VOLUME/CONTENT:
`
`
`
`
`
`
`
`* ALLOW BURSTS AS LONG AS AVG
`
`
`
`
`CLASS RATE<PEAK
`
`
`
`
`
`¢ DISCRIMINATE STREAMS>AVG FOR
`
`
`
`
`
`
`LONG PERIODS
`
`
`
`
`
`e APPLY CONSTRAINTS ONLY AS NEEDED
`
`
`
`
`TO KEEP OVERALL THROUGHPUT<C
`
`
`
`
`Splunk Inc.
`
`Exhibit1030
`
`Page8
`
`Splunk Inc. Exhibit 1030 Page 8
`
`

`

`
`1
`
`
`
`WEIGHTED FAIR QUEUING-BASED
`METHODS AND APPARATUS FOR
`
`
`
`
`PROTECTING AGAINST OVERLOAD
`
`
`CONDITIONS ON NODES OF A
`
`
`DISTRIBUTED NETWORK
`
`
`
`
`
`
`
`US 7,342,929 B2
`
`
`2
`
`
`
`
`
`
`operation thereof as can be used in existing networks, such
`
`
`
`
`
`
`as the Internet, as well as in other networks.
`
`
`
`
`
`
`
`Yeta still further object of the invention is to provide data
`
`
`
`
`
`
`
`networks, nodes, devices and methods of operation thereof
`
`
`
`
`
`
`
`
`as can be implemented at low cost andare scalable.
`
`
`
`
`
`
`
`
`
`
`
`This application claims the benefit of U.S. Provisional
`
`
`
`
`
`
`
`
`
`Patent Application Ser. No. 60/286,943 filed Apr. 27, 2001,
`
`
`
`
`
`entitled “Weighted-Fair-Queuing Based Apparatus For
`
`
`
`
`
`
`Defending Against Distributed Denial Of Service Attacks,”
`
`
`
`
`
`
`
`the teachings of which are incorporated herein by reference.
`
`BACKGROUND OF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`
`
`The invention pertains to distributed data networks and,
`
`
`
`
`
`
`moreparticularly, protecting against overload conditions at
`
`
`
`
`
`
`
`
`nodes of such networks.
`It has application, by way of
`
`
`
`
`
`
`
`non-limiting example, in protecting servers, sites and other
`
`
`
`
`
`
`
`
`
`elements of networks, such as the Internet and the like, from
`
`
`
`
`
`
`
`
`distributed denial of service (DDoS) attacks and flash
`crowds.
`
`
`
`
`
`
`
`Early computer
`systems were typically stand-alone
`
`
`
`
`
`
`
`
`
`devices that processed only commands and data entered via
`
`
`
`
`
`
`
`
`dedicated local keyboards, tape drives, disk drives, card
`
`
`
`
`
`
`
`
`
`
`readers, or the like. Remote access waspossible, but only via
`
`
`
`
`
`
`
`
`phone lines and modems, which essentially served as sur-
`
`
`
`
`
`
`rogates or proxies to remote users’ keyboards. By the early
`
`
`
`
`
`
`
`
`1980’s, a national network had been developed for carrying
`
`
`
`
`
`
`data communications between university, defense depart-
`
`
`
`
`
`
`
`
`
`ment and other large computer systems. This early Internet
`
`
`
`
`
`
`
`(known then as the ARPANET), which relied on a mix of
`
`
`
`
`
`
`
`
`dedicated lines and modems, was inaccessible to the public
`
`
`
`
`
`
`
`
`
`
`at large and, hence, subject to outages and espionage but, for
`
`
`
`
`
`
`
`
`
`the most part, not wide scale attack from “hackers.”
`
`
`
`
`
`
`
`Through the 1990’s,
`that national network expanded
`
`
`
`
`
`
`
`around the globe adding millions of governmental, research
`and commercial nodes. The latter included so-called Internet
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`service providers (ISPs) that afforded low-cost access to the
`
`
`
`
`
`
`
`
`masses. People being as they are, this included a mischie-
`
`
`
`
`
`
`
`vous if not downright scurrilous element intent—at least
`
`
`
`
`
`
`
`insofar as their time, resources and interests permitted—on
`
`
`
`
`
`
`
`
`blocking access to popular nodes(or “sites”) on the network.
`
`
`
`
`
`
`
`
`The most
`insidious form of this cybervandalism is the
`
`
`
`
`
`
`
`
`distributed denial of service (DDoS) attack, in which the
`
`
`
`
`
`
`
`
`computers that service requests coming in to a node are
`
`
`
`
`
`
`
`
`swamped by millions of fake requests that may seem to
`
`
`
`
`
`
`
`
`come from many sources but, ultimately, emanate from a
`
`
`
`few hackers’ computers.
`
`
`
`
`
`
`
`
`Despite numerous DDoS attacks that have taken place
`
`
`
`
`
`
`
`
`
`over the past few years, with a surge of attacks on YAHOO,
`
`
`
`
`
`
`
`
`
`
`CNN, and many other major sites, there is still no known
`
`
`
`
`
`
`online solution for defense against them.
`
`
`
`
`
`
`In view of the foregoing, an object of this invention is to
`
`
`
`
`
`
`
`provide improved distributed data networks and methods of
`
`
`
`
`
`
`
`
`operation thereof. A related object of the invention is to
`
`
`
`
`
`
`
`provide improved nodes, devices and methods of operation
`thereof for use on such distributed data networks.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Further related objects are to provide such improved data
`
`
`
`
`
`
`
`networks, nodes, devices and methods of operation thereof
`
`
`
`
`
`
`
`that provide enhanced protection from overload conditions,
`
`
`
`malicious, legitimate or otherwise.
`
`
`
`
`
`
`
`
`A still further related object is to provide such improved
`
`
`
`
`
`
`
`
`data networks, nodes, devices and methods of operation
`
`
`
`
`
`
`
`thereof that provide enhanced protection from DDoS
`attacks.
`
`
`
`
`
`
`
`
`Yet a still further object of the invention is to provide such
`
`
`
`
`
`
`
`
`improved data networks, nodes, devices and methods of
`
`
`
`
`
`20
`
`25
`
`
`
`30
`
`
`
`35
`
`
`
`40
`
`
`
`45
`
`
`
`50
`
`
`
`55
`
`
`
`60
`
`
`
`65
`
`
`
`SUMMARY OF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The foregoing are among the objects attained by the
`
`
`
`
`
`
`
`invention which provides, in one aspect, an improved net-
`
`
`
`
`
`
`
`work device that controls throughput of packets received
`
`
`
`
`
`
`thereby, e.g., to downstream devices or to downstream logic
`contained within the same network device. The network
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`device comprises a scheduler that schedules one or more
`
`
`
`
`
`
`packets of a selected class for throughput as a function of a
`
`
`
`
`
`
`
`
`
`weight of that class and weights of one or more otherclasses.
`
`
`
`
`
`
`
`
`The weightofat least the selected class is dynamic and is a
`
`
`
`
`
`
`function of a history of volume of packets received by the
`network device in the selected class.
`
`
`
`
`
`
`
`
`
`
`
`Related aspects of the invention provide a network device
`
`
`
`
`
`
`
`as described above in which the scheduler is substantially a
`
`
`
`
`
`
`
`
`weighted fair queuing (WFQ) scheduler that uses, as a
`
`
`
`
`
`
`
`
`
`weight for the one or more packets of the selected class, the
`
`
`
`
`
`
`dynamic weight of the class. Further related aspects of the
`
`
`
`
`
`
`
`
`invention provide such a network device in which the
`
`
`
`
`
`
`
`
`scheduler is a round robin or deficit round robin (DRR)
`
`
`
`
`
`
`
`
`
`scheduler which, again, uses as a weight for the one or more
`
`
`
`
`
`
`
`
`packets of the selected class, the dynamic weight of that
`class.
`
`
`
`
`
`
`
`
`Still further aspects of the invention provide a network
`
`
`
`
`
`
`device as described above comprising a rate-limiter that
`
`
`
`
`
`
`
`
`determines the dynamic weightof at least the selected class.
`
`
`
`
`
`
`
`That rate-limiter can be any of a leaky bucket mechanism
`
`
`
`
`
`
`
`and a token bucket mechanism (collectively, “token bucket
`
`
`
`
`
`
`
`
`mechanism”) which uses a bucket for each of at least the
`
`
`
`
`
`
`
`
`
`selected class and one or more other classes, and which
`
`
`
`
`
`
`
`
`models each bucket as (i) filling at a rate associated with the
`
`
`
`
`
`
`
`respective class, (11) having a minimum capacity associated
`
`
`
`
`
`
`
`
`
`with that class, and a maximum capacity associated with that
`class.
`
`
`
`
`
`
`
`
`
`
`Still other aspects of the invention provide a network
`device as described above in which the token bucket mecha-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`nism reduces each bucket proportionally to a volume of
`
`
`
`
`
`
`
`packets throughput for the respective class by the scheduler.
`
`
`
`
`
`
`Related aspects of the invention provide for determining a
`
`
`
`
`
`
`
`
`volume ofa bucketfor at least a class i for an epoch t, during
`
`
`
`
`
`
`
`
`
`
`which one or more packets for that class are actually or
`
`
`
`
`
`
`
`theoretically pending for throughput as a function of a
`relation
`
`
`Li(h)=
`
`
`
`masa minBi, Lit) -(2-4)e
`
`
`
`
`W(t)
`
`x
`Wy(t1)
`J active at ty
`
`
`
`t+(h -un}
`
`
`
`where
`
`
`
`
`
`
`
`
`L,(t,) is the volumeofthe bucket for class i during epoch
`
`ty;
`
`
`
`
`
`
`
`L,(t,) is the volumeofthe bucket for class i during epoch
`
`t;
`
`
`
`
`
`
`
`
`B,/”” is a minimum capacity for the bucket for class i;
`
`
`
`
`
`
`
`
`B, is a maximum capacity for the bucket for class i;
`
`
`
`
`
`
`
`C is a measure of overall traffic throughputby the device;
`Splunk Inc.
`Exhibit 1030
`Page 9
`
`
`
`Splunk Inc. Exhibit 1030 Page 9
`
`

`

`
`
`US 7,342,929 B2
`
`
`3
`
`
`
`
`
`
`W,(t,) is a weight assigned to class i during epoch t,;
`
`
`
`
`
`
`W{t,) is a weight assigned to class j during epoch t,;
`
`
`
`
`
`
`r,s a filling rate of the bucket for class 1.
`
`
`
`
`
`
`Related aspects of the invention provide for determining
`
`
`
`
`
`
`
`
`a volume of a bucket for at least a class i for an epoch t,
`
`
`
`
`
`
`
`
`
`
`during which one or more packets for that class are not
`
`
`
`
`
`
`actually or theoretically pending for throughputas a function
`of a relation
`
`
`
`
`
`E,{to)=max{B"" min{B, Lt)+(ta-t)r; }}
`
`
`4
`
`
`
`
`
`
`
`Further aspects of the invention provide a network appa-
`
`
`
`
`
`
`
`ratus as described abovethat includes a marking mechanism
`
`
`
`
`
`
`which transmits a cookie to a packet source on the network
`
`
`
`
`
`
`
`
`and causes that source to include the cookie in packets
`
`
`
`
`
`transmitted by it to on the network to a destination associ-
`
`
`
`
`
`
`
`
`
`ated with the apparatus. The marking mechanism can, more-
`
`
`
`
`
`
`
`
`
`over, strip the cookie from any packets transmitted by the
`
`
`
`
`
`
`
`
`source to the destination. It can also determine the suspi-
`
`
`
`
`
`
`ciousness of a packet based on a cookie, if any, therein. As
`
`
`
`
`
`
`
`
`above, that suspiciousness can be used by a classifier in
`
`
`
`
`determining placement of a packet in a queue.
`
`
`
`
`
`
`
`
`Related aspects of the invention can utilize such cookies
`
`
`
`
`
`
`
`
`
`to discern individual user session from among stream of
`
`
`
`
`
`
`
`
`
`packets that have the same source and destination IP
`
`
`
`
`
`addresses, ports and/or packet types.
`
`
`
`
`
`
`
`
`Still further aspects of the invention provide methods
`
`
`
`
`
`
`
`
`paralleling the operations described above. These and other
`
`
`
`
`
`
`
`
`aspects of the invention are evident in the drawings and in
`
`
`
`
`the description that follows.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`
`
`
`
`
`
`
`
`
`
`
`
`A more complete understanding of the invention may be
`
`
`
`
`
`attained by reference to the drawings, in which:
`
`
`
`
`
`
`FIG. 1 depicts a distributed network of the type with
`
`
`
`
`which the invention is practiced;
`
`
`
`
`
`
`
`FIG.2 depicts packettraffic generated by nodes NO-N3 in
`
`
`
`the network of FIG. 1;
`
`
`
`
`
`
`FIGS. 3A-3B depict a network apparatus according to one
`
`
`
`practice of the invention;
`
`
`
`
`
`
`
`FIG. 4 depicts a result of use of the marking/cookie
`
`
`
`
`
`
`
`mechanism to segregate flows in an apparatus of FIGS.
`
`
`3A-3B; and
`
`
`
`
`
`
`that schematically illustrate a
`FIG. 5 is a flow chart
`
`
`
`
`
`
`method for controlling throughout of a network device, in
`
`
`
`
`
`
`accordance with an embodiment of the present invention.
`DETAILED DESCRIPTION OF THE
`
`
`ILLUSTRATED EMBODIMENT
`
`
`
`
`
`
`
`
`
`
`
`
`
`Terminology
`Information transfers on the Internet are broken into
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`variable size packets, each of which contains, in addition to
`
`
`
`
`
`
`
`
`
`its data (payload), control information to be used for its
`
`
`
`
`
`
`
`
`
`routing and scheduling over the network.In the sections that
`
`
`
`
`
`
`
`
`
`follow, the terms below are used in the conventional sense
`
`
`
`
`
`
`
`
`(also provided below), except where otherwise evident from
`
`
`
`
`
`context, to characterize information transfers of the Internet
`
`
`
`
`
`and, more generally, over IP networks.
`
`
`
`
`
`
`IP address: A 32 bit label that uniquely identifies a device.
`
`
`
`
`
`
`TCP/IP port number: A 16 bit label that uniquely identifies
`
`
`
`
`an application within a device.
`
`
`
`
`
`
`Packet Labels (Identifiers): Each IP packet is labeled by
`
`
`
`
`
`
`
`
`
`the following five labels: 1) Source IP address, 2)
`
`
`
`
`
`
`Source TCP/IP port number, 3) Destination IP address,
`
`
`
`
`
`
`
`4) Destination TCP/IP port number, and 5) Protocol
`
`
`
`
`
`
`
`type. These labels are used by TCP/IP for controlling
`
`
`
`
`and routing the packet.
`
`
`
`
`
`IP connection: A source application/destination applica-
`
`
`
`
`
`
`
`
`tion pair which exchange data. The connection can be
`
`
`
`
`
`
`
`uniquely identified by the five packet labels described
`above.
`
`
`
`
`
`
`
`
`IP flow: The packets transmitted over an IP connection.
`
`
`
`
`
`
`
`HTTP: A protocol running over TCP/IP supporting the
`
`
`
`
`
`
`
`retrieval of web pages by clients from Web servers.
`
`
`
`
`
`
`HTTP Proxy: A mediator server that is used to mediate
`between a collection of HTTP clients and HTTP serv-
`
`
`
`
`
`
`
`
`
`
`
`
`
`SplunkInc.
`
`Exhibit 1030
`
`Page 10
`
`
`
`
`
`
`
`where
`
`
`
`
`
`
`
`
`
`
`L,(t,) is the volumeofthe bucket for class 1 during epoch
`
`t,;
`
`
`
`
`
`
`
`L,(t,) is the volumeofthe bucket for class 1 during epoch
`
`ts
`
`
`
`
`
`
`
`
`B/”” is a minimum capacity for the bucketforclass i;
`
`
`
`
`
`
`
`
`B, is a maximum capacity for the bucket for class 1;
`
`
`
`
`
`
`
`r, is a filling rate of the bucket for class 1.
`
`
`
`
`
`
`
`Still further related aspects of the invention provide for
`
`
`
`
`
`
`
`
`determining a volume of the bucket for class 1 at epoch t
`
`
`
`
`
`
`
`during which one or more packets are throughput as a
`function of the relation
`
`
`
`
`
`
`20
`
`25
`
`
`
`30
`
`
`
`
`
`
`
`L(®=max{B7"™,min{B, L,()\-D}
`where
`
`
`
`
`
`
`
`
`
`L,(t) is the volume of the bucket for class 1 during epoch
`
`t
`
`
`
`
`
`
`
`
`B/”” is a minimum capacity for the bucketforclass i;
`
`
`
`
`
`
`
`
`B, is a maximum capacity for the bucket for class 1;
`
`
`
`
`
`
`D is an actualor estimated size of the one or more packets
`
`throughput.
`
`
`
`
`
`
`
`Yet still further related aspects of the invention provide
`network devices as described above in which the scheduler
`
`
`
`
`
`
`
`
`
`
`
`
`
`35
`schedules for throughputat a time t a volumeofpackets of
`
`
`
`
`
`
`
`
`the selected class that is proportional to a content of the
`bucket for that class at that time. The scheduler can schedule
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`for throughput only whole packets of a class and, if there are
`
`
`
`
`
`
`
`
`partial packets that would otherwise be scheduled for
`
`
`
`
`
`
`
`
`
`throughput, it can credit the bucket associated with that class
`
`accordingly.
`
`
`
`
`
`
`
`
`In other aspects the invention provides apparatus for
`
`
`
`
`
`
`protecting against overload conditions on a network,e.g., of
`
`
`
`
`
`
`
`
`the type caused by DDoS attacks, having a scheduler and a
`
`
`
`
`
`
`
`
`token bucket mechanism, e.g., as described above. Such
`
`
`
`
`
`
`
`
`apparatus can also include a plurality of queues into which
`
`
`
`
`
`
`packets of the respective classes are placed on receipt by the
`
`
`
`
`
`
`
`apparatus. Those packets are dequeued by the scheduler,
`
`
`
`
`
`
`
`
`
`in the manner described above,
`for transmittal
`to
`e.g.,
`
`
`
`
`
`
`
`
`downstream devices (e.g., potential victim nodes) on the
`network.
`
`
`
`
`
`
`
`
`Still other aspects of the invention provide apparatus as
`
`
`
`
`
`
`
`
`described above having one or moreclassifiers that classify
`
`
`
`
`
`
`
`
`
`packets for placement in the queues. This can be on the
`
`
`
`
`
`
`
`basis, for example, of source IP addresses, source TCP/IP
`
`
`
`
`
`
`
`ports, destination IP addresses, destination TCP/IP port
`
`
`
`
`
`
`
`numbers, protocol types, and/or other parameters, associated
`
`
`
`with the packets.
`
`
`
`
`
`
`
`Related aspects of the invention provide such apparatus
`
`
`
`
`
`
`with functionality that determines
`suspiciousness of a
`
`
`
`
`
`
`
`
`packet. The classifiers, according to these aspects, place the
`
`
`
`
`
`
`
`packets in the queues based both on classification and on
`
`
`
`
`
`suspiciousness. Packets of a higher degree of suspiciousness
`
`
`
`
`
`
`
`
`are placed, for example, in different queues from packets of
`
`
`
`
`
`
`
`a lower degree of suspiciousness. The scheduler schedules
`
`
`
`
`
`
`
`
`
`with lowerpriority queues allocated to the former, and with
`
`
`
`
`
`
`higher priority queues allocated to the latter.
`
`40
`
`
`
`45
`
`
`
`50
`
`
`
`55
`
`
`
`60
`
`
`
`65
`
`
`
`Splunk Inc. Exhibit 1030 Page 10
`
`

`

`
`5
`
`
`
`
`
`
`
`
`
`ers. The HTTP proxy receives the HTTP requests from
`
`
`
`
`
`
`
`
`the clients associated with it, and serves them either by
`
`
`
`
`
`
`
`retrieving the requested documents from its own
`
`
`
`
`
`
`memory or by requesting them (and retrieving them)
`
`
`
`
`
`
`
`
`
`from the network (the proper HTTPserver). Note that
`
`
`
`
`
`
`
`
`when an HTTPproxyserver conducts the retrieval from
`
`
`
`
`
`
`
`
`the network it sends a request whose source ID (IP
`
`
`
`
`
`
`
`
`
`address and port) is that of the HTTP proxy server.
`
`
`
`
`
`
`
`
`in this event the traffic shipped to the HTTP
`Thus,
`
`
`
`
`
`
`
`
`
`server over the network does not carry the IP address/
`
`
`
`
`
`
`
`port of the client who madethe request; ratherit carries
`
`
`
`
`
`
`the IP address/port of the HTTP proxyserver.
`
`
`
`
`
`
`Cookie: A label that is used by HTTPservers to identify
`
`
`
`
`
`
`
`
`HTTP clients, typically with unique codes (such as user
`
`
`
`
`
`
`
`
`
`IDs). The HTTPserver assigns the label to each client,
`which the latter uses in further accesses to the server.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Note that when a client sends a cookie via a proxy
`
`
`
`
`
`
`
`
`server, the cookie is preserved; that is, when the proxy
`
`
`
`
`
`
`
`server issues the request to the server it includes in it
`
`
`
`
`
`
`
`
`
`the cookie as placed on the original request by the
`client.
`
`
`
`
`
`
`
`
`Session: A series of requests and responses between a
`
`
`
`
`
`
`
`
`website, server, or other target and a human end-user,
`
`
`
`
`
`
`
`typically, over period of of a few minutes to a few
`25
`
`
`
`
`
`
`
`hours, for purposes of browsing, carrying out a “web
`
`
`
`
`
`
`
`transaction” or conducting some other activity. An
`
`
`
`
`
`
`example is visiting an on-line “bookstore,” browsing,
`
`
`
`
`
`
`
`adding items to the shopping cart and paying—all,
`
`
`
`
`
`together, which constitutes a sample session.
`30
`
`
`
`
`
`
`
`FIG. 1 depicts a distributed network of the type with
`
`
`
`
`
`
`
`which the invention is practiced. Illustrated are nodes N
`
`
`
`
`
`
`
`(including nodes N0-N4) configured as local area networks
`
`
`
`
`
`
`
`(LANs), wide area networks (WANs), data-centers, metro-
`
`
`
`
`
`
`
`politan area networks (MANs) or other subnetworks or
`
`
`
`
`
`
`portions interconnected by switching elements R. TheIIlus-
`
`
`
`
`
`
`
`trated network comprises an IP network,such as the Internet.
`
`
`
`
`
`
`
`
`
`
`However, those skilled in the art will appreciate that the
`
`
`
`
`
`
`
`teachings herein maybe applied to networks operating under
`
`
`
`other protocols, as well.
`
`
`
`
`
`
`
`Illustrated nodes N comprise hosts and servers of the type
`
`
`
`
`
`
`
`commonly used on an IP network, such as the Internet. In
`
`
`
`
`
`
`
`
`addition, the nodes may comprise any device or collection of
`
`
`
`
`
`
`
`devices capable of directly or indirectly interfacing with the
`
`
`
`
`
`
`
`network or portion thereof, e.g., though an interface card,
`
`
`
`
`
`gateway or other network interface apparatus.
`
`
`
`
`
`Illustrated switching elements R are of the type commer-
`
`
`
`
`
`
`
`cially available in the marketplace and commonly used on
`
`
`
`
`
`
`
`
`
`an IP network, such as the Internet, to route data between
`
`
`
`
`
`
`
`nodes and/or within and between portions of the network.
`
`
`
`
`
`
`These
`switching elements
`include routers, gateways,
`
`
`
`
`
`
`
`
`
`switches, bridges, and other digital data apparatus of the
`
`
`
`
`
`
`
`
`
`
`type known in the art for the aforesaid purpose. The ele-
`
`
`
`
`
`
`
`
`ments R may also include “guard machines” of the type
`
`
`
`
`
`
`
`described in copending commonly assigned U.S. Pat. No.
`55
`
`
`
`
`
`
`
`09/929,877, filed Aug. 14, 2001, PCT PCT/US01/32273,
`
`
`
`
`
`
`
`
`
`filed Oct. 16, 2001, entitled “Methods and Apparatus for
`
`
`
`
`
`
`
`Protecting Against Overload Conditions on Nodes of a
`
`
`
`
`
`
`
`Distributed Network,” the teachings of which are incorpo-
`
`
`
`
`
`
`
`rated herein by reference, particularly, for example, at FIGS.
`
`
`
`
`
`1-3, and the accompanyingtext.
`
`
`
`
`
`
`
`FIG.1 also depicts apparatus D according to the invention
`
`
`
`
`
`
`
`
`
`that protects a node, here, node N4, from an networktraffic
`
`
`
`
`
`
`
`overload condition. That condition,
`in the illustrated
`
`
`
`
`
`
`
`embodiment, is a DDoSattack; however, those skilled in the
`
`
`
`
`
`
`
`
`
`art will appreciate that the teachings hereof may be applied
`
`
`
`
`
`
`
`
`
`in the protection of nodes against other network traffic-
`
`
`
`
`
`
`related overload conditions. The apparatus D may be located
`
`
`
`
`
`
`
`6
`
`
`
`
`
`
`
`
`between associated node N4 andthe sourcesoftraffic to it,
`
`
`
`
`
`
`
`such that part or all of the traffic destined to that victim N4
`
`
`
`
`
`
`
`
`passes through the apparatus D before reaching the N4
`
`
`
`
`
`
`
`
`
`(hereinafter, typically referred to as the “victim”). In the
`
`
`
`
`
`illustration, apparatus D is positioned immediately upstream
`
`
`
`
`
`
`
`
`
`from victim N4 and, hence, all traffic destined from N4
`
`
`
`
`
`passes through D. In another embodiment, apparatus D may
`
`
`
`
`
`
`
`
`be positioned to receive traffic destined for N4 only during
`
`
`
`
`
`
`
`
`an actual or apparent DDoS attack. Such

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