throbber

`
`
`
`
`
`
`
`United States Patent
`(12)
`US 7,385,924 Bl
`(10) Patent No.:
`
`
`
`
`
`
`
`(45) Date of Patent:
`Jun. 10, 2008
`Riddle
`
`
`
`
`US007385924B1
`
`
`
`
`
`
`
`
`(54) ENHANCED FLOW DATA RECORDS
`
`
`
`
`INCLUDING TRAFFIC TYPE DATA
`
`(75)
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Inventor: Guy Riddle, Los Gatos, CA (US)
`:
`.
`:
`
`
`
`
`
`
`(73) Assignee: Packeteer, Inc., Cupertino, CA (US)
`
`
`
`
`
`
`
`
`(*) Notice:
`Subject to any disclaimer, the term ofthis
`
`
`
`
`patent isacbyby952 adjusted under 35
`S.C.
`y
`ays.
`
`
`
`
`
`
`(21) Appl. No.: 10/676,383
`
`
`
`
`Sep. 30, 2003
`
`(22)
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`3/2004 Calabrez etal.
`6,701,359 Bl
`
`
`
`
`
`5/2004 Yamadaet al. «0.0.0.0... 370/238
`6,738,352 BL*
`
`
`
`
`
`9/2004 Kimuraet al.
`6,798,763 Bl
`
`
`
`
`
`
`
`... 370/229
`5/2005 Phaal
`tenes
`6,894,972 BL*
`
`
`
`
`
`
`
`
`we. 726/13
`7,120,931 B1* 10/2006 Cheriton ........
`
`
`
`
`
`
`
`7,193,968 B1*
`3/2007 Kapoor et al... 370/235
`
`
`
`
`
`2002/0122427 Al
`9/2002 Kamenisky et al.
`
`
`
`bonebdeses ‘i 00s peotal
`
`
`
`
`2003/0112764 Al
`6/2003. Gaspard etal.
`
`
`* cited by examiner
`:
`
`
`
`Primary Examiner—Doris H. To
`
`
`
`Assistant Examiner—lan N. Moore
`
`
`
`
`(74) Attorney, Agent, or Firm—Mark J. Spolyar
`
`
`
`
`
`(57)
`ABSTRACT
`
`
`
`
`
`Method:
`d
`flow-based
`di
`d
`
`
`
`
`
`
`to a How-based,
`systems
`ethod’s, apparatuses anc’
`directed’
`
`
`
`
`
`
`traffic-classification-aware data collection and reporting sys-
`
`
`
`
`
`
`
`tem that combine flow-based data collection technologies
`
`
`
`
`
`
`
`with enhancedtraffic classification functionality to allow for
`
`
`
`
`
`
`
`
`analysis and reporting into aspects of network operations
`
`
`
`
`
`
`
`
`that prior art systems cannot provide. Embodiments provide
`
`
`
`
`
`
`
`
`enhanced views into the operation of computer network
`
`
`
`
`
`infrastructures to facilitate monitoring, administration, com-
`
`
`
`
`
`
`
`
`pliance and other tasks associated with networks. When a
`
`
`
`
`
`
`
`traffic flow terminates, a traffic monitoring device emits a
`
`
`
`
`
`
`
`flow data record (FDR) containing measurements variables
`and other attributes for an individual flow. A data collector
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`gathers the flow data records and enters them into a data-
`
`
`
`
`
`
`
`
`base. A network management application can then query the
`
`
`
`
`
`
`
`database with selected commandsto derive reports charac-
`
`
`
`
`
`
`terizing operation of the network suitable to diagnose prob-
`lems or view conditions associated with the network.
`
`
`
`
`
`
`
`
`
`
`
`26 Claims, 7 Drawing Sheets
`
`
`
`Filed:
`
`
`Int. Cl.
`
`
`
`(2006.01)
`GOIR 31/08
`
`
`
`
`
`
`
`(52) U.S. Ch cee 370/235; 370/252; 370/389
`
`
`
`
`
`
`(58) Field of Classification Search ............. 370/395.3,
`
`
`
`
`
`
`370/395.31. 395.5. 230. 428. 429. 419. 235
`
`
`
`
`
`
`
`370/359 381 389 392 952255 305 34,
`
`
`
`370/395 .52: 74 11203209 21: 709238244.
`
`
`
`
`
`709/223 24: 796/12 13: 713/152
`,
`
`
`
`
`
`
`
`See application file for complete search history.
`
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`
`
`(51)
`
`
`
`
`
`(56)
`
`
`
`
`
`
`
`4/1990 Sriram
`4,914,650 A
`
`
`
`
`
`5,828,846 A * 10/1998 Kirby etal. we. 709/238
`
`
`
`
`6,003,077 A
`12/1999 Bawdenetal.
`
`
`
`6,023,456 A
`2/2000 Chapman et al.
`
`
`
`6,046,980 A
`4/2000 Packer
`
`
`
`6,219,050 Bl
`4/2001 Schaffer
`
`
`
`
`
`6,285,660 Bl
`9/2001 Ronen
`
`
`
`
`
`6,397,359 Bl
`5/2002 Chandraet al.
`
`
`
`
`
`6,584,467 Bl
`6/2003 Haughtetal.
`
`
`
`
`6,681,232 Bl
`1/2004 Sistanizadehetal.
`
`
`
`
`
`
`
`
`
`
`
`50
`
`
`
` Traffic Monitoring
`
`——Traffic Monitoring Module
`
`Identifier
`iiFDREmitter:
`
`
`
`
`
`
`
`
`
`
`
`Device
`
`
`
`
`
`
`
`Packet
`Processor
`
`
`
`Splunk Inc.—Exhibit 1020 Page 1
`
`Splunk Inc. Exhibit 1020 Page 1
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Jun. 10, 2008
`
`
`
`
`
`Sheet 1 of 7
`
`
`
`US 7,385,924 B1
`
`
`
`
`
`50 Traffic Monitoring
`
`
`Device
`
`
`
`
`
`40
`
`
`
`
`Fig.1A
`
`
`
`Splunk Inc.
`
`Exhibit1020
`
`Page 2
`
`Splunk Inc. Exhibit 1020 Page 2
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Jun. 10, 2008
`
`
`
`
`Sheet 2 of 7
`
`
`
`US 7,385,924 B1
`
`
`
`
`
`50
` Computer
`
`
`
`Network
`
`Splunk Inc.
`
`Exhibit1020
`
`Page 3
`
`Splunk Inc. Exhibit 1020 Page 3
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Jun. 10, 2008
`
`
`
`
`Sheet 3 of 7
`
`
`
`US 7,385,924 B1
`
`
`
`Bandwidth
`
`Management
`
`Device
`
`
`
`a
`
`-.
`
`130
`
`
`
`40
`
`J
`
`44
`
`
`
` Data
`
`
`Collector
`
`
`Traffic
`saoMeasurement
`
`
`
`
`
`
`137
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Flow
`Database
`
`
`
`
`
`
`
`
`
`
`
`
`Data Packet
`
`In
`
`
`
`
`Classification
`Engine
`
`
`Database
`138
`
` Management
`
`
`
`Information Base
`
`
`139
`
`
`
`
`
`
`
`140
`
`
`
`
`
`
`
`
`
`
`Out
`
`
`
`
`
`Packet
`Flow Control
`
`
`Processor
`Module
`
`
`
`
`
`
`131
`132 Fig.3
`
`
`Host
`Database
`
`
`
`
`
`
`
`
`FDR Emitter
`
`
`
`
`Data Packet
`
`
`
`
`Splunk Inc.
`
`Exhibit1020
`
`Page 4
`
`Splunk Inc. Exhibit 1020 Page 4
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Jun. 10, 2008
`
`
`
`
`Sheet 4 of 7
`
`
`
`US 7,385,924 B1
`
`
`
`
`Receive Data
`
`Packet
`
`
`
`Flow
`
`
`
`
`
`
`
`Variables
`
`
`wah.FlowObject
`
`Construct
`
`
`
`
`
`
`Fetch/Update
`
`
`Flow Object
`
`Changes
`To Flow?
`
`
`
`Record Flow
`
`Measurement
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Splunk Inc.
`
`Exhibit1020
`
`Page5
`
`Splunk Inc. Exhibit 1020 Page 5
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Jun. 10, 2008
`
`
`
`
`Sheet 5 of 7
`
`
`
`US 7,385,924 B1
`
`
`FDR Emitter
`
`Process
`
`
`
`
`
`Copy Flow
`
`
`Attributes and
`
`Measurement
`
`Variables
`
`
`
`
`Compose &
`
`
`Store Flow Data
`
`Record
`
`
`
`
`Increment
`
`FDR Counter
`
`
`
`256
`
`
`
`250
`
`
`
`252
`
`
`
`254
`
`
`
`
`
`
`
`
`
`@ Threshold?
`
`
`
`
`
`
`Yes
`
`
`
`258
`
`
`
`
`
`Get Global
`
`MIB Variables
`
`
`
`
`
`
`Compose
`FDR Message
`
`
`
`
`Fig.5
`
`
`
`
`
` FDR Counter
` 262
`
`
`
`
`
`
`
`
`Transmit FDR
`
`
`
`Record to Data
`
`Collector
`
`
`
`264
`
`
`
`
`Reset FDR
`
`Counter
`
`
`
`Splunk Inc.
`
`Exhibit1020
`
`Page6
`
`Splunk Inc. Exhibit 1020 Page 6
`
`

`

`
`U.S. Patent
`
`
`
`Jun. 10, 2008
`
`
`
`
`
`Sheet 6 of 7
`
`
`
`
`US 7,385,924 B1
`
`
`
`
`Receive Data
`
`Packet
`
`
`
`
`Block?ae—
`
`Construct
`
`
`
`Emitter
`
`Control
`
`
`
`
`
`
`
`
`Fetch/Update
`
`
`Control Block
`
`Changes
`To Flow?
`
`
`
`Write Traffic
`
`
`Class & Policies
`
`
`into Control Block
`
`
`
`
`
`Pass Packet to
`
`
`Flow Control
`
`Module (P)
`
`
`
`Record Flow
`
`Measurement
`
`Variables
`
`
`Identify
`
`Traffic Class
`
`
`
`
`Notify FDR
`
`
`
`
`Splunk Inc.
`
`Exhibit1020
`
`Page7
`
`Splunk Inc. Exhibit 1020 Page 7
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Jun. 10, 2008
`
`
`
`
`Sheet 7 of 7
`
`
`
`US 7,385,924 B1
`
`302
`
`
`
`
`Receive
`
`Message
`
`
`
`
`
`
`
`
`Mapping
`
`Message?
`
`
`
`308
`
`
`
`
`
`
`
`Message in
`
`Mapping Table
`
`
`
`
`
`306 Store Mapping
`
`Message
`
`
`
`
`
`
`
`
`
`FDR
`
`Message?
`
`
`
`
`
`Discard
`
`
`
`
`
`
`
`
`
`
` 310
`
`
`Store Message
`
`Header in Header
`
`Table
`
`
`
`
`
`312
`
`
`
`Store FDRsin
`
`
`FDR Tables
`
`
`
`Splunk Inc.
`
`Exhibit1020
`
`Page8
`
`Splunk Inc. Exhibit 1020 Page 8
`
`

`

`
`1
`ENHANCED FLOW DATA RECORDS
`
`
`
`
`INCLUDING TRAFFIC TYPE DATA
`
`
`
`
`
`
`
`US 7,385,924 B1
`
`COPYRIGHT NOTICE
`
`
`
`
`
`
`
`
`
`
`
`
`
`A portion of the disclosure of this patent document
`
`
`
`
`
`
`contains material which is subject to copyright protection.
`
`
`
`
`
`
`
`
`
`The copyright owner has no objection to the facsimile
`
`
`
`
`
`
`
`reproduction by anyone of the patent documentor the patent
`
`
`
`
`
`
`
`disclosure as it appears in the Patent and Trademark Office
`
`
`
`
`
`
`
`
`
`patent file or records, but otherwise reserves all copyright
`
`
`rights whatsoever.
`
`CROSS-REFERENCE TO RELATED
`
`APPLICATIONS AND PATENTS
`
`
`
`
`
`
`20
`
`
`
`
`
`
`
`
`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 alt
`
`purposes:
`
`
`
`
`
`
`
`
`
`USS. 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 Com-
`
`
`
`
`
`
`25
`munication 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;”
`
`
`
`
`
`
`
`
`
`USS. 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 Com-
`
`
`
`
`
`
`munication Environment without Data Rate Supervision;”
`
`
`
`
`
`
`
`
`
`USS. 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 For-
`
`
`ward Network;”
`
`
`
`
`
`
`
`
`
`USS. 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 in a
`
`
`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;”
`
`
`
`
`
`
`
`
`
`USS. 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 For-
`
`
`ward Network;”
`
`
`
`
`
`
`
`
`
`USS. 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
`
`
`
`
`
`Traffic in a Packet Communications Network;”
`
`
`
`
`
`
`
`
`USS. patent application Ser. No. 09/198,051, now aban-
`
`
`
`
`
`
`
`
`doned, in the name of Guy Riddle, entitled “Method for
`
`
`
`
`
`
`Automatically Determining a Traffic Policy in a Packet
`
`
`Communications Network;”
`
`
`
`
`
`
`
`
`USS. patent application Ser. No. 09/206,772, now US.
`
`
`
`
`
`
`
`
`Pat. No. 6,456,630, 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, now U.S.
`
`
`
`
`
`
`
`
`Pat. No. 7,032,072, in the name of Michael J. Quinn and
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`
`2
`
`
`
`
`
`
`
`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, currently
`
`
`
`
`
`
`
`pending, in the name of Wei-Lung Lai, Jon Eric Okholm,
`
`
`
`
`
`
`and Michael J. Quinn, entitled “Output Scheduling Data
`
`
`
`
`
`Structure Facilitating Hierarchical Network Resource Allo-
`
`
`cation Scheme;”
`
`
`
`
`
`
`
`
`USS. 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 Classi-
`
`
`
`
`
`
`fying Traffic With Enhanced Hierarchy In A Packet Com-
`
`
`munications Network;”
`
`
`
`
`
`
`U.S. patent application Ser. No. 10/236,149, currently
`
`
`
`
`
`
`
`pending, in the name of Brett Galloway and George Powers,
`
`
`
`
`
`entitled “Classification Data Structure enabling Multi-Di-
`mensional Network Traffic Classification and Control
`
`
`
`
`
`
`Schemes;”
`
`
`
`
`
`
`U.S. patent application Ser. No. 10/453,345, currently
`
`
`
`
`
`
`pending, in the name of Scott Hankins, Michael R. Morford,
`
`
`
`
`
`
`and Michael J. Quinn, entitled “Flow-Based Packet Cap-
`
`
`ture;” and
`
`
`
`
`
`
`U.S. patent application Ser. No. 10/611,573, currently
`
`
`
`
`
`
`pending, 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,
`
`
`
`
`
`
`
`more particularly,
`to methods, apparatuses and systems
`directed to data collection schemesthat allow for enhanced
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`informational queries relating to the operation of computer
`network environments.
`
`
`
`BACKGROUND OF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Efficient allocation of network resources, such as avail-
`
`
`
`
`
`
`able network bandwidth, has becomecritical as enterprises
`
`
`
`
`
`increase reliance on distributed computing environments
`
`
`
`
`
`
`and wide area computer networks to accomplish critical
`
`
`
`
`
`
`
`tasks. The widely-used TCP/IP protocol suite, which imple-
`ments the world-wide data communications network envi-
`
`
`
`
`
`
`
`
`
`
`
`
`
`ronment called the Internet and is employed in manylocal
`
`
`
`
`
`
`
`area networks, omits explicit supervisory function over the
`
`
`
`
`
`
`
`
`rate of data transport over the various devices that comprise
`
`
`
`
`
`
`
`the network. While there are certain perceived advantages,
`
`
`
`
`
`
`this characteristic 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 over-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`loads that could stop data transfer temporarily. The above-
`
`
`
`
`
`
`identified U.S. patents and patent applications provide
`
`
`
`
`
`explanations of certain technical aspects of a packet based
`
`
`
`
`telecommunications network environment, such as Internet/
`
`
`
`
`
`
`
`Intranet technology based largely on the TCP/IP protocol
`
`
`
`
`
`
`suite, and describe the deployment of bandwidth manage-
`
`
`
`
`
`
`ment solutions to monitor and/or manage network environ-
`
`
`
`
`
`
`ments using such protocols and technologies.
`
`
`
`
`
`
`
`The managementof such networks requires regular moni-
`
`
`
`
`
`
`
`toring and collection of data characterizing various attributes
`
`
`
`
`
`
`
`
`
`of the network,
`its operation and/or the traffic flowing
`
`
`
`
`
`
`
`
`
`through it. For example, Cisco Systems, Inc. of San Jose,
`
`
`
`
`
`
`
`
`Calif. offers a feature set of data monitoring and collection
`
`
`
`
`
`
`technologies in connection withits routers, called Netflow®.
`
`
`
`
`
`
`
`
`
`
`The Cisco JOS® NetFlow feature set allowsfor the tracking
`Splunk Inc.
`Exhibit 1020
`Page 9
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Splunk Inc. Exhibit 1020 Page 9
`
`

`

`
`
`
`
`
`
`
`
`
`US 7,385,924 B1
`
`
`
`
`
`20
`
`
`4
`
`
`
`
`
`
`Center™ leverages the powerful network utilization and
`
`
`
`
`
`application performance statistics available in Packet-
`
`
`
`
`
`
`shaper® bandwidth management devices andoffers a cen-
`
`
`
`
`
`
`tralized reporting platform to monitor and manage large
`
`
`
`
`
`deployments efficiently by streamlining collection, colla-
`
`
`
`
`
`
`
`tion, storage, analysis, and distribution of measuredstatis-
`tics.
`
`
`
`
`
`
`
`While the measurement engineis sufficient to achieveits
`
`
`
`
`
`
`
`
`intended purpose, some useful data for analyzing network
`
`
`
`
`
`
`
`usage and/or diagnosing problemsis not available histori-
`
`
`
`
`
`
`
`
`cally, but is only kept in memory while the PacketSeeker,
`
`
`
`
`
`PacketShaper or other bandwidth management device is
`
`
`
`
`
`
`
`
`
`In particular,
`the reports on “top talkers” and
`running.
`
`
`
`
`
`
`
`
`
`“traffic history” are not available for specific intervals in the
`
`
`
`
`
`
`
`
`
`past nor available after the device crashes, possibly due to
`
`
`
`
`
`
`
`
`
`some kind of attack or power outage. Furthermore, data
`
`
`
`
`
`
`
`maintained by the measurement engine,
`is generally not
`
`
`
`
`
`
`
`
`flow-based, and cannot answer questionslike “which clients
`
`
`
`
`
`
`
`are running port scanners.” Furthermore, as discussed
`
`
`
`
`
`
`
`above, NetFlow records characterize individual flows; how-
`
`
`
`
`
`
`
`
`ever, standard NetFlow records cannot answer such ques-
`
`
`
`
`
`
`
`
`tions or others requiring classification of flows beyond the
`
`
`
`
`attributes maintained by NetFlow records.
`
`
`
`
`
`
`
`
`
`
`In light of the foregoing, a need in the art exists for
`
`
`
`
`
`
`
`methods, apparatuses and systems that enable a flow-based,
`
`
`
`
`
`
`traffic-classification-aware data collection and reporting sys-
`
`
`
`
`
`
`
`
`tem. A need further exists in the art for methods, apparatuses
`
`
`
`
`
`
`
`and systems allowing for enhanced informational queries
`
`
`
`
`
`relating to the operation of networks. Embodiments of the
`
`
`
`
`
`
`present invention substantially fulfill these needs.
`SUMMARY OF THE INVENTION
`
`
`
`
`
`3
`
`
`
`
`
`
`
`
`of individual IP flows as they are received at a router or
`
`
`
`
`
`
`
`switching device. According to the technology, after a flow
`
`
`
`
`
`
`
`has terminated, a suitably configured router or switch gen-
`
`
`
`
`
`
`erates a NetFlow record characterizing various attributes of
`
`
`
`
`
`
`
`the flow. The NetFlow record is ultimately transmitted as a
`
`
`
`
`
`
`
`datagram to a NetFlow Data Collector that stores and,
`
`
`
`
`
`
`
`optionally, filters the record. A NetFlow Record includes a
`
`
`
`
`
`
`
`
`
`variety of attributes, such as source and destination IP
`
`
`
`
`
`
`
`
`
`addresses, packet count, byte count, start and end time
`
`
`
`
`
`
`
`stamps, source and destination TCP/UDPports, Quality of
`
`
`
`
`
`
`Service attributes, and routing-related information (e.g.,
`
`
`
`
`
`
`
`
`nexthop and Autonomous System (AS) data). Such Net-
`
`
`
`
`
`
`
`
`
`Flow® records are similar to call records, which are gener-
`
`
`
`
`
`
`
`
`ated after the termination of telephone calls and used by the
`
`
`
`
`
`
`
`
`
`telephone industry as the basis of billing for long distance
`
`
`
`calls, for example.
`
`
`
`
`
`
`
`Most network devices maintain data characterizing utili-
`
`
`
`
`
`
`
`zation, operation and/or performance of the network
`
`
`
`
`
`
`
`
`devices, and/or the network on which the devices operate, in
`
`
`
`
`
`
`
`
`limited, volatile memory, rather than using persistent storage
`
`
`
`
`
`
`
`
`(e.g., hard disks or other non-volatile memory). Conse-
`
`
`
`
`
`
`quently, network management applications commonly use
`
`
`
`
`
`
`
`the Simple Network Management Protocol (SNMP)to poll
`
`
`
`
`
`
`
`network devices (using the Management Information Base
`
`
`
`
`
`
`
`
`(MIB)associated with the network device) at regular time
`
`
`
`
`
`
`
`
`intervals and maintain the sampled raw data in a persistent
`
`
`
`
`
`
`
`data store. The network managementapplication, such as a
`
`
`
`
`
`
`
`
`
`reporting package, then processes the raw data to allow for
`
`
`
`
`
`
`
`
`
`the creation of reports derived from the raw data detailing
`
`
`
`
`
`
`
`
`operation and/or performance of the device and/or the
`
`
`
`
`
`
`network. ManagementInformation Basestypically contain
`
`
`
`
`
`
`
`low-level information characterizing the operation of the
`
`
`
`
`
`
`
`network device, such as the number of bytes or packets
`
`
`
`
`
`
`encountered on an interface, and do not provide information
`
`
`
`
`
`concerning the characteristics of data flows.
`
`
`
`
`
`
`Using a reporting package, a network administrator may
`
`
`
`
`
`
`
`
`
`then analyze the data to yield information about the perfor-
`manceor utilization of the network and/or network devices
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`associated with the network. Indeed, Various applications
`
`
`
`
`
`
`
`
`
`
`can then access the Data Collector to analyze the data for a
`
`
`
`
`
`
`variety of purposes, including accounting, billing, network
`
`
`
`
`
`
`
`planning, traffic engineering, and user or application moni-
`
`
`
`
`
`
`toring. There are public-domain implementations of collec-
`
`
`
`
`
`
`
`
`tors for standard NetFlow records. These are, however,
`
`
`
`
`
`
`
`
`unable to answer questions such as “which hosts are running
`
`
`
`
`
`
`
`
`
`the busiest Kazaa (or other peer-to-peer file sharing) serv-
`
`
`
`
`
`
`
`
`
`
`ers” (as NetFlow records are not suitable for analyzing and
`
`
`
`
`
`
`
`
`
`classifying network traffic that does not use registered IP
`
`
`port numbers).
`
`
`
`
`
`
`
`Packeteer, Inc. of Cupertino, Calif. develops bandwidth
`
`
`
`
`
`
`
`monitoring, management, and reporting software and sys-
`
`
`
`
`
`
`tems. Its PacketSeeker® systems and PacketShaper® band-
`
`
`
`
`
`
`
`width management devices, among other things, provide
`
`
`
`
`
`
`“application aware” monitoring of network traffic enabling
`
`
`
`
`
`
`
`classification of network traflic flows on a per application
`
`
`
`
`
`
`basis. The Packetshaper® bandwidth management device
`
`
`
`
`
`
`includes functionality allowing for classification of network
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`traffic based on information from layers 2 to 7 of the OSI FIG. 1A is a functional block diagram showingatraffic
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`reference model. As discussed in the above-identified pat-
`monitoring device according to an embodiment of the
`
`
`
`
`
`
`
`
`
`ents and patent applications,
`the bandwidth management
`present invention.
`
`
`
`
`
`
`
`
`
`
`
`
`device includes a measurement engine operative to record or
`FIG. 1B is a functional block diagram illustrating a
`
`
`
`
`
`
`
`
`
`
`
`
`maintain numerictotals of a particular measurement variable
`computer network environment including a bandwidth man-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`at periodic intervals on a traffic classification basis. The
`agement device according to an embodimentof the present
`
`
`
`
`
`
`invention.
`
`bandwidth management device further includes a manage-
`
`
`
`
`
`
`
`
`
`
`
`
`
`ment information base including standard network objects
`FIG. 2 is an functional block diagram illustrating a
`
`
`
`
`
`
`
`
`
`
`
`
`
`maintaining counts relating, for example, to the operation of
`computer network environment including a bandwidth man-
`
`
`
`
`
`
`
`
`
`
`
`
`its network interfaces and processors. Packeteer’s Report-
`agement device and a data collector.
`SplunkInc.
`
`25
`
`
`
`30
`
`
`
`35
`
`
`
`40
`
`
`
`45
`
`
`
`50
`
`
`
`55
`
`
`
`60
`
`
`
`65
`
`
`
`
`
`
`
`
`
`
`The present invention provides methods, apparatuses and
`
`
`
`
`systemsdirected to a flow-based,traffic-classification-aware
`
`
`
`
`
`
`
`data collection and reporting system. Embodiments of the
`
`
`
`
`
`
`
`present invention combine flow-based data collection tech-
`
`
`
`
`
`
`nologies with enhancedtraffic classification functionality to
`
`
`
`
`
`
`
`
`
`allow for analysis and reporting into aspects of network
`
`
`
`
`
`
`
`
`operations that prior art systems cannot provide. Embodi-
`
`
`
`
`
`
`
`
`ments of the present invention provide deeper insight into
`
`
`
`
`
`
`
`
`the operation of computer networks and the application
`
`
`
`
`
`
`traffic traversing the networks. Embodiments of the present
`
`
`
`
`
`
`
`
`invention provide enhanced views into the operation of
`
`
`
`
`
`
`computer network infrastructures to facilitate monitoring,
`
`
`
`
`
`
`
`administration, compliance and other tasks associated with
`
`
`
`
`
`
`
`
`networks. In one embodiment, when a traffic flow termi-
`
`
`
`
`
`
`
`
`nates, a traffic monitoring device emits a flow data record
`
`
`
`
`
`(FDR) containing measurements variables, classification
`
`
`
`
`
`
`
`information, and other attributes for an individual flow. A
`
`
`
`
`
`
`
`
`
`
`data collector gathers the flow data records and enters them
`
`
`
`
`
`
`
`into a database. A network managementapplication can then
`
`
`
`
`
`
`
`
`query the database with selected commandsto derive reports
`
`
`
`
`
`characterizing operation of the network suitable to diagnose
`
`
`
`
`
`
`
`problems or view conditions associated with the network.
`DESCRIPTION OF THE DRAWINGS
`
`
`
`
`Exhibit 1020
`
`Page 10
`
`Splunk Inc. Exhibit 1020 Page 10
`
`

`

`
`
`US 7,385,924 B1
`
`
`
`
`
`
`
`
`DESCRIPTION OF PREFERRED
`
`
`EMBODIMENT(S)
`
`
`
`25
`
`30
`
`35
`
`40
`
`
`
`6
`5
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`memory 76, such as a hard disk drive or other suitable
`FIG. 3 is a functional block diagram setting forth the
`
`
`
`
`
`
`
`
`
`
`
`
`memory device, such writable CD, DVD,or tape drives. In
`functionality in a bandwidth management device according
`
`
`
`
`
`
`
`
`
`
`
`
`one embodiment, traffic monitoring device 30 collects and
`to an embodimentof the present invention.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`transmits flow data records to a remote, persistent datastore,
`FIG. 4 is a flow chart diagram providing a method,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`for example, in datagrams, XML messages and the like.
`according to an embodiment of the present
`invention,
`
`
`
`
`
`
`
`
`
`
`
`directed to the processing of packets. FIGS. 1B and2illustrate an operating environment where
`
`
`
`
`
`
`
`
`
`
`
`
`
`FIG.5 is a flow chart diagram showing a method, accord-
`traffic monitoring device 30 is a bandwidth management
`
`
`
`
`
`
`
`
`
`
`
`ing to an embodimentof the present invention, directed to
`device 130 (see discussion below).
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`composing and transmitting flow data records to a data
`As FIGS. 1A, 1B and 2 show,the traffic monitoring device
`collection node.
`
`
`
`
`
`
`
`
`
`30 (or bandwidth management device 130), in one embodi-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`FIG. 6 is a flow chart diagram illustrating a method
`ment, is disposed on the link between a Local area network
`directed to enforcement of bandwidth utilization controls on
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`40 and router 22. In other embodiments, multiple traffic
`
`
`
`
`
`
`
`
`
`
`
`network traffic traversing an access links.
`monitoring devices can be disposedat strategic points in a
`
`
`
`
`
`
`
`
`
`
`
`
`FIG. 7 is a flow chart diagram providing a method
`given network infrastructure to achieve various objectives.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`directed to processing messages including flow data records.
`In addition, packet monitoring device 30 need notbe directly
`
`
`
`
`
`
`
`
`
`connected to the link between two network devices, but may
`
`
`
`
`
`
`
`
`
`also be connected to a mirror port. In addition, the traflic
`
`
`
`
`
`
`monitoring functionality described herein may be deployed
`
`
`
`
`
`
`
`
`in multiple network devices and used in redundant network
`
`
`
`
`
`
`topologies by integrating the networktraffic synchronization
`
`
`
`
`
`
`
`functionality described in U.S. application Ser. No. 10/611,
`
`
`573, above.
`
`
`
`
`A. Flow-Based Traffic Monitoring
`
`
`
`
`
`
`
`Asdiscussedherein,traffic monitoring device 30 is opera-
`
`
`
`
`
`
`
`
`
`tive to detect or recognize flows between end systems,
`
`
`
`
`
`
`
`
`
`classify the data flows based on one or moreflow attributes
`
`
`
`
`
`
`
`
`and, upon the termination of individual flows, compose flow
`
`
`
`
`
`
`
`
`data records including data fields characterizing one or more
`attributes associated with the individual flows. The flow data
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`records, in one embodiment, are ultimately transmitted to a
`
`
`
`
`
`
`
`
`data collector 44 whichstores the data in a database allowing
`
`
`
`
`
`
`
`applications to query the database to generate reports char-
`
`
`
`
`
`
`acterizing the operation of the network in a variety of ways
`
`
`
`
`
`
`
`
`
`that were not possible prior to the invention described
`
`
`
`
`
`
`herein. FIG. 4 illustrates a method, according to an embodi-
`
`
`
`
`
`
`
`ment of the present invention, directed to a flow-aware
`
`
`
`
`
`
`
`
`
`process that classifies flows and notifies a flow data record
`
`
`
`
`
`
`
`
`emitter that a flow has ended. FIG. 5 provides a method,
`
`
`
`
`
`
`
`
`according to an embodiment of the present
`invention,
`
`
`
`
`
`
`
`directed to composing flow data records and transmitting a
`
`
`
`
`
`
`
`plurality of flow data records in a datagram to a remote data
`collector 44.
`
`
`
`
`
`
`
`
`
`As FIG.4 illustrates, a packet processor 82 receives a data
`
`
`
`
`
`
`
`
`packet (102) and determines whether a flow object has
`
`
`
`
`
`
`
`
`
`
`already been created for the flow to which the data packetis
`
`
`
`
`
`
`
`
`a part (104). A flow object is a data structure includingfields
`
`
`
`
`
`
`
`
`whose values characterize various attributes of the flow,
`
`
`
`
`
`
`
`including source and destination IP addresses, port numbers,
`
`
`
`
`
`
`
`
`
`
`traffic type identifiers and the like. A flow object can also
`
`
`
`
`
`
`
`
`include other attributes, such as packet count, byte count,
`
`
`
`
`
`
`
`
`
`
`first packet time, last packet time, etc. If a flow object is not
`
`
`
`
`
`
`
`found, packet processor 82 constructs a new flow object
`
`
`
`
`
`
`
`(106). Packet processor 82 then determines whether the
`
`
`
`
`
`
`
`
`received packetis part of an existing flow or a new data flow
`
`
`
`
`
`
`
`
`(108). In one embodiment, flows are generally TCP and
`
`
`
`
`
`
`
`
`
`UDPflows. However, any suitable transport layer flow can
`
`
`
`
`
`
`
`
`
`be recognized and detected. In one embodiment, flows are
`
`
`
`
`
`
`
`
`identified based on the following flow attributes: 1) source
`
`
`
`
`
`
`
`IP address, 2) destination IP address, 3) source port number,
`
`
`
`
`
`
`
`
`
`4) destination port number, and 5) protocol (derived from the
`
`
`
`
`
`
`
`“protocol”field in IPv4 headers, and the “NextHeader”field
`
`
`
`
`
`
`
`
`
`
`in IPv6 headers). One skilled in the art will recognize that
`
`
`
`
`
`
`
`flows can be identified in relation to a variety of attributes
`
`
`
`
`
`
`
`
`and combinations of attributes. In addition, methods for
`
`
`
`
`
`
`
`
`determining new data flows and assigning packets to exist-
`
`
`
`
`
`
`
`
`
`
`
`ing data flows are well known in the art and also depend on
`SplunkInc.
`Exhibit 1020
`Page 11
`
`20
`FIG.1A illustrates a basic network environment in which
`
`
`
`
`
`
`
`
`
`
`
`
`an embodiment of the present invention operates. FIG. 1A
`
`
`
`
`
`
`
`
`showsa first network device 40, such as a hub, switch or
`
`
`
`
`
`
`
`router, interconnecting two end-systems (here, client com-
`
`
`
`
`
`
`
`
`
`
`puter 42 and host 44). FIG. 1A also provides a second
`
`
`
`
`
`
`
`network device 22, such as a router, operably connected to
`
`
`
`
`
`
`
`network cloud 50, such as an open, wide-area network. As
`
`
`
`
`
`
`
`
`FIG. 1A shows, packet traffic monitoring device 30 com-
`
`
`
`
`
`
`
`
`
`prises traffic monitoring module 75, and first and second
`
`
`
`
`
`
`
`
`network interfaces 71, 72, which operably connecttraffic
`
`
`
`
`
`
`monitoring device 30 to the communications path between
`first network device 40 and second network device 22.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Traffic monitoring module 75 generally refers to the func-
`
`
`
`
`
`
`
`tionality implemented by traffic monitoring device 30. In
`
`
`
`
`
`
`one embodiment, traffic monitoring module 75 is a combi-
`
`
`
`
`
`
`
`nation of hardware and software, such as a central process-
`
`
`
`
`
`
`
`
`
`ing unit, memory, a system bus, an operating system and one
`
`
`
`
`
`
`
`or more software modules implementing the functionality
`
`
`
`
`
`
`
`described herein. In one embodiment, trafic monitoring
`
`
`
`
`
`
`
`module 75 includes a packet processor 82, a traffic type
`
`
`
`
`
`
`
`
`
`
`identifier 84, and a flow data record emitter 86. In one
`
`
`
`
`
`
`embodiment, the packet processor 82 is operative to process
`
`
`
`
`
`
`
`data packets, such as storing packets in a buffer structure,
`
`
`
`
`
`
`
`
`
`
`detecting new data flows, and parsing the data packets for
`
`
`
`
`
`
`
`various attributes (such as source and destination addresses,
`
`
`
`
`
`
`
`
`and the like) and maintaining one or more measurement
`variables or statistics in connection with the flows. The
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`traffic type identifier 84, as discussed more fully below,is
`
`
`
`
`
`
`
`
`
`operative to classify data flows based on one or more
`attributes associated with the data flows. The flow data
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`record emitter 86 is operative to compose flow data records
`
`
`
`
`
`
`
`
`
`characterizing the data flows that traverse

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