IP Library Granted Patent US 9,985,864
Granted Patent B2
US 9,985,864 · App. 12/850,505 · Granted May 29, 2018

High precision packet generation in software using a hardware time stamp counter

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,985,864
App. No.
12/850,505
Granted
May 29, 2018
Kind
B2
Abstract

There is disclosed a system and method for high precision packet generation in software using a hardware time stamp counter. The method may include receiving user selection to create a network test and receiving test information from the user, the test information including a packet transmission rate. A packet transmission interval may be calculated based on the packet transmission rate. The network test is executed. Packets are transmitted at the packet transmission rate, including checking a hardware counter to learn if the packet transmission interval has elapsed and, when the packet transmission interval has elapsed, sending the packet over a network. The method may be performed by a network testing system or computing device.

Claims (24)

1. A network testing system having at least one network card, the network card including a processor, a hardware counter, a memory and a network communications unit, the network testing system coupled with a network, the network testing system having instructions stored thereon which when executed cause the network testing system to perform operations comprising:

receiving user selection to create a network test;

receiving test information from the user, the test information including a transmission rate and packet creation information;

calculating a packet transmission interval based on the transmission rate, wherein the packet transmission interval defines how often packets will be sent to achieve evenness in packet transmissions during a time period at the user specified packet transmission rate;

receiving user selection to execute the network test transmitting packets specified in the network test over the network at the packet transmission rate, including:

preparing a packet including at least a payload and a header according to the packet creation information;

directly accessing and checking the hardware counter to learn if the packet transmission interval has elapsed, wherein the hardware counter comprises a time stamp counter (TSC) register included within processor that increments or counts at regular uniform intervals from when the processor is powered on and wherein directly accessing the hardware counter includes reading the TSC register using a routine located within a kernel of an operating system executing on the network card; and

when the packet transmission interval has elapsed, sending the packet over the network.

2. A computing device having at least one virtual machine executing network testing software, the computing device including a processor, a hardware counter, a memory and a network communications unit, the computing device coupled with a network, the network testing software comprising instructions which when executed cause the computing device to perform operations comprising:

receiving user selection to create a network test;

receiving test information from the user, the test information including a transmission rate and packet creation information;

calculating a packet transmission interval based on the transmission rate, wherein the packet transmission interval defines how often packets will be sent to achieve evenness in packet transmissions during a time period at the user specified transmission rate;

receiving user selection to execute the network test transmitting packets specified in the network test over the network at the packet transmission rate, including:

preparing a packet including at least a payload and a header according to the packet creation information;

directly accessing and checking the hardware counter to learn if the packet transmission interval has elapsed, wherein the hardware counter comprises a time stamp counter (TSC) register included within processor that increments or counts at regular uniform intervals from when the processor is powered on and wherein directly accessing the hardware counter includes reading the TSC register using a routine located within a kernel of an operating system executing on the network card; and

when the packet transmission interval has elapsed, sending the packet over the network.

3. A non-transitory machine readable storage medium having instructions stored thereon which when executed cause a computing device to perform operations comprising:

receiving user selection to create a network test;

receiving test information from the user, the test information including a transmission rate and packet creation information;

calculating a packet transmission interval based on the transmission rate, wherein the packet transmission interval defines how often packets will be sent to achieve evenness in packet transmissions during a time period at the user specified packet transmission rate;

receiving user selection to execute the network test transmitting packets specified in the network test over a network at the packet transmission rate, including

preparing a packet including at least a payload and a header according to the packet creation information;

directly accessing and checking a hardware counter to learn if the packet transmission interval has elapsed, wherein the hardware counter comprises a time stamp counter (TSC) register the included within processor that increments or counts at regular uniform intervals from when the processor is powered on and wherein directly accessing the hardware counter includes reading the TSC register using a routine located within a kernel of an operating system executing on the network card; and

when the packet transmission interval has elapsed, sending the packet over the network.

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 Apr 21, 2011
From: GRUBER, MATEI; STANCIU, ADRIAN
To: IXIA
Reel/Frame 026162/0783 →