throbber

`
`as) United States
`
`
`
`
`
`
`
`
`
`a2) Patent Application Publication 0) Pub. No.: US 2004/0090923 Al
`
`
`
`
`
`(43) Pub. Date:
`May13, 2004
`
`
`Kanet al.
`
`US 20040090923A1
`
`
`
`
`
`
`
`
`(54) NETWORK MONITORING SYSTEM
`RESPONSIVE TO CHANGES IN PACKET
`
`
`ARRIVAL VARIANCE AND MEAN
`
`
`
`
`
`
`
`(76)
`
`
`
`Inventors: Chao Kan, Frisco, TX (US); Aziz
`
`
`
`
`
`
`
`
`
`
`Mohammed,Plano, TX (US); Wei
`
`
`
`
`Hao, Richardson, TX (US); Jimin Shi,
`
`
`Plano, TX (US)
`
`
`Correspondence Address:
`ALCATEL USA
`
`
`INTELLECTUAL PROPERTY DEPARTMENT
`
`
`
`
`
`
`3400 W. PLANO PARKWAY, MS LEGL2
`
`
`
`PLANO, TX 75075 (US)
`
`
`
`
`
`
`10/412,127
`
`
`
`
`
`(21) Appl. No.:
`
`
`
`(22)
`
`Filed:
`
`
`
`Apr. 11, 2003
`
`
`
`Related U.S. Application Data
`
`
`
`
`
`
`
`
`
`
`(60) Provisional application No. 60/424,495,filed on Nov.
`7, 2002.
`
`
`
`
`
`Publication Classification
`
`
`
`
`
`
`
`(51) Unt. C07 caccccccsssssssesnssstnssstvesnetesneee H04J 1/16
`
`
`
`
`
`(52) US. Ch.
`cacsscssssssssssstnsinesnsrstn 370/252; 370/329
`
`
`
`
`
`
`(57)
`
`
`
`ABSTRACT
`
`
`
`
`
`
`
`
`
`
`
`A network monitoring system (10) for monitoring a network
`
`
`
`
`
`
`
`
`along which networktraffic flows in a form of packets. The
`
`
`
`
`
`
`
`
`system comprises circuitry (36, 42) for receiving a packet
`
`
`
`
`
`
`
`communicated along the network and for determining
`
`
`
`
`
`
`
`whetherthe received packetsatisfies a set of conditions. The
`
`
`
`
`
`
`
`system further comprisescircuitry (36/30, 46), responsive to
`
`
`
`
`
`
`
`
`
`
`a determination that the received packetsatisfies the set, for
`
`
`
`
`
`
`determining a measure, wherein the measure is determined
`
`
`
`
`
`
`
`
`over a defined time interval and comprises a ratio of packet
`
`
`
`
`
`
`
`
`arrival variance and a mean of packets arriving during the
`
`
`
`
`
`
`
`time interval and for comparing the measure to a threshold.
`
`
`
`
`
`
`
`Lastly, the system comprisescircuitry (36, 52), responsive to
`
`
`
`
`
`
`
`
`the measure exceeding the threshold, for adjusting network
`resources.
`
`
`40
`
`
`
`
`
`
`
`
`
`
`
`
`CAPTURE PACKET;
`
`
`
`PACKET SATISFY RULE
`
`
`IN RULE SET(S
`
`
`
`
`STORE PACKET INFORMATION,
`
`
`
`INCLUDING TIME OF ARRIVAL,
`
`
`IN FLOW CORRESPONDING
`
`
`
`TO SATISFIED RULE(S)
`
`
`
`
`
`46
`
`
`
`
`
`
`FOR DEFINED INTERVAL, t,
`
`
`
`
`
`DETERMINE IDC FOR EACH FLOW
`
`
`
`
`
`
`IDC > THRESHOLD?
`
`
`
`
`
`QoS MET FOR
`
`
`
`THRESHOLD-EXCEEDING |,
`
`
`PACKET(S)?
`
`
`
`30
`
`
`
`52
`
`
`
`
`RE-ADJUST TRAFFIC
`PARAMETERS
`
`
`
`
`
`
`
`
`
` 44
`
`
`
`
`
`
`Splunk Inc.
`
`Exhibit 1009
`
`Page 1
`
`Splunk Inc. Exhibit 1009 Page 1
`
`

`

`
`
`
`
`
`
`
`Patent Application Publication May 13, 2004 Sheet 1 of 2
`
`
`
`US 2004/0090923 Al
`
`
`
`
`
`
`CORE NETWORK/ROUTER
`
`
`
`Splunk Inc.
`
`Exhibit1009
`
`Page 2
`
`Splunk Inc. Exhibit 1009 Page 2
`
`

`

`
`
`
`
`
`
`Patent Application Publication May 13, 2004 Sheet 2 of 2
`
`
`
`US 2004/0090923 Al
`
`40
`
`
`
`
`
`
`
`
`
`
`
`44
`
`
`
`
`
`
`
`
`
`46
`
`
`
`
`CAPTURE PACKET;
`
`
`
`
`PACKET SATISFY RULE
`
`
`_IN RULE SET(S),
`
`
`
`
`
`
`STORE PACKET INFORMATION,
`
`
`
`
`INCLUDING TIME OF ARRIVAL,
`
`
`
`
`
`IN FLOW CORRESPONDING
`
`
`
`TO SATISFIED RULE(S)
`
`
`
`
`
`
`
`
`FOR DEFINED INTERVAL, t,
`
`
`
`
`DETERMINE IDC FOR EACH FLOW
`
`
`
`
`IDC > THRESHOLD?
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`QoS MET FOR
`
`THRESHOLD-EXCEEDING >
`PACKET(S)?_ ~~
`
`
`
`
`
`
`
`90
`
`
`
`
`RE-ADJUST TRAFFIC
`. 52
`
`PARAMETERS
`
`FIG. 3
`
`Splunk Inc.
`
`Exhibit1009
`
`Page 3
`
`Splunk Inc. Exhibit 1009 Page 3
`
`

`

`
`
`US 2004/0090923 Al
`
`
`May 13, 2004
`
`
`
`NETWORK MONITORING SYSTEM RESPONSIVE
`
`
`
`
`TO CHANGESIN PACKET ARRIVAL VARIANCE
`
`
`
`
`
`AND MEAN
`
`
`
`CROSS-REFERENCES TO RELATED
`
`APPLICATIONS
`
`
`
`
`
`
`
`
`
`[0001] This application claims the benefit, under 35
`
`
`
`
`
`
`
`US.C. §119(e)(1), of U.S. Provisional Application No.
`
`
`
`
`
`
`
`60/424,495, filed Nov. 7, 2002, and incorporated herein by
`this reference.
`
`
`
`
`
`STATEMENT REGARDING FEDERALLY
`
`
`
`SPONSORED RESEARCH OR DEVELOPMENT
`
`
`
`
`
`
`
`
`
`
`[0002] Not Applicable.
`BACKGROUND OF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`[0003] The present embodiments relate to computer net-
`
`
`
`
`
`
`
`
`
`works and are more particularly directed to a system for
`
`
`
`
`
`
`monitoring network performance and correcting network
`
`
`
`
`
`
`congestion by evaluating changes in packetarrival variance
`
`
`
`
`
`relative to mean packetarrival.
`
`
`
`
`
`
`
`
`[0004] As the numberofusers andtraffic volume continue
`
`
`
`
`
`
`
`
`
`
`to grow on the global Internet and other networks, an
`essential need has arisen to have a set of mechanisms to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`monitor network performance and to take corrective mea-
`
`
`
`
`
`
`sures in response to falling performance. Such performance
`
`
`
`
`
`
`
`
`may be evaluated in various forms, including but not limited
`
`
`
`
`
`
`
`to detecting and troubleshooting network congestion. Net-
`
`
`
`
`
`
`
`work congestion results from mismatches between network
`
`
`
`
`
`
`
`capacity and network demand. The mismatch may be a
`
`
`
`
`
`
`
`
`long-term one, or at
`instantaneous time scales. Further,
`
`
`
`
`
`
`
`
`network capacity may appear to be ample when using tools
`
`
`
`
`
`
`
`
`look at
`long-term traffic averages; however
`these
`that
`
`
`
`
`
`
`
`
`approaches are not always suitable because a more subtle
`
`
`
`
`
`
`
`
`
`
`problem may arise with short bursts of packets, or peak
`
`
`
`
`
`
`
`demand. With congestion analyses mechanisms,the reliabil-
`
`
`
`
`
`
`
`
`
`
`ity and availability of the network nodes(e.g., IP routers)
`
`
`
`
`
`
`
`
`
`and the given internet paths can be evaluated. This is
`
`
`
`
`
`
`
`
`especially true for Internet Service Providers (“ISPs”) seek-
`
`
`
`
`
`
`
`
`ing to comply with the Service Level Agreements (“SLAs”)
`
`
`
`
`
`
`
`
`that they are now providing to customers. Additionally, such
`
`
`
`
`
`
`
`
`a need is prevalent for the underlying internet protocol
`
`
`
`
`(“IP”) networks in the Internet.
`
`
`
`
`
`
`
`[0005] The Internet is also evolving towards an advanced
`
`
`
`
`
`
`
`
`architecture that seeks to guarantee the quality of service
`
`
`
`
`
`
`
`
`(“QoS”) for real-time applications. QoS permits the control-
`
`
`
`
`
`
`
`ling of what happens to packets whenthere is congestion in
`
`
`
`
`
`
`
`
`
`a network, or more precisely when there is insufficient
`
`
`
`
`
`
`
`
`
`network capacity to deliver all of the offered load without
`
`
`
`
`
`
`
`
`any noticeable queuing delays. One type of QoS framework
`
`
`
`
`
`
`
`seeks to provide hard specific network performance guar-
`
`
`
`
`
`antees to applications such as band-width/delay reservations
`
`
`
`
`
`
`
`
`
`for an imminent or future data flow. Such QoSis usually
`
`
`
`
`
`characterized in terms of ability to guarantee to an applica-
`
`
`
`
`
`
`
`
`tion-specified peak and average band-width,delay, jitter and
`
`
`
`
`
`
`
`packet loss. Another type is to use Class-of-Service (“CoS”)
`
`
`
`
`
`
`such as Differentiated Services (“Diff-Serv”) to representthe
`
`
`
`
`
`
`less ambitious approach of giving preferential treatment to
`
`
`
`
`
`
`
`
`certain kinds of packets, but without making any perfor-
`
`
`mance guarantees.
`
`
`
`
`
`
`
`[0006] During the QoS process to provide services better
`
`
`
`
`
`
`
`thanthe traditional besteffort, network congestion detection
`
`
`
`
`
`
`
`
`
`
`
`
`
`often becomes the starting point for the network perfor-
`
`
`
`
`
`
`
`mance analysis. In the past, a number of congestion detec-
`
`
`
`
`
`
`
`
`
`tion and control schemes have been investigated in data
`
`
`
`
`
`
`
`
`networks. One congestion detection schemeuses the trans-
`
`
`
`
`
`
`
`port-layer protocols to infer congestion from the estimated
`
`
`
`
`
`
`bottleneck service time or from changes in throughput or
`
`
`
`
`
`
`
`end-to-end delay, as well as from packet drops. Specifically,
`
`
`
`
`
`
`
`
`the Internet has traditionally relied on mechanisms in the
`
`
`
`
`
`
`
`Transport Control Protocol (“TCP”), suchassliding window
`control and retransmission timer deficiencies to avoid con-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`gestion. TCP operates to seek excess bandwidth by increas-
`
`
`
`
`
`
`
`
`ing transmission rates until the network becomes congested
`
`
`
`
`
`
`
`
`and then reducing transmission rate once congestion occurs.
`
`
`
`
`
`
`
`
`A few limitations arise from this approach. First, TCP
`
`
`
`
`
`
`
`congestion detection at a first node requires an acknowl-
`
`
`
`
`
`
`
`
`
`edgement from a second node,that is, the increased trans-
`
`
`
`
`
`mission is continued until no acknowledgementis received
`
`
`
`
`
`
`
`from the second node; thus, a feedback communication is
`
`
`
`
`
`
`
`
`
`required from another node and that feedback also utilizes
`
`
`
`
`
`
`
`
`bandwidth on the network. Second, in its effort to identify
`
`
`
`
`
`
`
`bandwidth, TCP necessarily causes the very congestion
`
`
`
`
`
`
`
`which it then seeks to minimize, where the congestion is
`
`
`
`
`
`
`
`
`caused as the TCP increases the bandwidth to a point that
`
`
`
`
`
`
`
`
`exceeds the network capacity. Another type of congestion
`
`
`
`
`
`
`detection schemeis to involve network components such as
`
`
`
`
`
`
`
`routers in the entire process. As most network congestion
`
`
`
`
`
`
`
`occurs in routers, they may be considered an ideal position
`
`
`
`
`
`
`
`
`to monitor network load and congestion and respondthereto
`
`
`
`
`
`
`
`in a control scheme. Such network-based congestion control
`
`
`
`
`
`
`
`uses explicit signaling between routers to provide feedback
`
`
`
`
`
`
`congestion information to a transmitting router, where the
`
`
`
`
`
`
`
`
`transmitting router may then alter its behavior in responseto
`
`
`
`
`
`
`
`
`the feedback, or an overall scheme can change the packet
`
`
`
`
`
`
`
`
`
`processing within one or more routers so as to reduce
`
`
`
`
`
`
`
`
`congestion. In any event, this latter scheme also requires a
`
`
`
`
`
`
`
`form of feedback from a recipient router, thereby increasing
`traffic on the network to accommodate the feedback and also
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`requiring the reliance of the transmitting router on the
`
`
`
`
`integrity of a different router.
`
`
`
`
`
`
`
`
`[0007]
`In view of the above, there arises a need to address
`
`
`
`
`
`
`
`the drawbacks of the prior art, as is accomplished by the
`
`
`
`
`preferred embodiments described below.
`BRIEF SUMMARY OF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`[0008]
`In the preferred embodiment, there is a network
`
`
`
`
`
`
`
`monitoring system along which network traffic flows in a
`
`
`
`
`
`
`
`
`form of packets. The system comprises circuitry for receiv-
`
`
`
`
`
`
`
`
`ing a packet communicated along the network and for
`
`
`
`
`
`
`
`
`determining whether the received packetsatisfies a set of
`
`
`
`
`
`
`
`conditions. The system further comprises circuitry, respon-
`
`
`
`
`
`
`
`
`sive to a determination that the received packetsatisfies the
`
`
`
`
`
`
`
`
`set, for determining a measure and circuitry for comparing
`
`
`
`
`
`
`
`the measure to a threshold, wherein the measure is deter-
`
`
`
`
`
`
`
`
`mined over a defined time interval and comprisesa ratio of
`
`
`
`
`
`
`
`packet arrival variance and a mean of packets arriving
`
`
`
`
`
`
`
`
`
`during the time interval. Lastly, the system comprises cir-
`
`
`
`
`
`
`
`cuitry, responsive to the measure exceeding the threshold,
`
`
`
`
`for adjusting network resources.
`
`
`
`
`
`
`
`[0009] Other aspects are also described and claimed.
`
`
`
`
`
`
`
`
`Splunk Inc.
`
`Exhibit1009
`
`Page 4
`
`Splunk Inc. Exhibit 1009 Page 4
`
`

`

`
`
`US 2004/0090923 Al
`
`
`May 13, 2004
`
`
`
`BRIEF DESCRIPTION OF THE SEVERAL
`
`
`
`VIEWS OF THE DRAWING
`
`
`
`
`
`
`
`
`
`[0010] FIG. 1 illustrates a block diagram of a network
`
`
`
`
`
`
`
`system 10 into which the preferred embodiments may be
`
`implemented.
`
`
`
`
`
`
`FIG.2 illustrates a block diagram of each network
`{0011]
`
`
`
`
`monitor NM, through NMgof FIG.1.
`
`
`
`
`
`
`
`FIG.3 illustrates a flow chart of the operation of
`[0012]
`
`
`
`
`
`
`each network monitor NM, through NM,of FIG.2.
`DETAILED DESCRIPTION OF THE
`
`
`INVENTION
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`[0013] FIG. 1 illustrates a block diagram of a system 10
`
`
`
`
`
`
`into which the preferred embodiments may be implemented.
`
`
`
`
`
`
`
`System 10 generally includes a number of stations ST,
`
`
`
`
`
`
`
`through ST,, each coupled to a network 20 via a router, and
`
`
`
`
`
`
`
`each operable to send packets as a source or receive packets
`
`
`
`
`
`
`
`as a destination. By way of example, network 20 is an
`
`
`
`
`
`
`
`
`internet protocol (“IP”) network such as the global Internet
`
`
`
`
`
`
`
`
`
`or other [P-using network, where each station and IP net-
`
`
`
`
`
`
`
`
`
`
`worksin general are well knowninthe art. One skilled in the
`
`
`
`
`
`
`
`
`art should appreciate that the use of the IP protocol is by way
`
`
`
`
`
`
`
`
`of illustration, and manyof the various inventive teachings
`
`
`
`
`
`
`
`herein may apply to numerousother protocols, including by
`
`
`
`
`
`
`way of examples asynchronous transfer mode (“ATM”),
`
`
`
`
`
`
`
`
`
`token ring, Novell, Apple Talk,and still others. In any event,
`
`
`
`
`
`
`returning to network 20 as an IP network, and also by way
`
`
`
`
`
`
`
`
`of an example, each station ST, may be constructed and
`
`
`
`
`
`
`
`
`
`function as one of various different types of computing
`
`
`
`
`
`
`devices, all capable of communicating according to the IP
`
`
`
`
`
`
`
`
`
`protocol. Lastly and also by way of example, only four
`
`
`
`
`
`
`stations ST,, are shown so as to simplify theillustration and
`
`
`
`
`
`
`
`
`example, where in reality each such station may be proxi-
`
`
`
`
`
`
`
`
`mate other stations (not shown) and at a geography located
`at a considerable distance from the other illustratedstations.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`[0014] Continuing with FIG. 1, along the outer periphery
`
`
`
`
`
`
`
`
`of network 20 are shown a number of edge routers ER,
`
`
`
`
`
`
`
`through ER,,, while within network 20 are shown a number
`
`
`
`
`
`
`
`
`
`of core routers CR, through CR,. The terms edge router and
`
`
`
`
`
`
`
`
`
`
`
`core router are known in the art and generally relate to the
`
`
`
`
`
`
`
`function and relative network location of a router. Typically,
`
`
`
`
`
`
`
`edge routers connect
`to remotely located networks and
`
`
`
`
`
`
`
`
`handle considerably less traffic than core routers. In addition
`
`
`
`
`
`
`
`
`and due in part to the relative amountoftraffic handled by
`
`
`
`
`
`
`
`
`core routers, they tend to perform less complex operations
`
`
`
`
`
`
`
`
`on data and instead serve primarily a switching function; in
`
`
`
`
`
`
`
`other words, because of the tremendous amountof through-
`
`
`
`
`
`
`
`
`
`put expected of the core routers, they are typically hardware
`
`
`
`
`
`
`
`
`bound as switching machines and notgiven the capability to
`
`
`
`
`
`
`
`
`provide operations based on the specific data passing
`
`
`
`
`
`
`
`
`
`through the router. Indeed, core routers typically do not
`
`
`
`
`
`
`
`include much in the way of control mechanisms as there
`
`
`
`
`
`
`could be 10,000 or more connections in a single trunk.
`
`
`
`
`
`
`
`
`
`Further, typically core routers do not involve their opera-
`tions with TCPrelated items and instead deal at the IP level
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`and below. In contrast, edge routers are able to monitor
`
`
`
`
`
`
`
`various parameters within data packets encountered by the
`
`
`
`
`
`
`
`
`
`respective router. In any event, the various routers in FIG.
`
`
`
`
`
`
`
`
`
`1 are shown merely by way of example, where one skilled
`
`
`
`
`
`
`
`
`
`
`in the art will recognize that a typical network may include
`
`
`
`
`
`
`
`
`quite a different number of both types of routers. Finally,
`
`
`
`
`
`
`
`
`
`note that each core router CR, and each edge router ER,, may
`
`
`
`
`
`
`
`
`
`
`be constructed and function according to the art, with the
`
`
`
`
`
`
`
`
`exception that preferably selected ones of those routers may
`
`
`
`
`
`
`
`include additional functionality for purposes oftraffic con-
`
`
`
`
`
`
`
`
`gestion detection and response based on packet arrival
`
`
`
`
`
`
`
`
`variance and mean as described later. In addition, selected
`
`
`
`
`
`
`
`routers may be further constructed to respond to the traffic
`
`
`
`
`
`
`
`congestion detection that the router determines as well as in
`
`
`
`
`
`
`
`responseto the traffic congestion detection of another router
`
`
`
`
`
`
`
`
`
`in network 20. Moreover, in one approach, core routers may
`
`
`
`
`
`
`
`
`be configured to respond differently than edge routers in the
`
`
`
`
`case of detecting traffic congestion.
`
`
`
`
`
`
`
`[0015] Completing the discussion of FIG.1, note that the
`
`
`
`
`
`
`
`
`
`various stations, edge routers, and core routers therein are
`shownconnected to one another in various fashions and also
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`by way of example. Such connections are intended to
`
`
`
`
`
`
`
`
`
`illustrate an example for later discussion of the preferred
`
`
`
`
`
`
`
`
`
`operation and also to reflect a general depiction of how
`
`
`
`
`
`
`networksare generally established. Thus, each station ST, is
`
`
`
`
`
`
`
`
`shown connected to a single edge router ER,, where that
`
`
`
`
`
`
`
`
`edge router ER, is connected to one or more core routers
`
`
`
`
`
`
`
`
`
`CR,,. The core routers CR,, also by way of example, are
`
`
`
`
`
`
`
`
`shown connected to multiple ones of the other core routers
`
`
`
`
`
`
`
`CR,,. By way of reference, the following Table 1 identifies
`each station and router shown in FIG.1 as well as the other
`
`
`
`
`
`
`
`
`
`
`
`
`
`device(s) to which each is connected.
`TABLE1
`
`connected nodes
`
`
`
`
`station or router
`
`
`
`
`
`ST,
`
`ST,
`
`ST3
`
`ST,
`
`ER,
`
`ER,
`
`ER;
`
`ER,
`
`ERs
`
`ER,
`
`ER,
`
`ER,
`
`ERg
`
`ERio
`ER,
`
`CR,
`
`CR,
`
`CR;
`
`Ry
`
`
`
`
`
`
`
`
`ER,
`
`ERyo
`
`ERs
`
`ER;
`
`ST,; CR,
`
`CR,; CR,
`
`CR,
`
`CR,
`
`ST3; CR,; CR3
`
`
`CRs; CRy
`
`STy; CRy
`
`CRy
`
`CR,
`
`ST; CR,
`
`CR,
`
`ER,; ERy1; ERio; ERy; CR;
`
`
`
`
`CR,; CR,
`
`ER,; ER3; ERy; CRy; CR3;
`
`
`
`
`CRy; ERs
`
`
`ERs; ERs; CRz; CR,; CRy
`
`
`
`
`ER,; ERg; ERo; CR,; CR;
`
`
`
`
`
`CRs; ER,6.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`[0016] Given the variousillustrated connections as also set
`
`
`
`
`
`
`
`
`forth in Table 1, in general IP packets flow along the various
`
`
`
`
`
`
`
`illustrated paths of network 20, and in groups or in their
`
`
`
`
`
`
`
`
`entirety such packets are often referred to as networktraffic.
`
`
`
`
`
`
`
`
`
`In this regard and as developed below,the preferred embodi-
`
`
`
`
`
`
`
`ments operate to identify and respond to congestion in such
`
`
`
`
`
`
`
`
`network traffic. Finally, note that FIG. 1 may represent a
`
`
`
`
`
`
`
`simplified version of a network or the Internet in that only
`
`
`
`
`
`
`
`
`
`
`
`a few stations and routers are shown, while one skilled in the
`
`
`
`
`
`
`
`
`
`art will readily appreciate that the inventive concepts in this
`
`
`
`
`
`
`document may be applied to a larger numberofstations,
`
`
`
`
`
`
`
`routers, and the network interconnectivity between those
`devices.
`
`
`
`
`
`
`
`{0017] FIG. 1 also illustrates a number of network moni-
`
`
`
`
`
`
`tors NM, through NM, according to the preferred embodi-
`
`
`
`
`Splunk Inc.
`
`Exhibit1009
`
`Page5
`
`Splunk Inc. Exhibit 1009 Page 5
`
`

`

`
`
`US 2004/0090923 Al
`
`
`May 13, 2004
`
`
`
`
`
`
`
`
`
`
`
`ments, where the choice of eight such network monitors is
`
`
`
`
`
`
`
`
`only by way of example given the amountof other hardware
`
`
`
`
`
`
`
`
`
`
`is shown for network 20. As detailed below, each
`that
`
`
`
`
`
`
`
`network monitor NM,, is operable to sample each packetthat
`
`
`
`
`
`
`
`
`is received along the conductor(s) to which the network
`
`
`
`
`
`
`monitor is connected, and if corrective action is deemed as
`
`
`
`
`
`
`
`
`useful then a routing table associated with a router that is
`
`
`
`
`
`
`
`
`also associated with the network monitor NM, may be
`
`
`
`
`
`
`modified to improve network performance. The components
`
`
`
`
`
`
`
`of each network monitor NM,, are described below, but at
`
`
`
`
`
`
`
`
`
`this point the connections of each such monitor are noted in
`
`
`
`the following Table 2:
`
`
`
`network monitor
`
`NM,
`
`NM,
`
`NM;
`
`NM,
`
`NMS;
`
`NM
`
`NM,
`
`NMg
`
`
`TABLE 2
`
`connected nodes
`
`
`
`
`CR,; CR,
`
`CR,; CR;
`
`CRy; CRs
`
`CRs; CRy
`
`CR,; CR; CR3; ERz; ERg;
`
`
`
`
`ERg
`
`CR, ST,
`
`ST; CR,
`
`ERs; ST3
`
`
`
`
`
`
`
`
`
`
`
`
`[0018] FIG. 1 and Table 2 demonstrate that each of
`
`
`
`
`
`network monitors NM, through NM, and NMgis connected
`
`
`
`
`
`
`
`
`to sample packets passing along the conductor(s) between a
`
`
`
`
`
`
`
`pair of nodes, such as between routers or between a router
`
`
`
`
`
`
`
`and a station. However, network monitors NM;, NM,, and
`
`
`
`
`
`
`NM,are each by way ofalternative examples incorporated
`
`
`
`
`
`
`
`
`
`into respective routers CR,, ER,, and ER,,. As a result, each
`
`
`
`
`
`
`
`
`of network monitors NM, NM,, and NM,is able to sample
`
`
`
`
`
`
`
`packets communicated with any of the nodes to which its
`
`
`
`
`
`
`
`respective router is connected; for example with respect to
`
`
`
`
`
`
`
`network monitor NM., it may sample packets communi-
`
`
`
`
`
`
`
`
`cated with respect to any node to which core router CR, is
`
`
`
`
`
`
`
`
`connected, namely, core routers CR,, CR,, CR;, and edge
`
`
`
`
`
`
`
`
`
`routers ER;, ERg, and ER,. Thus, the contrast of network
`
`
`
`
`
`
`
`monitors NM,, NM,, and NM,
`to the other illustrated
`
`
`
`
`
`network monitors NM, through NM,is shown to demon-
`
`
`
`
`
`
`
`
`strate that in the preferred embodiment each network moni-
`
`
`
`
`
`
`
`tor NM, may sample packets as a stand alone entity or may
`
`
`
`
`
`
`
`
`be combined with the hardware and software of an existing
`
`
`
`
`
`
`
`router;
`indeed,
`in the preferred embodiments a network
`
`
`
`
`
`
`monitor NM, also may be combined with network or ele-
`
`
`
`
`
`
`
`
`ment management systems. In any event and by way of
`
`
`
`
`
`
`
`
`introduction to details provided later,
`in the preferred
`
`
`
`
`
`
`
`embodiments the sampling functionality of each network
`
`
`
`
`
`
`monitor NM, permits real-time monitoring, over a defined
`
`
`
`
`
`
`
`
`period of time, of a ratio of the packet arrival variance and
`
`
`
`
`
`
`mean for selected packets, and in response determinations
`
`
`
`
`
`
`
`
`may be made,and actions maybe taken, based on thresholds
`
`
`
`
`
`
`
`exceeded by the ratio, thereby presenting an indication of
`
`
`
`
`likely network traffic congestion.
`
`
`
`
`
`
`
`[0019]
`FIG.2 illustrates a block diagram of each network
`
`
`
`
`
`
`monitor NM, through NM, and NM,of FIG. 1, with the
`
`
`
`
`
`
`further understanding that
`functionally the
`following
`
`
`
`
`
`
`
`description also may be applied to any of network monitors
`
`
`
`
`
`
`
`
`
`NM,, NM,, and NM,, with the addition that certain func-
`
`
`
`
`
`
`
`tionality may be provided by the hardware and software
`
`
`
`
`
`
`
`
`
`already available from each respective router CR,, ER, and
`
`
`
`
`
`
`ER,,. Turning then to FIG. 2, a console 30 is associated
`
`
`
`
`
`
`
`
`with network monitor NM,,, where in the preferred embodi-
`
`
`
`
`
`
`
`
`ment a single such console 30 communicates with multiple
`
`
`
`
`
`
`
`network monitors NM,,. For example, returning briefly to
`
`
`
`
`
`
`FIG. 1, preferably each of network monitors NM,through
`
`
`
`
`
`
`
`
`NM, communicates with a single console 30, where such
`
`
`
`
`
`
`communications also may be by way of packets between
`
`
`
`
`
`
`
`
`console 30 and the network monitors NM,. Console 30 may
`
`
`
`
`
`
`
`
`
`be constructed by one skilled in the art using various forms
`
`
`
`
`
`
`
`
`of hardware and software, where the selection is a matter of
`
`
`
`
`
`
`implementation choice in order to achieve the functionality
`
`
`
`
`
`
`described in this document. Turning to that functionality,
`
`
`
`
`
`console 30 preferably provides an administration (configu-
`
`
`
`
`
`
`
`ration) function and a reporting function. To permit a user to
`
`
`
`
`
`
`
`
`perform these functions, various interfaces may be used such
`
`
`
`
`
`
`as a graphical Web-based configuration tool or a command
`
`
`
`
`
`
`
`
`line tool, where one preferable approach implements con-
`
`
`
`
`
`
`
`
`
`sole 30, by way of example, using the Apache Web server
`
`
`
`
`
`
`
`with the PHP server-side scripting language to provide a
`
`
`
`
`
`
`
`
`
`dynamic interface to a flow store 32. In any event, the user
`
`
`
`
`
`
`
`interface preferably provides different screens for each of
`
`
`
`
`
`
`
`
`the administration and reporting functions. The actual inter-
`
`
`
`
`
`
`
`face and screens, however, may be implemented in various
`
`
`
`
`
`
`
`
`
`forms, where it is desirable for any form that an operator
`
`
`
`
`
`
`may properly control console 30 to perform its administra-
`
`
`
`
`
`
`
`
`
`
`tion and reporting functions with respect to its flow store 32.
`
`
`
`
`
`
`
`
`Preferably, a network administrator or the like uses the
`
`
`
`
`
`administration functionality of console 30 to create a set of
`
`
`
`
`
`
`
`
`rules and to provide those rules, along with a methodology
`
`
`
`
`
`
`
`
`for determining an index dispersion for counts (“IDC”) and
`
`
`
`
`
`
`
`responding thereto, to an RTFM meter 36 described later. By
`
`
`
`
`
`
`
`
`wayofintroduction, the set of rules causes meter 36 to store
`
`
`
`
`
`
`
`
`
`
`packet arrival time for each packet that satisfies one (or
`
`
`
`
`
`
`
`
`
`
`that
`more) of the provided rules,
`is,
`those packets are
`
`
`
`
`
`
`
`
`
`selected from among all packets that pass through the meter
`
`
`
`
`
`
`
`
`
`with the arrival
`time of such selected packets being
`
`
`
`
`
`
`
`recorded; thereafter, meter 36 determines the IDC for the
`
`
`
`
`
`
`
`
`selected packets over a specified time interval t. Also, once
`
`
`
`
`
`
`
`
`
`the system is configured and left to collect packet arrival
`
`
`
`
`
`
`
`
`about the monitored packets, the network administrator can
`
`
`
`
`
`
`
`use the reporting screen to query the information so as to
`
`
`
`
`
`
`
`
`generate network status reports based on the collected
`
`
`
`
`
`
`information and to thereby analyze network congestion.
`
`
`
`
`
`
`[0020] As introduced above, console 30 is connected to a
`
`
`
`
`
`
`
`
`flow store 32, which preferably represents a storage medium
`
`
`
`
`
`
`
`that stores a flow database relating to monitored packets. In
`
`
`
`
`
`
`
`the preferred embodiment, each network monitor NM,
`
`
`
`
`
`
`
`includesits own flow database, although alternative embodi-
`
`
`
`
`
`
`
`
`
`ments may be created where more than one network monitor
`
`
`
`
`
`
`
`
`NM,, shares a common flow database.
`In the preferred
`embodiment the flow database in flow store 32 is an SQL-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`compatible database using the PostgreSQLrelational data-
`
`
`
`
`
`
`base management system, although in alternative embodi-
`
`
`
`
`
`
`
`
`ments various other types of databases may be used in flow
`
`
`
`
`
`
`
`store 32. Using the preferred embodiment as an example,
`
`
`
`
`
`
`
`console 30 communicates with this database through the
`
`
`
`
`
`
`
`
`
`
`Web server’s PHP link to the SQL database. Thus, any
`
`
`
`
`
`
`
`administration and configuration changes made via console
`
`
`
`
`
`
`
`
`
`30 are passed directly to flow store 32. Given the preceding,
`
`
`
`
`
`
`
`
`
`one skilled in the art should appreciate that access to flow
`
`
`
`
`
`
`
`store 32 can be achieved by SQL queries, enabling network
`
`
`
`
`
`
`
`administrators to automate the configuration process or
`
`
`
`
`
`
`
`integrate report generation. As introduced above,
`in the
`
`
`
`
`
`
`
`
`preferred embodiment, flow store 32 also stores what is
`
`
`
`
`
`
`
`
`
`referred to in this documentas a “rule set” (or “rule sets”
`
`
`
`
`
`
`
`
`whenplural), whichis initially provided to the flow store 32
`
`Splunk Inc.
`
`Exhibit1009
`
`Page6é
`
`Splunk Inc. Exhibit 1009 Page 6
`
`

`

`
`
`US 2004/0090923 Al
`
`
`May 13, 2004
`
`
`
`
`
`
`
`
`
`
`from console 30 as part of the administration function and
`
`
`
`
`
`
`
`which is also thereby conveyed to meter 36. As shown by
`
`
`
`
`
`
`
`
`
`example below, each rule set specifies one or morecriteria
`
`
`
`
`
`
`
`against which meter 36 evaluates each incoming packet to
`
`
`
`
`
`
`
`determine if the criteria are satisfied. Additionally, in one
`
`
`
`
`
`
`
`
`
`embodiment, flow store 32 may store the packet arrival
`
`
`
`
`
`
`information for those criteria-satisfying packets in a moni-
`
`
`
`
`
`
`
`
`tored flow so that such information may be evaluated,
`
`
`
`
`
`
`
`including the determination of IDC information and possible
`
`
`
`
`
`
`
`
`responses thereto, by console 30. Moreover and as also
`
`
`
`
`
`
`
`
`discussed below, flow store 32 may store numerousdifferent
`
`
`
`
`
`
`sets of packet arrival information, each corresponding to a
`
`
`
`
`
`
`
`
`different set of flow criteria, that is, corresponding to one of
`
`
`
`
`
`
`
`
`the different specified rule sets. The stored information is
`
`
`
`
`
`
`
`therefore accessible by console 30 and permits other analy-
`
`
`
`
`
`
`
`ses of the flow information so as to provide information and
`
`
`
`
`
`
`
`
`
`reports that are useful for network engineering and manage-
`
`
`ment purposes.
`
`
`
`
`
`
`
`[0021] Continuing with FIG.2, recorder layer 34 provides
`
`
`
`
`
`
`
`
`
`an interface between flow store 32 and a meter 36 (or
`
`
`
`
`
`
`
`
`meters) in use and coupled to the network. Generally, the
`
`
`
`
`
`
`applications of recorder layer 34 can be separated into two
`
`
`
`
`
`
`
`categories: manager applications and meter reading appli-
`
`
`
`
`
`
`
`cations. Manager applications configure meter 36, based on
`
`
`
`
`
`
`
`
`information, including rules in one or morerule sets, in flow
`
`
`
`
`
`
`
`
`
`store 32. Meter reading applications permit the data col-
`
`
`
`
`
`lected and/or determined by meter 36 to be provided in a
`
`
`
`
`
`
`
`
`data format usable by flow store 32 and, indeed, recorder
`
`
`
`
`
`
`
`
`
`
`
`layer 34 facilitates the passage of that data into the flow
`
`
`
`
`
`
`
`
`database of flow store 32. Recorder layer 34 applications
`
`
`
`
`
`
`
`
`may pass information between flow store 32 and the network
`
`
`
`
`
`probes of meter 36 either synchronously or asynchronously.
`
`
`
`
`
`
`
`
`This gives network administrators the flexibility of either
`
`
`
`
`
`
`
`using real-time network flow meters (i.e. NeTraMet) or
`
`
`
`
`
`
`
`
`
`
`importing data from other network analysis tools that are not
`
`
`
`
`
`
`
`
`able to provide real-time data (e.g. Cisco NetFlow data).
`
`
`
`
`
`
`
`[0022]
`In the preferred embodiment, meter 36 is a Real-
`
`
`
`
`
`
`
`Time Traffic Flow Measurement (“RTFM”) meter which is
`
`
`
`
`
`
`
`
`a concept
`from the Internet Engineering Task Force
`
`
`
`
`
`
`
`(“IETF”). As known in the RTFM art, RTFM meters are
`
`
`
`
`
`
`
`previously knownto be used in systems for determining the
`
`
`
`
`
`
`
`service requested by IP packets that are passing through a
`
`
`
`
`
`
`
`network for purposes of collecting revenue, where such a
`
`
`
`
`
`
`
`service is identifiable by the transport port numberspecified
`
`
`
`
`
`
`
`
`
`in each IP packet. For example, RTFM meters are currently
`
`
`
`
`
`
`
`
`being considered for use in systems wherebyan Internet user
`
`
`
`
`
`
`
`
`
`is charged based on the service he or she is using on the
`
`
`
`
`
`
`
`
`Internet; for example, a different fee may be charged to the
`
`
`
`
`
`
`
`
`user for each different Internet service,
`including mail,
`
`
`
`
`
`
`
`
`video, phonecalls, and web browsing. However,as detailed
`
`
`
`
`
`
`
`
`in this document, the preferred embodiment implements the
`
`
`
`
`
`
`
`
`RTFM meter instead to analyze each packet and to deter-
`
`
`
`
`
`
`
`
`
`
`
`mine if the packet satisfies a rule in the rule set and, if so,
`
`
`
`
`
`
`
`
`to store sufficient packet arrival time corresponding to the
`
`
`
`
`
`
`
`
`
`defined interval t so that packet IDC may be determined and
`
`
`
`
`
`
`
`
`used as a basis to indicate, and respond to, network con-
`
`
`
`
`
`
`
`
`gestion. Thus, in real time, meter 36 physically probes the
`
`
`

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