Techniques for resource location and migration across data centers
First Claim
1. A system comprising:
- one or more processors;
one or more memories coupled to the one or more processors;
a front-end component stored in the one or more memories and executable by the one or more processors to receive a request for resources in a first data center, associate the request with identifying information, break the request into two or more sub-requests, send the two or more sub-requests separately, direct a particular resource for a respective sub-request, and store, in a log file, the identifying information of the request, identifying information of the respective sub-request, and the particular resource to which the respective sub-request is directed;
one or more distributed computation and storage components stored in the one or more memories and executable by the one or more processors to acquire log information and analyze the log information to decide if the particular resource associated with the respective sub-request should be migrated to a second data center in a different geographical location; and
a location service component stored in the one or more memories and executable by the one or more processors to receive a decision made by the one or more distributed computation and storage components and inform the front-end component that the decision causes the particular resource to be migrated to the second data center in the different geographical location to thereby allow the front-end component to re-direct future requests for the particular resource to the second data center in the different geographical location.
2 Assignments
0 Petitions
Accused Products
Abstract
An exemplary system includes a front-end component to receive requests for resources in a data center and configured to associate each request with identifying information, to locate one or more resources for each request and to store, in a log file, the identifying information and information about the location of the one or more resources; one or more distributed computation and storage components to acquire log file information and configured to analyze log information to decide if one or more resources associated with one or more requests should be migrated to a data center in a different geographical location; and a location service component to receive decisions made by the one or more distributed computation and storage components and configured to inform the front-end component when a decision causes one or more resources to be migrated to a data center in a different geographical location to thereby allow the front-end component to re-direct future requests for the one or more migrated resources to the data center in the different geographical location. Various other devices, systems and methods are also described.
-
Citations
20 Claims
-
1. A system comprising:
-
one or more processors; one or more memories coupled to the one or more processors; a front-end component stored in the one or more memories and executable by the one or more processors to receive a request for resources in a first data center, associate the request with identifying information, break the request into two or more sub-requests, send the two or more sub-requests separately, direct a particular resource for a respective sub-request, and store, in a log file, the identifying information of the request, identifying information of the respective sub-request, and the particular resource to which the respective sub-request is directed; one or more distributed computation and storage components stored in the one or more memories and executable by the one or more processors to acquire log information and analyze the log information to decide if the particular resource associated with the respective sub-request should be migrated to a second data center in a different geographical location; and a location service component stored in the one or more memories and executable by the one or more processors to receive a decision made by the one or more distributed computation and storage components and inform the front-end component that the decision causes the particular resource to be migrated to the second data center in the different geographical location to thereby allow the front-end component to re-direct future requests for the particular resource to the second data center in the different geographical location. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method comprising:
-
under a control of a computing device configured with computer-readable instructions, receiving a request for one or more data resources stored in a first data center, wherein the one or more data resources are accessed based at least in part on the request, and wherein the one or more data resources comprise migratable data resources capable of being migrated via a network from the first data center to a second data center geographically separate from the first data center; determining if the one or more data resources associated with the request should be migrated to the second data center in a different geographical location based on a plurality of factors including a state of the one or more data resources that is shared across multiple entities external to the first data center and including a frequency of user requests of the one or more data resources; analyzing log information with respect to a model that generates migration decisions that reduce a likelihood of local minima configurations; identifying at least a most frequently used portion of the one or more data resources to be migrated to the second data center in the different geographical area based at least in part on the frequency of the user requests of the one or more data resources; and migrating the at least the most frequently used portion of the one or more data resources to the second data center in the different geographical area based on the identifying. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
one or more processors; and memory storing instructions that, when executed by the one or more processors, configure the system to perform operations comprising; receiving a request for a resource in a first data center at a first location; associating the request with identifying information; storing, in a log file, the identifying information and information about the first location of the resource; analyzing log information in the log file to decide if the resource associated with the request should be migrated to a second data center at a second different geographical location, the analyzing comprising analyzing the log information based on an iteration of an application of a simulated annealing algorithm, each iteration of the application of the simulated annealing algorithm replacing a current configuration of the first data center with another configuration of the second data center chosen with a probability that depends on a difference between an energy function and a temperature parameter, the energy function indicating a geographical distance between the first data center and a user; and based at least partly on a decision to cause the resource to be migrated to the second data center in the second different geographical location, re-directing a future request for the resource to the second data center in the second different geographical location. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification