Network Device Accelerating Object Transfer Protocols
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current request/response protocols like HTTP/HTTPS face inefficiencies due to high CPU overhead and latency issues caused by TCP/IP/TLS, especially in cloud infrastructure with unpredictable TCP performance and single network path limitations, leading to bottlenecks in CPU and memory bandwidth.
Innovation Solution
Implementing a unified interface for network devices that abstracts network stack details, utilizing Scalable Reliable Datagram (SRD) transport protocol to enable parallel network paths, remote direct memory access (RDMA) for zero-copy operations, and hardware encryption, allowing for optimized object transfer commands like GET/PUT without exposing client memory addresses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If TCP/IP/TLS protocol is used for object transfer, then reliable data transmission is achieved, but CPU overhead increases and latency increases
Solution Approach 1:
The patent extracts the reliable data transmission functionality from the TCP/IP/TLS stack and implements it directly in the network device hardware. The network device performs its own error checking, flow control, and acknowledgment mechanisms, eliminating the need for CPU-intensive TCP/IP/TLS processing while maintaining reliability. This extraction moves the protocol processing from software (CPU) to hardware (network device), reducing latency and CPU overhead.
Solution Approach 2:
The network device acts as an intermediary that handles reliable data transmission independently between client and server. Instead of the CPU managing TCP/IP/TLS protocols, the network device mediates the communication by implementing its own reliable delivery mechanism through direct memory access and hardware-based error handling, thus reducing CPU involvement and latency.
2Reliability
If TCP/IP/TLS protocol is used for object transfer, then data security is ensured, but CPU overhead increases
Solution Approach 1:
The patent extracts security-related functions from the CPU-managed TCP/IP/TLS stack and implements them in the network device hardware. The network device performs encryption, decryption, and security validation independently, eliminating CPU-intensive cryptographic operations. This extraction reduces CPU overhead while maintaining data security through hardware-based security processing.
3Device complexity
If single network path is used for connection, then connection simplicity is maintained, but network performance is limited
Solution Approach 1:
The patent segments the network communication into multiple independent paths between client and server. The network device can simultaneously utilize multiple physical or logical network paths for data transmission, dividing the traffic load across these paths. This segmentation increases network throughput and performance while the network device manages the complexity of multiple paths transparently, maintaining simplicity for the application layer.
4Adaptability or versatility
If CPU-managed protocol processing is used, then protocol flexibility is achieved, but memory bandwidth bottleneck occurs
Solution Approach 1:
The patent extracts protocol processing functions from the CPU and implements them in the network device with direct memory access capability. The network device can read from and write to host memory buffers directly without CPU intervention, eliminating the memory bandwidth bottleneck caused by CPU-managed protocol processing. This extraction maintains protocol flexibility through configurable network device settings while dramatically improving memory bandwidth utilization.
Data Source
AI summary
A network device can be used on a client side and a server side to accelerate request/response protocols for object transfers between the client side and the server side. The network device can interface with an application executing on the host device, which can allow the network device to expose different operations that can enable acceleration of different higher level object transfer commands. The network device can expose operations to pre-post anonymous receive buffers and client buffers even before the server side responds to the object transfer commands, which can allow the client buffers to be available to the server early on. Small transfers can be performed without remote direct memory access (RDMA) and can be received in the anonymous receive buffers at the server side. Bulk object data can be sent via RDMA for direct data placement into the client buffers to enable zero copy.


