Content Distribution Network (CDN)

Similar documents
The BitTorrent Protocol

Incentives Build Robustness in BitTorrent

Peer-to-Peer Networks. Chapter 2: Initial (real world) systems Thorsten Strufe

Lecture 6 Content Distribution and BitTorrent

P2P File Sharing: BitTorrent in Detail

Two Dimensional Array Based Overlay Network for Balancing Load of Peer-to-Peer Live Video Streaming

A Comparative Study of Tree-based and Mesh-based Overlay P2P Media Streaming

Seminar RVS MC-FTP (Multicast File Transfer Protocol): Simulation and Comparison with BitTorrent

Fatemeh Rahimian Amir Payberah

Peer-to-Peer Data Management

CS5412: TORRENTS AND TIT-FOR-TAT

The Role and uses of Peer-to-Peer in file-sharing. Computer Communication & Distributed Systems EDA 390

BitTorrent Peer To Peer File Sharing

SE4C03: Computer Networks and Computer Security Last revised: April Name: Nicholas Lake Student Number: For: S.

International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November ISSN

Peer-to-peer filetransfer protocols and IPv6. János Mohácsi NIIF/HUNGARNET TF-NGN meeting, 1/Oct/2004

PEER TO PEER FILE SHARING USING NETWORK CODING

DDoS Vulnerability Analysis of Bittorrent Protocol

CSCI-1680 CDN & P2P Chen Avin

Challenges for a Global Solution Addressing Quality of Service Problems in P2P IPTV Systems

Live Streaming in P2P and Hybrid P2P-Cloud Environments for the Open Internet AMIR H. PAYBERAH

AN INITIAL PEER CONFIGURATION ALGORITHM

PEER-TO-PEER LIVE STREAMING AND VIDEO ON DEMAND DESIGN ISSUES AND ITS CHALLENGES

P2P: centralized directory (Napster s Approach)

Java Bit Torrent Client

Peer-to-Peer Networks. Chapter 6: P2P Content Distribution

1. Comments on reviews a. Need to avoid just summarizing web page asks you for:

Providing Video-on-Demand using Peer-to-Peer Networks

Krunal Patel Department of Information Technology A.D.I.T. Engineering College (G.T.U.) India. Fig. 1 P2P Network

TIME EFFICIENT DISTRIBUTED FILE STORAGE AND SHARING USING P2P NETWORK IN CLOUD

Object Request Reduction in Home Nodes and Load Balancing of Object Request in Hybrid Decentralized Web Caching

Optimizing Congestion in Peer-to-Peer File Sharing Based on Network Coding

Multicast vs. P2P for content distribution

Dynamic File Bundling for Large-scale Content Distribution

apt-p2p: A Peer-to-Peer Distribution System for Software Package Releases and Updates

CNT5106C Project Description

Middleware and Distributed Systems. Peer-to-Peer Systems. Martin v. Löwis. Montag, 30. Januar 12

A NEW ALGORITHM FOR CONSTRUCTION OF A P2P MULTICAST HYBRID OVERLAY TREE BASED ON TOPOLOGICAL DISTANCES

Online Storage and Content Distribution System at a Large-scale: Peer-assistance and Beyond

A Comparison of Mobile Peer-to-peer File-sharing Clients

Department of Computer Science Institute for System Architecture, Chair for Computer Networks. File Sharing

Attacking a Swarm with a Band of Liars evaluating the impact of attacks on BitTorrent

A Novel Load Balancing Optimization Algorithm Based on Peer-to-Peer

MODIFIED BITTORRENT PROTOCOL AND ITS APPLICATION IN CLOUD COMPUTING ENVIRONMENT

Unit 3 - Advanced Internet Architectures

MC-FTP (Multicast File Transfer Protocol): Implementation and Comparison with

Self-organization in Cooperative Content Distribution Networks

International Journal of Advanced Research in Computer Science and Software Engineering

Should Internet Service Providers Fear Peer-Assisted Content Distribution?

SUITABLE ROUTING PATH FOR PEER TO PEER FILE TRANSFER

LIVE VIDEO STREAMING USING ANDROID

q Admin and recap q Case studies: Content Distribution o Forward proxy (web cache) o Akamai o YouTube q P2P networks o Overview

Optimizing and Balancing Load in Fully Distributed P2P File Sharing Systems

Stability of QOS. Avinash Varadarajan, Subhransu Maji

Enhancing Secure File Transfer by Analyzing Repeated Server Based Strategy using Gargantuan Peers (G-peers)

Content Delivery Networks (CDN) Dr. Yingwu Zhu

Internet Content Distribution

Impact of Peer Incentives on the Dissemination of Polluted Content

IMPACT OF DISTRIBUTED SYSTEMS IN MANAGING CLOUD APPLICATION

Internet Video Streaming and Cloud-based Multimedia Applications. Outline

Realtime Multi-party Video Conferencing Service over Information Centric Networks

2015 Internet Traffic Analysis

A Load Balancing Method in SiCo Hierarchical DHT-based P2P Network

The Algorithm of Sharing Incomplete Data in Decentralized P2P

Transcription:

Content Distribution Network (CDN) Amir H. Payberah (amir@sics.se) Fatemeh Rahimian (fatemeh@sics.se) 1

GOAL What is Content Distribution Network (CDN)? The solutions for CDN. CDN applications File Sharing Media Streaming 2

Content Distribution Network CDN is a system of computers, networked together that cooperate transparently to deliver content to end users. n o i it n i f De 3

Traditional Solution (Client-Server) Akamai Server Farm Youtube 4

So What Is The Problem? 5

6

The Smarter Solution (P2P) The peers can help each other. The peers who have parts of the data can forward it to other requesting peers. Server Farm The capacity increases with the number of peers. 7

Let's Continue With P2P Solutions 8

Two Main Questions Node discovery Data delivery 9

Two Main Questions Node discovery Data delivery 10

Node Discovery Centralized method Controlled flooding method Hierarchical method DHT-based method Gossip-based method 11

Node Discovery Centralized method Controlled flooding method Hierarchical method DHT-based method Gossip-based method 12

Node Discovery Centralized method Controlled flooding method Hierarchical method DHT-based method Gossip-based method ForestCast 13

Node Discovery Centralized method Controlled flooding method Hierarchical method DHT-based method Gossip-based method 14

Node Discovery Centralized method Controlled flooding method Hierarchical method DHT-based method Gossip-based method GnuStream (useing Gnutella) 15

Node Discovery Centralized method Controlled flooding method Hierarchical method DHT-based method Gossip-based method 16

Node Discovery Centralized method Controlled flooding method Hierarchical method DHT-based method Gossip-based method ZigZag 17

Node Discovery Centralized method Controlled flooding method Hierarchical method DHT-based method Gossip-based method 18

Node Discovery Centralized method Controlled flooding method Hierarchical method DHT-based method Gossip-based method SplitStream 19

Node Discovery Centralized method Controlled flooding method Hierarchical method DHT-based method Gossip-based method 20

Node Discovery Centralized method Controlled flooding method Hierarchical method DHT-based method Gossip-based method PULSE 21

Two Main Questions Node discovery Data delivery 22

Data Delivery Push method Single tree Multiple trees Pull method Push-Pull method 23

Data Delivery Push method Single tree Multiple trees Pull method Push-Pull method 24

Data Delivery Push method Single tree Multiple trees Pull method Push-Pull method Split the data into segments and send each one through a separate tree 25

Data Delivery Push method Single tree Multiple trees Pull method Push-Pull method 26

All Together 27

What Is Next? 28

P2P CDN Applications File sharing Media streaming 29

File Sharing (BitTorrent) 30

BitTorrent BitTorrent is a system for efficient and scalable replication of large amounts of static data. Scalable: the throughput increases with the number of peers. Efficient: it utilises a large amount of available network bandwidth. 31

Peer Roles Tracker A central server helping peers find each other Seed Have entire file Leecher Still downloading 32

The Files... Large files are broken into pieces of size between 64 KB and 1MB. 1 2 3 4 5 6 7 8 33

Metadata.torrent file Contains: URL of tracker Information about file Filename Length Hashing information... 34

Core Idea Of BitTorrent A peer obtains.torrent file. Then it connects to the tracker. The tracker tells the peers from which other peers to download the pieces of the file. Peers use this information to communicate to each other. The peers send information about the file and themselves to tracker. 35

36

37

38

39

40

41

42

43

44

45

Two Things Are important in BitTorrent Peer selection to upload Piece selection 46

Peer Selection To Upload BitTorrent does no central resource allocation. Each peer is responsible for attempting to maximize its own download rate. Peers do this by: Downloading from whoever they can. Deciding which peers to upload to via a variant of tit-fortat. 47

Peer Selection To Upload Chocking algorithm Optimistic unchoking Anti-snubbing 48

Peer Selection To Upload (Choking Algorithm) Chocking algorithm is a temporary refusal to upload. A peer always unchokes a fixed number of its peers. Default of 4. Decision to choke/unchoke done based on current download rates. Upload to peers who have uploaded to you recently (tit-for-tat). It ensures that nodes cooperate and eliminates the freerider problem. 49

Peer Selection To Upload (Optimistic Unchoke) Upload regardless of the current download rate from the peer. To discover currently unused connections are better than the ones being used. Optimistic unchoke is rotated periodically. 50

Peer Selection To Upload (Anti Snubbing) When a peer received no data over a minute from a particular peer, does not upload to it except as an optimistic unchoke. If choked by everyone, increase the number of simultaneous optimistic unchokes to more than one. 51

Piece Selection Random First Piece Rarest First Endgame Mode 52

Piece Selection (Random First Piece) Policy: Select a random piece of the file and download it. Initially, a peer has nothing to trade. Important to get a complete piece ASAP. 53

Piece Selection (Rarest First) Policy: Determine the pieces that are most rare among your peers and download those first. This ensures that the most common pieces are left till the end to download. Rarest first also ensures that a large variety of pieces are downloaded from the seed. 54

Piece Selection (Endgame Mode) Policy: Near the end, missing pieces are requested from every peer containing them. When the piece arrives, the pending requests for that piece are canceled. This ensures that a download is not prevented from completion due to a single peer with a slow transfer rate. Some bandwidth is wasted, but in practice, this is not too much. 55

Two Main Questions Node discovery Data delivery 56

Two Main Questions Node discovery Centralized method Tracker DHT-based method Kademlia (Trackerless) Data delivery Pull method 57

Media Streaming (CoolStreaming/DONet) 58

Media Streaming Media Streaming over Internet is getting more popular everyday. Media streaming Video on Demand (VoD) Live media streaming 59

Media Streaming Bandwidth intensive Time sensitive A negligible startup delay Smooth playback A negligible playback latency only for live streaming P2P Challenges: Nodes join, leave and fail continuously. Called churn Network capacity changes. 60

CoolStreaming/DONet DONet is an overlay network for live media streaming. CoolStreaming is an Internet-based DONet implementation. 61

Core Idea of DONet Every node periodically exchanges data availability information with a set of partners, and retrieves unavailable data from one or more partners, or supplies available data to partners. 62

Assumption The media stream is divided into segments. For each segment, a node can be receiver or supplier. The source node is always supplier. Origin node Each node has a unique ID. IP address 63

DONet Node System Diagram 64

Membership Management Each node has a partial list of the ID for the active nodes. mcache A newly joined node first contacts the origin node. The origin node randomly selects a deputy node from its mcache and redirects the new node to the deputy. To have more uniform partner selection The new node obtains a list of partner candidates from the deputy. It then contacts these candidates to establish its partners in the overlay. 65

How To Create And Update mcache? 66

Create and Update mcache Each node periodically generates a membership message and distributes it among the nodes. Upon receiving the message, the node updates its mcache entry for node id. Each node periodically establishes new partnerships with nodes randomly selected from its mcache. 67

Buffer Map (BM) Shows the availability of the segments in the buffer of a node. Each node continuously exchange its BM with its partners. 68

From Which Partner Fetch Which Segment? 69

Scheduling For a homogeneous and static network a simple round-robin scheduler may work well. But what about for a dynamic and heterogeneous network? 70

Scheduling (Dynamic and Heterogeneous) Two constraints: The playback deadline for each segment. The heterogeneous streaming bandwidth from the partners. If the first constraint cannot be satisfied, then the number of segments missing deadlines should be kept minimum. 71

But Finding An Optimal Solution Is Not Easy. 72

Simple Heuristic First calculates the number of potential suppliers for each segment. A segment with less potential suppliers is more difficult to meet the deadline constraints. Starting from those with only one potential supplier, then those with two, and so forth. Among the multiple potential suppliers, the one with the highest bandwidth. 73

Failure Recovery Graceful departure The departing node should issue a departure message, which has the same format as the membership message. Node failure A partner that detects the failure will issue the departure message on behalf the failed node. 74

Again Our Two Main Questions Node discovery Data delivery 75

Two Main Questions Node discovery Gossip-based method Data delivery Pull method 76

Wake Up! 77

The Only Page To Remember Content Distribution Network Client-Server solution Expensive P2P solution The peers can help each other and the capacity increases with the number of peers. Two main questions Node discovery Data delivery 78

Reading Assignments V. Pai, K. Kumar, K. Tamilmani, V. Sambamurthy, and A. E. Mohr. Chainsaw: Eliminating Trees from Overlay Multicast, In The Fourth International Workshop on Peer-to-Peer Systems, February 2005. J. C. V. Venkataraman, P. Francis, Chunkyspread: Multi-tree Unstructured Peer-toPeer Multicast, in Proc. 5th International Workshop on Peer-to-Peer Systems, February 2006. Kunwoo Park, Sangheon Pack, and Taekyoung Kwon, Climber: An Incentive-based Resilient Peer-to-Peer System for Live Streaming Services, in The 7th International Workshop on Peer-to-Peer Systems (IPTPS 2008), Tampa, USA, February 2008. Yang Guo, Kyoungwon Suh, Jim Kurose, Don Towsley, DirectStream: A directorybased peer-to-peer video streaming service, Journal of Computer communications (COMCOM), Elsevier, in-print, 2007 C. Tang, R. N. Chang, and C. Ward, Gossip enhanced overlay multicast for fast and dependable group communication, in DSN, 2005, pp. 140 149. 79

Reading Assignments Animesh Nandi, Aditya Ganjam, Peter Druschel, T. S. Eugene Ng, Ion Stoica, Hui Zhang, and Bobby Bhattacharjee. Saar: A shared control plane for overlay multicast, In NSDI. USENIX, 2007. J. J. D. Mol, D. H. J. Epema, and H. J. Sips. The orchard algorithm: P2P multicasting without free-riding, In P2P '06: Proceedings of the Sixth IEEE International Conference on Peer-to-Peer Computing, pages 275282, Washington, DC, USA, 2006. IEEE Computer Society. Fabio Pianese, Joaquin Keller, and Ernst W Biersack. PULSE, a exible P2P live streaming system, In 9th IEEE Global Internet Symposium 2006 in con junction with IEEE Infocom 2006, 28-29 April 2006, Barcelona, Spain, Apr 2006. Feng Wang, Yongqiang Xiong, and Jiangchuan Liu. mtreebone: A hybrid tree/mesh overlay for application-layer live video multicast, In ICDCS 07: Proceedings of the 27th International Conference on Distributed Computing Sys tems, page 49, Washington, DC, USA, 2007. IEEE Computer Society. 80