IP Library Granted Patent US 12,463,884
Granted Patent B2
US 12,463,884 · App. 18/752,509 · Granted Nov 4, 2025

Dynamically reconfiguring data plane of forwarding element to account for power consumption

Inventor: Remy Chang (Milpitas, CA)
Assignee: Barefoot Networks, Inc.
H04L43/08G06F1/04G06F1/206G06F1/32G06F1/3234G06F3/0613G06F3/065G06F3/067G06F13/161G06F13/1642H04L41/0833H04L45/38H04L45/745H04L49/25H04L49/3063H04L49/40H04L49/501H04L49/505H04L45/64H04L47/30H04L69/22
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,463,884
App. No.
18/752,509
Filed
Jun 24, 2024
Granted
Nov 4, 2025
Kind
B2
Examiner
PHAN, MAN U
Art Unit
2477
USPC
370/254
Abstract

Some embodiments of the invention provide a network forwarding element that can be dynamically reconfigured to adjust its data message processing to stay within a desired operating temperature or power consumption range. In some embodiments, the network forwarding element includes (1) a data-plane forwarding circuit (“data plane”) to process data tuples associated with data messages received by the IC, and (2) a control-plane circuit (“control plane”) for configuring the data plane forwarding circuit. The data plane includes several data processing stages to process the data tuples.

Claims (51)

1 . Integrated circuit configurable for use in association with data forwarding in at least one network that includes at least one destination device, the integrated circuit comprising:

packet processing circuitry that is dynamically configurable, based upon detected packet data queue storage level, to adjust packet data processing throughput rate of the packet processing circuitry;

wherein:

the packet processing circuitry is for use in association with the data forwarding; and

the packet processing circuitry is to be dynamically reconfigured based upon reconfiguration data that is associated with at least one of multiple different packet data processing throughput rates.

2 . The integrated circuit of claim 1 , wherein:

the integrated circuit is for use in association with a network forwarding element; and

the packet processing circuitry is configurable to comprise at least one multi-stage packet processing pipeline.

3 . The integrated circuit of claim 2 , wherein:

the reconfiguration data is to be provided from a control plane.

4 . The integrated circuit of claim 3 , wherein:

the packet processing circuitry is dynamically configurable to implement the at least one of the multiple different packet data processing throughput rates depending upon the detected packet data queue storage level.

5 . The integrated circuit of claim 4 , wherein:

the at least one of the multiple different packet data processing throughput rates is to be implemented based upon congestion level associated with the detected packet data queue storage level.

6 . The integrated circuit of claim 5 , wherein:

the at least one of the multiple different packet data processing throughput rates is to be implemented for at least one transient period of time; and

the packet processing circuitry is to be dynamically reconfigured in association with signal generator reconfiguration that is associated with the at least one of the multiple different packet data processing throughput rates.

7 . A method implemented using an integrated circuit, the integrated circuit to be configured for use in association with data forwarding in at least one network that includes at least one destination device, the integrated circuit comprising packet processing circuitry, the method comprising:

dynamically configuring, based upon detected packet data queue storage level, the packet processing circuitry to adjust packet data processing throughput rate of the packet processing circuitry;

wherein:

the packet processing circuitry is for use in association with the data forwarding; and

the packet processing circuitry is to be dynamically reconfigured based upon reconfiguration data that is associated with at least one of multiple different packet data processing throughput rates.

8 . The method of claim 7 , wherein:

the integrated circuit is for use in association with a network forwarding element; and

the packet processing circuitry is configurable to comprise at least one multi-stage packet processing pipeline.

9 . The method of claim 8 , wherein:

the reconfiguration data is to be provided from a control plane.

10 . The method of claim 9 , wherein:

the packet processing circuitry is dynamically configurable to implement the at least one of the multiple different packet data processing throughput rates depending upon the detected packet data queue storage level.

11 . The method of claim 10 , wherein:

the at least one of the multiple different packet data processing throughput rates is to be implemented based upon congestion level associated with the detected packet data queue storage level.

12 . The method of claim 11 , wherein:

the at least one of the multiple different packet data processing throughput rates is to be implemented for at least one transient period of time; and

the packet processing circuitry is to be dynamically reconfigured in association with signal generator reconfiguration that is associated with the at least one of the multiple different packet data processing throughput rates.

13 . At least one non-transitory computer-readable storage medium storing instructions to be executed by an integrated circuit, the integrated circuit to be configured for use in association with data forwarding in at least one network that includes at least one destination device, the integrated circuit comprising packet processing circuitry, the instructions, when executed by the integrated circuit, resulting in the integrated circuit being configured for performance of operations comprising:

dynamically configuring, based upon detected packet data queue storage level, the packet processing circuitry to adjust packet data processing throughput rate of the packet processing circuitry;

wherein:

the packet processing circuitry is for use in association with the data forwarding: and

the packet processing circuitry is to be dynamically reconfigured based upon reconfiguration data that is associated with at least one of multiple different packet data processing throughput rates.

14 . The at least one non-transitory computer-readable storage medium of claim 13 , wherein:

the integrated circuit is for use in association with a network forwarding element; and

the packet processing circuitry is configurable to comprise at least one multi-stage packet processing pipeline.

15 . The at least one non-transitory computer-readable storage medium of claim 14 , wherein:

the reconfiguration data is to be provided from a control plane.

16 . The at least one non-transitory computer-readable storage medium of claim 15 , wherein:

the packet processing circuitry is dynamically configurable to implement the at least one of the multiple different packet data processing throughput rates depending upon the detected packet data queue storage level.

17 . The at least one non-transitory computer-readable storage medium of claim 16 , wherein:

the at least one of the multiple different packet data processing throughput rates is to be implemented based upon congestion level associated with the detected packet data queue storage level.

18 . The at least one non-transitory computer-readable storage medium of claim 17 , wherein:

the at least one of the multiple different packet data processing throughput rates is to be implemented for at least one transient period of time; and

the packet processing circuitry is to be dynamically reconfigured in association with signal generator reconfiguration that is associated with the at least one of the multiple different packet data processing throughput rates.

Continuity (7)
Continuation 18195678 · May 10, 2023
Continuation 17396551 · Aug 6, 2021
Continuation 16372214 · Apr 1, 2019
Continuation 15683743 · Aug 22, 2017
Provisional Application 62456641 · Feb 8, 2017
Provisional Application 62426674 · Nov 28, 2016
Related Publication 20240422059A1 · Dec 19, 2024
References Cited (95)
US 6651176B1 · Soltis, Jr. et al. · 2003 [cited by applicant]
US 7051221B2 · Clabes · 2006 [cited by examiner]
US 7236488B1 · Kavipurapu · 2007 [cited by applicant]
US 7266708B2 · Miller · 2007 [cited by applicant]
US 7552350B2 · Fung · 2009 [cited by applicant]
US 7573301B2 · Walmsley · 2009 [cited by applicant]
US 7681056B2 · Abernathy et al. · 2010 [cited by applicant]
US 8031503B1 · Gyllenhammer et al. · 2011 [cited by applicant]
US 8201004B2 · Anderson et al. · 2012 [cited by applicant]
US 8750207B2 · Jeong · 2014 [cited by examiner]
US 8792348B1 · Channabasappa · 2014 [cited by applicant]
US 8797865B2 · Li · 2014 [cited by examiner]
US 8842540B2 · Francini · 2014 [cited by examiner]
US 8847669B2 · Park · 2014 [cited by examiner]
US 8923131B2 · Danzig · 2014 [cited by examiner]
US 8942144B2 · Chang et al. · 2015 [cited by applicant]
US 8977876B2 · Yang et al. · 2015 [cited by applicant]
US 9094197B2 · Chang et al. · 2015 [cited by applicant]
US 9386517B2 · Tseng et al. · 2016 [cited by applicant]
US 9479444B2 · Danzig · 2016 [cited by examiner]
US 9552040B2 · Yu · 2017 [cited by applicant]
US 9602293B2 · Chou et al. · 2017 [cited by applicant]
US 9722935B2 · Bouanen · 2017 [cited by examiner]
US 9794075B2 · Shi et al. · 2017 [cited by applicant]
US 9948554B2 · Bays · 2018 [cited by examiner]
US 10070384B2 · Kukosa · 2018 [cited by applicant]
US 10158546B2 · Geetha Gopalakrishnan · 2018 [cited by applicant]
US 10284484B1 · Ramalho · 2019 [cited by examiner]
US 10285125B2 · Kukosa · 2019 [cited by applicant]
US 10298456B1 · Chang · 2019 [cited by examiner]
US 10505856B2 · Thakkar · 2019 [cited by examiner]
US 10547561B1 · Patel · 2020 [cited by examiner]
US 10567855B2 · Van De Groenendaal et al. · 2020 [cited by applicant]
US 10693725B1 · Chang · 2020 [cited by examiner]
US 10764200B2 · Bosshart · 2020 [cited by examiner]
US 10877670B1 · Chang · 2020 [cited by examiner]
US 11102070B1 · Chang · 2021 [cited by examiner]
US 11374844B2 · Chandrasekaran · 2022 [cited by examiner]
US 11424983B2 · Chang · 2022 [cited by examiner]
US 20030131271A1 · Chen et al. · 2003 [cited by applicant]
US 20030191889A1 · Forrer, Jr. · 2003 [cited by applicant]
US 20040044915A1 · Bose et al. · 2004 [cited by applicant]
US 20040236971A1 · Kopley et al. · 2004 [cited by applicant]
US 20040236973A1 · Srikantam et al. · 2004 [cited by applicant]
US 20050223262A1 · Chen et al. · 2005 [cited by applicant]
US 20070074054A1 · Chieh · 2007 [cited by applicant]
US 20070156370A1 · White et al. · 2007 [cited by applicant]
US 20080095058A1 · Dalmases et al. · 2008 [cited by applicant]
US 20080229078A1 · Abernathy et al. · 2008 [cited by applicant]
US 20090190466A1 · Girardi et al. · 2009 [cited by applicant]
US 20090197626A1 · Huttunen et al. · 2009 [cited by applicant]
US 20090273389A1 · Walmsley · 2009 [cited by applicant]
US 20100098047A1 · Zhou et al. · 2010 [cited by applicant]
US 20120147748A1 · Sato · 2012 [cited by applicant]
US 20120216067A1 · Whatmough et al. · 2012 [cited by applicant]
US 20130027115A1 · Park et al. · 2013 [cited by applicant]
US 20130128746A1 · Yedavalli · 2013 [cited by applicant]
US 20140098669A1 · Garg et al. · 2014 [cited by applicant]
US 20140298052A1 · Meirosu et al. · 2014 [cited by applicant]
US 20150180779A1 · Geetha Gopalakrishnan · 2015 [cited by applicant]
US 20160065723A1 · Jung et al. · 2016 [cited by applicant]
US 20160105471A1 · Nunes et al. · 2016 [cited by applicant]
US 20160173371A1 · Bays · 2016 [cited by applicant]
US 20160330127A1 · Kim et al. · 2016 [cited by applicant]
US 20160342510A1 · Pani · 2016 [cited by applicant]
US 20170083066A1 · Mahurin et al. · 2017 [cited by applicant]
US 20170261380A1 · Cher et al. · 2017 [cited by applicant]
US 20170344234A1 · Xu · 2017 [cited by applicant]
US 20180046207A1 · Wohlgethan · 2018 [cited by applicant]
US 20180241621A1 · Vaishnavi et al. · 2018 [cited by applicant]
US 20180248788A1 · Tsiatsis et al. · 2018 [cited by applicant]
US 20180262436A1 · Thakkar et al. · 2018 [cited by applicant]
US 20190007331A1 · Bosshart · 2019 [cited by examiner]
US 20190223100A1 · Kukosa · 2019 [cited by applicant]
US 20200057479A1 · Cher et al. · 2020 [cited by applicant]
US 20200344122A1 · Chang · 2020 [cited by applicant]
US 20210367844A1 · Chang · 2021 [cited by examiner]
Office Action for U.S. Appl. No. 16/372,214, dated Oct. 14, 2020. [cited by applicant]
Final Office Action for U.S. Appl. No. 15/683,742, dated Nov. 18, 2019. [cited by applicant]
Final Office Action for U.S. Appl. No. 16/870,680, dated Dec. 17, 2021. [cited by applicant]
Non-Final Office Action from U.S. Appl. No. 18/195,678 notified Dec. 6, 2023, 16 pgs. [cited by applicant]
Non-Final Office Action from U.S. Appl. No. 18/195,678 notified Oct. 12, 2022, 13 pgs. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 15/683,743, dated Mar. 4, 2019. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 15/683,745 dated Feb. 4, 2020. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 16/372,214, dated Apr. 20, 2021. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 16/870,680, dated Apr. 13, 2022. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/396,551, dated Feb. 21, 2023. [cited by applicant]
Notice of Allowance from U.S. Appl. No. 18/195,678 notified Apr. 5, 2024, 10 pgs. [cited by applicant]
Office Action for U.S. Appl. No. 15/683,742, dated May 31, 2019. [cited by applicant]
Office Action for U.S. Appl. No. 15/683,743, dated Oct. 15, 2018. [cited by applicant]
Office Action for U.S. Appl. No. 15/683,745, dated Dec. 13, 2018. [cited by applicant]
Office Action for U.S. Appl. No. 15/683,745, dated Jun. 6, 2019. [cited by applicant]
Office Action for U.S. Appl. No. 16/372,214, dated Apr. 15, 2020. [cited by applicant]
Office Action for U.S. Appl. No. 16/870,680, dated Jun. 9, 2021. [cited by applicant]
Office Action for U.S. Appl. No. 16/870,680, dated Nov. 25, 2020. [cited by applicant]