WO2001074138A2 - Software licensing system - Google Patents

Software licensing system Download PDF

Info

Publication number
WO2001074138A2
WO2001074138A2 PCT/US2001/010896 US0110896W WO0174138A2 WO 2001074138 A2 WO2001074138 A2 WO 2001074138A2 US 0110896 W US0110896 W US 0110896W WO 0174138 A2 WO0174138 A2 WO 0174138A2
Authority
WO
WIPO (PCT)
Prior art keywords
enteφrise
access
license
software
licenses
Prior art date
Application number
PCT/US2001/010896
Other languages
French (fr)
Other versions
WO2001074138A3 (en
Inventor
Dan F. Fontanesi
Chris Kavas
Randy Salo
Barry K. Shelton
Original Assignee
Wireless Knowledge
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 Wireless Knowledge filed Critical Wireless Knowledge
Priority to AU2001249831A priority Critical patent/AU2001249831A1/en
Publication of WO2001074138A2 publication Critical patent/WO2001074138A2/en
Publication of WO2001074138A3 publication Critical patent/WO2001074138A3/en

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

Definitions

  • This invention generally relates to the field of computer software and information technology management. More particularly, the present invention relates to a novel system that allows software licenses to be administered and controlled using a distributed architecture.
  • Software -licenses are automatically managed in a manner that enforces proper license usage without the requirement to accurately predict expected future usage.
  • license enforcement mechanism is one in which license enforcement is performed locally (i.e., on the same computer or server) with the software to be protected.
  • These licensing enforcement mechanisms are often implemented in software or firmware (computer object code that is permanently or semi-permanently stored in Read Only Memory (ROM)), and sometimes in computer hardware in the form of peripheral devices that directly attach to computers.
  • Software or firmware implementations typically involve storing the number of allocated licenses and identifying information of a given software product, such as product name and version, or product number. In many implementations, the person installing the software is prompted to enter identifying information and/or a license unlocking code that is verified internally by the program, thereby allowing licensed usage.
  • Another form of local licensing enforcement well known in the art requires the installer to enter licensing information during installation as described above, but is so poorly implemented that it may be easily subverted or bypassed, thereby rendering the licensing scheme worthless. For example, some software products request a license code, but will function with any entered value, thus negating any ability to exclude unhcensed users.
  • Another implementation requires the number of purchased licenses to be entered into a license manager software application, but accepts virtually any number that is entered without verifying that the licenses were actually acquired.
  • entry of license information is required to install the protected software product, but the license tracking software can be later disabled, which then allows unlimited unlicensed usage.
  • Hardware licensing systems are also well known in the art.
  • An example of this type of system is a small peripheral device known as a hardware key or colloquially as a "dongle" which is attached directly to a computer system.
  • the software program to be protected typically verifies the presence of the dongle each time the program is executed. If the presence of the dongle cannot be verified, the program will not execute.
  • this type of protection is effective, it is considered impractical for several reasons.
  • the hardware device may add significant cost to the software to be protected such that adoption thereof is much less attractive.
  • the hardware device adds a point of failure of the software, and may prevent usage of the software even when properly licensed, due to malfunction.
  • the requirement of individual hardware devices makes flexible apportionment of a relatively small number of licenses across a large number of computers impracticable.
  • Distributed licensing systems comprise another class of software licensing mechanism that is well known in the art.
  • distributed licensing systems consist of multiple computer systems working together to enforce licensed usage.
  • One implementation of this model involves a central license repository known as a license server.
  • Other computers containing the protected software typically connect to the license server and "check out" a license for specific use of the protected software.
  • This method is commonly referred to as a "floating" license model.
  • the license server is required to be a standalone computer system, that is, a computer system that cannot perform other functions, which greatly increases the economic impact of such a licensing system.
  • license over-purchase commonly occurs in an effort to avoid violating license agreements.
  • One source of over-purchasing is the fact that many software packages are licensed in fixed quantities such as 50, 100, and 250 licenses. In such a case, an enterprise that only needs 23 licenses is forced to round up and purchase the nearest larger number of licenses.
  • the problem is compounded in large enterprises that span considerable geographical distance. For example, many software packages are installed on centralized computers called servers, each with licenses associated therewith. Large enterprises typically deploy servers in each office, site, or factory location. When every server has excess, unused licenses, the number of locations magnifies the economic loss to the enterprise.
  • an enterprise represents any entity employing software that is subject to license control and management.
  • a software license represents any correlation between restrictions on the use and enjoyment of software and compensation of a software vendor therefor, regardless of the strict legal definition of a license.
  • the system may be employed in connection with an enterprise or a Data Center, i.e. a central location to enable data access, distribution, and maintenance.
  • Inventors currently employed by Wireless Knowledge have invented a system employing software and utilizing a Data Center to provide access to desired information.
  • Those applications include U.S. Patent Application 09/438,817, entitled “SECURE REMOTE ACCESS TO ENTERPRISE NETWORKS,” to Randy Salo et al; U.S. Patent Application 09/438,815, entitled “METHOD OF PROVIDING REMOTE ACCESS TO SUBSCRIBER INFORMATION MAINTAINED ON ENTERPRISE NETWORKS,” to Randy Salo et al; U.S.
  • Patent Application 09/436,661 entitled “SECURE REMOTE ACCESS TO ENTERPRISE NETWORKS EMPLOYING ENTERPRISE GATEWAY SERVERS,” to Randy Salo et al
  • U.S. Patent Application 09/438,819 entitled “DATA CENTER FOR PROVIDING SUBSCRIBER ACCESS TO 15 DATA MAINTAINED ON AN ENTERPRISE NETWORK” to Randy Salo et al
  • U.S. Patent Application 09/438,033 entitled “ENTERPRISE NETWORK ARCHITECTURE,” to Randy Salo et al; U.S.
  • the present invention provides a system for administering and controlling software licenses, the system comprising: a data network; at least one license server coupled to the data network, each license server containing software to receive and process license requests; at least one license database coupled to at least one license server, each license database containing software license data; an enterprise network coupled to the data network, the enterprise network comprising: at least one enterprise computer devices containing software license requirements; wherein an enterprise computer device seeks permission to add new users from the license server, and the license server grants permission to add users based on software license data regarding the available number of software licenses allocated to the enterprise.
  • FIG. 1 illustrates a basic implementation of the distributed software licensing system
  • FIG. 2 illustrates an implementation of the distributed software licensing system that includes a network firewall protecting the licensing system components
  • FIG. 3 illustrates an implementation of the distributed software licensing system that includes network firewalls protecting both enterprise network and the licensing system components
  • FIG. 4 illustrates an implementation that demonstrates support for multiple enterprises
  • FIG. 5 illustrates a functional diagram of the licensing server/enterprise server arrangement.
  • FIG. 1 illustrates an overview of the software licensing system.
  • Enterprise 101 contains a license database 102 and license server 103 which respectively store software license data and provide an interface for other computer systems to access said license data.
  • License server 103 is accessible via data network 104 from one or more of a class of licensed computer systems 110.
  • Examples of licensed computer systems 110 include, but are not limited to, a file server 111, an application server 112, a database server 113, and a computer workstation 114. Other types of computer systems may receive licensing services from the license server, while still within the scope of the invention.
  • the primary characteristic of licensed computer systems 110 is that each executes one or more software programs wherein usage is controlled through software licenses.
  • the secondary characteristic of computer systems 110 is that each is connected to a data network 104 to achieve connectivity to license server 103.
  • One or more of a class of client computer systems 120 may access one or more of the licensed computer systems 110.
  • client computer systems 120 include, but are not limited to, a file client computer 121, an application client computer 122, and a database client computer 123.
  • Other types of client computer systems may request services from one or more licensed computer systems 110, while still within the scope of the invention.
  • the primary characteristic of client computer systems 120 is that they do not request software license services from license server 103 directly. Instead, requests for licensed software services of one or more of class of licensed computer systems 110 result in the corresponding licensed computer system making a software license request of license server 103 on behalf of the client computer system requesting services.
  • Client computer systems 120 are connected to licensed computer systems 110 through data network 105.
  • Figure 2 illustrates another configuration of the invention wherein the license server 233 and license database 234 are located in remote data center 230 relative to the ente ⁇ rise computers and servers located in enterprise 201.
  • Data network 203 in enterprise 201 is connected to network router 202.
  • Network router 202 is connected via one or more intermediary networks to network router 231 in remote data center 230.
  • Network router 231 is afforded network connectivity to license server 233 through data network 232.
  • License server 233 may be co-located with license database 234 on the same computer or server, or license database 234 may be hosted by a computer or server separate from license server 233.
  • FIG. 3 illustrates the preferred configuration of the invention wherein the network path between ente ⁇ rise 301 and remote data center 330 are respectively protected by firewalls 302 and 331.
  • Firewalls are well known in the art as network security devices that regulate incoming and outgoing network traffic based on configurable rales.
  • Licensed computer systems 310 request license services along ente ⁇ rise data network 304 and through network router 303. These license requests are allowed to traverse firewall 302 and pass through one or more intermediary data networks between firewalls 302 and 331.
  • Firewall 331 is configured to permit the license requests to pass through while blocking unwanted or excluded traffic. License requests and other allowed data traffic is routed through network router 332.
  • Network router 332 is connected through data network 333 to license server 334.
  • FIG. X An illustration of the operation of the licensing system is presented in FIG. X.
  • a user or subscriber employs a type of device, including but not limited to, for example, a desktop computer, a laptop computer, a cellular telephone, a PDA, or a Microsoft® Windows CE device.
  • the administrator or other appropriate person at the ente ⁇ rise 402 is presumed to have obtained a group of licenses, for example 100 licenses, for software implemented at the ente ⁇ rise 402.
  • the ente ⁇ rise server maintains the number of active licenses, 42 in this example, and periodically contacts the license server 403 to inform the license server of the number of licensees or users of the software.
  • the data may be maintained in a specific location on the ente ⁇ rise sever 402 and the license server 403 may poll the ente ⁇ rise server, either periodically or when needed, to determine the number of software users. This interaction ensures that the number of users of software is accounted for by the licensee and licensor, and prevents paying for too few or too many licensees.
  • Polling or license statistics transmission may occur at any interval depending on the licensor and licensee entities, and a monthly information interchange may work with many types of ente ⁇ rises. However, in certain circumstances, daily, weekly, quarterly, or annual interchanges may be required, or even more or less frequently.
  • the ente ⁇ rise administrator or other appropriate individual provides that user with a username and password.
  • the licensing entity can provide a user having the appropriate credentials with a username and password, which the licensing entity will associate with the particular ente ⁇ rise.
  • the 43 rd user logs on to the ente ⁇ rise system using the user device 401 by entering the username and password provided for accessing the desired software.
  • the ente ⁇ rise server 402 transmits the logon of a new user of the software to the license server.
  • the information transmitted from the ente ⁇ rise server 402 would preferably include the identity of the ente ⁇ rise using a type of recognizable identifier and an indication that the user/ente ⁇ rise wishes to increase the number of users/subscribers by one. Additionally, the present state of subscriptions may be transmitted from the ente ⁇ rise server 402 to license server 403, such as the ente ⁇ rise has 100 total subscriptions purchased, and this user represents the 43 rd subscription.
  • the system can also use an "overdraft" feature, meaning that the ente ⁇ rise could request, for example, 100 licenses with an overdraft of five licenses.
  • the ente ⁇ rise could request, for example, 100 licenses with an overdraft of five licenses.
  • a warning may be transmitted from the license server 403 to the ente ⁇ rise server 402 that the number of allowable licenses has been exceeded, the ente ⁇ rise is in an overdraft situation, and the ente ⁇ rise must purchase new licenses.
  • the license server 403 either consults the license database 405 or transmits the fact that a new user has been added at the particular ente ⁇ rise and updates the number of actual users at the ente ⁇ rise. This is not necessary if the license server polls the ente ⁇ rise server to determine the number of users at the ente ⁇ rise. hi the license server-polling situation, the number of users is maintained on ente ⁇ rise database 404. If polling is employed, addition of a new user can require simply informing the license server of a new user for the software, and the license server can maintain or discard this information and send approval of the new user to the ente ⁇ rise server 402.
  • the license server transmits approval back to the ente ⁇ rise server 402.
  • Transmission between the license server may be over a secure connection, such as an SSL connection or over a secure telephone line, or may be over any type of transmission media used to send information. Security concerns for this data can determine the type of communication channel utilized.
  • User approval also can include a transmission from the license server 403 to the ente ⁇ rise server 402 the number of total subscribers of the software (in this example 43), the number of total subscriptions available (here 100) and the number of overdraft licenses available (such as five).
  • the ente ⁇ rise server can then optionally record the information received from the license server 403, and approve or deny the user access to the desired software. In the foregoing example, the 43 rd user would be approved and could use the software accordingly.
  • the user will log into the server using his or her device 401.
  • the user will enter his or her username and password, which is transmitted to the ente ⁇ rise server 402, which will make a request to the license server 403.
  • the license server will typically either receive the ente ⁇ rise status in the communication from the ente ⁇ rise or inquire of the license database 405 about the ente ⁇ rise associated with the user. In either circumstance, the license server will determine that an insufficient number of licenses have been paid for, and respond with disapproval of the new user.
  • the ente ⁇ rise server 402 may make an arrangement for purchase of an additional license according to the terms of any agreement between the licensor and licensee, and permit the licensor to debit an appropriate account or send a bill for the balance due for the 106 user.
  • a warning may be transmitted from the license server to the ente ⁇ rise server to indicate that the licensee is in an overdraft situation.
  • the ente ⁇ rise must obtain additional licenses, such as in a specific period of time. Failure to obtain additional licenses may result in the inability for new users to access the program or service, or alternately terminate service for the overdraft accounts.
  • the system permits only those users in effect to be charged for access.
  • the ente ⁇ rise server 402 notifies the license server 403 of one less user in the manner described above.
  • the license server may either decrement the number of users at the ente ⁇ rise by one using the license database, or. may wait for a report from the ente ⁇ rise server 402 updating the state of the number of subscribers. In either case, the ente ⁇ rise is then billed for the actual number of licensed users rather than any licenses going unused at the time.
  • the license server can poll the ente ⁇ rise server for the number of active users. If an account has remained dormant for a predetermined amount of time, such as three months, then the user may be deleted as a licensed user. This may require an agreement between the ente ⁇ rise and the licensing entity as to who may be deleted and under what circumstances. Alternately, if an ente ⁇ rise has signed up for only 100 users, and the ente ⁇ rise does not have or does not desire overdraft capacity, a new user can be inserted for a user who has not used the service or program for the greatest amount of time. For example, is a new user, such as a 101 st user, attempts to access the software using a given username and password, the user will be permitted access.
  • the transmission of information between ente ⁇ rise server and license server will occur, and the user will be recognized as being over the allowable number of licensed users.
  • the license server will either poll the ente ⁇ rise server for the usage dates of each licensed user and determine that, for example, the 33 rd user has not used the software for over six months, the greatest amount of nonuse by a licensed user at the ente ⁇ rise.
  • the credentials of the 33 rd user are then disallowed, and the 33 rd user will not be permitted access to the software program or service.
  • the 101 st user is thereby permitted access to the system.
  • An optional warning may be sent to the ente ⁇ rise that the 33 rd user has been terminated, or that new licenses must be purchased.
  • the system may use other access measures beyond the traditional username and password while still within the course and scope of the current invention.
  • the user may access by using an employee id, predetermined license code or number, or other access procedure, as long as the system can somehow verify that he or she is associated with the ente ⁇ rise and should have access to the desired software or programs.
  • the system may include more than one ente ⁇ rise server, more than one license server, and more than one of all of the components depicted in FIG. 4.
  • a single ente ⁇ rise may have ente ⁇ rise servers in multiple locations with licenses accorded for a predetermined number of users in the various locations.
  • the interaction between the ente ⁇ rise servers and the license server or servers may be for according licenses for a number of users affiliated with each individual ente ⁇ rise server or with the ente ⁇ rise as a whole.
  • the system disclosed herein may be operated.
  • An alternate feature of the system is the use of a lock feature in the message transmitted from the license server.
  • the request for any information from the ente ⁇ rise may result in a transmission form the license server of a "lock" or "poison pill” feature.
  • the license server sends a lock code to the ente ⁇ rise server, and upon receiving the lock code the ente ⁇ rise server may cease various functions, such as permitting new user access to the system, deleting the access of new users, or other remedy.
  • the system may go so far as to corrupt the version of software maintained at the ente ⁇ rise location should the threat of software theft exist.
  • FIG. 5 A general flowchart of the decisions made in the current invention is illustrated in FIG. 5.
  • the foregoing represents the various scenarios wherein one may obtain access to the licensed resource
  • FIG. 5 represents one possible embodiment associated with gaining access to the licensed resource for a new user.
  • Other methods for accessing the licensed resource and deleting users are performed in accordance with the description above.
  • certain of the steps illustrated in FIG. 5 may be performed by the ente ⁇ rise equipment, by the licensing equipment, or both.
  • a new user initially seeks access in step 501.
  • the system determines whether the login is correct, typically at the ente ⁇ rise server location in step 502. If the user access procedure is incorrect, step 503 indicates an error has occurred and reports this to the user. If the user obtains access, such as by a correct password and username, the system determines the identity of the ente ⁇ rise, the quantity of licenses available for the ente ⁇ rise, the number of licenses currently used by the ente ⁇ rise, and the overdraft(s), if any in steps 504 through 507. Again, these steps may be determined using transmissions to and from the ente ⁇ rise server and licensing server, using the respective databases. Step 508 determines whether the lock/poison pill feature exists.
  • step 509 indicates the lock/poison pill function is performed and the user rejected.
  • the lock/poison pill function may be to disable the present user, all existing users, disable the licensed resource, or any other effect programmed and desired by the licensor.
  • Step 510 determines if the number of available licenses is greater than the number of used licenses, including overdraft. Warning indications, such as the ente ⁇ rise being in an overdraft situation, may be employed at this point. If the response to step 510 is no, then step 511 indicates that the user seeking access exceeds the number of allowable licenses for the ente ⁇ rise.
  • step 512 indicates the user is accepted and the system (ente ⁇ rise and/or licensing site) increments the number of users for the ente ⁇ rise.
  • the functionality of the system may divert from this course depending on the desires of the licensor and licensee, and certain steps may be performed by the licensing server, ente ⁇ rise server, or both, while still within the course and scope of the invention.

Abstract

A system for enterprises to efficiently comply with software licensing requirements through a distributed software licensing architecture is presented. The distributed software licensing system includes at least one license server to receive and process licensing requests from enterprise servers or computers executing various software applications that are subject to licenses. The licensing system enforces licensed usage of software within the enterprise while maximizing efficient allocation and distribution of software licenses.

Description

SOFTWARE LICENSING SYSTEM
CROSS-REFERENCE TO RELATED APPLICATION
This application is a continuation in part of co-pending United States Patent Application No. 09/438,817, entitled "SECURE REMOTE ACCESS TO ENTERPRISE NETWORKS," to Randy Salo et al, filed on November 10, 1999.
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention generally relates to the field of computer software and information technology management. More particularly, the present invention relates to a novel system that allows software licenses to be administered and controlled using a distributed architecture.
Software -licenses are automatically managed in a manner that enforces proper license usage without the requirement to accurately predict expected future usage.
2. Description of Related Art
The unprecedented growth in home and business computer usage coupled with wireless data advancements and the proliferation of the Internet has fueled significant growth in the software industry. Companies that create software seek compensation for their research, development, production and servicing efforts, typically in the form of user licenses, hi some scenarios, customers using software may incorrectly calculate or assess the license fees required for reasons such as an inability to track the number of actual users at the company due to shifting employee bases. When the ultimate users of software do not have licenses commensurate with their actual usage or go so far as to attempt to subvert software licensing schemes altogether, this can have an adverse economic impact on the software vendor and be detrimental to the industry as a whole. Accordingly, means to ensure that software is used in accordance with license agreements is often critical to the economic viability of commercial computer programs and the companies that develop and license them.
Various methods are currently practiced in the art to ensure proper licensing of computer software The most common class of licensing mechanism is one in which license enforcement is performed locally (i.e., on the same computer or server) with the software to be protected. These licensing enforcement mechanisms are often implemented in software or firmware (computer object code that is permanently or semi-permanently stored in Read Only Memory (ROM)), and sometimes in computer hardware in the form of peripheral devices that directly attach to computers. Software or firmware implementations typically involve storing the number of allocated licenses and identifying information of a given software product, such as product name and version, or product number. In many implementations, the person installing the software is prompted to enter identifying information and/or a license unlocking code that is verified internally by the program, thereby allowing licensed usage. A common weakness with this approach is that if the license unlocking code is divulged to third parties, the software to be protected can frequently be installed elsewhere and appear to be properly licensed when in actuality violating the license agreement. The illegal proliferation of these license keys or codes can be so rampant that many millions of dollars in revenue are assumed lost by the software industry every year in the United States alone.
Another form of local licensing enforcement well known in the art requires the installer to enter licensing information during installation as described above, but is so poorly implemented that it may be easily subverted or bypassed, thereby rendering the licensing scheme worthless. For example, some software products request a license code, but will function with any entered value, thus negating any ability to exclude unhcensed users. Another implementation requires the number of purchased licenses to be entered into a license manager software application, but accepts virtually any number that is entered without verifying that the licenses were actually acquired. In yet another implementation, entry of license information is required to install the protected software product, but the license tracking software can be later disabled, which then allows unlimited unlicensed usage. All of these approaches share in common tacit trust that the users or implementers of the ostensibly protected software will not violate the license agreement. These methods rely more on the force of law to protect the commercial value of the software than their own efficacy. Hardware licensing systems are also well known in the art. An example of this type of system is a small peripheral device known as a hardware key or colloquially as a "dongle" which is attached directly to a computer system. The software program to be protected typically verifies the presence of the dongle each time the program is executed. If the presence of the dongle cannot be verified, the program will not execute. Although this type of protection is effective, it is considered impractical for several reasons. First, the hardware device may add significant cost to the software to be protected such that adoption thereof is much less attractive. Second, the hardware device adds a point of failure of the software, and may prevent usage of the software even when properly licensed, due to malfunction. Lastly, the requirement of individual hardware devices makes flexible apportionment of a relatively small number of licenses across a large number of computers impracticable.
Distributed licensing systems comprise another class of software licensing mechanism that is well known in the art. In contrast to local licensing mechanisms, distributed licensing systems consist of multiple computer systems working together to enforce licensed usage. One implementation of this model involves a central license repository known as a license server. Other computers containing the protected software typically connect to the license server and "check out" a license for specific use of the protected software. This method is commonly referred to as a "floating" license model. Although this approach is generally effective in restricting usage to licensed users, its added complexity and cost limit its adoption rate. In some cases, the license server is required to be a standalone computer system, that is, a computer system that cannot perform other functions, which greatly increases the economic impact of such a licensing system. These and other limitations have resulted in minimal implementation of distributed licensing systems. Another aspect of software licensing is that license over-purchase commonly occurs in an effort to avoid violating license agreements. One source of over-purchasing is the fact that many software packages are licensed in fixed quantities such as 50, 100, and 250 licenses. In such a case, an enterprise that only needs 23 licenses is forced to round up and purchase the nearest larger number of licenses. The problem is compounded in large enterprises that span considerable geographical distance. For example, many software packages are installed on centralized computers called servers, each with licenses associated therewith. Large enterprises typically deploy servers in each office, site, or factory location. When every server has excess, unused licenses, the number of locations magnifies the economic loss to the enterprise. Moreover, few existing licensing systems allow the reallocation of purchased licenses to other computer systems, thus preventing enterprises from flexibly allocating licenses as dictated by business needs. Likewise, the rigid inability of many existing licensing systems to have licenses added or subtracted at a later time is a major shortcoming.
For purposes of this application, a corporation or other entity, public, private, or otherwise, is referred to as an "enterprise." As used herein, an enterprise represents any entity employing software that is subject to license control and management. For purposes of this application, any restriction on the number of users, entities, or locations allowed to use or on the duration of usage of software, is referred to as a software "license." As used herein, a software license represents any correlation between restrictions on the use and enjoyment of software and compensation of a software vendor therefor, regardless of the strict legal definition of a license.
The system may be employed in connection with an enterprise or a Data Center, i.e. a central location to enable data access, distribution, and maintenance. Inventors currently employed by Wireless Knowledge, the assignee of the present application, have invented a system employing software and utilizing a Data Center to provide access to desired information. Those applications include U.S. Patent Application 09/438,817, entitled "SECURE REMOTE ACCESS TO ENTERPRISE NETWORKS," to Randy Salo et al; U.S. Patent Application 09/438,815, entitled "METHOD OF PROVIDING REMOTE ACCESS TO SUBSCRIBER INFORMATION MAINTAINED ON ENTERPRISE NETWORKS," to Randy Salo et al; U.S. Patent Application 09/436,661, entitled "SECURE REMOTE ACCESS TO ENTERPRISE NETWORKS EMPLOYING ENTERPRISE GATEWAY SERVERS," to Randy Salo et al, U.S. Patent Application 09/438,819, entitled "DATA CENTER FOR PROVIDING SUBSCRIBER ACCESS TO 15 DATA MAINTAINED ON AN ENTERPRISE NETWORK," to Randy Salo et al, U.S. Patent Application 09/438,033, entitled "ENTERPRISE NETWORK ARCHITECTURE," to Randy Salo et al; U.S. Patent Application 09/438,818, entitled "DATA TRANSMISSION ARCHITECTURE FOR SECURE REMOTE ACCESS TO ENTERPRISE," to Randy Salo et al; U.S. Patent Application 09/438,816, entitled "USER INTERFACE FOR USE WITH SECURE REMOTE ACCESS TO ENTERPRISE NETWORKS," to Randy Salo et al; and U.S. Patent Application 09/438,820, entitled "SYSTEM AND METHOD FOR DETERMLNING REMOTE ACCESS DEVICE USED TO ACCESS ENTERPRISE NETWORK DATA," to Randy Salo et al, the entirety of which are incorporated herein by reference.
SUMMARY OF THE INVENTION
The present invention provides a system for administering and controlling software licenses, the system comprising: a data network; at least one license server coupled to the data network, each license server containing software to receive and process license requests; at least one license database coupled to at least one license server, each license database containing software license data; an enterprise network coupled to the data network, the enterprise network comprising: at least one enterprise computer devices containing software license requirements; wherein an enterprise computer device seeks permission to add new users from the license server, and the license server grants permission to add users based on software license data regarding the available number of software licenses allocated to the enterprise.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of this Specification, illustrate an embodiment of the invention and, together with the description, explain the objects, advantages, and principles of the invention. In the drawings:
FIG. 1 illustrates a basic implementation of the distributed software licensing system;
FIG. 2 illustrates an implementation of the distributed software licensing system that includes a network firewall protecting the licensing system components;
FIG. 3 illustrates an implementation of the distributed software licensing system that includes network firewalls protecting both enterprise network and the licensing system components;
FIG. 4 illustrates an implementation that demonstrates support for multiple enterprises; and
FIG. 5 illustrates a functional diagram of the licensing server/enterprise server arrangement.
DETAILED DESCRIPTION
The following detailed description of the embodiments of the present invention refers to the accompanying drawings that illustrate these. Other embodiments are possible and modifications may be made to the embodiments without departing from the spirit and-scope of the invention. Therefore, the following detailed description is not meant to limit the invention. Rather the scope of the invention is defined by the appended claims. It will be apparent to one of ordinary skill in the art that an embodiment of the present invention, as described below, may be realized in a variety of implementations, including the software, firmware, and hardware of the entities illustrated in the figures (i.e., license server 103, data network 105, and application server 112). The actual software code or control hardware used to implement the present invention is not limiting of the present invention. Thus, the operation and behavior of the present invention will be described without specific reference to the actual software code or hardware components. Such non-specific references are acceptable because it is clearly understood that a person of ordinary skill in the art would be able to design software and control hardware to implement the embodiment of the present invention based on the description herein.
FIG. 1 illustrates an overview of the software licensing system. Enterprise 101 contains a license database 102 and license server 103 which respectively store software license data and provide an interface for other computer systems to access said license data. License server 103 is accessible via data network 104 from one or more of a class of licensed computer systems 110. Examples of licensed computer systems 110 include, but are not limited to, a file server 111, an application server 112, a database server 113, and a computer workstation 114. Other types of computer systems may receive licensing services from the license server, while still within the scope of the invention. The primary characteristic of licensed computer systems 110 is that each executes one or more software programs wherein usage is controlled through software licenses. The secondary characteristic of computer systems 110 is that each is connected to a data network 104 to achieve connectivity to license server 103.
One or more of a class of client computer systems 120 may access one or more of the licensed computer systems 110. Examples of client computer systems 120 include, but are not limited to, a file client computer 121, an application client computer 122, and a database client computer 123. Other types of client computer systems may request services from one or more licensed computer systems 110, while still within the scope of the invention. The primary characteristic of client computer systems 120 is that they do not request software license services from license server 103 directly. Instead, requests for licensed software services of one or more of class of licensed computer systems 110 result in the corresponding licensed computer system making a software license request of license server 103 on behalf of the client computer system requesting services. Client computer systems 120 are connected to licensed computer systems 110 through data network 105. Figure 2 illustrates another configuration of the invention wherein the license server 233 and license database 234 are located in remote data center 230 relative to the enteφrise computers and servers located in enterprise 201. Data network 203 in enterprise 201 is connected to network router 202. Network router 202 is connected via one or more intermediary networks to network router 231 in remote data center 230. Network router 231 is afforded network connectivity to license server 233 through data network 232.
Requests from licensed computer systems 210 are routed along data network 203 through network routers 202 and 231 to license server 233 in remote data center 230. Responses from license server 233 return to requesting licensed computer systems 210 along the same network path. License server 233 may be co-located with license database 234 on the same computer or server, or license database 234 may be hosted by a computer or server separate from license server 233.
FIG. 3 illustrates the preferred configuration of the invention wherein the network path between enteφrise 301 and remote data center 330 are respectively protected by firewalls 302 and 331. Firewalls are well known in the art as network security devices that regulate incoming and outgoing network traffic based on configurable rales. Licensed computer systems 310 request license services along enteφrise data network 304 and through network router 303. These license requests are allowed to traverse firewall 302 and pass through one or more intermediary data networks between firewalls 302 and 331. Firewall 331 is configured to permit the license requests to pass through while blocking unwanted or excluded traffic. License requests and other allowed data traffic is routed through network router 332. Network router 332 is connected through data network 333 to license server 334. Responses from the license server 334 return to requesting licensed computer systems 310 along the same network path, with firewalls 331 and 302 filtering the traffic to ensure that only allowed data traffic is allowed to traverse said firewalls. An illustration of the operation of the licensing system is presented in FIG. X. From FIG. 4, a user or subscriber employs a type of device, including but not limited to, for example, a desktop computer, a laptop computer, a cellular telephone, a PDA, or a Microsoft® Windows CE device. The administrator or other appropriate person at the enteφrise 402 is presumed to have obtained a group of licenses, for example 100 licenses, for software implemented at the enteφrise 402. For puφoses of this example, it is assumed that other users are employing only 42 of the 100 licenses. In such a situation, the enteφrise server maintains the number of active licenses, 42 in this example, and periodically contacts the license server 403 to inform the license server of the number of licensees or users of the software. Alternately, the data may be maintained in a specific location on the enteφrise sever 402 and the license server 403 may poll the enteφrise server, either periodically or when needed, to determine the number of software users. This interaction ensures that the number of users of software is accounted for by the licensee and licensor, and prevents paying for too few or too many licensees. Polling or license statistics transmission may occur at any interval depending on the licensor and licensee entities, and a monthly information interchange may work with many types of enteφrises. However, in certain circumstances, daily, weekly, quarterly, or annual interchanges may be required, or even more or less frequently.
Once the 43rd user wishes to have access to the desired software, the enteφrise administrator or other appropriate individual provides that user with a username and password. Alternately, the licensing entity can provide a user having the appropriate credentials with a username and password, which the licensing entity will associate with the particular enteφrise. The 43rd user then logs on to the enteφrise system using the user device 401 by entering the username and password provided for accessing the desired software. Once the 43r user enters the appropriate information and is granted access to the software, the enteφrise server 402 transmits the logon of a new user of the software to the license server. The information transmitted from the enteφrise server 402 would preferably include the identity of the enteφrise using a type of recognizable identifier and an indication that the user/enteφrise wishes to increase the number of users/subscribers by one. Additionally, the present state of subscriptions may be transmitted from the enteφrise server 402 to license server 403, such as the enteφrise has 100 total subscriptions purchased, and this user represents the 43rd subscription.
If desired, the system can also use an "overdraft" feature, meaning that the enteφrise could request, for example, 100 licenses with an overdraft of five licenses. In such a situation, if multiple users begin service within a short amount of time, those users could enter the system and payment made later without adverse effects, such as refusing to let some of the users access the software. In such a situation, a warning may be transmitted from the license server 403 to the enteφrise server 402 that the number of allowable licenses has been exceeded, the enteφrise is in an overdraft situation, and the enteφrise must purchase new licenses.
Once the notification of an additional user has been made from the enteφrise server 402 to the license server 403, the license server 403 either consults the license database 405 or transmits the fact that a new user has been added at the particular enteφrise and updates the number of actual users at the enteφrise. This is not necessary if the license server polls the enteφrise server to determine the number of users at the enteφrise. hi the license server-polling situation, the number of users is maintained on enteφrise database 404. If polling is employed, addition of a new user can require simply informing the license server of a new user for the software, and the license server can maintain or discard this information and send approval of the new user to the enteφrise server 402.
Once the license server has approved the user, the license server transmits approval back to the enteφrise server 402. Transmission between the license server may be over a secure connection, such as an SSL connection or over a secure telephone line, or may be over any type of transmission media used to send information. Security concerns for this data can determine the type of communication channel utilized. User approval also can include a transmission from the license server 403 to the enteφrise server 402 the number of total subscribers of the software (in this example 43), the number of total subscriptions available (here 100) and the number of overdraft licenses available (such as five). The enteφrise server can then optionally record the information received from the license server 403, and approve or deny the user access to the desired software. In the foregoing example, the 43rd user would be approved and could use the software accordingly.
In the event of an excess situation, such as the 106 user in the foregoing example, where 100 licenses are purchased and five overdrafts allocated, the user will log into the server using his or her device 401. The user will enter his or her username and password, which is transmitted to the enteφrise server 402, which will make a request to the license server 403. The license server will typically either receive the enteφrise status in the communication from the enteφrise or inquire of the license database 405 about the enteφrise associated with the user. In either circumstance, the license server will determine that an insufficient number of licenses have been paid for, and respond with disapproval of the new user. On disapproval, two events may occur; first, the user may be rejected by the enteφrise server 402, whereby a communication is sent to the user that he or she is forbidden from accessing the desired program or service, such as in the form of a failure screen notification. Alternately, the enteφrise server may make an arrangement for purchase of an additional license according to the terms of any agreement between the licensor and licensee, and permit the licensor to debit an appropriate account or send a bill for the balance due for the 106 user.
In an overdraft situation, such as at the 101st user in the aforementioned example, a warning may be transmitted from the license server to the enteφrise server to indicate that the licensee is in an overdraft situation. In such a situation, the enteφrise must obtain additional licenses, such as in a specific period of time. Failure to obtain additional licenses may result in the inability for new users to access the program or service, or alternately terminate service for the overdraft accounts.
Additionally, when a user is no longer using the program or service, the system permits only those users in effect to be charged for access. In this situation, such as when the enteφrise has 86 users and one user no longer requires access to the program or service, the enteφrise server 402 notifies the license server 403 of one less user in the manner described above. The license server may either decrement the number of users at the enteφrise by one using the license database, or. may wait for a report from the enteφrise server 402 updating the state of the number of subscribers. In either case, the enteφrise is then billed for the actual number of licensed users rather than any licenses going unused at the time.
Alternately, the license server can poll the enteφrise server for the number of active users. If an account has remained dormant for a predetermined amount of time, such as three months, then the user may be deleted as a licensed user. This may require an agreement between the enteφrise and the licensing entity as to who may be deleted and under what circumstances. Alternately, if an enteφrise has signed up for only 100 users, and the enteφrise does not have or does not desire overdraft capacity, a new user can be inserted for a user who has not used the service or program for the greatest amount of time. For example, is a new user, such as a 101st user, attempts to access the software using a given username and password, the user will be permitted access. The transmission of information between enteφrise server and license server will occur, and the user will be recognized as being over the allowable number of licensed users. In such a situation, the license server will either poll the enteφrise server for the usage dates of each licensed user and determine that, for example, the 33rd user has not used the software for over six months, the greatest amount of nonuse by a licensed user at the enteφrise. The credentials of the 33rd user are then disallowed, and the 33rd user will not be permitted access to the software program or service. The 101st user is thereby permitted access to the system. An optional warning may be sent to the enteφrise that the 33rd user has been terminated, or that new licenses must be purchased.
It is to be understood that the system may use other access measures beyond the traditional username and password while still within the course and scope of the current invention. For example, the user may access by using an employee id, predetermined license code or number, or other access procedure, as long as the system can somehow verify that he or she is associated with the enteφrise and should have access to the desired software or programs. Further, the system may include more than one enteφrise server, more than one license server, and more than one of all of the components depicted in FIG. 4. For example, a single enteφrise may have enteφrise servers in multiple locations with licenses accorded for a predetermined number of users in the various locations. The interaction between the enteφrise servers and the license server or servers may be for according licenses for a number of users affiliated with each individual enteφrise server or with the enteφrise as a whole. As long as accurate records are maintained and transmitted between the enteφrise server or servers and the license server or servers using associated databases, the system disclosed herein may be operated. An alternate feature of the system is the use of a lock feature in the message transmitted from the license server. If, for example, the security is not being properly maintained at the enteφrise server, or users are being permitted access who do not have appropriate licenses, repeated use of overdraft accounts without compensation, or some other problem with the licensing arrangement has arisen, the request for any information from the enteφrise may result in a transmission form the license server of a "lock" or "poison pill" feature. In such a lock feature, the license server sends a lock code to the enteφrise server, and upon receiving the lock code the enteφrise server may cease various functions, such as permitting new user access to the system, deleting the access of new users, or other remedy. The system may go so far as to corrupt the version of software maintained at the enteφrise location should the threat of software theft exist.
A general flowchart of the decisions made in the current invention is illustrated in FIG. 5. As may be appreciated, the foregoing represents the various scenarios wherein one may obtain access to the licensed resource, and FIG. 5 represents one possible embodiment associated with gaining access to the licensed resource for a new user. Other methods for accessing the licensed resource and deleting users are performed in accordance with the description above. Further, certain of the steps illustrated in FIG. 5 may be performed by the enteφrise equipment, by the licensing equipment, or both.
From FIG. 5, a new user initially seeks access in step 501. The system determines whether the login is correct, typically at the enteφrise server location in step 502. If the user access procedure is incorrect, step 503 indicates an error has occurred and reports this to the user. If the user obtains access, such as by a correct password and username, the system determines the identity of the enteφrise, the quantity of licenses available for the enteφrise, the number of licenses currently used by the enteφrise, and the overdraft(s), if any in steps 504 through 507. Again, these steps may be determined using transmissions to and from the enteφrise server and licensing server, using the respective databases. Step 508 determines whether the lock/poison pill feature exists. This step is optional, and if the lock/poison pill feature is enabled and the lock/poison pill is indicated, step 509 indicates the lock/poison pill function is performed and the user rejected. The lock/poison pill function may be to disable the present user, all existing users, disable the licensed resource, or any other effect programmed and desired by the licensor. Step 510 then determines if the number of available licenses is greater than the number of used licenses, including overdraft. Warning indications, such as the enteφrise being in an overdraft situation, may be employed at this point. If the response to step 510 is no, then step 511 indicates that the user seeking access exceeds the number of allowable licenses for the enteφrise. The user may be rejected, or another user dropped, or the user accepted and compensation sought for the new user, or other course of action depending on the licensor's desires. If the answer to step 510 is yes, then step 512 indicates the user is accepted and the system (enteφrise and/or licensing site) increments the number of users for the enteφrise. Again, as may be appreciated, the functionality of the system may divert from this course depending on the desires of the licensor and licensee, and certain steps may be performed by the licensing server, enteφrise server, or both, while still within the course and scope of the invention.
The foregoing description of preferred embodiments of the present invention provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible consistent with the above teachings or may be acquired from practice of the invention. Accordingly, the claims and their equivalents define the scope of the invention.

Claims

What is claimed is:
1. A system for administering and controlling software licenses, the system comprising: a data network; at least one license server coupled to the data network, each license server containing software to receive and process license requests; at least one license database coupled to at least one license server, each license database containing software license data; an enteφrise network coupled to the data network, the enteφrise network comprising: at least one enteφrise computer devices containing software license requirements; wherein an enteφrise computer device seeks permission to add new users from the license server, and the license server grants permission to add users based on software license data regarding the available number of software licenses allocated to the enteφrise.
2. A method for permitting user access to a licensed resource, the method comprising the steps of: seeking approval access to the licensed resource for an enteφrise from a system associated with the licensor; determining the number of available licenses allocated to said enteφrise; and granting access to the licensed resource based on a set of predetermined criteria.
3. The method of claim 2, wherein the set of predetermined criteria comprises a number of available licenses not exceeding a number of allowable licenses.
4. A method as in one of claims 2-3, further comprising the step of assessing user credentials before seeking approval for access to the licensed resource.
5. A method as in one of claims 2-4, wherein the licensed resource comprises a software program.
6. A system for granting access to a licensed resource, comprising: an enteφrise system where said licensed resources are located; and a remote licensing access system for receiving requests from the enteφrise system and selectively transmitting access approval to the licensed resource based on predetermined licensing criteria.
7. The system of claim 6, wherein said enteφrise system comprises an enteφrise computing device and an enteφrise database.
8. A system as in one of claims 6-7, further comprising a user device for accessing said enteφrise system to obtain access to the licensed resource.
9. The system of claim 8, wherein a user requesting initial access to the licensed resource using the user device queries the enteφrise system which contacts the remote licensing access system, and said enteφrise system and remote license access system determine the number of available licenses for the enteφrise and approve access of the user to the licensed resource based on a predetermined set of user access criteria.
10. The system of claim 9, wherein the predetermined set of user access criteria comprises the number of available licenses for the enteφrise to exceed a number of used licenses for the enteφrise.
11. The system of claim 10, wherein the system uses an overdraft arrangement such that any enteφrise having more than a permissible number of users having access to the licensed resource permit access to a predetermined number of additional new users without denying access to the predetermined number of new users.
12. A system as in one of claims 9-11, wherein the system uses a lock feature, such that the remote licensing access system may transmit an indication to the enteφrise system to restrict access to the licensed resource for certain users under predetermined conditions.
13. A system as in one of claims 9-12, wherein the enteφrise system transmits a request for access approval for a new user and permits the new user access to the licensed resource under predetermined conditions.
14. The system of claim 13, wherein the predetermined conditions comprise a number of enteφrise permitted licenses being greater than or equal to a number of currently used enteφrise licenses.
15. A system as in one of claims 6-14, wherein the remote licensing access system comprises a license computing device and a license database.
PCT/US2001/010896 2000-04-03 2001-04-03 Software licensing system WO2001074138A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001249831A AU2001249831A1 (en) 2000-04-03 2001-04-03 Software licensing system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US54174900A 2000-04-03 2000-04-03
US09/541,749 2000-04-03

Publications (2)

Publication Number Publication Date
WO2001074138A2 true WO2001074138A2 (en) 2001-10-11
WO2001074138A3 WO2001074138A3 (en) 2002-08-15

Family

ID=24160872

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/010896 WO2001074138A2 (en) 2000-04-03 2001-04-03 Software licensing system

Country Status (2)

Country Link
AU (1) AU2001249831A1 (en)
WO (1) WO2001074138A2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003036530A1 (en) * 2001-10-24 2003-05-01 Pinma Oy A method and a system for licensing digital resources and services
WO2004021675A1 (en) * 2002-08-08 2004-03-11 Siemens Aktiengesellschaft Data communications system and method for centrally licensing software in a distributed network
CN100449562C (en) * 2006-09-30 2009-01-07 华为技术有限公司 License control method and device
WO2020131045A1 (en) * 2018-12-19 2020-06-25 Unify Patente Gmbh & Co. Kg Apparatus and method for license activation
US20220012310A1 (en) * 2020-03-31 2022-01-13 Boe Technology Group Co., Ltd. Method for license authentication, and node, system and computer-readable storage medium for the same

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5287408A (en) * 1992-08-31 1994-02-15 Autodesk, Inc. Apparatus and method for serializing and validating copies of computer software
US5375206A (en) * 1991-03-11 1994-12-20 Hewlett-Packard Company Method for licensing software
GB2316503A (en) * 1996-08-22 1998-02-25 Icl Personal Systems Oy Software licence management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5375206A (en) * 1991-03-11 1994-12-20 Hewlett-Packard Company Method for licensing software
US5287408A (en) * 1992-08-31 1994-02-15 Autodesk, Inc. Apparatus and method for serializing and validating copies of computer software
GB2316503A (en) * 1996-08-22 1998-02-25 Icl Personal Systems Oy Software licence management

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003036530A1 (en) * 2001-10-24 2003-05-01 Pinma Oy A method and a system for licensing digital resources and services
WO2004021675A1 (en) * 2002-08-08 2004-03-11 Siemens Aktiengesellschaft Data communications system and method for centrally licensing software in a distributed network
CN100449562C (en) * 2006-09-30 2009-01-07 华为技术有限公司 License control method and device
WO2020131045A1 (en) * 2018-12-19 2020-06-25 Unify Patente Gmbh & Co. Kg Apparatus and method for license activation
US20220012310A1 (en) * 2020-03-31 2022-01-13 Boe Technology Group Co., Ltd. Method for license authentication, and node, system and computer-readable storage medium for the same
US11790054B2 (en) * 2020-03-31 2023-10-17 Boe Technology Group Co., Ltd. Method for license authentication, and node, system and computer-readable storage medium for the same

Also Published As

Publication number Publication date
WO2001074138A3 (en) 2002-08-15
AU2001249831A1 (en) 2001-10-15

Similar Documents

Publication Publication Date Title
US8015563B2 (en) Managing virtual machines with system-wide policies
US5023907A (en) Network license server
US7568217B1 (en) Method and apparatus for using a role based access control system on a network
US6411943B1 (en) Internet online backup system provides remote storage for customers using IDs and passwords which were interactively established when signing up for backup services
US7921299B1 (en) Partner sandboxing in a shared multi-tenant billing system
US7827598B2 (en) Grouped access control list actions
KR101575080B1 (en) Software licence control
US20010047485A1 (en) Computer security system
US20120246086A1 (en) Generation of enterprise-wide licenses in a customer environment
US20020184535A1 (en) Method and system for accessing a resource in a computing system
US20030115484A1 (en) System and method for incrementally distributing a security policy in a computer network
US20020083059A1 (en) Workflow access control
GB2319364A (en) Auditing software usage in a distributed computer network
EP1323018A2 (en) Protected content distribution system
EP1364331A1 (en) System and method for resource provisioning
US7287277B2 (en) Method and apparatus for controlling execution of a computer operation
WO2014061897A1 (en) Method for implementing login confirmation and authorization service using mobile user terminal
WO2001074138A2 (en) Software licensing system
US20060031932A1 (en) Method and system for security control in an organization
Cisco Using the Cisco Centri Firewall to Protect Your Network
Cisco Using the Cisco Centri Firewall to Protect Your Network
CN113486322A (en) Control method, device and medium for integrated platform based on single sign-on
Cisco Using Cisco Centri Firewall to Protect Your Network
Cisco Using Cisco Centri Firewall to Protect Your Network
Cisco Using Cisco Centri Firewall to Protect Your Network

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 BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EE 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 NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

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

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP