IP Library Granted Patent US 7,961,630
Granted Patent B2
US 7,961,630 · App. 11/904,416 · Granted Jun 14, 2011

Methods and apparatus for stimulating packet-based systems

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 7,961,630
App. No.
11/904,416
Granted
Jun 14, 2011
Kind
B2
Abstract

In one embodiment, a packet-based system having a number of buses is stimulated using apparatus having 1) a hardware interface configured to provide data packets to the buses; 2) a plurality of hardware-based queue schedulers, each configured to schedule data packets received from a respective one of a plurality of data packet sources, in a respective one of a plurality of hardware-based queues; and 3) a hardware-based priority scheduler configured to cause each particular queue to transmit a next highest priority data packet over one of the buses, based on i) timing requirements of the next highest priority data packet in the particular queue, and ii) a determination that transmission of the next highest priority data packet in the particular queue will not delay a transmission of a higher priority data packet in another one of the hardware-based queues.

Claims (36)

1. A method for stimulating a packet-based system having a number of buses, comprising:

generating a first plurality of data packets for stimulating the packet-based system;

scheduling the first plurality of data packets in a first hardware-based queue;

generating a second plurality of data packets for stimulating the packet-based system;

scheduling the second plurality of data packets in a second hardware-based queue; and

for each particular queue in a plurality of hardware-based queues including the first and second hardware-based queues, transmitting a next highest priority data packet in the particular queue, via a hardware-based scheduler, over one of the number of buses, based on i) timing requirements of the next highest priority data packet in the particular queue, and ii) a determination that transmission of the next highest priority data packet in the particular queue will not delay a transmission of a higher priority data packet in another one of the plurality of queues;

wherein the first and second pluralities of data packets are respectively generated using first and second data packet generation methodologies, wherein the first data packet generation methodology differs from the second data packet generation methodology.

2. The method of claim 1 , wherein the next highest priority data packet in the particular queue is further transmitted over the one of the number of buses based on a requirement of the packet-based system.

3. The method of claim 1 , wherein the next highest priority data packet in the particular queue is further transmitted over the one of the number of buses based on feedback from the packet-based system.

4. The method of claim 1 , wherein the number of buses comprises a plurality of buses, and wherein the method further comprises transmitting the next highest data packet over the one of the number of buses in coordination with one or more data packets transmitted over one or more other ones of the plurality of buses.

5. The method of claim 1 , wherein timing requirements of the next highest priority data packet in the particular queue comprise both i) a scheduled send start time, and ii) a send duration.

6. The method of claim 1 , wherein ones of the plurality of hardware-based queues are assigned priorities, and wherein the determination that transmission of the next highest priority data packet in the particular queue will not delay a transmission of a higher priority data packet in another one of the plurality of hardware-based queues is made, at least in part, based on the assigned priorities of the hardware-based queues.

7. The method of claim 1 , further comprising, scheduling at least some of the data packets, in the first or second queue, based on timing requirements associated with the at least some data packets.

8. The method of claim 1 , further comprising, scheduling at least some of the data packets, in the first or second queue, based on a requirement of the packet-based system.

9. Apparatus for stimulating a packet-based system having a number of buses, comprising:

a hardware interface configured to provide data packets to the number of buses, to stimulate the packet-based system;

a plurality of hardware-based queue schedulers, each configured to schedule data packets received from a respective one of a plurality of data packet sources, in a respective one of a plurality of hardware-based queues; and

a hardware-based priority scheduler configured to cause each particular queue in the plurality of hardware-based queues to transmit a next highest priority data packet in the particular queue over one of the number of buses, based on i) timing requirements of the next highest priority data packet in the particular queue, and ii) a determination that transmission of the next highest priority data packet in the particular queue will not delay a transmission of a higher priority data packet in another one of the plurality of hardware-based queues;

wherein different ones of the plurality of hardware-based queue schedulers are configured to schedule data packets that are generated using different data packet generation methodologies.

10. The apparatus of claim 9 , wherein the hardware-based priority scheduler further causes the next highest priority data packet in the particular queue to be transmitted over the one of the number of buses based on a requirement of the packet-based system.

11. The apparatus of claim 9 , wherein the hardware-based priority scheduler further causes the next highest priority data packet in the particular queue to be transmitted over the one of the number of buses based on feedback from the packet-based system.

12. The apparatus of claim 9 , wherein the number of buses to which the hardware interface is configured to provide the data packets comprises a plurality of buses, and wherein the hardware-based priority scheduler further causes the next highest data packet to be transmitted over the one of the number of buses in coordination with one or more data packets transmitted over one or more other ones of the plurality of buses.

13. The apparatus of claim 9 , wherein timing requirements of the next highest priority data packet in the particular queue comprise both a scheduled send start time and a scheduled send duration, and wherein the hardware-based priority scheduler determines whether transmission of the next highest priority data packet in the particular queue will delay a transmission of a higher priority data packet in another one of the plurality of hardware-based queues based, at least in part, on said timing requirements of the at least some data packets.

14. The apparatus of claim 9 , wherein the hardware-based priority scheduler receives assigned priorities of ones of the plurality of hardware-based queues, and wherein the hardware-based priority scheduler determines whether transmission of the next highest priority data packet in the particular queue will delay a transmission of a higher priority data packet in another one of the plurality of hardware-based queues based, at least in part, on the assigned priorities of the hardware-based queues.

15. The apparatus of claim 9 , wherein at least one of the hardware-based queue schedulers schedules at least some of the data packets based on timing requirements associated with the at least some data packets.

16. The apparatus of claim 9 , further comprising a field-programmable gate array configured to provide the hardware interface, the plurality of hardware-based queue schedulers, and the hardware-based priority scheduler.

17. The apparatus of claim 9 , wherein the plurality of hardware-based queue schedulers comprises:

a first hardware-based queue scheduler that schedules data packets according to a pattern of data packets that is to be provided to one of the number of buses; and

a second hardware-based queue scheduler that schedules repeating data packets that are to be provided to another one of the number of buses.

18. The apparatus of claim 9 , wherein the plurality of hardware-based queue schedulers comprises:

a first hardware-based queue scheduler that schedules data packets according to a pattern of data packets that is to be provided to one of the number of buses; and

a second hardware-based queue scheduler that randomly schedules data packets that are to be provided to another one of the number of buses.

19. The apparatus of claim 9 , wherein the plurality of hardware-based queue schedulers comprises:

a first hardware-based queue scheduler that schedules data packets according to a pattern of data packets that is to be provided to one of the number of buses; and

a second hardware-based queue scheduler that schedules data packets with pseudo-random payloads that are to be provided to another one of the number of buses.

20. The apparatus of claim 9 , further comprising a graphical user interface (GUI), wherein the GUI provides a mechanism for a user to define packet header information and packet payload information for the data packets provided by one or more of the plurality of data packet sources.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2014
From: AGILENT TECHNOLOGIES, INC.
To: KEYSIGHT TECHNOLOGIES, INC.
Reel/Frame 033746/0714 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2007
From: ERICKSON, BRUCE ALAN
To: AGILENT TECHNOLOGIES, INC.
Reel/Frame 020179/0546 →