IP Library Granted Patent US 9,178,823
Granted Patent B2
US 9,178,823 · App. 13/712,499 · Granted Nov 3, 2015

Methods, systems, and computer readable media for generating simulated network traffic using different traffic flows and maintaining a configured distribution of traffic between the different traffic flows and a device under test

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,178,823
App. No.
13/712,499
Granted
Nov 3, 2015
Kind
B2
Abstract

Methods, systems, and computer readable media for generating simulated network traffic from a plurality of different traffic flows and maintaining a configured distribution among the flows are disclosed. One exemplary method includes determining a number of operations per flow for each of a plurality of flows that generate simulated network traffic between the flows and a device under test. The method further includes determining a desired traffic distribution among the traffic generated by the traffic flows. The method further includes assigning a weight to each flow that determines the number of times to execute each flow during execution of a batch of flows. The method further includes executing the flows in batches according to the assigned weights to transmit the desired distribution of traffic between the different flows and the device under test.

Claims (50)

1. A method for generating simulated network traffic using a plurality of different traffic flows and maintaining a configured distribution between the flows and a device under test, the method comprising:

at a network emulator:

determining a number of operations per flow for each of a plurality of flows that generate simulated network traffic between the flows and a device under test;

determining a desired traffic distribution among the traffic generated by the traffic flows;

assigning a weight to each flow that determines the number of times to execute each flow during execution of a batch of flows; and

executing the flows in batches according to the assigned weights to generate the desired distribution of traffic between the different flows and the device under test;

wherein each of the weights indicates a number of times to execute a flow in a given batch and wherein executing the flows in batches includes executing each flow w i times in a given batch, where w i is the weight that defines the number of times for executing the ith flow in a batch to achieve the desired traffic distribution.

2. The method of claim 1 wherein each of the flows generates application layer traffic between itself and the device under test.

3. The method of claim 1 wherein determining a desired traffic distribution includes receiving input from a user regarding a desired ratio of traffic among the flows.

4. The method of claim 1 wherein the device under test includes at least one of: a network address translator (NAT), a firewall, an intrusion detection system (IDS), an intrusion protection system (IPS), a deep packet inspection (DPI) device, a wide area network (WAN) optimization device, a layer 7 accelerator, and a server load balancer (SLB).

5. The method of claim 1 wherein each value w i represents a smallest number of times to execute the ith flow to achieve the desired traffic distribution.

6. The method of claim 1 wherein the desired traffic distribution comprises a ratio of a volume of traffic from each flow to a total volume of traffic from all of the flows.

7. A method for generating simulated network traffic using a plurality of different traffic flows and maintaining a configured distribution between the flows and a device under test, the method comprising:

at a network emulator:

determining a number of operations per flow for each of a plurality of flows that generate simulated network traffic between the flows and a device under test;

determining a desired traffic distribution among the traffic generated by the traffic flows;

assigning a weight to each flow that determines the number of times to execute each flow during execution of a batch of flows; and

executing the flows in batches according to the assigned weights to generate the desired distribution of traffic between the different flows and the device under test, wherein executing the flows in batches comprises executing the batches in parallel such that the configured distribution is maintained within each batch boundary.

8. The method of claim 1 wherein executing the flows in batches comprises, within each batch, interleaving the w i executions of the flows with each other.

9. The method of claim 1 wherein executing the flows in batches comprises, within each batch, executing each i th flow w i times before executing the (i+1) th flow.

10. A method for generating simulated network traffic using a plurality of different traffic flows and maintaining a configured distribution between the flows and a device under test, the method comprising:

at a network emulator:

determining a number of operations per flow for each of a plurality of flows that generate simulated network traffic between the flows and a device under test;

determining a desired traffic distribution among the traffic generated by the traffic flows;

assigning a weight to each flow that determines the number of times to execute each flow during execution of a batch of flows;

executing the flows in batches according to the assigned weights to generate the desired distribution of traffic between the different flows and the device under test; and

monitoring the number of operations per flow and automatically updating the weights in response to changes in the number of operations per flow.

11. A system for generating simulated network traffic using a plurality of different traffic flows and maintaining a configured distribution between the flows and a device under test, the system comprising:

plurality of traffic flows that generate simulated network traffic between the flows and a device under test; and

a traffic flow execution controller for determining a number of operations per flow for each of the traffic flows, for determining a desired traffic distribution among the traffic generated by the traffic flows, for assigning a weight to each flow that determines the number of times to execute each flow during execution of a batch of flows, and for executing the flows in batches according to the assigned weights to generate the desired distribution of traffic between the different flows and the device under test;

wherein each of the weights indicates a number of times to execute a flow in a given batch and wherein executing the flows in batches includes executing each flow w i times in a given batch, where w i is the weight that defines the number of times for executing the ith flow in a batch to achieve the desired traffic distribution.

12. The system of claim 11 wherein each of the flows generates application layer traffic between each flow and the device under test.

13. The system of claim 11 wherein determining a desired traffic distribution includes receiving input from a user regarding a desired ratio of traffic among the flows.

14. The system of claim 11 wherein the device under test includes at least one of: a network address translator (NAT), a firewall, an intrusion detection system (IDS), an intrusion protection system (IPS), a deep packet inspection (DPI) device, a wide area network (WAN) optimization device, a layer 7 accelerator, and a server load balancer (SLB).

15. The system of claim 11 wherein each value w i represents a smallest number of times to execute the ith flow to achieve the desired traffic distribution.

16. The system of claim 11 wherein the desired traffic distribution comprises a ratio of a volume of traffic generated by each flow to a total volume of traffic generated by all of the flows.

17. A system for generating simulated network traffic using a plurality of different traffic flows and maintaining a configured distribution between the flows and a device under test, the system comprising:

a plurality of traffic flows that generate simulated network traffic between the flows and a device under test; and

a traffic flow execution controller for determining a number of operations per flow for each of the traffic flows, for determining a desired traffic distribution among the traffic generated by the traffic flows, for assigning a weight to each flow that determines the number of times to execute each flow during execution of a batch of flows, and for executing the flows in batches according to the assigned weights to generate the desired distribution of traffic between the different flows and the device under test, wherein executing the flows in batches comprises executing the batches in parallel such that the configured distribution is maintained within each batch boundary.

18. The system of claim 15 wherein executing the flows in batches comprises, within each batch, interleaving the w i executions of the flows with each other.

19. The system of claim 15 wherein executing the flows in batches comprises, within each batch, executing each i th flow w i times before executing the (i+) th flow.

20. A system for generating simulated network traffic using a plurality of different traffic flows and maintaining a configured distribution between the flows and a device under test, the system comprising:

a plurality of traffic flows that generate simulated network traffic between the flows and a device under test; and

a traffic flow execution controller for determining a number of operations per flow for each of the traffic flows, for determining a desired traffic distribution among the traffic generated by the traffic flows, for assigning a weight to each flow that determines the number of times to execute each flow during execution of a batch of flows, for executing the flows in batches according to the assigned weights to generate the desired distribution of traffic between the different flows and the device under test for monitoring the number of operations per flow, and for automatically updating the weights in response to changes in the number of operations per flow.

21. A non-transitory computer readable medium having stored thereon executable instructions that when executed by the processor of a computer control the computer to perform steps comprising:

determining a number of operations per flow for each of a plurality of flows that generate simulated network traffic between the flows and a device under test;

determining a desired traffic distribution among the traffic generated by the traffic flows;

assigning a weight to each flow that determines the number of times to execute each flow during execution of a batch of flows; and

executing the flows in batches according to the assigned weights to generate the desired distribution of traffic between the different flows and the device under test;

wherein each of the weights indicates a number of times to execute a flow in a given batch and wherein executing the flows in batches includes executing each flow w i times in a wen batch where w i is the weight that defines the number of times for executing the ith flow in a batch to achieve the desired traffic distribution.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2018
From: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
To: KEYSIGHT TECHNOLOGIES SINGAPORE (SALES) PTE. LTD.
Reel/Frame 048225/0065 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2017
From: IXIA
To: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
Reel/Frame 044222/0695 →
RELEASE OF SECURITY INTEREST Recorded Apr 26, 2017
From: SILICON VALLEY BANK, AS SUCCESSOR ADMINISTRATIVE AGENT
To: IXIA
Reel/Frame 042335/0465 →
NOTICE OF SUBSTITUTION OF ADMINISTRATIVE AGENT Recorded Feb 2, 2015
From: BANK OF AMERICA, N.A., RESIGNING ADMINISTRATIVE AGENT
To: SILICON VALLEY BANK, AS SUCCESSOR ADMINISTRATIVE AGENT
Reel/Frame 034870/0598 →