IP Library › Granted Patent US 10,169,056
Granted Patent B2
US 10,169,056 · App. 15/252,681 · Granted Jan 1, 2019

Effective management of virtual containers in a desktop environment

Inventors: Giuseppe Ciano (Rome, IT); Luigi Pichetti (Rome, IT)
Assignee: International Business Machines Corporation
G06F9/452G06F8/61G06F9/45558G06F2009/45591
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,169,056
App. No.
15/252,681
Granted
Jan 1, 2019
Kind
B2
Abstract

A method and system are provided for identifying installed software components in a container running in a virtual execution environment. The container is created by instantiating image data. The method includes determining a respective identifier for each of individual layers of a layered structure of the image data. The method further includes retrieving from a repository storage arrangement, information identifying at least one of the installed software components in the container, based on the respective identifier for at least one of the individual layers.

Claims (44)

1. A method for identifying installed software components in a container running in a virtual execution environment, wherein the container is created by instantiating image data, the method comprising:

determining a respective identifier for each of individual layers of a layered structure of the image data;

retrieving from a repository storage arrangement storing information for non-container-based software and container-based software, the information for the container-based software identifying at least one of the installed software components in the container based on the respective identifier for at least one of the individual layers;

forming, from the information stored in the repository storage arrangement, a displayable data structure allowing row filtering for software management and at least specifying as a respective row in the displayable data structure, for each of the installed software components, (i) a type as one of the non-container-based software or the container-based software, (ii) a virtual machine and an operating system corresponding thereto, and (iii) an operating status of started or stopped; and

displaying, on a display device, the displayable data structure.

2. The method of claim 1 , further comprising:

determining an existence, in the repository storage arrangement, of information about the installed software components, using the respective identifier for each of the individual layers;

inspecting the container to generate the information about the installed software components when the information is absent from the repository storage arrangement; and

storing the generated information about the installed software components in the repository storage arrangement.

3. The method of claim 2 , wherein inspecting the container includes analyzing metadata associated with the image data related to the container.

4. The method of claim 2 , wherein inspecting the container includes analyzing the image data in a file system tree.

5. The method of claim 1 , further comprising ascertaining whether the container shares any of the individual layers with another container.

6. The method of claim 5 , further comprising discovering information about the other container responsive to a result of said ascertaining step.

7. The method of claim 6 , wherein the information about the other container comprises installed software components in the other container.

8. The method of claim 1 , wherein the at least one installed software component in the container is selected from the group consisting of an operating system and an application.

9. The method of claim 8 , wherein the operating system is different than a host operating system.

10. The method of claim 1 , wherein the method is performed for each of a plurality of containers in the virtual execution environment.

11. A computer program product for identifying installed software components in a container running in a virtual execution environment, wherein the container is created by instantiating image data, the computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to perform a method comprising:

determining a respective identifier for each of individual layers of a layered structure of the image data;

retrieving from a repository storage arrangement storing information for non-container-based software and container-based software, the information for the container-based software identifying at least one of the installed software components in the container, based on the respective identifier for at least one of the individual layers;

forming, from the information stored in the repository storage arrangement, a displayable data structure allowing row filtering for software management and at least specifying as a respective row in the displayable data structure, for each of the installed software components, (i) a type as one of the non-container-based software or the container-based software, (ii) a virtual machine and an operating system corresponding thereto, and (iii) an operating status of started or stopped; and

displaying, on a display device of the computer, the displayable data structure.

12. The computer program product of claim 11 , wherein the method further comprises:

determining an existence, in the repository storage arrangement, of information about the installed software components, using the respective identifier for each of the individual layers;

inspecting the container to generate the information about the installed software components when the information is absent from the repository storage arrangement; and

storing the generated information about the installed software components in the repository storage arrangement.

13. The computer program product of claim 12 , wherein inspecting the container includes analyzing metadata associated with the image data related to the container.

14. The computer program product of claim 12 , wherein inspecting the container includes analyzing the image data in a file system tree.

15. The computer program product of claim 11 , wherein the method further comprises ascertaining whether the container shares any of the individual layers with another container.

16. The computer program product of claim 15 , wherein the method further comprises discovering information about the other container responsive to a result of said ascertaining step.

17. The computer program product of claim 16 , wherein the information about the other container comprises installed software components in the other container.

18. A system for identifying installed software components in a container running in a virtual execution environment, wherein the container is created by instantiating image data, the system comprising:

a processor, configured to:

determine a respective identifier for each of individual layers of a layered structure of the image data;

retrieve from a repository storage arrangement storing information for non-container-based software and container-based software, the information for the container-based software identifying at least one of the installed software components in the container, based on the respective identifier for at least one of the individual layers; and

form, from the information stored in the repository storage arrangement, a displayable data structure allowing row filtering for software management and at least specifying as a respective row in the displayable data structure, for each of the installed software components, (i) a type as one of the non-container-based software or the container-based software, (ii) a virtual machine and an operating system corresponding thereto, and (iii) an operating status of started or stopped; and

a display device configured to display the displayable data structure.

19. The system of claim 18 , wherein the processor is further configured to:

determine an existence, in the repository storage arrangement, of information about the installed software components, using the respective identifier for each of the individual layers;

inspect the container to generate the information about the installed software components when the information is absent from the repository storage arrangement; and

store the generated information about the installed software components in the repository storage arrangement.

20. The system of claim 18 , wherein the processor is further configured to:

ascertain whether the container shares any of the individual layers with another container; and

discover information about the other container responsive to a result of said ascertaining step, wherein the information about the other container comprises installed software components in the other container.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2016
From: CIANO, GIUSEPPE; PICHETTI, LUIGI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039601/0927 →
Continuity (1)
Related Publication 20180060091A1 · Mar 1, 2018