This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2014-124606, filed on Jun. 17, 2014, the entire contents of which are incorporated herein by reference.
The embodiment discussed herein is related to a technique for assisting software product license management.
In software product license management, in order to provide protection from unauthorized use of software in view of compliance, the number of software products installed in each computer is totalized and the obtained total number is compared to the number of purchased licenses.
Conventionally, a single software product installed in each computer is managed as a single license, and therefore, license management may be performed by collecting a list of installed software.
In recent years, software license forms have been complicated and there are licenses in various forms. That is, there are cases where even a software product of a single type is licensed in a plurality of license forms. For example, the following license forms are known.
A. Preinstalled License
A license of software that was incorporated in advance at point of purchase of a computer. Licenses in this form include an original equipment manufacturer (OEM) license. Basically, a license in this form is provided free of charge, and therefore, is not managed.
B. Product License
A purchased software license. A license in this form is installed in a single computer and is thus usable.
C. Academic License
A license in this form is the same as a product license, but is usable in a package for educational institutions.
D. Suite License
In this form, use of each of packaged software products is allowed with a license with which suite software (that is, a software package) is purchased.
E. Client License
A license that allows use of a client product/function in software of a client server system. There are cases where licenses in this form include a central processing unit (CPU) (or CPU core) number license.
F. Sever License
A license that allows use of a server product/function in software of a client server system. There are cases where licenses in this form include a CPU (or CPU core) number license.
In view of security and protection from unauthorized use, information used for identification of a license form is not published from a vender that provides a software product, and is not possibly acquired from anywhere. Therefore, information used for determining a license form is not automatically collected from a computer that is an installation destination, and management of license forms in distinction from one another is not possible.
Japanese Laid-open Patent Publication No. 2001-222424 and Japanese Laid-open Patent Publication No. 2012-185536 discuss related art.
According to an aspect of the invention, a computer-readable recording medium having stored therein a program for causing a computer to execute a process for assisting license management, the process includes acquiring, from each of a plurality of computers, setting information for a software product which is installed in one of the plurality of computers; grouping the acquired setting information for each of the plurality of the software products based on contents of the each of the plurality of the software products; and urging to input a license type for each of at least some of a plurality of groups generated by the grouping for the each of the plurality of the software product.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
As described in the background, information used for determining a license form is not automatically collected from a computer that is an installation destination, and management of license forms in distinction from one another is not possible. Accordingly, it is desired to provide an assisting technique that enables management in distinction of license forms of software products from one another.
An outline of a system according to an embodiment of the present disclosure will be illustrated in
There are cases where the business servers 300a to 300c are not servers but client terminals. The administrator terminal 400 is a terminal operated by a user who does license management business.
The registry 350 is system data which is managed by an operating system (OS) installed in the business server 300 and includes product information for a software product that is installed in the business server 300. The product information for an OS includes a plurality of combinations of a key, data, and a value. The product information is also represented as a combination of a setting item and a setting value.
The control unit 320 performs control of processing according to this embodiment in the business server 300. Specifically, the control unit 320 controls the transmission unit 310, the list collection unit 330, and the product information collection unit 340.
The list collection unit 330 collects a list of software products installed in the business server 300 from the registry 350, and outputs the list to the control unit 320, for example, in accordance with an instruction sent from the control unit 320. The product information collection unit 340 extracts product information from the registry 350 for each software product included in the list of software products and outputs the product information to the control unit 320 in accordance with an instruction sent from the control unit 320.
The transmission unit 310 transmits the product information for each software product with data of the server to the operation management server 200 in accordance with an instruction sent from the control unit 320.
The receiving unit 210 receives product information from each of the business servers 300a to 300c, and stores the product information in the production information DB 220. The grouping processing unit 230 performs grouping processing for the product information using data stored in the production information DB 220, and stores a processing result of grouping processing in the group information DB 240.
When a new group is detected for a specific software product, the linking processing unit 250 acquires data, such as a license type and the like, which is to be linked to the new group, from the administrator terminal 400 in cooperation with the output processing unit 270, and stores the data in the linking information DB 260.
The totalizing processing unit 280 totalizes the number of software products installed for each license type, and compares the number of software products to the number of licenses stored in the license data storage unit 290, and determines whether or not proper installation has been performed. There are cases where a determination result is output to the administrator terminal 400 via the output processing unit 270.
Next, processing contents of this system will be described with reference to
First, contents of processing executed by each business server 300 will be described with reference to
For example, when the control unit 320 of the business server 300 instructs the list collection unit 330 to perform processing regularly or at an arbitrary timing, the list collection unit 330 reads out data that indicates a list of software products from the registry 350 and outputs the data to the control unit 320 in accordance with the instruction (Step S1 in
Then, the control unit 320 instructs the product information collection unit 340 to extract product information for each product name included in the list of software products, and the product information collection unit 340 extracts corresponding product information from a predetermined position of the registry 350 using the product name and outputs the corresponding product information to the control unit 320 in accordance with the instruction (Step S3). For example, data illustrated in
For example, a position in the registry 350 in which product information is stored is specified in advance for each OS, and the product information collection unit 340 extracts product information from the position. For example, as illustrated in
For example, in the case of Windows (registered trademark), the position is under “HKEY_LOCAL_MACHINE\SOFTWARE”.
Then, the control unit 320 instructs the transmission unit 310 to transmit product information for each software product with server data of the business server 300 to the operation management server 200. The server data is a machine name, a management number, an IP address, an OS type, an administrator name, a setting place, and other data which are held in advance, for example. The transmission unit 310 transmits the server data and the product information for each software product to the operation management server 200 in accordance with the instruction (Step S5).
Next, processing contents of the operation management server 200 will be described with reference to
First, the receiving unit 210 of the operation management server 200 executes receiving processing (Step S11). Receiving processing will be described with reference to
The receiving unit 210 receives product information for each software product from each business server 300 (Step S21). Then, the receiving unit 210 stores the product information in the production information DB 220 for each software product, specifically for the product name (Step S23). Note that the server data is also stored in the production information DB 220.
For example, when product information for each software product illustrated in
Thus, product information for software products, which has been transmitted from the plurality of business servers 300 is aggregated for each software product, specifically, each product name.
Returning to the description of the flow of processing of
First, the grouping processing unit 230 specifies one unprocessed software product among software products for which product information is stored in the production information DB 220 (Step S31 in
Then, the grouping processing unit 230 determines, based on existing group information (group information for a processing target software product) stored in the group information DB 240, whether or not a software product in each business server in which the processing target software product is installed is able to be categorized (Step S33).
For example, it is assumed that group information illustrated in
In Step S33, such group information has already existed in a processing target software, and it is determined whether or not a software product in each business server is able to be categorized by a group specifying key included in the group information. More specifically, whether or not product information illustrated in
In the example of
As described above, for software products that are able to be categorized using existing group information, the license forms of software products installed in the business servers 300a to 300c have not been changed, and therefore, processing is skipped as described below. Note that, initially, there is not group information, and therefore, it is determined that the condition of Step S33 is not satisfied.
When categorization is possible (YES in Step S35), the process proceeds to Step S41. On the other hand, when categorization is not possible (NO in Step S35), the grouping processing unit 230 extracts product information in which there are a plurality of patterns (that are less than the number of business servers), among product information for processing target software products, which are stored in the production information DB 220 (Step S37).
A specific example of Step S37 will be described with reference to
For PRODUCT INFORMATION 2, only three patterns are stored, that is, a combination of KEY, DATA, and VALUE 1, a combination of KEY, DATA, and VALUE 2, and a combination of KEY, DATA, and VALUE 3. Since the number of business servers is 26, the number of patterns is less than the number of business serves, and thus, for PRODUCT INFORMATION 2, the product information may be employed as a group specifying key. Note that there are cases where a plurality of group specifying keys are extracted.
Then, the grouping processing unit 230 specifies a new pattern among a plurality of patterns by comparing the plurality of patterns to existing group information, and registers the new pattern in the group information DB 240 (Step S39).
For example, as illustrated in
Note that, when a plurality of group specifying keys are extracted in Step S37, a group is specified by combinations thereof. For example, when two patterns are extracted by a first group specifying key and two patterns are extracted by a second group specifying key, four groups in total are generated.
Thereafter, the grouping processing unit 230 determines whether or not there is an unprocessed software product in the production information DB 220 (Step S41). When there is an unprocessed software product, the process returns to Step S31. On the other hand, there is not an unprocessed software product, the process returns to processing of a caller.
Thus, for each software product, a group corresponding to a license type may be specified.
Returning to the processing of
First, the linking processing unit 250 specifies one unprocessed software product among software products for which group information is registered in the group information DB 240 (Step S51 in
Then, the linking processing unit 250 compares group information for the specified software product and a linking table for the specified software product to each other (Step S53).
Then, the linking processing unit 250 determines whether or not there is an unknown group that is registered in the group information but is not registered in the linking table (Step S55). When there is not an unknown group, the process proceeds to Step S63.
On the other hand, when there is an unknown group, in order to cause a user to input data of the license type, the linking processing unit 250 causes the output processing unit 270 to notify the user of unknown group detection (Step S57).
The output processing unit 270 performs search on the production information DB 220 using the product name of a processing target software product and a group specifying key included in group information for the unknown group, and extracts the corresponding business server 300. Thus, the number of the business servers 300 is also grasped. Then, for example, data of an input screen illustrated in
In the example of
In this example, the number of machines is a hypertext link and, when the number is clicked, data of the machines that are business servers may be displayed in a data list of the machines on another screen illustrated in
In the example of
When a plurality of groups are detected, inputs for a plurality of groups may be made on one screen, and a screen may be changed for each group.
With reference to the above-described data, a user of the administrator terminal 400 inputs data of the license type for a newly detected group and causes the administrator terminal 400 to transmit the data to the operation management server 200.
The output processing unit 270 receives data of the license type for the unknown group from the administrator terminal 400 and outputs the data to the linking processing unit 250 (Sep S59). The linking processing unit 250 registers the acquired data of the license type in association with the detected unknown group in the linking table for the processing target software product in the linking information DB 260 (Step S61). For example, in the case where there is the linking table illustrated in
Thereafter, the linking processing unit 250 determines whether or not there is an unprocessed software product among software products for which group information is registered in the group information DB 240 (Step S63). When there is an unprocessed software product, the process returns to Step S51. On the other hand, when there is not an unprocessed software product, the process returns processing of a caller.
Thus, even for software products having the same product name, the license type is registered for each group.
Returning to the description of the processing of
The totalizing processing unit 280 determines whether or not there is a software product of which the number of installation is more than the number of licenses and outputs, when there is a software product of which the number of installation is more than the number of licenses, a warning to the administrator terminal 400 via the output processing unit 270. In this case, data of the license type associated with the software product name is presented.
When the above-described processing is performed, a software product that has been wrongly installed may be detected and a corrective measure may be taken.
By executing the above-described processing, even when software products have the same product name, a case where there are a plurality of types may be automatically detected. Then, when data, such as the license type, and the like, is set by a user, the license management of software products may be performed in a simple manner. That is, troublesome task of an administrator may be reduced.
Furthermore, a software product that has been totally newly installed may be automatically managed even when there is not a template.
An embodiment of the present disclosure has been described above, but the present disclosure is not limited thereto. For example, as for the processing flow, as long as a processing result does not change, the order of processes may be changed, and a plurality of steps may be executed in parallel.
Also, the function block configurations illustrated in
The configuration of the display screen is merely an example, and various screens may be presented in different configurations.
Note that the business server 300 and the operation management server 200 described above are computer devices and, as illustrated in
The above-described embodiment will be summarized as follows.
A license management assisting method according to this embodiment includes (A) acquiring, from each of a plurality of computers, setting information for a software product installed in the computers, (B) grouping, based on contents of setting information, the setting information acquired from each of the plurality of computers for each software product, and (C) urging a user to input a license type for at least some of a plurality of groups generated by the grouping for each software product.
Thus, when there are a plurality of derivative types even for the same software product, automatic detection is enabled, and thus, a license type may be set for each software product. Thus, troubles of license management may be reduced.
Note that the above-described processing of grouping may include (b1) extracting, among a plurality of setting items included in setting information, a setting item for which values of a plurality of types which are less than the number of computers in which the software product is installed, and (b2) categorizing, based on the values for the extracted setting item, a computer in which a software product is installed. A parameter that is usable for categorization may be properly extracted.
The license management assisting method may further include (D) storing the license type input by the user, the identifier of a group, and data used for specifying the group in a data storage unit in association with one another, and (E) determining, based on the data stored in the data storage unit and setting information for a software product, which has been acquired from one of the plurality of computers, whether or not the license type of the software product is able to be specified. For example, when an install status is regularly checked, when there is not any change, the checking may be performed in a simple manner.
Note that a program used for causing a processer or a computer to execute the above-described processing may be created, and the program is stored, for example, in an optical disk, such as a flexible disk, a CD-ROM, and the like, a magnetooptical disk, a semiconductor memory (for example, a ROM), a computer-readable storage medium, such as a hard disk, and the like, or a storage device. Note that, half-processed data is temporarily stored in a memory device, such as a RAM, and the like.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiment of the present invention has been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2014-124606 | Jun 2014 | JP | national |