## 3 Algorithm Design
### Multiuser Access Control Algorithm  
Based on the analysis results obtained in Section 3.1, we now design the access control algorithm to solve the optimization problem (3). It is noteworthy that the computational cost increases exponentially with the number of requesting users if we check all possible user access indicator vectors for the optimization problem. To reduce the computational cost while admitting as many users as possible, we adopt a heuristic strategy for the proposed algorithm. The designed access control algorithm is shown in Algorithm 1. The basic idea of the algorithm is to first consider whether the delay violation probability of a user meets the QoS requirements when serving that user individually, i.e., allocating all available transmission and computing resources to the test user (steps 1-2). If not, it indicates that even if all resources are allocated to the test user, the requirements cannot be met. Then, in steps 3-7, among all users who can be served individually, we examine the users in order of their delay violation probabilities, from the smallest to the largest: if serving a user with a smaller delay violation probability (who generally consumes fewer transmission and computing resources) allows us to then serve an additional user with a larger delay violation probability. Specifically, steps 3 and 4 are for arranging users for the access test, and step 5 is to calculate the parameters for evaluating delay violation probability for admitting the test users. It can be deduced that the proposed algorithm can admit as many users as possible for the 360\({}^{\circ}\) VR service system because it prioritizes access for users with lower resource usage. By calculating the number of comparisons between a requesting user's delay violation probability and the preset threshold in the worst case, the computational complexity of the proposed algorithm can be found as O(\(I^{2}\)).  
```
Step 1: Initialize \(\mathbf{x}_{i}=(0,0,\ldots,\frac{1}{\text{the }i-\text{th element}},\ldots,0)\); Step 2: Calculate \(P_{\text{out}}^{(i)}(\mathbf{x}_{i})\) for \(i=1,\,2,\,\ldots,I\); Step 3: For all single-user access combinations that satisfy the condition \(P_{\text{out}}^{(i)}(\mathbf{x}_{i})\leq\delta\), arrange the user indices \(\mathbf{x}_{i}\) in ascending order of \(P_{\text{out}}^{(i)}(\mathbf{x}_{i})\) and obtain the sequence of users that can be served individually: \(i_{1}\), \(i_{2}\),\(\ldots\), \(i_{l}\); Step 4: Let \(\mathbf{x}=(0,0,\ldots,\frac{1}{\text{the }i_{1}\text{-th element}},0,\ldots,\frac{1}{\text{the }i_{2}\text{-th element}},0 \ldots,0)\) denote the user access combination under consideration; Step 5: For \(\mathbf{x}\), calculate the mean and variance of the time interval variables for video data packets reaching any requesting user from the MEC server, \(1/\alpha_{2,\mathbf{x}}\) and \(V_{2,\mathbf{x}}\), as well as the mean and variance of the time intervals for video data packets reaching any requesting user from the cloud server, \(1/\alpha_{3,\mathbf{x}}\) and \(V_{3,\mathbf{x}}\), by allocating bandwidth and transmission power to users to maintain the same transmission rate between different users; Step 6: Calculate \(P_{\text{out}}^{(i)}(\mathbf{x})\) for all users under consideration in \(\mathbf{x}\); Step 7: If \(P_{\text{out}}^{(i)}(\mathbf{x})\leq\delta\) holds for all users in \(\mathbf{x}\), update \(\mathbf{x}\) by adding the next user from the sequence of users that can be served individually, and proceed to step 5. Otherwise, update \(\mathbf{x}\) by removing the last added user; Step 8: Output \(\mathbf{x}\).
```  
**Algorithm 1** Multiuser Access Control Algorithm for 360\({}^{\circ}\) VR Video Service System