Customized Socket APIs for Low-Latency Shared-Memory TCP
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Communication over Transmission Control Protocol (TCP) is suboptimal in terms of latency, throughput, and computational efficiency.
Innovation Solution
Replace socket application programming interface functions with customized socket application programming interface functions to create shared memory channels for communication between TCP client and server applications, without modifying their source code, using dynamic linkers or kernel modifications to facilitate shared memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If TCP socket functions are used for communication, then reliability and protocol compatibility are ensured, but latency increases and throughput decreases
Solution Approach 1:
The patent introduces a shared memory channel as an intermediary communication path between TCP client and server applications. Instead of direct TCP socket communication, data is transmitted through shared memory segments that both applications can access, thereby reducing latency while maintaining reliability through the established TCP protocol layer
2Adaptability or versatility
If TCP socket functions are used for communication, then protocol compatibility is maintained, but computational efficiency deteriorates
Solution Approach 1:
The patent segments the communication process into two distinct parts: data transmission through shared memory channels and protocol handling through TCP socket functions. This segmentation allows high-speed data movement via shared memory while reserving TCP processing for essential protocol operations, thereby improving computational efficiency without sacrificing compatibility
3Productivity
If shared memory channels are created, then throughput improves and latency reduces, but system complexity increases
Solution Approach 1:
The patent implements shared memory channels using universal system calls and memory management functions that are already present in standard operating systems. By leveraging existing multi-functional system capabilities rather than creating dedicated communication hardware or specialized software modules, the solution achieves high throughput without proportionally increasing system complexity
Data Source
Figure 1
Figure 2A~2B
Figure 3~7
AI summary
Disclosed is a method comprising replacing one or more socket application programming interface functions with one or more customized socket application programming interface functions for at least one of a transmission control protocol client application or a transmission control protocol server application; and calling the one or more customized socket application programming interface functions for creating one or more shared memory channels for communication between the transmission control protocol client application and the transmission control protocol server application.