Next Article in Journal
FPGA-Based Frequency Tracking Strategy with High-Accuracy for Wireless Power Transmission Systems
Next Article in Special Issue
SYSML4TA: A SysML Profile for Consistent Tolerance Analysis in a Manufacturing System Case Application
Previous Article in Journal
Design Procedure of a Mono-Anchor Head for 2360 MPa High-Strength Steel Strand
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Software Portfolio Optimization: Access Rejection versus Underutilization

1
Department of Management, Bar-Ilan University, Ramat Gan 5290002, Israel
2
Rafael Advanced Defense Systems Ltd., Haifa 3102102, Israel
*
Author to whom correspondence should be addressed.
Appl. Sci. 2023, 13(4), 2314; https://doi.org/10.3390/app13042314
Submission received: 15 December 2022 / Revised: 8 February 2023 / Accepted: 8 February 2023 / Published: 10 February 2023
(This article belongs to the Special Issue Recent Advances in Systems Engineering Challenge)

Abstract

:
Several types of network and non-network licenses control users’ access to software. The literature on efficient selection of software licenses has mostly addressed queuing models intended to estimate the probability of denial of access for a user. Under that approach, however, the lower one sets the rejection probability, the greater the likelihood that licenses will be underused. We follow the literature in describing demand for software access with an Erlang queuing model and present a general integer program for optimizing mixed-license software portfolios under constraints on two types of risk: access rejection and license underutilization. The program, in which the number of licenses of each type is a decision variable, minimizes the total licensing cost while satisfying constraints on access denial and license underutilization. We evaluate and illustrate the ability of an efficient enumerative algorithm to solve the common problem of selecting an appropriate mix of floating and network named user licenses. Our case-study analysis indicates the potential for reducing the cost of licensing while also limiting problems associated with lack of access and underutilization.

1. Introduction

According to a Statista report [1], expenditures on global information technology (IT) by companies in various sectors grew annually between 2015 and 2022, as shown in Figure 1. Forecasts indicate an expected rise of 11% in 2023 due to the continued expansion of new technologies. In particular, several technological categories, including robotics and artificial intelligence, are likely to expand to represent more than 25% of IT spending worldwide, and next-generation security linked to those new technologies will also encourage significant growth (see IDC—Global ICT Spending Forecast [2]).
Software companies sell their products by transferring licenses of various software components to customers. Typically, a basic fee covers use of the software by a specified number of simultaneous or concurrent users, and annual maintenance fees ensure that purchasers receive maintenance and updates. Several types of license allow controlled access to software. MathWorks, for example, offers three different MATLAB® licenses:
  • Network concurrent (floating) license. The network concurrent license makes MathWorks products available to anyone with access to the purchaser’s network. Access is not limited to specific user names. Instead, users check out license keys when starting MATLAB or using its functions in other products. When all available keys have been checked out, the software’s license manager denies further requests.
  • Network named user license. The network named user (NNU) license controls access via user name and costs four times less than the floating license.
  • Non-network licenses. Non-network licenses control access via either user name or computer identification.
MathWorks also offers maintenance agreements, which provide an upgraded version twice a year, and technical support for an additional 25% of the license fee annually. Table 1 provides additional information about how users are typically distributed within a company under each type of license. Under common practice, heavy users (users occupying a license slot more than 25% of the time) are given personal user-name-based access. Light users (users occupying a license less than 25% of the time) usually rely on concurrent licenses. Non-network licenses are generally purchased only for users who cannot work on a network because of confidentiality concerns (laboratories, experiments) or because they are traveling.
MathWorks also uses two types of activation: (i) a designated computer license designed for one computer, identified by its MAC (media access control) address, and any user of that computer can use the software; and (ii) user activation, in which specific user names are activated and can be used on up to four computers.
It is also important to remember that many software licenses are offered with various sublicenses. The MATLAB license, for example, includes toolboxes intended for various content domains, such as code desecration, image processing, statistics, electronics, and mechanics. The cost of MATLAB sublicenses varies by type and ranges from USD 1000 to 50,000. Coder licenses are significantly more expensive than image processing and statistics licenses.
Other software companies, such as nTopology, Ansys (e.g., Granta license, and Ansys Learning Hub license), and Solidworks, also offer both floating and named user licenses. These licenses control access to the software via user names or computer identification. Additionally, many of these companies also offer maintenance agreements that provide upgraded versions and technical support at an additional cost. In addition, similar to MathWorks, these companies offer various sublicenses for specific content domains, such as engineering, design, and analysis, with different costs. It is important to note that the licensing options and costs may vary depending on the specific software product and the industry in which it is being used. However, typically, the retail price of a floating license is three–four times higher than that of an NNU license.
There are open-source programming languages, such as Python, that do not have licensing options like the network concurrent (floating) license or the network named user license. However, organizations that use Python for commercial purposes (e.g., organizations in the banking industry) may choose to purchase a license from a third-party software company that offers these types of licenses. For example, Anaconda a distributer of Python and R for scientific and analytic computing, offers both floating license and NNU license options for organizations. Therefore, the methodology suggested in this paper can be used for a wide range of software when an optimal choice of various license types is required.
Recently, some companies have started offering cloud-based licensing options [3], which allows users to access the software through the Internet and pay for usage on a subscription basis. This can be an attractive option for companies that do not want to invest in expensive hardware and have flexible needs in terms of usage.
Licenses and sublicenses can be perpetual or annual. The original software can be perpetually “owned” and used indefinitely with no renewal fees (increasingly less common as time passes) or renewed annually. Maintenance and support licenses are mostly annual. For example, the first year of MathWorks’ software maintenance service is included in the initial purchase price. Then, after the first 12 months, licensees must pay annual renewal fees for maintenance and updates. Alternatively, with annual software licenses, maintenance and support are often included in the annual license fee. To ensure uninterrupted service, the license owner must renew the license prior to conclusion of the existing term. Otherwise, the license and/or maintenance services expire.
In addition to traditional buying and building of software, firms are increasingly using powerful open-source applications [4]. Clearly, in such an environment, selecting the best portfolio of licenses, even for a single application, is not trivial; the number and types of licenses purchased can have a significant impact on a firm’s IT costs and operational abilities, with potentially disastrous consequences arising from a lack of access to critically important software when needed [5].
The above notwithstanding, there is an obvious downside to buying an excess number of, often costly, licenses, to avoid denying access to software. Consequently, many firms have begun to monitor utilization of their software applications to make sure they do not purchase more access than needed, and software providers are including monitoring systems with their licenses. Emerset NetSupport DNA and FlexNet, for example, provide license-monitoring applications that firms can use when making procurement and maintenance decisions [6]. Our research takes this recent trend into account by explicitly considering underutilization as a constraint when identifying optimal license portfolios. In particular, we present a general integer program for optimizing mixed-license software portfolios under constraints on two types of risk: access rejection and license underutilization.

2. Literature Review

Queuing models employed to estimate loss (blocking) probability may be found in the literature pertaining to a variety of applications, such as call centers [7,8,9], after sales services [10,11,12,13,14], and health care services [9,15], and have also been used to estimate the number of licenses needed to meet a given probability of nonaccess. Specifically, the literature on efficient software licensing has mostly addressed queuing models used to estimate the probability that a single type of user will be denied access given a finite versus an infinite number of users, which is justified when analyzing a case in which the number of concurrent users is quite small relative to the total number of potential users. In particular, Murtojarvi et al. [16] consider several multiserver Erlang delay and loss queuing models when assuming an infinite number of users and the Engset model with no queue and a finite number of users. They address floating network concurrent licenses and assume that the users are homogeneous.
Quandt [17] also studies a single type of licensing for homogeneous users but assumes that the distribution of user arrivals is binomial; that is, there is a given probability that a user (a student) will want to use a terminal (license) in a given one-hour interval, and that probability is referred to as the probability of “success” in terms of the binomial distribution. In that case, determining the probabilities that exactly x students in a population of n students will want to use the software and that k students will be denied access when x is greater than k is straightforward. The goal is to determine the tradeoff between the cost of the software licenses and the cost of failing to satisfy some users.
Gull and Wehrmann [18] consider a more general optimization problem. They assume that the Erlang loss (queuing) system describing user demand and operating times depends on the specific time interval involved. Their basic model allows for optimization of the license portfolio cost for a single homogeneous user group subject to a given load profile and a quality-of-service standard. They consider portfolios consisting of two types of license, single user and network, and suggest an extension to make the general problem for heterogeneous users more tractable. This is accomplished by splitting the heterogeneous users into a few homogeneous groups and determining the number of each type of license needed for those groups. Their numerical analysis for a large user group shows that, in most cases, mixed single-user and network licensing is not economically efficient, even for heterogeneous user behavior. In addition, they examine a case involving several user groups and demand-oriented licensing. They find that dynamic network licensing is cost effective, especially for international businesses and even for intensive-use groups because of time shifts among the user profiles.
A separate stream of literature addresses job scheduling and management of available software licenses and cloud computing services. Studies examining floating licenses and scheduling policies have found that submitted jobs can be queued and scheduled so that software and limited licenses can be shared and used efficiently via multiple clusters of users [19,20,21,22].
In this paper, we focus on strategic acquisitions of licenses to meet peak demand. As in previous studies, we employ an Erlang queuing model to describe demand for software licenses and determine access-rejection probabilities. Unlike the above-mentioned studies, which compared specific portfolio alternatives, we present a general integer program that optimizes licensing portfolios subject to access-rejection and underutilization constraints. The program integrates multiple types of licenses and sublicenses into a portfolio using the number of licenses of each type as a decision variable. We evaluate and illustrate the approach using the classical choice between floating and NNU software licenses and assess the integer program’s sensitivity to the accuracy of estimated rates of requests for access. In particular, we find that mixing license types in a single portfolio can be economically efficient, even when the choice is limited to two license types.

3. Problem Formulation

As in earlier studies of license portfolio selection, we consider the standard queuing model, namely, the Erlang loss system (M/M/S/S) in which S is the number of licenses and users who cannot obtain access because all licenses are checked out are blocked (these users do not wait in a queue but may attempt to access the software later). When a user stops using the software, the license is returned to the pool of available licenses. This specifies a model in which the number of users, K (source size), is large enough such that their arrivals may be described as a Poisson process with an average rate of λ . Service times are exponentially distributed with an average required time of 1 / μ per user.
Let k, the current number of software users logged into the system, be the status variable in which k = 0, 1, 2, …, S. Then, the probability that an arriving user will be rejected by the system, B(S, a), which is the blocking probability, is given by the Erlang B formula:
B S , a = a S S ! k = 0 S a k k ! ,
where a = λ μ represents the offered load (traffic intensity). A more convenient way of calculating the blocking probability is via recursion of its reciprocal, R S , a = 1 B S , a [23]:
R k , a = 1 a k R k 1 , a + 1 ,   k 1   and   R 0 , a = 1 ,   k = 0 ,   1 , ,   S .
We use these basic results to formulate a general license-portfolio management problem by considering the time intervals that have the most pronounced effect on the quality of service; that is, λ is the average aggregate intensity of license use during the highest traffic hours.
Let J be the number of homogeneous clusters of users, each characterized by software-use intensity λ j and number of users K j   where j is a type of user, j = 1, 2, …, J. Since arrivals are assumed to occur according to an independent Poisson process, they are given by λ = j = 1 J λ j . Additionally, let there be I types of license for purchase that have average service times of 1 μ i . Let γ i j be the percentage of users of cluster j who will use license type i. Thus, for all j  i = 1 I γ i j 1 . Let S i be the number of respective licenses purchased of each license type i; user demand for them is thus j = 1 J λ j γ i j , i = 1,…, I. For each license type i the offered load is a i = j = 1 J λ j γ i j I μ i , the blocking probability is B S i , a i ,   the active load is a i 1 B S i , a i , and the corresponding license utilization is U S i , a i = a i 1 B S i , a i S i . Denote the cost of purchase and maintenance for a fixed number of years for license type i as ci.
The objective is to find the optimal number of licenses of each type so that the total cost, C, of purchasing and maintaining the software licenses is minimized while ensuring that the probability of blocking does not exceed a given level, b (Constraint (5)), and utilization of each license type is at least at a given level, u (Constraint (6)):
min γ i j , S i , i = 1 , , I ,   j = 1 , , J C = min γ i j , S i , i = 1 , , I ,   j = 1 , , J i = 1 I   c i   S i ,
subject to
B S i , a i b ;
U S i , a i u ;
i = 1 N γ i j 1 ,   j = 1 , ,   J ;
S i I ,   i = 1 ,   2 , ,   I .

4. Floating vs. Network Named User Licenses

We consider a special case of two types of license, I = 2 where i = 1 denotes NNU licenses and i = 2 denotes floating licenses and two clusters of users J = 2, j = 1 heavy and j = 2 light users, to illustrate the approach to managing portfolios of software licenses using integer programming. Firms routinely encounter this type of portfolio management problem, and the integer program facilitates an efficient algorithm for solving it.
As the firms must purchase a license for each customer who uses an NNU license and it purchases these licenses only for heavy users, then there are only two decision variables: S 1 and S 2 ; that is, S 1 = γ 11 K 1 and γ 21 = 1 γ 11 , γ 12 = 0 and γ 22 = 1 . Given the number of heavy users K 1 and the arrival rate of heavy ( λ 1 ) and light ( λ 2 ) users, the total average arrival for floating license users is determined by:
  λ ¯ = ( K 1 S 1 ) λ 1 K 1 + λ 2
where K 1 S 1 K 1 is the proportion of heavy users who do not have personal licenses. The portfolio optimization problem, then, is to find the optimal number of NNU and floating licenses so that the total cost is minimized:
min S 1 , S 2 C = min S 1 , S 2 { c 1 S 1 + c 2 S 2 }
subject to
B S 2 , a 2   b ;
U S 2 , a 2 u ;
0 S 1 K 1 ,   S 2 1 ;
S 1   and   S 2   are   integers ,
where c 1 is the cost of NNU licenses and c 2 is the cost of network floating licenses.
The solution for this system is based on the following simple algorithm, in which S 1 * and S 2 * denote the optimal number of NNU and floating licenses, respectively.

Algorithm

  • Set S 2 * = K 2 , S 1 * = K 1 , S 2 = 1 , and S 1 = 0 .
  • For the current S 1 find the minimal number S ^ 2 that meets the blocking probability by calculating consecutively   B S ^ 2 , a 2 over all possible S ^ 2 = S 2 , , K until (10) holds. Set S 2 = S ^ 2 .
  • For the current S 1 , S 2 , check the utilization Constraint (11). If the constraint holds, then go to Step 4. Otherwise, check if S 1 < K 1 set S 1 = S 1 + 1 and go to Step 2. If S 1 = K 1 ,   then stop; an optimal solution ( S 1 * , S 2 * ) is found.
  • If c 1 S 1 + c 2 S 2 < c 1 S 1 * + c 2 S 2 * , set S 1 * = S 1 , S 2 * = S 2 . If S 1 < K 1 set S 1 = S 1 + 1 and go to Step 2. Otherwise, stop; an optimal solution ( S 1 * , S 2 * ) is found.
The complexity of the algorithm lies in Step 2, which calculates the blocking probability with iterations by Equation (2); each step takes O(1) time, and there are at most K steps. Then, the complexity of step 2 is O( K .) Calculations of the utilization in Step 3 and of the total cost at Step 4 are of O( 1 ) complexity. Steps 2–4 are repeated at most K1 times, which in the worst case results in O K 1 K time.

5. Case Study

In our case study, we analyze the software license portfolio decision made by an Israeli high-tech company, hereafter referred to as CO, which develops and manufactures unique, technologically advanced products. CO has been in operation for more than 70 years. Initially, it engaged mainly in research and development. Over the years, however, it added manufacturing of products for Israeli and international markets. CO employs more than 7500 people, mostly engineers and technicians.
In the analysis, we focus on CO’s MATLAB licenses. The total number of users (K) is 1646, of whom 700 are heavy users ( K 1 ) and the others are light users ( K 2 = 946). CO has customers in numerous countries, including the United States, Europe, India, and Singapore. Its IT-related expenses are significant, since hundreds of engineers are needed to develop its various software offerings and, as a result, the number of software licenses that it purchases continues to grow.
The methodology that we use for the analysis is as follows:
  • We start off by assessing the dynamics in number of floating license users in November 2020 to identify the most active business hours.
  • Next, we assess the dynamics of the number of user requests denied.
  • The natural estimator for the steady-state blocking probability, B(t), is then employed based on admission observations over time.
  • Overall user requests during the same period of time for floating and NNU licenses, respectively, are registered.
  • Based on the registered user requests, the model is calibrated to calculate the average rate of requests by all light users.
  • The duration of license use by peak hour is monitored to calculate the average user’s working time accessing the software.
  • Baseline case is calculated to illustrate the effects of the two frontier constraints—risk of rejection and risk of underutilization.
  • Finally, we assume that it is difficult to assess exact levels of license requests, so we conduct a sensitivity analysis with respect to an average rate of requests for use of floating licenses by light users and heavy users.

5.1. Floating and NNU Licenses

In November 2020, CO had S 1 = 580 NNU licenses and S 2 = 150 floating licenses. Figure 2 presents the dynamics in number of floating license users in November 2020 during the most active business hours (9:00 to 15:00); each color in the figure represents a different day in November. As shown, CO’s MATLAB software is used intensively and some users are occasionally blocked during the week.
The company monitors its license use and reviews the usage every two months. When the company detects low use of an NNU license, the license is transferred to a different heavy user in the organization. This approach maintains adequate NNU licenses for heavy users and floating licenses for light users.

5.2. Denials

The 51st employee who requests access to a license receives a refusal (an error message indicating that no licenses are available). Figure 3 presents the number of unsuccessful requests by hour in November 2020.
The natural estimator for the steady-state blocking probability, B(t), is based on admission observations over a time interval [0, t], which, in our case, is the month of November 2020:
B(t) = L(t)/A(t)
where L(t) is the number of lost (blocked) arrivals in [0, t] and A(t) is the total number of arrivals (admitted and blocked) in [0, t]. Figure 4 shows the cumulative evolution of the blocking probability estimate over time; the estimate becomes relatively steady after three weeks and converges to b = 0.011.

5.3. Rate of Requests for Licenses and Duration of Their Use

Figure 5 and Figure 6 present CO’s user requests in November 2020 for floating and NNU licenses, respectively, by hour.

5.4. Model Calibration

The main parameters of the calibration system are summarized in Table 2. Based on Figure 6, the average rate of NNU license requests by S 1 = 580 heavy users (of K 1 = 700 heavy users) is 471 per hour, that is, λ 1 S 1 K 1 = 471 and, therefore, the overall average rate of use of NNU licenses by heavy users is λ 1 = 568.4 . The average number of requests for a floating license (Figure 5) by all light users (946) and 120 heavy users ( K 1 S 1 = 700 − 580 = 120) during peak hours is   λ ¯ = 156 . Consequently, using Equation (9), we can calculate the average rate of requests by all light users: λ 2 =   λ ¯ ( K 1 S 1 ) λ 1 K 1 = 58.56 .
The duration of license use by peak hour in November 2020 is depicted in Figure 7. Using these data, we calculate the average user’s working time accessing the software as 1 μ = 0.847 h ( μ = 1.18).
Consequently, formulating (9)–(12), based on the data in Table 2, gives:
min S 1 , S 2 C = min { S 1 , S 2 1924   S 1 + 10 , 000   S 2 }
subject to
B S 2 , 531.32 S 1 826 0.011 ;
U S 2 , 531.32 S 1 826 0.869 ;  
0 S 1 700 ,   S 2 1 ,
where, in accordance with (8), a 2 = 568.4 700 S 1 1.18 · 700 + 58.56 1.18 = 531.32 S 1 826 .

5.5. Baseline Case

Table 3 describes the top (lowest cost) nine portfolio selections in terms of the number of each type of license and total portfolio cost for the baseline case, which includes the CO’s portfolio choice. Figure 8 and Figure 9 employ the efficient frontier of portfolios (e.g., [23]). Specifically, they illustrate the effects of the two frontier constraints—risk of rejection and risk of underutilization—on the cost of the total portfolio presented with Figure 10. In this case, we set minimum server utilization at u = 86.9 % , and the resulting top nine portfolios have rates of utilization of 86.9% to 87.3%.
As shown in Figure 10, the lowest-cost portfolio is P9 ( S 1 = 587, S 2 = 145), which is about 36,500 dollars less than the CO’s current portfolio (P6, S 1 = 580, S 2 = 150). This result arises because of a smaller number of the floating licenses ensuring similar rejection probability and utilization, so it meets both the constraints (see Figure 8 and Figure 9). When the company’s target utilization is more restrictive—87.2% instead of 86.9%—under the same rejection probability frontier, the lowest cost portfolio is P2 ( S 1 = 576, S 2 = 153), which is more expensive than the CO’s current portfolio. In other words, restricting underutilization while using the same maximum blocking probability implies losses.
Next, we assume that it is difficult to assess exact levels of license requests (requests per hour), so we conduct a sensitivity analysis with respect to an average rate of   λ ¯ = 156 requests for use of floating licenses by all light users and K 1 S 1 heavy users. Specifically, we test a +5% change in the value of   λ ¯   in Case 1 and a −5% change in Case 2. Under the 5% increase in Case 1 (   λ ¯ = 164 ), we obtain λ 2 =   λ ¯ ( K 1 S 1 ) λ 1 K 1 = 66.56 from Equation (9) when the values of all other parameters remain fixed. Under the 5% decrease in Case 2 (   λ ¯ = 148 ), we obtain λ 2 = 50.56 .

5.6. Case 1: 5% Increase in λ ¯

Table 4 (Case 1) presents the top nine portfolios under the 5% increase in rate of requests per hour. Under a utilization frontier of 86.9% to 87.3%, the company’s current portfolio ( S 1 = 580, S 2 = 150) drops out of the top nine. In this case, the best portfolio is P+9 ( S 1 = 591, S 2 = 149), which costs 11,144 dollars more than the current portfolio. Under the more restrictive frontier of 87.2% instead of 86.9%, the best portfolio is P+3 ( S 1 = 584, S 2 = 154), which meets the constraints and is 47,696 dollars more than the CO’s current portfolio.

5.7. Case 2: 5% Decrease in λ ¯

Table 4 (Case 2) depicts the top nine portfolios under the 5% decrease in rate of requests per hour. Under the same utilization frontier of 86.9% to 87.3%, the least costly portfolio is P9 ( S 1 = 574, S 2 = 147), which costs about 41,544 dollars less than the company’s current portfolio. Under the more restrictive utilization constraint of 87.2%, the best portfolio is P5 ( S 1 = 574, S 2 = 147), which costs about 5000 dollars less than the company’s current portfolio.

6. Discussion

Overall, we find that the proposed process for selecting optimal software license portfolios is quite robust in terms of the cost criteria; that is, the percentage of inaccuracy in estimating the average rate of software requests tested in Cases 1 and 2 (+/−5%) is greater than the percentage of corresponding losses due to this inaccuracy. Assuming the baseline case uses an accurate estimate of the requests’ arrival rate, a 5% underestimation (Case 2) of the average rate of requests for licenses (   λ ¯ ) leads to a 0.19% deviation in the cost of the best available portfolio (versus the baseline) under an 86.9% utilization constraint and a 1.0% reduction in the cost under the more restricted utilization constraint of 87.2% instead of 86.9%. A 5% overestimation (Case 1) of the average rate of requests for licenses results in a 0.96% increase in the cost of the best available portfolio (relative to the baseline), and the relaxed utilization constraint results in a 1.85% increase in the cost. In terms of our constraints, however, the result of an inaccurate estimate is less encouraging. In particular, overestimation of the requests’ arrival rate leads to a much improved blocking probability of the best portfolio due to a >4% decrease in utilization, thereby violating the utilization constraint for both 87.2% and 86.9% bounds. Underestimation, on the other hand, leads to about the same 4% increase in utilization, while also increasing the blocking probability by about 60%. Consequently, underestimation of the average rate of requests for licenses is far more troublesome than overestimation.

7. Conclusions

In this paper, we focus on a firm’s strategic acquisition of different types of software licenses to meet peak user demand. Unlike the previously mentioned studies, which compared specific portfolio alternatives, we present a general integer program that optimizes licensing portfolios subject to access-rejection and underutilization constraints when heterogeneous users can be classified into multiple homogeneous groups. The program integrates multiple types of licenses and sublicenses into a portfolio using the number of licenses of each type as a decision variable. The goal of the integer program, which we calibrate using actual user data, is to minimize the cost of the license portfolio subject to constraints on the probability of user requests being rejected (blocked) and likelihood of underutilization of the licenses. Using a case study, we illustrate and evaluate the ability of the integer program to solve the commonly encountered problem of determining how many floating and NNU software licenses a firm should buy, given the nature and number of its users, via an efficient enumeration algorithm based on monotonic properties of the objective function and the recursive nature of the blocking-probability constraint.
Overall, we find that the proposed integer program for selecting optimal mixed-license portfolios is quite robust. Specifically, the percentage of inaccuracy in estimating the average rate of software requests tested in Cases 1 and 2 (+/−5%) is both greater than the percentage of corresponding losses due to the inaccuracy and greater than the error in determining the software utilization. In terms of blocking probability, however, correct estimation of the average rate of requests for licenses can play a critical role in the decision-making process. In particular, underestimation of the average rate of requests for licenses can be especially problematic.
The excess cost of underutilization points to the existence of optimal mixes of various types of license and the economic importance of strategically selecting those mixes. Thus, we find that the observation by Gull and Wehrmann [18] that mixed licensing of single-user and network licenses is not economically efficient no longer holds in most cases and that both underutilization and the probability of blocked requests are important factors in addition to the probability of blocked requests.
In this work we present a particular case study characterized by two types of license, floating and NNU licenses. We view this as a first step in studying more general cases of multiple types of software and licenses with the aim to assess the economic efficiency of mixed licensing, which we regard as an important direction for future research.

Author Contributions

Conceptualization, K.K. and G.K.; Methodology, K.K.; Software, Y.P.; Validation, Y.P. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Gartner. Information Technology (IT) Worldwide Spending from 2005 to 2023. Statista. Available online: https://www.statista.com/statistics/203935/overall-it-spending-worldwide/ (accessed on 14 December 2022).
  2. IDC—Global ICT Spending Forecast. Available online: https://www.idc.com/promo/global-ict-spending/forecast (accessed on 14 December 2022).
  3. Qiao, Q.; Chen, L.; Cai, H.; Zhang, H.; Yao, Z. An online workflow scheduling algorithm considering license limitation in heterogeneous environment. Concurr. Comput. Pract. Exp. 2023, 35, e7452. [Google Scholar] [CrossRef]
  4. Dawood, K.A.; Sharif, K.Y.; Ghani, A.A.; Zulzalil, H.; Zaidan, A.A.; Zaidan, B.B. Towards a unified criteria model for usability evaluation in the context of open source software based on a fuzzy Delphi method. Inf. Softw. Technol. 2021, 130, 106453. [Google Scholar] [CrossRef]
  5. Gull, D. Valuation of discount options in software license agreements. Bus. Inf. Syst. Eng. 2011, 3, 221–230. [Google Scholar] [CrossRef]
  6. Doloca, A.; Ţănculescu, O. Floating license management-automation using web technologies. Int. J. Comput. Comm. Control 2011, 6, 615–621. [Google Scholar] [CrossRef]
  7. Chevalier, P.; Van den Schrieck, J.C. Optimizing the staffing and routing of small-size hierarchical call centers. Prod. Oper. Manag. 2008, 17, 306–319. [Google Scholar] [CrossRef]
  8. Kawai, Y.; Takagi, H. Fluid approximation analysis of a call center model with time-varying arrivals and after-call work. Oper. Res. Perspect. 2015, 2, 81–96. [Google Scholar] [CrossRef]
  9. Koole, G.; Mandelbaum, A. Queueing models of call centers: An introduction. Ann. Oper. Res. 2002, 113, 41–59. [Google Scholar] [CrossRef]
  10. Bitton, S.; Cohen, I.; Cohen, M. Joint repair sourcing and stocking policies for repairables using erlang-A and erlang-B queueing models. IISE Trans. 2019, 51, 1151–1166. [Google Scholar] [CrossRef]
  11. Perlman, Y.; Kaspi, M. Centralized decision of internal transfer-prices with congestion externalities for two modes of repair with limited repair capacity. J. Oper. Res. Soc. 2007, 58, 1178–1184. [Google Scholar] [CrossRef]
  12. Perlman, Y.; Mehrez, A.; Kaspi, M. Setting expediting repair policy in a multi-echelon repairable-item inventory system with limited repair capacity. J. Oper. Res. Soc. 2001, 52, 198–209. [Google Scholar] [CrossRef]
  13. Rahimi-Ghahroodi, S.; Al Hanbali, A.; Zijm, W.H.M.; Timmer, J.B. Multi-resource emergency supply contracts with asymmetric information in the after-sales services. Int. J. Prod. Econ. 2020, 229, 107761. [Google Scholar] [CrossRef]
  14. Madadi, M.; Heydari, M.; Maillart, L.; Cassady, R.; Zhang, S. Erlang loss systems with shortest idle server first service discipline: Maintenance considerations. IISE Trans. 2022, 1–14. [Google Scholar] [CrossRef]
  15. Hu, X.; Barnes, S.; Golden, B. Applying queueing theory to the study of emergency department operations: A survey and a discussion of comparable simulation studies. Int. Trans. Oper. Res. 2018, 25, 7–49. [Google Scholar] [CrossRef]
  16. Murtojarvi, M.; Jarvinen, J.; Johnsson, M.; Leipala, T.; Nevalainen, O.T. Determining the proper number and price of software licenses. IEEE Trans. Softw. Eng. 2007, 33, 305–315. [Google Scholar] [CrossRef]
  17. Quandt, R.E. On the optimum number of library software licenses. J. Econ. Behav. Organ. 1999, 38, 349–356. [Google Scholar] [CrossRef]
  18. Gull, D.; Wehrmann, A. Optimized software licensing—Combining license types in a license portfolio. Bus. Inf. Syst. Eng. 2009, 1, 277–288. [Google Scholar] [CrossRef]
  19. Guo, L.; Yan, T.; Zhao, S.; Jiang, C. Dynamic performance optimization for cloud computing using M/M/m queueing system. J. Appl. Math. 2014, 2014, 756592. [Google Scholar] [CrossRef]
  20. Hou, Z.; Gu., J.; Zhou, X.; Zhao, T. A software licenses aware job scheduling and management approach on multi-clusters. In Proceedings of the 2016 IEEE Intl Conference on Computational Science and Engineering (CSE) and IEEE Intl Conference on Embedded and Ubiquitous Computing (EUC) and 15th Intl Symposium on Distributed Computing and Applications for Business Engineering (DCABES), Paris, France, 24–26 August 2016; pp. 706–711. [Google Scholar] [CrossRef]
  21. Hou, Z.; Wang, Y.; Sui, Y.; Gu, J.; Zhao, T.; Zhou, X. Managing high-performance computing applications as an on-demand service on federated clouds. Comput. Electr. Eng. 2018, 67, 579–595. [Google Scholar] [CrossRef]
  22. Kediyal, P.C.; Singh, M.P. Licit: Administering usage licenses in federated environments. IEEE Trans. Serv. Comput. 2014, 7, 96–108. [Google Scholar] [CrossRef] [Green Version]
  23. Zeng, G. Two common properties of the erlang-B function, erlang-C function, and Engset blocking function. Math. Comput. Model. 2003, 37, 1287–1296. [Google Scholar] [CrossRef]
Figure 1. International IT spending for 2015 through 2023.
Figure 1. International IT spending for 2015 through 2023.
Applsci 13 02314 g001
Figure 2. Number of users in the case study system over time. Each color represents a different day in November 2020.
Figure 2. Number of users in the case study system over time. Each color represents a different day in November 2020.
Applsci 13 02314 g002
Figure 3. Number of user requests denied. Each color represents a different day in November 2020.
Figure 3. Number of user requests denied. Each color represents a different day in November 2020.
Applsci 13 02314 g003
Figure 4. Estimated blocking probabilities for November 2020.
Figure 4. Estimated blocking probabilities for November 2020.
Applsci 13 02314 g004
Figure 5. Hourly requests for floating licenses with each color representing a different day in November 2020.
Figure 5. Hourly requests for floating licenses with each color representing a different day in November 2020.
Applsci 13 02314 g005
Figure 6. Hourly requests for NNU licenses with each color representing a different day in November 2020.
Figure 6. Hourly requests for NNU licenses with each color representing a different day in November 2020.
Applsci 13 02314 g006
Figure 7. Average time users spent accessing the software in hours with each color representing a day in November 2020.
Figure 7. Average time users spent accessing the software in hours with each color representing a day in November 2020.
Applsci 13 02314 g007
Figure 8. Rejection probability for the top nine portfolios in the baseline case.
Figure 8. Rejection probability for the top nine portfolios in the baseline case.
Applsci 13 02314 g008
Figure 9. Utilization for the top nine portfolios in the baseline case.
Figure 9. Utilization for the top nine portfolios in the baseline case.
Applsci 13 02314 g009
Figure 10. Cost for the top nine portfolios in the baseline case.
Figure 10. Cost for the top nine portfolios in the baseline case.
Applsci 13 02314 g010
Table 1. Typical distribution of users.
Table 1. Typical distribution of users.
User TypePercent of UsersType of LicensePercent of Total LicensesRemarks
Heavy users25NNU75There are fewer licenses than users because of budget limits, but there is an option to obtain mobile NNU licenses up to four times a year.
Light users70Concurrent15Counted as all users, including those who make use of the license for only an hour a month and those on vacation or on leave from work.
Disconnected networks5Disconnected network10Specific licenses for specific users.
Table 2. Main parameters of the calibration system.
Table 2. Main parameters of the calibration system.
ParameterValue
c11924
c210,000
λ 1 568.4
λ 2 58.56
K 1 700
K1646
μ 1.18
b0.011
Table 3. Top nine portfolios in the baseline case.
Table 3. Top nine portfolios in the baseline case.
Ranked PortfoliosS1:
NNU Licenses
S2:
Floating Licenses
Cost
in Dollars
P15751542,646,300
P25761532,638,224
P35771532,640,148
P45781522,632,072
P55791512,623,996
P65801502,615,920
P75821492,609,768
P85831482,601,692
P95871452,579,388
Table 4. Top nine portfolios under ±5% rate of requests.
Table 4. Top nine portfolios under ±5% rate of requests.
Case 1Case 2
Portfolios S 1 S 2 Cost B S 2 , a 2 U S 2 , a 2 Portfolios S 1 S 2 Cost B S 2 , a 2 U S 2 , a 2
P+15821562,679,7680.0098720.871057P15611572,649,3640.0097580.871155
P+25831552,671,6920.0102740.87194P25621562,641,2880.0101550.872035
P+35841542,663,6160.010690.872825P35651542,627,0600.0099490.870311
P+45851542,665,5400.0096680.869315P45661532,618,9840.0103560.871201
P+55861532,657,4640.0100660.870206P55671522,610,9080.0107790.872093
P+65871522,649,3880.0104790.871099P65691512,604,7560.0101450.869436
P+75881512,641,3120.0109070.871995P75701502,596,6800.0105630.870336
P+85901502,635,1600.0102650.869323P85711492,588,6040.0109970.871239
P+95911492,627,0840.0106890.870227P95741472,574,3760.0107760.869439
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Kogan, K.; Perlman, Y.; Kelner, G. Software Portfolio Optimization: Access Rejection versus Underutilization. Appl. Sci. 2023, 13, 2314. https://doi.org/10.3390/app13042314

AMA Style

Kogan K, Perlman Y, Kelner G. Software Portfolio Optimization: Access Rejection versus Underutilization. Applied Sciences. 2023; 13(4):2314. https://doi.org/10.3390/app13042314

Chicago/Turabian Style

Kogan, Konstantin, Yael Perlman, and Galit Kelner. 2023. "Software Portfolio Optimization: Access Rejection versus Underutilization" Applied Sciences 13, no. 4: 2314. https://doi.org/10.3390/app13042314

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop