throbber
I 1111111111111111 11111 111111111111111 111111111111111 IIIII IIIIII IIII IIII IIII
`US008843634B2
`
`c12) United States Patent
`Riddle
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 8,843,634 B2
`Sep.23,2014
`
`(58) Field of Classification Search
`CPC ....................................................... H04L 65/80
`USPC .. .. ... ... ... ... ... .. ... ... ... ... .. ... ... ... ... ... .. ... ... 709/226
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`(54) PARTITION CONFIGURATION AND
`CREATION MECHANISMS FOR NETWORK
`TRAFFIC MANAGEMENT DEVICES
`
`(75)
`
`Inventor: Guy Riddle, Los Gatos, CA (US)
`
`(73) Assignee: Blue Coat Systems, Inc., Sunnyvale, CA
`(US)
`
`( *) Notice:
`
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 556 days.
`
`(21) Appl. No.: 13/080,928
`
`(22) Filed:
`
`Apr. 6, 2011
`
`(65)
`
`Prior Publication Data
`
`6,412,000 Bl*
`6,430,154 Bl
`6,591,299 B2
`6,647,419 Bl
`6,735,633 Bl *
`7,453,804 Bl
`2003/0061263 Al*
`2004/0199635 Al
`2005/0249220 Al
`2006/0080273 Al *
`2006/0190482 Al*
`
`6/2002 Riddle et al. .................. 709/224
`8/2002 Hunt et al.
`7/2003 Riddle et al.
`11/2003 Mogul
`5/2004 Welch et al.
`11/2008 Feroz et al.
`3/2003 Riddle
`10/2004 Ta et al.
`11/2005 Olsen et al.
`4/2006 Degenaro et al.
`8/2006 Kishan et al.
`
`.......... 709/233
`
`.......... 709/104
`
`................. 707 /l
`707/103 Y
`
`US 2011/0182180Al
`
`Jul. 28, 2011
`
`* cited by examiner
`
`Related U.S. Application Data
`
`(63)
`
`Continuation of application No. 11/241,007, filed on
`Sep. 30, 2005, now Pat. No. 7,925,756.
`
`Primary Examiner - Oleg Survillo
`Joseph M Cousins
`Assistant Examiner -
`(74) Attorney, Agent, or Firm - Baker Botts L.L.P.
`
`(51)
`
`(52)
`
`(2006.01)
`(2013.01)
`(2013.01)
`(2006.01)
`(2013.01)
`(2013.01)
`
`Int. Cl.
`G06F 151173
`H04L 121873
`H04L 121801
`H04L 12124
`H04L 121869
`H04L 12/851
`U.S. Cl.
`CPC .......... H04L 4110893 (2013.01); H04L 471522
`(2013.01); H04L 47110 (2013.01); H04L
`4110896 (2013.01); H04L 47/2441 (2013.01);
`H04L 47160 (2013.01)
`709/226; 340/2.8; 340/2.9; 370/431;
`711/150
`
`USPC
`
`ABSTRACT
`(57)
`Partition configuration and creation mechanisms for network
`traffic management devices. In some implementations, the
`present invention enhances the predictability of partition hier(cid:173)
`archies that use weighting values and fixed rate guarantees. In
`some implementations, the present invention includes a con(cid:173)
`figuration interface that constrains the manner in which par(cid:173)
`titions can be configured to achieve predictable and efficient
`results. In some implementations, the present invention
`includes a partition creation and deletion layer that operates
`to dynamically create partitions based on one or more parti(cid:173)
`tion patterns.
`
`13 Claims, 10 Drawing Sheets
`
`VMWARE 1021
`
`

`

`U.S. Patent
`
`Sep.23,2014
`
`Sheet 1 of 10
`
`US 8,843,634 B2
`
`43
`
`21a
`
`22b
`
`21
`
`Cc
`ess -l.
`
`22
`
`50
`
`Fig._1
`
`(Inside)
`
`130
`
`40
`
`44
`
`IIE:I
`E!!!9
`liiiJ
`
`(
`
`42
`
`42
`
`

`

`U.S. Patent
`
`Sep.23,2014
`
`Sheet 2 of 10
`
`US 8,843,634 B2
`
`50
`
`44
`
`130
`
`Application Traffic Management
`Device
`
`Network Device Application
`Processor
`
`Packet
`Processor
`
`Flow Control
`Module
`
`Traffic
`Classification
`Engine
`
`Flow
`Database
`
`Host
`Database
`
`Measurement
`Engine
`
`Administrator
`Interface
`
`72
`
`92
`
`96
`
`135
`
`140
`
`75
`
`Fig._2
`
`42
`
`71
`
`94
`
`76
`
`

`

`U.S. Patent
`
`Sep.23,2014
`
`Sheet 3 of 10
`
`US 8,843,634 B2
`
`Processor
`
`900
`
`~
`
`902
`
`904
`
`924
`
`925
`
`Cache
`
`Network
`Interface
`
`Network
`Interface
`
`Host Bridge
`
`910
`
`High Performance I/O Bus 2.D.6.
`
`912
`
`914
`
`I/O Bus
`Bridge
`
`System
`Memory
`
`Standard I/O Bus .2Q8_
`
`920
`
`926
`
`Mass Storage
`
`I/O Ports
`
`Fig._2A
`
`

`

`U.S. Patent
`
`Sep.23,2014
`
`Sheet 4 of 10
`
`US 8,843,634 B2
`
`202
`
`Receive
`Packet
`
`206
`
`No
`
`Construct
`Flow Object
`
`207
`
`Compute Initial
`Flow Rate
`
`208
`
`Update Flow
`Object Attributes
`
`Pass Packet Pointer to
`T raffle Classification
`Engine
`
`Pass Packet Pointer to Flow
`Control Module
`
`214
`
`216
`
`218
`
`Record Measurement
`Statistics
`
`Fig._3
`
`

`

`U.S. Patent
`
`Sep.23,2014
`
`Sheet 5 of 10
`
`US 8,843,634 B2
`
`Read Packet onto
`Flow and Partition
`Queues
`
`302
`
`304
`
`Receive
`Packet
`
`Identify
`Partition
`
`314
`
`Push Packet on
`Flow Queue
`
`308
`
`312
`
`316
`
`Fig._4A
`
`Instantiate Partition( s)
`in Output Scheduling -~-(cid:173)
`Data Structure
`
`Create Flow Queue;
`Push Packet on Flow
`Queue
`
`Recompute Per-Flow
`Bandwidth Allocation
`for Partition
`
`Push Flow Queue
`onto Low Priority
`Partition Queue
`
`Apply Per-Flow
`Rate Modification
`to Packet
`
`324
`
`322
`
`Push Flow Queue
`onto High Priority
`Partition Queue
`
`

`

`U.S. Patent
`
`Sep.23,2014
`
`Sheet 6 of 10
`
`US 8,843,634 B2
`
`Read Packet from
`Selected Partition
`onto Output Queue
`
`352
`
`Q = Low Priority
`Partition Queue
`
`351
`
`Q = High Priority
`Partition Queue
`
`Find Queue
`Priority
`
`Priority = Low
`
`Return
`
`Fig._4C
`
`356
`3 7 4
`
`Priority=
`High
`
`Pop Flow
`Queue from Q
`
`Pop Packet from
`Flow Queue
`
`Push Packet onto
`Output Queue
`
`354
`
`Fig._4B
`
`358
`
`362
`
`Delete Flow
`Queue
`
`Find Queue
`Priority
`
`Push Flow Queue onto
`Low/High Priority
`Partition Queue
`
`Update Partition
`Time Stamp based
`on Partition Rate
`
`366
`
`368
`
`

`

`U.S. Patent
`
`Sep.23,2014
`
`Sheet 7 of 10
`
`US 8,843,634 B2
`
`Partition Configuration
`
`Fig._6
`
`55
`
`Packet
`Processing
`
`0 Partition Queues
`
`75
`------.[)
`Output Scheduling
`Data Structure
`
`p 5 {
`
`'~' p~'----r------r----,---,------,---,--,
`jhpl
`
`80
`
`Output Queue
`
`Output 0
`
`Scheduling
`Process
`
`In
`
`{
`
`p 7
`
`P8
`
`{
`
`IIPI
`L..:I hp....L..I --'-----'----'----'--'--__._____,I
`
`Fig. -5
`
`L . ! I lp_J_I --'---'---_i__.'----'-__,__---'~
`60a
`
`IL...; h P'-'-1 --'-----'----'-----'-__,___....,__~
`60b
`
`

`

`~
`
`Fig._7A
`
`~ rt a
`
`V1 .
`d
`
`~
`~
`~
`... O'\
`~
`~
`
`~ ---~
`rJ1
`d
`
`0
`~
`0 ...,
`00
`~
`~
`rJ1 ::r
`
`~
`0
`N
`V'
`N
`~
`rJ1
`
`"""
`
`

`

`~ e
`
`Fig._7B
`
`0
`,...
`0 .....
`-a
`~
`~ (0
`
`N
`~
`N
`~
`
`""'
`0 ,...
`
`r.,:i
`
`~ "°' ~
`
`~
`
`"1:$;
`1:$;
`00
`d
`
`~ rt a
`
`(11 .
`d
`
`

`

`U.S. Patent
`
`Sep.23,2014
`
`Sheet 10 of 10
`
`US 8,843,634 B2
`
`502
`
`504
`
`506
`
`508
`
`Find
`Partition
`
`Apply
`Classification
`Rule(s)
`
`Apply Policy
`Action to Identify
`Partition
`
`Access Partition
`Pattern to Create
`Partition
`
`Fig._8
`
`

`

`US 8,843,634 B2
`
`1
`PARTITION CONFIGURATION AND
`CREATION MECHANISMS FOR NETWORK
`TRAFFIC MANAGEMENT DEVICES
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`This application is a continuation of U.S. application Ser.
`No. 11/241,007 filed Sep. 30, 2005, entitled "Partition Con(cid:173)
`figuration and Creation Mechanisms for Network Traffic
`Management Devices," now U.S. Pat. No. 7,925,756.
`This application makes reference to the following com(cid:173)
`monly owned U.S. patent applications and patents, which are
`incorporated herein by reference in their entirety for all pur(cid:173)
`poses:
`U.S. patent application Ser. No. 08/762,828 now U.S. Pat.
`No. 5,802,106 in the name of Robert L. Packer, entitled
`"Method for Rapid Data Rate Detection in a Packet Commu(cid:173)
`nication Environment Without Data Rate Supervision;"
`U.S. patent application Ser. No. 08/970,693 now U.S. Pat.
`No. 6,018,516, in the name of Robert L. Packer, entitled
`"Method for Minimizing Unneeded Retransmission of Pack(cid:173)
`ets in a Packet Communication Environment Supporting a
`Plurality of Data Link Rates;"
`U.S. patent application Ser. No. 08/742,994 now U.S. Pat.
`No. 6,038,216, in the name of Robert L. Packer, entitled
`"Method for Explicit Data Rate Control in a Packet Commu(cid:173)
`nication Environment without Data Rate Supervision;"
`U.S. patent application Ser. No. 09/977,642 now U.S. Pat.
`No. 6,046,980, in the name of Robert L. Packer, entitled
`"System for Managing Flow Bandwidth Utilization at Net(cid:173)
`work, Transport andApplication Layers in Store and Forward
`Network;"
`U.S. patent application Ser. No. 09/106,924 now U.S. Pat. 35
`No. 6,115,357, in the name of Robert L. Packer and Brett D.
`Galloway, entitled "Method for Pacing Data Flow in a Packet(cid:173)
`based Network;"
`U.S. patent application Ser. No. 09/046,776 now U.S. Pat.
`No. 6,205,120, in the name of Robert L. Packer and Guy
`Riddle, entitled "Method for Transparently Determining and
`Setting an Optimal Minimum Required TCP Window Size;"
`U.S. patent application Ser. No. 09/479,356 now U.S. Pat.
`No. 6,285,658, in the name of Robert L. Packer, entitled
`"System for Managing Flow Bandwidth Utilization at Net(cid:173)
`work, Transport andApplication Layers in Store and Forward
`Network;"
`U.S. patent application Ser. No. 09/198,090 now U.S. Pat.
`No. 6,412,000, in the name of Guy Riddle and Robert L.
`Packer, entitled "Method for Automatically Classifying Traf(cid:173)
`fic in a Packet Communications Network;"
`U.S. patent application Ser. No.09/198,051, in the name of
`Guy Riddle, entitled "Method for Automatically Determining
`a Traffic Policy in a Packet Communications Network;"
`U.S. patent application Ser. No. 09/206,772, now U.S. Pat. 55
`No. 6,456,360, in the name of Robert L. Packer, Brett D.
`Galloway and Ted Thi, entitled "Method for Data Rate Con(cid:173)
`trol for Heterogeneous or Peer Intemetworking;"
`U.S. patent application Ser. No. 09/710,442, in the name of
`Todd Krautkremer and Guy Riddle, entitled "Application 60
`Service Level Mediation and Method of Using the Same;"
`U.S. patent application Ser. No. 09/966,538, in the name of
`Guy Riddle, entitled "Dynamic Partitioning of Network
`Resources;"
`U.S. patent application Ser. No. 10/015,826 in the name of
`Guy Riddle, entitled "Dynamic Tunnel Probing in a Commu(cid:173)
`nications Network;"
`
`25
`
`2
`U.S. patent application Ser. No. 10/039,992, in the name of
`Michael J. Quinn and Mary L. Laier, entitled "Method and
`Apparatus for Fast Lookup of Related Classification Entities
`in a Tree-Ordered Classification Hierarchy;"
`U.S. patent application Ser. No. 10/108,085, in the name of
`Wei-Lung Lai, Jon Eric Okholm, and Michael J. Quinn,
`entitled "Output Scheduling Data Structure Facilitating Hier(cid:173)
`archical Network Resource Allocation Scheme;"
`U.S. patent application Ser. No. 10/178,617, in the name of
`10 Robert E. Purvy, entitled "Methods, Apparatuses and Sys(cid:173)
`tems Facilitating Analysis of Network Device Performance;"
`U.S. patent application Ser. No. 10/155,936 now U.S. Pat.
`No. 6,591,299, in the name of Guy Riddle, Robert L. Packer,
`and Mark Hill, entitled "Method For Automatically Classify-
`15 ing Traffic With Enhanced Hierarchy In A Packet Communi(cid:173)
`cations Network;"
`U.S. patent application Ser. No. 10/236,149, in the name of
`Brett Galloway and George Powers, entitled "Classification
`Data Structure enabling Multi-Dimensional Network Traffic
`20 Classification and Control Schemes;"
`U.S. patent application Ser. No. 10/334,467, in the name of
`Mark Hill, entitled "Methods, Apparatuses and Systems
`Facilitating Analysis of the Performance of Network Traffic
`Classification Configurations;"
`U.S. patent application Ser. No. 10/453,345, in the name of
`Scott Hankins, Michael R. Morford, and Michael J. Quinn,
`entitled "Flow-Based Packet Capture;"
`U.S. patent application Ser. No. 10/676,383 in the name of
`Guy Riddle, entitled "Enhanced Flow Data Records Includ-
`30 ing Traffic Type Data;"
`U.S. patent application Ser. No. 10/720,329, in the name of
`Weng-Chin Yung, Mark Hill and Anne Cesa Klein, entitled
`"Heuristic Behavior Pattern Matching of Data Flows in
`Enhanced Network Traffic Classification;"
`U.S. patent application Ser. No. 10/812,198 in the name of
`Michael Robert Morford and Robert E. Purvy, entitled
`"Adaptive, Application-Aware Selection of Differentiated
`Network Services;"
`U.S. patent application Ser. No. 10/843, 185 in the name of
`40 Guy Riddle, Curtis Vance Bradford and Maddie Cheng,
`entitled "Packet Load Shedding;"
`U.S. patent application Ser. No. 10/938,435 in the name of
`Guy Riddle, entitled "Classification and Management of Net(cid:173)
`work Traffic Based on Attributes Orthogonal to Explicit
`45 Packet Attributes;"
`U.S. patent application Ser. No. 11/027,744 in the name of
`Mark Urban, entitled "Adaptive Correlation of Service Level
`Agreement and Network Application Performance;" and
`U.S. application Ser. No. 11/053,596 in the name of Azeem
`50 Feroz, Wei-Lung Lai, Roopesh Varier, James Stabile and Eric
`Okholm, entitled "Aggregate Network Resource Utilization
`Control Scheme."
`
`FIELD OF THE INVENTION
`
`The present invention relates to network traffic manage(cid:173)
`ment systems and, more particularly, to methods, apparatuses
`and systems directed to partition configuration and creation
`mechanisms that enhance the predictability and use of net(cid:173)
`work resource allocation schemes.
`
`BACKGROUND OF THE INVENTION
`
`Enterprises have become increasingly dependent on com-
`65 puter network infrastructures to provide services and accom(cid:173)
`plish mission-critical tasks. Indeed, the performance, secu(cid:173)
`rity, and efficiency of these network infrastructures have
`
`

`

`US 8,843,634 B2
`
`3
`become critical as enterprises increase their reliance on dis(cid:173)
`tributed computing environments and wide area computer
`networks. To that end, a variety of network devices have been
`created to provide data gathering, reporting, and/or opera(cid:173)
`tional functions, such as firewalls, gateways, packet capture
`devices, bandwidth management devices, application traffic
`monitoring devices, and the like. For example, the TCP/IP
`protocol suite, which is widely implemented throughout the
`world-wide data communications network environment
`called the Internet and many wide and local area networks,
`omits any explicit supervisory function over the rate of data
`transport over the various devices that comprise the network.
`While there are certain perceived advantages, this character(cid:173)
`istic has the consequence of juxtaposing very high-speed
`packets and very low-speed packets in potential conflict and
`produces certain inefficiencies. Certain loading conditions
`degrade performance of networked applications and can even
`cause instabilities which could lead to overloads that could
`stop data transfer temporarily.
`To facilitate monitoring, management and control of net(cid:173)
`work environments, a variety of network devices, applica(cid:173)
`tions, technologies and services have been developed. For
`example, certain data flow rate control mechanisms have been
`developed to provide a means to control and optimize effi(cid:173)
`ciency of data transfer as well as allocate available bandwidth
`among a variety of business enterprise functionalities. For
`example, U.S. Pat. No. 6,038,216 discloses a method for
`explicit data rate control in a packet-based network environ(cid:173)
`ment without data rate supervision. Data rate control directly
`moderates the rate of data transmission from a sending host,
`resulting in just-in-time data transmission to control inbound
`traffic and buffering of packets, and reduce the inefficiencies
`associated with dropped packets. Bandwidth management
`devices also allow for explicit data rate control for flows
`associated with a particular traffic classification. For
`example, U.S. Pat. No. 6,412,000, above, discloses automatic
`classification of network traffic for use in connection with
`bandwidth allocation mechanisms. U.S. Pat. No. 6,046,980
`discloses systems and methods allowing for application layer
`control of bandwidth utilization in packet-based computer
`networks. For example, bandwidth management devices
`allow network administrators to specify policies operative to
`control and/or prioritize the bandwidth allocated to individual
`data flows according to traffic classifications. In addition,
`certain bandwidth management devices, as well as certain
`routers, allow network administrators to specify aggregate
`bandwidth utilization controls to divide available bandwidth
`into partitions. With some network devices, these partitions
`can be configured to provide a minimum bandwidth guaran(cid:173)
`tee, and/or cap bandwidth, as to a particular class of traffic. An 50
`administrator specifies a traffic class (such as FTP data, or
`data flows involving a specific user or network application)
`and the size of the reserved virtual link-i.e., minimum guar(cid:173)
`anteed bandwidth and/or maximum bandwidth. Such parti(cid:173)
`tions can be applied on a per-application basis (protecting 55
`and/or capping bandwidth for all traffic associated with an
`application) or a per-user basis ( controlling, prioritizing, pro(cid:173)
`tecting and/or capping bandwidth for a particular user). In
`addition, certain bandwidth management devices allow
`administrators to define a partition hierarchy by configuring 60
`one or more partitions dividing the access link and further
`dividing the parent partitions into one or more child parti(cid:173)
`tions. U.S. patent application Ser. No. 10/108,085 discloses
`data structures and methods for implementing a partition
`hierarchy.
`Certain network traffic management devices, such as the
`PacketShaper® network traffic management device, offered
`
`4
`by Packeteer®, Inc. of Cupertino, Calif., support the concur(cid:173)
`rent use ofaggregate bandwidth policies ( e.g., partitions), and
`per-flow bandwidth policies, such as rate policies enforced by
`the TCP Rate control technologies disclosed in U.S. Pat. No.
`6,038,216. A partition is essentially a bandwidth allocation
`and queuing mechanism. That is, after a packet processor
`classifies each packet and enqueues each packet onto a parti(cid:173)
`tion queue associated with the appropriate partition, another
`process, typically, loops through the partition queues to
`10 dequeue packets off the queues and populate an output queue.
`Aggregate bandwidth allocation among the different parti(cid:173)
`tions essentially establishes a preference by which a flow
`control mechanism arbitrates among the corresponding par-
`15 titian queues. For example, a flow control module, while
`arbitrating among the partition queues, may read more pack(cid:173)
`ets from partitions having a higher allocation of bandwidth
`relative to partitions that have lower allocations. For example,
`as disclosed in U.S. application Ser. No. 10/108,085, incor-
`20 porated by reference above, the bandwidth allocated to a
`given partition affects the rate at which the partition is
`selected by an output scheduling process and therefore the
`length of time packets are buffered in the corresponding par(cid:173)
`tition queue. In addition, TCP Rate Control technologies can
`25 be used to effect per-flow rate policies to control or influence
`the rate at which packets are received at a network device and,
`therefore, use of inbound network bandwidth and the amount
`of data that is queued at any given time.
`While partitions and per-flow rate policies are effective for
`30 their intended purposes, the proper configuration of partitions
`in conjunction with per-flow policies can be problematic. For
`example, network traffic application systems allow users to
`configure minimum and/or maximum bandwidth guarantees
`for one or more partitions. To simply configuration, some
`35 network traffic management systems also allow users to con(cid:173)
`figure a weighting or priority scheme for partitions and/or
`data flows that indicate the relative importance of the network
`traffic falling within a partition or matching a given traffic
`classification. The network traffic management device itself
`40 applies these weighting parameters using conventional algo(cid:173)
`rithms. During execution, the weighing or priority values,
`however, are often difficult to reconcile with the minimum
`and maximum bandwidth guarantees corresponding to one or
`more partitions, as it can become problematic to allocate
`45 bandwidth to data flows using weights, while at the same time
`observing the minimum and/or maximum guarantees associ(cid:173)
`ated with one or more partitions. The resulting effect from
`various configurations can be unpredictable, and also far from
`what the user intended.
`In light of the foregoing, a need in the art exists for meth-
`ods, apparatuses and systems directed to bandwidth control
`mechanism that addresses the problems discussed above.
`Embodiments of the present invention substantially fulfill this
`need.
`
`SUMMARY OF THE INVENTION
`
`The present invention provides methods, apparatuses and
`systems directed to partition configuration and creation
`mechanisms for network traffic management devices. In
`some implementations, the present invention enhances the
`predictability of partition hierarchies that use weighting val(cid:173)
`ues and fixed rate guarantees. In some implementations, the
`present invention includes a configuration interface that con-
`65 strains the manner in which partitions can be configured to
`achieve predictable and efficient results. In some implemen(cid:173)
`tations, the present invention includes a partition creation and
`
`

`

`US 8,843,634 B2
`
`5
`deletion layer that operates to dynamically create partitions
`based on one or more partition patterns.
`
`DESCRIPTION OF THE DRAWING(S)
`
`FIG.1 is a functional block diagram illustrating a computer
`network system architecture in which an embodiment of the
`present invention may operate.
`FIG. 2 is a functional block diagram illustrating the func(cid:173)
`tionality of a network traffic management device, according 10
`to one implementation of the present invention.
`FIG. 2A is functional block diagram illustrating the hard(cid:173)
`ware components of a network device according to one
`implementation of the present invention.
`FIG. 3 is a flow chart diagram showing a method, according 15
`to one implementation of the present invention, directed to
`processing data flows.
`FIG. 4A is a flow chart diagram illustrating a process
`involving placing a packet onto a flow queue and a partition
`queue.
`FIG. 4B is a flow chart diagram providing a method involv(cid:173)
`ing scheduling a packet for output from an network traffic
`management device.
`FIG. 4C is a flow chart diagram illustrating the decisional
`logic associated with placing a flow queue onto a high priority
`or low priority partition queue.
`FIG. 5 is a process flow diagram illustrating the overall
`process flow associated with the scheduling of packets for
`output.
`FIG. 6 sets forth an exemplary hierarchical partition con(cid:173)
`figuration according to an embodiment of the present inven(cid:173)
`tion.
`FIGS. 7A and 7B illustrate exemplary hierarchical parti(cid:173)
`tion configurations according to another embodiment of the
`present invention.
`FIG. 8 is a flow chart diagram illustrating operation of a
`partition creation and deletion layer according to one imple(cid:173)
`mentation of the present invention.
`
`6
`implementation, is deployed at the edge of network 40. As
`discussed more fully below, network traffic management
`device 130 is operative to classify and manage data flows
`traversing access link 21. In one implementation, network
`traffic management device 130 also includes functionality
`operative to monitor the performance of the network (such as
`network latency) and/or network applications. Network traf(cid:173)
`fic management device 130 may be disposed at a variety of
`locations in a network environment to control data flow and
`partition access to resources.
`As FIG. 2 illustrates, network traffic management device
`130, in one implementation, comprises network device appli(cid:173)
`cation processor 75, and first and second network interfaces
`71, 72, which operably connect network traffic management
`device 130 to the communications path between router 22 and
`network 40. Network device application processor 75 gener-
`ally refers to the functionality implemented by network traffic
`management device 130, such as network traffic management
`functionality described herein. As described in more detail
`20 below, in one embodiment, network device application pro(cid:173)
`cessor 75 is a combination of hardware and software, such as
`a central processing unit, memory, a system bus, an operating
`system, device drivers, and one or more software modules
`implementing the functions performed by network traffic
`25 management device 130. For didactic purposes, network traf(cid:173)
`fic management device 130 is configured to manage network
`traffic traversing access link 21. The above-identified patents
`and patent applications, incorporated by reference herein,
`disclose various functionalities and features that may be
`30 incorporated into network traffic management devices
`according to various implementations of the present inven(cid:173)
`tion.
`In one embodiment, first and second network interfaces 71,
`72 are the hardware communications interfaces that receive
`35 and transmit packets over the computer network environ(cid:173)
`ment. In one implementation, first and second network inter(cid:173)
`faces 71, 72 reside on separate network interface cards oper(cid:173)
`ably connected to the system bus of network traffic
`management device 130. In another implementation, first and
`40 second network interfaces reside on the same network inter(cid:173)
`face card. In addition, the first and second network interfaces
`71, 72 can be wired network interfaces, such as Ethernet
`(IEEE 802.3) interfaces, and/or wireless network interfaces,
`such as IEEE 802.11, BlueTooth, satellite-based interfaces,
`45 and the like. As FIG. 2 illustrates, network traffic manage(cid:173)
`ment device 130, in one embodiment, includes persistent
`memory 76, such as a hard disk drive or other suitable
`memory device, such writable CD, DVD, or tape drives. In
`other implementations, network traffic management device
`50 130 can include additional network interfaces, beyond net(cid:173)
`work interfaces 71 and 72, to support additional access links
`or other functionality. Furthermore, U.S. application Ser. No.
`10/843, 185 provides a description of the operation of various
`modules (according to one possible implementation of the
`55 present invention), such as network interface drivers, and data
`structures for receiving into memory and processing packets
`encountered at network interfaces 71, 72.
`FIG. 2A illustrates for didactic purposes an exemplary
`computing platform, and hardware architecture, for network
`60 device 30. In one implementation, network device 30 com(cid:173)
`prises a processor 902, a system memory 914, network inter(cid:173)
`faces 924 & 925, and one or more software applications
`(including network device application 75 shown in FIG. 2)
`and drivers enabling the functions described herein.
`The present invention can be implemented on a wide vari(cid:173)
`ety of computer system architectures. For example, FIG. 2A
`illustrates, hardware system 900 having components suitable
`
`DESCRIPTION OF PREFERRED
`EMBODIMENT(S)
`
`FIG. 1 illustrates an exemplary network environment in
`which embodiments of the present invention may operate. Of
`course, the present invention can be applied to a variety of
`network architectures. FIG. 1 illustrates, for didactic pur(cid:173)
`poses, a network 50, such as wide area network, interconnect(cid:173)
`ing a first enterprise network 40, supporting a central operat(cid:173)
`ing or headquarters facility, and a second enterprise network
`40a, supporting a branch office facility. Network 50 may also
`be operably connected to other networks, such as network
`40b, associated with the same administrative domain as net(cid:173)
`works 40, 40a, or a different administrative domain.As FIGS.
`1 and 2 show, the first network 40 interconnects several TCP/
`IP end systems, including client devices 42 and server device
`44, and provides access to resources operably connected to
`computer network 50 via router 22 and access link 21. Access
`link 21 is a physical and/or logical connection between two
`networks, such as computer network 50 and network 40. The
`computer network environment, including network 40 and
`network 50 is a packet-based communications environment,
`employing TCP/IP protocols, and/or other suitable protocols,
`and has a plurality of interconnected digital packet transmis(cid:173)
`sion stations or routing nodes. First network 40, and networks
`40a & 40b, can each be a local area network, a wide area 65
`network, or any other suitable network. As FIGS. 1 and 2
`illustrate, network traffic management device 130, in one
`
`

`

`US 8,843,634 B2
`
`8
`7
`for network device 30 in accordance with one implementation
`tern provides an interface between the software applications
`of the present invention. In the illustrated embodiment, the
`being executed on the system and the hardware components
`hardware system 900 includes processor 902 and a cache
`of the system. According to one embodiment of the present
`memory 904 coupled to each other as shown. Additionally,
`invention, the operating system is the Windows® 95/98/NT/
`the hardware system 900 includes a high performance input/
`XP operating system, available from Microsoft Corporation
`output (I/O) bus 906 and a standard I/O bus 908. Host bridge
`of Redmond, Wash. However, the present invention may be
`910 couples processor 902 to high performance I/O bus 906,
`used with other conventional operating systems, such as the
`whereas I/O bus bridge 912 couples the two buses 906 and
`Apple Macintosh Operating System, available from Apple
`908 to each other. Coupled to bus 906 are network/commu(cid:173)
`Computer Inc. of Cupertino, Calif., UNIX operating systems,
`nication interface 924, and system memory 914. The hard(cid:173)
`10 LINUX operating systems, and the like. Of course, other
`ware system may further include video memory (not shown)
`implementations are possible. For example, the functionality
`and a display device coupled to the video memory. Coupled to
`of network device 30 may be implemented by a plurality of
`bus 908 are mass storage 920 and I/O ports 926. The hardware
`server blades communicating over a backplane.
`system may optionally include a keyboard and pointing
`As FIG. 2 illustrates, network device application processor
`device (not shown) coupled to bus 908. Collectively, these 15
`75, in one implementation, includes a packet processor 92,
`elements are intended to represent a broad category of com(cid:173)
`flow control module 94, and traffic classification engine 96.
`puter hardware systems, including but not limited to general
`Network device application processor 75, in one implemen(cid:173)
`purpose computer systems based on the Pentium® processor
`tation, further comprises host database 134, flow database
`manufactured by Intel Corporation of Santa Clara, Calif., as
`20 135, measurement engine 140, management information
`well as any other suitable processor.
`base 138, and administrator interface 150. In one embodi(cid:173)
`The elements of computer hardware system 900 perform
`ment, the packet processor 92 is operative to process data
`their conventional functions known in the art. In particular,
`network interfaces 924, 925 are used to provide communica(cid:173)
`packets, such as detecting new data flows, parsing the data
`tion between system 900 and any of a wide range of networks,
`packets for various attributes (such as source and destination
`such as an Ethernet (e.g., IEEE 802.3) network, etc. Mass
`25 addresses, and the like) and storing packet attributes in a
`storage 920 is used to provide permanent storage for the data
`buffer structure, and maintaining one or more flow variables
`and progranmiing
`instructions
`to perform
`the above
`or statistics (such as packet count, current rate, etc.) in con(cid:173)
`described functions implemented in the system controller,
`nection with the data flows and/or the source/destination
`whereas system memory 914 ( e.g., DRAM) is used to provide
`hosts. The traffic classification engine 96, as discussed more
`temporary storage for the data and progranmiing instructions 30
`fully below, is operative to classify data flows, such as iden(cid:173)
`when executed by processor 902. I/O ports 926 are one or
`tify network applications corresponding to the flows, based
`more serial and/or parallel communication ports used to pro(cid:173)
`on one or more attributes of the data flows. In one implemen(cid:173)
`vide communication between additional peripheral devices,
`tation, traffic classification engine 96 is operative to apply one
`which may be coupled to hardware system 900.
`or more policy actions that are operative to identify partition
`Hardware system 900 may include a variety of system 35
`names

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