TCP Connection Management in Multiprocessing Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessing environments, managing transmission control blocks (TCBs) to support TCP connection requests is challenging due to the complexity of concurrent processing by independent processors, which affects the efficient establishment and management of TCP connections.

Innovation Solution

The solution involves maintaining a list of TCBs for each processing entity, allocating TCP connections to specific processing entities, and using network interface cards to manage the allocation and establishment of TCP connections, ensuring that each connection is associated with the appropriate processing entity for processing and data handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If TCBs are maintained in a multiprocessing environment with independent processors, then TCP connection requests can be processed concurrently, but the complexity of managing TCB allocation and state synchronization increases

Engineering Contradiction:
Improveconcurrent TCP connection processingVSAvoidTCB management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments TCB management by creating separate TCB lists for each processing entity (processor). Each processor maintains its own list of TCBs in specific states (ESTABLISHED, SYN_SENT, SYN_RECV), eliminating the need for complex global synchronization mechanisms while enabling concurrent processing. This segmentation resolves the contradiction by distributing TCB management responsibility across multiple independent processors.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The network interface card (NIC) acts as an intermediary that receives incoming TCP packets and determines which processing entity should handle them. The NIC maintains a mapping between connection identifiers and processing entities, serving as a mediator that directs traffic without requiring complex inter-processor communication protocols. This intermediary approach simplifies TCB management while maintaining concurrent processing capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If TCP connections are allocated to specific processing entities, then sending and receiving tasks can be consolidated for better performance, but the allocation and migration logic becomes more complex

Engineering Contradiction:
Improvethroughput performanceVSAvoidallocation and migration logic
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Each processing entity maintains local TCB lists with specific quality characteristics appropriate for its role. The patent defines distinct TCB state categories (ESTABLISHED, SYN_SENT, SYN_RECV) that are locally managed by each processor. This local quality approach allows each processor to optimize its TCB management independently, improving throughput while keeping allocation logic simple and localized.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamic TCB migration capability where TCBs can be moved between processing entities based on connection state and load conditions. The NIC dynamically determines the appropriate processing entity for each connection and updates the mapping accordingly. This dynamic approach allows the system to adapt to changing conditions while maintaining a relatively simple allocation mechanism based on connection state.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10212259B2Management of transmission control blocks (TCBs) supporting TCP connection requests in multiprocessing environments
Publication Date: 2019.02.19 ORACLE INT CORP
  • US10212259B2 patent drawing
  • US10212259B2 patent drawing
  • US10212259B2 patent drawing

AI summary

A source system executing applications in a multiprocessing environment supports transmission control protocol (TCP) connections. In an embodiment, the source system maintains a corresponding list of transmission control blocks (TCBs) for each processing entity. When an application executing on a first processing entity in the source system requests a new TCP connection to a destination system, an open TCP connection request is transmitted to said destination system on a network. A first TCB for the new TCP connection may be formed, indicating that the connection is in the process of being established. The connection may be allocated to a second processing entity, and the first TCB may be migrated as a second TCB, which is included in a list of TCBs associated with the second processing entity.