Composing monolithic applications based on multi-container applications
US-10356214-B2 · Jul 16, 2019 · US
US11256554B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11256554-B2 |
| Application number | US-202016912182-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 25, 2020 |
| Priority date | May 12, 2017 |
| Publication date | Feb 22, 2022 |
| Grant date | Feb 22, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
The invention is claimed as follows: 1. A method comprising: receiving, by a scheduler with a plurality of scheduling components, a request to schedule a container to a respective host of a plurality of hosts; assigning, by the scheduler, a network complexity weight to each respective host of the plurality of hosts, wherein the network complexity weight is based on at least one of a quantity of network service ports that the container exposes, an address of the at least one network service port, and a scaling factor applied to the at least one network service port; determining, by the scheduler, a resource availability of each respective host of the plurality of hosts; and dispatching, by the scheduler, the container to a first host of the plurality of hosts based on at least one of the resource availability and the network complexity weight corresponding to the first host. 2. The method of claim 1 , further comprising removing, by the scheduler, a second host of the plurality of hosts from a pool of potential container destinations. 3. The method of claim 2 , wherein the second host has insufficient resources available for the container. 4. The method of claim 3 , wherein the resource availability includes an additional buffer amount of resources. 5. The method of claim 1 , wherein the plurality of scheduling components includes a first scheduler, a second scheduler, and a third scheduler. 6. The method of claim 5 , wherein the first scheduler assigns the network complexity weight to the first host, the second scheduler determines the resource availability of each respective host, and the third scheduler dispatches the container to a first host of the plurality of hosts. 7. The method of claim 5 , wherein each of the first scheduler, the second scheduler, and the third scheduler are configured to assign, determine and dispatch. 8. The method of claim 1 , wherein assigning the network complexity weight includes updating metadata associated with the respective host. 9. The method of claim 1 , wherein the scheduler is one of a shared-state scheduler and a cluster scheduler. 10. 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 scheduler with a plurality of scheduling components, the scheduler configured to: assign a network complexity weight to the first host, wherein the network complexity weight is based on at least one of a quantity of network service ports that the first container and the second container expose, an address of the at least one network service port, and a scaling factor applied to the at least one network service port, 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 at least one of the resource availability and network complexity weight corresponding to the second host. 11. The system of claim 10 , wherein the plurality of scheduling components includes a first scheduler, a second scheduler, and a third scheduler. 12. The system of claim 11 , wherein the first scheduler is configured to assign the network complexity weight to the first host, the second scheduler is configured to filter the plurality of hosts based on resource availability corresponding to each host of the plurality of hosts and rank the plurality of hosts based on the respective network complexity weight corresponding to each host of the plurality of hosts, and wherein the third scheduler is configured to dispatch a third container to a second host of the plurality of hosts based on at least one of the resource availability and network complexity weight corresponding to the second host. 13. The system of claim 11 , wherein each of the first scheduler, the second scheduler, and the third scheduler are configured to assign the network complexity weight to the first host, filter the plurality of hosts based on resource availability corresponding to each host of the plurality of hosts, rank the plurality of hosts based on the 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 at least one of the resource availability and network complexity weight corresponding to the second host. 14. The system of claim 10 , wherein the scheduler is one of a shared-state scheduler and a cluster scheduler. 15. The system of claim 10 , wherein the network complexity weight is further based on at least one of which network service ports are exposed by the first container and second container and a quantity of overlay networks associated with the first host. 16. The system of claim 10 , wherein resource availability includes at least one of a processor availability metric and a memory availability metric. 17. The system of claim 10 , wherein the container scheduler updates the network complexity weight corresponding to the second host after the third container is dispatched to the second host. 18. The system of claim 1 , further comprising an orchestrator, wherein the orchestrator is configured to perform at least one of (i) determine an order of container creation, (ii) coordinate container configuration to enable the first container to communicate with the second container, and (iii) pass runtime properties between the first container and the second container. 19. The system of claim 10 , wherein the first container and the second container run within a pod and are associated with a hostname, and wherein the first container and the second container are configured to be addressed as a unit using the hostname. 20. A non-transitory machine readable medium storing code, which when executed by at least one processor, causes a scheduler to: receive a request to schedule a container to a respective host of a plurality of hosts; assign a network complexity weight to each respective host of the plurality of hosts, wherein the network complexity weight is based on at least one of a quantity of network service ports that the container exposes, an address of the at least one network service port, and a scaling factor applied to the at least one network service port; determine a resource availability of each respective host of the plurality of hosts; and dispatch the container to a first host of the plurality of hosts based on at least one of the resource availability and the network complexity weight corresponding to the first host.
Techniques for rebalancing the load in a distributed system · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.