Device, system, and program

WO2026176596A1PCT designated stage Publication Date: 2026-08-27NT T INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2025/005889
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-20
Publication Date
2026-08-27

Smart Images

  • Figure JP2025005889_27082026_PF_FP_ABST
    Figure JP2025005889_27082026_PF_FP_ABST
Patent Text Reader

Abstract

This device comprises an arithmetic unit that determines a candidate of a second data center to be a destination to which a workload in a first data center is moved by migration, on the basis of the distance between the first data center and the second data center and the distance between a third data center in which a replica of the workload is present and the second data center.
Need to check novelty before this filing date? Find Prior Art

Description

Devices, systems, and programs

[0001] This invention relates to technologies concerning disaster recovery (DR) strategies for cloud data center (DC) operators.

[0002] In recent years, the proliferation of cloud services has led to an increase in workloads managed by cloud data centers (DCs). Therefore, cloud DC operators must ensure the secure operation of these workloads. However, if a DC is damaged by a natural disaster or other disaster, it can result in massive data loss and prolonged service downtime.

[0003] As a disaster recovery (DR) strategy for data centers (DCs), users who want to ensure high availability and redundancy even in the event of widespread disasters such as earthquakes and tsunamis generally adopt a policy of preparing replicated workloads (which can also be called replicas) across geographically distributed DCs. On the other hand, DC operators are considering migration techniques to evacuate workloads located in affected or high-risk regions as a DR strategy. However, conventional technologies have not considered migration policies in the event of a disaster when replicas exist in two geographically separated regions. The following describes conventional technologies regarding migration policies in the event of a disaster.

[0004] For example, Non-Patent Document 1 discloses a technology for migrating and evacuating content during the limited time between the onset of disaster warnings and the actual occurrence of the disaster. The technology disclosed in Non-Patent Document 1 selects content that exists in the same disaster risk region as a replica, assigns priorities to the content, and heuristically sorts it in order of priority to schedule early evacuation. This technology has the following two challenges.

[0005] First, if a disaster occurs in the current high-risk region, only one workload may survive, potentially failing to ensure workload redundancy. Second, because destination DC, routing, and scheduling decisions are made heuristically rather than mathematically optimally, the system may not be able to handle complex and generalized problems.

[0006] Non-patent document 2 discloses a model in which the determination variable for performing virtual machine (VM) migration for the purpose of avoiding damage during a disaster is whether the migration is online or offline. However, the technology disclosed in non-patent document 2 does not assume that a replica exists for the VM, and is therefore different from the technology related to this embodiment described later.

[0007] Ferdousi, Sifat, et al. "Rapid data evacuation for large-scale disasters in optical cloud networks." Journal of Optical Communications and Networking 7.12 (2015): B163-B172. Ayoub, Omran, et al. "Online virtual machine evacuation for disaster resilience in inter-data center networks." IEEE Transactions on Network and Service Management 18.2 (2021): 1990-2001.

[0008] Existing disaster-related workload evacuation technologies consider scenarios where there is only one workload, or where the workload and its replicas are geographically located in the same region, and explore cases where workloads in a disaster-stricken region are migrated to a safe region.

[0009] In this case, because the workload is not redundant across two secure, geographically separated regions, there is a possibility that if a similar disaster occurs at the destination DC, there will be no surviving workloads.

[0010] To meet the needs of financial institutions and healthcare users who require high availability and redundancy, it is necessary to have workloads (replicas) in two secure and geographically separated regions to provide workload redundancy and to determine the migration destination from a disaster region so that neither system is lost in the event of the same disaster.

[0011] Furthermore, when prioritizing the evacuation of critical data, conventional heuristic methods may fail to find a valid solution to the complex problem. To create a general-purpose algorithm, it is necessary to formulate it as a mathematical optimization problem that is easy to solve and scalable.

[0012] The present invention has been made in view of the above points, and aims to provide a technology that enables the continued operation of a workload in a redundant manner across two geographically separated data centers (DCs), even if a disaster occurs at one of the DCs.

[0013] According to the disclosed technology, a device is provided that includes a calculation unit for determining a candidate second data center to which a workload in a first data center will be migrated, based on the distance between the first data center and the second data center, and the distance between the second data center and a third data center where a replica of the workload exists.

[0014] According to the disclosed technology, when a workload is operated redundantly across two geographically separated data centers (DCs), the redundant operation of the workload can continue even if a disaster occurs at one of the DCs.

[0015] This is a functional configuration diagram of the information processing device 100. This is a flowchart to explain Step 1 and Step 2. This is an image diagram of the backup schedule. This is a flowchart of Step 1. This is a diagram showing an example of the device's hardware configuration.

[0016] Hereinafter, embodiments of the present invention (this embodiment) will be described with reference to the drawings. The embodiments described below are merely examples, and the embodiments to which the present invention is applied are not limited to the embodiments described below.

[0017] In the following description of the embodiment, the occurrence of a disaster is described as the trigger for operation, but this is merely one example. The technology according to this embodiment can perform migration not only at the timing of a disaster, but also at the timing desired by the DC operator or DC user.

[0018] (Outline of the Embodiment) In this embodiment, we assume an environment in which a network consisting of multiple nodes and multiple links exists, and some or all of the nodes are equipped with cloud data centers (DCs). Each DC is equipped with one or more computers (computational resources) and is capable of executing workloads.

[0019] A workload includes, for example, applications that consume computing resources in a data center (programs running to provide services) and the data that such applications process. When the same "data and application program" is provided on multiple data centers for redundancy, that "data and application program" is called a replica. Of the multiple replicas, the replica used for providing services may also be called the workload.

[0020] Furthermore, when redundancy is implemented using two data centers (DCs), the replica in the DC providing the service (the operational DC) may be called the workload, and the replica in the standby DC (the standby DC) may be called the replica of that workload.

[0021] When replicas of a workload exist on DC1 and DC2, the two replicas are synchronized between DC1 and DC2. Furthermore, if, for example, a failure occurs on DC1 where the workload is running, the replica on DC2 can immediately take over as the workload.

[0022] Migrating a workload from DC1 to, for example, DC3 means moving (transferring) the "data and application programs" of that workload from DC1 to DC3. After the move, the workload will run on DC3. For example, in a situation where replicas are placed on DC1 and DC2 for redundancy, after the workload migration from DC1 to DC3, the redundancy will be achieved using DC2 and DC3.

[0023] In the environment described above, the information processing device 100, described later, migrates the workload from the data center (DC) in the affected region to the DC in the safe region, taking into account the importance of the workload and the constraints on the range of movement, thereby ensuring workload redundancy in two geographically separated safe regions.

[0024] Here, "region" refers to a broad area defined by the data center operator, and it is assumed that different regions will not be affected simultaneously by the same disaster or failure.

[0025] This embodiment assumes a scenario where workload replicas are located in two geographically different regions during normal times. It proposes a control policy that, in the event that one of the data centers (DCs) is at risk of or has been affected by a disaster, prioritizes the migration of critical workloads to a safe DC, thereby ensuring that both systems maintain geographical diversity at all times.

[0026] For example, suppose a workload replica is located on DC1 in Region 1 and DC2 in Region 2. If a disaster occurs at DC1, the workload can be migrated to DC3 in the safe region 3. This allows for the continuation of a situation where workload replicas are located in two geographically different regions.

[0027] The configuration and operation of the information processing device 100 will be described in detail below, with regard to (1) optimizing workload placement during a disaster when replication exists between two regions, and (2) formulating a mathematically optimal approach for moving high-priority workloads early.

[0028] (Example of device configuration) In this embodiment, the information processing device 100 determines the allocation of workloads during a disaster by solving an optimization problem (e.g., an integer linear programming problem).

[0029] Figure 1 shows an example of the configuration of the information processing device 100. As shown in Figure 1, the information processing device 100 comprises an information acquisition unit 110, a calculation unit 120, a control unit 130, and a data storage unit 140. The information processing device 100 may also be referred to as a "device" or "system".

[0030] The information acquisition unit 110 acquires the information necessary to solve the optimization problem and inputs the acquired information to the calculation unit 120.

[0031] The calculation unit 120 uses the information input from the information acquisition unit 110 to perform the processing described in step 1, and stores the processing result in the data storage unit 140. The calculation unit 120 uses the information input from the information acquisition unit 110 and the information read from the data storage unit 140 to perform the solution of the optimization problem.

[0032] The solution to the optimization problem obtained by the calculation unit 120 is input to the control unit 130. The control unit 130 then performs control on the network (e.g., migration).

[0033] The information processing device 100 may be a single device (computer) or a system consisting of multiple devices.

[0034] For example, the information acquisition unit 110, the calculation unit 120, the control unit 130, and the data storage unit 140 may each be a single device. In this case, the information acquisition unit 110 may be called an information acquisition device, the calculation unit 120 may be called an calculation device, the control unit 130 may be called a control device, and the data storage unit 140 may be called a data storage device. The calculation device may also be called an "information processing device."

[0035] The operation of the information processing device 100 will be described below. For convenience of description, in the text of this specification, characters representing sets and vectors will be written using standard fonts. It will be clear from the context that these characters represent sets and vectors.

[0036] (Regarding variables) The variables handled in the optimization problem solved by the information processing apparatus 100 are as follows. However, the R in the following explanations w cand The movement range constraint that appears in the explanation of refers to the fact that the DC is at a distance of a certain distance or more from both the disaster-affected region and the region where the replica is located.

[0037] The variables regarding sets are as follows.

[0038] The variables regarding parameters are as follows. <b

[0039] The decision variables are as follows. <b

[0040]

[0041] [[ID=Z1]] (Overview of the operation of the information processing apparatus 100) The information processing apparatus 100 executes processing in two major steps. The processing of these two steps will be described with reference to the flowchart of FIG. 2.

[0042] <S1: Step 1> First, the information acquisition unit 110 acquires R, D, W all , d v,u and inputs them to the arithmetic unit 120. The arithmetic unit 120 selects a workload that may be moved and determines candidates for the destination DC. That is, the arithmetic unit 120 determines a set W of workloads to be moved and a set R w cand of candidates for the DC to which the workload is to be migrated. The arithmetic unit 120 stores the determined W and R w cand in the data storage unit 140.

[0043] <S2> In S2, the arithmetic unit 120 reads W and R w cand from the data storage unit 140, and at the same time, from the information acquisition unit 110 to the arithmetic unit 120, R safe , R, T, f w t , α, β, c e , S w , Q w , S r , Q It should be noted that there may be some tags like <b

[0039] and <b in the original text which seem to be incorrect or incomplete tags. If they are actual tags in a specific system or format, they should be carefully checked and maintained as is. If they are errors, they may need to be corrected according to the correct context. The translation is done based on the best understanding of the provided text with the tags.r , b w The input is received. The calculation unit 120 uses the input information to solve an optimization problem and determines, for each workload to be migrated, the destination DC to be migrated, the path to the destination DC, and the migration schedule.

[0044] In other words, the arithmetic unit 120 determines the destination DC to be moved, x, for each workload to be migrated. w rt and the route y to get there w et Furthermore, the evacuation schedule p w t , q w t Determine and output these. Evacuation schedule p w t , q w t An illustrative diagram is shown in Figure 3.

[0045] As described above, by dividing the problem into two stages and defining the set in step 1, the search set for the optimization problem can be reduced. Furthermore, if there are constraints on the user specifying the affected region, the computational cost of the optimization problem can be reduced by considering these constraints in step 1 instead of in step 2.

[0046] The following provides a detailed explanation of both Step 1 and Step 2.

[0047] (Regarding Step 1) Step 1 will be explained in detail with reference to the flowchart in Figure 4. In Step 1, the information processing device 100 heuristically determines the set of candidate destination DCs.

[0048] <S101: Information gathering and input> The information acquisition unit 110 receives data from: "Node set R where DCs are located, a region with high disaster risk or a disaster-stricken region D, and a workload set W of all DCs." all , and the geographical distance d between any two points DC u,v , and d cri The value is obtained and input to the calculation unit 120.

[0049] <S102:R disaand R safe Settings > The calculation unit 120 determines the R included in region D based on the information of the affected region D. disa And the other DCs are R safe Let's define it as follows: Among the DC set R, the DC set included in the disaster-stricken region D is R disa Let R be R disa R safe Let's assume that.

[0050] <S103:W disa Determination > The calculation unit 120 determines R disa Based on the information, W all R disa The set of workloads in W disa This will be considered a migration candidate.

[0051] <S104:r w rep Information gathering > When moving a workload, ensure that it is migrated to a location geographically distant from the DC where a replica of the workload exists. Therefore, the information acquisition unit 110 gathers information for each w ∈ W disa The location where the replica exists is obtained in advance. The calculation unit 120 determines the DC where the replica of the workload w ∈ W exists. w rep Let's assume that each w ∈ W disa The method for obtaining the location of the replica is not limited to any specific method. For example, it could be obtained by accessing the management server that manages the workload.

[0052] <S105:R w cand Decision > To operate replicated workloads while maintaining high availability at all times, the destination of workload migration should be the affected DC set R. disa and replica position r w rep Each of these should be at least a certain distance away (above a threshold). The distance criterion (threshold) at this time is d cri In this case, the calculation unit 120 calculates the distance reference d from both the damaged DC and the replica location. cri DCs located more than a certain distance away are designated as DCs R, which are candidates for migration destinations.w cand Let's assume that.

[0053] In other words, the calculation unit 120 selects a candidate destination DC for migration based on the following conditions: R w cand = {r∈R} safe │d r,r_w disa ≥ d cri d r,r_w rep ≥ d cri}, ∀w∈W all In the above formula, d r,r_w disa d is the distance between the candidate destination DC for migration and the affected DC (the DC containing the workload to be moved), and r,r_w rep This is the distance between the candidate destination DC for the migration and the DC that houses the replica of the workload to be moved.

[0054] <S106:R w cand Checking whether it is an empty set or not > The calculation unit 120 checks for each workload to be moved, R w cand Check whether the set is empty or not.

[0055] <S107> For a certain workload w, R w cand If the set is empty, the migration of the workload w will not be performed.

[0056] <S108, S109: Determination of W> For a certain workload w, R w cand If the set is not empty, then the workload w can be migrated while ensuring geographical diversity. The arithmetic unit 120 considers W disa Let W be the set of migration candidates among them.

[0057] Steps S101 to S109 described above constitute the processing of Step 1. By extending Step 1, it is also possible to restrict the migration range to only the area previously specified by the DC user, thereby reflecting the user's needs.

[0058] (Regarding Step 2) Next, Step 2 will be described. In Step 2, the arithmetic unit 120 uses the migration destination candidate set R w cand and the migration candidate workload set W to solve a mathematical optimization problem for workload migration. Specifically, the arithmetic unit 120 maximizes the objective function of the following equation (1) to obtain and output the decision variables x w rt , y w et , p w t , q w t . The class of the optimization problem is an integer linear programming problem. The integer linear programming problem can be solved using a general solver. For example, the arithmetic unit 120 is equipped with the solver and uses the solver to solve the integer linear programming problem.

[0059] The first term Σ w∈W Σ <o000o96>f w t p w t represents the workload number metric to be migrated. The formula for the first term is the weighted sum with respect to f w t of p w t , and the coefficient f w t is multiplied for the purpose of evacuating important workloads earlier.

[0060] Specifically, for example, f w t is described by the function f w t = γ t f w (γ [ t is missing closing bracket> >0,f w >0)で記述する。ここで、f w It seems there is a formatting or symbol issue in the original text around t . Please check and correct it if possible for a more accurate translation.f represents the importance of the workload w∈W, with larger values ​​used for workloads that should be prioritized for evacuation. For example, if the workload is divided into three tiers by Tier, then Tier 1 workloads will have f w =3, for Tier 2 workloads f w =2, for Tier 3 workloads f w It is conceivable to set it to = 1. On the other hand, γ t Let be a value that decreases monotonically over time, for example, γ t = (1 - (t / T) fin Let )) > 0.

[0061] The second term of the objective function aims to distribute the load so that the links used for moving the workload do not concentrate on any particular link. Here, with each link and time slot fixed, Σ w∈W b w y w et / c e Since this represents the bandwidth utilization of a link, the second term of the objective function will be used to distribute the load so that the maximum value of the link's bandwidth utilization at all times is minimized.

[0062] Load balancing during workload migration helps prevent link congestion. A larger α (positive value) indicates a greater emphasis on load balancing through workload migration over all time.

[0063] Furthermore, the third term of the objective function aims to schedule the migration so that the total network resource usage is minimized. Here, when each workload and time slot is fixed, Σ e∈E b w y w et Since this represents the network resource usage of the workload w within the network, the third term of the objective function is the sum of the network resource usage associated with data transfer within the network, with respect to time slots and workload.

[0064] Minimizing network resource usage involves finding a solution that schedules the system to minimize the number of links and time slots used. A larger positive value for β indicates a greater emphasis on minimizing network resource usage.

[0065] In this embodiment, the calculation unit 120 solves the optimization problem under the constraints shown in equations (2) to (28) below, which are various constraints that the optimization problem must satisfy. Each constraint will be explained below.

[0066] <Constraints on the Decision Variables> By definition, the following constraint (2) holds for each variable.

[0067] <Constraints expressing that workloads have only two options: move or not move> In this embodiment, since the upper limit of the number of migration time slots is fixed, there is a possibility that workloads will not be able to move from the source DC to the destination DC within the time limit. In particular, due to the formulation of the objective function, workloads of low importance may not be able to be migrated. Therefore, x is used to decide whether or not to move the workload at each time point. w rt The following constraint (3) holds true.

[0068] Furthermore, constraints (4) and (5) hold true for the start and end slots, respectively.

[0069]

[0070] Furthermore, the constraint of equation (6) holds because the start and end of workload migration always coincide. This also guarantees that the migration will be completed when a workload is migrated.

[0071] Furthermore, the constraint in equation (7) holds to ensure that the workload's start slot is before the end slot.

[0072] <Variables for the start and end slots of the migration, destination variables, and constraints between the variables> Next, only the slots in which each workload migration will begin p w t = 1, and for other slots p w t The constraint equations (8) to (13) guarantee that = 0. Equations (8) to (10) are given by y w et The only starting slot that ensures consistency and satisfies all three inequalities simultaneously is p. w t = 1, otherwise p w t = 0. Similarly, equations (11) to (13) are x w rt The only starting slot that ensures consistency and satisfies all three inequalities simultaneously is p. w t = 1, otherwise p w t = 0.

[0073]

[0074]

[0075]

[0076]

[0077]

[0078] Similar to equations (8) to (13), only the slots where the migration of each workload is complete are q w t = 1, and q for all other slots. w t The constraint equations (14) to (19) guarantee that = 0. Equations (14) to (16) are given by y w et The only ending slot that ensures consistency and satisfies all three inequalities simultaneously is q. w t = 1, otherwise q w t = 0. Similarly, equations (17) to (19) are x wrt The only ending slot that ensures consistency and satisfies all three inequalities simultaneously is q. w t = 1, otherwise q w t = 0.

[0079]

[0080]

[0081]

[0082]

[0083]

[0084] <Constraint to ensure that the destination is fixed for each time slot when moving workloads> The constraint in equation (20) holds to ensure that the destination of each workload does not change from time step to time, that is, that the destination DC is fixed.

[0085] <Constraints to ensure that the path is fixed in each time slot when moving workloads> The constraints in equations (21) and (22) hold to ensure that the path does not change from time step to time when moving each workload, that is, the movement path is fixed. Here, equation (21) guarantees that throughout all time, there is at most one path through which each workload flows into a node. Similarly, equation (22) guarantees that throughout all time, there is at most one path through which each workload flows out of a node.

[0086]

[0087] <Storage Capacity Constraints in Data Centers> Storage capacity constraints are limitations that ensure the total storage required for the moved workload is less than the capacity of the destination data center.

[0088] <CPU Capacity Constraints in Data Centers> CPU capacity constraints are limitations that require the total CPU usage of the moved workload to be less than the capacity of the destination data center.

[0089] <Link Bandwidth Constraints> Link bandwidth constraints are limitations that ensure that the sum of the bandwidth allocated to each workload does not exceed the link bandwidth when moving each workload.

[0090] <Constraints on the relationship between the number of time slots and the storage size of the workload> This constraint is to ensure that the number of time slots is appropriate for the size of the workload. w and p w t This is a constraint concerning the relationship with the allocated bandwidth b. Constraint equation (26) states that the number of slots to be reserved is the allocated bandwidth b. w storage amount S w The constraint (27) states that the number of slots must be greater than the number of time slots required for the migration, meaning that if the number of slots is one less than the number of slots originally required, the amount of storage to be migrated cannot be met.

[0091]

[0092] <Flow preservation constraints> The flow preservation constraints are as follows:

[0093] The above is an explanation of the constraints.

[0094] The calculation unit 120 solves the optimization problem to maximize the objective function of equation (1) under the constraints of equations (2) to (28), thereby determining the decision variable x for each workload to be moved. w rt , y w et , p w t ,q w t To obtain.

[0095] The control unit 130 receives the obtained x w rt , y wet , p w t ,q w t Based on this, the migration is performed, for example, by sending a migration instruction to the target DC node.

[0096] The information processing device 100 may not include a control unit 130. In that case, the solution obtained by the calculation unit 120 is output to an external network control device, which then performs the migration control.

[0097] (Example Hardware Configuration) All of the devices described in this embodiment (information processing device, information acquisition device, arithmetic unit, control device, data storage device, etc.) can be realized, for example, by having a computer execute a program. This computer may be a physical computer or a virtual machine on the cloud.

[0098] In other words, the device can be realized by using hardware resources such as the CPU and memory built into a computer to execute a program corresponding to the processing performed by the device. The program can be recorded on a computer-readable recording medium (such as portable memory), saved, and distributed. It can also be provided via a network, such as the Internet or email.

[0099] Figure 5 shows an example of the hardware configuration of the computer described above. The computer in Figure 5 has a drive device 1000, an auxiliary storage device 1002, a memory device 1003, a CPU 1004, an interface device 1005, a display device 1006, an input device 1007, an output device 1008, etc., all of which are interconnected by bus B. The computer may also be equipped with a GPU.

[0100] The program that enables processing on the computer is provided on a recording medium 1001, such as a CD-ROM or memory card. When the recording medium 1001 containing the program is set in the drive device 1000, the program is installed from the recording medium 1001 to the auxiliary storage device 1002 via the drive device 1000. However, the program does not necessarily have to be installed from the recording medium 1001; it may also be downloaded from another computer via a network. The auxiliary storage device 1002 stores the installed program as well as necessary files and data.

[0101] The memory device 1003 reads and stores a program from the auxiliary storage device 1002 when a program startup command is received. The CPU 1004 implements the functions related to the memory device 1003 according to the program stored in the memory device 1003. The interface device 1005 is used as an interface for connecting to a network, etc. The display device 1006 displays a GUI (Graphical User Interface) etc., based on a program. The input device 1007 consists of a keyboard and mouse, buttons, or a touch panel, etc., and is used to input various operation commands. The output device 1008 outputs the calculation results.

[0102] (Effects of the Embodiment) As described above, with the technology described in this embodiment, when a workload replica is placed on two DCs (when the workload is operated on two systems), if one of the two DCs may be affected by an attack or is affected by an attack, the high availability and redundancy of both systems can be maintained autonomously.

[0103] In other words, the technology according to this embodiment allows for the migration of workloads from a disaster-stricken region so that both systems do not simultaneously fail in the event of a disaster; that is, they operate in two geographically separated, safe regions. Furthermore, it enables the early and priority evacuation of critical workloads during the migration process.

[0104] The following additional information is disclosed regarding the embodiments described above.

[0105] <Notes> (Note 1) A device comprising a calculation unit that determines a candidate second data center to be the destination to which the workload in the first data center will be moved by migration, based on the distance between the first data center and the second data center, and the distance between the third data center where a replica of the workload exists and the second data center. (Note 2) The device according to Note 1, wherein the calculation unit determines the second data center from one or more candidates for the second data center based on the priority of the workload and the network resource usage when moving the workload. (Note 3) A system comprising an information acquisition device that acquires information on the third data center where a replica of the workload in the first data center exists, and a calculation unit that determines a candidate second data center to be the destination to which the workload in the first data center will be moved by migration, based on the distance between the first data center and the second data center, and the distance between the third data center and the second data center. (Appendix 4) A non-temporary storage medium storing a program for causing a computer to function as the arithmetic unit in the device described in Appendix 1 or 2.

[0106] Although this embodiment has been described above, the present invention is not limited to this specific embodiment, and various modifications and changes are possible within the scope of the gist of the invention as described in the claims.

[0107] 100 Information processing device 110 Information acquisition unit 120 Calculation unit 130 Control unit 140 Data storage unit 1000 Drive device 1001 Recording medium 1002 Auxiliary storage device 1003 Memory device 1004 CPU 1005 Interface device 1006 Display device 1007 Input device 1008 Output device

Claims

1. A device comprising a calculation unit that determines a candidate second data center to be the destination to which the workload in the first data center will be moved by migration, based on the distance between the first data center and the second data center, and the distance between the third data center where a replica of the workload exists and the second data center.

2. The apparatus according to claim 1, wherein the calculation unit determines the second data center from among one or more candidates for the second data center based on the priority of the workload and the network resource usage when moving the workload.

3. A system comprising: an information acquisition device that acquires information about a third data center where a replica of the workload in the first data center exists; and a computing device that determines candidate second data centers to which the workload in the first data center will be moved by migration, based on the distance between the first data center and the second data center, and the distance between the third data center and the second data center.

4. A program for causing a computer to function as the arithmetic unit in the apparatus described in claim 1 or 2.