Introduction
A. Motivation
In has, a video is divided into short intervals known as video segments, and they are provided at multiple representations. Different representations embody different quality levels of a segment, potentially at different spatial resolutions, and are encoded at different bitrates. As for our approach, the bitrate is the most relevant characteristic of a representation, we will mostly use the term bitrate to denote a representation throughout this paper. Since a video is offered in different bitrates (representations) for each segment, a client can choose for each segment the most compatible representation according to the device properties and currently available network bandwidth and, thus, adapt the video playout to dynamically changing network conditions.
The edge computing paradigm brings storage and computation capabilities close to the clients, enabling more efficient video streaming. Leveraging the storage capacity at the edge allows for caching the popular segments/bitrates at the edge to serve clients’ requests with minimum latency. Although storage devices come with enormous capacities and lower prices nowadays, considering the massive amount of videos and storage limitations on the edge servers, it is impossible to store all segments/bitrates at an edge server. Moreover, it incurs high overhead in storage to keep all segments/bitrates, especially for those video segments/bitrates that are rarely requested. Cha et al. [1] showed that video requests follow a long-tail access pattern, and only a small fraction of videos are popular. Popular videos account for almost 80% of the total views, while other videos receive few requests. Considering this fact, some papers like [2], [3], [4], [5], [6], [7] proposed transcoding-enabled adaptive video streaming by storing the popular segments/bitrates at the edge server. They store only the highest bitrate of unpopular segments and prepare the remaining bitrates through transcoding processes. In other words, when a client requests a popular segment/bitrate, it will be served immediately from the edge’s storage, which imposes storage cost. In contrast, a request for an unpopular segment/bitrate will be served by transcoding from a higher bitrate to the desired one, which results in computation cost. However, transcoding is inherently a computationally-intensive and time-consuming process, imposing significant cost and delay.
B. Challenges and Contributions
In our previous work [5], we intended to answer the following questions: (i) How to design a light-weight transcoding method at the edge? (ii) How the proposed transcoding method can be cost-effective at the edge? For the first research question, we introduced a novel technique for transcoding called
To address the above issues, in this study, we extend our investigation in [5] by proposing
We propose a framework to serve the clients’ requests at the edge server with limited resources by selecting a suitable policy including store, transcode, and fetch for each segment/bitrate, and react to changing clients’ request patterns and available resources at the edge server.
We formulate the problem of minimizing the total cost, including storage, computation, and bandwidth costs, and requests’ serving delay as a Binary Linear Programming (BLP) model and prove its NP-hardness.
To mitigate the time complexity of the proposed BLP model, we introduce two heuristic algorithms of polynomial time complexity that achieve close performance to the BLP one in our simulations.
We add more optimal decisions to the metadata to further decrease the transcoding time at the edge. The evaluation results indicate that the transcoding time is decreased by up to 97%.
We investigate various content-dependent parameters like video content complexity and segment length on CD-LwTE’s performance.
We compare the performance with conventional transcoding (without using metadata) using both AVC/H.264 and HEVC/H.265 video compression standards in various encoding settings and processing power profiles.
We compare CD-LwTE with the state-of-the-art approaches. The results indicate that CD-LwTE compared with the state-of-the-art approaches reduces the streaming cost and delay by up to 75% and 48%, respectively.
C. Paper Organization
The remainder of the paper is organized as follows. Section II highlights related work. CD-LwTE is described in Section III and evaluated in Section IV. Section V concludes the paper and outlines future work.
Related Work
Leveraging edge capabilities to deliver videos efficiently is widely used in video streaming applications. We classify these approaches into the following categories based on the employed approach and cost function: (i) resource provisioning and (ii) transcoding optimization.
A. Resource Provisioning
Zhao et al. [4] formulated a model to minimize storage and computation costs for VoD by considering segment popularity and a weighted transcoding graph, which shows the transcoding cost for each representation from the higher representations in the representation set. Their formulation, however, did not take into account any resource constraints. To minimize the backhaul network cost, Tran et al. [2] modeled the collaborative joint caching and transcoding problem as an Integer Linear Program (ILP). To mitigate the proposed model’s time complexity and impractical overheads, they presented an online algorithm to determine cache placement and video scheduling decisions. They extended their work to minimize the expected video retrieval delay [3]. Gao et al. [8] addressed resource provisioning issues for transcoding in cloud platforms to maximize financial profit. They presented a two-timescale stochastic optimization algorithm to provision resources and schedule tasks. The authors employed an open-source cloud transcoding system called Morph to implement and evaluate the proposed algorithm. Jia et al. [9] formulated joint optimization for caching, transcoding, and bandwidth consumption in 5G mobile networks with mobile edge computing. However, they did not consider the delay imposed by these policies. [10] tried to improve the users’ QoS in terms of delivered video quality and end-to-end latency for live streaming by employing transcoding at the edge of the network. The problem is formulated as a Markov Decision Process (MDP) by considering wireless network characteristics and available resources at the edge server. Transcoding-enabled caching in the Radio Access Network (RAN) to improve the network’s video capacity has been introduced in [11].
Zhang and Mao [12] proposed a model to serve the clients’ requests by video caching, transcoding, and fetching from the origin server, aiming at minimizing the average serving delay. They formulated the problem as a mixed-integer bi-linear problem by considering resource constraints, i.e., storage, computation, and bandwidth, at the edge server. Reference [13] formulated transcoding-enabled caching at the edge to maximize the video provider’s profit without knowing the video requests’ pattern. Bilal et al. [14] introduced a collaborative joint caching and transcoding model using the X2 network interface [15] for sharing video data among multiple caches to minimize backhaul traffic, serving delay, and CDN cost. Lee et al. [16] presented a model aimed at reducing the transcoding power consumption at the edge servers by taking into account video quality factors. Reference [17] formulated the problem of serving clients’ requests by selecting a policy, including caching and transcoding at the edge and fetching from the origin server as a two-stage Stochastic Mixed-Integer Programming (SMIP) model to minimize the total energy consumption. Reference [18] employs SDN, edge computing, and NFV capabilities to propose an SDN-based framework named S2VC. It aims to maximize QoE and QoE fairness in SVC-based HTTP adaptive streaming. The authors formulate the problem of determining the optimal bitrate and data paths for delivering the requested segments as a MILP model. Reference [19], [20] leverage SDN and NFV capabilities to determine bitrate adaptation and flow paths for the client requests. Tashtarian et al. [21] propose HxL3, an architecture for low latency and QoE guarantee in Low latency Live (L3) streaming at the global Internet scale. It addresses different issues where transport protocols like TCP experience poor bandwidth and the E2E delivery path between endpoints is long. The authors provide a practical implementation of the proposed solution, and real-world experiments over the Internet show the advantage of HxL3 over its competitors in improving QoE for a given target latency. Erfanian et al. [22], [23] introduced OSCAR as a framework for real-time streaming. OSCAR serves clients’ requests by minimizing bandwidth usage and transcoding costs. After aggregating requests at the edge servers, OSCAR transfers the highest requested bitrate from the origin server to the optimal set of Point of Presence (PoP) nodes. After that, virtual transcoders hosted at PoP nodes transcode the highest requested bitrate to those requested by clients. Finally, these bitrates are transferred to the edge servers and corresponding clients, respectively.
B. Transcoding Optimization
Jin et al. [24] introduced a partial transcoding approach at the edge servers. They proposed storing the full representation set for a few popular videos, keeping the highest bitrate for the rest, and preparing the other bitrates on demand by utilizing on-the-fly transcoding. They formulated the problem to minimize the total cost, including storage, transcoding, and bandwidth costs. Gao et al. [7] employed a partial transcoding method based on user viewing patterns in the cloud. Wang et al. [25] proposed an algorithm to determine edge servers for transcoding operations to improve perceived quality by clients. A distributed platform at the edge named Federated-Fog Delivery Network (F-FDN) has been introduced in [26]. Intending to minimize video streaming latency, F-FDN stores only one bitrate of non-popular videos and leverages the edge server computing power to provide requested bitrates at the edge. Reference [27] introduced some policies for on-the-fly transcoding to improve transcoding efficiency. Li et al. [28] compared the impact of transcoding and bitrate-aware caching on consumers’ QoE through various experiments across different bandwidth patterns, cache capacities, and popularity skewness. The authors of [29] investigated the main issues for video transcoding and formulated resource provisioning for transcoding in the cloud and caching in the network to minimize resource consumption and QoE loss. Li et al. [30] analyzed the transcoding performance for different types of cloud virtual machines in terms of transcoding time. Based upon the findings and by considering the cost of each virtual machine type, they also introduced a model to measure the suitability of each type of cloud virtual machine for transcoding.
In our previous work, we employed the edge computing and Network Function Virtualization (NFV) paradigms to propose a novel technique for transcoding called
System Model and Problem Formulation
A. General Architecture
The edge computing paradigm provides storage and computation capabilities closer to clients, resulting in a lower latency than the cloud. By employing edge resources, we propose a novel architecture to serve clients’ requests by determining an appropriate solution, which is defined as applying a set of policies (i.e., store, transcode and fetch) at the network edge resulting in a reduction of the overall adaptive streaming cost and delay. As depicted in Fig. 1, the proposed architecture consists of three entities named (i) origin server, (ii) edge servers, and (iii) HAS players. The origin server fragments a high-quality video into short-duration parts named segments. Each segment is encoded at various bitrates, yielding a bitrate ladder (representation set). We extract some encoding features, i.e., metadata, during the encoding process for reuse at the edge server to avoid brute-force search in the transcoding processes and consequently reduce the transcoding times at the edge server. Note that extracting metadata during the encoding process introduces no overhead, i.e., computation and delay, to the system.
A HAS player requests segments with desired bitrates, i.e., resolution/quality, based on the client’s parameters, e.g., network condition and device properties. Each edge server provides computation, storage, and networking capabilities to support context-aware and delay-sensitive applications close to the clients. This paper employs the edge server for both caching (i.e., video storage) and processing (i.e., video transcoding). The proposed system for the edge server is deployed as a Virtual Network Function (VNF) and acts as a Virtual Reverse Proxy (VRP). The VRP is responsible for receiving the HAS players’ requests, preparing the requested segments in desired bitrates, and finally sending them to the HAS players. The VRP serves the incoming requested segments through the following modules:
Request Collector Module (RCM): This module is responsible for collecting the players’ requests. The incoming requests are held on until the Request Handler Module prepares the requested segments/bitrates. After that, the RCM sends the requested segments/bitrates to the players. Moreover, upon receiving a request, the RCM updates the Monitoring Module.
Request Handler Module (RHM): The RHM is responsible for serving the requested segments/bitrates using the following policies:
Store: This policy stores the popular segments/bitrates in the available storage at the edge server and replies to the incoming requests for them immediately from the edge server. Employing this policy introduces no delay in serving the requested segments/bitrates.
Transcode: This policy leverages the available computation resources at the edge server to prepare requested segments/bitrates by transcoding them from a higher bitrate. Therefore, the transcode policy introduces serving delay. Note that we need to store the metadata in case of using the LwTE approach for transcoding. However, the size of the metadata is very small compared to the corresponding video data.
Fetch: This policy serves the incoming requests by fetching the requested segments/bitrates from the origin/CDN server. The fetch policy imposes bandwidth cost and puts pressure on the backhaul network. Moreover, the fetch policy introduces a serving delay equal to the required time for fetching the requested segment/bitrate from the origin/CDN server, which may fluctuate due to varying traffic in the backhaul network.
Optimizer Module (OM): This module determines an appropriate policy for each segment/bitrate by considering the parameters provided by the Monitoring Module, such as the number of incoming requests, segments’/bitrates’ popularities (request probabilities), and available resources at the edge server for a time slot. The details of the OM are described in Section III-C.
Monitoring Module (MM): The MM keeps the status of the resources, i.e., storage, computation, and bandwidth at the edge server. Moreover, it tracks the players’ behavior by storing the statistics of the incoming requests, including the segments’/bitrates’ popularities. The solution determined by the OM depends on the input parameters, such as the number of incoming requests, segments’/bitrates’ popularities (request probabilities), and available resources at the edge server. Thus, in case of non-trivial changes in each of the input parameters, i.e., exceeding given thresholds, the MM triggers the OM to determine a new solution. For example, the OM is triggered to find a new solution when the number of requests arriving at the edge server exceeds a given threshold.
B. Metadata Extraction
Video compression standards are deploying more sophisticated tools compared to their predecessors to reduce the encoding bitrates at the same level of video quality. This improvement, however, comes at the cost of increased time complexity. For example, HEVC/H.265 compared to AVC/H.264 achieves 50% bitrate savings when encoding videos at the same video quality. In HEVC/H.265 [32], video frames are divided into fixed-size blocks named CTUs with the size of 64
Each CTU is divided into CUs with different sizes and after an exhaustive search processes the optimal search decision is made.
Since the search process is very time-consuming and takes the majority of encoding time, we store the optimal decisions, including CU, PU, and TU partitioning and motion vectors as metadata, to avoid the same search process at the edge servers. The size of metadata compared to its corresponding video data is very small and leveraging it in the transcoding process at the edge results in a significant transcoding time reduction due to skipping unnecessary search processes.
C. Proposed BLP Optimization Model
The OM should determine a solution for serving requests for a time slot with a given duration of
Policy constraints: In the first group of constraints, we define two constraints to select the policy for each segment/bitrate. Let \begin{equation*} \sum _{p\in \mathcal {P}}{x^{i,j}_{r,p}}=1, \forall i \in \mathcal {V}, j \in {S_{i}}, r \in \mathcal {K} \tag{1}\end{equation*}
\begin{equation*} x^{i,j}_{r,q} \leq \sum _{b > r} {x^{i,j}_{b,p}}, \forall i \in \mathcal {V}, j \in {S_{i}}, b, r \in \mathcal {K} \tag{2}\end{equation*}
Resource constraints: In this group of constraints, the cost of using resources (i.e., processing, storage, and bandwidth) associated with the selected policies are considered. Moreover, applying policies that exceed the available amount of resources should be prevented. The cost of transcoding the given bitrate
Thus, in the case of applying the transcoding policy, the total processing cost \begin{equation*} \mathcal {C}_{\mathcal {P}}~:~\sum _{i\in \mathcal {V}}\sum _{j\in {S_{i}}}\sum _{r\in \mathcal {K}}x^{i,j}_{r,p} \times \underbrace {\rho \times F\left ({i,j,r}\right)}_{\mathrm{ number~of~requests}} \times \underbrace { \Delta _{\mathcal {P}}\times R^{i,j}_{r} }_{\mathrm{ transcoding~cost}}, \end{equation*}
The following constraint guarantees the required computation resources do not exceed the available ones (denoted by \begin{equation*} \sum _{i\in \mathcal {V}}\sum _{j\in {S_{i}}}\sum _{r\in \mathcal {K}}{ x^{i,j}_{r,p}\times \rho \times F\left ({i,j,r}\right) \times R^{i,j}_{r} } \leq \delta _{\mathcal {P}},\quad \tag{3}\end{equation*}
\begin{equation*} \mathcal {C}_{\mathcal {B}}~:~\sum _{i\in \mathcal {V}}\sum _{j\in {S_{i}}}\sum _{r\in \mathcal {K}}x^{i,j}_{r,p} \times \underbrace {\rho \times F\left ({i,j,r}\right)}_{\mathrm{ number~of~requests}} \times \underbrace {\Delta _{\mathcal {B}} \times \omega ^{i,j}_{r}}_{\mathrm{ bandwidth~cost}}, \end{equation*}
\begin{equation*} \sum _{i\in \mathcal {V}}\sum _{j\in {S_{i}}}\sum _{r\in \mathcal {K}}{ x^{i,j}_{r,p} \times \rho \times F\left ({i,j,r}\right) \times \omega ^{i,j}_{r} } \leq \delta _{\mathcal {B}}, \tag{4}\end{equation*}
\begin{align*}&\mathcal {C}_{\mathcal {S}}~:~\sum _{i\in \mathcal {V}}\sum _{j\in {S_{i}}}\sum _{r\in \mathcal {K}} \Delta _{\mathcal {S}} \\&\;\times \left (\underbrace { x^{i,j}_{r,p} \times \omega ^{i,j}_{r}{}}_{\mathrm{ required~storage~for~bitrate}} + \underbrace {x^{i,j}_{r,q} \times {\bar {\omega }}^{i,j}_{r}{}}_{\mathrm{ required~storage~for~metadata}}\right ), \end{align*}
\begin{equation*} \sum _{i\in \mathcal {V}}\sum _{j\in {S_{i}}}\sum _{r\in \mathcal {K}} \left ({x^{i,j}_{r,p}\times \omega ^{i,j}_{r} + x^{i,j}_{r,q} \times \bar {\omega }^{i,j}_{r}}\right) \leq \delta _{\mathcal {S}} \tag{5}\end{equation*}
Delay model: As mentioned earlier, we aim at serving requests with the minimum total cost and delay. Here, we should measure the serving delay with regard to the selected policies. Thus, we formulate the total serving delay, namely \begin{equation*} \mathcal {D}~:~\sum _{i\in \mathcal {V}}\sum _{j\in {S_{i}}}\sum _{r\in \mathcal {K}}\left ({\underbrace {x^{i,j}_{r,p}\times \xi ^{i,j}_{r}}_{\mathrm{ fetching~delay}}+{\underbrace {x^{i,j}_{r,q}\times \psi ^{i,j}_{r}}_{\mathrm{ transcoding~delay}}}}\right),\end{equation*}
Optimization problem: Finally, the BLP model is introduced as follows:\begin{align*} {\mathit {Minimize}}&~\frac {\alpha \left ({\mathcal {C}_{\mathcal {P}}+\mathcal {C}_{\mathcal {B}}+\mathcal {C}_{\mathcal {S}}}\right)}{\mathcal {C}^{\star }} + \frac {(1-\alpha) \mathcal {D}}{\mathcal {D}^{\star }} \\ s.t.&~\mathrm {Equations }~(1)\,-\,(5) \\&~vars.~:~x^{i,j}_{r,x}\in \left \{{0,1}\right \}\tag{6}\end{align*}
Theorem 1:
The problem of selecting an optimal policy, i.e., store, transcode, and fetch for video segments/bitrates to serve clients’ requests with the minimum cost and delay under edge resource constraints, i.e., storage, computation, and bandwidth, is an NP-hard problem.
Proof:
To show that a problem is NP-hard, we need to reduce an already proven NP-hard problem to the addressed problem [35], [36]. To this end, let us assume a simple case of the problem that only a limited amount of storage capacity is available at the edge. Moreover, let us consider
D. Heuristic Algorithms
To mitigate the proposed BLP model’s time complexity, we introduce the following two heuristic algorithms: (
Assume that we have a small storage capacity compared with the given video set, and a high number of incoming requests. In this scenario, the observation is that the proposed approaches first select the store policy for segments/bitrates as it results in a reasonable cost value. When the storage capacity is over, the only feasible option is the fetch policy since there is no storage capacity left to store bitrates and metadata for applying the store and transcode policies, respectively. In this scenario, allocating a part of the storage capacity to the transcode policy, i.e., for storing required metadata may lead to a better solution. Therefore, we divide the storage capacity into two parts in both proposed heuristic algorithms. The first part denoted as
1) FGH Algorithm:
Inspired by the dynamic programming approach, we introduce the FGH algorithm in two sub-algorithms. The main body of the FGH algorithm, which is depicted in Algorithm 1, determines a solution by considering various thresholds between the
Algorithm 1 FGH Algorithm
Resources, Items, Tr
curTr
checkpoints, result
while
curTr
if
result
end if
end while
return result
In the FGH algorithm, segments/bitrates in the set Items are first sorted based on their popularity. The CostFunc() function, described in sub-algorithm Algorithm 2, is then called to determine (i) the policy for each segment/bitrate in Items and (ii) checkpoints when
Algorithm 2 CostFunc()
Items, maxObj, initParam, Tr, threshold
resources
si
result
inx
for all
sp
for
if
(
(
(
sp
so
end if
end for
if sp = 1 then
end if
if
break
end if
if
inx
end if
end for
return checkpoints, result
We clarify the FGH algorithm by an example illustrated in Fig. 3 (a), where FGH should determine the solution for serving arriving requests for 60 segments/bitrates in Items. In Fig. 3 (a), the orange, blue, and green rectangles show the store, transcode, and fetch policies, respectively.
(a) A simple example of the proposed FGH algorithm and (b) an illustrating example of clusters and sub-clusters.
In the first iteration, the policy set for all segments/bitrates (Items) is determined by calling the CostFunc() function. For segments/bitrates 1 to 47, store or transcode policy is selected, while for segments/bitrates 48 to 60 the fetch policy is selected. The information related to all thresholds is then stored in the checkpoints set (Tr[0] to Tr[4]). In the next iteration, the allocated storage for
The average time complexity of the Sort function in Algorithm 1 is
2) CGH Algorithm:
Based on the obtained results of the proposed FGH algorithm, we found there is a correlation between the selected policies and segments’/bitrates’ popularity and size. In other words, segments with a similar popularity/size got an identical policy. Thus, the second heuristic algorithm (CGH) groups segments/bitrates into a limited number of clusters and sub-clusters, based on their popularity and bitrate, respectively. The CGH algorithm then determines the policy for each sub-cluster to serve incoming requests. The CGH algorithm consists of two sub-algorithms: In the first sub-algorithm, we perform some preprocessing operations (clustering) to prepare inputs for the main algorithm (the second sub-algorithm). All segments/bitrates in the given video set are partitioned into a given number of clusters based on their popularity by the clustering sub-algorithm (Algorithm 3). Segments/bitrates in each cluster are then split into a given number of sub-clusters based on their bitrates.
Algorithm 3 Clustering Function
Items,
cl
for all
end for
return clusters
In the first line of Algorithm 3, by employing the K-means algorithm [37] in the KmeansClustering() function, we partition segments/bitrates in Items into
Similar to Algorithm 1, in the main CGH algorithm (Algorithm 4), we find a near-optimal solution and storage threshold. However, Algorithm 4 determines the policy for each sub-cluster in clusters instead of each segment/bitrate. Note that the input parameter clusters is provided by Algorithm 3. In line 1, we sort the input set clusters based on the popularity attribute in
Algorithm 4 CGH Algorithm
Resources, clusters, Tr
clusters
curTr
checkpoints, result
while
curTr
if
result
end if
end while
return result
Performance Evaluation
A. Evaluation Setup
To evaluate the proposed approach, we transcode videos at 30 fps to the full set of bitrates
The storage, computation, and bandwidth costs are 0.024
We evaluate the performance of CD-LwTE in five scenarios. In scenario I, we investigate the performance of CD-LwTE for different transcoding aspects. In scenario II, the performance gaps between the proposed BLP model and the proposed heuristic algorithms are measured in terms of cost, average serving delay, and execution time. In scenario III, we evaluate the performance of the proposed heuristic algorithms for different numbers of requests and videos. Scenario IV examines the performance of the proposed heuristic algorithms for various storage profiles. In the last scenario, we compare the performance of the heuristic algorithms with state-of-the-art approaches in terms of total cost and average serving delay.
B. Scenario I
Advanced Video Coding (AVC) [41], or H.264, is widely used in the industry due to its low transcoding time. HEVC/H.265 [42], the successor of AVC, shows higher compression efficiency but higher transcoding time compared to the AVC standard. The transcoding time is more crucial at the edge as the processing resources are limited. However, by leveraging metadata, CD-LwTE results in a significant reduction of transcoding time.
We compare the compression efficiency of AVC/H.264 using the
Compression efficiency of
In Fig. 4 (b) and Fig. 4 (d), the transcoding times of
To compare the size of the metadata to its corresponding video segment representation, we plot the bitrate of the metadata relative to its corresponding segment bitrate for the entire bitrate ladder, i.e.,
Average bitrates of metadata relative to its corresponding representations for (a) 4-sec. and (c) 6-sec. segments. Average transcoding times of “
We also evaluate the impact of running encoders on different AWS instances with different numbers of CPU cores and RAM profiles, namely, c5.2xlarge, c5.4xlarge, c5.9xlarge, and c5.12xlarge. Fig. 6 shows the relative transcoding times for different presets and instances averaged over the five above-mentioned sequences. Transcoding on the c5.2xlarge instance yields the highest transcoding time saving.
Average relative transcoding times over five sequences for (a) 4-sec. segments and the veryslow preset, (b) 4-sec. segments and the medium preset, (c) 6-sec. segments and the veryslow preset, (d) 6-sec. segments and the medium preset, on different AWS EC2 instances.
C. Scenario II
This scenario compares the proposed approaches (FGH, CGH, and BLP model) based on the cost and average serving delay for different
Performance of the proposed CD-LwTE approaches for different
As illustrated in Fig. 7(a) and Fig. 7(b), the BLP has higher sensitivity to
To measure the execution time for the proposed approaches, we run them with various video sets
D. Scenario III
As mentioned earlier, some input parameters, like the number of arriving requests, are time-varying and unknown in advance. The MM tracks the state of input parameters like available resources, incoming requests rate, and segments’/bitrates’ popularities and triggers the OM to find a new solution in case of non-trivial changes in the input parameters. In this scenario, we investigate the proposed heuristic algorithms’ performance for input parameters, including video set size and the numbers of arriving requests in terms of storage allocation, average serving delay, cost per time slot, and percentage of segments/bitrates and requests served by each policy. In this direction, we take into account various video set sizes (100, 500, 1000, and 5000 sequences) and numbers of arriving requests
It is obvious from Fig. 8 that the proposed algorithms show quite similar performance on these metrics.
Performance of the proposed heuristic algorithms for different video sets in terms of (a) storage allocation, (b) average serving delay, (c) cost, (d) percentage of segments/bitrates served by each policy, and (e) percentage of requests served by each policy.
Fig. 8(a) and Fig. 8(b) illustrate the average serving delay and serving cost for the proposed algorithms, respectively, where both rise sharply by increasing the video set. For
It is obvious that selecting an appropriate policy for each segment/bitrate is dependent on various parameters (i.e., cost and delay in the current study), environment constraints (i.e., available storage, computation, and bandwidth resources), and access frequency/probability (see Section III-C). For example, for
E. Scenario IV
In this scenario, we study the performance of the proposed heuristic algorithms for various storage profiles, i.e., storage capacity, in terms of resource utilization, average serving delay, cost, and percentage of segments/bitrates and requests served by each policy. We set the available storage at the edge
Performance of the proposed CD-LwTE approaches for different storage sizes in terms of (a) cost and (b) percentage of the requests served by each policy.
F. Scenario V
In the last scenario, we compare the performance of the proposed heuristic algorithms in terms of cost, cache hit ratio, and bandwidth utilization in the backhaul network with the following state-of-the-art approaches:
APCP [2]: This approach serves the incoming requests through the store, transcode, and fetch policies w.r.t. minimizing the serving delay in the cost function.
CoCache: This approach is a simplified version of the proposed algorithm in [3] that does not consider the transcode policy. In fact, CoCache tries to minimize the serving delay by selecting the store policy on the segments/bitrates as much as possible, then applies the fetch policy on the rest.
PartialCache [4]: This approach minimizes the cost by applying the store and transcode policies on segments/bitrates until the available storage and computation resources are fully utilized. After that, it serves the remaining segments/bitrates with the fetch policy.
PartialCache (
): The state-of-the-art approaches listed above use the$\times 264$ encoder in a conventional manner, i.e., without metadata for transcoding. Aiming at comparing the performance of the proposed heuristic algorithms with state-of-the-art approaches employing the$\times 265$ encoder as a fast and widely use encoder in the industry, we measure PartialCache’s performance when using the$\times 264$ encoder. For fair comparisons, we encode the considered videos with the same quality as$\times 264$ does, by using the$\times 265$ encoder. As expected and illustrated in Fig. 4, the videos encoded using$\times 264$ come up with around 50% higher bitrate and transcoding time at the same quality of$\times 264$ .$\times 265$
Note that all the considered state-of-the-art approaches determine the policy by taking into account the segments/bitrates list sorted by popularity,
Performance of the proposed CD-LwTE approaches compared with state-of-the-art approaches in terms of (a) cost, (b) average serving delay, and (c) cache hit ratio, for various
Conclusion and Future Work
In this study, we extend the investigations of our previous work [5] by proposing CD-LwTE, a