Kernel Network Transceiver via Epoll Socket Mediation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
Data Source
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.


