IP Library Granted Patent US 9,438,497
Granted Patent B2
US 9,438,497 · App. 14/271,051 · Granted Sep 6, 2016

Method and system for measuring packet loss

Inventors: Lai-Chong May Chan (Colorado Springs, CO); Gabriel Black (Colorado Springs, CO)
Assignee: Viavi Solutions Inc.
H04L43/0829H04L43/0835H04L43/0858H04L43/12H04L43/026
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,438,497
App. No.
14/271,051
Granted
Sep 6, 2016
Kind
B2
Abstract

In a method of measuring packet loss, a flow of packets is identified at first and second locations in a network. The packets in the flow are counted at each of the first and second locations to provide first and second packet counts, respectively. When a trigger packet in the flow is identified at each of the first and second locations, the first and second packet counts are latched to provide latched first and second packet counts corresponding to same packets in the flow. The latched first and second packet counts are compared to measure packet loss between the first and second locations.

Claims (91)

1. A method comprising:

identifying a flow of packets at each of a first location and a second location in a network;

counting the packets, in the flow, at each of the first location and the second location to provide a first packet count and a second packet count, respectively,

the first packet count being counted using a first device and the second packet count being counted using a second device;

identifying a trigger packet, in the flow, at the first location using the first device and at the second location using the second device,

the trigger packet being identified by comparing first information, included in the trigger packet, to second information defined by a filter,

the first information, included in the trigger packet, including at least one of an identifier of the trigger packet, a sequence number of the trigger packet, or a checksum of the trigger packet,

the second information, defined by the filter, including two or more of a packet identifier value, a sequence number value, or a checksum value, and

the first device and the second device being configured to use the filter; and

storing the first packet count and the second packet count upon identifying the trigger packet at each of the first location and the second location, respectively, to obtain a latched first packet count and a latched second packet count corresponding to same packets in the flow,

packet loss, between the first location and the second location, being measured using the latched first packet count and the latched second packet count.

2. The method of claim 1 ,

wherein the identifier of the trigger packet includes an Internet protocol (IP) version 4 (IPv4) identifier,

wherein the sequence number of the trigger packet includes an IP security (IPsec) sequence number or a transport-layer sequence number, and

wherein the checksum of the trigger packet includes a user datagram protocol (UDP) checksum.

3. The method of claim 1 ,

wherein the trigger packet is one of a plurality of trigger packets, and

wherein the first packet count and the second packet count are iteratively stored upon identifying each trigger packet in the plurality of trigger packets.

4. The method of claim 1 , wherein the flow is part of existing network traffic.

5. The method of claim 1 , wherein the flow is a flow of test packets,

the method further comprising:

generating the flow of test packets.

6. The method of claim 1 , further comprising:

generating a first result packet and a second result packet upon identifying the trigger packet at each of the first location and the second location, respectively,

the first result packet including the latched first packet count and the trigger packet, and

the second result packet including the latched second packet count and the trigger packet.

7. The method of claim 1 , further comprising:

recording a first timestamp and a second timestamp for the trigger packet at the first location and the second location, respectively; and

comparing the first timestamp and the second timestamp to measure latency between the first location and the second location.

8. A system comprising:

a first probe device, at a first location in a network, configured to:

count packets, in a flow of packets, to provide a first packet count,

identify a trigger packet, in the flow, based on comparing first information, included in the trigger packet, to second information defined by a filter,

the first information, included in the trigger packet, including at least one of an identifier of the trigger packet, a sequence number of the trigger packet, or a checksum of the trigger packet, and

the second information, defined by the filter, including two or more of a packet identifier value, a sequence number value, or a checksum value, and

store the first packet count upon identifying the trigger packet to provide a latched first packet count; and

a second probe device, at a second location in the network, configured to:

count the packets, in the flow, to provide a second packet count,

identify the trigger packet, in the flow, based on comparing the first information, included in the trigger packet, to the second information defined by the filter, and

store the second packet count upon identifying the trigger packet to provide a latched second packet count,

the latched first packet count and the latched second packet count corresponding to same packets in the flow,

packet loss, between the first location and the second location, being measured using the latched first packet count and the latched second packet count, and

the first probe device and the second probe device being configured to use the filter.

9. The system of claim 8 , wherein the first probe device and the second probe device are installed at or incorporated into a first network node and a second network node, respectively.

10. The system of claim 8 ,

wherein at least one of:

the identifier of the trigger packet includes an Internet protocol (IP) version 4 (IPv4) identifier,

the sequence number of the trigger packet includes an IP security (IPsec) sequence number or a transport-layer sequence number, or

the checksum of the trigger packet includes a user datagram protocol (UDP) checksum.

11. The system of claim 8 ,

wherein the trigger packet is one of a plurality of trigger packets, and

wherein the first packet count and the second packet count are iteratively stored upon identifying each trigger packet in the plurality of trigger packets.

12. The system of claim 8 , wherein the flow is part of existing network traffic.

13. The system of claim 8 , wherein the flow is a flow of test packets, the system further comprising:

a traffic generator configured to generate the flow of test packets.

14. The system of claim 8 ,

wherein the first probe device is further configured to generate a first result packet, including the latched first packet count, upon identifying the trigger packet,

wherein the second probe device is further configured to generate a second result packet, including the latched second packet count upon identifying the trigger packet, and

wherein the system further comprises:

a measurement unit configured to:

receive the first result packet and the second result packet, and

measure the packet loss.

15. The system of claim 8 ,

wherein the first probe device is further configured to record a first timestamp for the trigger packet,

wherein the second probe device is further configured to record a second timestamp for the trigger packet, and

wherein the system further comprises:

a measurement unit configured to:

compare the first timestamp and the second timestamp to measure latency between the first location and the second location.

16. A device comprising:

a memory configured to store instructions; and

a processor configured to execute the instructions to:

receive, from a first device at a first location, a first packet count stored by the first device,

the first packet count being stored by the first device when the first device identifies a trigger packet, in a flow of packets, based on comparing first information, included in the trigger packet, to second information defined by a filter,

the first information, included in the trigger packet, including at least one of an identifier of the trigger packet, a sequence number of the trigger packet, or a checksum of the trigger packet,

the second information, defined by the filter, including two or more of a packet identifier value, a sequence number value, or a checksum value, and

receive, from a second device at a second location, a second packet count stored by the second device,

the second packet count being stored by the second device when the second device identifies, in the flow of packets, the trigger packet based on comparing the first information, included in the trigger packet, to the second information defined by the filter,

the first device and the second device being configured to use the filter, and

the first packet count and the second packet count corresponding to same packets in the flow of packets, and

measure packet loss, between the first location and the second location, using the first packet count and the second packet count.

17. The device of claim 16 , wherein at least one of:

the identifier of the trigger packet includes an Internet protocol (IP) version 4 (IPv4) identifier,

the sequence number of the trigger packet includes an IP security (IPsec) sequence number or a transport-layer sequence number, or

the checksum of the trigger packet includes a user datagram protocol (UDP) checksum.

18. The device of claim 16 , wherein, when receiving the first packet count, the processor is configured to:

receive a packet including the first packet count and the trigger packet.

19. The device of claim 16 ,

wherein the packet identifier value includes an Internet protocol (IP) version 4 (IPv4) identifier,

wherein the sequence number value includes an IP security (IPsec) sequence number or a transport-layer sequence number, and

wherein the checksum value includes a user datagram protocol (UDP) checksum.

20. The device of claim 16 , wherein the flow is part of existing network traffic.

Assignments (7)
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 →
TERMINATIONS OF SECURITY INTEREST AT REEL 052729, FRAME 0321 Recorded Jan 5, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: VIAVI SOLUTIONS INC.; RPC PHOTONICS, INC.
Reel/Frame 058666/0639 →
SECURITY INTEREST Recorded May 21, 2020
From: VIAVI SOLUTIONS INC.; 3Z TELECOM, INC.; ACTERNA LLC; ACTERNA WG INTERNATIONAL HOLDINGS LLC; VIAVI SOLUTIONS LLC; JDSU ACTERNA HOLDINGS LLC; OPTICAL COATING LABORATORY, LLC; RPC PHOTONICS, INC.; TTC INTERNATIONAL HOLDINGS, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 052729/0321 →
CHANGE OF NAME Recorded Aug 28, 2015
From: JDS UNIPHASE CORPORATION
To: VIAVI SOLUTIONS INC.
Reel/Frame 036504/0327 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2014
From: CHAN, LAI-CHONG MAY; BLACK, GABRIEL
To: JDS UNIPHASE CORPORATION
Reel/Frame 032841/0521 →
Continuity (2)
Provisional Application 61820060 · May 6, 2013
Related Publication 20140328206A1 · Nov 6, 2014