throbber

`
`
`
`
`
`
`
`US 7,664,048 B1
`(10) Patent No.:
`a2) United States Patent
`
`
`
`
`
`
`
`
`Feb. 16, 2010
`(45) Date of Patent:
`Yungetal.
`
`
`
`
`US007664048B1
`
`
`
`
`
`
`
`(54) HEURISTIC BEHAVIOR PATTERN
`
`
`
`MATCHINGOF DATA FLOWS IN ENHANCED
`
`
`
`NETWORK TRAFFIC CLASSIFICATION
`
`
`
`
`
`Inventors: Weng-Chin Yung, Folsom, CA (US);
`
`
`
`
`
`
`MarkHill, Los Altos, CA (US); Anne
`
`
`
`
`Cesa Klein, Cupertino, CA (US)
`
`(75)
`
`
`
`
`
`
`
`
`
`
`
`(73) Assignee: Packeteer, Inc., Cupertino, CA (US)
`:
`:
`:
`:
`:
`
`
`
`
`
`
`
`
`(*) Notice:
`Subject to any disclaimer, the term ofthis
`
`
`
`
`patent is extended or adjusted under 35
`
`
`
`
`U.S.C. 154(b) by 870 days.
`
`
`
`
`(21) Appl. No.: 10/720,329
`
`
`
`
`Nov. 24, 2003
`
`(22)
`
`Filed:
`
`
`
`
`
`
`
`6,681,232 Bl
`
`
`6,690,918 B2
`
`
`6,701,359 BL
`
`
`6,738,352 Bl
`
`
`6,798,763 BL
`
`
`6,894,972 Bl
`
`7,010,611 B1*
`
`
`7,120,931 Bl
`
`
`7,154,416 Bl
`
`
`7,155,502 BL
`
`
`7,193,968 Bl
`
`
`7,215,637 Bl
`
`
`7,224,679 B2
`
`
`
`
`
`
`1/2004 Sistanizadeh
`
`
`2/2004 Evans
`
`
`3/2004. Calabrez
`
`
`5/2004 Yamada
`
`
`9/2004 Kimura
`
`
`
`5/2005 Phaal
`
`
`3/2006 Wiryaman et al.
`
`
`10/2006 Cheriton
`
`12/2006 S.
`
`
`/
`veg
`
`
`12/2006 Galloway
`
`
`3/2007 Kapoor
`
`
`5/2007 Ferguson
`
`
`5/2007 Solomon
`
`
`
`
`.......... 709/232
`
`
`
`(51)
`
`
`
`(56)
`
`
`
`
`Int. Cl.
`
`
`
`(2006.01)
`FOAL 12/26
`
`
`
`
`
`
`(52) U.S.Cwee 370/253; 370/235; 370/252;
`709/224
`:
`:
`:
`
`
`
`
`
`(58) Field of Classification Search ................. 370/223,
`
`
`
`
`
`370/224, 229, 230, 231, 236.1, 238, 235,
`
`
`
`
`
`370/253, 252; 709/224, 226, 233, 235, 246
`
`
`
`
`
`
`
`See application file for complete search history.
`References Cited
`
`
`U.S. PATENT DOCUMENTS
`
`
`
`
`
`
`
`
`
`4/1990 Sriram
`4,914,650 A
`
`
`
`10/1998 Kirby
`5,828,846 A
`12/1999 Bawden
`6,003,077 A
`
`
`
`
`
`
`2/2000 Chapman
`6,023,456 A
`
`
`
`
`
`3/2000 Packer ....... ce eee 370/231
`6,038,216 A *
`
`
`
`
`
`4/2000 Packer ...... eee 370/230
`6,046,980 A *
`
`
`
`
`
`
`9/2000 Bennett etal. 0.0.0.0... 709/236
`6,122,670 A *
`
`
`
`
`
`
`
`6,144,636 A * 11/2000 Aimoto etal. 0.0... 370/229
`
`
`
`
`6,219,050 Bl
`4/2001 Schaffer
`6,285,660 Bl
`9/2001 Ronen
`
`
`
`
`
`
`
`
`
`6,363,056 Bl
`3/2002 Beigi
`6,397,359 Bl
`5/2002 Chandra
`
`
`
`
`
`
`
`
`
`6,584,467 Bl
`6/2003 Haught
`
`
`
`
`
`6,591,299 B2*
`7/2003 Riddle etal. ........0.... 709/224
`
`
`
`
`
`6,625,648 Bl
`9/2003 Schwaller
`
`
`
`
`6,628,938 Bl
`9/2003 Rachabathuni
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`(Continued)
`
`OTHER PUBLICATIONS
`
`
`
`
`
`
`
`
`Pazos, C.M. et al., “Flow Control and Bandwidth Management in
`
`
`
`
`
`
`
`
`
`Next Generation Internets” IEEE, Jun. 22, 1998,pp. 123-132.*
`
`(Continued)
`
`
`
`
`Pri
`Examiner—Donald L Mill
`rmary &xanine s
`.
`
`
`
`
`
`
`
`(74) Attorney, Agent, or Firm—Baker Botts L.L.P.
`
`
`
`
`
`(57)
`
`ABSTRACT
`
`
`
`
`
`
`
`
`
`
`
`Methods, apparatuses and systemsfacilitating enhanced clas-
`
`
`
`
`
`
`
`sification of network traffic that extends beyond analysis of
`
`
`
`
`
`
`
`explicitly presented packet attributes and holistically ana-
`
`
`
`
`
`
`
`
`lyzes data flows, and in some implementations, related data
`
`
`
`
`
`
`
`flows against knownapplication behaviorpatternsto classify
`
`
`
`
`
`
`
`
`the data flows. Implementations of the present invention
`
`
`
`
`
`
`
`facilitate the classification of encrypted or compressed net-
`
`
`
`
`
`
`
`
`worktraffic, or where the higher layer information in the data
`
`
`
`
`
`
`flows are formatted according to a non-public or proprietary
`protocol.
`
`
`
`
`
`31 Claims, 11 Drawing Sheets
`
`
`
`Pattern Match
`
`
`
`
`Based on Suspected
`
`
`Application Type
`
`
`
`
`
`
`
`
`
`Packet Size
`
`
`Match Entry in
`
`
`Pattern?
`
`
`360
`
`
`
`362
`
`
`
`
`
`
`
`
`Does Packet
`
`
`
`
`Size match Next
`
`
`
`
`Entry in Pattern?
`
`
`
`
`
`
`Return No
`Match
`
`
`
`366
`
`
`
`
`
`364
`
`
`
`Splunk Inc.
`
`Exhibit1005
`
`Page 1
`
`Splunk Inc. Exhibit 1005 Page 1
`
`

`

`
`
`US 7,664,048 B1
`
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`
`Hill
`
`Hill
`
`Morford
`
`Riddle
`
`
`Muppala
`Kamentsky
`
`Lupo
`Walsh
`
`
`Gaspard
`McCormack
`
`
`7,292,531
`
`7,296,288
`
`7,324,447
`
`7,385,924
`
`7,554,983
`2002/0122427
`
`2002/0143901
`
`2003/0035385
`
`2003/0112764
`
`2003/0185210
`
`
`Bl
`
`Bl
`
`Bl
`
`Bl
`
`Bl
`
`Al
`
`Al
`
`Al
`
`Al
`
`Al
`
`
`11/2007
`11/2007
`1/2008
`
`6/2008
`
`6/2009
`
`9/2002
`
`10/2002
`
`2/2003
`
`6/2003
`
`10/2003
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`2004/0125815 Al
`
`2006/0045014 Al
`
`
`
`
`
`
`7/2004 Shimazu
`
`
`3/2006 Charzinski
`
`
`
`
`OTHER PUBLICATIONS
`
`
`
`
`
`
`
`
`
`
`
`
`Ye, Guanhuaet al., “Using explicit congestion notification in stream
`
`
`
`
`
`
`
`
`control transmisson provided in networks”, IEEE, May 19-22, 2003,
`
`
`pp. 704-709.*
`
`
`
`
`
`
`
`Yung, U.S. Appl. No. 10/917,952, entitled: Examination of connec-
`
`
`
`
`
`
`tion handshaketo enhance classification of encrypted networktraffic,
`
`
`Aug. 2004.
`
`
`* cited by examiner
`
`
`
`
`
`
`Splunk Inc.
`
`Exhibit1005
`
`Page 2
`
`Splunk Inc. Exhibit 1005 Page 2
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Feb. 16, 2010
`
`
`
`
`
`Sheet 1 of 11
`
`
`
`US 7,664,048 B1
`
`50
`
`
`
`
`
`
`
`
`
`
`Traffic Monitoring
`
`Device
`
`
`
`
`
`
`
`
`
`
` Traffic
`
`
`Classification
`
`Engine
`
`40
`
`
`
`
`Fig.1
`
`Splunk Inc.
`
`Exhibit1005
`
`Page 3
`
`Splunk Inc. Exhibit 1005 Page 3
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Feb. 16, 2010
`
`
`
`
`Sheet 2 of 11
`
`
`
`US 7,664,048 B1
`
`
`
`
`
`50
` Computer
`
`
`
`Network
`
`Splunk Inc.
`
`Exhibit1005
`
`Page 4
`
`Splunk Inc. Exhibit 1005 Page 4
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Feb. 16, 2010
`
`
`
`
`Sheet 3 of 11
`
`
`
`US 7,664,048 B1
`
`
`
`137
`
`
`
`150
`
`
`
`
`
`Interface
`
`
`
`
`
`
`
`
`
`140
`
`
`
`
`Classification
`
`Engine
`
`
`
`
`Flow
`Database
`
`
`
`
` Administrator
`Traffic ooMeasurement
`
`
`
`Engine
`
`
`s
`
`138
`
` Management
`
`
`
`Information Base
`
`
`
`
`
`
`134
`
`
`
`
`
`
`Data Packet
`
`In
`
`
`
`139
`
`
`
`
`Traffic Discovery
`
`Module
`
`
`
`
`
`
`Host
`Database
`
`
`
`
`Packet
`Processor
`
`
`
`
`
`
`
`
`
`
`
`
`
`Flow Control
`Data Packet
`
`
`Module
`
`Out
`
`
`
`
`131
`132
`
`Fig.3
`
`Splunk Inc.
`
`Exhibit1005
`
`Page5
`
`Splunk Inc. Exhibit 1005 Page 5
`
`

`

`Flow
`
`
`
`
`
`Construct
`
`
`
`
`
`
`Object? Flowoe
`
`
`106
`
`
`
`
`
`
`U.S. Patent
`
`
`
`
`
`Feb. 16, 2010
`
`
`
`
`Sheet 4 of 11
`
`
`
`US 7,664,048 B1
`
`
`102
`
`;
`
`Receive Data
`
`Packet
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`11 0
`
`
`
`Fetch/Update
`
`
`
`Flow Object
`
`
`
`
`
`
`
`
`
`
`Changes
`To Flow?
`
`
`Identify
`
`Traffic Class
`
`
`
`
`
`
`
`114
`
`
`
`
`
`
`
`
`
`
`Flag Packet Data
`for Traffic
`
`
`
`
`Discovery
`
`
`
`
`
`Variables
`
`
`
`Record Flow
`
`Measurement
`
`
`116
`
`
`
`118
`
`
`
`1:
`Fig.4
`
`
`Splunk Inc.
`
`Exhibit1005
`
`Page6é
`
`Splunk Inc. Exhibit 1005 Page 6
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Feb. 16, 2010
`
`
`
`
`Sheet 5 of 11
`
`
`
`US 7,664,048 B1
`
` Ist Packet of
`
`
`
`
`
`
`New Flow?
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`304
`
`.
`
`
`
`
`Continue Pattern
`No
`
`
`
`
`Matching for
`
`Flow?
`
`
`
`
`
`
`
`
`305
`
`
`
`
`
`322
`
`
`Increment
`
`Related Flow
`
`Count
`
`
`
`
`
`
`Return Previous
`Classification
`
`
`
`
`
`Classify as
`
`
`
`
`
`
`
`
`
`Unknown
`
`
`
`
`
`
`
`
`Pattern Match
`Related Flow
`
`
`
`Exhausted for
`
`
`
`Count >
`
`
`Flow?
`Threshold?
`
`
`
`
`
`
`
`
`
`
`
`
`
` Pattern Match
`
`
`
`Classify as
`
`
`
`based on Suspected
`Suspected
`
`
`
`Application Type
`Application
`
`
`
`
`Identify
`
`Suspected
`
`Application
`
`
`
`
`
`
`Classify as Unknown;
`
`
`
`End Pattern Match
`
`
`
`For Flow
`
` Process Flow for
`
`
`
`
`
`
`Related Flow
`
`
`Tracking
`
`
`
`
`
`
`
`
`
`
`Fig.5A
`
`
`
`Splunk Inc.
`
`Exhibit1005
`
`Page 7
`
`Splunk Inc. Exhibit 1005 Page 7
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Feb. 16, 2010
`
`
`
`
`Sheet 6 of 11
`
`
`
`US 7,664,048 B1
`
`|
`
`Identify
`
`
`Cuenertad
`
`
`Wa mopPeeiue
`Application
`
`
`
`|
`
`
`
`Select First Application
`—-
`
`
`
`330
`
`
`
`
`
`
`
`
`
`
`
`
`Protocol
`
`
`
`
`Advance to Next
`
`
`Match
`
`Application
`
`
`Application?
`
`344
`
`
`
`
`
` 342
`
`Match"ie&
`
`
`
`
`
`
`
`
`
`
`lst Packet
`
`Size Matches
`
`9
`Pattern’
`
`
`
`
`
`
`Return "No
`
`
`
`
`346
`
`
`
`
`
`
`Compute Packet
`
`
`Data Entropy
`
`Value
`
`
`
`
`
`
`
`
`
`
`Entropy Value
`
`Match
`
`Pattern?
`
`340
`
`
`
`
`
`
`Return Suspected
`
`
`
`
`
`
`
`Application
`
`
`
`
`
`Splunk Inc.
`
`Exhibit1005
`
`Page8
`
`Splunk Inc. Exhibit 1005 Page 8
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Feb. 16, 2010
`
`
`
`
`Sheet 7 of 11
`
`
`
`US 7,664,048 B1
`
`
`
`
`
`
`
`
`
`350
`
`
`
`
`
`
`Related Flow
`
`
`
`Tracking
`
`
`
`
`
`
`Record Arrival Time
`
`
`
`
`
`of 1st Packet; Host
`
`
`
`Address and Suspected
`
`Application
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Related Flow Count
`New Host
`
`
`
`
`
`
`
`Address/Suspected
`=0; Last Flow Time
`
`
`
`
`
`Application Pair?
`= 1st Packet Time
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Is A
`
`b/w Ist
`
`
`
`Packet Time and
`
`
`
`Last Flow Time >
`
`Limit?
`
`
`
`
`
`
`
`Splunk Inc.
`
`Exhibit1005
`
`Page9
`
`Splunk Inc. Exhibit 1005 Page 9
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Feb. 16, 2010
`
`
`
`
`Sheet 8 of 11
`
`
`
`US 7,664,048 B1
`
`
`
`
`
`
`
`
`
`Pattern Match
`
`
`Based on Suspected
`
`
`Application Type
`
`
`
`
`
`
`
`360
`
`
`
`
`
`
`Packet Size
`
`
`Match Entry in
`
`Pattern?
`
`362
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`366
`
` Does Packet
`
`
`
`
`
`
`
`Size match Next
`
`
`
`Entry in Pattern?
`
`
`
`
`
`
`
`
`
` Return Match
`
`
`
`
`
`
`Fig.5D
`
`
`
`Splunk Inc.
`
`Exhibit1005
`
`Page 10
`
`Splunk Inc. Exhibit 1005 Page 10
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Feb. 16, 2010
`
`
`
`
`Sheet 9 of 11
`
`
`
`US 7,664,048 B1
`
`
`Client Device
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
` Computer
`
`
`
`Tunnel Proxy
`
`Server
`
`
`
`
`
`
`Network
`
`
`
`
`
`
`
`Network Network
`
`
`Computer
`
`
`
`
`
`Resource
`
`
`
`
`Fig.6
`
`Splunk Inc.
`
`Exhibit1005
`
`Page 11
`
`Splunk Inc. Exhibit 1005 Page 11
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Feb. 16, 2010
`
`
`
`
`Sheet 10 of 11
`
`
`
`US 7,664,048 B1
`
`
`
`202
`
`
`
`
`
`Receive Data
`
`Packet
`
`
`212
`
`_?
`
`
`
`Control
`
`
`
`No
`
`
`
`Construct
`
`
`
`
`
`
`
`
`
`Fetch/Update
`
`
`Control Block
`
`
`
`204 Yes
`208
`
`Yes New Data
`
`Flow?
`
`
`
`
`
`
`
`
`
`
`
`Changes
`To Flow?
`
`
`
`Identify
`
`
`Traffic Class
`
`
`Write Traffic
`
`
`
`Class & Policies
`
`
`
`A 214
`
`into Control Block
`
`
`
`
`
`
`
`
`219
`
`
`
`
`
`
`
`
`
`
`
`Flag Packet Data
`
`
`
`
`for Traffic
`
`Discovery
`N
`
`
`
`Pass Packet to
`
`
`Flow Control
`
`Module(P)
`
`
`
`Record Flow
`
`Measurement
`
`
`Variables
`
`220
`
`
`
`222
`
`
`
`Fig. 7
`
`—
`
`224
`
`
`
`Splunk Inc.
`
`Exhibit1005
`
`Page 12
`
`Splunk Inc. Exhibit 1005 Page 12
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Feb. 16, 2010
`
`
`
`
`Sheet 11 of 11
`
`
`
`US 7,664,048 B1
`
`Pass to
`
`Classification
`
`
`
`
`
`
`402
`
`
`
`
`
`
`
`
`Traffic Class
`
`Identified?
`
`
`
`
`
`Flag for Traffic
`
`Discovery
`
`
`
`
`
`
`
`Yes
`
`
`
`
`
`Traffic Class
`
`Identified By
`Auto-Discovery?
`
`
`
`Engine
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Pass to Pattern
`
`
`Matching
`
`Classification
`
`Mechanism
`
`
`Fig.8
`
`SplunkInc.
`
`Exhibit 1005
`
`Page 13
`
`Splunk Inc. Exhibit 1005 Page 13
`
`

`

`
`
`US 7,664,048 B1
`
`
`1
`HEURISTIC BEHAVIOR PATTERN
`
`
`
`MATCHING OF DATA FLOWS IN ENHANCED
`
`
`
`NETWORK TRAFFIC CLASSIFICATION
`
`
`
`
`
`
`CROSS-REFERENCE TO RELATED
`
`APPLICATIONS AND PATENTS
`
`
`
`
`
`
`
`
`
`
`
`
`
`This application makes reference to the following com-
`
`
`
`
`
`
`
`
`monly owned U.S. patent applications and patents, which are
`
`
`
`
`
`
`
`incorporated herein by reference in their entirety for all pur-
`
`poses:
`
`
`
`
`
`
`
`
`
`US. 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-
`
`
`
`
`
`
`nication Environment Without Data Rate Supervision;”
`
`
`
`
`
`
`
`
`
`USS. 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-
`
`
`
`
`
`
`ets in a Packet Communication Environment Supporting a
`
`
`
`
`Plurality of Data Link Rates;”
`
`
`
`
`
`
`
`
`
`US. 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-
`
`
`
`
`
`
`nication Environment without Data Rate Supervision;”
`25
`
`
`
`
`
`
`
`
`
`US. 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-
`
`
`
`
`
`
`
`
`work, Transport and Application Layers in Store and Forward
`
`Network;”
`
`
`
`
`
`
`
`
`
`US. patent application Ser. No. 09/106,924 now U.S. Pat.
`
`
`
`
`
`
`
`
`No. 6,115,357, in the name of Robert L. Packer and Brett D.
`
`
`
`
`
`
`
`Galloway, entitled “Method for Pacing Data Flow ina Packet-
`
`
`based Network;”
`
`
`
`
`
`
`
`
`
`USS. 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;”
`
`
`
`
`
`
`
`
`
`US. 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-
`
`
`
`
`
`
`
`
`work, Transport and Application Layers in Store and Forward
`
`Network;”
`
`
`
`
`
`
`
`
`
`US. 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-
`
`
`
`
`fic in a Packet Communications Network;”
`
`
`
`
`
`
`
`
`USS. patent application Ser. No. 09/198,051, in the name of
`
`
`
`
`
`
`GuyRiddle,entitled “Method forAutomatically Determining
`
`
`
`
`
`
`a Traffic Policy in a Packet Communications Network,”
`
`
`
`
`
`
`
`
`USS. patent application Ser. No. 09/206,772, in the name of
`
`
`
`
`
`
`
`
`Robert L. Packer, Brett D. Galloway and Ted Thi, entitled
`
`
`
`
`
`
`
`
`“Method for Data Rate Control for Heterogeneous or Peer
`
`Internetworking;”
`
`
`
`
`
`
`
`
`USS. 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;”
`
`
`
`
`
`
`
`
`USS. 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-
`
`
`
`
`
`archical Network Resource Allocation Scheme;”
`
`
`
`
`
`
`
`
`US. 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-
`
`
`
`
`
`
`ing Traffic With Enhanced Hierarchy In A Packet Communi-
`
`
`cations Network;”
`
`20
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`
`
`
`
`
`65
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`2
`
`
`
`
`
`
`
`
`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
`
`
`
`
`Classification and Control Schemes;”
`
`
`
`
`
`
`
`
`U.S. patent application Ser. No. 10/295,391, in the name of
`
`
`
`
`
`
`
`
`
`Mark Hill, Guy Riddle and Robert Purvy, entitled “Methods,
`
`
`
`
`
`
`Apparatuses, and Systems Allowing for Bandwidth Manage-
`
`
`
`
`
`ment Schemes Responsive to Utilization Characteristics
`
`
`
`
`Associated with Individual Users;”
`
`
`
`
`
`
`
`
`U.S. patent application Ser. No. 10/334,467, in the name of
`
`
`
`
`
`
`
`Mark Hilt, 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;” and
`
`
`
`
`
`
`
`
`
`U'S. patent application Ser. No. 10/611,573, in the name of
`
`
`
`
`
`
`
`
`Roopesh Varier, David Jacobson, and Guy Riddle, entitled
`
`
`
`
`“Network Traffic Synchronization Mechanism.”
`
`FIELD OF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`
`The present invention relates to computer networks and,
`
`
`
`
`
`moreparticularly, to enhanced network traffic classification
`
`
`
`
`
`
`mechanisms that allow for identification of encrypted data
`
`
`
`
`
`
`
`flows, or data flows where attributes necessary to proper
`classification are otherwise obscured or unknown.
`
`
`
`
`
`
`
`
`
`
`
`BACKGROUND OF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Efficient allocation of network resources, such as available
`
`
`
`
`
`
`network bandwidth, has become critical as enterprises
`
`
`
`
`
`increasereliance on distributed computing environments and
`
`
`
`
`
`
`wide area computer networks to accomplish critical tasks.
`
`
`
`
`
`The widely-used Transport Control Protocol (TCP)/Internet
`
`
`
`
`
`
`
`Protocol (IP) protocol suite, which implements the world-
`wide data communications network environmentcalled the
`
`
`
`
`
`
`
`
`
`
`
`
`
`Internet and is employed in manylocal area networks, omits
`
`
`
`
`
`
`
`
`any explicit supervisory function overthe rate of data trans-
`
`
`
`
`
`
`
`
`port over the various devices that comprise the network.
`
`
`
`
`
`
`
`While there are certain perceived advantages, this character-
`
`
`
`
`
`
`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 ofnetworked applications and can even
`cause instabilities which could lead to overloads that could
`
`
`
`
`
`
`
`
`
`
`
`stop data transfer temporarily.
`In order to understand the context of certain embodiments
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`of the invention, the following provides an explanation of
`
`
`
`
`
`
`certain technical aspects of a packet based telecommunica-
`
`
`
`
`
`tions network environment. Internet/Intranet technology is
`
`
`
`
`
`
`
`
`based largely on the TCP/IP protocol suite. At the network
`
`
`
`
`
`
`level, IP provides a “datagram”delivery service—thatis, IP is
`
`
`
`
`
`
`
`
`a protocol allowing for delivery of a datagram or packet
`
`
`
`
`
`
`
`
`between two hosts. By contrast, TCP provides a transport
`
`
`
`
`
`
`
`
`
`
`level service on top of the datagram service allowing for
`
`
`
`
`
`
`
`guaranteed delivery ofa byte stream between two IP hosts. In
`
`
`
`
`
`
`
`
`other words, TCPis responsible for ensuring at the transmit-
`
`
`
`
`
`
`
`
`
`ting host that message data is divided into packets to be sent,
`
`
`
`
`
`
`
`
`
`and for reassembling, at the receiving host, the packets back
`
`
`
`
`into the complete message.
`
`
`
`
`
`
`
`TCP has “flow control” mechanismsoperative at the end
`
`
`
`
`
`
`
`
`
`stations only to limit the rate at which a TCP endpoint will
`
`
`
`
`
`
`
`
`
`
`emit data, but it does not employ explicit data rate control.
`
`
`
`
`
`
`
`The basic flow control mechanism is a “sliding window”, a
`
`
`
`
`
`
`
`window whichbyits sliding operation essentially limits the
`
`
`
`
`
`
`amount of unacknowledgedtransmit data that a transmitteris
`SplunkInc.
`Exhibit 1005
`Page 14
`
`Splunk Inc. Exhibit 1005 Page 14
`
`

`

`
`3
`allowed to emit. Another flow control mechanism is a con-
`
`
`
`
`
`
`
`
`
`
`
`
`
`gestion window, whichis a refinementofthe sliding window
`
`
`
`
`
`
`schemeinvolving a conservative expansion to make use ofthe
`
`
`
`full, allowable window.
`
`
`
`
`
`
`
`
`Thesliding window flow control mechanism worksin con-
`
`
`
`
`
`
`
`junction with the Retransmit Timeout Mechanism (RTO),
`
`
`
`
`
`whichis a timeout to prompta retransmission of unacknow]-
`
`
`
`
`
`
`
`
`edged data. The timeout length is based on a running average
`
`
`
`
`
`
`
`of the Round Trip Time (RTT) for acknowledgmentreceipt,
`
`
`
`
`
`
`
`i.e. if an acknowledgmentis not received within (typically)
`
`
`
`
`
`
`
`the smoothed RTT+4*mean deviation, then packet loss is
`
`
`
`
`
`
`
`inferred and the data pending acknowledgmentis re-trans-
`
`
`
`
`
`
`
`
`
`mitted. Data rate flow control mechanisms which are opera-
`
`
`
`
`
`
`
`
`tive end-to-end without explicit data rate control draw a
`
`
`
`
`
`
`
`strong inference of congestion from packet loss (inferred,
`
`
`
`
`
`
`
`
`typically, by RTO). TCP end systems, for example, will
`
`
`
`
`
`
`“back-off;’—.e., inhibit transmission in increasing multiples
`
`
`
`
`
`
`
`of the base RTT average as a reaction to consecutive packet
`loss.
`
`
`
`
`
`
`
`
`A crude form of bandwidth management in TCP/IP net-
`
`
`
`
`
`
`
`
`works(that is, policies operable to allocate available band-
`
`
`
`
`
`
`
`
`width from a single logical link to network flows) is accom-
`
`
`
`
`
`
`plished by a combination of TCP end systems and routers
`
`
`
`
`
`
`
`
`
`which queuepackets and discard packets when some conges-
`tion threshold is exceeded. The discarded andtherefore unac-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`knowledged packet serves as a feedback mechanism to the
`
`
`
`
`
`
`
`TCPtransmitter. Routers support various queuing options to
`
`
`
`
`
`
`
`
`provide for some level of bandwidth management. These
`
`
`
`
`
`
`
`
`options generally provide a rough ability to partition and
`
`
`
`
`
`
`
`prioritize separate classes of traffic. However, configuring
`
`
`
`
`
`
`
`
`
`these queuing options with any precision or without side
`
`
`
`
`
`
`
`
`
`effects is in fact very difficult, and in some cases, not possible.
`
`
`
`
`
`
`
`
`Seemingly simple things, such as the length of the queue,
`
`
`
`
`
`
`have a profound effect on traffic characteristics. Discarding
`
`
`
`
`
`
`packets as a feedback mechanism to TCP end systems may
`
`
`
`
`
`
`
`cause large, uneven delays perceptible to interactive users.
`
`
`
`
`
`
`
`
`Moreover, while routers can slow down inbound network
`
`
`
`
`
`
`traffic by dropping packets as a feedback mechanism to a TCP
`
`
`
`
`
`
`
`transmitter, this method often results in retransmission ofdata
`40
`
`
`
`
`
`
`
`packets, wasting network traffic and, especially,
`inbound
`
`
`
`
`
`
`
`
`capacity of a Wide Area Network (WAN)link. In addition,
`
`
`
`
`
`
`
`
`routers can only explicitly control outboundtraffic and cannot
`
`
`
`
`
`
`prevent inboundtraffic from over-utilizing a WAN link. A5%
`
`
`
`
`
`
`
`load or less on outboundtraffic can correspondto a 100% load
`45
`
`
`
`
`
`
`
`
`on inboundtraffic, due to the typical imbalance between an
`
`
`
`
`
`
`outbound stream of acknowledgments and an inboundstream
`of data.
`
`
`
`
`
`
`
`
`
`
`In response, certain data flow rate control mechanisms
`
`
`
`
`
`
`
`
`have been developed to provide a meansto control and opti-
`
`
`
`
`
`
`
`mize efficiency of data transfer as well as allocate available
`
`
`
`
`
`
`bandwidth amonga variety of business enterprise function-
`
`
`
`
`
`
`
`
`alities. For example, U.S. Pat. No. 6,038,216 discloses a
`
`
`
`
`
`
`
`method for explicit data rate control in a packet-based net-
`
`
`
`
`
`
`
`
`work environment 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 inboundtraffic and reduce the inefficiencies associ-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ated with dropped packets. Bandwidth management devices
`
`
`
`
`
`
`
`
`
`
`allow for explicit data rate control for flows associated with a
`
`
`
`
`
`
`
`
`particulartraffic classification. For example, U.S. Pat. No.
`
`
`
`
`
`
`6,412,000, above, discloses automatic classification of net-
`worktraffic 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 managementdevices allow network administra-
`
`
`
`
`
`
`
`tors to specify policies operative to control and/orprioritize
`
`
`4
`
`
`
`
`
`
`
`the bandwidth allocated to individual data lows according to
`
`
`
`
`
`
`traffic classifications. In addition, certain bandwidth manage-
`
`
`
`
`
`
`
`
`mentdevices, as well as certain routers, allow network admin-
`
`
`
`
`
`
`istrators to specify aggregate bandwidth utilization controls
`
`
`
`
`
`
`
`
`
`to divide available bandwidth into partitions. With somenet-
`
`
`
`
`
`
`
`work devices, these partitions can be configured to ensure a
`
`
`
`
`
`
`minimum bandwidth and/or cap bandwidth as to a particular
`
`
`
`
`
`
`
`class oftraffic. An administrator specifies a traffic class (such
`
`
`
`
`
`
`
`
`
`as File Transfer Protocol (FTP) data, or data flows involving
`
`
`
`
`
`
`
`
`
`a specific user) andthe size of the reserved virtual link—1.e.,
`
`
`
`
`
`
`minimum guaranteed bandwidth and/or maximum band-
`
`
`
`
`
`
`width. Such partitions can be applied on a per-application
`
`
`
`
`
`
`
`
`basis (protecting and/or capping bandwidth for alltraffic
`
`
`
`
`
`
`associated with an application) or a per-user basis (control-
`
`
`
`
`
`
`
`ling, prioritizing, protecting and/or capping bandwidth for a
`
`
`
`
`
`
`particular user). In addition, certain bandwidth management
`
`
`
`
`
`
`devices allow administrators to define a partition hierarchy by
`
`
`
`
`
`
`
`
`configuring one or more partitions dividing the access link
`
`
`
`
`
`
`
`
`
`and further dividing the parent partitions into one or more
`
`
`
`
`
`
`
`
`child partitions. While the systems and methods discussed
`
`
`
`
`
`
`
`
`abovethat allow for traffic classification and application of
`
`
`
`
`bandwidth utilization controls on a per-traffic-classification
`
`
`
`
`
`
`
`
`basis operate effectively for their intended purposes, they
`
`
`
`
`
`
`
`possess certain limitations. As discussed more fully below,
`
`
`
`
`
`
`
`
`identification oftraffic types associated with data flowstra-
`
`
`
`
`
`
`
`versing an access link involves the application of matching
`
`
`
`
`
`
`criteria or rulesto explicitly presented or readily discoverable
`
`
`
`
`
`
`attributes of individual packets against an application signa-
`
`
`
`
`
`
`
`
`ture which may comprise a protocol identifier (e.g., TCP,
`
`
`
`
`
`
`
`HyperText Transport Protocol (HTTP), User Datagram Pro-
`
`
`
`
`
`
`tocol (UDP), Multipurpose Internet Mail Extensions (MIME)
`
`
`
`
`
`
`
`types, etc.), a port number, and even an application-specific
`
`
`
`
`
`
`
`string oftext in the payload ofa packet. Afteridentification of
`
`
`
`
`
`
`
`
`a traffic type correspondingto a data flow, a bandwidth man-
`
`
`
`
`
`
`
`agement device associates and subsequently applies band-
`
`
`
`
`
`
`
`width utilization controls (e.g., a policy or partition) to the
`
`
`
`
`
`
`
`data flow correspondingto the identified traffic classification
`
`
`
`
`
`
`
`or type. Accordingly, simple changes to an application, such
`
`
`
`
`
`
`
`
`
`as a string of text appearing in the payload or the use of
`
`
`
`
`
`
`
`
`encryption text may allow the application to evade proper
`
`
`
`
`
`
`classification and corresponding bandwidth utilization con-
`
`
`
`trols or admission policies.
`
`
`
`
`
`Indeed, a common use of bandwidth management devices
`
`
`
`
`
`
`
`
`
`is to limit the bandwidth being consumedby unruly, band-
`
`
`
`
`
`width-intensive applications, such as peer-to-peer applica-
`
`
`
`
`
`
`
`
`tions (e.g., Kazaa, Napster, etc.), and/or other unauthorized
`
`
`
`
`
`
`
`applications. Indeed, the rich Layer 7 classification function-
`
`
`
`
`
`
`ality of Packetshaper® bandwidth management devices
`
`
`
`
`
`
`offered by Packeteer®, Inc. of Cupertino, Calif. is an attrac-
`
`
`
`
`
`
`
`
`tive feature for network administrator, as it allows for accu-
`
`
`
`
`
`
`
`rate identification of a variety of application types. Thistraffic
`
`
`
`
`
`
`classification functionality, in many instances, uses a combi-
`
`
`
`
`
`
`
`
`nation of known protocol types, port numbers and applica-
`
`
`
`
`
`
`tion-specific attributes to differentiate between various appli-
`
`
`
`
`
`
`
`cationtraffic traversing the network. An increasing number of
`
`
`
`
`
`
`
`such peer-to-peer applications, however, employ data com-
`
`
`
`
`
`
`pression, encryption technology, and/or proprietary protocols
`
`
`
`
`
`
`that obscure or prevent identification of various application-
`
`
`
`
`
`
`
`specific attributes, often leaving well-knownport numbers as
`
`
`
`
`
`
`
`
`
`the only basis for classification. In fact, as networked appli-
`
`
`
`
`
`
`
`cations get increasingly complicated, data encryption has
`
`
`
`
`
`
`
`becomea touted feature. Indeed, encryption addresses the
`
`
`
`
`
`
`
`
`concern of security and privacy issues, but it also makes it
`
`
`
`
`
`
`
`much more difficult to identify unauthorized applications
`
`
`
`
`
`
`
`using encryption, such as the peer-to-peer applications
`
`
`
`
`
`
`“Farthstation 5” and “Winny.” In addition,traffic classifica-
`
`
`
`
`
`
`
`
`tion based solely on well-known port numbers can be prob-
`SplunkInc.
`Exhibit 1005
`Page 15
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`US 7,664,048 B1
`
`20
`
`25
`
`30
`
`35
`
`50
`
`55
`
`60
`
`65
`
`Splunk Inc. Exhibit 1005 Page 15
`
`

`

`
`
`US 7,664,048 B1
`
`
`6
`
`
`
`
`
`
`
`
`the
`public or proprietary protocol. In one embodiment,
`
`
`
`
`
`
`enhancedclassification functionality analyzes the behavioral
`
`
`
`
`
`
`
`attributes of encrypted data flows against a knowledge base of
`
`
`
`
`
`
`
`
`known application behavior patterns to classify the data
`
`
`
`
`
`
`
`In one embodiment,
`the enhanced classification
`flows.
`
`
`
`
`
`
`
`mechanismsdescribed herein operate seamlessly with other
`
`
`
`
`
`
`
`Layer 7 traffic classification mechanisms that operate on
`
`
`
`
`attributes of the packets themselves. Implementations of the
`
`
`
`
`
`
`
`present invention can be incorporated into a variety of net-
`
`
`
`
`
`
`
`
`workdevices, suchas traffic monitoring devices, packet cap-
`
`
`
`
`
`
`
`ture devices, firewalls, and bandwidth managementdevices.
`
`
`5
`
`
`
`
`
`
`
`
`lematic, especially where the application uses dynamic port
`
`
`
`
`
`
`
`numberassignments or an application incorrectly uses a well-
`
`
`
`
`
`
`known port number, leading to misclassification of the data
`
`
`
`
`
`
`
`flows. In addition, classifying such encrypted networktraffic
`
`
`
`
`
`
`
`as “unknown” and applying a particular rate or admission
`
`
`
`
`
`
`
`policy to unknowntraffic classes undermines the granular
`
`
`
`
`
`
`control otherwise provided by bandwidth management
`
`
`
`
`
`
`
`
`devices and, further, may cause legitimate, encryptedtraffic
`to suffer as a result.
`
`
`
`
`
`
`
`
`
`
`In addition, network savvy users (such as students in a
`
`
`
`
`
`
`
`campus or university environment) have also become aware
`
`
`
`
`
`
`
`that bandwidth management devices have been deployed to
`
`
`
`
`
`
`limit or restrict unauthorized peer-to-peer applicationtraffic.
`
`
`
`
`
`
`
`
`
`As a result, users often attempt to bypass or thwart the band-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`FIG. 1 is a functional block diagram showingatraffic
`width management schemeeffected by such bandwidth man-
`
`
`
`
`
`
`
`
`
`
`
`monitoring device according to an embodimentofthe present
`agementdevices by creating communications tunnels (proxy
`invention.
`
`
`
`
`
`
`
`tunnels) through which unauthorized or restricted network
`
`
`
`
`
`
`traffic is sent. The attributes discernible from the content of
`
`
`
`
`
`
`
`
`FIG. 2 isa functional block diagram illustrating a computer
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`network environment including a bandwidth management
`these tunneled data flows, however, often reveal little infor-
`
`
`
`
`
`
`20
`
`
`
`
`
`
`
`
`device according to an embodimentofthe present invention.
`mation aboutits true nature. For example, commercial HTTP
`
`
`
`
`
`
`
`
`
`
`
`
`
`FIG.3 is a functional block diagram setting forth the func-
`tunnel services (such as loopholesoftware.com, TotalRc.net,
`
`
`
`
`
`
`
`
`
`
`
`
`tionality in a bandwidth management device according to an
`and http-tunnel.com, etc.) allow users to send all network
`
`
`
`
`
`
`
`
`
`
`
`
`embodimentof the present invention.
`traffic in the form of HTTPtraffic through a HTTP tunnel
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`FIG.4 is a flow chart diagram providing a method, accord-
`between atunnelclient and an HTTP proxyserver maintained
`
`
`
`
`
`
`
`
`

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