In this module, we will study about CDN video streaming technology. We will start with the CDN introduction. The lecture sequence is based on the motivation and structure, procedures, Hierarchical Content Delivery Model, market and major service providers, and advanced technologies in CDN, starting off with the motivation of CDN. CDN is a network constructed from a group of strategically placed and geographically distributed caching servers. When we say geographically distributed, this could be worldwide, intercontinental connected. The CDN is one of the most efficient solutions for the content provider in serving a large number of user devices, for reduction in content download time and network traffic. Content download time, reducing this is very critical. If you have a slow content downloading time, people will not use your service. In addition, reducing network traffic, think of YouTube. YouTube has millions up to billions of users that are using it. If everybody has their request individually connecting to the main server, then the main server is not going to be able to support all of it. So, therefore, what CDN technology will do is that it will predict what is needed or what is going to be used most popular, place it in a local server such that when requests are coming in, that will be the place that will provide the video streaming to the user. So, therefore, CDN technology is critical and it is used in video streaming, especially the powerful internet-based intercontinental connecting major, popular video service streaming techniques, all need a CDN technology support. That is why this module of lecture is so important. So, hang in there. The network traffic that is accessed by mobile users, smart devices, is rapidly increasing. Mobile network performance is highly dependent on the content download of the multimedia data and applications. In addition, several mobile network operators have suffered from service outage or performance deterioration due to significant increases in use of mobile devices. So, they are growing the network more and more but not at the rate that the number of users are growing. So, at a certain point, when there's more users than the network can support, you will see that services will be downgraded. It will stop, it will be halted, or it will become extremely slow to a level that it is useless. There are mobile operators that are experiencing this. How do you reduce this effect? CDN technology is critical. For this example, the content provider maybe way over there in the United States, where the users are in all these different countries. For example, maybe YouTube, downloading video. If everybody is connecting to the United States to download something from Google or YouTube, then, naturally, the overall international connection that connects these contents is going to be over capacitated, overloaded, and overall, a lot of different services are going to be heavily influenced. To prevent that, we're going to use CDN technology. Using CDN, both content download time and network traffic or reduced, win-win. So, therefore, it is very important. CDN in mobile networks, especially on your smartphone. Mobile communication networks have a stronger need for both reduced traffic load and content delivery time compared to broadband backbone networks within an autonomous system. What is this talking about? Well, mobile communication network service providers, they need to provide services to users. These users are not like they are connected to a gigabit Ethernet wired connection sitting in front of a Notebook computer or a personal computer. No, these are users that are moving around. They're moving around to different cells such that handover needs to be supported. They're moving to cell edges, which is the place where handover is going to be executed. At the cell edge, you have a very poor link. That is why handover is needed. Then, how to provide services at these conditions. In addition, you need to support services through wireless connectivity, where the bandwidth and the throughput is limited, and also you're prone to errors. In these situations, you need to reduce how much is being sent and provided in a way such that the users get what they want. However, the network resources are not overused. In these very limited resources of mobile communication cellular networks that are providing all the switching and roaming services which are very complex to support, these networks are very sensitive. So, CDN technology supporting them is even more critical. International an intercontinental backbone networks have critical need for CDN support. They want the amount of traffic that is sent across intercontinental connections to be minimum because those links are expensive and they have uses where multiple users that have critical high priority service needs will need to be using it first. So, therefore, CDN makes everything much more efficient. You will see that BGP4, Border Gateway Protocol 4, is used beyond autonomous system networks. This protocol may have different policies and charging traffic usage cost. So, therefore, using CDN for a certain content that is delivered to a certain region in which it is reused for all multiple users that request for it will save one single transmission, such that it is used multiple times, saving network traffic over that long-haul backbone connection. CDN structure. CDN usually consist of a content provider and caching servers. The content provider possesses all content to serve. In addition, for the example of YouTube, there may be multiple videos at different qualities of the same video movie. In addition, the audio maybe at certain levels in which there is high-quality and low-quality audio of the same movie. So, therefore, the CP, the content provider, needs to possess all. The caching servers are distributed in the network containing selected copies of identical contents that the CP stores. Then you will see the content provider and the caching servers over there, which are closer to the user. When a user requests a content to its nearest caching server, the server can deliver the content if the requested content is in its cache. The otherwise, the caching server redirects the user's request to the remotely located CP. When a user requests a content to its nearest caching server, the server can deliver the content if the requested content is in its cache as shown in the former example. Here in this case, you will see very quick delivery, where the user sends a session request and the local caching server has it. It will check if it has the content in its cache and then it will send back a session response saying that, yes, I have it. Then the user will do resource allocation as in terms that on its device, it will do memory allocation. It will create a space, and then it will request for the content, and then it will have it delivered. In that location that has the resources to be saved, that's where it will store the packets of the video. This is a procedure. In case the local caching server doesn't have it, then what will happen in a time flow diagram? If the requested content is not in the local cache server, the content request is redirected to the remotely located CP. The procedures are like this. Number one, the overall session is requested. Here, the local caching server will check if it has a content. Then resource allocation for the requested content is made because it does not have it. This resource allocation is to prepare its download from the CP. So it requests the CP to send it through a content request and then the content is delivered. The content is saved in the resource allocated area. Then, it will send a session response back to the user in step six, and then the user will do a resource allocation. It will open up memory, and then it will send a content request to the local caching server. The local caching server will then send the content delivery. The content delivered packets will be, of course, saved in the user's allocated resource area. Content aging is focused on delivering the most popular contents to the user in the most effective way. In other words, we want to send things that will be requested, that will be reused, and we reuse, and we reuse locally. So, content aging is one thing, where older contents are discarded to make space for newer contents that are more popular to come in. Depending factors include location of caching servers, number of caching servers, limited memory size of the caching servers. In other words, if you have a little memory size, a small memory size, then you will need to do the throwing away process, the discarding process of older contents much more frequently. Content aging. Delete expired contents from the caching server, download update contents from the CP, and that is what you need to do. You need to have a good balance of throwing old things away and then downloading new stuff that is much more popular. Each content has a content update period, which is a time to live based operation, few seconds for online trading, few seconds for auction information, and 24 hours or more for movies. These are the references that I used, and I recommend them to you. Thank you