Table-Based Abstraction Layer for Packet Forwarding Hardware Adaptability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network elements require frequent updates to both driver and application code when hardware changes occur, leading to increased development costs and time-to-market delays due to the need for debugging and adjusting software to utilize new hardware functionality.

Innovation Solution

A table-based abstraction layer is introduced between applications and packet forwarding hardware, allowing applications to interact through virtual tables that are mapped to physical tables and registers, decoupling the software from hardware changes and simplifying the API to a small set of commands (SET, GET, EVENT) that can be used to implement multiple functions without requiring changes to the application code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If driver code and application code are specifically created to translate instructions to hardware updates, then hardware functionality is properly implemented, but any hardware changes require code updates and debugging, increasing development cost and time

Engineering Contradiction:
Improvehardware adaptabilityVSAvoidsoftware complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a hardware description file as an intermediary layer between the application code and the physical hardware. This file contains the mapping information between virtual table indices and physical hardware resources. When hardware changes occur, only the hardware description file needs to be updated, not the application or driver code, thus resolving the contradiction between hardware adaptability and software complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the software-hardware interface into distinct layers: application code, driver code, hardware description file, and physical hardware. This segmentation allows each layer to be independently modified. The hardware description file acts as a configuration layer that can be updated without affecting the stability of the application and driver code, reducing overall system complexity while maintaining hardware adaptability

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If driver code is updated to implement new hardware functionality, then new features are enabled, but development time increases due to debugging requirements

Engineering Contradiction:
Improvefunctionality extensibilityVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent performs preliminary action by pre-defining the hardware interface through a hardware description file that maps virtual table indices to physical hardware resources. This preliminary configuration allows new hardware functionality to be integrated by simply updating the description file with new mappings, rather than requiring time-consuming code development and debugging, thus enabling functionality extensibility while minimizing development time

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If application code is adjusted to output instructions for new hardware functionality, then hardware capabilities are utilized, but code changes are required for every hardware modification

Engineering Contradiction:
Improvehardware compatibilityVSAvoidsoftware maintenance ease
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The hardware description file serves as a mediator that absorbs all hardware-specific variations. The application code interacts with virtual table indices through the driver, which consults the hardware description file to determine the actual physical hardware configuration. This allows the application code to remain unchanged while maintaining compatibility with different hardware configurations, greatly easing software maintenance

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9270586B2Method for abstracting datapath hardware elements
Publication Date: 2016.02.23 EXTREME NETWORKS INC
  • US9270586B2 patent drawing
  • US9270586B2 patent drawing
  • US9270586B2 patent drawing

AI summary

A table based abstraction layer is interposed between applications and the packet forwarding hardware driver layer. All behavior and configuration of packet forwarding to be implemented in the hardware layer is articulated as fields in tables of the table based abstraction layer, and the higher level application software interacts with the hardware through the creation of and insertion and deletion of elements in these tables. The structure of the tables in the abstraction layer has no direct functional meaning to the hardware, but rather the tables of the table based abstraction layer simply exist to receive data to be inserted by the applications into the forwarding hardware. Information from the tables is extracted by the packet forwarding hardware driver layer and used to populate physical offset tables that may then be installed into the registers and physical tables utilized by the hardware to perform packet forwarding operations.