Software configuration based on entitlement records

Embodiments of the present invention address deficiencies of the art in respect to software license management and provide a method, system and computer program product for authorizing customer managed software installation. In an embodiment of the invention, a method for authorizing customer managed software installation based on entitlement records can be provided. The method can include in response to a request to transfer a registered software product from an existing platform to a new platform, validating both an entitlement record and also a maintenance record for the registered software product and transferring the registered software product to the new platform only if both the entitlement record and the maintenance record validate.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to the field of software installation and more particularly to authorizing customer managed software installation.

2. Description of the Related Art

Historically, computer programs have been distributed in disk medium—initially on tape and eventually on floppy and optical disk. Controlling the unauthorized distribution of computer software, however, has vexed the software publishing industry from the beginning. Initial efforts to combat the unlicensed use of software involved dongles and passwords. As the distribution of multi-user software has become more complex and as target platforms in target network environments constantly change, early models for software licensure management fail. Modern efforts involve centralized registration and management of end user licensing of software applications.

In furtherance of centralized registration and management of end user licensing of software applications, in today's software configuration installation environment it has been customary to use sales inventory records to establish software configuration transfer or upgrade base starting points. When a customer is first shipped their software product, inventory records are used to accurately reflect the customer number and hardware serial number for the ordered software products. Over time the customer may eventually transfer the software products to other hardware systems within the customer's enterprise.

Typically, a customer purchases a software license and receives a key to transfer the software product on a given number of hardware systems or machines. Since the customer may transfer the software product from machine to machine, it is difficult to determine what version of software is on a particular machine. Usually when a customer orders a software upgrade, there is no nexus between where the software currently resides and the validity of software license entitlement information in inventory records.

In many instances these historical records do not match the entitled product residency. This can result in a configuration starting point that does not match the customer's actual installed and entitled use of a software product, causing a nuisance to marketing teams to manually modify inventory records so they are in agreement with existing entitled software installation support on customer systems.

The problem with current methods is that when a customer purchases a single software product, any attempt to transfer the software product to another machine is prevented. Entitling a software product to a specific machine in a customer's enterprise, and restricting the software product to that specific system only fails to support a customer's ever-changing business requirements.

BRIEF SUMMARY OF THE INVENTION

Embodiments of the present invention address deficiencies of the art in respect to software license management and provide a novel and non-obvious method, system and computer program product for authorizing customer managed software installation. In an embodiment of the invention, a method for authorizing customer managed software installation based on entitlement records can be provided. The method can include in response to a request to transfer a registered software product from an existing platform to a new platform, validating both an entitlement record and also a maintenance record for the registered software product and transferring the registered software product to the new platform only if both the entitlement record and the maintenance record validate.

In another embodiment of the invention, an authorizing customer managed software installation data processing system can be provided. The system can include a data store of inventory records, maintenance records and entitlement records for different installations of an application for different customers on different computing platforms. The system further can include an e-configurator including program code enabled to provide a configuration of the computing platforms for a specified one of the customers. Finally, the system can include a base retriever coupled to the e-configurator and the data store. The base retriever can include program code enabled to determine by reference to the inventory records, the maintenance records and the entitlement records, each of a version of an installed application in an existing one of the computing platforms based upon a serial number of the installed application, and to validate the version of the installed application in comparison to a configuration provided by the e-configurator in authorizing a transfer of the installed application to a different one of the computing platforms.

DETAILED DESCRIPTION OF THE INVENTION

Embodiments of the present invention provide a method, system and computer program product for authorizing customer managed software installation and automatic software configuration based on entitlement records. In accordance with an embodiment of the invention, a software product can be installed on an initial computing system. Subsequently, if the software product is to be installed on a different computing system, the transfer of the software product can be recorded without losing entitlement support. In this regard, before permitting a transfer to a target computing platform, an entitlement record for the software product can be consulted to determine the validity of the software license for the software product for the target computing platform. To the extent that the entitlement record can be validated to reflect that the software product can be properly licensed for operation in the target computing platform, then the transfer of the installation of the software product from the existing computing platform onto the target computing platform can proceed and the entitlement records can be modified to reflect the new installation on the target computing platform to the exclusion of the old installation on the existing computing platform.

In further illustration,FIG. 1schematically depicts a software configuration data processing system configured to authorize an upgrade or transfer of an installed application100to a target computing platform120B from an existing computing platform120A based upon entitlement records. As shown inFIG. 1, the system can include an upgrade support system110A such as a Web-enabled self-service application distribution system configured for communicative coupling to one or more computing platforms120A,120B over computer communications network130. Specifically, the upgrade support system110A can support the execution of a license management system110B managing the licensure of an installed application100.

Specifically, the license management system110B can include an e-configurator190providing for the configuration of computing platforms120A,120B (both hardware and software) for a specified customer. A base retriever160further can be provided as part of the license management system110B and can be linked to both inventory records180and also maintenance records170. Yet further, the base retriever160can be communicatively linked to entitlement records140separately coupled to the upgrade support system110A and the computing platforms120A,120B over the computer communications network130. Notably, each record amongst the entitlement records140can relate an installed application100to a computing platform120A,120B in which the installed application100is entitled for installation.

The base retriever160can include program code enabled to determine by reference to the inventory records180, the maintenance records170and the entitlement records140, a version of the installed application100installed on its existing computing platform120A based upon a serial number before an upgrade or transfer to a target computing platform120B occurs. In particular, the inventory records180can include a list of hardware and software components associated with the installed application100as provided by the e-configurator190irrespective of the existing computing platform120A. The maintenance records170, by comparison, can record a license of the installed application100based upon a serial number associated with the installed application100irrespective of the existing computing platform120A.

The entitlement records140, unlike the maintenance records170and the inventory records180, ties the installed application100to a specific one of the computing platforms120A,120B along with an appropriate software product release level and specific level of entitlement purchased for the specific one of the computing platforms120A,120B. As it will be recognized by the skilled artisan, then, while the inventory records180may have been valid at the time of the original sale of the installed application100, the inventory records180may not reflect the true residence (e.g. the existing computing platform120A) as the existing computing platform120A may differ from a recorded, initial computing platform.

Likewise, machine-based records in the existing computing platform120A may host the installed application100in violation of an associated licensing agreement terms and conditions. Though the maintenance records170can represent a group of software programs required for upgrade support, the maintenance records170alone are not sufficient to reflect the individual software programs installed on the customer's system due to the fact that the group of software programs may represent a suite of programs which must be individually licensed.

Accordingly, in operation, the program code of the base retriever160can be enabled upon receiving a request from a customer for either an upgrade or transfer of the installed application100to a target computing platform120B to determine the entitlement of the customer to upgrade or transfer the installed application100to a target computing platform120B. If the customer is entitled to upgrade or transfer the installed application100onto the target computing platform120B by reference to the entitlement records140, the program code of the base retriever160can direct the transmittal of a transfer key150to the target platform120B in order both to permit the upgrade or transfer and also to record a new corresponding entry into the entitlement records140.

The support for the customer management and transfer of a registered software product shown inFIG. 1can be performed under the control of the customer via a Web site providing access to the license management system110B. As a result, customers can transfer a registered software product from one platform to another and the customers can re-associate the entitlement records for the registered software product with the new platform automatically through the customer managed Web site. Further, the arrangement shown inFIG. 1can permit the purchasing of additional entitlements for the registered software product such as additional users, processor tier upgrades, added processors, and the like using registered data on hand for the installed computing device. Finally, the arrangement shown inFIG. 1can support the enhancement of a registered software product with a new level of entitlement while charging the customer only for the incremental entitlement purchased.

In more general illustration of the process of the invention,FIG. 2is a flowchart illustrating a process for authorizing customer managed software installation based on entitlement records. When a customer goes online to request an upgrade or transfer205, in decision block210if it is determined that the request is a software transfer then in block215the entitlement record can be retrieved along with the maintenance record in block220. If in decision block225, the entitlement record is not valid then in block230the transfer can be refused and the customer can be notified with an error message. If the entitlement record is valid, then in block235the entitlement record can be updated with the new designated hardware system the installation will occur on. Next in block240a new license key can be created for the new designated hardware system. The customer can then download the new license key and transfer the software to another hardware system.

If the customer request is for a software upgrade, then in block245the base retriever can get the current configuration of the hardware system. Next in block250the entitlement record can be retrieved along with checking the maintenance record in block255. If in decision block260, the entitlement record is not valid then in block265the transfer can be refused and the customer can be notified with an error message. If the entitlement record is valid, then in block270the entitlement record can be updated with the new designated hardware system the installation will occur on and forwarded to the configurator in block275. Finally, the software upgrade can be created in block280subsequent to which the customer can be shipped the update for the software product by the configurator.