throbber

`
`as) United States
`
`
`
`
`
`
`
`
`
`a2) Patent Application Publication o) Pub. No.: US 2003/0118029 Al
`
`
`
`
`
`
`(43) Pub. Date: Jun. 26, 2003
`
`
`
`
`Maher,III et al.
`
`US 20030118029A1
`
`
`
`
`
`
`
`(54) METHOD AND APPARATUS FOR
`ENFORCING SERVICE LEVEL
`
`
`
`AGREEMENTS
`
`
`
`
`(76)
`
`
`
`
`
`Publication Classification
`
`
`
`
`
`
`
`
`
`
`(SV)
`Tint. C07 eee
`eeeecceecccceeeecceeseeeeeceeneseeenneeees HO4L 12/28
`
`
`
`
`
`(52) U.S. C1.
`eeececeseceteeeesneenee 370/395.21; 370/395.43
`
`
`
`
`
`
`(57)
`
`
`
`ABSTRACT
`
`
`
`A network device for enforcing service level agreements is
`
`
`
`
`
`
`
`
`described that is able to scan the contents of entire data
`
`
`
`
`
`
`
`
`
`
`packets including header and payload information. The
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`network device includes memory for storing subscriber
`
`
`
`
`
`
`
`
`information,policies andstatistics. Thetraffic flow scanning
`
`
`
`
`
`
`
`
`processor scans the header and payload information from
`
`
`
`
`
`
`
`
`
`each data packet, which is used to associate each data packet
`.
`:
`:
`.
`
`
`
`
`
`
`
`
`with a particular subscriber, classify the type of network
`
`
`
`
`
`
`
`
`
`traffic in the data packet and to enforce the particular policies
`
`
`
`
`
`
`
`
`associated with the subscriber. The traffic flow scanning
`
`
`
`
`
`
`
`
`processor producesa treatmentfor the data packet based on
`
`
`
`
`
`
`
`
`
`the scanning. The scanned data packets and the associated
`
`
`
`
`
`
`
`treatments are then passed to a quality of service processor,
`
`
`
`
`
`
`
`
`which modifies the data packets if necessary and enforces
`
`
`
`
`
`
`resource allocation according to the preprogrammed poli-
`
`cies.
`
`
`
`
`
`Inventors: Robert Daniel MaherIII, Plano, TX
`
`
`
`
`
`
`
`
`
`
`(US); James Robert Deerman, Lucas,
`
`
`
`
`
`TX (US); Milton Andre Lie,
`
`
`
`McKinney, TX (US); Mark Warden
`
`
`
`Hervin, Plano, TX (US)
`.
`
`
`Craig|Con Address:
`
`
`Netrake Corporation
`
`
`Suite 100
`
`
`3000 Technology Drive
`
`
`
`
`
`
`Plano, TX 75074 (US)
`.
`
`
`
`(21) Appl. No.:
`Filed:
`
`
`
`10/260,768
`
`(22)
`
`
`Sep. 30, 2002
`
`
`
`
`
`Related U.S. Application Data
`
`
`
`
`
`
`(63) Continuation of application No. 09/653,521, filed on
`
`
`
`
`
`Aug. 31, 2000, now abandoned.
`
`ee 36
`a pf
`i)
`
`
`
`
`
`
`
`
`a

`:
`\
`Ya ee
`ENTERRISE
`Py
`we)
`/
`- a7!
`(WE
`
`
`
`
`
`
`
`
`
`
`an
`38
`IN IN
`\
`
`
`
`
`
`
`
`
`/
`Cy
`| a a
`TOn
`
`
`
`
`
`f BN
`|
`en "
`a
`
`
`
`
`
`
`
`
`xeXxFH-G)
`i
`ea!
`
`
`
`|
`Se) eee
`Por
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`60 3B;fM4\ | 20 60
`ESTE] PS
`PON vasing
`|
`0 GN~
`
`
`
`
`
`
`
`
`<i AT
`EES80 |
`0
`yi
`
`
`
`
`
`
`
`
`f A 38
`38 /
`~~
`a“
`/
`
`50
`/ 80NYenvtceE~~ ~E,
`Jpof Ay 22
`uN
`
`
`
`
`
`
`
`
`SN.
`eee 60 /
`xX
`xX
`\
`CH
`fo
`PROVIDER
`|
`
`
`
`
`
`
`
`
`18 ~~,
`|
`0S
`16
`/
`|
`
`
`
`
`
`
`“EH
`| ener
`ve
`ays
`|
`24
`
`
`
`
`
`50S 1!reRAS PoC PRIVATE ; 4 |
`
`
`
`
`
`
`
`=
`1
`[ins
`10s ||
`“4
`|
`Ip
`
`
`
`
`
`
`
`22!
`\
`50
`|
`\
`|
`2B
`NETWORK
`i
`i8]
`= [ows
`-X<F-><
`Si
`4
`
`
`
`
`
`
`86
`L
`60
`es
`26
`50
`1
`1
`
`
`
`
`20
`60
`|}
`Oe ee Le
`\
`|
`
`
`
`
`
`
`
`
`
`
`VoIP} ct lh a]|30 |!\ |
`
`
`
`
`
`
`
`
`
`
`
`
`/ VOICE OVER IP
`4
`=e ay ay jl
`5 \0
`\
`47
`
`
`
`
`
`
`
`
`
`
`|
`i
`boc
`tr
`MB
`
`
`
`
`
`
`
`
`
`
`
`
`NETWORK
`\\
`/!
`\
`
`
`
`
`\\
`i]
`\
`cl Z
`VN
`j/
`.
`Lo
`
`
`
`
`N92
`Le
`oe ye A
`NLS
`«650 480
`48
`48
`«648
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`;
`;
`
`
`
`60
`
`EY
`
`
`
`\
`
`
`
`
`
`\
`
`
`|
`
`10
`
`
`
`
`
`b0~-60
`
`
`
`og
`
`BE
`
`
`
`
`
`Splunk Inc.
`
`Exhibit1025
`
`Page 1
`
`Splunk Inc. Exhibit 1025 Page 1
`
`

`

`
`
`
`Patent Application Publication
`
`
`
`
`
`
`Jun. 26,2003 Sheet 1 of 5
`
`
`
`US 2003/0118029 Al
`
`
`
`mae
`
`
`
`
`et
`2
`\SHRa eg [9
`
`
`
`
`
`
`
`
`
`\ So, L AC 2 ‘Ix z 3|| yAj
`HAL
`:
`= my
`
`
`
`
`
`
`
`
`
`Ng lEr® &
`SBA
`
`
`
`
`
`
`
`

`
`a!
`
`—
`
`©=m
`
`e
`iC
`S
`
`
`
`
`
`
`
`
`
`ae
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ormUlUCDTOlUlClUWDO™_MCUDD
`ml
`wo
`wm
`wm
`
`Splunk Inc.
`
`Exhibit1025
`
`Page 2
`
`Splunk Inc. Exhibit 1025 Page 2
`
`

`

`
`
`
`
`
`
`
`
`
`
`Jun. 26, 2003 Sheet 2 of 5
`
`
`
`US 2003/0118029 A1
`
`021ee|
`
`INSWIOVNYH
`
`HOSS3I0Ud
`
`
`PyTJABEQvOAWdWaQVH«Id
`Patent Application Publication
`
`__|ayvauaint1IZATYNYyossaq0dd||zovayainr)|
`cet4|SI——_201iruvaa|—§
`NE|val~|-92t
`
`
`ech JE}BchSch
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`on
`
`ee
`
`
`
`Splunk Inc.
`
`Exhibit 1025
`
`Page 3
`
`Splunk Inc. Exhibit 1025 Page 3
`
`
`
`
`
`
`

`

`||||HE;USINGSHOSPe)yNODiYSISTOwe
`2E6
`ULF=|,|
` ve||Peesevevessereneseseousee
`
`
`
`AYOWSW
`
`NTHISAMONAN|[)|ABOWSH
` WW3)INTYLS|ONTYLS|lLEOLE39
`
`—°:BEEEE||
`g3€J3e
`AYONSN|AYOWSN|ONTYLS|}]ONTELS
`
`jJOVSUSINT
`od.
`
` |3youlnoa|||AgoI]oraHE|_taTtsgatoy||fastwraff|
`
`
`AYOW3H|
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`LXSINO)
`
`Su3s4Nd
`
`Layd
`
`AMOHIN
`
`YSTTOULNOD
`
`
`
`
`
`
`
`ANIONSAT8WaSS¥3Y
`
`LST]
`
`WIINOISS3S
`
`
`
`
`Patent Application Publication
`
`
`
`
`
`Jun. 26, 2003 Sheet 3 of 5
`
`
`
`US 2003/0118029 A1
`
`
`
`
`
`
`
`45)
`
`SONTYIS
`
`JUYdWO)
`
`SUISING
`
`
`
`
`
`
`
`AMOWSHWy)
`
`cht02E
`
`Splunk Inc.
`
`Exhibit 1025
`
`Page 4
`
`Splunk Inc. Exhibit 1025 Page 4
`
`
`
`
`
`
`
`
`
`

`

`i30+
`
`
`
`
`
`
`
`INSMOWNYN=
`
`wOssso0ud
`
`INSHSOWNYHee2coh|ll.7%
`geoPCuv)!clr:
`
`
`
`Patent Application Publication
`
`
`
`
`
`
`
`
`
`Jun. 26, 2003 Sheet 4 of 5
`US 2003/0118029 A1
`
`
`00OP
`
`SSTHONT
`
`
`
`S09
`
`WOSsaadud
`
`
`
`
`
`HOLINS
`
`sTuav-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Splunk Inc.
`
`Exhibit 1025
`
`Page 5
`
`Splunk Inc. Exhibit 1025 Page 5
`
`
`
`
`

`

`
`
`
`Patent Application Publication
`
`
`
`
`
`Jun. 26, 2003 Sheet 5 of 5
`
`
`
`US 2003/0118029 Al
`
`300
`
`
`
`
`ASSOCIATE DATA PACKET WITH
`
`
`
`CUSTOMER INFORMATION AND CLASSIFY
`
`
`
`CONTENTS OF DATA PACKET
`
`FIG. §
`
`
`302
`
`
`
`
`
`FOR TRAFFIC TYPE
`
`
`
`COMPARE AVAILABLE
`
`
`
`CAPACITY FOR TRAFFIC
`
`
`
`TYPE WITH UNIT CAPACITY
`
`
`
`
`
`
`
`
`
`
`
`
`208
`
`
`
`
`
`
`
` ENOUGH
`
`
`
`
`
`AVAILABLE
`
`CAPACITY
`
`
`NO
`
`
`
`Ymm wa
`
`316
`
`
`
`
`
`
`CHECK OTHER NAT QUEUES
`
`
`
`FOR AVAILABLE CAPACITY
`
`306
`
`
`
`510
`
`SEND DATA PACKET T0
`
`
`
`
`
`
`APPROPRIATE VARIABLE
`
`
`
`BIT RATE NAT-QUEUE
`
`a12
`
`
`DECREMENT AVAILABLE
`
`CAPAC
`I
`TY BY
`UNIT CAPACITY
`
`
`
`
`
`
`504
`
`
` ARE_CONTENTS
`
`
`
`
`
`
`REAL TIME OR NON
`
`
`
`
`REAL TIME
`
`
`
`NRT
`
`AT
`
`
`
`
`
`COMPARE SIZE OF
`
`
`
`DATA PACKET WT
`AVAILABLE CAPACITY
`
`
`
`
`
`526
`
`
`
`
`
`
`
`928 YES
`
`
`
`
`
`
`
`
`
`
`
`
`‘0
`
`
`
`
`MARK PACKET
`On
`
`
`
`
`
`FOR DELETION
`5
`
`
`
`
`
`AVATLABLE
`
`SEND TO APPROPRIATE|-~20
`YES
`
`
`
`CAPACITY IN OTHER
`
`
`
`
`
`
`
`
`NAT QUEUE
`FORWARD TO
`1-536
`VBR.
`
`
`NAT QUEUE
`
`QUEUE
`
`
`NO
`594
`
`
`
`
`SEND TO AVAILABLE
`
`
`
`BIT RATE QUEUE
`
`
`
`
`FOR BEST EFFORTS
`
`TREATMENT
`
`
`-~2
`
`22
`
`
`
`
`
`318
`
`
`
`
`
`
`
`
`
`
`
`DECREMENT AVAILABLE
`CAPACITY OF QUEUE
`
`C)
`
`540
`
`
`532
`
`
`
`
`
`
`
`
`DECRENENT AVAILABLE
`
`
`ACITY
`CAPACITY
`BY
`
`
`PACKETSIZE
`
`
`
`() 340
`
`
`
`-~~9d4
`
`C)
`
`540
`
`
`940
`
`
`
`SEND 10 APPROPAIATE
`REAL TIME VBR QUEUE
`
`
`
`
`
`
`
`
`Splunk Inc.
`
`Exhibit1025
`
`Page6é
`
`Splunk Inc. Exhibit 1025 Page 6
`
`

`

`
`
`US 2003/0118029 Al
`
`
`
`Jun. 26, 2003
`
`
`
`METHOD AND APPARATUS FOR ENFORCING
`
`
`
`
`
`SERVICE LEVEL AGREEMENTS
`
`
`
`CROSS-REFERENCE TO RELATED
`
`APPLICATIONS
`
`
`
`
`
`
`
`
`
`
`
`
`
`[0001] This application is a continuation of application
`
`
`
`
`
`
`
`
`
`
`Ser. No. 09/653,521 which wasfiled on Aug. 31, 2000.
`TECHNICAL FIELD OF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`
`
`[0002] The present invention relates to broadband data
`
`
`
`
`
`
`networking equipment. Specifically, the present invention
`relates to a method and network device that
`is able to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`classify networktraffic based on type and application and to
`
`
`
`
`
`
`
`
`shape and manage networktraffic in order to enforce Service
`
`
`Level Agreements.
`BACKGROUND OF THE INVENTION
`
`
`
`
`
`
`
`
`
`[0003] Almost everyone is using Internet and web-based
`
`
`
`
`
`
`
`services as a primary means of conducting business. Ser-
`
`
`
`
`
`
`
`
`vices such as email, e-commerce, Voice over IP (VoIP), and
`
`
`
`
`
`
`web-browsing have become critical
`to communication
`
`
`
`
`
`
`
`
`within and across organizations. As reliance on network
`
`
`
`
`
`
`based services increase, so do consumer demandsfor avail-
`
`
`
`
`
`
`
`ability reliability, and responsiveness of the services. Typi-
`
`
`
`
`
`
`
`
`cally, the customers do not care how the service is com-
`
`
`
`
`
`
`
`
`
`posed,
`to them the quality of service (QoS) is what
`is
`
`
`
`
`
`
`
`important. These quality of service expectations are driving
`
`
`
`
`
`
`
`customers to negotiate guarantees with their service provid-
`
`
`
`
`
`
`
`
`
`ers that will meet customerservice requirements for specific
`
`
`
`
`
`
`
`
`QoSlevels. In order to offer end-to-end QoS guarantees to
`
`
`
`
`
`
`
`
`customers, more and more providers and customers are
`
`
`
`
`
`
`entering into Service Level Agreements (SLAs).
`
`
`
`
`
`
`
`[0004] An SLAis a contract between a provider and a
`
`
`
`
`
`
`
`customerthat guarantees specific levels of performance and
`
`
`
`
`
`
`
`reliability for a certain cost. Traditionally, SLAs have
`
`
`
`
`
`
`
`included performance guarantees such as response time and
`
`
`
`
`
`
`
`network availability,
`in addition to specifying customer
`
`
`
`
`
`
`
`
`
`support and help desk issues. One major problem with
`
`
`
`
`
`
`
`
`SLAs, however, is that they are limited to collecting statis-
`
`
`
`
`
`
`
`tical information on network performance and availability
`
`
`
`
`
`
`
`
`
`since the current state of the art does not allow manipulation
`
`
`
`
`
`
`
`
`
`
`of the networkitself or the data flowing over the networkat
`
`
`
`
`
`
`
`
`
`wire speed. Because SLAs are enforced after the fact based
`
`
`
`
`
`
`
`
`onstatistical information, the only recourse to both provider
`
`
`
`
`
`
`and customeris an adjustment to payments orcredits applied
`for future services.
`
`
`
`
`
`
`
`
`
`
`
`
`[0005] Technology that would allow real time monitoring
`
`
`
`
`
`
`
`
`and dynamic allocation of network resources would allow
`
`
`
`
`
`
`
`
`providers and customers to take SLAs and service level
`
`
`
`
`
`
`
`management (SLM) to the next level. Such a technology
`
`
`
`
`
`
`
`
`would identify network resources that were reaching their
`
`
`
`
`
`
`
`maximum performance and allow the network to dynami-
`
`
`
`
`
`
`
`cally allocate additional resources, which could be metered
`
`
`
`
`
`
`
`
`and billed to the customer. Additionally,
`the customers
`would not be limited to resources in increments of carrier
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`size, such as D3s, T1s or T3s, but instead would be able to
`
`
`
`
`
`
`
`
`
`specify their exact requirement and pay for exactly the
`resources consumed.
`
`
`
`
`
`
`
`
`[0006] Further, new technology could be incorporated to
`
`
`
`
`
`
`
`
`include security features such as prevention of denial of
`
`
`
`
`
`
`
`
`
`service and monitoring for email viruses and worms. This
`
`
`
`
`
`
`
`
`
`would allow the provider to differentiate his services from
`
`
`
`
`
`
`
`
`other providers and would provide content that could be
`
`
`
`
`
`
`
`
`charged for by the provider. The customer would benefit by
`
`
`
`
`
`
`
`increased availability of their resources as well as being able
`
`
`
`
`
`
`
`
`to offload the expenseofinstalling and maintaining security
`
`
`
`equipmentto the provider.
`
`
`
`
`
`
`[0007] Accordingly, what is needed is a network device
`
`
`
`
`
`
`
`
`that can enforce service level agreements by being able to
`
`
`
`
`
`
`
`recognize networktraffic at wire speeds and by dynamically
`
`
`
`
`
`
`
`
`modifying the traffic or the network to accommodate per-
`
`
`
`
`
`
`
`
`formance and resource policies agreed to between the pro-
`
`
`
`
`
`
`
`
`vider and customer. Further, the network device is able to
`
`
`
`
`
`
`
`
`provide security for the network that is maintained by the
`
`
`
`
`provider as a service to the customer.
`SUMMARYOF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`
`invention provides for a network
`[0008] The present
`
`
`
`
`
`
`
`
`
`
`device or apparatus that is able to enforce service level
`
`
`
`
`
`
`
`agreements between providers and customers. The network
`
`
`
`
`
`
`
`device includes memory, which contains information spe-
`
`
`
`
`
`
`
`
`
`cific to each customer, or subscriber. The memory also
`
`
`
`
`
`
`
`
`includespolicies defined to enforce the terms of the service
`
`
`
`
`
`
`
`level agreements such as resource allocation and particular
`
`
`
`
`
`
`
`
`
`
`service levels, as well as statistics that are kept for each
`
`
`
`
`
`
`
`subscriber allowing the provider to provide metering and
`
`
`
`
`
`
`
`billing, as well as to allow the subscriber to keep detailed
`
`
`
`
`
`
`information on the subscribers network usage. The memory
`
`
`
`
`
`
`
`is connected to a traffic flow scanning processor which is
`
`
`
`
`
`
`
`
`
`operable to scan both the header and payload of all data
`
`
`
`
`
`
`
`
`
`packets flowing through the network device. Thetraffic flow
`
`
`
`
`
`
`
`scanning processor scans each packet to associate it with a
`
`
`
`
`
`
`
`
`particular subscriber and to identify the type and nature of
`
`
`
`
`
`
`
`
`
`
`the network traffic. Once the subscriber and type oftraffic
`
`
`
`
`
`
`
`
`
`have been identified, the policies for that subscriber can be
`
`
`
`
`
`
`
`
`
`enforced and events or statistics can be logged. This is
`
`
`
`
`
`
`
`accomplished by the traffic flow scanning processor deter-
`
`
`
`
`
`
`
`
`
`mining a treatment for each data packet based on the
`
`
`
`
`
`
`
`scanning and preprogrammedpolicies. This treatment and
`
`
`
`
`
`
`
`
`
`the data packet itself are forwarded to a quality of service
`
`
`
`
`
`
`
`processor connected to the traffic flow scanning processor.
`
`
`
`
`
`
`
`
`The quality of service processor modifies the data packet, if
`
`
`
`
`
`
`
`necessary, and assigns it to a quality of service queue based
`on the treatment.
`
`
`
`
`
`
`
`
`
`
`
`[0009] Further, the present invention sets for a method for
`
`
`
`
`
`
`
`enforcing resource allocation defined by a service level
`
`
`
`
`
`
`
`
`agreement. The method associates each data packet with a
`
`
`
`
`
`
`
`
`subscriber, or customer, and classifies the data packet by
`
`
`
`
`
`
`
`
`
`traffic type, each traffic type being further classified as either
`
`
`
`
`
`
`
`
`real time or non-real time. Once the packetis classified and
`
`
`
`
`
`
`
`associated with a subscriber, the method checksfor available
`
`
`
`
`
`
`
`bandwidth according to the preprogrammedpolicies forthat
`
`
`
`
`
`
`
`
`subscriber. The data packet is then sent to the appropriate
`
`
`
`
`
`
`
`
`
`quality of service queue for transmission back onto the
`network.
`
`
`
`
`
`
`
`
`
`[0010] The foregoing has outlined, rather broadly, pre-
`
`
`
`
`
`
`
`ferred and alternative features of the present invention so
`
`
`
`
`
`
`
`
`
`those skilled in the art may better understand the
`that
`
`
`
`
`
`detailed description of the invention that follows. Additional
`features of the invention will be described hereinafter that
`
`
`
`
`
`
`
`
`
`
`
`form the subject of the claims of the invention. Those skilled
`
`
`
`
`
`
`
`
`
`
`in the art will appreciate that
`they can readily use the
`
`
`
`
`
`
`disclosed conception and specific embodimentasa basis for
`
`
`
`
`
`
`
`
`
`
`Splunk Inc.
`
`Exhibit1025
`
`Page 7
`
`Splunk Inc. Exhibit 1025 Page 7
`
`

`

`
`
`US 2003/0118029 Al
`
`
`
`Jun. 26, 2003
`
`
`
`
`
`
`
`
`
`
`
`designing or modifying other structures for carrying out the
`
`
`
`
`
`
`
`
`same purposesof the present invention. Those skilled in the
`
`
`
`
`
`
`
`
`
`art will also realize that such equivalent constructions do not
`
`
`
`
`
`
`
`
`
`
`
`depart from the spirit and scope of the invention in its
`broadest form.
`
`
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`
`
`
`
`
`
`
`
`
`[0011] For a more complete understanding of the present
`
`
`
`
`
`
`
`invention, reference is now made to the following descrip-
`
`
`
`
`
`
`
`tions taken in conjunction with the accompanying drawings,
`in which:
`
`
`
`
`
`
`
`
`
`
`
`
`
`[0012] FIG. 1 is a network topology diagram illustrating
`
`
`
`
`
`
`example environments in which the present invention can
`
`operate;
`
`
`
`
`[0013] FIG. 2 is a block diagram of a “bump-in-the-line”
`
`
`
`
`
`
`network apparatus according to the present invention;
`
`
`
`
`
`
`FIG.3 is a block diagram of the payload scanning
`[0014]
`
`
`
`
`engine from FIG. 2; and
`
`
`
`
`
`
`[0015] FIG. 4 is a block diagram of a routing network
`
`
`
`
`
`
`apparatus according to the present invention; and
`
`
`
`
`
`
`
`FIG.5 isa flow chart illustrating a method accord-
`[0016]
`
`
`
`
`
`
`
`
`ing to the present invention for enforcing resource allocation
`
`
`
`
`according to a Service Level Agreement.
`
`
`
`
`
`
`
`DETAILED DESCRIPTION OF THE DRAWINGS
`
`
`
`
`
`
`
`
`
`
`[0017] Referring now to FIG. 1, a network topology is
`
`
`
`
`
`
`
`shown which is an example of several network infrastruc-
`
`
`
`
`
`
`
`
`tures that connect in some manner to a broader public IP
`
`
`
`
`
`
`
`
`network 10 such as the internet. FIG. 1 is in no way meant
`
`
`
`
`
`
`
`to be a precise network architecture, but only to serve as a
`
`
`
`
`
`
`
`
`rough illustration of a variety of network structures which
`can exist on a broadband IP network. Public IP network 10
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`can be accessed in a variety of ways. FIG. 1 showsthe
`
`
`
`
`
`
`
`
`public IP network being accessed through a private IP
`
`
`
`
`
`
`
`network 12 which can be the IP network of a company such
`
`
`
`
`
`
`
`
`as MCI or UUNETwhichprovideprivate core networks. An
`
`
`
`
`
`
`
`endless variety of network structures can be connected to
`
`
`
`
`
`
`
`
`private IP network 12 in order to access other networks
`
`
`
`
`
`
`connected to private IP network 12 or to access public IP
`network 10.
`
`
`
`
`
`
`
`
`
`[0018] One example of a network structure connecting to
`
`
`
`
`
`
`
`
`private IP network 12 is hosting network 14. Hosting net-
`
`
`
`
`
`
`work 14 is an example of a networkstructure that provides
`
`
`
`
`
`
`
`
`hosting services for internet websites. These hosting ser-
`
`
`
`
`
`
`
`vices can be in the form of webfarm 16. Webfarm 16 begins
`with webservers 30 and database 32 which contain the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`webpages, programs and databases associated with a par-
`
`
`
`
`
`
`ticular website such as amazon.com or yahoo.com. Web-
`servers 30 connect to redundant load balancers 28 which
`
`
`
`
`
`
`
`
`
`
`
`
`
`receive incoming internet traffic and assign it to a particular
`webserver to balance the loads across all of webservers 30.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Redundant
`intrusion detection systems 26 and firewalls
`
`
`
`
`
`
`
`
`to load balancers 28 and provide security for
`connect
`webfarm 16. Individual webfarms 16 and 17 connect to
`
`
`
`
`
`
`
`
`
`
`
`
`
`hosting network 14’s switched backbone 18 by meansof a
`
`
`
`
`
`
`
`
`network of switches 20 and routers 22. Hosting network 14’s
`
`
`
`
`
`
`switched backbone 18 is itself made up of a network of
`switches 20 which then connect to one or more routers 22 to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`to private IP network 12. Connections between
`connect
`individual webfarms 16 and 17 and the switched backbone
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`18 of hosting network 14 are usually made at speeds such as
`
`
`
`
`
`
`
`OC-3 or OC-12 (approx. 150 megabits/sec or 625 megabits/
`
`
`
`
`
`
`
`
`sec), while the connection from router 22 of hosting network
`
`
`
`
`
`
`
`
`
`14 to private IP network 12 are on the order OC-48 speeds
`
`
`
`(approx. 2.5 gigabits/sec).
`
`
`
`
`
`
`[0019] Another example of network structures connecting
`
`
`
`
`
`
`
`
`
`to private IP networksare illustrated with service provider
`
`
`
`
`
`
`
`network 34. Service provider network 34 is an example of
`
`
`
`
`
`
`
`
`a network structure for Internet Service Providers (ISPs) or
`
`
`
`
`
`
`
`
`Local Exchange Carriers (LECs) to provide both data and
`
`
`
`
`
`
`
`voice access to private IP network 12 and public IP network
`
`
`
`
`
`
`
`10. Service provider network 34 provides services such as
`
`
`
`
`
`
`
`
`internet and intranet access for enterprise networks 36 and
`
`
`
`
`
`
`
`
`37. Enterprise networks 36 and 37 are, for example, com-
`
`
`
`
`
`
`
`
`pany networks such as the company network for Lucent
`
`
`
`
`
`
`Technologies or Merrill Lynch. Each enterprise network,
`
`
`
`
`
`
`
`
`such as enterprise network 36, includes a plurality of net-
`work servers and individual workstations connected to a
`
`
`
`
`
`
`
`
`
`
`
`
`
`switched backbone 18, which can be connected by routers
`
`
`
`
`
`22 to service provider network 34.
`
`
`
`
`
`
`
`
`
`[0020]
`In addition to internet access for enterprise net-
`
`
`
`
`
`
`
`works, service provider network 34 provides dial-up internet
`
`
`
`
`
`
`
`access for individuals or small businesses. Dial-up access is
`
`
`
`
`
`
`provided in service provider network 34 by remote access
`
`
`
`
`
`
`
`server (RAS) 42, which allows personal computers (PCs) to
`
`
`
`
`
`
`
`
`call into service provider network 34 through the public
`
`
`
`
`
`
`
`switched telephone network (PSTN), not shown. Once a
`connection has been made between the PC 50 and RAS 42
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`through the PSTN, PC 50 can then access the private or
`
`
`
`
`public IP networks 12 and 10.
`
`
`
`
`
`
`
`
`[0021] Service provider network 34 also provides the
`
`
`
`
`
`
`
`
`
`ability to use the internet to provide voice calls over a data
`
`
`
`
`
`
`
`network referred to as Voice over IP (VoIP). VoIP networks
`
`
`
`
`
`
`
`
`
`46 and 47 allow IP phones 48 and PCs 50 equipped with the
`
`
`
`
`
`
`
`proper software to make telephonecalls to other phones, or
`
`
`
`
`
`
`
`
`PCs connected to the internet or even to regular phones
`
`
`
`
`
`
`
`
`connected to the PSTN. VoIP networks, such as VoIP net-
`
`
`
`
`
`
`
`
`work 46, include media gateways 52 and other equipment,
`
`
`
`
`
`
`
`
`
`not shown, to collect and concentrate the VoIP calls which
`
`
`
`
`
`
`
`
`
`are sent through service provider network 34 and private and
`
`
`
`
`
`
`
`
`public internet 12 and 10 as required. As mentioned, the
`advent of VoIP as well as other real time services such as
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`video over the internet make quality of service a priority for
`
`
`
`
`
`
`
`service providers in order to match the traditional telephone
`
`
`
`
`
`service provided bytraditional telephone companies.
`
`
`
`
`
`
`
`
`[0022] Service providers often enter into service level
`
`
`
`
`
`
`
`
`agreements with their customers. These service level agree-
`
`
`
`
`
`
`
`
`ments set out service and availability requirements, which
`are then monitored andstatistics collected. These statistics
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`are used to determine whether the service provider met,
`
`
`
`
`
`
`
`
`
`failed to meet, or exceeded the service levels set out in the
`
`
`
`
`
`
`
`
`service level agreement. The service provider can then be
`
`
`
`
`
`
`
`
`subject to either monetary penalties or rewards for the level
`
`
`
`of service provided.
`
`
`
`
`
`
`[0023] Service provider network 34 includes a switched
`
`
`
`
`
`
`backbone 18 formed by switches 20 as well as routers 22
`
`
`
`
`
`
`
`
`
`between it and its end users and between it and private IP
`
`
`
`
`
`
`
`
`network 12. Domain nameservers 44 and other networking
`
`
`
`
`
`
`
`equipment, which are not shown,are also included in service
`
`
`
`
`
`
`
`
`provider network 34. Similar to hosting network 34, con-
`
`
`
`
`
`
`
`
`nection speeds for service provider network 34 can range
`
`
`
`
`
`
`
`
`
`from speeds such as T1, T3, OC-3 and OC-12 for connecting
`
`Splunk Inc.
`
`Exhibit1025
`
`Page8
`
`Splunk Inc. Exhibit 1025 Page 8
`
`

`

`
`
`US 2003/0118029 Al
`
`
`
`Jun. 26, 2003
`
`
`
`
`
`
`
`
`
`
`to enterprise networks 36 and 37 as well as VoIP networks
`
`
`
`
`
`
`
`
`46 and 47 all
`the way to OC-48 and conceivably even
`
`
`
`
`
`
`OC-192 for connections to the private IP network.
`
`
`
`
`
`
`
`
`
`
`It can easily be seen that aggregation points 60
`[0024]
`
`
`
`
`
`
`
`
`exist at the edges of these various network structures where
`
`
`
`
`
`
`
`
`data is passed from one network structure to another at
`
`
`
`
`
`
`
`
`
`speeds such as OC-3, OC-12, and OC-48. One major prob-
`lem in the network structures shown in FIG.1 is the lack of
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`any type of intelligence at these aggregation points 60 which
`
`
`
`
`
`
`
`
`would allow the network to provide services such as secu-
`
`
`
`
`
`
`
`
`
`rity, metering and quality of service. The intelligence to
`
`
`
`
`
`
`
`
`
`provide these services would require that the network under-
`
`
`
`
`
`
`
`
`
`stand the type of data passing through the aggregation points
`
`
`
`
`
`
`
`
`
`60 and not just the destination and/or source information
`
`
`
`
`
`
`
`whichis currently all that is understood. Understanding the
`
`
`
`
`
`
`
`
`
`type of data, or its contents, including the contents of the
`
`
`
`
`
`
`
`
`associated payloads as well as header information, and
`
`
`
`
`
`
`further understanding and maintaining a state awareness
`across each individual traffic flow would allow the network
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`to configure itself in real time to bandwidth requirements on
`
`
`
`
`
`
`
`
`the network for applications such as VoIP or video where
`
`
`
`
`
`
`quality of service is a fundamental requirement. An intelli-
`
`
`
`
`
`
`
`
`
`
`gent, or “content aware”, network would also be able to
`
`
`
`
`
`
`
`
`
`identify and filter out security problems such as email
`
`
`
`
`
`
`
`
`worms,viruses, denial of service (DoS) attacks, and illegal
`
`
`
`
`
`
`
`hacking in a manner that would be transparent to end users.
`
`
`
`
`
`
`
`
`Further, a content aware network would provide for meter-
`
`
`
`
`
`
`
`ing capabilities by hosting companies and service providers,
`
`
`
`
`
`
`
`allowing these companies to regulate the amount of band-
`
`
`
`
`
`
`width allotted to individual customers as well as to charge
`
`
`
`
`
`
`
`
`precisely for bandwidth and additional features such as
`
`security.
`
`
`
`
`
`
`
`
`forth
`In accordance with the requirements set
`[0025]
`
`
`
`
`
`
`
`
`above, the present invention provides for a network device
`
`
`
`
`
`
`
`
`
`that is able to scan, classify, and modify network traffic
`
`
`
`
`
`
`including payload information at speeds of OC-3, OC-12,
`
`
`
`
`
`
`
`OC-48 and greater thereby providing a “content aware”
`network.
`
`
`
`
`
`
`
`
`[0026] Referring now to FIG. 2, one embodiment of a
`
`
`
`
`
`
`network apparatus according to the present
`invention is
`
`
`
`
`
`
`
`shown. Network apparatus 100, as shown,acts as a “bump-
`
`
`
`
`
`
`
`
`in the-line” type device by accepting data received from a
`
`
`
`
`
`
`
`
`high-speed network line, processing the data, and then
`
`
`
`
`
`
`
`
`
`placing the data back on the line. Network apparatus 100
`
`
`
`
`
`
`
`
`
`accepts data from the line by means of input physical
`
`
`
`
`
`
`
`
`interface 102. Input physical interface 102 can consist of a
`
`
`
`
`
`
`
`
`
`plurality of ports, and can accept any number of network
`
`
`
`
`
`
`
`
`speeds and protocols, including such high speeds as OC-3,
`
`
`
`
`
`
`
`OC-12, OC-48, and protocols including 10/100 Ethernet,
`
`
`
`
`
`
`
`
`gigabit Ethernet, and SONET.Input physical interface 102
`
`
`
`
`
`
`
`
`
`
`
`takes the data from the physical ports, frames the data, and
`
`
`
`
`
`
`
`
`
`
`then formats the data for placementon fast-path data bus 126
`
`
`
`
`
`
`
`which is preferably an industry standard data bus such as a
`
`
`
`
`
`
`
`POS-PHY Level 3, or an ATM UTOPIALevel 3 type data
`bus.
`
`
`
`
`
`
`
`
`
`
`
`
`[0027] Fast-path data bus 126 feeds the data to traffic flow
`
`
`
`
`
`
`
`scanning processor 140, which includes header processor
`
`
`
`
`
`
`
`
`
`
`104 and payload analyzer 110. The datais first sent to header
`
`
`
`
`
`
`
`processor 104, which is operable to perform several opera-
`
`
`
`
`
`
`
`
`tions using information containedin the data packet headers.
`
`
`
`
`
`
`
`
`Header processor 104 stores the received data packets in
`
`
`
`
`
`
`
`
`
`packet storage memory 106 and scans the header informa-
`
`
`
`
`
`
`
`
`
`
`
`
`tion. The header information is scanned to identify the type,
`
`
`
`
`
`
`
`or protocol, of the data packet, which is used to determine
`
`
`
`
`
`routing information as well as to create a session id using
`
`
`
`
`
`predetermined attributes of the data packet.
`
`
`
`
`
`
`
`[0028]
`Inthe preferred embodiment,a sessionid is created
`
`
`
`
`
`
`
`using session information consisting of the source address,
`
`
`
`
`
`
`
`
`destination address, source port, destination port and proto-
`
`
`
`
`
`
`
`
`
`col, although one skilled in the art would understand that a
`
`
`
`
`
`
`
`
`session id could be created using any subsetof fields listed
`
`
`
`
`
`
`
`
`
`or any additionalfields in the data packet without departing
`
`
`
`
`
`
`
`
`
`
`from the scope of the present invention. In addition, the
`
`
`
`
`
`
`
`
`header information is used to identify the data packet with
`
`
`
`
`
`
`
`a particular customer or subscriber. When a data packet is
`
`
`
`
`
`
`
`
`
`received that has new session information the header pro-
`
`
`
`
`
`
`
`cessor creates a unique session id to identify that particular
`
`
`
`
`
`
`
`
`
`traffic flow. Each successive data packet with the same
`
`
`
`
`
`
`
`
`session information is assigned the same session id to
`
`
`
`
`
`
`
`
`
`
`identify each packet within that flow. Session idsare retired
`
`
`
`
`
`
`
`whenthe particular traffic flow is ended through an explicit
`
`
`
`
`
`
`
`
`
`action, or whenthetraffic flow times out, meaningthat a data
`
`
`
`
`
`
`
`
`
`
`packet for that traffic flow has not been received within a
`
`
`
`
`
`
`
`
`predetermined amount of time. While the session id is
`
`
`
`
`
`
`
`discussed herein as being created by the header processor
`
`
`
`
`
`
`
`
`104 the session id can be created anywhere in traffic flow
`
`
`
`
`
`
`
`scanning engine 140 including in payload analyzer 110.
`
`
`
`
`
`
`
`
`[0029] As will be discussed below, network apparatus 100
`
`
`
`
`
`
`
`
`in order to function properly needs to reorder out of order
`
`
`
`
`
`
`
`
`data packets and reassemble data packet fragments. Header
`
`
`
`
`
`
`
`
`processor 104 is operable to perform the assembly of
`
`
`
`
`
`
`
`
`asynchronoustransfer mode (ATM)cells into complete data
`
`
`
`
`
`
`
`
`packets (PDUs), which could include the stripping of ATM
`header information.
`
`
`
`
`
`
`
`
`
`[0030] Header processor 104 is also operable to perform
`
`
`
`
`
`
`
`routing functions. Routing tables and information can be
`
`
`
`
`
`
`
`stored in database memory 108. Routing instructions
`
`
`
`
`
`
`received by network apparatus 100 are identified, recorded
`
`
`
`
`
`
`
`and passed to microprocessor 124 by header processor 104
`
`
`
`
`
`
`
`
`
`so that microprocessor 124 is able to update the routing
`
`
`
`
`
`
`
`tables in database memory 108 accordingly. While network
`
`
`
`
`
`
`apparatus 100 is referred to as a “bump-in-the-line” appa-
`
`
`
`
`
`
`
`
`
`ratus, The input and the output could be formed by multiple
`
`
`
`
`
`
`
`
`lines, for example four OC-12 lines could be connected to
`
`
`
`
`
`
`
`network apparatus 100 which operates at OC-48 speeds. In
`
`
`
`
`
`
`
`such a case, “bump-in-the-line” network apparatus 100 will
`
`
`
`
`
`
`
`have limited routing or switching capabilities between the
`
`
`
`
`
`
`
`
`multiple lines, although the switching capability will beless
`
`
`
`
`
`
`than in a conventional router or switch. Additionally, a
`
`
`
`
`
`
`
`network apparatus can be constructed according to the
`
`
`
`
`
`
`
`principles of the present invention, which is able to operate
`
`
`
`
`
`
`as a network router or switch. Such an implementation is
`
`
`
`
`
`
`discussed in greater detail with reference to FIG. 4.
`
`
`
`
`
`
`
`
`[0031] After data packets have been processed by header
`
`
`
`
`
`
`
`
`processor 104 the data packets, their associated session id
`
`
`
`
`
`
`
`and any conclusion formed by the header processor, such as
`
`
`
`
`
`
`
`
`routing or QoS information,are sent on fast-data path 126 to
`
`
`
`
`
`
`
`
`
`the other half of traffic flow scanning engine 140, payload
`
`
`
`
`
`
`
`
`analyzer 110. The received packets are stored in packet
`
`
`
`
`
`
`
`
`storage memory 112 while they are processed by payload
`
`
`
`
`
`
`
`
`analyzer 110.

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