This application is based on and claims priority under 35 USC 119 from Japanese Patent Application No. 2018-115258 filed Jun. 18, 2018.
The present invention relates to a server apparatus and a license management system.
As networks are spread, a license server increasingly gives permission to use software to a user based on a license contract. There are a single license and a plurality of licenses as types of licenses in this type of license management system. In the single license, only one user is permitted to use the software at the same time. Therefore, in a case where requests for using the software from the plurality of users conflict with one another, other users wait to use the software until the user who requests to use the software in advance completes the use of the software. Alternatively, it is necessary to provide adjustment work such as determination in advance of use time zones between the users. In the plurality of licenses, the plurality of users may use the software at the same time. However, billing forms in the plurality of licenses are not necessarily billing forms corresponding to use records of the users, so that in many cases, an unnecessarily expensive charge is set and the billing form is generally unwilling to the user. JP2002-297254A discloses a system capable of performing effective billing in a case of the plurality of licenses. Specifically, in a technology in JP2002-297254A, software is permitted to be used under a condition that a use amount of the software for all of a plurality of users belonging to license contractors is within a contract range and a use amount for each of the users is within the contract range. Therefore, it is possible to efficiently use a contracted flow rate and it is possible to improve usability.
Aspects of non-limiting embodiments of the present disclosure relate to a license management system which gives permission to use a service to a plurality of users, in which it is possible to change an upper limit value of use for each of the users while keeping an upper limit of a total use amount for all of the users.
Aspects of certain non-limiting embodiments of the present disclosure address the above advantages and/or other advantages not described above. However, aspects of the non-limiting embodiments are not required to address the advantages described above, and aspects of the non-limiting embodiments of the present disclosure may not address advantages described above.
According to an aspect of the present disclosure, there is provided a server apparatus including: a total amount obtaining unit that obtains a total amount of use permitted according to a contract in a service used by a plurality of users; an upper limit value obtaining unit that obtains an upper limit value of use of the service for each of the plurality of users; and a changing unit that changes, in a case where a user having a use amount of the service likely to exceed the upper limit value exists among the plurality of users, the upper limit value of the user to be increased within a range of the total amount.
Exemplary embodiment(s) of the present invention will be described in detail based on the following figures, wherein:
In
Features of the license management system 1000 according to the present exemplary embodiment are as follows. These features are usually realized by operations of the license server 300.
In the present exemplary embodiment, a total amount indicating a limit of a total sum of use times of the application for each of the users belonging to one administrator is determined for each of months. There may be differences in lengths between the use times of each of the users, but the total sum of the use times of each of the users per month needs to be within a range of the total amount.
The administrator determines an upper limit value of the use time per month of the application for each of the users so as to keep the total sum of the use times for each of the users belonging to the administrator within the range of the total amount. Each of the users may use the application within the range of the upper limit value determined for the user.
In order to call attention to the user and the administrator, a prescribed value (value smaller than upper limit value) is determined in addition to the upper limit value for each of the users, and in a case where a use amount exceeds the prescribed value, that the use amount exceeds the prescribed value is notified to the user and the administrator.
There is a possibility that the use times of the application by each of the users have differences in lengths according to an influence such as a workload or the like of each of the users and the use times of some users exceed the upper limit value. For this case, in the present exemplary embodiment, the upper limit value for each of the users is permitted to be changed. However, the upper limit value is permitted to be changed so that a total sum of the upper limit values of the respective users belonging to one administrator is within a range not exceeding the total amount.
In addition, in the present exemplary embodiment, the user makes a reservation of the use time so as to appropriately secure the range of the change of the upper limit value. That is, the reservation is as follows. In present exemplary embodiment, the user makes the reservation of the use time every month. The user may reserve the use time within the range not exceeding a prescribed value set to the user. In the present exemplary embodiment, a time is obtained by subtracting the total sum of use reservation times of the respective users belonging to one administrator from the total amount and the time is handled as a use amount shared by the plurality of users belonging to the administrator. In the present exemplary embodiment, the use amount shared by the plurality of users is referred to as “buffer”. In the present exemplary embodiment, in a case where it is necessary to change the upper limit value for a certain user to be larger, the buffer is permitted to be changed within the range of the buffer.
In
For example, the contract information DB 401 is a DB which stores information determined in the license contract such as information specifying the administrator and the user belonging to contractors, the total amount (total use time in present exemplary embodiment) of the application use allowed for all of the users belonging to the administrator, and the like. The user information DB 402 is a DB including information or the like indicating a condition that the user may use the application for each of the users who have permission for using the application according to the license contract. The reservation information DB 403 is a DB including information indicating a use reservation status of the application which the user uses. The use information DB 404 is a DB including information related to a use record of the application which the user uses.
The upper limit value setting table illustrated in
A use information table illustrated in
In
In a service used by the plurality of users, that is, the use of the application which is a management target of the license server 300, the total amount obtaining unit 311 obtains the total amount of the uses permitted according to the license contract from the contract information DB 401. Then, the total amount of the uses is applied as the total contract time to the resource assignment table in
The reservation management unit 320 receives an input of the use reservation time of the application from the user and generates the first reservation table in
The record management unit 330 monitors the application used by the user and applies the use record of the application to the use information table illustrated in
In a case where the user having the use amount of the service, that is, the use time of the application likely to exceed the upper limit value exists among the plurality of users, the changing unit 340 changes to increase the upper limit value of the user within the range of the total amount. Specifically, the upper limit value is permitted to be changed within the range permitted by the buffer. In the present exemplary embodiment, the changing unit 340 changes the upper limit value according to a change request (instruction via instruction unit 121) of the upper limit value performed by the administrator terminal 120 operated by the administrator.
The notification unit 350 is a means for transmitting various messages to the user and the administrator. The notification unit 350 transmits an alert mail to the user having the total sum of the use reservation time exceeding a prescribed value and the administrator of the user. In addition, the notification unit 350 transmits the alert mail to the user having the use time (record) exceeding the prescribed value and the administrator of the user. Further, the notification unit 350 transmits the change notification mail to the user and the administrator of the user having the changed upper limit value or the changed prescribed value.
The administrator inputs the administrator ID and a password to the administrator terminal 120 so as to log in the license server 300 (step S11). The authentication server 200 determines whether or not the administrator ID and the password input by the administrator is valid by referring to the contract information DB 401 (step S12). In a case where the administrator ID and the password is not valid, the administrator process is terminated.
In a case where the administrator ID and the password is valid, the authentication server 200 causes the administrator terminal 120 to log in the license server 300. In this case, in the license server 300, the license verifying unit 310 refers to the contract information DB 401 to determine whether or not the administrator ID input to the administrator terminal 120 is the administrator ID of the administrator who has permission to use the license server 300 (step S13). In a case where a determination result is “NO”, the administrator process is terminated.
In a case where the determination result is “YES” in step S13, the license server 300 causes the administrator who operates the administrator terminal 120 to select one of an upper limit value and prescribed value setting and an upper limit value change or a prescribed value change (step S14). Hereinafter, an operation in a case where the administrator selects the upper limit value and prescribed value setting will be described. An operation in a case where the administrator selects the upper limit value change or the prescribed value change will be described below.
In the case where the administrator selects the upper limit value and prescribed value setting, the license server 300 causes the reservation management unit 320 to display a management screen on the administrator terminal 120 so as to receive an input of a value (step S141).
In addition, in a lower half of the management screen, a list of the users to be managed is displayed. The list of the users to be managed is a list of the user ID, the remaining value, an assigned amount, the prescribed value, and a reservation/record difference for each of all of the users in association with the administrator ID. The reservation management unit 320 refers to the resource assignment table (see
As described above, the assigned amount indicates the upper limit value set for the user ID. The prescribed value is a ratio of the use amount for outputting an alarm to the upper limit value. In a case of the user having the user ID=fx29710, since the upper limit value (assigned amount) is 30 hours and the prescribed value is 90%, the alarm is generated in a case where the use amount exceeds 30 hours×90%=27 hours.
The remaining value is a value obtained by subtracting the current use amount from the upper limit value. In the case of the user having the user ID=fx29710, since the upper limit value (assigned amount) is 30 hours and the remaining value is 18 hours, the current use amount is 12 hours. The reservation/record difference is a time obtained by subtracting the current use amount from the use amount reserved by the user. In the case of the user having the user ID=fx29710, since the reservation/record difference is 4 hours and the current use amount is 12 hours, a reservation use amount is 16 hours.
In a state in which the management screen is displayed, the administrator may select the user ID of a chosen user by a mouse click operation or the like and may input the upper limit value and the prescribed value to be corresponded to the user ID, for example.
In
In a case where a determination result is “NO”, the process returns to step S141 and the upper limit value and the prescribed value to be associated with the user ID are input again. In addition, in a case where the determination result is “YES” in step S142, the upper limit value and the prescribed value input by the administrator are accepted and the DB is updated (step S143). Specifically, in the upper limit value setting table (see
In a case where the user requests the input of the use reservation time, the reservation management unit 320 of the license server 300 refers to the upper limit value setting table (see
In a case where a determination result is “YES”, the process returns to step S24 and the use reservation time is input again. In addition, in a case where the determination result is “NO” in step S25, the reservation management unit 320 executes the process in step S26.
In step S26, the reservation management unit 320 refers to the upper limit value setting table (see
In a case where a determination result is “NO”, the reservation management unit 320 updates the DB (step S27). Specifically, for example, in a case where the user having the user ID=fx29710 requests to input the use reservation time for March 2018, as illustrated in
On the other hand, in a case where the determination result in step S26 is “YES”, the license server 300 causes the notification unit 350 to transmit the alert mail (step S28). The alert mail is transmitted to the user terminal 110 of the user which is an input requestor of the use reservation time and the administrator terminal 120 of the administrator who manages the user as destinations.
The user who wants to use the application inputs the user ID and the password to the user terminal 110 so as to log in to the license server 300 (step S31). The authentication server 200 determines whether or not the user ID and the password input by the user is valid based on the contract information DB 401 (step S32). In a case where the user ID and the password is not valid, the application use process is terminated. In a case where the user ID and the password is valid, the authentication server 200 causes the user terminal 110 to log in the license server 300. In this case, in the license server 300, the license verifying unit 310 refers to the contract information DB 401 to determine whether or not the user ID input to the user terminal 110 is the user ID of the user who has permission to use the license server 300 (step S33). In a case where a determination result is “NO”, the application use process is terminated.
In a case where the determination result in step S33 is “YES”, the license server 300 causes the record management unit 330 to execute a procedure for starting the use of the application (step S34). Specifically, the record management unit 330 permits the logged-in user to use the application and stores a use start time of the application. Accordingly, the user uses the application provided from the license server 300 by using the user terminal 110 (step S35).
In a case where the user completes to use the application or a logoff procedure is executed, the license server 300 causes the record management unit 330 to execute a procedure for terminating the use of the application (step S36). Specifically, the record management unit 330 sets an elapsed time from the use start time of the application to a use end time (or logoff time) of the application as the use time of the application and records the use time in the use information table (see
First, the license server 300 executes a use time calculation process on one user who uses the application (step S41). More specifically, at this time, in a case where the user logs in the license server 300 but does not uses the application, the license server 300 obtains a total sum of the use times in the current month in association with the user ID of the user in the use information table (see
Next, in the license server 300, the record management unit 330 reads the upper limit value and the prescribed value in association with the user ID of the user from the upper limit value setting table (see
The user who receives the alert mail consults with the administrator. As a result of the consultation with the user, in a case of acknowledging the necessity, the administrator operates the administrator terminal 120 to activate the administrator process described above (
In this case, the administrator may select two options as a means for enabling the user to use the application.
First, the administrator activates the administrator process described above (see
In a case where a determination result is “NO”, the changing unit 340 returns the process to step S151 and the upper limit value is input again by the change request. In addition, in a case where the determination result in step S152 is “YES”, the changing unit 340 updates the DB (step S153). Specifically, the changing unit 340 receives the changed upper limit value for the user and sets the upper limit value changed by the administrator as the upper limit value corresponding to the user ID of the user in the upper limit value setting table (step S153). Next, in the license server 300, the notification unit 350 transmits the change notification mail of the upper limit value to the user and the administrator who change the upper limit value (step S154). In a case where the process in step S154 is completed, the administrator process is terminated.
A second means for allowing the user to continue using the application is provided to change the prescribed value. That is, the administrator activates the administrator process (see
In a case where the prescribed value is changed to a large value, the alert mail is not transmitted until the use time of the application of the user exceeds the changed prescribed value, and the user may continue using the application.
As described above, according to the present exemplary embodiment, in a case where the user having the use time of the application likely to exceed the upper limit value exists among the plurality of users, the changing unit 340 changes to increase the upper limit value of the user within the range of the total amount. Therefore, it is possible to change the upper limit value of the use by each of the users while keeping an upper limit of the total use time for all of the users. In addition, according to the present exemplary embodiment, an increment of the upper limit value is permitted within a range not exceeding the buffer obtained by subtracting the total sum of the use reservation times of the application for the plurality of users from the total amount. Therefore, it is possible to appropriately assign the use amount to the user who is likely to exceed the upper limit value. In addition, according to the present exemplary embodiment, since the message that you exceed upper limit value is notified to the user who is likely to exceed the upper limit value (specifically, user who exceeds the prescribed value), it is possible to prevent the use time from exceeding the upper limit value in advance. Further, according to the present exemplary embodiment, since the user who is likely to exceed the upper limit value is notified to the administrator of the contract, it is possible to cause the administrator of the contract to take appropriate measures.
The present invention is not limited to the exemplary embodiments described above, and various modification examples may be made. Hereinafter, modification examples will be described. Two or more modification examples among the following modification examples may be used in combination.
(1) In the exemplary embodiment, the use time of the application is managed as the use amount of the service, but, for example, a storage capacity used by the application, the amount of processed data generated by execution of the application, a communication amount, the number of accesses, and the like may be managed as the use amount of the service.
(2) In a case where a certain user is likely to exceed the upper limit value, the changing unit 340 may assign the use time from the users other than the user belonging to the same administrator to the user who is likely to exceed the upper limit value. Specifically, in a case where the administrator requests to change the upper limit value for the user who is likely to exceed the upper limit value, the changing unit 340 selects a user who has the longest time obtained by subtracting the use time record from the reservation use time among the users other than the user, decreases the upper limit value of the user, and increases the upper limit value of the user by the decrement. Alternatively, the changing unit 340 may select a user who has the longest time obtained by subtracting the use time record from the upper limit value among the users other than the user, decrease the upper limit value of the user, and increase the upper limit value of the user by the decrement. According to this aspect, it is possible to reduce a burden on the administrator for taking measures to cause the user to continue using the application.
(3) The process of the changing unit 340 may be performed without waiting for the request from the administrator. Specifically, in the case where the user who may exceed the prescribed value exists, according to the process described above, the changing unit 340 selects a user who decreases the upper limit value from the users other than the user and transmits a message asking whether or not to increase the upper limit value of the user by decreasing the upper limit value of the user to the administrator to which the user belongs. In a case where the administrator returns an approval of a message that the upper limit value of the user may be decreased so as to increase the upper limit value of the user, the changing unit 340 changes the upper limit values of both of the users. On the other hand, in a case where the approval is not returned, the changing unit 340 does not change the upper limit values of both of the users. According to this aspect, it is possible to further reduce the burden on the administrator for taking measures to cause the user to continue using the application.
(4) In the exemplary embodiment described above, the time obtained by subtracting the total sum of the use reservation times of the plurality of users from the total amount is set as the buffer. However, instead of the time, a time obtained by subtracting a total sum of the upper limit values of the plurality of users from the total amount may be used as the buffer.
(5) A correspondence between the functional components and the hardware components in the license management system 1000 is not limited to those described in the exemplary embodiment. For example, the functions of the license server 300 may be distributed and mounted on a plurality of computer devices.
(6) The UI screen such as the input screen or the like and the various information illustrated in the exemplary embodiment are merely examples. For example, some of the UI elements among the screens illustrated in the exemplary embodiments may be omitted.
(7) The program executed by the processor 101 or the like may be provided by being recorded in a recording medium such as a CD-ROM or the like or may be provided in a state stored in a server apparatus on the network.
The foregoing description of the exemplary embodiments of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in the art. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, thereby enabling others skilled in the art to understand the invention for various embodiments and with the various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
JP2018-115258 | Jun 2018 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
7177034 | Nakagawa | Feb 2007 | B2 |
7231370 | Kapur | Jun 2007 | B1 |
8068810 | Wills | Nov 2011 | B2 |
8576880 | Vargantwar | Nov 2013 | B1 |
10261453 | Tomihisa | Apr 2019 | B2 |
20020165826 | Yamamoto | Nov 2002 | A1 |
20020169725 | Eng | Nov 2002 | A1 |
20030126456 | Birzer | Jul 2003 | A1 |
20040078339 | Goringe | Apr 2004 | A1 |
20040148262 | Yamamoto | Jul 2004 | A1 |
20050120244 | Choi | Jun 2005 | A1 |
20050275867 | Higashiura | Dec 2005 | A1 |
20050275868 | Higashiura | Dec 2005 | A1 |
20050289072 | Sabharwal | Dec 2005 | A1 |
20060195404 | Elteto | Aug 2006 | A1 |
20060262344 | Matsuda | Nov 2006 | A1 |
20070097448 | Iizuka | May 2007 | A1 |
20080007760 | Kimura | Jan 2008 | A1 |
20080094657 | Ikegami | Apr 2008 | A1 |
20080215468 | Monsa-Chermon | Sep 2008 | A1 |
20080249904 | Eibach | Oct 2008 | A1 |
20080289044 | Choi | Nov 2008 | A1 |
20090034015 | Mulligan | Feb 2009 | A1 |
20090138975 | Richardson | May 2009 | A1 |
20090225356 | Satoh | Sep 2009 | A1 |
20090248428 | Disciascio | Oct 2009 | A1 |
20090249493 | Disciascio | Oct 2009 | A1 |
20090249494 | Disciascio | Oct 2009 | A1 |
20100079800 | Muto | Apr 2010 | A1 |
20100118340 | Yamada | May 2010 | A1 |
20100192212 | Raleigh | Jul 2010 | A1 |
20110010216 | Bhogal | Jan 2011 | A1 |
20110075191 | Meunier | Mar 2011 | A1 |
20110102834 | Makishima | May 2011 | A1 |
20110188073 | Akutsu | Aug 2011 | A1 |
20110275344 | Momtahan | Nov 2011 | A1 |
20120057183 | Tsujimoto | Mar 2012 | A1 |
20120069356 | Kubo | Mar 2012 | A1 |
20120089845 | Raleigh | Apr 2012 | A1 |
20120099143 | Sasagawa | Apr 2012 | A1 |
20120317285 | Allen | Dec 2012 | A1 |
20130308147 | Wu | Nov 2013 | A1 |
20140182001 | Matsumoto | Jun 2014 | A1 |
20140211232 | Ganesan | Jul 2014 | A1 |
20150186078 | Ozawa | Jul 2015 | A1 |
20150237229 | Ohara | Aug 2015 | A1 |
20160231686 | Itoh | Aug 2016 | A1 |
20170060490 | Rajalingam | Mar 2017 | A1 |
20170109506 | Shetty | Apr 2017 | A1 |
20170220779 | Minagawa | Aug 2017 | A1 |
20180052713 | Marnell | Feb 2018 | A1 |
20180088505 | Tomihisa | Mar 2018 | A1 |
20180225729 | Li | Aug 2018 | A1 |
20180257418 | Shimada | Sep 2018 | A1 |
20190347181 | Cranfill | Nov 2019 | A1 |
20190384893 | Suda | Dec 2019 | A1 |
20210092185 | DeRosa-Grund | Mar 2021 | A1 |
Number | Date | Country |
---|---|---|
2002297254 | Oct 2002 | JP |
2008077492 | Apr 2008 | JP |
2010128807 | Jun 2010 | JP |
Entry |
---|
Office Action of Japan Counterpart Application, with English translation thereof, dated Mar. 15, 2022, pp. 1-5. |
“Office Action of Japan Counterpart Application”, dated Jul. 19, 2022, with English translation thereof, p. 1-p. 7. |
Number | Date | Country | |
---|---|---|---|
20190384893 A1 | Dec 2019 | US |