Patentable/Patents/US-11301231
US-11301231

Dynamic run time programming of hardware tables

PublishedApril 12, 2022
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

Embodiments disclosed herein relate to method and systems for updating hardware tables. Such methods may include receiving a flexible pipeline definition from a controller at a compiler; generating, by the compiler, a hardware table update initial instruction set; and transmitting the hardware table update initial instruction set to a network device. The network device may use the hardware table initial instruction set to configure the network device to implement the flexible pipeline definition for a network chip.

Patent Claims
14 claims

Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.

Claim 1

Original Legal Text

1. A method for updating hardware tables, the method comprising: receiving a flexible pipeline definition from a controller at a compiler, wherein the flexible pipeline definition includes table definitions for a target network device; generating, by the compiler, a hardware table initial instruction set for the target network device by, compiling the received flexible pipeline definition; transmitting the hardware table initial instruction set to a runtime agent executing on the target network device, wherein the runtime agent uses the hardware table initial instruction set to configure the network device to implement the flexible pipeline definition for a network chip, by: creatine an association between the table definitions defined within the hardware table initial instruction set with one or more hardware tables of the network chip; after configuring the target network device using the hardware table initial instruction set, receiving at the runtime agent an update to the one or more hardware tables of the target network device, wherein the update is received as a query; and the runtime agent, in response to receiving the query, automatically executes the query to update the hardware tables of the network chip.

Plain English Translation

This invention relates to a method for dynamically updating hardware tables in network devices, addressing the challenge of efficiently managing and modifying table configurations in network chips without requiring full recompilation or hardware resets. The method involves a compiler that receives a flexible pipeline definition from a controller, which includes table definitions for a target network device. The compiler generates a hardware table initial instruction set by compiling the pipeline definition and transmits it to a runtime agent on the target device. The runtime agent configures the network device by associating the table definitions with one or more hardware tables in the network chip. After initial configuration, the runtime agent can receive updates to the hardware tables as queries. Upon receiving such a query, the runtime agent automatically executes it to update the hardware tables without disrupting ongoing operations. This approach enables real-time adjustments to network device configurations, improving flexibility and reducing downtime in network management. The method ensures seamless integration between software-defined pipeline definitions and hardware table implementations, allowing for efficient runtime modifications.

Claim 2

Original Legal Text

2. The method of claim 1 , wherein the flexible pipeline definition comprises a hints file that associates flexible pipeline information of the flexible pipeline definition with a forwarding pipeline model.

Plain English Translation

A system and method for managing data processing pipelines in a computing environment, particularly for optimizing and adapting pipeline configurations dynamically. The technology addresses the challenge of efficiently defining, modifying, and executing data processing pipelines in systems where pipeline requirements may change frequently or where different pipeline configurations are needed for different data processing tasks. The invention involves a flexible pipeline definition that allows for dynamic adaptation of pipeline configurations based on varying requirements. This flexible pipeline definition includes a hints file that associates pipeline information with a forwarding pipeline model. The hints file provides metadata or guidance to the system, enabling it to map or translate the flexible pipeline definition into a specific pipeline configuration that aligns with the forwarding pipeline model. The forwarding pipeline model represents a structured or predefined pipeline architecture that the flexible pipeline definition can be adapted to. This approach allows for greater flexibility in pipeline design, as the same flexible pipeline definition can be applied to different forwarding pipeline models, reducing the need for manual reconfiguration. The system dynamically processes the hints file to determine the appropriate pipeline configuration, ensuring efficient and adaptable data processing. This method is particularly useful in environments where pipeline requirements vary, such as in cloud computing, data analytics, or distributed computing systems.

Claim 3

Original Legal Text

3. The method of claim 2 , wherein generating the hardware table initial instruction set comprises using the hints file to associate the flexible pipeline information with a hardware table of the network chip in the hardware table initial instruction set.

Plain English Translation

This invention relates to optimizing hardware table initialization in network chips using flexible pipeline configurations. The problem addressed is the inefficiency in configuring hardware tables in network chips, which often requires manual or rigid programming, leading to suboptimal performance and adaptability. The method involves generating an initial instruction set for a hardware table in a network chip. This is done by using a hints file that contains flexible pipeline information. The hints file is processed to associate this pipeline information with a hardware table of the network chip, resulting in a hardware table initial instruction set. The flexible pipeline information allows for dynamic adjustments to the hardware table, improving adaptability and performance. The method ensures that the hardware table is initialized with the correct pipeline configurations, reducing the need for manual intervention and enhancing efficiency. The use of a hints file allows for easy updates and modifications, making the system more scalable and maintainable. This approach is particularly useful in high-performance networking environments where rapid configuration changes are required.

Claim 4

Original Legal Text

4. The method of claim 1 , further comprising: receiving a second flexible pipeline definition from the controller at the compiler; determining that the second flexible pipeline definition is not compatible with a software version executing on the network device; and generating, in response to the determination, an error message that is sent to the controller.

Plain English Translation

This invention relates to network device configuration using flexible pipeline definitions. The problem addressed is ensuring compatibility between pipeline definitions and the software versions running on network devices, preventing errors during configuration. The method involves a controller sending a flexible pipeline definition to a compiler associated with a network device. The compiler receives the definition and checks its compatibility with the software version currently executing on the network device. If the definition is incompatible, the compiler generates an error message, which is then sent back to the controller. This prevents the network device from attempting to execute an unsupported configuration, avoiding potential malfunctions or misconfigurations. The flexible pipeline definition allows dynamic configuration of the network device's processing pipeline, enabling customization of traffic handling rules. The compatibility check ensures that only supported definitions are applied, maintaining system stability. The error message provides feedback to the controller, allowing for corrective action, such as updating the software or modifying the pipeline definition. This method enhances reliability in network device management by preventing incompatible configurations from being deployed.

Claim 5

Original Legal Text

5. The method of claim 1 , wherein the flexible pipeline definition is expressed as a P4 program.

Plain English Translation

A system and method for dynamically configuring and managing network pipelines in a programmable network device. The technology addresses the challenge of inflexible, hardware-defined pipeline configurations in traditional network devices, which require manual reconfiguration or hardware upgrades to adapt to changing network requirements. The solution enables runtime reconfiguration of network pipelines by defining pipeline behavior using a flexible, high-level programming model. This allows network operators to dynamically adjust packet processing logic without physical hardware changes. The pipeline definition is expressed as a P4 program, a domain-specific language for programming protocol-independent packet processors. The P4 program specifies how packets are processed, including parsing, matching, and actions, and is compiled into a hardware-specific configuration for the network device. The system includes a compiler that translates the P4 program into a format executable by the network device's processing hardware, such as a network switch or router. The compiled configuration is then deployed to the device, enabling the specified packet processing behavior. This approach provides flexibility in defining and modifying network pipeline behavior while maintaining high performance and scalability. The system supports incremental updates to the pipeline definition, allowing partial reconfiguration without disrupting ongoing network operations. The solution is applicable to various network devices and protocols, enabling adaptive network management in dynamic environments.

Claim 6

Original Legal Text

6. A non-transitory computer readable medium comprising instructions that, when executed by a processor, perform a method updating a hardware table, the method comprising: receiving a flexible pipeline definition from a controller at a compiler, wherein the flexible pipeline definition includes table definitions for a target network device; generating, by the compiler, a hardware table initial instruction set for the target network device by, compiling the received flexible pipeline definition; transmitting the hardware table initial instruction set to a runtime agent executing on the target network device, wherein the runtime agent uses the hardware table initial instruction set to configure the network device to implement the flexible pipeline definition for a network chip, by: creating an association between the table definitions defined within the hardware table initial instruction set with one or more hardware tables of the network chip; after configuring the target network device using the hardware table initial instruction set, receiving at the runtime agent an update to the one or more hardware tables of the target network device, wherein the update is received as a query; and the runtime agent, in response to receiving the query, automatically executes the query to update the hardware tables of the network chip.

Plain English Translation

This invention relates to a system for dynamically updating hardware tables in network devices. The problem addressed is the need for flexible and efficient configuration of network chips, particularly in scenarios where hardware tables must be updated without manual intervention or complex reconfiguration processes. The system involves a non-transitory computer-readable medium containing instructions that, when executed by a processor, perform a method for updating hardware tables in a network device. The method begins with a compiler receiving a flexible pipeline definition from a controller, where the definition includes table definitions for a target network device. The compiler generates a hardware table initial instruction set by compiling the received pipeline definition. This instruction set is then transmitted to a runtime agent executing on the target network device. The runtime agent uses the instruction set to configure the network device by associating the table definitions with one or more hardware tables of the network chip. After initial configuration, the runtime agent can receive updates to the hardware tables as queries. Upon receiving such a query, the runtime agent automatically executes it to update the hardware tables of the network chip. This approach allows for dynamic and efficient updates to network device configurations, improving adaptability and performance in network operations.

Claim 7

Original Legal Text

7. The non-transitory computer readable medium of claim 6 , wherein the flexible pipeline definition comprises a hints file that associates flexible pipeline information of the flexible pipeline definition with a forwarding pipeline model.

Plain English Translation

This invention relates to data processing systems, specifically methods for optimizing data pipeline configurations in computing environments. The problem addressed is the inefficiency in managing and adapting data processing pipelines, which often require manual adjustments to handle varying workloads or changing data formats. The solution involves a flexible pipeline definition system that dynamically adjusts pipeline configurations based on predefined rules or hints. The system includes a non-transitory computer-readable medium storing instructions for generating and managing a flexible pipeline definition. This definition allows for dynamic adaptation of data processing pipelines by associating pipeline information with a forwarding pipeline model. The flexible pipeline definition incorporates a hints file, which contains metadata or rules that guide the system in modifying pipeline behavior. The hints file links specific pipeline configurations or adjustments to the forwarding pipeline model, enabling automated optimization of data flow paths. The forwarding pipeline model represents the logical structure of the pipeline, including stages for data ingestion, transformation, and output. The hints file provides instructions for adjusting these stages, such as modifying data routing, applying transformations, or optimizing resource allocation. This approach reduces the need for manual intervention, improving efficiency and adaptability in data processing workflows. The system is particularly useful in environments where data characteristics or processing requirements change frequently, such as real-time analytics or large-scale data processing systems.

Claim 8

Original Legal Text

8. The non-transitory computer readable medium of claim 7 , wherein generating the hardware table initial instruction set comprises using the hints file to associate the flexible pipeline information with a hardware table of the network chip in the hardware table initial instruction set.

Plain English Translation

This invention relates to optimizing hardware table initialization in network chips using flexible pipeline information. The problem addressed is the inefficiency in configuring hardware tables in network chips, which often requires manual or rigid programming, leading to suboptimal performance and adaptability. The solution involves a non-transitory computer-readable medium storing instructions that, when executed, generate an initial instruction set for a network chip's hardware table. The process includes using a hints file to associate flexible pipeline information with the hardware table. The hints file contains metadata or directives that guide the association, ensuring the hardware table is configured dynamically based on the pipeline's capabilities and requirements. This approach allows for more efficient and adaptable hardware table initialization, improving network chip performance and reducing manual configuration efforts. The flexible pipeline information may include details about the pipeline stages, data flow, or processing capabilities, which are mapped to the hardware table entries. The hardware table, once initialized, can then be used to manage network traffic, packet processing, or other functions in the network chip. The use of a hints file enables customization and optimization of the hardware table configuration without requiring extensive reprogramming, making the solution scalable and adaptable to different network environments.

Claim 9

Original Legal Text

9. The non-transitory computer readable medium of claim 6 , wherein the method further comprises: receiving a second flexible pipeline definition from the controller at the compiler; determining that the second flexible pipeline definition is not compatible with a software version executing on the network device; and generating, in response to the determination, an error message that is sent to the controller.

Plain English Translation

A system for managing flexible pipeline definitions in network devices involves a compiler that processes pipeline definitions received from a controller. The system addresses the challenge of ensuring compatibility between pipeline definitions and the software versions running on network devices. When a controller sends a flexible pipeline definition to the compiler, the compiler checks whether the definition is compatible with the software version executing on the target network device. If the definition is incompatible, the compiler generates an error message and sends it back to the controller. This prevents the deployment of pipeline definitions that could cause errors or malfunctions due to version mismatches. The system enhances reliability by validating pipeline definitions before execution, ensuring that only compatible configurations are applied to network devices. The error message provides feedback to the controller, allowing for adjustments or updates to the pipeline definition to resolve compatibility issues. This approach improves the robustness of network device configurations by proactively identifying and addressing version-related conflicts.

Claim 10

Original Legal Text

10. The non-transitory computer readable medium of claim 6 , wherein the flexible pipeline definition is expressed as a P4 program.

Plain English Translation

A system for network packet processing uses a flexible pipeline definition to configure hardware-based packet processing. The pipeline definition is expressed as a P4 program, a domain-specific language for programming protocol-independent packet processors. This allows the pipeline to be defined in a high-level, abstract manner, enabling hardware acceleration while maintaining programmability. The system includes a compiler that translates the P4 program into a hardware-specific configuration, which is then loaded onto a programmable network device. The pipeline definition specifies stages of packet processing, including parsing, matching, and actions, which are executed in sequence. The use of P4 ensures protocol independence, allowing the same pipeline to process different network protocols without hardware redesign. The system supports dynamic reconfiguration, enabling the pipeline to be updated at runtime to adapt to changing network conditions or requirements. This approach improves flexibility and performance in network packet processing by combining the efficiency of hardware acceleration with the programmability of software-defined networking.

Claim 11

Original Legal Text

11. A system for updating hardware tables, the system comprising: a compiler comprising circuitry and configured to: receiving a flexible pipeline definition from a controller at a compiler, wherein the flexible pipeline definition includes table definitions for a target network device; generating, by the compiler, a hardware table initial instruction set for the target network device by, compiling the received flexible pipeline definition; transmit the hardware table initial instruction set to a runtime agent executing on the target network device, wherein the network device uses the hardware table initial instruction set to configure the network device to implement the flexible pipeline definition for a network chip, by: creating an association between the table definitions defined within the hardware table initial instruction set with one or more hardware tables of the network chip; after configuring the target network device using the hardware table initial instruction set, receiving at the runtime agent an update to the one or more hardware tables of the target network device, wherein the update is received as a query; and the runtime agent, in response to receiving the query, automatically executes the query to update the hardware tables of the network chip.

Plain English Translation

The system addresses the challenge of dynamically updating hardware tables in network devices to support flexible pipeline configurations. Network devices often require hardware tables to manage packet processing, but traditional methods lack flexibility in adapting these tables to changing network conditions or new pipeline definitions. This system enables real-time updates to hardware tables without requiring full recompilation or device reboot. The system includes a compiler and a runtime agent. The compiler receives a flexible pipeline definition from a controller, which includes table definitions for a target network device. The compiler processes this definition to generate a hardware table initial instruction set, which is transmitted to the runtime agent running on the target network device. The runtime agent uses this instruction set to configure the network device by associating the table definitions with the hardware tables of the network chip. Once configured, the runtime agent can receive updates to the hardware tables in the form of queries. Upon receiving such a query, the runtime agent automatically executes it to update the hardware tables, allowing the network device to adapt to new requirements without manual intervention or system downtime. This approach improves efficiency and scalability in network management.

Claim 12

Original Legal Text

12. The system of claim 11 , wherein the flexible pipeline definition comprises a hints file that associates flexible pipeline information of the flexible pipeline definition with a forwarding pipeline model.

Plain English Translation

A system for managing data processing pipelines includes a flexible pipeline definition that allows dynamic configuration of data processing workflows. The system addresses the challenge of rigid, static pipeline definitions that cannot adapt to changing data processing requirements or varying hardware capabilities. The flexible pipeline definition enables the system to adjust processing steps, data flows, and resource allocation based on real-time conditions or user inputs. The flexible pipeline definition includes a hints file that maps or associates flexible pipeline information with a forwarding pipeline model. The forwarding pipeline model defines how data should be routed or processed through the pipeline, while the hints file provides additional guidance or constraints to optimize or customize the pipeline's behavior. This allows the system to dynamically adapt the pipeline's execution based on the hints, such as prioritizing certain processing steps, optimizing resource usage, or enforcing specific data handling rules. The hints file may include metadata, performance hints, or configuration parameters that influence how the pipeline processes data, ensuring flexibility and efficiency in data workflow management.

Claim 13

Original Legal Text

13. The system of claim 12 , wherein generating the hardware table initial instruction set comprises using the hints file to associate the flexible pipeline information with a hardware table of the network chip in the hardware table initial instruction set.

Plain English Translation

A system for optimizing network chip performance involves generating an initial instruction set for a hardware table within a network chip. The system addresses the challenge of efficiently configuring network chip pipelines to handle varying data processing requirements. The hardware table initial instruction set is created by associating flexible pipeline information with a hardware table in the network chip. This association is achieved using a hints file, which provides guidance on how to map the pipeline configurations to the hardware table. The hints file contains metadata or directives that define how the flexible pipeline information should be structured or interpreted when loaded into the hardware table. The system ensures that the network chip can dynamically adapt its pipeline configurations based on the initial instruction set, improving processing efficiency and reducing latency. The hardware table serves as a lookup structure that the network chip references during operation to determine how to process incoming data packets or other network traffic. By leveraging the hints file, the system enables precise and optimized pipeline configurations tailored to specific workloads or network conditions.

Claim 14

Original Legal Text

14. The system of claim 11 , wherein the compiler is further configured to: receive a second flexible pipeline definition from the controller at the compiler; determine that the second flexible pipeline definition is not compatible with a software version executing on the network device; and generate, in response to the determination, an error message that is sent to the controller.

Plain English Translation

A system for managing flexible pipeline definitions in network devices addresses the challenge of ensuring compatibility between pipeline configurations and the software versions running on network devices. The system includes a compiler that processes pipeline definitions to configure network device operations. The compiler receives a flexible pipeline definition from a controller, which defines the processing steps or rules for the network device. The system determines whether the pipeline definition is compatible with the software version currently executing on the target network device. If the pipeline definition is incompatible, the compiler generates an error message and sends it to the controller, preventing the deployment of an unsupported configuration. This ensures that only compatible pipeline definitions are applied, reducing the risk of operational errors or device malfunctions. The system enhances reliability by validating pipeline definitions before deployment, particularly in environments where multiple software versions may be in use across different network devices. The error message provides feedback to the controller, allowing administrators to adjust the pipeline definition or update the device software as needed. This approach improves the robustness of network device management by automating compatibility checks and preventing the execution of unsupported configurations.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

April 5, 2019

Publication Date

April 12, 2022

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, FAQs, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Dynamic run time programming of hardware tables” (US-11301231). https://patentable.app/patents/US-11301231

© 2026 Nomic Interactive Technology LLC. Machine-readable context available at /api/llm-context/US-11301231. See llms.txt for full attribution policy.