Promotion of calculations to cloud-based computation resources
First Claim
1. A method comprising:
- receiving, by a processor communicatively coupled to a local computing system and a remote computation resource, from an application running on the local computing system, a request for the remote computation resource to perform a computational task, wherein the remote computation resource comprises a plurality of resource servers, managed by a cloud management system, to host virtual machines, and wherein the request specifies a processor throughput requirement and a communication bandwidth requirement for a virtual machine to serve as part of the remote computation resource;
transmitting, by the processor, the request to cause the cloud management system to;
identify a set of resource servers of the plurality of resource servers to deliver the processor throughput requirement and the communication bandwidth requirement;
generate a resource aggregation table that identifies the set of resource servers to supply the processor throughput and the communication bandwidth;
build, using the resource aggregation table, a plurality of virtual machines that each meets the processor throughput requirement and the communication bandwidth requirement to perform the computational task; and
perform the computational task using the plurality of virtual machines;
receiving, by the processor, a set of results generated by the remote computation resource having performed the computational task using the plurality of virtual machines; and
transmitting, by the processor, the set of results to the local computing system.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments relate to systems and methods for the promotion of calculations to cloud-based computation resources. One or more applications, such as spreadsheet applications, can prepare the calculation of a relatively large-scale computation, such as running statistical reports on large (e.g., greater than 1000 by 1000 cell) spreadsheets or other data objects. If the pending calculation is determined to be greater than a computation threshold for instance in computation intensity or data size, a computation request can be sent to a promotion engine. The promotion engine can identify a set of computation resources located in a cloud or other network and transmit the data request and subject data to the set of computation resources, which afford greater computation speed than the local machine hosting the requesting application. A set of results is returned from the cloud to the requesting application, thereby creating higher bandwidth and faster calculation times for the user.
-
Citations
20 Claims
-
1. A method comprising:
-
receiving, by a processor communicatively coupled to a local computing system and a remote computation resource, from an application running on the local computing system, a request for the remote computation resource to perform a computational task, wherein the remote computation resource comprises a plurality of resource servers, managed by a cloud management system, to host virtual machines, and wherein the request specifies a processor throughput requirement and a communication bandwidth requirement for a virtual machine to serve as part of the remote computation resource; transmitting, by the processor, the request to cause the cloud management system to; identify a set of resource servers of the plurality of resource servers to deliver the processor throughput requirement and the communication bandwidth requirement; generate a resource aggregation table that identifies the set of resource servers to supply the processor throughput and the communication bandwidth; build, using the resource aggregation table, a plurality of virtual machines that each meets the processor throughput requirement and the communication bandwidth requirement to perform the computational task; and perform the computational task using the plurality of virtual machines; receiving, by the processor, a set of results generated by the remote computation resource having performed the computational task using the plurality of virtual machines; and transmitting, by the processor, the set of results to the local computing system. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system, comprising:
-
a memory; a processor, operably connected to the memory, the processor programmed to; receive, from an application running on a local computing system, a request for a remote computation resource to perform a computational task, wherein the remote computation resource comprises a plurality of resource servers, managed by a cloud management system, to host virtual machines, and wherein the request specifies a processor throughput requirement and a communication bandwidth requirement for a virtual machine to serve as part of the remote computation resource; transmit the request to cause the cloud management system to; identify a set of resource servers of the plurality of resource servers to deliver the processor throughput requirement and the communication bandwidth requirement; generate a resource aggregation table that identifies the set of resource servers to supply the processor throughput and the communication bandwidth; build, using the resource aggregation table, a plurality of virtual machines that each meets the processor throughput requirement and the communication bandwidth requirement to perform the computational task; and perform the computational task using the plurality of virtual machines; receive a set of results generated by the remote computation resource having performed the computational task using the plurality of virtual machines; and transmit the set of results to the local computing system. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to:
-
receive, by the processor, from an application running on the local computing system, a request for the remote computation resource to perform a computational task, wherein the remote computation resource comprises a plurality of resource servers, managed by a cloud management system, to host virtual machines, and wherein the request specifies a processor throughput requirement and a communication bandwidth requirement for a virtual machine to serve as part of the remote computation resource; transmit the request to cause the cloud management system to; identify a set of resource servers of the plurality of resource servers to deliver the processor throughput requirement and the communication bandwidth requirement; generate a resource aggregation table that identifies the set of resource servers to supply the processor throughput and the communication bandwidth; build, using the resource aggregation table, a plurality of virtual machines that each meets the processor throughput requirement and the communication bandwidth requirement to perform the computational task; and perform the computational task using the plurality of virtual machines; receive a set of results generated by the remote computation resource having performed the computational task using the plurality of virtual machines; and transmit the set of results to the local computing system. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification