Application discovery in virtual machines using temporal clustering of installation files

US9916171B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9916171-B2
Application numberUS-201414327917-A
CountryUS
Kind codeB2
Filing dateJul 10, 2014
Priority dateJul 10, 2014
Publication dateMar 13, 2018
Grant dateMar 13, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In an approach for detecting one or more applications in a VM, one or more processors establish a time duration. One or more processors detect two or more files, each file in the two or more files having a time stamp time that differs from a last modified time stamp time of at least one other file in the two or more files by no more than the time duration. One or more processors record an identifier for each file of the two or more files, a location, a name, and a last modified time stamp time of each file of the two or more files. One or more processors map the two or more files to an application installed on the VM.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for detecting one or more applications in a virtual machine, the method comprising: establishing, by one or more processors, a time duration with (i) a starting point that is based, at least in part, on a time stamp of a youngest file of a set of files and (ii) an end point that is separated from the starting point by a predetermined period of time; detecting, by the one or more processors, two or more different files in the set of files, wherein (i) the two or more files are identified based, at least in part, on a content of an image of a virtual machine, wherein (ii) a first file in the two or more files has a last modified time stamp time that differs from a last modified time stamp time of a second file in the two or more files by no more than the time duration, and (iii) the first file is part of the first application and the second file is part of a second application, wherein installation of the first application altered a content of the second file; recording, by the one or more processors, an identifier for each file of the two or more files and a location, a name, and a last modified time stamp time of each file of the two or more files; mapping, by the one or more processors, the two or more files to the first application; and determining, by the one or more processors, an identity of the first application installed on the VM based, at least in part, on the mapping. 2. The method of claim 1 , wherein one or more of (i) the mapping is executed using a machine learning approach that leverages historical data, wherein the historical data includes previous mappings of files to applications, (ii) the first application is installed on the virtual machine, and (iii) the second application is an operating system application. 3. The method of claim 1 , further comprising: sorting, by one or more processors, files included in the set of files from oldest to youngest based on age, wherein an age of a given file in the set of files is determined by a subtraction of a time of a last modified time stamp associated with the given file from a current time that is held constant during the sorting. 4. The method of claim 1 , further comprising the step of recording a group identifier for the two or more files, wherein the group identifier comprises an identifier, a location, a name, and a last modified timestamp of each of the two or more files. 5. The method of claim 1 , further comprising: clustering, by one or more processors, the two or more different files into a cluster file based on respective ages of the two or more different files, wherein a given file included in the cluster file is within a time duration of a last modified time stamp of at least one other file in the cluster file. 6. The method of claim 3 , wherein the step of establishing, by one or more processors, a time duration comprises dynamically determining the time duration automatically by inspection of a distribution of last modified time stamp times of the sorted files. 7. A computer program product for detecting one or more applications in a virtual machine, the computer program product comprising: one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising: program instructions to establish a time duration with (i) a starting point that is based, at least in part, on a time stamp of a youngest file of a set of files and (ii) an end point that is separated from the starting point by a predetermined period of time; program instructions to detect two or more different files in the set of files, wherein (i) the two or more files are identified based, at least in part, on a content of an image of a virtual machine, wherein (ii) a first file in the two or more files has a last modified time stamp time that differs from a last modified time stamp time of a second file in the two or more files by no more than the time duration, and (iii) the first file is part of the first application and the second file is part of a second application, wherein installation of the first application altered a content of the second file; program instructions to record an identifier for each file of the two or more files and a location, a name, and a last modified time stamp time of each file of the two or more files; program instructions to map the two or more files to the first application; and program instructions to determine an identity of the first application installed on the VM based, at least in part, on the mapping. 8. The computer program product of claim 7 , wherein one or more of (i) the mapping of the two or more files to the first application is executed using a machine learning approach that leverages historical data, wherein the historical data includes previous mappings of files to applications, (ii) the first application is installed on the virtual machine, and (iii) the second application is an operating system application. 9. The computer program product of claim 7 , further comprising: program instructions to sort files included in the set of files from oldest to youngest based on age, wherein an age of a given file in the set of files is determined by a subtraction of a time of a last modified time stamp associated with the given file from a current time that is held constant during the sorting. 10. The computer program product of claim 7 , further comprising: program instructions to record a group identifier for the two or more files, wherein the group identifier comprises an identifier, a location, a name, and a last modified timestamp of each of the two or more files. 11. The computer program product of claim 7 , further comprising: program instructions to cluster the two or more different files into a cluster file based on respective ages of the two or more different files, wherein a given file included in the cluster file is within a time duration of a last modified time stamp of at least one other file in the cluster file. 12. The computer program product of claim 9 , wherein the program instructions to establish a time duration comprise: program instructions to dynamically determine the time duration automatically by inspection of a distribution of last modified time stamp times of the sorted files. 13. A computer system for detecting one or more applications in a virtual machine, the computer system comprising: one or more computer processors, one or more computer readable storage media, and program instructions stored on the computer readable storage media for execution by at least one of the one or more processors, the program instructions comprising: program instructions to establish a time duration with (i) a starting point that is based, at least in part, on a time stamp of a youngest file of a set of files and (ii) an end point that is separated from the starting point by a predetermined period of time; program instructions to detect two or more different files in the set of files, wherein (i) the two or more files are identified based, at least in part, on a content of an image of a virtual machine, wherein (ii) a first file in the two or more files has a last modified time stamp time that differs from a last modified time stamp time of a second file in the two or more files by no more than the time duration, and (iii) the first file is part of the first application and the second file is part of a second application, wherein installation of the first application altered a content of the second file; program instructions to record an identifier for each file of the two or more files and a location, a name, and a last modified ti

Assignees

Inventors

Classifications

  • Hypervisors; Virtual machine monitors · CPC title

  • Installation · CPC title

  • Software deployment · CPC title

  • Version control (security arrangements therefor G06F21/57); Configuration management · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9916171B2 cover?
In an approach for detecting one or more applications in a VM, one or more processors establish a time duration. One or more processors detect two or more files, each file in the two or more files having a time stamp time that differs from a last modified time stamp time of at least one other file in the two or more files by no more than the time duration. One or more processors record an ident…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/45533. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 13 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).