Abstract
Introduction
In the recent years, the Internet of mobile things is a burgeoning technique that generates, stores, and processes amount of real-time data to render rich services for users. It has been widely used in every corner of our daily lives, including environmental, industrial, and medical fields. Along with the increase of various mobile devices (MDs) in the field of Internet of things (IoT), more and more new applications, such as face recognition and natural language processing, have emerged and have attracted people’s attention. Such mobile applications are often resource-intensive, which require a great deal of intensive computing, and will generate higher energy consumption. However, due to the physical size limitations of the terminals of IoT, their computing resources and battery life are limited. The contradictory relationship between resource-hungry applications and resource-constrained MDs poses significant challenges to the development of Internet of mobile things.1,2
To address the above challenges, the concept of mobile cloud computing (MCC) has been proposed, which aims to enhance the ability of the terminals of IoT to handle resource-intensive applications by uploading the user’s computing tasks to a resource-rich remote public cloud. However, due to the distance between the users and the public cloud, a long delay will occur when performing wireless transmission, which could have a significant impact on interactive applications. To alleviate this issue, the concept of edge cloud computing3,4 has been proposed, which provides cloud computing functionalities at the edges of wireless access networks in the vicinity of mobile users to enhance the computing power of IoT, decreasing processing delays and energy consumption of the MDs. In this way, large-scale resource-rich cloud infrastructures deployed by operators around users could enable users to make fast and low-latency connections to meet the needs of interactive applications of IoT.5–7
With the development of edge computing technologies, operators deploy a large number of edge servers around users to provide computation offloading services. Under multi-user multi-edge server scenarios, different users can dynamically select which edge servers to offload based on their device status and servers’ computing price. At the same time, to make more profit, the edge server will adjust the price and service accordingly, to attract more users. Consequently, how to optimize user decisions and edge server pricing to minimize user’s computation cost while maximizing edge server’s revenue is particularly important in the field of IoT.8,9 Therefore, we study a multi-user multi-edge server computing offloading method for economic benefit in this article.
Related work
The prior research work is summarized as follows. Xing and Seferoglu 10 proposed a prediction-based edge cloud computing framework. First, this framework dynamically predicted the power, computing capacity, and mobility of user equipment. Second, it optimized resource allocation and user decisions based on the predicted results and the delay constraints of the user computing tasks. Finally, the effectiveness of the proposed scheme was verified on an Android phone. Olaniyan et al. 11 proposed an opportunity edge computing framework that provided services to other users by motivating idle users to share computing capacity. Jeong et al. 12 studied the use of unmanned aerial vehicle (UAV) to provide users with computation offloading services. The objective was to maximize the computational rate of all users by jointly optimizing UAV trajectories, resource allocation, and computational task assignment. Since the problem was non-convex, the authors proposed a two-stage optimization algorithm based on successive convex approximation (SCA) to solve the problem. Sardellitti et al. 13 considered a multi-user multi-cell computation offloading system that jointly allocated radio and computing resources to minimize mobile energy consumption under offload delay constraints. Besides, in literature,14–16 the profits of users were modeled using various metrics. However, the benefits of clouds were not considered by above the research works.
Therefore, considering the coexistence of central and edge clouds, the optimal user scheduling for offloading to different clouds was studied by Zhao et al. 17 In addition, distributed multi-user computation offloading was designed using game theory in Chen et al. 18 for energy and delay minimization. Zhang et al. 19 developed an optimal unloading algorithm based on the Markov decision process (MDP) model for MDs in intermittently connected cloud systems, with the goal of minimizing computing costs. Zhang et al. 19 considered the problem of maximizing the profit of the cloudlet management platform and introduced a new stochastic control algorithm to optimize the computing resource allocation and user decisions. In the work by Fang et al., 20 an incentive compatible auction mechanism (ICAM) for resource transactions between MDs (buyers) and cloudlets (sellers) was proposed, which can effectively allocate cloudlets to meet the service requirements of MDs. Jin et al. 21 studied the pricing policies of multiple cloud service providers (CSPs) in the MCC market and designed an algorithm to derive low complexity prices. However, they had only considered the problem with the price of homogeneous clouds, which was not practical in mobile edge computing scenarios, including edge clouds and remote clouds. Feng et al. 22 studied the pricing strategy of CSPs based on computing resources, but they failed to further analyze how the amount of computing resources affects the profit of CSP.
Although the above work has carried out detailed research on computation offloading, little work studied the user decision and the edge server pricing problem in multi-user multi-edge server scenarios jointly. Therefore, we study the computation offloading problem in a multi-user multi-edge server scenario with the objective of minimizing user computing costs and minimizing operator losses. The main work of this article is as follows:
We studied the computation offloading problem in a multi-user multi-edge server scenario, where the problem was divided into three phases and modeled as a bi-level optimization problem. While the edge server optimization problem is the upper-level problem, which is considered as a continuous linear programming problem; the user optimization problem is the lower-level problem, which is considered as an integer linear programming problem.
We transformed the equivalent of the lower integer programming problem into a continuous integer programming problem, so that it can obtain the optimal solution in polynomial time. Then, we replaced the lower-level problem with its KKT condition and added it into the upper-level problem, thus transforming the original bi-level optimization problem into an equivalent single-level optimization problem.
Since the single-level optimization problem after transformation is non-convex, we used a spatial branch and bound algorithm to solve it. The experimental results showed that the proposed scheme can effectively maintain the benefits of operators and users.
Multi-user multi-operator bi-level optimization model
We consider the problem of computing task pricing under a multi-user multi-edge server scenario. Assume that there are a number of users, and each user device has only one radio. At the same time, there are numerous edge servers, and the computing capacity of the edge server is limited. Each user has a task, which can be partitioned into separate subtasks.23,24 Each subtask can select one edge server for computing. Assume that the bandwidth allocation between users is frequency division multiplexing; 25 that is, the communication between users does not interfere with each other. The goal of the user is to minimize the cost, and the goal of the edge server is to minimize the loss of benefits. The specific process can be divided into the following three stages:
Phase 1: The edge servers announce the unit price of computing capacity;
Phase 2: Users choose to perform computing on a particular edge server according to the unit price;
Phase 3: Servers adjust the unit price according to users’ choices to achieve the goal of minimizing the loss, and then the first and second phases repeat until the result no longer changes.
User decision
Assume that the user collection is
The time that user
where
Since the amount of data calculated by the task is very small,
3
this article ignores the user’s download power consumption. Then, the energy required by user
where
The total cost
where
The total cost
where
Substituting constraints (3)–(7) into equation (8), the expression of
At the same time, because the edge server has limited computing resources, the maximum number of tasks can be served is also limited, so we have the following constraint
The objective of users is minimize the total cost, so we have following problem
Operator computation pricing
Compared with a single edge server, an over-bid edge server will result in no users choosing to use its services when multiple edge servers provide computing services. As a result, edge services will reduce prices to attract more users. This will lead to a loss of profit to the edge server, so the edge server aims at minimizing benefit losses. The edge server price adjustment strategy is as follows: when too many users select the same edge server, it indicates that its bid is lower than other servers, so the operator will increase the unit price to increase revenue. When an edge server has few user choices, it indicates that its bid is higher than other servers, so operators will lower the unit price to attract more users.
Assuming that the initial price of the edge server
where
In problem P1, the decision variable is
The computation pricing problem under the above multi-user multi-edge server scenario is formulated as a bi-layer optimization problem.26–28 The problem of minimizing the overall benefit loss of an edge server is
Since problem
Discrete continuous bi-level optimization problem analyze
Since problem
Then, the integer linear programming problem
Problem
Definition 1
If matrix
Definition 2
If matrix
According to literature,30,31 we can rewrite problem
in which matrix
Lemma 1
The coefficient matrix of
Proof
Matrix
where
Lemma 1
The solution of problem
Proof
According to the proof of Lemma 1, matrix
Theorem 1
Problems
Proof
The optimal solution of problem
Thus, the optimal solution to problem
Since the lower-level problem
The Lagrange function of
Then, its KKT conditions are given as follows
By substituting constraints (20)–(27) into problem
Since constraints (24) and (25) are non-convex,
The spatial branch and bound algorithm based on cut plane
We solve P3 using the spatial branch and bound algorithm. 36
Spatial branch and bound is a deterministic algorithm for solving global optimal problems for non-convex nonlinear programming (NLP) and mixed-integer nonlinear programming (MINLP) problems. It is a kind of branch and bound method, but it can recursively decompose nonlinear functions into simple functions compared with the traditional branch and bound algorithm, so it can deal with non-convex problems to achieve the global optimal target.
The main idea of the spatial branch and bound algorithm is to segment the feasible domain of the variable and then to solve the upper and lower bounds of the function in each feasible domain to find an approximate solution sequence that can converge to the optimal solution. First, the algorithm decomposes the original non-convex problem and the convex relaxation to obtain the subproblem and the upper and lower bounds of the original problem. Second, in each iterative solution process, the algorithm performs convex relaxation on each non-convex subproblem to obtain the upper and lower bounds of the optimal solution of the objective function. Whether the upper and lower bounds finally converge, it indicates that the global optimal solution is found. Otherwise, if the upper and lower bounds do not satisfy a certain threshold, the algorithm continues to divide the feasible domain of the variable to obtain a smaller subproblem. If the subproblem does not produce a better upper and lower bound, the algorithm will prune it. The above process will be repeated until the global optimal solution to the original problem is found.
Assume that there are
However, it should be noted that in the solution process of the algorithm, the space cutting plane can be used to reduce a large number of branches, thereby improving the running speed of the algorithm. As depicted above, the algorithm goes through all possible values of variables, and optimal solution can eventually be calculated, which denotes that the algorithm will eventually converge to the optimal solution.37,38
The details are shown in Algorithm 1. Before that, we need to introduce following concepts: the original non-convex problem
Simulation results
In this section, the proposed method for solving multi-user multi-operator computing pricing and the user decision-making problem is verified. First, we introduce the experimental environment and other settings. Second, we study the impact of different parameters on user decision-making. Finally, we study the impact of different parameters on operator revenue and the overall system cost and verify the effectiveness of the proposed scheme.
Simulation settings
Assume that there are
Sensitivity coefficient
Price sensitivity coefficient
Assume that the number of tasks that each edge server can compute is 16, and that the user’s transmit power is 200 Mw.42,43 If there is no special explanation, the user’s energy preference ratio and price preference ratio are set as 0.5 and 0.5, respectively. In addition, the initial prices of edge servers 1, 2, 3, and 4 are 50, 60, 70, and 80, respectively.
Analysis of simulation results
Figure 1 shows the number of served users with the different computing capacity of the servers. There are 20 users, so there are 60 subtasks. It can be seen that as the computing capacity of the servers increases, the number of users that are using servers 1, 2, and 3 are the same, but the number of users of server 4 is continuously decreasing. This is because server 4’s price is higher, and users will prefer the lower-priced servers in order to minimize their costs. Therefore, the user will select servers 1, 2, 3, and 4 in sequence. When servers 1, 2, and 3 are full, the user selects server 4, which produces the benefit of reducing its own cost.

The number of served users with different computing capacities of servers.
Figure 2 shows the number of served users with different price sensitivities to server 4. The price sensitivities of all users to the edge server 4 are set to be the same, and the maximum number of users that the edge server can serve are 13, 26, 20, and 18, respectively. At the same time, the user’s preference for energy and price is set to 0, 1, which assumes that the user only cares about the impact of the price. It can be seen that when the sensitivity coefficient of the user to the edge server price 4 is 0.7, the number of users using the edge server 3 is small; that is, the user preferentially selects servers 1, 2, and 4 for computing. This is because the user’s price sensitivity to the edge server 3 is higher than that of other services at this time, resulting in a greater cost to the user using server 3. When the price sensitivity of the user to server 4 becomes 1, the number of users using edge server 3 is increased, the number of users using server 4 is lowered, and the number of users using server 3 is more than that of the users using 4. This is because the price sensitivity coefficients of the edge servers 3 and 4 are close, but the price of server 3 is low, so the price of server 3 is small, resulting in more users selecting server 3. Finally, when the sensitivity factor of server 4 rises to 1.3, its price is too high, resulting in no users using its services.

The number of served users with different price sensitivities to server 4.
Figure 3 shows the number of served users with different unit prices of server 4. The maximum number of users that the edge server can serve is 15, 30, 18, and 24, and the price of the server is 50, 60, 70, and 40, respectively. At the same time, in order to study the impact of price on users, the energy and price preference ratios are set to 0 and 1, respectively. It can be seen that when the server price is 40, since the price of server 3 is high, the user selects servers 1, 2, and 4 for computing. When the price of server 4 becomes 60, the number of people who use it decreases, and the number of people who use server 2 increases. This is because the user has a lower price sensitivity coefficient to server 2, resulting in a lower price penalty for the user using server 2. As the price of server 4 rises to 8, it becomes the highest price among all servers. Therefore, some users choose server 3 for service, resulting in a decrease in the number of users and an increase in the number of users of server 3. This indicates that users will dynamically adjust their strategies according to the price changes of the server, so that their overall calculation cost is minimized.

The number of served users with different unit price coefficients of server 4.
Figure 4 shows the number of served users with different energy and price coefficients. The maximum number of service providers for edge servers is 13, 26, 29, and 19, and the price of edge servers is 50, 60, 60, and 70, respectively. It can be seen that when the user energy and price preference coefficients are 1 and 0, respectively, that is, the user only cares about the energy cost, the user does not select server 2. The number of users of server 4 is 18, indicating that the user will choose servers 1, 3, and 4. This is because users have the highest sensitivity coefficient to the edge server 2, and in the case of the same energy consumption, the user prefers to use other servers. When the user energy and price preference become 0.5 and 0.5, the number of users using server 4 becomes 0, and some users start to use server 2. Similar to the above reasons, this switch is because the weighting cost of server 4 and the price are too high, causing the user to select another server. Similarly, when the user only cares about the price, the price of the server and the sensitivity coefficient of the user together determine the decision of which servers to use. Compared with Chen et al., 18 both price and energy sensitivities are considered. However, Chen et al. 18 only considered the profit of users.

The number of served users with different energy and price coefficients.
Figure 5 shows the overall user cost with different numbers of users and different computing size of tasks. It can be seen that as the number of users increases, the overall user cost also increases, and the rate of increase gradually increases. This is because the transmission resources in the system are limited. When the number of users increases, the bandwidth allocated by each user decreases accordingly, further causing the transmission rate to become smaller, the transmission delay to be longer, and the transmission energy consumption to increase. As the overall cost of users increases, operators need to be reasonably priced to attract more users, while making their own higher returns. This further demonstrates the need to study both issues simultaneously. At the same time, it can be seen that the larger the size of user tasks, the greater the overall cost for users.

Overall users cost with different number of users and different computing size of tasks.
Figure 6 shows the operator loss with different numbers of users and different required CPU cycles of tasks. It can be seen that the more the users are, the greater the operator’s loss, because the operator provides a discount for each user, and the overall loss increases. In fact, although operators lose more, their revenues continue to increase, because the more the users are, the more the operators earn; the benefits are proportional to the number of users, and the losses are relatively small compared to the income. At the same time, it can be seen that when the number of users reaches 25, the growth rate suddenly becomes faster. This is because when the number of users increase, the competition of operators becomes more intense. Operators need to provide more discounts to attract users, resulting in faster loss growth, but their overall income is still increasing.

Operator loss with different number of users and different required CPU cycles of tasks.
Figure 7 shows the overall user cost with different numbers of users and different required CPU cycles of tasks. Similar to Figure 5, the overall user cost increases as the number of users increases. At the same time, it can be seen that the more CPU cycles are required of user tasks, the greater the overall cost of users. This is because the cost that the user needs to pay is related to the CPU cycle consumed by the user. Therefore, the more CPU cycles, the greater the computational cost of the user, further leading to an overall user cost. The conclusion is consistent with the work by Feng et al. 44

Overall user cost with different number of users and different required CPU cycles of tasks.
Conclusion
While the edge server optimization problem is the upper-level problem, which is considered as a continuous linear programming problem, the user optimization problem is the lower-level problem, which is considered as an integer linear programming problem.
We study the computation offloading problem of IoT under a multi-user multi-edge server scenario, with the goal of minimizing user computational cost and edge server loss. We divide the problem into three phases and model it as a bi-level optimization problem. While the edge server optimization problem is the upper-level problem and it is considered as a continuous linear programming problem, the user optimization problem is a lower-level problem and is considered as an integer linear programming problem, which is hard to solve. Therefore, the equivalent of the lower integer programming problem is transformed into a continuous linear programming problem, so that it can obtain the optimal solution in polynomial time. Then, we replace the lower-level problem with its KKT conditions and bring it into the upper-level problem, thus transforming the original multi-user multi-operator bi-level optimization problem into an equivalent single-level optimization problem. Since the single-level optimization problem after transformation is non-convex, we use the spatial branch and bound algorithm to solve it. The experimental results show that the proposed algorithm can effectively guarantee the benefits of both operators and users in the field of IoT.
In future, to deal with more complex scenorios, the subtask of each user will be considered to be not equal and the sizes of users in the groups are different.
