# US 9,438,497 B2 · Method and system for measuring packet loss

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,438,497 B2
- Document ID: US9438497B2
- Status: Granted
- Kind: B2
- Application number: 14/271,051
- Filed: 2014-05-06
- Published: 2014-11-06
- Granted: 2016-09-06
- Earliest claimed: 2013-05-06
- Assignees: Viavi Solutions Inc.
- Applicants: Viavi Solutions Inc.
- Inventors: Lai-Chong May Chan; Gabriel Black
- Web page: https://patentgrep.com/patent/US9438497B2

## CPC

- H04L 43/0835: {One way packet loss}
- H04L 43/026: using flow identification
- H04L 43/0829: Packet loss
- H04L 43/0858: {One way delays}
- H04L 43/12: Network monitoring probes
- Y02D 30/50: in wire-line communication networks, e.g. low power modes or reduced link rate
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## 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

### Claim 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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 1)

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.

### Claim 4 (depends on 1)

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

### Claim 5 (depends on 1)

The method of claim 1, wherein the flow is a flow of test packets,
the method further comprising:
generating the flow of test packets.

### Claim 6 (depends on 1)

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.

### Claim 7 (depends on 1)

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.

### Claim 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.

### Claim 9 (depends on 8)

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.

### Claim 10 (depends on 8)

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.

### Claim 11 (depends on 8)

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.

### Claim 12 (depends on 8)

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

### Claim 13 (depends on 8)

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.

### Claim 14 (depends on 8)

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.

### Claim 15 (depends on 8)

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.

### Claim 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.

### Claim 17 (depends on 16)

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.

### Claim 18 (depends on 16)

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.

### Claim 19 (depends on 16)

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.

### Claim 20 (depends on 16)

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