IP Library Granted Patent US 8,346,752
Granted Patent B2
US 8,346,752 · App. 12/565,287 · Granted Jan 1, 2013

Software title discovery

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 8,346,752
App. No.
12/565,287
Granted
Jan 1, 2013
Kind
B2
Abstract

In a computer system that has no single place to discover all installed software applications, a software title discovery technique uses a combination of techniques to discover installed software. One of the combined techniques is an operating system predefined interface for obtaining information about installed software application; other techniques that may be employed include searching a repository of uninstall information, searching for executable files in a portion of a filesystem for the computer, and searching for executable files pointed to by other files in the filesystem of the computer system. A client/server configuration may be employed to allow collection of the software application information across a network of computers in an enterprise by a server computer system, allowing the server system to provide reports regard installed software applications.

Claims (64)

1. A method of discovering installed software applications, comprising:

performing a first software application search on a computer system, creating a first set of discovered software application information;

performing a second software application search on the computer system that is different than the first software application search, creating a second set of discovered software application information;

merging the first set of discovered software application information and the second set of discovered software application information by:

collating the first set of discovered software application information and the second set of discovered software application information into a combined set of discovered software application information,

employing a predefined set of rules to reconcile the first and second sets of discovered software application information that refer to similar software applications, creating a merged set of discovered software application information, and

removing duplicate information from the combined set of software application information; and

storing the merged set of discovered software application information,

wherein the first software application search employs an operating system defined interface for obtaining software application information.

2. The method of claim 1 , wherein the act of performing a second software application search comprises:

performing the second software application search;

filtering the second set of discovered software application information with a predefined filter associated with the second software application search.

3. The method of claim 1 , wherein the act of merging the first set of discovered software application information and the second set of discovered software application information further comprises:

filtering the combined set of discovered software application information with a predefined filter.

4. The method of claim 1 , wherein the act of performing a second software application search comprises:

searching a repository of uninstall information maintained by the operating system.

5. The method of claim 1 , wherein the act of performing a second software application search comprises:

searching a predefined portion of a filesystem on the computer system for executable programs stored in the predefined portion of the filesystem.

6. The method of claim 1 , wherein the act of performing a second software application search comprises:

searching files on the computer system that link to executable programs.

7. The method of claim 1 , wherein the act of performing a second software application search comprises:

searching files on the computer system for packaged installation programs, which include an operating environment for installing an application.

8. The method of claim 1 , wherein the combined set of software application information comprises:

a name of the software application;

a version of the software application;

a manufacturer of the software application;

a global unique identifier of the software application;

an install location of the software application;

an install date of the software application;

a label associated with the software application; and

a name of an executable program associated with the software application.

9. The method of claim 1 , further comprising:

receiving an instruction from a server computer to perform software application discovery; and

reporting the combined set of software application information to the server computer.

10. A non-transitory computer readable medium with instructions for a programmable control device stored thereon wherein the instructions cause a programmable control device to perform the method of claim 1 .

11. A networked computer system comprising:

a plurality of computers communicatively coupled, at least one of the plurality of computers programmed to perform at least a portion of the method of claim 1 wherein the entire method of claim 1 is performed collectively by the plurality of computers.

12. A method of discovering software applications, comprising:

requesting a client computer by a server computer to perform a software application discovery procedure based on a plurality of sources on the client computer;

receiving client software application information by the server computer that is derived from the plurality of sources on the client computer;

merging the client software application information by the server computer from the plurality of sources on the client computer by:

collating the client software application information into a combined set of discovered software application information,

employing a predefined set of rules to reconcile the client software application information that refers to similar software applications, and

removing duplicate information from the combined set of software application information;

storing the client software application information; and

generating reports based on the client software application information by the server computer,

wherein the plurality of sources on the client computer comprises:

a first source including an operating system defined interface for obtaining installed software application information, and

a second source including another source that is different than the first source for obtaining installed software application information.

13. The method of claim 12 , wherein the merging of the client software application information by the server computer comprises:

filtering the combined set of discovered software application information with a predefined filter.

14. The method of claim 12 , further comprising:

filtering unwanted information from the client software application information on the server computer.

15. The method of claim 12 , wherein the another source for obtaining installed software application information comprises:

a repository of software application uninstall information.

16. The method of claim 12 , wherein the another source for obtaining installed software application information comprises:

a portion of a filesystem of the client computer system designated for installed software applications.

17. The method of claim 12 , wherein the another source for obtaining installed software application information comprises:

a plurality of files in the filesystem of the client computer that link to executable programs.

18. The method of claim 12 , wherein the another source for obtaining installed software application information comprises:

a repository of software application uninstall information;

a portion of a filesystem of the client computer system designated for installed software applications; and

a plurality of files in the filesystem of the client computer that link to executable programs.

19. A non-transitory computer readable medium with instructions for a programmable control device stored thereon wherein the instructions cause a programmable control device to perform the method of claim 12 .

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2025
From: BMC SOFTWARE, INC.
To: BMC HELIX, INC.
Reel/Frame 070442/0197 →
GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0628 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0568 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052844/0646) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0408 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052854/0139) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0617 →
OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL Recorded Mar 4, 2024
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 066729/0889 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 1, 2024
From: ALTER DOMUS (US) LLC
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 066567/0283 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 30, 2021
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 057683/0582 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052844/0646 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052854/0139 →
RELEASE OF PATENTS Recorded Oct 5, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.; BMC ACQUISITION L.L.C.
Reel/Frame 047198/0468 →
SECURITY INTEREST Recorded Oct 2, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047185/0744 →
SECURITY AGREEMENT Recorded Sep 11, 2013
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 031204/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2009
From: SIROTA, JOSHUA STEPHEN; ARUNACHALAM, NARAYANAN
To: BMC SOFTWARE, INC.
Reel/Frame 023362/0317 →