IP Library › Granted Patent US 10,432,638
Granted Patent B2
US 10,432,638 · App. 15/250,867 · Granted Oct 1, 2019

Infrastructure aware adaptive resource allocation

Inventors: Raghunath Nambiar (San Ramon, CA); Karthik Kulkarni (Fremont, CA); Rajesh Shroff (Dublin, CA); Sean Mckeown (Manitou Springs, CO)
Assignee: CISCO TECHNOLOGY, INC.
H04L63/101G06F9/455G06F9/50H04L43/0817H04L47/822H04L63/1408G06F2009/4557H04L43/08H04L67/10
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 10,432,638
App. No.
15/250,867
Granted
Oct 1, 2019
Kind
B2
Abstract

Disclosed are systems, methods, and computer-readable storage media for infrastructure aware adaptive resource allocation. A resource manager can receive a request to allocate a first container instance in a network. The resource manager can determine a set of candidate computing nodes in the network that are capable of hosting the first container instance and request, from an infrastructure monitor that received infrastructure data from the network, health metrics for the set of candidate computing nodes. The resource manager can select, based on the health metrics for the set of candidate computing nodes, an optimal computing node to host the first container instance, and allocate the first container instance on the optimal computing node.

Claims (63)

1. A method comprising:

receiving, by a resource manager of a network, a request to allocate a first container instance in the network;

determining, by the resource manager, a set of candidate computing nodes in the network that are capable of hosting the first container instance;

requesting, from an infrastructure monitor with infrastructure data from the network, health metrics for the set of candidate computing nodes with each candidate computing node in the set of candidate computing nodes classified in one of three classifications;

selecting, by the resource manager, based on the health metrics for the set of candidate computing nodes, an optimal computing node to host the first container instance; and

allocating the first container instance on the optimal computing node,

wherein,

the three classifications include a white list, a grey list, and a black list,

the white list indicates one or more of the candidate computing node are not experiencing a major problem,

the grey list indicates one or more of the candidate computing node are experiencing a minor problem, and

the black list indicates one or more of the candidate computing node are experiencing the major problem.

2. The method of claim 1 , wherein the infrastructure data includes at least one of Central Procession Unit (CPU) usage, disk usage, memory usage, computing node state, power consumption, temperature level, Tx and Rx counters, port queue lengths, tail drops, network node state, routing table changes, intrusions, or DDoS attacks.

3. The method of claim 1 , wherein selecting the optimal computing node to host the first container instance comprises:

for each candidate computing node from the set of candidate computing nodes, determining, based on the health metrics, a number of network issues associated with the candidate computing node; and

selecting a candidate computing node with a least number of network issues as the optimal computing node.

4. The method of claim 1 , wherein selecting an optimal computing node to host the first container instance comprises selecting a candidate computing node categorized in the white list.

5. The method of claim 1 , wherein selecting an optimal computing node to host the first container instance comprises:

selecting a candidate computing node with a highest health score to be the optimal computing node.

6. The method of claim 1 , further comprising:

after allocating the first container instance, requesting, from the infrastructure monitor, health metrics for computing nodes in the network;

determining, based on the health metrics, that a first computing node is experiencing a network issue; and

relocating at least one container instance hosted by the first computing node to a second computing node in the network.

7. A resource manager comprising:

one or more computer processors; and

a memory storing instructions that, when executed by the one or more computer processors, cause the resource manager to:

receive a request to allocate a first container instance in a network;

determine a set of candidate computing nodes in the network that are capable of hosting the first container instance;

request, from an infrastructure monitor with infrastructure data from the network, health metrics for the set of candidate computing nodes with each candidate computing node in the set of candidate computing nodes classified in one of three classifications;

select, based on the health metrics for the set of candidate computing nodes, an optimal computing node to host the first container instance; and

allocate the first container instance on the optimal computing node, wherein,

the three classifications include a white list, a grey list, and a black list,

the white list indicates one or more of the candidate computing node are not experiencing a major problem,

the grey list indicates one or more of the candidate computing node are experiencing a minor problem, and

the black list indicates one or more of the candidate computing node are experiencing the major problem.

8. The resource manager of claim 7 , wherein the infrastructure data includes at least one of Central Procession Unit (CPU) usage, disk usage, memory usage, computing node state, power consumption, temperature level, Tx and Rx counters, port queue lengths, tail drops, network node state, routing table changes, intrusions or DDoS attacks.

9. The resource manager of claim 7 , wherein selecting the optimal computing node to host the first container instance comprises:

for each candidate computing node from the set of candidate computing nodes, determining a health score based on a number of network issues associated with the candidate computing node; and

selecting a candidate computing node with a highest health score as the optimal computing node to host the first container instance.

10. The resource manager of claim 7 , wherein selecting an optimal computing node to host the first container instance comprises selecting a candidate computing node categorized in the white list.

11. The resource manager of claim 7 , wherein selecting an optimal computing node to host the first container instance comprises:

selecting a candidate computing node with a highest health score to be the optimal computing node.

12. The resource manager of claim 7 , wherein the instructions further cause the resource manager to:

after allocating the first container instance, request, from the infrastructure monitor, health metrics for computing nodes in the network;

determine, based on the health metrics, that a first computing node is experiencing a network issue; and

relocate at least one container instance hosted by the first computing node to a second computing node in the network.

13. A non-transitory computer-readable medium storing instructions that, when executed by a resource manager, cause the resource manager to:

receive a request to allocate a first container instance in a network;

determine a set of candidate computing nodes in the network that are capable of hosting the first container instance;

request, from an infrastructure monitor with infrastructure data from the network, health metrics for the set of candidate computing nodes with each candidate computing node in the set of candidate computing nodes classified in one of three classifications;

select, based on the health metrics for the set of candidate computing nodes, an optimal computing node to host the first container instance; and

allocate the first container instance on the optimal computing node,

wherein,

the three classifications include a white list, a grey list, and a black list,

the white list indicates one or more of the candidate computing node are not experiencing a major problem,

the grey list indicates one or more of the candidate computing node are experiencing a minor problem, and

the black list indicates one or more of the candidate computing node are experiencing the major problem.

14. The non-transitory computer-readable medium of claim 13 , wherein the infrastructure data includes at least one of Central Procession Unit (CPU) usage, disk usage, memory usage, computing node state, power consumption, temperature level, Tx and Rx counters, port queue lengths, tail drops, network node state, routing table changes, intrusions or DDoS attacks.

15. The non-transitory computer-readable medium of claim 13 , wherein selecting the optimal computing node to host the first container instance comprises:

for each candidate computing node from the set of candidate computing nodes, determining, based on the health metrics, a number of network issues associated with the candidate computing node; and

selecting a candidate computing node with a least number of network issues as the optimal computing node.

16. The non-transitory computer-readable medium of claim 13 , wherein selecting an optimal computing node to host the first container instance comprises selecting a candidate computing node categorized in the white list.

17. The non-transitory computer-readable medium of claim 13 , wherein selecting an optimal computing node to host the first container instance comprises:

selecting a candidate computing node with a highest health score to be the optimal computing node.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2016
From: NAMBIAR, RAGHUNATH; KULKARNI, KARTHIK; SHROFF, RAJESH; MCKEOWN, SEAN
To: CISCO TECHNOLOGY, INC.
Reel/Frame 039570/0076 →
Continuity (1)
Related Publication 20180063025A1 · Mar 1, 2018