GB2316503A - Software licence management - Google Patents

Software licence management Download PDF

Info

Publication number
GB2316503A
GB2316503A GB9617596A GB9617596A GB2316503A GB 2316503 A GB2316503 A GB 2316503A GB 9617596 A GB9617596 A GB 9617596A GB 9617596 A GB9617596 A GB 9617596A GB 2316503 A GB2316503 A GB 2316503A
Authority
GB
United Kingdom
Prior art keywords
service
ticket
server
licence
directory
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
GB9617596A
Other versions
GB9617596D0 (en
GB2316503B (en
Inventor
Tapani Lindgren
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ICL Personal Systems Oy
Original Assignee
ICL Personal Systems Oy
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
Application filed by ICL Personal Systems Oy filed Critical ICL Personal Systems Oy
Priority to GB9617596A priority Critical patent/GB2316503B/en
Publication of GB9617596D0 publication Critical patent/GB9617596D0/en
Publication of GB2316503A publication Critical patent/GB2316503A/en
Application granted granted Critical
Publication of GB2316503B publication Critical patent/GB2316503B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

A software licence management method and system is for a computer system including at least one server (1,5) and particularly for a plurality of computers connected via a network. Before a service (2) can offer functionality to a user it has to check that the user has a licence for that service. A licensing subsystem (3) has associated with it a ticket database (4) that hold tickets corresponding to existing licences. Tickets, if available, are issued to a service on request, thereby verifying the existence of a licence. The receipt of a ticket allows a service to offer functionality.

Description

SOFTWARE LICENCE MANAGEMENT This invention relates to software licence management and in particular to licence management for software running on a plurality of computers connected via a network.
Conventionally, licences have been provided by software vendors as separate licences for individual workstations or as a single licence for a number of workstations. Various schemes have been proposed in order to try and make unlicensed software unusable, in particular pirated (illegal) copies of software. Other schemes have been proposed such as in order to achieve low initial software costs but licensing royalties consistent with the extent of use, in order not to deter low-usage users from purchasing particular forms of software, and thus to reduce piracy, whilst still enabling a vendor to collect higher dues from high-usage users.
The present invention is, particularly, concerned with a distributed system consisting of various server and client programs running on various computers which are connected via a local or wide area network, and an object is to provide server software licensing which ensures that all software running in the network has been purchased legally.
According to one aspect of the present invention there is provided a software licence management method for use with a computer system including at least one server, the method being such that before a service can offer functionality to a user, the said service shall verify that the user has a licence for said service, and wherein the computer system further includes a licensing subsystem with which are associated service tickets corresponding to existing licences, the method including the steps of the said service requesting a respective service ticket from the licensing subsystem prior to offering functionality to the user, and the licensing subsystem issuing a said service ticket to the said service, if one is available, thereby verifying the licence exists and allowing the said service to offer functionality.
According to another aspect of the present invention there is provided a computer system including at least one server and a software licence management system, the management system being such that before a service can offer functionality to a user, the service shall verify that the user has a licence for said service, the management system including a licencing subsystem with which are associated service tickets corresponding to existing licences, and the management system being such that a said service ticket is issued to a service, if one is available, upon request by the service, thereby verifying existence of a licence and allowing the said service to offer functionality.
Embodiments of the invention will now be described with reference to the accompanying drawings, in which: Figure 1 Illustrates obtaining a session or usage ticket for an application, Figure 2 Illustrates obtaining a user ticket for a directory server, Figure 3 Illustrates independent licence sharing, and Figure 4 Illustrates licence sharing with a site licencing service, Various terms used in the following will first be defined.
For the purposes of the description the software is considered to relate to a Groupware Office system which provides various facilities including mail, for example.
Definitions "Server" An instance of server software running on a server computer. Usually only one such instance runs on any one computer. Each "server" implements one or more collections of related functions called "function sets", examples of which are directory, mail, library etc. The "directory function set" includes functions to access a database that contains information about the Groupware Office system.
"Client" Any piece of software that connects to the "server" using a "client-server protocol" to access the functions offered by the "server". A "client" may be a program run by a user on a workstation, or a part of any other program.
"Session" An instance of client-server dialogue between one "client and one "server".
Each "session" allows the "client" to use the functions of one or more "function sets".
"Directory Server" A server that implements the directory function set.
"Mail Server" A server that implements the mail function set. [A server may be a directory server and a mail server simultaneously.) "User" A person (actual or virtual) listed in the database of a directory server.
"User profile" The information pertaining to one user stored in a directory database entry, such as the name of the user, user authentication information, the list of servers and function sets the user is permitted to access, etc.
"Server profile" The name and network address of a server and the list of services offered by it, as stored in a directory database entry.
"Service profile" Information stored in a directory database entry about one service in one server. If the same type of service is offered by more than one server, each instance has its own profile.
"Site profile" Information stored in a directory database entry about one site.
"Site" A set of servers connected to a single directory server. Each server belongs to exactly one site, and each site has exactly one directory server. Other servers in the site are optional, usually unlimited in number, and sometimes called member servers or application servers.
"Enterprise" A set of sites that share their directory databases. The directory servers in each site replicate directory information to other directory servers in the enterprise. Each directory server contains both "local" and "external" information. One of the directory servers, the "enterprise directory server" controls the others, which are "site directory servers".
"Subsystems" Collections of programs and/or subroutines that perform a set of interrelated functions. Some subsystems implement a function set within a server program, while others run independently as stand-alone applications. Many subsystems are collections of common subroutines called by other subsystems.
Client programs are also subsystems.
"Subsystem id" A respective unique number identifying every type of subsystem. Some systems use two ids, a "real subsystem id" when dealing with licensing issues and an "alias subsystem id" when performing a task on behalf of a virtual entity, such as "generic gateway no 9".
Not every subsystem software needs to be purchased individually. Most collections of subroutines can be used freely by other subsystems.
"Services" Those subsystems that need to be explicitly purchased.
Service types may include directory service, mail service, fax gateway, X.400 gateway, enterprise option, library service, power library option, etc. Each service is located in one server, either as a function set of the server program or a standalone application running in the same computer. Many services of the same type can exist in different servers.
The software licence management system of the present invention proceeds from the premise that before offering any usable functionality to the users, services shall verify from a "licensing subsystem" that a licence for the service exists. To achieve that, it is proposed that the licensing subsystem holds "service tickets" and a service requests a permission to offer its functions to the user by requesting a corresponding "service ticket" be provided from the licensing subsystem. Each service knows that kind of tickets are needed to fulfil the service's functionality. The licensing subsystem has to keep track of the available licences and of the service tickets it has issued. A service ticket may be considered as partially the equivalent of a password in that one must be provided before a service can operate.
A "licence" is a permission to use one or more services within certain limits. Typically these limits are "license duration", which specifies the maximum length of the period when the licence may be used (the "active" period) and the "licence size", which specifies the maximum number of users of the licence. The interpretation of "number of users" varies from service to service. It may, for example, mean the number of users in the local directory that are allowed to use the service, or the number of concurrent sessions that are connected to the service. Licence duration and/or size may also be unlimited.
When a customer purchases a Groupware, for example, software product which employs the software licence management method and system of the invention from a supplier, as well as the media containing the software itself and associated documentation, there is obtained a single licence to one or more services. Each said product has a unique serial number.
The license is supplied in the form of a licence agreement document on which the licence information is printed. This licence information consists of the serial number of the product and an "activation key" for the licence. The licence size and duration and the included services are encoded into the activation key.
The software license management method and system of the invention is such that the Groupware software may be copied and installed by the customer without any technical restrictions, but before any of the services can be used, a corresponding licence must be installed and activated.
Licence installation consists of entering the license information (serial number and activation key) into the server profile of a server in the directory server's database, ie in the site directory, in the server profile of the server in question. Licence activation consists of setting the active period of the installed licence so that service tickets can be issued. Typically licence installation and licence activation are performed simultaneously by the server setup program. The license information is stored in the site directory, in the server profile of the server in question.
As will be appreciated, there also exists "evaluation licences" which allow a prospective customer to use a service for a short trial period before actually purchasing it.
These licences typically have a very short duration and a relatively small size. The product serial numbers associated with such evaluation licences are not necessarily unique, since the licence information may be distributed on CD-ROMs or via public networks.
As mentioned above, each software product contains just one licence, although that licence may include a large number of services, for example, enough to build a complete Groupware Office site with all of the basic services. Alternatively, the licence may include just one service. Product with that kind of licence could be used to expand the capacity or functionality of an existing Groupware Office System.
The core of the process of designing a product is, therefore, determining what services will be included and the size and duration of the licence. This information is encoded into a number, the covert code, which may be a 7-digit number, for example. The building of the covert code is discussed in more detail hereinafter.
The amount of information that can be encoded into the covert code is limited by the size of the code. Therefore, there are some necessary restrictions on what kinds of licences are possible. The most obvious limitation is that the size and duration can only take certain discrete values. Also, the same size and duration will apply to all services covered by the licence. Another restriction is that only the most common groups of services can be combined freely into a multi-service licence. Other services will have to be licensed individually.
The covert code, which specifies the properties of the software licence, is thus a part of the product description in the logistics database. When the product is manufactured it has the unique serial number, referred to above, assigned to it. The actuation key for the license is calculated as a function of the serial number and the covert code using a secret algorithm. The serial number and activation key may be printed on a label, which is attached to the licence agreement document.
When creating a site, a customer must have a licence that includes a site creation ticket. This licence is installed for the directory server. The customer may also install additional licences for the directory server and for other servers. Each licence may apply to one or more services.
Some licences are valid only in that server for which they are installed, whilst other licences may be shared with other servers at the same site (see later). Shared licences would usually be installed in the server profile of the directory server, although optionally, and with some restrictions, another server may be designated as the licence server. The serial number of the first licence installed in a directory server's profile can be used to identify the site uniquely.
Thus the directory server is computer number 1. Other servers in the site will use the same site id but differing computer numbers for identification.
When a service program is about to execute an action which requires that a customer possesses a licence for that service, the service program must first obtain a corresponding service ticket from the licensing subsystem.
The actions concerned are ones which are potentially profitable for the customer and may, for example, include namely: setting up a new Groupware site; creating a new user account; setting up an instance of the mail service; enabling mail usage for a user and creating a user mailbox; starting a session between a mail UI client and the mail server; sending a mail message; relaying a mail message to an X.400 mail network.
Each kind of action requires a specific kind of service ticket. To obtain a ticket the service needs to specify the ticket type and the number of tickets. The service tickets are only identified by ticket type. There is a licensing subsystem in each server and it counts the number of different tickets in all available licences and keeps track of how many licences of each type are being used in the server.
The steps involved in obtaining various licences will now be described in greater detail. With respect to Figure 1 there will, firstly, be described the case of an application service running in a separate server from the directory server obtaining a session or usage ticket.
Figure 1 illustrates schematically an application server 1, providing an application service 2 and having a licensing subsystem 3, with an associated ticket database 4, a directory server 5 providing a directory service 6 and having an associated directory 7. The ticket database 4 has stored therein details of ticket types, the limit, if any, of the number of such tickets which are available and the number of used tickets for each type. The ticket types as illustrated are "App User" (Application User), "App Session", "App Usage". The directory 7 has stored therein, the "Workgroup profile", the "Directory server profile", the Application server profile. In the example illustrated, the application server has two associated licenses whose serial numbers (s/n) are 000000000002 and 000000000003, respectively, whose activation keys (a/n) are of the form B22222... and C33333..., respectively, and whose covert codes (c/c) are 2996237 and 2996099, for example, respectively.
When the licensing subsystem 3 on the application server starts, it fetches the application server's server profile from the directory service 6, 7 using the directory API (Application Programming Interface) (Step 1 in Figure 1).
The licensing subsystem 3 analyses the licences and updates the limits of each ticket type in the local ticket database 4. The numbers of used tickets are not modified at this time, the old accumulated values being maintained (step 2).
When the application service 2 starts, and before any user logs in, it tells the licensing subsystem 3 to set the number of used session tickets to zero. This frees any session tickets that may have been left unreturned at the end of a session because of a system crash etc. (Step 3). The application service 2 then requests a service ticket (session or usage) from the licensing subsystem 3, since without a ticket it cannot proceed. (Step 4). The licensing subsystem checks the ticket availability in the local ticket database 4 and updates the used ticket count (step 5), to take into account the requested ticket, before issuing the ticket to the application service (step 6), which then proceeds since it has determined that there exists the appropriate licence.
In the embodiment of Figure 2, the procedure whereby a directory service obtains a ticket for adding a user to a directory is illustrated.
A directory server 10 provides a directory service 11 and includes a licensing subsystem 12 with an associated ticket database 13, the directory service 11 having an associated directory 14. The ticket database 13 has stored therein details of ticket types, the limit, if any, of the number of such tickets which are available, and the number of used tickets for each type. The ticket types are illustrated as "Dir User" (Directory User), "App User", "App Session", "App Usage" and "Ticket Forwd" (Ticket Forwarding). The directory 14 has stored therein the "Workgroup profile", the "Directory server profile", the "Application Server profile" and the user profile of two users, User 1 and User 2. The Directory server has a license serial number (s/n) 000000000001, with an actuation key (a/) of the form Alllll..., and a corresponding covert code (c/c) 2019247, for example.
When the licensing subsystem 12 on the directory server 10 starts, it fetches the directory server's server profile directly from the directory 14 (step 1). The licensing subsystem 12 analyses the licenses and updates the limits of each ticket type in the ticket database 13. The numbers of used tickets are not modified at this time, the old accumulated values being maintained (step 2).
When it is desired to add a new user to the directory, the directory service 11 requests a user ticket from the licensing subsystem 12 (step 3). The licensing subsystem 12 checks ticket availability in the local ticket database 13 and updates the used ticket count (step 4) to take into account the requested ticket. The licensing subsystem 12 issues the requested user ticket to the directory service 11 (step 5). The directory service then adds the new user to the directory 14, that is it adds its user profile.
To ensure consistency, the directory service 11 may periodically count the number of users in the directory 14 and tell the licensing subsystem 12 to set the used ticket count accordingly.
When a licence is installed, the start time of its active period will be fixed. By default this is the same as the installation time, but any time in the past or in the future may be specified. If the licence has a limited period, the end time will also be set. The licence will be active whenever the current time is after the start time and before the end time.
A customer may wish to deactivate a licence so that it cannot be used. Thus can be done at any time by altering the end time of the licence with the server setup program. The end time may be altered freely, as long as the active period does not exceed the licence duration.
Once installed, limited-duration licences are fixed, ie they cannot be removed, except by remaining the entire site directory, or moved to another server, and their start time may not be altered. These restrictions, however, do not apply to unlimited-duration licences. They may be removed, reinstalled, moved or altered freely. The only restriction that remains is that a licence may only be installed for one server at a time.
A further restriction applies to the licence that has been used to create a site. This licence cannot be removed or deactivated, except by removing the entire site.
The licensing method described with reference to Figures 1 and 2 applies only to local licences, ie the tickets included in a license can only be issued in one server, the server whose server profile contains the licence. Often there is a need to share a single licence between two or more servers, so that tickets can be issued in all of them. Most commonly, the user tickets for an application are needed in the directory server, and session and usage tickets in the application servers.
If a licence includes an unlimited number of a certain kind of service ticket, sharing the licence is not very complicated. Any server can read the licences in any other server's profile. If the licensing subsystem in a server can verify that another server's licence contains an unlimited supply of freely shareable tickets, it will deduce that these tickets may be issued without limit in any server, independently of other servers. This is independent license sharing.
Not all licences are necessarily shareable, even if they contain an unlimited number of tickets. Whether each licence is shareable or not is a licence-specific property, which is coded in the covert code together with other licence properties.
The first implementation of the licensing subsystem capable of independent licence sharing will not scan every server profile for available licences. It will only scan its own server profile and the directory server's profile.
Therefore, all licenses that are meant to be shared, should be installed for the directory server.
If the tickets to be shared are limited in number, the situation is more complicated. For each "pool" of shareable tickets, there must be a single process that is responsible for keeping track of their usage. It has to co-ordinate the activities of the licensing subsystems in various servers and make sure that no ticket is issued more than once. To achieve this a site licensing service can be implemented.
This is an extension to the licensing subsystem that allows the licensing subsystems of various servers to communicate using a client-server protocol. The site licensing service, together with the licensing subsystem in the same server, control the usage of tickets installed for that server.
Another server's licensing subsystem may connect to the site licensing service and ask the latter to obtain a service ticket on its behalf.
Licenses that are shareable by independent sharing would also be shareable by the site licensing service, with the addition that also limited-number tickets could be shared. Some types of licences will still be unshareable, since shareability is a licence-specific property. The licensing service could itself require a licence. A site licensing service could be expanded to support also client licensing and enterprise-wide licence sharing.
An example of independent licence sharing will now be described with reference to Figure 3 in which an application server 21 provides an application service 22 and includes a licensing subsystem 23 with an associated ticket database 24.
A directory server 25 provides a directory service 26 and includes a licensing subsystem 27, with a associated ticket database 28, and a directory (not shown but containing information of the type illustrated in Figures 1 and 2). The ticket databases 24 and 28 have details of ticket type, limit and usage as indicated.
The licensing system 27 on the directory server 25 fetches the server profile from the directory (not shown), analyses the licences therein, and updates the ticket limits (step 1).
The licensing system 23 on the application server 21 fetches the application server's server profile from the directory (not shown) using the directory API. It also fetches the directory server's server profile (step 2).
The Application server's licensing subsystem 23 analyses the licences in the server's own profile. In this case there are none, since the example is concerned with licence sharing.
The licensing subsystem 23 then analyses the directory server's licences. Because there are unlimited session and usage tickets in a shareable licence, the local limit is also set to unlimited. The user ticket limit is set to 0, because they are limited (10 according to ticket database 28) and limited tickets cannot be shared with this method (step 3).
The application service 22 then requests an application session ticket from its licensing subsystem 23 (step 4). The ticket is granted because there are an unlimited supply of them. The used ticket count is updated in the local ticket database 24 (step 5), although it is only needed for statistics as the number is unlimited. The session ticket is then issued to the application service 22, which then proceeds since it has determined that there exists an appropriate licence.
License sharing in the case of a site licensing service will now be described with reference to Figure 4, in which an application server 31 provides an application service 32 and includes a licensing subsystem 33 with an associated ticket database 34. A license server 35 provides a site licensing service 36 and includes a licensing subsystem 37 with an associated ticket database 38.
The licensing subsystems 33 and 27 of the servers 31 and 35, fetch their corresponding server profiles from a directory (not shown), analyse installed licences and store the ticket limits in the local databases 34 and 38 (step 1). The application server 31 need not have any licences.
The application service 32 requests a service ticket, for example an application session ticket, from the local licensing subsystem 33 (step 2). The local licensing subsystem 33 in the application server 31 will first attempt to issue the ticket locally, but this will fail as there are no licences installed for the application server 31, as indicated by the lack of available tickets in the ticket database 34 (step 3). The licensing subsystem 33 in the application server 31 will then connect to the site licensing service 36 using the client-server protocol and request the ticket remotely (step 4). The site licensing service 36 requests the ticket from the local licensing subsystem 37 and it also request a ticket-forwarding ticket (step 5). The licensing subsystem 37 of the license server 35 checks ticket availability and updates the used ticket counts in the ticket database 38 (step 6). The tickets are issued to the site licensing service 36 (step 7) which forwards the application ticket to the client ie licensing subsystem 33 (step 8), which as a result issues the application ticket to the application service 32, allowing that to proceed (step 9).
Whenever a licensing subsystem issues a service ticket, or a ticket is returned such as because it is an unused ticket (any number can be requested) or because it is a session ticket, which are required to be returned at the end of a session, the transaction can, optionally, be logged to a log file which is separate from other log files in the system.
The information in this separate log file may be used to implement a pay-by-usage licensing scheme (delayed billing).
Logging can be enabled or disabled by an administrator. Each server has its own log file and all kinds of tickets issued in the server will be logged the same way. Logging parameters for each kind of ticket could be specified for certain types of licences, although such a licence could not be shared by the independent sharing method.
The proposed licensing method allows for introducing new services while retaining compatibility with old licences.
The licensing subsystems will initially support some types of licences and service tickets that are not yet connected to any particular service. New services can be assigned to these items without making any modifications to existing administration programs and the licensing subsystem. The method could be extended further by adding new license/ticket combinations to the licensing subsystem, although all existing combinations would need to be kept unchanged. This would involve updating the licensing subsystem in all servers where the new services would be used. Older subsystems would not accept the new kind of licenses not issue tickets for the new services. The licenses and tickets could be defined statically, as they are now, although there could be other possibilities.
As discussed above, the covert code specifies the licence duration, licence size and included services. An example of a covert code comprises a 7-digit decimal number, with the digits numbered from right to left, starting from zero eg in number 6543210, digit no 0 is "0", digit no 1 is "1" etc.
Licence duration may be encoded in the last digit ie digit 0, as follows: Digit No 0 Licence Duration "0" 10 days "1" 1 month (31 days) "2" 3 months (92 days) "3" 6 months (184 days) "4" 1 year (366 days) "5" 2 years "6" 3 years "7" Unlimited (small size) "8" Unlimited (medium size) "9" Unlimited (large size) Licence size may be coded in the next-to-last digit, digit no 1. However, its interpretation may depend on the licence duration. Limited duration licences may be one of, for example, 30 different sizes; duration digits "7", "8" or "9" select small, medium or large licence sizes respectively.
Digit No 1 Licence size for each duration type Limited Unlimited Unlimited Unlimited Small Medium Large "0" 1 1 60 400 "1" 2 2 80 500 code. These digits are called the service code. The licence may apply to one kind of service tickets only, to a group of related service tickets that are used by one service, or to a group of selected services. The service code can be chosen to represent a particular name of service, such as "basic directory service", "basic mail service", "basic calendar service", in any desired manner but it will indicate what types of tickets are included and how many licence service tickets are included for each type of service.
The digit no 6, the most significant digit, may be used to specify a particular product line. In the examples shown in the drawings the covert codes all commence with the number 2, indicating they relate to the same product line.
Any number of licences may be installed in the server profile of any server. The activation key is verified, and the covert code calculated from the serial number and the activation key at license installation time. The mapping of covert code to service ticket is, preferably, not stored in the directory, rather it is recalculated by a licensing subsystem every time it starts up. All tickets of the same type are indistinguishable. The licensing subsystems do not keep track of individual tickets issued.
Any number of identical tickets may be obtained at once by a service from the corresponding licensing subsystem, providing of course that they are available. Tickets can be returned if they are not used.
The licensing subsystem does not force services to obtain tickets rather it is the service's responsibility to offer services only to legal users and without obtaining a respective ticket, a service which requires a licence will not function.
Session tickets are associated with client-server sessions.
Unless a service wants to allow unlimited usage, it should obtain a session ticket whenever a session starts.
Determining when each session starts and ends is the responsibility of the service. Session tickets may not be applicable to all services. It is important that session tickets are returned when the sessions end, otherwise they will be unusable, at least until the licencing subsystem is resynchronised. This is achieved at server start up, when there are no sessions in existence, by setting the used session ticket count to zero.
When a user is given the right to use a service, the associated user ticket should be obtained first. Because in a currently preferred embodiment, users are created and user rights given by the directory service, the licenses that include user tickets should be installed into the directory server. The directory service is the only service that requests user tickets and it is responsible for maintaining consistency of the used ticket counts. It periodically counts all users in the directory and their user rights and sets the number of tickets in use as appropriate.
Some kinds of tickets are "consumable" e.g. for sending mail messages, and these will not be returned unless, for example, the message is cancelled.
Clearly if an originally purchased licence becomes inadequate, due for example to an increased number of users, then supplemental licences can be purchased which when installed will increase the number of available tickets for a service. Additional functionality can of course also be purchased subsequently, in order to add new features to a system, and the appropriate software and licence installed in an appropriate server.
It is considered that with the above description of the licence management system and method proposed by the invention, a software developer will have difficulty producing the corresponding code for licence management for a particular software product written in a particular language, and hence no further description is considered necessary in this respect.

Claims (18)

1. A software licence management method for use with a computer system including at least one server, the method being such that before a service can offer functionality to a user, the said service shall verify that the user has a licence for said service, and wherein the computer system further includes a licensing subsystem with which are associated service tickets corresponding to existing licences, the method including the steps of the said service requesting a respective service ticket from the licensing subsystem prior to offering functionality to the user, and the licensing subsystem issuing a said service ticket to the said service, if one is available, thereby verifying the licence exists and allowing the said service to offer functionality.
2. A method as claimed in Claim 1, including the step of installing licence information comprising a licence serial number and a licence activation key into the computer system, the activation key containing encoded details of the licensed services, and wherein the computer system calculates, from the serial number and the activation key, information including the types of service tickets associated with a particular licence, the numbers of service tickets, and the duration of the licence.
3. A method as claimed in Claim 2 wherein the licensing subsystem maintains a log of the numbers of the maximum available and issued service tickets.
4. A method as claimed in Claim 2 or Claim 3, wherein a covert code is calculated by the computer system from the serial number and activation key and wherein mapping of the covert code to service tickets is calculated by the licencing subsystem each time it is started.
5. A method as claimed in any one of the preceding claims wherein the computer system comprises a plurality of computers connected in a network and wherein a said server comprises a directory server, providing a directory service and including a respective licencing subsystem, together with a directory database and a ticket database, wherein stored in the directory database are directory server profile details, licence details and user profile details, and wherein the ticket database includes details of service tickets available in accordance with the respective licence details and issued, and wherein adding a user to the computer system includes the steps of starting the directory server licensing subsystem, the directory server licensing subsystem fetching the directory server profile with licence details from the directory database and updating the ticket database, the requesting of a user service ticket by the directory service from the licensing subsystem, the checking of ticket availability in the ticket database by the licensing subsystem, the issuing of a ticket by the licensing subsystem to the directory service, and the adding to the directory database of the new user's profile by the directory service.
6. A method as claimed in any one of Claims 1 to 4 wherein the computer system comprises a plurality of computers connected in a network, wherein a said server comprises an application server providing an application service and including a respective licensing subsystem with a respective ticket database, and another said server comprises a directory server providing a directory service and with a respective directory database, wherein stored in the directory database are directory server profile details, application server profile details and licence details, and wherein the ticket database includes details of service tickets available in accordance with the licence details and issued, and wherein obtaining a use ticket for the application service includes the steps of starting the application server licensing subsystem, the subsystem fetching the application server profile and licence details from the directory database and updating the ticket database accordingly, starting the application service without providing funtionality, the requesting by the application service of a user service ticket from the licensing subsystem, the checking of ticket availability in the ticket database by the licensing subsystem, and the issuing of a service ticket to the application service by the licensing subsystem, the application service then providing its functionality to a user.
7. A method as claimed in any one of Claims 1 to 4 and for independent licence sharing, wherein the computer system comprises a plurality of computers connected in a network, wherein a said server comprises an application server providing an application service and including a respective licensing subsystem with a respective ticket database, and another said server comprises a directory server providing a directory service and including a respective licensing subsystem with a respective ticket base and with a respective directory database, wherein stored in the directory database are directory server profile details, application server profile details and shareable licence details, the number of service tickets being unlimited, wherein the directory server ticket database includes details of service tickets available in accordance with the shareable licence details and issued, and wherein the application server ticket database includes details of service tickets issued, and wherein obtaining a service ticket for the application service includes the steps of the directory server licensing system fetching the server profile from the directory database, analysing the shareable licence details and updating the corresponding ticket types and ticket limits in the directory server ticket database, the application server licensing subsystem fetching the application server and the directory server profiles and shareable licence details from the directory database and analysing them and updating the corresponding ticket types in the application server ticket database, starting the application service without providing functionality, the requesting by the application service of a service ticket from the application server licensing system, the granting of a service ticket, and the issuing of the service ticket to the application service by the application server licensing system, the application service then providing its functionality to a user.
8. A method as claimed in any one of Claims 1 to 4 and for licence sharing with site licensing, wherein the computer system comprises a plurality of computers connected in a network, wherein a said server comprises an application server providing an application service and including a respective licensing subsystem with a respective ticket database, another said server comprises a site licensing server providing a site licensing service and including a respective licensing subsystem with a respective ticket database, and a further said server comprises a directory server providing a directory service and having a directory database, wherein stored in the directory database are directory server profile details, site licensing server profile details, application server profile details and licence details, wherein the site licensing subsystem ticket database includes details of service tickets available in accordance with the licence details and issued, and wherein obtaining a service ticket for the application service when the application server has no respective licence includes the steps of the licensing subsystems fetching their corresponding server profiles from the directory database, analysing the installed licence details and the site licensing server updating the respective ticket database, starting the application service without providing functionality, the requesting by the application service of a service ticket from the site licensing service, the requesting of a service ticket and a ticket-forwarding ticket by the site licensing service from its licensing subsystem, the checking of ticket availability and the issuing of the service and ticket-forwarding tickets to the site licensing service, the forwarding of the service ticket to the application server licensing subsystem, and the issuing of the service ticket to the application service, the application service then providing its functionality to a user.
9. A computer system including at least one server and a software licence management system, the management system being such that before a service can offer functionality to a user, the service shall verify that the user has a licence for said service, the management system including a licencing subsystem with which are associated service tickets corresponding to existing licences, and the management system being such that a said service ticket is issued to a service, if one is available, upon request by the service, thereby verifying existence of a licence and allowing the said service to offer functionality.
10. A computer system as claimed in Claim 9, wherein the management system includes means for calculating from an input licence serial number and input licence activation key, information including the types of service tickets associated with a particular licence, the numbers of service tickets and the duration of the licence, said information being encoded in the activation key.
11. A computer system as claimed in Claim 10, and including a log in which are stored the numbers of the maximum available and issued service tickets.
12. A computer system as claimed in Claim 9 or Claim 10, and wherein the calculating means include means for calculating a covert code from the serial number and activation key, and the licensing subsystem including means for mapping the covert code into service tickets each time the licensing subsystem is started.
13. A computer system as claimed in any one of Claims 9 to 12 and comprising a plurality of computers connected in a network, wherein a said server comprises a directory server, providing a directory service and including a respective licensing subsystem, together with a directory database and a ticket database, wherein stored in the directory database are directory server profile details, licence details and user profile details, and wherein the ticket database includes details of service tickets available in accordance with respective licence details and issued.
14. A computer system as claimed in any one of Claims 9 to 12 and comprising a plurality of computers connected in a network, wherein a said server comprises an application server providing an application service and including a respective licensing subsystem with a respective ticket database, and another server comprises a directory server providing a directory service with a respective directory database, wherein stored in the directory database are directory server profile details, application server profile details and licence details, and wherein the ticket database includes details of service tickets available in accordance with the licence details and issued.
15. A computer system as claimed in Claim 14 and for independent licence sharing, wherein the directory server includes a respective directory licensing subsystem and a respective ticket database, shareable licence details, for which the number of service tickets available is unlimited, being stored in the directory database, the directory ticket database including details of service tickets available in accordance with the shareable licence details and issued, and the application server ticket database including details of service tickets issued.
16. A computer system as claimed in Claim 14 and for licence sharing with site licensing, and including another said server comprising a site licensing server providing a site licensing service and including a respective licensing subsystem with a respective ticket database, the directory database also including site licensing server profile details, and wherein the site licensing ticket database includes details of service tickets available in accordance with the licence detailed and issued.
17. A software licence management method substantially as herein described with reference to an as illustrated in Figure 1, Figure 2, Figure 3, or Figure 4, of the accompanying drawings.
18. A computer system including at least one server and a software licence management system substantially as herein described with reference to and as illustrated in Figure 1, or Figure 2, or Figure 3, or Figure 4 of the accompanying drawings.
GB9617596A 1996-08-22 1996-08-22 Software licence management Expired - Fee Related GB2316503B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB9617596A GB2316503B (en) 1996-08-22 1996-08-22 Software licence management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB9617596A GB2316503B (en) 1996-08-22 1996-08-22 Software licence management

Publications (3)

Publication Number Publication Date
GB9617596D0 GB9617596D0 (en) 1996-10-02
GB2316503A true GB2316503A (en) 1998-02-25
GB2316503B GB2316503B (en) 2000-11-15

Family

ID=10798809

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9617596A Expired - Fee Related GB2316503B (en) 1996-08-22 1996-08-22 Software licence management

Country Status (1)

Country Link
GB (1) GB2316503B (en)

Cited By (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000072118A1 (en) * 1999-05-21 2000-11-30 Compaq Computers Inc. Method and system for enforcing licenses on an open network
WO2001018710A2 (en) * 1999-09-03 2001-03-15 Rainbow Technologies, Inc. License management system and method with multiple license servers
FR2803409A1 (en) * 1999-12-31 2001-07-06 Ge Medical Tech Serv Method of commercial data processing on application of remote user by generating electronic signal that represents demand for licence file that marks beginning in licence
WO2001074138A2 (en) * 2000-04-03 2001-10-11 Wireless Knowledge Software licensing system
EP1229425A1 (en) * 2001-02-02 2002-08-07 Matsushita Electric Industrial Co., Ltd. Content usage management system and content usage management method
EP1290823A1 (en) * 2001-06-07 2003-03-12 ContentGuard Holdings, Inc. Method and apparatus for distributing enforceable property rights
US6563800B1 (en) 1999-11-10 2003-05-13 Qualcomm, Inc. Data center for providing subscriber access to data maintained on an enterprise network
EP1300792A3 (en) * 2001-07-20 2003-09-03 Siemens Aktiengesellschaft Computer based method and system for monitoring the use of licenses
US6842896B1 (en) 1999-09-03 2005-01-11 Rainbow Technologies, Inc. System and method for selecting a server in a multiple server license management system
EP1505528A1 (en) * 2002-05-15 2005-02-09 Matsushita Electric Industrial Co., Ltd. Content use management system
US6968384B1 (en) 1999-09-03 2005-11-22 Safenet, Inc. License management system and method for commuter licensing
EP1643344A1 (en) * 2004-10-01 2006-04-05 Bull S.A. Method for managing licenses of software carried out on partitionable platforms of a multiprocessor system
US7035918B1 (en) 1999-09-03 2006-04-25 Safenet Canada. Inc. License management system and method with multiple license servers
US7257554B1 (en) 1999-03-19 2007-08-14 Hewlett-Packard Development Company, L.P. Anonymous purchases while allowing verifiable identities for refunds returned along the paths taken to make the purchases
US7395245B2 (en) 2001-06-07 2008-07-01 Matsushita Electric Industrial Co., Ltd. Content usage management system and server used in the system
US7664708B2 (en) 1994-11-23 2010-02-16 Contentguard Holdings, Inc. System for controlling the distribution and use of digital works using digital tickets
US7685642B2 (en) 2003-06-26 2010-03-23 Contentguard Holdings, Inc. System and method for controlling rights expressions by stakeholders of an item
US7720767B2 (en) 2005-10-24 2010-05-18 Contentguard Holdings, Inc. Method and system to support dynamic rights and resources sharing
US7725401B2 (en) 2001-05-31 2010-05-25 Contentguard Holdings, Inc. Method and apparatus for establishing usage rights for digital content to be created in the future
US7743259B2 (en) 2000-08-28 2010-06-22 Contentguard Holdings, Inc. System and method for digital rights management using a standard rendering engine
US7765403B2 (en) 1997-02-28 2010-07-27 Contentguard Holdings, Inc. System for controlling the distribution and use of rendered digital works through watermarking
US7774279B2 (en) 2001-05-31 2010-08-10 Contentguard Holdings, Inc. Rights offering and granting
US7774280B2 (en) 2001-06-07 2010-08-10 Contentguard Holdings, Inc. System and method for managing transfer of rights using shared state variables
US7805371B2 (en) 2002-03-14 2010-09-28 Contentguard Holdings, Inc. Rights expression profile system and method
US7809644B2 (en) 1994-11-23 2010-10-05 Contentguard Holdings, Inc. Digital work structure
US7840488B2 (en) 2001-11-20 2010-11-23 Contentguard Holdings, Inc. System and method for granting access to an item or permission to use an item based on configurable conditions
US7853531B2 (en) 2001-06-07 2010-12-14 Contentguard Holdings, Inc. Method and apparatus for supporting multiple trust zones in a digital rights management system
US7907749B2 (en) 2000-12-29 2011-03-15 Contentguard Holdings, Inc. Multi-stage watermarking process and system
US7913095B2 (en) 2000-08-28 2011-03-22 Contentguard Holdings, Inc. Method and apparatus for providing a specific user interface in a system for managing content
US7974923B2 (en) 2001-11-20 2011-07-05 Contentguard Holdings, Inc. Extensible rights expression processing system
US8001053B2 (en) 2001-05-31 2011-08-16 Contentguard Holdings, Inc. System and method for rights offering and granting using shared state variables
US8069116B2 (en) 2001-01-17 2011-11-29 Contentguard Holdings, Inc. System and method for supplying and managing usage rights associated with an item repository
US8099364B2 (en) 2001-05-31 2012-01-17 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US8108313B2 (en) 2002-03-14 2012-01-31 Contentguard Holdings, Inc. Rights expression profile system and method using templates
US8244579B2 (en) 2001-01-17 2012-08-14 Contentguard Holdings, Inc. Method and apparatus for distributing enforceable property rights
US8271350B2 (en) 2000-11-03 2012-09-18 Contentguard Holdings, Inc. Method and system for automatically publishing content
US8275709B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US8275716B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Method and system for subscription digital rights management
US8442916B2 (en) 2001-05-31 2013-05-14 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US8543511B2 (en) 2002-04-29 2013-09-24 Contentguard Holdings, Inc. System and method for specifying and processing legality expressions
US8660961B2 (en) 2004-11-18 2014-02-25 Contentguard Holdings, Inc. Method, system, and device for license-centric content consumption
US8869293B2 (en) 2001-05-31 2014-10-21 Contentguard Holdings, Inc. Method and apparatus for hierarchical assignment of rights to documents and documents having such rights
US9898715B2 (en) 2001-11-20 2018-02-20 Contentguart Holdings, Inc. Systems and methods for creating, manipulating and processing rights and contract expressions using tokenized templates

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113010854B (en) * 2021-03-05 2024-08-16 中国工商银行股份有限公司 Authorization file monitoring method and device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0332304A2 (en) * 1988-03-07 1989-09-13 Digital Equipment Corporation Software licensing management system
US4924378A (en) * 1988-06-13 1990-05-08 Prime Computer, Inc. License mangagement system and license storage key
GB2236604A (en) * 1989-10-02 1991-04-10 Sun Microsystems Inc Protecting against the unauthorised use of software in a computer network
WO1993011480A1 (en) * 1991-11-27 1993-06-10 Intergraph Corporation System and method for network license administration
US5375206A (en) * 1991-03-11 1994-12-20 Hewlett-Packard Company Method for licensing software

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0332304A2 (en) * 1988-03-07 1989-09-13 Digital Equipment Corporation Software licensing management system
US4924378A (en) * 1988-06-13 1990-05-08 Prime Computer, Inc. License mangagement system and license storage key
GB2236604A (en) * 1989-10-02 1991-04-10 Sun Microsystems Inc Protecting against the unauthorised use of software in a computer network
US5375206A (en) * 1991-03-11 1994-12-20 Hewlett-Packard Company Method for licensing software
WO1993011480A1 (en) * 1991-11-27 1993-06-10 Intergraph Corporation System and method for network license administration

Cited By (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7970709B2 (en) 1994-11-23 2011-06-28 Contentguard Holdings, Inc. Method and apparatus for client customization by executing software parts on plural servers
US7809644B2 (en) 1994-11-23 2010-10-05 Contentguard Holdings, Inc. Digital work structure
US7664708B2 (en) 1994-11-23 2010-02-16 Contentguard Holdings, Inc. System for controlling the distribution and use of digital works using digital tickets
US7788182B2 (en) 1994-11-23 2010-08-31 Contentguard Holdings, Inc. Method for loaning digital works
US9953328B2 (en) 1994-11-23 2018-04-24 Contentguard Holdings, Inc. Method and system for conducting transactions between repositories
US8170955B2 (en) 1994-11-23 2012-05-01 Contentguard Holdings, Inc. System and method for enforcing usage rights associated with digital content
US7765403B2 (en) 1997-02-28 2010-07-27 Contentguard Holdings, Inc. System for controlling the distribution and use of rendered digital works through watermarking
US8205089B2 (en) 1997-02-28 2012-06-19 Contentguard Holdings, Inc. System for controlling the distribution and use of rendered digital works through watermarking
US7257554B1 (en) 1999-03-19 2007-08-14 Hewlett-Packard Development Company, L.P. Anonymous purchases while allowing verifiable identities for refunds returned along the paths taken to make the purchases
WO2000072118A1 (en) * 1999-05-21 2000-11-30 Compaq Computers Inc. Method and system for enforcing licenses on an open network
WO2001018710A3 (en) * 1999-09-03 2002-01-31 Rainbow Technologies Inc License management system and method with multiple license servers
US6968384B1 (en) 1999-09-03 2005-11-22 Safenet, Inc. License management system and method for commuter licensing
WO2001018710A2 (en) * 1999-09-03 2001-03-15 Rainbow Technologies, Inc. License management system and method with multiple license servers
US6842896B1 (en) 1999-09-03 2005-01-11 Rainbow Technologies, Inc. System and method for selecting a server in a multiple server license management system
US7716348B1 (en) 1999-09-03 2010-05-11 Safenet, Inc. License management system and method with license balancing
US7035918B1 (en) 1999-09-03 2006-04-25 Safenet Canada. Inc. License management system and method with multiple license servers
US6563800B1 (en) 1999-11-10 2003-05-13 Qualcomm, Inc. Data center for providing subscriber access to data maintained on an enterprise network
FR2803409A1 (en) * 1999-12-31 2001-07-06 Ge Medical Tech Serv Method of commercial data processing on application of remote user by generating electronic signal that represents demand for licence file that marks beginning in licence
WO2001074138A3 (en) * 2000-04-03 2002-08-15 Wireless Knowledge Software licensing system
WO2001074138A2 (en) * 2000-04-03 2001-10-11 Wireless Knowledge Software licensing system
US7913095B2 (en) 2000-08-28 2011-03-22 Contentguard Holdings, Inc. Method and apparatus for providing a specific user interface in a system for managing content
US8832852B2 (en) 2000-08-28 2014-09-09 Contentguard Holdings, Inc. Method and apparatus for dynamic protection of static and dynamic content
US8489900B2 (en) 2000-08-28 2013-07-16 Contentguard Holdings, Inc. Method and apparatus for providing a specific user interface in a system for managing content
US7743259B2 (en) 2000-08-28 2010-06-22 Contentguard Holdings, Inc. System and method for digital rights management using a standard rendering engine
US8271350B2 (en) 2000-11-03 2012-09-18 Contentguard Holdings, Inc. Method and system for automatically publishing content
US7907749B2 (en) 2000-12-29 2011-03-15 Contentguard Holdings, Inc. Multi-stage watermarking process and system
US8244579B2 (en) 2001-01-17 2012-08-14 Contentguard Holdings, Inc. Method and apparatus for distributing enforceable property rights
US8069116B2 (en) 2001-01-17 2011-11-29 Contentguard Holdings, Inc. System and method for supplying and managing usage rights associated with an item repository
EP1229425A1 (en) * 2001-02-02 2002-08-07 Matsushita Electric Industrial Co., Ltd. Content usage management system and content usage management method
US8275709B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US8862517B2 (en) 2001-05-31 2014-10-14 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US7774279B2 (en) 2001-05-31 2010-08-10 Contentguard Holdings, Inc. Rights offering and granting
US8468098B2 (en) 2001-05-31 2013-06-18 Contentguard Holdings, Inc. Method and system for subscription digital rights management
US7725401B2 (en) 2001-05-31 2010-05-25 Contentguard Holdings, Inc. Method and apparatus for establishing usage rights for digital content to be created in the future
US8442916B2 (en) 2001-05-31 2013-05-14 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US8412644B2 (en) 2001-05-31 2013-04-02 Contentguard Holdings, Inc. Method and apparatus for establishing usage rights for digital content to be created in the future
US8275716B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Method and system for subscription digital rights management
US8869293B2 (en) 2001-05-31 2014-10-21 Contentguard Holdings, Inc. Method and apparatus for hierarchical assignment of rights to documents and documents having such rights
US8892473B2 (en) 2001-05-31 2014-11-18 Contentguard Holdings, Inc. Method and system for subscription digital rights management
US8099364B2 (en) 2001-05-31 2012-01-17 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US8001053B2 (en) 2001-05-31 2011-08-16 Contentguard Holdings, Inc. System and method for rights offering and granting using shared state variables
EP1290823A1 (en) * 2001-06-07 2003-03-12 ContentGuard Holdings, Inc. Method and apparatus for distributing enforceable property rights
US7774280B2 (en) 2001-06-07 2010-08-10 Contentguard Holdings, Inc. System and method for managing transfer of rights using shared state variables
EP1290823A4 (en) * 2001-06-07 2003-10-22 Contentguard Holdings Inc Method and apparatus for distributing enforceable property rights
US7853531B2 (en) 2001-06-07 2010-12-14 Contentguard Holdings, Inc. Method and apparatus for supporting multiple trust zones in a digital rights management system
EP1674964A1 (en) * 2001-06-07 2006-06-28 ContentGuard Holdings, Inc. Method and apparatus for distributing enforceable property rights
US7395245B2 (en) 2001-06-07 2008-07-01 Matsushita Electric Industrial Co., Ltd. Content usage management system and server used in the system
US7222367B2 (en) 2001-07-20 2007-05-22 Siemens Aktiengesellschaft System for computer-aided monitoring of the use of licenses
EP1300792A3 (en) * 2001-07-20 2003-09-03 Siemens Aktiengesellschaft Computer based method and system for monitoring the use of licenses
US9898715B2 (en) 2001-11-20 2018-02-20 Contentguart Holdings, Inc. Systems and methods for creating, manipulating and processing rights and contract expressions using tokenized templates
US7840488B2 (en) 2001-11-20 2010-11-23 Contentguard Holdings, Inc. System and method for granting access to an item or permission to use an item based on configurable conditions
US7974923B2 (en) 2001-11-20 2011-07-05 Contentguard Holdings, Inc. Extensible rights expression processing system
US9626668B2 (en) 2002-03-14 2017-04-18 Contentgaurd Holdings, Inc. Rights expression profile system and method using templates
US7805371B2 (en) 2002-03-14 2010-09-28 Contentguard Holdings, Inc. Rights expression profile system and method
US8108313B2 (en) 2002-03-14 2012-01-31 Contentguard Holdings, Inc. Rights expression profile system and method using templates
US8543511B2 (en) 2002-04-29 2013-09-24 Contentguard Holdings, Inc. System and method for specifying and processing legality expressions
EP1505528A1 (en) * 2002-05-15 2005-02-09 Matsushita Electric Industrial Co., Ltd. Content use management system
EP1505528A4 (en) * 2002-05-15 2006-12-06 Matsushita Electric Ind Co Ltd Content use management system
US7685642B2 (en) 2003-06-26 2010-03-23 Contentguard Holdings, Inc. System and method for controlling rights expressions by stakeholders of an item
EP1643344A1 (en) * 2004-10-01 2006-04-05 Bull S.A. Method for managing licenses of software carried out on partitionable platforms of a multiprocessor system
FR2876197A1 (en) * 2004-10-01 2006-04-07 Bull Sa Sa METHOD FOR THE FLEXIBLE MANAGEMENT OF MULTIPLE ACTIVITIES EXECUTED ON PARTITIONABLE PLATFORMS OF A MULTI-PROCESSOR SYSTEM
US8768850B2 (en) 2004-11-18 2014-07-01 Contentguard Holdings, Inc. Method, system, and device for license-centric content consumption
US8660961B2 (en) 2004-11-18 2014-02-25 Contentguard Holdings, Inc. Method, system, and device for license-centric content consumption
US7720767B2 (en) 2005-10-24 2010-05-18 Contentguard Holdings, Inc. Method and system to support dynamic rights and resources sharing

Also Published As

Publication number Publication date
GB9617596D0 (en) 1996-10-02
GB2316503B (en) 2000-11-15

Similar Documents

Publication Publication Date Title
GB2316503A (en) Software licence management
JP3924342B2 (en) Software license management system and software license management apparatus
EP1243998B1 (en) A technique for license management and online software license enforcement
JP5634574B2 (en) Rights assignment / management computing device
JP3366143B2 (en) Identifier management apparatus and method in software distribution system, and software distribution management apparatus and method
US7506382B2 (en) Method and system for licensing a software product
US5553143A (en) Method and apparatus for electronic licensing
US6189146B1 (en) System and method for software licensing
US7809648B2 (en) System and method for software licensing
US7343297B2 (en) System and related methods for managing and enforcing software licenses
US20040039705A1 (en) Distributing a software product activation key
US20050132347A1 (en) System for controlling the use of a software application on a plurality of computers
US6859792B1 (en) Product suite licensing method
US20020010863A1 (en) Method for protecting software
US20060031172A1 (en) License management system, license management method, license management server, and license management software
WO2003067386A2 (en) Method and system for licensing intellectual property circuits
US20050038751A1 (en) System and method for software site licensing
JP2011003210A (en) License external memory
EP1174786A2 (en) Method, system, and program for reusing software licenses with new computer hardware
KR20030015742A (en) System for tracking down illegal copies and distribution of digital contents
KR100363831B1 (en) Refill-ware system and method thereof
JP2005189913A (en) Software license management method and program
JP2004046606A (en) Software authentication server, its proxy system, proxy method for authenticating software, and its program
JP2001357156A (en) Device and method for identifier management of software distribution system
WO2001071638A1 (en) An internet storage service system and method

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20150822