Remote Server Pool Task Distribution for Client Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecomputing powerVSAvoidnetwork communication time
Core Design Contradiction:
PowerVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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

Engineering Contradiction:
Improvetask processing efficiencyVSAvoidround-trip communication time
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #20Continuity of useful action

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

Engineering Contradiction:
Improveinformation completenessVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
Loss of informationVSLoss of energy

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8549106B2Leveraging remote server pools for client applications
Publication Date: 2013.10.01 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8549106B2 patent drawing
  • US8549106B2 patent drawing
  • US8549106B2 patent drawing

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.