Remote Server Pool Task Distribution for Client Applications
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques fail to effectively leverage server pools for computing tasks over high-latency, low-bandwidth networks, limiting the ability to utilize the power of remote server pools for improving the effectiveness of client-side applications.
Innovation Solution
The described techniques optimize communication by reducing round-trip interactions and data size between client devices and server pools, using remote differential compression, caching, and designating a specific server for communication, while also employing a utility coprocessor module to distribute tasks across multiple servers for parallel processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Power
If server pools are used to perform computing tasks over high-latency, low-bandwidth networks, then computing power and processing capacity are improved, but network communication time and data transmission overhead increase
Solution Approach 1:
The system performs preliminary actions by sending file lists and data blocks to the server pool before the actual computing task is executed. This allows the server to have the necessary data ready in advance, reducing the need for repeated high-latency network communications during task execution. The client sends minimal metadata (file lists) upfront rather than waiting for data requests during computation.
Solution Approach 2:
The invention extracts only the essential metadata (file lists, data blocks) from the complete dataset and sends it to the server pool. Instead of transferring entire datasets or waiting for complete data availability, the system extracts and transmits only the necessary indexing information, significantly reducing network communication overhead while maintaining computing power utilization.
2Productivity
If multiple round-trip communications are used between client and server pool, then task distribution and result collection are achieved, but communication overhead and processing time increase
Solution Approach 1:
The system performs preliminary communication by sending the file list to the server pool before the computing task begins. This preliminary action establishes the data transfer roadmap in advance, allowing the server to prepare for efficient data reception and processing without requiring multiple back-and-forth communications during the actual computation phase.
Solution Approach 2:
The invention enables continuous useful action by overlapping data transfer with computation. While the server is processing computed results, the client simultaneously sends the next batch of data blocks. This continuous workflow eliminates idle time between communication rounds, maintaining productive action throughout the entire process rather than having sequential stop-start communication cycles.
3Loss of information
If large data packages are transmitted between client and server pool, then complete information is exchanged, but network bandwidth consumption and transmission time increase
Solution Approach 1:
The system extracts and transmits only the essential file list metadata rather than complete datasets. By sending just the indexing information (file names, paths, structures) without the actual data content, the invention maintains information completeness for task execution while dramatically reducing network bandwidth consumption. The server retrieves actual data blocks locally from the client's shared folder without requiring their transmission over the high-latency network.
Solution Approach 2:
The invention uses copying by having the server pool work with local copies of data blocks that are temporarily available in the shared folder, rather than requiring continuous network transmission. The server copies necessary data blocks locally for processing, eliminating the need to transmit large data packages over the bandwidth-constrained network while maintaining access to complete information.
Data Source
AI summary
Techniques for enabling client computing devices to leverage remote server pools for increasing the effectiveness of applications stored on the client computing device are described herein. In some instances, the server pools comprise a “cloud”, “cluster” or “data center” that comprises hundreds or thousands of servers connected together by a network that has an extremely low latency and high bandwidth relative to the network through which the client computing device connects to the server pool. The client computing device may request that the server pool perform a certain task for an application whose canonical state resides on the client. After computation of a result of the task, a server of the server pool then provides the result to the client. By doing so, the techniques dramatically increase the amount of resources working on the request of the client and, hence, dramatically increase the speed and effectiveness of the client-side application.


