Abstract:
A method, system, and computer program product to manage license key information in a system including a feature requiring the license key information are described. The method includes storing, automatically, a backup copy of the license key information from a primary copy of the license key information after installation of a feature requiring the license key information on the system. The method also includes recovering, automatically, the license key information whenever the license key information is required to be installed.

Description:
BACKGROUND 
       [0001]    The present invention relates to a license key, and more specifically, to automatic management of a license key. 
         [0002]    Many software applications and hardware enhancements require the entry of license key information for their use. This license key information is typically stored on a planar or a daughter card which may not be available to an end-user, who may not even be aware of how the functionality was installed, or may have been lost by the end-user. As a result, when a system recovery or upgrade process that requires the license key information to be re-input is performed, the user may need to follow a manual process to request a new key. This may lead to a long system outage or even replacement of hardware requiring the license key. In addition, data loss may result from the system booting up with a different configuration due to the absence of the software and/or hardware requiring the license key. 
       SUMMARY 
       [0003]    According to one embodiment of the present invention, a method of managing license key information in a system including a feature requiring the license key information includes storing, automatically, using a memory device of the system, a backup copy of the license key information from a primary copy of the license key information after installation of a feature requiring the license key information on the system; and recovering, automatically, using a processor of the system, the license key information whenever the license key information is required to be installed. 
         [0004]    According to another embodiment of the invention, a system to manage license key information includes a backup memory device storing the license key information as a backup copy from a primary copy of the license key information after installation of a feature requiring the license key information; and a processor configured to automatically store the license key information in the backup memory device and automatically recover the license key information for installation during restoration of a feature requiring the license key information. 
         [0005]    According to yet another embodiment of the invention, a computer program product for managing license key information in a system including a feature requiring the license key information comprises a computer readable storage medium having program code embodied therewith which is readable and executable by a processor to perform a method. The method includes storing, automatically, a backup copy of the license key information from a primary copy of the license key information after installation of a feature requiring the license key information on the system; and recovering, automatically, the license key information whenever the license key information is required to be installed. 
         [0006]    Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention. For a better understanding of the invention with the advantages and the features, refer to the description and to the drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
         [0007]    The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The forgoing and other features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which: 
           [0008]      FIG. 1  is a block diagram of a system that uses license key information according to an embodiment of the invention; and 
           [0009]      FIG. 2  is a process flow of a method of recovering features requiring license key information according to embodiments of the invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0010]    As noted above, a system upgrade or recovery may require the input of license key information associated with a software application or hardware added to the system. Previously, a user who did not have the license key information available had to follow a manual process to request a new key or acquire the software application or hardware anew. Embodiments of the method and system described herein include automatic backup and recovery of license key information. According to the embodiments described herein, a user of a system may automatically recover functionality of a software application and/or hardware requiring the license key information without having to intervene or provide the information. As discussed below, the system requiring the license key information may be a standalone system, a data center or server farm, or any other type of system that comprises one or more processors. 
         [0011]      FIG. 1  is a block diagram of a system  130  that uses license key information  110  according to an embodiment of the invention. The system  130  includes an input interface  131 , one or more processors  132 , one or more memory devices  133 , and an output interface  134 . The system  130  may be part of a network  120  of machines in a data center or server farm, for example, or may be a standalone machine that may access other machines via the network  120 . License key information  110  that adds a function (hardware accessory or software application) to the system  130  is first provided as a primary copy  140 . The primary copy  140  of the license key information  110  may be a planar or daughter card, for example. According to embodiments of the invention, the license key information  110  in the primary copy  140  is automatically stored in a backup copy  150  in the system  130 . The backup copy  150  is stored in persistent memory within a memory device  133  of the system  130  and may be a serial presence detect device or a nonvolatile storage area of a backplane, for example. If the memory device  133  storing the backup copy  150  is replaced, the backup copy  150  is restored to a new memory device  133  of the system  130 . The output interface  134  may include a display device that provides a visual prompt or indicator at the system  130  to ensure proper installation of the license key information  110 . When the system  130  is part of a network  120 , the output interface  134  may be prompted (e.g., by a “call home” message) to alert a remote system administrator to verify that the license key information  110  installation is complete. The network  120  may provide access to a private cloud or remote database  125  that additionally stores the license key information  110 . 
         [0012]      FIG. 2  is a process flow of a method of recovering features requiring license key information  110  according to embodiments of the invention. At block  201 , a feature (hardware enhancement or software application) requiring license key information  110  is purchased and installed into the system  130 . In embodiments in which the system  130  using the license key information  110  is part of a network  120 , the license key information  110  may be stored in a remote database  125  (e.g., private cloud) as part of a recovery service at block  202 . At  203 , a primary copy  140  of the license key information  110  is automatically stored as a backup copy  150 . These processes ( 201  through  203 ) are performed each time a feature requiring license key information  110  is added to the system  130 . Any number of such features (hardware or software) may be included in a system  130 . A system reboot process begins at block  205 . At block  206 , a feature requiring license key information  110  may be replaced in the system  130 . At  207 , if the primary copy  140  of the license key information  110  is not available (e.g., lost, damaged, never provided), then the backup copy  150  is used to update the primary copy  140  at  204 . If the primary copy  140  is available at block  207 , then that primary copy of the license key information  110  is automatically used. As noted above, any number of features requiring respective license key information  110  may be added to the system  130 . When such a feature is added or an existing feature is upgraded at  208  such that license key information  110  must be added or modified, the primary copy  140  is added or modified, as needed, and the backup copy  150  is automatically updated. At  209 , if it is determined that both the primary copy  140  and the backup copy  150  are gone (e.g., lost, damaged), then when the system  130  is part of a network  120 , the recovery service may be accessed and the license key information  110  in the remote database  125  may be used. Once all the features requiring license key information  110  are addressed, system boot is resumed at  210 . 
         [0013]    The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one more other features, integers, steps, operations, element components, and/or groups thereof. 
         [0014]    The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated 
         [0015]    The flow diagram depicted herein is just one example. There may be many variations to this diagram or the steps (or operations) described therein without departing from the spirit of the invention. For instance, the steps may be performed in a differing order or steps may be added, deleted or modified. All of these variations are considered a part of the claimed invention. 
         [0016]    While the preferred embodiment to the invention had been described, it will be understood that those skilled in the art, both now and in the future, may make various improvements and enhancements which fall within the scope of the claims which follow. These claims should be construed to maintain the proper protection for the invention first described.