Patents by Inventor Jay Evan Scott Peterson

Jay Evan Scott Peterson has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20230300087
    Abstract: Some embodiments provide a network forwarding IC with packet processing pipelines, at least one of which includes a parser, a set of match-action stages, and a deparser. The parser is configured to receive a packet and generate a PHV including a first number of data containers storing data for the packet. A first match-action stage is configured to receive the PHV from the parser and expand the PHV to a second, larger number of data containers storing data for the packet. Each of a set of intermediate match-action stage is configured to receive the expanded PHV from a previous stage and provide the expanded PHV to a subsequent stage. A final match-action stage is configured to receive the expanded PHV and reduce the PHV to the first number of data containers. The deparser is configured to receive the reduced PHV from the final match-action stage and reconstruct the packet.
    Type: Application
    Filed: May 23, 2023
    Publication date: September 21, 2023
    Applicant: Barefoot Networks, Inc.
    Inventors: Patrick Bosshart, Jay Evan Scott Peterson, Michael Gregory Ferrara, Michael E. Attig
  • Patent number: 11700212
    Abstract: Some embodiments provide a network forwarding IC with packet processing pipelines, at least one of which includes a parser, a set of match-action stages, and a deparser. The parser is configured to receive a packet and generate a PHV including a first number of data containers storing data for the packet. A first match-action stage is configured to receive the PHV from the parser and expand the PHV to a second, larger number of data containers storing data for the packet. Each of a set of intermediate match-action stage is configured to receive the expanded PHV from a previous stage and provide the expanded PHV to a subsequent stage. A final match-action stage is configured to receive the expanded PHV and reduce the PHV to the first number of data containers. The deparser is configured to receive the reduced PHV from the final match-action stage and reconstruct the packet.
    Type: Grant
    Filed: October 5, 2021
    Date of Patent: July 11, 2023
    Assignee: Barefoot Networks, Inc.
    Inventors: Patrick Bosshart, Jay Evan Scott Peterson, Michael Gregory Ferrara, Michael E. Attig
  • Patent number: 11503141
    Abstract: Some embodiments provide a network forwarding integrated circuit (IC) that includes at least one packet processing pipeline. The packet processing pipeline includes multiple match-action stages, at least one of which includes a stateful processing unit that operates at a line rate of the network forwarding IC. The stateful processing unit is configured to receive data stored in a memory location associated with a stateful table of the match-action stage. The data includes a set of values. The stateful processing unit is further configured to identify one of a maximum value and a minimum value from the set of values, and to output the identified value for use by a next match-action stage.
    Type: Grant
    Filed: December 7, 2017
    Date of Patent: November 15, 2022
    Assignee: Barefoot Networks, Inc.
    Inventors: Jay Evan Scott Peterson, Michael Gregory Ferrara, Patrick Bosshart, Changhoon Kim, Remy Chang
  • Patent number: 11362967
    Abstract: Some embodiments provide a network forwarding IC with packet processing pipelines, at least one of which includes a parser, a set of match-action stages, and a deparser. The parser is configured to receive a packet and generate a PHV including a first number of data containers storing data for the packet. A first match-action stage is configured to receive the PHV from the parser and expand the PHV to a second, larger number of data containers storing data for the packet. Each of a set of intermediate match-action stage is configured to receive the expanded PHV from a previous stage and provide the expanded PHV to a subsequent stage. A final match-action stage is configured to receive the expanded PHV and reduce the PHV to the first number of data containers. The deparser is configured to receive the reduced PHV from the final match-action stage and reconstruct the packet.
    Type: Grant
    Filed: February 12, 2020
    Date of Patent: June 14, 2022
    Assignee: Barefoot Networks, Inc.
    Inventors: Patrick Bosshart, Jay Evan Scott Peterson, Michael Gregory Ferrara, Michael E. Attig
  • Patent number: 11258703
    Abstract: Some embodiments provide a data-plane forwarding circuit that can be configured to learn about a new message flow and to maintain metadata about the new message flow without first having a control plane first configure the data plane to maintain metadata about the flow. To perform its forwarding operations, the data plane includes several data message processing stages that are configured to process the data tuples associated with the data messages received by the data plane. In some embodiments, parts of the data plane message-processing stages are also configured to operate as a flow-tracking circuit that includes (1) a flow-identifying circuit to identify message flows received by the data plane, and (2) a first set of storages to store metadata about the identified flows.
    Type: Grant
    Filed: March 21, 2018
    Date of Patent: February 22, 2022
    Assignee: Barefoot Networks, Inc.
    Inventors: Steven Licking, Jeongkeun Lee, Patrick Bosshart, Anurag Agrawal, Michael Gregory Ferrara, Jay Evan Scott Peterson
  • Publication number: 20220029935
    Abstract: Some embodiments provide a network forwarding IC with packet processing pipelines, at least one of which includes a parser, a set of match-action stages, and a deparser. The parser is configured to receive a packet and generate a PHV including a first number of data containers storing data for the packet. A first match-action stage is configured to receive the PHV from the parser and expand the PHV to a second, larger number of data containers storing data for the packet. Each of a set of intermediate match-action stage is configured to receive the expanded PHV from a previous stage and provide the expanded PHV to a subsequent stage. A final match-action stage is configured to receive the expanded PHV and reduce the PHV to the first number of data containers. The deparser is configured to receive the reduced PHV from the final match-action stage and reconstruct the packet.
    Type: Application
    Filed: October 5, 2021
    Publication date: January 27, 2022
    Applicant: Barefoot Networks, Inc.
    Inventors: Patrick Bosshart, Jay Evan Scott Peterson, Michael Gregory Ferrara, Michael E. Attig
  • Patent number: 10924400
    Abstract: A forwarding element includes data plane forwarding circuitry for forwarding data messages received by the forwarding element to other network elements in a network. The data-plane forwarding circuitry includes several snapshot-match circuitry units. Each snapshot-match circuitry unit compares a set of header fields of incoming data messages with a corresponding matching data. The data-plane forwarding circuitry also includes several snapshot-capture circuitry units. Each snapshot-capture circuitry units stores a set of header fields of data messages that matches a corresponding matching data.
    Type: Grant
    Filed: May 15, 2018
    Date of Patent: February 16, 2021
    Assignee: Barefoot Networks, Inc.
    Inventors: Patrick Bosshart, Michael Gregory Ferrara, Jay Evan Scott Peterson
  • Patent number: 10873534
    Abstract: Some embodiments provide a data-plane forwarding circuit that can be configured to learn about a new message flow and to maintain metadata about the new message flow without first having a control plane first configure the data plane to maintain metadata about the flow. To perform its forwarding operations, the data plane includes several data message processing stages that are configured to process the data tuples associated with the data messages received by the data plane. In some embodiments, parts of the data plane message-processing stages are also configured to operate as a flow-tracking circuit that includes (1) a flow-identifying circuit to identify message flows received by the data plane, and (2) a first set of storages to store metadata about the identified flows.
    Type: Grant
    Filed: March 21, 2018
    Date of Patent: December 22, 2020
    Assignee: Barefoot Networks, Inc.
    Inventors: Michael Gregory Ferrara, Jay Evan Scott Peterson, Steven Licking, Jeongkeun Lee, Patrick Bosshart, Anurag Agrawal
  • Patent number: 10826840
    Abstract: Some embodiments provide a method for a packet processing pipeline of a network forwarding integrated circuit. The method stores two copies of a stateful table used by the packet processing pipeline. The stateful table is modified according to data processed by the packet processing pipeline. Upon receiving data to write to the stateful table, the method generates (i) a first copy of the received data along with an indicator for a first one of the copies of the stateful table and (ii) a second copy of the received data along with an indicator for a second one of the copies of the stateful table. The method sends the first copy of the received data into the packet processing pipeline before sending the second copy of the received data into the packet processing pipeline.
    Type: Grant
    Filed: December 7, 2017
    Date of Patent: November 3, 2020
    Assignee: Barefoot Networks, Inc.
    Inventors: Jay Evan Scott Peterson, Michael Gregory Ferrara, Anurag Agrawal, Patrick Bosshart, Jeongkeun Lee
  • Patent number: 10805437
    Abstract: A method of configuring a forwarding element that includes several data plane message processing stages. The method stores a set of action codes in an instruction memory in the data plane of the forwarding element. Each action code identifies an operation to perform on a field of a message received at the data plane. The method determines action codes required to process each field of the message in each message processing stage. The method configures a data-plane processing unit of the forwarding element to concurrently perform a group of the action codes in the same data plane processing stage when (i) the action codes are the same and (ii) operate on the same field of the message.
    Type: Grant
    Filed: April 12, 2019
    Date of Patent: October 13, 2020
    Assignee: Barefoot Networks, Inc.
    Inventors: Patrick Bosshart, Michael Gregory Ferrara, Michael E. Attig, Jay Evan Scott Peterson
  • Patent number: 10771387
    Abstract: Some embodiments provide a method for a match-action stage of a packet processing pipeline. The method receives a set of data containers storing input packet data values for a particular packet. The set of data containers includes multiple subsets of data containers. The method performs a set of match operations using a first subset of the set of data containers. The method uses a set of arithmetic logic units (ALUs) to generate output packet data values to store in a second subset of the set of data containers. Output packet data values for a third subset of the data containers are generated without the set of ALUs.
    Type: Grant
    Filed: December 7, 2017
    Date of Patent: September 8, 2020
    Assignee: Barefoot Networks, Inc.
    Inventors: Patrick Bosshart, Jay Evan Scott Peterson, Michael Gregory Ferrara, Michael E. Attig
  • Patent number: 10764176
    Abstract: A method of configuring a forwarding element that includes several message processing stages. The method identifies a first processing stage that starts processing a first header field of a message and a second processing stage that is the last message processing stage that processes the first header field. The method configures a field of a packet header container to store the first header field from the beginning of the first message processing stage. The method identifies a second header field used in a third processing stage after the second processing stage. The method configures a set of circuitries in the data plane to initialize the container field after the end of the second processing stage. The method configures the field of the container to store the second header field of the message after the end of the second processing stage and before the start of the third processing stage.
    Type: Grant
    Filed: August 21, 2017
    Date of Patent: September 1, 2020
    Assignee: Barefoot Networks, Inc.
    Inventors: Michael E. Attig, Patrick Bosshart, Jay Evan Scott Peterson, Michael Gregory Ferrara
  • Publication number: 20200259765
    Abstract: Some embodiments provide a network forwarding IC with packet processing pipelines, at least one of which includes a parser, a set of match-action stages, and a deparser. The parser is configured to receive a packet and generate a PHV including a first number of data containers storing data for the packet. A first match-action stage is configured to receive the PHV from the parser and expand the PHV to a second, larger number of data containers storing data for the packet. Each of a set of intermediate match-action stage is configured to receive the expanded PHV from a previous stage and provide the expanded PHV to a subsequent stage. A final match-action stage is configured to receive the expanded PHV and reduce the PHV to the first number of data containers. The deparser is configured to receive the reduced PHV from the final match-action stage and reconstruct the packet.
    Type: Application
    Filed: February 12, 2020
    Publication date: August 13, 2020
    Inventors: Patrick BOSSHART, Jay Evan Scott PETERSON, Michael Gregory FERRARA, Michael E. ATTIG
  • Patent number: 10721167
    Abstract: A method of sharing unit memories between two match tables in a data plane packet processing pipeline of a physical forwarding element is provided. The method, from a plurality of available unit memories of the packet processing pipeline, allocates a first set of unit memories to the first match table and a second set of unit memories to the second match table. The method determines that the first set of unit memories is filled to a threshold capacity after storing a plurality of entries in the first set of unit memories. The method de-allocates a first unit memory from the second match table by moving contents of the first unit memory to a second unit memory in the second set of unit memories. The method allocates the first unit memory to the first match table.
    Type: Grant
    Filed: May 22, 2018
    Date of Patent: July 21, 2020
    Assignee: Barefoot Networks, Inc.
    Inventors: Patrick W. Bosshart, Michael E. Attig, Ravindra Sunkad, Jay Evan Scott Peterson
  • Publication number: 20200204501
    Abstract: A synchronous packet-processing pipeline whose data paths are populated with data-plane stateful processing units (DSPUs) is provided. A DSPU is a programmable processor whose operations are synchronous with the dataflow of the packet-processing pipeline. A DSPU performs every computation with fixed latency. Each DSPU is capable of maintaining a set of states and perform its computations based on its maintained set of states. The programming of a DSPU determines how and when the DSPU updates one of its maintained states. Such programming may configure the DSPU to update the state based on its received packet data, or to change the state regardless of the received packet data.
    Type: Application
    Filed: February 28, 2020
    Publication date: June 25, 2020
    Inventors: Changhoon KIM, Patrick BOSSHART, Jay Evan Scott PETERSON, Michael Gregory FERRARA, Steven Licking, Chaitanya Kodeboyina
  • Patent number: 10616101
    Abstract: Some embodiments provide a data-plane forwarding circuit that can be configured to learn about a new message flow and to maintain metadata about the new message flow without first having a control plane first configure the data plane to maintain metadata about the flow. To perform its forwarding operations, the data plane includes several data message processing stages that are configured to process the data tuples associated with the data messages received by the data plane. In some embodiments, parts of the data plane message-processing stages are also configured to operate as a flow-tracking circuit that includes (1) a flow-identifying circuit to identify message flows received by the data plane, and (2) a first set of storages to store metadata about the identified flows.
    Type: Grant
    Filed: March 21, 2018
    Date of Patent: April 7, 2020
    Assignee: Barefoot Networks, Inc.
    Inventors: Jay Evan Scott Peterson, Steven Licking, Jeongkeun Lee, Patrick Bosshart, Anurag Agrawal, Michael Gregory Ferrara
  • Patent number: 10601732
    Abstract: Some embodiments provide a method for a packet processing pipeline of a network forwarding integrated circuit (IC). The packet processing pipeline includes multiple match-action stages for processing packets received by the network forwarding IC. Each packet is transmitted through the pipeline using a set of data containers. The method receives data, generated by the network forwarding IC, that is separate from the packets processed by the pipeline. The method transmits through the packet processing pipeline (i) a packet using a first set of data containers and (ii) the received data using a second set of data containers. The first and second sets of data containers are transmitted together through the packet processing pipeline. For at least one of the match-action stages, the method processes the packet data in the first set of data containers and the received data in the second set of data containers in a same clock cycle.
    Type: Grant
    Filed: December 7, 2017
    Date of Patent: March 24, 2020
    Assignee: Barefoot Networks, Inc.
    Inventors: Jay Evan Scott Peterson, Michael Gregory Ferrara, Anurag Agrawal, Patrick Bosshart, Jeongkeun Lee
  • Patent number: 10594630
    Abstract: Some embodiments provide a network forwarding IC with packet processing pipelines, at least one of which includes a parser, a set of match-action stages, and a deparser. The parser is configured to receive a packet and generate a PHV including a first number of data containers storing data for the packet. A first match-action stage is configured to receive the PHV from the parser and expand the PHV to a second, larger number of data containers storing data for the packet. Each of a set of intermediate match-action stage is configured to receive the expanded PHV from a previous stage and provide the expanded PHV to a subsequent stage. A final match-action stage is configured to receive the expanded PHV and reduce the PHV to the first number of data containers. The deparser is configured to receive the reduced PHV from the final match-action stage and reconstruct the packet.
    Type: Grant
    Filed: December 7, 2017
    Date of Patent: March 17, 2020
    Assignee: Barefoot Networks, Inc.
    Inventors: Patrick Bosshart, Jay Evan Scott Peterson, Michael Gregory Ferrara, Michael E. Attig
  • Patent number: 10454833
    Abstract: Some embodiments provide a network forwarding integrated circuit (IC) for processing network packets. The network forwarding IC includes multiple packet processing pipelines and a traffic management unit. Each pipeline is configured to operate as an ingress pipeline and an egress pipeline. The traffic management unit is configured to receive a packet processed by an ingress pipeline and to enqueue the packet for output to a particular egress pipeline. A set of packets received by the network forwarding IC are processed by a first pipeline as an ingress pipeline and a second pipeline as an egress pipeline, then subsequently processed by the second pipeline as an ingress pipeline and a third pipeline as an egress pipeline.
    Type: Grant
    Filed: December 12, 2017
    Date of Patent: October 22, 2019
    Assignee: BAREFOOT NETWORKS, INC.
    Inventors: Patrick Bosshart, Jay Evan Scott Peterson, Michael Gregory Ferrara, Remy Chang
  • Publication number: 20190238665
    Abstract: A method of configuring a forwarding element that includes several data plane message processing stages. The method stores a set of action codes in an instruction memory in the data plane of the forwarding element. Each action code identifies an operation to perform on a field of a message received at the data plane. The method determines action codes required to process each field of the message in each message processing stage. The method configures a data-plane processing unit of the forwarding element to concurrently perform a group of the action codes in the same data plane processing stage when (i) the action codes are the same and (ii) operate on the same field of the message.
    Type: Application
    Filed: April 12, 2019
    Publication date: August 1, 2019
    Inventors: Patrick Bosshart, Michael Gregory Ferrara, Michael E. Attig, Jay Evan Scott Peterson