WO2004109434A2 - Self-service customer license management application providing transaction history - Google Patents

Self-service customer license management application providing transaction history Download PDF

Info

Publication number
WO2004109434A2
WO2004109434A2 PCT/US2004/014730 US2004014730W WO2004109434A2 WO 2004109434 A2 WO2004109434 A2 WO 2004109434A2 US 2004014730 W US2004014730 W US 2004014730W WO 2004109434 A2 WO2004109434 A2 WO 2004109434A2
Authority
WO
WIPO (PCT)
Prior art keywords
license
software
group
licenses
user
Prior art date
Application number
PCT/US2004/014730
Other languages
French (fr)
Other versions
WO2004109434A3 (en
Inventor
Carey E. Garibay
Ru-Lien Fong
Teresa Gurahoo
Marta Sue Pieraldi
Amanda Soukup
Eva Tsai
Thomas Han
Quoc Le
Mario Kosmiskas
Jonathan Thompson
David Felts
Sadhana Jain
Original Assignee
Bea Systems, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/655,713 external-priority patent/US20040249653A1/en
Priority claimed from US10/655,811 external-priority patent/US20040249755A1/en
Priority claimed from US10/656,477 external-priority patent/US20040249762A1/en
Priority claimed from US10/656,476 external-priority patent/US20050010532A1/en
Priority claimed from US10/655,773 external-priority patent/US20040249760A1/en
Priority claimed from US10/655,793 external-priority patent/US20040249761A1/en
Priority claimed from US10/664,473 external-priority patent/US20040249756A1/en
Application filed by Bea Systems, Inc. filed Critical Bea Systems, Inc.
Publication of WO2004109434A2 publication Critical patent/WO2004109434A2/en
Publication of WO2004109434A3 publication Critical patent/WO2004109434A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2119Authenticating web pages, e.g. with suspicious links

Definitions

  • the present invention relates to methods and systems for managing software licenses.
  • Software is typically licensed to customers rather than being sold outright.
  • the software is licensed for use by a single user or on a single computer.
  • the software can be "JP locked” meaning that the software can be used at a single Internet Protocol (IP) address.
  • IP Internet Protocol
  • a license key defines the environment that the software can be used.
  • License management systems have been devised in order to maintain licenses for companies. This is especially a concern when a company has a large number of licenses for a variety of different computers, across multiple sites and geographies, and distributed to many developers or technical personnel across the customer's enterprise.
  • Figure 1 is a diagram that illustrates a system of one embodiment of the present invention.
  • Figure 2 is a diagram of a license management unit used in one embodiment of the present invention.
  • Figure 3 is an exemplary web page flow diagram (site map) for a web application of one embodiment of the present invention.
  • Figure 4 is a diagram of a software architecture for one embodiment of a license management unit of the present invention.
  • Embodiments of the present invention concern methods and systems for customers to self-manage their software license environment dynamically, while maintaining compliance with the terms of their license purchases.
  • the web application provides customers with the control, while reducing administrative burden to the licensee and/or licensor.
  • Four important process components are use in different embodiments of the present system: 1.
  • User Access Administration This process can include the ability to grant access to the web application, to both customers and internal users of the licensor or licensee.
  • a customer administration application allows customers to manage access of their internal users.
  • the customer administration application can allow a customer administrator to set license information access and license modification rights for internal users.
  • the customer administration application can prompt internal users to supply additional environment and license information that can be used in controlling the access and modification rights.
  • Self-Service License Management There are several unique processes supported through the web application enabling customers to manage their license environment; including, but not limited to initial and on-going hcense retrieval, license tracking, license transfer, version upgrades and downgrades, update machine configuration, license reconfiguration, prepaid license "burndown" retrieval, database update requests and entitlement tracking.
  • transaction histories for the license can be provided to users.
  • the transaction histories can use a unique license ID, which is constant throughout the life of the license entitlement.
  • the stored license information can be the focus of Search and Reporting for operational reports, customer specific reporting and cross-customer reporting and analysis.
  • FIG. 1 is a diagram that illustrates one embodiment of the present invention.
  • the software users 102 and 104 can connect across the internet 106 to the license management unit 108.
  • the license management unit 108 is software loaded onto one or more servers.
  • the license management unit 108 can be associated with a license key generator 110, which produces the license keys for the operation of the software.
  • the software user 102 or 104 downloads the software from unit 112.
  • the license management unit 108 can cause the license key generator to produce the license key for the software.
  • the key is associated with the software version and/or is locked for an "JP address".
  • software users 102 and 104 interact with the license management unit 108 using a web application.
  • the license management unit 108 can include an order agent, which periodically checks the database to see what notifications need to be made to the users.
  • the database can be shared with an order management system 114, such as those available from Enterprise Resource Planning (ERP) vendors, such as PeopleSoft, which adds new orders to the database.
  • ERP Enterprise Resource Planning
  • PeopleSoft PeopleSoft
  • the information in the database can be checked by order agent periodically and determined whether a license key needs to be generated to be provided to the software user.
  • the license management unit 108 can also interact with other backend applications 116. In one embodiment, the interaction between the license management unit 108 and the license key generator 110 can use the Java Messaging Services (JMS).
  • JMS Java Messaging Services
  • Figure 2 illustrates an example of a license management unit 200.
  • the license management unit includes multiple software layers.
  • the software includes a presentation layer 202, business layer 204 and data store 206.
  • the presentation layer 204 includes web page construction unit 208.
  • the web page construction unit 208 is used to produce the web pages.
  • Business layer 204 contains business logic for the license management unit, h this example, the business layer 204 includes business logic for self- service license management, hi one embodiment, this logic allows users to update and modify the software license information without requiring intervention by administrators.
  • software upgrade/downgrade logic 210 contains logic that allows for the upgrade/downgrade of the software version for the license.
  • the upgrade/downgrade can cause the construction of a new license key.
  • the new license key can be provided by the user across the web page or using e-mail for security.
  • TP address change logic 212 can allow the user to input a new JP address for the software license, which is important for "JP locked" software.
  • the JP address change can also be associated with the construction of a new license key that will work for the new JP address.
  • the old license for the old JP address is automatically invalidated.
  • Machine configuration update logic 236 allows a user to update configuration information to be associated with a license.
  • the configuration information can include platform, database, machine name, domain name, environment, operating system as well as data defined by individual customers, based on their unique license tracking requirements. This information may be useful to help the user keep track of the software licenses.
  • the initial license retrieval logic 238 is used to provide license keys to the users. Once a software order is made, an email with an encrypted Universal Resource Locator (URL) can be sent to the user. The user can use the encrypted URL to go to a web page that allows a software license key to be downloaded. The encrypted URL is encrypted in the sense that it would be difficult for someone to guess the URL.
  • URL Universal Resource Locator
  • an encrypted URL address for the web page means that a login is not required to access the license key.
  • the encrypted URL can be sufficiently long and sufficiently unrelated to other encrypted URLs that the encrypted URL is unlikely to be guessed, h one embodiment, each license key can only be downloaded once from the web page and once all license keys are downloaded from the web page, the web page is deleted.
  • An authorization code for use with the license management system can also be provided with the email.
  • the authorization code allows access to the software license information through an automated pre-approval of the registrant, based on use of the authorization code.
  • the automatic update with authorization code unit 254 can be used to update the license information into a database when the authorization code is provided. hi one embodiment, another copy of the license key can be obtained after login using the ongoing license retrieval unit 252.
  • the license search unit 256 can be used to search the database for a software license.
  • the license database update request logic 240 allows for the creation of requests to update the database with a license that is missing from the database. If an authorized software license is missing from the database, the license database update request logic 240 allows for inputting information related to the license so that a licensor administrator can update the database with the license information. A web application can prompt the user to provide information useful for determining the license is valid. This information can include company name, license LD, serial numbers and the like.
  • the business layer 204 can also include security and access logic 232.
  • login and role logic 242 allows a user to login, hi one embodiment, the login process assigns each user a role.
  • the roles can include main administrator, group administrator, as well as other user roles.
  • the role can affect the web pages presented, as well as access and modification rights to the software license data. For example, users may only be able to view and modify licenses of the group that they are members.
  • the login can be a single sign-on associated with a number of applications.
  • the main administration logic 244 allows administrators to access and modify licenses as required. In one embodiment, the administrators receive requests from users including requests to add missing licenses.
  • the main administration logic 244 allows for actions such as changing email addresses that could be a security problem if allowed to be done by users.
  • the group administration logic 246 allows group administrators to control the access and modification rights of the software license data for members of a group.
  • the group can be a company, hi one embodiment, the group administration logic 246 allows for the customization of functions represented by the web pages that are accessed by group members.
  • inputted field information is a customer defined field and the access rules are such that some group members can only access software license information associated with the customer definition.
  • the group administrator can require group members to input data such as department, location etc.
  • the group administrator can restrict access to software license information based on these fields.
  • customizable fields can be used to request information from group members. This additional information helps the group administrator control and keeps track of the software licenses.
  • Asset management logic 234 can be used for keeping track of the software licenses, hi one embodiment, the asset management logic 234 includes searching and reporting logic 248 that so that a user can search for software license data as well as to produce reports based on searches. For example, spreadsheet, text or other reports can be produced that allow software license data to be easily viewed by users offline.
  • the search logic allows users to find licenses and transactions as well as to view license and transaction information.
  • transaction history logic 250 is used so that users can see a transaction history associated with a license.
  • a license JD can be used associated with each software license.
  • the license ID can be used to keep track of the software license even after the configuration information, IP address, and software version has changed.
  • the transaction history can indicate information related to each relevant transaction including date, user making the change, status and old version, configuration, and JP address information.
  • the data store 206 includes license records 220 and 222.
  • the license records can include: license JD; licensee information such as the licensee name, company name, location; software version number information which indicates the software version; JP address which is important for the IP locked software; and configuration information, which can include the information useful to the software user in searching for specific licenses.
  • the license key may also be a part of the digital record, h one embodiment, a single license JD is used for a license throughout all of the transactions.
  • the transactions can include changing the IP address, changing the license version, etc.
  • the license management unit can be used for one or more software vendors' licenses.
  • the license management software can include a customization module (not shown) that allows for the adjusting of the details of a vendor's business logic. This allows the license management software to be used for different vendors. Vendors can have different requirements for upgrades/downgrades, license asset locking, license keys and other functionality that can be set in the customization module.
  • the ability to store configuration information makes the license management unit useful for the internal use of a company.
  • the company can obtain details of the licenses from one or more vendors.
  • information from the license management unit can be copied to user internal databases.
  • Figure 3 is a simplified exemplary diagram of web page flow (site map) seen by users in one embodiment of the present invention. This diagram has been simplified by not showing all web pages and links between web pages.
  • portlets are used for functionality and can be used in a variety of different web pages.
  • the login page 302 is used for login, hi one embodiment, a role such as user, group administrator, or main administrator is assigned based on the login.
  • the roles can be implemented by using the WebLogic PortalTM product of BEA Systems, of San Jose, California.
  • the roles provide security for the system such that the customers cannot access other customers licenses.
  • Authorization can be sent to the user by e-mail, so that the e-mail address of the user is verified.
  • a user main page 304 allows the user to search for license(s) as well as other license related activities, including adding a missing license.
  • the add missing license page 306 allows the user to upload information sufficient for an administrator to determine whether the user had purchased a license that is not in the license management unit database. A main administrator can review the missing license request once received to determine whether to accept the missing license.
  • the license search results page 308 displays search results and allows users to manipulate and review the licenses.
  • the upgrade/downgrade license page 310 allows the user to upgrade or downgrade a license.
  • the software version can be changed by more than one step. The user need not sequentially step through all the different product versions in order to get the desired product version. As described above, the upgrade or downgrade of the license can cause the construction of another license key. The user can separately download the new version of the software. When a new upgraded/downgraded license is created, in one embodiment, the old license is inactivated within the database.
  • the update configuration page (configuration input page) 312 allows the user to update the configuration information associated with a license.
  • Configuration input pages can also be provided when the license is first accessed and after a change, such as an JP address change.
  • the configuration input pages include fields that are definable by a group administrator. These definable fields allow the group administrators to customize the collected configuration information.
  • the change JP address page 314 allows the user to input a new JP address for the license. If a license key is required, the key can be generated by the system and provided by the license management unit to the software user. The system can indicate that the license is no longer valid for the old JP Address.
  • the retrieve license page 316 allows the user to receive a copy of the license key for the software license.
  • the license detail page 318 shows the transaction history for the license.
  • the license detail page 318 can also show other details of the license.
  • the transaction history can indicate any business operations performed against the license.
  • stored indications can allow the system to disable the validity of old license versions. When an upgrade or downgrade occurs, the old version is invalidated. Storing the JP address of the old version allows the user to better keep track of their licenses.
  • Transaction detail page 319 shows the details of a selected transaction.
  • a "My Licenses" page 307 can be used to show a customer's most recently updated licenses.
  • the "My Licenses" page can be used to access the functions of pages 310, 312, 314, 316, and 318.
  • the group administrator page 320 allows the group administrator to access all of the pages a normal user can as well as to access a set group member rules page 322.
  • the set group member rules page 322 allows a group administrator to control the access for group members.
  • the set group member rules page 322 can be used to require the members to input a department or other field data.
  • the license information can also include such field information required by the group administrator.
  • the asset management page 323 can allow searching, reporting for operational reporting, and customer specific reporting. Cross-customer reporting and analysis can also be done.
  • the group is a consultant group working with multiple clients and the cross-customer comparisons indicate differences in licensing between clients.
  • Main administrator pages allow the internal administrative user to do tasks required for the maintenance of the license management system.
  • the main administrator page 324 allows the group administrator to access all of the pages a normal user can as well as to access management tool pages 326.
  • the management tool pages 326 can allow the main administrator to approve or deny new user requests and license access requests and to add or deny a missing license, hi one embodiment, the main administrator can have greater access to the license data.
  • Administration portlets can be provided to main administrator in pages, such as pages 308, 310, 312, and 314, to give the main administrator greater ability to manipulate the software license data.
  • Figure 4 illustrates a software model that can be used with one embodiment of present invention.
  • the license management unit of the present invention need not use this model, but the model described here provides a number of advantages.
  • the presentation layer in this embodiment includes a portlet layer 402. This layer constructs portlets and web pages.
  • the portlet construction system can be the WebLogic PortalTM available from BEA Systems, of San Jose, California.
  • the portlet pages of one embodiment are used for rendering and do not directly invoke the business layers, h one embodiment, portal security is used to only render the pages, based upon user roles.
  • the input processors 404 evaluates the information input by the user. For example, the input processors 404 can check to ensure that the TP address, e-mail addresses, and other fields are correct in form.
  • the business delegates 406 allows the presentation layer to access the business function layer.
  • Business delegates are a known software design pattern that improves the modularity of the system
  • the business layer can be divided into the object model software 408 and session facade 410.
  • the session facade logic 410 acts as a services layer.
  • the session facade as requested by the user can provide the functionality to manipulate the object model instances.
  • the business logic is preferably contained within this layer.
  • the object model 408 defines the objects, which are operated upon by the business logic in the session facade 410.
  • the objects are implemented as entity beans.
  • Container Managed Persistence (CMP) entity beans are used. One or more of these beans can be used to contain the license record for the software licenses.
  • CMP Container Managed Persistence
  • the data transfer objects contain information that is moved between the business and presentation layers. This allows the business layer and the presentation layer to be decoupled.
  • a number of frameworks are used to help construct the system of Figure 4. Frameworks are a way of modularizing commonly used sections of code within the design.
  • a list framework can be used for the presentation of lists.
  • a search framework can be used for search operations. In one embodiment, the search framework is built on top of the list framework and provides abstractions and page display capabilities.
  • a template framework can be used for parameterizable objects. The template framework allows for the isolation of the business logic from the details of the application that uses the template. For example, e-mail programs often use templates and use of a template framework allows the use multiple independently configurable e-mail templating mechanisms by isolating details of e-mail templating form the rest of the business logic.
  • a Notification framework can be used for the construction of a message through different channels. The notification framework isolates the business logic from the channel details. Channels can include an e-mail channel, a text messaging channel and other communication channels.
  • the license management system is designed with modular components to ease the integration into systems, such as ERP, database, and license generator systems.
  • systems such as ERP, database, and license generator systems.
  • the details of other systems are abstracted away by using well defined interfaces. Changes of the ERP, database or license generator systems only require a link to the interface.
  • One embodiment of the present invention includes maintaining digital records of software licenses for multiple groups.
  • the groups can include users from one or more companies.
  • the digital records indicate rights associated with a software licenses.
  • a group administration application can be accessed to set access rules for members of a group. The rules controlling the access of digital record data of the group by members of the group. The access rules can be used to determine whether to allow a member of the group to access digital record data.
  • a memory which can be persistent storage implementing database, can be used to store the digital records.
  • the group administration application can be executed on a single or multiple processors.
  • One embodiment of the present invention includes, after a software order, sending an e-mail message with an encrypted URL to a user.
  • the encrypted URL is used to access a web page.
  • a user can then download a license key from the web page.
  • a memory can be used to store the license keys.
  • a processor or processors can be used to produce and send the e-mail message, and to produce the web page for downloading the license key.
  • One embodiment of the present invention includes providing a configuration input page, the configuration input page including fields for the input of configuration information concerning a software license.
  • the configuration input page includes fields that are definable by a group administrator so that these fields are displayed for members of the group. These field can allow the group members to input configuration information.
  • the fields can be optional or required for the group members.
  • the login process is used to assign a user to a group, such as a company.
  • the group member identification can be used to construct the configuration input page including the fields defined by a group administrator.
  • a digital record is maintained of the software license.
  • the digital record includes the configuration information.
  • a group administration application can be used to define fields for the configuration input page.
  • the group administration application can be used to produce a pull down list for a field of the configuration input page.
  • the pull down list can include valid selections of configuration information for a field.
  • the input configuration information can includes the number of CPUs, the operating system, the use environment of the software (i.e., test or production), CPU type, and IP address. Examples of group administrator selected fields include department, project name, charge numbers or any other field, h one embodiment, the user can change the JP address at which the software is licensed and the configuration input screen is provided when the user changes the IP address. The change of JP address can automatically causes the license to be invalidated at the old IP address.
  • a transaction history can be maintained that indicates changes to the configuration infonnation.
  • a memory or memories can be used to store the digital record.
  • a processor or processors can be used to provide the configuration input page.
  • One embodiment of the present invention includes maintaining a software license bank for a customer.
  • the software licenses stored in the software license bank not being associated with specific machines.
  • a web application can be accessed to allow a user to automatically obtain a software license for a specific machine from the software license bank.
  • a memory or memories can be used to store a software license bank.
  • a processor or processors can be used to provide the web application.
  • the software licenses available from the software license bank can be set based on a contract.
  • the software license bank can be set up based on a number of factors.
  • the software license bank can store a predetermined dollar amount of licenses, a predetermined CPU count of software licenses, or a predetermined user count of software licenses.
  • the software license bank contains an unlimited number of licenses for some period of time. License keys for the software can be downloaded when a software license is removed from the software license bank.
  • One embodiment of the present invention includes maintaining digital records of software licenses for a group.
  • the digital records indicate rights associated with software licenses, the digital records being accessible by a group member using a web application.
  • a group member can access the web application to input information concerning a software license that is not stored in the digital records so as to allow an administrator to add the missing software license.
  • a memory or memories can be used to store the digital records.
  • a processor or processors can be used to provide the web application.
  • a digital record of the software license is maintained.
  • This digital record can be maintained with a license management unit.
  • the digital record indicates rights associated with the software license.
  • the indicated rights can be the right to execute the software indicated by the license on a given computer by an indicated user or at a given JP address.
  • the digital records can indicate any other rights associated with the software license.
  • the digital records can be stored in any type of memory such as a database, hi one embodiment, the digital record can be stored on one or more entities defined by an object model of the license management unit.
  • the digital record Under control of a software user, the digital record is accessed and the rights associated with the software license are adjusted.
  • the digital record is accessed by using a web-based interface to allow the software users to access a server storing the digital record.
  • the rights associated with the software license can be modified.
  • the JP address can be changed or the software can be upgraded or downgraded. These adjustments may or may not be associated with user payments.
  • a transaction record of adjustments of the rights associated with the software license is automatically maintained. Constructing the transaction history helps users keep track of the changes of the right associated with the license. For example, an indication of a change of the IP address or a change of software version (upgrades/downgrades) can be stored. This information can be useful for managing the licenses.
  • the software user can check the stored transaction information to see the prior status of the software licenses. Changes to the software license may invalidate previously valid licenses. The user can search on information, such as stored configuration information, to determine whether a license is invalid for a computer.
  • the transaction history can allow a user to find what license used to be associated with an IP address even after that license has changed IP addresses.
  • digital records of software licenses are maintained.
  • the digital records indicating rights associated with a software licenses.
  • the software version for multiple software licenses can be upgraded or downgraded in a batch mode.
  • An indication of the upgrade or downgrade is stored in the digital record.
  • the batch mode can be implemented by allowing a user to select multiple licenses.
  • the multiple licenses can be selected from a "My Licenses" or license search result page. While multiple licenses are selected the user can select an upgrade/ downgrade for the selected licenses.
  • digital records of software licenses are maintained.
  • the digital records indicating rights associated with a software licenses.
  • the software version for a software license is upgraded or downgraded.
  • the upgrade or downgrade selected from a list of possible upgrades or downgrades. Such a list can be a pull down list on a web page.
  • the user can select an upgrade or downgrade that skips an intermediate version. For example if the software version is 2.1 and selections of versions 2.2 and 2.3 are available the user can skip the intermediate version 2.2 and select the version 2.3.
  • the update of the version can include providing a new license key. The old version can be invalidated.
  • a software license is selected under the control of a software user.
  • the license can be selected from a "my licenses" page or a license search page for example.
  • a list of appropriate product versions for upgrade or downgrade of the software license is obtained.
  • the list can be obtained from another source such as a license generation system.
  • the list can indicate possible upgrades or downgrades based on the current license version or other information.
  • the list is transferred to the license management unit from the license generation system as an XML file constructed based on a dependency graph indicating the possible upgrades and downgrades from a current version.
  • the list of appropriate product versions can be provided to the software user.
  • the list is provided to the software user as a pulldown list. The user can select one of the appropriate product versions for upgrading or downgrading the software version.
  • an indication of the upgrade or downgrade is stored in the digital record.
  • the update of the version can include providing a new license key.
  • the old version can be invalidated, hi one embodiment, the software version can be downgraded. This adds flexibility for users who may want to downgrade a license for reasons of compatibility or consistency.

Abstract

A license management unit is described which provides for a web based access to digital records for software licenses. The digital records can indicate rights associated with the software license. A transaction history can be maintained including adjustments of the rights associated with the software license.

Description

SELF-SERVICE CUSTOMER LICENSE MANAGEMENT APPLICATION PROVIDING TRANSACTION HISTORY
CLAIM OF PRIORITY U.S. Provisional Patent Application No. 60/475,456 entitled "Self-Service
Customer Management Application", by Kosmiskas et al., filed June 3, 2003.
U.S. Provisional Patent Application No. 60/485,867 entitled "Self-Service
Customer License Management Application", by Garibay et al., filed July 9, 2003.
U.S. Patent Application No. 10/655,811 entitled "Self-Service Customer License Management Application Using a Group Administration Application", by
Garibay et al., filed September 5, 2003.
U.S. Patent Application No. 10/655,773 entitled "Self-Service Customer License Management Application Using Encrypted Universal Resource Locators", by Garibay et al, filedSeptember 5, 2003. U.S. Patent Application No. 10/656,477 entitled "Self-Service Customer
License Management Application Using Configuration Input Pages", by Garibay et al., filed September 5, 2003.
U.S. Patent Application No. 10/656,476 entitled "Self-Service Customer License Management Application Using Software License Bank", by Garibay et al, filed September 5, 2003.
U.S. Patent Application No. 10/655,713 entitled "Self-Service Customer License Management Application Allowing Users to Input Missing Licenses", by Le et al., filed September 5, 2003.
U.S. Patent Application No. 10/664,473 entitled "Self-Service Customer License Management Application Allowing Software Version Upgrade and Downgrade", by Garibay et al., filed September 17, 2003
U.S. Patent Application No. 10/655,793 entitled "Self-Service Customer License Management Application Providing Transaction History", by Garibay et al., filed September 5, 2003. BACKGROUND
The present invention relates to methods and systems for managing software licenses. Software is typically licensed to customers rather than being sold outright. In some cases, the software is licensed for use by a single user or on a single computer. The software can be "JP locked" meaning that the software can be used at a single Internet Protocol (IP) address. In "JP locked" systems, a license key defines the environment that the software can be used.
License management systems have been devised in order to maintain licenses for companies. This is especially a concern when a company has a large number of licenses for a variety of different computers, across multiple sites and geographies, and distributed to many developers or technical personnel across the customer's enterprise.
BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a diagram that illustrates a system of one embodiment of the present invention.
Figure 2 is a diagram of a license management unit used in one embodiment of the present invention.
Figure 3 is an exemplary web page flow diagram (site map) for a web application of one embodiment of the present invention.
Figure 4 is a diagram of a software architecture for one embodiment of a license management unit of the present invention.
DETAILED DESCRIPTION Embodiments of the present invention concern methods and systems for customers to self-manage their software license environment dynamically, while maintaining compliance with the terms of their license purchases. The web application provides customers with the control, while reducing administrative burden to the licensee and/or licensor. Four important process components are use in different embodiments of the present system: 1. User Access Administration - This process can include the ability to grant access to the web application, to both customers and internal users of the licensor or licensee. In one embodiment, a customer administration application allows customers to manage access of their internal users. The customer administration application can allow a customer administrator to set license information access and license modification rights for internal users. The customer administration application can prompt internal users to supply additional environment and license information that can be used in controlling the access and modification rights.
2. Self-Service License Management - There are several unique processes supported through the web application enabling customers to manage their license environment; including, but not limited to initial and on-going hcense retrieval, license tracking, license transfer, version upgrades and downgrades, update machine configuration, license reconfiguration, prepaid license "burndown" retrieval, database update requests and entitlement tracking.
3. Historical License Life Cycle Reporting - In one embodiment, transaction histories for the license can be provided to users. The transaction histories can use a unique license ID, which is constant throughout the life of the license entitlement.
4. Asset Management- in one embodiment, the stored license information can be the focus of Search and Reporting for operational reports, customer specific reporting and cross-customer reporting and analysis.
Figure 1 is a diagram that illustrates one embodiment of the present invention. The software users 102 and 104 can connect across the internet 106 to the license management unit 108. In one embodiment, the license management unit 108 is software loaded onto one or more servers. The license management unit 108 can be associated with a license key generator 110, which produces the license keys for the operation of the software. Also, shown is a software download unit 112. In one example, the software user 102 or 104 downloads the software from unit 112. The license management unit 108 can cause the license key generator to produce the license key for the software. In one embodiment, the key is associated with the software version and/or is locked for an "JP address". In one embodiment, software users 102 and 104 interact with the license management unit 108 using a web application.
The license management unit 108 can include an order agent, which periodically checks the database to see what notifications need to be made to the users. For example, the database can be shared with an order management system 114, such as those available from Enterprise Resource Planning (ERP) vendors, such as PeopleSoft, which adds new orders to the database. The information in the database can be checked by order agent periodically and determined whether a license key needs to be generated to be provided to the software user. The license management unit 108 can also interact with other backend applications 116. In one embodiment, the interaction between the license management unit 108 and the license key generator 110 can use the Java Messaging Services (JMS).
Figure 2 illustrates an example of a license management unit 200. hi this example, the license management unit includes multiple software layers. The software includes a presentation layer 202, business layer 204 and data store 206. hi this example, the presentation layer 204 includes web page construction unit 208. The web page construction unit 208 is used to produce the web pages.
Business layer 204 contains business logic for the license management unit, h this example, the business layer 204 includes business logic for self- service license management, hi one embodiment, this logic allows users to update and modify the software license information without requiring intervention by administrators. hi one embodiment, software upgrade/downgrade logic 210 contains logic that allows for the upgrade/downgrade of the software version for the license. In one embodiment, the upgrade/downgrade can cause the construction of a new license key. The new license key can be provided by the user across the web page or using e-mail for security.
TP address change logic 212 can allow the user to input a new JP address for the software license, which is important for "JP locked" software. The JP address change can also be associated with the construction of a new license key that will work for the new JP address. In one embodiment, the old license for the old JP address is automatically invalidated.
Machine configuration update logic 236 allows a user to update configuration information to be associated with a license. The configuration information can include platform, database, machine name, domain name, environment, operating system as well as data defined by individual customers, based on their unique license tracking requirements. This information may be useful to help the user keep track of the software licenses. h one embodiment, the initial license retrieval logic 238 is used to provide license keys to the users. Once a software order is made, an email with an encrypted Universal Resource Locator (URL) can be sent to the user. The user can use the encrypted URL to go to a web page that allows a software license key to be downloaded. The encrypted URL is encrypted in the sense that it would be difficult for someone to guess the URL. The use of an encrypted URL address for the web page means that a login is not required to access the license key. The encrypted URL can be sufficiently long and sufficiently unrelated to other encrypted URLs that the encrypted URL is unlikely to be guessed, h one embodiment, each license key can only be downloaded once from the web page and once all license keys are downloaded from the web page, the web page is deleted.
An authorization code for use with the license management system can also be provided with the email. The authorization code allows access to the software license information through an automated pre-approval of the registrant, based on use of the authorization code. The automatic update with authorization code unit 254 can be used to update the license information into a database when the authorization code is provided. hi one embodiment, another copy of the license key can be obtained after login using the ongoing license retrieval unit 252. The license search unit 256 can be used to search the database for a software license.
The license database update request logic 240 allows for the creation of requests to update the database with a license that is missing from the database. If an authorized software license is missing from the database, the license database update request logic 240 allows for inputting information related to the license so that a licensor administrator can update the database with the license information. A web application can prompt the user to provide information useful for determining the license is valid. This information can include company name, license LD, serial numbers and the like.
The business layer 204 can also include security and access logic 232. h one embodiment, login and role logic 242 allows a user to login, hi one embodiment, the login process assigns each user a role. The roles can include main administrator, group administrator, as well as other user roles. The role can affect the web pages presented, as well as access and modification rights to the software license data. For example, users may only be able to view and modify licenses of the group that they are members. The login can be a single sign-on associated with a number of applications. The main administration logic 244 allows administrators to access and modify licenses as required. In one embodiment, the administrators receive requests from users including requests to add missing licenses. The main administration logic 244 allows for actions such as changing email addresses that could be a security problem if allowed to be done by users. The group administration logic 246 allows group administrators to control the access and modification rights of the software license data for members of a group. The group can be a company, hi one embodiment, the group administration logic 246 allows for the customization of functions represented by the web pages that are accessed by group members. In one embodiment, inputted field information is a customer defined field and the access rules are such that some group members can only access software license information associated with the customer definition. For example, the group administrator can require group members to input data such as department, location etc. The group administrator can restrict access to software license information based on these fields. In one embodiment, customizable fields can be used to request information from group members. This additional information helps the group administrator control and keeps track of the software licenses.
Asset management logic 234 can be used for keeping track of the software licenses, hi one embodiment, the asset management logic 234 includes searching and reporting logic 248 that so that a user can search for software license data as well as to produce reports based on searches. For example, spreadsheet, text or other reports can be produced that allow software license data to be easily viewed by users offline. The search logic allows users to find licenses and transactions as well as to view license and transaction information.
In one embodiment, transaction history logic 250 is used so that users can see a transaction history associated with a license. A license JD can be used associated with each software license. The license ID can be used to keep track of the software license even after the configuration information, IP address, and software version has changed. The transaction history can indicate information related to each relevant transaction including date, user making the change, status and old version, configuration, and JP address information.
In this example, the data store 206 includes license records 220 and 222. The license records can include: license JD; licensee information such as the licensee name, company name, location; software version number information which indicates the software version; JP address which is important for the IP locked software; and configuration information, which can include the information useful to the software user in searching for specific licenses. Additionally, the license key may also be a part of the digital record, h one embodiment, a single license JD is used for a license throughout all of the transactions. The transactions can include changing the IP address, changing the license version, etc. The license management unit can be used for one or more software vendors' licenses. The license management software can include a customization module (not shown) that allows for the adjusting of the details of a vendor's business logic. This allows the license management software to be used for different vendors. Vendors can have different requirements for upgrades/downgrades, license asset locking, license keys and other functionality that can be set in the customization module.
The ability to store configuration information makes the license management unit useful for the internal use of a company. The company can obtain details of the licenses from one or more vendors. In one embodiment, information from the license management unit can be copied to user internal databases.
Figure 3 is a simplified exemplary diagram of web page flow (site map) seen by users in one embodiment of the present invention. This diagram has been simplified by not showing all web pages and links between web pages. In one embodiment, portlets are used for functionality and can be used in a variety of different web pages.
The login page 302 is used for login, hi one embodiment, a role such as user, group administrator, or main administrator is assigned based on the login. The roles can be implemented by using the WebLogic Portal™ product of BEA Systems, of San Jose, California. The roles provide security for the system such that the customers cannot access other customers licenses. Authorization can be sent to the user by e-mail, so that the e-mail address of the user is verified.
A user main page 304 allows the user to search for license(s) as well as other license related activities, including adding a missing license. The add missing license page 306 allows the user to upload information sufficient for an administrator to determine whether the user had purchased a license that is not in the license management unit database. A main administrator can review the missing license request once received to determine whether to accept the missing license. The license search results page 308 displays search results and allows users to manipulate and review the licenses. The upgrade/downgrade license page 310 allows the user to upgrade or downgrade a license. In one embodiment of the present invention, the software version can be changed by more than one step. The user need not sequentially step through all the different product versions in order to get the desired product version. As described above, the upgrade or downgrade of the license can cause the construction of another license key. The user can separately download the new version of the software. When a new upgraded/downgraded license is created, in one embodiment, the old license is inactivated within the database.
The update configuration page (configuration input page) 312 allows the user to update the configuration information associated with a license. Configuration input pages can also be provided when the license is first accessed and after a change, such as an JP address change. In one embodiment, the configuration input pages include fields that are definable by a group administrator. These definable fields allow the group administrators to customize the collected configuration information.
The change JP address page 314 allows the user to input a new JP address for the license. If a license key is required, the key can be generated by the system and provided by the license management unit to the software user. The system can indicate that the license is no longer valid for the old JP Address.
The retrieve license page 316 allows the user to receive a copy of the license key for the software license. The license detail page 318 shows the transaction history for the license. The license detail page 318 can also show other details of the license. The transaction history can indicate any business operations performed against the license. In one embodiment, stored indications can allow the system to disable the validity of old license versions. When an upgrade or downgrade occurs, the old version is invalidated. Storing the JP address of the old version allows the user to better keep track of their licenses. Transaction detail page 319 shows the details of a selected transaction. A "My Licenses" page 307 can be used to show a customer's most recently updated licenses. The "My Licenses" page can be used to access the functions of pages 310, 312, 314, 316, and 318.
The group administrator page 320 allows the group administrator to access all of the pages a normal user can as well as to access a set group member rules page 322. The set group member rules page 322 allows a group administrator to control the access for group members. For example, the set group member rules page 322 can be used to require the members to input a department or other field data. The license information can also include such field information required by the group administrator.
The asset management page 323 can allow searching, reporting for operational reporting, and customer specific reporting. Cross-customer reporting and analysis can also be done. In one embodiment, the group is a consultant group working with multiple clients and the cross-customer comparisons indicate differences in licensing between clients.
Main administrator pages allow the internal administrative user to do tasks required for the maintenance of the license management system. The main administrator page 324 allows the group administrator to access all of the pages a normal user can as well as to access management tool pages 326. The management tool pages 326 can allow the main administrator to approve or deny new user requests and license access requests and to add or deny a missing license, hi one embodiment, the main administrator can have greater access to the license data. Administration portlets can be provided to main administrator in pages, such as pages 308, 310, 312, and 314, to give the main administrator greater ability to manipulate the software license data.
Figure 4 illustrates a software model that can be used with one embodiment of present invention. The license management unit of the present invention need not use this model, but the model described here provides a number of advantages. The presentation layer in this embodiment includes a portlet layer 402. This layer constructs portlets and web pages. The portlet construction system can be the WebLogic Portal™ available from BEA Systems, of San Jose, California. The portlet pages of one embodiment are used for rendering and do not directly invoke the business layers, h one embodiment, portal security is used to only render the pages, based upon user roles.
The input processors 404 evaluates the information input by the user. For example, the input processors 404 can check to ensure that the TP address, e-mail addresses, and other fields are correct in form.
The business delegates 406 allows the presentation layer to access the business function layer. Business delegates are a known software design pattern that improves the modularity of the system The business layer can be divided into the object model software 408 and session facade 410. The session facade logic 410 acts as a services layer. The session facade as requested by the user can provide the functionality to manipulate the object model instances. The business logic is preferably contained within this layer. The object model 408 defines the objects, which are operated upon by the business logic in the session facade 410. In one embodiment, the objects are implemented as entity beans. In one example, Container Managed Persistence (CMP) entity beans are used. One or more of these beans can be used to contain the license record for the software licenses. h one embodiment, the communication between layers can be done with
Data Transfer Objects (DTOs). The data transfer objects contain information that is moved between the business and presentation layers. This allows the business layer and the presentation layer to be decoupled.
In one embodiment, a number of frameworks are used to help construct the system of Figure 4. Frameworks are a way of modularizing commonly used sections of code within the design. A list framework can be used for the presentation of lists. A search framework can be used for search operations. In one embodiment, the search framework is built on top of the list framework and provides abstractions and page display capabilities. A template framework can be used for parameterizable objects. The template framework allows for the isolation of the business logic from the details of the application that uses the template. For example, e-mail programs often use templates and use of a template framework allows the use multiple independently configurable e-mail templating mechanisms by isolating details of e-mail templating form the rest of the business logic. A Notification framework can be used for the construction of a message through different channels. The notification framework isolates the business logic from the channel details. Channels can include an e-mail channel, a text messaging channel and other communication channels.
In one embodiment, the license management system is designed with modular components to ease the integration into systems, such as ERP, database, and license generator systems. The details of other systems are abstracted away by using well defined interfaces. Changes of the ERP, database or license generator systems only require a link to the interface.
One embodiment of the present invention includes maintaining digital records of software licenses for multiple groups. The groups can include users from one or more companies. The digital records indicate rights associated with a software licenses. A group administration application can be accessed to set access rules for members of a group. The rules controlling the access of digital record data of the group by members of the group. The access rules can be used to determine whether to allow a member of the group to access digital record data. A memory, which can be persistent storage implementing database, can be used to store the digital records. The group administration application can be executed on a single or multiple processors.
One embodiment of the present invention includes, after a software order, sending an e-mail message with an encrypted URL to a user. The encrypted URL is used to access a web page. A user can then download a license key from the web page. A memory can be used to store the license keys. A processor or processors can be used to produce and send the e-mail message, and to produce the web page for downloading the license key.
One embodiment of the present invention includes providing a configuration input page, the configuration input page including fields for the input of configuration information concerning a software license. The configuration input page includes fields that are definable by a group administrator so that these fields are displayed for members of the group. These field can allow the group members to input configuration information. The fields can be optional or required for the group members. In one embodiment, the login process is used to assign a user to a group, such as a company. The group member identification can be used to construct the configuration input page including the fields defined by a group administrator. A digital record is maintained of the software license. The digital record includes the configuration information. A group administration application can be used to define fields for the configuration input page. The group administration application can be used to produce a pull down list for a field of the configuration input page. The pull down list can include valid selections of configuration information for a field. The input configuration information can includes the number of CPUs, the operating system, the use environment of the software (i.e., test or production), CPU type, and IP address. Examples of group administrator selected fields include department, project name, charge numbers or any other field, h one embodiment, the user can change the JP address at which the software is licensed and the configuration input screen is provided when the user changes the IP address. The change of JP address can automatically causes the license to be invalidated at the old IP address. A transaction history can be maintained that indicates changes to the configuration infonnation. A memory or memories can be used to store the digital record. A processor or processors can be used to provide the configuration input page.
One embodiment of the present invention includes maintaining a software license bank for a customer. The software licenses stored in the software license bank not being associated with specific machines. A web application can be accessed to allow a user to automatically obtain a software license for a specific machine from the software license bank. A memory or memories can be used to store a software license bank. A processor or processors can be used to provide the web application. The software licenses available from the software license bank can be set based on a contract. The software license bank can be set up based on a number of factors. The software license bank can store a predetermined dollar amount of licenses, a predetermined CPU count of software licenses, or a predetermined user count of software licenses. In one embodiment, the software license bank contains an unlimited number of licenses for some period of time. License keys for the software can be downloaded when a software license is removed from the software license bank.
One embodiment of the present invention includes maintaining digital records of software licenses for a group. The digital records indicate rights associated with software licenses, the digital records being accessible by a group member using a web application. A group member can access the web application to input information concerning a software license that is not stored in the digital records so as to allow an administrator to add the missing software license. A memory or memories can be used to store the digital records. A processor or processors can be used to provide the web application. In one embodiment, a digital record of the software license is maintained.
This digital record can be maintained with a license management unit. The digital record indicates rights associated with the software license. The indicated rights can be the right to execute the software indicated by the license on a given computer by an indicated user or at a given JP address. The digital records can indicate any other rights associated with the software license. The digital records can be stored in any type of memory such as a database, hi one embodiment, the digital record can be stored on one or more entities defined by an object model of the license management unit. Under control of a software user, the digital record is accessed and the rights associated with the software license are adjusted. In one embodiment, the digital record is accessed by using a web-based interface to allow the software users to access a server storing the digital record. The rights associated with the software license can be modified. For example, the JP address can be changed or the software can be upgraded or downgraded. These adjustments may or may not be associated with user payments. A transaction record of adjustments of the rights associated with the software license is automatically maintained. Constructing the transaction history helps users keep track of the changes of the right associated with the license. For example, an indication of a change of the IP address or a change of software version (upgrades/downgrades) can be stored. This information can be useful for managing the licenses. For example, the software user can check the stored transaction information to see the prior status of the software licenses. Changes to the software license may invalidate previously valid licenses. The user can search on information, such as stored configuration information, to determine whether a license is invalid for a computer. For example, the transaction history can allow a user to find what license used to be associated with an IP address even after that license has changed IP addresses.
In one embodiment, digital records of software licenses are maintained. The digital records indicating rights associated with a software licenses. Under the control of a software user, the software version for multiple software licenses can be upgraded or downgraded in a batch mode. An indication of the upgrade or downgrade is stored in the digital record. The batch mode can be implemented by allowing a user to select multiple licenses. The multiple licenses can be selected from a "My Licenses" or license search result page. While multiple licenses are selected the user can select an upgrade/ downgrade for the selected licenses.
In one embodiment, digital records of software licenses are maintained. The digital records indicating rights associated with a software licenses. Under the control of a software user, the software version for a software license is upgraded or downgraded. The upgrade or downgrade selected from a list of possible upgrades or downgrades. Such a list can be a pull down list on a web page. The user can select an upgrade or downgrade that skips an intermediate version. For example if the software version is 2.1 and selections of versions 2.2 and 2.3 are available the user can skip the intermediate version 2.2 and select the version 2.3. The update of the version can include providing a new license key. The old version can be invalidated. In one embodiment, under the control of a software user, a software license is selected. The license can be selected from a "my licenses" page or a license search page for example. Automatically, a list of appropriate product versions for upgrade or downgrade of the software license is obtained. The list can be obtained from another source such as a license generation system. The list can indicate possible upgrades or downgrades based on the current license version or other information. In one example, the list is transferred to the license management unit from the license generation system as an XML file constructed based on a dependency graph indicating the possible upgrades and downgrades from a current version. The list of appropriate product versions can be provided to the software user. In one example, the list is provided to the software user as a pulldown list. The user can select one of the appropriate product versions for upgrading or downgrading the software version. Automatically, an indication of the upgrade or downgrade is stored in the digital record. The update of the version can include providing a new license key. The old version can be invalidated, hi one embodiment, the software version can be downgraded. This adds flexibility for users who may want to downgrade a license for reasons of compatibility or consistency.
The foregoing description of preferred embodiments of the present invention has been provided for the purposes of illustration and description, it is not intended to be exhaustive or to limit the invention to the precise forms disclosed. For the purposes of this application, the term "processor" is to be interpreted as to include one or more processors, and the term "memory" is to be interpreted as to include one or more memories. Many modifications and variations will be apparent to one of ordinary skill in the relevant arts. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, thereby enabling others skilled in the art to understand the invention for various embodiments and with various modifications that are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims and their equivalence.

Claims

CLAIMSWhat is claimed is:
1. A method comprising: maintaining a digital record of a software license, the digital record indicating rights associated with a software license; under the control of a software user, accessing the digital record and adjusting the rights associated with the software license; and automatically, maintaining a transaction history of adjustments of the rights associated with the software license.
2. The method of claim 1, wherein the transaction history includes business transactions concerning the license.
3. The method of claim 1, wherein the transaction history includes a retrieval of a license key.
4. The method of claim 1, wherein the adjustment of rights is a software upgrade or downgrade.
5. The method of claim 1, wherein the adjustment of rights is a change in machine configuration.
6. A method comprising: maintaining digital records of software licenses for multiple groups, the digital records indicating rights associated with software licenses; accessing a group administration application to set the access rules for members of a group, the access rules controlling the access of digital record data of the group by members of the group; and using the access rules to determine whether to allow a member of the group to access digital record data.
7. The method of claim 6, wherein the access rules can be set to allow some group members to see but not to modify the software license data.
8. The method of claim 6, wherein the access rules can be set to restrict access based upon inputted field information to some group members.
9. The method of claim 8, wherein the inputted field information is a department field and the access rules are such that some group members can only access software license information associated with their department.
10. The method of claim 6, wherein the group administration application can be used to require group members to input field data.
11. A method comprising: after a software order, sending an e-mail message with an encrypted URL to a user; using the encrypted URL to access a web page; and downloading a license key from the web page.
12. The method of claim 11, wherein the e-mail message also includes an authorization code for use with a web application.
13. The method of claim 11, wherein the license key can only be downloaded once from the web page.
14. The method of claim 11, wherein the web page is deleted after all license keys are downloaded.
15. The method of claim 11, wherein the encrypted URL allows for license key download without requiring user login.
16. The method of claim 11, wherein a web application is used to keep track of software licenses.
17. The method of claim 16, wherein a copy of the license key can be retrieved from the web application.
18. A method comprising: providing a configuration input page, the configuration input page including fields for the input of configuration information concerning a software license, the configuration input page including fields that are definable by a group administrator so that these fields are displayed for members of the group; and maintaining a digital record of the software license, the digital record including the configuration information.
19. The method of claim 18, wherein a group administration application is used to define fields for the configuration input page.
20. The method of claim 19, wherein the group administration application can be used to produce a pull down list for a field of the configuration input page.
21. The method of claim 18, wherein the input configuration information includes the number of CPUs.
22. The method of claim 18, wherein the input configuration information includes the operating system.
23. A method comprising: maintaining a software license bank for a customer, software licenses stored in the software license bank not being associated with specific machines; and accessing a web application to allow a user to automatically obtain a software license for a specific machine from the software license bank.
24. The method of claim 23, wherein the software licenses available from the software license bank depend on a predetermined contract.
25. The method of claim 23, wherein the software license bank stores predetermined dollar amount of licenses.
26. The method of claim 23, wherein the software license bank stores a predetermined CPU count of software licenses. ,
27. The method of claim 23, wherein the software license bank contains an unlimited number of licenses for some period of time.
28. The method of claim 23, wherein the software license bank stores a predetermined user count of software licenses.
29. A method comprising: maintaining digital records of software licenses for a group, the digital records indicating rights associated with software licenses, the digital records being accessible by a group member using a web application; and accessing, by the group member, the web application to input information concerning an software license that is not stored in the digital records so as to allow an administrator to add the missing software license.
30. The method of claim 29, wherein the web application provides the information to the administrator.
31. The method of claim 29, wherein the web application allows the administrator to accept or deny the missing license.
32. The method of claim 31, wherein accepted licenses are added to digital records.
33. The method of claim 29, wherein the web application allows administrator to request additional information from the group member.
34. The method of claim 29, wherein the web application can be used to adjust the rights associated with the software license.
35. A method comprising: maintaining digital records of software licenses, the digital records indicating rights associated with software licenses; and under the control of a software user, upgrading or downgrading the software version for multiple software licenses in a batch mode, an indication of the upgrade or downgrade being stored in the digital record.
36. The method of claim 35, wherein the upgrading or downgrading of rights is associated with the license key.
37. The method of claim 35, wherein the digital record is accessed using a web application.
38. The method of claim 37, wherein the web application uses role-based security.
39. The method of claim 35, wherein digital records contain configuration information for the computer authorized to run the software.
40. The method of claim 35, wherein the digital records can be searched to find a specific digital record.
41. The method of claim 35, wherein the rights are associated with a license key.
PCT/US2004/014730 2003-06-03 2004-05-12 Self-service customer license management application providing transaction history WO2004109434A2 (en)

Applications Claiming Priority (18)

Application Number Priority Date Filing Date Title
US47545603P 2003-06-03 2003-06-03
US60/475,456 2003-06-03
US48586703P 2003-07-09 2003-07-09
US60/485,867 2003-07-09
US10/655,713 US20040249653A1 (en) 2003-06-03 2003-09-05 Self-service customer license management application allowing users to input missing licenses
US10/655,811 2003-09-05
US10/656,476 2003-09-05
US10/655,793 2003-09-05
US10/655,773 2003-09-05
US10/655,811 US20040249755A1 (en) 2003-06-03 2003-09-05 Self-service customer license management application using a group administration application
US10/656,477 2003-09-05
US10/655,713 2003-09-05
US10/656,477 US20040249762A1 (en) 2003-06-03 2003-09-05 Self-service customer license management application using configuration input pages
US10/656,476 US20050010532A1 (en) 2003-07-09 2003-09-05 Self-service customer license management application using software license bank
US10/655,773 US20040249760A1 (en) 2003-06-03 2003-09-05 Self-service customer license management application using encrypted universal resource locators
US10/655,793 US20040249761A1 (en) 2003-06-03 2003-09-05 Self-service customer license management application providing transaction history
US10/664,473 US20040249756A1 (en) 2003-06-03 2003-09-17 Self-service customer license management application allowing software version upgrade and downgrade
US10/664,473 2003-09-17

Publications (2)

Publication Number Publication Date
WO2004109434A2 true WO2004109434A2 (en) 2004-12-16
WO2004109434A3 WO2004109434A3 (en) 2005-05-19

Family

ID=33515023

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2004/014730 WO2004109434A2 (en) 2003-06-03 2004-05-12 Self-service customer license management application providing transaction history

Country Status (1)

Country Link
WO (1) WO2004109434A2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5204987A (en) * 1990-01-12 1993-04-20 Hans Klingel Apparatus for treating steel edges of skis and other runner devices
US6502124B1 (en) * 1996-11-11 2002-12-31 Hitachi, Ltd. Method of and apparatus for managing licensed software

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5204987A (en) * 1990-01-12 1993-04-20 Hans Klingel Apparatus for treating steel edges of skis and other runner devices
US6502124B1 (en) * 1996-11-11 2002-12-31 Hitachi, Ltd. Method of and apparatus for managing licensed software

Also Published As

Publication number Publication date
WO2004109434A3 (en) 2005-05-19

Similar Documents

Publication Publication Date Title
US20040249756A1 (en) Self-service customer license management application allowing software version upgrade and downgrade
US8069407B1 (en) Method and apparatus for detecting changes in websites and reporting results to web developers for navigation template repair purposes
US20050010532A1 (en) Self-service customer license management application using software license bank
JP5323246B2 (en) Method for sharing applications in a multi-tenant database environment that stores data and objects for multiple organizations
US7558795B2 (en) Method and apparatus for tracking functional states of a Web-site and reporting results to web developers
US20040249762A1 (en) Self-service customer license management application using configuration input pages
US20080209503A1 (en) Method and system for managing license objects to applications in an application platform
US20070226150A1 (en) Distribution of digital licenses and software via license tokens
US8271387B2 (en) Method and apparatus for providing limited access to data objects or files within an electronic software delivery and management system
WO2006091910A2 (en) Method and system for subscription-based, entitlement-driven license key generation and distribution for digital goods
WO2001001227A1 (en) A system, method and article of manufacture for tracking software sale transactions of an internet-based retailer for reporting to a software publisher
US20100217716A1 (en) Method and apparatus for restricting access to an electronic product release within an electronic software delivery system
US20030135500A1 (en) Integrated gas supply system and computer network for enhanced user service
US20020111840A1 (en) Method and apparatus creation and performance of service engagement modeling
US20070124467A1 (en) Method and apparatus for managing publication and sharing of data
US20040249653A1 (en) Self-service customer license management application allowing users to input missing licenses
US20040064419A1 (en) Distributed management and administration of licensing of multi-function offering applications
US20040249760A1 (en) Self-service customer license management application using encrypted universal resource locators
US7756718B2 (en) System and method for electronic software delivery and management through channel partners
US20040249761A1 (en) Self-service customer license management application providing transaction history
US20040249755A1 (en) Self-service customer license management application using a group administration application
WO2004109434A2 (en) Self-service customer license management application providing transaction history
Will et al. WebSphere Portal: Unified user access to content, applications, and services
US20100186008A1 (en) Method and system for managing online applications
Jacobsen et al. Middleware for software leasing over the Internet

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase