Towards 5G: Joint Optimization of Video Segment Cache, Transcoding and Resource Allocation for Adaptive Video Streaming in a Muti-access Edge Computing Network
11 Towards 5G: Joint Optimization of Video SegmentCache, Transcoding and Resource Allocation forAdaptive Video Streaming in a Muti-access EdgeComputing Network
Xinyu Huang, Lijun He ∗ , Liejun Wang, Fan Li Abstract —The cache and transcoding of the multi-access edgecomputing (MEC) server and wireless resource allocation ineNodeB interact and determine the quality of experience (QoE) ofdynamic adaptive streaming over HTTP (DASH) clients in MECnetworks. However, the relationship among the three factorshas not been explored, which has led to limited improvementin clients’ QoE. Therefore, we propose a joint optimizationframework of video segment cache and transcoding in MECservers and resource allocation to improve the QoE of DASHclients. Based on the established framework, we develop a MECcache management mechanism that consists of the MEC cachepartition, video segment deletion, and MEC cache space transfer.Then, a joint optimization algorithm that combines video segmentcache and transcoding in the MEC server and resource allocationis proposed. In the algorithm, the clients’ channel state andthe playback status and cooperation among MEC servers areemployed to estimate the client’s priority, video segment presenta-tion switch and continuous playback time. Considering the abovefour factors, we develop a utility function model of clients’ QoE.Then, we formulate a mixed-integer nonlinear programmingmathematical model to maximize the total utility of DASH clients,where the video segment cache and transcoding strategy andresource allocation strategy are jointly optimized. To solve thisproblem, we propose a low-complexity heuristic algorithm thatdecomposes the original problem into multiple subproblems. Thesimulation results show that our proposed algorithms efficientlyimprove client’s throughput, received video quality and hit ratioof video segments while decreasing the playback rebuffering time,video segment presentation switch and system backhaul traffic.
Index Terms —MEC, QoE, video segment cache and transcod-ing, resource allocation, cooperation among MEC servers, Branchand Bound.
I. I
NTRODUCTION
The recent rapid increase in mobile data traffic and smartterminal devices has placed higher requirements on the archi-tecture and capacity of mobile networks. For companies suchas YouTube and Facebook Video, which account for more than45 % of the peak download traffic in North America [1], videostreaming applications represent a significant share of internettraffic. Cisco predicts that video traffic will represent 79 % ofall consumer traffic by 2022 [2]. The delivery of video content, X. Huang, L. He and F. Li are with the School of Information andCommunications Engineering, Xi’an Jiaotong University, Xi’an 710049,China (e-mail: xinyu [email protected]; [email protected];[email protected]). (Corresponding author: Lijun He, email:[email protected])
L. Wang is with the College of Information Science and Engineering,Xinjiang University, Urumqi 830046, China (email: [email protected]). especially ultra high-definition video, has been consideredas a critical scenario in the fifth generation (5G) network[3]. As the key technology of the 5G mobile communicationsystem [4], the MEC server is placed close to client nodes toobtain client information (e.g., client requirements, networkstate and playback status) in real time. The burden of videotraffic from the core network can be reduced dramatically bydeploying the MEC server in the edge network. MEC-basedvideo services provide the following advantages comparedwith traditional video delivery methods. 1) Precache popularvideos: Based on the clients request and channel state, theMEC server will precache the suitable presentation of videosfor clients to download and provide these videos to the nearbybase stations for clients to access. The advantage is thatthis approach can avoid repeated video content transmissionand decrease the burden on the backhaul network, therebyachieving faster service response. 2) Fast video transcoding:Due to the powerful computing capacity of the MEC server,it can transcode a video into several video sequences ofdifferent presentations and quickly respond to the client’s time-varying channel state to satisfy the requirements of clientswith different channel states and video requests to improvetheir QoE. 3) Context awareness: The MEC server can obtainthe clients channel state and playback status in real time andemploy the video cache and transcoding strategy to providea suitable resource allocation strategy for the base station,which can enhance the utilization of wireless resources toimprove the client’s throughput and playback continuity. Inconclusion, how to utilize the advantages of the MEC serverto improve the client’s QoE while decreasing backhaul trafficand transmission delay is an urgent problem.The authors in [5] analyzed the MEC framework and refer-ence structure proposed by the European TelecommunicationsStandards Institute (ETSI). The function modules and keyparameters of the MEC framework were described in detailfrom the perspective of video streaming service optimization.This work can be regarded as a guide for future research onMEC-based video streaming service optimization. In anotherrespect, [6] proposed an evaluation indicator for MEC-basedvideo streaming service and established an accurate predictionmodel for video popularity and channel quality to improve theMEC-based video streaming service. In addition, the authorsin [7] presented the application of MEC in the DASH serviceand discussed the challenges and prospects of video streaming a r X i v : . [ c s . MM ] M a y service optimization. Based on the above work, the key parts ofMEC-based video streaming optimization can be summarizedas optimization of video segment cache, transcoding andwireless resource allocation.In general, some problems remain to be solved: (1) Thevideo segment delete strategy ignores the consistency betweenthe remaining segment presentation and the client’s transmis-sion capacity requirement. (2) The importance of the first fewsegments of a video has not been considered, which may resultin a large initial delay. (3) The clients playback status andchannel state have been neglected, which leads to frequentrebuffering events. (4) Collaboration among MEC servers hasnot been exploited; thus, video information is not shared. (5)The resource allocation strategy is optimized independently ofthe MEC cache and transcoding.Inspired by the above problems, we focused on the MECvideo segment cache update strategy and the joint optimiza-tion of the MEC cache, transcoding and wireless resourceallocation to improve the system throughput, video qualityreceived by clients and video segment hit ratio while reducingthe client’s playback rebuffering time, presentation switch andsystem backhaul traffic. Our work is novel in the followingaspects: In contrast to the existing independent optimization frame-works for video segment cache, transcoding, and resource allo-cation optimization, we establish a comprehensive frameworkthat includes video segment cache, transcoding in the MECserver, and resource allocation optimization in the eNodeBin the multi-MEC server collaboration scenario. The estab-lishment of this framework makes full use of the interactionbetween the video segment cache and transcoding in the MECserver and resource allocation in the eNodeB to improve theclient’s QoE.
2) Refined Video Segment Updated Delete Strategy
According to the characteristics of each segment, the MECcache is divided into a high-popularity and high-importancecache, a high-popularity but low-importance cache and a low-popularity cache to avoid additional backhaul traffic whenfrequent updates occur. To avoid the situation that the cachedvideo segment does not match the client’s transmission capa-bility, we combine the number of video segment requests in thecurrent update period with the client’s transmission capacityto calculate the delete priority for the video segment deletestrategy.
3) Joint Optimization of Video Cache, Transcoding in theMEC Server and Resource Allocation in the eNodeB
Rather than performing the video segment cache, transcod-ing strategy in the MEC server and resource allocation strategyin the eNodeB independently, video segment cache, transcod-ing and resource allocation are formulated into a mathematicalmodel to be jointly optimized based on the clients’ channelstate and playback status and the cooperation among MECservers. A utility function model, which consists of the clientspriority, the video segment switching magnitude, and the con-tinuous playback time, is established to improve the clients’QoE. Moreover, a cost function that integrates video segmentcache, transcoding and resource allocation is developed to solve the formulated problem. The relationship among theresource block (RB) assignment, the modulation and codingscheme (MCS) selection and the video segment cache andtranscoding is fully utilized rather than performing only MCSselection and RB assignment with a fixed block error rate(BLER) or determining the proportion of the wireless resourcethat each client can access.II. R
ELATED W ORK
To optimize the QoE of the video streaming service ofDASH clients, MEC can provide services such as videosegment cache and transcoding in real time. Furthermore, theeNodeB allocates wireless resources to clients based on thecached and transcoded video segments. (cid:73)
MEC Video Segment Cache Optimization Algorithms
Researchers have proposed many MEC video cache opti-mization algorithms, which can be divided into two categories:client QoE-driven video cache optimization algorithms andcache hit ratio-driven MEC cache optimization algorithms.
1) Client QoE-Driven MEC Cache Optimization Algorithms
The authors in [8] considered the rate-distortion character-istics of different videos, video popularity, the transmissioncapacity of the base station and the MEC server, and theclient’s initial delay and cached the best video presentationfor each MEC server to improve the client’s QoE. To furtherimprove the client’s QoE, [9] selected the video rate, initialdelay, interruption time, presentation switch and fairness asthe cache update indicators and explored the trade-off be-tween QoE and backhaul traffic. However, the fairness indexneglected the average clients’ rebuffering time. Consideringthe effect of video quality fluctuation on a client’s QoE, theauthors in [10] attempted to cache the video presentationthat can be supported according to the throughput of thecurrent network and guaranteed minimization of video qualityfluctuation. However, the disadvantage is that the delete policymade decisions based on only the number of segment requestsin the current update period without considering the overallpopularity, which may cause an additional burden on the back-haul network. To reduce the burden on the backhaul network,[11] proposed a collaborated cache among MEC servers anda QoE-aware video cache update algorithm to decrease videoquality fluctuation and backhaul traffic. However, the clientsplayback status was not considered in the cache optimization,which may cause rebuffering events.
2) Cache Hit Ratio-Driven MEC Cache Optimization Algo-rithms
The authors in [12] established a video request probabilitymodel based on video popularity, clients’ preferences andvideo presentation characteristics to improve the video cachehit ratio, but the cooperative cache among MEC servers wasneglected. In [13], the authors considered the cooperativecache among MEC servers. The video cache hit ratio wasimproved by caching multiple presentations of videos and real-time transcoding, but caching complete videos reduces theutilization of MEC cache space. In addition, the authors in [14]combined cooperative cache with a video replacement strategyto increase the video cache hit ratio and decrease the client’s initial delay. To further improve the efficiency of the MECcache strategy, the authors in [15] proposed a Multi-AgentReinforcement Learning (MARL)-based cooperative contentcaching policy for the MEC server to improve the video hitratio when the users’ preference and video popularity areunknown. However, the computing capacity of the MEC serverwas not fully exploited to transcode more video presentationsthat can satisfy the clients’ transmission requirements. Ingeneral, the current MEC cache update optimization algorithmcannot fully exploit the information of the client’s transmissionstate, playback status, video segment content characteristics,and cooperation cache among MEC servers. Therefore, theclient’s QoE in the MEC video streaming service requiresfurther improvement. (cid:73)
MEC Video Transcoding Optimization Algorithms
Since the MEC server has powerful computing capacity, ahigh-presentation video segment can be quickly transcodedinto a low-presentation segment to meet the client’s trans-mission requirements. Most studies, such as [16][17], haveutilized the predicted channel state and client’s requirements torealize the transcoding service, thereby improving the client’sQoE. The authors in [18] proposed several online transcodingschemes that transcoded video segments into low-presentationsegments as much as possible to save the computing resourcesof the MEC server. To further exploit the computing capacityof the MEC server, [19] employed a Markov prediction modelto predict the rate information of the next segment requestedby the client, which can enhance the pretranscoding efficiency.In addition, the authors in [20] provided a transcoding platformfor video streaming service by utilizing computing resourcesto offer a suitable video rate in the case of ensuring the qualityof service (QoS) level but ignored the effect of presentationswitch on the client’s QoE. To further improve the client’sQoE, the authors in [7] designed an online transcoding MECframework by utilizing the characteristic that the MEC serveris close to the clients and can obtain the clients channel state inreal time; however, cooperation among MEC servers shouldalso be considered. Then, the authors in [21] considered acooperation mechanism among MEC servers and determinedthe video presentation to be cached based on the client’spreference and historical requested video rates to reduce theconsumption of computing resources of the MEC server. Inaddition, the authors in [22] proposed a joint video transcodingand delivery algorithm in the case of precaching all presen-tations of the most popular videos and the low presentationof the low-popularity videos to decrease the client’s delay.In conclusion, the current MEC-based transcoding work hasnot been associated with the MEC cache strategy and theresource allocation strategy in eNodeB, which results in failureto guarantee a high client QoE. (cid:73)
QoE-Driven Wireless Resource Allocation Algorithms
In addition to the MEC-based cache and transcoding strat-egy, wireless resource allocation is a key factor influencingclient QoE. Many wireless resource allocation algorithms toimprove the client’s QoE in cloud-based video streamingservices exist. The authors in [23] narrowed the range ofresource allocation by dividing clients into four types based on their buffer time to decrease the average playback rebufferingtime of clients. However, the proposed greedy algorithm stillcannot obtain the optimal resource allocation. Consideringthe client’s experience and the operator’s revenue, the impactof different resource allocation criteria on the fairness andvideo quality was analyzed in [24], which formed a Nashbalance problem to improve the video quality of more clientswhile ensuring the operator’s revenue. In addition, the QoS oftransmission also influenced the client’s QoE. In [25], differentchannel allocation schemes for different client types (high-speed mobile clients and background clients) were proposed toallocate more channel resources to high-speed mobile clientsas much as possible while ensuring the QoS requirements ofbackground clients.
Additionally, many wireless resource allo-cation algorithms in the MEC-based video streaming servicehave been proposed to fully exploit the computing capacityand cache capacity of the MEC server.
The authors in [26]proposed an MEC video cache delivery framework to assistthe base station in completing resource allocation, which canreduce the client’s video playback rebuffering time. To furtherimprove the client’s QoE, [27] proposed an MEC-enhancedABR video delivery scheme that can flexibly adjust the videobit rate delivered to clients according to the transmissioncapacity, but the cooperation mechanism among MEC serverscan be utilized to provide clients with the requested videosegment in time. In addition, the authors in [28] proposeda QoE-driven MEC cache and resource allocation algorithmthat performs load balancing on the resource blocks in thebase station to avoid client access congestion. In general, thejoint optimization of video segment cache and transcodingin the MEC server and resource allocation in the eNodeBis not considered in the current MEC-based video streamingoptimization schemes. Therefore, we performed a preliminaryexploration by selecting the client’s priority, the switch rangeof video segment presentation, the playback time that receivedframes can support and the quality of received frames toform the function model and decompose the original probleminto multiple subproblems. The objective of our mathematicalmodel is to improve the client’s throughput, received videoquality and hit ratio of the video segment while decreasingthe playback rebuffering time and system backhaul traffic.III. S
YSTEM M ODEL
A. System Framework
In this paper, we consider a scenario where multiple clientscan request video streams from an eNodeB. The eNodeB candownload the requested video segment from the local MECserver, the cooperative MEC servers and the cloud server, asshown in Fig. 1. The function of the MEC server consistsof video segment cache, transcoding, context awareness anda cooperation mechanism, which can utilize the informationof the client’s playback status and channel state to makethe decision on the video segment cache and transcodingstrategy and provide the wireless resource allocation strategyfor eNodeB.Since the MEC server has powerful cache and computingcapacity, it can quickly make decisions about the video seg-ment cache, transcoding and resource strategy, as shown in eNodeB Client Terminal MEC Server Data CenterCloud ServerWireless Link
Backhaul Link
Video Segment Cache
Video Segment TranscodingContext AwarenessCooperation Mechanism
Fig. 1. Video Streaming Service in the MEC Assisted Network
Fig. 2. First, the information of the client side, i.e., requestedvideo, playback status, channel state, etc., is sent to the localeNodeB and then forwarded to the local MEC server in realtime. The local MEC server divides the MEC cache into threedifferent areas by calculating the video segment popularitybased on the number of video segment requests, clients’playback status and channel state. In addition, the local MECserver calculates the client’s utility function according to theclient’s playback status, channel state, and cooperation amongMEC servers. The goal is to maximize the utility of all clientsby jointly optimizing the video segment cache, transcoding andwireless resource allocation strategy. Then, based on the videosegment cache and transcoding strategy, the local MEC servercaches the corresponding video segments from the cooperativeMEC servers and the cloud server or transcodes the cachedvideo segment to one that is more suitable for transmission.The eNodeB adjusts the RBs assigned to clients accordingto the wireless resource allocation strategy determined by thelocal MEC server to improve clients’ QoE.
MEC Cache Space PartitionContext AwarenessCalculation of Popularity for Segments
Calculation of
Utility FunctionObtain Delete Strategy for Segments Joint Optimization of Segment Cache, Transcode and Resource Allocation StrategyMEC Cache Space Transfer Resource Allocation StrategyCache and Transcode Strategy
Obtain the
Corresponding
Segments
Video Segment SenderMEC Cache Space PartitionContext AwarenessCalculation ofPopularity for Segments
Calculation of
Utility FunctionObtain DeleteStrategy for Segments Joint Optimization of Segment Cache, Transcode and Resource Allocation StrategyMEC Cache Space Transfer Resource Allocation StrategyCache andTranscode Strategy
Obtain the
Corresponding
Segments
Video Segment Sender
MEC Server
Information
Forwarding
Resource
AllocationMAC Queue eNodeB
Client Terminal
Client Information
Extraction Video DecoderVideo
Playback
Request
Information
Client Terminal
Client Information
ExtractionVideo DecoderVideo
Playback
Request
Information
Fig. 2. System Framework
B. Refined MEC Cache Mechanism
Since the clients continuously request new video segmentsand the cache space of the MEC server is limited, the clientsmay suffer rebuffering events if the requested video segmentcannot be cached in time. Therefore, in each cache updateperiod, the client’s request and channel state are utilized toupdate the video segment popularity, and low-popularity videosegments are deleted sequentially to guarantee sufficient spaceto cache new segments for clients.In this paper, we select the video segment as the smallestunit in the MEC cache mechanism. In each cache updateperiod, the delete priority of each video segment is calculatedas the basis for the video segment delete strategy. The MECcache mechanism consists of MEC cache predeployment,MEC cache partitioning, video segment delete strategy, MECcache space transfer and a cooperation mechanism.
1) Historical Requested Video Data-Based MEC CachePredeployment:
When deploying the MEC servers, the size ofthe cache space in each area must be determined. More cacheresources should be allocated to areas where the amount of his-torical requested video data is high to avoid the insufficiencyof cache capacity.We denote the set of MEC servers by Q = { , , ..., Q } , q ∈ Q . Each MEC-served region (cid:60) q with K q clients is served byone MEC server and several eNodeBs. The set of eNodeBsserved by the MEC server q is H q = { , , ..., H q } , h q ∈ H q ,and the client set of eNodeB h q is Z ( h q ) = { , , ..., K h q } , k ∈ Z ( h q ) . The requested video data in one month are generatedbased on the video request frequency of different clients. Letus denote the set of video files by F , f ∈ F and the totalcache space of MEC servers by S . Then, we can analyze therequested video data in one month to allocate the cache spaceto each MEC server, as follows: S q = (cid:80) k ∈(cid:60) q (cid:80) f ∈F (cid:80) Ll =1 (cid:80) SR k,f i =1 Γ lk,f,i s lf,i (cid:80) k ∈(cid:60) (cid:80) f ∈F (cid:80) Ll =1 (cid:80) SR k,f i =1 Γ lk,f,i s lf,i S (1)where S q is the size of the allocated cache space for MECserver q and Γ lk,f,i is the number of times that client k requestspresentation l of video segment i of video f . s lf,i and SR k,f denote the file size of presentation l of video segment i ofvideo f and the maximum index of video segment f requestedby client k , respectively.
2) MEC Cache Partitioning Based on Video Content Char-acteristics and Popularity:
The statistical results show thatthe cumulative probability of a client watching the first 15%of the video content and then leaving is 0.5, which indicatesthat the first 15% of the video content is most important [29].We denote the number of the first 15% of video segments ofvideo f by e f and the number of the whole video segmentsof video f by N f , where the relationship between e f and N f is e f = (cid:100) . N f (cid:101) .If all stored video segments are updated in real time, thevideo segments deleted in the current period may need to becached in the next period, which increases the backhaul traffic.Therefore, we divide the MEC cache into three categories and employ ∆ , ∆ , ∆ to indicate that (1) the first 15% ofvideo segments of the 20% most popular videos constitutethe first part of the cache ∆ (The 20% most popular videoaccounts for 80% of web traffic, which can be updated lessto alleviate backhaul traffic [30]), (2) the remaining videosegments of the 20% most popular videos constitute ∆ ,and (3) the video segments of the last 80% most popularvideos compose ∆ . Cache ∆ is updated in every long period J ( J ∈ { , , ..., Θ } ), and caches ∆ and ∆ are updated inevery short period γ ( γ ∈ { , , ..., Υ } ), as shown in Fig. 3. Segments of Video 1
Segments of Video 2Segments of Video 3Segments of Video 4Segments of Video 5Segments of Video 6Segments of Video 7
Segments of Video 8Segments of Video 9
Segments of Video 10Segments of Video 11Segments of Video 12Segments of Video 13Segments of Video 14Segments of Video 15
Segments of Remaining Videos
Initial MEC Cache Segments of the
20% Most
Popular Videos: (1 ) f e f Remaining Segments of the 20% Most Popular Videos
Segments of
Other VideosTransfer
Cache
Space
Stable MEC Cache D D D Cache Update Strategy (1 ) f e f Fig. 3. MEC Cache Partitioning Process
There are two processes in Fig. 3, the initial MEC cache andthe stable MEC cache after the cache update strategy. In theinitial time, since the number of requested videos is large andthe MEC cache space is limited, the first e f video segmentsof the highest popularity presentation of video f are placed inthe MEC cache space sequentially based on descending videopopularity until the MEC cache space is full to decrease theclients’ initial delay and improve their QoE. Since the MECwill perform a cache update strategy in every update period,the MEC cache can be divided into three parts according tothe type of video segment, and the size of each subcache willdynamically change based on the stored video segments. Letus denote the size of cache ∆ by SH q and the total size ofcache ∆ and ∆ by SC q .
3) Video Segment Delete Mechanism Based on Client Re-quest and Channel State:
During each cache update period,only those segments with high delete priority are deleted,instead of deleting the entire video, so that the MEC severcan retain more video segments. When the client is stuck orabout to be stuck, the MEC server can quickly provide theneeded segment to improve the client’s QoE.First, we number the set of video segments in each MECserver. Then, the requested number, client transmission capac-ity and segment rate are employed to obtain the delete priorityof the different presentations of the video segments in period γ for MEC server q , which can be depicted as DP γ,q,li = 1 K q (cid:88) K q k =1 g γ,lk,i + ζ · υ lk,i + α (2)where ζ and α are positive variables and g γ,lk,i indicates whetherclient k requests presentation l of video segment i in period γ .If it is requested, g γ,lk,i = 1 ; otherwise, g γ,lk,i = 0 . v lk,i reflects thematch relationship between the average transmission capacity, (cid:100) CP lk,i , and the video segment rate, R li . υ lk,i = (cid:40) , (cid:100) CP lk,i ≥ R li , otherwise (3)However, a delete strategy based on only the delete priorityin the current period γ may result in the deletion of videosegments with low delete priority in the previous periods.Therefore, we employ the delete priority of the previous periodto update the current period as follows: (cid:100) DP γ,q,li = λ (cid:100) DP γ,q,li + (1 − λ ) (cid:100) DP γ − ,q,li (4)where (cid:100) DP γ,q,li is the overall delete priority of video segment i of presentation l in MEC server q up to period γ . λ is apositive constant between 0 and 1.The video segment update strategy varies in differentcaches. For cache ∆ , since the first 15% of video segmentsof video f are more important to clients, we update themaccording to the latest video segment popularity in each period J . For caches ∆ and ∆ , in each update period γ , thestored video segments are sequentially deleted based on theoverall delete priority of video segments, excluding the videosegments being transmitted until the size of the cache issufficient to store the video segments to be downloaded.
4) MEC Cache Space Transfer:
The segments in ∆ areupdated in every period J . Due to the length and code rate,the size of video segments differs greatly, which results inthe size of the deleted video segments not being equal to thatof the downloaded video segments. To make full use of eachcache space, we compare the size of ∆ before and after eachupdate period to release or increase space in ∆ and ∆ . Inthe beginning of each period J , the change in the size of ∆ is derived by F C J q = (cid:88) f ∈F J pop e f (cid:88) i =1 L (cid:88) l =1 s lf,i − SH J − q (5)where F J pop denotes the set of the 20% most popular videos inperiod J and SH J -1 q denotes the size of ∆ in period J − .Then, the sum of the sizes of ∆ and ∆ can be updatedaccording to SC J q = SC J − q − F C J q (6)When F C J q ≥ , the video segments in ∆ and ∆ aredeleted according to the delete priority to release the cache to ∆ until the size of the cache of ∆ is satisfied.
5) Cooperation Mechanism among MEC Servers:
Pro-vided that the neighboring MEC servers store the requestedsegments, the local MEC server will download them fromthe neighboring MEC server p with the highest remainingtransmission capacity. The sum of the size of downloadedsegments should not exceed the transmission capacity betweenthe local MEC server q and the neighboring MEC server p . K q (cid:88) k =1 L (cid:88) l =1 τ qk,i,l χ pk,i,l s lk,i ≤ CP q,p · T D, ∀ q ∈ Q , p ∈ Q \{ q } (7)where τ qk,i,l denotes the optimized variable, indicating whetherthe requested video segment will be cached in MEC server q . If it will be cached in MEC server q , τ qk,i,l = 1 ; otherwise, τ qk,i,l = 0 . χ pk,i,l denotes whether the requested video segmentis stored in MEC server p. If it is stored, χ pk,i,l = 1 ; otherwise, χ pk,i,l = 0 . CP q,p is the transmission capacity between MECservers q and p . T D is the time duration of period γ . If theshared video segments exceed the transmission capacity, thevideo segment sharing mechanism among MEC servers willbe stopped, and the local MEC server q must request the videosegment from the cloud server or wait until the next updateperiod.IV. U TILITY F UNCTION M ODEL B ASED ON C LIENTS Q O EFor the MEC server, the client’s playback status and channelstate are particularly important for determining the cache,transcoding and resource allocation strategies. Providing theclient with the appropriate presentation of the video segmentcan improve the client’s QoE, and precaching video seg-ments required by most clients can reduce the traffic burdenon the backhaul network. Therefore, establishment of theclient’s QoE-based utility function model is critical for thecache, transcoding and resource allocation strategies. Next, weformulate the function model based on the client’s priority,the switching magnitude of video segment presentation, theplayback time that received frames can support and the qualityof received frames.
A. Factors of the Utility Function1) Client’s Priority:
To better distinguish each client’surgency according to the corresponding playback buffer status,a segmentation exponential function is used to indicate theurgency of client k requesting video segment i, as follows: EL γk,i = exp ( ω BT γk,i − /d k,i − ) − (8)where exp ( • ) is the exponential function. BT γk,i − is theremaining buffer time when client k receives video segment i − of presentation l at the end of period γ . d k,i − is thetime duration of video segment i − requested by client k , and ω is a positive constant. Since the times required to acquirevideo segments from the cloud server and the neighboringMEC server are different, when the requested video segmentis downloaded from the cloud server, the urgency of client k increases because of the increased download time. Therefore,we define the client’s priority based on the client’s urgency asfollows: P r ( τ qk,i,l , o qk,i,l ) = ( τ qk,i,l + o qk,i,l )( EL γk,i + EL γk,i (cid:89) p (1 − χ pk,i,l )) (9)
2) Presentation Switching Magnitude:
During the client’splayback, frequent presentation switches of video segmentswill seriously affect the client’s QoE. Therefore, withoutexceeding the cache capacity and transcoding capacity of theMEC server, the presentation of requested video segment i ofclient k should remain consistent with video segment i − asmuch as possible by cache or transcoding. The function of thepresentation switching magnitude can be depicted as RS (cid:16) τ qk,i,l , o qk,i,l (cid:17) = ( τ qk,i,l + o qk,i,l ) | l − l (cid:48) | l max − l min (10)where |•| denotes the absolute function and l (cid:48) is the pre-sentation of video segment i − of client k . The valuerange of function RS ( • ) is [0,1]. o qk,i,l is the transcodingvariable, indicating whether the requested video segment willbe obtained by transcoding in MEC server q . If it is obtainedby transcoding, o qk,i,l = 1 ; otherwise, o qk,i,l = 0 . p k,i,l is thetranscoding capacity for client k to obtain the requested videosegment, which can be depicted as p k,i,l = µ · s k,i,l [13]. µ is a positive value. In each update period γ , the transcodingcapacity of the MEC server offered to the clients cannot exceedthe computing resources of the MEC server, which can beexpressed as (cid:88) k ∈(cid:60) q (cid:88) l o qk,i,l p k,i,l ≤ C q × T D (11)where C q is the computing capacity per time unit of MECserver q .
3) Continuous Playback Time That Received Frames CanSupport:
The greater the number of video frames received bythe client is, the longer the continuous playback time that canbe supported. In the update period γ , the client’s transmissioncapability can be determined by the RB allocation to the client,which can be expressed as c h q k = (cid:88) n ∈ Ω( h q ) a h q k,n q (Ω) (cid:88) m =1 b h q k,m r m (12)where a h q k,n denotes whether RB n of eNodeB h q is allocated toclient k . If it is allocated, a h q k,n = 1 ; otherwise, a h q k,n = 0 . b h q k,m denotes whether client k uses MCS m. If it is used, b h q k,m = 1 ;otherwise, b h q k,m = 0 .In each update period, the received video packets of theclient can be expressed as P S h q k,i,l = (cid:40) c h q k × T D, φ k,i,l + c h q k × T D ≤ s k,i,l s k,i,l − φ k,i,l , otherwise (13)where φ k,i,l denotes the total size of the video packets ofpresentation l of segment i already transmitted to client k .Then, the ratio of playback time that the received video packetscan support to the time duration of segment i can be depictedas SP ( τ qk,i,l , o qk,i,l , c h q k ) = [ ST ( φ k,i,l + ( τ qk,i,l + o qk,i,l ) P S h q k,i,l ) − ST ( φ k,i,l )] /d k,i (14)where ST ( • ) denotes the continuous playback time intervalthat video packets can support in [31].
4) Quality of Received Video Frames:
Peak signal-to-noiseratio (PSNR), which is most commonly used to measurethe reconstruction quality of lossy compression codecs, is animportant factor that reflects the quality of video frames andcan influence client’s QoE. When the client receives new videoframes, the PSNR of the total received video frames can beupdated as
P SNR ( τ qk,i,l , o qk,i,l , c h q k ) = ( τ qk,i,l + o qk,i,l ) Z ( PS hqk,i,l ) (cid:88) z =1
10 lg 255 MSE zi,l (15) where Z ( P S h q k,i,l ) denotes the total received video frames whenclient k receives the new video packets of size P S h q k,i,l . M SE zi,l is the mean square error between frame z of videosegment i of presentation l and that of the original videosegment, which can be defined as M SE zi,l = (cid:80) ≤ mz ≤ MF zi,l (cid:80) ≤ nz ≤ NF zi,l ( P ix mz,nz − P ix (cid:48) mz,nz ) M F zi,l × N F zi,l (16)where
M F zi,l and
N F zi,l denote the height and weight of frame z of video segment i , respectively. P ix mz,nz and
P ix (cid:48) mz,nz are the values of the pixel with coordinates ( mz, nz ) in thecurrent frame and its reference frame, respectively. B. Utility Function Model Based on Client’s QoE
In each update period, we establish the utility functionmodel of client k by combining the client’s priority, presen-tation switching range, playback time and quality of receivedframes, which can be determined by U (cid:48) ( τ qk,i,l , o qk,i,l , c h q k ) = θ P r ( τ qk,i,l , o qk,i,l ) + θ SP ( τ qk,i,l , o qk,i,l , c h q k ) − θ RS ( τ qk,i,l , o qk,i,l ) + θ P SNR ( τ qk,i,l , o qk,i,l , c h q k ) (17) where θ , θ , θ , θ are positive values. According to therelationship among a h q k,n , b h q k,m and c h q k described in equation(12), the utility function model of client k can be expressedas U ( τ qk,i,l , o qk,i,l , a h q k,n , b h q k,m ) = U (cid:48) ( τ qk,i,l , o qk,i,l , c h q k ) .V. J OINT O PTIMIZATION OF S EGMENT C ACHE ,T RANSCODING AND R ESOURCE A LLOCATION
The cache and transcoding strategy in the MEC server andthe resource allocation strategy in the eNodeB together influ-ence the client’s QoE. However, the classic resource allocationalgorithms cannot adjust the resource allocation strategy in atimely manner based on the remaining cache and transcodingresources of the MEC server and the client’s playback status,which results in failure of the client’s playback continuity tobe guaranteed, even if the requested video segment has beencached or transcoded in the MEC server. To guarantee theclient’s playback continuity and improve the client’s QoE, wejointly optimize the cache and transcoding strategy in the MECserver and the resource allocation strategy in the eNodeB.
A. Problem Formulation
In this section, we present the joint optimization of the cacheand transcoding strategy in the MEC server and the resourceallocation strategy in the eNodeB. In cache ∆ , the updatestrategy is that the first 15% of video segments of the first 20%most popular videos are updated in every period J , whichis relatively fixed. In caches ∆ and ∆ , the mathematicalmodel with the objective of maximizing the overall utilitylevel of the clients, subject to the constraints of MEC storagecapacity, transcoding capacity, transmission bandwidth amongMEC servers and transmission capacity of the eNodeB, is asfollows: max τ,o,a,b (cid:88) q (cid:88) k (cid:88) l U ( τ qk,i,l , o qk,i,l , a h q k,n , b h q k,m ) s.t. ( c (cid:88) k ∈(cid:60) q L (cid:88) l =1 τ qk,i,l s k,i,l ≤ SC q , τ qk,i,l ∈ { , } , ∀ q ∈ Q ( c τ qk,i,l + χ qk,i,l ≤ , χ qk,i,l ∈ { , } , ∀ q ∈ Q ( c (cid:88) k ∈(cid:60) q L (cid:88) l =1 τ qk,i,l χ pk,i,l s k,i,l ≤ CP q,p × T D,χ pk,i,l ∈ { , } , ∀ q ∈ Q , p ∈ Q\{ q } ( c (cid:88) k ∈(cid:60) q L (cid:88) l =1 τ qk,i,l (cid:89) p (1 − χ pk,i,l ) s k,i,l ≤ CP q,cloud × T D, ∀ q ∈ Q , p ∈ Q \{ q } ( c τ qk,i,l + o qk,i,l ≤ , o qk,i,l ∈ { , } , ∀ q ∈ Q ( c (cid:88) k ∈(cid:60) q L (cid:88) l =1 o qk,i,l p qk,i,l ≤ C q × T D, ∀ q ∈ Q ( c (cid:88) k ∈ Z ( h q ) a h q k,n = 1 , a h q k,n ∈ { , } , ∀ n ∈ Ω( h q ) ,h q ∈ H q , q ∈ Q ( c q (Ω( h q )) (cid:88) m =1 b h q k,m = 1 , b h q k,m ∈ { , } , ∀ k ∈ Z ( h q ) ,h q ∈ H q , q ∈ Q ( c (cid:88) n ∈ Ω( h q ) a h q k,n q (Ω( h q )) (cid:88) m =1 b h q k,m r m ≤ LS k , ∀ k ∈ Z ( h q ) ,h q ∈ H q , q ∈ Q (18)For the constraints, constraint (c1) implies that the videosegments to be cached should not be greater than the size ofcache ∆ and ∆ . Constraint (c2) guarantees that the videosegments cannot be cached repeatedly. Constraint (c3) andconstraint (c4) indicate that the size of video segments tobe downloaded from the neighboring MEC server and thecloud server should not exceed the corresponding transmissioncapacity respectively. Constraint (c5) guarantees that the videosegment cannot be obtained by cache and transcoding simulta-neously. Constraint (c6) indicates that the transcoding capacityfor video segments cannot exceed the computing resources of the MEC server. Constraint (c7) implies that each RB mustbe assigned to one and only one client at each schedulingperiod. Constraint (c8) ensures that all the RBs assigned tothe same client should use the same MCS. Constraint (c9)indicates that the transmission capacity of the assigned RBsof client k should be not greater than the total size of all thepackets in client k ’s MAC queue. B. Solution: Joint Optimization of Segment Cache, Transcod-ing and Resource Allocation
Problem (18) can be treated as a high-dimensional nonlinearmixed-integer optimization problem that is difficult to solve.Therefore, we decompose the problem into multiple subprob-lems. To maximize the overall utility of all the clients, we needto assign the limited wireless resources to the clients who areactually in need to achieve the greatest utility improvement.Problem (18) shows that the video segment cache strategy,transcoding strategy and resource allocation strategy interactwith each other: problem (18) can only be solved by consider-ing the relationship among the three factors. Consequently, wefirst develop a cost function of RB assignment that dependson the optimal MCS selection, video segment cache andtranscoding policy. The process to obtain the optimal MCSselection, video segment cache and transcoding policy withfixed RB assignment is provided. Once the value of the costfunction is calculated, the RB assignment of one RB can bedetermined.
1) Cost Function of RB Assignment:
Let N h q k denote theset of the RBs of eNodeB h q already assigned to client k .Then, the cost function CI h q k,n can be defined as the utilityimprovement resulting from assigning another RB n to client k . CI h q k,n can be computed by CI h q k,n = max n (cid:48) ∈ N hqk ∪{ n } (cid:88) l U ( τ qk,i,l , o qk,i,l , a h q k,n , b h q k,m ) − max n (cid:48) ∈ N hqk (cid:88) l U ( τ qk,i,l , o qk,i,l , a h q k,n , b h q k,m ) (19)As shown in equation (19), the calculation of CI h q k,n dependson the optimal determination of ( τ ∗ k , o ∗ k , b ∗ k ) with RB assign-ment set N h q k and N h q k (cid:83) { n } . As long as CI h q k,n is obtained,the optimal determination of a h q k,n can be achieved. Next, wepresent the process for deriving the optimal ( τ ∗ k , o ∗ k , a ∗ k , b ∗ k ) .
2) Optimal ( τ ∗ k , o ∗ k , b ∗ k ) Determination with Fixed RB As-signment Set N h q k : In general, more bits allocated to the clientwill result in better utility improvement because the numberor quality of received video frames increases. Thus, we canassume that utility is an increasing function of transmissioncapacity. To solve the problem in equation (18), we firstneed to determine the optimal MCS index b h q k,m to maximizethe transmission capacity that the RBs in N h q k can supportand then select the optimal cache and transcoding policy tomaximize the utility.i) Determination of the optimal MCS index b ∗ k with fixedRB assignment set N h q k To maximize the transmission capacity that the RBs in N h q k can support, we need to obtain the optimal solution to thefollowing problem: max a k ,b k (cid:88) n ∈ N hqk a h q k,n q ( N hqk ) (cid:88) m =1 (1 − E k,m ) b h q k,m r m s.t. q ( N hqk ) (cid:88) m =1 b h q k,m = 1 , b h q k,m ∈ { , } (20)As shown in equation (20), E k,m is the BLER when client k selects MCS m . The solution method of b ∗ k is introduced in[31]. ii) Determination of the optimal cache and transcoding ( τ ∗ k , o ∗ k ) with the fixed resource allocation strategy ( a k , b ∗ k ) When the resource allocation strategy ( a k , b ∗ k ) is deter-mined, the client’s transmission capacity in each update periodcan be obtained. Then, we can obtain the optimal cache andtranscoding policy ( τ ∗ k , o ∗ k ) by solving the following problem: max τ,o (cid:88) q (cid:88) k (cid:88) l U ( τ qk,i,l , o qk,i,l , a k , b ∗ k ) s.t. ( c (cid:88) k ∈(cid:60) q L (cid:88) l =1 τ qk,i,l s k,i,l ≤ SC q , τ qk,i,l ∈ { , } , ∀ q ∈ Q ( c τ qk,i,l + χ qk,i,l ≤ , χ qk,i,l ∈ { , } , ∀ q ∈ Q ( c (cid:88) k ∈(cid:60) q L (cid:88) l =1 τ qk,i,l χ pk,i,l s k,i,l ≤ CP q,p × T D, χ pk,i,l ∈ { , } , ∀ q ∈ Q , p ∈ Q \{ q } ( c (cid:88) k ∈(cid:60) q L (cid:88) l =1 τ qk,i,l (cid:89) p (1 − χ pk,i,l ) s k,i,l ≤ CP q,cloud × T D, ∀ q ∈ Q , p ∈ Q \{ q } ( c τ qk,i,l + o qk,i,l ≤ , o qk,i,l ∈ { , } , ∀ q ∈ Q ( c (cid:88) k ∈(cid:60) q L (cid:88) l =1 o qk,i,l p qk,i,l ≤ C q × T D, ∀ q ∈ Q (21)The optimized problem is a 0-1 integer programming problemfor the variables τ qk,i,l and o qk,i,l . To reduce the computationalcomplexity, equation (21) can be simplified as follows.First, we can utilize constraint (c2) to narrow the searchrange. The client set E q satisfying χ qk,i,l = 1 , ∀ k ∈ (cid:60) q , ≤ l ≤ L can be removed directly from the client set (cid:60) q . In cachedecision determination, the condition where one segment isrequested by many clients often occurs. To further narrow thesearch range, we transform the clients cache and transcodingproblem into the segment cache and transcoding problemillustrated in Fig. 4.When the segment is requested by several clients, the utilityfunction is derived as follows. N U ( τ qi,l , o qi,l ) = (cid:88) k ∈(cid:60) q − E q U ( τ qk,i,l , o qk,i,l , a k , b ∗ k ) (22) Utility of segment i of presentation l for k i k l Client Index Presentation Index
Utility of segment i of presentation l for k Direction of
Projection
Presentation Index i l
Utility of segment i of presentation l combined k and k Down Projection
Utility of segment i of presentation l for k i k l Client Index Presentation Index
Utility of segment i of presentation l for k Direction of
Projection
Presentation Index i l
Utility of segment i of presentation l combined k and k Down Projection
Fig. 4. Narrow the Search Range
Then, the search range can be narrowed from (cid:80) q ∈ Q ( (cid:60) q − E q ) × L to (cid:80) q ∈ Q I q × L , where I q is the number ofrequested segments. Furthermore, the objective function canbe simplified as max (cid:88) q ∈ Q I q (cid:88) i =1 L (cid:88) l =1 N U ( τ qi,l , o qi,l ) (23)Since χ pk,i,l s k,i,l and (cid:81) p (1 − χ pk,i,l ) s k,i,l in constraints (c3)(c4) are known constants in the update period, we employconstants A pi,l and B i,l to substitute into equation (21), whichcan be simplified as max τ , o (cid:88) q ∈ Q I q (cid:88) i =1 L (cid:88) l =1 N U ( τ qi,l , o qi,l ) s.t. ( c I q (cid:88) i =1 L (cid:88) l =1 τ qi,l s i,l ≤ SC q , τ qi,l ∈ { , } , ∀ q ∈ Q ( c I q (cid:88) i =1 L (cid:88) l =1 τ qi,l A pi,l ≤ CP q,p × T D, ∀ q ∈ Q , p ∈ Q \{ q } ( c I q (cid:88) i =1 L (cid:88) l =1 τ qi,l B i,l ≤ CP q,cloud × T D, ∀ q ∈ Q , p ∈ Q \{ q } ( c τ qi,l + o qi,l ≤ , o qi,l ∈ { , } , ∀ q ∈ Q ( c I q (cid:88) i =1 L (cid:88) l =1 o qi,l p qi,l ≤ C q × T D, ∀ q ∈ Q (24)To solve the problem in equation (24), we employ the brandand branch method [32] to obtain the optimal solution. Thedetailed process of our proposed algorithm is described inAlgorithm 1. a ∗ k Determination with Known ( τ ∗ k , o ∗ k , b ∗ k ) : The deriva-tion of a ∗ k in the previous section is conducted to determine theoptimal ( τ ∗ k , o ∗ k , b ∗ k ) based on the fixed RB set N h q k . The goalis to calculate the utility improvement CI h q k,n . In this section,we determine the assignment strategy of RB n according to thevalue of CI h q k,n . To achieve max (cid:80) q (cid:80) k (cid:80) l U ( τ k , o k , a k , b k ) , Algorithm 1
Solution to the optimal cache and transcodingstrategy
Initialize: the cache variable τ qi,l = 0 and transcoding variable o qi,l = 0 , for ≤ i ≤ I q , ≤ l ≤ L, q ∈ Q . Initialize thesize of MEC cache SC q , the size of segment s i,l , the storedsegment on the p MEC server χ pi,l , the transmission bandwidthbetween the MEC servers q and p , the transmission bandwidthbetween the MEC server q and the cloud server CP q,cloud ,the updating time duration T D and the calculation capacityof the q MEC server C q , for ≤ i ≤ I q , ≤ l ≤ L, q ∈ Q , p ∈ Q \{ q } .Let denote the 0-1 integer programming problem (24) by PA,and the corresponding linear programming problem is PB. Output: τ qi,l , o qi,l , for ≤ i ≤ I q , ≤ l ≤ L, q ∈ Q .Transform τ qi,l and o qi,l to the slack variable ≤ τ qi,l ≤ , ≤ o qi,l ≤ , for ≤ i ≤ I q , ≤ l ≤ L ;Solve the PB and obtain the optimal solution X ∗ based onSimplex Algorithm;Select a feasible solution from PA and use its objectivefunction value as the lower bound of X ∗ ; while elements in X ∗ don’t satisfy ( τ qi,l , o qi,l ) = (0 , , (0 , or (1 , , ≤ i ≤ I q , ≤ l ≤ L do Select one ( τ qi,l , o qi,l ) in PB that does not satisfy the 0-1 in-teger condition, and add the constraints ( τ qi,l , o qi,l ) = (0 , , ( τ qi,l , o qi,l ) = (0 , and ( τ qi,l , o qi,l ) = (1 , to the PB toformulate the subproblem PB , PB and PB ;Employ the Simplex Algorithm to solve the PB , PB andPB without considering the 0-1 integer constraints;Select the maximum objective function value from thesolutions of PB , PB and PB as the new upper boundof X ∗ ;Select the minimum objective function value which satis-fies the 0-1 integer condition from each subproblem as thenew lower bound of X ∗ ;Delete the subproblem whose objective function valuedoes not belong to the interval between the lower boundand upper bound;Update the optimal solution X ∗ ; end we need to assign RB n to the client with the maximum CI h q k,n as follows: a h q k,n ∗ = , k = arg max k ∈ Z ( h q ) CI h q k,n , otherwise (25)Based on the above analysis, the criteria used to determinethe RB assignment, MCS selection, video segment cacheand transcoding have now been obtained. The optimizationprocess is executed in every updated period, and our solutionprocedures are summarized in Algorithm 2 named CTRA(Cache, Transcoding and Resource Allocation).VI. S IMULATION R ESULTS
A. Parameter Setting
In this section, we modified the Vienna LTE-A simulationplatform by adding cloud server, MEC server and joint opti- Algorithm 2
CTRA
Initialize: the total available RB set Ω( h q ) = { , ..., N h q } and the set of the RBs assigned to client k, N h q k = ∅ , for k ∈ Z ( h q ) , h q ∈ H q , q ∈ Q . Initialize the RB assignmentindicator and the MCS indicator a h q k,n = 0 , b h q k,m = 0 , for k ∈ Z ( h q ) , n ∈ Ω( h q ) , h q ∈ H q , q ∈ Q . Output: τ qi,l , o qi,l , a h q k,n , b h q k,m , for ≤ i ≤ I q , ≤ l ≤ L, k ∈ Z ( h q ) , h q ∈ H q , q ∈ Q . for q ∈ Q dofor h q ∈ H q dowhile there are RBs unassigned and packets left inMAC queue ( Ω( h q ) (cid:54) = ∅ and Z ( h q ) (cid:54) = ∅ ) dofor n ∈ Ω( h q ) dofor k ∈ Z ( h q ) do Update the RB assignment set, N h q k = N h q k (cid:83) { n } ;Obtain optimal MCS selection b h q k,m ∗ withfixed N h q k ;Obtain the optimal cache variable andtranscoding variable, τ qi,l , o qi,l based on Al-gorithm 1;Calculate the utility level U ( τ k ∗ , o k ∗ , a k , b k ∗ ) based on Eq.(17);Calculate the value of the cost function CI k,n based on Eq.(19); end Assign RB n to the client with the maximum CI k,n , k ∗ = arg max k ∈ Z ( h q ) CI k,n ;Update the RB assignment set N h q k = N h q k \{ n } , RB assignment indicator a h q k,n ∗ = 0 and MCS index b h q k,m ∗ = 0 for k (cid:54) = k ∗ ;Remove RB n from the available RB set, Ω( h q ) = Ω( h q ) \{ n } ; if all the packets of client k can be transmitted, (cid:80) n ∈ N hqk ∗ a h q k,n ∗ r ∗ m ≥ LS k ∗ then Remove client k ∗ from the set Z ( h q ) . endendendendend mization algorithm of the video segment cache, transcodingand wireless resource allocation. The detailed parameter set-tings are presented in Table I.Since the number of test videos and the CPU processingspeed are limited, we reduce the cache capacity and computingcapacity of the MEC server and the number of requestedvideos compared with the actual scenario. The test videosare downloaded from the websites of [33] and [34]. The testvideo with the lowest video rate is Highway, while the videowith the highest rate is Park joy. The initial video popularityfollows a Zipf distribution with parameter β = 0 . , whereas TABLE IS
IMULATION P ARAMETER C ONFIGURATION
Position of eNodeBs [600, 342],[600, -342], [0, -690],[-600, -342], [-600 342], [0, 690] (m)Bandwidth 20MHzTransmitting power of eNodeB 100 dBmPosition of MEC servers [-600,0], [0,0], [600, 0] (m)Transmission capacity betweenMEC server and cloud server 500MbpsTransmission capacity amongMEC servers 200MbpsComputing capacity of MEC server 3.6 G CyclesChannel model Typical urbanPropagation model Marco-cell urbanPathloss 20dBThe number of clients 378TTI (Transport Time Interval) 1 msSimulation time 60000 msVideo segment encoder H.264/AVCVideo sequence CIF format: Bus,Coastguard,Highway,Flower, Foreman, Crew, News, Soccer720P format: ParkingLot1,Stockholm,Mobcal, In to tree, Park joy, Shields,Ducks take off,Old town crossThe number of framesin one segment 60Frame rate 30 fpsWidth × Height 352 × × α = 0 . , ζ = 0 . , T D = 50 ms, ω = 2 , µ = 30 Cycle/byte, ω = 2 , θ = 0 . , θ = 1 , θ = 1 , θ = 0 . the video request arrival rate follows a Poisson distributionwith rate λ = 0 . . The algorithms compared in this sectionare as follows:(1) CTRA: The proposed joint optimization algorithm inthis paper.(2) LRU-RR (Least Recently Used and Round Robin)[35][36]: The cache strategy and the transcoding strategy arebased on the video segment popularity in the previous period.The resource allocation is based on RR algorithm.(3) LFU (Least Frequently Used and Round Robin)[35][36]: The cache strategy and the transcoding strategy arebased on the video segment popularity up to the current period.The resource allocation is based on RR algorithm.(4) RBCC (Retention-based Collaborative Caching) [9]: Ittakes into account the values of the requested video segmentfrom the neighborhood clients for caching at each localedge server to improve client’s QoE without considering thetranscoding. The resource allocation is based on the requestvideo segment rate.(5) Greedy MSMC (Greedy MEC Servers Map Clients)[28]: The goal of this work is to maximize the QoE oftotal clients and proportional fairness of the bitrate allocationwithout considering the transcoding.
1) Performance Evaluation:
We validate the performancein terms of client’s throughput, system backhaul traffic, videoquality, presentation switch and hit ratio of video segmentand the playback rebuffering time under different simulationconfigurations.In Fig. 5. (a), (b) and (c), we compare client throughputwhen the cache space of MEC servers 1, 2 and 3 is 650 MB,600 MB and 550 MB, respectively. Compared with that of theother four algorithms, the clients’ throughput for the CTRA (a) (b)(d)(c) Fig. 5. (a)-(c) Throughput of each client for different update algorithms servedby MEC servers 1, 2 and 3. (d) Average throughput of all clients for differentupdate algorithms vs. different total MEC storage sizes. algorithm is the highest overall because it comprehensivelyconsiders the sizes of the requested segments and the client’scurrent remaining buffer time and dynamically adjusts the seg-ment update strategy and resource allocation strategy to ensurethat the client’s throughput can meet the smooth playbackrequirements. Fig. 5. (d) presents the average throughput fordifferent total MEC cache sizes. In the initial stage, the averagethroughput of the CTRA algorithm is the highest, followed bythat of the Greedy MSMC and RBCC algorithms and finallythe LRU-RR algorithm. As the MEC cache space increases,the average throughput of the Greedy MSMC and RBCCalgorithms is relatively close, alternately leading in differentMEC cache sizes, but always outperforming the LFU-RR andLRU-RR algorithms. When the total MEC cache space is 3.0GB, the average throughput of each algorithm reaches themaximum, and the average throughput of the CTRA algorithmincreases by 40.82%, 37.54%, 9.77% and 3.11% comparedwith that of LRU-RR, LFU-RR, RBCC and Greedy MSMC,respectively. The results show that as the MEC cache spaceincreases, more different presentations of segments can becached to meet the requirements of different clients to improvetheir throughput. In addition, the CTRA algorithm can adjustthe video segment cache, transcoding and wireless resourceallocation dynamically in different MEC cache spaces, whichcan effectively improve the client’s throughput.In Fig. 6. (a), (b) and (c), we compare the clients rebufferingtime when the cache space of MEC servers 1, 2 and 3is 650 MB, 600 MB and 550 MB, respectively. Comparedwith the other four algorithms, the clients rebuffering timewith the CTRA algorithm is the highest overall because itcomprehensively considers the clients current channel stateand remaining buffer time to cache or transcode the ap-proximate presentation of video segments to ensure smoothplayback. Fig. 6. (d) presents the average rebuffering time (a) (b)(d)(c)
Fig. 6. (a)-(c) Rebuffering time of each client for different update algorithmsserved by MEC servers 1, 2 and 3. (d) Average rebuffering time of all clientsfor different update algorithms vs. different total MEC cache sizes. for different total MEC cache sizes. In the initial stage, theaverage rebuffering time of the CTRA algorithm is the lowest,followed that of the Greedy MSMC and RBCC algorithmsand finally the LRU-RR algorithm. As the MEC cache spaceincreases, the average rebuffering times of the Greedy MSMCand RBCC algorithms are relatively close, alternately leadingin different MEC cache sizes, but always lower than that ofthe LFU-RR and LRU-RR algorithms. When the total MECcache space is 3.0 GB, the average rebuffering time of eachalgorithm reaches the minimum, and the average rebufferingtime of the CTRA algorithm is reduced by 27.95%, 22.43%,10.46% and 8.25% compared with LRU-RR, LFU-RR, RBCCand Greedy MSMC, respectively. The results show that as theMEC cache space increases, the CTRA algorithm can achievea shorter rebuffering time by means of the effective videosegment cache, transcoding and wireless resource allocation.In Fig. 7. (a), (b) and (c), we compare the PSNR of receivedvideo segments of each client when the cache of MEC servers1, 2 and 3 is 650 MB, 600 MB and 550 MB, respectively.Compared with the other algorithms, although some clients’received video quality with the CTRA algorithm is lower, thereceived video quality of most clients is higher. Since theutility function model of the CTRA algorithm considers theeffect of the PSNR of received video frames on the client’sQoE, the video quality of most clients can be maintained at ahigh level. Fig. 7. (d) presents the average PSNR of all clientswith different total MEC cache sizes. As the MEC cache spaceincreases, the average PSNR of all clients for each algorithmgrows gradually, and the CTRA algorithm always maintainsthe highest PSNR.Fig. 8. (a)(b) present the number of average switches andaverage switching magnitudes for video segment presentationwith different numbers of clients when the total MEC cachespace size is 1.8 GB. As the number of clients increases, the (a) (b)(d)(c) Fig. 7. (a)-(c) PSNR of received video segments of each client for differentupdate algorithms served by MEC servers 1, 2 and 3. (d) Average PSNRof received video segments of all clients for different update algorithms vs.different total MEC cache sizes. (a) (b) e s Fig. 8. (a) Average number of switches vs. different number of clients. (b)Average switching magnitude vs. different number of clients. average number of switches and average switching magni-tude of video segments of each algorithm increase graduallybecause more clients compete for limited cache, transcodingand wireless resources. The MEC server has difficulty con-sistently providing the same presentation of video segmentsfor clients, so clients must receive different presentations ofvideo segments to ensure smooth playback. When the numberof clients is higher than 414, the average switching timesand switching magnitude of the RBCC and Greedy MSMCalgorithms alternately lead but are always lower than thoseof the LRU-RR and LFU-RR algorithms. This is because theRBCC and Greedy MSMC algorithms take into account theclients experience and reduce the video quality fluctuationcaused by the presentation switch.We present the backhaul traffic of MEC servers with differ-ent numbers of clients and hit ratios of segments with differenttotal MEC cache sizes in Fig. 9. In Fig. 9. (a), when the totalMEC cache space is 1.8 GB, due to the limited MEC cachespace and the increase in requested video segments, the MECserver needs to cache and delete video segments frequently,which results in an increase in backhaul traffic between the (a) (b)
Fig. 9. (a) Backhaul traffic of MEC servers for different update algorithmsvs. different numbers of clients. (b) Hit ratio of segment of all clients fordifferent update algorithms vs. different total MEC cache sizes.
MEC server and the cloud server. Fig. 9. (b) shows that asthe MEC cache size increases, the segment hit ratio of eachalgorithm gradually increases because the increase in the MECcache size ensures that more presentations of the segment canbe precached in the MEC server. When the client requests anew segment, the eNodeB can directly download the requiredsegment from the MEC server and deliver it to the client.The hit ratio of the video segment of the CTRA algorithmremains the highest throughout the entire process becausethe cooperation mechanism can help the local MEC serverdownload the requested segments from the neighboring MECservers quickly. VII. C
ONCLUSION
In this paper, we propose a joint optimization of MEC-assisted video segment cache, transcoding and wireless re-source allocation. First, we predeploy the MEC cache based onhistorical video request data to improve the utilization of theMEC cache space. The popularity of video segments basedon the number of requests and the client’s channel state isemployed to divide the MEC cache area and obtain the videosegment delete strategy. Then, the client’s channel state, play-back status and cooperation mechanism among MEC serversare combined to calculate the client’s priority, presentationswitching magnitude, continuous playback time and PSNRof received video frames. Based on the above four factors, autility function model based on the clients QoE is established.In each update period, with the constraints of MEC storagecapacity, transcoding capacity, transmission bandwidth amongMEC servers and the transmission capacity of the eNodeB,the joint optimization of video segment cache, transcoding andwireless resource allocation is formulated as a mixed-integernonlinear programming mathematical model to maximize thetotal utility of the clients. Finally, a low-complexity heuristicalgorithm is proposed to decompose the original probleminto multiple subproblems. We provide numerical simulationresults in terms of system throughput, system backhaul traffic,video quality, hit ratio of video segments and playback re-buffering time. The results show that our proposed algorithmoutperforms the LRU, LFU, WGDSF and RBCC algorithms.A
CKNOWLEDGMENT