You are on page 1of 8

Video Streaming and Content Distribution

Networks
Video Streaming:

Video streaming is the continuous transfer of video data from a server to a client.
Video streaming allows users to watch videos online without downloading them.
streamed video content
can include movies, TV shows, YouTube videos, and live streams.

Example:
Services like Netflix and Hulu have been very successful in providing streaming mo
vies to their customers.

Video:
Video is generally images displayed at a fixed rate such as 24 to 30 images per
second.
➢ The basic media in video streaming apps are pre-recorded videos, which can
be movies, TV shows, sports events, or video productions (like the ones you
see on YouTube). Users can watch these recorded videos on-demand by
sending a request to the server hosting the recording. Nowadays, video
streaming is provided by many Internet companies such as Netflix, Youku,
Amazon and YouTube (Google).
Characteristics of videos:
o An important characteristic of video is that it can be compressed,
thereby trading off video quality with bit rate. Today’s off-the-shelf
compression algorithms can compress a video to essentially any bit
rate desired
o the most salient characteristic of video is its high bit rate. Today’s off-
the-shelf compression algorithms can compress a video to essentially
any bit rate desired. the higher the bit rate, the better the image
quality and the better the overall user viewing experience.
Images:
An uncompressed, digitally encoded image consists of an array of pixels, with
each pixel encoded into a number of bits to represent luminance and color.

HTTP Streaming and DASH:


HTTP Streaming:
➢ In an HTTP stream, the video is stored on the HTTP server as a regular file
with a unique URL.
➢ When the user wants to watch a video, the client establishes a TCP
connection to the server and sets up an HTTP GET request for that URL.
➢ The server then sends the video files as HTTP responses as soon as network
protocols and traffic conditions allow.
➢ On the client side,the bytes are collected in a client application buffer.
➢ When the number of bytes exceeds the threshold, the user application starts
iterating; specifically, the video streaming application periodically retrieves
the video image from the client's buffer, extracts frames, and displays them
on the user's screen
Drawback of HTTP:
it has a major shortcoming: All clients receive the same encoding of the
video, despite the large variations in the amount of bandwidth available to a
client, both across different clients and also over time for the same client. This
has led to the development of a new type of HTTP-based streaming, often
referred to as Dynamic Adaptive Streaming over HTTP (DASH).
DASH:
➢ In DASH, the video is encoded into several different versions, with each
version having a different bit rate and, correspondingly, a different quality
level.
➢ The client dynamically requests chunks of video segments of a few seconds
in length.
➢ The client selects different chunks one at a time with HTTP GET request
messages.
➢ With DASH, each video version is stored in the HTTP server, each with a
different URL.
➢ The HTTP server also has a manifest file, which provides a URL for each
version along with its bit rate.
➢ The client first requests the manifest file and learns about the various
versions.
➢ The client then selects one chunk at a time by specifying a URL and a byte
range in an HTTP GET request message for each chunk.
➢ While downloading chunks, the client also measures the received bandwidth
and runs a rate determination algorithm to select the chunk to request next.
➢ DASH allows the client to freely switch among different quality levels.

Content Distribution networks:


Challenges before CDNs:
Three major problems:
1. Freezing Delays
2. Waste of bandwidth
3. Single point of failure
To meet the challenge of distributing massive amount of video data to users around
the world, all major video-streaming companies make use of Content Distribution
Networks(CDNs).

CDNs:
A content delivery network (CDN) is a group of geographically distributed
servers that speed up the delivery of web content by bringing it closer to where
users are.
 A CDN manages servers in a multiple geographically distributed
locations, stores copies of the videos (and other types of Web content,
including documents, images, and audio) in its servers, and attempts to direct
each user request to a CDN location that will provide the best user
experience.

Types of CDNs:
Private CDN
Owned by contend provider itself. Ex Google’s CDN distributes YouTube videos and
other types of content.

Third-party CDN
CDN that distributes content on behalf of multiple content providers. Ex Akamai’s
CDN distributes Netflix and Hulu content.

Server Placement Philosophies


CDNs typically adopt one of the two different server placement philosophies :
Enter Deep.
 Pioneered by Akamai
 Enter deep into the access networks of Internet Service Provider, by
deploying server clusters in access ISPs all over the world.
 Goal : To get close to end users, thereby improving user-perceived delay and
throughput by decreasing the number of links and routers between the end
user and the CDN cluster from which it receives content.
Bring Home.
This philosophy, taken by Limelight and many other CDN companies
 Build large clusters at a smaller number (for example, tens) of key locations
and connecting these clusters using a private high-speed network.
 CDNs typically place each cluster at a location that is simultaneously near the
PoPs of many tier-1 ISPs, for example, within a few miles of both AT&T and
Verizon PoPs in a major city.
 Compared with the enter-deep design philosophy, the bring-home design
typically results in lower maintenance and management overhead, possibly
at the expense of higher delay and lower throughput to end users.

CDN Working:
When a user requested some content CDN will need to intercept the request in order
to be able to decide which server cluster should service the request. DNS ends up playing
a large role in this process.
Let's consider a simple scenario: a content provider, ExampleMovies, pays ExampleCDN to
distribute their content. ExampleMovies has URLs with “video” and an ID for the video (so Star
Wars 37 might have a URL of http://video.examplemovies.com/R2D2C3PO37). Let's walk through
the six steps that occur when a user requests to watch Star Wars 37 on ExampleMovies.
1. The user visits examplemovies.com and navigates to the web page with Star Wars 37.
2. The user clicks on the link http://video.examplemovies.com/R2D2C3PO37 and the user's
host sends a DNS query for the domain “video.examplemovies.com”.
3. The DNS query goes to the user's local DNS server (LDNS), which in many cases is a DNS
server in their access ISP's network. This DNS server issues an iterative DNS query for
“video” to the authoritative DNS server for examplemovies.com, which is
ExampleMovies's DNS server. ExampleMovies's DNS server knows that the “video”
domain is stored on ExampleCDN, so it sends back a hostname in ExampleCDN's domain,
like a1130.examplecdn.com.
4. The user's LDNS performs an iterative DNS query to ExampleCDN's name server for
a1130.examplecdn.com. ExampleCDN's name server system (eventually) returns an IP
address of an appropriate ExampleCDN content server to the user's LDNS. (Which content
server? We'll talk about that in the next section.)
5. The user's LDNS returns the ExampleCDN IP address to the user. Notice - from the user's
perspective, all that happened was they asked for an IP address for
“video.examplemovies.com”, and then they got an IP address back.
6. The user's client directly connects via TCP to the IP address provided by the user's LDNS,
and then sends an HTTP GET request for the video.
Notice the interplay of the DNS request/responses, and what the user's perspective of the whole
exchange is. By intercepting the requests with DNS, CDNs have the opportunity to choose where
to direct users, based on location and/or current conditions.
Cluster Selection Strategies
Mechanism for dynamically directing clients to a server cluster or a data
center within the CDN.
 Geographically closest
❖ Assign the client to the cluster that is geographically closest.
❖ This may not work for some client since the geographically closest
cluster may not be the closest cluster along the network path.
• Real-time measurement of delay
❖ CDN performs periodic real-time measurement of delay and loss
performance between their clusters and clients
 IP anycast
❖ The routers in the Internet route the client’s packets to the “closest”
cluster, as determined by BGP.
 Load on the clusters
❖ Clients should not be directed to overloaded clusters.
 ISP delivery cost
❖ The clusters may be chosen so that specific ISPs are used to carry CDN-
to-client traffic, taking into account the different cost structures in the
contractual relationships between ISPs and cluster operators.

Network Protocols Used for Cluster/Server Selections


three different network protocols can be used for server selection.

• DNS
• HTTP redirection
• IP Anycast

Benefits of CDN:
Faster Load Times: By serving content from locations closer to the user, CDNs can
significantly reduce page load times¹.
Reduced Bandwidth Costs: CDNs decrease the amount of data transferred from the
origin server by caching content, thus lowering hosting costs.
Increased Content Availability: With their distributed nature, CDNs can handle
more traffic and withstand hardware failures better than traditional hosting
services¹.
Improved Security: CDNs offer several security benefits, including protection
against DDoS attacks and improved security certificates

Notable Content Delivery Service Providers:


Free CDNs
 BootstrapCDN
 CloudFlare
 Instart Logic
Traditional commercial CDNs
 Akamai Technologies
 Amazon CloudFront
 Azure CDN
 HP Cloud Services

You might also like