Multithreaded Route Processing for Network Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network routing protocols face inefficiencies in processing and displaying network route information, particularly in handling multiple requests concurrently and managing processing overhead, which can lead to delayed information delivery and increased resource utilization.

Innovation Solution

Distributing the processing of network routes among multiple execution threads on a network device, allowing for parallel processing and throttling to manage information flow, thereby reducing processing time and memory usage, and ensuring a smooth, responsive output.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If network routing protocols process and display network route information using traditional single-threaded approaches, then the system maintains simplicity in implementation, but the processing speed is slow and resource utilization is high

Engineering Contradiction:
Improveprocessing speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the network route information processing into multiple partitions, with each execution thread handling a specific partition. This segmentation allows parallel processing of routing information across multiple threads, significantly improving processing speed while maintaining manageable complexity through structured division of labor

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from single-threaded sequential processing to multi-threaded parallel processing, adding a dimensional aspect of concurrency to the system. This dimensional change enables simultaneous processing of multiple route information partitions, enhancing productivity without proportionally increasing complexity

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If network routing protocols handle multiple requests concurrently using single-threaded processing, then the system maintains simplicity, but the response time is delayed and throughput is reduced

Engineering Contradiction:
Improverequest throughputVSAvoidresponse time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

By partitioning routing information and assigning different partitions to different execution threads, the system can concurrently process multiple requests simultaneously. Each thread handles its assigned partition independently, enabling parallel request processing that increases throughput while maintaining responsive time through concurrent execution

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements continuous processing where multiple execution threads continuously process routing information partitions in parallel. This continuous parallel action ensures that multiple requests are handled concurrently without idle time, maximizing throughput and minimizing response delays

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If network routing protocols use multiple execution threads for parallel processing, then the processing efficiency is improved, but the memory usage increases and coordination overhead is introduced

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent divides routing information into discrete partitions that can be processed independently by different threads. This segmentation allows efficient memory utilization where each thread loads only its required partition into memory rather than the entire routing table, reducing overall memory usage while maintaining parallel processing efficiency

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each execution thread is assigned specific local responsibility for processing a particular routing information partition. This local quality approach allows threads to operate with localized data in memory, reducing global memory requirements and improving cache utilization, thereby enhancing processing efficiency without proportionally increasing memory usage

Inventive Principle:
Principle #3Local quality

4Productivity

If network routing protocols process routing information in unsorted order, then the processing speed is faster, but the output order is inconsistent and requires additional sorting overhead

Engineering Contradiction:
Improveprocessing speedVSAvoidoutput consistency
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent divides routing information into partitions and assigns them to different execution threads for parallel processing. Each thread processes its partition and outputs results in a consistent local order (e.g., lexicographic order within the partition). The main thread then combines these ordered outputs, maintaining overall consistency without requiring complex global sorting, thus preserving processing speed while ensuring output consistency

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11762710B2Multithreaded route processing for routing information display
Publication Date: 2023.09.19 JUNIPER NETWORKS INC
  • US11762710B2 patent drawing
  • US11762710B2 patent drawing
  • US11762710B2 patent drawing

AI summary

In some examples, a main thread of a plurality of execution threads executing on a plurality of processing cores of at least one hardware-based processor of a network device may receive a request for information associated with network routes that meet one or more criteria. Each of the plurality of execution threads may process a respective routing information partition to generate respective displayable information associated with a respective subset of the network routes that meets the one or more criteria. The main thread may generate consolidated displayable information associated with the network routes that meet the one or more criteria based on the respective displayable information generated by each of the plurality of execution threads. The main thread may output the consolidated displayable information associated with the network routes that meet the one or more criteria for display at a display device.