IP Library › Granted Patent US 10,613,885
Granted Patent B2
US 10,613,885 · App. 15/441,526 · Granted Apr 7, 2020

Portable aggregated information calculation and injection for application containers

Inventors: Lior Aronovich (Thornhill, CA); Shibin I. Ma (Scarborough, CA)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F9/45545
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,613,885
App. No.
15/441,526
Granted
Apr 7, 2020
Kind
B2
Abstract

Embodiments for aggregated information calculation and injection for application containers by one or more processors. Prior to commencing execution of an application inside a working container, a temporary container having an equivalent application template or container template as the working container is started. Relevant information from inside the temporary container and relevant information from a host associated with the application is extracted. Aggregated information is calculated based on the extracted relevant information from inside the temporary container and from the host.

Claims (54)

1. A method for aggregated information calculation and injection for application containers, by a processor device, comprising:

prior to commencing execution of an application inside a working container:

starting a temporary container having an equivalent application template or container template as the working container;

instantiating and executing a first instance of the application inside the temporary container;

extracting relevant information obtained during execution of the first application instance from inside the temporary container and relevant information from a host associated with the application;

calculating aggregated information based on the extracted relevant information from inside the temporary container and from the host; and

commencing execution of a second instance of the application and injecting the calculated aggregated information into the working container using data volumes mounted into the working container; wherein the data volumes are shared with the host and include file permissions and access control rules associated with the data volumes as defined by the host.

2. The method of claim 1 , wherein the calculated aggregated information comprises configuration information, run time information and characteristics of the application; and is stored by an information injection agent; and

the application template comprises a specification of the container template, information for launching one of more of the application containers based on the container template, and further information.

3. The method of claim 2 , further including performing at least one of:

caching the relevant information extracted from inside the temporary container; and

determining a disk consumption of the cached relevant information, wherein if the disk consumption exceeds a predetermined size threshold, using certain heuristics to exclude less required cached information to bring the disk consumption of the cached relevant information below the predetermined size threshold.

4. The method of claim 1 , further including, while calculating the aggregated information, enabling a time guard component to ensure the relevant information extracted from inside the temporary container is current by performing at least one of:

implementing a timer associated with a data age of the relevant information extracted from the temporary container; and

extrapolating certain properties of the relevant information extracted from inside the temporary container according to a time-dependent logic.

5. The method of claim 1 , wherein the relevant information extracted from the host is collected from a host information data source, including at least one of:

host static configuration files, local databases, environment variables, shared directories, and running processes or commands that provide data of the host.

6. The method of claim 1 , further including weighting an importance of each of the relevant information extracted from inside the temporary container and the relevant information extracted from the host, wherein upon calculating the aggregated information, one of an overwrite mode selection and a merge mode selection is used when performing the aggregating depending on the weight of the importance determined.

7. A system for aggregated information calculation and injection for application containers, the system comprising:

a processor device executing instructions stored in a memory, wherein the processor device, prior to commencing execution of an application inside a working container:

starts a temporary container having an equivalent application template or container template as the working container;

instantiates and executes a first instance of the application inside the temporary container;

extracts relevant information obtained during execution of the first application instance from inside the temporary container and relevant information from a host associated with the application;

calculates aggregated information based on the extracted relevant information from inside the temporary container and from the host; and

commences execution of a second instance of the application and injects the calculated aggregated information into the working container using data volumes mounted into the working container; wherein the data volumes are shared with the host and include file permissions and access control rules associated with the data volumes as defined by the host.

8. The system of claim 7 , wherein the calculated aggregated information comprises configuration information, run time information and characteristics of the application; and is stored by an information injection agent; and

the application template comprises a specification of the container template, information for launching one of more of the application containers based on the container template, and further information.

9. The system of claim 8 , wherein the processor device performs at least one of:

caching the relevant information extracted from inside the temporary container; and

determining a disk consumption of the cached relevant information, wherein if the disk consumption exceeds a predetermined size threshold, using certain heuristics to exclude less required cached information to bring the disk consumption of the cached relevant information below the predetermined size threshold.

10. The system of claim 7 , wherein the processor device, while calculating the aggregated information, enables a time guard component to ensure the relevant information extracted from inside the temporary container is current by performing at least one of:

implementing a timer associated with a data age of the relevant information extracted from the temporary container; and

extrapolating certain properties of the relevant information extracted from inside the temporary container according to a time-dependent logic.

11. The system of claim 7 , wherein the relevant information extracted from the host is collected from a host information data source, including at least one of:

host static configuration files, local databases, environment variables, shared directories, and running processes or commands that provide data of the host.

12. The system of claim 7 , wherein the processor device weights an importance of each of the relevant information extracted from inside the temporary container and the relevant information extracted from the host, wherein upon calculating the aggregated information, one of an overwrite mode selection and a merge mode selection is used when performing the aggregating depending on the weight of the importance determined.

13. A computer program product for aggregated information calculation and injection for application containers, by a processor device, the computer program product embodied on a non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising:

an executable portion that, prior to commencing execution of an application inside a working container:

starts a temporary container having an equivalent application template or container template as the working container;

instantiates and executes a first instance of the application inside the temporary container;

extracts relevant information obtained during execution of the first application instance from inside the temporary container and relevant information from a host associated with the application;

calculates aggregated information based on the extracted relevant information from inside the temporary container and from the host; and

commences execution of a second instance of the application and injects the calculated aggregated information into the working container using data volumes mounted into the working container; wherein the data volumes are shared with the host and include file permissions and access control rules associated with the data volumes as defined by the host.

14. The computer program product of claim 13 , wherein the calculated aggregated information comprises configuration information, run time information and characteristics of the application; and is stored by an information injection agent; and

the application template comprises a specification of the container template, information for launching one of more of the application containers based on the container template, and further information.

15. The computer program product of claim 14 , further including an executable portion that performs at least one of:

caching the relevant information extracted from inside the temporary container; and

determining a disk consumption of the cached relevant information, wherein if the disk consumption exceeds a predetermined size threshold, using certain heuristics to exclude less required cached information to bring the disk consumption of the cached relevant information below the predetermined size threshold.

16. The computer program product of claim 13 , further including an executable portion that, while calculating the aggregated information, enables a time guard component to ensure the relevant information extracted from inside the temporary container is current by performing at least one of:

implementing a timer associated with a data age of the relevant information extracted from the temporary container; and

extrapolating certain properties of the relevant information extracted from inside the temporary container according to a time-dependent logic.

17. The computer program product of claim 13 , wherein the relevant information extracted from the host is collected from a host information data source, including at least one of:

host static configuration files, local databases, environment variables, shared directories, and running processes or commands that provide data of the host.

18. The computer program product of claim 13 , further including an executable portion that weights an importance of each of the relevant information extracted from inside the temporary container and the relevant information extracted from the host, wherein upon calculating the aggregated information, one of an overwrite mode selection and a merge mode selection is used when performing the aggregating depending on the weight of the importance determined.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2017
From: ARONOVICH, LIOR; MA, SHIBIN I.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 041368/0325 →
Continuity (1)
Related Publication 20180246745A1 · Aug 30, 2018