CN100449562C - License control method and device - Google Patents

License control method and device Download PDF

Info

Publication number
CN100449562C
CN100449562C CNB200610063004XA CN200610063004A CN100449562C CN 100449562 C CN100449562 C CN 100449562C CN B200610063004X A CNB200610063004X A CN B200610063004XA CN 200610063004 A CN200610063004 A CN 200610063004A CN 100449562 C CN100449562 C CN 100449562C
Authority
CN
China
Prior art keywords
license
server
data
client
licenses
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.)
Expired - Fee Related
Application number
CNB200610063004XA
Other languages
Chinese (zh)
Other versions
CN1996332A (en
Inventor
吕涛
胡云
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB200610063004XA priority Critical patent/CN100449562C/en
Publication of CN1996332A publication Critical patent/CN1996332A/en
Priority to PCT/CN2007/070843 priority patent/WO2008043311A1/en
Application granted granted Critical
Publication of CN100449562C publication Critical patent/CN100449562C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention relates to a License control method that comprises applying for License approval to the application License customer end from the operation module of the application server, approval for the operation module with the License customer based on the acquired License data from License server, executing operation after operation module acquired approval from License customer end. It improves the timely effect of the License approval with reduced system loading and License approval reliability.

Description

License control method and device
Technical Field
The invention relates to the field of communication, in particular to a License control method and a License control device.
Background
With the popularization of personal computers, the emergence of a large number of programmers and software companies, software technology has been developed greatly, and at the same time, software protection has been challenged greatly.
Since users could run and use software as long as they had it, software companies mainly control the use of software by controlling software copying and software distribution. Many technical means for preventing software from being illegally copied appear at this time, and the basic principle is that software is usually bound with a specific hardware carrier, such as a floppy disk, an optical disk and the like, but the method is too dependent on hardware, so that the popularization of the software is limited.
With the rapid increase of the software usage amount and the increasing of the software scale, the software is spread and separated from the hardware carrier, at this time, the software can be locally installed and run, software companies usually adopt the advanced encryption technology to protect the use right of the software, different copies of the software need different passwords to be installed and run, and License at this time is equivalent to a key to open the corresponding software.
As network technology has evolved and software system architectures have become more complex, the advent of distributed applications has made localized licenses useless, and many software turns to install, run licenses through servers, a networking example of which is shown in fig. 1. The License server special for heat distribution manages all License permissions of users, the business modules are distributed on different application servers, each business module directly accesses the License server and applies for License resources, the License server dynamically judges the remaining licenses and returns License permission results, and the business module determines a business process according to the License permission results.
The flow of the method is shown in FIG. 2:
s1: the business module receives the business request and applies for License resources from the License server;
s2: the License server checks the current remaining License resources and judges whether to issue the License resources;
s3: if the License resource which can be issued exists, the License server carries out License permission, deducts 1 from the License resource, and returns a response message of successful application to the service module;
s4: and after receiving License permission, the business module executes business operation.
According to the scheme, all License of the user is intensively handed to the License server for management, so that dynamic release of License can be realized, and the License utilization rate is improved.
However, the scheme completely depends on License server management and License control, when the number of application servers is large and the operation of a business module is busy, the License server is loaded because each License request of each business module needs to be applied to the License server, and the network flow can be increased.
For a service process with strict requirement on acquiring the real-time property of the License, such as a voice conference service, since the service module can continue to perform the service process only after obtaining the return result of the License server, the execution efficiency of the service module is greatly limited by the operation efficiency of the License server and the network condition between the application server and the License server, and the real-time property of acquiring the License is seriously affected when the License server and the network are heavily loaded.
If the License server has too large traffic and system failure causes service congestion or even crash, all service modules stop operating because the License cannot be obtained. In addition, if the network between the application server and the License server is abnormal, the service module is also greatly influenced. Therefore, the architecture and the method flow of the tight coupling between the business module and the License server bring great operation risks to the License business, and the reliability of the system is reduced.
Disclosure of Invention
The invention provides a License control method, a License control device and a License control system, which aim to solve the problems of heavy load, poor real-time performance and poor reliability of a system caused by License centralized management in the prior art.
The invention provides the following technical scheme:
a License control method includes the following steps:
a: a business module of an application server applies for License permission to a License client of the application server;
b: the License client side carries out License permission on the business module according to License global data obtained from a License server, wherein the License global data comprises: the License server comprises the number of all licenses, the number of used licenses and the number of remaining available licenses;
c: and the business module executes business operation after obtaining the permission of the License client.
Wherein:
before the step A is executed, the method also comprises a data initialization step of the License server:
the License server reads the total number of the licenses and acquires the number of the licenses used by all License clients;
the License client suspends the permission provided for the business module and returns the used License number to the License server;
the License server collects the number of licenses used by each License client, updates License global data and sends the updated License data to all the License clients;
and the License client updates the locally available License data according to the updated License data and recovers to provide the permission for the service module.
Before the step A is executed, the method also comprises the data initialization step of the application server:
the License client clears the number of locally used licenses and sends a message to a License server;
the License server clears the number of licenses used by the License clients, updates License global data and sends the updated License data to all the License clients;
and the License client updates local License data and provides permission for the business module according to the updated data.
The step B of acquiring License data from the License server by the License client comprises the following steps:
the License client sends License incremental data to a License server at regular time, the License server updates License global data according to the License incremental data and sends the updated License data to all the License clients, and the License clients update local License data;
or,
the License client sends the License number used accumulatively to the License server at regular time, the License server updates the License global data according to the License number used accumulatively, and sends the updated License data to all the License clients, and the License clients update the local License data.
The incremental data refers to the newly occupied and newly released License number of a single License client in an updating period.
The License permission comprises:
judging whether a new License can be applied or not; or
Judging whether License can be released or not; or
It is determined whether a business operation can be performed.
The total number of the License issued by all License clients exceeds the total number of the License server.
The invention also provides a License control device, which comprises:
the business module applies License permission to the License client and executes business operation after the License is obtained;
the License client side performs License permission on the business module according to License global data acquired from a License server, wherein the License global data comprises: license server total License number, License number in use, and License number remaining available.
In the embodiment of the invention, License licensing modules are directly deployed on the application servers, and each application server has a separate License client responsible for License licensing, so that the licensing work originally born by the License servers alone is decomposed to a plurality of application servers, and the concurrent processing pressure of the License servers is greatly relieved. Meanwhile, when the License client on the application server operates abnormally, the business module can also directly permit the License server, so that the mechanism improves the operating efficiency of the system and effectively solves the performance bottleneck of the License server.
In the embodiment of the invention, the application server does not directly carry out remote permission to the License server, but carries out permission to the local License client, the application server and the License server are in loose coupling relation, and the local calling saves the network transmission and the expense of message packet coding and decoding compared with the remote calling; the efficiency and reliability of local calling are far higher than those of remote calling; in addition, the License client only needs to provide a License service for a single application server, and the operation pressure is low, so that a more complex and more flexible License policy can be supported; due to distributed deployment and independent operation, the temporary failure of the License server does not immediately influence the service operation of the application server, the service operation is not immediately influenced when the network between the License server and the application server is abnormal, and the reliability of the system is greatly enhanced.
In the embodiment of the invention, the License client acquires the License resource refreshed at the previous time, and before the next data acquisition, if the service concurrent peak is met, the total number of the resources issued by a plurality of License clients possibly exceeds the total License resource pool, so that the actual issuing number of the licenses is allowed to temporarily exceed the total number of the licenses owned by the service provider ASP when the service system meets the large-scale concurrent service peak, therefore, the scheme well supports the 'License overlapping' operation mode of the ASP, but does not cause loss to the legal benefit of the software licensee.
Drawings
Fig. 1 is a networking example of a License control system of the prior art;
FIG. 2 is a prior art License control method;
fig. 3 is a networking example of the License control system according to the embodiment of the present invention;
FIG. 4 is a flowchart of a License control method according to an embodiment of the present invention;
fig. 5 is an initialization process of the License server according to the embodiment of the present invention;
fig. 6 is an initialization procedure of an application server according to an embodiment of the present invention;
fig. 7 is a process of the License server acquiring data from the application server according to the embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention will be described in further detail below with reference to the accompanying drawings and examples.
Referring to fig. 3, the License server manages the whole License resource, synchronizes the License global data to all application servers when the system is started, and sends the latest License data to the application servers at regular time according to the request of the application servers. The License global data mainly comprises the number of all licenses of the License server, the number of the licenses in use and the number of the remaining available licenses.
Each application server comprises at least one License client and at least one business module. And the business module requests a License permission from a License client of the local application server, and performs business operation after the License permission of the License client is obtained. And the License client side performs License permission on the service module according to the License data obtained from the License server and sends a permission response message to the service module. And the License client also sends License data to the License server at regular time and updates the local License data according to the response message of the License server. The License data sent by the License client to the License server is License incremental data or License accumulated data, the incremental data refers to new occupation and newly released License number of a single License client in a refresh period, and the License accumulated data refers to the License number of accumulated occupation and released License number of a single application server from the start.
As can be seen from the description of fig. 3, the data stored in the License server mainly includes the number of licenses used by each License client and the latest License global data. In the first embodiment, when the License server and the License client interact with the incremental data, the License client stores the incremental data and the locally available License data. In the second embodiment, when the License server and the License client interact with the quantity of licenses used accumulatively, the License client stores the quantity of licenses used accumulatively and locally available License data. Accordingly, the data stored in the License client mainly includes License increment data or License quantity used accumulatively, and available License quantity. The data in the License client can also be stored in other modules or devices.
Please refer to fig. 4, which is a flowchart of a License control method in the present embodiment, including the following steps:
a: a business module of an application server requests License permission from a License client of the application server;
b: the License client side performs License permission on the business module according to License data acquired from the License server;
c: and the business module executes business operation after obtaining the permission of the License client.
Because the License server and the License client are in a distributed architecture, the running states of the License server and the License client and the data stored in the License server are not synchronized at any time, and when the License server is started or restarted, the data on the License server needs to be initialized. Referring to fig. 5, the data initialization step of the License server is as follows:
the License server reads the total number of licenses, and acquires the number of the licenses used by the License server from the License clients of all the application servers;
the License client suspends the permission provided for the business module and returns the License number used by the License client to the License server;
the License server collects the License number used by each application server, generates License global data and provides the updated License data for all License clients;
the License client updates the locally available License data and resumes providing permissions to the traffic module.
The application server may terminate abnormally, and the License server may consider the License resource still occupied after the application server terminates. Therefore, when the application server is started or restarted, it is necessary to send a message to the License server, so that the License server initializes License data of the License client, that is, data of the application server needs to be initialized, please refer to fig. 6, which is an initialization step of the application server:
the License client clears the number of locally used licenses and sends a message to a License server;
the License server clears the number of licenses used by the License clients, updates License global data and sends the updated License data to all the License clients;
and the License client updates the locally available License data and provides permission for the business module according to the updated local License data.
Please refer to fig. 7, which is a step of acquiring License data from a License server by an application server:
the License client reports License data of the client to a License server at regular time;
the License server updates License global data according to the reported License data and sends the updated License data to all License clients, wherein the updated License data at least comprises available License data;
and the License client updates the local License data.
In a specific embodiment, the License client reports incremental data of the client or the number of licenses used accumulatively to a License server at regular time. And if the reported incremental data is the incremental data, resetting the incremental data when the License client updates the local License data.
Optionally, the License client suspends the License provision from the time of reporting the License data to the time of updating the local License data.
The business module directly accesses the local License client to perform License permission, and three kinds of permission operations are mainly performed: and judging whether the business can be executed or a new License is applied or the License is released.
When applying for a new License, if the License operation is to apply for a new License, the License client judges whether the number of the remaining available licenses is enough according to the local License global data, if the number of the licenses is not enough, the application of the service module is refused, if the number of the licenses is enough, a License success response message is provided for the service module, and the number of the local available License data is reduced by 1.
If the permit operation is to release License, then the number of License data available locally is increased by 1.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present invention without departing from the spirit and scope of the invention. Thus, if such modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is intended to include such modifications and variations.

Claims (11)

1. A License control method is characterized by comprising the following steps:
a: a business module of an application server applies for License permission to a License client of the application server;
b: the License client side carries out License permission on the business module according to License global data obtained from a License server, wherein the License global data comprises: the License server comprises the number of all licenses, the number of used licenses and the number of remaining available licenses;
c: and the business module executes business operation after obtaining the permission of the License client.
2. The method according to claim 1, further comprising a License server data initialization step before executing step a:
the License server reads the total number of the licenses and acquires the number of the licenses used by all License clients;
the License client suspends the permission provided for the business module and returns the used License number to the License server;
the License server collects the number of licenses used by each License client, updates License global data and sends the updated License data to all the License clients;
and the License client updates the locally available License data according to the updated License data and recovers to provide the permission for the service module.
3. The method according to claim 1, further comprising a data initialization step of the application server before performing step a:
the License client clears the number of locally used licenses and sends a message to a License server;
the License server clears the number of licenses used by the License clients, updates License global data and sends the updated License data to all the License clients;
and the License client updates local License data and provides permission for the business module according to the updated data.
4. The method according to any one of claims 1 to 3, wherein the step of the License client acquiring License data from the License server in the step B is specifically:
the License client sends License incremental data to a License server at regular time, the License server updates License global data according to the License incremental data and sends the updated License data to all the License clients, and the License clients update local License data;
or,
the License client sends the License number used accumulatively to the License server at regular time, the License server updates the License global data according to the License number used accumulatively, and sends the updated License data to all the License clients, and the License clients update the local License data.
5. The method of claim 4, wherein the incremental data refers to new occupation and new released License number of a single License client in an update period.
6. The method of any of claims 1 to 3, wherein the License permission comprises:
judging whether a new License can be applied or not; or
Judging whether License can be released or not; or
It is determined whether a business operation can be performed.
7. The method of any of claims 1 to 3, wherein the total number of licenses issued by all License clients exceeds the total number of licenses of the License server.
8. A License control apparatus, characterized in that the apparatus comprises:
the business module applies License permission to the License client and executes business operation after the License is obtained;
the License client side performs License permission on the business module according to License global data acquired from a License server, wherein the License global data comprises: license server total License number, License number in use, and License number remaining available.
9. The device of claim 8, wherein the License client periodically sends License incremental data to the License server, and updates local License data according to the License server response; or the License client sends the quantity of the licenses used by the License client to the License server at regular time, and updates the local License data according to the response of the License server.
10. The apparatus of claim 9, wherein the incremental data refers to new occupation and new released License number of a single License client in an update period.
11. The apparatus according to any one of claims 8 to 10, wherein the total number of licenses issued by all License clients exceeds the total number of licenses of the License server.
CNB200610063004XA 2006-09-30 2006-09-30 License control method and device Expired - Fee Related CN100449562C (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CNB200610063004XA CN100449562C (en) 2006-09-30 2006-09-30 License control method and device
PCT/CN2007/070843 WO2008043311A1 (en) 2006-09-30 2007-09-30 Method, apparatus, and system for controlling resource license

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB200610063004XA CN100449562C (en) 2006-09-30 2006-09-30 License control method and device

Publications (2)

Publication Number Publication Date
CN1996332A CN1996332A (en) 2007-07-11
CN100449562C true CN100449562C (en) 2009-01-07

Family

ID=38251417

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200610063004XA Expired - Fee Related CN100449562C (en) 2006-09-30 2006-09-30 License control method and device

Country Status (1)

Country Link
CN (1) CN100449562C (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008043311A1 (en) * 2006-09-30 2008-04-17 Huawei Technologies Co., Ltd. Method, apparatus, and system for controlling resource license
EP2504953A4 (en) * 2009-11-23 2017-07-05 Telefonaktiebolaget LM Ericsson (publ) License redistributing method, moderator and license controlling system thereof
CN101930516B (en) * 2010-09-09 2012-07-18 南京中兴特种软件有限责任公司 Method for using license of embedded equipment
CN102421107B (en) * 2010-09-27 2015-09-16 中兴通讯股份有限公司 A kind of LICENSE management system of telecommunicatioin network management and method
CN102075973A (en) * 2010-12-24 2011-05-25 华为技术有限公司 LICENSE control method and device
US9372964B2 (en) 2011-03-21 2016-06-21 Nokia Solutions And Networks Oy Software license control
CN102130837B (en) * 2011-03-31 2015-06-03 中兴通讯股份有限公司 Method and system for dynamically regulating service license
CN103400062A (en) * 2013-07-30 2013-11-20 深圳创维数字技术股份有限公司 Method and system for authorized use of software
CN106131187B (en) * 2016-07-13 2020-01-17 新华三技术有限公司 Authorization control method and device
CN107729458A (en) * 2017-10-10 2018-02-23 中国航发控制系统研究所 The method for visually monitoring of instrument license
CN109547435B (en) * 2018-11-23 2021-06-29 新华三信息安全技术有限公司 Authorization authentication method and device
CN112989289B (en) * 2019-12-02 2023-04-25 成都鼎桥通信技术有限公司 Software license checking method and device, electronic equipment and readable storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579222A (en) * 1991-11-27 1996-11-26 Intergraph Corporation Distributed license administration system using a local policy server to communicate with a license server and control execution of computer programs
CN1307289A (en) * 1999-07-22 2001-08-08 株式会社高岳制作所 Office procedure of computer network, terminal and permission and server and related recording medium
WO2001074138A2 (en) * 2000-04-03 2001-10-11 Wireless Knowledge Software licensing system
JP2002006972A (en) * 2000-06-26 2002-01-11 Nec Software Kobe Ltd System and method for software management and memory medium
JP2004054659A (en) * 2002-07-22 2004-02-19 Nikon Corp License management terminal and application execution terminal

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579222A (en) * 1991-11-27 1996-11-26 Intergraph Corporation Distributed license administration system using a local policy server to communicate with a license server and control execution of computer programs
CN1307289A (en) * 1999-07-22 2001-08-08 株式会社高岳制作所 Office procedure of computer network, terminal and permission and server and related recording medium
WO2001074138A2 (en) * 2000-04-03 2001-10-11 Wireless Knowledge Software licensing system
JP2002006972A (en) * 2000-06-26 2002-01-11 Nec Software Kobe Ltd System and method for software management and memory medium
JP2004054659A (en) * 2002-07-22 2004-02-19 Nikon Corp License management terminal and application execution terminal

Also Published As

Publication number Publication date
CN1996332A (en) 2007-07-11

Similar Documents

Publication Publication Date Title
CN100449562C (en) License control method and device
US7661147B2 (en) System for controlling use of digitally encoded products
KR100701618B1 (en) Electronic bookshelf with multi-user features
CA3000422C (en) Workflow service using state transfer
US8959484B2 (en) System for hosted, shared, source control build
US20130247027A1 (en) Distribution and installation of solidified software on a computer
JP3974913B2 (en) Methods for managing standby resource usage
EP1607862A2 (en) Coordinating use of independent external resources within requesting grid environments
US7856664B2 (en) Method, system and computer program for a secure backup license server in a license management system
US20050060608A1 (en) Maximizing processor utilization and minimizing network bandwidth requirements in throughput compute clusters
KR20140116166A (en) Application licensing using sync providers
KR20070059966A (en) Method, system and computer program for distributing software products in trial mode
EP2637120B1 (en) Enterprise license registrar anchor point
WO2007006859A1 (en) Method and device arrangement for managing a client/server environment
US10348814B1 (en) Efficient storage reclamation for system components managing storage
US9690913B2 (en) License management in a networked software application solution
KR100915533B1 (en) System for determining unreturned standby resource usage
US20110271327A1 (en) Authorized Application Services Via an XML Message Protocol
JP4337747B2 (en) Hardware resource provision system
JP3736680B2 (en) Access control apparatus and computer program
JP5835022B2 (en) Distribution apparatus, distribution processing method and program, information processing apparatus, information processing method and program
WO2008043311A1 (en) Method, apparatus, and system for controlling resource license
CN117896254A (en) Network operating system, data processing method and electronic equipment
CN116738381A (en) Software authorization method, device, electronic equipment and computer readable medium
Yahyapour Attributes for Communication between Scheduling Instances

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090107

Termination date: 20170930