IP Library › Granted Patent US 12,537,776
Granted Patent B1
US 12,537,776 · App. 18/084,504 · Granted Jan 27, 2026

Enhanced visibility sampling

Inventors: Bruce Hui Kwan (Sunnyvale, CA); William Brad Matthews (Los Gatos, CA); Puneet Agarwal (Santa Clara, CA)
Assignee: Innovium, Inc.
H04L47/31H04L45/38H04L47/2441H04L47/33
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,537,776
App. No.
18/084,504
Granted
Jan 27, 2026
Kind
B1
Abstract

In response to certain events in a network device, visibility packets may be generated. A visibility packet may be or comprise at least a portion of a packet that is in some way associated with the event, such as a packet that was dropped as a result of an event, or that was in a queue at the time of an event related to that queue. A visibility packet may be tagged or otherwise indicated as a visibility packet. The network device may include one or more duplicate flow suppression samplers through which visibility packets are routed on their way to a visibility queue, visibility subsystem, and/or out of the network device. The samplers allow only a limited sample of the visibility packets that they receive to pass through the sampler, essentially acting as a filter to reduce the amount of visibility packets that will be processed.

Claims (117)

1 . An apparatus comprising:

network interfaces configured to receive packets over one or more networks;

a flow tracker configured to track a plurality of flows of the received packets, the flow tracker comprising:

a packet traffic sampler configured to send an event notification to a visibility processor responsive to an event occurring within the apparatus that affects packet traffic in a flow among the plurality of flows;

the visibility processor is configured to analyze the flow based on the event to determine whether to send diagnostic information to a collector; and

in response to a determination that diagnostic information is to be sent to the collector, the visibility processor is further configured to send diagnostic information associated with the flow to the collector.

2 . The apparatus of claim 1 , wherein the visibility processor is further configured to:

determine whether the event is a dropped packet from the flow;

in response to a determination that the event is a dropped packet from the flow, determine whether the dropped packet is the first packet sampled in the flow during a current time period;

in response to a determination that the dropped packet is the first packet sampled in the flow during the current time period:

designate the packet as a diagnostic packet; and

extract packet data from the packet to include in the diagnostic information;

in response to a determination that the dropped packet is not the first packet sampled in the flow during the current time period, discard the dropped packet.

3 . The apparatus of claim 1 , wherein the visibility processor is further configured to:

determine whether the event is an amount of packet traffic delay in the flow is higher than a threshold value;

in response to a determination that the amount of packet traffic delay in the flow is higher than the threshold value, determine whether the packets in the flow are the first packets sampled in the flow during a current time period;

in response to a determination that the packets in the flow are the first packets sampled in the flow during a current time period:

create a snapshot of an egress queue for the flow;

mark the packets in the snapshot as forensic packets; and

include a subset of the forensic packets in the diagnostic information.

4 . The apparatus of claim 1 , wherein the visibility processor monitor is further configured to:

determine whether the event is a dropped packet from the flow;

in response to a determination that the event is a dropped packet from the flow, determine whether the dropped packet is the first packet sampled in the flow during a current time period;

in response to a determination that the dropped packet is the first packet sampled in the flow during the current time period:

create a snapshot of an egress queue for the flow;

mark the packets in the snapshot as forensic packets; and

include a subset of the forensic packets in the diagnostic information,

in response to a determination that the dropped packet is not the first packet sampled in the flow during the current time period, discard the dropped packet.

5 . The apparatus of claim 1 , wherein the visibility processor monitor is further configured to:

determine whether the event is a dropped packet from the flow;

in response to a determination that the event is a dropped packet from the flow, determine whether any tokens are in a recurrent event rate token bucket;

in response to a determination that there is least one token in the recurrent event rate token bucket:

determine whether the dropped packet is the first packet sampled in the flow during a current time period;

in response to a determination that the dropped packet is the first packet sampled in the flow during the current time period:

designate the packet as a diagnostic packet; and

extract packet data from the packet to include in the diagnostic information;

in response to a determination that the dropped packet is not the first packet sampled in the flow during the current time period, discard the dropped packet.

6 . The apparatus of claim 5 , wherein tokens in the recurrent event rate token bucket are dynamically replenished with a number of tokens based on a recurrence rate of the event.

7 . The apparatus of claim 1 , wherein the visibility processor monitor is further configured to:

determine whether the event is an amount of packet traffic delay in the flow is higher than a threshold value;

in response to a determination that the amount of packet traffic delay in the flow is higher than the threshold value, determine whether any tokens are in a recurrent event rate token bucket;

in response to a determination that there is least one token in the recurrent event rate token bucket:

determine whether the packets in the flow are the first packets sampled in the flow during a current time period;

in response to a determination that the packets in the flow are the first packets sampled in the flow during a current time period:

create a snapshot of an egress queue for the flow;

mark the packets in the snapshot as forensic packets; and

include a subset of the forensic packets in the diagnostic information.

8 . The apparatus of claim 7 , wherein tokens in the recurrent event rate token bucket are dynamically replenished with a number of tokens based on a recurrence rate of the event.

9 . The apparatus of claim 1 , wherein the visibility processor monitor is further configured to:

determine whether the event is a dropped packet from the flow;

in response to a determination that the event is a dropped packet from the flow, determine whether any tokens are in a recurrent event rate token bucket;

in response to a determination that there is least one token in the recurrent event rate token bucket:

determine whether the dropped packet is the first packet sampled in the flow during a current time period;

in response to a determination that the dropped packet is the first packet sampled in the flow during the current time period:

create a snapshot of an egress queue for the flow;

mark the packets in the snapshot as forensic packets; and

include a subset of the forensic packets in the diagnostic information,

in response to a determination that the dropped packet is not the first packet sampled in the flow during the current time period, discard the dropped packet.

10 . The apparatus of claim 9 , wherein tokens in the recurrent event rate token bucket are dynamically replenished with a number of tokens based on a recurrence rate of the event.

11 . A method comprising:

receiving packets at network interfaces of a network apparatus over one or more networks;

responsive to an event occurring within the network apparatus that affects received packet traffic in a flow among the plurality of flows:

analyzing the flow based on the event to determine whether to send diagnostic information to a collector; and

in response to a determination that diagnostic information is to be sent to the collector, sending diagnostic information associated with the flow to the collector.

12 . The method of claim 11 , further comprising:

determining whether the event is a dropped packet from the flow;

in response to a determination that the event is a dropped packet from the flow, determining whether the dropped packet is the first packet sampled in the flow during a current time period;

in response to a determination that the dropped packet is the first packet sampled in the flow during the current time period:

designating the packet as a diagnostic packet; and

extracting packet data from the packet to include in the diagnostic information;

in response to a determination that the dropped packet is not the first packet sampled in the flow during the current time period, discarding the dropped packet.

13 . The method of claim 11 , further comprising:

determining whether the event is an amount of packet traffic delay in the flow is higher than a threshold value;

in response to a determination that the amount of packet traffic delay in the flow is higher than the threshold value, determining whether the packets in the flow are the first packets sampled in the flow during a current time period;

in response to a determination that the packets in the flow are the first packets sampled in the flow during a current time period:

creating a snapshot of an egress queue for the flow;

marking the packets in the snapshot as forensic packets; and

including a subset of the forensic packets in the diagnostic information.

14 . The method of claim 11 , further comprising:

determining whether the event is a dropped packet from the flow;

in response to a determination that the event is a dropped packet from the flow, determining whether the dropped packet is the first packet sampled in the flow during a current time period;

in response to a determination that the dropped packet is the first packet sampled in the flow during the current time period:

creating a snapshot of an egress queue for the flow;

marking the packets in the snapshot as forensic packets; and

including a subset of the forensic packets in the diagnostic information,

in response to a determination that the dropped packet is not the first packet sampled in the flow during the current time period, discarding the dropped packet.

15 . The method of claim 11 , further comprising:

determining whether the event is a dropped packet from the flow;

in response to a determination that the event is a dropped packet from the flow, determining whether any tokens are in a recurrent event rate token bucket;

in response to a determination that there is least one token in the recurrent event rate token bucket:

determining whether the dropped packet is the first packet sampled in the flow during a current time period;

in response to a determination that the dropped packet is the first packet sampled in the flow during the current time period:

designating the packet as a diagnostic packet; and

extracting packet data from the packet to include in the diagnostic information;

in response to a determination that the dropped packet is not the first packet sampled in the flow during the current time period, discarding the dropped packet.

16 . The method of claim 15 , wherein tokens in the recurrent event rate token bucket are dynamically replenished with a number of tokens based on a recurrence rate of the event.

17 . The method of claim 11 , further comprising:

determining whether the event is an amount of packet traffic delay in the flow is higher than a threshold value;

in response to a determination that the amount of packet traffic delay in the flow is higher than the threshold value, determining whether any tokens are in a recurrent event rate token bucket;

in response to a determination that there is least one token in the recurrent event rate token bucket:

determining whether the packets in the flow are the first packets sampled in the flow during a current time period;

in response to a determination that the packets in the flow are the first packets sampled in the flow during a current time period:

creating a snapshot of an egress queue for the flow;

marking the packets in the snapshot as forensic packets; and

including a subset of the forensic packets in the diagnostic information.

18 . The method of claim 17 , wherein tokens in the recurrent event rate token bucket are dynamically replenished with a number of tokens based on a recurrence rate of the event.

19 . The method of claim 11 , further comprising:

determining whether the event is a dropped packet from the flow;

in response to a determination that the event is a dropped packet from the flow, determining whether any tokens are in a recurrent event rate token bucket;

in response to a determination that there is least one token in the recurrent event rate token bucket:

determining whether the dropped packet is the first packet sampled in the flow during a current time period;

in response to a determination that the dropped packet is the first packet sampled in the flow during the current time period:

creating a snapshot of an egress queue for the flow;

marking the packets in the snapshot as forensic packets; and

including a subset of the forensic packets in the diagnostic information,

in response to a determination that the dropped packet is not the first packet sampled in the flow during the current time period, discarding the dropped packet.

20 . The method of claim 19 , wherein tokens in the recurrent event rate token bucket are dynamically replenished with a number of tokens based on a recurrence rate of the event.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2023
From: KWAN, BRUCE HUI; MATTHEWS, WILLIAM BRAD; AGARWAL, PUNEET
To: INNOVIUM, INC.
Reel/Frame 062393/0715 →
Continuity (3)
Continuation In Part 17385503 · Jul 26, 2021
Continuation 16595127 · Oct 7, 2019
Continuation In Part 15407159 · Jan 16, 2017
References Cited (198)
US 5805602A · Cloutier et al. · 1998 [cited by applicant]
US 6011805A · Esteve et al. · 2000 [cited by applicant]
US 6373399B1 · Johnson et al. · 2002 [cited by applicant]
US 6625151B1 · Alowersson et al. · 2003 [cited by applicant]
US 6650621B1 · Maki-Kullas · 2003 [cited by applicant]
US 6721316B1 · Epps et al. · 2004 [cited by applicant]
US 6865160B1 · Bare · 2005 [cited by applicant]
US 6977930B1 · Epps et al. · 2005 [cited by applicant]
US 7149187B1 · Jacobson et al. · 2006 [cited by applicant]
US 7295562B1 · Acharya et al. · 2007 [cited by applicant]
US 7360217B2 · Melvin et al. · 2008 [cited by applicant]
US 7382244B1 · Donovan et al. · 2008 [cited by applicant]
US 7813348B1 · Gupta et al. · 2010 [cited by applicant]
US 7898959B1 · Arad · 2011 [cited by applicant]
US 8004990B1 · Callon · 2011 [cited by applicant]
US 8281033B1 · Riordan et al. · 2012 [cited by applicant]
US 8588242B1 · Izenberg et al. · 2013 [cited by applicant]
US 9489401B1 · Garcia et al. · 2016 [cited by applicant]
US 9565114B1 · Kabbani et al. · 2017 [cited by applicant]
US 9805018B1 · Richfield · 2017 [cited by applicant]
US 9979624B1 · Volpe · 2018 [cited by examiner]
US 10063488B2 · Oran · 2018 [cited by applicant]
US 10313255B1 · Matthews et al. · 2019 [cited by applicant]
US 10320691B1 · Matthews · 2019 [cited by applicant]
US 10389643B1 · Matthews · 2019 [cited by applicant]
US 10505849B1 · Iny et al. · 2019 [cited by applicant]
US 10673770B1 · Matthews et al. · 2020 [cited by applicant]
US 10713079B2 · Muramatti et al. · 2020 [cited by applicant]
US 10721187B1 · Goldman et al. · 2020 [cited by applicant]
US 10735339B1 · Matthews · 2020 [cited by applicant]
US 11621904B1 · Matthews et al. · 2023 [cited by applicant]
US 11665104B1 · Matthews · 2023 [cited by applicant]
US 20020133617A1 · Davies · 2002 [cited by applicant]
US 20030093567A1 · Lolayekar et al. · 2003 [cited by applicant]
US 20030131122A1 · Kondo et al. · 2003 [cited by applicant]
US 20030142685A1 · Bare · 2003 [cited by applicant]
US 20030152076A1 · Lee et al. · 2003 [cited by applicant]
US 20030154328A1 · Henderson et al. · 2003 [cited by applicant]
US 20030210695A1 · Henrion · 2003 [cited by applicant]
US 20030231646A1 · Chandra et al. · 2003 [cited by applicant]
US 20040193709A1 · Selvaggi · 2004 [cited by examiner]
US 20040196790A1 · Balakrishnan et al. · 2004 [cited by applicant]
US 20040218925A1 · Nahm · 2004 [cited by applicant]
US 20050007959A1 · Tomonaga et al. · 2005 [cited by applicant]
US 20050007961A1 · Scott et al. · 2005 [cited by applicant]
US 20050013248A1 · Mekkittikul et al. · 2005 [cited by applicant]
US 20050068970A1 · Srikrishna et al. · 2005 [cited by applicant]
US 20050086363A1 · Ji · 2005 [cited by applicant]
US 20050243729A1 · Jorgenson · 2005 [cited by examiner]
US 20050281279A1 · Dennison et al. · 2005 [cited by applicant]
US 20060036821A1 · Frey et al. · 2006 [cited by applicant]
US 20060067213A1 · Evans et al. · 2006 [cited by applicant]
US 20060117099A1 · Mogul · 2006 [cited by applicant]
US 20060218556A1 · Nemirovsky et al. · 2006 [cited by applicant]
US 20060274760A1 · Loher · 2006 [cited by applicant]
US 20070028003A1 · Rudkin · 2007 [cited by applicant]
US 20070091802A1 · Pan et al. · 2007 [cited by applicant]
US 20070195778A1 · Tatar et al. · 2007 [cited by applicant]
US 20070280117A1 · Katz et al. · 2007 [cited by applicant]
US 20080052394A1 · Bugenhagen · 2008 [cited by examiner]
US 20080112343A1 · Oleszczuk · 2008 [cited by applicant]
US 20080212613A1 · Perkinson et al. · 2008 [cited by applicant]
US 20080259800A1 · Clark et al. · 2008 [cited by applicant]
US 20090010248A1 · Kanai · 2009 [cited by applicant]
US 20090028045A1 · Stellenberg et al. · 2009 [cited by applicant]
US 20090063431A1 · Erol et al. · 2009 [cited by applicant]
US 20090075668A1 · Rao · 2009 [cited by applicant]
US 20090109858A1 · Yamasaki et al. · 2009 [cited by applicant]
US 20090190591A1 · Sankaran · 2009 [cited by applicant]
US 20090304014A1 · Evans et al. · 2009 [cited by applicant]
US 20100046524A1 · Rune et al. · 2010 [cited by applicant]
US 20100091782A1 · Hiscock · 2010 [cited by applicant]
US 20100309783A1 · Howe · 2010 [cited by applicant]
US 20110051602A1 · Matthews et al. · 2011 [cited by applicant]
US 20110205895A1 · Chen et al. · 2011 [cited by applicant]
US 20110280126A1 · Fefer et al. · 2011 [cited by applicant]
US 20120008496A1 · Saavedra · 2012 [cited by applicant]
US 20120063451A1 · Keesara et al. · 2012 [cited by applicant]
US 20120201241A1 · Subramanian et al. · 2012 [cited by applicant]
US 20120236860A1 · Kompella et al. · 2012 [cited by applicant]
US 20120254931A1 · Oztaskent et al. · 2012 [cited by applicant]
US 20130259037A1 · Natarajan et al. · 2013 [cited by applicant]
US 20130329577A1 · Suzuki et al. · 2013 [cited by applicant]
US 20140092736A1 · Baillargeon · 2014 [cited by applicant]
US 20140105025A1 · Lavian et al. · 2014 [cited by applicant]
US 20140126396A1 · Matthews et al. · 2014 [cited by applicant]
US 20140126573A1 · Matthews et al. · 2014 [cited by applicant]
US 20140169189A1 · Kalkunte · 2014 [cited by applicant]
US 20140219087A1 · Matthews · 2014 [cited by examiner]
US 20140247740A1 · Koo · 2014 [cited by applicant]
US 20140369426A1 · Li et al. · 2014 [cited by applicant]
US 20150016258A1 · Okner et al. · 2015 [cited by applicant]
US 20150016266A1 · Dumitrescu et al. · 2015 [cited by applicant]
US 20150043330A1 · Hu et al. · 2015 [cited by applicant]
US 20150124608A1 · Agarwal et al. · 2015 [cited by applicant]
US 20150139540A1 · Moraleda et al. · 2015 [cited by applicant]
US 20150295827A1 · Zhu et al. · 2015 [cited by applicant]
US 20160044695A1 · Gunner · 2016 [cited by applicant]
US 20160072717A1 · Ansari et al. · 2016 [cited by applicant]
US 20160087894A1 · Chen et al. · 2016 [cited by applicant]
US 20160134915A1 · Oran · 2016 [cited by applicant]
US 20160164792A1 · Oran · 2016 [cited by applicant]
US 20160254992A1 · Torvi et al. · 2016 [cited by applicant]
US 20160261500A1 · Revah et al. · 2016 [cited by applicant]
US 20160269284A1 · Cheng et al. · 2016 [cited by applicant]
US 20160308769A1 · Versteeg et al. · 2016 [cited by applicant]
US 20160373199A1 · Olofsson et al. · 2016 [cited by applicant]
US 20170048147A1 · Vaidya · 2017 [cited by applicant]
US 20170111264A1 · Shankarappa et al. · 2017 [cited by applicant]
US 20170126547A1 · Wood et al. · 2017 [cited by applicant]
US 20170134282A1 · Agarwal et al. · 2017 [cited by applicant]
US 20170149678A1 · Dumitrescu et al. · 2017 [cited by applicant]
US 20170279728A1 · Oran · 2017 [cited by applicant]
US 20170289186A1 · Staniford · 2017 [cited by examiner]
US 20170339074A1 · Melman et al. · 2017 [cited by applicant]
US 20180091388A1 · Levy et al. · 2018 [cited by applicant]
US 20180159800A1 · Tietz et al. · 2018 [cited by applicant]
US 20180356837A1 · Lisewski et al. · 2018 [cited by applicant]
US 20190089644A1 · Shpiner et al. · 2019 [cited by applicant]
US 20200007454A1 · Frink · 2020 [cited by applicant]
US 20200053026A1 · Rangachari et al. · 2020 [cited by applicant]
US 20200106710A1 · Ryoo et al. · 2020 [cited by applicant]
US 20200136973A1 · Rahman et al. · 2020 [cited by applicant]
US 20200249979A1 · Muramatti et al. · 2020 [cited by applicant]
US 20200274811A1 · Srivastava et al. · 2020 [cited by applicant]
US 20210021545A1 · Srivastava et al. · 2021 [cited by applicant]
US 20210243094A1 · Holness et al. · 2021 [cited by applicant]
US 20210409313A1 · Iorga et al. · 2021 [cited by applicant]
US 20220045972A1 · Aibester et al. · 2022 [cited by applicant]
US 20220150171A1 · Matthews et al. · 2022 [cited by applicant]
US 20240039852A1 · Matthews et al. · 2024 [cited by applicant]
CN 111183624A · 2020 [cited by applicant]
Chinese Patent Office, Application No. 202180089206.4, Office Action dated Jan. 26, 2024. [cited by applicant]
European Patent Office, Application No. 21890201.3, European Search Report dated Dec. 12, 2023. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 18/108,546, Notice of Allowance dated Nov. 14, 2023. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 18/141,276, Notice of Allowance dated Dec. 20, 2023. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 17/091,916, Non-Final Office Action dated Mar. 15, 2023. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 17/352,583, Non-Final Office Action dated Dec. 22, 2022. [cited by applicant]
World Intellectual Property Organization, Application No. PCT/US22/20087, International Search Report dated Jul. 19, 2022. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 17/352,583, Notice of Allowance dated Aug. 9, 2023. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 17/385,503, Notice of Allowance dated Aug. 10, 2023. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 18/108,546, Non-Final Office Action dated Jun. 23, 2023. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 17/091,916, Notice of Allowance dated May 26, 2023. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 17/352,583, Final Office Action dated May 15, 2023. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 17/367,330, Notice of Allowance dated Mar. 24, 2023. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 17/385,503, Non-Final Office Action dated Apr. 7, 2023. [cited by applicant]
U.S. Appl. No. 16/527,278, filed Jul. 31, 2019, William Brad Matthews. [cited by applicant]
U.S. Appl. No. 16/575,343, filed Sep. 18, 2019, William Brad Matthews. [cited by applicant]
Sinha et al. “Harnessing TCP's Burstiness with Flowlet Switching.” (2004). [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/407,149, Non-Final Office Action dated Aug. 28, 2018. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/407,149, Notice of Allowance dated Jan. 25, 2019. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/407,156, Notice of Allowance dated Jan. 24, 2019. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/407,159, Advisory Action dated Nov. 1, 2019. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/407,159, Final Office Action dated Aug. 13, 2019. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/407,159, Non-Final Office Action dated Jan. 4, 2019. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/407,159, Notice of Allowance dated Mar. 25, 2020. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/410,607, Final Office Action dated Dec. 18, 2018. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/410,607, Non-Final Office Action dated May 17, 2018. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/410,607, Notice of Allowance dated Apr. 3, 2019. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/410,644, Final Office Action dated Oct. 11, 2018. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/410,644, Non-Final Office Action dated May 3, 2018. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/410,644, Notice of Allowance dated Jan. 28, 2019. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/410,651, Final Office Action dated Oct. 11, 2018. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/410,651, Final Office Action dated Jun. 6, 2019. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/410,651, Non-Final Office Action dated May 15, 2018. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/410,651, Non-Final Office Action dated Feb. 15, 2019. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/410,651, Notice of Allowance dated Sep. 24, 2019. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/410,686, Final Office Action dated Nov. 8, 2018. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/410,686, Non-Final Office Action dated May 9, 2018. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/410,686, Notice Of Allowance dated Apr. 9, 2019. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/446,888, Advisory Action dated Mar. 15, 2019. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/446,888, Final Office Action dated Nov. 23, 2018. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/446,888, Non-Final Office Action dated May 10, 2018. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/446,888, Notice of Allowance dated Sep. 24, 2019. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/446,894, Non-Final Office Action dated Jul. 27, 2018. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/446,894, Notice of Allowance dated Feb. 19, 2019. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/446,901, Advisory Action dated Mar. 28, 2019. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/446,901, Final Office Action dated Jan. 15, 2019. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/446,901, Non-Final Office Action dated Aug. 29, 2018. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 15/446,901, Notice of Allowance dated May 28, 2019. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 16/288,165, Non-Final Office Action dated Aug. 22, 2019. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 16/288,165, Notice of Allowance dated Jan. 27, 2020. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 16/527,278, Non-Final Office Action dated Oct. 13, 2020. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 16/527,278, Notice of Allowance dated Feb. 19, 2021. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 16/575,343, Advisory Action dated Jun. 29, 2021. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 16/575,343, Advisory Action dated Jul. 25, 2022. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 16/575,343, Final Office Action dated Mar. 31, 2021. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 16/575,343, Final Office Action dated May 10, 2022. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 16/575,343, Non-Final Office Action dated Sep. 30, 2020. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 16/575,343, Non-Final Office Action dated Sep. 28, 2021. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 16/575,343, Non-Final Office Action dated Sep. 6, 2022. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 16/575,343, Notice of Allowance dated Jan. 11, 2023. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 16/595,127, Non-Final Office Action dated Oct. 16, 2020. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 16/595,127, Notice of Allowance dated Mar. 23, 2021. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 16/741,510, Notice of Allowance dated Feb. 18, 2021. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 17/091,904, Non-Final Office Action dated Apr. 28, 2022. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 17/091,904, Notice of Allowance dated Nov. 17, 2022. [cited by applicant]
United States Patent and Trademark Office, U.S. Appl. No. 17/091,916, Restriction Requirement dated Sep. 22, 2022. [cited by applicant]