Skip to main content
Log in

Online Caching Algorithm for VR Video Streaming in Mobile Edge Caching System

Mobile Networks and Applications Aims and scope Submit manuscript

Abstract

The transmission optimization of VR video streaming can improve the quality of user experience, which includes content prediction optimization and caching strategy optimization. Existing work either focuses on content prediction or on caching strategy. However, in the end-edge-cloud system, prediction and caching should be considered together. In this paper, we jointly optimize the four stages of prediction, caching, computing and transmission in mobile edge caching system, aimed to maximize the user’s quality of experience. In terms of caching strategy, we design a caching algorithm VIE with unknown future request content, which can efficiently improve the content hit rate, as well as the durations for prediction, computing and transmission. The VIE caching algorithm is proved to be ahead of other algorithms in terms of delay. We optimize the four stages under arbitrary resource allocation and obtain the optimal results. Finally, under the real scenario, the proposed caching algorithm is verified by comparing with several other caching algorithms, simulation results show that the user’s QoE is improved under the proposed caching algorithm.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Algorithm 1
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Data Availability

Data will be made available on reasonable request.

References

  1. Bastug E, Bennis M, Medard M, Debbah M (2017) Toward interconnected virtual reality: opportunities, challenges, and enablers. IEEE Commun Mag 55(6):110–117

    Article  Google Scholar 

  2. Kattadige C (2021) Phd forum: encrypted traffic analysis & content awareness of 360-degree video streaming optimization. In: 2021 IEEE 22nd International symposium on a world of wireless, mobile and multimedia networks (WoWMoM)

  3. Fan CL, Lo WC, Pai YT, Hsu CH (2019) A survey on 360\(^{\circ }\) video streaming: acquisition, transmission, and display. ACM Computing Surveys (CSUR) 52(4):1–36

    Article  Google Scholar 

  4. Wei X, Yang C, Han S (2021) Prediction, communication, and computing duration optimization for vr video streaming. IEEE Trans Commun (69–3)

  5. Ji S, Lee S, Park G, Song H (2022) Head movement-aware mpeg-dash srd-based 360\(^{\circ }\) video vr streaming system over wireless network. In: 2022 IEEE 23rd International symposium on a world of wireless, mobile and multimedia networks (WoWMoM). pp 281–287. https://doi.org/10.1109/WoWMoM54355.2022.00054

  6. Xiao H, Xu C, Feng Z, Ding R, Yang S, Zhong L, Liang J, Muntean GM (2022) A transcoding-enabled 360\(^{\circ }\) vr video caching and delivery framework for edge-enhanced next-generation wireless networks. IEEE J Sel Areas Commun 40(5):1615–1631. https://doi.org/10.1109/JSAC.2022.3145813

    Article  Google Scholar 

  7. Maniotis P, Thomos N (2021) Tile-based edge caching for 360\(^{\circ }\) live video streaming. IEEE Trans Circuits Syst Video Technol 31(12):4938–4950. https://doi.org/10.1109/TCSVT.2021.3055985

    Article  Google Scholar 

  8. Yu Z, Liu J, Liu S, Yang Q (2022) Co-optimizing latency and energy with learning based 360\(^{\circ }\) video edge caching policy. In: 2022 IEEE Wireless communications and networking conference (WCNC). pp 2262–2267. https://doi.org/10.1109/WCNC51071.2022.9771944

  9. Shi J, Pu L, Xu (2020) Allies: tile-based joint transcoding, delivery and caching of \(^{\circ }\) videos in edge cloud networks. In: 2020 IEEE 13th International conference on cloud computing (CLOUD)

  10. Mahzari A, Nasrabadi AT, Samiei A, Prakash (2018) Fov-aware edge caching for adaptive \(^{\circ }\) video streaming. In: 2018 ACM Multimedia Conference

  11. Maniotis P, Thomos N (2022) Viewport-aware deep reinforcement learning approach for 360\(^\circ \) video caching. IEEE Trans Multimedia 24:386–399. https://doi.org/10.1109/TMM.2021.3052339

    Article  Google Scholar 

  12. Maniotis P, Thomos N (2020) Smart caching for live \(^{\circ }\) video streaming in mobile networks. In: 2020 IEEE 22nd international work multimed sig process (MMSP)

  13. Rondon M, Sassatelli L, Aparicio-Pardo R, Precioso F (2021) Track: a new method from a re-examination of deep architectures for head motion prediction in 360-degree videos. IEEE Trans Pattern Anal Mach Intell PP(99):1–1

  14. Zhang R, Liu J, Liu F, Huang T, Tang Q, Wang S, Yu FR (2022) Buffer-aware virtual reality video streaming with personalized and private viewport prediction. IEEE J Sel Areas Commun 40(2):694–709. https://doi.org/10.1109/JSAC.2021.3119144

    Article  Google Scholar 

  15. Liu X, Deng Y, Han C, Renzo MD (2022) Learning-based prediction, rendering and transmission for interactive virtual reality in ris-assisted terahertz networks. IEEE J Sel Areas Commun 40(2):710–724. https://doi.org/10.1109/JSAC.2021.3118405

    Article  Google Scholar 

  16. Cheng Q, Shan H, Zhuang W, Yu L, Zhang Z, S Quek TQ (2022) Design and analysis of mec- and proactive caching-based \(360^{\circ }\) mobile vr video streaming. IEEE Transactions on Multimedia 24, 1529–1544 . https://doi.org/10.1109/TMM.2021.3067205

  17. Zhu Y, Zhai G, Yang Y, Duan H, Min X, Yang X (2022) Viewing behavior supported visual saliency predictor for 360 degree videos. IEEE Trans Circuits Syst Video Technol 32(7):4188–4201. https://doi.org/10.1109/TCSVT.2021.3126590

  18. Zhao T, Hou IH, Wang S, Chan K (2018) Red/led: an asymptotically optimal and scalable online algorithm for service caching at the edge. IEEE J Sel Areas Commun 36(8):1857–1870. https://doi.org/10.1109/JSAC.2018.2844919

    Article  Google Scholar 

  19. Hou IH, Naghsh NZ, Paul S, Hu YC, Eryilmaz A (2020) Predictive scheduling for virtual reality

  20. Fan S, Hou IH, Mai VS, Benmohamed L(2021) Online service caching and routing at the edge with unknown arrivals

  21. Song Y, Wo T, Yang R, Shen Q, Xu J (2021) Joint optimization of cache placement and request routing in unreliable networks. J Parallel Distrib Comput

  22. Lo WC, Fan CL, Lee J, Huang CY, Chen KT, Hsu CH (2017) \(^{\circ }\) video viewing dataset in head-mounted virtual reality. In: the 8th ACM. pp 211–216

Download references

Funding

This work was supported in part by Natural Science Foundation of Jiangxi Province (Grant No. 20202BAB212003), Special Fund for Postgraduate Innovation of Jiangxi Province(No. YC2020-S481), Science and technology project of Jiangxi Provincial Department of Education(GJJ210854, GJJ210817) Jiangxi University of Science and Technology Graduate Innovation Special Fund Project(XY2023-S240).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yang Zhou.

Ethics declarations

Competing Interests

The authors have no competing interests to declare that are relevant to the content of this article.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix A: Proof of Lemma 1

The interval [\(\alpha \), \(\beta \)] is within a group, so there is \(\alpha <t \le \beta \) that makes OPT(t) = OPT(\(\beta \)).

Since \(te_{i}\) is deleted at both \(\alpha \)-th and \(\beta \)-th requests arrival, \(te_{i}\) must be cached in the middle of [\(\alpha \), \(\beta \)]. After the tile is removed from the buffer, the system clears its previous request data. In summary, \(te_{i}\) was requested at least \(\eta \) times in the interval [\(\alpha \), \(\beta \)].

The \(te_{i}\) is deleted at \(\beta \), which must have a \(\zeta _{i}\) in Definition 2. \(te_{i}\) is requested at least \(\eta \) times in the interval [\(\alpha \), \(\beta \)], so \((t_{0} - \zeta _{i})\) in Definition 2 is greater than \(\alpha \). In summary, In the interval [\(\alpha \), \(\beta \)], \(te_{i}\) that has been requested at least \(\eta \) times is deleted, then the remaining tiles in VIE(\(\beta \)) are requested at least \(\eta \) times in the interval [\(\alpha \), \(\beta \)].

We prove Lemma 1 in two cases.

Case 1: VIE(\(\beta - 1\)) \(\ne \) OPT(\(\beta - 1\)). VIE(\(\beta - 1\)) must have a tile \(te_{j}\) that does not belong to OPT(\(\beta - 1\)). In the interval [\(\alpha \), \(\beta \)], OPT needs to generate delay for all requests of \(te_{j}\). \(te_{j}\) is requested at least \(\eta \) times in [\(\alpha \), \(\beta \)], so OPT produces at least \(\eta \cdot (T_{e}d_{0})\) delay in [\(\alpha \), \(\beta \)].

Case 2: VIE(\(\beta - 1\)) \(=\) OPT(\(\beta - 1\)). VIE must download a tile \(te_{j} \notin \) OPT(\(\beta - 1\)) when deleting \(te_{i}\) at the arrival of the \(\beta \)-th request. According to Definition 1, there is a positive integer \(\lambda \) that causes \(\sum _{t=\beta - \lambda }^{\beta } te_{j}(t) \ge \sum _{t=\beta - \lambda }^{\beta } te^{*}(t) + \eta \). If \(\beta - \lambda \ge \alpha \), \(te_{j}\) is requested at least \(\eta \) times in the interval [\(\alpha \), \(\beta \)], so OPT produces at least \(\eta \cdot (T_{e}d_{0})\) delay in [\(\alpha \), \(\beta \)]. If \(\beta - \lambda <\alpha \), we have \(\sum _{t=\beta - \lambda }^{\alpha -1} te_{j}(t) <\sum _{t=\beta - \lambda }^{\alpha -1} te^{*}(t) + \eta \), so \(\sum _{t=\alpha }^{\beta } te_{j}(t) \ge \sum _{t=\alpha }^{\beta } te^{*}(t) \ge \eta \). OPT produces at least \(\eta \cdot (T_{e}d_{0})\) delay in [\(\alpha \), \(\beta \)].

In summary, Lemma 1 is proved.

Appendix B: Proof of Lemma 2

If OPT(t) \(\ne \) VIE(t), there must exist a tile \(te_{j}\) belongs to VIE(t) but not to OPT(t) in the system. In a group, we use r to denote the r-th tile cached at the edge, and use \(dl_{r}\) to represent the time the r-th tile cached at the edge was deleted. We set \(dl_{0} = \alpha - 1\), and if r is the last stored tile, then \(dl_{r} = \beta \). r is stored on the edge in the interval [\(dl_{[r-1]} + 1, dl_{r}\)]. Assuming \(r = te_{j}\), then \(\sum \nolimits _{t=dl_{[r-1]} + 1}^{dl_{r}} te_{j}(t) \>\sum \nolimits _{t=dl_{[r-1]} + 1}^{dl_{r}} te_{i}(t) - \eta \). If \(\sum \nolimits _{t=dl_{[r-1]} + 1}^{dl_{r}} te_{j}(t) \le \sum \nolimits _{t=dl_{[r-1]} + 1}^{dl_{r}} te_{i}(t) - \eta \), then \(te_{i}\) will be stored, which contradicts the conditions of Definition 1.

Case 1: \(r = 1\). We set \(dl_{[r-1]} + 1 = \alpha \), then \(\sum \nolimits _{t=\alpha }^{dl_{r}} te_{j}(t) \>\sum \nolimits _{t=\alpha }^{dl_{r}} te_{i}(t) - \eta \).

We next consider \(r > 1\). VIE downloads \(te_{j}\) after the arrival of \(dl_{[r-1]}\)-th request, so there are \(te_{j}^{*}\) and \(\lambda \) that satisfy the following formula:

$$\begin{aligned} \sum _{t=dl_{[r-1]} - \lambda }^{dl_{[r-1]}} te_{j}(t) \ge \sum _{t=dl_{[r-1]} - \lambda }^{dl_{[r-1]}} te_{j}^{*}(t) + \eta \end{aligned}$$
(B1)

Case 2: \(r > 1\), and \(dl_{[r-1]} - \lambda \ge \alpha \).

$$\begin{aligned}{} & {} \sum _{t=dl_{[r-1]} - \lambda }^{dl_{r}} te_{j}(t) = \sum _{t=dl_{[r-1]} - \lambda }^{dl_{[r-1]}} te_{j}(t) + \sum _{t=dl_{[r-1]} + 1}^{dl_{r}} te_{j}(t)\nonumber \\{} & {} \ge \sum _{t=dl_{[r-1]} - \lambda }^{dl_{[r-1]}} te_{j}^{*}(t) + \eta + \sum _{t=dl_{[r-1]} + 1}^{dl_{r}} te_{i}(t) - \eta \nonumber \\{} & {} \ge \sum _{t=dl_{[r-1]} + 1}^{dl_{r}} te_{i}(t) \end{aligned}$$
(B2)

Case 3: \(r > 1\), and \(dl_{[r-1]} - \lambda <\alpha \). We have:

$$\begin{aligned} \sum _{t=dl_{[r-1]} - \lambda }^{\alpha - 1} te_{j}(t) <\sum _{t=dl_{[r-1]} - \lambda }^{\alpha - 1} te_{j}^{*}(t) + \eta \end{aligned}$$
(B3)

According to the above formula, we can get \(\sum _{t=\alpha }^{dl_{[r-1]}} te_{j}(t) \ge \sum _{t=\alpha }^{dl_{[r-1]}} te_{j}^{*}(t)\). So we can get :

$$\begin{aligned}{} & {} \sum _{t=\alpha }^{dl_{r}} te_{j}(t) = \sum _{t=\alpha }^{dl_{[r-1]}} te_{j}(t) + \sum _{t=dl_{[r-1]} + 1}^{dl_{r}} te_{j}(t)\nonumber \\{} & {} \ge \sum _{t=\alpha }^{dl_{[r-1]}} te_{j}^{*}(t) + \sum _{t=dl_{[r-1]} + 1}^{dl_{r}} te_{i}(t) - \eta \nonumber \\{} & {} \ge \sum _{t=dl_{[r-1]} + 1}^{dl_{r}} te_{i}(t) - \eta \end{aligned}$$
(B4)

In summary, we select the latest deleted r in case 1 and case 3 as \(r_{1}\). \(te_{j}\) is requested at least \(\sum \nolimits _{t=\alpha }^{dl_{r_{1}}} te_{i}(t) - \eta \) times in the interval [\(\alpha \), \(dl_{r_{1}}\)], and is requested at least \(\sum \nolimits _{t=dl_{r_{1}} + 1}^{\beta } te_{i}(t)\) times in the interval [\(dl_{r_{1}} + 1\), \(\beta \)]. Therefore, OPT forwards at least \(\sum \nolimits _{t=\alpha }^{\beta } te_{i}(t) - \eta \) tile requests to the cloud between [\(\alpha \), \(\beta \)].

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Liu, Q., Chen, H., Li, Z. et al. Online Caching Algorithm for VR Video Streaming in Mobile Edge Caching System. Mobile Netw Appl (2024). https://doi.org/10.1007/s11036-024-02291-2

Download citation

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s11036-024-02291-2

Keywords

Navigation