IP Library › Granted Patent US 11,163,557
Granted Patent B2
US 11,163,557 · App. 16/677,991 · Granted Nov 2, 2021

Automated techniques for detecting the usage of software applications in a computing environment using configuration objects

Inventors: Adam Babol (Lubartow, PL); Adam Dyszy (Wodzislaw Slaski, PL); Joanna Wawrzyczek (Krakó, PL); Jakub B. Moor (Olkusz, PL); Michal Kmak (Cracow, PL)
Assignee: International Business Machines Corporation
G06F8/71G06F8/60H04L67/34
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 11,163,557
App. No.
16/677,991
Granted
Nov 2, 2021
Kind
B2
Abstract

The systems and methods provided herein provide techniques for discovering applications installed in a cluster-based computing environment. A catalog of signatures is obtained. One or more clusters are scanned to obtain information about configuration parameters in the one or more clusters. The catalog of signatures is compared with the information from scanning comprising configuration parameters to identify software applications installed on a per-cluster basis.

Claims (38)

1. A method for detecting a software application installed in a computing environment, the method comprising:

obtaining a catalog of signatures and constructing at least one signature for the catalog of signatures based on configuration information of installed software by a machine learning system trained with a training set of signatures from the catalog of signatures;

scanning configuration objects of the computing environment to obtain configuration parameters corresponding to software applications provisioned in the computing environment, wherein the configuration parameters include volumes in which to place configuration files, environmental variables placed inside a container, and configuration maps; and

comparing the catalog of signatures to the configuration parameters to determine the software applications provisioned in the computing environment.

2. The method of claim 1 , wherein the computing environment is a cluster-based computing environment comprising one or more clusters.

3. The method of claim 2 , wherein the method further comprises:

redistributing the determined software applications across different clusters to optimize processing.

4. The method of claim 2 , further comprising:

determining which pods in the one or more clusters use objects associated with particular configuration parameters; and

comparing outputs of the pods to the catalog of signatures to identify the software applications.

5. The method of claim 2 , wherein the cluster-based computing environment comprises a kubernetes cluster or a nomad cluster.

6. The method of claim 1 , wherein the software applications are packaged in a container.

7. The method of claim 1 , wherein the catalog of signatures includes information comprising volumes, commands, configuration parameters, or secrets corresponding to the software applications.

8. A system for detecting a software application installed in a computing environment comprising one or more processors configured to:

obtain a catalog of signatures and construct at least one signature for the catalog of signatures based on configuration information of installed software by a machine learning system trained with a training set of signatures from the catalog of signatures;

scan configuration objects of the computing environment to obtain configuration parameters corresponding to software applications provisioned in the computing environment, wherein the configuration parameters include volumes in which to place configuration files, environmental variables placed inside a container, and configuration maps; and

compare the catalog of signatures to the configuration parameters to determine the software applications provisioned in the computing environment.

9. The system of claim 8 , wherein the computing environment is a cluster-based computing environment comprising one or more clusters.

10. The system of claim 9 , wherein the one or more processors are further configured to:

redistribute the determined software applications across different clusters to optimize processing.

11. The system of claim 9 , wherein the one or more processors are further configured to:

determine which pods in the one or more clusters use objects associated with particular configuration parameters; and

compare outputs of the pods to the catalog of signatures to identify the software applications.

12. The system of claim 9 , wherein the cluster-based computing environment comprises a kubernetes cluster or a nomad cluster.

13. The system of claim 8 , wherein the software applications are packaged in a container.

14. The system of claim 8 , wherein the catalog of signatures includes information comprising volumes, commands, configuration parameters, or secrets corresponding to the software applications.

15. A computer program product for detecting a software application installed in a computing environment, the computer program product comprising one or more computer readable storage media collectively having program instructions embodied therewith, the program instructions executable by a processor to:

obtain a catalog of signatures and construct at least one signature for the catalog of signatures based on configuration information of installed software by a machine learning system trained with a training set of signatures from the catalog of signatures;

scan configuration objects of the computing environment to obtain configuration parameters corresponding to software applications provisioned in the computing environment, wherein the configuration parameters include volumes in which to place configuration files, environmental variables placed inside a container, and configuration maps; and

compare the catalog of signatures to the configuration parameters to determine the software applications provisioned in the computing environment.

16. The computer program product of claim 15 , wherein the computing environment is a cluster-based computing environment comprising one or more clusters.

17. The computer program product of claim 16 , wherein the program instructions are executable to:

redistribute the determined software applications across different clusters to optimize processing.

18. The computer program product of claim 16 , wherein the program instructions are executable to:

determine which pods in the one or more clusters use objects associated with particular configuration parameters; and

compare outputs of the pods to the catalog of signatures to identify the software applications.

19. The computer program product of claim 15 , wherein the software applications are packaged in a container.

20. The computer program product of claim 15 , wherein the catalog of signatures includes information comprising volumes, commands, configuration parameters, or secrets corresponding to the software applications.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2019
From: BABOL, ADAM; DYSZY, ADAM; WAWRZYCZEK, JOANNA; MOOR, JAKUB B.; KMAK, MICHAL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 050956/0735 →
Continuity (1)
Related Publication 20210141636A1 · May 13, 2021
Cited By (3)
US 12,254,315 US 12,373,223 US 12,449,789