P2P Content Distribution BitTorrent and Spotify Amir H. Payberah - - PowerPoint PPT Presentation

p2p content distribution bittorrent and spotify
SMART_READER_LITE
LIVE PREVIEW

P2P Content Distribution BitTorrent and Spotify Amir H. Payberah - - PowerPoint PPT Presentation

P2P Content Distribution BitTorrent and Spotify Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 1 / 62 Amir H. Payberah (Tehran


slide-1
SLIDE 1

P2P Content Distribution BitTorrent and Spotify

Amir H. Payberah

amir@sics.se

Amirkabir University of Technology (Tehran Polytechnic)

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 1 / 62

slide-2
SLIDE 2

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 2 / 62

slide-3
SLIDE 3

Possible Solutions for Content Distribution

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 3 / 62

slide-4
SLIDE 4

Client-Server Model

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 4 / 62

slide-5
SLIDE 5

Client-Server Model

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 5 / 62

slide-6
SLIDE 6

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 6 / 62

slide-7
SLIDE 7

The Client-Server Model Problems

◮ Scalability?

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 7 / 62

slide-8
SLIDE 8

The Client-Server Model Problems

◮ Scalability? ◮ Single Point of failure?

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 7 / 62

slide-9
SLIDE 9

The Client-Server Model Problems

◮ Scalability? ◮ Single Point of failure?

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 7 / 62

slide-10
SLIDE 10

Client-Server Systems

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 8 / 62

slide-11
SLIDE 11

The Client-Server Model Problem

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 9 / 62

slide-12
SLIDE 12

Scalable and Fault-Tolerant Client-Server Model

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 10 / 62

slide-13
SLIDE 13

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 11 / 62

slide-14
SLIDE 14

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 12 / 62

slide-15
SLIDE 15

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 13 / 62

slide-16
SLIDE 16

Peer-to-Peer Model

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 14 / 62

slide-17
SLIDE 17

Peer-to-Peer (P2P) Model

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 15 / 62

slide-18
SLIDE 18

P2P Challenges

◮ Churn in the system ◮ Free-riding problem ◮ Bottleneck in the overlay network ◮ Connectivity problem, e.g., NAT

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 16 / 62

slide-19
SLIDE 19

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 17 / 62

slide-20
SLIDE 20

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 18 / 62

slide-21
SLIDE 21

How To Discover Data?

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 19 / 62

slide-22
SLIDE 22

Possible Solutions - First Generation

◮ Central directory

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 20 / 62

slide-23
SLIDE 23

Possible Solutions - Second Generation

◮ Flooding

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 21 / 62

slide-24
SLIDE 24

Possible Solutions - Third Generation

◮ Distributed Hash Table (DHT)

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 22 / 62

slide-25
SLIDE 25

P2P Content Distribution Applications - File Sharing

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 23 / 62

slide-26
SLIDE 26

P2P Content Distribution Applications - Media Streaming

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 24 / 62

slide-27
SLIDE 27

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 25 / 62

slide-28
SLIDE 28

BitTorrent

◮ BitTorrent is a system for efficient and scalable replication of large

amounts of static data.

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 26 / 62

slide-29
SLIDE 29

BitTorrent Players

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 27 / 62

slide-30
SLIDE 30

Files

◮ Files are broken into pieces of size between 64KB and 1MB.

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 28 / 62

slide-31
SLIDE 31

.torrent Files

◮ Metadata ◮ Contains:

  • URL of tracker
  • Information about the file,

e.g., filename, length, ...

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 29 / 62

slide-32
SLIDE 32

The Core Idea

◮ A peer obtains .torrent file.

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 30 / 62

slide-33
SLIDE 33

The Core Idea

◮ A peer obtains .torrent file. ◮ It, then, connects to the tracker.

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 30 / 62

slide-34
SLIDE 34

The Core Idea

◮ A peer obtains .torrent file. ◮ It, then, connects to the tracker. ◮ The tracker tells the peers from

which other peers to download the pieces of the file.

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 30 / 62

slide-35
SLIDE 35

The Core Idea

◮ A peer obtains .torrent file. ◮ It, then, 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 with each other.

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 30 / 62

slide-36
SLIDE 36

The Core Idea

◮ A peer obtains .torrent file. ◮ It, then, 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 with each other. ◮ The peers send information about the file and themselves to tracker.

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 30 / 62

slide-37
SLIDE 37

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 31 / 62

slide-38
SLIDE 38

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 32 / 62

slide-39
SLIDE 39

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 33 / 62

slide-40
SLIDE 40

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 34 / 62

slide-41
SLIDE 41

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 35 / 62

slide-42
SLIDE 42

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 36 / 62

slide-43
SLIDE 43

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 37 / 62

slide-44
SLIDE 44

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 38 / 62

slide-45
SLIDE 45

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 39 / 62

slide-46
SLIDE 46

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 40 / 62

slide-47
SLIDE 47

What About Free Riders?

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 41 / 62

slide-48
SLIDE 48

Tit-For-Tat

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 42 / 62

slide-49
SLIDE 49

Question

◮ From which peers download the pieces?

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 43 / 62

slide-50
SLIDE 50

Peer Selection

◮ Use choking algorithm to choose peer to download pieces. ◮ Decision to choke/unchoke based on tit-for-tat.

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 44 / 62

slide-51
SLIDE 51

Discover More Cooperating Peers

◮ Optimistic unchoking ◮ Allocate an upload slot to a randomly chosen uncooperative peer

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 45 / 62

slide-52
SLIDE 52

Snubbed Peers

◮ If all its peers choke it. ◮ Increase the number of optimistic unchokes.

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 46 / 62

slide-53
SLIDE 53

Question

◮ Which piece?

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 47 / 62

slide-54
SLIDE 54

Piece Selection

◮ Rarest first: common parts left for later

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 48 / 62

slide-55
SLIDE 55

Piece Selection

◮ Rarest first: common parts left for later ◮ Random first piece: start-up need to get a complete piece

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 48 / 62

slide-56
SLIDE 56

Piece Selection

◮ Rarest first: common parts left for later ◮ Random first piece: start-up need to get a complete piece ◮ Endgame mode: broadcast for all remaining blocks

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 48 / 62

slide-57
SLIDE 57

BitTorrent Extension

◮ Distributed tracker ◮ Peer-exchange

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 49 / 62

slide-58
SLIDE 58

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 50 / 62

slide-59
SLIDE 59

Spotify

◮ Active users: over 50 million ◮ Number of songs: over 20 million ◮ Number of songs added per day: over 20000 ◮ Number of playlists: over 1.5 billion created so far ◮ Available in 58 countries ◮ Legal

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 51 / 62

slide-60
SLIDE 60

The Core Idea

◮ Request first piece from Spotify servers.

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 52 / 62

slide-61
SLIDE 61

The Core Idea

◮ Request first piece from Spotify servers. ◮ Meanwhile, search P2P network for remainder.

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 52 / 62

slide-62
SLIDE 62

The Core Idea

◮ Request first piece from Spotify servers. ◮ Meanwhile, search P2P network for remainder. ◮ Switch back and forth between Spotify servers and peers as needed.

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 52 / 62

slide-63
SLIDE 63

The Core Idea

◮ Request first piece from Spotify servers. ◮ Meanwhile, search P2P network for remainder. ◮ Switch back and forth between Spotify servers and peers as needed. ◮ Towards end of a track, start prefetching the next one.

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 52 / 62

slide-64
SLIDE 64

Main Problem in Using Spotify P2P Network

Peer Discovery

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 53 / 62

slide-65
SLIDE 65

Peer Discovery

◮ Sever-side tracker (BitTorrent style)

  • Only remembers 20 peers per track.
  • Returns 10 (online) peers to client on query.

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 54 / 62

slide-66
SLIDE 66

Peer Discovery

◮ Sever-side tracker (BitTorrent style)

  • Only remembers 20 peers per track.
  • Returns 10 (online) peers to client on query.

◮ Broadcast query in small (2 hops) neighborhood in overlay (Gnutella

style)

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 54 / 62

slide-67
SLIDE 67

Peer Discovery

◮ Sever-side tracker (BitTorrent style)

  • Only remembers 20 peers per track.
  • Returns 10 (online) peers to client on query.

◮ Broadcast query in small (2 hops) neighborhood in overlay (Gnutella

style)

◮ LAN peer discovery

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 54 / 62

slide-68
SLIDE 68

Downloading in P2P

◮ Ask for most urgent pieces first.

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 55 / 62

slide-69
SLIDE 69

Downloading in P2P

◮ Ask for most urgent pieces first. ◮ If a peer is slow, re-request from new peers.

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 55 / 62

slide-70
SLIDE 70

Downloading in P2P

◮ Ask for most urgent pieces first. ◮ If a peer is slow, re-request from new peers. ◮ When buffers are low, download from central server as well.

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 55 / 62

slide-71
SLIDE 71

Downloading in P2P

◮ Ask for most urgent pieces first. ◮ If a peer is slow, re-request from new peers. ◮ When buffers are low, download from central server as well. ◮ If buffers are very low, stop uploading.

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 55 / 62

slide-72
SLIDE 72

Spotify vs. BitTorrent

◮ One (well, three) P2P overlay for all tracks (not per-torrent).

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 56 / 62

slide-73
SLIDE 73

Spotify vs. BitTorrent

◮ One (well, three) P2P overlay for all tracks (not per-torrent). ◮ Does not inform peers about downloaded blocks.

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 56 / 62

slide-74
SLIDE 74

Spotify vs. BitTorrent

◮ One (well, three) P2P overlay for all tracks (not per-torrent). ◮ Does not inform peers about downloaded blocks. ◮ Downloads blocks in order.

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 56 / 62

slide-75
SLIDE 75

Spotify vs. BitTorrent

◮ One (well, three) P2P overlay for all tracks (not per-torrent). ◮ Does not inform peers about downloaded blocks. ◮ Downloads blocks in order. ◮ Does not enforce fairness (such as tit-for-tat).

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 56 / 62

slide-76
SLIDE 76

Spotify vs. BitTorrent

◮ One (well, three) P2P overlay for all tracks (not per-torrent). ◮ Does not inform peers about downloaded blocks. ◮ Downloads blocks in order. ◮ Does not enforce fairness (such as tit-for-tat). ◮ Informs peers about urgency of request.

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 56 / 62

slide-77
SLIDE 77

Caching

◮ Player caches tracks it has played. ◮ Use 10% of free space (capped at 10GB) ◮ Least Recently Used policy for cache eviction. ◮ Over 50% of data comes from local cache.

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 57 / 62

slide-78
SLIDE 78

Spotify Data Usage

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 58 / 62

slide-79
SLIDE 79

Spotify Says Goodbye to P2P

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 59 / 62

slide-80
SLIDE 80

Summary

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 60 / 62

slide-81
SLIDE 81

Summary

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 61 / 62

slide-82
SLIDE 82

Questions?

Amir H. Payberah (Tehran Polytechnic) P2P Content Distribution 1393/8/27 62 / 62