# Dynamic Rendering-Aware VR Service Module Placement Strategy in MEC Networks

Authors: Chunyu Liu; Heli Zhang; Xi Li; Hong Ji
Journal: Wireless Communications and Mobile Computing
 (2022)

---

## Abstract

Combining multiaccess edge computing (MEC) technology and wireless virtual reality (VR) game is a promising computing paradigm. Offloading the rendering tasks to the edge node can make up for the lack of computing resources of mobile devices. However, the current offloading works ignored that when rendering is enabled at the MEC server, the rendering operation depends heavily on the environment deployed on this MEC serve. In this paper, we propose a dynamically rendering-aware service module placement scheme for wireless VR games over the MEC networks. In this scheme, the rendering tasks of VR games are offloaded to the MEC server and closely coupled with service module placement. At the same time, to further optimize the end-to-end latency of VR video delivery, the routing delay of the rendered VR video stream and the costs of the service module migration are jointly considered with the proposed placement scheme. The goal of this scheme is to minimize the sum of the network costs over a long time under satisfying the delay constraint of each player. We model our strategy as a high-order, nonconvex, and time-varying function. To solve this problem, we transform the placement problem into the min-cut problem by constructing a series of auxiliary graphs. Then, we propose a two-stage iterative algorithm based on convex optimization and graphs theory to solve our object function. Finally, extensive simulation results show that our proposed algorithm can ensure low end-to-end latency for players and low network costs over the other baseline algorithms.


---

## Body

## 1. Introduction

Wireless virtual reality (VR) games are becoming more and more popular, and it is reported that the global VR gaming market size is projected to reach 45 billion dollars by 2025. A wireless VR game application is generally composed of two parts: a collection module and a service module. The collection module is used to collect the geographic location and actions of players and then delivers the collected information to the service module. The service module encapsulates all the necessary environments to perform logical calculations, render the scene, and synchronize the game information among players [1]. Players of different VR games need different service modules to perform their respective rendering tasks. Players of the same VR game use the same service modules and need to synchronize the information of this VR game with each other (such as character position and score). However, offering low-latency and high-quality VR gaming services to mass wireless players at any time and anywhere is always a major challenge [2–8].Recently, introducing multiaccess edge computing (MEC) technology to wireless VR games has been a promising computing paradigm to address the above challenges [9–14]. By offloading the rendering tasks from the mobile devices (e.g., VR headsets) to the proximal MEC servers, the players’ requirements for ultrahigh computational capacity and strict response latency would be satisfied. Rendering refers to the process of generating images from a model, which is a representation of a 3D object or virtual environment defined by a programming language or data structure. Specifically, since the MEC server has higher computing power than the mobile device, the delay of rendering VR tasks on the MEC server is less than the delay of rendering the same VR tasks on the mobile device [15–19].However, edge rendering inevitably introduces the edge computing delay and the transmission delay caused by the rendered VR game video stream back to the mobile terminal. Especially, since the data volume of VR video streams is generally huge, the increase in delay will be even more pronounced. Therefore, it is particularly important to optimize the routing of rendered VR game video streams and reasonably allocate the edge resource including wireless spectrum and computation. In addition, it should be noted that deploying service modules on MEC servers increases placement costs, and limited by the storage capacity, service modules of all kinds of VR games cannot deploy on each MEC at the same time [20–23]. But the premise of performing the rendering task of the player on the MEC server is that the service module of the VR game that this user participates in has been deployed on this MEC server [24–26]. Based on the above discussion, the service module placement optimization and the computation resource allocation should be closely coupled to jointly optimize the wireless VR game delivery performance [27–29].Moreover, in a MEC network scenario of concurrent multiple kinds of wireless VR games, the geographical position of players may change with time, and their access base stations (BSs) may change as they move. To ensure the low routing cost of the rendered VR video streams of one group, the corresponding VR service module serving this group may need to migrate to a new base station. The above situation would increase migration costs [30–34] including hardware wear-and-tear costs and data migration delay costs. Dynamically optimizing the trade-off between the routing cost and migration cost is necessary.In this paper, we propose a dynamically rendering-aware service module placement scheme. In this scheme, the rendering tasks of VR games are offloaded to the MEC server and closely coupled with service module placement. At the same time, to further optimize the end-to-end latency of VR video delivery, the rendered VR video stream routing delay and service module migration costs are considered with the proposed placement scheme. Specifically, the strategies jointly consider the bandwidth, computing, and storage resource allocation scheme within each time slot and the service module migration cost optimization between different base stations in the adjacent time slot. The goal of this scheme is to minimize the sum of the network costs over a long time under satisfying the delay constraint of each player.(i)
In this paper, we propose a dynamically rendering-aware service module placement scheme, which jointly optimizes service module placement and the associated rendering computation allocation. The goal of this scheme is to minimize the whole network cost based on satisfying the players’ low end-to-end delay and high-computing requirements(ii)
We study the problem of how to dynamically place the VR service module to achieve a good balance between the routing delay cost of the rendered VR video stream and the migration cost of the corresponding service module(iii)
We transform our placement problem into the minimal cut problem by developing algebraic conversions and constructing a series of auxiliary graphs. Then, we propose a two-stage iterative algorithm based on convex optimization and graphs theory to solve our objective function within polynomial timeThe rest of this paper is organized as follows. Section2 introduces the system model. Section 3 presents the problem formulation. The proposed solution is presented in Section 4. In Section 5, simulation results are presented and discussed. Finally, the conclusion is given in Section 6.


### 1.1. Related Work

At present, most of the research on placement strategy focuses on reducing network delay and network overhead for the user by reasonably deploying the services, data, or virtual machines in a suitable location with limited network resources. But the current works ignore considering the dependency relationships between computing and storage. Paper [24] proposes a two-time scale framework that jointly optimizes service placement and request scheduling considering system stability and operation cost. Paper [1] provides a mix of cost models to optimize the deployment of collaborative edge applications to achieve the best overall system performance. Paper [25] proposes a distributed algorithm based on games theory to optimize virtual machine placement in mobile cloud gaming through resource competition to meet the overall requirements of players in a cost-effective manner. Paper [35] proposes a novel offline community discovery and online community adjustment schemes to reduce the internode traffic and the system overhead, which solve the replica placement problem in a scalable and adaptive way. Paper [36] has some similarities with our work, which studies the joint optimization of service placement and request routing in the MEC networks with multidimensional (storage-computation-communication) constraints. In paper [5], the author proposes a MEC-based dynamic cache strategy and an optimized unload strategy to minimize system delay and energy. Paper [27] proposes a rendering-aware tile caching scheme to optimize the end-to-end latency for VR video delivery over multicell MEC networks. Paper [28] designs a view synthesis-based 360 VR caching system to meet the requirements of wireless VR applications and enhance the quality of the VR user experience, which supports MEC and hierarchical caching.The goal of the recent research on wireless VR mainly focuses on improving the quality of service (QoS), reducing network overhead, or both by proper resource allocation, transcoding technology, introducing edge networks, and etc. Insufficient consideration is given to players’ mobility and the network scenario of concurrent multiple kinds of wireless VR games. Paper [4] proposes a blockchain-supported task offloading scheme to resist malicious attacks, which reduces the computing load of virtual machines and satisfy the high QoE of VR users. Paper [10] proposes a wireless VR network that supports MEC. The network uses a recurrent neural network (RNN) to predict the field of view of each VR user in real-time and transfers the rendering task of VR from the VR device to the MEC server through the rendering model migration function. Paper [16] proposes an adaptive MEC-assisted virtual reality framework, which can adaptively assign real-time virtual reality rendering tasks to MEC servers. Meanwhile, the caching capability of MEC servers can further improve network performance. Paper [37] proposes a task offloading, and resource management scheme based on wireless virtual reality is proposed. The scheme comprehensively considers the factors of cache, computing, and spectrum allocation and minimizes the content delivery delay while guaranteeing quality. Paper [38] studies a multilayer wireless VR video service scenario based on a MEC network. Its main goal is to minimize system energy consumption and delay and to find a balance between these two indicators. Paper [11] proposes to minimize the long-term energy consumption of MEC systems based on THz wireless access by jointly optimizing viewport rendering offloading and downlink transmission power control to support high-quality immersive VR video services. Paper [39] proposes a novel transcoding-enabled VR video caching and delivery framework for edge-enhanced next-generation wireless networks. Paper [40] investigates the optimal wireless streaming of a multi-quality-tiled VR video from a server to multiple users by effectively utilizing characteristics of multi-quality-tiled VR videos and computation resources at the users’ side.


## 1.1. Related Work

At present, most of the research on placement strategy focuses on reducing network delay and network overhead for the user by reasonably deploying the services, data, or virtual machines in a suitable location with limited network resources. But the current works ignore considering the dependency relationships between computing and storage. Paper [24] proposes a two-time scale framework that jointly optimizes service placement and request scheduling considering system stability and operation cost. Paper [1] provides a mix of cost models to optimize the deployment of collaborative edge applications to achieve the best overall system performance. Paper [25] proposes a distributed algorithm based on games theory to optimize virtual machine placement in mobile cloud gaming through resource competition to meet the overall requirements of players in a cost-effective manner. Paper [35] proposes a novel offline community discovery and online community adjustment schemes to reduce the internode traffic and the system overhead, which solve the replica placement problem in a scalable and adaptive way. Paper [36] has some similarities with our work, which studies the joint optimization of service placement and request routing in the MEC networks with multidimensional (storage-computation-communication) constraints. In paper [5], the author proposes a MEC-based dynamic cache strategy and an optimized unload strategy to minimize system delay and energy. Paper [27] proposes a rendering-aware tile caching scheme to optimize the end-to-end latency for VR video delivery over multicell MEC networks. Paper [28] designs a view synthesis-based 360 VR caching system to meet the requirements of wireless VR applications and enhance the quality of the VR user experience, which supports MEC and hierarchical caching.The goal of the recent research on wireless VR mainly focuses on improving the quality of service (QoS), reducing network overhead, or both by proper resource allocation, transcoding technology, introducing edge networks, and etc. Insufficient consideration is given to players’ mobility and the network scenario of concurrent multiple kinds of wireless VR games. Paper [4] proposes a blockchain-supported task offloading scheme to resist malicious attacks, which reduces the computing load of virtual machines and satisfy the high QoE of VR users. Paper [10] proposes a wireless VR network that supports MEC. The network uses a recurrent neural network (RNN) to predict the field of view of each VR user in real-time and transfers the rendering task of VR from the VR device to the MEC server through the rendering model migration function. Paper [16] proposes an adaptive MEC-assisted virtual reality framework, which can adaptively assign real-time virtual reality rendering tasks to MEC servers. Meanwhile, the caching capability of MEC servers can further improve network performance. Paper [37] proposes a task offloading, and resource management scheme based on wireless virtual reality is proposed. The scheme comprehensively considers the factors of cache, computing, and spectrum allocation and minimizes the content delivery delay while guaranteeing quality. Paper [38] studies a multilayer wireless VR video service scenario based on a MEC network. Its main goal is to minimize system energy consumption and delay and to find a balance between these two indicators. Paper [11] proposes to minimize the long-term energy consumption of MEC systems based on THz wireless access by jointly optimizing viewport rendering offloading and downlink transmission power control to support high-quality immersive VR video services. Paper [39] proposes a novel transcoding-enabled VR video caching and delivery framework for edge-enhanced next-generation wireless networks. Paper [40] investigates the optimal wireless streaming of a multi-quality-tiled VR video from a server to multiple users by effectively utilizing characteristics of multi-quality-tiled VR videos and computation resources at the users’ side.


## 2. System Model

The MEC server is a microdata center that is typically deployed with a cellular base station or WiFi access point. Some lightweight virtualization technologies are used to virtualize the hardware resources in the MEC server to realize the flexible sharing of resources.In this section, as illustrated in Figure1, we consider a scenario of concurrent multiple kinds of VR games under the cellular network equipped with MEC servers. In this network scenario, there are U players and M base stations (BSs), where each BS is deployed with a MEC server. We represent the set of BSs as U=1,2,3,⋯,u,⋯,U and represent the set of users as M=1,2,3,⋯,m,⋯,M. The base stations are connected to each other in a wired way. We assume that there are H kinds of VR games in this scenario, denoted by the set H=1,2,3,⋯,h,⋯,H. Therefore, H different service modules are required to support these VR games. In addition, to make dynamic decisions, we model our problem as a time-slotted system, where we use T=1,2,3,⋯,t,⋯,T to denote the set of consecutive time slots under consideration. We assume that each time slot is much larger than the delay caused by transmission and processing.Figure 1
System model. Players 1 and 5 belong to the same VR game and need VR service module 1 to perform rendering. Players 2–4 belong to the same VR game and need VR service module 2 to perform rendering. Among them, the player 1 migrates from the coverage of BS 4 to the coverage of BS 5, and the player 2 migrates from the coverage of BS 2 to the coverage of BS 3. Player 3 access to BS 1 and offload the task 3 from BS 1 to BS 2.In the remaining subsections, the mathematical models for communication, dynamic placement, rendering computation, and whole network cost are discussed. Some important notations are summarized in Table1.Table 1
List of key notations.
NotationDefinitionMSet of BSsUSet of usersHSet of VR gamesTSet of consecutive time slotsδmhtPlacement indicatorΠmThe maximum storage capability of BSmσ2The variance of additive white Gaussian noiseBtThe maximum bandwidth of BS at timetKmThe maximum computing capability of BSmamutThe access indicator at the timetsmhtThe BS selection indicator at the timetdm,m′The delay of routing one bit of data from BSm to BS m′puhThe indicator of playeru whether joining in grouph


### 2.1. Placement Cost

In this section, we investigate the dynamic placement scheme of all VR service modules in the system.We assume that the set of service module placement strategies can be denoted asΔ=δmhtm∈M,h∈H,t∈T, where δmht=1 represents that the VR module service h is storaged in the BS m; otherwise at the time t, δmht=0.The cost for using the storage resources when placing service moduleh on edge node m is characterized by λmh. The cost of the placement VR service module can be expressed by the following formula:
(1)CostPt=∑m=1M∑h=1Hλmhδmht.We assume the storage capacity of BSm is Πm, and the size of VR service module h is wh. Due to the total size of the VR service modules deployed in BS m should not exceed the maximum storage capacity of BS m, the constraint should be expressed as
(2)∑h=1Hδmhtwh≤Πm,∀m∈M.


### 2.2. Migration Cost

When the players move, due to the changes in the geographical location, the BS that transmits the rendered data to the players may change. At the same time, the BS that originally provided the rendering service for the game group may no longer be the best choice to provide service. The group may need to select a suitable new BS to perform rendering and even may need to deploy the corresponding VR service module on the new selected BS. That is to say, the data information of the service module may need to be migrated from the old MEC server to the new MEC server and built the environment on the new MEC. However, the migration of the VR service module will cause hardware wear-and-tear costs and impose data migration latency costs. The migration delay of each player belonging to the same group is equal and can be expressed as(3)Du,tmig=∑m=1M∑h=1Hpuhgδmht,δmht−1.In addition, the all migration costs can be expressed as(4)CostMt=∑m=1M∑h=1Hfδmht,δmht−1+gδmht,δmht−1,where fδmht,δmht−1 and gδmht,δmht−1 can be, respectively, defined as
(5)fδm,ht,δm,ht−1=fh,δmht>δmht−1,0,δmht≤δmht−1,(6)gδm,ht,δm,ht−1=υgh,δmht>δmht−1,0,δmht≤δmht−1,where gh represents the migration delay of the VR service module h and fh represents the cost of reconfiguring the VR service module h. To be reasonable, we make the values of fδmht,δmht−1 and gδmht,δmht−1 to the same order of magnitude by adjusting the parameter υ.


### 2.3. Rendering Cost

Players in the same group may have overlapping computational tasks; in this section, we assume that the MEC server computes centrally after collecting all the information of the players in the group. Therefore, we allocate the computing resources on each server by the group.In the MEC network, when the MEC server is serving only one group, that group can certainly get more computing resources to perform rendering, resulting in a low processing latency experience. However, in general, each MEC server needs to serve multiple groups at the same time, which can lead to competition for computation resources. In particular, if too many groups render on the same MEC server, the delays for all groups connected to this server will increase dramatically.puh∈0,1 is the indicator, to represents whether the players u join in the VR game h. Due to one player can only join in one kind of game, so the corresponding constraints can be, respectively, formulated as
(7)∑h=1Hpuh=1,∀u∈U.We useS=smhtm∈M,h∈H,t∈T to denote the set of the rendering base station selection strategies. When the group h selects the MEC server m to perform the rendering task, smht=1 at the time t; otherwise, smht=0.In order to ensure the information synchronization between users in the same group, we assume that a group can only select one MEC server to process tasks at a time slot, so the corresponding constraints can be formulated as(8)∑m=1Msmht=1,∀h∈H,t∈T.Since the cost of putting the VR service module on the server is high, we put the VR service module on the BS, which has been selected to process the groups’ tasks. So, we can get the following formula:(9)δmht=smht,∀t∈T,h∈H,m∈M.We assume that the maximum computing capability of the MEC serverm is Km (Hz) and the computing resource of the BS m allocated to group h at time t is kmht. We use K=kmhtm∈M,h∈H,t∈T to represent the computing resource allocation scheme. Cht represents the computing resource needed for group h at time t. The rendering delay of players belonging to the same group is equal. So, the rendering delay of player u at time slot t can be expressed as
(10)Du,trend=∑m=1M∑h=1HsmhtpuhChtkmht,t∈T.So, the rendering cost can be denoted by the sum of the rendering latency of all groups, which can be expressed by(11)CostRt=∑m=1M∑h=1HsmhtChtkmht,t∈T.At the same time, a MEC server cannot allocate more computing resources to the groups; it serves than its maximum computing resources. Therefore, the corresponding computing resources constraints can be formulated as(12)∑h=1Hkmht≤Km,∀m∈M,t∈T.


### 2.4. Communication Cost

In this section, we present the communication model in the mobile edge computing networks based on mmWave, which concentrates on the downlink transmission. At the same time, we introduce the routing transmission delay.


#### 2.4.1. Downlink Delay

We useA=amutm∈M,u∈U,t∈T as the access scheme, where the amut=1 means that players u is associated with BS m at the time t to obtain the rendered game video stream, while amut=0 denotes that players u is not served by BS m at the time t.Moreover, players cannot connect to multiple base stations at the same time, and we need to ensure that each player can connect to a suitable one. So we get the following constraint formula:(13)∑m=1Mamut=1,∀u∈U.We adopt the orthogonal spectrum reuse scheme in this system; i.e., all BS share the total frequency bandwidth, and there is no interference between the users served by the same BS. The data amount of the uplink transmission is small, only including some players' information, such as commands and actions. So, the delay and cost of this process are ignored in this paper.The downlink transmission is used to transmit the rendered VR video stream, in which the amount of data is larger. Therefore, millimeter Wave technology with large bandwidth is adopted for downlink transmission. Assume that all channels are subject to independent identically distributed quasistatic Rayleigh block fading. The path loss can be expressed as follow:(14)Lmut=ηtdmut−ςt,where ηt is the downlink constant related to frequency, ςt is the downlink path loss exponent at time t, and dmut is the distance between the players u and BS m at time t.Millimeter wave has the characteristics of short wavelength, small power, and directional antenna. The interference between the same frequency beam can be reduced well by millimeter wave interference cancelation technology. As the interference cancelation technology is not the focus of this paper and the millimeter transmission tends to be noise-limited and weak-interference, the interference in the transmission process of millimeter waves is ignored in this paper by referring to papers [16, 41, 42]. So, the signal-to-interference-plus-noise ratio received by the players u from the BS u is expressed as follows:
(15)SINRmut=pmugmutLmutσ2,where gmut is the downlink antenna gain using direction beamforming between players u and BS m at the time t, pmu is the transmission power between players u and BS m, and σ2 is the variance of additive white Gaussian noise (AWGN).We assume that the spectrum bandwidth allocated to playersu from BS m at time t is Bmut and use B=Bmutm∈M,u∈U,t∈T as the bandwidth allocation scheme. Since the total bandwidths that the BS m allocates to its access players do not exceed the whole bandwidths in the wireless access network at time t, which is Bt, corresponding bandwidth constraints can be formulated as
(16)∑u=1UBmut≤Bt,∀m∈M,t∈T.Then, the uplink transmission rate between the playersu and the BS m at time t is
(17)rmut=Bmutlog21+SINRmut.We assume that the size of the video images needed to transmit to the playersu at time t is out, so the delay of downlink transmission for players u at time t is
(18)Du,tdown=∑m=1Mamutoutrmut.The delay of downlink transmission for all players at timet, i.e., the downlink communication cost of the network, is
(19)E1t=∑u=1UDu,tdown.


#### 2.4.2. Routing Delay

In this section, we divided the players intoH groups based on the differences in VR games they participate in. Different groups need different service modules to perform rendering. We need to select an appropriate MEC server to perform rendering for group h and route the rendered video stream quickly to the access base station of the user belonging to the group h. The selected MEC server needs to have deployed the corresponding VR service modules and has sufficient computing resources to perform rendering tasks.According to the above assumption, at the time slott, the delay of routing the rendered VR content requested by user u from the working (rendering) BS m to this user’s access BS m′ can be expressed as
(20)Du,trout=∑m=1M∑h=1H∑m′=1Mpuham′utsmhtdm,m′out,where dm,m′ is the delay of routing one bit of data from BS m to BS m′, when m=m′, dm,m′=0.The routing delay of all players at timet, i.e., the routing cost of the network, is
(21)E2t=∑u=1UDu,trout.So, the communication cost at timet can be expressed as the sum of downlink transmission delay and routing delay.
(22)CostCt=E1t+E2t,t∈T.


## 2.1. Placement Cost

In this section, we investigate the dynamic placement scheme of all VR service modules in the system.We assume that the set of service module placement strategies can be denoted asΔ=δmhtm∈M,h∈H,t∈T, where δmht=1 represents that the VR module service h is storaged in the BS m; otherwise at the time t, δmht=0.The cost for using the storage resources when placing service moduleh on edge node m is characterized by λmh. The cost of the placement VR service module can be expressed by the following formula:
(1)CostPt=∑m=1M∑h=1Hλmhδmht.We assume the storage capacity of BSm is Πm, and the size of VR service module h is wh. Due to the total size of the VR service modules deployed in BS m should not exceed the maximum storage capacity of BS m, the constraint should be expressed as
(2)∑h=1Hδmhtwh≤Πm,∀m∈M.


## 2.2. Migration Cost

When the players move, due to the changes in the geographical location, the BS that transmits the rendered data to the players may change. At the same time, the BS that originally provided the rendering service for the game group may no longer be the best choice to provide service. The group may need to select a suitable new BS to perform rendering and even may need to deploy the corresponding VR service module on the new selected BS. That is to say, the data information of the service module may need to be migrated from the old MEC server to the new MEC server and built the environment on the new MEC. However, the migration of the VR service module will cause hardware wear-and-tear costs and impose data migration latency costs. The migration delay of each player belonging to the same group is equal and can be expressed as(3)Du,tmig=∑m=1M∑h=1Hpuhgδmht,δmht−1.In addition, the all migration costs can be expressed as(4)CostMt=∑m=1M∑h=1Hfδmht,δmht−1+gδmht,δmht−1,where fδmht,δmht−1 and gδmht,δmht−1 can be, respectively, defined as
(5)fδm,ht,δm,ht−1=fh,δmht>δmht−1,0,δmht≤δmht−1,(6)gδm,ht,δm,ht−1=υgh,δmht>δmht−1,0,δmht≤δmht−1,where gh represents the migration delay of the VR service module h and fh represents the cost of reconfiguring the VR service module h. To be reasonable, we make the values of fδmht,δmht−1 and gδmht,δmht−1 to the same order of magnitude by adjusting the parameter υ.


## 2.3. Rendering Cost

Players in the same group may have overlapping computational tasks; in this section, we assume that the MEC server computes centrally after collecting all the information of the players in the group. Therefore, we allocate the computing resources on each server by the group.In the MEC network, when the MEC server is serving only one group, that group can certainly get more computing resources to perform rendering, resulting in a low processing latency experience. However, in general, each MEC server needs to serve multiple groups at the same time, which can lead to competition for computation resources. In particular, if too many groups render on the same MEC server, the delays for all groups connected to this server will increase dramatically.puh∈0,1 is the indicator, to represents whether the players u join in the VR game h. Due to one player can only join in one kind of game, so the corresponding constraints can be, respectively, formulated as
(7)∑h=1Hpuh=1,∀u∈U.We useS=smhtm∈M,h∈H,t∈T to denote the set of the rendering base station selection strategies. When the group h selects the MEC server m to perform the rendering task, smht=1 at the time t; otherwise, smht=0.In order to ensure the information synchronization between users in the same group, we assume that a group can only select one MEC server to process tasks at a time slot, so the corresponding constraints can be formulated as(8)∑m=1Msmht=1,∀h∈H,t∈T.Since the cost of putting the VR service module on the server is high, we put the VR service module on the BS, which has been selected to process the groups’ tasks. So, we can get the following formula:(9)δmht=smht,∀t∈T,h∈H,m∈M.We assume that the maximum computing capability of the MEC serverm is Km (Hz) and the computing resource of the BS m allocated to group h at time t is kmht. We use K=kmhtm∈M,h∈H,t∈T to represent the computing resource allocation scheme. Cht represents the computing resource needed for group h at time t. The rendering delay of players belonging to the same group is equal. So, the rendering delay of player u at time slot t can be expressed as
(10)Du,trend=∑m=1M∑h=1HsmhtpuhChtkmht,t∈T.So, the rendering cost can be denoted by the sum of the rendering latency of all groups, which can be expressed by(11)CostRt=∑m=1M∑h=1HsmhtChtkmht,t∈T.At the same time, a MEC server cannot allocate more computing resources to the groups; it serves than its maximum computing resources. Therefore, the corresponding computing resources constraints can be formulated as(12)∑h=1Hkmht≤Km,∀m∈M,t∈T.


## 2.4. Communication Cost

In this section, we present the communication model in the mobile edge computing networks based on mmWave, which concentrates on the downlink transmission. At the same time, we introduce the routing transmission delay.


### 2.4.1. Downlink Delay

We useA=amutm∈M,u∈U,t∈T as the access scheme, where the amut=1 means that players u is associated with BS m at the time t to obtain the rendered game video stream, while amut=0 denotes that players u is not served by BS m at the time t.Moreover, players cannot connect to multiple base stations at the same time, and we need to ensure that each player can connect to a suitable one. So we get the following constraint formula:(13)∑m=1Mamut=1,∀u∈U.We adopt the orthogonal spectrum reuse scheme in this system; i.e., all BS share the total frequency bandwidth, and there is no interference between the users served by the same BS. The data amount of the uplink transmission is small, only including some players' information, such as commands and actions. So, the delay and cost of this process are ignored in this paper.The downlink transmission is used to transmit the rendered VR video stream, in which the amount of data is larger. Therefore, millimeter Wave technology with large bandwidth is adopted for downlink transmission. Assume that all channels are subject to independent identically distributed quasistatic Rayleigh block fading. The path loss can be expressed as follow:(14)Lmut=ηtdmut−ςt,where ηt is the downlink constant related to frequency, ςt is the downlink path loss exponent at time t, and dmut is the distance between the players u and BS m at time t.Millimeter wave has the characteristics of short wavelength, small power, and directional antenna. The interference between the same frequency beam can be reduced well by millimeter wave interference cancelation technology. As the interference cancelation technology is not the focus of this paper and the millimeter transmission tends to be noise-limited and weak-interference, the interference in the transmission process of millimeter waves is ignored in this paper by referring to papers [16, 41, 42]. So, the signal-to-interference-plus-noise ratio received by the players u from the BS u is expressed as follows:
(15)SINRmut=pmugmutLmutσ2,where gmut is the downlink antenna gain using direction beamforming between players u and BS m at the time t, pmu is the transmission power between players u and BS m, and σ2 is the variance of additive white Gaussian noise (AWGN).We assume that the spectrum bandwidth allocated to playersu from BS m at time t is Bmut and use B=Bmutm∈M,u∈U,t∈T as the bandwidth allocation scheme. Since the total bandwidths that the BS m allocates to its access players do not exceed the whole bandwidths in the wireless access network at time t, which is Bt, corresponding bandwidth constraints can be formulated as
(16)∑u=1UBmut≤Bt,∀m∈M,t∈T.Then, the uplink transmission rate between the playersu and the BS m at time t is
(17)rmut=Bmutlog21+SINRmut.We assume that the size of the video images needed to transmit to the playersu at time t is out, so the delay of downlink transmission for players u at time t is
(18)Du,tdown=∑m=1Mamutoutrmut.The delay of downlink transmission for all players at timet, i.e., the downlink communication cost of the network, is
(19)E1t=∑u=1UDu,tdown.


### 2.4.2. Routing Delay

In this section, we divided the players intoH groups based on the differences in VR games they participate in. Different groups need different service modules to perform rendering. We need to select an appropriate MEC server to perform rendering for group h and route the rendered video stream quickly to the access base station of the user belonging to the group h. The selected MEC server needs to have deployed the corresponding VR service modules and has sufficient computing resources to perform rendering tasks.According to the above assumption, at the time slott, the delay of routing the rendered VR content requested by user u from the working (rendering) BS m to this user’s access BS m′ can be expressed as
(20)Du,trout=∑m=1M∑h=1H∑m′=1Mpuham′utsmhtdm,m′out,where dm,m′ is the delay of routing one bit of data from BS m to BS m′, when m=m′, dm,m′=0.The routing delay of all players at timet, i.e., the routing cost of the network, is
(21)E2t=∑u=1UDu,trout.So, the communication cost at timet can be expressed as the sum of downlink transmission delay and routing delay.
(22)CostCt=E1t+E2t,t∈T.


## 2.4.1. Downlink Delay

We useA=amutm∈M,u∈U,t∈T as the access scheme, where the amut=1 means that players u is associated with BS m at the time t to obtain the rendered game video stream, while amut=0 denotes that players u is not served by BS m at the time t.Moreover, players cannot connect to multiple base stations at the same time, and we need to ensure that each player can connect to a suitable one. So we get the following constraint formula:(13)∑m=1Mamut=1,∀u∈U.We adopt the orthogonal spectrum reuse scheme in this system; i.e., all BS share the total frequency bandwidth, and there is no interference between the users served by the same BS. The data amount of the uplink transmission is small, only including some players' information, such as commands and actions. So, the delay and cost of this process are ignored in this paper.The downlink transmission is used to transmit the rendered VR video stream, in which the amount of data is larger. Therefore, millimeter Wave technology with large bandwidth is adopted for downlink transmission. Assume that all channels are subject to independent identically distributed quasistatic Rayleigh block fading. The path loss can be expressed as follow:(14)Lmut=ηtdmut−ςt,where ηt is the downlink constant related to frequency, ςt is the downlink path loss exponent at time t, and dmut is the distance between the players u and BS m at time t.Millimeter wave has the characteristics of short wavelength, small power, and directional antenna. The interference between the same frequency beam can be reduced well by millimeter wave interference cancelation technology. As the interference cancelation technology is not the focus of this paper and the millimeter transmission tends to be noise-limited and weak-interference, the interference in the transmission process of millimeter waves is ignored in this paper by referring to papers [16, 41, 42]. So, the signal-to-interference-plus-noise ratio received by the players u from the BS u is expressed as follows:
(15)SINRmut=pmugmutLmutσ2,where gmut is the downlink antenna gain using direction beamforming between players u and BS m at the time t, pmu is the transmission power between players u and BS m, and σ2 is the variance of additive white Gaussian noise (AWGN).We assume that the spectrum bandwidth allocated to playersu from BS m at time t is Bmut and use B=Bmutm∈M,u∈U,t∈T as the bandwidth allocation scheme. Since the total bandwidths that the BS m allocates to its access players do not exceed the whole bandwidths in the wireless access network at time t, which is Bt, corresponding bandwidth constraints can be formulated as
(16)∑u=1UBmut≤Bt,∀m∈M,t∈T.Then, the uplink transmission rate between the playersu and the BS m at time t is
(17)rmut=Bmutlog21+SINRmut.We assume that the size of the video images needed to transmit to the playersu at time t is out, so the delay of downlink transmission for players u at time t is
(18)Du,tdown=∑m=1Mamutoutrmut.The delay of downlink transmission for all players at timet, i.e., the downlink communication cost of the network, is
(19)E1t=∑u=1UDu,tdown.


## 2.4.2. Routing Delay

In this section, we divided the players intoH groups based on the differences in VR games they participate in. Different groups need different service modules to perform rendering. We need to select an appropriate MEC server to perform rendering for group h and route the rendered video stream quickly to the access base station of the user belonging to the group h. The selected MEC server needs to have deployed the corresponding VR service modules and has sufficient computing resources to perform rendering tasks.According to the above assumption, at the time slott, the delay of routing the rendered VR content requested by user u from the working (rendering) BS m to this user’s access BS m′ can be expressed as
(20)Du,trout=∑m=1M∑h=1H∑m′=1Mpuham′utsmhtdm,m′out,where dm,m′ is the delay of routing one bit of data from BS m to BS m′, when m=m′, dm,m′=0.The routing delay of all players at timet, i.e., the routing cost of the network, is
(21)E2t=∑u=1UDu,trout.So, the communication cost at timet can be expressed as the sum of downlink transmission delay and routing delay.
(22)CostCt=E1t+E2t,t∈T.


## 3. Problem Formulation

Our goal is to develop dynamical service module placement strategies based on rendering-aware. The goal of those strategies is to minimize the sum of the whole network costs over a long time under satisfying the delay constraint of each player. The strategies jointly consider the resource allocation scheme within each time slot and the service module migration scheme between different base stations in the adjacent time slot.We assume that the maximum tolerance delay of the groupu is Du. According to the above formula, the actual end-to-end delay of player u at time slot t can be expressed by the following:
(23)Du,t′=Du,tdown+Du,trout+Du,trend+Du,tmig.We defineε1−ε4 as the weight coefficients, which represent the proportion of communication cost, rendering cost, placement cost, and migration cost in the objective function, respectively. So, the optimization problem can be formulated as follows:
(24)Γ1:minA,S,B,K,Δ∑t=1Tε1CostCt+ε2CostRt+ε3CostPt+ε4CostMts.t.C1:∑m=1Mamut=1,∀u∈U,t∈TC2:∑m=1Msmht=1,∀h∈H,t∈TC3:∑u=1UBmut≤Bt,∀m∈M,t∈TC4:∑h=1Hkmht≤Km,∀m∈M,t∈TC5:∑h=1Hδmhtwh≤Πm,∀m∈MC6:D′u,t≤Duamut,smht,δmht∈0,1.ConstraintC1 ensures that a player cannot connect to multiple base stations at the same time; meanwhile, each user can connect to a BS. Constraint C2 ensures that a group can only select one MEC server to perform rendering tasks at a time slot. Constraint C3 ensures that the total bandwidths that the BS m allocates to its access players do not exceed the whole bandwidths in the wireless access network at time t. Constraint C4 ensures that a MEC server cannot allocate more computing resources to the groups; it serves than its maximum computing resources. Constraint C5 ensures that the total size of the VR service modules storage in BS m should not exceed the maximum storage capacity of BS m. Constraint C6 ensures the total delay of each group cannot exceed its maximum tolerance delay.


## 4. Solution

In this section, in order to solve the original problem efficiently, we decompose the original problem into two subproblems including dynamic access and service module placement scheme and the quasistatic resource allocation. Then, we use minimum cut theory and convex optimization to solve the above subproblems, respectively.


### 4.1. Problem Reformulation

Firstly, to get rid of constraint 1 and constraint 2, we redefine setsA=amutm∈M,u∈U,t∈T and S=smhtm∈M,h∈H,t∈T as A∗=au∗t,u∈U,t∈T and S∗=sh∗t,h∈H,t∈T, respectively, where A∗t=au∗t,u∈U is the set of access decisions at time t and au∗t∈M represents the BS accessed by the players u, and there is a one-to-one mapping relationship between it and the set Aut=amut,m∈M. That is, amut=1 and aiut=0i∈M,i≠m when au∗t=m. This way of coding can satisfy the constraint C1 that a player can only access one base station at the same time.In the same way,S∗t=sh∗t,h∈H is the set of BS selection scheme at time t. sh∗t∈M represents BS serving group h at time t, and there is a one-to-one mapping relationship between it and the set Sht=smht,m∈M. This way of coding can satisfy the constraint C2 that a group can only select one MEC server to perform editing tasks at a time slot.So, theδmht can be redefined as
(25)δmht=1,sh∗t=m,∀h∈H,0,otherwise.Moreover,B∗t=Bu∗t,u∈U is the set of bandwidth allocation scheme at time t. Bu∗t=Bau∗tut∈0,Bt is the bandwidth that BS au∗t allocate to the players u at time t. K∗t=kh∗t,h∈H is the set of computing resources allocation scheme at time t. kh∗t=ksh∗tht∈0,Km is the computing resources that BS sh∗t allocate to the group h at time t.Thus, we transform the original problem into the following problem:(26)Γ2:minA∗,S∗,B∗,K∗∑t=1Tε1∑u=1UoutBau∗tutlog21+SINRu∗t+ε1∑h=1H∑u=1Upuhdsh∗t,au∗t+ε2∑h=1HChtksh∗tht+ε3∑m=1M∑h=1Hλmh1sh∗t=m+ε4∑h=1Hfsh∗t,sh∗t−1+gsh∗t,sh∗t−1C3′:∑u∈UmtBu∗t≤Bt,∀m∈M,t∈TC4′:∑h∈Hmtkh∗t≤Km,∀m∈M,t∈TC5′:∑h=1Hδmhtwh≤Πm,∀m∈MC6′:D′ut≤Duau∗t,sh∗t,∈M,whereHmt represents the set of all the groups that render on the BS m and Umt represents the set of all the players that access the BS m at time t. Constraint 5 can be satisfied by the k-size minimum cut algorithm. 1. is a binary function that equals 1 if the specified condition holds and 0 otherwise, where A is the penalty function, which can be expressed as D′ut:
(27)D′ut=∑h=1Hpuhgsh∗t,sh∗t−1+Chtksh∗tht+dsh∗t,au∗t+outBau∗tutlog21+SINRu∗t.Due to our objective function containing dynamic optimization and quasistatic optimization, we divide the target function into two parts.For the part one,(28)CostI=∑t=1Tε1∑h=1H∑u=1Upuhdsh∗t,au∗t+ε3∑m=1M∑h=1Hλmh1sh∗t=m+ε4∑h=1Hfsh∗t,sh∗t−1+gsh∗t,sh∗t−1.We design an iterative algorithm to update the access decisions of players and the placement schemes of the VR service module in each round by performing an operation calledα expansion. Furthermore, we optimize the expansion by minimizing graph cuts.For the part two,(29)CostII=∑t=1Tε1∑u=1UoutBu∗tlog21+SINRu∗t+ε2∑h=1HChtkh∗t.We use convex optimization to solve the resource allocation problem at each time slot.


### 4.2. Optimizing Dynamic Access and Placement Strategies by Graph Cuts

In this section, we introduce theα expansion algorithm and how to construct a helper graph and encode the costs of part I into weights on the graph edges. Then, we demonstrate that the min-cut of the graph corresponds to the optimal decisions for the α expansion.


#### 4.2.1.α Expansion

Anα expansion can be defined as a binary optimization and reflects the trend of moving the module served for group h from the current base station to the base station α and the trend of users accessing base station α from the current base station. As shown in Figure 2, when we selected BS α as the expansion, au∗tα has a binary choice to stay as au∗tα=au∗t or change to au∗tα=α. In the same way, sh∗tα has a binary choice to stay as sh∗tα=sh∗t or change to sh∗tα=α.Figure 2
α expansion. The player u3 changes the access base station from m2 to α, and u6 changes the access base station from m4 to α, respectively.For the sake of calculation, the resultant after expansion also can be expressed by two indicator vectors with binary decision variables. (1)x′t=x1′t,⋯,xu′t, where for all u∈U, we define xu′t=1 if au∗tα=α; otherwise, xu′t=0. (2) x=x1t,⋯,xht, where for all h∈H, we define xht=1 if sh∗tα=α; otherwise, xh=0. Note that, if the module served for group h is already on BS α, xht=1, if the players u is already access BS α, xu′t=1.


#### 4.2.2. Transforming theCostI

After performing an “α expansion,” we reconstruct the CostI as CostIα using binary variables xut′ and xht; at the same time, we define x¯u′t=1−xu′t and x¯ht=1−xht. And we can get
(30)ε1∑t=1T∑h=1H∑u=1Upuhoutdsh∗t,au∗tα=ε1∑t=1T∑h=1H∑u=1Upuhoutdsh∗t,au∗tx¯htx¯u′t+dα,au∗txhtx¯u′t+dsh∗t,αx¯htxut′,(31)ε4∑t=1T∑h=1Hfsh∗t,sh∗t−1α=ε4∑t=1T∑h=1Hfsh∗t,sh∗t−1x¯htx¯ht−1+fα,sh∗t−1xhtx¯ht−1+fsh∗t,αx¯htxht−1,(32)ε4∑t=1T∑h=1Hgsh∗t,sh∗t−1α=ε4∑t=1T∑h=1Hgsh∗t,sh∗t−1x¯htx¯ht−1+gα,sh∗t−1xhtx¯ht−1+gsh∗t,αx¯htxht−1.Then, based on the definition ofδmht, we can rewrite it as
(33)ε3∑m=1M∑h=1Hλmh1sh∗t=mα=∑m=1M∑h=1Hλαhxht+λmhx¯ht.


#### 4.2.3. A Simple Example of Graph Cut

Based on the derivation above, we find that∑t=1T∑h=1H∑u=1Upuhoutdsh∗t,au∗tα and ∑t=1T∑h=1H∑u=1Ufsh∗t,su∗t−1α correspond to the sum of the products of pairs of binary variables; ∑m=1M∑h=1Hλmh1sh∗t=mα corresponds to the sum of binary variables.Takingθ1x¯us¯h+θ2x¯u+θ3s¯h and β1sh+β2s¯h as simple examples, we next will introduce how to minimize them, respectively, by constructing a graph. The basic idea is to construct a helper graph to make the sum of the weights of the min-cut of the graph equal the optimal value of the objective function. The above cut edges divide the nodes in the graph into two parts: one part of the nodes is on the side of node s, and the corresponding value is 0. The other part of the nodes is on the side of node t, and the corresponding value is 1. In addition, the minimum cut can be computed in polynomial time only if all the edge weights are nonnegative. Next, we will introduce how to build a diagram for our example.Forθ1x¯us¯h+θ2x¯u+θ3s¯h, we reformulate the expression to construct each edge in a subgraph.
(34)θ1x¯us¯h+θ2x¯u+θ3s¯h=θ12x¯us¯h+θ12x¯us¯h+θ2x¯u+θ3s¯h=−θ12xus¯h−θ12x¯ush+θ12+θ2x¯u+θ12+θ3s¯h.As illustrated in the first figure in Figure3, the weight of edge between node u and node h is −θ1/2, the weight of edge between node u and node t is θ1/2+θ2, and the weight of edge between node h and node t is θ1/2+θ3, where −θ1/2≥0. For example, when we divide the first graph’s nodes in Figure 3 into two parts by cutting the edge between nodes s and h, the edge between nodes h and u, and the edge between nodes u and t, node u and node s are in the same part, and node h and node t are in the same part (i.e., xu=0, sh=1, and x¯u=1, s¯h=0). The value of the first graph function is θ1x¯us¯h+θ2x¯u+θ3s¯h=θ2, which is equal to the sum of the weights of the cut edges. In the last figure in Figure 3, the weight of edge between node h and node s is β1, and the weight of edge between node h and node t is β2.Figure 3
Graph construction. The first figure correspond toθ1x¯us¯h+θ2x¯u+θ3s¯h; the last figure corresponds to β1sh+β2s¯h..


#### 4.2.4. Constructing a Graph to Solve the Subproblem

In this section, we construct a graphG≪V,E to make the sum of the edges’ weights in the minimal cut set equals the optimal value of our objective function. In this graph, there are T∗U vertices corresponding to the players, and T∗H vertices corresponding to the groups. Moreover, a source vertex s and a terminal vertex t are also in the vertex set. As a result, the set of vertices in G is given by xu′tu∈U,t∈T∪xhth∈H,t∈T∪s,t.In the next section, we add edges to the graph and give each edge an appropriate weight. Firstly, based on the example of the last figure in Figure3. The weights of the edges between node xht and node s can be represented as λαh, and the weights of the edges between node xht and node t can be represented as λmh.Next, we rewrite formulas (30) and (31) to formulas (40) and (41) based on the example of the first figure in Figure 3.Therefore, the weight of the edge between the vertexxu′t and vertex xht is
(35)puhoutdα,au∗t+dsh∗t,α−dsh∗t,au∗t2,where dα,au∗t+dsh∗t,α−dsh∗t,au∗t is always satisfied, which can be proved by the triangle inequality.In the same way, the weight of the edge between the vertexxht−1 and vertex xht is
(36)fα,sh∗t−1+fsh∗t,α−fsh∗t,sh∗t−12,where fα,sh∗t−1+fsh∗t,α−fsh∗t,sh∗t−1 is always satisfied, which can be proved by the triangle inequality.In addition, based on the above derivation, we can also get that the partial of weight of the edge between vertexxht and vertex t is
(37)dsh∗t,au∗t−dα,au∗t+dsh∗t,α2.The partial of weight of the edge between vertexxu′t and vertex t is
(38)dsh∗t,au∗t+dα,au∗t−dsh∗t,α2.Moreover, the partial of weight of the edge between vertexxht and vertex t is
(39)−fα,sh∗t−1+fsh∗t,α+fsh∗t,sh∗t−12+fα,sh∗t−1−fsh∗t,α+fsh∗t,sh∗t−12.Therefore, we can perform the following transformation of the objective function based on the above analysis:(40)ε1∑t=1T∑h=1H∑u=1Upuhoutdsh∗t,au∗tα=ε1∑t=1T∑h=1H∑u=1Upuhoutdsh∗t,au∗tx¯htx¯u′t+dα,au∗t1−x¯htx¯u′t+dsh∗t,αx¯ht1−x¯ut′=ε1∑t=1T∑h=1H∑u=1Upuhoutdα,au∗tx¯u′t+dsh∗t,αx¯ht+dsh∗t,au∗t−dα,au∗t−dsh∗t,αx¯htx¯u′t=ε1∑t=1T∑h=1H∑u=1Upuhoutdα,au∗t+dsh∗t,α−dsh∗t,au∗t2x¯htxu′t+dα,au∗t+dsh∗t,α−dsh∗t,au∗t2xhtx¯u′t+dsh∗t,au∗t+dα,au∗t−dsh∗t,α2x¯u′t+dsh∗t,au∗t−dα,au∗t+dsh∗t,α2x¯ht,(41)ε4∑t=1T∑h=1Hfsh∗t,sh∗t−1α=ε4∑t=1T∑h=1Hfsh∗t,sh∗t−1x¯htx¯ht−1+fα,sh∗t−11−x¯htx¯ht−1+fsh∗t,αx¯ht1−x¯ht−1=ε4∑t=1T∑h=1Hfα,sh∗t−1x¯ht−1+fsh∗t,αx¯ht+fsh∗t,sh∗t−1−fα,sh∗t−1−fsh∗t,αx¯htx¯ht−1=ε4∑t=1T∑h=1Hfα,sh∗t−1+fsh∗t,α−fsh∗t,sh∗t−12xhtx¯ht−1+fα,sh∗t−1+fsh∗t,α−fsh∗t,sh∗t−12x¯htxht−1+−fα,sh∗t−1+fsh∗t,α+fsh∗t,sh∗t−12x¯ht+fα,sh∗t−1−fsh∗t,α+fsh∗t,sh∗t−12x¯ht−1.The detail process of the auxiliary diagram construction is concluded in Algorithm1.Algorithm 1: Auxiliary graph construction and solving algorithm.
Input: The network delay between BS m and BS m′dm,m′; Theswitching cost of grouph at time tfsh∗t,sh∗t−1; The migrationdelay of grouph at time tgsh∗t,sh∗t−1;Output: The value of binary variables xu′t and xht; The auxiliarygraphG=E,V; the variables sh∗tα and au∗tα1:InitializationV=xu′tu∈U,t∈T∪xhth∈H,t∈T∪source,terminal; E=0;2:fort=1:Tdo3:forh=1:Hdo4:u=1:Udo5:exht,xu′t=puhoutdα,au∗t+dsh∗t,α−dsh∗t,au∗t/2;6:eterminal,xu′t=dsh∗t,au∗t+dα,au∗t−dsh∗t,α/2;7:end for8:for Algorithm 1 m=1:Mdo9:exht,xht−1=fα,sh∗t−1+fsh∗t,α−fsh∗t,sh∗t−1/2;10:eterminal,xht=−fα,sh∗t−1+fsh∗t,α+fsh∗t,sh∗t−1/2+fα,sh∗t−1−fsh∗t,α+fsh∗t,sh∗t−1/2+dsh∗t,au∗t−dα,au∗t+dsh∗t,α/2+λmh;11:esource,xht=λαh12:end for13:end for14:end for15: Solve the k-size s-t min cut [43] of G=V,E;


### 4.3. Resource Allocation Scheme Based on Convex Optimization

In this section, we mainly focus on the optimization ofCostII, that is, minimizing the total transmission and editing delay in each time interval through the reasonable allocation of computing and spectrum resources. When A∗ and S∗ are determined, the original optimization problem can be expressed in the following form:
(42)Γ2′minK,B∑t=1T∑m=1Mε1∑u=1UamutoutBmutlog21+SINRmutε2∑h=1HsmhtChtkmht+CostI+∑t=1T∑u=1UΛutC3′:∑u∈UBmut≤Bt,∀m∈M,t∈TC4′:∑h∈Hkmht≤Km,∀m∈M,t∈T,where Λ is penalty function, which can be expressed as
(43)Z∗max∑h=1HpuhamutoutBu∗tlog21+SINRu∗t+dsh∗t,au∗t+gsh∗t,sh∗t−1+smhtChtkh∗t−Du,0,where Z goes to infinity. dsh∗t,au∗t and gsh∗t,sh∗t−1 are constants, when A∗ and S∗ are fixed.Since the structure like1/Bmut is a well-known convex function, the optimization problem can be proved to be a convex problem.Since the variablekmht can affect multiple spectrum allocation variables, we denote those as global variables. Next, the local copy of the global variables would be introduced. Each base station can obtain a distributed feasible solution by decoupling the above problem.For BSm, we introduce the new variables k^m=k^mhete∈M,m∈M,h∈H,t∈T as the local information.
(44)k^mhet=keht,∀e∈M,m∈M,h∈H,t∈T.B^m=B^mutm∈M,u∈U is the local variation and represents the bandwidth resource allocation scheme of the BS m. Thus, the feasible local variables of the BS m can be denoted as Φm=k^m,B^m and the constraint set of the objective function can be denoted as Ω.LetΨΦm be the penalty function, when the Φm belongs to the constraint set Ω, i.e.,Φm∈Ω, we can get ΨΦm=0. Otherwise, ΨΦm=+∞. So, the objective functions equivalent to
(45)minΦm,∑m=1MΞmΦm+ΨΦm+CostIs.t.k^mhet−keht=0,∀e∈M,m∈M,h∈H,t∈T,where ΞmΦm=∑t=1Tε1∑u=1Uout/Bmutlog21+SINRmut+ε2∑h=1HCht/kmht, and in the above objective function, we can view CostI as a constant.We separate the objective function into multiple local function of the corresponding BS. Each local function can determine its local variable by using local information. The Lagrange formula of the augmented problem is(46)LΦmm∈M,k,ξmm∈M=∑m=1MΞmΦm+ΨΦm+CostI+∑m=1M∑e=1M∑h=1H∑t=1Tξmhetk^mhet−keht+ζ2∑m=1M∑e=1M∑h=1H∑t=1Tk∧mhet−keht2,where ξm=ξmhet are the vectors of the Lagrange multipliers, and the penalty parameter is ζ/2∈ℝ++.In order to solve the above problems (46), the iterative process is as follows.


#### 4.3.1. Local Variables

(47)Φmι+1=argminΦmΞmΦm+ΨΦm+CostI+∑e=1M∑h=1H∑t=1Tξmuetιk^mhet−kehtι+ζ2∑e=1M∑h=1H∑t=1Tk∧mhet−kehtι2,where ι denotes the iteration times.Since the updating process ofΦm of each BS is independent, we can decouple the problem into M independent subproblems. We can update the local variables by solving the problem as follow:
(48)minΦmΞmΦm+ΨΦm+CostI+∑e=1M∑h=1H∑t=1Tξmhetιk^mhet−kehtι+ζ2∑e=1M∑h=1H∑t=1Tk∧mhet−kehtι2s.t.Φm∈Ω.We solve the above problem by CVX, due to it being convex, and then, broadcast the decision of each BS to other BSs.


#### 4.3.2. Global Variables

(49)kι+1=argminkeh∑m=1M∑e=1M∑h=1H∑T=1Tξmhetιk^mhetι+1−keht+ζ2∑m=1M∑e=1M∑h=1H∑t=1Tk∧mhetι+1−keht2.The above problems are strictly convex and unconstrained quadratic problems, because we add the quadratic regular term to the augmented Lagrangian. Let the gradient ofk be zero. We can get the following results:
(50)∑m=1Mξmhetι+ζ∑m=1Mk^mhetι+1−keht=0,∀e,h,t.And then, we can derive(51)kehtι+1=1Mζ∑m=1Mξmhetι+1M∑m=1Mk^mhetι+1,∀e,u,t.By using∑m=1Mξmhetι=0, we can derive
(52)kehtι+1=1M∑m=1Mk^mhetι+1,∀e,u,t.In other words, we can obtain global variables by averaging the corresponding updated local variables in each iteration.


#### 4.3.3. Lagrange Multipliers

(53)ξmι+1=ξmι+ζk^mι+1−kι+1.At each iteration, we can calculate the Lagrange multipliers directly by using the updated local variablesΦm and global variables k. The formulation can be represented as follows:
(54)ξmhetι+1=ξmhetι+ζk^mhetι+1−xehtι+1.


#### 4.3.4. Stopping Criterion and Convergence

The above problem is a convex problem with strong duality. When the number of iterations approaches infinity, the algorithm satisfies convergence. Therefore, the reasonable stopping criteria are given as follows:(55)k^mι+1−kι+12≤κpri,∀m∈M,(56)kι+1−kι2≤κdual,∀m∈M,where ξpri>0 and ξdual>0 indicate the primal feasibility and dual feasibility conditions, respectively, which are the small positive constant scalars.The above iteration process based on convex optimization is concluded in Algorithm2.Algorithm 2: Resource allocation scheme based on convex optimization algorithm.
1: Initialization the number of iterationsι=0, global variables k0and Lagrange multipliersξ0;2: Set the maximum number of iterationsιmax and the stopping criterion threshold ξdual;3:whileι<ιmax, k^mι+1−kι+12>κpri and kι+1−kι2>κdual4:   Each BSm update Φm by solving problem (48), and share the local solution to other BSs;5:   Update the global variablesk according to the formula (52);6:   Update the Lagrange multipliersξ according to the formula (54);7:ι=ι+1;8:end while9: Output the optimal solution;


#### 4.3.5. Two-Stage Iterative Algorithm Based onα Expansion

Because there are many optimization variables in the original problem, the complexity of the algorithm is high. In order to reduce the algorithm complexity and obtain the optimal solution to the original problem, we solve the original problem in two steps. So, we need to integrate the above two subalgorithms. Firstly, we input the result of Algorithm1 as a fixed value into Algorithm 2 to solve Algorithm 2, and then, we compared the results of Algorithm 2 with the historical optimal results and updated the related variables. The above process is summarized in Algorithm 3.Algorithm 3: Two-stage iterative algorithm based on α expansion.
Input: M Set of BSs, U Set of players, H Set of groups, T Set of consecutive time slots;Output: The variable A,S,B,K, and the minimum value of the objective function Valuebest;1: Initialization the variablesh∗t=rand0,M, au∗t=rand0,M, kmht, Bmut, and Valuebest=+∞2:for iter=1:ι3do3:forα∈M,∑h=1Hλαhsαh≤Παdo4:      run Algorithm1, obtain sh∗tα, au∗tα and CostI5:for iter=1:T do6:         run Algorithm2, obtain kmht, Bmut and Valuecurrent7:end for8:ifValuecurrent<Valuebestthen9:Valuebset=Valuecurrent;10:sh∗t=α, au∗t=α;11:else12:Valuebest=Valuebest;13:sh∗t=sh∗t, au∗t=au∗t ;14:end if15:end for16:end forSince we traverse for each MEC (Line 3 in Algorithm3), the caching size can be restricted under Πα at each round of α expansion.


### 4.4. Algorithm Complexity Analysis

Since Algorithms1 and 2 are the modules invoked by Algorithm 3 for M×ι3 times, where M is the number of MECs and ι3 is the maximum number of iterations in Algorithm 3, we, respectively, investigate the complexity of Algorithms 1 and 2. According to paper [44], the complexity of the Algorithm 1 can be expressed as OEV2, where V is the number of vertices and E is the number of edges in the constructed graph. In our case, V=TU+H+2 is bounded by OTU+H; E=3HUT+HT+1+TH is bounded by OTUH. Therefore, the complexity of Algorithm 1 is OT3U4, due to H≤U. For Algorithm 2, the variables amut and smut have been fixed, and the remaining question can be broken down into solving local optimization problem (48) at each BS by using ADMM algorithm, whose complexity is OUH. ιmax is the number of iterations required for Algorithm 2 convergence; the total computational complexity is OιmaxUH. Therefore, the overall complexity of Algorithm 3 is Oι3MT3U4+ιmaxU2T.


## 4.1. Problem Reformulation

Firstly, to get rid of constraint 1 and constraint 2, we redefine setsA=amutm∈M,u∈U,t∈T and S=smhtm∈M,h∈H,t∈T as A∗=au∗t,u∈U,t∈T and S∗=sh∗t,h∈H,t∈T, respectively, where A∗t=au∗t,u∈U is the set of access decisions at time t and au∗t∈M represents the BS accessed by the players u, and there is a one-to-one mapping relationship between it and the set Aut=amut,m∈M. That is, amut=1 and aiut=0i∈M,i≠m when au∗t=m. This way of coding can satisfy the constraint C1 that a player can only access one base station at the same time.In the same way,S∗t=sh∗t,h∈H is the set of BS selection scheme at time t. sh∗t∈M represents BS serving group h at time t, and there is a one-to-one mapping relationship between it and the set Sht=smht,m∈M. This way of coding can satisfy the constraint C2 that a group can only select one MEC server to perform editing tasks at a time slot.So, theδmht can be redefined as
(25)δmht=1,sh∗t=m,∀h∈H,0,otherwise.Moreover,B∗t=Bu∗t,u∈U is the set of bandwidth allocation scheme at time t. Bu∗t=Bau∗tut∈0,Bt is the bandwidth that BS au∗t allocate to the players u at time t. K∗t=kh∗t,h∈H is the set of computing resources allocation scheme at time t. kh∗t=ksh∗tht∈0,Km is the computing resources that BS sh∗t allocate to the group h at time t.Thus, we transform the original problem into the following problem:(26)Γ2:minA∗,S∗,B∗,K∗∑t=1Tε1∑u=1UoutBau∗tutlog21+SINRu∗t+ε1∑h=1H∑u=1Upuhdsh∗t,au∗t+ε2∑h=1HChtksh∗tht+ε3∑m=1M∑h=1Hλmh1sh∗t=m+ε4∑h=1Hfsh∗t,sh∗t−1+gsh∗t,sh∗t−1C3′:∑u∈UmtBu∗t≤Bt,∀m∈M,t∈TC4′:∑h∈Hmtkh∗t≤Km,∀m∈M,t∈TC5′:∑h=1Hδmhtwh≤Πm,∀m∈MC6′:D′ut≤Duau∗t,sh∗t,∈M,whereHmt represents the set of all the groups that render on the BS m and Umt represents the set of all the players that access the BS m at time t. Constraint 5 can be satisfied by the k-size minimum cut algorithm. 1. is a binary function that equals 1 if the specified condition holds and 0 otherwise, where A is the penalty function, which can be expressed as D′ut:
(27)D′ut=∑h=1Hpuhgsh∗t,sh∗t−1+Chtksh∗tht+dsh∗t,au∗t+outBau∗tutlog21+SINRu∗t.Due to our objective function containing dynamic optimization and quasistatic optimization, we divide the target function into two parts.For the part one,(28)CostI=∑t=1Tε1∑h=1H∑u=1Upuhdsh∗t,au∗t+ε3∑m=1M∑h=1Hλmh1sh∗t=m+ε4∑h=1Hfsh∗t,sh∗t−1+gsh∗t,sh∗t−1.We design an iterative algorithm to update the access decisions of players and the placement schemes of the VR service module in each round by performing an operation calledα expansion. Furthermore, we optimize the expansion by minimizing graph cuts.For the part two,(29)CostII=∑t=1Tε1∑u=1UoutBu∗tlog21+SINRu∗t+ε2∑h=1HChtkh∗t.We use convex optimization to solve the resource allocation problem at each time slot.


## 4.2. Optimizing Dynamic Access and Placement Strategies by Graph Cuts

In this section, we introduce theα expansion algorithm and how to construct a helper graph and encode the costs of part I into weights on the graph edges. Then, we demonstrate that the min-cut of the graph corresponds to the optimal decisions for the α expansion.


### 4.2.1.α Expansion

Anα expansion can be defined as a binary optimization and reflects the trend of moving the module served for group h from the current base station to the base station α and the trend of users accessing base station α from the current base station. As shown in Figure 2, when we selected BS α as the expansion, au∗tα has a binary choice to stay as au∗tα=au∗t or change to au∗tα=α. In the same way, sh∗tα has a binary choice to stay as sh∗tα=sh∗t or change to sh∗tα=α.Figure 2
α expansion. The player u3 changes the access base station from m2 to α, and u6 changes the access base station from m4 to α, respectively.For the sake of calculation, the resultant after expansion also can be expressed by two indicator vectors with binary decision variables. (1)x′t=x1′t,⋯,xu′t, where for all u∈U, we define xu′t=1 if au∗tα=α; otherwise, xu′t=0. (2) x=x1t,⋯,xht, where for all h∈H, we define xht=1 if sh∗tα=α; otherwise, xh=0. Note that, if the module served for group h is already on BS α, xht=1, if the players u is already access BS α, xu′t=1.


### 4.2.2. Transforming theCostI

After performing an “α expansion,” we reconstruct the CostI as CostIα using binary variables xut′ and xht; at the same time, we define x¯u′t=1−xu′t and x¯ht=1−xht. And we can get
(30)ε1∑t=1T∑h=1H∑u=1Upuhoutdsh∗t,au∗tα=ε1∑t=1T∑h=1H∑u=1Upuhoutdsh∗t,au∗tx¯htx¯u′t+dα,au∗txhtx¯u′t+dsh∗t,αx¯htxut′,(31)ε4∑t=1T∑h=1Hfsh∗t,sh∗t−1α=ε4∑t=1T∑h=1Hfsh∗t,sh∗t−1x¯htx¯ht−1+fα,sh∗t−1xhtx¯ht−1+fsh∗t,αx¯htxht−1,(32)ε4∑t=1T∑h=1Hgsh∗t,sh∗t−1α=ε4∑t=1T∑h=1Hgsh∗t,sh∗t−1x¯htx¯ht−1+gα,sh∗t−1xhtx¯ht−1+gsh∗t,αx¯htxht−1.Then, based on the definition ofδmht, we can rewrite it as
(33)ε3∑m=1M∑h=1Hλmh1sh∗t=mα=∑m=1M∑h=1Hλαhxht+λmhx¯ht.


### 4.2.3. A Simple Example of Graph Cut

Based on the derivation above, we find that∑t=1T∑h=1H∑u=1Upuhoutdsh∗t,au∗tα and ∑t=1T∑h=1H∑u=1Ufsh∗t,su∗t−1α correspond to the sum of the products of pairs of binary variables; ∑m=1M∑h=1Hλmh1sh∗t=mα corresponds to the sum of binary variables.Takingθ1x¯us¯h+θ2x¯u+θ3s¯h and β1sh+β2s¯h as simple examples, we next will introduce how to minimize them, respectively, by constructing a graph. The basic idea is to construct a helper graph to make the sum of the weights of the min-cut of the graph equal the optimal value of the objective function. The above cut edges divide the nodes in the graph into two parts: one part of the nodes is on the side of node s, and the corresponding value is 0. The other part of the nodes is on the side of node t, and the corresponding value is 1. In addition, the minimum cut can be computed in polynomial time only if all the edge weights are nonnegative. Next, we will introduce how to build a diagram for our example.Forθ1x¯us¯h+θ2x¯u+θ3s¯h, we reformulate the expression to construct each edge in a subgraph.
(34)θ1x¯us¯h+θ2x¯u+θ3s¯h=θ12x¯us¯h+θ12x¯us¯h+θ2x¯u+θ3s¯h=−θ12xus¯h−θ12x¯ush+θ12+θ2x¯u+θ12+θ3s¯h.As illustrated in the first figure in Figure3, the weight of edge between node u and node h is −θ1/2, the weight of edge between node u and node t is θ1/2+θ2, and the weight of edge between node h and node t is θ1/2+θ3, where −θ1/2≥0. For example, when we divide the first graph’s nodes in Figure 3 into two parts by cutting the edge between nodes s and h, the edge between nodes h and u, and the edge between nodes u and t, node u and node s are in the same part, and node h and node t are in the same part (i.e., xu=0, sh=1, and x¯u=1, s¯h=0). The value of the first graph function is θ1x¯us¯h+θ2x¯u+θ3s¯h=θ2, which is equal to the sum of the weights of the cut edges. In the last figure in Figure 3, the weight of edge between node h and node s is β1, and the weight of edge between node h and node t is β2.Figure 3
Graph construction. The first figure correspond toθ1x¯us¯h+θ2x¯u+θ3s¯h; the last figure corresponds to β1sh+β2s¯h..


### 4.2.4. Constructing a Graph to Solve the Subproblem

In this section, we construct a graphG≪V,E to make the sum of the edges’ weights in the minimal cut set equals the optimal value of our objective function. In this graph, there are T∗U vertices corresponding to the players, and T∗H vertices corresponding to the groups. Moreover, a source vertex s and a terminal vertex t are also in the vertex set. As a result, the set of vertices in G is given by xu′tu∈U,t∈T∪xhth∈H,t∈T∪s,t.In the next section, we add edges to the graph and give each edge an appropriate weight. Firstly, based on the example of the last figure in Figure3. The weights of the edges between node xht and node s can be represented as λαh, and the weights of the edges between node xht and node t can be represented as λmh.Next, we rewrite formulas (30) and (31) to formulas (40) and (41) based on the example of the first figure in Figure 3.Therefore, the weight of the edge between the vertexxu′t and vertex xht is
(35)puhoutdα,au∗t+dsh∗t,α−dsh∗t,au∗t2,where dα,au∗t+dsh∗t,α−dsh∗t,au∗t is always satisfied, which can be proved by the triangle inequality.In the same way, the weight of the edge between the vertexxht−1 and vertex xht is
(36)fα,sh∗t−1+fsh∗t,α−fsh∗t,sh∗t−12,where fα,sh∗t−1+fsh∗t,α−fsh∗t,sh∗t−1 is always satisfied, which can be proved by the triangle inequality.In addition, based on the above derivation, we can also get that the partial of weight of the edge between vertexxht and vertex t is
(37)dsh∗t,au∗t−dα,au∗t+dsh∗t,α2.The partial of weight of the edge between vertexxu′t and vertex t is
(38)dsh∗t,au∗t+dα,au∗t−dsh∗t,α2.Moreover, the partial of weight of the edge between vertexxht and vertex t is
(39)−fα,sh∗t−1+fsh∗t,α+fsh∗t,sh∗t−12+fα,sh∗t−1−fsh∗t,α+fsh∗t,sh∗t−12.Therefore, we can perform the following transformation of the objective function based on the above analysis:(40)ε1∑t=1T∑h=1H∑u=1Upuhoutdsh∗t,au∗tα=ε1∑t=1T∑h=1H∑u=1Upuhoutdsh∗t,au∗tx¯htx¯u′t+dα,au∗t1−x¯htx¯u′t+dsh∗t,αx¯ht1−x¯ut′=ε1∑t=1T∑h=1H∑u=1Upuhoutdα,au∗tx¯u′t+dsh∗t,αx¯ht+dsh∗t,au∗t−dα,au∗t−dsh∗t,αx¯htx¯u′t=ε1∑t=1T∑h=1H∑u=1Upuhoutdα,au∗t+dsh∗t,α−dsh∗t,au∗t2x¯htxu′t+dα,au∗t+dsh∗t,α−dsh∗t,au∗t2xhtx¯u′t+dsh∗t,au∗t+dα,au∗t−dsh∗t,α2x¯u′t+dsh∗t,au∗t−dα,au∗t+dsh∗t,α2x¯ht,(41)ε4∑t=1T∑h=1Hfsh∗t,sh∗t−1α=ε4∑t=1T∑h=1Hfsh∗t,sh∗t−1x¯htx¯ht−1+fα,sh∗t−11−x¯htx¯ht−1+fsh∗t,αx¯ht1−x¯ht−1=ε4∑t=1T∑h=1Hfα,sh∗t−1x¯ht−1+fsh∗t,αx¯ht+fsh∗t,sh∗t−1−fα,sh∗t−1−fsh∗t,αx¯htx¯ht−1=ε4∑t=1T∑h=1Hfα,sh∗t−1+fsh∗t,α−fsh∗t,sh∗t−12xhtx¯ht−1+fα,sh∗t−1+fsh∗t,α−fsh∗t,sh∗t−12x¯htxht−1+−fα,sh∗t−1+fsh∗t,α+fsh∗t,sh∗t−12x¯ht+fα,sh∗t−1−fsh∗t,α+fsh∗t,sh∗t−12x¯ht−1.The detail process of the auxiliary diagram construction is concluded in Algorithm1.Algorithm 1: Auxiliary graph construction and solving algorithm.
Input: The network delay between BS m and BS m′dm,m′; Theswitching cost of grouph at time tfsh∗t,sh∗t−1; The migrationdelay of grouph at time tgsh∗t,sh∗t−1;Output: The value of binary variables xu′t and xht; The auxiliarygraphG=E,V; the variables sh∗tα and au∗tα1:InitializationV=xu′tu∈U,t∈T∪xhth∈H,t∈T∪source,terminal; E=0;2:fort=1:Tdo3:forh=1:Hdo4:u=1:Udo5:exht,xu′t=puhoutdα,au∗t+dsh∗t,α−dsh∗t,au∗t/2;6:eterminal,xu′t=dsh∗t,au∗t+dα,au∗t−dsh∗t,α/2;7:end for8:for Algorithm 1 m=1:Mdo9:exht,xht−1=fα,sh∗t−1+fsh∗t,α−fsh∗t,sh∗t−1/2;10:eterminal,xht=−fα,sh∗t−1+fsh∗t,α+fsh∗t,sh∗t−1/2+fα,sh∗t−1−fsh∗t,α+fsh∗t,sh∗t−1/2+dsh∗t,au∗t−dα,au∗t+dsh∗t,α/2+λmh;11:esource,xht=λαh12:end for13:end for14:end for15: Solve the k-size s-t min cut [43] of G=V,E;


## 4.2.1.α Expansion

Anα expansion can be defined as a binary optimization and reflects the trend of moving the module served for group h from the current base station to the base station α and the trend of users accessing base station α from the current base station. As shown in Figure 2, when we selected BS α as the expansion, au∗tα has a binary choice to stay as au∗tα=au∗t or change to au∗tα=α. In the same way, sh∗tα has a binary choice to stay as sh∗tα=sh∗t or change to sh∗tα=α.Figure 2
α expansion. The player u3 changes the access base station from m2 to α, and u6 changes the access base station from m4 to α, respectively.For the sake of calculation, the resultant after expansion also can be expressed by two indicator vectors with binary decision variables. (1)x′t=x1′t,⋯,xu′t, where for all u∈U, we define xu′t=1 if au∗tα=α; otherwise, xu′t=0. (2) x=x1t,⋯,xht, where for all h∈H, we define xht=1 if sh∗tα=α; otherwise, xh=0. Note that, if the module served for group h is already on BS α, xht=1, if the players u is already access BS α, xu′t=1.


## 4.2.2. Transforming theCostI

After performing an “α expansion,” we reconstruct the CostI as CostIα using binary variables xut′ and xht; at the same time, we define x¯u′t=1−xu′t and x¯ht=1−xht. And we can get
(30)ε1∑t=1T∑h=1H∑u=1Upuhoutdsh∗t,au∗tα=ε1∑t=1T∑h=1H∑u=1Upuhoutdsh∗t,au∗tx¯htx¯u′t+dα,au∗txhtx¯u′t+dsh∗t,αx¯htxut′,(31)ε4∑t=1T∑h=1Hfsh∗t,sh∗t−1α=ε4∑t=1T∑h=1Hfsh∗t,sh∗t−1x¯htx¯ht−1+fα,sh∗t−1xhtx¯ht−1+fsh∗t,αx¯htxht−1,(32)ε4∑t=1T∑h=1Hgsh∗t,sh∗t−1α=ε4∑t=1T∑h=1Hgsh∗t,sh∗t−1x¯htx¯ht−1+gα,sh∗t−1xhtx¯ht−1+gsh∗t,αx¯htxht−1.Then, based on the definition ofδmht, we can rewrite it as
(33)ε3∑m=1M∑h=1Hλmh1sh∗t=mα=∑m=1M∑h=1Hλαhxht+λmhx¯ht.


## 4.2.3. A Simple Example of Graph Cut

Based on the derivation above, we find that∑t=1T∑h=1H∑u=1Upuhoutdsh∗t,au∗tα and ∑t=1T∑h=1H∑u=1Ufsh∗t,su∗t−1α correspond to the sum of the products of pairs of binary variables; ∑m=1M∑h=1Hλmh1sh∗t=mα corresponds to the sum of binary variables.Takingθ1x¯us¯h+θ2x¯u+θ3s¯h and β1sh+β2s¯h as simple examples, we next will introduce how to minimize them, respectively, by constructing a graph. The basic idea is to construct a helper graph to make the sum of the weights of the min-cut of the graph equal the optimal value of the objective function. The above cut edges divide the nodes in the graph into two parts: one part of the nodes is on the side of node s, and the corresponding value is 0. The other part of the nodes is on the side of node t, and the corresponding value is 1. In addition, the minimum cut can be computed in polynomial time only if all the edge weights are nonnegative. Next, we will introduce how to build a diagram for our example.Forθ1x¯us¯h+θ2x¯u+θ3s¯h, we reformulate the expression to construct each edge in a subgraph.
(34)θ1x¯us¯h+θ2x¯u+θ3s¯h=θ12x¯us¯h+θ12x¯us¯h+θ2x¯u+θ3s¯h=−θ12xus¯h−θ12x¯ush+θ12+θ2x¯u+θ12+θ3s¯h.As illustrated in the first figure in Figure3, the weight of edge between node u and node h is −θ1/2, the weight of edge between node u and node t is θ1/2+θ2, and the weight of edge between node h and node t is θ1/2+θ3, where −θ1/2≥0. For example, when we divide the first graph’s nodes in Figure 3 into two parts by cutting the edge between nodes s and h, the edge between nodes h and u, and the edge between nodes u and t, node u and node s are in the same part, and node h and node t are in the same part (i.e., xu=0, sh=1, and x¯u=1, s¯h=0). The value of the first graph function is θ1x¯us¯h+θ2x¯u+θ3s¯h=θ2, which is equal to the sum of the weights of the cut edges. In the last figure in Figure 3, the weight of edge between node h and node s is β1, and the weight of edge between node h and node t is β2.Figure 3
Graph construction. The first figure correspond toθ1x¯us¯h+θ2x¯u+θ3s¯h; the last figure corresponds to β1sh+β2s¯h..


## 4.2.4. Constructing a Graph to Solve the Subproblem

In this section, we construct a graphG≪V,E to make the sum of the edges’ weights in the minimal cut set equals the optimal value of our objective function. In this graph, there are T∗U vertices corresponding to the players, and T∗H vertices corresponding to the groups. Moreover, a source vertex s and a terminal vertex t are also in the vertex set. As a result, the set of vertices in G is given by xu′tu∈U,t∈T∪xhth∈H,t∈T∪s,t.In the next section, we add edges to the graph and give each edge an appropriate weight. Firstly, based on the example of the last figure in Figure3. The weights of the edges between node xht and node s can be represented as λαh, and the weights of the edges between node xht and node t can be represented as λmh.Next, we rewrite formulas (30) and (31) to formulas (40) and (41) based on the example of the first figure in Figure 3.Therefore, the weight of the edge between the vertexxu′t and vertex xht is
(35)puhoutdα,au∗t+dsh∗t,α−dsh∗t,au∗t2,where dα,au∗t+dsh∗t,α−dsh∗t,au∗t is always satisfied, which can be proved by the triangle inequality.In the same way, the weight of the edge between the vertexxht−1 and vertex xht is
(36)fα,sh∗t−1+fsh∗t,α−fsh∗t,sh∗t−12,where fα,sh∗t−1+fsh∗t,α−fsh∗t,sh∗t−1 is always satisfied, which can be proved by the triangle inequality.In addition, based on the above derivation, we can also get that the partial of weight of the edge between vertexxht and vertex t is
(37)dsh∗t,au∗t−dα,au∗t+dsh∗t,α2.The partial of weight of the edge between vertexxu′t and vertex t is
(38)dsh∗t,au∗t+dα,au∗t−dsh∗t,α2.Moreover, the partial of weight of the edge between vertexxht and vertex t is
(39)−fα,sh∗t−1+fsh∗t,α+fsh∗t,sh∗t−12+fα,sh∗t−1−fsh∗t,α+fsh∗t,sh∗t−12.Therefore, we can perform the following transformation of the objective function based on the above analysis:(40)ε1∑t=1T∑h=1H∑u=1Upuhoutdsh∗t,au∗tα=ε1∑t=1T∑h=1H∑u=1Upuhoutdsh∗t,au∗tx¯htx¯u′t+dα,au∗t1−x¯htx¯u′t+dsh∗t,αx¯ht1−x¯ut′=ε1∑t=1T∑h=1H∑u=1Upuhoutdα,au∗tx¯u′t+dsh∗t,αx¯ht+dsh∗t,au∗t−dα,au∗t−dsh∗t,αx¯htx¯u′t=ε1∑t=1T∑h=1H∑u=1Upuhoutdα,au∗t+dsh∗t,α−dsh∗t,au∗t2x¯htxu′t+dα,au∗t+dsh∗t,α−dsh∗t,au∗t2xhtx¯u′t+dsh∗t,au∗t+dα,au∗t−dsh∗t,α2x¯u′t+dsh∗t,au∗t−dα,au∗t+dsh∗t,α2x¯ht,(41)ε4∑t=1T∑h=1Hfsh∗t,sh∗t−1α=ε4∑t=1T∑h=1Hfsh∗t,sh∗t−1x¯htx¯ht−1+fα,sh∗t−11−x¯htx¯ht−1+fsh∗t,αx¯ht1−x¯ht−1=ε4∑t=1T∑h=1Hfα,sh∗t−1x¯ht−1+fsh∗t,αx¯ht+fsh∗t,sh∗t−1−fα,sh∗t−1−fsh∗t,αx¯htx¯ht−1=ε4∑t=1T∑h=1Hfα,sh∗t−1+fsh∗t,α−fsh∗t,sh∗t−12xhtx¯ht−1+fα,sh∗t−1+fsh∗t,α−fsh∗t,sh∗t−12x¯htxht−1+−fα,sh∗t−1+fsh∗t,α+fsh∗t,sh∗t−12x¯ht+fα,sh∗t−1−fsh∗t,α+fsh∗t,sh∗t−12x¯ht−1.The detail process of the auxiliary diagram construction is concluded in Algorithm1.Algorithm 1: Auxiliary graph construction and solving algorithm.
Input: The network delay between BS m and BS m′dm,m′; Theswitching cost of grouph at time tfsh∗t,sh∗t−1; The migrationdelay of grouph at time tgsh∗t,sh∗t−1;Output: The value of binary variables xu′t and xht; The auxiliarygraphG=E,V; the variables sh∗tα and au∗tα1:InitializationV=xu′tu∈U,t∈T∪xhth∈H,t∈T∪source,terminal; E=0;2:fort=1:Tdo3:forh=1:Hdo4:u=1:Udo5:exht,xu′t=puhoutdα,au∗t+dsh∗t,α−dsh∗t,au∗t/2;6:eterminal,xu′t=dsh∗t,au∗t+dα,au∗t−dsh∗t,α/2;7:end for8:for Algorithm 1 m=1:Mdo9:exht,xht−1=fα,sh∗t−1+fsh∗t,α−fsh∗t,sh∗t−1/2;10:eterminal,xht=−fα,sh∗t−1+fsh∗t,α+fsh∗t,sh∗t−1/2+fα,sh∗t−1−fsh∗t,α+fsh∗t,sh∗t−1/2+dsh∗t,au∗t−dα,au∗t+dsh∗t,α/2+λmh;11:esource,xht=λαh12:end for13:end for14:end for15: Solve the k-size s-t min cut [43] of G=V,E;


## 4.3. Resource Allocation Scheme Based on Convex Optimization

In this section, we mainly focus on the optimization ofCostII, that is, minimizing the total transmission and editing delay in each time interval through the reasonable allocation of computing and spectrum resources. When A∗ and S∗ are determined, the original optimization problem can be expressed in the following form:
(42)Γ2′minK,B∑t=1T∑m=1Mε1∑u=1UamutoutBmutlog21+SINRmutε2∑h=1HsmhtChtkmht+CostI+∑t=1T∑u=1UΛutC3′:∑u∈UBmut≤Bt,∀m∈M,t∈TC4′:∑h∈Hkmht≤Km,∀m∈M,t∈T,where Λ is penalty function, which can be expressed as
(43)Z∗max∑h=1HpuhamutoutBu∗tlog21+SINRu∗t+dsh∗t,au∗t+gsh∗t,sh∗t−1+smhtChtkh∗t−Du,0,where Z goes to infinity. dsh∗t,au∗t and gsh∗t,sh∗t−1 are constants, when A∗ and S∗ are fixed.Since the structure like1/Bmut is a well-known convex function, the optimization problem can be proved to be a convex problem.Since the variablekmht can affect multiple spectrum allocation variables, we denote those as global variables. Next, the local copy of the global variables would be introduced. Each base station can obtain a distributed feasible solution by decoupling the above problem.For BSm, we introduce the new variables k^m=k^mhete∈M,m∈M,h∈H,t∈T as the local information.
(44)k^mhet=keht,∀e∈M,m∈M,h∈H,t∈T.B^m=B^mutm∈M,u∈U is the local variation and represents the bandwidth resource allocation scheme of the BS m. Thus, the feasible local variables of the BS m can be denoted as Φm=k^m,B^m and the constraint set of the objective function can be denoted as Ω.LetΨΦm be the penalty function, when the Φm belongs to the constraint set Ω, i.e.,Φm∈Ω, we can get ΨΦm=0. Otherwise, ΨΦm=+∞. So, the objective functions equivalent to
(45)minΦm,∑m=1MΞmΦm+ΨΦm+CostIs.t.k^mhet−keht=0,∀e∈M,m∈M,h∈H,t∈T,where ΞmΦm=∑t=1Tε1∑u=1Uout/Bmutlog21+SINRmut+ε2∑h=1HCht/kmht, and in the above objective function, we can view CostI as a constant.We separate the objective function into multiple local function of the corresponding BS. Each local function can determine its local variable by using local information. The Lagrange formula of the augmented problem is(46)LΦmm∈M,k,ξmm∈M=∑m=1MΞmΦm+ΨΦm+CostI+∑m=1M∑e=1M∑h=1H∑t=1Tξmhetk^mhet−keht+ζ2∑m=1M∑e=1M∑h=1H∑t=1Tk∧mhet−keht2,where ξm=ξmhet are the vectors of the Lagrange multipliers, and the penalty parameter is ζ/2∈ℝ++.In order to solve the above problems (46), the iterative process is as follows.


### 4.3.1. Local Variables

(47)Φmι+1=argminΦmΞmΦm+ΨΦm+CostI+∑e=1M∑h=1H∑t=1Tξmuetιk^mhet−kehtι+ζ2∑e=1M∑h=1H∑t=1Tk∧mhet−kehtι2,where ι denotes the iteration times.Since the updating process ofΦm of each BS is independent, we can decouple the problem into M independent subproblems. We can update the local variables by solving the problem as follow:
(48)minΦmΞmΦm+ΨΦm+CostI+∑e=1M∑h=1H∑t=1Tξmhetιk^mhet−kehtι+ζ2∑e=1M∑h=1H∑t=1Tk∧mhet−kehtι2s.t.Φm∈Ω.We solve the above problem by CVX, due to it being convex, and then, broadcast the decision of each BS to other BSs.


### 4.3.2. Global Variables

(49)kι+1=argminkeh∑m=1M∑e=1M∑h=1H∑T=1Tξmhetιk^mhetι+1−keht+ζ2∑m=1M∑e=1M∑h=1H∑t=1Tk∧mhetι+1−keht2.The above problems are strictly convex and unconstrained quadratic problems, because we add the quadratic regular term to the augmented Lagrangian. Let the gradient ofk be zero. We can get the following results:
(50)∑m=1Mξmhetι+ζ∑m=1Mk^mhetι+1−keht=0,∀e,h,t.And then, we can derive(51)kehtι+1=1Mζ∑m=1Mξmhetι+1M∑m=1Mk^mhetι+1,∀e,u,t.By using∑m=1Mξmhetι=0, we can derive
(52)kehtι+1=1M∑m=1Mk^mhetι+1,∀e,u,t.In other words, we can obtain global variables by averaging the corresponding updated local variables in each iteration.


### 4.3.3. Lagrange Multipliers

(53)ξmι+1=ξmι+ζk^mι+1−kι+1.At each iteration, we can calculate the Lagrange multipliers directly by using the updated local variablesΦm and global variables k. The formulation can be represented as follows:
(54)ξmhetι+1=ξmhetι+ζk^mhetι+1−xehtι+1.


### 4.3.4. Stopping Criterion and Convergence

The above problem is a convex problem with strong duality. When the number of iterations approaches infinity, the algorithm satisfies convergence. Therefore, the reasonable stopping criteria are given as follows:(55)k^mι+1−kι+12≤κpri,∀m∈M,(56)kι+1−kι2≤κdual,∀m∈M,where ξpri>0 and ξdual>0 indicate the primal feasibility and dual feasibility conditions, respectively, which are the small positive constant scalars.The above iteration process based on convex optimization is concluded in Algorithm2.Algorithm 2: Resource allocation scheme based on convex optimization algorithm.
1: Initialization the number of iterationsι=0, global variables k0and Lagrange multipliersξ0;2: Set the maximum number of iterationsιmax and the stopping criterion threshold ξdual;3:whileι<ιmax, k^mι+1−kι+12>κpri and kι+1−kι2>κdual4:   Each BSm update Φm by solving problem (48), and share the local solution to other BSs;5:   Update the global variablesk according to the formula (52);6:   Update the Lagrange multipliersξ according to the formula (54);7:ι=ι+1;8:end while9: Output the optimal solution;


### 4.3.5. Two-Stage Iterative Algorithm Based onα Expansion

Because there are many optimization variables in the original problem, the complexity of the algorithm is high. In order to reduce the algorithm complexity and obtain the optimal solution to the original problem, we solve the original problem in two steps. So, we need to integrate the above two subalgorithms. Firstly, we input the result of Algorithm1 as a fixed value into Algorithm 2 to solve Algorithm 2, and then, we compared the results of Algorithm 2 with the historical optimal results and updated the related variables. The above process is summarized in Algorithm 3.Algorithm 3: Two-stage iterative algorithm based on α expansion.
Input: M Set of BSs, U Set of players, H Set of groups, T Set of consecutive time slots;Output: The variable A,S,B,K, and the minimum value of the objective function Valuebest;1: Initialization the variablesh∗t=rand0,M, au∗t=rand0,M, kmht, Bmut, and Valuebest=+∞2:for iter=1:ι3do3:forα∈M,∑h=1Hλαhsαh≤Παdo4:      run Algorithm1, obtain sh∗tα, au∗tα and CostI5:for iter=1:T do6:         run Algorithm2, obtain kmht, Bmut and Valuecurrent7:end for8:ifValuecurrent<Valuebestthen9:Valuebset=Valuecurrent;10:sh∗t=α, au∗t=α;11:else12:Valuebest=Valuebest;13:sh∗t=sh∗t, au∗t=au∗t ;14:end if15:end for16:end forSince we traverse for each MEC (Line 3 in Algorithm3), the caching size can be restricted under Πα at each round of α expansion.


## 4.3.1. Local Variables

(47)Φmι+1=argminΦmΞmΦm+ΨΦm+CostI+∑e=1M∑h=1H∑t=1Tξmuetιk^mhet−kehtι+ζ2∑e=1M∑h=1H∑t=1Tk∧mhet−kehtι2,where ι denotes the iteration times.Since the updating process ofΦm of each BS is independent, we can decouple the problem into M independent subproblems. We can update the local variables by solving the problem as follow:
(48)minΦmΞmΦm+ΨΦm+CostI+∑e=1M∑h=1H∑t=1Tξmhetιk^mhet−kehtι+ζ2∑e=1M∑h=1H∑t=1Tk∧mhet−kehtι2s.t.Φm∈Ω.We solve the above problem by CVX, due to it being convex, and then, broadcast the decision of each BS to other BSs.


## 4.3.2. Global Variables

(49)kι+1=argminkeh∑m=1M∑e=1M∑h=1H∑T=1Tξmhetιk^mhetι+1−keht+ζ2∑m=1M∑e=1M∑h=1H∑t=1Tk∧mhetι+1−keht2.The above problems are strictly convex and unconstrained quadratic problems, because we add the quadratic regular term to the augmented Lagrangian. Let the gradient ofk be zero. We can get the following results:
(50)∑m=1Mξmhetι+ζ∑m=1Mk^mhetι+1−keht=0,∀e,h,t.And then, we can derive(51)kehtι+1=1Mζ∑m=1Mξmhetι+1M∑m=1Mk^mhetι+1,∀e,u,t.By using∑m=1Mξmhetι=0, we can derive
(52)kehtι+1=1M∑m=1Mk^mhetι+1,∀e,u,t.In other words, we can obtain global variables by averaging the corresponding updated local variables in each iteration.


## 4.3.3. Lagrange Multipliers

(53)ξmι+1=ξmι+ζk^mι+1−kι+1.At each iteration, we can calculate the Lagrange multipliers directly by using the updated local variablesΦm and global variables k. The formulation can be represented as follows:
(54)ξmhetι+1=ξmhetι+ζk^mhetι+1−xehtι+1.


## 4.3.4. Stopping Criterion and Convergence

The above problem is a convex problem with strong duality. When the number of iterations approaches infinity, the algorithm satisfies convergence. Therefore, the reasonable stopping criteria are given as follows:(55)k^mι+1−kι+12≤κpri,∀m∈M,(56)kι+1−kι2≤κdual,∀m∈M,where ξpri>0 and ξdual>0 indicate the primal feasibility and dual feasibility conditions, respectively, which are the small positive constant scalars.The above iteration process based on convex optimization is concluded in Algorithm2.Algorithm 2: Resource allocation scheme based on convex optimization algorithm.
1: Initialization the number of iterationsι=0, global variables k0and Lagrange multipliersξ0;2: Set the maximum number of iterationsιmax and the stopping criterion threshold ξdual;3:whileι<ιmax, k^mι+1−kι+12>κpri and kι+1−kι2>κdual4:   Each BSm update Φm by solving problem (48), and share the local solution to other BSs;5:   Update the global variablesk according to the formula (52);6:   Update the Lagrange multipliersξ according to the formula (54);7:ι=ι+1;8:end while9: Output the optimal solution;


## 4.3.5. Two-Stage Iterative Algorithm Based onα Expansion

Because there are many optimization variables in the original problem, the complexity of the algorithm is high. In order to reduce the algorithm complexity and obtain the optimal solution to the original problem, we solve the original problem in two steps. So, we need to integrate the above two subalgorithms. Firstly, we input the result of Algorithm1 as a fixed value into Algorithm 2 to solve Algorithm 2, and then, we compared the results of Algorithm 2 with the historical optimal results and updated the related variables. The above process is summarized in Algorithm 3.Algorithm 3: Two-stage iterative algorithm based on α expansion.
Input: M Set of BSs, U Set of players, H Set of groups, T Set of consecutive time slots;Output: The variable A,S,B,K, and the minimum value of the objective function Valuebest;1: Initialization the variablesh∗t=rand0,M, au∗t=rand0,M, kmht, Bmut, and Valuebest=+∞2:for iter=1:ι3do3:forα∈M,∑h=1Hλαhsαh≤Παdo4:      run Algorithm1, obtain sh∗tα, au∗tα and CostI5:for iter=1:T do6:         run Algorithm2, obtain kmht, Bmut and Valuecurrent7:end for8:ifValuecurrent<Valuebestthen9:Valuebset=Valuecurrent;10:sh∗t=α, au∗t=α;11:else12:Valuebest=Valuebest;13:sh∗t=sh∗t, au∗t=au∗t ;14:end if15:end for16:end forSince we traverse for each MEC (Line 3 in Algorithm3), the caching size can be restricted under Πα at each round of α expansion.


## 4.4. Algorithm Complexity Analysis

Since Algorithms1 and 2 are the modules invoked by Algorithm 3 for M×ι3 times, where M is the number of MECs and ι3 is the maximum number of iterations in Algorithm 3, we, respectively, investigate the complexity of Algorithms 1 and 2. According to paper [44], the complexity of the Algorithm 1 can be expressed as OEV2, where V is the number of vertices and E is the number of edges in the constructed graph. In our case, V=TU+H+2 is bounded by OTU+H; E=3HUT+HT+1+TH is bounded by OTUH. Therefore, the complexity of Algorithm 1 is OT3U4, due to H≤U. For Algorithm 2, the variables amut and smut have been fixed, and the remaining question can be broken down into solving local optimization problem (48) at each BS by using ADMM algorithm, whose complexity is OUH. ιmax is the number of iterations required for Algorithm 2 convergence; the total computational complexity is OιmaxUH. Therefore, the overall complexity of Algorithm 3 is Oι3MT3U4+ιmaxU2T.


## 5. Simulation Results and Discussions

In a wireless cellular network, it is assumed that100 players and 10 base stations are randomly distributed in a circle with a radius of 100 m; other major simulation parameters are shown in Table 2.Table 2
The simulation parameters.
Simulation parametersValueThe total bandwidth[0.8–1.2]GHzThe number of players100The number of BSs10The number of VR service modules40The downlink path loss exponent[2.75–4.75]The power spectral density of noise-174 dBm/HzThe transmission power of the players0.1 WThe storage capability of the MEC[400–900]GThe computing capability of the BS[30–80]GHzTo evaluate the performance of our proposed approach, we compare our proposedα expansion-based two-stage approach to two other approaches: (1) placing each VR service module randomly on a MEC at each time slot, as labeled as “random placement,” and (2) particle swarm optimization was used to solve the objective function, as labeled as “particle swarm optimization.”In Figure4, we iteratively find the minimum value of the total network overhead under the condition that the maximizing computing capacity of each MEC server is 60 GHz and the maximizing storage capacity of each MEC server is 600 G, where total network overhead is the sum of the adjusted placement cost, communication cost, migration cost, and rendering cost, i.e., this paper’s object function ∑t=1Tε1CostCt+ε2CostRt+ε3CostPt+ε4CostMt. As shown above, the total network overhead of our proposed scheme and particle swarm optimization decreases rapidly as the iteration increases at the beginning, and then, the total network overhead converges and remains at an almost constant value. Moreover, it can be seen from the iteration diagram that our proposed algorithm converges in about 18 generations, while particle swarm optimization converges in about 25 generations. So, compared with other schemes, our proposed algorithm converges faster in the iteration process and keeps the lowest total network overhead.Figure 4
Total network overhead versus iteration times.Figure5 shows the relationship between the computing power of the MEC server and the user average latency. Figure 6 shows the relationship between the computing power of the MEC server and the total network overhead. In the above two figures, as the computing power of the MEC server increases, the average latency and total network overhead of the user are greatly reduced. This is mainly because the more computing resources a MEC server can provide to the player, the less latency it needs to perform rendering. At the same time, the richer computing resources on the MEC server, the more MEC servers the system could be chosen to provide rendering services for a group of VR players, which saves the network cost of routing.Figure 5
Average delay of user versus computing power of MEC server.Figure 6
Total network overhead versus computing power of MEC server.Figure7 shows the relationship between the storage capability of the MEC server and the user average latency. Figure 8 shows the relationship between the storage capability of the MEC server and the total network overhead. As shown in the above two figures, the placement strategy proposed by us can effectively reduce the total network overhead. Moreover, with the storage capacity of the MEC server increasing, the average latency of user and total network overhead is greatly reduced. This is mainly because the larger the storage capacity of the MEC server, the more VR service modules can be placed on each edge node, which can reduce the migration costs between two base stations to a certain extent. Especially when the number of VR service modules that can be placed on the MEC server is small, in order to meet the video processing requirements of the constantly moving player, VR service modules need to migrate frequently between base stations. As shown in Figure 8, when the storage capability of the MEC server is less than 600 G, VR service module migration between base stations becomes frequent, and the total network overhead increases greatly.Figure 7
Average delay of user versus storage capacity of MEC server.Figure 8
Total network overhead versus storage capacity of MEC server.In Figure9, we compare the user average delay and total network overhead without delay constraint with the user average delay and total network overhead with delay constraint. The network parameter is the maximizing computing capacity of each MEC server is 60 GHz, and the storage capacity of each MEC server is 600 G. When there is no need to consider satisfying the delay constraint of each user, the feasible domain of the target problem becomes larger, and the total network cost is reduced compared with when the delay constraint is considered, but the average delay of the user will increase. At the same time, some users cannot complete their corresponding video processing tasks within the tolerable delay, as shown in Figure 10.Figure 9
The influence of delay constraint on total network overhead and average delay of user.Figure 10
The actual delay of each player under the condition of no delay constraint and the tolerable delay.


## 6. Conclusion

In this paper, we develop dynamical service module placement strategies based on rendering-aware to minimize the sum of the network costs over a long time under satisfying the delay constraint of each player. The strategies jointly consider the resource allocation scheme within each time slot and the service module migration scheme between different base stations in the adjacent time slot. Moreover, we propose a two-stage algorithm based on graph cut and convex optimization to solve the objective function. In future work, we will study the online placement strategy of VR service modules to further improve user experience and reduce network overhead in the process of VR video stream delivery and computing. In addition, we will extend our work to the security [45] and low-delay delivery of all kinds of superlarge video streams.



---

*Source: 1237619-2022-08-18.xml*