˘ ˇˆ - cl.cam.ac.uk · 24 2 i ˘ # sent to server (after logging in to server) 2a 00 cb 00...
TRANSCRIPT
1
��������������� ���������� ��������� ���������� �����
� ��������������� ��������
��������� ��!��"�� ��#�
$������������ ����������� �!���%���&$�����������&' ��� � ���&������(������#����)�#���(��* �� "������
+,)������--
2
�-.���������
r $��������
r /�������
r �������#��(���������
3
���� ��������� �����
4
���� ��������� ����� 0�������(������������ �����
5
���� ��������� �����
���� ���������������
r ������&�1 �������&�0������2�#����(�����
r ���(������ ��
r ����������������3�-�-&����������� ����4
6
���� ��������� �����
r 5 2 6 (��������(����� ����(�������(�������7
r 5 2 6 (������ �������8�������������� ���7
r 5 2 .����9���:���� ����������(������������ �����;7m :� (��������(������� ��������(�����;�36 ��������(��������4
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 "�#��������
8
"��������������-������������3)4
r =�"8=/.
r ����(���
r � ��������
r @��(����������������������������� ������������3�� ��.' �8?' = ������������4
r %�� ����������������A ����������&������
r /����
r � ���(���
r ���������
r @��(������������������&����������������&������������������������-
r � �������&�(��(������� �����&����������-
r > ���������������(��
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
}
}
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;
}
}
11
����������������������������
r .�����������������������-
r =�����������������&����������������
r =�������������(������������������
r =�����������������(�����������(��(��
r =���������#������������&���(�������
r =���������������
12
����������������
r > ��������������(������r ���������������#� �����������#������-r > � ����&��(��������(������������� �����������(��#�m ����������������3����&������&�����&�������&����4
m ����( ����������������m � �����������������������3 ������ �����������&��������&����4
m =��������&�(��������������������#������m @����������
13
� ��(������ ����������������
r 6 ���������(������ ���(��������������������������������������
r ������������� �����r ����������#����������
r > �����������������#���:�(������;B
r ����#��������A � ������
14
<���������������������������
r �������(�������#�������������������������� (��(�##�����������(�������� ��##���������(��.�������
r * �#�������� �� �������
r <#������������������ ����������(��� ������������������
r .��.���#�� ������������3�������(���������#����������4
r @�������������(BBB
15
=���#�����������������)C�����������#�������������
r ������D> D> D> D> D> D�������(�������
r ������
r 1 �������
r 0������
r �� ���
r ���
16
)-��� ��� @=
r � (�����3��4#���
r ����(��#����3�-#-��� � ���@�������&�#���=�� ���������"�� �����4
r $��������������#��� (�������������(�&����
r � ��� ���E
r � ��(������������������E��������������������E�����������
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����%
18
������2�(� �������� ��
� ��������� �����&������� �������������������� � ������ "��
0������2
r "������� ������ �����
r * �������������#�#����3��(4��������-
r 1 �������������� ���������(��(��#��������� ��(-
r �������: ��;�#����������� ��-�3����4
19
������
������-��
���
0 �����������������
)-
20
������
������-��
���
=�I������
�����
* �������I��������(���������-
�-
21
������
������-��
���
���� ����
* ��������(���(��������������(��������-
���#����� ����#�������-
�-
22
������
������-��
���
=�������#���
* ������������#���
C-
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…..
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
25
������2����(������������
r ��������J��������2�m ������������������#�#������
m �������� �����������������������' ���������
m ���������#���������
m ������ :��������;�3#�����������������4
r ���������2�m ��� ��������������K�
m �����(����������
m ����������
26
��1 �������
r �������#�K��
r <���������
r ' ���� ����
r �������������������E
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
28
1 �������2�(� ����� ��
�����(���� ��#�����2r .#������M��(�����(��#�������� ���&�I�����+�#�
�����������-r .#��(�����M��(������&��(����������+�#��(����
�������&�#������K�����(�������#�)�-r =�I��������#����&� ����(�������������
��������-r �������� �������������� ������������� ���-r =���������(�#�� ������374
���2�������������� �����������2�
(���288� � � -����� ���-��8����K-9�8���
29
0���������1 �������2�������������
����������������2�:� ;
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 �����(�#������#����
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
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
33
� �����7
r �����������(�����M����� ��-
r � (�����������������������(��#����#������ �� (�������-�� (��M����������-
r <�(����������K���� (�����(��� ����#��(��#�������M����� ��(����I�����-
r ���� � ���������������K��-
r ����@�����������&���K�&�0������B
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�����
35
����������A 35 ����4�=�����
r > � ������ �������I������3������(���&�������&�����4� �����7E
r E6 (���������������(���������������3�������4
36
�-�<������
r ��K�&�� ��������������������������������&������������������&���
r =�����E
r =<����������K�����E
37
=��������<����������� ��
<����������� ��2�
r ����������&���������������������
r �������:������;������3�-�-&�� "����* ' ����������4������ �� ��� �������(��(��
r ���(������������2�����������(����������&����������#����� ���������.��������������
r ���M�����������K�����&�������#��2r ' -�� �����&�> - $������(���&�0 - %��(��&�= -�/���&�P� (������#�
������� ����������� ��&P����- > �<� Q...&�/������)&�(���288��-��-���-���8�����8�� (����)-(���-
38
.��������=�����r $1 ����#��������� ��� ������ ����� ��
* "�� �(-���
$�������-���* /�-���
.���������
/������
"R 6
39
.��������=�����r $1 ����#��������� ��� ������ ����� ��
* "�� �(-���
$�������-���* /�-���
.���������
/������
"R 6
�( � * /�
40
.��������=�����r $1 ����#��������� ��� ������ ����� ��
* "�� �(-���
$�������-���* /�-���
.���������
/������
"R 6
�( � $�������
41
.��������=�����
"���������#������2 �(� $������$1 � ������������������������(�����3��� �����(������ ��4* "�� �(-���
$�������-���* /�-���
.���������
/������
"R 6
�( � $�������
42
.��������=�����
"���������#������2 �(� $������$1 � ������������������������(�����3��� �����(������ ��4* "�� �(-���
$�������-���* /�-���
.���������
/������
"R 6
�( � $�������
�( ��* /����$�������
r ����������� ����������� �������$1 �B�
r /����<�� ���M���������$������������.��������
43
=<�2�=��������<����������� ��
������2 �� ������������������������������ ��&����������������#������&������ ������#�������
� � (��3���������� �����4�( � $������������
���������� ����������
44
=<��@K��������
r /�������&��������&������(���(����� ��(������ ��(���=<�
r )��(������(��* ������@����r ������#������������#��������������������/���(����)
r �� ���������������������m � ����������������������������B
r ���2�@K�������������� ��(�:� .�������� #� ��������� ��;������
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!
46
=<��=�����(�.��
N > � �������������������� ��7N /����������������# ��#��������
N * ���������������#�������#���������������-
N 0���#��� ���-
N ��(���������������-
N ���������� ��������3�-�-&�������������(���(���4����(��������-
N @##����#�=<������������������� ��N .#������������=<�&������ �� ������##7
47
C-�0������2 ������6 ���
48
r "�������J�������m �-�-�������
m �� �������K�(���� �������������(����
m �������������� ��� ������I����������������
r ' ���������J�������m �-�-�0������&�1 �������&�"(��
m ���� �������K�A �������� ���������
3����K��������� ��4
m ���������������� ���(����#��������������
����� ���������
49
0�������(����
r 0�����S������9����.���"����� &�@��� ���(�* ��������&��������&�!���&�),,,
r �����#��� ��9���&����������
r Q-�-)�3��������/���(�����4�
r �����������3����&����)42��-C
50
6 (�����0�����������6 (�7
r ' ���� ����&������������&�#����(����������
r "���������������&�#�������������������#���#������
r =������������������ ���(���������������������������#������
51
0������2�> � ����� ��
r ' ������������
r %���/���������
r �� ���m > � ��������������� �� ����(��
m > � �����������������#������������
m > � ���������� �������0������
m > � ����#����������������������
r ������' �����m > ��������#������
52
' ������������
r =������� � ��m ����2����������2���&����T����������������������
r ' ��������m =�I��������2
N ��������#�����(������������������������������
N ��������#�����(������������������������
N ������������(������������#���������������� �� (��(������������������� (����������������
53
%���/���������3)4
r � �� ������������������������� (���r %�������������#�����* =.r � � ��������������M��������(��� 9����#��(��#��������������B
r %��� �� ������%��3%�%4m $��������(�������������������&�������������#����� ����(������������ ���(���������
m @K�����2�* ��������8���8�8(J(���m * ��I�����������#�����������m ����������� ����A �� �����������
54
%���/����������3�4
r ������ � �����%��3��%4m � �����������#�������������������������#����
m �����������������8��� ��������������#�
r "����� (�(�%��3"> %4m /�����������������(�&�$����������(�(�#��(���������
Darling, Tell me
the truth!
Believe me, I don’t have it.
0������2�=������� �����(�2�����(��������
But I know Joe may have it
since I borrowed
similar stuff him last time.
0������2�=������� �����(�2�����(��������
��
��
��
��
��
������� �������
Sorry, No
0������2�=������� �����(�2�����(��������
��
�� ��
��
��
58
�������(�#��������������(�3)4
r =����������#�' ����"���������3)4
3���2����� 9��� ���������� ������� ���������B4
r =���� ���=���������2������������������� �����-
59
�������(�#��������������(�3�4
r ��� �@���������(��=������� � ��2��(������(�� ���� ����������������������-� ������������
60
������' �����
r > ��������#������m
61
�������������������(�������������r > � �����������������2
m ��������������������� ����(����I���������������� ���(�����������(������������#�����I���
m > � � ���������������#�JJ�
m � (�����M����� ����������� ������������������������������
m ���������&���M����� ������������� (��(����������������������������-
62
���� �������������
r ? �K�2�����
r S �K�2�H �#����(�����(
r )�������&����������������&��������������������� ��
r �(����������� ���� ������������J��������� �������������
r ���(�����(2��(����� ���#�(����������������� �#���#��������(������-
63
����� �����
r ? �K�2�H �#����
r S �K�2�H �#����(�����(
r � (���������� ��� �������� ����J�����������������(����(-
r .��������&�������-�� ����������������-
64
0������ �������
r ? �K�2�H �#�����#������
r S �K�2�H �#����(�����(
r � (������������(�����(�������� ��� ���������� (����������F �����#���-
65
������� ����/���
r ? �K�2�H �#�����#������
r S �K�2�H �#����(�����(
r /��#�����(��������#�� ����������� (�������������� ���#���� �(�������������#���������-
r � (�����(�����������#��� ��� ������ -�
66
��#��&���M�����������������
r %������������
r ' ���� ���������T������������ ��
r "�������#��
r � �������
67
.�������#���7
r > � ������ ������������������(��������7m � �����##� ��� ���������������������(�����##��2�
"(�����0������
m "���� ����������� ������������(�7�� �������2�:�����(������ �� ��� ����� ��;
r > ������������ ����#�����(�#��������������(�����������9�������M��#������-
r 0������#�����-�0������ ���M�������������������������� ���������� �����K�������� BB
68
5 �����77
r � �������7���������7
r $����������(�������(�7��� ������ 7
r E
69
�- �� ���2�� �� ��&������� �������&�����(�� ��������� � ��� ��(���������A ������@�������E
���������� �� �� ��� �������������� ���� ��������
70
<������
r ' �����1 ��
r %����#�� �������
r �� ����0������
r �� ������������������� (����
r 5 �����
71
' �����1 ��
r "���(����������m ' �##������#�����(���������������#�����������������
r � �������������m * ����(��J����(�����(���� ��������� ��
r ������������m ��� ����������� (��� ��(����(��������
r * ������ ��m "(�����������������#��������(���� ���� ���#���� ��(��
72
' �����1 ��
r ' ���� ��m .��������(�����������(���� ��� ������������� ������#�� (������� ��(��
r 0������ ������m �������������#��������&�������#�����(���������������#���������������
r ��������m ���K����������������� ��(�����������
73
6 � �� �������
r "��������$���m > �����(�����������#��(���������������I���������������@K�����2N � �����J������K��&���(���� (��� �����J�������K�����
N ��K��������J����<����=�����&���(���0�����
N "�� �&�� (������������(��"�� ���� � ���������������������������#���(�����������(��"�� �
74
6 � �� �������
r � ��(��$���m > �����(��������������(��#����������������������@K�����2N =�� � ��&�� (��(���K�����I����#������������* =�
N � (��@���������������&�� (��(�#����#�������������������������������� ���#������&������������������#�������K������
N 0������
m �� ������������(�����#���������
75
�� ����������<�������
r �� ��(��m ����� ��� ����������(��� �
r ������m � ����������� (��(�(������� ������������
r =��������m $�� ���� ��� ���������� �
76
�� ����������<�������
r �� ��(m � ��� ��(�������������������������������������������������#�(��
r =�������m � ����������������������#�����������������
r ' �����m � (������������ ��(���#��������������������#����(���� ���������
r * �����m � (������������ ��(������#������������
77
�� ������ ��(���
r � �����������������������������������%r �(����������������/ � ��(�����%&����������U/V%
r �(�������% ����� (���&�������(�����������(�����&���(��(�������� �������������%
r @��(�(���������I����������2
����� W�� ���3> 3/�- (����44
78
�� ��� �� ��(���
r � ����#�����������(��2������� W�3����� /<' ��4�X�)
r @��(�������� ����K�������(������#�������
r .#���YW�� ���I���������������� ������&���������
r � ������� ��(��U/V% ����(���� �������������������� ���(������������������
r � �* =���������������������(������������������������
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
80
�� ����=��������
r $ ������������(������ #���* =�&�����#�����(&�������2
������� W�3����� /<' ��4�X�)r $ ��(��� #��(��&���������������(��
����������#����U/V% ����(���� ������(������
r $ ��� �����(��(����������%&��������������(��#���
r $ �����#����(������(��������������������2
����� W�� ���3> 3/�- (����44
81
�� ����' �����
r � ������������������� ����6 � (����� ��(������#���
r � �������������> 3�����O�����O�����- �6 4������������������ � (����� ��(���m �����(������(�������(������ ��(�(&����������������������������������#������������������������������
r � ������������ ���������> 3�����O�����O�����- �6 4���������� �����(�#��(��� ������(�����������
82
�� ����* �����
r .���2��(������������� ��(����(���������������* =�&�����������(���* =�������K��
r .�������������(��#���&��(��(���&������(����� ��&��(�������� ������������#��������(������� ��������
r � (���������#����� ��������K����#�� �����(��������������(��������
83
�� ����* �����
r � �������&�� ���������#�������� �#���&��(����������* =�&��(������������� ����6 &���������� ���� ��
r 0���&��(����� ������������ ��(��&���������� �* =�������������
r � (��&����(�#��(��� ���#�������������&���������������#���&������������(����� �* =�&����������������(������ ���������
84
�� ����* �����
r 6 (���$ ������������������������&��(����������������(���������#����������
r $ ��(�����(�������#��(��* =���������������&��(�������������(�������������(����� �* =�
85
��������' ������
r ����������2�#����� ��������#����$m ������2��� ��(�$ �#���&��(������ �����* =������
r > �����2�#����"�����' �����������(��(��m "��������������������� ��
m � ������� ��(��"�����' ������������
m �(���(������ ������(��* =��������(�#���&���������(���� ����* ������������������(����� �#���
86
<�(���0������
r @�������������������� ���� ��(��� ���K���������(��������� ������#��� ���
r /��(������K�����������/./@������������ ����������
r �� ����* =���������������#����������(���#���&��(��������#��&������(�����������������m <����� �� ������������* =��#������(�Y�����(�������
m <�����(��������������������&�* =�����������������������&���������(�������� �����
87
��������������� (����
r �(����������������������m .#������ �����#���#���&���� �X)������#��(��(���&������������&��(����(��#������������� ��
m .����������&��������������&�������(���������(�����
88
��������������� (����
r * ������#�����������������������)m .#��(���������������#���&����������������������/��������������������&����������� ���������
m � (����I������(����������#���������� �(���������������&���������������(��(���������#��
m � (���� ��� * =��(���������#����&�������(������O������ #���&�� (��(�� �������������(�����#�������
89
��������������� (����
r * ������#������������������������m .#��� �����������(���������� �����������&�/������������������������#������� �X)������
m <#�����&��#�/�������������(�&�(����������������������
m �������� ������������ ������(��������##�����
r ' ���������������������#��� ����� ����##�����m ����������#���6 ������������-
90
��������������� (����
r �� ���&�������������������������&���� 9������' ��������m 0������������##������&���� �X)����������� ����������
m � ����������������������������#��������������������N �������(�������������������������(�
91
��������������� (����
r .#��(���� ��� ������������������������#�������#������&����������� ���� ����
r �� ������������������������������ ������������m .#�������������� ��(��&��������������J���������������� ��(��(���� ���������
92
5 �����
r > � �������� ��(��� ����* =����������7m 0��������������� ����������&� ����� ����* =������������������(�������������
m � (��#������������� ��(����� ����* =������(����������������� ��(��(���� ��(���#��(��������
m .#����(������� (������������������������� ��(��(���� ����* =�&�� (�������������� ���7N <����� ������ ��2�����(�����������N $���������������������(����������������� ��
93
5 �����
r > � ������ ������� ���7m �� ����* =�������� ���
m 6 ��(����������##��&����� ���������������������������������(��������� ����������
94
5 �����
r > � ������ �������������0������7m $�(���������� ��(�����������&������ �����&���������(�����������
m 0�����������������������#���������������������&���� ���N "����(��(2���������� �����(��������������
m �� ��� �����������������#�����N 0������������
N "��������������������������������7
95
5 �����
r "������ ���� �����������������������7
r 6 ������� �����������������7
96
���������2�' ���� �����> �(�� � ��
r "���� ����#��������������������������7
r "���� ���������������������7
r "���� �������������������
r ������"(��&�� ������&�"� ��3��������������E�E�E4
r ������(� ����� ���������������������������
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
98
<������<������
� /������������ ��������
� "�����������(���
� "(��
� ���#����������������
� "�����������������
99
/�������/�������
> � ���#������������������� �����#����(����������7
� ��������(�������� ���
Internet
����������� ��������
��������������
������� ���������
��
� ��
�!�"#���$�7
100
"�������J���������"�������J���������
� =�I�����<3/4�����
� ������������#�#������
Internet
����������� ��������
��������������
������� ���������
��
� ��
�!�"#���$�
%�
� "�������������3������4
101
' ���� ������������3)4' ���� ������������3)4
� 6 �������<3�4���������������
Internet
����������� ��������
��������������
������� ���������
��
� ��
�!�"#���$�
� 0������31 �������&�/��(��&����-4
102
' ���� ������������3�4' ���� ������������3�4
� =�����������30������&�� ������&�"(��&�"� �&����-4
Internet
����������� ��������
��������������
������� ���������
��
� ��
�!�"#���$�
� <�����K��������(�
103
=������"(�������=������"(�������
� ' �#��������#��������������������
� %�����(��(�����������
� %�����(����������� ���:���(���J�;
� ������ �����������������(����������� ��(��
� ��(�������2
� "(��2����(��J���##���������������������
104
"(���<�������"(���<�������
� ����������� � �����(�(������������2
� ����3���4�→→→→ .�������
� "(��������������(������
� > � ����"(��������������7
� > � ����"(��������������������� ��7�
� > � ����"(�������� ��(��(����������� ��(��7
105
"(�����������"(�����������
� @##������2�<3����4���������������
� �����(���������� ���#�������
� ����� ��2�<3����4�������������
� = ��2���������������(����������� ��(���
� ��#��������������8����(������
� � ���������������������������
106
"(���.' "(���.'
� � ���������#���������#�� �(������������
� %���������#����W��> � )3���4
��� �������� �%�&'SHA-1
��� �()*�'*�'*�� �%�� �SHA-1� ����������#����W��> � )3.�������4
� $�(��������#���������� ����
� > � �����������.' �������.' 7�
107
"�������> �(����Z%������,+["�������> �(����Z%������,+[
� � �����������������������2������ ��(���K��(��(���.'
N32
N90
N123 K20
K5
#�+����,-����%����+�
0��� �()*�'*�'*��
K101
K60��� ��������
108
"�������> �(���"�������> �(���
� @������������ �#��������(������
� ��I������� �����#������
� =�������� �������������<3�4
� ���������#���<3)4
N32
N90
N123
0
.���� ������������&'
N10
N55
Where is “LetItBe”?
�('�����&'�
K60
109
"(��2�$��������"(��2�$��������
N32
N90
N123
0
.���� ������������&'
N10
N55
Where is “LetItBe”?
�('�����&'�
K60
� @������������ ��������������(������
� ��I�����<3�4�����
110
:0������� � ��;:0������� � ��;
� @������������ �� �(�����������(������
� .����������������K����������
N8080 + 20
N112
N96
N16
80 + 2180 + 22
80 + 23
80 + 24
80 + 25 80 + 26
111
:0������� � ��;:0������� � ��;
� 0������� ������������ #��X��
N120
N8080 + 20
N112
N96
N16
80 + 2180 + 22
80 + 23
80 + 24
80 + 25 80 + 26
112
���������0�������������0����
� ����������<3����4�(�
N32
N10
N5
N20N110
N99
N80
N60
��������(�
�(
113
!�������(��= ���!�������(��= ���
� � (������������2
� .�������J������#������#���� ����
� * ������#������#��K���������
� � ���#�������#�������������� ����
� ���������������(�����3��J��#������������42
� .�������J�������(��#�����������������
� ����������������#�����������������&���������
� ��������������#��(�#�������� ���������
114
!�������(��= ���� �����)!�������(��= ���� �����)
� .�������J���(����� �����#�������� ��
� ��������������� ����(������
� � ������� �������#������#���� �������G
� =����������������� ����
N36
�*���������,/�)/"'/0/�''/�&"�
N60
N40
N5
N20N99
N80
115
!�������(��= ���� ������!�������(��= ���� ������
� * ��������#������#��K���������
� ��� �����������������#����������K���������
� �K��������������������������������#������#��(������
N36
N60
N40
N5
N20N99
N80
116
!�������(��= ���� ������!�������(��= ���� ������
� � ���#�������#������������������ ����
� ������������(����������������#������
#��������� �**�&1�2��"'������&
�'�)
N36
N60
N40
N5
N20N99
N80
�'
�)
117
> �������0������> �������0������
� 0�������#��������(��������������������
N120N113
N102
N80
N85
N10
�������('�
� �L�����M����� �������������&�������#���
� �������#��������������(�#����������
118
> ��������0������> ��������0������
� * �����������
� @��(�������� �� ���������������
� � #����#������&�� ������� �#��������������
� "���������������������������������
� 1 ������������ ��(������ � �����
� "����(��� ��������� � ������#������#��������� �������������
119
@���������<�������@���������<�������
� 5 �����������������������
� �� ��������������������
� = ����������������#������
� @K�����������#�����(��������������
120
"��#�����"��#�����
� "����<3����4������������� ���(���
� ���������)8�
��2����1������
34��5�������5������������
121
= ����= ����
� ���������������2�������������
� 0����������������������������� ��(�����#������3����������#����4
� =��������������� �������#�������������B
122
= ����= ����
� ���������������2���������������
� 0����������������#���������(�(����#���������
� �����������������
� ���������� ���J�3�4 �������
� )���������������3���4
� K�9��8#�������������3���4
123
"��������������������"��������������������
� "(����� ����2��&���������#�"XX
� ' ���������������.����������� ��
� .������2�
� "����������������9��8#���
� ��K����� �����������#���� �������374
� ����������#��(��������������374�
� =�����������#�������.' �374
124
�������(�������(
� $�������(���������� ���3��������(�(���4
� ���������#�����������������##�����������
� :� ��(�(��(��� � �����;���#
� = ���3.���74
125
6 �����6 �����
� � � � �(���������3����������"� �4
� /�� ���9������������������
� ������������(�������I����������������������������
� ���������#�����������������J��#���������(����
� %�����������������(�������K��� ��� ���������
� ���������������������������(����������#������
� "(�������#�������� (�������9���3�����������(����B4
� =�������� ������ �� ��(�H �#���� ����������
� 6 ���������������� ����
126
' �����' �����
� ���� �����K������3��������������74
� �������������
� /�������������������
� /�������"(����� �����#������
� %��� �������(���������K���
� ---
127
+-�� ������2�' ���������J���=����������������
$���S-�\ (�
"��' �����&�* -�" -�$�������
128
<������
r �� ����#������� ��� ���������������
r � �������<�������
r /��(��������������
r ������������@��������
r =�����������#������� ��
129
/�������
r �(������������������������������������8����������(����
m 0��������(���������������� ���� ���������##�������� ���
m @##�����������������������������#������������������������ �������������#����������
r @K�����������m "�������J��2��K�������������&����#�����
�������&������� �����' ���������3�-�-�������&' ��&�' �4
m 0�����2�������� ���3�-�-�1 �������4
130
%��2������������=�����
r > ������ ���2m �������������������������������������
r � �����(2�� ��� ��������������#����������2m ����� ��&�' ������&�0���� �������&����� ��������
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
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
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 ���� ��(�(��(���.' ������&����������
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���’�������
135
< 9����������=�����J�������� �������
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
137
"���� �����#��(��� ��
���K���� �����(�r ���������
m 1 � ������ ������������(�
m =������������� �����m �����#������� �����
� ������r ' ���� �����������(�
• ' ������������������• ' �����������������
m =������������������������������
m 0���� ��������������
m ���# ��#��������8���������
m �������#��� ���� 9���
r � ����������.�#����������
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
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
140
0���� ��������=�����
r ' �������2m ���������� ��������� ��� ��������( �
r > �������2m @��(���������������������(�����������������m �������(�����������(��#���������������#������
m ���������#�������� ����������#����������������� ��
r �����2m 0����=���(� ����������������m ���������' ����������������=�����
141
����������@���������
r .������������ ���������������������� �������������
r ' �����������������������#����� ���(�
r ' ����������(���##����#�������##�����I������������
r 0���������2��� �&�/$��&�1 � .�/&�� .@=�
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
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
144
=�������6 ��
r "������� ����� ������� ��m =������� �����-&�3� ".=.�8�* "$ 4
r "(��m �����&�/���&�%�����&�%��(��&�$������(��� 3/.� �8�* "$ 4
r �����m ' ���(������=� ���3= ����8�/���#��=�����(4
145
����������
r ' ������������ ������� (����������������������3���K�� � �����(�4
r 0���������������J����������� ���������#����������������������������������� ���
146
6 ������8.���������
r �� ��������������������m @�&���������������������������(������ �������&��������(���������� ������������� ������� ���������#�����-
m � ��������������������#���������(����������
r 6 (����������“��” ����#���������� 9���m ��������������(�(����#������m �� ���������“��” ��������K�������������������������7
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
148
' �������.������
<����������������#������ �����#���������������2
r �����)2�$���������’�����������m ����������������(�(����������(�#�������� �����
�������������’ �(��� �������K�������m � (����( (��������(�����(����������( ������������� ���
���m � �����J���(���� ���� (�����������
r ������2���������#����������������� ���������������� ��(�������������#���’�.' &������#�� ����������
r ������2�@��(����#���������������� ��(�������#����������� 9���
r �����C2�=�����#�� ���������#����������� ��(������������2����#�����������( �������#�����(���
149
' �������=��/������
r �� ���2��(�������������#�������� 9���m ' �������������������� ����(����
m 1 � ������������
r � ������m � �������� ��(���������(�����##�K����������������8�� ������������������K��������#�����������
m =�I����2������������ ������#������������� ��
150
���K�� ������
r 1 ������������.' ��&m 0�������� #���������K���������� ������������(�������H �#��##�K�������� ��(��
m "(���� W��������� � ��(�(��(����������.'
r .��2m /����������� ����������������������������� ������ �����
m /��� ���������(������������������������������(�����������������
m /������������� ��������� ����&���������������������������
151
������ =�������&��������0�����&���/����> ������&�
= ��(����%���&������ �(�����
L-�� ������ ��&�"����� � ����� ������� ��
� ".=. * -"-$������� � �(������ ��
) � �
)&� � )
)&� )
152
<������
r .���������
r ' ����
r @��������
r �������(�R �6 ������
r <������6 ��
153
.������� �����(�(��� ��
r > �(��� ��m �������� �������� �������#�� ��������
r .������� ���������� �����(�(��� ��m �I����������� ���������� ���������� ���������7
154
r > �(��� ��m �������� �������� �������#�� ��������
r .������� ���������� �����(�(��� ��m �I����������� ���������� ���������� ���������7
N ���� � ���������A ������& 1 �������&&�0������& /9�����E
N ����� ��������������������������A �� ���&�<��������&&�"0� ---
N ������������(��6 �
.������� �����(�(��� ��
155
"����� � ����� ������� ��3"� �4
r "� �2�.������� �����(�(��� ��
r .����#���m �����3���&�����4m ������W���������3���4�
156
"����� � ����� ������� ��3"� �4
r "� �2�.������� �����(�(��� ��
r .����#���m �����3���&�����4m ������W���������3���4�
r ��������m ���� ��m �����������������m ������#�������3� 8�����������4
157
"����� � ����� ������� ��3"� �4
r "� �2�.������� �����(�(��� ��
r .����#���m �����3���&�����4m ������W���������3���4�
r ��������m ���� ��m �����������������m ������#������
r =�����������2�"(��8�����8� ������8$�JJ8���K�� ---
158
�� ��������
4 ' �������������(�����������(�������#���� ���� ������� � ����� ���#��������5 ����������
6 � ��������� ����#��&�(��(������������������� ���� �������(����� ���� ����������� ��������
159
<������
r .���������
r ' ����
r @��������
r �������(�R �6 ������
r <������6 ��
160
%��Q
"� �2� ��������
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
161
"� �2� ��������
�����3%)&Q)4
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
162
"� �2� ��������
�����3%)&Q)4
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
163
"� �2� ��������
3%)&Q)4
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
164
"� �2� ��������
���������3%)4
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
%��Q
165
"� �2������
r ��������"���������������������
r ������������������������������������(������m ����������:� �;���J�������(�������������
r � �������m ����������������:����;�����(�������
m ���������#������:����;������(��
r ������W������(���� ���(����������J���
166
"� �2��������K�����
)
167
"� �2��������K�����
) �
168
"� �2��������K�����
)
�
�
169
"� �2��������K�����
)
�
�
C
170
"� �2��������K�����
171
"� �2��������K�����
�
172
"� �2��������K�����
����.22�����3%&Q4
�
173
3)4����W (K3%4
"� �2��������K�����
K�W��
����.22�����3%&Q4
�
174
3)4����W (K3%4 �W (�3%4
"� �2��������K�����
K�W��
��W�
����.22�����3%&Q4
�
175
3)4����W (K3%4 �W (�3%4
"� �2��������K�����
3�4������3%&Q4� Y 3�& 4
����.22�����3%&Q4
�
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
177
"� �2��������K�����
3�4�������:��������3%4;���3�& 4� 3%&Q4
3)4����W (K3%4 �W (�3%4
����!22��������3%4
�
178
' �������������(��"� ������������ �������3�-�-����4&�����������3�-�-�.�������4
"� �
179
"� �2���������� ��
180
"� �2�������
3�& 4
3K&�4
181
� �����������������������#�������������������( ��������
"� �2�������
182
"� �2������������
$��������
)4�' �������������:.;������������"� ���� ����
183
"� �2������������
.
��� ����)4���������������:.;������������"� �
184
"� �2������������
�4������������������������
.
3�&I4
��� ����
185
"� �2������������
3�&I4
�4�.��������3�&I4&������������!�
.
!
��� ����
186
"� �2������������
���!
C4������!M�J������(��#E���� �� �����(��#
187
.������������� ������##�����������������(����������������������������( �
"� �2������������
188
"� �2�����#������
r ���������������(�������
m ����������� ���3� ��������4N #� �����������N �������������&��� ��������� ���#����������
m ��������������N ��������������(�
189
"� �2���������������(�
r �������#������m ��� ���������( �M�����( �m � (���������#���&����#��������( ��������������
J��
r /��������K�#����������m ����������#�������#������������9����������m �����#�������������������( �m (��#����&�������������
190
<�����(��#���������M���������������( ��������I������#���������
"� �2�����#������
191
' ����������
r $����"� �m ��������������� ����m ��# �����J���m ����������������������#���(������������������( �
r � ���������������#������m ��������&������������������3��������4m ������������� ���������������(�m ������(��������������������#�������
192
<������
r .���������
r ' ����
r @��������
r �������(�R �6 ������
r <������6 ��
193
@��������
r ����� �����
r �� �������
r ���� ��������
r = ����
194
"� �2����� �����
r 0�������#���������������������� ��(�� ����������������
m �������&���� ���#�����( ������
m ������������������(����3����48C (�
m ���������(� ��(����(��� ���������(��������������
r "���������(������ ���� ��(���������������� ���������
r "(��8���K��8� ������8$�JJm ��3�4 � � � ��( ��3�4�(�
195
"� �2��� �������
r �� ���m �������������(�W�3"� ��������������4
3.��������������4m ���������� ������������������������(��(������(�
r ������m ���������������&����������3��������(�����(������(4
m > ��������3��������(����� "� � (���������4N =� � � ���(����������N �����������������J���3��������4N ����������������������������������
196
"� �2��� �������
H ���
��� �
���� �� �
��(
0
20
40
60
80
100
120
140
160
180
)G% ��% G�% )�)%
H ��������W��
� 8�(�������
� 8�(�������
197
0
2
4
6
8
10
"� �2��� �������
H ���
��� �
���� �� �
��(
)G% ��% G�% )�)%
H ��������W�)�
� 8�(�������
� 8�(�������
198
"� �2����� ��������
r � � ������
m ' �������� ��(�(� ��N �������3���&�����4�����
N �������(�������������I������������
N ��������������������������������������������( �
m * ��#����������������������������N ���#�����������3���&�����4�������
N ���#������������������������
199
* ��#��������������
r � ������(����m ���9�������&��������J��
m �(��������( �����J��
m ������(���������J�������������(�����
200
0
20
40
60
80
1 00
* ��#��������������
Q �Q CQ LQ
Q����
�� �� �� �� ��# �� �
�
� 8��(���
� 8��(���
Q�W������������
Q)G
QL
QC
Q�
G�&�������&����������
201
"� �2�= ����
r "�������������� �����m �������������#�#�������3����������� �����������#�
���� ���� (�������#�������(�����4
r ����K����������� �����������3��������(����������������������#����� ��4
r =���������#�������m ������������������ ��
202
<������
r .���������
r ' ����
r @��������
r �������(�R �6 ������
r <������6 ��
203
�������(
r /�������������(���#������ ����������� ��
r @##��������������������#������
r 0�������������������
r ����R �' ����> ��(�� ����� ������3� 8�����������4
r /������ ������������ ����J��R ����� ������##��
204
6 ������
r .��� ��������#�����#�JJ������(
r ������� ���������������������
r /���������(�������#������(������K��������3���� ������(���&�@##������������ ����4
r �����������������(��(�����������������
r ������#�������� 8�����������
205
��������
r "����������/��������K��������#�������(�#������
r @K��������(���������� �����������##���������#��� � (����
r ������������(���������#�����������������
206
<������
r .���������
r ' ����
r @��������
r �������(�R �6 ������
r <������6 ��
207
<������6 ��
r � ��������� ��������"� �����������m ����� ����� ������
208
' ���� �����$ �������
r 1 ��m ���������(��(���� ����������������������� ��
r .���m � ������� �����#�������������(���m ���(�"� �����&�����������=� � ������(���������m ������(�������������������#�����������=� �
r "� �����������m ����������#����(������ �����������(������(��"� �
209
' ���� �����$ ������
m C����������3������������(���� ���#������(��(��4
m ��_���������������
��� ���#����
��G )% C%
����
���
���� �
�(
�
)�
)�
��
��G )% C%
�
� 8� ������� 8� ������
� 8� ������� 8� ������
H �������W� H �������WC
210
<������6 ���3���M�4
r � ��������� ��������"� �����������m ����� ����� ������
r "� �����������3�����/������ ����#��4
m ��������#�������
m ����������������� ������
211
<������6 ���3���M�4
r "� ���* ���
m � ��������� ������/��������3�1 "����)4
m 1 �� =��"������' ���� �����
m ' ���� �����' ��� ��������"� �3!-> ���������&��-=�������&��-�(�����&�.-�����&��-\ (����4
212
�������
r "� �
m ���.������� �����(�(��� ��
m ��������� �������� �������.������������������
r ����� �����
m <3�4���� ��������
r �� ��������������
m ������(��������(��������
r = ��
m ����������J��&������������������� ��
213
���������2/����&� �����&/�������
r 6 (�������� ���������������������������� ����#�������3���9���#����(�����&�����K���&����������I�����������4�A
r .-�-������������#����������������� �����������#������� �������������
r /����&�����������������������������������E-
214
(*:�$;����<�+��=>?3
?�+�$�+���74�4��@
215
����$�����$�7����$�
r �$����+���$�- @�������=>?3
r A����- @����=>?3�@�$��������
r ?�+�$���5��- @����=>?3����������$
r :��+����- ��@�=>?3���������
r ����+����- @��������+����=>?3����
r :�+�����- @������=>?3������+��
r 3����+����$��- @����=>?3�+�$���������1�
r #����������$�- ��@�=>?3�5�@�
216
�$����+���$
r =>?3��- ��$��$+������ �����������$� �����������
r ����������:�$B��#���1�:+��$�������� ���
r �$��11������+������������ ��������1��������$5��������������4�+����$�������+����$��
r ������/ A$������/��$�6��$����4���������@��������� �����������������+����$������$������������������@��������/���2���������+����$�
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�+���
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�
219
���� ����
���� �������
���� ���������
:��+���
3$�������$�����G����%������/�+�������$�/��%3/�:�4��
�������
����A���� ��������� ������$����$5
=>?3�#�22�$����:�4�+��:�$
=>?3�:�4�+��
=>?3�#�22�$����3����+����$� :�$�3����+����$�
=>?3:����
���#�22�$��
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�+������@�����������+�������
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����������������������$����$
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?�:
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������������������+����
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��$��������/�:+���������
225
=>?3�:��+����$�1���
r :������1��������- ����+������$���+�������$���������+�/�@������5��������$���������������++���������+����@���������$�������+�������+�$�����$��9*
r 3++����- �$�+�@��$5������������+��2�$��+�2��$�������������$�����5�$���++�������@���+�@���*��$�����������������+������+�2��$����+�$���4�������������������1�������������*
r I11�+��$+��- $��$�������+�������+�$���������+����$��2��$���$����$��9�1������@�����@��*
226
=>?3�:��+��3+����+���
r I�+��=>?3�����+�$��$��$���$+����1���4���/�#�$��2�/��$��8�5�������$���4�+����$������1�����=>?3�+��*
r I�+�������$���+���@��������=>?3�:��+��.���:�4�+��/�@��+�����������$$�$5��$������1�����=>?3�+��*
227
=>?3�:��+��3+����+���
r I�+������@����$�����$��@����$���+���@���������������$5�����������������4�+�
8�5�������$
#�$��2�
��4���
.��
=>?3����
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��/���������/���+*
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
230
)�-�� ����������������� ��������2��� ������������������ ��(�������������* �����=����������6 � ��������
� ��� ! " �#��$ ������ % ! � � �� �
" ���� ��� &����� ����������� ���������������1 ���
1 ������� ��(&�� ������&�1 �
' �� ��� (��������)' ����������#�"��������������
* ���������#�/�������&�"����������&�/'
231
� �����
r �� �������������
r � (��� �������� "�������������������
r ����=�������6 ��
r � ����������������� ��������
r @K�����������=����
r "������
232
�� �������������
r @##������������������������� ������������� ��
r =����������������
r � ����������� ������������(�� ��������
r $��������������������&����#������&������
233
�������=���������
r ������������(��I���������������� ������#���������
r .����������������������m �������#������
m "�����������������
m ��������������
r ����������������� ���m > � ������������������������ (��(�#��(��������������������������7
Client
Content Equivlent Servers
Request
??
235
���������������
r � ����������m ' ���������3�-�-�������4������
m =����� ������������3�-�-�' ��������4
m @K������������ ��(������������
m ������������(���������3�-�-�" ���' ���� ����' ������4
r � ��������� ������� ��������2m "��������I��������������������� ����
m � ����� ����������#������������3�I��������4������
m ����������������������������������
236
� �������� "�������������������
r � ����� ������#��������#����������#��I���������(�
r =�I�������������� ���(������(������
Client
Content Equivlent Servers
Request
Reply
Anycast mechanism resolves to one of
possible many
238
@K������� ����� ��������������������
r @K������������2m =0"�)�CG�> ��� �������� �������
N ' �#�������#���������� ��������������������N .���������������������#���(������ ��������
m .@� 0���������������������A �������K������7m � %� /� .������(����������������(�8"' �m "���' ���� ����' ������
r ���������m 1 � ��������������m �����������������������������m �����������#�������m �������#����������������������������m � ��������#�.�������������#�������� �����
239
� ��������� ������� ��������
Application
Client filters
Anycast group table
Resolver filters
Anycast-aware client Anycast Resolver
Anycast query
(truncated) list of servers
List of serversBest
server
240
0�����
r "����� ������������#�����m @ -�-�=��� � ��
r /����� ����#�����m @ -�-�/�����������������
r ����� ����#�����m @ -�-�/���������
r 0�����������#�������A /������ 5 ����#����� ' �2m ^/������O�������YF ^' ���������Y
m ���������-' ����O��� F ��-�����(-���
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
242
� ����� 1 ���
r � ����� ����������#����������#�.��������&�������������������
r 1 ������� �����������I���������������&��-�-&���������0� ����������� � �����(�������
r � ����� �����������#���� ��� �����' ���������
r 1 ������� ��(��������(������������(��������������
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
244
.������������
r .������������������/������5 ����#����� ' �
r .����������������gethostbyname
r � �������������������������� � ��(������#������K����������������
gethostbyname
Anycast Resolver
DNS
Filters
ADN Domain Names
other
IP Address
245
=������ ����' ������������#��6 � �������r =���������2
m /�������#���������������������I���������������������� ����#�#����#����� ��
m =������������(�������X���������������������
r <������� �#����(��I��2m =����� �� ��#�����( ��������������������
m ��������������������(�����( ������������������������
m ���(��� � ���(����(�����#��I������(���(������ � ��(��� �
m �� ������������������ �������(��������
246
���#�������/������' �����������
r /������������������(��I��m ���������(�������(�
m � ������� �����(����
m > � ������(8�� �����(��I��
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 ��(��#�����#�������(����
248
=����� ���������> � ����� ��(��I��
r =����� �� ������2m =�I����������#����#��������
m /�����������������3=� 4
r > � ������( �� �����(��I��m ' �����#���������������������� * 0=
m @��(��� �2���������������#������0�W�=� 8� * 0=
m @��(���(2���������=� �W��0�K�� * 0=
249
���#�������#�> � ����� �����(�
250
6 ��� � ����@K��������
251
=�#�������
r �� ����#��������������������
r ����#�@I����������������3@�4m �� ���#��(�������������������� (�������������#���������� ��(������(��(���#� ������#������
252
���#�������#�� ����� � =�������������
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
254
���#���������/���"������� �����
255
� ����<���������� ����������
r $�������(��I��2m @������������������#�����(������
m .���������(�� ���������� (���I������
r .�����#�������� ������������������������������
r * �����#��I��������������
r "(����������������I��������������
256
@##����#�� ��(��I���������������
0������)-��� �� (��(���Q����
0�������2�> ��(���� (��(���Q����
257
����� ������� ��(��I��
r ����������������������(�������
r ����������������� �������������(���
r ������������������� ���#������� ����
r =����� ����������:����������;������
r * �������������������#��������
258
"������
r �������m ���������������������������������������A � � ��������
���-�
m � �������������������(����������(��������� ������������������������� �����J��������' ��������(������(�
m 6 � ����������#����������� ����������� ��(������ ��������������������-�� ��(��I����������� ����������J������(��������
m � �(� ������( �� �����(��I�������������� �����������-�/��� ����#�������(�������K�
m � ��������� ��������������� ���������#����������������������(��������������������(��I��
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 "<//��[
260
))-�� �"���0��@���������/�������
S��� (���"(�&����9���=������> ���\ (���
"��������/�����* ��������
261
� ����<������
r ' �#������&���������� ���#���R ��� ���r ����� ������ ������(�����#������r ���#������������������r ���#�������������� ����K��������r =�������� ��r ' �����
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
263
%���"������� ��(�.��/�������r ����� ������� ��(���� ���#�����m =����������������� ���������
m � ����������� #�� ������#��5 � ���������
m � ����������#�����������������������������
r ����������(��(���������#����������������##�����m .��/�������2� �� �##�������� ��������������������
m @������������� ���#��(��������(��(���������#������������
m =���� ������������������������#��.��/������������������
r .���� ���������������(���-r �������������#�#��������������-r ' �������������##������������
m .��M��������������������.��/�������
264
@���������/�������Stanford
CMU
Stan1
Stan2
Berk2
Overlay TreeGatech
Berk1
Berkeley
Gatech Stan1
Stan2
Berk1
Berk2
CMU
265
r ����� ������3��� ���#���������(������ ��4m =���������������������� ���������
m @���������&� ����(�����������������������#�� �����
r @������������
r ����������������#���������#��(��(���������#�����������m �����������������������������#���������
m 0���K�����&�#�� �##������������&����������&�� "%�����������
m ���������������#�������������������������������� �����
���������$���#��
266
���#�������"�����
CMU
Gatech Stan1
Stan2
Berk1
Berk2
Duplicate Packets:Bandwidth Wastage
CMU
Stan1
Stan2
Berk2
Gatech
Berk1
Delay from CMU to Berk1 increases
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
268
6 (������# �����J�����(���7r ' ��������(���������������� ��(����
m /�� ���9������������������������m /�� ����������
r ����������� ������#����� ����������m /�� ����������� ������������(��(���� (����(���9��
m /�� ����� �����(��(��������������� �������������#�������
m <�������������# ������ ��������#������������� ��
r ' ��������(������������ ����������m ' ����� ��� ������� �����������������������������������
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
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
271
������ "������r /�(�/���������2
m @�������(��������������������#����#���� ��(����(����
r /�(�<�����J����2m ' ���� �����(��������#����������(��������(������� ��� ������� ����������(����(�������
r �����������������������2m =������������(��#����������������� ��������������
m ' �������������������&���������������(�#�� ������
272
<�����J����/�(�5 ������
r /�� ����������������� ���(������ ������������
r ��� �������������#* �������1 ����#���������������Y � ���� (��(��
r /�� �����������������������K����������
r @K�������������������#"��#��������������^�' ���� (��(��
Berk1
Stan2CMU
Gatech1
Stan1
Gatech2
A poor overlay topology
273
� (���������#����r * ������������#�������������� �����
m � (����� ���#���� ������ (��(���������������������
m > � �����#�������(���������������������������(���� ����
r "��#��������������� �����m � (����� ���#���� ������ (��(���������������������&�#�����(�������( �
r � ��8' ���� (��(�� ����#�������#2m /�� ��M����������#�������J��
m "�������������K����������� #����� ��������(����(
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
275
Used by Berk1 to reach only Gatech2 and vice versa.Drop!!
An improved mesh !!
Gatech1Berk1
Stan2CMU
Stan1
Gatech2
Gatech1Berk1
Stan2CMU
Stan1
Gatech2
276
������ @��������
r �����������K��������
r @���������#���������������������(��.�������
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
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 ��� ���#�����( �����(���� �����������������������(����(
279
' �������������������4 x unicast delay 1x unicast delay
Waxman : 1024 routers, 3145 linksGroup Size : 128Fanout Range : <3-6> for all members
280
Naive Unicast
Native Multicast
Narada : 14-fold reduction in worst-case stress !
�������������������
281
<���(���
r � � �����m ����� ����K�(�����#��������������������#������
m �������#����(������������-
r "����2�=����#��� ���������������##������ ����������� ��(�������J�-
r ������ �����������������������-
282
=�������6 ��
r S�� 3�����0�����&�� ".=.4m /������(��������(���������������&������
���#������
m * ����(�������������������������������� ��
N /��������� ��������������������#�#������
N ' ���� �����(��������#��������������������J������������������������������������������ ��������
r ���������� 3"(�� ��(�������&�* "�$�������4m @��(�������#�����������������������K� ����
��������
N � ��&����������������������(�������#���K��
m � ���������(&� �����##����������������������
283
"������
r ���������),L,&�.��/������������������ �������������
m ��� ���������&�����������������K���������������������
m ' �##��������������(��(���������#�����������m ' �##�������������&���������.��M����������.��/�������
r .�.���(�����(��������#��������������������#�����������7
r 0������ �J�������&������� ������������������(�
m ��#��� ��m (������ ����#�������������� ����������.��/�������m (���(������������������#��������#��(��(���������
#�����������m ���� �#������������ ����#��������J����
284
<����5 �����
r � (��������� ������(� ��������@�/����������������.��������������#������-
r � ���������������(2�6 ���� ��(�������������(� ������#�����������������������-
r ����������������������� ����������������������-�
r ���#�����������������2�=����������������(���-
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
286
������ ' �����Q-�* ������' ����
Internet Routing can be sub-optimal
(ms)
(ms)
2x unicast delay 1x unicast delay
287
)�-�<������2�=���� ���/������������ ��(����<����������� ��
���������(�2�!������&�1 �##��&�!(��&�%��(��&�<M� ���!�-
288
' �����1 ��
r ����������������� ���������������������������������K���������(����������*��������
r ����� ��&��##������&���������� �������� �����#�(��(�I�����������
r "������� ������������� $ #����������
289
<������������.��/�������
Overcastingimposes about twice as much network loadas IP multicast (for large networks). This difference is in O(n). (Figure 4)
290
� ��(���������#����<�����������
r � (����������� (��(�#����(�����(���������#��(��<��������������������������-
r �����������������������������J��������(����������#���� ��-
r @��(����#� �������������&�� (��(��������������������(�#��(�����-�� ���������������� �����������������������(����������-
r + ����� ������� ������������#�������-�
291
=������3)4
r "�������������������(������������������������� ���(������� ���������-
r � (��������(������������������������#��(������-
r 6 (����������9����(������&��(���������� � ���������(����&�� (��(�����������(������(��: ��;�����������
r .��(������������������#�#������7
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.
293
' ���� ���������
r � (������� ������������ ������������������������������,������-��� ������(�-
r � (����������(��������#��(��������(��������K���J�����. ��� #����(��������������������-�
r (��/��� ��� ��������� (��(���������������������������� ��� ��� ��-�<����������#��� ������� (����(��� ��� ����������������������(�����#��(�������3��&��(�������� ���(�����#���4
294
� ���� ��������������3)4
r � �������������-� �� �������&� �����������.�&��������������:�� ��&�� ��� ��� ���������;�3�� ��������#�#������74�� ��(������I�������� �#� ��-
r 0������ �������������#��������9��-
r � (�����������������(���(���������������-�� ������#���#�� � ���� ��������� (��(��(�������������� (�������(����������(���� �-
295
� ���� ��������������3�4
r 0�����(�����&�����������(�� ���� ���(�� ��(���������������-�� ����������(�� ���� ���(����(������#����������M��(������-�
r .#��(������������3 ���� ���(���##������� ��� ����������������� ��(���)�F 4&� �������� ���(����� ���#�(���������� ��������#�-
r � (���(�����������(�� ���#���M���������(��������������� �������-
r ����������������������� ���� ����������9���#���(�������(�������� (�����M��������#���-
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.
297
� ���� ��������������3�4
r $��(���������������������#������ �������&��(������� ����������������������������������������(����������������� ��-
r � (��#���. � �������������������������#�������� ����(�������#����-
r @��(���������(������ ���������������� ���#���#�������� �������#���M����������-
r � #�����(��������� ���J�&������ ��������������������������������#�������*��#����� ����-
298
* �8�� �������
r � ���������(������������ ��(�������������������������� ���������&�� (��(�������������(����-�� (�����M��1#�� �#� �� �������������� ��)-���I��������� �����������������������������������-
r 6 (�����������M��(����#��������������������3����������/��4&��#�����������(�#������������������ ����&��(����������������������� ��������� #������(��������(������-
r � ��(�����������������������#���������(��������(��������������#�����������(�����-
299
�� ���
r � �������������(���������������������2�
r ��������������#��#�� ����3�����������������#���B4
r ��������������#�������3������������(��(B4
r 6 (���� ���������#��������7�� ��(���������(����#����� �������� �(�����������(������&��(������(����#����#������ 3��������������� "�8.�����(����&�� (��(�� �����(��������������������4-�.��(������������7
300
"������(��(�
r �������������������������� ���������31 ������� ��(�.�������� ���� �����/���4-�� ����������� ��(���������#�����3���� 4-
r /��(��� ������� ���������������-�"��������(��(��������#��(��(���#�����������������(�����&�������������8��������� ��������������������3"��&> ���� ������&<������4-�<������������ �������������������#��.���� ��� ���Z�������� ����&� � � �(����[-
301
���������2�� ���������
r =����� ����"�#��������
r 1 ����������0 ���������
r <�(��E
r "�������#��������������E
302
)�-�@�� �����"�#���������� �������������(��.����������������<�������/��������� ��(��������S���(���"(�������-�3"/* 4�.1 "<//M�)
most slides comes from authors presentation
303
internet
Overlay Multicast Architecture
304
����6 ��
r ���# �����J���������m S�� 3� ".=.4&��������3"/* 4& ���������� 3$�������4&�<�������3".�"<4& $����K 3$�������4&�E
m "��������������������������� �����#�(��m ���# �������� ��(��������� �����#������
r ���#�������������(� ��������&� ��Em @�����������������������������m ' ��������������������#����� �����������������������#������
305
0���#�� (�������
r "���@���������/������������������ � �������������� ���(��.�������7m �������������K��#���#�������������������
m �(� ����#�������������� �������������������������(����������.������������������
r 0�������������.����������������� ��(� ��(��#��� ������#�@���������/��������
306
6 (��"�#��������7
r .������������� ��� ������m @����������������#����������3���&����4
r �������������#���������I��������m > ��(� ���� ���(&��� ��������
r =�������������#�����������������������m @ -�-&�����������������&�� ���������
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)
308
@�(���������#�<�������' ����
r � � ���� ������������m ' ��������������������(������������ ����������
m <�����J���������#�����������������N ������������ ���� ���(
r ����������(������K��#��(���������������3��������������4m * �������������#����������������
m � ��(��I��������������������������# �����J���������
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
310
<�����J��<�������#��' ����/�����
r �������J�� ���� ���(������������
r $���������� ��(�(������������
SourceReceiver X
30ms, 1Mbps
60ms, 2MbpsSource rate
2 Mbps
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 ������������&�"$= ����##��
312
@���������1 ��
r "���@�/����������������������������#������������� �����.��/�������7
r 6 (������� �������������� ������������ (���������������������7
r 6 (������(������ �������������(���7
313
@���������<�������
r "���������#�������#�����(����� ��(m $���(�����3�I��������������&��������� .��/�������4
m <�(�����������(�����(����������#�� ������� ���������
r @���������(���������##������������m Q����(����&����������
r ���#�������������m � ��������������������2��������&� ���� ���(m ���� �������������2������������&����(���
314
$���(�������(���
r .��/������������������
r ��I��������* �����2��������K������m $���� ���(�������������#�����������(�#�������������(���������
m ���#����������������.��/��������� ��(�� �I��������������
C
A B
Source
315
<���������(���
"(����#�/�����
�������
=����
������� <���
$���� ���( <���
$���� ���( �������
$���� ���(
<���������(���
316
@K���������/��(����
r "��������##�������(�������(��.�������m .������2�������##�������(���������������
m .�����������K���������#��(���
m =�����������K��������������##�����������#����
m � �����������������)���K��������
r 0�����(��K��������m � ������ ���9�������(����������
m �����������&�"$= ����##��
m @��(��K�������������#�����������
317
� ����������������/�����
r $���� ���( 3�(���(���4� ������ �����(���������
r =� � ��� ����������������(���������������������
D
C
A
B
Source Data path
RTT measurement
These measurements include queueing and processing delays at end systems
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.
319
0������ ##����������#������
r > ������������#�(����m �����������2�)������������(�����* -�-�����"�����
m @K����������2����(�&�� (��(���������(�����������������&�@����&�`� ��&����� �(����� ' ���
r ����������m 0�� ���.�����������(�����������(��(������������
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
321
$6 &������������&�)-��/ ��
Naïve scheme performs poorly even in a less “stressful” scenario
RTT results show similar trend
Internet pathology
322
��������"�������
r ' ������������������(������������ ���������������:���#��;�������7
r .�����##����������������9�����������������7m $���� ���( <���& ������� <���
Primary Set1.2 Mbps
Primary Set2.4 Mbps
Extended Set2.4 Mbps
(lower) ← “stress” to overlay schemes → (higher)
323
$6 &�@K����������&��-C�/ �
no strong correlation betweenlatency and bandwidth
Optimizing only for latency has poor bandwidth performance
324
=� � &�@K����������&��-C/ �
Bandwidth-Only cannot avoidpoor latency links or long path length
Optimizing only for bandwidth has poor latency performance
325
���������#��E
r 0�� �����������������#������2��������������������� �(������������� ���� ���(�������
r $���� ���( �����������#��������� �����.��/��������3��I������� * �����4
r 6 (������(������ �������������(���7
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)
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)
328
"���� ����
r 0�������������.����������������� ��(� ��(��#��� ������#�@���������/�����������(��������m �������������K��#��8����#��������
m ���#������������� �����.��/�������
r .������#��������������������#������m 0�� ������#������2 ��� �(������������� ���� ���(
r /�����#2�(���288� � � -�-���-���8]������
329
' ������3)4
r ���� � ������������K�� �������(��������
��K�� ������� � ����
/�������������������������������
�����������������&������� ��
����� �������� ���#�����
�(�������� �����#�������&�(�������������
' ���� ����
330
' ������3�4
r /�������(�#����� ���� (�������(��������������������#����(������������������������(&�� ��(���#�������#��(�������#�� ����������������������(m � �����������������(����M�������������##��������������#������
m =������������� (������������
331
' ������3�4
r = ������(��������������������(�m <���(��"�������#�.�����������(���������
N � � � -�����-��8����8��� ���) �����8�L-�-�J
m .����#�����#�������������#������(�����N � � � -��������-��8���8���(8�(��������-(���
332
����������� ��� ������������������������ ����������� �������� ����������
����� ����������������������������� �����������������
���
������������������
���������� ��������������������������� �������
�������
���������������
333
� �������
r !������� ��������������� ��������������������� ��������������������� ���������� �����������������������������������������
r !������������������������������������������ ����������� ���������������������������� ���� �������� �������������� ����������������������� ������� ������� ��������������������������������������������� ������������������������ �������������������������������� ���
r !������� ��� �������� ��������� ����������������� ������������������������������������ ��������� ������������������������������������ ����������� ������������������������������������ ��������������
334
�! �"���� ����� ��������� �������������������"� ������ ���
������ ����������������������������� ����� ��� ������� ��������������� ���������������� �������
������!����"����#������#�������������� ���
��������$������%������������ �� ����� �������� ��%� �� ������������� ��#�����$�� ������ ��
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.
! ������
336
#�����$�� ���! �����
����������� ���������� ����������������������������������������������������������������������� ����������������������
����������������������������������� ���������������������������������!����������
�����������������
���������������������������&����������� ����� ��'�� ��������������'�� ������������� ��� ���������� (�������������������� ��� ���������used to detect possible failure.
337
%�� ������� ������������
����������������(��������� ������������� ����)����� �������������*+�� ���������� ���������������������������������������������������� ����������������*+�� ����������������������������������������������� �� �������������������������������������������������!����"�����
�,����������������������(������� �������������� ������������������������ ����������������������
338
������ �������
������ ����������������%� �� �������������� ����� ����������-������ ���� ����
339
&��� ���"� ����'�����
�#���������� (���������� ��������������������� ������������������� �������
340
&��� ���"� ����'������(��������)
������������ ��������������������������(��������� ���������������� ����� �������������������������.� ������������ � �� �����/� �����0
341
&��� ���"� ����'������(��������)
������������ �������� �� ��� ������������1������������ ������������$������ � ������������ ���������������������� ����
342
�*�������
•Single manager v.s. Multiple managers•Whole devices v.s. Device parts (chunks)•Reintegrating devices•Synchrony model (future)•Failure suspectors (future)
343
$�����������+� ����
!�������- Replication management system featuring
» Modular protocol design» Active device participation» Distributed management function» Coverage and quorum condition
344
,�����������*�����
#����������
+ 2����34���+ ��#-%5
"�����������
+ 2����34���+ ��"�%���5
)������������� ���
Very popular content
345
,�����������*������ ����-��
"�����������������
"������������������
�"���������������������
�+� �������������������
�)�����������������������
�$����������������
�6���������������� ��������.70
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��������� ����������������������������
347
<������7
r 6 (������(���������(��� ��� �������� ������������������������������� ��7
m ���� ���������������������������������##�������(���-��.������ ���#������������������������������� �� �������������� �����3�����������4� ��������� ����������
m <������2������� ��������2��#��� ������������������������(�������������������(��(������� �(�����(��(������ ����������������� ������#����#���(��-������������� ��������#���������������� ��N �����������7
m 6 ���������(������A � (����������������(����=@� ��S7
348
6 ����� �������I������3�42
r 6 (���� �����(�� �����������
r Q����� �3����(������� ���������� ����������@��������
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