US 8646093 Method and system for configuration management database software license compliance
ABSTRACT – A software license engine allows an enterprise to model software license contracts and evaluate deployment of software for compliance with the software license contracts. Deployment of software products in the enterprise is modeled in a configuration management database. The software license engine maintains a license database for connecting software license contracts with software deployment modeled by the configuration management database. Users of the software license engine may use license types that are predefined in the software license engine or may define custom license types. The software license engine may indicate compliance or non-compliance with the software license contracts.
This disclosure relates generally to the field of ITIL®-based (Information Technology Infrastructure Library) Configuration Management Databases (CMDBs). (ITIL is a registered trademark of The Lords Commissioners of Her Majesty’s Treasury acting through The Office of Government Commerce and Central Computer and Telecommunications Agency, United Kingdom.) ITIL-based CMDBs are emerging as a prominent technology for Enterprise Management Software.
The usefulness of these CMDBs is dependent on the quality, reliability, and security of the data stored in them. A CMDB often contains data about managed resources known as Configuration Items (CIs). ITIL version 3 defines a CI as “Any Component that needs to be managed in order to deliver an IT Service. Information about each CI is recorded in a Configuration Record within the Configuration Management System and is maintained throughout its Lifecycle by Configuration Management. CIs are under the control of Change Management. CIs typically include IT Services, hardware, software, buildings, people, and formal documentation such as Process documentation and [Service Level Agreements].” The CMDB serves as a point of integration between various IT management processes. Data from multiple sources often needs to be managed directly or by reference in commercial CMDBs.
One kind of CI that may be managed in a CMDB is a software asset. Organizations can acquire software in different manners. Software can be built for a specific purpose within the company. Software can be purchased from a software vendor or outsourcer. Software can be acquired through an acquisition or merger between companies, or between departments within a single company. Software asset management is a core component of an overall asset management policy. IT Infrastructure Library (ITIL) in the Software Asset Management Book defines software asset management as “all of the infrastructure and processes necessary for the effective management, control and protection of the software assets within an organization, throughout all stages of their lifecycle.” ITIL indicates that the following processes make up the holistic approach to software asset management:
Overall management processes—The management processes surrounding the other software assets management processes. The overall management processes are related to change management.
Core asset management processes—Identification of software assets, including maintaining this information in the configuration management database (CMDB).
Logistic processes—Control of the software asset lifecycle. These processes include procurement, deployment, and end of life.
Verification and compliance processes—Verification and compliance of software asset management policies and procedures.
Relationship management processes—Software contract management.
Conventional CMDBs, however, do not provide adequate capability for that an enterprise is in compliance with the terms of its software license contracts.
In one embodiment, a method is disclosed. The method comprises storing a first model of deployment of a software product in a configuration management database (CMDB); storing a second model of a software license contract for the software product in a license database; and evaluating compliance of the software license contract. Evaluating compliance comprises connecting the first model and the second model; comparing the first model and the second model; and generating an exception indication if the act of comparing the first model and the second model indicates non-compliance with the software license contract.
In another embodiment, a system is disclosed. The system comprises a server computer, which comprises a processor; a configuration database, coupled to the processor; a license database, coupled to the processor; and a program store, coupled to the processor, on which is stored instructions for the processor, wherein the instructions cause the processor to perform the method disclosed above.
In yet another embodiment, a computer readable medium is disclosed. The computer readable medium stores instructions for a programmable control device that cause the programmable control device to perform the method disclosed above.
In yet another embodiment, a networked computer system is disclosed. The networked computer system comprises a plurality of computers on which software products are deployed; and one or more configuration management database computers, communicatively coupled to the plurality of computers, programmed to perform the method disclosed above.