IP Library Granted Patent US 8,456,999
Granted Patent B2
US 8,456,999 · App. 13/212,978 · Granted Jun 4, 2013

Methods and apparatuses for enhanced transmission selection-capable simulated traffic generation

Inventor: William T. Hatley (San Jose, CA)
Assignee: Spirent Communications, Inc.
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,456,999
App. No.
13/212,978
Granted
Jun 4, 2013
Kind
B2
Abstract

Various aspects of the disclosed technology relate to the generation for test purposes of test traffic, in a manner compliant with advanced flow control.

Claims (58)

1. A method of test packet generation for high packet volume tests that supports dynamic bandwidth sharing among multiple traffic classes with decreased memory requirements for queued test packets awaiting transmission, comprising:

ordering incomplete versions of the plurality of test packets distributed among a plurality of traffic class queues in a programmable logic device having configurable interconnections to determine an order of transmitting the plurality of test packets from the physical port, wherein the programmable logic device has a programmable logic device memory that is not large enough to hold complete versions of all of the plurality of test packets represented by the plurality of traffic class queues;

generating, with the programmable logic device, complete versions of the plurality of test packets from the incomplete versions of the plurality of test packets, and adding timestamps; and

dispatching from the programmable logic device, the complete versions of the plurality of test packets via the physical port in the determined order according to the timestamps.

2. The method of claim 1 , further comprising:

generating, with a microprocessor, test packet ingredients and test packet recipes of the incomplete versions of a first subset of the plurality of test packets;

retrieving the test packet ingredients and the test packet recipes of the first subset of the incomplete versions of the plurality of test packets, from a microprocessor memory of the microprocessor, via at least a local bus, into the programmable logic device memory of the programmable logic device;

generating, with the programmable logic device, test packet ingredients and test packet recipes of the incomplete versions of a second subset of the plurality of test packets; and

moving, at the programmable logic device, the incomplete versions of the first subset of the plurality of test packets and the incomplete versions of the second subset of the plurality of test packets into the plurality of traffic class queues.

3. The method of claim 1 , wherein the plurality of traffic class queues have fronts from which the incomplete versions of the test packets are removed and backs to which the incomplete versions of the test packets are added, and the complete versions are generated from among the incomplete versions at the fronts of the plurality of traffic class queues.

4. The method of claim 1 , wherein the incomplete versions of the plurality of test packets being ordered by the plurality of traffic class queues, include test packet ingredients and test packet recipes of the plurality of test packets.

5. The method of claim 1 , wherein the plurality of traffic class queues represent queued test packets with queued records that include addresses in the programmable logic device memory of the programmable logic device which locate the incomplete versions of the queued packets.

6. The method of claim 1 , wherein the plurality of traffic class queues represent queued test packets with queued records that include test packet lengths indicating lengths of complete versions of the plurality of test packets that are presently stored as incomplete versions in the programmable logic device memory of the programmable logic device.

7. The method of claim 1 , wherein the plurality of traffic class queues represent queued test packets with queued records that include test packet lengths indicating lengths of incomplete versions of the plurality of test packets that are presently stored as incomplete versions in the programmable logic device memory of the programmable logic device.

8. The method of claim 1 , wherein the plurality of traffic class queues comply with an Enhanced Transmission Selection standard of selecting a next test packet to transmit from among the plurality of test packets distributed among the plurality of traffic class queues.

9. The method of claim 1 , further comprising:

generating, with a microprocessor, test packet ingredients and test packet recipes of the incomplete versions of the plurality of test packets;

retrieving the test packet ingredients and the test packet recipes of the incomplete versions of the plurality of test packets, from a microprocessor memory of the microprocessor, via at least a local bus, into the programmable logic device memory of the programmable logic device; and

moving, at the programmable logic device, the incomplete versions of the plurality of test packets into the plurality of traffic class queues.

10. The method of claim 1 , further comprising:

generating, with the programmable logic device, test packet ingredients and test packet recipes of the incomplete versions of the plurality of test packets; and

moving, at the programmable logic device, the incomplete versions of the plurality of test packets into the plurality of traffic class queues.

11. An apparatus for test packet generation for high packet volume tests that supports dynamic bandwidth sharing among multiple traffic classes with decreased memory requirements for queued test packets awaiting transmission, including:

a programmable logic device with a programmable logic device memory that is not large enough to hold complete versions of all of a plurality of test packets represented by a plurality of traffic class queues, wherein the programmable logic device is coupled to the microprocessor memory by at least a local bus;

a physical port dispatching complete versions of the plurality of test packets from the programmable logic device;

a programmable logic device module running on the programmable logic device with configurable interconnections that:

orders incomplete versions of the plurality of test packets distributed among a plurality of traffic class queues to determine an order of transmitting the plurality of test packets from the physical port;

generates, with the programmable logic device, complete versions of the plurality of test packets from the incomplete versions of the plurality of test packets, and adds timestamps; and

dispatches from the programmable logic device, the complete versions of the plurality of test packets via the physical port in the determined order according to the timestamps.

12. The apparatus of claim 11 , further comprising:

a microprocessor with a microprocessor memory; and

a microprocessor module running on the microprocessor that:

generates, with the microprocessor, test packet ingredients and test packet recipes of the incomplete versions of a first subset of the plurality of test packets; and

wherein the programmable logic device running on the programmable logic device performs:

retrieves the test packet ingredients and the test packet recipes of the first subset of the incomplete versions of the plurality of test packets, from a microprocessor memory of the microprocessor, via at least a local bus, into the programmable logic device memory of the programmable logic device;

generates, with the programmable logic device, test packet ingredients and test packet recipes of the incomplete versions of a second subset of the plurality of test packets; and

moves, at the programmable logic device, the incomplete versions of the first subset of the plurality of test packets and the incomplete versions of the second subset of the plurality of test packets into the plurality of traffic class queues.

13. The apparatus of claim 11 , wherein the plurality of traffic class queues have fronts from which the incomplete versions of the test packets are removed and backs to which the incomplete versions of the test packets are added, and the complete versions are generated from among the incomplete versions at the fronts of the plurality of traffic class queues.

14. The apparatus of claim 11 , wherein the incomplete versions of the plurality of test packets being ordered by the plurality of traffic class queues, include test packet ingredients and test packet recipes of the plurality of test packets.

15. The apparatus of claim 11 , wherein the plurality of traffic class queues represent queued test packets with queued records that include addresses in the programmable logic device memory of the programmable logic device which locate the incomplete versions of the queued packets.

16. The apparatus of claim 11 , wherein the plurality of traffic class queues represent queued test packets with queued records that include test packet lengths indicating lengths of complete versions of the plurality of test packets that are presently stored as incomplete versions in the programmable logic device memory of the programmable logic device.

17. The apparatus of claim 11 , wherein the plurality of traffic class queues represent queued test packets with queued records that include test packet lengths indicating lengths of incomplete versions of the plurality of test packets that are presently stored as incomplete versions in the programmable logic device memory of the programmable logic device.

18. The apparatus of claim 11 , wherein

the plurality of traffic class queues comply with an Enhanced Transmission Selection standard of selecting a next test packet to transmit from among the plurality of test packets distributed among the plurality of traffic class queues.

19. The apparatus of claim 11 , further comprising:

a microprocessor with a microprocessor memory; and

a microprocessor module running on the microprocessor that:

generates, with the microprocessor, test packet ingredients and test packet recipes of the incomplete versions of the plurality of test packets; and

wherein the programmable logic device running on the programmable logic device performs:

retrieves the test packet ingredients and the test packet recipes of the incomplete versions of the plurality of test packets, from the microprocessor memory of the microprocessor, via at least a local bus, into the programmable logic device memory of the programmable logic device; and

moves, at the programmable logic device, the incomplete versions of the plurality of test packets into the plurality of traffic class queues.

20. The apparatus of claim 11 , wherein the programmable logic device running on the programmable logic device performs:

generates, with the programmable logic device, test packet ingredients and test packet recipes of the incomplete versions of the plurality of test packets; and

moving, at the programmable logic device, the incomplete versions of the plurality of test packets into the plurality of traffic class queues.

21. A non-transitory computer readable medium encoded with executable instructions for test packet generation for high packet volume tests that support dynamic bandwidth sharing among multiple traffic classes with decreased memory requirements for queued test packets awaiting transmission, comprising:

computer executable instructions for ordering, with a programmable logic device having configurable interconnections, incomplete versions of the plurality of test packets distributed among a plurality of traffic class queues in a programmable logic device to determine an order of transmitting the plurality of test packets from the physical port, wherein the programmable logic device has a programmable logic device memory that is not large enough to hold complete versions of all of the plurality of test packets represented by the plurality of traffic class queues;

computer executable instructions for generating, with the programmable logic device, complete versions of the plurality of test packets from the incomplete versions of the plurality of test packets, and adding timestamps; and

computer executable instructions for dispatching, from the programmable logic device, the complete versions of the plurality of test packets via the physical port in the determined order according to the timestamps.

Assignments (5)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 73189/0873 Recorded May 28, 2026
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: INERTIAL LABS, INC.; VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC
Reel/Frame 075642/0381 →
SECURITY INTEREST Recorded Nov 14, 2025
From: VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC; INERTIAL LABS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 073571/0137 →
SECURITY AGREEMENT Recorded Oct 21, 2025
From: INERTIAL LABS, INC.; VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 073189/0873 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2025
From: SPIRENT COMMUNICATIONS, INC.
To: VIAVI SOLUTIONS LICENSING LLC
Reel/Frame 073121/0549 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2011
From: HATLEY, WILLIAM T.
To: SPIRENT COMMUNICATIONS, INC.
Reel/Frame 026774/0602 →
Continuity (1)
Related Publication 20130044604A1 · Feb 21, 2013