Leveraging remote server pools for client applications
First Claim
1. One or more computer devices comprising:
- one or more processors;
one or more computer-readable media storing computer-executable instructions that, when executed, cause one or more processors to perform acts, comprisingreceiving, from a client computing device and at a pool of servers, a request to execute a task for an application whose canonical state resides on the client computing device, wherein the request is received over a network that has a substantially higher latency or a substantially lower bandwidth than a network connecting servers of the pool of servers;
computing, by the one or more processors, a result of the task by the pool of servers, the canonical state of the application residing on the client computing device throughout the computing by the one or more processors; and
providing the result to the client computing device for output by the application whose canonical state resides on the client computing device.
2 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
15 Claims
-
1. One or more computer devices comprising:
one or more processors; one or more computer-readable media storing computer-executable instructions that, when executed, cause one or more processors to perform acts, comprising receiving, from a client computing device and at a pool of servers, a request to execute a task for an application whose canonical state resides on the client computing device, wherein the request is received over a network that has a substantially higher latency or a substantially lower bandwidth than a network connecting servers of the pool of servers; computing, by the one or more processors, a result of the task by the pool of servers, the canonical state of the application residing on the client computing device throughout the computing by the one or more processors; and providing the result to the client computing device for output by the application whose canonical state resides on the client computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
11. A method comprising:
-
receiving, over a first network and at a server of a pool of servers interconnected by a second network having a latency that is substantially lower than a latency of the first network or a bandwidth that is substantially higher than a bandwidth of the first network, a request from a client computing device to execute a task for an application whose canonical state resides on the client computing device; receiving, from the client computing device over the first network and at the server, code of the application whose canonical state resides on the client computing device; distributing, by the server and to multiple other servers of the pool of servers, portions of the task and portions of the code of the application whose canonical state resides on the client computing device for processing by the multiple other servers, the canonical state of the application residing on the client computing device throughout the processing by the multiple other servers; and sending a result of the execution of the task from the server and to the client computing device over the first network. - View Dependent Claims (12, 13, 14, 15)
-
Specification