# US 8,296,424 B2 · Network capacity planning

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,296,424 B2
- Document ID: US8296424B2
- Status: Granted
- Kind: B2
- Application number: 12/861,832
- Filed: 2010-08-24
- Published: 2011-03-03
- Granted: 2012-10-23
- Earliest claimed: 2005-08-19
- Assignees: OPNET Technologies, Inc.
- Inventors: Patrick J. Malloy; Dana Znamova; Alain J. Cohen; Antoine Dunn; John W. Strohm; Abbas Haider Ali; Russell Mark Elsner
- Web page: https://patentgrep.com/patent/US8296424B2

## CPC

- H04L 41/145: {involving simulating, designing, planning or modelling of a network}
- H04L 41/22: comprising specially adapted graphical user interfaces [GUI]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Data representing application deployment attributes, network topology, and network performance attributes based on a reduced set of element attributes is utilized to simulate application deployment. The data may be received from a user directly, a program that models a network topology or application behavior, and a wizard that implies the data based on an interview process. The simulation may be based on application deployment attributes including application traffic pattern, application message sizes, network topology, and network performance attributes. The element attributes may be determined from a lookup table of element operating characteristics that may contain element maximum and minimum boundary operating values utilized to interpolate other operating conditions. Application response time may be derived using an iterative analysis based on multiple instances of one or more applications wherein a predetermined number of iterations is used or until a substantially steady state of network performance is achieved.

## Claims

### Claim 1

A method comprising:
analyzing, on an analysis machine, performance of a network when both a first and a second application are concurrently run on the network by:
setting current response times of the first and second applications to initial values,
determining first current network conditions when the first application runs on the network with its current response times,
determining new response times of the second application based on the first current network conditions,
determining second current network conditions when the second application runs on the network with its current response times,
determining new response times of the first application based on the second current network conditions, and
repeating the determining of the new response times using the new response times as the current response times until a stable condition is reached; and
providing one or more reports based on the performance of the network upon reaching the stable condition.

### Claim 2 (depends on 1)

The method of claim 1, including:
defining a plurality of defined response times of the first application on the network based on a plurality of defined network conditions; and
defining a plurality of defined response times of a second application on the network based on the plurality of defined network conditions;
wherein determining the new response times of the first and second applications is based on the defined response times.

### Claim 3 (depends on 2)

The method of claim 2, wherein defining the plurality of defined response times of the first application includes defining at least one of the defined response times at boundary values of the defined network conditions.

### Claim 4 (depends on 3)

The method of claim 3, wherein determining the new response times includes an interpolation between the defined response times at the boundary values.

### Claim 5 (depends on 4)

The method of claim 4, wherein the boundary values include a minimum value and a maximum value of one or more conditions of the plurality of defined network conditions.

### Claim 6 (depends on 3)

The method of claim 3, wherein the boundary values include a minimum value and a maximum value of one or more conditions of the plurality of defined network conditions.

### Claim 7 (depends on 3)

The method of claim 3, wherein the plurality of defined network conditions includes two or more of: bandwidth, latency, packet loss, and TCP window size.

### Claim 8 (depends on 1)

The method of claim 1, wherein the first and second current network conditions include at least one of: bandwidth, latency, packet loss, and TCP window size.

### Claim 9 (depends on 8)

The method of claim 8, including determining at least one of the latency and the packet loss of the network based on the current response times.

### Claim 10 (depends on 1)

The method of claim 1, wherein reaching the stable condition is determined based on a comparison of the current and new response times.

### Claim 11 (depends on 1)

The method of claim 1, wherein determining the new response times includes determining a shortest path cost function attributed to each link of the network topology.

### Claim 12 (depends on 11)

The method of claim 11, wherein the shortest path function is determined based on at least one of a link bandwidth and a latency.

### Claim 13 (depends on 1)

The method of claim 1, wherein determining the new response time includes modeling one or more hops within the network as a network cloud having simplified interaction attributes.

### Claim 14 (depends on 1)

The method of claim 1, wherein determining the new response time includes modeling each router in the network based solely on link buffer sizes.

### Claim 15 (depends on 1)

The method of claim 1, wherein determining the new response time includes modeling each link having an attribute related to at least one of TCP window size, latency, bandwidth, packet loss, and utilization.

### Claim 16 (depends on 1)

The method of claim 1, wherein determining the new response time includes modeling servers on the network by a utilization queuing model based on a number of simultaneous transactions on a server within a given time period.

### Claim 17 (depends on 1)

The method of claim 1, wherein determining the new response time includes modeling congestion on a router in the network based on weighted fair queuing (WFQ) properties and the traffic flowing through the router.

### Claim 18 (depends on 1)

The method of claim 1, wherein determining the new response time includes ignoring congestion effects on server delay.

### Claim 19

A non-transitory computer readable medium upon which is stored a computer program that is configured to cause a processor to analyze performance of a network when both a first and a second application are concurrently run on the network by:
setting current response times of the first and second applications to initial values,
determining first current network conditions when the first application runs on the network with its current response times,
determining new response times of the second application based on the first current network conditions,
determining second current network conditions when the second application runs on the network with its current response times,
determining new response times of the first application based on the second current network conditions,
repeating the determining of the new response times using the new response times as the current response times until a stable condition is reached, and
providing one or more reports based on the performance of the network upon reaching the stable condition.

### Claim 20 (depends on 19)

The medium of claim 19, wherein the program configures the processor to:
define a plurality of defined response times of the first application on the network based on a plurality of defined network conditions; and
define a plurality of defined response times of a second application on the network based on the plurality of defined network conditions;
wherein determining the new response times of the first and second applications is based on the defined response times.

### Claim 21 (depends on 20)

The medium of claim 20, wherein defining the plurality of defined response times of the first application includes defining at least one of the defined response times at boundary values of the defined network conditions.

### Claim 22 (depends on 21)

The medium of claim 21, wherein determining the new response times includes an interpolation between the defined response times at the boundary values.

### Claim 23 (depends on 22)

The medium of claim 22, wherein the boundary values include a minimum value and a maximum value of one or more conditions of the plurality of defined network conditions.

### Claim 24 (depends on 21)

The medium of claim 21, wherein the boundary values include a minimum value and a maximum value of one or more conditions of the plurality of defined network conditions.

### Claim 25 (depends on 21)

The medium of claim 21, wherein the plurality of defined network conditions includes two or more of: bandwidth, latency, packet loss, and TCP window size.

### Claim 26 (depends on 19)

The medium of claim 19, wherein the first and second current network conditions includes at least one of: bandwidth, latency, packet loss, and TCP window size.

### Claim 27 (depends on 26)

The medium of claim 26, including determining at least one of the latency and the packet loss of the network based on the current response times.

### Claim 28 (depends on 19)

The medium of claim 19, wherein reaching the stable condition is determined based on a comparison of the current and new response times.

### Claim 29

A system comprising:
a processor that is configured to analyze performance of a network when both a first and a second application are concurrently run on the network by:
setting current response times of the first and second applications to initial values,
determining first current network conditions when the first application runs on the network with its current response times,
determining new response times of the second application based on the first current network conditions,
determining second current network conditions when the second application runs on the network with its current response times,
determining new response times of the first application based on the second current network conditions, and
repeating the determining of the new response times using the new response times as the current response times until a stable condition is reached; and
a user interface that is configured to provide one or more reports based on the performance of the network upon reaching the stable condition.

### Claim 30 (depends on 29)

The system of claim 29, wherein the processor is configured to:
define a plurality of defined response times of the first application on the network based on a plurality of defined network conditions,
define a plurality of defined response times of a second application on the network based on the plurality of defined network conditions, and
determine the new response times of the first and second applications is based on the defined response times.

### Claim 31 (depends on 30)

The system of claim 30, wherein the processor is configured to define the plurality of defined response times of the first application by defining one or more of the defined response times at boundary values of the defined network conditions.

### Claim 32 (depends on 31)

The system of claim 31, wherein the processor is configured to determine the new response times via an interpolation between the defined response times at the boundary values.

### Claim 33 (depends on 32)

The system of claim 32, wherein the boundary values include a minimum value and a maximum value of one or more conditions of the plurality of defined network conditions.

### Claim 34 (depends on 31)

The system of claim 31, wherein the boundary values include a minimum value and a maximum value of one or more conditions of the plurality of defined network conditions.

### Claim 35 (depends on 31)

The system of claim 31, wherein the plurality of defined network conditions includes two or more of: bandwidth, latency, packet loss, and TCP window size.

### Claim 36 (depends on 29)

The system of claim 29, wherein the first and second current network conditions include at least one of: bandwidth, latency, packet loss, and TCP window size.

### Claim 37 (depends on 36)

The system of claim 36, including determining at least one of the latency and the packet loss of the network based on the current response times.

### Claim 38 (depends on 29)

The system of claim 29, wherein reaching the stable condition is determined based on a comparison of the current and new response times.
