˘ ˇˆ - cl.cam.ac.uk · 24 2 i ˘ # sent to server (after logging in to server) 2a 00 cb 00...

349
1 ! " # $ ! %&$ &’ & ( # ) # ( * " + , ) --

Upload: others

Post on 28-Oct-2019

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

1

��������������� ���������� ��������� ���������� �����

� ��������������� ��������

��������� ��!��"�� ��#�

$������������ ����������� �!���%���&$�����������&' ��� � ���&������(������#����)�#���(��* �� "������

+,)������--

Page 2: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

2

�-.���������

r $��������

r /�������

r �������#��(���������

Page 3: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

3

���� ��������� �����

Page 4: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

4

���� ��������� ����� 0�������(������������ �����

Page 5: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

5

���� ��������� �����

���� ���������������

r ������&�1 �������&�0������2�#����(�����

r ���(������ ��

r ����������������3�-�-&����������� ����4

Page 6: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

6

���� ��������� �����

r 5 2 6 (��������(����� ����(�������(�������7

r 5 2 6 (������ �������8�������������� ���7

r 5 2 .����9���:���� ����������(������������ �����;7m :� (��������(������� ��������(�����;�36 ��������(��������4

Page 7: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

7

"������������"�����

r .���������m "����� ��������-����

m 0�����(�����80������

m ������

m 1 �������

r <�����������5 �����=�����

m =<�

m 0������

m �� ���

r ' ���� �����> �(�� � ��

m "(��

m "� �

m � ������

r /������ ���m !?� �

m @�/

m <������

r � ���������m ������

m "�#��������

Page 8: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

8

"��������������-������������3)4

r =�"8=/.

r ����(���

r � ��������

r @��(����������������������������� ������������3�� ��.' �8?' = ������������4

r %�� ����������������A ����������&������

r /����

r � ���(���

r ���������

r @��(������������������&����������������&������������������������-

r � �������&�(��(������� �����&����������-

r > ���������������(��

Page 9: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

9

"��������������-������������3�4������������=�"Cli_call(args)

Srv_main_loop()

{

while(true) {

deque(call)

switch(call.procid)

case 0:

call.ret=proc1(call.args)

case 1: call.ret=proc2(call.args)

… … …

default:

call.ret = exception

}

}

Page 10: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

10

"��������������-������������3�4���Peer_main_loop()

{

while(true) {

await(event)

switch(event.type) {

case timer_expire: do some p2p work()

randomize timers

break;

case inbound message: handle it

respond

break;

default: do some book keeping

break;

}

}

Page 11: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

11

����������������������������

r .�����������������������-

r =�����������������&����������������

r =�������������(������������������

r =�����������������(�����������(��(��

r =���������#������������&���(�������

r =���������������

Page 12: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

12

����������������

r > ��������������(������r ���������������#� �����������#������-r > � ����&��(��������(������������� �����������(��#�m ����������������3����&������&�����&�������&����4

m ����( ����������������m � �����������������������3 ������ �����������&��������&����4

m =��������&�(��������������������#������m @����������

Page 13: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

13

� ��(������ ����������������

r 6 ���������(������ ���(��������������������������������������

r ������������� �����r ����������#����������

r > �����������������#���:�(������;B

r ����#��������A � ������

Page 14: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

14

<���������������������������

r �������(�������#�������������������������� (��(�##�����������(�������� ��##���������(��.�������

r * �#�������� �� �������

r <#������������������ ����������(��� ������������������

r .��.���#�� ������������3�������(���������#����������4

r @�������������(BBB

Page 15: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

15

=���#�����������������)C�����������#�������������

r ������D> D> D> D> D> D�������(�������

r ������

r 1 �������

r 0������

r �� ���

r ���

Page 16: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

16

)-��� ��� @=

r � (�����3��4#���

r ����(��#����3�-#-��� � ���@�������&�#���=�� ���������"�� �����4

r $��������������#��� (�������������(�&����

r � ��� ���E

r � ��(������������������E��������������������E�����������

Page 17: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

17

������

r �������#��(������#���������(��.�������r ��:���������;�����������8���(����7r (����2

m �8,,2 �(�� ��0�������3#��(���& ���(����� * -4�#��������� <�����������������

m )�8,,2 #������� ���m �8��2 ��F * 6 �� ���##�� ������m ����2 ��-�G�/����m �8�)2�* ��"�������"����#�

� �����2 ������ ���� ��������������������(�����

m +8�)2 H ��������������������2������ )G�%& 1 �������2�C�%& /��(��2����%

Page 18: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

18

������2�(� �������� ��

� ��������� �����&������� �������������������� � ������ "��

0������2

r "������� ������ �����

r * �������������#�#����3��(4��������-

r 1 �������������� ���������(��(��#��������� ��(-

r �������: ��;�#����������� ��-�3����4

Page 19: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

19

������

������-��

���

0 �����������������

)-

Page 20: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

20

������

������-��

���

=�I������

�����

* �������I��������(���������-

�-

Page 21: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

21

������

������-��

���

���� ����

* ��������(���(��������������(��������-

���#����� ����#�������-

�-

Page 22: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

22

������

������-��

���

=�������#���

* ������������#���

C-

Page 23: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

23

������ �����General Packet Format

[chunksize] [chunkinfo] [data...]

CHUNKSIZE:Intel-endian 16-bit integersize of [data...] in bytes

CHUNKINFO: (hex)Intel-endian 16-bit integer.

00 - login rejected02 - login requested03 - login accepted0D - challenge? (nuprin1715)2D - added to hotlist2E - browse error (user isn't online!)2F - user offline

5B - whois query5C - whois result5D - whois: user is offline!69 - list all channels6A - channel info90 - join channel91 - leave channel…..

Page 24: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

24

������2���I���������#���SENT to server (after logging in to server)

2A 00 CB 00 username"C:\MP3\REM - Everybody Hurts.mp3"

RECEIVED5D 00 CC 00 username

2965119704 (IP-address backward-form = A.B.C.D)6699 (port)"C:\MP3\REM - Everybody Hurts.mp3" (song)(32-byte checksum)(line speed)

[connect to A.B.C.D:6699]RECEIVED from client

31 00 00 00 00 00SENT to client

GETRECEIVED from client

00 00 00 00 00 00

SENT to clientMyusername"C:\MP3\REM - Everybody Hurts.mp3"0 (port to connect to)

RECEIVED from client(size in bytes)

SENT to server00 00 DD 00 (give go-ahead thru server)

RECEIVED from client[DATA]

From: http://david.weekly.org/code/napster.php3

Page 25: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

25

������2����(������������

r ��������J��������2�m ������������������#�#������

m �������� �����������������������' ���������

m ���������#���������

m ������ :��������;�3#�����������������4

r ���������2�m ��� ��������������K�

m �����(����������

m ����������

Page 26: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

26

��1 �������

r �������#�K��

r <���������

r ' ���� ����

r �������������������E

Page 27: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

27

1 �������

r ���� � ��������� �����2�������������������������������������

r #��2�����������J������(��#�����(����#��#���r ���(��������������������������2

m ������������#���m �����I������3#��������(�4�#����������������( �����

����m ��������I������3�����#���4��#�#���������������

r 1 ��������(����2m �8)C8��2�������� ��� <�&������������������� ��(���� �m ������2���%�������1 ������� ���L�����(��� /m ����������������#�K������������������3���������

������������������##4

Page 28: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

28

1 �������2�(� ����� ��

�����(���� ��#�����2r .#������M��(�����(��#�������� ���&�I�����+�#�

�����������-r .#��(�����M��(������&��(����������+�#��(����

�������&�#������K�����(�������#�)�-r =�I��������#����&� ����(�������������

��������-r �������� �������������� ������������� ���-r =���������(�#�� ������374

���2�������������� �����������2�

(���288� � � -����� ���-��8����K-9�8���

Page 29: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

29

0���������1 �������2�������������

����������������2�:� ;

Page 30: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

30

1 ��������������#����

r /�����.' 2 )G� �����3��� ���4

r 0������.' 2�)� ���������������m �������2 �������� ��������������� ���#��(�

m �)����2 ������������������&��������H �#����(����

m L��I����2 ����(������&�������������������� ���� ���(

m L)2�I�����(��2 ���������������(����L�2I����&����.�������8���&������� �� ���� ���(

r =��������� � �2 ������������������(����������������� � � �����#�����

r > �� ����2���� ���#��������������#��� ���(�������

r ' ��������(2 �����(�#������#����

Page 31: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

31

1 �������2����������� ��������#�K�

r 0���������2�6 6 6 �����##����������(8����������#���1 ������������ ���� ��(������������#����(��������I�����������-

m $����#��� ��������� �� �� ������ #��� (����������

r ������������������������� ����2�m ������ ������������������m ������������������������������� ���#���3�������

�� ������B4����������� �������������m #�K2����������������:.�(������&� ���.���� ��-�� ���������

�����;�m ���������2 ����)�F �#��� �����������m ���)2������(�����F ��� ���������#���3���(�������

��#������74

www.limewire.com/index.jsp/net_improvements

Page 32: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

32

1 �������2����������� ��������#�K��3���4

r ����2 ��� �J��#�����(� ������� ����� C�� L���(�-�6 (��������7

m ��������2 �������(� ���� ���(��������������(������������ ������2�������� �����(��

r 0�K2 ������������(������(�� ���������� ������m ��������2�������������������&�������� ����(��

m ������������#��������2N #�������������� ��� �������������

N #��������������������(����(��������������������� ���#�#���2���������#���������

m ����� ��������� ���#��������������� ��������������������� �(��#�#��(��������3#������(���������4

www.limewire.com/index.jsp/net_improvements

Page 33: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

33

� �����7

r �����������(�����M����� ��-

r � (�����������������������(��#����#������ �� (�������-�� (��M����������-

r <�(����������K���� (�����(��� ����#��(��#�������M����� ��(����I�����-

r ���� � ���������������K��-

r ����@�����������&���K�&�0������B

Page 34: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

34

1 ��������' �����2

r � ��(���������������������7

r ' �1 �������M���������#�������7�' ������ ��� �������(������I����������������(�7�<������������ ��(�������7

r ��������������������7

r <�(��7

r 1 �������#�����(��������#8����I�����2(���288� � � -����� ���-��8����K-9�8���(O�����

Page 35: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

35

����������A 35 ����4�=�����

r > � ������ �������I������3������(���&�������&�����4� �����7E

r E6 (���������������(���������������3�������4

Page 36: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

36

�-�<������

r ��K�&�� ��������������������������������&������������������&���

r =�����E

r =<����������K�����E

Page 37: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

37

=��������<����������� ��

<����������� ��2�

r ����������&���������������������

r �������:������;������3�-�-&�� "����* ' ����������4������ �� ��� �������(��(��

r ���(������������2�����������(����������&����������#����� ���������.��������������

r ���M�����������K�����&�������#��2r ' -�� �����&�> - $������(���&�0 - %��(��&�= -�/���&�P� (������#�

������� ����������� ��&P����- > �<� Q...&�/������)&�(���288��-��-���-���8�����8�� (����)-(���-

Page 38: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

38

.��������=�����r $1 ����#��������� ��� ������ ����� ��

* "�� �(-���

$�������-���* /�-���

.���������

/������

"R 6

Page 39: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

39

.��������=�����r $1 ����#��������� ��� ������ ����� ��

* "�� �(-���

$�������-���* /�-���

.���������

/������

"R 6

�( � * /�

Page 40: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

40

.��������=�����r $1 ����#��������� ��� ������ ����� ��

* "�� �(-���

$�������-���* /�-���

.���������

/������

"R 6

�( � $�������

Page 41: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

41

.��������=�����

"���������#������2 �(� $������$1 � ������������������������(�����3��� �����(������ ��4* "�� �(-���

$�������-���* /�-���

.���������

/������

"R 6

�( � $�������

Page 42: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

42

.��������=�����

"���������#������2 �(� $������$1 � ������������������������(�����3��� �����(������ ��4* "�� �(-���

$�������-���* /�-���

.���������

/������

"R 6

�( � $�������

�( ��* /����$�������

r ����������� ����������� �������$1 �B�

r /����<�� ���M���������$������������.��������

Page 43: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

43

=<�2�=��������<����������� ��

������2 �� ������������������������������ ��&����������������#������&������ ������#�������

� � (��3���������� �����4�( � $������������

���������� ����������

Page 44: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

44

=<��@K��������

r /�������&��������&������(���(����� ��(������ ��(���=<�

r )��(������(��* ������@����r ������#������������#��������������������/���(����)

r �� ���������������������m � ����������������������������B

r ���2�@K�������������� ��(�:� .�������� #� ��������� ��;������

Page 45: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

45

� ������ # ����������#�� ���#������

��)�)��F

��)CL�F

������F

������F

)�C)�+��F

C+�+C+,)�F

=<��6 ��

��"(����

=<��$�����

��=���

30-minute average loss rates

6,825 “path hours” represented here12 “path hours” of essentially complete outage76 “path hours” of TCP outage

RON routed around all of these!One indirection hop provides almost all the benefit!

6,825 “path hours” represented here12 “path hours” of essentially complete outage76 “path hours” of TCP outage

RON routed around all of these!One indirection hop provides almost all the benefit!

Page 46: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

46

=<��=�����(�.��

N > � �������������������� ��7N /����������������# ��#��������

N * ���������������#�������#���������������-

N 0���#��� ���-

N ��(���������������-

N ���������� ��������3�-�-&�������������(���(���4����(��������-

N @##����#�=<������������������� ��N .#������������=<�&������ �� ������##7

Page 47: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

47

C-�0������2 ������6 ���

Page 48: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

48

r "�������J�������m �-�-�������

m �� �������K�(���� �������������(����

m �������������� ��� ������I����������������

r ' ���������J�������m �-�-�0������&�1 �������&�"(��

m ���� �������K�A �������� ���������

3����K��������� ��4

m ���������������� ���(����#��������������

����� ���������

Page 49: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

49

0�������(����

r 0�����S������9����.���"����� &�@��� ���(�* ��������&��������&�!���&�),,,

r �����#��� ��9���&����������

r Q-�-)�3��������/���(�����4�

r �����������3����&����)42��-C

Page 50: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

50

6 (�����0�����������6 (�7

r ' ���� ����&������������&�#����(����������

r "���������������&�#�������������������#���#������

r =������������������ ���(���������������������������#������

Page 51: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

51

0������2�> � ����� ��

r ' ������������

r %���/���������

r �� ���m > � ��������������� �� ����(��

m > � �����������������#������������

m > � ���������� �������0������

m > � ����#����������������������

r ������' �����m > ��������#������

Page 52: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

52

' ������������

r =������� � ��m ����2����������2���&����T����������������������

r ' ��������m =�I��������2

N ��������#�����(������������������������������

N ��������#�����(������������������������

N ������������(������������#���������������� �� (��(������������������� (����������������

Page 53: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

53

%���/���������3)4

r � �� ������������������������� (���r %�������������#�����* =.r � � ��������������M��������(��� 9����#��(��#��������������B

r %��� �� ������%��3%�%4m $��������(�������������������&�������������#����� ����(������������ ���(���������

m @K�����2�* ��������8���8�8(J(���m * ��I�����������#�����������m ����������� ����A �� �����������

Page 54: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

54

%���/����������3�4

r ������ � �����%��3��%4m � �����������#�������������������������#����

m �����������������8��� ��������������#�

r "����� (�(�%��3"> %4m /�����������������(�&�$����������(�(�#��(���������

Page 55: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

Darling, Tell me

the truth!

Believe me, I don’t have it.

0������2�=������� �����(�2�����(��������

Page 56: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

But I know Joe may have it

since I borrowed

similar stuff him last time.

0������2�=������� �����(�2�����(��������

��

��

��

��

��

Page 57: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

������� �������

Sorry, No

0������2�=������� �����(�2�����(��������

��

�� ��

��

��

Page 58: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

58

�������(�#��������������(�3)4

r =����������#�' ����"���������3)4

3���2����� 9��� ���������� ������� ���������B4

r =���� ���=���������2������������������� �����-

Page 59: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

59

�������(�#��������������(�3�4

r ��� �@���������(��=������� � ��2��(������(�� ���� ����������������������-� ������������

Page 60: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

60

������' �����

r > ��������#������m

Page 61: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

61

�������������������(�������������r > � �����������������2

m ��������������������� ����(����I���������������� ���(�����������(������������#�����I���

m > � � ���������������#�JJ�

m � (�����M����� ����������� ������������������������������

m ���������&���M����� ������������� (��(����������������������������-

Page 62: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

62

���� �������������

r ? �K�2�����

r S �K�2�H �#����(�����(

r )�������&����������������&��������������������� ��

r �(����������� ���� ������������J��������� �������������

r ���(�����(2��(����� ���#�(����������������� �#���#��������(������-

Page 63: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

63

����� �����

r ? �K�2�H �#����

r S �K�2�H �#����(�����(

r � (���������� ��� �������� ����J�����������������(����(-

r .��������&�������-�� ����������������-

Page 64: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

64

0������ �������

r ? �K�2�H �#�����#������

r S �K�2�H �#����(�����(

r � (������������(�����(�������� ��� ���������� (����������F �����#���-

Page 65: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

65

������� ����/���

r ? �K�2�H �#�����#������

r S �K�2�H �#����(�����(

r /��#�����(��������#�� ����������� (�������������� ���#���� �(�������������#���������-

r � (�����(�����������#��� ��� ������ -�

Page 66: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

66

��#��&���M�����������������

r %������������

r ' ���� ���������T������������ ��

r "�������#��

r � �������

Page 67: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

67

.�������#���7

r > � ������ ������������������(��������7m � �����##� ��� ���������������������(�����##��2�

"(�����0������

m "���� ����������� ������������(�7�� �������2�:�����(������ �� ��� ����� ��;

r > ������������ ����#�����(�#��������������(�����������9�������M��#������-

r 0������#�����-�0������ ���M�������������������������� ���������� �����K�������� BB

Page 68: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

68

5 �����77

r � �������7���������7

r $����������(�������(�7��� ������ 7

r E

Page 69: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

69

�- �� ���2�� �� ��&������� �������&�����(�� ��������� � ��� ��(���������A ������@�������E

���������� �� �� ��� �������������� ���� ��������

Page 70: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

70

<������

r ' �����1 ��

r %����#�� �������

r �� ����0������

r �� ������������������� (����

r 5 �����

Page 71: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

71

' �����1 ��

r "���(����������m ' �##������#�����(���������������#�����������������

r � �������������m * ����(��J����(�����(���� ��������� ��

r ������������m ��� ����������� (��� ��(����(��������

r * ������ ��m "(�����������������#��������(���� ���� ���#���� ��(��

Page 72: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

72

' �����1 ��

r ' ���� ��m .��������(�����������(���� ��� ������������� ������#�� (������� ��(��

r 0������ ������m �������������#��������&�������#�����(���������������#���������������

r ��������m ���K����������������� ��(�����������

Page 73: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

73

6 � �� �������

r "��������$���m > �����(�����������#��(���������������I���������������@K�����2N � �����J������K��&���(���� (��� �����J�������K�����

N ��K��������J����<����=�����&���(���0�����

N "�� �&�� (������������(��"�� ���� � ���������������������������#���(�����������(��"�� �

Page 74: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

74

6 � �� �������

r � ��(��$���m > �����(��������������(��#����������������������@K�����2N =�� � ��&�� (��(���K�����I����#������������* =�

N � (��@���������������&�� (��(�#����#�������������������������������� ���#������&������������������#�������K������

N 0������

m �� ������������(�����#���������

Page 75: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

75

�� ����������<�������

r �� ��(��m ����� ��� ����������(��� �

r ������m � ����������� (��(�(������� ������������

r =��������m $�� ���� ��� ���������� �

Page 76: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

76

�� ����������<�������

r �� ��(m � ��� ��(�������������������������������������������������#�(��

r =�������m � ����������������������#�����������������

r ' �����m � (������������ ��(���#��������������������#����(���� ���������

r * �����m � (������������ ��(������#������������

Page 77: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

77

�� ������ ��(���

r � �����������������������������������%r �(����������������/ � ��(�����%&����������U/V%

r �(�������% ����� (���&�������(�����������(�����&���(��(�������� �������������%

r @��(�(���������I����������2

����� W�� ���3> 3/�- (����44

Page 78: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

78

�� ��� �� ��(���

r � ����#�����������(��2������� W�3����� /<' ��4�X�)

r @��(�������� ����K�������(������#�������

r .#���YW�� ���I���������������� ������&���������

r � ������� ��(��U/V% ����(���� �������������������� ���(������������������

r � �* =���������������������(������������������������

Page 79: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

79

�� ������ ��(���

...name = de26fe4fc8c6

name = 620a8a3d63b

name = 1e0995d66981

2

n

...

135.207.8.15

121.113.8.5

1

2

m 206.35.113.9

105.3.14.1

...

...

...

3

4

7

12

201.18.24.5

210.183.28.4

209.185.143.19

location = 7

location = 12

loction = 41

2

n

Publisher

Servers

/publius/1e0995d6698/{M}K

Server 3

Server 8

/publius/de26fe4fc8c6/{M}K/publius/620a8a3d63b/{M}K

Server 4

Server 12Server 7

201.18.24.5

209.185.143.19210.183.28.4

Server TableAvailable

Page 80: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

80

�� ����=��������

r $ ������������(������ #���* =�&�����#�����(&�������2

������� W�3����� /<' ��4�X�)r $ ��(��� #��(��&���������������(��

����������#����U/V% ����(���� ������(������

r $ ��� �����(��(����������%&��������������(��#���

r $ �����#����(������(��������������������2

����� W�� ���3> 3/�- (����44

Page 81: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

81

�� ����' �����

r � ������������������� ����6 � (����� ��(������#���

r � �������������> 3�����O�����O�����- �6 4������������������ � (����� ��(���m �����(������(�������(������ ��(�(&����������������������������������#������������������������������

r � ������������ ���������> 3�����O�����O�����- �6 4���������� �����(�#��(��� ������(�����������

Page 82: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

82

�� ����* �����

r .���2��(������������� ��(����(���������������* =�&�����������(���* =�������K��

r .�������������(��#���&��(��(���&������(����� ��&��(�������� ������������#��������(������� ��������

r � (���������#����� ��������K����#�� �����(��������������(��������

Page 83: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

83

�� ����* �����

r � �������&�� ���������#�������� �#���&��(����������* =�&��(������������� ����6 &���������� ���� ��

r 0���&��(����� ������������ ��(��&���������� �* =�������������

r � (��&����(�#��(��� ���#�������������&���������������#���&������������(����� �* =�&����������������(������ ���������

Page 84: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

84

�� ����* �����

r 6 (���$ ������������������������&��(����������������(���������#����������

r $ ��(�����(�������#��(��* =���������������&��(�������������(�������������(����� �* =�

Page 85: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

85

��������' ������

r ����������2�#����� ��������#����$m ������2��� ��(�$ �#���&��(������ �����* =������

r > �����2�#����"�����' �����������(��(��m "��������������������� ��

m � ������� ��(��"�����' ������������

m �(���(������ ������(��* =��������(�#���&���������(���� ����* ������������������(����� �#���

Page 86: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

86

<�(���0������

r @�������������������� ���� ��(��� ���K���������(��������� ������#��� ���

r /��(������K�����������/./@������������ ����������

r �� ����* =���������������#����������(���#���&��(��������#��&������(�����������������m <����� �� ������������* =��#������(�Y�����(�������

m <�����(��������������������&�* =�����������������������&���������(�������� �����

Page 87: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

87

��������������� (����

r �(����������������������m .#������ �����#���#���&���� �X)������#��(��(���&������������&��(����(��#������������� ��

m .����������&��������������&�������(���������(�����

Page 88: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

88

��������������� (����

r * ������#�����������������������)m .#��(���������������#���&����������������������/��������������������&����������� ���������

m � (����I������(����������#���������� �(���������������&���������������(��(���������#��

m � (���� ��� * =��(���������#����&�������(������O������ #���&�� (��(�� �������������(�����#�������

Page 89: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

89

��������������� (����

r * ������#������������������������m .#��� �����������(���������� �����������&�/������������������������#������� �X)������

m <#�����&��#�/�������������(�&�(����������������������

m �������� ������������ ������(��������##�����

r ' ���������������������#��� ����� ����##�����m ����������#���6 ������������-

Page 90: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

90

��������������� (����

r �� ���&�������������������������&���� 9������' ��������m 0������������##������&���� �X)����������� ����������

m � ����������������������������#��������������������N �������(�������������������������(�

Page 91: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

91

��������������� (����

r .#��(���� ��� ������������������������#�������#������&����������� ���� ����

r �� ������������������������������ ������������m .#�������������� ��(��&��������������J���������������� ��(��(���� ���������

Page 92: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

92

5 �����

r > � �������� ��(��� ����* =����������7m 0��������������� ����������&� ����� ����* =������������������(�������������

m � (��#������������� ��(����� ����* =������(����������������� ��(��(���� ��(���#��(��������

m .#����(������� (������������������������� ��(��(���� ����* =�&�� (�������������� ���7N <����� ������ ��2�����(�����������N $���������������������(����������������� ��

Page 93: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

93

5 �����

r > � ������ ������� ���7m �� ����* =�������� ���

m 6 ��(����������##��&����� ���������������������������������(��������� ����������

Page 94: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

94

5 �����

r > � ������ �������������0������7m $�(���������� ��(�����������&������ �����&���������(�����������

m 0�����������������������#���������������������&���� ���N "����(��(2���������� �����(��������������

m �� ��� �����������������#�����N 0������������

N "��������������������������������7

Page 95: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

95

5 �����

r "������ ���� �����������������������7

r 6 ������� �����������������7

Page 96: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

96

���������2�' ���� �����> �(�� � ��

r "���� ����#��������������������������7

r "���� ���������������������7

r "���� �������������������

r ������"(��&�� ������&�"� ��3��������������E�E�E4

r ������(� ����� ���������������������������

Page 97: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

97

Ion Stoica, Robert Morris, David Karger,M. Frans Kaashoek, Hari Balakrishnan

MIT and Berkeley

Now we see some CS in strength – Hash and Content based….for more scaleble (distributed) directory lookup

G-�"(��2�� ������ ������� � ������������������#��.��������� ���������

G-�"(��2�� ������ ������� � ������������������#��.��������� ���������

� ����������� ����������� ��= ����/����3�.1 "<//M�)4

Page 98: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

98

<������<������

� /������������ ��������

� "�����������(���

� "(��

� ���#����������������

� "�����������������

Page 99: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

99

/�������/�������

> � ���#������������������� �����#����(����������7

� ��������(�������� ���

Internet

����������� ��������

��������������

������� ���������

��

� ��

�!�"#���$�7

Page 100: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

100

"�������J���������"�������J���������

� =�I�����<3/4�����

� ������������#�#������

Internet

����������� ��������

��������������

������� ���������

��

� ��

�!�"#���$�

%�

� "�������������3������4

Page 101: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

101

' ���� ������������3)4' ���� ������������3)4

� 6 �������<3�4���������������

Internet

����������� ��������

��������������

������� ���������

��

� ��

�!�"#���$�

� 0������31 �������&�/��(��&����-4

Page 102: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

102

' ���� ������������3�4' ���� ������������3�4

� =�����������30������&�� ������&�"(��&�"� �&����-4

Internet

����������� ��������

��������������

������� ���������

��

� ��

�!�"#���$�

� <�����K��������(�

Page 103: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

103

=������"(�������=������"(�������

� ' �#��������#��������������������

� %�����(��(�����������

� %�����(����������� ���:���(���J�;

� ������ �����������������(����������� ��(��

� ��(�������2

� "(��2����(��J���##���������������������

Page 104: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

104

"(���<�������"(���<�������

� ����������� � �����(�(������������2

� ����3���4�→→→→ .�������

� "(��������������(������

� > � ����"(��������������7

� > � ����"(��������������������� ��7�

� > � ����"(�������� ��(��(����������� ��(��7

Page 105: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

105

"(�����������"(�����������

� @##������2�<3����4���������������

� �����(���������� ���#�������

� ����� ��2�<3����4�������������

� = ��2���������������(����������� ��(���

� ��#��������������8����(������

� � ���������������������������

Page 106: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

106

"(���.' "(���.'

� � ���������#���������#�� �(������������

� %���������#����W��> � )3���4

��� �������� �%�&'SHA-1

��� �()*�'*�'*�� �%�� �SHA-1� ����������#����W��> � )3.�������4

� $�(��������#���������� ����

� > � �����������.' �������.' 7�

Page 107: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

107

"�������> �(����Z%������,+["�������> �(����Z%������,+[

� � �����������������������2������ ��(���K��(��(���.'

N32

N90

N123 K20

K5

#�+����,-����%����+�

0��� �()*�'*�'*��

K101

K60��� ��������

Page 108: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

108

"�������> �(���"�������> �(���

� @������������ �#��������(������

� ��I������� �����#������

� =�������� �������������<3�4

� ���������#���<3)4

N32

N90

N123

0

.���� ������������&'

N10

N55

Where is “LetItBe”?

�('�����&'�

K60

Page 109: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

109

"(��2�$��������"(��2�$��������

N32

N90

N123

0

.���� ������������&'

N10

N55

Where is “LetItBe”?

�('�����&'�

K60

� @������������ ��������������(������

� ��I�����<3�4�����

Page 110: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

110

:0������� � ��;:0������� � ��;

� @������������ �� �(�����������(������

� .����������������K����������

N8080 + 20

N112

N96

N16

80 + 2180 + 22

80 + 23

80 + 24

80 + 25 80 + 26

Page 111: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

111

:0������� � ��;:0������� � ��;

� 0������� ������������ #��X��

N120

N8080 + 20

N112

N96

N16

80 + 2180 + 22

80 + 23

80 + 24

80 + 25 80 + 26

Page 112: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

112

���������0�������������0����

� ����������<3����4�(�

N32

N10

N5

N20N110

N99

N80

N60

��������(�

�(

Page 113: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

113

!�������(��= ���!�������(��= ���

� � (������������2

� .�������J������#������#���� ����

� * ������#������#��K���������

� � ���#�������#�������������� ����

� ���������������(�����3��J��#������������42

� .�������J�������(��#�����������������

� ����������������#�����������������&���������

� ��������������#��(�#�������� ���������

Page 114: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

114

!�������(��= ���� �����)!�������(��= ���� �����)

� .�������J���(����� �����#�������� ��

� ��������������� ����(������

� � ������� �������#������#���� �������G

� =����������������� ����

N36

�*���������,/�)/"'/0/�''/�&"�

N60

N40

N5

N20N99

N80

Page 115: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

115

!�������(��= ���� ������!�������(��= ���� ������

� * ��������#������#��K���������

� ��� �����������������#����������K���������

� �K��������������������������������#������#��(������

N36

N60

N40

N5

N20N99

N80

Page 116: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

116

!�������(��= ���� ������!�������(��= ���� ������

� � ���#�������#������������������ ����

� ������������(����������������#������

#��������� �**�&1�2��"'������&

�'�)

N36

N60

N40

N5

N20N99

N80

�'

�)

Page 117: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

117

> �������0������> �������0������

� 0�������#��������(��������������������

N120N113

N102

N80

N85

N10

�������('�

� �L�����M����� �������������&�������#���

� �������#��������������(�#����������

Page 118: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

118

> ��������0������> ��������0������

� * �����������

� @��(�������� �� ���������������

� � #����#������&�� ������� �#��������������

� "���������������������������������

� 1 ������������ ��(������ � �����

� "����(��� ��������� � ������#������#��������� �������������

Page 119: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

119

@���������<�������@���������<�������

� 5 �����������������������

� �� ��������������������

� = ����������������#������

� @K�����������#�����(��������������

Page 120: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

120

"��#�����"��#�����

� "����<3����4������������� ���(���

� ���������)8�

��2����1������

34��5�������5������������

Page 121: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

121

= ����= ����

� ���������������2�������������

� 0����������������������������� ��(�����#������3����������#����4

� =��������������� �������#�������������B

Page 122: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

122

= ����= ����

� ���������������2���������������

� 0����������������#���������(�(����#���������

� �����������������

� ���������� ���J�3�4 �������

� )���������������3���4

� K�9��8#�������������3���4

Page 123: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

123

"��������������������"��������������������

� "(����� ����2��&���������#�"XX

� ' ���������������.����������� ��

� .������2�

� "����������������9��8#���

� ��K����� �����������#���� �������374

� ����������#��(��������������374�

� =�����������#�������.' �374

Page 124: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

124

�������(�������(

� $�������(���������� ���3��������(�(���4

� ���������#�����������������##�����������

� :� ��(�(��(��� � �����;���#

� = ���3.���74

Page 125: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

125

6 �����6 �����

� � � � �(���������3����������"� �4

� /�� ���9������������������

� ������������(�������I����������������������������

� ���������#�����������������J��#���������(����

� %�����������������(�������K��� ��� ���������

� ���������������������������(����������#������

� "(�������#�������� (�������9���3�����������(����B4

� =�������� ������ �� ��(�H �#���� ����������

� 6 ���������������� ����

Page 126: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

126

' �����' �����

� ���� �����K������3��������������74

� �������������

� /�������������������

� /�������"(����� �����#������

� %��� �������(���������K���

� ---

Page 127: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

127

+-�� ������2�' ���������J���=����������������

$���S-�\ (�

"��' �����&�* -�" -�$�������

Page 128: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

128

<������

r �� ����#������� ��� ���������������

r � �������<�������

r /��(��������������

r ������������@��������

r =�����������#������� ��

Page 129: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

129

/�������

r �(������������������������������������8����������(����

m 0��������(���������������� ���� ���������##�������� ���

m @##�����������������������������#������������������������ �������������#����������

r @K�����������m "�������J��2��K�������������&����#�����

�������&������� �����' ���������3�-�-�������&' ��&�' �4

m 0�����2�������� ���3�-�-�1 �������4

Page 130: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

130

%��2������������=�����

r > ������ ���2m �������������������������������������

r � �����(2�� ��� ��������������#����������2m ����� ��&�' ������&�0���� �������&����� ��������

Page 131: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

131

' ���������J���> ������(��

r "�������J���(������(���m @��(�(��(������������������ ���#����������

9����������������������

r ' ���������J�2�"�������������#�� 9����<�3������B4

m < 9����< (����� ��������� ����

m ������������(������������������������ 9������������

m 5 ����������(������(������(��

Root ID = O

Directory servers tracking 2 replicas

Page 132: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

132

6 (������ ������7

r � ���������#�������������J��&����� ��&�#���� �������&��������� ��������������������#����������3\ (�&�%� ���� ��J&�!��(������-�* -"-�$�������4

r ���� ���������#�<�������� �� ���������������##�K ����(������ ��������

m "���������������� ��������� � �������� 3���K��&=�9������&�= ��(� 3��� � ,+44

r "���� �.2m �� ��(< 9���3< 9���.' &�Z�����.' [4m ������ < 9���3< 9���.' 4m ������ ���3���.' 4

Page 133: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

133

.�������������##�K�=�����

r ���������3�������� 9���4m ����������(���������������3]�)G�743�J��� ������3�4 ��4

r .�����< 9���2m > �(�< 9�����������������������< 9���.'

m 0��3�W�&��^���3�4&��X94�U����88' �#����(������(�• 9 �� ���#��������J�����&�39 W�C�� (�K������4�

• .���������������������������(�������(�������� ��

• 6 (���������(��#���&��(����������������(���3��– �4 ���� ��(�(��(���.' ������&����������

Page 134: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

134

=��������< 9���

r ����� 9���m � �������������������������������&����� ��������

��� ���� �� ��� ��

m 0��3�W�&��^���3�4&��X�4������(�#��������������������������(������������ ��

r @��(� 9����������(������(����#����� ����������

m f 3< 9���.' 4�W =�.'

r �� ��(�8�����(� �(������������������������

r =������W�f 3<4&�������� ���#��“��� ���” 9���’�������

Page 135: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

135

< 9����������=�����J�������� �������

Page 136: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

136

4

2

3

3

3

2

2

1

2

4

1

2

3

3

1

34

1

1

4 32

4

� �������/�(.������������##�K ����������

NodeID0x43FE

NodeID0x13FENodeID

0xABFE

NodeID0x1290

NodeID0x239E

NodeID0x73FE

NodeID0x423E

NodeID0x79FE

NodeID0x23FE

NodeID0x73FF

NodeID0x555E

NodeID0x035E

NodeID0x44FE

NodeID0x9990

NodeID0xF990

NodeID0x993E

NodeID0x04FE

NodeID0x43FE

Page 137: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

137

"���� �����#��(��� ��

���K���� �����(�r ���������

m 1 � ������ ������������(�

m =������������� �����m �����#������� �����

� ������r ' ���� �����������(�

• ' ������������������• ' �����������������

m =������������������������������

m 0���� ��������������

m ���# ��#��������8���������

m �������#��� ���� 9���

r � ����������.�#����������

Page 138: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

138

' �������.�������@K�����

NodeID0x243FE

NodeID0x913FENodeID

0x0ABFE

NodeID0x71290

NodeID0x5239E

NodeID0x973FE

NEW0x143FE

NodeID0x779FE

NodeID0xA23FE

Gateway0xD73FF

NodeID0xB555E

NodeID0xC035E

NodeID0x244FE

NodeID0x09990

NodeID0x4F990

NodeID0x6993E

NodeID0x704FE

4

2

3

3

3

2

1

2

4

1

2

3

3

1

34

1

1

4 32

4

NodeID0x243FE

Page 139: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

139

0���� ��������������

r /�����J���#� ������-��K�������#���� �������

r /����������m < 9����(�(���� 8����������� �������������8��

m 5 ������������ ��(���������J��������������������

m �3#�������=�#�������� 8���������4�W�)�– 3)8�4�

� (����� W�H �#���

r �#� ����������������� ��(m ���� ������ #���8���&����������� ��(&�

�W�)G &���W��)G� &�C�$8��&�� �����������������##��2�)�G�� 8&�

m �K����������##���� 8��C� ��������2��,�� 8

Page 140: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

140

0���� ��������=�����

r ' �������2m ���������� ��������� ��� ��������( �

r > �������2m @��(���������������������(�����������������m �������(�����������(��#���������������#������

m ���������#�������� ����������#����������������� ��

r �����2m 0����=���(� ����������������m ���������' ����������������=�����

Page 141: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

141

����������@���������

r .������������ ���������������������� �������������

r ' �����������������������#����� ���(�

r ' ����������(���##����#�������##�����I������������

r 0���������2��� �&�/$��&�1 � .�/&�� .@=�

Page 142: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

142

=����2���������������

/���������##���������#����������������3� .@=������4

RDP vs Object Distance (TI5000)

0

2

4

6

8

10

12

14

16

18

20

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Object Distance

RD

P

Locality Pointers No Pointers

Page 143: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

143

=����2���� ����������=���������

Parallel queries on multiple roots. Aggregate bandwidth measures b/w used for soft-state republish 1/day and b/w used by requests at rate of 1/s.

Retrieving Objects with Multiple Roots

0102030405060708090

1 2 3 4 5

# of Roots Utilized

Lat

ency

(Ho

p U

nits

)

0

10

20

30

40

50

60

70

Ag

gre

gat

e B

and

wid

th

(kb

/s)

Average Latency Aggregate Bandwidth per Object

Page 144: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

144

=�������6 ��

r "������� ����� ������� ��m =������� �����-&�3� ".=.�8�* "$ 4

r "(��m �����&�/���&�%�����&�%��(��&�$������(��� 3/.� �8�* "$ 4

r �����m ' ���(������=� ���3= ����8�/���#��=�����(4

Page 145: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

145

����������

r ' ������������ ������� (����������������������3���K�� � �����(�4

r 0���������������J����������� ���������#����������������������������������� ���

Page 146: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

146

6 ������8.���������

r �� ��������������������m @�&���������������������������(������ �������&��������(���������� ������������� ������� ���������#�����-

m � ��������������������#���������(����������

r 6 (����������“��” ����#���������� 9���m ��������������(�(����#������m �� ���������“��” ��������K�������������������������7

Page 147: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

147

=�����������Example: Octal digits, 218 namespace, 005712 � 627510

005712

340880 943210

387510

834510

727510

627510

���5�������6�� !,� � �7+����

8����$5���4���

� �"

999�

!,�

999'

999�

999"

999!

999&

999,

99'

!,�

99

99�

99"

99!

99&

99,

9'�

9��

9 �

9��

9"�

9!�

9&�

!,�

',�

�,�

,�

�,�

",�

!,�

&,�

,,�

005712 0 1 2 3 4 5 6 7

340880 0 1 2 3 4 5 6 7

943210 0 1 2 3 4 5 6 7

834510 0 1 2 3 4 5 6 7

387510 0 1 2 3 4 5 6 7

727510 0 1 2 3 4 5 6 7

627510 0 1 2 3 4 5 6 7

Page 148: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

148

' �������.������

<����������������#������ �����#���������������2

r �����)2�$���������’�����������m ����������������(�(����������(�#�������� �����

�������������’ �(��� �������K�������m � (����( (��������(�����(����������( ������������� ���

���m � �����J���(���� ���� (�����������

r ������2���������#����������������� ���������������� ��(�������������#���’�.' &������#�� ����������

r ������2�@��(����#���������������� ��(�������#����������� 9���

r �����C2�=�����#�� ���������#����������� ��(������������2����#�����������( �������#�����(���

Page 149: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

149

' �������=��/������

r �� ���2��(�������������#�������� 9���m ' �������������������� ����(����

m 1 � ������������

r � ������m � �������� ��(���������(�����##�K����������������8�� ������������������K��������#�����������

m =�I����2������������ ������#������������� ��

Page 150: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

150

���K�� ������

r 1 ������������.' ��&m 0�������� #���������K���������� ������������(�������H �#��##�K�������� ��(��

m "(���� W��������� � ��(�(��(����������.'

r .��2m /����������� ����������������������������� ������ �����

m /��� ���������(������������������������������(�����������������

m /������������� ��������� ����&���������������������������

Page 151: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

151

������ =�������&��������0�����&���/����> ������&�

= ��(����%���&������ �(�����

L-�� ������ ��&�"����� � ����� ������� ��

� ".=. * -"-$������� � �(������ ��

) � �

)&� � )

)&� )

Page 152: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

152

<������

r .���������

r ' ����

r @��������

r �������(�R �6 ������

r <������6 ��

Page 153: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

153

.������� �����(�(��� ��

r > �(��� ��m �������� �������� �������#�� ��������

r .������� ���������� �����(�(��� ��m �I����������� ���������� ���������� ���������7

Page 154: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

154

r > �(��� ��m �������� �������� �������#�� ��������

r .������� ���������� �����(�(��� ��m �I����������� ���������� ���������� ���������7

N ���� � ���������A ������& 1 �������&&�0������& /9�����E

N ����� ��������������������������A �� ���&�<��������&&�"0� ---

N ������������(��6 �

.������� �����(�(��� ��

Page 155: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

155

"����� � ����� ������� ��3"� �4

r "� �2�.������� �����(�(��� ��

r .����#���m �����3���&�����4m ������W���������3���4�

Page 156: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

156

"����� � ����� ������� ��3"� �4

r "� �2�.������� �����(�(��� ��

r .����#���m �����3���&�����4m ������W���������3���4�

r ��������m ���� ��m �����������������m ������#�������3� 8�����������4

Page 157: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

157

"����� � ����� ������� ��3"� �4

r "� �2�.������� �����(�(��� ��

r .����#���m �����3���&�����4m ������W���������3���4�

r ��������m ���� ��m �����������������m ������#������

r =�����������2�"(��8�����8� ������8$�JJ8���K�� ---

Page 158: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

158

�� ��������

4 ' �������������(�����������(�������#���� ���� ������� � ����� ���#��������5 ����������

6 � ��������� ����#��&�(��(������������������� ���� �������(����� ���� ����������� ��������

Page 159: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

159

<������

r .���������

r ' ����

r @��������

r �������(�R �6 ������

r <������6 ��

Page 160: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

160

%��Q

"� �2� ��������

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

Page 161: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

161

"� �2� ��������

�����3%)&Q)4

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

Page 162: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

162

"� �2� ��������

�����3%)&Q)4

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

Page 163: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

163

"� �2� ��������

3%)&Q)4

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

Page 164: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

164

"� �2� ��������

���������3%)4

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

%��Q

Page 165: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

165

"� �2������

r ��������"���������������������

r ������������������������������������(������m ����������:� �;���J�������(�������������

r � �������m ����������������:����;�����(�������

m ���������#������:����;������(��

r ������W������(���� ���(����������J���

Page 166: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

166

"� �2��������K�����

)

Page 167: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

167

"� �2��������K�����

) �

Page 168: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

168

"� �2��������K�����

)

Page 169: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

169

"� �2��������K�����

)

C

Page 170: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

170

"� �2��������K�����

Page 171: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

171

"� �2��������K�����

Page 172: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

172

"� �2��������K�����

����.22�����3%&Q4

Page 173: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

173

3)4����W (K3%4

"� �2��������K�����

K�W��

����.22�����3%&Q4

Page 174: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

174

3)4����W (K3%4 �W (�3%4

"� �2��������K�����

K�W��

��W�

����.22�����3%&Q4

Page 175: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

175

3)4����W (K3%4 �W (�3%4

"� �2��������K�����

3�4������3%&Q4� Y 3�& 4

����.22�����3%&Q4

Page 176: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

176

"� �2��������K�����

3�4������3%&Q4� Y 3�& 4

3�4��3�& 4�����3%&Q4�

3%&Q4

����.22�����3%&Q4

�3)4����W (K3%4 �W (�3%4

Page 177: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

177

"� �2��������K�����

3�4�������:��������3%4;���3�& 4� 3%&Q4

3)4����W (K3%4 �W (�3%4

����!22��������3%4

Page 178: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

178

' �������������(��"� ������������ �������3�-�-����4&�����������3�-�-�.�������4

"� �

Page 179: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

179

"� �2���������� ��

Page 180: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

180

"� �2�������

3�& 4

3K&�4

Page 181: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

181

� �����������������������#�������������������( ��������

"� �2�������

Page 182: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

182

"� �2������������

$��������

)4�' �������������:.;������������"� ���� ����

Page 183: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

183

"� �2������������

.

��� ����)4���������������:.;������������"� �

Page 184: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

184

"� �2������������

�4������������������������

.

3�&I4

��� ����

Page 185: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

185

"� �2������������

3�&I4

�4�.��������3�&I4&������������!�

.

!

��� ����

Page 186: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

186

"� �2������������

���!

C4������!M�J������(��#E���� �� �����(��#

Page 187: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

187

.������������� ������##�����������������(����������������������������( �

"� �2������������

Page 188: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

188

"� �2�����#������

r ���������������(�������

m ����������� ���3� ��������4N #� �����������N �������������&��� ��������� ���#����������

m ��������������N ��������������(�

Page 189: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

189

"� �2���������������(�

r �������#������m ��� ���������( �M�����( �m � (���������#���&����#��������( ��������������

J��

r /��������K�#����������m ����������#�������#������������9����������m �����#�������������������( �m (��#����&�������������

Page 190: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

190

<�����(��#���������M���������������( ��������I������#���������

"� �2�����#������

Page 191: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

191

' ����������

r $����"� �m ��������������� ����m ��# �����J���m ����������������������#���(������������������( �

r � ���������������#������m ��������&������������������3��������4m ������������� ���������������(�m ������(��������������������#�������

Page 192: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

192

<������

r .���������

r ' ����

r @��������

r �������(�R �6 ������

r <������6 ��

Page 193: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

193

@��������

r ����� �����

r �� �������

r ���� ��������

r = ����

Page 194: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

194

"� �2����� �����

r 0�������#���������������������� ��(�� ����������������

m �������&���� ���#�����( ������

m ������������������(����3����48C (�

m ���������(� ��(����(��� ���������(��������������

r "���������(������ ���� ��(���������������� ���������

r "(��8���K��8� ������8$�JJm ��3�4 � � � ��( ��3�4�(�

Page 195: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

195

"� �2��� �������

r �� ���m �������������(�W�3"� ��������������4

3.��������������4m ���������� ������������������������(��(������(�

r ������m ���������������&����������3��������(�����(������(4

m > ��������3��������(����� "� � (���������4N =� � � ���(����������N �����������������J���3��������4N ����������������������������������

Page 196: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

196

"� �2��� �������

H ���

��� �

���� �� �

��(

0

20

40

60

80

100

120

140

160

180

)G% ��% G�% )�)%

H ��������W��

� 8�(�������

� 8�(�������

Page 197: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

197

0

2

4

6

8

10

"� �2��� �������

H ���

��� �

���� �� �

��(

)G% ��% G�% )�)%

H ��������W�)�

� 8�(�������

� 8�(�������

Page 198: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

198

"� �2����� ��������

r � � ������

m ' �������� ��(�(� ��N �������3���&�����4�����

N �������(�������������I������������

N ��������������������������������������������( �

m * ��#����������������������������N ���#�����������3���&�����4�������

N ���#������������������������

Page 199: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

199

* ��#��������������

r � ������(����m ���9�������&��������J��

m �(��������( �����J��

m ������(���������J�������������(�����

Page 200: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

200

0

20

40

60

80

1 00

* ��#��������������

Q �Q CQ LQ

Q����

�� �� �� �� ��# �� �

� 8��(���

� 8��(���

Q�W������������

Q)G

QL

QC

Q�

G�&�������&����������

Page 201: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

201

"� �2�= ����

r "�������������� �����m �������������#�#�������3����������� �����������#�

���� ���� (�������#�������(�����4

r ����K����������� �����������3��������(����������������������#����� ��4

r =���������#�������m ������������������ ��

Page 202: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

202

<������

r .���������

r ' ����

r @��������

r �������(�R �6 ������

r <������6 ��

Page 203: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

203

�������(

r /�������������(���#������ ����������� ��

r @##��������������������#������

r 0�������������������

r ����R �' ����> ��(�� ����� ������3� 8�����������4

r /������ ������������ ����J��R ����� ������##��

Page 204: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

204

6 ������

r .��� ��������#�����#�JJ������(

r ������� ���������������������

r /���������(�������#������(������K��������3���� ������(���&�@##������������ ����4

r �����������������(��(�����������������

r ������#�������� 8�����������

Page 205: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

205

��������

r "����������/��������K��������#�������(�#������

r @K��������(���������� �����������##���������#��� � (����

r ������������(���������#�����������������

Page 206: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

206

<������

r .���������

r ' ����

r @��������

r �������(�R �6 ������

r <������6 ��

Page 207: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

207

<������6 ��

r � ��������� ��������"� �����������m ����� ����� ������

Page 208: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

208

' ���� �����$ �������

r 1 ��m ���������(��(���� ����������������������� ��

r .���m � ������� �����#�������������(���m ���(�"� �����&�����������=� � ������(���������m ������(�������������������#�����������=� �

r "� �����������m ����������#����(������ �����������(������(��"� �

Page 209: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

209

' ���� �����$ ������

m C����������3������������(���� ���#������(��(��4

m ��_���������������

��� ���#����

��G )% C%

����

���

���� �

�(

)�

)�

��

��G )% C%

� 8� ������� 8� ������

� 8� ������� 8� ������

H �������W� H �������WC

Page 210: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

210

<������6 ���3���M�4

r � ��������� ��������"� �����������m ����� ����� ������

r "� �����������3�����/������ ����#��4

m ��������#�������

m ����������������� ������

Page 211: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

211

<������6 ���3���M�4

r "� ���* ���

m � ��������� ������/��������3�1 "����)4

m 1 �� =��"������' ���� �����

m ' ���� �����' ��� ��������"� �3!-> ���������&��-=�������&��-�(�����&�.-�����&��-\ (����4

Page 212: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

212

�������

r "� �

m ���.������� �����(�(��� ��

m ��������� �������� �������.������������������

r ����� �����

m <3�4���� ��������

r �� ��������������

m ������(��������(��������

r = ��

m ����������J��&������������������� ��

Page 213: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

213

���������2/����&� �����&/�������

r 6 (�������� ���������������������������� ����#�������3���9���#����(�����&�����K���&����������I�����������4�A

r .-�-������������#����������������� �����������#������� �������������

r /����&�����������������������������������E-

Page 214: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

214

(*:�$;����<�+��=>?3

?�+�$�+���74�4��@

Page 215: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

215

����$�����$�7����$�

r �$����+���$�- @�������=>?3

r A����- @����=>?3�@�$��������

r ?�+�$���5��- @����=>?3����������$

r :��+����- ��@�=>?3���������

r ����+����- @��������+����=>?3����

r :�+�����- @������=>?3������+��

r 3����+����$��- @����=>?3�+�$���������1�

r #����������$�- ��@�=>?3�5�@�

Page 216: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

216

�$����+���$

r =>?3��- ��$��$+������ �����������$� �����������

r ����������:�$B��#���1�:+��$�������� ���

r �$��11������+������������ ��������1��������$5��������������4�+����$�������+����$��

r ������/ A$������/��$�6��$����4���������@��������� �����������������+����$������$������������������@��������/���2���������+����$�

Page 217: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

217

A���C������

r �$�������@�����$5���1������������+�2����$5������+����$�������4�����$5���+�22�$������1�5�$������������ ������+����

r �+���4������1�2��$����$��$+��- �$����$5��5�/��$��7:/��$�����@��

r �4�+�2��������2������$��1��$���$�2�$�������B��� �������+����$�

r �$�����$�@������+����$������$��$��$����4�+���������������5�����������������������+�2�����/���4��/�%3�/�+�������$��/��$�������+�$$�+������4�+���

Page 218: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

218

?�+�$���5�

r =>?3���+�$���5������������$�>��/�=�4����+�$���5�/��$������+�$+������1�D��>�������$5������2

r ?�$�2�������$1�2����$������+��5������2����5��*������5�����1�$���$�>����$4����������$�1���$����$���1�����*

r ?��������1�=�4����$5��5�����$����E�����- =>?3�����+����+�$�����2���2�$�����$�#/�#FF/����/����$���������5�22�$5���$5��5�

Page 219: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

219

���� ����

���� �������

���� ���������

:��+���

3$�������$�����G����%������/�+�������$�/��%3/�:�4��

�������

����A���� ��������� ������$����$5

=>?3�#�22�$����:�4�+��:�$

=>?3�:�4�+��

=>?3�#�22�$����3����+����$� :�$�3����+����$�

=>?3:����

���#�22�$��

Page 220: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

220

�����-�������:��+���r ���� ����

H ���� ������- 2�+��$��2����C1��+������$��������/�<��$/���4�����/����+�4�/�+�22�$�+����$/���+����/�+�$��$������$5

H ���� ����- ��$�1���1�����/�+�$��$�/��$��+�����$�������+��-�$����$��$��2�$$�

H ���� ����� - �$+����$5��++����+�$���/�������������$5/���11�+�2����$5��$����$�@���������$+�$5

r ���� �������

H �9��$�����$�����+�������������1�����+����$��1�+�������������+����$���4����2�$�

H 2�+��$��2��1�����+��$5/�����$5/��$��9�$5/��$��+�+��$5�+�����$��+�$��$������$�����+���-�����+����$����5�$5��$����$������$��1�1����

r ���� �!���- 2�+�������D��>�7:H 1�+���������++�������+��-��4���1�$+���$������5����+�22�$����$�

r ���� ���������- ���������$5�������4�+������@�����������+�������

Page 221: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

221

����+���

r =>?3�����������1���9�����+���

r ����%��+�4�������+���- 1�$������/�5����/���4�����2�$��

r ��� 8����4� ����+���- ��$�C�+��4�����+��E�����

r �����$1�2����$�����+���- ���$�����;�������C��������

r ������2�����������+���- ��5$��$/���5$����/������$��+����$

r �������$��$5�����+���- �������4�����2�$�����������$����$�

r I$����$��8����$5�����+���- �4����������������������$����$

Page 222: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

222

:�+����

r #�$1���$�������/��$��5���/��4�����������- �����$��+����$/��++����+�$���/��$+�����$/���+���+�22�$�+����$/���+*�

r %�4�����$5�2���+�$+�����$����+������+������+����+��������$

�$5��$5���<�+�

r =>?3������$���2�$�����+����$���+���������+��/��$+�����$���5����2��������+�����2���2�$�����$�

r =>?3��*'���4�����:�+�������2���4��J

H +�������������%!/�8#"/�8:3/���+*�

H ���55���� 3����$��+����$����������3���

H ����@��-��������5�$

H ��$�������+�����2�+��$��2�2��������1���::�C?�:

Page 223: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

223

����$�����3����+����$�

r :��+�������$����@����$����������+�$$�+������4�+����$���<������4����1��$�������$1�2����$

r :�4��1������$���$1�2����$�����������������+����$���$�����$��@��

r #�$$�+��5�2�������2����������2����������������$�2����������+����$�

r ����+�������$���+���$���2�$5�����+����5������1��$��4������

r #�����������$���<�+���1�2��$�@�������$5��$��+�$$�+������4�+�

r :����+�2�������4�+��/���+�������+�����+�+����������5�������2�/��5��������1�@�������������2������������������+����

Page 224: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

224

=>?3�:��+��74�4��@

r :�������$�=�$�� '''�����$1����+������$�������������������E���������$��@�������������+��������1��$�@��$5����2

r ��@�������������1��������+��$5�2��������5��1������=>?3�1�2�@����$�����1�2��1�=>?3�:��+�

r #�22�$�+����$�4����$�>�������+���+������K����8����$5�����+����K8��

r ���@���+�2��$�$��J���4����/�#�$��2��/�.���

r #��������1���4���$5������@�����$����������+�L���������+������@������2������$�1���

r %���5$�5����J�:�2���+���/�:��+���/�I9��$��������/�:+���������

Page 225: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

225

=>?3�:��+����$�1���

r :������1��������- ����+������$���+�������$���������+�/�@������5��������$���������������++���������+����@���������$�������+�������+�$�����$��9*

r 3++����- �$�+�@��$5������������+��2�$��+�2��$�������������$�����5�$���++�������@���+�@���*��$�����������������+������+�2��$����+�$���4�������������������1�������������*

r I11�+��$+��- $��$�������+�������+�$���������+����$��2��$���$����$��9�1������@�����@��*

Page 226: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

226

=>?3�:��+��3+����+���

r I�+��=>?3�����+�$��$��$���$+����1���4���/�#�$��2�/��$��8�5�������$���4�+����$������1�����=>?3�+��*

r I�+�������$���+���@��������=>?3�:��+��.���:�4�+��/�@��+�����������$$�$5��$������1�����=>?3�+��*

Page 227: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

227

=>?3�:��+��3+����+���

r I�+������@����$�����$��@����$���+���@���������������$5�����������������4�+�

8�5�������$

#�$��2�

��4���

.��

=>?3����

Page 228: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

228

#����������$

r #��$�����4�� !�+�2��$�����������+�����$5��$���4�����$5�=>?3��<�+��*

r #����,���<�+���

H ��+����/ <�9��-+/�<�9�����/���+���<9��

r :�4�+���� '���<�+���H ���+�/�<�9�����+��/�� �-�2���/�<�9��-5��/����2�$�/�2�$����$5

r 3����+����$���� ���<�+���H �����/�<$�����/��1@����/���$��

r 7������<�+����!��- ��2��/���������/���+*

Page 229: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

229

6�����G��/�K������$�

r 6�����G��

H #C#FF��2���2�$�����$

H ����������2���2�$�����$���%3�/�+�������$���

H ��2�$5��$����$��$5���4�+��

H :�+�������4�+���������$��+����$/��++����+�$����

H :������$��1��1��@������$���3?�5���@���

r �������������5������+���M

r %��=>?3�����+������+���������2�+��������������M

Page 230: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

230

)�-�� ����������������� ��������2��� ������������������ ��(�������������* �����=����������6 � ��������

� ��� ! " �#��$ ������ % ! � � �� �

" ���� ��� &����� ����������� ���������������1 ���

1 ������� ��(&�� ������&�1 �

' �� ��� (��������)' ����������#�"��������������

* ���������#�/�������&�"����������&�/'

Page 231: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

231

� �����

r �� �������������

r � (��� �������� "�������������������

r ����=�������6 ��

r � ����������������� ��������

r @K�����������=����

r "������

Page 232: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

232

�� �������������

r @##������������������������� ������������� ��

r =����������������

r � ����������� ������������(�� ��������

r $��������������������&����#������&������

Page 233: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

233

�������=���������

r ������������(��I���������������� ������#���������

r .����������������������m �������#������

m "�����������������

m ��������������

r ����������������� ���m > � ������������������������ (��(�#��(��������������������������7

Page 234: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

Client

Content Equivlent Servers

Request

??

Page 235: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

235

���������������

r � ����������m ' ���������3�-�-�������4������

m =����� ������������3�-�-�' ��������4

m @K������������ ��(������������

m ������������(���������3�-�-�" ���' ���� ����' ������4

r � ��������� ������� ��������2m "��������I��������������������� ����

m � ����� ����������#������������3�I��������4������

m ����������������������������������

Page 236: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

236

� �������� "�������������������

r � ����� ������#��������#����������#��I���������(�

r =�I�������������� ���(������(������

Page 237: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

Client

Content Equivlent Servers

Request

Reply

Anycast mechanism resolves to one of

possible many

Page 238: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

238

@K������� ����� ��������������������

r @K������������2m =0"�)�CG�> ��� �������� �������

N ' �#�������#���������� ��������������������N .���������������������#���(������ ��������

m .@� 0���������������������A �������K������7m � %� /� .������(����������������(�8"' �m "���' ���� ����' ������

r ���������m 1 � ��������������m �����������������������������m �����������#�������m �������#����������������������������m � ��������#�.�������������#�������� �����

Page 239: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

239

� ��������� ������� ��������

Application

Client filters

Anycast group table

Resolver filters

Anycast-aware client Anycast Resolver

Anycast query

(truncated) list of servers

List of serversBest

server

Page 240: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

240

0�����

r "����� ������������#�����m @ -�-�=��� � ��

r /����� ����#�����m @ -�-�/�����������������

r ����� ����#�����m @ -�-�/���������

r 0�����������#�������A /������ 5 ����#����� ' �2m ^/������O�������YF ^' ���������Y

m ���������-' ����O��� F ��-�����(-���

Page 241: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

241

� ��������� ������� ��������� ��(��������

Client-Server Communication

Push Daemon

Content Server

AnycastResolver

Resolver Probe

Anycast aware Client

Client

Server Resolver

Probes

Server Pushes

AnycastQuery/ Response

Probe Updates

Performance Updates

Page 242: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

242

� ����� 1 ���

r � ����� ����������#����������#�.��������&�������������������

r 1 ������� �����������I���������������&��-�-&���������0� ����������� � �����(�������

r � ����� �����������#���� ��� �����' ���������

r 1 ������� ��(��������(������������(��������������

Page 243: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

243

� ����� ' ���������

r ���������2�^�������YF ^' ���������Y

r @K�����2m ' ���� ��� F ��-�����(-���

Local anycast resolverAuthoritative anycastresolver for AND X

Anycast client

1. Request ADN X

2. Determine auth. resolver

3. Request members, metrics for ADN X

4. Members and metrics for ADN X5. Cache ADN X

6. Anycast response

Page 244: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

244

.������������

r .������������������/������5 ����#����� ' �

r .����������������gethostbyname

r � �������������������������� � ��(������#������K����������������

gethostbyname

Anycast Resolver

DNS

Filters

ADN Domain Names

other

IP Address

Page 245: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

245

=������ ����' ������������#��6 � �������r =���������2

m /�������#���������������������I���������������������� ����#�#����#����� ��

m =������������(�������X���������������������

r <������� �#����(��I��2m =����� �� ��#�����( ��������������������

m ��������������������(�����( ������������������������

m ���(��� � ���(����(�����#��I������(���(������ � ��(��� �

m �� ������������������ �������(��������

Page 246: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

246

���#�������/������' �����������

r /������������������(��I��m ���������(�������(�

m � ������� �����(����

m > � ������(8�� �����(��I��

Page 247: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

247

���������(�����

r � ������������������������2assign process to handle query

parse querylocate requested file

repeat until file is writtenread from file

write to network

r ����2m /������������(������������#���������3� * 0= 4

m ��(��#�����#�������(����

Page 248: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

248

=����� ���������> � ����� ��(��I��

r =����� �� ������2m =�I����������#����#��������

m /�����������������3=� 4

r > � ������( �� �����(��I��m ' �����#���������������������� * 0=

m @��(��� �2���������������#������0�W�=� 8� * 0=

m @��(���(2���������=� �W��0�K�� * 0=

Page 249: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

249

���#�������#�> � ����� �����(�

Page 250: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

250

6 ��� � ����@K��������

Page 251: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

251

=�#�������

r �� ����#��������������������

r ����#�@I����������������3@�4m �� ���#��(�������������������� (�������������#���������� ��(������(��(���#� ������#������

Page 252: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

252

���#�������#�� ����� � =�������������

Page 253: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

253

���#�������#�����������������(���

G-,G�-)�=����

�-C+)-)��������������

�-G,�-C,� ��������

���������' ��������3��-4

� �������=������ ����3��-4

��������������� �����(�

50% improvement using Nearest Server50% improvement using Nearest ServerAnother 50% improvement using Another 50% improvement using AnycastingAnycastingMore predictable serviceMore predictable service

Page 254: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

254

���#���������/���"������� �����

Page 255: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

255

� ����<���������� ����������

r $�������(��I��2m @������������������#�����(������

m .���������(�� ���������� (���I������

r .�����#�������� ������������������������������

r * �����#��I��������������

r "(����������������I��������������

Page 256: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

256

@##����#�� ��(��I���������������

0������)-��� �� (��(���Q����

0�������2�> ��(���� (��(���Q����

Page 257: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

257

����� ������� ��(��I��

r ����������������������(�������

r ����������������� �������������(���

r ������������������� ���#������� ����

r =����� ����������:����������;������

r * �������������������#��������

Page 258: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

258

"������

r �������m ���������������������������������������A � � ��������

���-�

m � �������������������(����������(��������� ������������������������� �����J��������' ��������(������(�

m 6 � ����������#����������� ����������� ��(������ ��������������������-�� ��(��I����������� ����������J������(��������

m � �(� ������( �� �����(��I�������������� �����������-�/��� ����#�������(�������K�

m � ��������� ��������������� ���������#����������������������(��������������������(��I��

Page 259: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

259

� ����� ����3����(���������������

r ' �����m 6 ���(��������K�����������(�7

N C�� ����� �� ����������A * "�� �3)4&�6 * ���3)4&�1 ����( 3�4N � ����� ������ A * /' &�1 ����(N ���� ����� �� �����������A * /' �3C4&�1 ����( 3)G4

r ������#������� � �������������m @K�����������������#�������(���A �������#�������

��##����������������(����������7

r 6 �������#���������������#����� �� ������#�����(����#�����������������������7

m 1 � ���.� ������ Z�.1 "<//��[

Page 260: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

260

))-�� �"���0��@���������/�������

S��� (���"(�&����9���=������> ���\ (���

"��������/�����* ��������

Page 261: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

261

� ����<������

r ' �#������&���������� ���#���R ��� ���r ����� ������ ������(�����#������r ���#������������������r ���#�������������� ����K��������r =�������� ��r ' �����

Page 262: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

262

.��/�������

•No duplicate packets•Highly efficient bandwidth usageKey Architectural Decision: Add support for multicast in IP layer

Berkeley

Gatech Stanford

CMU

Routers with multicast support

Page 263: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

263

%���"������� ��(�.��/�������r ����� ������� ��(���� ���#�����m =����������������� ���������

m � ����������� #�� ������#��5 � ���������

m � ����������#�����������������������������

r ����������(��(���������#����������������##�����m .��/�������2� �� �##�������� ��������������������

m @������������� ���#��(��������(��(���������#������������

m =���� ������������������������#��.��/������������������

r .���� ���������������(���-r �������������#�#��������������-r ' �������������##������������

m .��M��������������������.��/�������

Page 264: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

264

@���������/�������Stanford

CMU

Stan1

Stan2

Berk2

Overlay TreeGatech

Berk1

Berkeley

Gatech Stan1

Stan2

Berk1

Berk2

CMU

Page 265: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

265

r ����� ������3��� ���#���������(������ ��4m =���������������������� ���������

m @���������&� ����(�����������������������#�� �����

r @������������

r ����������������#���������#��(��(���������#�����������m �����������������������������#���������

m 0���K�����&�#�� �##������������&����������&�� "%�����������

m ���������������#�������������������������������� �����

���������$���#��

Page 266: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

266

���#�������"�����

CMU

Gatech Stan1

Stan2

Berk1

Berk2

Duplicate Packets:Bandwidth Wastage

CMU

Stan1

Stan2

Berk2

Gatech

Berk1

Delay from CMU to Berk1 increases

Page 267: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

267

6 (���������##������������������7r � (�������� ��� �����(��������������������������

r .������&

m � (����� ���#�������������������������(���������������

> ������� � ����2

m @�������� �������(�������(����������������

m ' �������(�������#����� ���� ���(�#������������.�������

Gatech

“Efficient” overlay

CMU

Berk2

Stan1

Stan2

Berk1Berk1

High degree (unicast)

Berk2

Gatech

Stan2CMU

Stan1

Stan2

High latency

CMU

Berk2

Gatech

Stan1

Berk1

Page 268: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

268

6 (������# �����J�����(���7r ' ��������(���������������� ��(����

m /�� ���9������������������������m /�� ����������

r ����������� ������#����� ����������m /�� ����������� ������������(��(���� (����(���9��

m /�� ����� �����(��(��������������� �������������#�������

m <�������������# ������ ��������#������������� ��

r ' ��������(������������ ����������m ' ����� ��� ������� �����������������������������������

Page 269: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

269

Berk2 Berk1

CMU

Gatech

Stan1Stan2

������ ' �����3)4

Step 1

“Mesh”: Subset of complete graph may have cycles and includes all group members• Members have low degrees• Shortest path delay between any pair of members along mesh is small

Step 0Maintain a complete overlay graph of all group members• Links correspond to unicast paths• Link costs maintained by polling

Berk2Berk1

CMU

Gatech

Stan1Stan2

Page 270: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

270

�������' �����3�4

CMU

Berk2 GatechBerk1

Stan1Stan2

•Source rooted shortest delay spanning trees of mesh•Constructed using well known routing algorithms

– Members have low degrees– Small delay from source to receivers

Step 2

Page 271: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

271

������ "������r /�(�/���������2

m @�������(��������������������#����#���� ��(����(����

r /�(�<�����J����2m ' ���� �����(��������#����������(��������(������� ��� ������� ����������(����(�������

r �����������������������2m =������������(��#����������������� ��������������

m ' �������������������&���������������(�#�� ������

Page 272: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

272

<�����J����/�(�5 ������

r /�� ����������������� ���(������ ������������

r ��� �������������#* �������1 ����#���������������Y � ���� (��(��

r /�� �����������������������K����������

r @K�������������������#"��#��������������^�' ���� (��(��

Berk1

Stan2CMU

Gatech1

Stan1

Gatech2

A poor overlay topology

Page 273: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

273

� (���������#����r * ������������#�������������� �����

m � (����� ���#���� ������ (��(���������������������

m > � �����#�������(���������������������������(���� ����

r "��#��������������� �����m � (����� ���#���� ������ (��(���������������������&�#�����(�������( �

r � ��8' ���� (��(�� ����#�������#2m /�� ��M����������#�������J��

m "�������������K����������� #����� ��������(����(

Page 274: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

274

' ���� ������������#�(�������

r ��� �����2 � �������������� ������� ���������������������

r ���������� �������2 � ����������#��(����(��������������� ������������������#���������������� �����������

Delay improves to Stan1, CMU but marginally.

Do not add link!

Delay improves to CMU, Gatech1 and significantly.Add link!

Berk1

Stan2CMU

Gatech1

Stan1

Gatech2

Probe

Berk1

Stan2CMU

Gatech1

Stan1

Gatech2Probe

Page 275: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

275

Used by Berk1 to reach only Gatech2 and vice versa.Drop!!

An improved mesh !!

Gatech1Berk1

Stan2CMU

Stan1

Gatech2

Gatech1Berk1

Stan2CMU

Stan1

Gatech2

Page 276: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

276

������ @��������

r �����������K��������

r @���������#���������������������(��.�������

Page 277: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

277

���#�������/�����r ' ���� ��� ������� ��������������

r ����&���#��������(����� ���#����������������#�����������(��������������(����������

Berk2

Gatech Stan1Stress = 2

CMU Stan2

Berk1

Berk2CMU

Stan1

Stan2Gatech

Berk1

Delay from CMU to Delay from CMU to Berk1 increasesBerk1 increases

Page 278: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

278

0������##����������#������r � �����/���

m 6 �K��� Q�������

m /�����2 "�������������������#�����������.��� ��� ��

m � �/��2 $����������� ������.�������������������

r � �������J�m $��� ����GC�����)��C������

r 1 ������J�m $��� ����)G�������G

r 0���� �����m ��� ���#�����( �����(���� �����������������������(����(

Page 279: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

279

' �������������������4 x unicast delay 1x unicast delay

Waxman : 1024 routers, 3145 linksGroup Size : 128Fanout Range : <3-6> for all members

Page 280: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

280

Naive Unicast

Native Multicast

Narada : 14-fold reduction in worst-case stress !

�������������������

Page 281: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

281

<���(���

r � � �����m ����� ����K�(�����#��������������������#������

m �������#����(������������-

r "����2�=����#��� ���������������##������ ����������� ��(�������J�-

r ������ �����������������������-

Page 282: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

282

=�������6 ��

r S�� 3�����0�����&�� ".=.4m /������(��������(���������������&������

���#������

m * ����(�������������������������������� ��

N /��������� ��������������������#�#������

N ' ���� �����(��������#��������������������J������������������������������������������ ��������

r ���������� 3"(�� ��(�������&�* "�$�������4m @��(�������#�����������������������K� ����

��������

N � ��&����������������������(�������#���K��

m � ���������(&� �����##����������������������

Page 283: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

283

"������

r ���������),L,&�.��/������������������ �������������

m ��� ���������&�����������������K���������������������

m ' �##��������������(��(���������#�����������m ' �##�������������&���������.��M����������.��/�������

r .�.���(�����(��������#��������������������#�����������7

r 0������ �J�������&������� ������������������(�

m ��#��� ��m (������ ����#�������������� ����������.��/�������m (���(������������������#��������#��(��(���������

#�����������m ���� �#������������ ����#��������J����

Page 284: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

284

<����5 �����

r � (��������� ������(� ��������@�/����������������.��������������#������-

r � ���������������(2�6 ���� ��(�������������(� ������#�����������������������-

r ����������������������� ����������������������-�

r ���#�����������������2�=����������������(���-

Page 285: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

285

.��������@����������

r )��(�&�����9����(����������� ����(����������

r ��#���(����(���������������� ��(��

r @��(���� �������������������� C�����( ������(����(

r > �����"/* ���������������

Berkeley

UCSB

UIUC1

UIUC2 CMU1

CMU2

UKY

UMass

GATech

UDelVirginia1

Virginia2

UWisc

8

31

110

13

15

14

111

381

10

Page 286: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

286

������ ' �����Q-�* ������' ����

Internet Routing can be sub-optimal

(ms)

(ms)

2x unicast delay 1x unicast delay

Page 287: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

287

)�-�<������2�=���� ���/������������ ��(����<����������� ��

���������(�2�!������&�1 �##��&�!(��&�%��(��&�<M� ���!�-

Page 288: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

288

' �����1 ��

r ����������������� ���������������������������������K���������(����������*��������

r ����� ��&��##������&���������� �������� �����#�(��(�I�����������

r "������� ������������� $ #����������

Page 289: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

289

<������������.��/�������

Overcastingimposes about twice as much network loadas IP multicast (for large networks). This difference is in O(n). (Figure 4)

Page 290: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

290

� ��(���������#����<�����������

r � (����������� (��(�#����(�����(���������#��(��<��������������������������-

r �����������������������������J��������(����������#���� ��-

r @��(����#� �������������&�� (��(��������������������(�#��(�����-�� ���������������� �����������������������(����������-

r + ����� ������� ������������#�������-�

Page 291: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

291

=������3)4

r "�������������������(������������������������� ���(������� ���������-

r � (��������(������������������������#��(������-

r 6 (����������9����(������&��(���������� � ���������(����&�� (��(�����������(������(��: ��;�����������

r .��(������������������#�#������7

Page 292: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

292

=������3�4

• Linear roots can alleviate this problem. For the source to fail, all roots must fail.

• Using round robin IP resolution, you can stop your content serving cluster from being ‘slashdotted’ (overloaded by sheer popularity) by client requests.

Page 293: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

293

' ���� ���������

r � (������� ������������ ������������������������������,������-��� ������(�-

r � (����������(��������#��(��������(��������K���J�����. ��� #����(��������������������-�

r (��/��� ��� ��������� (��(���������������������������� ��� ��� ��-�<����������#��� ������� (����(��� ��� ����������������������(�����#��(�������3��&��(�������� ���(�����#���4

Page 294: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

294

� ���� ��������������3)4

r � �������������-� �� �������&� �����������.�&��������������:�� ��&�� ��� ��� ���������;�3�� ��������#�#������74�� ��(������I�������� �#� ��-

r 0������ �������������#��������9��-

r � (�����������������(���(���������������-�� ������#���#�� � ���� ��������� (��(��(�������������� (�������(����������(���� �-

Page 295: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

295

� ���� ��������������3�4

r 0�����(�����&�����������(�� ���� ���(�� ��(���������������-�� ����������(�� ���� ���(����(������#����������M��(������-�

r .#��(������������3 ���� ���(���##������� ��� ����������������� ��(���)�F 4&� �������� ���(����� ���#�(���������� ��������#�-

r � (���(�����������(�� ���#���M���������(��������������� �������-

r ����������������������� ���� ����������9���#���(�������(�������� (�����M��������#���-

Page 296: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

296

=���(�������� �������

Overcast nodes can still receive content from the root, even when the tree is not stabilized. A typical round period is about 1 to 2 seconds.

Page 297: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

297

� ���� ��������������3�4

r $��(���������������������#������ �������&��(������� ����������������������������������������(����������������� ��-

r � (��#���. � �������������������������#�������� ����(�������#����-

r @��(���������(������ ���������������� ���#���#�������� �������#���M����������-

r � #�����(��������� ���J�&������ ��������������������������������#�������*��#����� ����-

Page 298: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

298

* �8�� �������

r � ���������(������������ ��(�������������������������� ���������&�� (��(�������������(����-�� (�����M��1#�� �#� �� �������������� ��)-���I��������� �����������������������������������-

r 6 (�����������M��(����#��������������������3����������/��4&��#�����������(�#������������������ ����&��(����������������������� ��������� #������(��������(������-

r � ��(�����������������������#���������(��������(��������������#�����������(�����-

Page 299: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

299

�� ���

r � �������������(���������������������2�

r ��������������#��#�� ����3�����������������#���B4

r ��������������#�������3������������(��(B4

r 6 (���� ���������#��������7�� ��(���������(����#����� �������� �(�����������(������&��(������(����#����#������ 3��������������� "�8.�����(����&�� (��(�� �����(��������������������4-�.��(������������7

Page 300: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

300

"������(��(�

r �������������������������� ���������31 ������� ��(�.�������� ���� �����/���4-�� ����������� ��(���������#�����3���� 4-

r /��(��� ������� ���������������-�"��������(��(��������#��(��(���#�����������������(�����&�������������8��������� ��������������������3"��&> ���� ������&<������4-�<������������ �������������������#��.���� ��� ���Z�������� ����&� � � �(����[-

Page 301: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

301

���������2�� ���������

r =����� ����"�#��������

r 1 ����������0 ���������

r <�(��E

r "�������#��������������E

Page 302: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

302

)�-�@�� �����"�#���������� �������������(��.����������������<�������/��������� ��(��������S���(���"(�������-�3"/* 4�.1 "<//M�)

most slides comes from authors presentation

Page 303: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

303

internet

Overlay Multicast Architecture

Page 304: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

304

����6 ��

r ���# �����J���������m S�� 3� ".=.4&��������3"/* 4& ���������� 3$�������4&�<�������3".�"<4& $����K 3$�������4&�E

m "��������������������������� �����#�(��m ���# �������� ��(��������� �����#������

r ���#�������������(� ��������&� ��Em @�����������������������������m ' ��������������������#����� �����������������������#������

Page 305: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

305

0���#�� (�������

r "���@���������/������������������ � �������������� ���(��.�������7m �������������K��#���#�������������������

m �(� ����#�������������� �������������������������(����������.������������������

r 0�������������.����������������� ��(� ��(��#��� ������#�@���������/��������

Page 306: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

306

6 (��"�#��������7

r .������������� ��� ������m @����������������#����������3���&����4

r �������������#���������I��������m > ��(� ���� ���(&��� ��������

r =�������������#�����������������������m @ -�-&�����������������&�� ���������

Page 307: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

307

����������"�#������������@�/

r 0����� ��m $���� ���(���������

m � ����������������� ���� ���(���-� ����������������

r < 9������m > ��(� ���� ���(������� ������������������������������(��

������

D

C

A

B2 Mbps

2 Mbps 0.5 MbpsSource rate

2 MbpsEstimated bandwidth

Transcoding (possible)

(DSL)

Page 308: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

308

@�(���������#�<�������' ����

r � � ���� ������������m ' ��������������������(������������ ����������

m <�����J���������#�����������������N ������������ ���� ���(

r ����������(������K��#��(���������������3��������������4m * �������������#����������������

m � ��(��I��������������������������# �����J���������

Page 309: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

309

• Capture the long term performance of a link– Exponential smoothing, Metric discretization

� �������' �������/�����r � ��������������������(������������ ����������m /����� ���� ���(�������������#������������

r �������������������� �����m � �������������������������������������� �����m "������������������������������� ������#������

time

band

wid

th raw estimatesmoothed estimatediscretized estimate

transient: do not react

persistent:react

Page 310: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

310

<�����J��<�������#��' ����/�����

r �������J�� ���� ���(������������

r $���������� ��(�(������������

SourceReceiver X

30ms, 1Mbps

60ms, 2MbpsSource rate

2 Mbps

Page 311: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

311

@K������#�������$�(����M

ean

Rec

eive

r Ban

dwid

th

Reach a stable overlay• Acquire network info• Self-organization

Adapt to network congestion

r � ������ ���9������������

r ������������&�"$= ����##��

Page 312: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

312

@���������1 ��

r "���@�/����������������������������#������������� �����.��/�������7

r 6 (������� �������������� ������������ (���������������������7

r 6 (������(������ �������������(���7

Page 313: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

313

@���������<�������

r "���������#�������#�����(����� ��(m $���(�����3�I��������������&��������� .��/�������4

m <�(�����������(�����(����������#�� ������� ���������

r @���������(���������##������������m Q����(����&����������

r ���#�������������m � ��������������������2��������&� ���� ���(m ���� �������������2������������&����(���

Page 314: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

314

$���(�������(���

r .��/������������������

r ��I��������* �����2��������K������m $���� ���(�������������#�����������(�#�������������(���������

m ���#����������������.��/��������� ��(�� �I��������������

C

A B

Source

Page 315: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

315

<���������(���

"(����#�/�����

�������

=����

������� <���

$���� ���( <���

$���� ���( �������

$���� ���(

<���������(���

Page 316: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

316

@K���������/��(����

r "��������##�������(�������(��.�������m .������2�������##�������(���������������

m .�����������K���������#��(���

m =�����������K��������������##�����������#����

m � �����������������)���K��������

r 0�����(��K��������m � ������ ���9�������(����������

m �����������&�"$= ����##��

m @��(��K�������������#�����������

Page 317: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

317

� ����������������/�����

r $���� ���( 3�(���(���4� ������ �����(���������

r =� � ��� ����������������(���������������������

D

C

A

B

Source Data path

RTT measurement

These measurements include queueing and processing delays at end systems

Page 318: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

318

���#�������#�<���������(���

:5 ������;�#��������������������� �����(���r ����3:����;4���������� ���������#������

r � ���������������-����-������#�������#������������������������K��������

r ���-����-�(� ������ ������#������I������

Rank1 2

RTTCMU

MIT

Harvard

CMU

MIT

Harvard

Exp2Exp1

Different runs of the same scheme mayproduce different but “similar quality” trees

32ms

42ms

30ms

40ms

Exp1Exp2

Mean Std. Dev.

Page 319: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

319

0������ ##����������#������

r > ������������#�(����m �����������2�)������������(�����* -�-�����"�����

m @K����������2����(�&�� (��(���������(�����������������&�@����&�`� ��&����� �(����� ' ���

r ����������m 0�� ���.�����������(�����������(��(������������

Page 320: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

320

� (������������"�������

r ' ��@�/�� ��������##������������7

r > � �����##�������(�������#���������������������7

Primary Set1.2 Mbps

Primary Set2.4 Mbps

Extended Set2.4 Mbps

(lower) ← “stress” to overlay schemes → (higher)

Primary Set1.2 Mbps

Page 321: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

321

$6 &������������&�)-��/ ��

Naïve scheme performs poorly even in a less “stressful” scenario

RTT results show similar trend

Internet pathology

Page 322: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

322

��������"�������

r ' ������������������(������������ ���������������:���#��;�������7

r .�����##����������������9�����������������7m $���� ���( <���& ������� <���

Primary Set1.2 Mbps

Primary Set2.4 Mbps

Extended Set2.4 Mbps

(lower) ← “stress” to overlay schemes → (higher)

Page 323: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

323

$6 &�@K����������&��-C�/ �

no strong correlation betweenlatency and bandwidth

Optimizing only for latency has poor bandwidth performance

Page 324: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

324

=� � &�@K����������&��-C/ �

Bandwidth-Only cannot avoidpoor latency links or long path length

Optimizing only for bandwidth has poor latency performance

Page 325: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

325

���������#��E

r 0�� �����������������#������2��������������������� �(������������� ���� ���(�������

r $���� ���( �����������#��������� �����.��/��������3��I������� * �����4

r 6 (������(������ �������������(���7

Page 326: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

326

=������* ����3=* 4

"����������������#����� ����������#������������

r <������������=* �W����������������

r � ����=* �W����#������=*

UCSD

CMU

U.Pitt

UCSD

CMU

U. Pitt

40ms2ms

40ms

40ms

Efficient (RU = 42ms)

Inefficient (RU = 80ms)

�-�C=����

)-C,$���� ���( �������

)-�.��/�������

�-G���_���* �����

Scenario: Primary Set, 1.2 Mbps(normalized to IP Multicast RU)

Page 327: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

327

������<���(���

r =����2������������&�)-��/ �m � ����������(����W�)�-LF �

m ,�-�F �#����(������������ ���� ����(��� �

r "��������(������������������� ����#�������� ��� ���� ���(m �������(�������������������������������� �

m 0���#������������������(

Protocol overhead = total non-data traffic (in bytes)

total data traffic (in bytes)

Page 328: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

328

"���� ����

r 0�������������.����������������� ��(� ��(��#��� ������#�@���������/�����������(��������m �������������K��#��8����#��������

m ���#������������� �����.��/�������

r .������#��������������������#������m 0�� ������#������2 ��� �(������������� ���� ���(

r /�����#2�(���288� � � -�-���-���8]������

Page 329: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

329

' ������3)4

r ���� � ������������K�� �������(��������

��K�� ������� � ����

/�������������������������������

�����������������&������� ��

����� �������� ���#�����

�(�������� �����#�������&�(�������������

' ���� ����

Page 330: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

330

' ������3�4

r /�������(�#����� ���� (�������(��������������������#����(������������������������(&�� ��(���#�������#��(�������#�� ����������������������(m � �����������������(����M�������������##��������������#������

m =������������� (������������

Page 331: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

331

' ������3�4

r = ������(��������������������(�m <���(��"�������#�.�����������(���������

N � � � -�����-��8����8��� ���) �����8�L-�-�J

m .����#�����#�������������#������(�����N � � � -��������-��8���8���(8�(��������-(���

Page 332: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

332

����������� ��� ������������������������ ����������� �������� ����������

����� ����������������������������� �����������������

���

������������������

���������� ��������������������������� �������

�������

���������������

Page 333: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

333

� �������

r !������� ��������������� ��������������������� ��������������������� ���������� �����������������������������������������

r !������������������������������������������ ����������� ���������������������������� ���� �������� �������������� ����������������������� ������� ������� ��������������������������������������������� ������������������������ �������������������������������� ���

r !������� ��� �������� ��������� ����������������� ������������������������������������ ��������� ������������������������������������ ����������� ������������������������������������ ��������������

Page 334: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

334

�! �"���� ����� ��������� �������������������"� ������ ���

������ ����������������������������� ����� ��� ������� ��������������� ���������������� �������

������!����"����#������#�������������� ���

��������$������%������������ �� ����� �������� ��%� �� ������������� ��#�����$�� ������ ��

Page 335: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

335

Access protocol allows hosts to read and write dataon a storage device as long as there are no failures or layoutchanges for the virtual store. It must provide serialized, atomic writes that can span multiple devices.Layout retrieval protocol allows hosts to obtain the current layout of a virtual store — the mapping from the virtual store’s address space onto the devices that store parts of it.Reconciliation protocol runs between pairs of devices to bring them back to consistency after a failure.Layout control protocol runs between managers and devices —maintains consensus about the layout and failure status of the devices, and in doing so coordinates the other three protocols.

! ������

Page 336: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

336

#�����$�� ���! �����

����������� ���������� ����������������������������������������������������������������������� ����������������������

����������������������������������� ���������������������������������!����������

�����������������

���������������������������&����������� ����� ��'�� ��������������'�� ������������� ��� ���������� (�������������������� ��� ���������used to detect possible failure.

Page 337: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

337

%�� ������� ������������

����������������(��������� ������������� ����)����� �������������*+�� ���������� ���������������������������������������������������� ����������������*+�� ����������������������������������������������� �� �������������������������������������������������!����"�����

�,����������������������(������� �������������� ������������������������ ����������������������

Page 338: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

338

������ �������

������ ����������������%� �� �������������� ����� ����������-������ ���� ����

Page 339: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

339

&��� ���"� ����'�����

�#���������� (���������� ��������������������� ������������������� �������

Page 340: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

340

&��� ���"� ����'������(��������)

������������ ��������������������������(��������� ���������������� ����� �������������������������.� ������������ � �� �����/� �����0

Page 341: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

341

&��� ���"� ����'������(��������)

������������ �������� �� ��� ������������1������������ ������������$������ � ������������ ���������������������� ����

Page 342: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

342

�*�������

•Single manager v.s. Multiple managers•Whole devices v.s. Device parts (chunks)•Reintegrating devices•Synchrony model (future)•Failure suspectors (future)

Page 343: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

343

$�����������+� ����

!�������- Replication management system featuring

» Modular protocol design» Active device participation» Distributed management function» Coverage and quorum condition

Page 344: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

344

,�����������*�����

#����������

+ 2����34���+ ��#-%5

"�����������

+ 2����34���+ ��"�%���5

)������������� ���

Very popular content

Page 345: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

345

,�����������*������ ����-��

"�����������������

"������������������

�"���������������������

�+� �������������������

�)�����������������������

�$����������������

�6���������������� ��������.70

Page 346: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

346

6 ����� �������I������3)42r 6 (����������� ��������� ���3� (�������������� � �����

���� ��74-��������2m ����� ����������������3 ���������� �������(���4�

���������������� �(���(�����(�����������(������ �������������

m ��) �����������������m ���(����������������(���(����������� �����&�

#������������3��� ���������� �������(���4N �������2� �������&���(����3#����������4������������ �����#�������������������������

m ��������������3�-�-&�������4���������K�#����� �����������������J���3���������������J��&�#����������������� ����4�Z�����������#-�#����� ����[

m 3����������������������(����(����(�����������������4��������� ����������������������������

Page 347: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

347

<������7

r 6 (������(���������(��� ��� �������� ������������������������������� ��7

m ���� ���������������������������������##�������(���-��.������ ���#������������������������������� �� �������������� �����3�����������4� ��������� ����������

m <������2������� ��������2��#��� ������������������������(�������������������(��(������� �(�����(��(������ ����������������� ������#����#���(��-������������� ��������#���������������� ��N �����������7

m 6 ���������(������A � (����������������(����=@� ��S7

Page 348: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

348

6 ����� �������I������3�42

r 6 (���� �����(�� �����������

r Q����� �3����(������� ���������� ����������@��������

Page 349: ˘ ˇˆ - cl.cam.ac.uk · 24 2 I ˘ # SENT to server (after logging in to server) 2A 00 CB 00 username "C:\MP3\REM - Everybody Hurts.mp3" RECEIVED 5D 00 CC 00 username

349

6 ����� �������I������3�42

r .����(������ ������������ ���������������7m S��3�� )4

r 6 (������ ��������������� �����7m � �� ��� ������������������� ������:��� �����;

r 6 (�������� ������#����� ����m ���� �������(������������������ ��m ������ ��������##������#��������� ������3����������

#����������������������:��;4m �������������I�����

r .#����������� ����#��������(��#������3���������J��4&�� ����� ��(�������� ����-

m .��(�������(������2����(������ �����&�����������(��������&����� �����������������(�������������������&���������

r @�������H )�)�A � (�������� ��������� �������7