IP Library Granted Patent US 8,479,038
Granted Patent B1
US 8,479,038 · App. 13/299,706 · Granted Jul 2, 2013

Method and apparatus for achieving high availability for applications and optimizing power consumption within a datacenter

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 8,479,038
App. No.
13/299,706
Granted
Jul 2, 2013
Kind
B1
Abstract

A method and apparatus for achieving high availability for applications and optimizing power consumption within a datacenter is provided. In one embodiment, a method for providing high availability and optimizing power consumption within a datacenter comprises upon execution of an application at a target node amongst a plurality of nodes in a datacenter, selecting a failover target node amongst the plurality of nodes for the application, and reserving a failover capacity of at least one resource of the selected failover target node.

Claims (99)

1. A method comprising:

selecting a failover target node from a plurality of nodes, wherein

the failover target node is configured to execute an application of a plurality of applications, and

each of the plurality of applications is configured to be executed on at least one of the plurality of nodes;

reserving a failover capacity of at least one resource at the failover target node, wherein

the failover capacity is one of a plurality of failover capacities, and

each of the plurality of failover capacities is associated with a corresponding one of the plurality of applications;

consolidating the plurality of failover capacities;

determining whether the consolidating results in none of the plurality of failover capacities being reserved on a first node of the plurality of nodes; and

in response to determining that the consolidating results in none of the plurality of the failover capacities being reserved on the first node, releasing the first node.

2. The method of claim 1 , further comprising:

determining whether the consolidating results in none of the plurality of applications executing on the first node, wherein

the releasing the first node is further performed in response to determining that the consolidating results in none of the plurality of applications executing on the first node.

3. The method of claim 1 , wherein

the releasing results in the first node being powered down.

4. The method of claim 1 , wherein

the failover target node is in a running state.

5. The method of claim 1 , wherein

the reserving of the failover capacity is performed such that a disruption of a lower priority application at the failover target node is avoided.

6. The method of claim 1 , wherein

the failover capacity does not exceed an available capacity of the at least one resource of the failover target node.

7. The method of claim 1 , wherein

the application is configured to be failed over to the failover target node from a target node of the plurality of nodes,

further comprising:

determining a reserved failover capacity, wherein

the reserved failover capacity is to be reserved on the failover target node.

8. The method of claim 7 , further comprising:

detecting a failure in the target node; and

in response to the detecting the failure, failing over the application to the failover target node, wherein

the failing over uses the reserved failover capacity.

9. The method of claim 8 , wherein failing over the application further comprises:

instructing the target node to offline the application; and

migrating the application to the failover target node.

10. The method of claim 1 , further comprising:

monitoring the plurality of nodes, and

selecting another failover target node, wherein

the selecting causes the another failover target node to act as a replacement for the failover target node.

11. The method of claim 1 , further comprising:

instructing at least one other node of the plurality of nodes to power down, wherein

at the time of the instructing, the at least one other node is not executing the application, and

the at least one other node is a one of the plurality of nodes other than the target node, and

the failover target node.

12. The method of claim 1 , further comprising:

monitoring the plurality of nodes;

detecting an offlined application, wherein

the detecting is based on the monitoring; and

the consolidation is performed in response to detection of the offlined application.

13. An apparatus comprising:

datacenter software, wherein

the datacenter software is stored in a non-transitory memory, and

the datacenter software is configured to be executed by at least one processor to:

select a target node of a plurality of nodes in a datacenter to execute an application; and

a manager, wherein

the manager is stored in the non-transitory memory,

the manager is configured to be executed by the at least one processor to:

upon execution of the application at the target node,

select a failover target node from the plurality of nodes, wherein

the application is failed over to the failover target node upon detection of a failure in the target node,

the application is one of a plurality of applications, and

reserve a failover capacity of at least one resource at the failover target node, wherein

the failover capacity is one of a plurality of failover capacities, and

each of the plurality of failover capacities corresponds to a corresponding one of the plurality of applications,

consolidate the plurality of failover capacities,

determine whether the consolidation results in none of the plurality of failover capacities being reserved on a first node of the plurality of nodes, and

in response to determination that the consolidating results in none of the plurality of the failover capacities being reserved on the first node, release the first node.

14. The apparatus of claim 13 , wherein

the manager is configured to be executed by the at least one processor further to:

determine whether the consolidating results in none of the plurality of applications executing on the first node, wherein

the release the first node is further performed in response to determination that the consolidating results in none of the plurality of applications executing on the first node.

15. The apparatus of claim 13 , wherein

the manager is configured to be executed by the at least one processor further to:

detect an offline application, and

release a host computer by virtue of being further configured to consolidate a plurality of reserved failover capacities for a plurality of applications to free up the host computer.

16. The apparatus of claim 13 , wherein

the release results in the first node being powered down.

17. A computer program product comprising:

a plurality of instructions, comprising

a first set of instructions, executable on a computer system, configured to select a failover target node from a plurality of nodes, wherein

the failover target node is configured to execute an application of a plurality of applications, and

each of the plurality of applications is configured to be executed on at least one of the plurality of nodes,

a second set of instructions, executable on the computer system, configured to reserve a failover capacity of at least one resource at the failover target node, wherein

the failover capacity is one of a plurality of failover capacities, and

each of the plurality of failover capacities is associated with a corresponding one of the plurality of applications,

a third set of instructions, executable on the computer system, configured to consolidate the plurality of failover capacities,

a fourth set of instructions, executable on the computer system, configured to determine whether the consolidation results in none of the plurality of failover capacities being reserved on a first node of the plurality of nodes, and

a fifth set of instructions, executable on the computer system, configured to in response to determining that the consolidation results in none of the plurality of the failover capacities being reserved on the first node, release the first node; and

a non-transitory computer-readable storage medium, wherein the instructions are encoded in the non-transitory computer-readable storage medium.

18. The computer program product of claim 17 , wherein

the plurality of instructions further comprise a sixth set of instructions that are executable on the computer system and are configured to:

determine whether the consolidating results in none of the plurality of applications executing on the first node, wherein

the releasing the first node is further performed in response to determining that the consolidation results in none of the plurality of applications executing on the first node.

19. The computer program product of claim 17 , wherein the release results in the first node being powered down.

20. The computer program product of claim 17 , wherein

the plurality of instructions further comprise a sixth set of instructions that are executable on the computer system and are configured to:

monitor the plurality of nodes, and

the plurality of instructions further comprise a seventh set of instructions that are executable on the computer system and are configured to:

detect an offlined application, wherein

the detecting is based on the monitoring, and

the consolidation is performed in response to detection of the offlined application.

Assignments (16)
SECURITY INTEREST Recorded Dec 12, 2025
From: ARCTERA US LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073951/0470 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2015
From: SYMANTEC OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 036205/0117 →