E l e c t r i c a l    &   C o m p u t e r
Department of
Electrical & Computer Engineering
1
EE 586 Communication andSwitching Networks
Lecture 11
E l e c t r i c a l    &   C o m p u t e r
Department of
Electrical & Computer Engineering
2-2
Chapter 2: outline
Syllabus for this chapter
2.1 Principles
2.2 Web and HTTP
2.5. DNS
2.5 Socket Programming
2.6 P2P applications
underline_base
(modified by Cheung for EE586; based on K&R original)
E l e c t r i c a l    &   C o m p u t e r
Department of
Electrical & Computer Engineering
access_point_stylized_small
antenna_radiation_stylized
cell_tower_radiation_gray
access_point_stylized_gray_small
access_point_stylized_gray_small
desktop_computer_stylized_medium
desktop_computer_stylized_medium
desktop_computer_stylized_medium
desktop_computer_stylized_medium
car_icon_small
iphone_stylized_small
antenna_radiation_stylized
antenna_stylized
laptop_keyboard
screen
antenna_stylized
laptop_keyboard
screen
antenna_stylized
laptop_keyboard
screen
desktop_computer_stylized_medium
antenna_stylized
laptop_keyboard
screen
Pure P2P architecture
no always-on server
arbitrary end systemsdirectly communicate
peers are intermittentlyconnected and change IPaddresses
examples:
file distribution(BitTorrent)
Streaming (KanKan)
VoIP (Skype)
underline_base
(modified by Cheung for EE586; based on K&R original)
3
E l e c t r i c a l    &   C o m p u t e r
Department of
Electrical & Computer Engineering
File distribution: client-server vs P2P
Question: how much time to distribute file (size F) fromone server to N  peers?
peer upload/download capacity is limited resource
us
uN
dN
server
network (with abundant
 bandwidth)
file, size F
us: server uploadcapacity
ui: peer i uploadcapacity
di: peer i downloadcapacity
underline_base
u2
d2
u1
d1
di
ui
desktop_computer_stylized_medium
desktop_computer_stylized_medium
desktop_computer_stylized_medium
desktop_computer_stylized_medium
(modified by Cheung for EE586; based on K&R original)
4
E l e c t r i c a l    &   C o m p u t e r
Department of
Electrical & Computer Engineering
File distribution time dcs : client-server
us
u2
d1
d2
u1
dN
uN
Server
Network (with
abundant bandwidth)
F
All the N copies must comefrom the server:
dcs NF/us
Client i takes F/dtime todownload
dcs F/min(di= F/dmin
 
We must have
dcs  max { NF/us, F/dmin }
underline_base
(modified by Cheung for EE586; based on K&R original)
5
E l e c t r i c a l    &   C o m p u t e r
Department of
Electrical & Computer Engineering
max { NF/us, F/min(di) } achievable. How?
Case 1: NF/us < F/dmin or us > Ndmin  “Fast Server”
Server uploads to each client
    simultaneously at rate dmin
Time required = F/dmin
Lower bound achieved
Case 2: NF/us > F/dmin or dmin > us/N  “Fast Client”
Server uploads to each client
    simultaneously at rate us/N
Time required = NF/us
Lower bound achieved
For large-scale downloading , the time is
dominated by NF/us which grows linearly with N.
underline_base
(modified by Cheung for EE586; based on K&R original)
6
E l e c t r i c a l    &   C o m p u t e r
Department of
Electrical & Computer Engineering
File distribution time dP2P for P2P
us
u2
d1
d2
u1
dN
uN
Originating Peer
Network (with
abundant bandwidth)
F
Originating peer must uploadat least one copy:
dP2P  F/us
client i takes F/dtime todownload
dP2P  F/dmin
NF bits must be uploaded
Aggregate upload rate: us + ui
dP2P  NF(us + ui)
dP2P  max { F/us, F/dmin, NF/(us + ui) }
Assume asymmetry (DSL/Cable):  dmin is big
Can dP2P =max {F/usNF/(us + ui) } ?
Both the size AND thedownload speed increasewith N! Scalable solution!
underline_base
(modified by Cheung for EE586; based on K&R original)
7
E l e c t r i c a l    &   C o m p u t e r
Department of
Electrical & Computer Engineering
Client-server vs. P2P: example
(modified by Cheung for EE586; based on K&R original)
client upload rate = u,  F/u = 1 hour,  us = 10u,  dmin ≥ us
underline_base
8
E l e c t r i c a l    &   C o m p u t e r
Department of
Electrical & Computer Engineering
(modified by Cheung for EE586; based on K&R original)
max {F/usNF/(us + ui) } achievable. How?
underline_base
Time needed:
Notice that all the N piecesare streamed to each peersimultaneously!
Time needed = F/us
Case 1: F/u> NF/(us + ui)
 us<(us + ui)/N
 (N-1)usui
Originating Peer to others
Partition the file into N pieces
Send the j-th piece to peer j at therate of  usuj/iui
Total upload from the originatingpeer = j(usuj/iu)= us (Checked)
Between peers
Peer j uploads its share to all N-1peers simultaneously at usuj/iui
Total upload from peer 1
=  (N-1)usu1/iu< u (Checked)
9
E l e c t r i c a l    &   C o m p u t e r
Department of
Electrical & Computer Engineering
(modified by Cheung for EE586; based on K&R original)
max {F/usNF/(us + ui) } achievable. How?
underline_base
Case 2: F/u< NF/(us + ui) us>(us + ui)/N  us>ui/(N-1)
Originating Peer to others
Partition the file into N+1 pieces
Send the j-th piece to peer j at the rate of  uj/(N-1) and the last piecesimultaneously to all peers at speed (us - juj/(N-1))/N > 0 each.
Total upload from the originating peer
 = juj/(N-1)  + N(us - juj/(N-1))/N = us (Checked)
Between peers
Peer j uploads its share to all N-1 peers simultaneously at uj/(N-1)
Total upload from peer j =  (N-1)uj/(N-1)= u (Checked)
Time needed: (calculated for peer 1, but same for others)
Download speed from originating peer = u1/(N-1)+(us-ui/(N-1))/N
Download speed from others =u2/(N-1)+…+ uN/(N-1)
Total download speed = (us+uj)/N  Time needed = NF/(us+uj)
10