Implementing a logically partitioned data warehouse using a container map
US-2017116278-A1 · Apr 27, 2017 · US
US10346189B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10346189-B2 |
| Application number | US-201615368852-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 5, 2016 |
| Priority date | Dec 5, 2016 |
| Publication date | Jul 9, 2019 |
| Grant date | Jul 9, 2019 |
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.
Co-locating containers based on source to improve compute density is disclosed. For example, a repository stores image files associated with metadata. A scheduler receives a request to launch a container using an image file having a source. The container is launched in a host with a first version of first and second container components loaded to a host memory. A request to launch another container using another image file having the source is received. This container includes the first version of first and third container components, and is launched in the host. The first version of the third container component is loaded to the host memory. A request to launch a third container using a third image file having a different source is received, and is launched in the second host, including a second version of the first, second and third container components, all loaded to a second host memory.
Opening claim text (preview).
The invention is claimed as follows: 1. A system comprising: a repository storing: a first plurality of image files associated with a respective first plurality of metadata, the first plurality of image files including at least a first image file associated with first metadata and a second image file associated with second metadata; and a third image file associated with third metadata; a first host associated with a first host memory; a second host associated with a second host memory; one or more processors; and a scheduler executing on the one or more processors to: receive a request to launch a first container using the first image file, wherein the first metadata includes a first source; launch the first container in the first host, wherein the first container includes a first version of a first container component and a first version of a second container component, and the first host memory is associated with a first host operating system that is associated with the first source; load the first version of the first container component and the first version of the second container component to the first host memory, wherein the first container includes a third container component, the first host determines that the third container component has a same identifying signature as a host operating system component already loaded in the first host memory, and the first container maps the host operating system component in the first host memory as the third container component; receive a request to launch a second container using the second image file; determine that the second metadata includes the first source; responsive to determining that the second metadata includes the first source, launch the second container in the first host, wherein the second container includes the first version of the first container component and a first version of a fourth container component, and the first container and the second container share a same copy of the first version of the first container component in the first host memory, which was loaded by the first container; load the first version of the fourth container component to the first host memory; receive a request to launch a third container using the third image file; determine that the third metadata includes a second source, wherein the second source is different from the first source; responsive to determining that the third metadata includes the second source, launch the third container in the second host, wherein the third container includes a second version of the first container component, a second version of the second container component, and a second version of the fourth container component; and load the second version of the first container component, the second version of the second container component, and the second version of the fourth container component to the second host memory. 2. The system of claim 1 , wherein the first plurality of image files at least one of (i) cooperate to perform a common function, (ii) cooperate to perform an aggregated function, and (iii) are associated with the respective first plurality of metadata, each metadata of which includes the first source. 3. The system of claim 1 , wherein the third image file is a member of a second plurality of image files associated with a respective second plurality of metadata, each metadata of which includes the second source. 4. The system of claim 3 , wherein the scheduler launches a fourth container with a fourth image file in the second host, the fourth image file being associated with fourth metadata that includes the second source. 5. The system of claim 1 , wherein the first metadata is exclusively associated with the first source. 6. The system of claim 1 , wherein the first source is associated with the first container component. 7. The system of claim 6 , wherein the scheduler launches a fourth container with a fourth image file on the first host, and wherein the fourth image file is associated with fourth metadata, which includes the first source. 8. The system of claim 7 , wherein the first source is associated with the first container component in the fourth metadata, and a third source is associated with the second container component in the fourth metadata. 9. The system of claim 8 , wherein a third version of the second container component is loaded to the first host memory. 10. The system of claim 7 , wherein the first source is associated with the first container component in the fourth metadata, and the second source, is associated with the second container component in the fourth metadata, and the scheduler launches the fourth container in the first host memory based on a comparison of at least one of (i) a first size of the first container component and a second size of the second container component, (ii) a first aggregate size of components associated with the first source and a second aggregated size of components associated with the second source in the fourth metadata, (iii) a first quantity of components associated with the first source and a second quantity of components associated with the second source in the fourth metadata, and (iv) a first remaining capacity of the first host memory and a second remaining capacity of the second host memory. 11. The system of claim 1 , wherein an identifying signature of at least one of an image file and a container component is associated with the first source. 12. The system of claim 1 , wherein the scheduler launches a fourth container with the first image file in the first host. 13. A method of assigning containers to hosts, the method comprising: receiving a request to launch a first container using a first image file, wherein the first image file is associated with first metadata, the first metadata including a first source; launching the first container in a first host, wherein the first container includes a first version of a first container component and a first version of a second container component, and a first host memory is associated with a first host operating system that is associated with the first source; loading the first version of the first container component, and the first version of the second container component to the first host memory, wherein the first container includes a third container component, the first host determines that the third container component has a same identifying signature as a host operating system component already loaded in the first host memory, and the first container maps the host operating system component in the first host memory as the third container component; receiving a request to launch a second container using a second image file, wherein the second image file is associated with second metadata; determining that the second metadata includes the first source; responsive to determining that the second metadata includes the first source, launching the second container in the first host, wherein the second container includes the first version of the first container component and a first version of the fourth container component, and the first container and the second container share a same copy of the first version of the first container component in the first host memory, which was loaded by the first container; loading the first version of the fourth container component to the first host memory; receiving a request to launch a third container using a third image file, wherein the third image file is associated with third metadata; determining that the third metadata includes a second source, wherein the second source is different from the first source; responsive to determining th
Network integration; Enabling network access in virtual machine instances · CPC title
Allocation of resources, e.g. of the central processing unit [CPU] · CPC title
considering data affinity · CPC title
Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox · CPC title
Distribution of virtual machine instances; Migration and load balancing · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.