# Utility-Centric Service Provisioning in Multi-Access Edge Computing
## 3 System Model and Problem Formulation
### Utility Model  
The utility function is adapted from [27; 28], which shows that the user perception of service latency does not advance beyond a certain threshold. Figure 2 depicts the utility function, which is a non-decreasing piecewise linear utility function of service latency of users. Based on the two latency thresholds: \(T^{min}\) and \(T^{max}\), the utility function maps each data point of service latency \(t\) to one of the utility levels of _excellent_, _good_, _fair_, _poor_, _bad/dissatisfied_ as follows.  
* \(t\leq T^{min}\): Depending on the service type, the quality perception of users is the best at a pre-defined threshold \(T^{min}\), and no further improvement in quality can be perceived by users of that service even if the latency \(t\) reduces below this value. In this case, the utility remains unchanged (\(W^{max}=1\))
* \(T^{min}<t\leq T^{max}\): The service latency \(t\) is within an acceptable range. User experience reduces as \(t\) increases, and the utility get a value between 0 and 1 (\(0\leq W<1\)). In this case, it is possible to define an optional point (\(T^{fair}\)) from which the users begin to feel the quality drops clearly to a poor experience.
* \(t>T^{max}\): The service quality is really bad and beyond the acceptable range. In this case, the utility has a negative value (\(W^{b}<0\)).  
Given these definitions, the utility function of user \(u\) requesting service \(s_{u}\) is formulated as  
\[W_{u}=\left\{\begin{array}{ll}1,&\text{if }t_{u}\leq T^{min}_{s_{u}},\\ 0\leq\frac{T^{max}_{s_{u}}-t_{u}}{T^{min}_{s_{u}}-T^{max}_{s_{u}}}<1,&\text{if }T^{min}_{s_{u}}<t_{u}\leq T^{max}_{s_{u}}\\ W^{b}<0,&\text{otherwise}\end{array}\right. \tag{5}\]  
Or it can be rewritten in a shorten form as follows.  
\[W_{u}=\frac{T^{max}_{s_{u}}-T^{min}_{s_{u}}-max(0t_{u}-T^{min}_{s_{u}})}{T^{ max}_{s_{u}}-T^{min}_{s_{u}}}=1-\frac{max(0t_{u}-T^{max}_{s_{u}})}{T^{ max}_{s_{u}}-T^{min}_{s_{u}}} \tag{6}\]  
The mentioned thresholds are set by the service providers depending on services via MOS estimation models. For the example of VR services, [29] shows that the ideal latency is equal to or below 20 ms. If this latency exceeds 20 ms, the user experience will decrease and when it reaches about 50 ms, users will be disturbed by a noticeable lag when moving in the virtual world. In addition, it is said to be too slow if the latency exceeds 100 ms. Hence, for VR services, we can set \(T^{min}=20\) ms, \(T^{fair}=50\) ms and \(T^{max}=100\) ms. Similarly, a latency of \(T^{min}=50\) ms is the limit for user to feel the instant feedback and \(T^{max}=150\) ms is the acceptable maximum latency of some interactive games [30].  
We also illustrate an example that captures the concept of the utility function based on the service latency of users as shown in Figure 3. Two users request a VR service, which is supposed to be available in both MEC 1 and MEC 2. However, due to the computation resource constraint, each MEC can effectively serve only one user at a time. The traditional latency-aware task/request scheduling  
Figure 2: Utility function.  
policies [16; 36; 44] would minimize the average service latency (i.e., 17.5 ms) and lead to solution: (user 1 -> MEC 1; user 2 -> MEC 2). In this case, user 1 will perceive excellent quality while user 2 perceives the decline of service quality. Meanwhile, by using the proposed utility function, we obtain a better solution, (user 1 -> MEC 2; user 2 -> MEC 1), where both of them get the best experience with a latency of 20 ms.