141
File Sharing to Resource Sharing Evolution of P2P Networking Anura P. Jayasumana Electrical & Computer Engineering, Colorado State University, Fort Collins, CO 80525 Slides by Dilum Bandara and Anura Jayasumana

File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

  • Upload
    hanga

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

File Sharing to Resource Sharing

– Evolution of P2P Networking

Anura P. Jayasumana

Electrical & Computer Engineering,

Colorado State University,

Fort Collins, CO 80525

Slides by Dilum Bandara and Anura Jayasumana

Page 2: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Outline

File sharing

Unstructured vs. structured overlays

Performance enhancements

More state, caching, replication

Opportunities & challenges

Streaming

Tree-push vs. mesh-pull

Opportunities & challenges

Resource sharing

Collaborative P2P

Resource aggregation

Opportunities & challenges

2

Page 3: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Peer-to-Peer (P2P) Systems

Distributed systems without any central control

Autonomous peers

Equivalent in functionality/privileges; Both a client & a server

Protocol features

Protocol constructed at the application layer

Overlaid on top of Internet

Typically a peer has a unique identifier

Supports some type of message routing capability

Fairness & Performance Self-scaling

Free-rider problem

Peer Churn

3

Internet

Page 4: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

P2P Applications

Many application

domains

File sharing – BitTorrent,

KaZaA, Napster,

BearShare

IPTV – PPLive,

CoolStreaming, SopCast

VoIP – Skype

CPU cycle sharing – SETI,

World Community Grid

Distributed data fusion –

CASA

Impact of P2P traffic In 2008 – 50% 2009- 39% of

total Internet traffic (2014-

17%)

Today – Volume still growing

3.5 Exabytes/month (4 in

2014)

globally, P2P TV is now over

280 petabytes per month

P2P traffic 20 percent of all

mobile data traffic globally

4

[Hyperconnectivity and the

Approaching Zettabyte Era,

Cisco 2010]

Page 5: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

P2P Characteristics

Tremendous scalability

Millions of peers

Globally distributed

Bandwidth intensive

Upload/download

Many concurrent connections

Aggressive/unfair bandwidth utilization

Aggregated downloads to overcome asymmetric

upload bandwidth

Heterogeneous

Superpeers

Critical for performance/functionality

5

Internet

Page 6: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

P2P Overlay

Peers directly talk to each other, or if they are

not directly connected, uses overlay routing

mechanism via other peers

Best effort service on Internet

Peers are autonomous

Determines its own capabilities based on its

resources (minimum threshold of resources)

Decides on its own when to join, leave

Peers have symmetrical roles (relaxed in

cases such as superpeer)

Overlay is scalable and resilient

In size, geography

Graceful degradation, ensure connectedness when

nodes leave, etc.

Overlay Maintenance

Overlay has to be self-organizing (overlay

management is done in a distributed manner)

6

Internet

Page 7: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Terminology

Application

Tier 2 – Services provided to end

users

Tier 1 – Middleware services

Overlay

How peers are connected

Application layer network

consists of peers

E.g., dial-up on top of telephone

network, BGP, PlanetLab, CDNs

Underlay

Internet, Bluetooth

Peers implement top 3 layers

7

Application – Tier 2 File sharing, streaming, VoIP, P2P clouds

Application – Tier 1 Indexing/DHT, Caching, replication, access

control, reputation, trust

Overlay Unstructured, structured, & hybrid

Gnutella, Chord, Kademlia, CAN

Underlay Internet, Bluetooth

Page 8: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Overlay Connectivity

8

P2P Overlay

Unstructured

Deterministic

Napster

BitTorrent

JXTA

Nondeterministic

Gnutella

KaZaA

Structured

Sub-linear state

Chord

Kademlia

CAN

Pastry

Tapestry

Constant state

Viceroy

Cycloid

Hybrid

Structella

Kelip

Local minima search

Page 9: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Bootstrapping

How is an initial P2P overlay is formed from a set of nodes?

Use a well known server to register initial set of peers

Some peer addresses are well known

Use a well known multicast group address for peers to join

A well known domain name

Use a local broadcast to collect nearby peers, and merge such sets to

larger sets

Each peer maintains a random subset of peers

e.g., peers in Skype maintain a cache of superpeers

An incoming peer talks to one of the known peers

A known peer accepting an incoming peer

Keeps track of the incoming peer

May redirect the incoming peer to another peer

Give a random set of peers to contact

Discover more peers by random walk or gossiping within overlay 9

Page 10: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Resource Discovery Overview

10

Centralized O(1)

Fast lookup

Single point of failure

Unstructured O(hopsmax)

Easy network maintenance

Not guaranteed to find resources

Distribute Hash Table (DHT) O(log N)

Guaranteed performance

Not for dynamic systems

Superpeer O(hopsmax)

Better scalability

Not guaranteed to find resources

Page 11: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Centralized – Napster

Centralized database for

lookup Guaranteed content

discovery

Low overhead

Single point of failure

Easy to track

Legal issues

File transfer directly

between peers

Killer P2P application June 1999 – July 2001

26.4 million users (peak) 11

Page 12: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Unstructured – Gnutella

Fully distributed

Random connections

Initial entry point is

known

Peers maintain dynamic

list of neighbors

Connections to multiple

peers

Highly resilient to node

failures

12

Page 13: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Unstructured P2P (cont.)

Flooding-based lookup Guaranteed content discovery

Implosion High overhead

Expanding ring flooding

TTL-based random walk Content discovery is not

guaranteed

Better performance by biasing

random walk toward nodes with

higher degree

If response follow same path

Anonymity

Used in KaZaA, BearShare,

LimeWire, McAfee

13

D

S

D

s

Flooding

Random walk

Page 14: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Superpeers

Resource rich peers

Superpeers

Bandwidth, reliability, trust,

memory, CPU, etc.

Flooding or random walk

Only superpeers are

involved

Lower overhead

More scalable

Content discovery is not

guaranteed

Better performance when

superpeers share list of

file names

Examples: Gnutella V0.6,

FastTrack, Freenet KaZaA,

Skype

14

s D

Page 15: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Scale-Free Overlays

Unstructured overlays can lead to

scale-free networks

New nodes connect to

Existing nodes

Higher degree nodes

Specific implementations may set

limits on node degree

e.g., LimeWire maintains 27-32

connections

User modified code increases connectivity

Can be used to enhance P2P lookup

Index at high degree nodes

Biased random walk towards to high-

degree nodes 15

[Stutzbach, 2008]

Page 16: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

BitTorrent

Most popular P2P file sharing

system to date

Features

Centralized search

Multiple downloads

Enforce fairness

Rarest-first dissemination

Incentives

Better contribution Better

download speeds (not always)

Enable content delivery

networks

Revenue through ads on search

engines

16

User

Trackers

Web-based search engine

Content owner

Keyword search

.torrent file server

Download .torrent file

Get list of peers

Download/upload chunks

Page 17: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

BitTorrent Protocol

Content owner creates a

.torrent file

File name, length, hash,

list of trackers

Place .torrent file on a

server

Publish URL of .torrent

file to a web site

Torrent search engine

.torrent file points to a

tracker(s) Registry of leaches &

seeds for a given file

17

User

Trackers

Web-based search engine

Content owner

Keyword search

.torrent file server

Download .torrent file

Get list of peers

Download/upload chunks

1

2

3

41

2

34

Page 18: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

BitTorrent Protocol (cont.)

Tracker

Provide a random subset

of peers sharing same file

Peer contacts subset of

peers parallely

Files are shared based

on chunk IDs

Chunk – segment of file

Periodically ask tracker

for new set of IPs

Every 15 min

Pick peers with highest

upload rate

18

User

Trackers

Web-based search engine

Content owner

Keyword search

.torrent file server

Download .torrent file

Get list of peers

Download/upload chunks

1

2

3

41

2

34

Page 19: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

BitTorrent Terminology

Swarm

Set of peers accessing

(upload/download) same

file

Seeds

Peers with entire file

Leeches

Peers with part of file or

no file (want to download)

19 www.kat.ph

Page 20: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

BitTorrent Site Stat

20

User ranking

of file quality

Seedpeer.com

www.kat.ph/stats/

Files in search

engine

User verified to

be valid

Across all files

Search Cloud

Page 21: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

BitTorrent Content Popularity

Few highly popular content

Moderately popular

content follow Zipf’s-like

distribution

Typical Zipf’s parameter

0.5-1.0

21

Number of occurances/queries (x) (log)

1.8 2.0 2.2 2.4 2.6 2.8 3.0 3.2 3.4 3.6 3.8

No o

f searc

h term

s w

ith >

x o

ccura

nces (

log)

-2.5

-2.0

-1.5

-1.0

-0.5

0.0

0.5

fenopy.org

y = 1.96 - 1.024x, r2 = 0.98

Number of occurances/queries (x) (og)

2.4 2.6 2.8 3.0 3.2 3.4 3.6

No o

f searc

h term

s w

ith >

x o

ccura

nces (

log)

-2.5

-2.0

-1.5

-1.0

-0.5

0.0

0.5

youbitTorrent.com

y = 4.71 - 1.88x, r2 = 0.98

Number of occurances/queries (x) (log)

0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5

No

of se

arc

h te

rms w

ith

> x

occu

ran

ce

s (

log

)

-7

-6

-5

-4

-3

-2

-1

0

Dataset1 - kickasstorrents.com

y = 0.96 - 1.51x, r2 = 0.98

Toy Story 3

DVD release date

June 18, 2010

[Bandara, 2012b]

Page 22: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

BitTorrent Characteristics

Flash crowd effect

Asymmetric bandwidth

Most peers leave after

downloading

Diurnal & seasonal

patterns

22

Flash crowd

Download

speed

Session length

[Zhang, 2009]

Page 23: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

BitTorrent Evolution

23

BitTorrent

Global community Islands of communities

Connected islands of

communities

BitTorrent ver. 4.2

Page 24: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

BitTorrent Communities

Many communities emerged based on similarity

Semantic – songs, video, games, Linux distributions

Geographic – China, India

Organizational – private communities

Run their own trackers

Many islands of deployments

Not isolated

Have to search in many trackers

v4.2.0 – connect peers using a Distributed Hash Table (DHT)

Many private communities

Require invitation to join

Require login

Today, BitTorrent Hierarchical + DHT 24

Page 25: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

BitTorrent Communities (cont.)

Similarity among communities

25

Community EX FE SP TB TS TE TR

FE 0.38

SP 0.00 0.00

TB 0.40 0.29 0.00

TS 0.48 0.33 0.00 0.48

TE 0.53 0.23 0.00 0.31 0.25

TR 0.10 0.08 0.00 0.06 0.09 0.06

YB 0.36 0.35 0.00 0.29 0.42 0.20 0.04

* EX – extratorrent.com, FE – fenopy.com, SP –

seedpeer.com, TB – torrentbit.net, TS – torrentscan.com, TE

– torrentsection.com, TR – torrentreactor.net, YB –

youbittorrent.com. Date – 24/07/2010 ~04:55 UTC.

[Bandara, 2011a]

Page 26: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

BitTorrent Fairness/Incentives Tit-for-tat

Bandwidth policy

Upload to 4 peers that give me the

highest download bandwidth

1 random peer

Create clusters of similar

bandwidth peers [Legout, 2007]

Chunk policy

Rarest first

Download least popular chunk

Initial seed try not to send same

chunk twice

Most peers leave immediately

after downloading

Modified nodes increase free

riding

Modified policies

Message Types

Choke/Unchoke

Interested/Not_intere

sted

Have

Bitfield

Request

Piece

Cancel

26

Page 27: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Summary – Unstructured P2P

Separate content discovery & delivery

Content discovery is mostly outside of P2P overlay

Centralized solutions

Not scalable

Affect content delivery when failed

Distributed solutions

High overhead

May not locate the content

No predictable performance

Delay or message bounds

Lack of QoS or QoE

27

Page 28: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Structured P2P

Deterministic approach to locate contents & peers

Locate peer(s) responsible for a given key

Contents

Unique key

Hash of file name, metadata, or actual content

160-bit or higher

Peers also have a key

Random bit string or IP address

Index keys on a Distributed Hash Table (DHT)

Distributed address space [0, 2m – 1]

Deterministic overlay to publish & locate content

Bounded performance under standard conditions

28

Page 29: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Terminology

Hash function

Converts a large amount of data into

a small datum

Hash table

Data structure that uses hashing to

index content

Distributed Hash Table (DHT)

A hash table that is distributed

Types of hashing

Consistent or random

Locality preserving

29

f()

f()

f() g()

g()g()

Page 30: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Structured P2P – Example

2 operations

store(key, value)

locate(key)

30

Ring – 16 addresses

Song.mp3

Cars.mpeg

f()

f()

Find cars.mpeg

n + 2i – 1, 1 i m

Successor

11 Song.mp3

6 Cars.mpeg

O(log N) hops

Page 31: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Chord [Stoica, 2001]

Key space arranged as a ring

Peers responsible for segment of

the ring

Called successor of a key

1st peer in clockwise direction

Routing table

Keep a pointer (finger) to m peers

Keep a finger to (2i – 1)-th peer, 1 ≤ i ≤ m

Key resolution

Go to peer with the closest key

Recursively continue until key is find

Can be located within O(log n) hops

31

m =3-bit key ring

Page 32: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Chord (cont.)

New peer entering overlay

Takes keys from the successor

Peer leaving overlay

Give keys to the successor

Fingers are updated as peers join & leave

Peer failure or churn makes finger table entries stale 32

New peer with key 6 joins the overlay Peer with key 1 leave the overlay

Page 33: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Chord Performance

Path length

Worst case O(log N)

Average ½log2N

Updates O(log2 N)

Fingers O(log N)

Alternative paths (log N)!

Balanced distribution of

keys

Under uniform distribution

N(log N) virtual nodes

provides best load

distribution

33

Page 34: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Kademlia [Maymounkov, 2002]

Used in BitTorrent, eMule, aMule, & AZUREUS

160-bit keys

Nodes are assigned random keys

Distance between 2 keys is determined by XOR

Routing in the ring is bidirectional

dist(a b) = dist(b a)

Enable nodes to learn about new nodes from received messages

Keys are stored in nodes with the shortest XOR distance

34

Page 35: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Kademlia (cont.)

k-bucket routing table

Store up to k peers for each (2i, 2i+1) distance, 1 ≤ i ≤ m

Update bucket entries based on least-recently seen approach

Ping a node before dropping from a bucket

Better performance under peer churn & failure

35

Node with key 0110 keeps k

entries for

• 1xxx/1

• 00xx/2

• 010x/3

• 0111/4

1 0

0

0

0

0

0

0

0

0 0

1

1

1

1

1

1 11

1

Page 36: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Kademlia Routing

Find set of peers with the shortest distance in routing table

Longest prefix match

Concurrently, ask α of them to find an even closer peer

Iterate until no closer peers can be found

Then send the query to α closest peers

36

1 0

0

0

0

0

0

0

0

0 0

1

1

1

1

1

1 11

1

Page 37: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Structured P2P – Alternate Designs

37

d-Torus Content-Addressable Network (CAN)

[Ratnasamy, 2001]

(0, 0)

(1, 0)

(0, 0)

(0, 1)

Zone controller

(0.1,0.9)

(0.3,0.4)

(0.4,0.8)

(0.75,0.2)(0.35,0.1)

(0.65,0.7)

(0.8,0.4)

(0.8,0.8)

(0-0.5, 0-0.5)

(0.5-1, 0-0.5)

(0-0.5, 0.5-1)

(0.5-1, 0.5-0.75)

Cube connected cycle Cycloid [Shen, 2006]

Page 38: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Structured P2P – Extensions

EpiChord [Leong, 2004]

Use messages being forwarded

to learn about new nodes

Cache their contact information

Can achieve O(1) lookup

Cannon [Ganesan, 2004b]

Hierarchical DHT

Each level in hierarchy maintains

a ring

Merge rings at higher levels

Maintain original fingers as it is

Merging add few new fingers

Many other designs for

specific applications 38

Page 39: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Amazon Dynamo [DeCandia, 2007]

Highly-available key-value system

Many large datasets/objects that only

require primary key access

Shopping carts, better seller lists, customer

preferences, product catalogs, etc.

Relational databases are not required, too

slow, or bulky

Fast reads, high availability for writes

Always failing servers, disks, switches

Objects are replicated in successors

All peers know about each other using

gossiping

Can read/write to any replica

Mechanisms to deal with different versions of objects

39

Page 40: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Summary – Structured P2P

Content discovery is within the P2P overlay

Deterministic performance

Chord

Unidirectional routing

Recursive routing

Peer churn & failure is an issue

Kademlia

Bidirectional routing

Parallel iterative routing

Work better under peer failure & churn

MySong.mp3 is not same as mysong.mp3

Unbalanced distribution of keys & load 40

Page 41: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Summary (cont.)

41

Scheme Architecture Routing

mechanism

Lookup

overhead*

Routing

table size*

Join/leav

e cost

Resilience

Chord Circular key

space

Successor &

long distant links

O(log N) O(log N) O(log2 N) High

CAN d-torus Greedy routing

through

neighbors

O(dN1/d) 2d 2d Moderate

Pastry Hypercube Correct one digit

in key at time

O(logB N) O(B logB N) O(logB N) Moderate

Tapestry Hypercube Correct one digit

in key at time

O(logB N) O(logB N) O(logB N) Moderate

Viceroy Butterfly network Predecessor &

successor links

O(log N) O(1) O(log N) Low

Kademlia Binary tree, XOR

distance metric

Iteratively find

nodes close to

key

O(log N) O(log N) O(log N) High

Cycloid Cube connected

cycles

Links to cyclic &

cubical

neighbors

O(d) O(1) O(d) Moderate

* N – number of nodes in overlay, d – number of dimensions B – base of a key identifier

Page 42: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Structured vs. Unstructured

42

Unstructured P2P Structured P2P

Overlay

construction High flexibility Low flexibility

Resources Indexed locally Indexed remotely on a distributed

hash table

Query messages Broadcast or random walk Unicast

Content location Best effort Guaranteed

Performance Unpredictable Predictable bounds

Overhead High Relatively low

Object types Mutable, with many complex

attributes Immutable, with few simple

attributes Peer churn &

failure Supports high failure rates Supports moderate failure rates

Applicable

environments Small-scale or highly dynamic, e.g.,

mobile P2P Large-scale & relatively stable,

e.g., desktop file sharing

Examples Gnutella, LimeWire, KaZaA,

BitTorrent Chord, CAN, Pastry, eMule,

BitTorrent

Page 43: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Enhancing Lookup Performance

Many fingers/pointers

Caching

Skewed popularity

Reactive/passive

Cache what you receive

Proactive/active

Demand based

Community caching

Replication

Load balancing

43

Page 44: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Unstructured P2P –

Performance Enhancements

44

Content

locatable

Reduce path

length

Load

balancing

Distributed

statistics • Capacity

• Popularity

• Failed queries

Consistency

Low key

movements

Goals Utilize

Heterogeneity

Skewed

popularity

Resilience

Reactive cache

ip

Local minima search

(Zhong, 2008)

P2R2

Push/pull

Page 45: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Unstructured P2P – Caching

Passive/reactive caching

Cache at query originator

Minor improvement

Active/proactive caching

Cache along path

Leads to (fk)½ allocation

fk – popularity of content k

Relatively better lookup

[Cohen, 2002] & [Lv, 2002]

45

Page 46: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Structured P2P –

Performance Enhancements

Resilience

Reduce path

length

Load

balancing

Distributed

statistics • Capacity

• Popularity

• No peers

Consistency

Low key

movements

Goals Utilize

Heterogeneity

Virtual nodes (VN)

Swap VNs

Skewed

popularity Reactive cache

CAN replication

Beehive

PoPCache

Amazon’s Dynamo

Y0

Page 47: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Structured P2P – Caching

Beehive [Ramasubramanian, 2004]

Cache most popular keys everywhere

2nd most popular at ½ of nodes

3rd most popular at ¼ of nodes

Assume Zipf’s popularity distribution

Global popularity estimation

Issues

Unnecessary caching

Not all nodes are interested in most

popular content

Not all intermediate nodes are

involved in routing

Works only with Zipf’s distribution

47

Page 48: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Structured P2P – Caching (cont.)

PoPCache [Rao, 2007]

Use overly routing tree to place

cache entries

ck = fk B

ck – cache capacity allocated to k

Place cache entries from bottom of

routing tree

Global popularity estimation

More efficient than Beehive

Issues Overlay routing tree is not symmetric

ck can exceed N

Use of upper bound O(log N)

48

Page 49: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Local Knowledge-based Distributed

Caching (LKDC)

Each overlay node

Independently decides what keys to cache based on number of

queries it forwards

Tries to maximize number of queries it can answer

NP-complete [Bandara, 2011d]

Relaxed version of problem (namely GKDC) can be used

to determine

Where to place cache entries?

How many entries to place?

GKDC says local statistics are adequate to decide what to

cache at a node

Heuristic algorithm based on Least Frequently Used (LFU)

caching 49

Page 50: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Global Knowledge-based Distributed

Caching (GKDC)

Where to place?

At nodes that forward most

number of messages

6, (4, 5), (0, 1, 2, 3), …

How many?

Place according to local

popularity

50

0

16

24 8

2

4

6

7

10

12

1418

26

22

20

28

30

6 5 31

7

3 23

4 2 30 22

0 28 20

24

8

16 12

26 18 14

1 29 21

25 17

10 9

13

27 19

11

15

16 4 281

4 28 1 4 2 1 2 1 1

112 112

1

4 2 1

12 1

1

1

1

1

5

10

10

5

1

Fingers

Longest path

else

),,(

)1(

if1

KlP

NlBf

lkN

c kk

[Bandara, 2011d]

Asymmetric routing tree

Page 51: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

r0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5

Ave

rag

e n

um

be

r o

f h

op

s (

Ha

ve)

2.0

2.4

2.8

3.2

3.6

g(ck)

Continious, b = log21.5

GKDC - Sim

LKDC - Sim

Eq. (12)

Heuristic-Based LKDC – Performance

Same performance as

PoPCache using

Small caches

Local statistics only

Works with any skewed

distribution 51

Number of nodes (N)

1000 2000 3000 4000 5000

Ave

rage

nu

mb

er

of

ho

ps (

Ha

ve)

2.5

3.0

3.5

4.0

4.5

5.0

5.5

6.0

g(ck)

Continious, = log21.5PoPCache

GKDC - SimLKDC - Sim

PoPCache - Sim

Zipf's parameter ()

0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5

Avera

ge n

um

ber

of

hops (

Ha

ve)

0

1

2

3

4

5

6

g(ck)

Continious, = log21.5

PoPCache

GKDC - Sim

LKDC - Sim

PoPCache - Sim

Page 52: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

0

100

200

300

400

1 2 3 4 5 6 7 8 9 1011121314151617181920

Community-Aware Caching

Many small P2P communities are

emerging

Enhancing lookup Unstructured Restructure overlay

Structured Cache only most popular

resources in entire system

However 1. Communities are not isolated

2. Loose popularity due to aggregation

52 0

100

200

300

400

1 2 3 4 5 6 7 8 9 10

0

100

200

300

400

1 2 3 4 5 6 7 8 9 10

+

Community EX FE SP TB TS TE TR

FE 0.38

SP 0.00 0.00

TB 0.40 0.29 0.00

TS 0.48 0.33 0.00 0.48

TE 0.53 0.23 0.00 0.31 0.25

TR 0.10 0.08 0.00 0.06 0.09 0.06

YB 0.36 0.35 0.00 0.29 0.42 0.20 0.04

[Bandara, 2011d]

Page 53: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Community-Aware Caching

Goal – Reduce content mixing or

overlay restructuring Preserve popularity

Each community forms a sub-

overlay Links to community members

Sample nodes pointed by fingers to find

community members

Forward messages through

community members Nodes can identify what’s popular

within their community

53

• By probing i-th finger & its

successor 2(i + 2 log N – m) - 1

nodes can be found

• Community of size M have M/2m –

i + 1 peers in the range of i-th

finger

Page 54: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Community-Aware Caching (cont.)

Cache based on communities’

interest “What is important to me is also

important to other community members”

“They may have queries it before me”

Heuristic-based LKDC caching

algorithm

Weighted LFU caching

Local statistics only

Pros Works with any structured overlay that

provide multiple paths

Peers can be in any community

Preserves path length bound O(log N)

54

Page 55: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Community-Aware Caching – Simulation

Setup

15,000 nodes

10 communities

Chord overlay

Simulated using OverSim

55

Community C1 C2 C3 C4 C5 C6 C7 C8 C9 C10

No of nodes

(apx.) 600 600 600 1,200 1,200 1,200 1,200 1,200 2,400 4,800

Zipf’s parameter 0.85 0.95 1.10 0.5 0.80 0.80 1.0 0.90 0.90 0.75

No of distinct

keys 40,000 30,000 30,000 40,000 40,000 40,000 50,000 50,000 50,000 50,000

Similarity with

community (x) 0.2

(C8) 0

0.1

(C7)

0.2

(C9)

0.3

(C8)

0.5

(C7)

0

0.1

(C3)

0.5

(C5)

0.3

(C5)

0.2

(C1)

0.4

(C1)

0.2

(C4)

0.3

(C10)

0.3

(C9)

Queries for rank

1 key 4,516 8,535 17,100 603 6,454 6,454 21,059 11,956 23,911 17,030

Page 56: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Community

m1 m2 m3 m4 m5 m6 m7 m8 m9 m10

Late

ncy (

ms)

0

500

1000

1500

2000

Random AS

GeographyAS

Community-Aware Caching – Results

More popular communities

48-53% reduction in path length

Least popular community

23% reduction (7% with caching)

Geographic communities

48-50% latency reduction 56

CommunityC1 C2 C3 C4 C5 C6 C7 C8 C9 C10

Ave

rag

e n

um

be

r o

f h

op

s

0

1

2

3

4

5

6

7

8

Chord

Caching

Community Caching

Time (seconds)2000 2500 3000 3500 4000 4500 5000

Ave

rag

e n

um

be

r o

f h

op

s

0

1

2

3

4

5

6

7

8

Chord

Passive Caching

Caching

Community Caching

Page 57: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Results (cont.)

Significant performance with small

caches

Caching threshold reduce cache

thrashing, & overhead

Fast response to popularity

changes

57

Time (seconds)

2000 2500 3000 3500 4000 4500 5000 5500 6000

Ave

rage n

um

ber

of

hops

4

5

6

7

8

Dcache = 0.11

Dcache = 0.12

Dcache = 0.13

Dcache = 0.14Popularity inversion

Time (seconds)2000 2500 3000 3500 4000 4500 5000

Avera

ge n

um

ber

of hops

4

5

6

7

8

Dcache = 0.10

Dcache = 0.11

Dcache = 0.12

Dcache = 0.13

Dcache = 0.14

Dcache = 0.15

Cache size (Cn)0 5 10 15 20 25

Avera

ge n

um

ber

of hops (

Ha

ve)

0

2

4

6

8

Chord

Passive Caching

Caching

Community Caching

Page 58: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Load Balancing

Swap nodes

Overloaded node swap its overlay location with a resourceful node

Load may exceed capabilities or any node Not scalable

Virtual nodes

A physical node appear as several virtual nodes

Chord index table is balanced when there are N log N virtual nodes

Increase lookup cost, e.g., Chord O{log (N log N)}

Replication

Save in multiple neighbors, e.g., Kademlia & CAN

Doesn’t work with some overlays, e.g., Chord

Caching

Nodes that cache reduce query load on indexing node

Doesn’t work well with mutable content and/or large indexes 58

Page 59: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Login Server

Superpeer overlay

Skype

Proprietary

Encrypted control & data messages

Many platforms

Voice/video calls, instant

messaging, file transfer,

video/audio conferencing

Superpeer overlay

Related to KaZaA

Based on bandwidth, not behind

firewall/NAT, & processing power

Enables NAT & firewall traversal for

ordinary peers

59

Page 60: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Skype (cont.)

30% superpeers

Relatively stable

Diurnal behavior

Longer session length than typical

P2P - Heavy tailed 60

[Guha, 2006]

Page 61: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

P2P as Publisher/Subscriber Services

Rendezvous service for consumers

& producers

File sharing, RSS feeds, mobility,

multicast, data availability in sensor

networks

i3 – Internet Indirection

Infrastructure [Stoica, 2002]

Packets have unique IDs

Receive requests packets from DHT

Unicast, anycast, multicast, mobility

Many other application specific

solutions

61

Mobility

Multicast

[Stoica, 2002]

Page 62: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

P2P Middleware – JXTA

XML-based P2P protocol

specification Sun Microsystem – up to 2010

Implementations for Java, C/C++, C#

Many protocols Peer Discovery – Resource search

Pipe Binding – Addressable messaging

Peer Information – Monitoring

Peer Resolver – Generic query service

Peer Membership – Security

Rendezvous – Message propagation

Peer Endpoint – Routing

Use any available protocol to

traverse firewalls/NATs HTTP, TCP 62

[Brookshier, 2002]

Page 63: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

JXTA (cont.)

63

[Brookshier, 2002]

Page 64: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

P2P Middleware in Windows

Available since Windows XP Supports IPv6, IPV4 needs

tunneling

Graphing Overlay connectivity maintenance

Flooding based

Grouping Peers groups

Access control

Distributed name lookup

Peer identity management

Applications Windows HomeGroup, Meeting

Space, Internet Computer Names 64

[Microsoft, 2006a]

NSP – Name Service Provider

PNRP – Peer Name Resolution Protocol

Page 65: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Windows Peer Name Resolution Protocol

Scalable, secure, & dynamic

name resolution protocol

P2P ID

End-point identifier of an

application, service, user, group

Circular ID space

Service location

Locally unique service ID

Peers cache IDs of other peers

Hierarchical like Kademlia

Iteratively search for peer(s)

with shorter distance to

destination

65

[Microsoft, 2006b]

Page 66: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

P2P Simulators

OverSim OMNeT++ based, GUI, C++

Prebuilt (un)structured protocols

Underlay support, e.g., GT-ITM

oversim.org

PeerSim Java based

Fast cycle-based simulation

Prebuilt (un)structured protocols

peersim.sourceforge.net

Overlay Weaver Emulator

Java based, GUI

Prebuilt (un)structured protocols

overlayweaver.sourceforge.net 66

OverSim

Overlay Weaver

Page 67: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Challenges & Opportunities

67

Challenges Opportunities

P2P communities • Identify, form, & maintain

Community-aware performance

enhancements • Lookup, fast download, reputation, trust,

etc.

• Interest-based topology adaptation

• Capturing/using social relationship

among peers

Topology missmatch & ISP traffic

blocking • P4P, ALTO

• User’s don’t like ISPs to suggest

Transparent selection of local peers • User & ISP friendly designs

• Incentives

• Network coordinates

QoS & QoE Best effort deterministic

performance • Predictable download times

• Real-time & VoD streaming

Page 68: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Challenges & Opportunities (cont.)

68

Challenges Opportunities

Free riding • 15% of Gnutella peers contribute

to 94% of content

• 63% of peers never responded to

queries [Adar, 2000]

Incentives, trust, & enforcement • Revenue models

• Ads, pay-per-click

• Retaining users after downloads

Security • File pollution, viruses, worms

• Topology worms

• Anonymity

• Route poisoning, sink holes, Sybil

attacks

Content protection & overlay security • Signed content

• Enabling/disabling anonymity

• Authentication & accountability • Centralized solutions are proposed

• Community support to moderate

content

Copyright violation • Direct/indirect infringement

Monitoring, enforcement • Active/passive monitoring

Load imbalance Static & dynamic load balancing

Page 69: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Challenges & Opportunities (cont.)

69

Challenges Opportunities

Integrating P2P & social

networks • Capturing social relationships

• Privacy

Enhanced performance, QoE • Social graph-based P2P overlays

• Better incentives

• Better caching, replication, load

distribution

Low resilience in structured P2P • Sudden departures

• Route failures

• Loss of content index

Maximize resilience/availability • Enhancing consistency of replicas

Connectivity • NAT, firewalls, & proxies

• 66% of BitTorrent peers are

behind firewalls [Zhang, 2009]

Connectivity services & tunneling • Performance should not depend on

whether a peer is behind a NAT/firewall

Page 70: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Outline

File sharing

Unstructured vs. structured overlays

Performance enhancements

More state, caching, replication

Opportunities & challenges

Streaming

Tree-push vs. mesh-pull

Opportunities & challenges

Resource sharing

Collaborative P2P

Resource aggregation

Opportunities & challenges

70

Page 71: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

P2P streaming

Emergence of IPTV

Content Delivery Networks (CDNs) can’t handle bandwidth

requirements

No multicast support at network layer

P2P

Easy to implement

No global topology maintenance

Tremendous scalability

Greater demand Better service

Cost effective

Robustness

No single point of failure

Adaptive

Application layer

71

Page 72: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

P2P Streaming – Components

Chunk

Segment of the video stream

E.g., one second worth of video

Partners

Subset of known peers that a peer may

actually talk to 72

(Hie, 2008)

(Zhang, 2005)

Page 73: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

(Liu, 2008)

Tree-Push Approach

Construct overlay tree starting from video source

Parent peer selection is based on

Bandwidth, latency, number of peers, etc.

Data/chunks are pushed down the tree

Multi-tree-based approach

Better content distribution

Enhanced reliability

73

Page 74: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Tree-Push Approach – Issues

Connectivity is affected when peers at the top of the tree

leave/fail

Time to reconstruct the tree

Unbalanced tree

Majority of the peers are leaves

Unable to utilize their bandwidth

High delay

74

(Zhang, 2005)

Page 75: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Mesh-pull approach

A peer connects to multiple peers

forming a mesh

Pros

More robust to failure

Better bandwidth utilization

Cons

No specific chunk forwarding path

Need to pull chunks from partners/peers

Need to know which partner has what

Used in most commercial products

75

(Zhang, 2005)

Page 76: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Chunk Sharing

Each peer

Caches a set of chunks within a sliding window

Shares its chunk information with its partners

Buffer maps are used to inform chunk availability

Chunks may be in one or more partners

What chunks to get from whom?

76

(Hie, 2008)

Page 77: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Chunk Scheduling

Some chunks are highly available while others are scare

Some chinks needs to be played soon

New chunks need to be pulled from video source

Chunk scheduling consider how a peer can get chunks while

Minimizing latency

Preventing skipping

Maximizing throughput

Chunk scheduling

Random, rarest first, earliest deadline first, earliest deadline & rarest

first

Determines user QoE

Most commercial products use TCP for chunk transmission

Control message overhead ~1-2%

77

Page 78: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Random Scheduling

One of the earliest approach – used in Chainsaw

Peers periodically share buffer maps

Select a random chunk & request it from one of the partners

having the chunk

Some peers may experience significant playback delay

1-2 minutes

Skipping is possible

78 [Pai, 2005]

Page 79: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Rarest First Scheduling

Used in CoolStraming

Chunk = 1 sec video, 120 chunk in sliding window

A peer gets the rarest chunk so that chunk can be spread to

its partners

Steps

1. Gather buffer maps periodically

2. Calculate number of suppliers (i.e., partners with chunk) for each

chunk

3. Request chunks with the lowest number of suppliers

4. For chunks with multiple suppliers, request from the supplier with

highest bandwidth & free time

Gather application-level bandwidth data for each partner

Request are made through a bitmap 79

Page 80: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Rarest First (cont.)

It is sufficient to maintain 4 partners

Discover more peers overtime – use gossiping

Keep only the partners that have sufficient bandwidth &

more chunks 80

(Zhang, 2005)

Page 81: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Rarest First (cont.)

More robust than tree-push

approach

Larger user community Better

service quality

Most users experience < 1 min

delay

81

(Zhang, 2005)

Page 82: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Queue-Based Scheduling

Objectives – Continuity & quality

Try to maximize bandwidth utilization

of peers

Available bandwidth is inferred from

queue status

Steps

1. Peers pull chunks from source (marked

as F)

2. Peers push chunks to its peers (marked

as NF)

3. If source is not busy, it push chunks to

peers (marked as NF)

82

[Guo, 2008 ]

Page 83: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Queue Based Scheduling (cont.)

Queues have different priorities

Missing chunks can be requested from source or peers

Maintain a separate queue & a connection to each peer

Prevents a slower peer from slowing down the whole system

83

[Guo, 2008]

Page 84: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Queue Based Scheduling (cont.)

Server need to contribute more bandwidth

More suitable for on-demand video

Lower hierarchy reduce latency

Less scalable

Peer churn & failure can affect the continuity 84

[Guo, 2008]

Page 85: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Earliest Deadline First

Objectives – Minimum playback delay & continuity

Rule 1

Chunk with the lowest sequence number has the highest priority

So request chunk with the lowest sequence number

Try to meet earliest deadline

Rule 2

Peer with the lowest, largest sequence number in buffer map has the

highest priority

Falling behind, so let it seed up

85 [Chen, 2008]

Page 86: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Earliest Deadline First (cont.)

DPC – Distributed Priority based Chunk scheduling

L – Number of partners

Lower playback delay

Lower skipping 86

[Chen, 2008]

Page 87: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Hybrid Chunk Scheduling

Combine both earliest deadline & rarest first

Lower delay than CoolStreaming & Chainsaw

Lower skipping 87

250 300 350 400 450 5000.4

0.5

0.6

0.7

0.8

0.9

1

Streaming Rate (Kbps)

Avera

ge D

eliv

ery

Ratio

Global optimal algorithm

Proposed distributed algorithm

DONet method

One-layer PALS method

Chainsaw method

[Zhang, 2006]

Page 88: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Application-Aware Radar Networking

Application-aware overlay networks

Application-aware packet marking &

streaming

In-network data fusion

API for application-aware service

deployment

Data-fusion latency estimation 88

[Lee, 2006]

[Banka, 2007]

Page 89: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Challenges & Opportunities

89

Challenges Opportunities

QoS & QoE • Peer churn & failure

• 30% of users leave overlay

within 3 minutes [Tang, 2007]

• Asymmetric bandwidth

Best effort deterministic

performance • Real-time & VoD streaming

• Minimizing skipping & start-up delay

• Adaptive network formation & routing

• Integrating social networks

Heterogeneous devices Supporting • Different video qualities

• Scree sizes

• Processing, memory, & bandwidth

• Coding designed for P2P

Digital rights management Distributing certificates/keys • Pay-per-view, VoD, ads

Page 90: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Outline

File sharing

Unstructured vs. structured overlays

Performance enhancements

More state, caching, replication

Opportunities & challenges

Streaming

Tree-push vs. mesh-pull

Opportunities & challenges

Resource sharing

Collaborative P2P

Resource aggregation

Opportunities & challenges

90

Page 91: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Collaborative P2P Systems

About interaction of groups

Aggregate group(s) of resources Diversity in resources & capabilities is an asset

Can accomplish greater tasks – beneficial to all peers

Many applications DCAS (Distributed Collaborative Adaptive Sensing), P2P clouds,

GENI (Global Environment for Network Innovation), mobile P2P,

social networks

Download song.mp3

91

Page 92: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Collaborative Adaptive Sensing of the

Atmosphere (CASA)

Distributed Collaborative

Adaptive Sensing (DCAS)

system

Concept

A network of small radars instead

of one large radar

Sense lower 3 km of atmosphere

Collaborating & adapting radars

Improved sensing, detection, &

prediction

CASA goal

Improve warning time & forecast

accuracy for hazardous weather

10,000 ft

tornado wind

snow

3.0

5 k

m

3.0

5 k

m

0 40 80 120 160 200 240 RANGE (km)

Horz. Scale: 1” = 50 km Vert. Scale: 1” -=- 2 km

5.4

km

1 k

m

2 k

m 4

km

gap

10,000 ft

tornado

wind snow

3.0

5 k

m

3.0

5 k

m

0 40 80 120 160 200 240 RANGE (km)

92

Page 93: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

CASA Oklahoma Test Bed

Multiple high bandwidth streams

Real-time communication

Simultaneous observations by multiple radars

Multi-sensor data fusion

Heterogeneous infrastructure & end users

Hostile weather conditions

Radar 1 Radar 2

Radar 3 Radar 4

Radar 1

Radar 2 Radar 3

Radar 4

WOSC Altus

Snyder

Cameron

Lawton Repeater

USAO Chickasha

RushSprings

Velma

Radio tower

Newcastle

OU Engineering

DS-3

DS-3 DS

-3

DS-3

DS-3

DS

-3

DS

-3

DS

-3

DS-3

OneNet

Hub-

Altus

Tower-

Altus100Mb

Tower-

Snyder

OneNet

Hub-

Lawton

Tower-

Lawton

Tower-

RushSpri

ngs

Tower-

Velma

Tower-

Ardmore

OneNet

Hub-

Ardmore

100 Mb

Tower-

Newcast

Tower

Chickash

OneNet

Hub-

Chick

DS-3 SONET

OneNet

Hub-OKC

45Mb-E

thernet

WesternHeights

Tower Lexington

802.11B

3550

Each Hub Has existing

Fiber Based DS-3 to

OneNethub-OKC

DS-3

DS-3DS-3DS-3

93

Page 94: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Large-Scale CASA Deployments

Large-scale CASA deployments are lot

more computation, bandwidth, & storage

intensive

New solid-state radar data rates in Gbps

Distributed & heterogeneous resources

Increased resource utilization

94

MC&C Meteorological

command & control

Page 95: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

CASA (cont.)

Groups of multi-attribute resources

Radars/sensors, processing, storage,

scientific algorithms

Heterogeneous, dynamic, &

distributed

Need to aggregate groups of

resources as and when needed

95

Multi-Sensor Data Fusion Applications

Event notification

Event subscription

Publisher/Subscriber

Event Handler

Resource Manager

Best Peer Selection (BPS)

Neighboring Peers

P2P Collaboration Framework in a peer

Locate data

Peer Manager

Data

Peers

Events Probe & cost

Task assignment & data

Page 96: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Global Environment for Network

Innovations (GENI)

Collaborative & exploratory platform for innovation

Aggregating groups of resources across multiple administrative

domains 96

www.geni.net

Page 97: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Other Applications

Depends on some form of

resource aggregation

Multi-attribute, heterogeneous,

dynamic, & distributed

97

Community (P2P) clouds

Find

ATM

Mobile P2P

Page 98: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Multi-Attribute P2P Resource Aggregation

Phases of resource aggregation Advertise resources

Attributes & usage constrains

Select best resources

Match resources Bandwidth, latency, packet loss,

neighborhood (avoid ISP)

Bind to resources Agreement between user & resource

Use resources

Release Task complete or decreased demand

Process continues Demand increases

Overcome/use fail/new resources 98

Advertise

Select

Match

Bind

Use

Release

[Bandara, 2011d]

Page 99: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Multi-Attribute Queries

Specify multiple attributes & range of attribute values

“Find 2 nodes”

“Find 2 Linux nodes”

“Find 2 nodes with CPU ≥ 2.0 GHz and 256 ≤ Memory ≤ 512 MB and

OS=“Linux 2.6” and Latency ≤ 50 ms”

May also specify constraints

“Find 2 GHz ×86 CPU: available between 12:00am-6:00am to my friends and

average utilization must be ≤ 60%”

99

Queries

Single attribute

Exact

Range

Multi-attribute

Exact

Range

Page 100: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Resource Discovery – Unstructured P2P

100

Centralized

O(1)

Single point of failure

Unstructured

O(hopsmax)

Not guaranteed to find resources

Superpeer

O(hopsmax)

Not guaranteed to find resources

Page 101: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Unstructured P2P (cont.)

Random walk Superpeer overlay

Pros – low overhead, accurate state

Cons – no guarantees, high latency

Broadcast Best peer selection [Lee; 2007]

Expanding tree [Yao, 2006]

Pros – accurate state

Cons – high overhead, not scalable

Gossiping Agents carry resource information

[Kwan, 2010]

Pros – low overhead, large coverage

Cons – stale data, no guarantees 101

Random walk

Expanding tree

I

N1

N2

N3

Step 1 (PP:d1, PP:d2, PPd3)

Step 2 (FP:PP(d1), PP(d2), PP(d3))Probe(P

P:d1, PP:d2, P

P:d3)

Probe(PP:d1, PP:d2, PP:d3)

Probe(PP:d1, PP:d2, PPd3)

I

N1

N2

N3

Cost(PP:d1:5, PP:d2:20, PP:d3:12)

X

Application Request

Best peer selection

Page 102: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Unstructured P2P (cont.)

Report to specific nodes

Centralized Report to a known location

E.g., GENI clearing house

Pros

Accurate state, guaranteed, low

adv/query cost

Cons

Single point of failure, not scalable

Hierarchical Report to local repository

Which in turn report to a regional

one

e.g., GENI federated clearing house

102

[Ranjan, 2008]

Page 103: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

UPnP (Universal Plug & Play) – upnp.org

Pervasive P2P network

connectivity across

PCs, mobile phones, TVs,

intelligent appliances,

sensors, actuators

Data sharing,

communication & control

Expressed using XML

HTTP & TCP/IP for direct

communication

Facilitates collaborative

P2P applications within

Home, office, & everywhere in

between

103

www.orbitmicro.com

wordpress.com

Page 104: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Resource Discovery – Structured P2P

104

Distribute Hash Table (DHT) O(log N)

Guaranteed performance

Not for dynamic systems

Page 105: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Resource Discovery – Multiple Rings

Separate ring for each attribute Mercury [Bharambe, 2004]

Locality preserving hashing Map attribute values to nearby nodes

(v – vmin)/(vmax – vmin)

1. Multiple sub-queries Go to c1/m1/b1

Then go from c1/m1/b1 to c2/m2/b2

using successors

Finally, a database-like join

Total cost O(N)

105

q

CPUSpeed BandwidthMemory

Query routing Peer originating query

(a)

Pointers

query = c1 ≤ CPU ≤ c2, m1 ≤

Memory ≤ m2, b1 ≤ BW ≤ b2

)(tQq

qQUE

Rr

rADVTOTAL CCC

Aqii

iq

iqQUE

A

N

r

rhC 1

max

Page 106: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Multiple Rings (cont.)

2. Single-Attribute Dominated

Queries (SADQ) Advertise attributes to all rings

Pick min(c1 – c2, m1 – m2, b1 – b2)

Search that ring

Query stop as soon as desired

no of resources are found

Low query cost

High advertising cost

Pros Support new attributes

Cons Many routing entries

Load balancing issue

106

q

CPUSpeed BandwidthMemory

Query routing Peer originating query

(a)

Pointers

query = c1 ≤ CPU ≤ c2, m1 ≤

Memory ≤ m2, b1 ≤ BW ≤ b2

Page 107: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Single Ring

Single-partitioned ring LORM [Shen, 2007]

Sword [Albrecht, 2008]

Pros

Few routing entries

Cons

Hard to add new attributes

Load balancing issue

Single-overlapped ring MAAN [Cai, 2004]

Pros

Few routing entries

Relatively better load distribution

Cons

Easy to add new attributes

107

CPUSpeed BandwidthMemory

q

q

Page 108: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Resource Discovery in MANET

Group nodes based on landmarks

Mapped to a partitioned-ring

Advertise resources to

Nodes within own landmark

Global address on ring

Can locate nearby resources

Reduce latency & hops

Doesn’t work with many attributes

108

MADPastry [Zahn, 2005]

Page 109: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

D-Torus – MURK [Ganesan, 2004a]

Map attribute values to a d-torus

Partition d-torus to zones

A peer is responsible for a zone

Track as a kd-tree

Index in appropriate zone

Greedy routing of queries

Parallel search on neighboring zones

Results are send to query originator

Finally, database-like join

Cons - high query cost

Also, mapped to Chord using space

filling curves

Cons – loose locality, cost is O(N) 109

Clock speed

Ba

nd

wid

th

Q1

Q2

MURK - MUlti-dimensional

Rectangulation with Kd-trees

Page 110: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

D-Torus – Resource-Aware Overlay [Costa, 2009]

DHTs can’t track dynamic attributes

correctly

Use only static attributes

Form overlay by connecting peers

based on Partition torus into hierarchical cells

Keep a pointer to a node in each level in

hierarchy & cell

Identified using gossip protocol

Query resolution Depth-first search starting from lowest

level cell

Cons – high latency & support only

static attributes 110

A

Clock speed

Ba

nd

wid

th

Q1

Page 111: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Resource Selection, Match, & Bind

Select

Supported by all solutions

Match

Need access to multiple resources

Superpeers index multiple resources

Sword support latency & bandwidth as AS level

MADPastry based on locality & latency

Bind

Need access to resource

Superpeers, unstructured P2P, & resource-aware overlay

No single solution support all 3 requirements

111

Page 112: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Summary of Structured P2P Solutions

112

Scheme Architecture Routing

mechanism

Lookup

overhead

(point query)*

Lookup

overhead

(range

query)*

Routing

table size*

Load

balancing

Mercury Multiple rings Successor &

long distant

links

O(1/k log2 n) O(n) k + 2 per

ring

Dynamic

LORM Partitioned

ring

Cycloid O(d) O(n) O(1) Static

MADPastry Partitioned

ring (locality

based)

Pastry O(log n) O(n) O(log l) Static

MAAN Single ring Chord O(log n) O(n) O(log n) Static

MURK d- torus CAN with long

distance links

O(log2 n) O(n) 2d + k Dynamic

SWORD Partitioned

ring, resource

matching

Chord O(log n) O(n) O(log n) Static

Resource-

aware

overlay

d- torus

partitioned

into cells

Links to peers

in other cells

O(n) O(n) O(d) Static

* n – number of peers in overlay, k – number of long distant links, d – number of dimensions, D - network diameter, l – number

of landmarks

Page 113: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Summary of All Solutions Scheme Architecture Advertise Discover Select Match* Bind*

Flooding Flood advertisements

or queries

Yes N/A Guaranteed N/S When queries

are flooded

Gossiping Agents share resource

specifications they

know

Yes Yes Moderate

probability of

success

Simple

matching

N/S

Random walk Agents carry resource

specifications &

queries

Yes Yes Moderate

probability of

success

Simple

matching

When query

agents are

used

Superpeer 2-layer overlay Yes Yes Relatively high

probability of

success

Simple

matching

Yes

Mercury Multiple rings Yes N/A Guaranteed N/S N/S

LORM Partitioned ring Yes N/A Guaranteed N/S N/S

MADPastry Partitioned ring (based

on locality)

To local &

neighbor

partitions

N/A Guaranteed Latency &

hop count

N/S

MAAN Single ring Yes N/A Guaranteed N/S N/S

MURK d- torus Yes N/A Guaranteed N/S N/S

SWORD Partitioned ring,

resource matching

Yes N/A Guaranteed Yes N/S

Resource-

aware overlay

d- torus partitioned

into cells

Static

attributes

N/A Guaranteed N/S Yes

113

Page 114: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Resource & Query Characteristics

Resources & queries are characterized by multiple

attributes

Need detailed understanding to design, optimize, & validate

No formal analysis Many simplifying assumptions

Few attributes

Ignore cost of updating dynamic attributes

i.i.d attributes

Uniform/Zipf’s distribution of resources/queries

Queries specifying a large number of attributes & a small range of

attribute values

Leads to inaccurate designs, performance analysis, &

conclusions

114

Page 115: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Datasets

PlanetLab node data Global research network for developing new network services,

protocols, & applications

Reflects many characteristics of Internet-based distributed systems

Heterogeneity, multiple end users, dynamic nodes, & global

presence

Used to evaluate many preliminary P2P protocols & applications

12 static & 34 dynamic attributes sampled every 5 min

500-700 active nodes

SETI@home

Desktop grid

Static resources from 300,000+ nodes

21 static & 4 dynamic attributes

115

Page 116: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Resource Characteristics

116

Resources satisfy a mixture of

probability distributions Gaussian – CPUSpeed, MemSize, DiskFree

Pareto – TxRate, RxRate

Many identical nodes

Highly skewed distributions CPUFree, MemFree, CPU architecture

Clock speed of CPUs (GHz)0.8 1.2 1.6 2.0 2.4 2.8 3.2 3.6

Den

sity

0.0

0.2

0.4

0.6

0.8

1.0CPUSpeed

~N(2.63, 0.43)

Free CPU and memory (%)

0 10 20 30 40 50 60 70 80 90 100

Den

sity

0.00

0.02

0.04

0.06

0.08

0.10

CPUFree

MemFree

Transmission rate (bps)

0 5000 10000 15000 20000

Den

sity

0.0000

0.0001

0.0002

0.0003

0.0004

0.0005

0.0006

TxRate

~GPD(0, 953, 0.55)

CPU architecture

x86 PowerPC SPARC

No o

f n

od

es

0

1e+5

2e+5

3e+5

4e+5

SETI@home

Page 117: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

No of attribute value changes within 24 hours

0 50 100 150 200 250

CD

F

0.0

0.2

0.4

0.6

0.8

1.0

1MinLoad

5MinLoad

FreeCPU

FreeMemory

TxRate

RxRate

Dynamic Attributes at Different Times

Distribution of dynamic attributes

is stable over days

Dynamic attributes & their rate of

change fits Pareto Same attributes/nodes change

frequently

Many status updates

117

CPUFree (%)

0 20 40 60 80 100

CD

F

0.0

0.2

0.4

0.6

0.8

1.0

t = t0

t = t0 + 12 hours

t = t0 + 1 day

t = t0 + 7 days

t = t0 + 14 days

TxRate (bps)

0 5000 10000 15000 20000

CD

F

0.0

0.2

0.4

0.6

0.8

1.0

t = t0

t = t0 + 12 hours

t = t0 + 1 day

t = t0 + 7 days

t = t0 + 14 days

Memory Free (%)

0 20 40 60 80 100

CD

F

0.0

0.2

0.4

0.6

0.8

1.0

t = t0

t = t0 + 12 hours

t = t0 + 1 day

t = t0 + 7 days

t = t0 + 14 days

Thresholds: CPUFree = MemFree = ± 10%,

1MinLoad = ± 2, TxRate = RxRate = ± 1 Kbps

Page 118: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

CPUFree (%)

0 20 40 60 80 100

Num

Core

s

0

2

4

6

8

10

12

14

16

Resource Characteristics – Correlation

Complex correlation among

attributes

Correlation between attributes Static-dynamic

Dynamic-dynamic

118

CP

US

pee

d

Nu

mC

ore

s

CP

UF

ree

1M

inL

oad

Mem

Siz

e

Mem

Fre

e

Dis

kF

ree

Tx

Rat

e

NumCores -0.09

CPUFree 0.02 0.48

1MinLoad 0.03 -0.31 -0.57

MemSize 0.06 0.28 0.26 -0.25

MemFree 0.13 0.21 0.31 -0.35 0.25

DiskFree -0.09 0.46 0.37 -0.29 0.54 0.23

TxRate 0.08 -0.23 -0.26 0.24 -0.12 -0.17 -0.12

RxRate 0.10 -0.23 -0.30 0.35 -0.13 -0.20 -0.16 0.85

CP

US

pee

d

Nu

mC

ore

s

CP

UF

ree

1M

inL

oad

Mem

Siz

e

Mem

Fre

e

Dis

kF

ree

Tx

Rat

e

NumCores 0.04

CPUFree -0.07 0.67

1MinLoad 0.10 -0.42 -0.72

MemSize 0.03 0.37 0.37 -0.33

MemFree -0.07 0.37 0.37 -0.38 0.53

DiskFree -0.20 0.60 0.52 -0.41 0.44 0.44

TxRate 0.06 -0.35 -0.39 0.30 -0.07 -0.20 -0.29

RxRate 0.07 -0.33 -0.42 0.41 -0.11 -0.21 -0.29 0.86

Pearson’s correlation coefficient Spearman’s ranked correlation coefficient ρ

Page 119: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Dynamic Attributes – Contemporaneous

Correlation

Contemporaneous correlation among time series of

dynamic attributes

Specific temporal pattern in MemFree

Temporal patterns need to be preserved 119

0 10 20 30 40 50

CP

UF

ree

(%

)

0

30

60

90

1M

inL

oa

d

FreeCPU

1MinLoad

0 10 20 30 40 50

Me

mF

ree

(%

)

25

50

75

100

125

Dis

kF

ree

(G

B)

MemFree

DiskFree

Time (hours)0 10 20 30 40 50

TxR

ate

(K

bp

s)

0

2

4

6

8

RxR

ate

(K

bp

s)TxRate

RxRate

Page 120: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Dynamic Attributes – Autocorrelation

High autocorrelation in DiskFree & MemFree

No noticeable change in DiskFree

Temporal patterns need to be preserved 120

Lag

0 20 40 60 80 100 120 140 160 180 200

Auto

corr

ela

tion

0.4

0.5

0.6

0.7

0.8

0.9

1.0

CPUFree

1MinLoad

MemFree

DiskFree

Txrate

RxRate

Page 121: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

MemSize0.0 0.2 0.4 0.6 0.8 1.0

Num

Core

s

0.0

0.2

0.4

0.6

0.8

1.0

Generated data

Actual data

Modeling Static Attributes

Need to preserve correlation Attribute values can’t be randomly drawn from marginal distributions

Pearson’s correlation matrix is insufficient

Copulas capture complex correlations Functions that couple multivariate distributions to their marginals

Multivariate joint distribution defined on d-dimensional unit cube s.t.

marginal distribution ui is ~uniform(0, 1)

Empirical copulas support complex/unknown distributions

& correlations

x(i) ordered statistics of x

No need to find distribution of attributes

)(,),()( 11 dd uFuFCuF

n

yyxxyx

n

j

n

iC

jin

)()( and s.t.),( pairs of No,

Page 122: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Modeling Dynamic Attributes

Specific temporal patterns in time series Can’t draw

values randomly

Contemporaneous correlation Can’t draw independently

Goal – Not to predict future behavior, but to generate

nodes with similar overall characteristics

Not necessary to fit a model

Build a library of time series segments

Pick the most distinct pattern & split according to structural changes

Preserve distinct temporal patterns

Split other time series at same position & replay segments together

122

Page 123: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Time (hours)0 12 24 36 48 60 72

Mem

Fre

e (

%)

50

75

100

Modeling Dynamic Attributes (cont.)

Initial approach – R strucchange package

Better approach – Sliding window (w) looking for

significant change in average value (Δ) of 2 halves

of the window 123

niuxy iiTii ,,1

Check for Null

Hypothesis that

H0: βi = β0, i = 1, …, n

Time (hours)0 12 24 36 48 60 72

Mem

Fre

e (

%)

50

75

100

Sliding Window

w = 20, Δ = 30%

Page 124: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Dynamic Attributes – Contemporaneous

Correlation

Split other time series at same position & replay segments

together

Concatenate segments to form longer sequences

Segments are index by static attributes 124

0 10 20 30 40 50

CP

UF

ree

(%

)

0

30

60

90

1M

inL

oa

d

FreeCPU

1MinLoad

0 10 20 30 40 50

Me

mF

ree

(%

)

25

50

75

100

125

Dis

kF

ree

(G

B)

MemFree

DiskFree

Time (hours)0 10 20 30 40 50

TxR

ate

(K

bp

s)

0

2

4

6

8

RxR

ate

(K

bp

s)TxRate

RxRate

Page 125: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

RESQUE – RESource & QUEry Generator

NumCores establish correlation between static & dynamic

Generate synthetic traces with n nodes, as static & ad dynamic

attributes over a given time t

Also generate multi-attribute queries

Beta version available – www.cnrl.colostate.edu/Projects/CP2P/ 125

Transform to uniform CDF

Calculate empirical copula

Generate random numbers

Inverse CDF transformation

Build library of time series

Library of time series

Select attributes

PlanetLab node data

Co

pu

la g

ener

atio

n

Draw random samples

Static & instantaneous dynamic attributes

Time series of dynamic attributes

Time series of dynamic attributes

Random vectors

NumCores

Page 126: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

TxRate (bps)0 5000 10000 15000 20000

CD

F

0.0

0.2

0.4

0.6

0.8

1.0

Act - t = t0 + 12 hours, ( = 1771, = 2377)

Gen - t = t0, ( = 1488, = 2040)

Gen - t = t0 + 12 hours, ( = 1626, = 2249)

Gen - t = t0 + 1 day, ( = 1669, = 2665)

Gen - t = t0 + 7 days, ( = 1539, = 2174)

Gen - t = t0 + 14 days, ( = 1564, = 2287)

CPUSpeed (GHz)

0.5 1.0 1.5 2.0 2.5 3.0 3.5

CD

F

0.0

0.2

0.4

0.6

0.8

1.0

Actula, ( = 2.63, = 0.43)

Generated, ( = 2.63, = 0.44)

CPUFree (%)0 20 40 60 80 100

CD

F

0.0

0.2

0.4

0.6

0.8

1.0

Act - t = t0+ 12 hours, ( = 76.6, = 29.8)

Gen - t = t0, ( = 79.6, = 28)

Gen - t = t0 + 12 hours, ( = 79.4, = 28.2)

Gen - t = t0 + 1 day, ( = 79.7, = 27.7)

Gen - t = t0 + 7 days, ( = 78.3, = 28.8)

Gen - t = t0 + 14 days, ( = 78, = 28.8)

Resource Generation – Validation

Using 300 nodes over a week

generated 5,000 nodes over 2 weeks

Satisfy Kolmogorov-Smirnov (KS) test

with a significance level of 0.05

Statistically accurate data

126

Page 127: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Attribute

Res

pTim

e

1MinLo

ad

CPUFre

e

DiskF

ree

Mem

Free

TxRat

e

CPUSpe

ed

Mem

Size

Loca

tion

5MinLo

ad

UpT

ime

BW

Lim

it

OSNam

eGNP

Ker

nVer

Drif

t

Num

Slic

es

CPUBus

y

DiskS

ize

Has

Via

No o

f queri

es

0

20

40

60

80

100

120

140

160

180

Query Characteristics

441 queries, 9 moths

Few attributes in a query 80% queries specify 1 or 2 attributes

Skewed but not Zipf’s

Less specific attribute ranges 89% queries request CPUFree of 40-100%

70% queries request DiskFree of 5-1000GB

Dynamic attributes are popular

Large number of resources 73 resources per query

127

FreeCPU (%)

0 10 20 30 40 50 60 70 80 90 100

No

of q

ue

rie

s r

eq

ue

stin

g x

% F

ree

CP

U

0

20

40

60

80

100

No of distinct attributes specified in query0 1 2 3 4 5 6 7

CD

F

0.0

0.2

0.4

0.6

0.8

1.0

x = Cluster size

1 10 100

Cu

mm

ula

tive

dis

trib

utio

n o

f q

ue

rie

s >

x

0.001

0.01

0.1

1

Cluster of queries

Cluster of attributes

Page 128: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Comparison of Existing Solutions

Most prior assumptions are not valid

Resources

Many attributes, mixture of distributions, skewed, correlated, change

rapidly

Queries

Few attributes, request many resources, large range of attribute

values, skewed

Need to validate existing designs under real-workloads Mostly extensions of single-attribute solutions

Contributions Simple cost model for advertising & querying

Simulated 7 designs using PlanetLab resources & query traces

Unable to deliver desired performance, load balancing, etc.

128

Page 129: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Time (hours)

0 12 24 36 48 60 72

To

tal cost (h

op

s)

0

3x107

6x107

9x107

Centralized

Unstructured

Superpeer

Multi-ring + SADQ

Partitioned-ring + SADQ

Overlapped-ring + SADQ

d-Torus

No of attributes

12 15 18 21 24

Co

st p

er

que

ry (

hop

s)

0

200

400

600

800

Multi-ring + Sub-query

Multi-ring + SADQ

Partitioned-ring + Sub-query

Partitioned-ring + SADQ

Overlapped-ring + SADQ

Simulation of Different Solutions

Rings – higher advertising cost

Partitioned ring – Disproportionate load

distribution

Superpeers – Balance cost & load but can’t

locate all resources 129

No of attributes

12 15 18 21 24

To

tal a

dve

rtis

ing

cost (h

op

s)

0

107

2x107

3x107

Multi-ring + Sub-query

Multi-ring + SADQ

Partitioned-ring + Sub-query

Partitioned-ring + SADQ

Overlapped-ring + SADQ

Static attributes only

Page 130: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Number of nodes (N)

400 600 800 1000

Cost

per

qu

ery

(h

op

s)

0

200

400

600

800

1000

Multi-ring + SADQ

Partitioned-ring + SADQ

Overlapped-ring + SADQ

Simulation of Different Solutions (cont.)

Large range of attribute values cost of ring-based designs O(N) 130

N Multi-ring + SADQ Partitioned-ring +

SADQ

Overlapped-ring +

SADQ

Min Ave Max Min Ave Max Min Ave Max

250 0 9.2 239.1 0 3.7 19.4 0 9.1 238.4

527 0 13.7 509.0 0 4.6 27.6 0 13.5 506.0

750 0 16.2 719.1 0 4.9 36.6 0 16.5 719.9

1000 0 19.8 975.5 0 5.3 45.3 0 20.4 963.8

Page 131: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Index size

0 100 200 300 400 500

CD

F

0.0

0.2

0.4

0.6

0.8

1.0

Multi-ring + SADQ

Partitioned-ring + SADQ

Overlapped-ring + SADQ

Load Distribution

Unbalanced index size & query load 131

Architecture

Total Cost per Query Query Load Index Size

Min Max Min Max

SWORD Uniform SWORD Uniform SWORD Uniform

Centralized 2.03 2.03 950,000 950,000 950,000 950,000 527 527

Unstructured 69.5 94.8 4,859 1,272 268,497 37,824 1 1

Superpeer 6.5 9.5 81,021 22,390 289,626 87,209 17 36

Multi-ring + SADQ 48.3 69.0 0 0 178,492 22,943 0 527

Multi-ring + Sub-queries 398.8 120.8 0 0 624,837 57,518 0 230

Partitioned-ring + SADQ 36.6 37.0 0 0 185,972 15,840 0 527

Partitioned-ring + Sub-queries 40.7 16.4 0 0 432,859 46,946 0 527

Overlapped-ring + SADQ 46.0 67.2 0 0 391,738 57,524 0 527

No of queries answered

0 1e+5 2e+5 3e+5 4e+5

CD

F

0.0

0.2

0.4

0.6

0.8

1.0

Multi-ring + SADQ

Partitioned-ring + SADQ

Overlapped-ring + SADQ

N = 527, Attributes = 24

Page 132: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Challenges & Opportunities

133

Challenges Opportunities

Diversity in • Resources

• Application requirements

• Complex inter-resource

relationships

New solutions • Support large number of resources &

attributes • Consider real-world resource & query

characteristics

• How to specify application requirements

& constraints

• Efficiently track & match inter-resource

relationships

No solution satisfy select, match,

& bind

Supporting select, match, & bind

within a single solution • Track inter-node

• Bandwidth, latency, jitter, packet loss,

etc.

• Social relationships

• Distributed resource binding

Page 133: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Challenges & Opportunities (cont.)

134

Challenges Opportunities

High cost • Query cost

• Advertising dynamic attributes

Enhance performance • Better support for dynamic attributes

• Reduce query cost • New DHT mechanisms

• Efficient updates – static/dynamic

thresholds to reduce number of

updates

Load balancing Dynamic/adaptive solutions • Based on queries & updates

• Based on resources being indexed

• Supporting many attributes & values • Some attributes have few values

Overcoming resource failures &

unavailability

Resource compensation • Substituting one resource with another

• CASA – can process faster to

accommodate high transmission delay

due to lack of bandwidth

Page 134: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Challenges & Opportunities (cont.)

135

Challenges Opportunities

Increasing user participation Incentives, security, & trust • Essential in collaborative P2P

• Virtual currency schemes to support

community clouds

Capturing large & high resolution

datasets

Tools to

• Capture datasets

• Generate statically accurate synthetic

datasets

Page 135: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Comments & Questions

136

Anura P. Jayasumana

Electrical & Computer Engineering,

Colorado State University,

Fort Collins, CO 80525&

[email protected]

www.engr.colostate.edu/~anura

Page 136: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Bibliography 1. E. Adar and B.A. Huberman, Free Riding on Gnutella, 2000.

2. J. Albrecht, D. Oppenheimer, D. Patterson, and A. Vahdat, Design and implementation tradeoffs for

wide-area resource discovery, ACM Trans. Internet Technol, 8(4), Sep. 2008.

3. H. M. N. D. Bandara and A. P. Jayasumana, Exploiting Communities for Enhancing Lookup

Performance in Structured P2P Systems, IEEE Int. Conf. on Communications (ICC2011), June 2011.

4. H. M. N. Dilum Bandara and Anura P. Jayasumana, On Characteristics and Modeling of P2P

Resources with Correlated Static and Dynamic Attributes, IEEE GLOBECOM ‘11, Dec. 2011.

5. H. M. N. D. Bandara and A. P. Jayasumana, Characteristics of Multi-Attribute Resources/Queries and

Implications on P2P Resource Discovery, 9th ACS/IEEE Int. Conf. On Computer Systems And

Applications (AICCSA 2011), Dec. 2011.

6. H. M. N. D. Bandara and A. P. Jayasumana, Community-Based Caching for Enhanced Lookup

Performance in P2P Systems, 2011, under review.

7. H. M. N. D. Bandara and A. P. Jayasumana, Evaluation of P2P Resource Discovery Architectures

Using Real-Life Multi-Attribute Resource and Query Characteristics, IEEE Consumer Communications

and Networking Conf. (CCNC ‘12), Jan. 2012.

8. T. Banka, P. Lee, A. P. Jayasumana and J. F. Kurose, An Architecture and a Programming Interface for

Application-Aware Data Dissemination Using Overlay Networks, COMSWARE 2007, Jan. 2007.

9. A. R. Bharambe, M. Agrawal, and S. Seshan, Mercury: Supporting scalable multi-attribute range

queries, ACM SIGCOMM ‘04, Aug.-Sep. 2004.

10. R. Bland, D. Caulfield, E. Clarke, A. Hanley, and E. Kelleher, “P2P routing,” Available:

http://ntrg.cs.tcd.ie/undergrad/4ba2.02-03/p9.html

137

Page 137: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Bibliography 11. D. Brookshier, Overview of JXTA, Aug. 2002, Available:

www.developer.com/java/other/article.php/10936_1450221_1

12. M. Cai, M. Frank, J. Chen, and P. Szekely, MAAN: A multi-attribute addressable network for grid

information services, Journal of Grid Computing, Jan 2004.

13. Z. Chen, K. Xue, and P. Hong, A study on reducing chunk scheduling delay for mesh-based P2P live

streaming, 7th Int. Conf. on Grid and Cooperative Computing, 2008, pp. 356-361.

14. Cisco Systems, Inc., Cisco Visual Networking Index: Forecast and Methodology, 2008–2013, June

2009.

15. Cisco Systems, Inc., Approaching the Zettabyte Era, June 2008.

16. E. Cohen and S. Shenker, Replication strategies in unstructured peer-to-peer networks, ACM

SIGCOMM ‘02, Aug. 2002.

17. P. Costa, J. Napper, G. Pierre, and M. Steen, Autonomous resource selection for decentralized utility

computing, 29th Int’l. Conf. Distributed Computing Systems, June 2009.

18. G. DeCandia et al., Dynamo: Amazon's highly available key-value store, ACM SIGOPS Operating

Systems (SOSP '07), vol. 41, no 6, Oct. 2007, pp. 205-220.

19. P. Ganesan, B. Yang, and H. Garcia-Molina, One torus to rule them all: Multi-dimensional queries in

P2P systems. 7th Int’l Workshop on the Web and Databases (WebDB ‘04), June 2004.

20. P. Ganesan, K. Gummadi, and H. Garcia-Molina, Canon in G major: designing DHTs with hierarchical

structure, 24th Int. Conf. on Distributed Computing Systems, 2004, pp. 263-272.

21. P. B. Godfrey and I. Stoica, Heterogeneity and load balance in distributed hash tables, IEEE INFOCOM,

Mar. 2005. 138

Page 138: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Bibliography 22. S. Guha, N. Daswani, and R. Jain, An Experimental Study of the Skype Peer-to-Peer VoIP System, 5th

Int. Workshop on Peer-to-Peer Systems (IPTPS ‘06), Feb. 2006.

23. Y. Guo, C. Liang, and Y. Liu, Adaptive queue-based chunk scheduling for P2P live streaming, IFIP

Networking, May 2008.

24. X. Hei, Y. Liu, and K. W. Ross, IPTV over P2P streaming networks: the mesh-pull approach, IEEE

Communications Magazine, vol. 46, no. 2, Feb. 2008, pp. 86-92.

25. T. Koponen et al., A data-oriented (and beyond) network architecture, SIGCOMM '07, 2007.

26. S. Kwan and J. K. Muppala, Bag-of-tasks applications scheduling on volunteer desktop grids with

adaptive information dissemination, IEEE LCN ‘10, Oct. 2010, pp. 560-567.

27. C. Leng, W. W. Terpstra, B. Kemme, W. Stannat, and A. P. Buchmann, Maintaining replicas in

unstructured P2P systems, ACM Int. Conf. on Emerging Networking Experiments and Technologies

(CoNEXT), Dec. 2008.

28. B. Leong, B. Liskov, E. D. Demaine, EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive

Routing State Management, 12th Int. Conf. on Networks, 2004.

29. Q. Lv, P. Cao, E. Cohen, K. Li, and S. Shenker, Search and replication in unstructured peer-to-peer

networks, 16th Int. Conf. on Supercomputing (ICS ‘02), June 2002, pp. 84-95.

30. Microsoft, Introduction to Windows Peer-to-Peer Networking, Sep. 2006, Available:

http://technet.microsoft.com/en-us/library/bb457079(d=printer).aspx

31. Microsoft, Peer Name Resolution Protocol, Sep. 2006, Available: http://technet.microsoft.com/en-

us/library/bb726971(printer).aspx

32. R Morselli, B. Bhattacharjee, A. Srinivasan, and M. A. Marsh, Efficient lookup on unstructured

topologies, 24th ACM Symposium on Principles of Distributed Computing (PODC '05), July 2005. 139

Page 139: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Bibliography 33. P. Lee, T. Banka, A. P. Jayasumana, and V. Chandrasekar, Content Based Packet Marking for

Application-Aware Processing in Overlay Networks, IEEE LCN ‘06, Nov. 2006.

34. P. Lee, A. P. Jayasumana, S. Lim, and V. Chandrasekar, A Peer-to-Peer Collaboration Framework for

Multisensor Data Fusion, Int. Joint Conf. on Computer, Information, and Systems Sciences, and

Engineering (CISSE ‘07), Dec. 2007.

35. A. Legout, N. Liogkas, E. Kohler, and L. Zhang, Clustering and Sharing Incentives in BitTorrent

Systems, SIGMETRICS ‘07, June 2007.

36. J. Liu, S. G. Rao, B. Li, and H. Zhang, “Opportunities and challenges of peer-to-peer internet video

broadcast,” In Proc. of IEEE, vol. 96, no. 1, Jan. 2008, pp. 11-24.

37. P. Maymounkov and D. Mazières, Kademlia: A peer-to-peer information system based on the XOR

metric, 1st Int. Workshop on Peer-to-peer Systems (IPTPS ‘02), Feb. 2002, pp. 53-65.

38. V. Pai, K. Kumar, K. Tamilmani, V. Sambamurthy and A. E. Mohr, Chainsaw: eliminating trees from

overlay multicast, 4th Int. Workshop on Peer-to-Peer Systems (IPTPS), Feb. 2005, pp. 127-140.

39. V. Ramasubramanian and E. G. Sirer, Beehive: O(1) lookup performance for power-law query

distributions in peer-to-peer overlays, 1st Symposium on Networked Systems Design and

Implementation (NSDI), 2004, pp. 99-112.

40. R. Ranjan, A. Harwood, and R. Buyya, Peer-to-Peer based resource discovery in global grids: a tutorial,

IEEE Commun. Surveys, vol. 10, no. 2, 2008.

41. A. Rao, K. Lakshminarayanan, S. Surana, R. Karp, and I. Stoica, Load balancing in structured P2P

systems, 2nd Int. Workshop on P2P Systems (IPTPS), Feb. 2003.

42. W. Rao, L. Chen, A. W. Fu, and Y. Bu, Optimal proactive caching in peer-to-peer network: analysis and

application, 6th ACM Conf. on Information and Knowledge Management (CIKM ‘07), Nov. 2007, pp. 663-

672. 140

Page 140: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Bibliography 43. S. Ratnasamy, P. Francis, M. Handley, R. Karp, and S. Shenker, A scalable content-addressable

network, ACM Special Interest Group on Data Communication (SIGCOMM ‘01), Aug. 2001.

44. J. Seedorf, S. Kiesel, and M. Stiemerling, Traffic Localization for P2P-Applications: The ALTO

Approach, IEEE P2P ‘09, 2009.

45. H. Shen, C. Xu, and G. Chen, Cycloid: A constant-degree and lookup-efficient P2P overlay network,

Performance Evaluation, vol. 63, no. 3, Mar. 2006, pp. 195-216.

46. H. Shen, A. Apon, and C. Xu, LORM: supporting low-overhead P2P-based range-query and multi-

attribute resource management in grids, 13th Int. Conf. on Parallel and Distributed Systems, (ICPADS

‘07), Dec. 2007.

47. M. Sozio, T. Neumann, and G. Weikum, Near-optimal dynamic replication in unstructured peer-to-peer

networks, 27th ACM symposium on Principles of Database Systems (PODS ‘08), June 2008, pp. 281-

290.

48. I. Stoica, R. Morris, D. Karger, M. F. Kaashoek, and H. Balakrishnan, Chord: a scalable peer-to-peer

lookup service for internet applications, ACM SIGCOMM ‘01, 2001, pp. 149-160.

49. I. Stoica, D. Adkins, S. Zhuang, S. Shenker, and S. Surana, Internet Indirection Infrastructure, ACM

SIGCOMM, Aug. 2002.

50. D. Stutzbach, R. Rejaie, and S. Sen, Characterizing unstructured overlay topologies in modern P2P

file-sharing systems, IEEE/ACM Transactions on Networking, vol. 16, no. 2, April 2008.

51. Y. Tang, L. Sun, K. Zhang, S. Yang, and Y. Zhong, Longer, better: On extending user online duration

to improve quality of streaming service in P2P networks, IEEE Int. Conf. on Multimedia and Expo, July

2007.

52. H. Xie, A. Krishnamurthy, A. Silberschatz, and Y. Richard Yang, P4P: Explicit Communications for

Cooperative Control Between P2P and Network Providers, P4P WG Whitepaper, May 2007. 141

Page 141: File Sharing to Resource Sharing Evolution of P2P Networkingdilum.bandara.lk/wp-content/uploads/2017/04/CCNC_P2P.pdf · P2P Applications Many application domains File sharing –

Bibliography 53. J. Yao, J. Zhou, and L. Bhuyan, Computing real time jobs in P2P networks, IEEE LCN, Nov. 2006, pp.

107-114.

54. T. Zahn and J. Schiller, MADPastry: a DHT substrate for practicably sized MANETs, 5th Workshop

Applications and Services in Wireless Networks, June/July 2005.

55. B. Zhang, A. Iosup, J. Pouwelse, D. Epema, and H. Sips, On Assessing Measurement Accuracy in

BitTorrent Peer-to-Peer File-Sharing Networks, Delft University of Technology, 2009.

56. M. Zhang, Y. Xiong, Q. Zhang, and S. Yang, On the optimal scheduling for media streaming in data-

driven overlay networks, GLOBECOM ‘06, Nov.-Dec. 2006.

57. X. Zhang, J. Liu, B. Li, and T. P. Yum, CoolStreaming/DONet: a data-driven overlay network for

efficient live media streaming, INFOCOM 2005, Mar. 2005.

58. M. Zhong, K. Shen, and J. Seiferas, Replication degree customization for high availability, European

Conf. on Computer Systems (EuroSys '08), Apr. 2008, pp. 55-68.

59. J.F. Buford, H. Yu and E.K. Lua, P2P Networking and Applications, Morgan Kaufmann, 2009.

142