IP Library Granted Patent US 10,705,881
Granted Patent B2
US 10,705,881 · App. 15/593,744 · Granted Jul 7, 2020

Reducing overlay network overhead across container hosts

Inventors: Huamin Chen (Westborough, MA); Jay Vyas (Concord, MA)
Assignee: Red Hat, Inc.
G06F9/5083
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,705,881
App. No.
15/593,744
Granted
Jul 7, 2020
Kind
B2
Abstract

A system for reducing overlay network overhead includes a memory, a processor in communication with the memory, a first container and a second container running on a first host, and a container scheduler executing on the processor. Each of the first container and second container expose a network service port(s). The container scheduler executes on the processor to assign a network complexity weight to the first host. The network complexity weight is based on a quantity of network service ports that the first container and the second container expose. The container scheduler also filters hosts based on resource availability corresponding to each host and ranks the hosts based on a respective network complexity weight corresponding to each host. Additionally, the container scheduler dispatches a third container to a second host based on the resource availability and network complexity weight corresponding to the second host.

Claims (37)

1. A method comprising:

exposing, by each of a first container and a second container, at least one network service port, wherein the first container and second container are running on a first host;

assigning, by a container scheduler, a network complexity weight to the first host, wherein the network complexity weight is based on a quantity of network service ports that the first container and the second container expose;

filtering, by the container scheduler, a plurality of hosts based on resource availability corresponding to each host of the plurality of hosts;

ranking, by the container scheduler, the plurality of hosts based on a respective network complexity weight corresponding to each host of the plurality of hosts; and

dispatching, by the container scheduler, a third container to a second host of the plurality of hosts based on the resource availability and the network complexity weight corresponding to the second host.

2. The method of claim 1 , wherein resource availability includes at least one of a processor availability metric and a memory availability metric.

3. The method of claim 2 , wherein the memory availability metric is a random-access memory availability metric.

4. The method of claim 1 , wherein the first host and the second host are on different physical processors.

5. The method of claim 1 , wherein the network complexity weight is further based on which network service ports are exposed by the first container and second container.

6. The method of claim 1 , wherein the container scheduler updates the network complexity weight corresponding to the second host after the third container is dispatched to the second host.

7. The method of claim 1 , further comprising starting, by an orchestrator, the third container.

8. The method of claim 1 , further comprising determining, by the container scheduler, the network complexity weight of the first host.

9. A system comprising:

a memory;

at least one processor in communication with the memory;

a first container and a second container running on a first host, wherein each of the first container and second container expose at least one network service port; and

a container scheduler executing on the at least one processor, wherein the container scheduler executes on the at least one processor to:

assign a network complexity weight to the first host, wherein the network complexity weight is based on a quantity of network service ports that the first container and the second container expose,

filter a plurality of hosts based on resource availability corresponding to each host of the plurality of hosts,

rank the plurality of hosts based on a respective network complexity weight corresponding to each host of the plurality of hosts, and

dispatch a third container to a second host of the plurality of hosts based on the resource availability and network complexity weight corresponding to the second host.

10. The system of claim 9 , wherein the first host and the second host are on different physical processors.

11. The system of claim 9 , wherein the network complexity weight is further based on which network service ports are exposed by the first container and second container.

12. The system of claim 9 , wherein resource availability includes at least one of a processor availability metric and a memory availability metric.

13. The system of claim 9 , wherein the memory availability metric is a random-access memory availability metric.

14. The system of claim 9 , wherein the container scheduler updates the network complexity weight corresponding to the second host after the third container is dispatched to the second host.

15. The system of claim 9 , further comprising an orchestrator, wherein the orchestrator starts the third container.

16. The system of claim 9 , wherein the container scheduler executes on the at least one processor to determine the network complexity weight of the first host.

17. A non-transitory machine readable medium storing code, which when executed by at least one processor, causes a container scheduler to:

assign a network complexity weight to a first host, wherein the network complexity weight is based on a quantity of network service ports that a first container and a second container running on the first host expose;

filter a plurality of hosts based on resource availability corresponding to each host of the plurality of hosts;

rank the plurality of hosts based on a respective network complexity weight corresponding to each host of the plurality of hosts; and

dispatch a third container to a second host of the plurality of hosts based on the resource availability and the network complexity weight corresponding to the second host.

18. The non-transitory machine readable medium of claim 17 , wherein the first host and the second host are on different physical processors.

19. The non-transitory machine readable medium of claim 17 , wherein the network complexity weight is further based on which network service ports are exposed by the first container and second container.

20. The non-transitory machine readable medium of claim 17 , wherein resource availability includes at least one of a processor availability metric and a memory availability metric.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2017
From: CHEN, HUAMIN; VYAS, JAY
To: RED HAT, INC.
Reel/Frame 042356/0488 →
Continuity (1)
Related Publication 20180331969A1 · Nov 15, 2018