Incremental Compiling for Heterogeneous Network Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network programmability is static, preventing the addition of new network functions at runtime without causing interruptions, which hinders seamless network application upgrades.

Innovation Solution

An incremental compiling method and system for heterogeneous devices, which involves developing network programs using P4, modeling device constraints, allocating intermediate representations to device units, generating rule expressions, and enabling incremental deployment of network functions without interrupting existing operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If network functions are recompiled and loaded at runtime, then new network functions can be added, but program interruption occurs and seamless upgrade cannot be realized

Engineering Contradiction:
Improvenetwork function update capabilityVSAvoidprogram continuity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the network program into multiple independent modules that can be compiled separately. Each module corresponds to a specific network function and can be independently loaded, updated, and executed. This segmentation allows new functions to be added without recompiling the entire program, thus avoiding program interruption while maintaining reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a dynamic module loading mechanism that enables network function modules to be loaded, unloaded, and updated at runtime without stopping the program. The system dynamically manages the lifecycle of network function modules, allowing seamless upgrades by loading new modules while existing modules continue to operate, thus resolving the contradiction between adaptability and reliability.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If all network functions are recompiled when adding new functions, then new functions can be deployed, but compilation time and resources increase

Engineering Contradiction:
Improvenetwork function deploymentVSAvoidcompilation time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent divides the network program into independent compilable modules, each representing a specific network function. When a new function needs to be deployed, only the corresponding module needs to be compiled and loaded, rather than recompiling the entire program. This significantly reduces compilation time and resource consumption while maintaining the ability to deploy new functions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary compilation of individual network function modules separately before deployment. Each module is pre-compiled and packaged as an independent unit, so that during deployment, only the necessary module needs to be loaded and activated. This preliminary preparation eliminates the need for full program recompilation, reducing deployment time and resource usage.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If network functions are updated at runtime, then seamless upgrade is achieved, but device resource management becomes complex

Engineering Contradiction:
Improveruntime function updateVSAvoidresource management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent designs a universal module management mechanism that handles loading, unloading, activation, and deactivation of network function modules through standardized interfaces and procedures. This universal management system simplifies resource management by providing a consistent approach to managing different types of modules, reducing the complexity that would otherwise arise from runtime updates of diverse network functions.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces a module management system as an intermediary layer between the network function modules and the underlying device resources. This intermediary manages the allocation, monitoring, and release of resources associated with each module, abstracting the complexity of resource management from the runtime update process. The intermediary handles memory allocation, processor resource management, and other resource-related operations, simplifying the overall system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12204880B1Incremental compiling method and system based on heterogeneous device
Publication Date: 2025.01.21 ZHEJIANG LAB
  • US12204880B1 patent drawing
  • US12204880B1 patent drawing
  • US12204880B1 patent drawing

AI summary

An incremental compiling method and an incremental compiling system based on a heterogeneous device. The method comprises: a user using P4 to develop a network program, checking the syntax and semantics of the network program and converting into an intermediate representation; allocating intermediate representation files according to constraints such as the functions and resources of the heterogeneous device; then, transforming the network program into different rule expressions of the heterogeneous device according to the constraints of the heterogeneous device, flow table entries and the like, and loading the on different rule expressions to a target device; when the user needs to deploy network functions incrementally, the user only needs to write new network programs and regenerate rule expressions; by comparing and analyzing the old and new rule expressions, a rule expression that can be loaded on heterogeneous device is formed, and the incremental deployment of network functions is realized.