Latency monitoring for network devices
US-10411983-B2 · Sep 10, 2019 · US
US11218395B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11218395-B2 |
| Application number | US-201916564953-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 9, 2019 |
| Priority date | May 18, 2016 |
| Publication date | Jan 4, 2022 |
| Grant date | Jan 4, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A network device comprises time measurement units configured to measure receipt times and transmit times of packets received/transmitted via network interfaces. One or more memories store configuration information that indicates certain network interface pairs and/or certain packet flows that are enabled for latency measurement. A packet processor includes a latency monitoring trigger unit configured to select, using the configuration information, packets that are forwarded between the certain network interface pairs and/or that belong to the certain packet flows for latency monitoring. One or more latency measurement units determine respective latencies for packets selected by the latency monitoring trigger unit using respective receipt times and respective transmit times for the packets selected by the latency monitoring trigger unit, calculates latency statistics for the certain network interface pairs and/or the certain packet flows using the respective latencies, and stores the latency statistics in the one or more memories.
Opening claim text (preview).
What is claimed is: 1. A network device, comprising: a plurality of network interfaces configured to be coupled to a plurality of network links; a plurality of time measurement units associated with the plurality of network interfaces, respective time measurement units among the plurality of time measurement units being configured to measure a) receipt times at which packets are received via respective network links and b) transmit times at which packets are transmitted via respective network links; one or more memories to store configuration information, the configuration information indicating one or both of i) certain network interface pairs and ii) certain packet flows that are enabled for latency measurement; a packet processor coupled to the plurality of network interfaces, the packet processor including: a latency monitoring trigger unit coupled to the one or more memories, the latency monitoring trigger unit configured to select for latency monitoring, using the configuration information, one or both of i) packets that are forwarded between the certain network interface pairs and ii) packets that belong to the certain packet flows; and one or more latency measurement units coupled to the one or more memories, the one or more latency measurement units configured to: determine respective latencies for packets selected by the latency monitoring trigger unit using respective receipt times and respective transmit times for the packets selected by the latency monitoring trigger unit, so that, for packets that are not selected by the latency monitoring trigger unit, no latencies are determined by the network device, calculate latency statistics for the one or both of i) the certain network interface pairs and ii) the certain packet flows using the respective latencies, including calculating an updated moving average latency using a previously calculated moving average latency stored in the one or more memories and a determined latency for a packet, and store the updated moving average latency in the one or more memories. 2. The network device of claim 1 , wherein the one or more latency measurement units are configured to calculate an updated weighted moving average latency using a previously calculated weighted moving average latency stored in the one or more memories and the determined latency for the packet. 3. The network device of claim 2 , wherein the one or more latency measurement units are configured to calculate an updated exponentially weighted moving average (EWMA) latency using a previously calculated EWMA latency stored in the one or more memories and the determined latency for the packet. 4. The network device of claim 1 , wherein: the one or more latency measurement units include one or more shift registers; and the one or more latency measurement units are configured to calculate the updated moving average latency at least by: calculating an intermediate value at least by calculating a multiplication of the previously calculated moving average latency with a parameter by left shifting the previously calculated moving average latency in the one or more shift registers M times, wherein M is a positive integer corresponding to a weighting parameter, and calculating a division of the intermediate value by the parameter by right shifting the intermediate value in the one or more shift registers M times. 5. The network device of claim 4 , wherein: the one or more latency measurement units are configured to calculate the intermediate value also by subtracting the previously calculated moving average latency, and adding the determined latency for the packet. 6. The network device of claim 1 , wherein the one or more latency measurement units are configured to: determine a latency for a packet selected by the latency monitoring trigger unit for latency monitoring by comparing a receipt time of the packet and a transmit time of the packet. 7. The network device of claim 1 , wherein: the packet processor includes a classifier configured to identify packet flows with which packets are associated; the one or more memories store packet flow configuration information indicating packet flows, among a plurality of packet flows, that are enabled for latency measurement; and the latency monitoring trigger unit is configured to: identify packets that belong to flows enabled for latency measurement using the packet flow configuration information, and responsive to identifying packets that belong to flows enabled for latency measurement, select packets for latency monitoring that belong to flows enabled for latency measurement. 8. The network device of claim 1 , wherein: the packet processor is configured to generate respective packet descriptors for packets received via the plurality of network interfaces; the latency monitoring trigger unit is configured to store, in selected packet descriptors, information that indicates packets corresponding to the selected packet descriptors are selected for latency monitoring; and the one or more latency measurement units are configured to determine for which packets latency statistics are to be calculated using information in the packet descriptors. 9. The network device of claim 8 , wherein: the latency monitoring trigger unit is configured to store, in packet descriptors corresponding to packets selected for latency monitoring, information that indicates where in the one or more memories latency statistics for packets selected for latency monitoring are to be stored; and the one or more latency measurement units are configured to store latency statistics in the one or more memories at locations determined using information in the packet descriptors. 10. The network device of claim 1 , wherein at least some of the latency measurement units are included in respective network interfaces. 11. A method for measuring latency in a network device, the method comprising: receiving a plurality of packets via a plurality of network interfaces of the network device; measuring, at the network device, respective receipt times at which packets were received via network links among the plurality of network interfaces; selecting, at the network device, packets that are at least one of i) being forwarded between certain network interface pairs and ii) belong to certain packet flows, for measuring latency using configuration information stored in one or more memories of the network device, the configuration information indicating at least one of i) the certain network interface pairs and ii) the certain packet flows, that are enabled for latency measurement; measuring, at the network device, respective transmit times at which packets are transmitted via network links among the plurality of network links; determining, at the network device, respective latencies for the selected packets using respective receipt times and respective transmit times for the selected packets; calculating an updated moving average latency using a previously calculated moving average latency stored in the one or more memories and a determined latency for a packet; and storing the latency information corresponding to the at least one of i) the certain network interface pairs and ii) the certain packet flows, in the one or more memories of the network device, including storing the updated moving average latency in the one or more memories. 12. The method of claim 11 , wherein calculating the updated moving average latency comprises calculating an updated weighted moving average latency using a previously calculated weighted moving average latency stored in the one or more memories and the determined latency for the packet.
Parsing or analysis of headers · CPC title
for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection (management of faults, events, alarms or notifications in data switching networks H04L41/06) · CPC title
using flow identification · CPC title
Throughput · CPC title
Timers or timing mechanisms used in protocols · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.