IP Library Granted Patent US 8,068,429
Granted Patent B2
US 8,068,429 · App. 11/756,460 · Granted Nov 29, 2011

Transmit scheduling

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,068,429
App. No.
11/756,460
Granted
Nov 29, 2011
Kind
B2
Abstract

There are disclosed apparatus and methods for scheduling packet transmission. At least one scheduled traffic queue holds a plurality of scheduled packets, each scheduled packet having an associated scheduled transmit time. At least one unscheduled traffic queue holds plurality of unscheduled packets. A packet selector causes transmission of scheduled packets from the scheduled traffic queue at the associated scheduled transmit time, while causing transmission of unscheduled packets from the unscheduled traffic queue during the time intervals between transmissions of scheduled packets.

Claims (76)

1. A traffic generator for providing a packet stream to measure jitter of a network under test, the traffic generator comprising:

at least one packet generator to generate scheduled and unscheduled packets;

a transmit scheduler comprising:

at least one scheduled traffic queue for holding scheduled packets generated by the at least one packet generator,

a first transmit time store for storing scheduled transmit times associated respectively with the scheduled packets held in the at least one scheduled traffic queue,

at least one unscheduled traffic queue for holding unscheduled packets generated by the at least one packet generator, and

a packet selector coupled to the at least one scheduled traffic queue, the transmit time store, and the at least one unscheduled traffic queue;

a packet processor that receives scheduled and unscheduled packets from the packet selector and processes the received packets prior to transmission; and

a physical interface unit that transmits packets from the packet processor over an interface,

wherein

the packet selector provides scheduled packets to the packet processor in advance of the respective scheduled transmit times by an amount equal to a latency of the packet processor and the physical interface unit, such that each scheduled packet is transmitted at the respective scheduled transmit time within a tolerance that is smaller than an anticipated jitter of the network under test, and

the packet selector causes transmission of unscheduled packets during time intervals between transmissions of scheduled packets.

2. The traffic generator of claim 1 , wherein

the process performed by the packet processor are one more process selected from the group consisting of checksum calculation, encryption, and any other process having a predictable latency.

3. The traffic generator of claim 1 , wherein the packet processor and the physical interface unit have a constant latency for all packets.

4. The traffic generator of claim 1 , wherein the packet processor and the physical interface unit have a latency that is, at least in part, dependent on the length of the packet being processed.

5. The traffic generator of claim 1 , further comprising:

a second transmit time store for holding the scheduled transmit times associated with scheduled packets being processed by the packet processor; and

a transmit time comparator to compare the scheduled transmit time from the second transmit time store with an actual transmit time of each scheduled packet.

6. A system for testing a device, the device under test connected to the system by means of a network, the system comprising:

a traffic generator for providing a packet stream containing scheduled and unscheduled packets, the traffic generator comprising:

at least one packet generator to generate scheduled and unscheduled packets;

a transmit scheduler comprising:

at least one scheduled traffic queue for holding scheduled packets generated by the at least one packet generator,

a transmit time store for storing scheduled transmit times associated respectively with the scheduled packets in the at least one scheduled traffic queue,

at least one unscheduled traffic queue for holding unscheduled packets generated by the at least one packet generator, and

a packet selector coupled to the at least one scheduled traffic queue, the transmit time store, and the unscheduled traffic queue;

a packet processor that receives scheduled and unscheduled packets from the packet selector and processes the received packets prior to transmission; and

a physical interface unit that transmits packets from the packet processor to the device under test via the network; and

a receiver-analyzer that receives the scheduled and unscheduled packets from the device under test via the network and determines a latency time for each scheduled packet,

wherein

the packet selector provides scheduled packets to the packet processor in advance of the respective scheduled transmit times by an amount equal to a latency of the packet processor and the physical interface unit, such that each scheduled packet is transmitted at the respective scheduled transmit time within a tolerance that is smaller than an anticipated jitter of the device, and

the packet selector causes transmission of unscheduled packets during time intervals between transmissions of scheduled packets.

7. The system for testing a device of claim 6 , further comprising:

a link to convey scheduled transmit time data from the traffic generator to the receiver-analyzer.

8. The system for testing a device of claim 6 , further comprising:

a precision time synchronizer to synchronize the traffic generator and the receiver-analyzer.

9. A method for generating test traffic to measure jitter of a network under test, comprising:

holding scheduled packets in at least one scheduled traffic queue;

storing scheduled transmit times respectively associated with the scheduled packets held in the scheduled traffic queue in a transmit time store;

holding unscheduled packets in at least one unscheduled traffic queue, the next unscheduled packet being held at a head of the unscheduled traffic queue;

processing packets from the at least one scheduled traffic queue and the at least one unscheduled traffic queue by a packet processor; and

transmitting processed packets from the packet processor to the network under test via a physical interface unit,

wherein

each scheduled packet from the at least one scheduled traffic queue is input to the packet processor in advance of the respective scheduled transmit time by a time interval equal to a latency of the packet processor and the physical interface unit such that each scheduled packet is transmitted from the physical interface unit at the associated scheduled transmit time within a tolerance that is smaller than an anticipated jitter of the network under test, and

unscheduled packets from the at least one unscheduled traffic queue are transmitted during time intervals between transmission of scheduled packets.

10. The method for generating test traffic of claim 9 , wherein the transmission of unscheduled packets fills the time intervals between transmissions of scheduled packets to the extent possible without delaying the transmission of scheduled packets.

11. The method for generating test traffic of claim 9 , further comprising:

determining a duration of a time window between the completion of transmission of a packet currently being transmitted and the scheduled transmit time of the next scheduled packet to be transmitted; and

if the unscheduled packet at the head of the at least one unscheduled traffic queue can be transmitted within the time window, causing transmission of the unscheduled packet at the head of the unscheduled traffic queue.

12. The method for generating test traffic of claim 9 , further comprising:

holding the lengths of packets in the at least one scheduled traffic queue and the unscheduled traffic queue in scheduled and unscheduled packet length stores, respectively.

13. The method for generating test traffic of claim 9 , wherein

the at least one unscheduled traffic queue comprises a plurality of unscheduled traffic queues, and

the method further comprising using unscheduled traffic priority rules to select unscheduled packets from the heads of the plurality of unscheduled traffic queues for transmission.

14. The method for generating test traffic of claim 9 , wherein

the at least one scheduled traffic queue comprises a plurality of scheduled traffic queues, and

the method further comprising using scheduled traffic priority rules to select a scheduled packet from the plurality of scheduled traffic queues in situations where the scheduled transmit times for packets from two or more scheduled traffic queues conflict.

15. A method for forming a packet stream to measure jitter of a network under test, the method comprising:

holding scheduled packets to be transmitted in one or more scheduled traffic queues;

storing scheduled transmit times respectively associated with the scheduled packets in the one or more scheduled traffic queues in a transmit time store;

holding unscheduled packets to be transmitted in one or more unscheduled traffic queues;

selecting packets for transmission from the one or more scheduled traffic queues and the one or more unscheduled traffic queues; and

processing each selected packet by a packet processor prior to transmission, the processing having a latency,

wherein selecting packets for transmission further comprises:

providing each scheduled packet from the one or more scheduled traffic queues to the packet processor in advance of the associated scheduled transmit time by a time interval equal to the latency such that each schedule packet may be transmitted at the respective transmit time within a tolerance that is smaller than an anticipated jitter of the network under test;

determining a duration of a time window between the completion of transmission of a packet currently being transmitted and the scheduled transmit time of the next scheduled packet to be transmitted; and

selecting one or more unscheduled packets that can be transmitted within the time window.

16. The method of claim 15 , further comprising:

holding the lengths of packets in the one or more scheduled traffic queues and the one or more unscheduled traffic queues in a scheduled packet length store and an unscheduled packet length store, respectively.

17. The method of claim 15 , wherein

the one or more unscheduled traffic queues comprise a plurality of unscheduled traffic queues, and

the method further comprising using unscheduled packet priority rules to select unscheduled packets from the heads of the plurality of unscheduled traffic queues for transmission.

18. The method of claim 15 , wherein

the one or more scheduled traffic queues comprise a plurality of scheduled traffic queues, and

the method further comprising using scheduled packet priority rules to select a scheduled packet from the plurality of scheduled traffic queues in situations where the scheduled transmit times for packets from two or more scheduled traffic queues conflict.

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 Aug 21, 2007
From: RITTMEYER, BRYAN; REGEV, ALON; PEPPER, GERALD R.
To: IXIA
Reel/Frame 019728/0175 →