IP Library › Granted Patent US 12,388,763
Granted Patent B1
US 12,388,763 · App. 18/396,621 · Granted Aug 12, 2025

Visibility sampling

Inventors: Bruce Hui Kwan (Santa Clara, 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,388,763
App. No.
18/396,621
Granted
Aug 12, 2025
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 visibility 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 (46)

1. An apparatus, comprising:

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

a plurality of pre-event samplers configured to sample packets of the plurality of packets and, based on sampling criteria, tag certain packets as visibility-eligible, the plurality of pre-event samplers are arranged hierarchically;

a queue manager configured to assign the plurality of packets to packet queues;

one or more visibility event monitors configured to generate visibility packets comprising information associated with the certain packets that have been tagged as visibility-eligible and forward the visibility packets to a visibility subsystem;

a packet processor configured to process particular packets of the plurality of packets in the packet queues and forward the particular packets to destinations indicated by the particular packets.

2. The apparatus of claim 1 , wherein one or more aggregating samplers sample packets received from pre-event samplers in the hierarchy.

3. The apparatus of claim 1 , wherein one or more aggregating samplers sample packets received from pre-event samplers in the hierarchy to remove duplicate packets.

4. The apparatus of claim 1 , wherein one or more aggregating samplers sample packets received from pre-event samplers in the hierarchy, and wherein the one or more aggregating samplers insert tags into the certain packets.

5. The apparatus of claim 1 , and wherein pre-event samplers are dynamically coupled to other pre-event samplers to form a hierarchy.

6. A method, comprising:

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

sampling packets of the plurality of packets using a plurality of pre-event samplers and, based on sampling criteria, tagging certain packets of the plurality of packets as visibility-eligible, the plurality of pre-event samplers are arranged hierarchically;

assigning the plurality of packets to packet queues;

generating visibility packets comprising information associated with the certain packets that have been tagged as visibility-eligible;

forwarding the visibility packets to a visibility subsystem;

processing particular packets of the plurality of packets in the packet queues;

forwarding the particular packets to destinations indicated by the particular packets.

7. The method of claim 6 , further comprising:

sampling packets received from pre-event samplers in the hierarchy using one or more aggregating samplers.

8. The method of claim 6 , further comprising:

sampling packets received from pre-event samplers in the hierarchy using one or more aggregating samplers; and

removing duplicate packets by the one or more aggregating samplers.

9. The method of claim 6 , further comprising:

sampling packets received from pre-event samplers in the hierarchy using one or more aggregating samplers; and

inserting tags into the certain packets by the one or more aggregating samplers.

10. The method of claim 6 , further comprising:

dynamically coupling pre-event samplers to other pre-event samplers to form a hierarchy.

11. One or more non-transitory computer-readable media storing instructions that, when executed by one or more computing devices, cause:

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

sampling packets of the plurality of packets using a plurality of pre-event samplers and, based on sampling criteria, tagging certain packets of the plurality of packets as visibility-eligible, the plurality of pre-event samplers are arranged hierarchically;

assigning the plurality of packets to packet queues;

generating visibility packets comprising information associated with the certain packets that have been tagged as visibility-eligible;

forwarding the visibility packets to a visibility subsystem;

processing particular packets of the plurality of packets in the packet queues;

forwarding the particular packets to destinations indicated by the particular packets.

12. The one or more non-transitory computer-readable media of claim 11 , wherein the instructions that, when executed by the one or more computing devices, further cause:

sampling packets received from pre-event samplers in the hierarchy using one or more aggregating samplers; and

inserting tags into the certain packets by the one or more aggregating samplers.

13. The one or more non-transitory computer-readable media of claim 11 , wherein the instructions that, when executed by the one or more computing devices, further cause:

sampling packets received from pre-event samplers in the hierarchy using one or more aggregating samplers.

14. The one or more non-transitory computer-readable media of claim 11 , wherein the instructions that, when executed by the one or more computing devices, further cause:

sampling packets received from pre-event samplers in the hierarchy using one or more aggregating samplers; and

removing duplicate packets by the one or more aggregating samplers.

15. The one or more non-transitory computer-readable media of claim 11 , wherein the instructions that, when executed by the one or more computing devices, further cause:

dynamically coupling pre-event samplers to other pre-event samplers to form a hierarchy.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2024
From: KWAN, BRUCE HUI; MATTHEWS, WILLIAM BRAD; AGARWAL, PUNEET
To: INNOVIUM, INC.
Reel/Frame 066297/0345 →
Continuity (3)
Continuation 17385503 · Jul 26, 2021
Continuation 16595127 · Oct 7, 2019
Continuation In Part 15407159 · Jan 16, 2017
References Cited (193)
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 et al. · 2018 [cited by applicant]
US 10063488B2 · Oran et al. · 2018 [cited by applicant]
US 10313255B1 · Matthews et al. · 2019 [cited by applicant]
US 10320691B1 · Matthews et al. · 2019 [cited by applicant]
US 10389643B1 · Matthews et al. · 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 et al. · 2020 [cited by applicant]
US 11044204B1 · Matthews et al. · 2021 [cited by applicant]
US 11621904B1 · Matthews et al. · 2023 [cited by applicant]
US 11665104B1 · Matthews et al. · 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 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 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 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 · 2014 [cited by examiner]
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 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]
U.S. Appl. No. 16/741,510, Notice of Allowance dated Feb. 18, 2021. [cited by applicant]
U.S. Appl. No. 17/091,904, Non-Final Office Action dated Apr. 28, 2022. [cited by applicant]
U.S. Appl. No. 17/091,904, Notice of Allowance dated Nov. 17, 2022. [cited by applicant]
U.S. Appl. No. 17/091,916, Non-Final Office Action dated Mar. 15, 2023. [cited by applicant]
U.S. Appl. No. 17/091,916, Notice of Allowance dated May 26, 2023. [cited by applicant]
U.S. Appl. No. 17/091,916, Restriction Requirement dated Sep. 22, 2022. [cited by applicant]
U.S. Appl. No. 17/352,583, Final Office Action dated May 15, 2023. [cited by applicant]
U.S. Appl. No. 17/352,583, Non-Final Office Action dated Dec. 22, 2022. [cited by applicant]
U.S. Appl. No. 17/352,583, Notice of Allowance dated Aug. 9, 2023. [cited by applicant]
U.S. Appl. No. 17/367,330, Notice of Allowance dated Mar. 24, 2023. [cited by applicant]
U.S. Appl. No. 17/385,503, Non-Final Office Action dated Apr. 7, 2023. [cited by applicant]
U.S. Appl. No. 17/385,503, Notice of Allowance dated Aug. 10, 2023. [cited by applicant]
U.S. Appl. No. 18/108,546, Non-Final Office Action dated Jun. 23, 2023. [cited by applicant]
U.S. Appl. No. 18/108,546, Notice of Allowance dated Nov. 14, 2023. [cited by applicant]
U.S. Appl. No. 18/141,276, Notice of Allowance dated Dec. 20, 2023. [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]
Sinha et al. “Harnessing TCP's Burstiness with Flowlet Switching.” (2004). [cited by applicant]
U.S. Appl. No. 15/407,149, Non-Final Office Action dated Aug. 28, 2018. [cited by applicant]
U.S. Appl. No. 15/407,149, Notice of Allowance dated Jan. 25, 2019. [cited by applicant]
U.S. Appl. No. 15/407,156, Notice of Allowance dated Jan. 24, 2019. [cited by applicant]
U.S. Appl. No. 15/407,159, Advisory Action dated Nov. 1, 2019. [cited by applicant]
U.S. Appl. No. 15/407,159, Final Office Action dated Aug. 13, 2019. [cited by applicant]
U.S. Appl. No. 15/407,159, Non-Final Office Action dated Jan. 4, 2019. [cited by applicant]
U.S. Appl. No. 15/407,159, Notice of Allowance dated Mar. 25, 2020. [cited by applicant]
U.S. Appl. No. 15/410,607, Final Office Action dated Dec. 18, 2018. [cited by applicant]
U.S. Appl. No. 15/410,607, Non-Final Office Action dated May 17, 2018. [cited by applicant]
U.S. Appl. No. 15/410,607, Notice of Allowance dated Apr. 3, 2019. [cited by applicant]
U.S. Appl. No. 15/410,644, Final Office Action dated Oct. 11, 2018. [cited by applicant]
U.S. Appl. No. 15/410,644, Non-Final Office Action dated May 3, 2018. [cited by applicant]
U.S. Appl. No. 15/410,644, Notice of Allowance dated Jan. 28, 2019. [cited by applicant]
U.S. Appl. No. 15/410,651, Final Office Action dated Oct. 11, 2018. [cited by applicant]
U.S. Appl. No. 15/410,651, Final Office Action dated Jun. 6, 2019. [cited by applicant]
U.S. Appl. No. 15/410,651, Non-Final Office Action dated May 15, 2018. [cited by applicant]
U.S. Appl. No. 15/410,651, Non-Final Office Action dated Feb. 15, 2019. [cited by applicant]
U.S. Appl. No. 15/410,651, Notice of Allowance dated Sep. 24, 2019. [cited by applicant]
U.S. Appl. No. 15/410,686, Final Office Action dated Nov. 8, 2018. [cited by applicant]
U.S. Appl. No. 15/410,686, Non-Final Office Action dated May 9, 2018. [cited by applicant]
U.S. Appl. No. 15/410,686, Notice Of Allowance dated Apr. 9, 2019. [cited by applicant]
U.S. Appl. No. 15/446,888, Advisory Action dated Mar. 15, 2019. [cited by applicant]
U.S. Appl. No. 15/446,888, Final Office Action dated Nov. 23, 2018. [cited by applicant]
U.S. Appl. No. 15/446,888, Non-Final Office Action dated May 10, 2018. [cited by applicant]
U.S. Appl. No. 15/446,888, Notice of Allowance dated Sep. 24, 2019. [cited by applicant]
U.S. Appl. No. 15/446,894, Non-Final Office Action dated Jul. 27, 2018. [cited by applicant]
U.S. Appl. No. 15/446,894, Notice of Allowance dated Feb. 19, 2019. [cited by applicant]
U.S. Appl. No. 15/446,901, Advisory Action dated Mar. 28, 2019. [cited by applicant]
U.S. Appl. No. 15/446,901, Final Office Action dated Jan. 15, 2019. [cited by applicant]
U.S. Appl. No. 15/446,901, Non-Final Office Action dated Aug. 29, 2018. [cited by applicant]
U.S. Appl. No. 15/446,901, Notice of Allowance dated May 28, 2019. [cited by applicant]
U.S. Appl. No. 16/288,165, Non-Final Office Action dated Aug. 22, 2019. [cited by applicant]
U.S. Appl. No. 16/288,165, Notice of Allowance dated Jan. 27, 2020. [cited by applicant]
U.S. Appl. No. 16/527,278, Non-Final Office Action dated Oct. 13, 2020. [cited by applicant]
U.S. Appl. No. 16/527,278, Notice of Allowance dated Feb. 19, 2021. [cited by applicant]
U.S. Appl. No. 16/575,343, Advisory Action dated Jun. 29, 2021. [cited by applicant]
U.S. Appl. No. 16/575,343, Advisory Action dated Jul. 25, 2022. [cited by applicant]
U.S. Appl. No. 16/575,343, Final Office Action dated Mar. 31, 2021. [cited by applicant]
U.S. Appl. No. 16/575,343, Final Office Action dated May 10, 2022. [cited by applicant]
U.S. Appl. No. 16/575,343, Non-Final Office Action dated Sep. 30, 2020. [cited by applicant]
U.S. Appl. No. 16/575,343, Non-Final Office Action dated Sep. 28, 2021. [cited by applicant]
U.S. Appl. No. 16/575,343, Non-Final Office Action dated Sep. 6, 2022. [cited by applicant]
U.S. Appl. No. 16/575,343, Notice of Allowance dated Jan. 11, 2023. [cited by applicant]
U.S. Appl. No. 16/595,127, Non-Final Office Action dated Oct. 16, 2020. [cited by applicant]
U.S. Appl. No. 16/595,127, Notice of Allowance dated Mar. 23, 2021. [cited by applicant]
World Intellectual Property Organization, Application No. PCT/US22/20087, International Search Report dated Jul. 19, 2022. [cited by applicant]