Dynamically reconfiguring data plane of forwarding element to adjust data plane throughput based on detected conditions

US10877670B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10877670-B1
Application numberUS-201715683742-A
CountryUS
Kind codeB1
Filing dateAug 22, 2017
Priority dateNov 28, 2016
Publication dateDec 29, 2020
Grant dateDec 29, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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. The data plane also includes an idle-signal injecting circuit that receives from the control plane configuration data that the control plane generates based on the IC's temperature. Based on the received configuration data, the idle-signal injecting circuit generates idle control signals for the data processing stages. Each stage that receives an idle control signal enters an idle state during which the majority of the components of that stage do not perform any operations, which reduces the power consumed and temperature generated by that stage during its idle state.

First claim

Opening claim text (preview).

The invention claimed is: 1. A non-transitory machine readable medium storing a control-plane program for configuring a data-plane forwarding circuit of a network forwarding element, the data-plane forwarding circuit to process at least a portion of data tuples associated with data messages received by the forwarding element, the program comprising sets of instructions for: configuring the data-plane forwarding circuit not to process data messages at a rate larger than a first maximum throughput rate; detecting an operating condition of the data-plane forwarding circuit, wherein the operating condition comprises congestion of one or more data message queues used by the data-plane forwarding circuit; and based on the detected operating condition, reconfiguring the data-plane forwarding circuit to allow the data-plane forwarding circuit to process data messages at a rate larger than the first maximum throughput rate. 2. The non-transitory machine readable medium of claim 1 , wherein the set of instructions for reconfiguring the data-plane forwarding circuit comprises a set of instructions for configuring the forwarding circuit not to process data messages at a second maximum throughput rate that is larger than the first maximum throughput rate. 3. The non-transitory machine readable medium of claim 1 , wherein the set of instructions for configuring the data-plane forwarding circuit comprises a set of instructions for configuring an idle-signal generator of the data-plane forwarding circuit to generate idle signals that are interspersed among the received data messages through data processing stages of the data-plane forwarding circuit at a rate that ensures that the data processing stages cannot process data messages at a rate larger than the first maximum throughput rate; and the set of instructions for reconfiguring the data-plane forwarding circuit comprises a set of instructions for configuring the idle-signal generator to reduce the rate at which the idle signals are generated so that the data processing stages are able to process data messages at a rate larger than the first maximum throughput rate. 4. The non-transitory machine readable medium of claim 3 , wherein the reduced rate at which the idle signals are generated ensure that the data message processing stages do not process data messages at a rate larger than a second maximum throughput rate. 5. The non-transitory machine readable medium of claim 1 , wherein an idle signal traverses successively through several data processing stages of the data-plane forwarding circuit. 6. The non-transitory machine readable medium of claim 5 , wherein the data-plane forwarding circuit includes (1) a parsing circuit for generating data tuples from the received data messages and storing the generated data tuples in a set of storages, (2) a data fetcher for retrieving the generated data tuples from the set of storages and passing one or more retrieved data tuple through the several data processing stages, the data fetcher comprising an idle-signal generator and interspersing the idle signals among the data tuples passed through the data processing stages. 7. The non-transitory machine readable medium of claim 1 , wherein the program further comprises a set of instructions for subsequently reconfiguring the data-plane forwarding circuit again a time period of time after the reconfiguring, said subsequent reconfiguring comprises configuring the data-plane forwarding circuit not to process data messages at a rate larger than the first maximum throughput rate. 8. The non-transitory machine readable medium of claim 1 , wherein the detected operating condition is a first condition, wherein the program further comprises sets of instructions for: detecting a second condition; based on the second condition, subsequently reconfiguring the data-plane forwarding circuit again, said subsequent reconfiguration configuring the data-plane forwarding circuit not to process data messages at a rate larger than the first maximum throughput rate. 9. The non-transitory machine readable medium of claim 8 , wherein the second condition is an end of the first condition. 10. The non-transitory machine readable medium of claim 1 , wherein configuring the data-plane forwarding circuit not to process data messages at a rate larger than a first maximum throughput rate is based on idle signals interspersed among the received data messages and reconfiguring the data-plane forwarding circuit to allow the data-plane forwarding circuit to process data messages at a rate larger than the first maximum throughput rate is based on reducing idle signals interspersed among the received data messages. 11. A method for configuring a data-plane forwarding processor of a network forwarding element, the data-plane forwarding processor to process data tuples associated with data messages received by the network forwarding element, the method comprising: configuring the data-plane forwarding processor not to process data messages at a rate larger than a first maximum throughput rate; detecting an operating condition of the data-plane forwarding processor, wherein the operating condition comprises congestion of one or more data message queues used by the data-plane forwarding processor; and based on the detected operating condition, reconfiguring the data-plane forwarding circuit to allow the data-plane forwarding processor to process data messages at a rate larger than the first maximum throughput rate. 12. The method of claim 11 , wherein reconfiguring the data-plane forwarding processor comprises configuring the data-plane forwarding processor not to process data messages at a second maximum throughput rate that is larger than the first maximum throughput rate. 13. The method of claim 11 , wherein configuring the data-plane forwarding processor comprises configuring an idle-signal generator of the data-plane forwarding processor to generate idle signals that are interspersed among the received data messages through data processing stages of the data-plane forwarding processor at a rate that ensures that the data processing stages cannot process data messages at a rate larger than the first maximum throughput rate; and reconfiguring the data-plane forwarding processor comprises configuring the idle-signal generator to reduce the rate at which the idle signals are generated so that the data processing stages are able to process data messages at a rate larger than the first maximum throughput rate. 14. The method of claim 13 , wherein the reduced rate at which the idle signals are generated ensure that the data message processing stages do not process data messages at a rate larger than a second maximum throughput rate. 15. The method of claim 11 , wherein an idle signal traverses successively through several data processing stages of the data-plane forwarding circuit. 16. The method of claim 15 , wherein the data-plane forwarding processor includes (1) a parser for generating data tuples from the received data messages and storing the generated data tuples in a set of storages, (2) a data fetcher for retrieving the generated data tuples from the set of storages and passing at least one retrieved data tuple through the several data processing stages, the data fetcher comprising an idle-signal generator and interspersing the idle signals among the data tuples passed through the data processing stages. 17. The method of claim 11 , comprising subsequently reconfiguring the data-plane forwarding processor again a time period of time after the reconfiguring, said subsequent reconf

Assignees

Inventors

Classifications

  • H04L43/08Primary

    Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters · CPC title

  • Address table lookup; Address filtering · CPC title

  • for reduction of network energy consumption · CPC title

  • Energy efficient computing, e.g. low power processors, power management or thermal management · CPC title

  • Generating or distributing clock signals or signals derived directly therefrom · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10877670B1 cover?
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…
Who is the assignee on this patent?
Barefoot Networks Inc
What technology area does this patent fall under?
Primary CPC classification H04L43/08. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 29 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).