Server-Side Relay Device Prefetching for Data Acquisition Speed
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current high-speed transmission systems in file sharing systems experience delays due to the lack of prefetched data during the initial data request, leading to reduced processing speed from data request to data acquisition, especially over longer communication distances.
Innovation Solution
A relay device system that includes a server-side relay device and a client-side relay device, where the server-side relay device requests prefetching of data and caches it, and upon matching prefetched data with cached data, notifies the client-side relay device to perform a proxy response using the cached data, thereby reducing the need for repeated requests to the server.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is requested sequentially from the server without prefetching, then the communication protocol negotiations can be completed in order, but the processing speed from data request to data acquisition decreases due to longer communication distance and repeated negotiations
Solution Approach 1:
The server-side relay device performs prefetch operations to acquire data in advance before the client actually requests it. When the client sends a read command, the server-side relay device proactively requests subsequent data blocks from the server ahead of time, storing them in its buffer. This preliminary action eliminates waiting time during sequential negotiations, significantly improving data acquisition speed while maintaining protocol integrity.
Solution Approach 2:
The server-side relay device acts as an intermediary between the server and client, buffering prefetched data locally. This intermediary function allows the relay device to satisfy client data requests from its buffer without immediately contacting the server, reducing the number of round-trip negotiations and improving response speed while ensuring data is delivered correctly.
2Productivity
If prefetch commands are sent to the server, then data acquisition speed increases, but the server processing load increases due to additional prefetch commands
Solution Approach 1:
The server-side relay device creates local copies of data by prefetching it from the server and storing it in its buffer. These copied data blocks can then be served to the client without requiring the server to respond to each individual read request, reducing server processing load while maintaining fast data delivery to the client.
3Productivity
If the client-side relay device caches all prefetched data, then subsequent data requests can be served quickly, but the storage requirements and cache management complexity increase
Solution Approach 1:
The caching system is segmented into two parts: the server-side relay device buffer and the client-side relay device cache. The server-side device handles prefetching and initial buffering, while the client-side device caches only the necessary data for immediate client delivery. This segmentation distributes the caching burden and simplifies management at each node.
Solution Approach 2:
The server-side relay device acts as an intermediary that pre-processes and buffers data, reducing the caching burden on the client-side device. The client-side relay device only needs to maintain a smaller cache for immediate client requests, simplifying its cache management while still achieving fast response times.
Data Source
AI summary
A relay device includes a first relay device connected to a server and a second relay device connected to a client. The first relay device includes a request unit that requests the server to prefetch data in response to a request from the client; a control unit that caches the data in a first cache; and a notification unit that requests the server to prefetch data in response to a current request from the client, and notifies the second relay device of a predetermined signal when the data matches the data cached in the first cache. The second cache of the second relay device caches a part of the data cached in the first cache. The response unit performs, detecting the predetermined signal, a proxy response to the client with the data cached in the second cache in response to a data request from the client.


