METHOD FOR ADMINISTERING AND MANAGING SOFTWARE LICENSE CERTIFICATES

Abstract: A system and method for administering and managing software license certificates in a computer system, and in a fashion that centralizes the software license certificate management and which is not limited to handling the software products of a single licensor or vendor. The system enables obtaining a substantially complete listing of all available software licensing facilities and certificates in the computer system and further allows the entry of changes to licensing environments and rights to be dynamically and repeatedly modified to accommodate changing and evolving conditions. A license surveyor component automatically locates and identifies all license service and license certificates, and that information is stored in a license rights database. Other software components enable the system of the invention to communicate with remotely located vendors and licensors to obtain quotations and actually purchase and have delivered additional license certificates as needed by a changing and evolving computer system.

Description: METHOD FOR ADMINISTERING AND MANAGING SOFTWARE LICENSE CERTIFICATES RELATED APPLICATION This Application claims priority and is entitled to the filing date of U.S. Provisional Application Serial No. 60/198,503 filed April 18, 2000, and entitled "METHOD FOR ADMINISTERING AND MANAGING SOFTWARE LICENSE CERTIFICATES." The contents of said Provisional Application are incorporated by reference herein. BACKGROUND OF THE INVENTION The present invention relates to computer software and more particularly to a method for administering and managing software license certificates. Much of the software in use by corporations, organizations and individuals is licensed either directly or indirectly from a variety of software vendors. The rights granted the licensees may take a variety of forms. For example, a software product might be licensed to an organization for unlimited use, on any number of computers, but only within that organization. Or, the organization might be permitted to only use the software on certain computers, or allow it to be used by only certain named employees, or by only a specified maximum number of concurrent employees, or until a specified date,' or only on certain days of the week, or based on any other set of restrictions that the vendor may negotiate with the organization. In many cases, vendors have incorporated protective mechanisms (PMs) into their software products to try and determine whether the usage restrictions that are embodied in the license terms are ever violated in practice. For example, such a PM, which is typically invoked when the associated software product is initiated, might determine whether the computer (as identified by such things as a serial number or other unique characteristic) that the software is operating on is on the list of computers that the software is licensed on. Or, the PM might count the number of users concurrently using the software, checking to see whether a licensed maximum is ever exceeded. If the PM detects attempted violations, a variety of actions may be taken, from issuing a warning while allowing execution, to preventing the software from operating. For the PM to be able to match the actual use of a software product to the organization's licensed rights, the PM must know what those rights are. These are often supplied via an encrypted passcode or certificate which the software vendor gives to the organization, which in turn supplies it to the PM. Typically, a PM will not allow the software product to operate at all if a certificate is not supplied, missing, expired, or otherwise not made "known" to the PM. Organizations frequently negotiate changes in licensed rights to a particular product with the vendor of that product. When an organization replaces an existing computer with another, adds additional computers to the authorized list, adds more concurrent users, and so forth, they must agree on those rights with the vendor, paying a fee if necessary. Whenever the organization's licensed rights to a particular product change, a new certificate embodying the new rights must be obtained from the vendor and supplied to the PM. Changes to an organization's computing environment often times necessitate changes in license rights. An organization might have dozens if not hundreds of licensed products installed on each of their computers: the license conditions of each of these products might be affected by something as simple as changing to a different (perhaps newer and more powerful) computer. And many organizations have dozens of mainframe computers, hundreds of midrange and server computers, and thousands of desktop computers, all of them containing licensed software products. As such, these organizations often have a high volume of activity relating to informing vendors of changes in their needs and environment, negotiating any fees imposed by the vendor to increase licensed rights, and receiving back and processing the resulting certificates. Furthermore, the entire activity is made even more burdensome because different vendors often use different methods and procedures for distributing certificates, and impose differing administrative procedures on the organizations that receive them. While many vendors have developed their own PM, some use general purpose software supplied to them by other vendors . Such general PM facilities are known as License Managers (LMs) , and are available from a variety of vendors, including Isogon e (LicensePower/iFOR) , Globetrotter (FlexLM) , and Rainbow (SentinelLM) . As with PMs written by the product vendors themselves, LMs from different vendors use certificates in different forms and administer them in different ways. Many other product vendors use no PM at all, and have no means of determining an organization's compliance with licensed rights. In March of 1999, an IT industry standard for LMs was approved by The Open Group. Known as XSLM, the standard is expected to encourage the development of XSLM-compliant LMs from a number of LM-vendors . The existence of standard LMs can in turn be expected to encourage more product vendors to incorporate PMs as part of the use of their products, thus raising even higher the burden on organizations of administering and managing the associated certificates. Other software tools exist that allow users to enter information pertaining to the contractual aspects of the license agreements for the user's software products into a database (CDB) . Products, such as VISTA from Isogon, or Argis from Janus Technologies Inc., provide users with the ability to conveniently record in the CDB such information as vendor or distributor, contract information, software and/or hardware products covered by the agreement, computers on which the software is authorized to run, number of authorized users, maintenance terms, renewal data, budgets and forecasts, invoice and payment history, key terms and conditions, links to electronic versions of documents, etc. Users are also presented with an organizational view of the subdivisions (such as company, division, and department) with which the contract, the processor, the product, or the particular installation of the product is associated Yet other software tools exist that automatically survey and identify the programs that users are installing or have installed, implicitly or explicitly indicating which software products they comprise. In addition, some of these tools identify the particular versions and/or releases found as well as what product suites each one belongs to. Products, such as SoftAudit (the SoftAudit product is described in U.S. Patent Nos. 5,590,056 and 5,499,340, the contents of which are incorporated by reference herein) from Isogon, provide users with this information and enhance it to include identification of the particular processor on which it is installed, its location (by country, region, state, county, city, building, etc.). Such information may also be augmented by monitoring the execution of identified and/or specified products and correlating this usage information to the product inventory. Still other software tools provide the means for tracking and day-to-day management of technical requirements, costs and environmental details of existing data centers, and the creation of scenarios for determining the optimum acquisition, expansion and reconfiguration strategies of the data centers as well as the forecasting of technical requirements, costs and environmental requirements of existing and proposed configurations of the data centers. Products, such as Manhasset from Isogon, provide a knowledge base comprised of the technical and financial specifications of various storage devices and other software and hardware. A modeling tool allows for the creation of various "What-If" scenarios of possible data center configurations for making long term projections of the technical and financial requirements of existing, modified or proposed data center configurations. The costs of individual devices, systems or data center locations, as well as the costs of proposed new equipment and software are tracked. Although such tools are useful in and by themselves, it would be more meaningful and useful to the user if the ability to manage all aspects of software management: usage, forecasting, the contractual agreement, license terms and conditions, and the instrument of compliance, the license certificate, was integrated, related, coordinated and reconciled. While license certificates, license agreements, software products and software usage are all related to one another, there are difficulties that make this goal difficult to achieve. For example, product identification based on license certificates is often presented in different terms than the identification based on agreements; product or vendor names may not be identical; what is considered a single product from one point of view may be considered to consist of two or more products from the other; there may be other discrepancies and mismatches; etc. Furthermore, even after all such inconsistencies, discrepancies, and mismatches have been resolved, there may be products for which there is license agreement information but no rights information (e.g., the product has not yet been installed; it has been removed; or the certificate information is in error) . Similarly, there may be rights information but no license agreement information (e.g., the user doesn't have an agreement for the product; the product doesn't require an agreement; or the information is missing) . Such rights and agreements need to be identified, the reasons for such discrepancies need to be resolved, and the appropriate records must be created or deleted. SUMMARY OF THE INVENTION It is therefore an object of the present invention to provide an improved method for administering and managing software license certificates in a computer system. It is another object of the invention to provide a system and method for administering and managing software license certificates in a centralized fashion and without being limited to handling a single software licensor or vendor. It is a further object of the invention to provide a method and system for administering and managing software license certificates in a manner that enables obtaining a substantially complete listing of all available software licensing facilities and certificates in a computer system. It is still a further object of the invention to provide a system for administering and managing of software license certificates which allows changes to licensing environments and rights to be dynamically and repeatedly modified to accommodate changing and evolving conditions. Yet another object of the present invention is to provide a system and method for administering and managing software licensing environments in a manner which allows interaction of a centralized system with other systems such as those that inventory, catalog, and store data relative to software license properties resident on a computer system. The foregoing and other objects of the invention are realized by a software construct whose main function is to administer and manage software license certificates and properties and which includes as its main constituents a License Surveyor (LS) that performs an automatic discovery process to locate and identify all license servers and license certificates in a computer enterprise. Information gathered by the license surveyor may be stored in a repository called the Rights Database (RDB) . Optionally, the License Surveyor has a subcomponent identified as the Listening Processor (LP) which serves to detect changes in software license certificates and environment in order to maintain information in the Rights Database as up to date as possible. A Change Processor (CP) uses knowledge accumulated in the RDB to track any and all changes made or contemplated to be made to license certificates . Software components identified as the "Requestor" (QR) ; "Catcher" (QC) ; "Certificate Requestor" (CRQ) and "Certificate Catcher" (CC) enable the system of the present invention to communicate with vendors or licensors of software products, to obtain quotes on additional licensed rights such as increasing the number of people who may use a particular software application, the number of concurrent users, the number of licensed CPUs or total MIPS, and the like and to receive and install onto the computer system needed license certificates. A List Associator (LA) of the invention communicates with other software systems which handle software asset management to create associations with data gathered or stored by various software products that audit, monitor and/or survey the software products on the system and/or the frequency of use of software products and the like. The present invention reduces the administrative burden by automating much of the processing, controlling and managing the workflow related to administering and managing LM certificates. The present invention further provides a facility for integrating, relating, and reconciling related information from other software management tools and a facility for presenting and manipulating that information in a user- friendly manner. Other features and advantages of the present invention will become apparent from the following description of the invention which refers to the accompanying drawings . BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a diagram showing a hierarchy of a license certificate management system. Figure 2 is a more detailed diagram of the license certificate manager of Figure 1. Figure 3 is a flow chart of the change processor and quote requestor/catcher components of the invention. Figure 4 is a flow chart showing further details of the certificate requestor/catcher and applier of the present invention. DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS Generally, the environment of the present invention is a computer system and the numerous licensed software products that are typically installed and run on such computer systems. With reference to Figure 2, a computer system 21 typically consists of a collection of hardware 23 and a large suite of software products 25. The term "computer system" or "computer" is to be interpreted broadly. It may refer to a single computer at a single location, e.g. a stand alone PC, but also refers to hundreds of interconnected computers dispersed over widely spread geographical areas . Such a computer system typically incorporates many different software products, including an operating system and numerous application programs 31 provided from many different vendors. These application programs 31 are often licensed products which require the intervention of one or more license managers 29 to invoke, authorize and enable these products to run on the computer system 21. The assignee of the present invention, Isogon Corporation, provides a suite of programs that are variously involved in such tasks as auditing and monitoring software, for example the aforementioned SoftAudit product 80. Another Isogon product maintains lists and monitors license agreements, i.e. the Vista™ product 82 (described in U.S. Application Serial No. 09/518,048, filed March 2, 2000, the contents of which are incorporated by reference herein) . Isogon' s Manhasset product 84 (described in U.S. Application Serial No. 09/389,858, filed September 2, 1999, the contents of which are incorporated by reference herein) is a tool that allows users to manage hardware and software costs as well as to model computer systems and their software products. Such prior art products are tools that collect large amounts of software related information that is useful for improving the functionality of the system of the present invention. The main software block 10 of the present invention is an aggregation of various software components as described below which interface with the computer system 21 as well as with other software products such as the products 80, 82 and 84 for the purpose of administering and managing software license certificates. At times, it is necessary to obtain additional software certificates to increase the number or amount of software access to the various application software 31 operable on the computer 21. To this end, the system 10 interfaces, for example, via the Internet 15 with vendors or licensors 24 to whom various requests for quotations or purchase orders for license certificates are directed, which certificates are subsequently installed and applied to the computer system 21. With reference to Figure 1, constituents of the system 10 of the present invention include the Change Processor 12, the Quote Requestor/Catcher 14, the Certificate Requestor 18, the Certificate Catcher 20 and the Certificate Applier/Deapplier 22. These components interface with various software vendors 24a, 24b, 24c from whom certificates 28 are obtained, which certificates are then applied to the Protective Mechanism/License Manager 30 which is part of the computer system 21. A flow chart 32a showing various steps carried out by the Change Processor 12 as well as by the Quote Requestor and Quote Catcher 14a and 14b, respectively, are outlined in Figure 3. Thus, step 34 shows the acceptance of proposed changes from a user. At step 36 it is determined which software products are affected and step 38 creates an entry in the APF as noted. The Quote Requestor 14a then obtains a quote request at step 40 and in connection therewith assembles a list of affected software products at step 42. Requests for quotations are then issued at step 44 and retrieved electronic quotes are obtained at step 46. Steps 48 and 50 involve the looking up of the change request records in the APF and the entry/marking of changes in the change request records . With reference to the flow chart 32b of Figure 4, the Certificate Requestor 18 accepts confirmation of proposed change from a user at step 52, which determines which software products are affected at step 54 and then takes the steps set forth at steps 56 and 58. The Certificate Catcher 20 then retrieves license certificates at 60 and consults the change request record as indicated at step 62, finally storing a certificate into the change request record and marking the appropriate records at step 64. The final step in the process is taken by the Certificate Applier which, as indicated variously at steps 66 through 74, assembles a list of software products and for each product supplies the appropriate license certificate 28 to the applicable Protective Mechanism. It also keeps a journal of these changes and creates other appropriate records . With further reference to the figures, the system of the invention includes the following components : • License Surveyor (LS) : The LS 11 (Figure 2) performs an auto-discovery process (survey) to locate and identify substantially all license servers and license certificates in a computer enterprise. "Substantially all" means on the order of about 70% or greater of all license certificates, whereas "all" means on the order of about 90% or more of the license certificates. This knowledge, comprising all of the user's computers, the licensed software operating on them, details of each associated license agreement with the vendor, and the licensed rights associated to the software product is stored in a repository called the Rights Database (RDB) 17. Typically, this LS 11 function is run as a batch process that is performed initially to create the repository, however, it may be repeated as often as deemed necessary to verify the data already on file, to discover any information that might have been inadvertently missed by other processes of the current invention or to detect licenses put into effect by processes that are not part of the present invention. In one embodiment, the LS 11 is automatically, notified to conduct a full or incremental survey by a Listening Process (LP) 11a. Whenever the LP 11a detects a change in a software license certificate; installation of a new software product; execution of a software product that either has an expired certificate or no certificate at all; etc.; it signals the LS 11 to conduct a survey. The LP 11a can be incorporated into a PM (Protective Mechanism) 27, LM (License Manager) 29, the operating system or act as a separate software monitoring process. • Change Processor (CP) : The CP 12, using the knowledge accumulated in the RDB 17, tracks any and all changes made (or contemplated) to license certificates. The CP 17 is informed by the user, or other automated process, when a change must be made (or is being contemplated) that might require modification of those licensed rights, for example the replacement of a particular computer with a different one, or the need to add 50 users to those licensed to use a particular set of products. For the proposed change, the CP 12 assigns a Change Request Number (CR#) , determines from the RDB 17 which licensed products would be affected, and stores the list of affected products and their associated vendors in the Affected Products List (APL) 17a keyed to the current change request . The methods by which the CP 12 determines which products are affected include : 1. The RDB 17 catalogs all software products by organization, enterprise, and/or location; 2. The RDB 17 catalogs all software products by computer; 3. The RDB 17 catalogs software products according to user; 4. The RDB 17 catalogs all software products as belonging to a particular set of products wherein a change to one necessitates a similar change to all other products in that set; 5. The CP 12 is notified by another process which software products belong to a particular set of affected products; 6. Rules are established to assert specific actions for given software products, users, etc . ; 7. Heuristics are applied to determine the actions caused by changes to one or more software products. An auditing function is incorporated into the CP and other processes of the system to keep a record of any license certificates and APL records that are created, deleted, or otherwise modified. • Quote Requestor (QR) 14a: If the user anticipates that the change being made will require additional payment to the vendor (s) of the affected software product (s) , and desires a quote from the vendor (s) before proceeding, the QR 14a electronically sends the requisite information, i.e., an RFQ (Request for Quote) describing the nature of the proposed change, the product involved, the effective date, etc., to each vendor represented in the APL 17a for that change request. If electronic quotes are not supported by a vendor, the QR 14a generates a printed request form for the user to send to the vendor (s) . The appropriate Change Request Records in the APL 17a are marked as "Quote Requested." • Quote Catcher (QC) : The QC 14b receives and records each quote received back from vendors in response to the RFQ sent to them by the QR 14a. Quotes may be received electronically, directly into the QC 14b, or may be entered manually by the user. As quotes are received, the QC 14b marks the associated records in the APL 17a as "Quote Received" . At any time, the QC 14b can display a report to the user, showing the quotes received, their amounts and other details, and those quotes not yet received, for a particular CR# or set of CR#s . • Certificate Requestor (CRQ) 18 : When the user has determined to actually make the contemplated change (perhaps after previously obtaining quotes) , the CRQ 18 sends Request For Certificate notices (RFCs) to this effect (optionally accompanied by a Purchase Order, contract addendum, or other necessary documentation) to all the vendors represented in the APL 17a, marking the records "Certificate Requested. " • Certificate Catcher (CC) 20: As certificates reflecting the desired change are received from vendors, whether electronically, directly into the CC 20, or entered manually by the user (using the Certificate Editor) , the CC 20 marks the associated records in the APL 17a as "Certificate Received" , and adds to the APL the certificates themselves. At any time, the CC 20 can display a report to the user, showing the certificates received, and those certificates not yet received, for a particular CR# or set of CR#s . • Certificate Editor/Viewer (CEV) : The CEV 18a enables the user to manually enter or change a license certificate in those instances where such is permitted by the vendor. For a set of certificates, presumably from the same vendor, wherein the same changes must be applied to multiple certificates, the CEV 18a automatically applies those changes for the user. At the same time, the CEV 18a permits the user to examine the details of a license certificate, group of certificates, or electronic quotes that have been received. In either edit or view mode, the CEV 18a accepts selection criteria from the user, such as by vendor, computer, partitions (LPAR) , enterprise, product, or other specifications as appropriate. In some cases the CEV 18a may be supplied as part of or along with am LM 29, typically as part of the administrator's tool. In this case, the present invention may invoke such a tool, or may make use of an API (application program interface) provided by the LM 29. • Certificate Applier/Deapplier (CAD) : The CAD 22, working from the APL 17a, but under control of the user, puts all the certificates received for a particular CR# into effect by supplying them to the applicable PMs. Depending on the nature of each PM 27, this might consist of storing a copy of the certificate in a particular file or database, or of supplying it to a particular program or process associated with the PM 27 . The user may request an immediate application of the CR#s or defer them for later application. In the latter case, the CAD may manage a queue of deferred CR#s wherein each CR# is scheduled for automatic application at a user specified time, or deferred indefinitely pending user authorization. Optionally, the CAD maintains a journal of all changes made to all software products (or a user selected set of software) including, where applicable, copies of license certificates that have been superseded. In addition to providing a history of changes, the CAD, under user control, rollbacks to a prior set of certificates having a particular CR# (i.e., de-apply a set of certificates assuming this function is supported by the PM/LM) which have been saved in the APL. In those instances where required by the PM/LM, the rollback is performed sequentially using all of the intervening change requests, otherwise only the certificates of the desired CR# are re- applied. • List Associator (LA) : The LA 33 is a facility for automatically establishing associations between items in one list (e.g., license certificates, products, vendors, processors, users, etc.) with items in another list of such items whenever product name, product identification number or other identifying feature match. In a preferred method, a separate table is created consisting of links associating records in one database (e.g., the RDB 17) with corresponding records in another database (e.g., the CDB 19) . For example, the List Associator 33 may automatically establish associations between license certificate information obtained by the license surveyor LS 11 and corresponding lists of software products and their usage records which are derived by the software surveyor and monitor product 80, for example, the present assignee's SoftAudit product. Optionally, the LA 33 determines possible associations or associations that are most probable. This is based upon the heuristics of evaluating the similarity of item name, identification number, or other such criteria between items in one list and items in another list. [Techniques that are applied include: Soundex coding, pattern matching, dictionary lookup, and/or Fuzzy Logic] The results may be displayed for user selection, confirmation, or rejection. For each item to be associated, the LA 33 provides as many candidates as are appropriate, ranked alphabetically or in likelihood of match. All such candidate associations can be displayed in a distinctive color; the user could tab or scroll directly from one such candidate association to the next and confirm or reject each one in turn, or could highlight and accept or reject several such candidate associations " at once. Optionally, the user provides a set of rules by which the LA 33 establishes an association between records in separate lists. For example, a rule can be established to treat XYZ Corporation and XYZ International (a wholly-owned subsidiary) as one and the same . Optionally, the LA 33 provides a facility by which the user specifies an association between one or more items in one list with an item in another list. The user might use a pointing device such as a computer mouse to highlight one or more items on the one list of products and one item on the other list of products. Optionally, the LA 33 presents an opportunity for the user to confirm the association before it was processed. • Data Reconciler (DR) : The DR 35 is a facility by which differences between records in lists of different types (e.g., license certificates, license agreements, etc.) are reconciled after having been associated to one another by the LA 33. Using heuristics and rules, the DR resolves differences in product or vendor names, what constitutes a software product, and missing or duplicate information. Records are created for missing information, duplicate records are consolidated, and records are deleted for information that is erroneous or out-of-date. • Optionally, the user can provide a set of rules by which the DR 35 reconciles differences in an association between records in separate lists. For example, a rule treats XYZ Corporation and XYZ International (a wholly-owned subsidiary) as one and the same . For example, for a software product for which there is license agreement information but no rights information, the DR 35 will- create the appropriate record (s) indicating the proper state of the license certificate - not installed, deinstalled, no certificate required, etc. • Data Editor/Viewer (DEV) : The DEV 37 is a facility for concurrently presenting on a display two or more lists of items that have been first associated by the LA 33 and then reconciled by the DR 35 sorted by organization, location, license certificate, product name, product identification number, vendor name, vendor identification, or other identifying feature. Once displayed, the DEV 37 permits the user, where applicable, to make changes and/or corrections to those records. Any changes made, are automatically made, where appropriate or permitted, to the corresponding records in the individual lists from which the associated records are composed. For a set of records, presumably from the same vendor, wherein the same changes must be applied to multiple records, the DEV 37 automatically applies those changes for the user. In either edit or view mode, the DEV 37 accepts selection criteria from the user, such as by vendor, computer, partitions (LPAR) , enterprise, product, or other specifications as appropriate. In one embodiment, the contractual aspects of license agreements and license certificate information (acquired and/or stored by software product 82, such as the VISTA™ product 82 of the assignee of the present invention) is associated and reconciled by the LA 33 and DR 35 facilities, respectively. Users are thus able to conveniently answer questions such as the following : • For each license agreement on record which have license certificates associated with them? which products do not have a license certificate associated with them? has a license certificate been received, and if so, when, how and by whom? which machine has a particular license certificate installed and is this in compliance with the agreement? • For each license certificate on record, is there a corresponding license agreement? • For a specified license certificate which agreement (s) govern its use? • For a proposed purchase of or change to a software license - has a quote from the vendor been requested? has a quote from the vendor been received? has a certificate been requested? - has a requested certificate been received? has a newly received certificate been applied to the designated computer (s) ? for each of the above, when, how, and by whom? • For a specified license agreement, or specified set of agreements, what is the history of the associated license certificate (s) ? • For a license agreement that has expired or is set to expire, which computer (s) has the associated license certificate been de-applied from? When, how, and by whom? In another embodiment, license certificate information and a variety of product, inventory and usage information is associated and reconciled by the LA and DR facilities, respectively. Users are thus able to conveniently correlate license certificate information to such information as products installed by processor, library and vendor; such information also containing usage and usage by user to answer questions such as the following: • For each software product in inventory: which have license certificates associated with them? which products do not have a license certificate associated with them? has a license certificate been received, and if so, when, how and by whom? which machine has a particular license certificate installed? • For each software product for which actual usage was recorded: which have license certificates associated with them? which products do not have a license certificate associated with them? has a license certificate been received, and if so, when, how and by whom? which machine has a particular license certificate installed? • For each license certificate on record or a user-specified selection of license certificates: is there a corresponding software product in inventory? - is the corresponding product installed on the proper computer? is the usage of this product in accordance to the certificate? are there software products which are being under-utilized? is the number of users higher or lower than the certificate authorizes? are the users named in the certificate actually using the product? - what are the excess capacities or other rights in the license certificate that are not being utilized? • For a proposed purchase of or change to a software product : - has a quote from the vendor been requested? - . has a quote from the vendor been received? has a certificate been requested? has a requested certificate been received? has a newly received certificate been applied to the designated computer (s) ? for each of the above, when, how, and by whom? • For a specified software product, or specified set of products: what is the history of the associated license certificate (s) ? where or how are the license certificates kept? • For a license certificate that has expired or is set to expire: where is the product and all of its copies located? - which computer (s) has the associated license certificate been de-applied from? When, how, and by whom? • For all of the above: - what events (and their details) , sorted and displayed according to time, have occurred in the past and what expected events are yet to happen? what events (and their details) , sorted and displayed according to time, have occurred or will occur during a specified period of time? for specific software products, license certificates, or other specifications, what events, sorted and displayed according to time, have occurred in the past and what expected events are yet to happen? for specific software products, license certificates, or other specifications, what events, sorted and displayed according to time, have occurred or will occur during a specified period of time? In yet another embodiment, license certificate information is tracked against actual and hypothetical changes in hardware and software configuration over time (as provided by a configuration management tool 84 such as Manhasset™ from Isogon) . Users are thus able to not only conveniently view the organization of license certificates by hardware configuration, but also create various "What-If" scenarios of possible data center configurations for making long-term projections of the technical and financial requirements of existing, modified or proposed data center, e.g. computer system configuration. For example, when a decision maker is contemplating upgrading to a larger computer system, it is highly desirable to be able to factor in the upgrade and termination costs of existing license certificates with the proposed upgrade costs and determine the cost benefit, if any. Such a tool has many advantages and benefits for those who work with such information. Such a tool allows a user to conveniently answer questions such as the following: • For an actual or hypothetical configuration, what software license certificates are associated with one or more selected items of hardware or software? • What software license certificates governing the use of each item of software in an actual or hypothetical configuration of hardware and software can and cannot be transferred? • What software license certificates governing the use of each item of software in an actual or hypothetical configuration of hardware and software are subject to upgrade fees and how much? • To minimize costs, when is the best time, based on existing and/or proposed license certificates, to perform this upgrade? • For an actual or hypothetical configuration, for a user-specified selection of license certificates, are any actual or hypothetical configurations out of compliance with these license certificates at any time? For example, if a license certificate specifies that a particular software product can be utilized on processors totaling up to 1,000 MIPS [a measurement of relative processing power] , does a given hypothetical configuration exceed 1,000 MIPS at any given point in time? Note: For purposes of illustration MIPS is used. However, any other form of capacity measurement can be used. Such measures of relative processing power are commonly provided by manufacturers. One such, Million Service Units (MSU) , is a measure of cpu hours and is used alone or sometimes in conjunction with MIPS. • For a user-specified selection of license certificates, what are the financial and non- financial figures for these items over a user- specified period of time? • For an actual or hypothetical configuration, for a user-specified selection of license certificates, what are the financial consequences in an actual or hypothetical configuration of changing one of the terms or conditions? For example, if a license agreement corresponding to the selected license certificate specified a cap on increases in annual maintenance fees to 8%, what are the consequences over a given period of decreasing the cap to 5%? • For an actual or hypothetical configuration, for a user-specified selection of license certificates, are the license rights of these certificates being underutilized by an actual or hypothetical configuration? For example, if a license certificate authorizes that a particular software product can be utilized on processors totaling up to 1,000 MIPS, does a given hypothetical configuration fail to reach 1,000 MIPS at any given point in time? • For selected items of hardware or software in a hypothetical configuration: •has a quote from the vendor been requested? has a quote from the vendor been received? for each of the above, when, how, and by whom? what are the financial consequences of this change? Using this methodology, the user is afforded a number of benefits, in addition to those previously mentioned, which would otherwise have to be performed manually or require additional software resources. These include : • The ability to maintain a history of all software quotations and their corresponding replies ; • The ability to maintain an accurate change history for each software product or set of products; • The ability to rollback to a prior set of certificates having a particular CR# (i.e., de-apply a set of certificates assuming this function is supported by the PM/LM) which have been saved in the APL. • The ability to be automatically alerted to an important contractual event and to initiate the appropriate action with the associated license certificates (request a quote, de-apply a certificate, etc.) Although the present invention has been described in relation to particular embodiments thereof, many other variations and modifications and other uses will become apparent to those skilled in the art. It is preferred, therefore, that the present invention be limited not by the specific disclosure herein, but only by the appended claims.

Claims: WHAT IS CLAIMED IS: 1. A method of managing license data used by software licensing managers operating on a computer, the method comprising the steps of: surveying the computer, substantially automatically, and locating and identifying the license data on the computer pertaining to substantially all licensed software products on the computer, the license data including license certificate data pertaining to the licensed software products; and storing the license data in a license rights database . 2. The method of claim 1, including locating and identifying all license servers and license certificates in the computer. 3. The method of claim 1, including carrying out the surveying step as a computer batch process initially to create the license rights database. 4. The method of claim 1, including automatically notifying a license surveyor which performs the surveying step to conduct a full or incremental survey in response to the detection of a change in a software license certificate, the installation of a new software product, or the execution of a software product that either has an expired certificate or no certificate. 5. The method of claim 1, including incorporating a listening process software into one of: a protective mechanism software, a license manager, an operating system, or a separate software process monitoring software operating on the computer. 6. The method of claim 1, further including providing a change processor to track changes made to license certificates using knowledge accumulated in the license rights database. 7. The method of claim 6, including deploying the change processor to determine from the license rights database which licensed products would be affected by a required change request and store a list of affected software products and their associated licensors in an affected products list. 8. The method of claim 6, including enabling the change processor to determine which products are affected by a given change request by cataloguing in the license rights database software products by one or more of: organization, enterprise, location, computer, user, class of products and heuristics applied to determine actions caused by changes to one or more software products. 9. The method of claim 1, including the steps of: determining whether one or more license certificates are required for modifying the operation of corresponding licensed software products; generating a quote request to licensors of corresponding software products, when license certificates are required; at least partially defining proposed changes to a license environment; receiving a quote from the corresponding license source in response to quote requests; and determining whether to receive a certificate. 10. The method of claim 9, further including requesting a license certificate from a corresponding licensor; and receiving a license certificate and applying it to the computer to modify the software environment for corresponding software products. 11. The method of claim 10, further including enabling a user to manually enter or change license certificates where permitted by a licensor, using a certificate editor/viewer. 12. The method of claim 1, including the steps of: surveying the computer and creating a list of substantially all license certificates pertaining to the computer; operating an auditing software to create a list of software products on the computer; and operating a list associator to analyze the list of license certificates created by the surveying step and the list of software products created by the auditing software and establishing associations between items in the license certificate list and the software products list. 13. The method of claim 12, including creating a separate table and storing in the table links which associate records in one list with corresponding records in the other list. 14. The method of claim 12, further comprising a data editor/viewer for concurrently presenting on a display, two or more lists of items that have been first associated by the list associator. 15. A method of managing license data that is controlled by at least one software license manager operating on a computer, the license data including license certificate data, the method comprising the steps of : surveying the computer and creating a first list of substantially all license certificates pertaining to the computer; operating a license agreement tracking software to create a second list of licensed software products and license terms associated with the computer; and operating a list associator to analyze the first list of license certificates created by the surveying step and the second list of licensed software products and license terms created by the license agreement tracking software and establishing associations between items in the first and second lists. 16. The method of claim 15, including creating a separate table and storing in the table links which associate records in the first list with corresponding records in the second list. 17. The method of claim 15, in which the list associator creates associations based on heuristics that evolve data matchings on the basis of probabilities of records being associated with one another and attributable to identifying similarities of records . 18. The method of claim 15, in which the heuristics rely on techniques selected from a group consisting of: Soundex coding, pattern matching, dictionary lookup and fuzzy logic. 19. The method of claim 15, including: operating a modeling software which models actual and hypothetical changes in hardware and software configurations over time to create a further list of modeled products on the computer; and operating the list associator to analyze the list of license certificates and the model list and establishing associations between items in the first and second lists. 20. The method of claim 19, including creating a separate table and storing in the table links which associate records in the first list with corresponding records in the second list. 21. The method of claim 19, further including providing a data reconciler which reconciles differences between records in the list of license certificates and the model list subsequent to the association thereof. 22. The method of claim 19, further comprising a data editor/viewer for concurrently presenting on a display, two or more lists of items that have been first associated by the list associator.

Inventors: BARRITZ ROBERT, VARDI DAVID, BARRITZ, ROBERT, VARDI, DAVID
Applicants: ISOGON CORP, ISOGON CORPORATION
Application year: 2001
Main classification: G06F1
IPC codes: G06F1, G06F21