Systems, methods and computer-readable media for external non-intrusive packet delay measurement

US11025519B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11025519-B2
Application numberUS-201916380484-A
CountryUS
Kind codeB2
Filing dateApr 10, 2019
Priority dateApr 10, 2019
Publication dateJun 1, 2021
Grant dateJun 1, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods, systems, and computer-readable media for measuring packet delays are provided. An input port of a network device is tapped to duplicate an input packet stream having a first packet. An output port of the network device is tapped to duplicate an output packet stream including the first packet. The duplicated input packet stream and the duplicated output packet stream is transmitted to a programmable device. The first packet in the first input packet stream is matched to the first packet in the first output packet stream. An arrival time and a departure time for the first packet is measured. The difference between the departure time of the first packet and the arrival time of the first packet is determined and the value is reported to an external collector.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: making input copies of a plurality of input packets in at least one input packet stream transmitted to at least one input port of a device to be measured wherein the input copies comprise a plurality of copied input packets; making output copies of a plurality of packets in at least one output packet stream transmitted from at least one output port of the device to be measured wherein the output copies comprise a plurality of copied output packets; transmitting the output copies to a programmable device; transmitting the input copies to the programmable device; determining an arrival time of each of the input copies; determining a departure time of each of the output copies; identifying, from the plurality of copied output packets, a plurality of matching packets that match some of the plurality of copied input packets wherein each of the plurality of matching packets include the arrival time and the departure time of each of the plurality of matching packets; determining a set of values comprising a difference between the departure time and the arrival time of each of the plurality of matching packets; identifying a first type of quality of service for a first packet of the matching packets; identifying a second type of quality of service for a second packet of the matching packets, wherein the first type is different from the second type, wherein the first type of quality of service and the second type of quality of service are identified by the use of multiprotocol label switching (MPLS)-experimental (MPLS-EXP) bits indicative of different MPLS-EXP values; and tracking for multiple queues separate queuing delays of the first type of quality of service and the second type of quality of service, wherein the tracking for multiple queues is based on a determination of separate delays for packets with different MPLS-EXP values. 2. The method of claim 1 wherein the device to be measured is a router. 3. The method of claim 1 wherein the programmable device is a programmable switch. 4. The method of claim 1 further comprising transmitting the set of values to a collector. 5. The method of claim 1 further comprising creating an input packet index for each of the plurality of copied input packets and an output packet index for each of the plurality of copied output packets. 6. The method of claim 1 further comprising calculating a hash value for each of the plurality of copied input packets and each of the plurality of copied output packets. 7. The method of claim 6 wherein calculating the hash value comprises using a hash algorithm based on parameters that are unique to each of the plurality of copied input packets and each of the plurality of copied output packets, wherein the parameters comprise a port address. 8. A non-transitory computer readable storage medium having computer-executable instructions that, when executed by a processor of the computer system, cause a computer system to: make input copies of a plurality of input packets in at least one input packet stream transmitted to at least one input port of a device to be measured wherein the input copies comprise a plurality of copied input packets; make output copies of a plurality of packets in at least one output packet stream transmitted from at least one output port of the device to be measured wherein the output copies comprise a plurality of copied output packets; determine an arrival time at a programmable device of each of the input copies; determine a departure time from the programmable device of each of the output copies; identify, from the copied output packets, a plurality matching packets that match some of the copied input packets wherein each of the plurality matching packets include the arrival time and the departure time of each of the plurality of matching packets; determine a set of values comprising a difference between the departure time and the arrival time of each of the plurality of matching packets; identifying a first type of quality of service for a first packet of the matching packets; identifying a second type of quality of service for a second packet of the matching packets, wherein the first type is different from the second type, wherein the first type of quality of service and the second type of quality of service are identified by the use of multiprotocol label switching (MPLS)-experimental (MPLS-EXP) bits indicative of different MPLS-EXP values; and tracking for multiple queues separate queuing delays of the first type of quality of service and the second type of quality of service, wherein the tracking for multiple queues is based on a determination of separate delays for packets with different MPLS-EXP values. 9. The non-transitory computer readable storage medium of claim 8 wherein the device to be measured is a router. 10. The non-transitory computer readable storage medium of claim 8 further comprising instructions that when executed cause the computer system to create an input packet index. 11. The non-transitory computer readable storage medium of claim 10 wherein the computer-executable instructions that, when executed, cause the computer system to create the input packet index comprises computer-executable instructions that, when executed, cause the computer system to calculate a hash value of a set of parameters associated with the copied input packets. 12. The non-transitory computer readable storage medium of claim 8 further comprising instructions that when executed cause the computer system to create an output packet index. 13. The non-transitory computer readable storage medium of claim 12 wherein the computer-executable instructions that, when executed, cause the computer system to create the output packet index comprises computer-executable instructions that, when executed, cause the computer system to calculate a hash value of a set of parameters associated with the copied output packets. 14. A system comprising: one or more processors; and memory coupled with the one or more processors, the memory storing executable instructions that when executed by the one or more processors cause the one or more processors to effectuate operations comprising: make input copies of a plurality of input packets in at least one input packet stream transmitted to at least one input port of a device to be measured wherein the input copies comprise a plurality of copied input packets; make output copies of a plurality of packets in at least one output packet stream transmitted from at least one output port of the device to be measured wherein the output copies comprise a plurality of copied output packets; determine an arrival time at a programmable device of each of the input copies; determine a departure time from the programmable device of each of the output copies; identify, from the copied output packets, a plurality matching packets that match some of the copied input packets wherein each of the plurality matching packets include the arrival time and the departure time of each of the plurality of matching packets; and determine a set of values comprising a difference between the departure time and the arrival time of each of the plurality of matching packets; identifying a first type of quality of service for a first packet of the matching packets; identifying a second type of quality of service for a second packet of the matching packets, wherein the first type is different from the second type, wherein the first type of quality of service and the second type of quality of service are identified by the use of multiprotocol label switching (MPLS)-experimental (MPLS

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11025519B2 cover?
Methods, systems, and computer-readable media for measuring packet delays are provided. An input port of a network device is tapped to duplicate an input packet stream having a first packet. An output port of the network device is tapped to duplicate an output packet stream including the first packet. The duplicated input packet stream and the duplicated output packet stream is transmitted to a…
Who is the assignee on this patent?
At & T Ip I Lp, Univ Princeton
What technology area does this patent fall under?
Primary CPC classification H04L43/0858. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jun 01 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 11 related publications on this page (citations in our corpus or others sharing the same primary CPC).