A Distributed Real-Time Transcoding CDN System Design and Performance Simulation Study
Abstract
:1. Introduction
- The evaluation of the storage value of each resource. Evaluating the storage value of a resource enables a comparison among the resources and lists the storage solution with the most storage value.
- The storage allocation algorithm, which determines how storage space should be allocated based on the storage.
2. Distributed Real-Time Transcoding CDN System Design
2.1. Overall Architecture Design of Distributed Real-Time Transcoding CDN System
2.2. Business Processes for CDN Resource Negotiation
- To increase the probability of successful first-time negotiation, the client directly sends an HTTP message with the URL of the video resource and details of the video format he/she wishes to obtain.
- Return the video resource if the CDN server can meet the other party’s demands.
- If it does not work to trigger the negotiation process, the CDN server lists the details of the videos it can provide.
- During the negotiation process, the CDN server provides detailed information about the resources, in addition to the server’s expected latency and download speed, and the client can choose the file format he/she needs, including the several acceptable formats based on this information.
- If the negotiation fails, the CDN server obtains the video resources from the remote WEB server.
- After completing the client request, the access record is counted, and the information, such as hotness and the real-time transcoding load, is counted. Whether the CDN retains the data depends on the result of the statistics, and the CDN has the right to decide whether to retain the data sent from the remote end.
3. Resource Storage Policy Models and Algorithm
3.1. Methodology for Assessing the Value of the Hot Storage Ratio Resource Storage
3.2. Storage Resource Allocation Algorithm
- (1)
- Initial resource allocation algorithm.
- Calculate the vf of the maximum hsrt for each video content.
- Put the video format that has the largest hsrt into the container.
- Sort the video formats in the container in hsrt descending order.
- Remove the hsrt largest video formats from the container one-by-one, and place them into the CDN.
- Perform this method until the CDN’s storage space is full.
- (2)
- Dynamic adjustment algorithm.
- Check the status of real-time transcoding capabilities at regular intervals.
- If the transcoding capacity is running at full load, free up disk space for the lowest hsrt video content and store multiple copies of the high heat video content in a video format.
- If there is an idle real-time transcoding capacity, remove multiple copies of the high-heat video content from the video format and store more video content instead.
4. Simulation Experiments and the Performance Evaluation
4.1. Design of the Simulation Experiments
- (1)
- Principles of the simulation experiment design.
- (2)
- Treatment flow of the three sets of experiments.
- Closed CDN group: this group of experiments is mainly used to compare the other two groups. It has a very simple business process, sending all client requests directly to the WEB server, which then sends the data to the client via the backbone network.
- Ordinary CDN group: this group of experiments is relatively more complex. There is a CDN in this network element, but here the CDN cannot be distributed via real-time transcoding. The CDN server only stores the video format resources that are larger than the hot storage; consider only the video format file hot storage ratio. After the client initiates a request, the CDN server receives the request, and if it stores the exact video format file, it returns it directly to the client; if not, it forwards the request to the WEB server, and the remote WEB server, after the backbone network, sends the data to the client.
- Distributed real-time transcoding CDN group: this group of experiments then exactly follows the method described in this paper for the relevant business processes.
- (3)
- Simulation experiment parameters.
- (4)
- Indicators of the experimental results.
4.2. Analysis of Results
5. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Grigorik, I. High Performance Browser Networking; Posts & Telecom Press Co., Ltd.: Beijing, China, 2014. [Google Scholar]
- Zhen, Q.; Fan, Z.; Li, L.M. The Impact of DNS on CDN Streaming Performance. J. Univ. Electron. Sci. Technol. China 2013, 42, 577–580. [Google Scholar]
- Chhabra, P. Method for Dns Resolution of Content Requests in a Cdn Service. U.S. Patent 9565157 B2, 7 February 2017. [Google Scholar]
- Wang, W.W.; Li, Z.M. The Study Summarize for Distribution Technology of Streaming Media under the Basement of CDN. Comput. Eng. Appl. 2004, 40, 121–125. [Google Scholar]
- Pan, J.P.; Hou, Y.T.; Li, B. An overview of DNS-based server selections in content distribution networks. Comput. Netw. 2003, 43, 695–711. [Google Scholar] [CrossRef]
- Hu, C.; Chen, M.; Xing, C.Y.; Xu, B. EUE principle of resource scheduling for live streaming systems underlying CDN-P2P hybrid architecture. Peer Peer Netw. Appl. 2012, 5, 312–322. [Google Scholar] [CrossRef]
- Yin, H.; Liu, X.N.; Zhan, T.Y.; Sekar, V.; Qiu, F.; Lin, C.A.; Zhang, H.; Li, B. LiveSky: Enhancing CDN with P2P. ACM Trans. Multimed. Comput. 2010, 6, 1–19. [Google Scholar] [CrossRef]
- Lu, Z.H.; Wu, J.; Fu, W.M. Towards a Novel Web Services Standard-Supported CDN-P2P Loosely-Coupled Hybrid and Management Model. In Proceedings of the IEEE International Conference on Services Computing, Miami, FL, USA, 5–7 July 2010. [Google Scholar]
- Sun, L.; Ma, M.; Hu, W.; Pang, H.; Wang, Z. Beyond 1 Million Nodes—Crowdsourced Video CDN: Architecture, Technology, and Economy. IEEE MultiMedia 2017, 1. [Google Scholar] [CrossRef]
- Akhtar, Z.; Hussain, A.; Katz-Bassett, E.; Govindan, R. DBit: Assessing statistically significant differences in CDN performance. Comput. Netw. 2016, 107, 94–103. [Google Scholar] [CrossRef]
- Sodhro, A.H.; Sangaiah, A.K.; Sodhro, G.H.; Lohano, S.; Pirbhulal, S. An Energy-Efficient Algorithm for Wearable Electrocardiogram Signal Processing in Ubiquitous Healthcare Applications. Sensors 2018, 18, 923. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- He, M.; Lu, D.; Tian, J.; Zhang, G. Collaborative Reinforcement Learning Based Route Planning for Cloud Content Delivery Networks. IEEE Access 2021, 9, 30868–30880. [Google Scholar] [CrossRef]
- Malektaji, S.; Ebrahimzadeh, A.; Elbiaze, H.; Glitho, R.H.; Kianpisheh, S. Deep Reinforcement Learning-Based Content Migration for Edge Content Delivery Networks With Vehicular Nodes. IEEE Trans. Netw. Serv. Manag. 2021, 18, 3415–3431. [Google Scholar] [CrossRef]
- Zhao, L.J. CDN System Architecture and Deployment Plan. Commun. Technol. 2020, 53, 706–710. [Google Scholar]
- Guo, X.N.; Wang, G.Q.; Wu, S.Y.; Chen, Y.S. Resource Collaboration Scheme of Edge Computing and CDN. Study Opt. Commun. 2021, 225, 16–19. [Google Scholar]
- Zhang, Y.H.; Luo, X.S.; Yu, B. Component-based Simulation Environments of Distributed Discrete Event Simulation. J. Syst. Simul. 2002, 14, 1019–1021. [Google Scholar]
- Goldsman, D.; Goldsman, P. Discrete-Event Simulation. In Modeling and Simulation in the Systems Engineering Life Cycle; Loper, M., Ed.; Springer: London, UK, 2015; pp. 89–101. [Google Scholar]
Step | INIT_ALLOC (v_list, vf_v_map, vf_hsr_map, alloc_list) |
1 | FOR v in v_list |
2 | {vf, hsrt} = CalcMaxHsrtVfOfV (v, vf_v_map, vf_hsr_map) |
3 | hsrt_max_map[v] = {vf, hsrt} |
4 | vf_hsrt_list = SortVbyhsrt (hsrt_max_map) |
5 | i = 0 |
6 | WHILE total_s + v_hsrt_list[i].hsrt < max_s |
7 | alloc_list.Add (v_hsrt_list[i].vf) |
8 | total_s += v_hsrt_list[i].hsrt |
Steps | Dynamic_tuning (alloc_list) |
1 | WHILE true |
2 | Delay (wait_time) |
3 | status = CheckRTResource () |
4 | IF status == overload |
5 | vfMinhsr = GetMinHsrVfInCdn () |
6 | DelVf (alloc_list, vfMinhsr) |
7 | vfMaxhsr = GetMaxHsrVfInMaxHsrtV () |
8 | StoreVf (alloc_list, vfMaxhsr) |
9 | IF status == idle |
10 | vfInHotVf = GetMinHsrVfInHotVf () |
11 | DelVf (alloc_list, vfInHotVf) |
12 | vfNewV = GetMaxHsrtVfNotInCdn () |
13 | StoreVf (alloc_list, vfNewV) |
Parameter Name | Parameter Value |
---|---|
Number of CDNs | 3 |
CDN storage space | Close to 20 video files |
User type | WIFI access (assuming a stable internet speed) |
Parameter Name | Parameter Value |
---|---|
Maximum number of users | 1000 |
Type of business | Access to video services |
Video content distribution | Long tail distribution |
Number of video contents | 100 |
Real-time transcoding capability | Able to complete 80 percent of the total user requests |
Environment Name | Number of Video Formats per Content |
---|---|
Minimal video formats | 2 |
Much fewer formats | 3 |
Fewer video formats | 5 |
Middle video formats | 8 |
More video formats | 13 |
Maximal video formats | 19 |
Network Trunk Node Capability | Minimal Video Formats | Much Fewer Video Formats | Fewer Video Formats | ||||||
---|---|---|---|---|---|---|---|---|---|
NO CDN | CDN | TCDN | NO CDN | CDN | TCDN | NO CDN | CDN | TCDN | |
10 | 10 | 18 | 19 | 10 | 15 | 17 | 10 | 15 | 18 |
20 | 20 | 38 | 42 | 20 | 35 | 36 | 20 | 23 | 37 |
30 | 30 | 58 | 61 | 30 | 54 | 64 | 30 | 46 | 57 |
40 | 40 | 67 | 85 | 40 | 71 | 74 | 40 | 66 | 72 |
50 | 50 | 89 | 106 | 50 | 89 | 92 | 50 | 75 | 93 |
60 | 60 | 109 | 116 | 60 | 100 | 111 | 60 | 96 | 114 |
70 | 70 | 124 | 138 | 70 | 123 | 134 | 70 | 105 | 139 |
80 | 80 | 148 | 168 | 80 | 128 | 168 | 80 | 135 | 156 |
90 | 90 | 153 | 173 | 90 | 159 | 179 | 90 | 141 | 165 |
100 | 100 | 168 | 180 | 100 | 166 | 180 | 100 | 155 | 181 |
Network Trunk Node Capability | Middle Video Formats | More Video Formats | Maximal Video Formats | ||||||
NO CDN | CDN | TCDN | NO CDN | CDN | TCDN | NO CDN | CDN | TCDN | |
10 | 10 | 16 | 15 | 10 | 11 | 16 | 10 | 13 | 16 |
20 | 20 | 25 | 38 | 20 | 22 | 35 | 20 | 23 | 32 |
30 | 30 | 41 | 57 | 30 | 33 | 46 | 30 | 34 | 41 |
40 | 40 | 56 | 72 | 40 | 48 | 74 | 40 | 46 | 68 |
50 | 50 | 66 | 90 | 50 | 60 | 86 | 50 | 59 | 82 |
60 | 60 | 85 | 108 | 60 | 69 | 105 | 60 | 68 | 99 |
70 | 70 | 92 | 129 | 70 | 79 | 120 | 70 | 79 | 121 |
80 | 80 | 108 | 139 | 80 | 88 | 137 | 80 | 86 | 132 |
90 | 90 | 118 | 167 | 90 | 102 | 161 | 90 | 101 | 153 |
100 | 100 | 134 | 182 | 100 | 119 | 169 | 100 | 114 | 162 |
Number of Video Formats | CDN | TCDN |
---|---|---|
2 | 0.44 | 0.51 |
3 | 0.41 | 0.50 |
5 | 0.34 | 0.47 |
8 | 0.24 | 0.45 |
13 | 0.15 | 0.41 |
19 | 0.13 | 0.39 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Ren, Y.; Huang, C.; Lv, Y.; Lv, W.; Zhang, H. A Distributed Real-Time Transcoding CDN System Design and Performance Simulation Study. Sensors 2022, 22, 1945. https://doi.org/10.3390/s22051945
Ren Y, Huang C, Lv Y, Lv W, Zhang H. A Distributed Real-Time Transcoding CDN System Design and Performance Simulation Study. Sensors. 2022; 22(5):1945. https://doi.org/10.3390/s22051945
Chicago/Turabian StyleRen, Yuan, Cheng Huang, Yongbo Lv, Wanjun Lv, and Han Zhang. 2022. "A Distributed Real-Time Transcoding CDN System Design and Performance Simulation Study" Sensors 22, no. 5: 1945. https://doi.org/10.3390/s22051945
APA StyleRen, Y., Huang, C., Lv, Y., Lv, W., & Zhang, H. (2022). A Distributed Real-Time Transcoding CDN System Design and Performance Simulation Study. Sensors, 22(5), 1945. https://doi.org/10.3390/s22051945