High-Level Language for Network Device Forwarding Paths

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems for configuring forwarding path elements in network devices lack visual representation of topology, making it difficult to edit and manage configurations, and are prone to programming errors due to the complexity of low-level code.

Innovation Solution

A high-level language with syntax elements that visually represent the topology of forwarding path elements, allowing users to define and configure forwarding paths using a hierarchy of operands and operators, which are processed by a compiler to generate a software image for instantiating and managing these elements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If low-level code is used to configure forwarding path elements, then programming control is precise, but programming errors increase and complexity increases

Engineering Contradiction:
Improveprogramming error rateVSAvoidconfiguration complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a high-level configuration language as an intermediary between the user and the low-level forwarding path configuration. This language translates user-friendly syntax into the necessary low-level code, reducing programming errors while maintaining precise control. The high-level language acts as a mediator that abstracts away the complexity of direct low-level programming.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameters of the configuration language from low-level machine code to a high-level human-readable syntax. This parameter transformation makes the configuration more accessible and easier to understand, reducing errors while maintaining the ability to precisely control forwarding path elements through the compiled output.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If detailed code is used to define forwarding path topology, then configuration precision is high, but ease of editing decreases

Engineering Contradiction:
Improveease of editingVSAvoidconfiguration precision
Core Design Contradiction:
Ease of operationVSManufacturing precision

Solution Approach 1:

The high-level configuration language serves as an intermediary that preserves configuration precision while dramatically improving ease of editing. The language syntax is designed to be intuitive and easy to modify, yet when compiled, it generates precise low-level code that accurately defines the forwarding path topology without ambiguity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If visual representation of topology is added, then ease of configuration improves, but system complexity increases

Engineering Contradiction:
Improveease of configurationVSAvoidsystem complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent creates a textual representation (copy) of the forwarding path topology that visually indicates the hierarchy and relationships between nodes. This textual model serves as an intuitive interface for configuration, making it easier to understand and modify the topology without adding complex graphical user interfaces or other sophisticated visualization systems.

Inventive Principle:
Principle #26Copying

Data Source

PatentEP3944570B1High-level definition language for configuring internal forwarding paths of network devices
Publication Date: 2024.09.18 JUNIPER NETWORKS INC
  • EP3944570B1 patent drawingFigure 1
  • EP3944570B1 patent drawingFigure 2
  • EP3944570B1 patent drawingFigure 3

AI summary

In general, the disclosure describes techniques for configuring a forwarding path of a network device. For example, a network device system includes a compiler. The compiler is configured to receive text comprising syntax elements in an arrangement that indicates a topology for a plurality of nodes. Additionally, the compiler is configured to generate, based on the text, code for instantiating the plurality of and compile the code to generate a software image. The network device system includes a network device comprising a forwarding manager configured to execute the software image to configure a forwarding path to include the corresponding forwarding path elements for each of the plurality of nodes. Additionally, the network device system includes at least one packet processor operably coupled to a memory, wherein the at least one packet processor is configured to process packets received by the forwarding unit by executing the forwarding path elements.