Transmit-Side Scaler Using Thread-Based Queues for Packet Flow Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In connection-oriented systems, transmit-side processing faces challenges in scheduling and queuing outgoing network packets, where slower flows can hinder faster flows due to lack of identifiable flow association with packets, leading to throughput issues and packet order maintenance problems.

Innovation Solution

A transmit-side scaler system that includes token area memory, transmit queue memory, and an active threads table to identify and manage transmit queues for outgoing packets by matching process IDs, generating new queues as needed to ensure proper flow mapping and scheduling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple flows are multiplexed into a single output queue, then packet order within each flow is maintained, but slower flows can delay faster flows reducing overall throughput

Engineering Contradiction:
Improvepacket order maintenanceVSAvoidthroughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The single output queue is segmented into multiple separate queues, each dedicated to a specific flow identified by process ID. This segmentation allows each flow to have its own transmission queue, preventing slower flows from blocking faster ones while maintaining packet order within each individual flow through dedicated queuing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different queues are assigned different characteristics based on their associated flow's requirements. Each queue can be optimized independently for its specific flow's throughput needs, allowing faster flows to use queues optimized for high speed while slower flows use queues appropriate for their characteristics, rather than forcing all flows through a single uniform queue.

Inventive Principle:
Principle #3Local quality

2Device complexity

If flow information is not readily identifiable in outgoing packets, then packet processing is simpler, but proper flow association and queue mapping cannot be established

Engineering Contradiction:
Improvepacket processing complexityVSAvoidflow association capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The system performs preliminary action by inserting flow identification information (process ID) into the packet header before the packet is queued for transmission. This advance tagging ensures that when the packet reaches the transmit-side scaler, the flow association is already established, enabling proper queue mapping without adding complex real-time identification logic during packet processing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2417737B1Transmit-side scaler and method for processing outgoing information packets using thread-based queues
Publication Date: 2018.10.24 CISCO TECHNOLOGY INC
  • EP2417737B1 patent drawingFigure 1
  • EP2417737B1 patent drawingFigure 2A~2B
  • EP2417737B1 patent drawingFigure 3

AI summary

Embodiments of a transmit-side scaler and method for processing outgoing information packets using thread-based queues are generally described herein. Other embodiments may be described and claimed. In some embodiments, a process ID stored in a token area may be compared with a process ID of an application that generated an outgoing information packet to obtain a transmit queue. The token area may be updated with a process ID stored in an active threads table when the process ID stored in the token area does not match the process ID of the application.