IP Library › Granted Patent US 9,436,560
Granted Patent B2
US 9,436,560 · App. 14/243,405 · Granted Sep 6, 2016

Increasing disaster resiliency by having a pod backed up to other peer pods in a site or beyond

Inventors: Manish Gupta (New Delhi, IN); Richard E. Harper (Chapel Hill, NC)
Assignee: International Business Machines Corporation
G06F11/1469G06F11/1461G06F11/1451G06F11/1456G06F11/1464G06F2201/815
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,436,560
App. No.
14/243,405
Granted
Sep 6, 2016
Kind
B2
Abstract

Increasing disaster resiliency in one aspect may comprise running an optimization algorithm that simultaneously solves for at least a first objective to increase a spread of a backup of virtual machines from a given site onto other sites in proportion to an amount of available space for backup at each site, a second objective to increase a number of backups at one or more of the other sites with low probability of system crash while reducing backups at one or more of the other sites with higher probability of system crash, and a third objective to minimize a violation of recovery time objectives of the virtual machines during recovery. One or more backup sites and one or more recovery sites in an event the given site crashes may be determined based on a solution of the optimization algorithm.

Claims (1304)

1. A method of increasing disaster resiliency in computer systems, comprising:

executing, by a processor, an optimization algorithm that solves simultaneously for at least a first objective to increase a spread of a backup of virtual machines from a given site onto other sites in proportion to an amount of available space for backup at each site, a second objective to increase a number of backups at one or more of the other sites with low probability of system crash while reducing backups at one or more of the other sites with higher probability of system crash, and a third objective to minimize a violation of recovery time objectives of the virtual machines during recovery; and

determining one or more backup sites and one or more recovery sites, in an event the given site crashes, based on a solution of the optimization algorithm.

2. The method of claim 1 , wherein the given site and the other sites comprise points of delivery that comprise hosting environments where the virtual machines belonging to one or more applications run.

3. The method of claim 1 , wherein the optimization algorithm is solved subject to a processing capacity constraint associated with at least the other sites, storage capacity constraint associated with at least the other sites, and data privacy constraints associated with at least the virtual machines to be backed up.

4. The method of claim 1 , further comprising constructing a schedule of backups for the virtual machines on one or more of the other sites based on a solution of the optimization algorithm.

5. The method of claim 1 , further comprising constructing a schedule of recovery for the virtual machines on one or more of the other sites based on a solution of the optimization algorithm.

6. The method of claim 1 , wherein the first objective is formulated as:

minimize

⁢

⁢

∑

i

=

1

⁢

⁢

…

⁢

⁢

N

⁢

∑

(

r

,

s

)

,

r

≠

s

≠

i

,

r

,

s

∈

{

1

⁢

⁢

…

⁢

⁢

N

}

⁢

(

A

s

⁢

∑

j

=

1

⁢

⁢

…

⁢

⁢

n

i

⁢

x

rij

-

A

r

⁢

∑

j

=

1

⁢

⁢

…

⁢

⁢

n

i

⁢

x

sij

A

r

+

A

s

)

2

,

wherein

sites comprising the given site and the other sites are indexed by iε{1, 2, . . . , N},

n i represents a number of VM instances hosted at site i,

s ij represents a rate of backup flow for VM j hosted at site i,

A i represents available space at site i for keeping backups from other sites,

X kij =1 if VM j hosted at site i is backed up at site k, otherwise 0.

7. The method of claim 1 , wherein the first objective is formulated as:

minimize

minimize

⁢

⁢

∑

i

=

1

⁢

⁢

…

⁢

⁢

N

⁢

∑

(

r

,

s

)

,

r

≠

s

≠

i

,

r

,

s

∈

{

1

⁢

⁢

…

⁢

⁢

N

}

⁢

(

∑

j

=

1

⁢

⁢

…

⁢

⁢

n

i

⁢

x

rij

-

∑

j

=

1

⁢

⁢

…

⁢

⁢

n

i

⁢

x

sij

)

,

wherein

sites comprising the given site and the other sites are indexed by iε{1, 2, . . . , N},

n i represents a number of VM instances hosted at site i,

s ij represents a rate of backup flow for VM j hosted at site i,

x kij =1 if VM j hosted at site i is backed up at site k, otherwise 0.

8. The method of claim 1 , wherein the second objective is formulated as:

∑

i

=

1

⁢

⁢

…

⁢

⁢

N

⁢

∑

(

r

,

s

)

,

r

≠

s

≠

i

,

r

,

s

∈

{

1

⁢

⁢

…

⁢

⁢

N

}

⁢

(

f

⁡

(

p

r

)

⁢

∑

j

=

1

⁢

⁢

…

⁢

⁢

n

i

⁢

x

rij

-

f

⁡

(

p

s

)

⁢

∑

j

=

1

⁢

⁢

…

⁢

⁢

n

i

⁢

x

sij

f

⁡

(

p

r

)

+

f

⁡

(

p

s

)

)

2

,

wherein

function f represents a crash probability function,

sites comprising the given site and the other sites are indexed by iε{1, 2, . . . , N},

n i represents a number of VM instances hosted at site i,

s ij represents a rate of backup flow for VM j hosted at site i,

x kij =1 if VM j hosted at site i is backed up at site k, otherwise 0.

9. The method of claim 1 , wherein the third objective is formulated as:

max

i

=

1

⁢

⁢

…

⁢

⁢

N

⁢

max

r

=

1

⁢

⁢

…

⁢

⁢

N

,

r

≠

i

⁢

∑

c

=

1

⁢

⁢

…

⁢

⁢

M

⁢

p

i

⁢

ψ

c

⁡

(

v

ric

)

,

wherein

ψ c (.) is a normalized penalty function for recover time objective violation of application c,

sites comprising the given site and the other sites are indexed by iε{1, 2, . . . , N},

p i represents probability that site i crashes,

n i represents a number of VM instances hosted at site i,

s ij represents a rate of backup flow for VM j hosted at site i,

x kij =1 if VM j hosted at site i is backed up at site k, otherwise 0.

10. The method of claim 1 , wherein the first objective further comprises a first weight value associated with the first objective, the second objective further comprises a second weight value associated with the second objective, or the third objective further comprises a third weight value associated with the third objective, or combinations thereof.

11. The method of claim 1 , wherein the optimization algorithm comprises:

minimize

⁢

⁢

w

1

⁢

∑

i

=

1

⁢

⁢

…

⁢

⁢

N

⁢

∑

(

r

,

s

)

,

r

≠

s

≠

i

,

r

,

s

∈

{

1

⁢

⁢

…

⁢

⁢

N

}

⁢

(

A

s

⁢

∑

j

=

1

⁢

⁢

…

⁢

⁢

n

i

⁢

x

rij

-

A

r

⁢

∑

j

=

1

⁢

⁢

…

⁢

⁢

n

i

⁢

x

sij

A

r

+

A

s

)

2

+

w

⁢

⁢

2

⁢

∑

i

=

1

⁢

⁢

…

⁢

⁢

N

⁢

∑

(

r

,

s

)

,

r

≠

s

≠

i

,

r

,

s

∈

{

1

⁢

⁢

…

⁢

⁢

N

}

⁢

(

f

⁡

(

p

r

)

⁢

∑

j

=

1

⁢

⁢

…

⁢

⁢

n

i

⁢

x

rij

-

f

⁡

(

p

s

)

⁢

∑

j

=

1

⁢

⁢

…

⁢

⁢

n

i

⁢

x

sij

f

⁡

(

p

r

)

+

f

⁡

(

p

s

)

)

2

+

w

⁢

⁢

3

⁢

max

i

=

1

⁢

⁢

…

⁢

⁢

N

⁢

max

r

=

1

⁢

⁢

…

⁢

⁢

N

,

r

≠

i

⁢

∑

c

=

1

⁢

⁢

…

⁢

⁢

M

⁢

p

i

⁢

ψ

c

⁡

(

v

ric

)

,

⁢

wherein

∑

i

=

1

⁢

⁢

…

⁢

⁢

N

⁢

∑

(

r

,

s

)

,

r

≠

s

≠

i

,

r

,

s

∈

{

1

⁢

⁢

…

⁢

⁢

N

}

⁢

(

A

s

⁢

∑

j

=

1

⁢

⁢

…

⁢

⁢

n

i

⁢

x

rij

-

A

r

⁢

∑

j

=

1

⁢

⁢

…

⁢

⁢

n

i

⁢

x

sij

A

r

+

A

s

)

2

represents the first objective and w1 represents a configurable weight associated with the first objective,

∑

i

=

1

⁢

⁢

…

⁢

⁢

N

⁢

∑

(

r

,

s

)

,

r

≠

s

≠

i

,

r

,

s

∈

{

1

⁢

⁢

…

⁢

⁢

N

}

⁢

(

f

⁡

(

p

r

)

⁢

∑

j

=

1

⁢

⁢

…

⁢

⁢

n

i

⁢

x

rij

-

f

⁡

(

p

s

)

⁢

∑

j

=

1

⁢

⁢

…

⁢

⁢

n

i

⁢

x

sij

f

⁡

(

p

r

)

+

f

⁡

(

p

s

)

)

2

represents the second objective and w2 represents a configurable weight associated with the second objective, and

max

i

=

1

⁢

⁢

…

⁢

⁢

N

⁢

max

r

=

1

⁢

⁢

…

⁢

⁢

N

,

r

≠

i

⁢

∑

c

=

1

⁢

⁢

…

⁢

⁢

M

⁢

p

i

⁢

ψ

c

⁡

(

v

ric

)

represents the third objective and w3 represents a configurable weight associated with the third objective.

12. A non-transitory computer readable storage device storing a program of instructions executable by a machine to perform a method of increasing disaster resiliency in computer systems, comprising:

executing, by a processor, an optimization algorithm that solves simultaneously for at least a first objective to increase a spread of a backup of virtual machines from a given site onto other sites in proportion to an amount of available space for backup at each site, a second objective to increase a number of backups at one or more of the other sites with low probability of system crash while reducing backups at one or more of the other sites with higher probability of system crash, and a third objective to minimize a violation of recovery time objectives of the virtual machines during recovery; and

determining one or more backup sites and one or more recovery sites in an event the given site crashes based on a solution of the optimization algorithm.

13. The non-transitory computer readable storage device of claim 12 , wherein the given site and the other sites comprise points of delivery that comprise hosting environments where the virtual machines belonging to one or more applications run.

14. The non-transitory computer readable storage device of claim 12 , wherein the optimization algorithm is solved subject to a processing capacity constraint associated with at least the other sites, storage capacity constraint associated with at least the other sites, and data privacy constraints associated with at least the virtual machines to be backed up.

15. The non-transitory computer readable storage device of claim 12 , further comprising constructing a schedule of backups for the virtual machines on one or more of the other sites based on a solution of the optimization algorithm.

16. The non-transitory computer readable storage device of claim 12 , further comprising constructing a schedule of recovery for the virtual machines on one or more of the other sites based on a solution of the optimization algorithm.

17. A system for increasing disaster resiliency in computer systems, comprising:

an optimization model that solves simultaneously for at least a first objective to increase a spread of a backup of virtual machines from a given site onto other sites in proportion to an amount of available space for backup at each site, a second objective to increase a number of backups at one or more of the other sites with low probability of system crash while reducing backups at one or more of the other sites with higher probability of system crash, and a third objective to minimize a violation of recovery time objectives of the virtual machines during recover; and

a hardware processor operable to execute the optimization model to determine one or more backup sites and one or more recovery sites in an event the given site crashes based on a solution of the optimization model.

18. The system of claim 17 , further comprising:

a memory storing the optimization model, wherein the optimization model solves:

minimize

⁢

⁢

w

1

⁢

∑

i

=

1

⁢

⁢

…

⁢

⁢

N

⁢

∑

(

r

,

s

)

,

r

≠

s

≠

i

,

r

,

s

∈

{

1

⁢

⁢

…

⁢

⁢

N

}

⁢

(

A

s

⁢

∑

j

=

1

⁢

⁢

…

⁢

⁢

n

i

⁢

x

rij

-

A

r

⁢

∑

j

=

1

⁢

⁢

…

⁢

⁢

n

i

⁢

x

sij

A

r

+

A

s

)

2

+

w

⁢

⁢

2

⁢

∑

i

=

1

⁢

⁢

…

⁢

⁢

N

⁢

∑

(

r

,

s

)

,

r

≠

s

≠

i

,

r

,

s

∈

{

1

⁢

⁢

…

⁢

⁢

N

}

⁢

(

f

⁡

(

p

r

)

⁢

∑

j

=

1

⁢

⁢

…

⁢

⁢

n

i

⁢

x

rij

-

f

⁡

(

p

s

)

⁢

∑

j

=

1

⁢

⁢

…

⁢

⁢

n

i

⁢

x

sij

f

⁡

(

p

r

)

+

f

⁡

(

p

s

)

)

2

+

w

⁢

⁢

3

⁢

⁢

max

i

=

1

⁢

⁢

…

⁢

⁢

N

⁢

⁢

max

r

=

1

⁢

⁢

…

⁢

⁢

N

,

r

≠

i

⁢

∑

c

=

1

⁢

⁢

…

⁢

⁢

M

⁢

p

i

⁢

ψ

c

⁡

(

v

ric

)

,

⁢

wherein

∑

i

=

1

⁢

⁢

…

⁢

⁢

N

⁢

∑

(

r

,

s

)

,

r

≠

s

≠

i

,

r

,

s

∈

{

1

⁢

⁢

…

⁢

⁢

N

}

⁢

(

A

s

⁢

∑

j

=

1

⁢

⁢

…

⁢

⁢

n

i

⁢

x

rij

-

A

r

⁢

∑

j

=

1

⁢

⁢

…

⁢

⁢

n

i

⁢

x

sij

A

r

+

A

s

)

2

represents the first objective and w1 represents a configurable weight associated with the first objective,

∑

i

=

1

⁢

⁢

…

⁢

⁢

N

⁢

∑

(

r

,

s

)

,

r

≠

s

≠

i

,

r

,

s

∈

{

1

⁢

⁢

…

⁢

⁢

N

}

⁢

(

f

⁡

(

p

r

)

⁢

∑

j

=

1

⁢

⁢

…

⁢

⁢

n

i

⁢

x

rij

-

f

⁡

(

p

s

)

⁢

∑

j

=

1

⁢

⁢

…

⁢

⁢

n

i

⁢

x

sij

f

⁡

(

p

r

)

+

f

⁡

(

p

s

)

)

2

represents the second objective and w2 represents a configurable weight associated with the second objective, and

max

i

=

1

⁢

⁢

…

⁢

⁢

N

⁢

max

r

=

1

⁢

⁢

…

⁢

⁢

N

,

r

≠

i

⁢

∑

c

=

1

⁢

⁢

…

⁢

⁢

M

⁢

p

i

⁢

ψ

c

⁡

(

v

ric

)

represents the third objective and w3 represents a configurable weight associated with the third objective.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2014
From: GUPTA, MANISH; HARPER, RICHARD E.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 032584/0417 →
Continuity (1)
Related Publication 20150286539A1 · Oct 8, 2015