Parallel Protocol Stack Socket Allocation for Network Adapter Conflicts

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In a multi-core CPU architecture, parallel protocol stack instances contend for a single socket, leading to conflicts when a protocol stack instance specified by an application differs from the one specified by the network adapter, preventing protocol processing on data packets.

Innovation Solution

A method and apparatus that determine a distribution policy for data packets based on network adapter information, identifying the appropriate protocol stack instance and creating a target socket within that instance to ensure protocol processing can occur, avoiding conflicts by aligning the protocol stack instance with the network adapter's distribution policy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple protocol stack instances share a single socket, then resource utilization is improved, but conflicts occur when protocol stack instances specified by applications differ from those specified by network adapters, preventing protocol processing

Engineering Contradiction:
Improveresource utilizationVSAvoidprotocol processing capability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the socket resource by creating multiple virtual sockets, each associated with a specific protocol stack instance. This segmentation allows different protocol stack instances to have dedicated socket access paths, eliminating conflicts while maintaining resource utilization. The virtual socket layer acts as an intermediary that routes packets to the appropriate protocol stack instance based on the distribution policy.

Inventive Principle:
Principle #1Segmentation

2Reliability

If parallel protocol stack instances exclusively occupy sockets, then protocol processing conflicts are avoided, but device complexity increases due to multiple protocol stack instances and socket management

Engineering Contradiction:
Improveprotocol processing capabilityVSAvoidprotocol stack instance management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a virtual socket as an intermediary layer between applications and protocol stack instances. This virtual socket manages the complexity of multiple protocol stack instances by providing a unified interface while internally routing to appropriate instances based on distribution policies. The intermediary handles socket creation, association, and packet distribution, shielding applications from the underlying complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If applications specify protocol stack instances for socket creation, then application control is improved, but conflicts arise when application specifications differ from network adapter distribution policies

Engineering Contradiction:
Improveapplication controlVSAvoidprotocol processing capability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent implements dynamic socket association where virtual sockets can be flexibly bound to different protocol stack instances based on runtime conditions. When an application creates a socket, the system dynamically determines the appropriate protocol stack instance by comparing application specifications with network adapter distribution policies. This dynamic binding allows the system to adapt to different scenarios and avoid conflicts while maintaining application control.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10218820B2Method and apparatus for processing data packet based on parallel protocol stack instances
Publication Date: 2019.02.26 HUAWEI TECH CO LTD
  • US10218820B2 patent drawing
  • US10218820B2 patent drawing
  • US10218820B2 patent drawing

AI summary

A method and an apparatus for processing a data packet based on parallel protocol stack instances and the method includes determining a distribution policy of a data packet according to distribution policy information of a network adapter, determining a first protocol stack instance according to the distribution policy of the data packet, and creating a target socket in the first protocol stack instance such that when the data packet is distributed to the first protocol stack instance, the first protocol stack instance performs protocol processing on the data packet using the target socket. Hence, a case in which a protocol stack instance that is specified for the target socket by an application conflicts with a protocol stack instance specified by a network adapter is avoided, and a technical problem that protocol processing cannot be performed on the data packet is resolved.