Dynamically placing computing jobs
First Claim
Patent Images
1. A method implemented by one or more computer processing devices, the method comprising:
- determining cost differences for electricity to perform a computing job at an individual data center having state information usable to perform the computing job and multiple remotely-located data centers, wherein the multiple remotely-located data centers are at different geographic locations than the individual data center and include at least;
a first remotely-located data center that does not have the state information, anda second remotely-located data center that also does not have the state information;
determining multiple costs for bandwidth to communicate the state information from the individual data center to the multiple remotely-located data centers, wherein a first cost for bandwidth to communicate the state information to the first remotely-located data center of the multiple data centers is different than a second cost for bandwidth to communicate the state information to the second remotely-located data center;
determining further costs for bandwidth to communicate results of the computing job from the individual data center and the multiple remotely-located data centers to an entity that requested the computing job;
identifying, from the individual data center and the multiple remotely-located data centers, a selected data center to perform the computing job, wherein the selected data center is identified based on the cost differences for electricity, the multiple costs for bandwidth, and further costs for bandwidth; and
placing the computing job at the selected data center, wherein the determining the cost differences comprises calculating;
an individual expected electricity cost of performing the computing job using individual computational resources of the individual data center, andmultiple other expected electricity costs of performing the computing job using other computational resources of the multiple remotely-located data centers.
2 Assignments
0 Petitions
Accused Products
Abstract
This document describes techniques for dynamically placing computing jobs. These techniques enable reduced financial and/or energy costs to perform computing jobs at data centers.
156 Citations
20 Claims
-
1. A method implemented by one or more computer processing devices, the method comprising:
-
determining cost differences for electricity to perform a computing job at an individual data center having state information usable to perform the computing job and multiple remotely-located data centers, wherein the multiple remotely-located data centers are at different geographic locations than the individual data center and include at least; a first remotely-located data center that does not have the state information, and a second remotely-located data center that also does not have the state information; determining multiple costs for bandwidth to communicate the state information from the individual data center to the multiple remotely-located data centers, wherein a first cost for bandwidth to communicate the state information to the first remotely-located data center of the multiple data centers is different than a second cost for bandwidth to communicate the state information to the second remotely-located data center; determining further costs for bandwidth to communicate results of the computing job from the individual data center and the multiple remotely-located data centers to an entity that requested the computing job; identifying, from the individual data center and the multiple remotely-located data centers, a selected data center to perform the computing job, wherein the selected data center is identified based on the cost differences for electricity, the multiple costs for bandwidth, and further costs for bandwidth; and placing the computing job at the selected data center, wherein the determining the cost differences comprises calculating; an individual expected electricity cost of performing the computing job using individual computational resources of the individual data center, and multiple other expected electricity costs of performing the computing job using other computational resources of the multiple remotely-located data centers. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
one or more processing devices; and one or more computer-readable memory devices storing program code that, when executed by the one or more processing devices, cause the one or more processing devices to; determine a first electricity cost for electricity to perform a computing job using first computational resources of a first remotely-located data center, wherein the computing job has associated state information usable to perform the computing job, determine a second electricity cost for electricity to perform the computing job using second computational resources of a second remotely-located data center, determine a first bandwidth cost to communicate the associated state information to the first remotely-located data center and a second bandwidth cost to communicate the associated state information to the second remotely-located data center, determine an individual data center from the first data center and the second data center for placement of the computing job, wherein the individual data center is determined based on the first electricity cost, the second electricity cost, the first bandwidth cost to communicate the associated state information to the first data center, and the second bandwidth cost to communicate the associated state information to the second remotely-located data center, and place the computing job at the individual data center. - View Dependent Claims (8, 9, 10, 11)
-
-
12. One or more computer-readable memory devices storing program code which, when executed by one or more processing devices, causes the one or more processing devices to perform acts comprising:
-
determining a first electricity cost for electricity to perform a computing job locally using first computational resources of a first data center having state information for the computing job, wherein the state information is usable to perform the computing job; determining a second electricity cost for electricity to perform the computing job using second computational resources of a second remotely-located data center that does not have the state information for the computing job; determining a third electricity cost for electricity to perform the computing job using third computational resources of a third remotely-located data center that does not have the state information for the computing job; determining a first bandwidth cost to communicate the state information from the first data center to the second remotely-located data center; determining a second bandwidth cost to communicate the state information from the first data center to the third remotely-located data center, wherein the second bandwidth cost is different than the first bandwidth cost; and identifying a selected data center from the first data center, the second remotely-located data center, and the third remotely-located data center for placement of the computing job, wherein the selecting considers; the first electricity cost, the second electricity cost, the third electricity cost, the first bandwidth cost, and the second bandwidth cost. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification