|
Application recognition is an essential step in determining what software has been installed and/or used in an organization and how this relates to the licensing terms of the software owned by the organization. Applications installed on a computer are recognized from “raw” evidence collected from computers throughout the organization from a range of sources. For example, on computers running Microsoft Windows these sources include Add/Remove Program entries, MSI database entries, file header information, registry information and WMI information. There are corresponding data sources on other operating systems.
Within an enterprise, raw evidence is collected by one or more discovery and inventory tools and loaded into a central database. The primary requirements for application recognition are:
- Accurate recognition of software against standardized application titles. Standardized application titles are required for later reconciliation against software licenses.
- Maintain the association between application titles and computers/users for which it is installed so that different licensing models can be applied.
- In many cases hardware information needs to be collected for proper license reconciliation. An example is hardware information needed for processor based licensing.
The first challenge arises because there is a large amount of raw evidence that is either incomplete or inconsistent with other evidence. Software evidence often has non-standard names, and missing or incorrect version information.
The second challenge is that a large amount of data can be ignored for licensing purposes, such as drivers, hotfixes, and operating system files.
The third challenge is that there are differences between the way software is sold and packaged. For example the software may have been packaged as several applications, but then sold as a suite. Some vendors have sold distinct applications where the executables have the same name. These lead to complex application recognition rules.
Other challenges for accurate software recognition include:
- Eliminating duplicate and/or discarded computers from licensing calculations
- Products where there are multiple versions numbers that are all valid under the same license
- Products that have poor installer cleanup routines which make it appear that an application is still installed even after it has been removed or upgraded.
The net result is that application recognition requires extensive processing of raw evidence to get useful application information for licensing purposes.
The complexity of application recognition means that application recognition cannot be processed by heuristic mechanisms. Enterprise scale application recognition for software license management requires a comprehensive application recognition library with sophisticated rules to resolve the incompleteness and inconsistency in the raw data, distinguishing the data that is required from what can be ignored and the way individual applications are packaged and licensed.
I have met software asset managers trying to do application recognition manually and making little progress. My advice is to use a tool that meets the requirements and addresses the challenges above and you will make a major step forward in your SAM program.
|