IP Library Granted Patent US 7,561,559
Granted Patent B2
US 7,561,559 · App. 11/095,096 · Granted Jul 14, 2009

Hardware time stamping and processor synchronization

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,561,559
App. No.
11/095,096
Granted
Jul 14, 2009
Kind
B2
Abstract

Hardware time stamping is disclosed. In a method, a transmit time stamp may be added to an outgoing data unit in hardware prior to transmitting the outgoing data unit over a communications medium. The outgoing data unit may be received from a processor and may be intended for a node. The outgoing data unit may be transmitted over the communications medium to the node. An incoming data unit may be received over the communications medium. A receive time stamp may be added to the incoming data unit in hardware before the incoming data unit is provided to the processor. The method may be achieved on a hardware device included on a board in a network testing system.

Claims (97)

1. A method comprising:

receiving in a network communications unit an outgoing data unit from a processor, the outgoing data unit intended for a node;

adding a transmit time stamp to the outgoing data unit in the network communications unit prior to transmitting the outgoing data unit over a communications medium, the adding including the network communications unit performing the following actions in the following order

beginning calculating verification information for the outgoing data unit, wherein the verification information includes at least one from the group including a checksum, a cyclic redundancy check (CRC) and a frame check sequence (FCS)

beginning transmission of the outgoing data unit over the communications medium to the node,

obtaining a current time from a counter,

adding the current time as the transmit time stamp to the outgoing data unit,

completing calculating the verification information for the outgoing data unit,

adding the verification information to the outgoing data unit,

completing transmission of the outgoing data unit over the communications medium to the node;

the network communications unit receiving over the communications medium from the node an incoming data unit intended for the processor;

appending a receive time stamp to the incoming data unit in the network communications unit before the incoming data unit is provided to the processor;

the network communications unit providing the incoming data unit to the processor.

2. The method of claim 1 wherein the transmitting comprises:

the network communications unit providing the outgoing data unit to a physical (PHY) layer unit.

3. The method of claim 1 wherein appending a receive time stamp comprises:

the network communications unit obtaining a current time from a counter

the network communications unit adding the current time as the receive time stamp to the incoming data unit.

4. The method of claim 1 further comprising:

the network communications unit calculating verification information for the incoming data unit.

5. The method of claim 1 further comprising:

the processor computing a quality score for a communication over the communications medium based on the transmit time stamps and the receive time stamps included in a plurality of data units, the communication including at least one from the group comprising a voice communication, a streaming media, a streaming audio, and a voice over internet protocol (VOIP) communication.

6. The method of claim 1 further comprising:

the processor computing a jitter for a network communication.

7. The method of claim 1 further comprising:

the processor computing a round trip latency for a network communication based on the transmit time stamp and the receive time stamp included in the incoming data unit.

8. The method of claim 7 further comprising:

the processor computing a quality score for a voice communication over the communications medium based on the round trip latency for a plurality of network communications.

9. The method of claim 1 further comprising:

the processor computing a one way latency for a network communication based on the transmit time stamp and the receive time stamp included in the incoming data unit.

10. A method comprising:

appending a transmit time stamp to an outgoing data unit in a network communications unit prior to transmitting the outgoing network communication over a communications medium, the outgoing data unit originating with a processor and intended for a node, the appending including the network communications unit performing the following actions in the following order

beginning calculating verification information for the outgoing data unit, wherein the verification information includes at least one from the group including a checksum, a cyclic redundancy check (CRC) and a frame check sequence (FCS)

beginning transmission of the outgoing data unit over the communications medium to the node,

obtaining a current time from a counter

adding the current time as the time stamp to the outgoing data unit

completing calculating the verification information for the outgoing data unit

adding the verification information to the outgoing data unit

completing transmission of the outgoing data unit over the communications medium to the node.

11. The method of claim 10 wherein the transmitting comprises

the network communications unit providing the outgoing data unit to a physical (PHY) layer unit.

12. The method of claim 10 further comprising

receiving an incoming data unit directly over the communications medium

appending a receive time stamp to the incoming data unit in the network communications unit before the incoming network communication is provided to the processor.

13. A network card including a processor and a network communications unit and coupled with a communications medium, the network card configured to perform actions comprising:

appending a transmit time stamp to an outgoing data unit in the network communications unit prior to transmitting the outgoing data unit over the communications medium, the outgoing data unit originating with the processor and intended for a node

the network communications unit transmitting the outgoing data unit over the communications medium

the network communications unit receiving an incoming data unit over the communications medium, the incoming data unit intended for the processor and originating with the node

appending a receive time stamp to the incoming data unit in the network communications unit before the incoming data unit is provided to the processor

the network communications unit providing the incoming data unit to the processor.

14. The network card of claim 13 wherein the appending a transmit time stamp comprises the network communications unit performing the following actions in the following order:

beginning calculation of verification information for the outgoing data unit, wherein the verification information includes at least one from the group including a checksum, a cyclic redundancy check (CRC) and a frame check sequence (FCS);

beginning transmission of the outgoing data unit over the communications medium to the node;

obtaining a current time from a counter;

adding the current time as the transmit time stamp to the outgoing data unit;

completing calculation of the verification information for the outgoing data unit;

adding the verification information to the outgoing data unit;

completing transmission of the outgoing data unit over the communications medium to the node.

15. The network card of claim 13 wherein the beginning transmission and the completing transmission include:

the network communications unit providing the outgoing data unit to a physical (PHY) layer unit included in the network card.

16. The network card of claim 13 wherein appending a receive time stamp comprises:

the network communications unit obtaining a current time from a counter

the network communications unit adding the current time as the receive time stamp to the incoming data unit.

17. The network card of claim 13 wherein the network communications unit is configured to perform further actions comprising:

the network communications unit calculating verification information for the incoming data unit.

18. The network card of claim 13 configured to perform further actions comprising:

the processor computing a quality score for a communication over the communications medium based on the transmit time stamps and the receive time stamps included in a plurality of data units, the communication including at least one from the group comprising a voice communication, a streaming media, a streaming audio, a voice over internet protocol (VOW) communication.

19. The network card of claim 13 configured to perform further actions comprising:

the processor computing a round trip latency for a network communication based on the transmit time stamp and the receive time stamp included in the incoming data unit.

20. The network card of claim 13 configured to perform further actions comprising:

the processor computing a one way latency for a network communication based on the transmit time stamp and the receive time stamp included in the incoming data unit.

21. The network card of claim 13 configured to perform further actions comprising:

the processor computing a jitter for a network communication.

22. The network card of claim 13 having multiple processors and multiple network communications units included thereon.

23. A network testing system including the network card of claim 13 included therein.

24. A network card comprising:

a processor

a memory coupled with the processor

means for network communications, the means for network communications comprising

means for appending a transmit time stamp to an outgoing data unit in hardware prior to transmitting the outgoing data unit over a communications medium, the outgoing data unit received from a processor and intended for a node

means for transmitting the outgoing data unit over the communications medium

means for receiving an incoming data unit over the communications medium

means for appending a receive time stamp to the incoming data unit in hardware before the incoming data unit is provided to the processor

means for providing the incoming data unit to the processor.

25. A network testing system having at least one network card of claim 24 included thereon.

26. The network card of claim 24 wherein the means for appending a receive time stamp comprises:

means for obtaining a current time from a counter

means for adding the current time as the receive time stamp to the incoming data unit.

27. The network card of claim 24 further comprising

means for calculating verification information for the incoming data unit.

28. The network card of claim 24 wherein the means for appending a transmit time stamp to an outgoing data unit comprises

means for obtaining a current time from a counter

means for adding the current time as the transmit time stamp to the outgoing data unit

means for calculating verification information for the outgoing data unit

means for adding the verification information to the outgoing data unit.

29. The network card of claim 24 wherein the means for transmitting the outgoing data unit comprises

means for providing the outgoing data unit to a physical (PHY) layer unit.

Assignments (4)
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 →