Kernel Network Transceiver via Epoll Socket Mediation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing network data transceiver technology experiences poor performance due to the direct calling of the system process for data transmission and reception, leading to a heavy system load and inefficiency.

Innovation Solution

A network communication method and system where a network data transceiver thread is associated with a listening socket, added to an epoll queue, and uses standard system calls to transmit and receive data after exporting a function symbol table, thereby reducing the frequency of direct system calls and improving efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the user mode directly calls the system process for data transmission and reception, then the data transceiver is straightforward and simple, but the system process is required to be called every time when data is transmitted or received, leading to heavy system load and poor network data transceiver performance

Engineering Contradiction:
Improvedirectness of data transceiverVSAvoidnetwork data transceiver performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent introduces an epoll queue as an intermediary mechanism between the user mode and system process. The listening socket adds itself to the epoll queue and listens for events, acting as a mediator that batches multiple data transmission requests. This allows the system process to be called less frequently, as the epoll mechanism efficiently manages and batches multiple socket events, reducing the direct call frequency while maintaining operational simplicity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the system process is called frequently for each data transmission or reception operation, then the data transceiver can handle operations directly, but the system load becomes heavy and performance deteriorates

Engineering Contradiction:
Improvedata transceiver responsivenessVSAvoidsystem load
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent implements periodic action through the epoll mechanism, where the listening socket periodically checks the epoll queue for events rather than being interrupted by each individual data transmission request. This periodic event-driven approach allows the system to batch multiple data operations into fewer system process calls, reducing system load while maintaining responsiveness to data transmission needs.

Inventive Principle:
Principle #19Periodic action

3Adaptability or versatility

If standard system calls are used frequently in the prior art, then the data transmission and reception can be performed using standard interfaces, but the efficiency is reduced due to the frequent system call overhead

Engineering Contradiction:
Improvecompatibility with standard interfacesVSAvoiddata transceiver efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent merges multiple standard system call operations into a single epoll event handling mechanism. Instead of making separate system calls for each read or write operation, the listening socket merges multiple socket events into the epoll queue, and the kernel processes these batched events together. This merging approach maintains compatibility with standard interfaces while significantly reducing the frequency of system call executions, thereby improving efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8966073B2Network communication method and system
Publication Date: 2015.02.24 TENCENT TECHNOLOGY (SHENZHEN) CO LTD
  • US8966073B2 patent drawing
  • US8966073B2 patent drawing
  • US8966073B2 patent drawing

AI summary

A network communication method for use in a system kernel where a network data transceiver thread and a listening socket are created. The method includes steps of: associating the network data transceiver thread with the listening socket and adding the listening socket into an epoll queue; listening, by the listening socket, events in the epoll queue and performing, when sensing an event requiring to transmit/receive data, a specific operation corresponding to the event and sending a notification to the network data transceiver thread associated with the listening socket; and transmitting/receiving, by the network data transceiver thread, a network data according to the notification from the listening socket. A network communication system is also provided.