IP Library Granted Patent US 8,687,483
Granted Patent B2
US 8,687,483 · App. 13/240,746 · Granted Apr 1, 2014

Parallel traffic generator with priority flow control

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 8,687,483
App. No.
13/240,746
Granted
Apr 1, 2014
Kind
B2
Abstract

An apparatus to generate test traffic for testing a network. A scheduler may provide packet definition data for a sequence of packets, each packet associated with a respective flow control group. A channelized schedule FIFO (first-in first-out) queue may store the packet definition data. The channelized schedule FIFO queue may include multiple parallel channels, each channel dedicated to storing packet definition data associated with a corresponding flow control group. A plurality of non-channelized packet builder lanes may build packets in accordance with packet definition data read from the channelized schedule FIFO. A channelized output FIFO buffer may store packets built by the plurality of packet builder lanes. The channelized output FIFO buffer may include multiple parallel channels, each channel dedicated to storing packets associated with a corresponding flow control group. An output multiplexor may interleave packets from the channelized output FIFO buffer to form the test traffic.

Claims (56)

1. An apparatus to generate test traffic for testing a network, comprising:

a scheduler to provide packet definition data for a sequence of packets to be built, each packet uniquely associated with a respective flow control group from a plurality of flow control groups;

a channelized schedule queue to store the packet definition data, the channelized schedule queue including a plurality of parallel channels, each channel dedicated to storing packet definition data associated with a corresponding one of the plurality of flow control groups;

a distributor configured to combine packet definition data read from the channels of the channelized schedule queue with stateful packet content to create packet forming data;

a plurality of non-channelized packet builder lanes to independently build packets in accordance with the packet forming data provided by the distributor, each lane configured as a pipeline, wherein each packet must travel through all sequential stages of the pipeline and exit the lane before any subsequent packet in the lane can be completed;

a channelized packet buffer to store packets built by the plurality of non-channelized packet builder lanes, the channelized packet buffer including a plurality of parallel channels, each channel dedicated to storing packets associated with a corresponding one of the plurality of flow control groups; and

an output multiplexor to interleave packets from the channels of the channelized packet buffer to provide the test traffic.

2. The apparatus of claim 1 , further comprising:

flow control logic configured to selectively pause and unpause one or more of the flow control groups in response to received flow control packets, wherein

the output multiplexor discontinues reading packets from channels of the channelized packet buffer associated with paused flow control groups.

3. The apparatus of claim 1 , wherein

the distributor comprises a model to predict a capacity of each channel of the channelized packet buffer, and

the distributor routes each item of packet forming data to a selected non-channelized packet builder lane only if the predicted capacity of the corresponding channel of the channelized packet buffer is sufficient to hold the packet defined by the packet forming data.

4. The apparatus of claim 1 , wherein

the channelized packet buffer is configured to store packets in each channel in accordance with packet sequence data provided by the distributor.

5. The apparatus of claim 1 , wherein

the channelized schedule queue is configured to inform the scheduler when one more channels are full, and

the scheduler is configured to discontinue scheduling flow control groups associated with full channels.

6. A method for generating test traffic to test a network, comprising:

generating packet definition data for a sequence of packets to be built, each packet uniquely associated with a respective flow control group from a plurality of flow control groups;

storing the packet definition data in a channelized schedule queue, the channelized schedule queue including a plurality of parallel channels, each channel dedicated to storing packet definition data associated with a corresponding one of the plurality of flow control groups;

a distributor combining packet definition data read from the channels of the channelized schedule queue with stateful packet content to create packet forming data;

a plurality of non-channelized packet builder lanes independently building packets in accordance with the packet forming data, each packet builder lane configured as a pipeline, wherein each packet must travel through all sequential stages of the pipeline and exit the lane before any subsequent packet in the lane can be completed;

storing built packets in a channelized packet buffer, the channelized packet buffer including a plurality of parallel channels, each channel dedicated to storing packets associated with a corresponding one of the plurality of flow control groups; and

interleaving packets read from the channels of the channelized packet buffer to provide the test traffic.

7. The method of claim 6 , further comprising:

receiving flow control packets;

selectively pausing and unpausing one or more flow control groups in response to the received flow control packets; and

discontinuing reading packets from channels of the channelized packet buffer associated with paused flow control groups.

8. The method of claim 6 , further comprising:

the distributor maintaining a model to predict a capacity of each channel of the channelized packet buffer; and

the distributor routing each item of packet definition data to a selected non-channelized packet builder lane only if a predicted capacity of the corresponding channel of the channelized packet buffer is sufficient to hold the packet defined by the packet definition data.

9. The method of claim 6 , further comprising:

storing the built packets in each channel of the channelized packet buffer in accordance with packet sequence data provided by the distributor.

10. The method of claim 6 , further comprising:

the channelized schedule queue determining when one or more channels are full; and

discontinuing generating packet definition data for flow control groups associated with full channels.

11. A non-transitory computer-readable storage medium storing programming code which, when used to program a programmable device, configures the programmable device to perform actions comprising:

generating packet definition data for a sequence of packets to be built, each packet uniquely associated with a respective flow control group from a plurality of flow control groups;

storing the packet definition data in a channelized schedule queue, the channelized schedule queue including a plurality of parallel channels, each channel dedicated to storing packet definition data associated with a corresponding one of the plurality of flow control groups;

a distributor combining packet definition data read from the channels of the channelized schedule queue with stateful packet content to create packet forming data;

a plurality of non-channelized packet builder lanes independently building packets in accordance with the packet forming data, each packet builder lane comprising a pipeline wherein each packet must travel through all sequential stages of the pipeline and exit the lane before any subsequent packet in the lane can be completed;

storing built packets in a channelized packet buffer, the channelized packet buffer including a plurality of parallel channels, each channel dedicated to storing packets associated with a corresponding one of the plurality of flow control groups; and

interleaving packets read from the channels of the channelized packet buffer to provide the test traffic.

12. The non-transitory computer-readable storage medium of claim 11 , the actions performed further comprising:

receiving flow control packets;

selectively pausing and unpausing one or more flow control groups in response to the received flow control packets; and

discontinuing reading packets from channels of the channelized packet buffer associated with paused flow control groups.

13. The non-transitory computer-readable storage medium of claim 11 , the actions performed further comprising:

the distributor maintaining a model to predict a capacity of each channel of the channelized packet buffer; and

the distributor routing each item of packet definition data to the selected channelized packet builder lane only if a predicted capacity of the corresponding channel of the channelized packet buffer is sufficient to hold the packet defined by the packet definition data.

14. The non-transitory computer-readable storage medium of claim 11 , the actions performed further comprising:

storing the built packets in each channel of the channelized packet buffer in accordance with packet sequence data provided by the distributor.

15. The non-transitory computer-readable storage medium of claim 11 , the actions performed further comprising:

the channelized schedule queue determining when one or more channels are full; and

discontinuing generating packet definition data for flow control groups associated with full channels of the channelized schedule queue.

Assignments (6)
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 →
SECURITY AGREEMENT Recorded Jan 25, 2013
From: IXIA
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 029698/0060 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2012
From: HUTCHISON, MICHAEL; KOWALSKI, CHRISTOPHER; LUKING, ROBERT
To: IXIA
Reel/Frame 027516/0537 →