Data Communication Apparatus Pacing Content Transfer Requests
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data communication systems face congestion issues when handling content transfer requests between remote devices and local peripheral storage devices, leading to bottlenecks in caches and peripheral interfaces, resulting in decreased performance and increased latency.
Innovation Solution
A data communication apparatus with a network interface and storage sub-system that manages content transfer requests by pacing their commencement based on available cache capacity and data-throughput rates, using data-capacity and data-throughput rate credits to allocate resources efficiently among pending queues, and employing a least recently used algorithm for cache management to prevent overflow.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If content transfer requests are served immediately without pacing, then response speed is improved, but storage sub-system congestion increases and cache overflow occurs
Solution Approach 1:
The system performs preliminary actions by queuing content transfer requests and pacing their commencement based on predicted cache capacity and interface throughput rates. This allows the system to prepare and organize requests before actually serving them, preventing cache overflow and interface congestion while maintaining efficient throughput.
Solution Approach 2:
The system uses feedback mechanisms to monitor cache usage and interface throughput rates in real-time. This feedback information is used to dynamically adjust the pacing of request servicing, ensuring that the storage sub-system operates within its capacity limits while maximizing throughput.
2Quantity of substance
If cache size is increased to handle more requests, then request handling capacity is improved, but device complexity and cost increase
Solution Approach 1:
Instead of providing excessive cache capacity to handle all possible requests, the system uses partial action by servicing requests in a paced manner based on actual cache availability. This allows the system to handle high request volumes with a smaller cache by carefully controlling the rate at which requests are served.
Solution Approach 2:
The system implements dynamic request pacing that adapts to changing cache conditions. The commencement of serving requests is dynamically adjusted based on real-time cache capacity and interface throughput rates, allowing efficient operation with variable cache sizes.
3Ease of operation
If multiple pending queues are used to manage requests, then request organization and resource allocation are improved, but processing complexity increases
Solution Approach 1:
The system segments pending requests into multiple queues organized by storage device or interface. This segmentation allows independent management and pacing of requests for different storage devices, improving resource allocation efficiency while keeping each queue's processing logic relatively simple.
Solution Approach 2:
The pending queue structure is designed to be universal, accommodating different types of content transfer requests for different storage devices through a common framework. This multi-functional queue system handles various request types without requiring separate complex processing logic for each case.
Data Source
AI summary
In one embodiment, data communication apparatus includes a network interface including one or more ports for connection to a packet data network and configured to receive content transfer requests from at least one remote device over the network, a storage sub-system to be connected to local peripheral storage devices, and including at least one peripheral interface, and a memory sub-system including a cache and RAM, and processing circuitry to manage transfer of content between the remote device(s) and the local peripheral storage devices via the peripheral interface(s) and the cache, responsively to the content transfer requests, while pacing commencement of serving of respective ones of the content transfer requests responsively to a metric of the storage sub-system so that while ones of the content transfer requests are being served, other ones of the content transfer requests pending serving are queued in at least one pending queue.


