IP Library Granted Patent US 9,736,039
Granted Patent B2
US 9,736,039 · App. 15/255,348 · Granted Aug 15, 2017

Method and system for identifying matching packets

Inventors: Lai-chong Chan (Colorado Springs, CO); Brian Moody (Colorado Springs, CO)
Assignee: Viavi Solutions Inc.
H04L43/022H04L43/026H04L43/028H04L43/0858H04L47/115H04L47/34H04L69/22H04L43/024H04L43/0852H04L47/24
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,736,039
App. No.
15/255,348
Granted
Aug 15, 2017
Kind
B2
Abstract

In a method of identifying matching packets at different locations in a network, a first plurality of packets is received at a first location in the network, and a first subset thereof is selected in accordance with a filter. A second plurality of packets is received at a second location in the network, and a second subset thereof is selected in accordance with the same filter. Each packet in the first and second subsets is parsed to extract invariant header fields from an outermost IP header inwards, until a minimal set of invariant header fields is obtained for that packet, or until it is determined that a minimal set is not obtainable for that packet. A packet signature is computed from the minimal set for each packet having a minimal set, and the packet signatures arc compared to identify matching packets in the first and second subsets.

Claims (82)

1. A method, comprising:

receiving, by a device, a first subset of a first plurality of packets,

the first plurality of packets being associated with a first location in a network;

receiving, by the device, a second subset of a second plurality of packets,

the second plurality of packets being associated with a second location in the network, and

the second location being different than the first location;

parsing, by the device, each packet in the first subset and the second subset to extract invariant header fields from an outermost header until a minimal set of invariant header fields is obtained, for each packet, that uniquely identifies each packet throughout the network within a particular time period,

the particular time period being long enough in duration to allow each packet to traverse the network, but short enough in duration to minimize a likelihood of a same packet signature from being computed for different packets;

determining, by the device, a packet signature from the minimal set of invariant header fields for each packet in the first subset and the second subset;

comparing, by the device, packet signatures associated with the first subset and packet signatures associated with the second subset to identify matching packets with a same packet signature in the first subset and the second subset;

determining, by the device, a latency between the first location and the second location in the network based on matching packets in the first subset and the second subset; and

adjusting, by the device and based on the latency, a filter associated with capturing packets at the first location or the second location.

2. The method of claim 1 , where each packet in the first subset and the second subset is parsed header by header from the outermost header inwards.

3. The method of claim 1 , where:

at least some of the packets in the first subset have different protocol combinations,

at least some of the packets in the second subset have different protocol combinations, and

the minimal set of invariant header fields for each packet in the first subset and the second subset depends on a protocol combination of each packet.

4. The method of claim 1 , where the minimal set of invariant header fields includes a source address field, a destination address field, and at least one additional invariant header field selected from an identifier and a sequence number.

5. The method of claim 1 , further comprising:

applying a hash function to the minimal set of invariant header fields for each packet to determine the packet signature for each packet in the first subset and the second subset.

6. The method of claim 5 , further comprising:

storing each packet in the first subset and the second subset in memory and in a hash table indexed by packet signature.

7. The method of claim 1 , where a first timestamp is assigned to each packet in the first subset, a second timestamp is assigned to each packet in the second subset, and the method further comprises:

comparing a first timestamp and a second timestamp of matching packets in the first subset and the second subset to determine the latency between the first location and the second location in the network.

8. The method of claim 1 , where:

the first subset and the second subset are selected based on the filter,

the filter including a first filter condition based on a first invariant header field selected from an identifier and a sequence number, and

the first filter condition defining at least one of an entire identifier, an entire sequence number, a subset of the identifier, or a subset of the sequence number.

9. The method of claim 8 , further comprising:

counting each packet in the first subset and the second subset to obtain a total quantity of packets;

comparing the total quantity of packets to a predetermined threshold; and

when the total quantity of packets is less than the predetermined threshold, adding a second filter condition to the filter,

the second filter condition being based on a second invariant header field selected from another identifier and another sequence number, and

the second filter condition defining at least one of an entire identifier, an entire sequence number, a subset of the identifier, or a subset of the sequence number.

10. A device, comprising:

one or more processors to:

receive a first subset of a first plurality of packets,

the first plurality of packets being associated with a first location in a network;

receive a second subset of a second plurality of packets,

the second plurality of packets being associated with a second location in the network, and

the second location being different than the first location;

parse each packet in the first subset and the second subset to extract invariant header fields from an outermost header until a minimal set of invariant header fields is obtained, for each packet, that uniquely identifies each packet throughout the network within a particular time period,

the particular time period being long enough in duration to allow each packet to traverse the network, but short enough in duration to minimize a likelihood of a same packet signature from being computed for different packets;

determine a packet signature from the minimal set of invariant header fields for each packet in the first subset and the second subset;

compare packet signatures associated with the first subset and packet signatures associated with the second subset to identify matching packets with a same packet signature in the first subset and the second subset;

determine a latency between the first location and the second location in the network based on matching packets in the first subset and the second subset; and

adjust, based on the latency, a filter associated with capturing packets at the first location or the second location.

11. The device of claim 10 , where:

at least some of the packets in the first subset have different protocol combinations,

at least some of the packets in the second subset have different protocol combinations, and

the minimal set of invariant header fields for each packet in the first subset and the second subset depends on a protocol combination of each packet.

12. The device of claim 10 , where the minimal set of invariant header fields includes a source address field, a destination address field, and at least one additional invariant header field selected from an identifier and a sequence number.

13. The device of claim 10 , where the one or more processors are further to:

apply a hash function to the minimal set of invariant header fields for each packet to determine the packet signature for each packet in the first subset and the second subset.

14. The device of claim 10 , where a first timestamp is assigned to each packet in the first subset, a second timestamp is assigned to each packet in the second subset, and the one or more processors are further to:

compare a first timestamp and a second timestamp of matching packets in the first subset and the second subset to determine the latency between the first location and the second location in the network.

15. A system, comprising:

one or more devices to:

receive a first subset of a first plurality of packets,

the first plurality of packets being associated with a first location in a network;

receive a second subset of a second plurality of packets,

the second plurality of packets being associated with a second location in the network, and

the second location being different than the first location;

parse each packet in the first subset and the second subset to extract invariant header fields from an outermost header until a minimal set of invariant header fields is obtained, for each packet, that uniquely identifies each packet throughout the network within a particular time period,

the particular time period being long enough in duration to allow each packet to traverse the network, but short enough in duration to minimize a likelihood of a same packet signature from being computed for different packets;

determine a packet signature from the minimal set of invariant header fields for each packet in the first subset and the second subset;

compare packet signatures associated with the first subset and packet signatures associated with the second subset to identify matching packets with a same packet signature in the first subset and the second subset;

determine a latency between the first location and the second location in the network based on matching packets in the first subset and the second subset: and

adjust, based on the latency, a filter associated with capturing packets at the first location or the second location.

16. The system of claim 15 , where the one or more devices are further to:

apply a hash function to the minimal set of invariant header fields for each packet to determine the packet signature for each packet in the first subset and the second subset.

17. The system of claim 15 , where a first timestamp is assigned to each packet in the first subset, a second timestamp is assigned to each packet in the second subset, and the one or more devices are further to:

compare a first timestamp and a second timestamp of matching packets in the first subset and the second subset to determine the latency between the first location and the second location in the network.

18. The system of claim 15 , where:

at least some of the packets in the first subset have different protocol combinations,

at least some of the packets in the second subset have different protocol combinations, and

the minimal set of invariant header fields for each packet in the first subset and the second subset depends on a protocol combination of each packet.

19. The system of claim 15 , where the minimal set of invariant header fields includes a source address field, a destination address field, and at least one additional invariant header field selected from an identifier and a sequence number.

20. The system of claim 15 , where:

the first subset and the second subset are selected based on the filter,

the filter including a first filter condition based on a first invariant header field selected from an identifier and a sequence number, and

the first filter condition defining at least one of an entire identifier, an entire sequence number, a subset of the identifier, or a subset of the sequence number.

Assignments (5)
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 →
Continuity (3)
Continuation 14067656 · Oct 30, 2013
Provisional Application 61720181 · Oct 30, 2012
Related Publication 20160373320A1 · Dec 22, 2016