IP Library Granted Patent US 12,659,249
Granted Patent B2
US 12,659,249 · App. 17/590,759 · Granted Jun 16, 2026

Recording packet loss in a network

Inventors: Douglas Alan Gourlay (San Francisco, CA); Udayakumar Srinivasan (Santa Clara, CA); Fred Hsu (Santa Clara, CA)
Assignee: ARISTA NETWORKS, INC.
H04L43/0829H04L43/062
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 12,659,249
App. No.
17/590,759
Granted
Jun 16, 2026
Kind
B2
Abstract

Packets in a network may be dropped from time to time. Although network devices are able to provide counters specifying the number of dropped packets, these network devices are unable to provide additional context about the dropped packets. However, users of a network wish to know more about dropped packets; such as why the packets were dropped. Therefore, methods for capturing and storing the dropped packets are provided. This way, users can analyze the dropped packets to determine why these packets were dropped.

Claims (54)

1 . A method for recording network traffic loss across a network, the method being executed by a network device within the network and comprising:

initiating transmission of a first packet and second packet;

in response to initiating the transmission, initializing the first packet and the second packet for the transmission, wherein the initializing of the first packet and the second packet for the transmission comprises:

attaching a first identifier (ID) to a header of the first packet and a second identifier (ID) to a header of the second packet, wherein the second ID is different from the first ID;

generating a copy of the first packet including the first ID and a copy of the second packet including the second ID; and

storing the copy of the first packet and the copy of the second packet in a first storage;

transmitting, after initializing the first packet and the second packet, the first packet and the second packet to a receiving network device connected to the transmitting network device via the network;

receiving, after the transmitting, a first notification from the receiving network device that one of the first packet or the second packet was not received, wherein the first notification comprises one or more identifiers of packets not received by the receiving network device between a start of both a global network timer and a moving window timer at the receiving network device and an expiration of either the global network timer or the moving window timer, wherein the moving window timer is shorter than the global network timer, the global network timer and the moving window timer were both started based on a determination that one or more packets were not received at the receiving network device, and the moving window timer is restarted based on determination of another packet drop within the moving window timer; and

displaying, to a user of the transmitting network device and using the first notification, a second notification to the user that the one of the first packet or the second packet was not received by the receiving network device.

2 . The method of claim 1 , wherein the copy of the first packet and the copy of the second packet are stored in the first storage for an amount of time, and the amount of time is between two to four times a round-trip-time (RTT) of a path between the transmitting network device and the receiving network device used for transmitting the first packet and the second packet.

3 . The method of claim 2 , wherein displaying the second notification comprises:

obtaining, using the first ID in the notification, the copy of the first packet from the first storage and transferring the copy of the first packet to a second storage; and

displaying, in response to the transferring, the second notification to the user, wherein the second notification indicates that the first packet was not received by the receiving network device.

4 . The method of claim 3 , wherein the first storage is non-persistent storage and the second storage is persistent storage, and the first ID and the second ID are both sequential sequence numbers.

5 . The method of claim 1 , wherein the one of the first packet or the second packet that was not received by the receiving network device is displayed with path statistics of a path between the transmitting network device and the receiving network device used for transmitting the first packet and the second packet.

6 . The method of claim 1 , wherein the header of the first packet and the header of the second packet comprise in-band network telemetry (INT) information.

7 . The method of claim 1 , wherein the second notification comprises event data associated with the first packet or the second packet.

8 . The method of claim 7 , wherein the event data comprises class of service (COS) data or an application ID of an application associated with the first packet or second packet.

9 . A network device, comprising:

a processor;

data storage; and

a non-transitory computer readable medium, comprising instructions for:

obtaining a first packet and a second packet;

attaching a first identifier (ID) to a header of the first packet and a second identifier (ID) to a header of the second packet, wherein the second ID is different from the first ID;

generating a copy of the first packet including the first ID and a copy of the second packet including the second ID;

storing the copy of the first packet and the copy of the second packet in the data storage;

transmitting the first packet and the second packet to a receiving network device;

receiving, after the transmitting, a first notification from the receiving network device that one of the first packet or the second packet was not received, wherein the first notification comprises one or more identifiers of packets not received by the receiving network device between a start of both a global network timer and a moving window timer at the receiving network device and an expiration of either the global network timer or the moving window timer, wherein the moving window timer is shorter than the global network timer, the global network timer and the moving window timer were both started based on a determination that one or more packets were not received at the receiving network device, and the moving window timer is restarted based on determination of another packet drop within the moving window timer; and

based on the first notification, displaying to a user a second notification that the one of the first packet or the second packet was not received by the receiving network device.

10 . The system of claim 9 , wherein the copy of the first packet and

the copy of the second packet are stored in the first storage for an amount of time associated with

a round-trip-time (RTT) of a path to the receiving network device.

11 . The system of claim 10 , wherein the data storage is temporary storage.

12 . The system of claim 10 , wherein a first identifier in the first notification is used to obtain the one of the first packet or second packet togenerate the second identification.

13 . The system of claim 10 , wherein the second notification comprises path statistics of a path associated with the receiving network device.

14 . The system of claim 10 , wherein a header of the first packet and a header of the second packet comprise in-band network telemetry (INT) information.

15 . A non-transitory computer readable medium, comprising instructions for:

receiving a first notification that at least one of a first packet or a second packet was not received at a receiving network device, wherein the first notification comprises one or more identifiers of packets not received by the receiving network device between a start of both a global network timer and a moving window timer at the receiving network device and an expiration of either the global network timer or the moving window timer, wherein the moving window timer is shorter than the global network timer, the global network timer and the moving window timer were both started based on a determination that one or more packets were not received at the receiving network device, and the moving window timer is restarted based on determination of another packet drop within the moving window timer, and wherein:

a first identifier (ID) was attached to a header of the first packet and a second identifier (ID) was attached to a header of the second packet, where the second ID is different from the first ID;

a copy of the first packet including the first ID was generated;

a copy of the second packet including the second ID was generated;

the copy of the first packet and the copy of the second packet were stored in data storage; and

the first packet and the second packet were transmitted to the receiving network device; and

based on the first notification, displaying to a user a second notification that at least one of the first packet or the second packet was not received by the receiving network device.

16 . The non-transitory computer readable medium of claim 15 ,

wherein the first notification is associated with a tail drop application.

17 . The non-transitory computer readable medium of claim 15 ,

wherein the first ID and the second ID are associated with an order of transmission of the first packet and the second packet.

18 . The non-transitory computer readable medium of claim 17 ,

wherein the first notification includes the first ID or the second ID.

19 . The non-transitory computer readable medium of claim 18 ,

wherein the first ID or second ID in the first notification is used to obtain the at least one of the first packet or second packet to generate the second identification.

20 . The non-transitory computer readable medium of claim 19 ,

wherein the second notification identifies the at least one of the first packet or second packet that was not received.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2022
From: GOURLAY, DOUGLAS ALAN; SRINIVASAN, UDAYAKUMAR; HSU, FRED
To: ARISTA NETWORKS, INC.
Reel/Frame 058893/0551 →
Continuity (2)
Provisional Application 63240208 · Sep 2, 2021
Related Publication 20230063253A1 · Mar 2, 2023
References Cited (14)
US 11075847B1 · Kwan et al. · 2021 [cited by applicant]
US 20070088815A1 · Ma · 2007 [cited by examiner]
US 20100008245A1 · Viger · 2010 [cited by examiner]
US 20140201354A1 · Matthews · 2014 [cited by examiner]
US 20140233382A1 · Matthews et al. · 2014 [cited by applicant]
US 20170302409A1 · Sherlock · 2017 [cited by examiner]
US 20210289391A1 · Paladugu · 2021 [cited by examiner]
US 20220014478A1 · Lee · 2022 [cited by examiner]
US 20220045927A1 · Liu · 2022 [cited by examiner]
US 20220322078A1 · Xu · 2022 [cited by examiner]
EP 3484124A1 · 2019 [cited by examiner]
International Search Report and Written Opinion issued by the European Patent Office as the International Searching Authority (EP/ISA) for PCT Application No. PCT/US2022/042802, mailed Apr. 11, 2023, 14 pages. [cited by applicant]
International Preliminary Report on Patentability issued by the International Bureau for PCT Application No. PCT/US2022/042802, mailed Mar. 14, 2024, 11 pages. [cited by applicant]
Examination Report issued by the European Patent Office for European Patent Application No. 22809931.3, mailed Dec. 17, 2024, 6 pages. [cited by applicant]