+ All Categories
Home > Documents > Distributed Data Structures for Peer-to-Peer Systems A Dissertation

Distributed Data Structures for Peer-to-Peer Systems A Dissertation

Date post: 10-Feb-2022
Category:
Upload: others
View: 8 times
Download: 0 times
Share this document with a friend
147
Transcript
Page 1: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

������������� ��������������������������������� �"!#�%$&�'�'�)(*��!+(,$&�'�'�%��- �����/.0�

1�243657598;:7<7=�<736>�?

@ :78A598A?�<98ABC<9>D<7E�8GFH=)I;JHK6<MLN>)OP<7E�8RQS:T=)BHJ'=�<98VUWITEH>�>�K

>)O

X =)KY8GZS?H3Y[)8;:"573Y<ML

36?]\�=)?HBH36BH=)I*L^O_>):`<7E�8a2S8;b):78;8G>)O

2c>WI*<9>):`>)O @ EH36KY>�59>)d/E�L

e L

Qf=)J�:T3#UWE'=)E

243657598;:T<7=�<73Y>�? 243Y:78AI*<9>):hgji�=)kl8A5`1c59d/?�8A5

2S8AI*8AkRmn8;:4o�p)p�q

Page 2: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

I� o�p)p��Dm�L Qf=)J�:T3#UWE'=)E

1cK6Kn:"3Yb�E�<75�:78A598;:7[)8AB��

Page 3: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

������������ �� dn8;8;:�� <9>�� dn8;8;:���B'3659<9:T3Ym/J�<98ABl=)KYb)>):T3Y<7E'k&5���5��W3Yd&b):"=�d'EH5���B'3659<9:T3Ym/J�<98AB EH=)57E&<7=�m/KY8A5��

O =)JHKY<�� <9>�KY8;:T=)?�<�:7>�JH<736?�b

Page 4: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

������������ ��������������������� "!�#� %$&���'!($%$)��*+���,-��$&���(.%�/�10-23� *+ 54

Page 5: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

��� �� �����

�� � �� ��� � � ������������ � �� � �� �� ��� � � ���� ����� � � �� � � �!

Qf=)J�:T3#UWE'=)Eo�p)p�q

@ 8;8;:�� <9>�� dn8;8;:�59LW59<98Ak&5 =�:78cBH3 59<9:T3Ym'JH<98ABl59L�57<98Ak&5 >)O+EH8;<98;:7>)b)8A?�8;>�JH5�k&=)I"EH36?�8A5#"`3Y<7ED?H>RI*8A?�<9:T=)K

=)J�<7E�>):"3Y<ML �P<7EH=�<V=�:78^JH578AB%O >):G8 $DI;3Y8A?�<RkD=)?H=�b)8Akl8A?�<V=)?HB KY>WI;=�<73Y>�?%>)O�57E'=�:78AB%:78A57>�J�:TI*8A5 �]UWJ'ITE

59LW59<98Ak&5aE'=A[)8&mn8AI*>�kl8&[)8;:TL]dn>)d'JHK =�:SO >):&% ?�<98;:"?�8;<a=�dHd'K63 I;=�<73Y>�?H5f36? =C57EH>):7<fdn8;:T3Y>WB >)O�<736kl8 mn8 �

I;=)JH598 <7E�8;L dH:7>h[W36B�8V36?HE�8;:T8A?�<S57I;=)K6=�m'36K 3Y<ML m�L BH3657<9:T3Ym'J�<73 ?�bl<7E�8 KY>�=)B >)O k&=)36?�<7=)36?H36?Hb&<7E�8l59LW59<98Ak

=)I*:7>�575^=)K6K�<7E�8Cd/=�:7<736I;3Yd'=)?�<75 � 1�<&<7E�8]57=)kl8 <736kl8 � <7E�8;L�dH:78A578A?�<&?�8 " ITEH=)K6K68A?�b)8A5&36? B�8A5T3Yb�?H36?�b

BH3657<9:T3Ym'J�<98AB B'=�<7=]59<9:"JHI*<7J�:78A5G<7EH=�<VI;=)? dH:7>,[�3 B�8D<7E�8 B�8A573Y:T8AB O J'?HI*<73Y>�?H=)K636<ML 57JHI"E =)5VBH=�<7= =A[�=)36K �

=�m'36K 3Y<ML ��B�L�?'=)k&36I�59LW59<98Ak k&=)36?�<98A?H=)?HI*8 �W=)?HB 57J�dHdn>):7< O >):�I*>�kld'KY8('*)�J�8;:T3Y8A5jJH5736?HbGJH?�<9:TJH59<98AB =)?HB

JH?�:T8AK636=�m'KY8SI*>�kldn>�?�8A?�<75 �

+ 8 dH:78A578A?�<^<," >�I*>�kld/KY8Akl8A?�<7=�:7L BH3657<9:T3Ym'J�<98AB B'=�<7= 59<9:"JHI*<7J�:78A5D<7EH=�< I;=)? mn8 JH578AB <9>�36k��

d'KY8Ak&8A?�<&8 $^I;3Y8A?�<Dd�8;8;: � <9>�� d�8;8;: 59LW59<98Ak&5 �.-�E�8�/H:"59<&BH=�<7= 57<9:TJHI*<7J�:78C3 5&=)? =�m'57<9:T=)I*<^kl>WB�8AK�>)O

= ��� � 0� �1� � � �324� �25��� ��6 � �1"`EH36I"E%365GJ'598AB =)5R=)? >,[)8;:TK6=AL ?�8;<," >): � m�L%k&=)?�L%I*>�?�<98Akldn>):T=�:7L

dn8;8;:�� <9>�� dn8;8;:�59LW59<98Ak&5 ��-�EH365 BH=�<7=459<9:TJ'I*<7J�:78 dH:7>h[W36B�8A5P36?'E�8;:78A?�<#KY>�=)B m'=)K =)?HI;36?�b �)=)?HBR<7E�8�?�J'kGmn8;:

>)O�:7>�J�<736?HbNEH>)d'5fO >):G= 598A=�:TI"E 365aK6>)b�=�:T3Y<7EHk&3 IV3 ? <7E�8&?�J'kGmn8;:f>)O�:78A59>�J�:"I*8A5a36? <7E�8D57L�59<98Ak � + 8

59<7JHBHL b):T8;8AB�L :7>�J�<736?Hb&36?C<7EH3 5�kl>WB�8AK �'=)?HB dH:7>,[)8VKY>�"j8;:Smn>�JH?HBH5�=)?'B J�dHdn8;:�mn>�JH?'BH5�>�? :T>�J�<736?�b

36? <7EH8GdH:78A578A?HI*8a>)O O =)36K6J�:78A5�3 ? <7E�8R?H8;<," >): � � + 8VdH:78A598A?�<`59>�k&8RE�8AJ�:"3659<736I;5�O >):cI*>�?'59<9:TJHI*<736?Hb&<7E�8

?�8;<7"j>): � =)?HBCb�3Y[)8a8('Wd�8;:"36kl8A?�<7=)Kn:78A57JHKY<75�>�?C<7E�8adn8;:7O >):Tk&=)?HI*8a36?Nd':T=)I*<736I*8 �

+ 8V=)K659>ldH:78A578A?�<�=l?�>,[)8AK�BH3 59<9:T3Ym'JH<98AB^BH=�<7=D59<9:TJHI*<7J�:T8aI;=)K6KY8AB = �89�;:�<���:�2 ��"cEH36ITE 3 5�= <9:T3Y8

>)O�5���36d%K63659<75S<7EH=�<G5TEH=�:78&KY>�"j8;:GK =AL)8;:T5 �^1�5��W3Yd b):T=�d'E%dH:7>h[W36B�8A5fk&>�59<f>)O�<7E�8lO J'?HI*<73Y>�?H=)K636<MLC>)O�=

BH3657<9:T3Ym'J�<98AB E'=)57EC<7=�m'K68 �=%�? =)BHBH36<73Y>�?��'3Y<c57J�dHdn>):7<75�57d'=�<736=)K KY>�I;=)K 3Y<ML =)?HB]I*>�kld'KY8(' 598A=�:"ITE�8A5457JHI"E

=)5a?�8A=�:Rk&=�<7ITE�8A5a<9> = �)8;L � �)8;LW5&"`36<7EH36? = 59dn8AI;3>/H8AB :T=)?�b)8 �+>):R=�dHdH:7>�'W36kD=�<98�)�J�8;:"3Y8A5 � + 8lb�3Y[)8

5736k&d'KY84=)?HB 59<9:T=)3Yb�E�<9O >):�" =�:"B =)KYb)>):T3Y<7EHkD5�<9>&598A=�:TITE]=)?HB 36?H578;:7< =l?H8 " :78A59>�J�:"I*8a36?N=l5���36d b):"=�d'E��

+ 8R=)K 59>&b�3Y[)8V=l:78;d'=)3Y:ckl8AITEH=)?'3657k <7EH=�<SI;=)?Cmn8GI*>�kRm'36?�8AB�"`3Y<7E <7E�8GO =)JHK6<�� <9>�KY8;:T=)?HI*8RdH:7>)dn8;:7<73Y8A5

<9>&b�3Y[)8R=&59<9:7>�?�blO >�JH?HB'=�<73Y>�?NO_>):c=&EH3Yb�EHK6L&:78A5736K 3Y8A?�<�?�8;<7"j>): � �

Page 6: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� ��8���� � 6 � �1< ��� �

%`57<736K6K /'?'B]3Y<SEH=�:TB]<9>^mn8AK6368;[)8G<7EH=�<4<7EH365c365c<7E�8R8A?'B >)O kRLCb):T=)B'JH=�<98l57ITE�>�>�K BH=ALW5�� =)?HB]<7EH=�<

<7E�8R<736kl8GEH=)5SI*>�kl8V<9>D8('WdH:78A575ckGL <7E'=)? ��5cO >):`<7E�8 "j>�?HBH8;:7O J'K <736kl8&%�E'=A[)8 59dn8A?�<`EH8;:78R=�< X =)KY8 �

%�< "j8AK6K�k&=ALNmn8fmn8AI;=)JH598 %�?�8;[)8;: )�JH3Y<98f:78A=)K 3��;8ABN<7EH=�<`3Y<�� � # 2 EH=�dHdn8A?���KY8;<�=)KY>�?�8a57>D59>�>�?��

� 8;<Rkl8 59<7=�:7<Gm�L <7EH=)? �W36?�b <7E�8^>�?�8Ddn8;:T57>�? "`E�> E'=)5amn8;8A? kl>�57<G:78A59dn>�?H5T3Ym'KY8VO_>):V<7EH365GBH365��

598;:7<7=�<736>�? 598;8A36?�bN<7E�8&K636b�E�<S>)O B'=AL �`kRL]=)BH[�3657>):���i�=)kl8A5f1S59d'?H8A5 �&%cI;=)?%8A=)5736KYL 3 k&=�b�36?�8 kGLW598AKYO

KY8A=h[�36?Hb X =)K68�"`3Y<7E�=�]=)59<98;:T5DBH8;b):78;8C36? EH=)?HB � EH=)B 3Y<&?�>)<lmn8;8A?�O >):Di�36k � + 3Y<7E EH365V8A?HB'KY8A575

8A?HI*>�J�:"=�b)8Akl8A?�<���d/=�<73Y8A?HI*8 �W=)?HB&8A?�<7E�J'5736=)57k �WE�8SEH=)5�mn8;8A? = � ������ �� =)BH[�3657>): �� c84EH=)5 <7=)JHb�E�<�kl8

k&=)?�LD<7EH3 ?�b�5���:T3Yb�E�< O :7>�k 5736k&d'KY8ckD=�<7E�8Ak&=�<736I;=)Kn<9:T3 I �W5j<9>l<7EH843 kldn>):7<7=)?HI*8S>)O#I;=�:7<9>�>�?H5�36? <7=)K �W5 �

� >�59<c36k&d�>):T<7=)?�<7KYL �/E�8G=)K>"�=ALW5cE'=)BC<7E�8R<736kl8aO >):ckl8 "`E�8;<7E�8;: % " =)5S=)5��W36?�b&EH36k =&O =)3Y:`dH:"36I*8f<9>

:78;d'=)36:SkRL mH:T> �)8A? I;=�:a=�'WKY8V>):aBH365TI;JH575736?Hb&<7E�8 dH:7>�>)O�>)O������������������ � % "`36K K�k&365T5cEH3 5cB�8AK 3Yb�E�<9O JHK

E�JHkl>):G=)?HB =)K6K <7E�8&:"=)?HB�>�k I*>�?�[)8;:T57=�<73Y>�?'5a>�?%<9>)d/36I;5G57J'ITE%=)5G<7E�8D36?HI*>):T:78AI*<GB�8A5736b�? >)O��43 �W36?�b

E�8AK6k&8;<75 � + 3Y<7E�BHJ�8 =�d�>�K6>)b�3Y8A5V<9> i�36k �1%GI;=)?H?�>)<V<7EH=)? � EH36k 8A?H>�J�b�E�O_>): <7E�8 >)dHdn>):7<7JH?H36<ML <9>

m'=)5��N36?N<7E�8RK63Yb�E�< >)O EH3 5�57E�8;8;:�mH:"36K6K636=)?'I*8`O >):�<7E�8GK6=)57<�<7E�:78;8aL)8A=�:T5 �

� L =�dHdH:78AI;36=�<736>�? =)K659>lb)>�8A5�<9>&=)K6Kn<7E�8G>)<7E�8;:`kl8AkRmn8;:T5�>)O kGLNI*>�k&k&3Y<9<98;8GO_>):�<7EH8A3Y:�[ =)K JH=�m'KY8

O 8;8AB�m'=)I ��=)?HB <736kl8 ��%G<7EH=)? � i�>�=)? F�8A36b)8A?�m'=)J'k O_>): kRJ'ITE �M?�8;8ABH8AB�=)BH[�36I*8 >�?�I;=�:78;8;:&ITE�>�3 I*8A5 �

1c:7[�3 ?HB �f:"3657EH?H=)kVJ�:7<7E�L " =)5P=)K>"�=ALW5P:78A=)B�LG<9>SBH3 57I;JH575#dH:T=)I*<736I;=)K�36575TJ�8A5#3 ?R?�8;<7"j>): ��36?Hb ��=)?HBR57d'=�:78

I*>�> ��3Y8A5`O_>):Skl8G=�<�<98A=�� <73 kl8 � % =)k B�8AK63Yb�E�<98AB <7EH=�<S1c?�<9>�?�L"!`>�"`59<9:T>�?�"�=)5`8A?�<7E�J'5736=)59<736I48A?H>�J�b�E

<9>DI*>�kl8R=)K6K <7E�8 "�=ALC=)I*:7>�5T5�<7E�8a1�<7K6=)?�<736If<9>^=�<9<98A?HB kRL B�8;O_8A?'598 �

24=)?H=N1S?�b�K6JH36? EH=)5Smn8;8A? =^I*>�?H57<7=)?�<a59>�JH:TI*8 >)O 36?H59d/3Y:T=�<73Y>�?]=)?HB =^:T>�KY8Vk&>�B�8AK#O >):4k&8 �VUWE�8

"�=)5S=)K " =hL�548A?HI*>�JH:T=�b�36?�b "`E�8A? %�<7=)K �)8AB <9> E�8;:S=�mn>�J�<S=)?�L�<7EH36?Hb^<7EH=�<Smn>)<7E�8;:78AB kl8 � =)?HB %`=)k

b):T=�<98;O JHK <9>CE�8;:GO_>):GEH8;:a36?�[�=)K6JH=�m/KY8V=)BH[�36I*8l>�? 598;[)8;:T=)K >WI;I;=)573Y>�?H5 �#!�8A?�$8 @ 8;:T=)KY<7= K63Yb�E�<98A?�8AB <7E�8

=�<7kl>�59d/E�8;:78&"`36<7E EH365�36?HI*:T8ABH3Ym'KY8S598A?H598f>)O E�JHkl>):�=)?HB =lO_:"3Y8A?HBHKYL^57k&36KY84?�8('W<`B�>�>):`=�<`=)K6Kn<73 kl8A5 �

%4<7EH=)? � <7E�8DBH8;d'=�:7<7kl8A?�<G=)BHk&3 ?H3659<9:T=�<736[)8 57<7=&% � 8A59dn8AI;36=)K6KYL � 36?'BH=N2c>)m'm%O_>):R<7=���3 ?�bCI;=�:78D>)O

<7E�8�36?H8;[�3Y<7=�m/KY8 J'?H3Y[)8;:T5736<MLaO >):Tk&=)K636<73Y8A5���=)?HBl1Skl8AK636= -#>�8A?'57kl8A3Y8;:�=)?HBD\�K6=�:T=GQ4=�:7b�J'36KY>4O_>):�EH8AKYd'36?�b

>�J�<="c3Y<7E 59>&k&=)?�L B�8;<7=)36K65�K63 �)8aK6=�dH<9>)dC:78A578;:7[ =�<736>�?H5�=)?HBN8('Wdn8A?H598f:78A36kRm'J�:"598Akl8A?�<75 �

-�EH8A598c=)I ��?�>�"`KY8AB�b�k&8A?�<75 " >�JHK6BDm�8S36?HI*>�kld/KY8;<98="`3Y<7EH>�J�< <7EH=)? ��36?HbGkGLlO 8AK6KY>�" b):"=)BHJH=�<98459<7J �

B�8A?�<75 �'�CL%>$^I*8 �Mk&=�<98 ��!c=)E�J'K�UW=)kD3 � EH=)5REH8AKYdn8AB%<9> m'JH36K B%kGL ITEH=�:T=)I*<98;:l>,[)8;:l<7E�8NK6=)59<VL)8A=�:

m�L^57EH=�:"36?�bRE'365j3 k&kl8A?H598 �W?�>�"`K68AB�b)84>)O#59LW59<98Ak EH=)I ��5�=)?HB <98A=)I"EH36?�b&kl84<7E�8f36k&d�>):T<7=)?HI*8c>)O)(�8A?

[�3

Page 7: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

57=hL�36?Hb�5 � + :T3Y<736?Hb]kRL BH365T598;:7<7=�<73Y>�? " =)5 8A=)5T3Y8;:l=)?HB�= K6>)<V>)O`O JH? mn8AI;=)JH598 E�8�" =)5 "`:T3Y<736?�b]EH365

<7E�8A573 5�=�< <7E�8S57=)kl8�<73 kl8 � % EH=A[)8S=)K659>G57E'=�:78ABD59>�k&8="j>�?'B�8;:7O JHK�<736kl8A5 "`3Y<7E#�a=�:"EH=)?D1 ��I*>)b�K6J��WkGL

>$DI*8 �Mk&=�<98 O >):G<7E�8�/':T59<a<7E�:T8;8&L)8A=�:T5V36? <7EH365fBH8;d'=�:7<7kl8A?�< � �CL E�8A=�:7<9O 8AKY<a<7E'=)? ��5G<9> kRL >)<7E�8;:

O :T3Y8A?HBH5DQf=�mH:T3Y8AK � >�E�� @ =�<9:"36I � SJ�b)b�36?H5���i�=�<736? UWEH=)E ���43 � =AL !`=)k&=)I"EH=)?HB�:"=)?���=)?HB 1SKY8���5T=)?HB�:

X =)kldn>�K65��W3YL �n?�>)<S>�?HKYLCO >):c<7EH8 B'3657I;JH575T3Y>�?H5�:78AK =�<98AB]<9>N:78A578A=�:TITE =)?HB]>)<7E�8;:�"c36598 �nm'J�<cO_>):f=)K6K#<7E�8

O JH? <736kl8A5f<7E'=�<&"j8^EH=A[)8 57EH=�:78AB <9>)b)8;<7EH8;:R=)5&" 8AK6K ��-`EH=)? �W5f=�:78D=)K659>]BHJ�8 <9>��c8AEH= � 8A?�>�? O >):

dH:7>�>)O :78A=)BH36?�blkRLN<7E�8A57365 �

�]=ALWJ�:&EH=)5 59<98A=)B�O =)59<7KYL 59<9>�>WB�m�L kl8^<7EH:7>�J�b�E�=)K6K kGL�J�d'5V=)?HB BH>�"`?H5 36? <7E�8A598 K6=)57<RO >�J�:

L)8A=�:T5 � � 3YO 8�" >�JHK6B�EH=h[)8Cmn8;8A? kl8A=)?H36?Hb�KY8A575 "`3Y<7EH>�J�<l=)K6K <7E�8C59>�?�b�5&EH8CEH=)5&57JH?Hb O >):&kl8 � <7E�8

O :78�)�JH8A?�<j<9:T3Yd'5 <9>&\�=)K636O_>):T?'36= ��=)?HB&<7EH8cKY>�?�bVI*>�?�[)8;:"57=�<73Y>�?H5�=�mn>�J�<�8;[)8;:7L�<7EH36?HbR=)?HB^?�>)<7EH36?�b � 1S?HB

<7EH365R<7E�8A573 5 " >�JHK6B EH=A[)8Nmn8;8A? I"E�>WI � � O JHK K >)O�8;:T:7>):T5 "`3Y<7E�>�JH<GEH365VI;=�:78;O JHK d':7>�>)O�:T8A=)BH36?�b � % /'?HB

3Y<G3 kldn>�57573Ym'K68R<9>]<7EH=)? � kGL mn8A59<aO :T3Y8A?'B 59>�% "`36K K � JH57<a57=AL <7EH=�<R<7EH365RBH3657598;:T<7=�<73Y>�? " >�JHK6B%EH=h[)8

:78Ak&=)3 ?�8AB 36?HI*>�kld/KY8;<98 "`3Y<7E�>�JH<�E'36k �

FP36?H=)K KYL ��=)5�kVJHITE =)5 % "j>�JHK BDK63 �)8c<9> �!% I;=)?H?�>)< <7EH=)? �&kRLlO =)kD36KYL 8A?�>�J�b�EN36?*"j>):TB'5���O >): <7E�8A3Y:

JH?HI*>�?'BH3Y<73Y>�?H=)K K6>h[)8R=)?'B 57J�d'd�>):T<�=�<c=)K6K <73 kl8A5 � �CL 573 59<98;:cZSk&=D=)?'B kRL m':7>)<7E�8;:��M36? �MK6=�" �]=)?�> �

EH=h[)8S=)K>"�=ALW5j8A?HI*>�J�:T=�b)8AB kl8 �W=)?HB %�EH=h[)8c?�8;[)8;:�EH=)B&<9> "j>):T:7L&=�mn>�J�< kRLVO =)k&36K 36=)K�BHJ�<73Y8A5#"`EH36K68 %

"�=)5�59<7JHB�LW36?�bfBHJH8 <9>G<7E�8A3Y:�59<98A=)B�O =)59< 5TJ�dHdn>):7< ��� L d'=�:78A?�<75�EH=h[)8�b�3Y[)8A?&kl8�O =�: kl>):T8�<7EH=)? % 8;[)8;:

B�:78A=)kR<�>)O � %j=)k�O >):78;[)8;:�36?'B�8;mH<98AB^<9>V<7EH8Ak�O >):�EH=A[W36?�bVb�3Y[)8A?Nkl8S<7E�8fITE�>�3 I*84=)?'BD<7E�8fI"EH=)?HI*84<9>

d'J�:"57J�8 "`EH=�< %�B�8A573Y:T8AB���=)?HB <9>&mn8 "`EH=�< %�=)k <9>WBH=hL � -#>l<7E�8Ak ��%�B�8ABH36I;=�<98G<7EH365�<7E�8A573 5 �

[W363

Page 8: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

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

� ��8�� � � 6 � � < ��� � �4�� � ��6 ��� �� � � � � � � �4�;� �� � � ����� �;< � � �4�� � � ��� � � �16 � �4� �

� � � � ���� � ���� � � �� � � -�E�8fdn8;8;:�� <9>�� dn8;8;:cd'=�:T=)BH3Yb�k � � � � � � � � � � � � � � � � � � � � � � � � � � � o� � o ��[)>�K J�<73Y>�? >)O dn8;8;:�� <9>�� dn8;8;:c59LW59<98Ak&5 � � � � � � � � � � � � � � � � � � � � � � � � �

� � o � � FP3Y:T57<�� b)8A?�8;:T=�<73Y>�?]59L�57<98Ak&5 � � � � � � � � � � � � � � � � � � � � � � � � � �� � o � o \ >�?�<98Akldn>):T=�:7LN59LW59<98Ak&5 � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � q � >�B�8AK � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � �4J�:cI*>�?�<9:T36m'J�<73Y>�?H5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � p� ��� UWJHkDk&=�:7L � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � o

� � � 6 ��� � ��� ��8 � �o � � FP3Y:T59<�� b)8A?H8;:T=�<73Y>�? 57L�59<98AkD5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � qo � o e 8;O_>):T8R243659<9:T36m'J�<98AB c=)5TE�-#=�m/KY8A5 � � � � � � � � � � � � � � � � � � � � � � � � � � �

o � o � � S=)57EH36?Hb � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �o � o � o @ K6=�'�<9>�?"!&!`= � =�:T=)k&=)?#!&!c36ITEH=%$ @ ! !'&�=)KYb)>):T36<7EHk � � � � � � � � � � � � � � �)(

o � q 243659<9:T36m'J�<98AB" S=)57E�- =�m'KY8A5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �o � q � � \ >�?�<98A?�<��M=)BHB�:78A575T=�m'KY8G?�8;<7"j>): � � � � � � � � � � � � � � � � � � � � � � � � �o � q � o - =�dn8A59<9:7LN=)?HB @ =)59<9:7L � � � � � � � � � � � � � � � � � � � � � � � � � � � � �o � q � q \�EH>):TB � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � o�p

o � � \ 8A?H57>):T57EH3Yd � :78A573659<7=)?�<�?�8;<," >): �W5 � � � � � � � � � � � � � � � � � � � � � � � � � � o �o ��� �S<7E�8;:c59L�57<98Ak&5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � o)o

o ��� � � �c>�? � [W3Y:7<7JH=)K63 �;8AB 59L�57<98Ak&5 � � � � � � � � � � � � � � � � � � � � � � � � � o)qo ��� � o cL�m':T36B 59LW59<98Ak&5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � o �

o � ( % kldH:7>,[)8ABCO 8A=�<7J�:78A5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � o �o � ( � � U�8A=�:"ITEC<98AI"EH?H3 )�J�8A5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � o*�o � ( � o � >�=)BCm'=)K6=)?'I;36?�b � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � o (

o �+� 1cdHd'K636I;=�<736>�?H5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � o,�o �+� � � @ J�m'K6365TEH36?�bV59L�57<98Ak&5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � o,�o �+� � o + 8;m]d'J�m'K63 57EH36?�bR=)?HBCI;=)ITE'36?�b � � � � � � � � � � � � � � � � � � � � � � � o*�o �+� � q �S=)kl8G598;:T[�36I*8A5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � o*�o �+� � � �c8;<," >): � dn8;:7O >):Tk&=)?HI*8akl8A=)5TJ�:78Akl8A?�< � � � � � � � � � � � � � � � � � � � o*-

[�363 3

Page 9: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

o �+� ��� �]=)?H=�b�36?�b��'=)57ECI*:7>�"`BH5 � � � � � � � � � � � � � � � � � � � � � � � � � � o*-o �+� � ( QS:T>�J�d I*>�k&kVJH?H36I;=�<736>�? � � � � � � � � � � � � � � � � � � � � � � � � � � o*-

� � � � 6 � ��� � 6 � �� � � � � � ��� �4< � �q � � �S[)8;:7[W3Y8 " � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � q �q � o �4J�:c=�dHdH:7>�=)I"E � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � q)q

q � o � � \ >�k&d'=�:T3659>�? "c3Y<7E 2 -�5 � � � � � � � � � � � � � � � � � � � � � � � � � q*�q � o � o -#>�>�K � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � q,�

q � q � >�"j8;:Smn>�JH?HBH5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � q*�q � � ZcdHdn8;:�m�>�J'?HBH5 "`3Y<7EH>�J�<�O =)36K J�:78A5 � � � � � � � � � � � � � � � � � � � � � � � � � � �

q � � � � UW3 ?�b�KY8fKY>�?�b��MBH3 59<7=)?HI*8aK636? � � � � � � � � � � � � � � � � � � � � � � � � � � � �q � � � o �]JHKY<73Yd/KY8fKY>�?�b��MBH3657<7=)?HI*8aK636? �W5 � � � � � � � � � � � � � � � � � � � � � � � ��q

q ��� ZcdHdn8;:�m�>�J'?HBH5 "`3Y<7ENO =)36K6JH:78A5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � (q ��� � � FH=)3 K6J�:78f>)OPK636? �W5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �q ��� � o FH=)3 K6J�:78f>)OP?�>WB�8A5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��p

q � ( \ >�?H57<9:TJHI*<73Y>�? >)O b):T=�d'E'5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �)qq �+� � 'Wdn8;:T36kl8A?�<7=)Kn:78A57J'KY<75 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � (q ��� \ >�?HI;K JH573Y>�?H5�=)?HBCO J�<7JH:78 "j>): � � � � � � � � � � � � � � � � � � � � � � � � � � � �*-

� � 89�;:�� ���:12� � �� � � 2S:T=�"`m'=)I �W5`>)O 2 -�5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ( �� � o �4J�:c=�dHdH:7>�=)I"E � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ( o� � q U �W3Yd b):T=�d'E'5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ( q

� � q � � % kld'KY8Ak&8A?�<7=�<73Y>�? � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ( �� � � !�8AK =�<98AB�" >): � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ( �� ��� 1SKYb)>):T3Y<7EHkD5�O_>):S=l5���36d b):T=�d'E � � � � � � � � � � � � � � � � � � � � � � � � � � � � p

� ��� � � -�EH8a598A=�:TITE >)dn8;:T=�<73Y>�? � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� ��� � o -�EH8a36?H598;:7<�>)dn8;:T=�<736>�? � � � � � � � � � � � � � � � � � � � � � � � � � � � ��q� ��� � q -�EH8aB�8AKY8;<98a>)dn8;:T=�<73Y>�? � � � � � � � � � � � � � � � � � � � � � � � � � � � �*�� ��� � � \ >):T:78AI*<7?�8A575`>)O =)KYb)>):"3Y<7EHk&5 � � � � � � � � � � � � � � � � � � � � � � � � � -

� � ( 1cdHd'K636I;=�<736>�?H5�>)O 5 ��3Yd b):"=�d'EH5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � (� �+� FH=)JHK6<�<9>�KY8;:T=)?HI*8 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �*�

� �+� � � !c=)?HB�>�k O =)36K6J�:T8A5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �*-� �+� � o 1SB�[)8;:T57=�:"36=)K O =)36K6J�:78A5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � -�p

� ��� !�8;d/=)3Y:`kl8AI"EH=)?H3657k � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � -*�� ��� � � �]=)36?�<7=)36?H36?�b <7E�8R36?�[�=�:T36=)?�< � � � � � � � � � � � � � � � � � � � � � � � � - (� ��� � o !`8A59<9>):T36?�b&3 ?�[�=)K636BNI*>�?H59<9:"=)36?�<75 � � � � � � � � � � � � � � � � � � � � � � � p)p

� ��� � o � � !�8A59<9>):"36?�blm'=)I ��dn>�36?�<98;:`I*>�?H59<9:"=)36?�<75 � � � � � � � � � � � � � � � p)p� ��� � o � o !�8A59<9>):"36?�b&36?�<98;:��MKY8;[)8AK+I*>�?'59<9:T=)36?�<75 � � � � � � � � � � � � � � � � p�q

� ��� � q @ :7>�>)O >)O I*>):7:78AI*<7?�8A5T5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � p,�� ��- \ >�?�b)8A57<73Y>�? � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �*�*�

� ��- � � 1c[)8;:T=�b)8 I*>�?�b)8A59<73Y>�? O_>):`=l5T36?�b�KY8a598A=�:"ITE � � � � � � � � � � � � � � � � � �*� o� ��- � o 243659<9:"3Ym'J�<73Y>�? >)OP<7E�8a=h[)8;:T=�b)8VI*>�?Hb)8A59<73Y>�? � � � � � � � � � � � � � � � � � �*� �

� � � p \ >�?HI;K JH573Y>�?H5�=)?HBCO J�<7JH:78 "j>): � � � � � � � � � � � � � � � � � � � � � � � � � � � �*�)(

3 '

Page 10: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� � �4� 6;� �� � �� �� � ����: � � � �� ��6 � � ���� � � \ >�?HI;K JH573Y>�?H5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �*� �� � o �Sdn8A? @ :T>)m'KY8Ak&5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � o�p

� � o � � U�<7=�<98 � � >�I;=)K 3Y<ML <9:T=)BH8 � > % � � � � � � � � � � � � � � � � � � � � � � � � � � o�p� � o � o !c36ITE�8;: )�J�8;:TL K6=)?Hb�JH=�b)8 � � � � � � � � � � � � � � � � � � � � � � � � � � � o �� � o � q �#$DI;3Y8A?�<�:78;d'=)3Y: � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � o)o� � o � � -#>)dn>�KY>)b�36I;=)K6KYL �M598A?H5T3Y<73Y[)84>h[)8;:TK =ALC?�8;<7"j>): �W5 � � � � � � � � � � � � � � � � � o)o� � o ��� S=)?HBHK63 ?�b O =)36K J�:78A5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � o)q� � o � ( �c8 " B�8A5T3Yb�?H5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � o �

� � �16 � ��< ���:12 � � ���

'

Page 11: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

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

o � � FP3Y:T59<�b)8A?H8;:T=�<73Y>�? 57L�59<98AkD5;g �S=�d'59<98;:���Qf?�J�<98AK K6= ���a=�(n=)1 �'=)?HB � >):7d'E�8AJ'5 � � � � � � �o � o \ >�?�<98A?�<��M=)B'B�:78A5757=�m/KY8G?�8;<7"j>): � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �o � q - =�d�8A57<9:7L � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � -o � � \�E�>):"B�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � o�po ��� \ 8A?H57>):T57EH3Yd � :78A573659<7=)?�<�?�8;<," >): � � � � � � � � � � � � � � � � � � � � � � � � � � � o)oo � ( -#8;:7:T=)243Y: � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � o)q

q � � 1057=)kld'K684k&8;<9:T36I �M59d'=)I*8G8AkGmn8ABHBH3 ?�b � � � � � � � � � � � � � � � � � � � � � � � � q �q � o 243 %n8;:78A?�<cK636? �W5�ITE�>�598A? O_>):`>�?�8 �M5736B�8AB =)?HB <," >��M5736BH8AB :7>�J�<736?Hb � � � � � � � � � � � ��pq � q 243 %n8;:78A?�<c?�>�BH8A5�:78A=)ITE'=�m'KY8aO :7>�k 59>�J�:"I*8G?�>WB�8f<9>&<7=�:7b)8;<S?�>�BH8 � � � � � � � � � � ��oq � � �]JHKY<73Yd'K684K6>�?�b��MBH3659<7=)?'I*8aK636? �W5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��qq ��� FH=)36K J�:78f>)O K636? �W5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �q � ( -�E�8aBH8;:T3Y[)8ABCK63 ? �DBH3657<9:T3Ym'J�<736>�?�� � � � � � � � � � � � � � � � � � � � � � � � � � � �*�q �+� ��:T:7>):�mn8;<," 8;8A?C<7E�8aBH8;:T3Y[)8ABCK63 ? �DBH3657<9:T3Ym'J�<736>�?^=)?HBC<7E�8a36B�8A=)Kn>�?�8 � � � � � � � � � �*�q ��� FH=)36K68ABC598A=�:TI"E�8A5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �,�q ��- 1c[)8;:T=�b)8V?�JHkRmn8;:�>)O#:7>�JH<736?�b&E�>)d'5 � � � � � � � � � � � � � � � � � � � � � � � � � �*�q � � p \ >�kld/=�:T36?�b O =)36KY8AB 598A=�:TI"E�8A5S36?N<7E�8a36B�8A=)K =)?'BCB�8;:T3Y[)8AB ?�8;<," >): �W5 � � � � � � � � � �*�� � � 105��W3YdCK63659< � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ( �� � o 105��W3Yd b):T=�d'E�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � (*(� � q � >�BHJ'K6=�:�I*>�kldn>�573Y<73Y>�?N>)O BH=�<7=D59<9:TJHI*<7J�:T8A5 � � � � � � � � � � � � � � � � � � � � � ( -� � � % ?H598;:7<�36? =D5���36d b):T=�d'E�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� ��� �43Y>�K6=�<73Y>�? >)O�\ >�?H57<9:T=)36?�<75 � =)?HB q � � � � � � � � � � � � � � � � � � � � � � � � � � �� � ( � 8;:T5736>�?CI*>�?�<9:T>�K9"`3Y<7E =D5���36d b):T=�d'E�� � � � � � � � � � � � � � � � � � � � � � � � � (� �+� ZS598;:��MKY8;[)8AK�:78;d'K636I;=�<736>�? "`3Y<7E =l5��W3Yd b):T=�d'E � � � � � � � � � � � � � � � � � � � � � �,�� ��� % 59>�K6=�<98AB ?H>�B�8A5 ! @ :T36kD=�:7LDI*>�kldn>�?�8A?�<="`3Y<7E ?H>�B�8fO =)36K6JH:78A5 � � � � � � � � � � � � � �*-� ��- F�:T=)I*<736>�? >)O O =)3 KY8AB 598A=�:TI"E�8A5="`36<7ENO =)36K68AB ?�>�BH8A5 � � � � � � � � � � � � � � � � � � � -�p� � � p �43Y>�K6=�<73Y>�?H5�>)O#m'=)I ��dn>�36?�<98;:c=)?'B 36?�<98;: �MKY8;[)8AK+I*>�?H59<9:"=)36?�<75 � � � � � � � � � � � � � � � p �� � �*� - " >�� " =hLCkl8;:7b)8a<9>D:78;d'=)3Y:`= [W3Y>�K6=�<98AB 36?�<98;: �MKY8;[)8AK+I*>�?H59<9:"=)36?�< � � � � � � � � � � � � p��� � � o �4?�8 � "�=ALCk&8;:7b)8a<9>&:78;d/=)3Y:�=l[W3Y>�K6=�<98ABC36?�<98;:��MKY8;[)8AK�I*>�?H59<9:T=)36?�< � � � � � � � � � � � � p��� � � q�- " >�� " =hLCkl8;:7b)8a<9>D:78;d'=)3Y:`= [W3Y>�K6=�<98AB 36?�<98;: �MKY8;[)8AK+I*>�?H59<9:"=)36?�< � � � � � � � � � � � � p,�� � � � �� �����������N>)d�8;:"=�<73Y>�?N<9>^kl8;:Tb)8a?�>�BH8A5�>�? <7E�8G5T=)kl8GKY8;[)8AK � � � � � � � � � � � � � � p (� � � � \ >�?�b)8A57<73Y>�? 36?N<7EH8a?�>�BH8A5�>)O =D5���36d b):T=�d'E�� � � � � � � � � � � � � � � � � � � � � �*� �

'W3

Page 12: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

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

o � � 1S? 8('W=)k&d'KY8a>)O <7E�8 @ ! ! :T>�J�<736?�b <7=�m'KY8 � � � � � � � � � � � � � � � � � � � � � � � �q � � UWJHkDk&=�:7LD>)O J�d'd�8;:�=)?HB KY>�" 8;:`mn>�JH?HB'5jO >):�b):78;8ABHL :T>�J�<736?�b � � � � � � � � � � � � �*-� � � � 3 59<�>)O =)K6Kn<7E�8f[�=�:T36=�m'KY8A5�57<9>):78AB =�<�8A=)I"E]?H>�B�8 � � � � � � � � � � � � � � � � � � � � �� � � \ >�kld/=�:T3659>�?N>)OPdn8;8;:�� <9>�� dn8;8;:`59LW59<98Ak&5 � � � � � � � � � � � � � � � � � � � � � � � �*� -

'�363

Page 13: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� ��������� �

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

� � $( �� � +� � * ��$ � +� � ����.,��� �+�� ���+ ��� ������� +��� � 2/23��������$ ��#����� �� � * � ��� ��#(� ���� ������� � � � � � � � 4 � $ ��� *+���� ��" �� ���� � ��� ��#(� +� ) ) 1 �

� � ��$ � +� � � � .���� ��$ # �+ �� � � %� �� ��+��#� �� � $1�/2 �& ) ����10 � �����#� �� �� ���

� �������2���*���� � � %�����10��% 2 #� ���� �+$ ��� �� 4��

��� �"!$#&%('*),+-).#&'0/214365(#.7�8:9(;&<=�?>

% ? <7E�8GK =)59<`B�8AI;=)B�8 � "j8REH=A[)8 "`3Y<7?�8A5T598AB =lmn>�>�k 36?N<7E�8GJ'598a>)OP<7E�8&% ?�<98;:"?�8;<�O >):cBH3657<9:T3Ym'J�<98AB

=�dHd'K 36I;=�<73Y>�?H5 � �4?H8 >)Of<7E�8]d�>)d/JHK6=�:D=�dHd/K636I;=�<73Y>�?H5D365D<7EH8]JH598]>)O : � � ���� ����: � � �� � � O >):

kVJH5736I /'KY8457EH=�:"36?�b mn8;<," 8;8A?CI*>�k&kVJH?H3Y<73Y8A5 >)O 8A?HB JH598;:"5 � %�?Ci�=)?�J'=�:7L � -*-*- � UWEH=�"c? F'=)?H?H36?�blKY8;O <�c>):7<7E " 8A59<98;:T? ZS?H3Y[)8;:T5T3Y<MLa36?VEH365�O_:T8A57EHk&=)?GL)8A=�: <9>SB�8;[)8AK6>)dR<7E�8�59>)O <,"�=�:78�O_>): �S=�d'59<98;:'$ �*� & �0"`EH3 ITE"�=)5�dH:7>)m/=�m'KYL <7E�8&/H:T57<�d'J�m'K63 I;KYL��MBH8;d'KY>hL)8ABN59LW59<98Ak O_>):SkRJH5T36If57EH=�:T3 ?�b � �S=�d'59<98;: "�=)5`=)?]36?H59<7=)?�<

57JHI;I*8A5T5�� JH598AB]m�L kD36K6K63Y>�?'5�>)O�dn8;>)d'KY8R=)K K+>h[)8;:f<7EH8 " >):TK6B 59>�>�? =�O <98;:f3Y<75S36?HI*8;dH<73Y>�? � c>�" 8;[)8;:��+3Y<

"�=)5�57J�8ABVm�LG<7E�8 !`8AI*>):TB %�?'BHJH59<9:7LR1c5757>�I;36=�<736>�?R>)On1Skl8;:T36I;=A@ !=% 1S1CB#O >):�I*>)d�L�:T3Yb�E�<�36?�O :T36?Hb)8Akl8A?�<36?^2c8AI*8AkRmn8;: � -*-*- �#% ?D59d'36<98`>)O�=Gd'=�:7<7?�8;:T5TEH3Yd�"`36<7E&<7E�8aQS8;:Tk&=)? kl8ABH3 =GI*>�kld'=)?�L e 8;:7<98AK65Tk&=)?H?1`Q ��<9>VBH8;[)8AKY>)d =Vkl8AkRmn8;:T57EH3Yd � m'=)598ABlBH3657<9:T3Ym'J�<736>�?l59L�57<98Ak <7EH=�< " >�JHK6B&b�J'=�:T=)?�<98;8Sd'=hL�kl8A?�<75 <9>

=�:7<73657<75�� �S=�d'59<98;: " =)5S8;[)8A?�<7JH=)K6KYLC5TE�J�<cB�>�"`?]m�LCKY8;b�=)K�=)J�<7EH>):T3Y<73Y8A5c36?]o�p)p � � -�EH365��/E�>�" 8;[)8;:�� BH36B?�>)< d'JH< =)? 8A?HB <9>fdn8;8;:�� <9>�� dn8;8;: //KY8 5TEH=�:T36?�b ��=)?'B " 8�57=�" <7E�8�8Akl8;:7b)8A?HI*8`>)O�k&=)?�LRBH8AI*8A?�<9:T=)K 3��;8AB

�S=�d'59<98;:��MI;KY>�?H8A5 36?HI;K JHBH36?�baQ4?�J�<98AK6K6= $ ��q & � � > � > �S=�<73Y>�? $ � � & � �G=�(n=)1 $ ( � & ��1SJHBH3Y>�Qf=)K6=�'�L $ � & �W=)?HB� >):7d'E�8AJH5 $ �)o & � 1S5&>)O � =hL o�p)p�q ��<7E�8;:78 =�:78]kl>):78C<7EH=)? o)o�p k&36K K63Y>�?�B�>�"`?'KY>�=)BH5l>)O��a=�(n=)1

Page 14: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

=)?HB q � k&36K K63Y>�? >)O �C>):Td'E�8AJH5�� � @ 8;8;:�� <9>�� dn8;8;:457L�59<98AkD5cI*>�?�<736?�J�8G<9>^<7E�:T3Y[)8���36? O =)I*<��/<7E�8;L =�:78V?�>KY>�?�b)8;: :78A57<9:T36I*<98AB�<9> 57EH=�:T36?Hb]kVJH5736I /'KY8A5�� [W36B�8;>�5���59>)O_<7" =�:T8 �j=)?HB�>)<7E�8;:&B�>WI;JHkl8A?�<75�� m'JH<VEH=h[)8

kl>,[)8ABCmn8;L)>�?HB <7E�8G:78A=)K6k&5�>)O1/'KY8a5TEH=�:T36?�b <9>&d':7> � 8AI*<75c57JHI"EC=)5SU � - %��4E�>�kl8 $ � p � &9"cEH36ITENdn>�>�K6559d'=�:T8ldH:7>WI*8A575736?�bNdn>�" 8;:G>)O�d'=�:T<736I;3Yd'=)?�<754:T=�<7E�8;:a<7E'=)? <7E�8A3Y:GkVJH573 I /'KY8lI*>�K6KY8AI*<73Y>�?'5 �*-#>�BH=hL �4" 8

598;8l<7E�8lJH578V>)Oj<7E�8A598l59LW59<98Ak&5fO >):f= kRJ'KY<73Y<7JHB�8R>)Oj?�8 " =�d'd'K636I;=�<73Y>�?'5c57J'ITE =)5fBH=�<7= 59<9>):"=�b)8 $ ( - ��)( � � p)p � -*� & �Hb):7>�J�d]I*>�k&kRJ'?H36I;=�<73Y>�? $ � - � � p � & ��" 8;mCd'J�m/K63657EH3 ?�bG=)?HBCI;=)I"EH36?�b%$ �*� � � � � �#�*� & �'=)?HBkl8A575T=�b�36?�b $ �*� �,& �

-�E'365f<7E�8A573 5f8('�d/KY>):78A5a<7EH8D<98AITE'?H36I;=)K =)57d�8AI*<75R>)O�dn8;8;:�� <9>�� dn8;8;:V59LW59<98Ak&5R=)?HB 3 ?�<9:7>WBHJHI*8A5G?�8 "

BH=�<7=f59<9:"JHI*<7J�:78A5 <9>a36kld/KY8Akl8A?�< 57J'ITEl59LW59<98Ak&5P8 $DI;368A?�<7KYL � + EH36KY8 <7E�8�JH598�>)O�dn8;8;:�� <9>�� dn8;8;:�59L�57<98Ak&5

:T=)36578A5�= d'KY8;<7E�>):"= >)OP57>�I;36=)K �WK68;b�=)K �'=)?HB kl>):"=)K+365757JH8A5��!"j8a:T8A59<9:T36I*<�>�J�:`O_>WI;JH5�36?N<7E'365�BH3657578;:7<7=�<73Y>�?

<9>&<7E�8G<98AITEH?H3 I;=)K dH:7>)m'K68Ak&5�<7EH=�<`=�:T3 598f36? <7E�8A3Y:�BH8A573Yb�? =)?HBCBH8;d'KY>hLWkl8A?�< �

���� ��� ��� � ������������� � ����������� "!�#%$

-�E�8l?H=�<7JH:T=)K�/H:T59<&)�J�8A59<736>�? <9>C=)5�� 365;g "`EH=�<f8('�=)I*<7KYL =�:78ldn8;8;:�� <9>�� dn8;8;:G59LW59<98Ak&5& @ 8;8;: � <9>�� d�8;8;:59LW59<98Ak&5j=�:78`K6=�:7b)8 �M5TI;=)KY8 ��B'3659<9:T3Ym/J�<98AB ?�8;<," >): �W5�>)O I*>�kld'J�<98;:"5 "`3Y<7ED?�>aI*8A?�<9:"=)K/=)J�<7EH>):T3Y<ML(' � � =)I"EI*>�kld'JH<98;:j>): k&=)ITEH3 ?�8c36?D=adn8;8;:�� <9>�� dn8;8;: 57L�59<98Ak ��=)K657> ��?H>�"`?^=)5j= : � � ��I;=)?^mn8`E�8;<98;:7>)b)8A?�8;>�J'5

"`3Y<7E dn>�575736m'KYL [�=�:7L�3 ?�b I*>�kld'J�<7=�<73Y>�?'=)KPd�>�"j8;: ��=)?HB 365f57JHm � 8AI*<4<9>CI*:T=)5TE O =)3 K6J�:78A5 � @ 8;8;: � <9>�� d�8;8;:

59LW59<98Ak&5 I;=)?Vm�8 JH598ABRO_>): [�=�:T3Y>�JH5 BH3 %n8;:78A?�<�d'J�:Td�>�578A5+57JHI"ER=)5;g BH3659<9:"3Ym'J�<98ABaI*>�?�<98A?�<PkD=)?H=�b)8Akl8A?�<��

BH3657<9:T3Ym'J�<736>�? >)OcI*>�kld'JH<736?�b]I*LWI;KY8A5 =)?HB�dn8;>)d'KY8 � <9>�� dn8;>)d'KY8 I*>�K6K6=�mn>):T=�<73Y>�? � F�>):l<7EH8^:78A57<V>)O`<7EH365

BH365T598;:7<7=�<73Y>�?�� "j84I*>�?HI*8A?�<9:T=�<98c>�?^<7E�8S365757J�8A5 36?�[)>�K6[)8ABD36?^I*>�?�<98A?�< B'3659<9:T3Ym/J�<73Y>�?��)=)KY<7E�>�JHb�E&<7E�8SJH598

>)OPdn8;8;:�� <9>�� dn8;8;:`59LW59<98Ak&5`3 5�m�LN?�>&kl8A=)?H5`:78A59<9:T3 I*<98AB <9>&<7EH365�=�:T8A=l>)OPO_>WI;JH5 �

% ? = <L�d/36I;=)KfI*>�?�<98A?�<��MBH3657<9:T3Ym'J�<736>�? dn8;8;:�� <9>�� dn8;8;:C59LW59<98Ak �S8A=)ITE dn8;8;: k&=hL EH=h[)8%59>�kl8 � �

�� � ���� <9>D5TEH=�:78)g�<7E�8A578f:78A59>�J�:TI*8A5cI;=)?Cmn8 /'KY8A5��WBH>�I;JHk&8A?�<75���"j8;mCd/=�b)8A5��H<98Akldn>):T=�:7LN=)I;I*8A575c<9>

KY>WI;=)K+=�dHd'K 36I;=�<73Y>�?H5���I*>�?H?H8AI*<73Y>�?H5�<9>Dd'E�LW5736I;=)K�B�8;[�3 I*8A5�8;<7I�� �j=)ITE :78A59>�J�:TI*8R365�JH?H3 )�J�8AK6LD36B�8A?�<73>/H8ABm�L = 8 ��� �nO >):c8('�=)kld'K68 ��3Y<4I*>�JHK6B mn8R= Z ! � O_>):4=*" 8;m d'=�b)8V>):S<7EH8 /'K68A?H=)kl8aO >):f=^B�>WI;JHkl8A?�< �-�E�8GdH:T36k&=�:TL^b)>�=)K 365�<9> 57EH=�:78R<7E�8R=h[ =)3 K6=�m'KY8a:T8A59>�J�:TI*8A5 *) � � +��� 2 � =)k&>�?�b =)K K <7E�8Gdn8;8;:T5 ��Qf3Y[)8A?<7E�8 �)8;L >)O�=N:78A59>�J�:"I*8 ��>):G= 598;<G>)O �)8;L "j>):"BH5a<7EH=�<RB�8A57I*:T3Ymn8 = b):7>�J�d >)O�=)I;I*8;dH<7=�m'K68D:78A59>�JH:TI*8A5��

+-,/.10324656.87:9*032�0;4<9*0;46=-9?>@A7B>8CEDF56>G27H4<DB@I>�J;KL2�0;46>MDH=-2D:N�.O@P>MQRDS7H2�0�TVUGUMWYX[ZGZ�\G\G\A]_^a`�\GbacG`Gd^A]*eM`-f�]gih�j .1J;.�=82D"N�.L9k>MK�.�=-.-DV0kJ325�2lM.1DF=1mn0 j 2�0o469k9kQF.-9pKL2= j 46DF.L4<7R.-DV0;4rqS.iJ;9-sY@P>Jo.1tR2K�uF56.Lv*wx2M7F7aJ;.-9k9k.-9-s�NFQB0y0 j .

>J;lM2DR4<z-2�0;46>MD{>@�0 j .Ou�.-.iJk|}0;>�|}u�.-.1J~9*mB9*0;.-K�4r0;9k.-5r@A469/7B.-=-.-DV0kJ325646z-.87��

o

Page 15: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

" 8 " >�JHK6B K63 �)8]<9>�B�8A5T3Yb�? = dn8;8;:�� <9>�� dn8;8;: 59L�57<98Ak <7E'=�<�"c36K6K�KY>WI;=�<98 :78A59>�J�:TI*8A5N36? <7E�8 59LW59<98Ak �

=)?HB 8A?'=�m'KY8 57EH=�:T3 ?�b "`3Y<7E k&36?'36kRJ'k I*>�kDkRJH?'36I;=�<73Y>�?�� 59<9>):T=�b)8 ��=)?HB k&=)3 ?�<98A?H=)?'I*8 � %�? = <9:T=��

BH3Y<736>�?H=)K I;K63Y8A?�<��M598;:7[)8;:Vkl>�BH8AK �+<7E�8&:T8A59dn>�?H573Ym'3 K63Y<ML <9> k&=)36?�<7=)36? 57JHI"E =C57L�59<98Ak O =)K K654>�? =C5Tk&=)K6K

I;K6JH57<98;:R>)O`578;:7[)8;:lk&=)ITEH3 ?�8A5 � 1c5V>)dHdn>�598AB <9>]<7E'=�<���dn8;8;:�� <9>�� dn8;8;: 57L�59<98AkD5VB'3659<9:T3Ym/J�<98l<7E�8NKY>�=)B

>)O�k&=)36?�<98A?H=)?HI*8D=)kl>�?Hb =)K6KP<7E�8ld'=�:T<736I;3Yd'=�<736?Hb dn8;8;:T5��+<7E�J'5fdH:7>,[�36B'36?�bN36?HE�8;:78A?�<f57I;=)K6=�m'3 K63Y<ML =)?HB

KY>�=)B�m'=)K6=)?'I;36?�b �%1�<l<7E�8 57=)kl8N<736k&8 ��?�8 " ITEH=)K KY8A?�b)8A5 EH=A[)8 <9> mn8Nkl8;< <9> m'JH36K B 8 $DI;3Y8A?�<&=)?HB

:7>)m'J'59<&BH3659<9:"3Ym'J�<98AB�BH=�<7= 59<9:TJHI*<7J�:T8A5l<9> 36k&d'KY8Akl8A?�<l57JHITE 59LW59<98Ak&5DJ'5736?�b%36?'BH3Y[W36BHJH=)K �Pdn>�575736m'KYL

O =)JHKY<MLNI*>�kldn>�?�8A?�<75 �

� � � 6 � ��6 � �� � 0� ��� � � � ������ � � � �� � � " =)54= <98;:Tk /H:T57<cI*>�36?�8AB m�L � 36<,"`36? +� �2 4 $ � ( &36?]<7E�8lI*>�?�<98('W<f>)OjB'3659<9:T3Ym/J�<98ABCBH=�<7=�m'=)578 57L�59<98AkD5 � + 8&598;8�� <9> B�8A5T3Yb�?]5T36k&36K6=�:SK6=�:7b)8 �M57I;=)K68 �+BH365��

<9:T3Ym/J�<98AB BH=�<7=&59<9:"JHI*<7J�:78A5�<7E'=�<�8A=)5736KYLN57J�d'd�>):T< KY>WI;=�<73Y>�?C=)?'BCk&=)36?�<98A?H=)?HI*8a>)O 57E'=�:78AB :78A59>�JH:TI*8A5��

=)?HBCE'=A[)8a<7E�8GO_>�K6K6>�"`36?Hb BH8A573Y:T=�m'K68cdH:T>)d�8;:T<73Y8A5;g

� ��� � � �� 6 ��� ����� � � � -`E�8^BH=�<7= 59<9:"JHI*<7J�:78N57E�>�JHK B mn8 BH3 59<9:T3Ym'JH<98AB%=)kl>�?�b =)K6Kj<7E�8^d/=�:7<736I;3Yd'=)?�<75

>)O�<7EH8^59LW59<98Ak � 1 I*8A?�<9:T=)K 598;:7[)8;:��P>):V8;[)8A? =]I;K6JH59<98;:V>)O�57JHI"E 598;:T[)8;:T5�� k&=AL d':7>h[)8 <9>]mn8

3 ?�<9>�KY8;:"=)?�<^<9> O =)JHKY<75���=)?'B "`3 K6K�:78�)�JH3Y:78 I*>�?'5736B�8;:T=�m/KY8 36?�[)8A59<7kl8A?�<^O >):NEH3Yb�E � dn8;:7O >):Tk&=)?HI*8

E'=�:TB�"�=�:78a=)?HBCEH36b�ENm'=)?HB�"`3 B�<7E��

� � � 6 � � � 6 � � � � -�E�8 % ?�<98;:T?H8;<�JH598;:+I*>�k&kVJH?H36<MLfEH=)5 b):7>�"`?f<9>�mn8�59>cK6=�:7b)8 <7EH=�<�B'3659<9:T3Ym/J�<98AB459L�57<98Ak&5

?H8;8AB <9>CI*>)d�8 "c3Y<7E k&36K6K636>�?H5�>)O�JH598;:T5 � %�? =)? 36BH8A=)K#dn8;8;:�� <9>�� dn8;8;:G57L�59<98Ak � <7E�8&I*>�59<fmn>):T?�8

m�LN8A=)ITE d'=�:7<736I;3Yd/=)?�<�57EH>�JHK6BN?�>)<`B�8;dn8A?HB <9>�>DkVJHITE >�? <7E�8G573 �;8f>)O#<7E�8G8A?�<73Y:T8a59L�57<98Ak �

� ��� � � � 6 � �4� � � < � + 8=" >�JHK6B K63 �)8 <7EH8�I*>�59< >)O�kD=)36?�<7=)3 ?H36?�bS<7E�8�59LW59<98Ak <9>fmn8�JH?H3YO >):Tk&KYLa5TEH=�:78AB

mn8;<7"j8;8A?]=)K6K <7E�8fdn8;8;:T5 �jU�36k&36K6=�:"KYL ��<7EH8a59L�57<98Ak 57E�>�J'K6B m�8a=�m/KY8f<9>Dk&=)?H=�b)8�� � �2 ���� � �

3 � 8 � �HEH3Yb�ENBH=�<7= :78�)�J�8A59<�[)>�K6J'kl8fBHJ�8S<9> � � : � �� 6 6 � � � 6 � � � ��"`EH8A? = d/=�:7<736I;JHK6=�:�:78A57>�J�:TI*8

mn8AI*>�kl8A5�8('�<9:78Ak&8AKYLDdn>)d'JHK =�:jO >):�=l57E�>):7<�dn8;:T3Y>WB^>)O#<736k&8 ��F�>):�8('�=)kld'KY8 �W<7E�8fdn>)d'JHK =�: " 8;m

5T3Y<98�\ � � @������ ������ � � �� ������ � ���$B/57=�"�:T8AI*>):TBV<9:T=0$DI���EH3Y<9<73 ?�bc?H3 ?�8jk&3 K6K63Y>�?4d'=�b)8�[W3Y8 "`5 =)?EH>�J�:�BHJ�:T3 ?�bc<7EH8�<98;:7:7>):T3657<P=�<9<7=)I ��5j>�?^U�8;d'<98AkGmn8;: �*� ��o�p)p � 36? �`8 " X >): � ��Z4U�1 ��I*>�kld/=�:78AB<9>^=)?C>):TBH3 ?H=�:7L&[)>�K6J'kl8f>)OP8AKY8;[)8A? k&3 K6K63Y>�?^d'=�b)8a[W3Y8 "`5�=&B'=AL $ q*- & �

� � �� �;�� ��� � � ���4� �4��� � -�E�8]kD=)57573Y[)8]d'=�:T=)K6KY8AK 3657k 36? d�8;8;: � <9>�� d�8;8;:N59LW59<98Ak&5���B'J�8 <9>�EH3Yb�E

:"=�<98^>)O`kD=)ITEH36?H8^=�:7:T36[ =)K65R=)?HB�B�8;d'=�:7<7J�:T8A5��#d':78A598A?�<75R59>�k&8^[)8;:7L ITEH=)K6K68A?�b�36?�b 3 5757J�8A5G<7EH=�<

q

Page 16: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

=�:T8D<9:T3Y[W36=)K6K6L 59>�KY[)8AB 36?%= 57L�59<98Ak "`3Y<7E /�'�8AB kl8AkGmn8;:T5TEH3Yd �*-`E�8&59LW59<98Ak 5TE�>�JHK6B mn8&598AKYO �

I*>�?�/Hb�J�:T36?Hb ��=)?HB k&=)ITEH3 ?�8A5 =)?HB :78A59>�JH:TI*8A5�57E�>�J'K6BGmn8�=)BHB�8AB =)?HBlBH8AKY8;<98AB O_:T>�k0<7E�8�59LW59<98Ak

)�JH36I ��K6L*"`3Y<7EH>�J�<�k&=)?�JH=)K 36?�<98;:7[)8A?�<736>�?C>):�>,[)8;:T573Yb�E�< �

�4� � 6 ��� � 6 � �� � ���� -�EH8SBH=�<7= 59<9:"JHI*<7J�:78457E�>�JHK B&mn8c:T8A5736K63Y8A?�<�<9> mn>)<7ENk&=)ITEH3 ?�8S=)?'B K 36? � O =)3 K6J�:78A53 ? <7E�8 59LW59<98Ak � ��[)8A? 3YOa= d'=�:7<D>)OG<7E�8 57L�59<98Ak EH=)5^O =)36KY8AB���<7E�8 BH=�<7=�=A[�=)36K6=�m'K68]36? <7E�85TJ�:7[W3Y[�3 ?�b k&=)I"EH36?�8A5N57E�>�J'K6B 59<73 K6K�mn8 =)I;I*8A57573Ym'K68 �`=)5NKY>�?�b�=)5 3Y<^365NKY>WI;=�<98AB 36? <7E�8 57=)kl8

I*>�?'?�8AI*<98AB I*>�kldn>�?�8A?�<a=)5a<7EH8l:78�)�JH8A59<736?�bNdn8;8;: �lFHJ�:7<7EH8;:��+<7E�8D57L�59<98Ak 57E�>�JHK6B b):T=)I*8;O JHK6K6L

BH8;b):T=)B�8&"`36<7E 36?HI*:78A=)573 ?�b O =)36K J�:78A5 �

��� 6 � � ���� � � 6 ��� ����� � � � �c>)<&>�?HK6L 57E�>�J'K6B�<7E�8C59LW59<98Ak 57JH:7[�36[)8NB'3659:TJ�d'<73Y>�?H5GB'J�8 <9>%O =)36K6J�:78A5���m'J�<

36< 5TE�>�JHK6B�=)K659>%E�8A=)K�=)JH<9>�k&=�<736I;=)K6KYL <9> :78A59<9>):78C3 B�8A=)K d�8;:TO_>):TkD=)?HI*8 � -�EH8 59LW59<98Ak 5TE�>�JHK6B

E'=A[)84=G:78;d/=)3Y: kl8AI"EH=)?H3657k�<7EH=�< B�8;<98AI*<75�KY>�I;=)K/36?HI*>�?H5T3659<98A?HI;3Y8A5j57JHI"ED=)5 k&=)ITEH3 ?�8`O =)36K6J�:T8A5 >):

K 36? �l>�J�<7=�b)8A5���=)?HB <9:T3Yb)b)8;:T5�kD=)36?�<98A?'=)?HI*8f>)dn8;:T=�<73Y>�?H5 "`36<7E kD36?H36k&=)K'>h[)8;:TEH8A=)B 36? <98;:Tk&5�>)O

?H8;<," >): �N<9:T=0$DI��

��� � � ��� � �� � ���21� �4< � -�E�8 dH:T3 k&=�:7L b)>�=)KG>)OV= dn8;8;:�� <9>�� dn8;8;: 57L�59<98Ak 365N<9> KY>WI;=�<98%:78A59>�JH:TI*8A5

8 $^I;3Y8A?�<7K6L �n=)?'B EH8A?HI*8V5TJ�dHdn>):7<�O >):f598A=�:TITE'36?�bNJH5736?�b^=^[�=�:T3Y8;<LC>)O 59dn8AI;3>//I;=�<73Y>�?H5S365c= [)8;:7L

BH8A573Y:T=�m'K68Vd':7>)dn8;:7<ML � \ >�kld'KY8(' )�J�8;:T3Y8A54<9> KY>�I;=�<98D:78A59>�J�:TI*8A5R57JHI"E =)5a:"=)?�b)8*)�J�8;:T3Y8A5��#?�8A=�:

kD=�<7ITE�8A5 <9>a= �)8;L ��=)?HB��)8;L "j>):"Blk&=�<7ITE�8A5j57E�>�JHK BGmn8�57J�dHdn>):7<98ABVm�LR=4:T3 ITE )�JH8;:7LRK6=)?Hb�JH=�b)8 �

��� � � 0� � � � -�E�8 59LW59<98Ak057E�>�JHK6BGmn8j598AI;J�:T8 =�b�=)36?'59< =�<9<7=)I ��5 57JHITEV=)5P= � ��� �;� 6 � ��� � �� �4�;��� =�<9<7=)I � �"cE�8;:78f59>�kl8ak&3 57I*:78A=)?�< d/=�:7<736I;3Yd'=)?�<75�k&=hL�� �H>�>WB��V<7E�8f59L�57<98Ak ��<7E�8;:78;m�L^d':78;[)8A?�<73 ?�blKY8;b�3Y<��

3 k&=�<98c<9:"=0$DI�� %�?^59>�kl84=�dHd'K63 I;=�<73Y>�?H5���36<jk&=hL&=)K659>Vm�8cB�8A573Y:T=�m/KY8�<9>VkD=)36?�<7=)3 ?D=)?�>�?�L�kD3Y<ML&>)O

<7EH8VJH578;:T5���>):cdH:T>h[W36B�8G:T8A573659<7=)?HI*8R<9> I*8A?H59>):T57E'3Yd m�L dH:78;[)8A?�<736?�b I*8;:7<7=)36? BH=�<7= 3Y<98Ak&5c<9> mn8

BH8AKY8;<98AB O :7>�k <7E�8G57L�59<98Ak �

� ��: � 6 ��< �;� � 6;6 ��� ����� �� ��� � � ��� � � � ���� � � � !`>�J�<736?�b 57E�>�J'K6B mn8l598A?H5T3Y<73Y[)8 <9>C?�8;<," >): � KY>WI;=)K63Y<L5TJHITE =)5 BH3657<7=)?HI*8%<9:T=h[)8AKY8AB >): K6=�<98A?HI*L =)KY>�?�b <9:T=)?H57k&3 57573Y>�? d'=�<7E'5 � - " > dn>�575736m'KY8 =�d �

d':7>�=)ITE�8A5G=�:78)g@ 3 B � �� �4� �� � � �� � ��� �4< "`E�8;:78lk&=)I"EH36?�8A5f=�:78ld/K6=)I*8AB 36? <7E�8&?�8;<," >): � <9>

8('Wd'KY>�36<�<7E�8GJH?HBH8;:TKYLW36?�bV<9>)d�>�K6>)b)L �/=)?HB*@ 363 B � �� �4�; �� � � � �!�;< 2 � � � 6 � ���� � � "`E�8;:T8a<7E�8

I;K6>�598A59<�?�8A3Yb�E�mn>):T5 @ =)5�dn8;:�<7E�8fdH:7>�'W36kD3Y<MLDk&8;<9:T36I B =�:78aI"E�>�598A? =)kl>�?�bl<7EH8a598;<�>)O�dn>)<98A?�<736=)K?H8A3Yb�E�mn>):T5 �

Page 17: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

% ?l<7EH365 B'3657598;:7<7=�<736>�?��"j8c=�:78�dH:T36kD=�:T36KYLa36?�<98;:78A59<98ABD36?lB�8;[)8AKY>)d'3 ?�bf=�dHdH:7>�=)I"E�8A5�<9>GBH8A573Yb�? dn8;8;:��

<9>�� dn8;8;:c59LW59<98Ak&5�<7EH=�<�O >�I;JH5�>�? <7E�8aO 8A=�<7J�:78A5cK63659<98ABN=�mn>h[)8 �

����� ���%�����n��!�� ��� �� � ������������� � ��� ��� Y� y$�

e 8;O_>):T8 " 8fKY>�> �D=�<�I*>�?�<98Akldn>):T=�:TLDdn8;8;:�� <9>�� dn8;8;:�59LW59<98Ak&5��!" 84B'3657I;JH575 <7E�8f?�8;8AB O_>):�= ?�8 " kl>WB�8AK

<9>]3 kld'KY8Akl8A?�<4dn8;8;:�� <9>�� dn8;8;:R59LW59<98Ak&5 ��-�E�8 " 8;m EH=)5a<9:T=)BH3Y<73Y>�?'=)K6KYL mn8;8A?%J'598AB O >):GI*>�?�<98A?�< BH365��

<9:T3Ym/J�<73Y>�?�� + =)5l3Y<RO_8A=)5736m'KY8&<9> JH598^<7E�8*" 8;m�<9> 36k&d'KY8Akl8A?�<adn8;8;:�� <9>�� dn8;8;:V57L�59<98AkD5& -�E�8;:78 =�:78

<," > 36kldn>):7<7=)?�<`:78A=)57>�?H5`<7E'=�<Sk&=��)8 <7E�8 " 8;m JH?'57JH3Y<7=�m'K68fO_>):4>�J�:Sd'J�:7dn>�598A5 ��F 36:T59<7KYL ��<7E�8 " 8;m 365

m'=)598ABV>�?l=S<9:T=)BH36<73Y>�?H=)K�I;K63Y8A?�<��M598;:7[)8;:�kl>WB�8AK "`E�8;:78 <7E�8;:78�=�:78�:78AK6=�<736[)8AKYLaO 8 " ��kl>):78�dn>�" 8;:7O JHK �)=)?HB

:78AK63 =�m'KY8�598;:7[)8;: k&=)I"EH36?�8A5P<7E'=�< =�:78�:78A59dn>�?H5T3Ym'KY8jO_>): 578;:7[�3 ?�b4<7E�8�I*>�?�<98A?�< ��1 d�8;8;: � <9>�� d�8;8;: 59LW59<98Ak �

>�?C<7EH8G>)<7E�8;:4EH=)?HB��/365�=&[)8;:TLCB�L�?'=)k&36If59LW59<98Ak "`3Y<7E dn8;8;:T5cI*>�?�<736?�J�>�JH5TKYL^8A?�<98;:T36?HbD=)?HB K68A=A[W36?�b

<7E�8 59LW59<98Ak � -#:T=)BH36<73Y>�?H=)K 57>�K6J�<73Y>�?H5R<9>%KY>WI;=�<98N:78A59>�J�:TI*8A5 <7E'=�< I;=)?�mn8NJH598AB�36?�= 59L�57<98Ak "`3Y<7E

/�'W8ABDkl8AkRmn8;:T57EH36d K 3 �)8�<7E�8 "j8;m ��=�:78c?H>)<�[�3 =�m'KY8�O >):j57JHI"EDB�LW?H=)k&3 I�59LW59<98Ak&5 � U�8AI*>�?HB'KYL ��:78A57>�J�:TI*8

KY>WI;=�<73Y>�? >�?D<7EH8 " 8;m 365 B�>�?�8cJ'5736?�b )��� ���� �� � �+ +�?� ���� <7EH=�<�=�:784>):7b�=)?H3��;8ABNEH368;:T=�:TITE'36I;=)K6KYL 36?=4<9:78;8 � �j=)ITE&?�>WB�8�>)O�<7E�8�<9:78;8�59<9>):T8A5 59>�kl8 " 8AK6K �MBH8 /'?�8AB 57J�m'578;< >)O�<7E�8 % @ �)8;LW59d'=)I*8`=)?'Bl598;:7[W36I*8A5

:78�)�J�8A59<75`O_>):`36< � -�EH3 5�<9:78;8R=�dHd':7>�=)ITE]365�?�>)<�[)8;:TL O =)JHKY<�� <9>�K68;:T=)?�<V�/<7E�8;:78G3 5�O =�:c<9>�> kRJ'ITE K6>�=)B >�?<7E�8l?�>WB�8A5fI;KY>�598;:f<9> <7EH8V:T>�>)<���=)?'B]8;[)8A? = 5T36?�b�KY8VO =)3 K6J�:78 I;=)? d'=�:7<73Y<736>�?]<7EH8V8A?�<73Y:78lBH=�<7= 57<9:TJHI �

<7J�:78 � !`8;d'K636I;=�<73 ?�bG?�>WB�8A5 k&=ALD=)K KY8;[�3 =�<98c<7E�8cdH:7>)m'K68Ak m'JH<�mn8;<9<98;:�57>�K6J�<73Y>�?H5jEH=A[)84mn8;8A?^dH:7>)dn>�598AB

<7EH=�<�:78;<7=)36? <7E�8Smn8A?�8 /H<75j>)O�<9:78;8A5 �#-�E�8SK6=�:7b)8 �M57I;=)KY8 �HB'3659<9:T3Ym/J�<98AB&?H=�<7J�:T8c>)O#<7E�8 % ?�<98;:T?�8;<�=)?HB <7E�8

b):7>�"`36?�b 573��;8V>)O <7E�8VI*>�?'57JHkl8;:Sm'=)598VEH=A[)8lI*:78A=�<98AB <7E�8 ?�8;8AB]O_>):4=^?H8 "�kl>WB�8AK�O_>):4dn8;8;:�� <9>�� dn8;8;:

59LW59<98Ak&5 � c>�" 8;[)8;:���"j8V?�>)<98G<7E'=�<cm�L ?�>Dkl8A=)?H5S=�:78 "j8VI;K6=)36k&36?Hbl<7EH=�<`<7E�8Gd�8;8;: � <9>�� d�8;8;:4kl>WB�8AK

"`36K K':78;d/K6=)I*8f<7E�8aI;K63Y8A?�<��M598;:7[)8;:ckl>�BH8AK 36? <7E�8G?�8A=�:�O J�<7J�:78���mn>)<7E kl>WB�8AK65 "`3 K6KnI*>�� 8('W3657<�B�8;dn8A?HBH36?�b>�? <7E�8R=�dHd'K636I;=�<736>�?H5 <7EH=�<�<7E�8;L =�:78amn8A36?Hb J'598ABNO_>): �

+ 8f?�>�" 8('Wd'KY>):T8S59>�k&8c>)O+<7EH8SB�8A5T3Yb�?H5j<7EH=�<�EH=A[)84mn8;8A?Dd':7>)dn>�598ABDO >):�36kld'KY8Ak&8A?�<736?Hbadn8;8;:�� <9>��

dn8;8;:`59LW59<98Ak&5 �

��������� �������! #"%$'&)(*&+�-,. -�0/1(2�!34�! 5&�67�

�S=�d'59<98;: $ �*� & "�=)5 <7E�8 /H:T59<Vd'J�m'K 36I;KYL �MB�8;d'KY>,L)8AB%dn8;8;:�� <9>�� dn8;8;:&59LW59<98Ak � %�<lJH598AB�= I*8A?�<9:T=)K�578;[)8;:

<9> k&=)3 ?�<7=)36? =)? 36?HB�8(' >)O@ 2 �� ��� ���8�9 ) ) � �� � B&d'=)3Y:"5�� =)?HB �)8;d'<&<9:T=)I ��>)OS<7E�8CKY>WI;=�<73Y>�?H5l>)O

Page 18: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

=)K6K <7E�8^kVJH5736I�/'KY8A5G3 ? <7E�8^57L�59<98Ak � + EH8A? = J'598;: "�=)?�<98AB =]d'=�:7<736I;J'K6=�:GkVJH5736I //KY8 � 5TE�8�" >�JHK6B

)�J�8;:7L <7EH365�598;:T[)8;:��'=)?HBCJHd�>�?C:78AI*8A3Y[W36?�bl<7E�8 % @ =)B'B�:78A575 @ 8A5 B >)OP<7E�8Gk&=)I"EH36?�86@ 5?B�<7EH=�<`E�>�59<98AB <7E�8:78�)�J�8A59<98AB :78A57>�J�:TI*8 �+57E�8 " >�JHK6B B�>�"c?HKY>�=)B <7E�8 /'KY8VO_:T>�k <7E'=�<aKY>�I;=�<736>�?��&-�EH365 /'KY8V<9:T=)?H57O_8;: "�=)5

B�8AI*8A?�<9:T=)K63��;8AB =)?'B 36?HB�8;dn8A?HB�8A?�< >)O#<7E�8aI*8A?�<9:T=)K+36?HBH8('^598;:7[)8;: � �f?�84d�>)<98A?�<736=)K =�:7b�J'kl8A?�<�=�b�=)3 ?H59<<7EH365P573 kld'KY8�=�dHdH:7>�=)I"E&365 <7E�8�K6=)I �R>)On57I;=)K6=�m/36K63Y<L �)m'J�<P<7E�8�8('�3659<98A?HI*8�>)O�K6=�:7b)8 �M57I;=)KY8c598;:7[)8;: I;K6J'59<98;:T5��

57JHI"El=)5 <7E�>�598�J'598AB m�LRdn>)d'JHK6=�:�" 8;m&573Y<98A5jQS>�>)b�KY8 $ � ( &'=)?'B X =)E�>�> $ � o�p,& ��dH:7>,[)8�>)<7E�8;:�"c36598 � `>�" �8;[)8;:��H<7EH8a598;<��MJ�dC>)OP57JHI"EC59LW59<98Ak&5�k&=hLN:78�)�J'3Y:784I*>�?H5736B�8;:"=�m'KY8f36?�[)8A59<7kl8A?�<�O_>):cEH3Yb�E � dn8;:7O >):Tk&=)?HI*8

k&=)I"EH36?�8A5���EH3Yb�E m/=)?HB�"`36BH<7EN8;<7I��="`EH36I"ECk&=��)8A5S3Y<cJ'?H57JH3Y<7=�m/KY84O_>):S36kld'KY8Ak&8A?�<736?Hb&=&dn8;8;:�� <9>�� dn8;8;:

59LW59<98Ak ��1SBHBH3Y<736>�?H=)K6KYL �)<7E�8S=�dHdH:7>�=)I"E^3 5 ?�>)<jO =)JHK6<�<9>�KY8;:T=)?�<V��<7E�8cI*8A?�<9:T=)K�598;:7[)8;: dH:7>,[�36BH8A5 =G5T36?�b�KY8[WJHK6?�8;:T=�m/KY8Ddn>�36?�<G>)OcO =)36K J�:78 � -�EH365RO =)I*<&KY8AB�<9> <7EH8NJ'KY<736k&=�<98NB�8Ak&36578^>)O �c=�d'57<98;:&=)5 <7E�8 KY8;b�=)K

=)J�<7E�>):"3Y<73Y8A5 <9:T=)I �)8AB���=)?HBl8;[)8A?�<7JH=)K6KYL&5TE�J�<�BH>�"`?���<7E�8c5T36?�b�KY8�8A?�<73Y<MLl<7EH=�< " =)5j:78A59dn>�?H5T3Ym'KY8 O_>):j<7E�8

k&=)?H=�b)8Ak&8A?�<c>)O �S=�d'59<98;: �

-�EH8lO =)K6KP>)O �S=�d'59<98;:R5T=�" <7EH8l8Akl8;:7b)8A?HI*8^>)O 598;[)8;:"=)K�>)<7E�8;:V59L�57<98Ak&5a57JHI"E%=)5VQf?�J�<98AK K6= $ ��q & �F�:78;8A?H8;< $ o � &�� ���C>):Td'E�8AJH5 $ �)o & �+=)?HB �a=�(n=)1 $ ( � & �aZc?'K63 �)8 �S=�d'59<98;: �#Q4?�JH<98AK6K6=DBH8AI*8A?�<9:T=)K 3��;8A54<7E�836?H36<736=)K :78A59>�JH:TI*8 B'3657I*>h[)8;:TL 36? =)B'BH3Y<73Y>�? <9> <7EH8*/'KY8^<9:T=)?H59O 8;:��Pm�L JH5736?Hb � ������� �4< <9> KY>WI;=�<98N:78 �

59>�J�:"I*8A5 $ � �*& �`Q4?�J�<98AK6K6=&m'JH36K6B'5 =^?�8;<," >): �C36?�"`EH36I"E 8A=)ITE k&=)ITE'36?�8G365cI*>�?H?�8AI*<98AB]<9>^=DO_8 " >)<7E�8;:k&=)I"EH36?�8A5 36?�<7E�8 ?�8;<7"j>): ��"`EH3 ITE�=�:78 I;=)K6KY8AB�3Y<75 � +� 0 $(������� � 3 � 8 � ��8A=)I"E k&=)ITE'36?�8 ��?H>�"`5V<7E�8 % @=)BHB�:T8A57598A5�>)O 3Y<75`?�8A3Yb�E�m�>):"5�=)?HB I;=)?]I*>�k&kVJH?H36I;=�<98 "`3Y<7E <7E�8Ak � 10k&=)I"EH36?�8a:T8�)�J�8A57<75`3Y<75c?�8A3Yb�E �

mn>):T5aO >): =]B�8A5T3Y:78AB :78A57>�J�:TI*8���<7E�8A578 ?�8A36b�E�mn>):T5a3 ?%<7J�:T? =)5��%<7E�8A36:R?�8A3Yb�E�mn>):T5��P=)?HB 57>]>�?�� JH?�<736K<7E�8a:T8A59>�J�:TI*8a365�O_>�JH?'B�� �`>^B�>�J�mH<���<7E�8Rkl>)<73Y[�=�<73Y>�? O >):�<7EH365�B�8A5T3Yb�?�"�=)5�<9>Dk&=��)8V?�>&5736?Hb�KY84d'=�:��

<736I;3Yd/=)?�<436?HBH3 59dn8A?H57=�m'KY8 �/=)?HB <7E�JH54k&=��)8&36<43 kldn>�57573Ym'K68fO_>):f=)?�L =)J�<7EH>):T3Y<ML <9>CI*>�?�<9:7>�KP>):aI*8A?'59>):

<7E�8 ?H8;<," >): � � F�:T>�k = <98AITEH?H3 I;=)K`59<7=)?HBHd�>�3 ?�<&E�>�"j8;[)8;: ��<7EH365&365D?�>)<^= 57I;=)K6=�m'KY8C57>�K6J�<73Y>�? =)5^3Y<

I*:78A=�<98A5&=)?�8A?H>):Tkl>�JH5 [)>�K6J'kl8^>)Oc<9:T=0$DI 36?�<7E�8 ?�8;<7"j>): � O >): 8A=)ITE :78�)�J�8A59< $ -,� & � %�?�=)BHB'3Y<73Y>�?��

�H>�>�B'36?�blI*:78A=�<98A5S=&<9:T=)B�8 � > %%mn8;<7"j8;8A?]>h[)8;:TK6>�=)BH36?�b&8;[)8;:TLNkD=)ITEH36?H8G36? <7E�8R?�8;<," >): �C=)?HBCI;JH<9<736?�b

> % 578A=�:TITE�8A5�mn8;O >):784I*>�kld'KY8;<73Y>�? �1%�O+<7E�8S<736kl8 � <9>��MK 3Y[)84>�? = kl8A5T57=�b)848('�d'36:78A5��W=G:78A57>�J�:TI*8fk&=AL ?�>)<

mn8GO >�JH?HB 8;[)8A? 3YO 3Y<c365c>�?HKYL >�?H8VE�>)d =�"�=AL]O_:T>�k <7EH8Gdn>�36?�<`>)O I;J�<�� > % �aU�>^8;[)8A? 3YO <7EH8R:78A57>�J�:TI*8

365S=)I*<7JH=)K6KYL d':78A598A?�<S36? <7E�8 ?�8;<," >): � �+3Y<ck&=hL]?�>)<Smn8R=)I;I*8A575T3Ym'KY8V3YO�3Y<c3 5 � JH59< ��#(� ��*�� ��$ >)O�<7E�8

:78�)�J�8A59<736?Hbld�8;8;: �

U�LW59<98Ak&5#57JHI"ER=)5��C>):7d/E�8AJH5�=)?'B �a=�(n=)1 =)K KY8;[�3 =�<98�<7E�8 d':7>)m'KY8Ak >)O �'>�>WBH36?�b�<9:T=0$^Ij59>�k&8 "`EH=�<��� .�7R469k=-QR9k9��BJ;.-.-DF.i0E4<D%@IQRJk0 j .1J~7R.i032465�46D�� j 2uB0;.1Ja�

(

Page 19: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

36? dH:T=)I*<73 I*8 m�L JH5T36?�b � : � ���: � � � �� � @ 8;8;:T5 O >):Tk KY>WI;=)KSb):7>�J�d'5N=)?HB 8AKY8AI*< =�57J�dn8;:�� dn8;8;: <9>

d'=�:7<73 I;3Yd'=�<98l>�?%<7EH8A3Y:fmn8AEH=)KYOj3 ? <7E�8D?�8;<7"j>): � �^1SK6K <7EH8l:78A59>�J�:TI*8D:78�)�JH8A59<75G=�:78^598A?�<G>�?HKYL <9>]<7E�8

57J�dn8;:�� dn8;8;:T5��)8A=)ITE&>)O�"`E'36ITElk&=)3 ?�<7=)36?'5 =)?D36?HBH8('R>)On<7E�8�:78A59>�JH:TI*8A5 E�>�57<98ABlm�Ll3Y<75P>�"`?&b):T>�J�d ��%On=

:78A59>�JH:TI*8 3 5�?�>)< O_>�J'?HBG36?R3Y<75#>�"`?Rb):7>�J�d �)=S57J�dn8;:�� dn8;8;:9"`3 K6K�I*>�k&kVJH?H36I;=�<98 "`3Y<7EG>)<7E�8;: 57J�dn8;:�� dn8;8;:T5

<9>RK6>�I;=�<98c<7E�8`:78�)�J�8A59<98ABD:78A59>�J�:"I*8 ��1cKY<7EH>�J�b�E&3Y< =)k&8A?HBH5 57>�kl8�>)O <7E�8�d':7>)m'KY8Ak&5�>)O �H>�>WBH36?Hb �)<7EH365

=�dHdH:T>�=)ITE 3 5a59<736K6KP36?'E�8;:78A?�<7KYL]JH?'57I;=)K6=�m'KY8 �^F K6>�>WBH36?�b I;=)? m�8&=h[)>�36B�8AB�� m'J�< "c3Y<7E <7E�8D=)BHB'3Y<73Y>�?H=)K

I*>�59<�>)O k&=)3 ?�<7=)36?'36?�b 59L�?'ITE�:7>�?'3��;8AB��HBH3657<9:T3Ym'J�<98AB 36?HBH8('�8A5�=)kl>�?Hb&<7E�8G57JHd�8;: � d�8;8;:"5 �

��������� � /1( 5&�6�� /1�-, � 3 �!34�! 5&�67�

-�E�8 /H:T57<�� b)8A?�8;:T=�<73Y>�? I*>�k&k&8;:TI;36=)KP59LW59<98Ak&5fEH=h[)8&59d'=�"c?�8AB = K6>)<c>)O 36?�<98;:T8A59<736?�b :78A598A=�:TI"E 36? <7E�8

=)I;=)B�8Ak&3 IlI*>�k&kRJ'?H3Y<ML ��<7E�8&B�8;<7=)36K65S>)O "`EH36I"E =�:78&I*>h[)8;:78AB 36? \�EH=�d'<98;:Go � c8;:78 �4" 8 � JH59<4b�3Y[)8&=

mH:T368;O'>h[)8;:T[�3Y8 " >)O 59>�kl8c>)O�<7EH8="j8AK K � ��?H>�"`?&57L�59<98AkD5�<9>Gd':78A598A?�< =aI*>�?�<98('�< O_>):j>�J�: I*>�?�<9:T3Ym'JH<73Y>�?H5 �

U�8;[)8;:"=)K#:T8AI*8A?�<f59LW59<98Ak&5SK63 �)8l\�1 � $ -*� & ��\�E�>):TB $ �*� o & � @ =)57<9:7L $ -*- & �n=)?HB -#=�dn8A59<9:TL $ � o*� & JH598= ��� � 0� �1� � � � 24� �2 ��� �16 ��� �� � =)5`<7E�8Rm'=)5736IRBH=�<7=D57<9:TJHI*<7J�:78RO_>):S=&dn8;8;:�� <9>�� dn8;8;:f59LW59<98Ak �-�E�8 k&=)36?]>)dn8;:T=�<73Y>�?]>)Oj= 2 - 365c<9>N:78;<9:T3Y8;[)8 <7E�8 36B�8A?�<73Y<LC>)O =N?�>WB�8G<7EH=�<fE�>�57<75S= d'=�:T<736I;JHK6=�:

:78A59>�JH:TI*8 �#59<7=�:T<736?�bCO :7>�k =)?�L >)<7E�8;:G?�>WB�8&36? <7EH8&?�8;<," >): � �^2 -`5G=)K6KY>�" KY>WI;=�<73Y>�? >)O�:78A59>�JH:TI*8A5

JH573 ?�b = BH36:78AI*<9>):7L �MK63 �)8 36?�<98;:7O =)I*8 <7E'=�< 5TJ�dHdn>):7<75 59<9>):T36?Hb =)?HB�O 8;<7ITE'36?�b BH=�<7= 36?HBH8('�8AB�m�L �)8;LW5 �

-�E�8NJH?HBH8;:TKYLW36?�b <7E�8Akl8N>)OS=)K6K <7EH8A598 59L�57<98Ak&5l365R<7EH=�< <7E�8;L m'J'36K6B =)?�>,[)8;:TK6=AL�?�8;<7"j>): � >�?�<9>)d

>)O <7EH8Rd'E�LW5736I;=)KP?�8;<," >): � �+=)?HB 8AkGmn8AB <7E�8lk&=)I"EH36?�8A5436?]<7E�8 >h[)8;:TK =AL ?�8;<," >): � m�L $%� $&���10 <7E�8A3Y:

36B�8A?�<73>/H8;:"5 ��!`8A59>�J�:TI*8 �)8;LW5�=�:78fBH3657<9:T3Ym'J�<98AB ��8A3Y<7E�8;:�:T=)?'B�>�k&KYLl>):�m�L^EH=)5TEH36?�b ��=)kl>�?�bl<7E�8f?�>WB�8A5

<9> O =)I;36K636<7=�<98DJH?H3YO >):Tk KY>�=)B BH3659<9:T36m'J�<73Y>�?��l1S5amn>)<7E%k&=)I"EH36?�8A5R=)?HB :78A57>�J�:TI*8A5G=�:T8&8AkGmn8ABHBH8AB%36?

<7E�8V>h[)8;:TK =AL ?�8;<," >): �]J'5736?�bDE'=)57EH36?�b �/<7E�8A598l59LW59<98Ak&54=�:78 I;=)K6KY8AB BH3657<9:T3Ym'J�<98AB EH=)57E]<7=�m'KY8A5 � � =)I"E?�>WB�8�365P:78A59dn>�?H5T3Ym'KY8�O >):�<7E�8�:T8A59>�J�:TI*8A5P<7EH=�<jEH=)57E <9>aKY>WI;=�<73Y>�?H5 ?�8A=�:j3Y<7598AKYO �#1 ?�>WB�8�36? <7E�8�>h[)8;:TK =AL

?�8;<7"j>): �^I;=)?^8A36<7E�8;: 57<9>):78cdn>�36?�<98;:T5 <9>V<7EH8c=)BHB�:T8A57598A5j>)O+<7E�8`:T8A59>�J�:TI*8A5 <7EH=�<�3Y<j3 5�:78A59dn>�?H5T3Ym'KY8�O >):��

>):&3Y< k&=AL�=)I*<7JH=)K6K6L 59<9>):78N<7E�8N:78A59>�JH:TI*8A5 <7E�8Ak&598AK6[)8A5��jB�8;dn8A?HB'36?�bC>�?�<7E�8 59dn8AI;3>//ID=�dHd'K 36I;=�<73Y>�?��

2S8;<7=)36K65R>)O`= I*>�k&kl>�?�1 @ % "`EH36I"E 365Gmn8A36?�b B�8;[)8AK6>)d�8AB O >):V57J'ITE�59<9:TJHI*<7J�:T8AB%>h[)8;:"K6=AL�?�8;<," >): �W5

I;=)?Cmn8f598;8A?]36? $ o,� & �-�EH8c?�>WB�8A5 =�:78SK 36? �)8AB 36?&<7E�8S>h[)8;:"K6=AL ?�8;<," >): �^J'5736?�bG=V59dn8AI;3>/'IcK636? � BH3657<9:T3Ym'J�<736>�?lB�8;dn8A?HBH36?�b

>�?V<7E�8�B�8A573Yb�?���!�8A59>�JH:TI*8�KY>�I;=�<736>�?��)JH5736?�b`<7E�8j>,[)8;:TK6=hLV?�8;<7"j>): � ��365 B�>�?�8�36?R<7E�8A598 [ =�:"3Y>�JH5 59L�57<98Ak&5� � J;.-=-.-DV0��G.1J;9k46>DH>@��/DaQB0;.-565 2o2569k>�9kQFuRu�>Jk0;9�0 j .OQR9k. >@(9kQRu�.1Jk|}u�.-.1J;9-�

Page 20: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

m�L�JH5T36?�b%BH3 %n8;:78A?�<l:7>�J�<736?Hb =)K6b)>):T3Y<7EHk&5 � � =)I"E ?�>WB�8Ck&=)36?�<7=)36?H5l57>�kl8 36?�O >):Tk&=�<736>�? =�m�>�JH<D3Y<75?�8A3Yb�E�mn>):T5��n=)?HB :7>�J�<736?Hb 365SB�>�?�8 b):78;8AB'36KYL m�L O >):�" =�:"BH36?�b kl8A5757=�b)8A54<9> <7E�8l?�8A36b�E�mn>): �+2 �%�+ ���� <9>

<7E�8j<7=�:7b)8;< ?H>�B�8 �1-�EH365 3 ?HE�8;:78A?�<�I*>�k&kl>�?V59<9:TJ'I*<7J�:78 KY8A=)B'5 <9>S5T36k&36K6=�:n:78A5TJHKY<75+O >):�<7EH8 dn8;:7O >):Tk&=)?HI*8

>)O�57JHI"E]?H8;<," >): ��5a� "c3Y<7E�� ?H>�B�8A5c36?C<7EH8R?�8;<7"j>): � � kl>�59<c>)O <7E�8A598 59L�57<98Ak&5cJ'598��@ K6>)b�� B�57d'=)I*8=�<�8A=)I"E]?�>WB�8 �H=)?HBN<7=��)8��@ KY>)b�� B <736kl8fO >):�:7>�JH<736?�blkl8A5757=�b)8A5 �

����� �{ *�

e 8;O_>):T8 " 8 kl>h[)8 >�? <9>^>�JH:SI*>�?�<9:T3Ym'JH<73Y>�?H5`3 ? <7E�8 ?�8('W<c598AI*<736>�?���"j8VmH:T3Y8 �'LNBH8A57I*:T3Ymn8a<7E�8 kl>WB�8AK

JH598AB&O_>):j<7E�8�:78A57J'KY<75 ��-�E�8�36?�<98;:78A59<98ABD:78A=)B�8;:j3 5 :78;O 8;:7:78ABl<9>R<7E�8�mn>�> �W5 m�L � LW?HITE%$ �*� &/=)?HB&1�<9<736L�==)?HB + 8AK ITE $ ( &+O_>):�O J�:7<7EH8;:�B�8;<7=)36K65�>)O <7E�8Gk&>�B�8AK �

� �"�4� � � � � ��� + 8^JH598l<7E�8l<98;:Tk � ��� � <9> :78;dH:78A598A?�<a=NdH:7>WI*8A5754<7EH=�<R3654:TJH?H?'36?�bD>�? =Nd'=�:��

<736I;JHK =�:`k&=)ITE'36?�8 � + 8 =)5757J'kl8a= � ���<� ��:1� � �� � < 8A?�[�36:7>�?Hkl8A?�<`36? "`E'36ITEC=)K K dH:7>WI*8A57598A5cI*>�k��

kVJH?H36I;=�<98 "`3Y<7EC8A=)I"E >)<7E�8;:4m�LC598A?'BH36?�b&kl8A5T57=�b)8A5S>h[)8;:a=DI*>�kDkRJH?'36I;=�<73Y>�? ITEH=)?H?H8AK ��"`EH8;:78G8A=)I"E

ITE'=)?H?�8AK dH:T>h[W36B�8A5�=lm/36BH3Y:78AI*<736>�?H=)K/I*>�?'?�8AI*<73Y>�?Cmn8;<7"j8;8A? <," >^59dn8AI;3>/H8ABNd':7>�I*8A5T598A5 �j1S?C=)KYb)>):"3Y<7EHk

36? =fkl8A575T=�b)8 � d'=)575736?Hba59L�57<98Ak I*>�?H573657<75P>)O�=fKY>WI;=)KWdH:7>)b):"=)k0O_>):�8A=)I"EldH:7>WI*8A575�3 ?R<7EH8�59L�57<98Ak � -�EH365

KY>WI;=)K d':7>)b):T=)k dH:7>h[W36B�8A5G<7E�8^=�m/36K63Y<L O >):V<7E�8DdH:T>�I*8A575R<9> d�8;:TO_>):Tk KY>WI;=)KjI*>�kld/J�<7=�<73Y>�?H5�� =)?HB <9>

598A?HB kl8A5757=�b)8A5V<9> =)?HB%:78AI*8A36[)8 kl8A5T57=�b)8A5VO_:7>�k 8A=)ITE�>)O�3Y<75R?�8A3Yb�E�m�>):"5 � �4I;I;J�:7:78A?'I*8A5a<7EH=�< I;=)?<7=��)8&d'K =)I*8 3 ?]<7EH8 57L�59<98Ak =�:T8&kl>�BH8AKY8AB]=)5 � � � � � � -�E�8;:T8V=�:78l<7"j> �W36?HB'5`>)O 8;[)8A?�<75Ag41 ��� �

: � ������� � � 8;[)8A?�< "`EH36I"E :78;dH:T8A598A?�<75`=DI*>�kld'JH<7=�<73Y>�?Cdn8;:7O >):Tkl8AB KY>WI;=)K6KYL^m�L 59>�k&8adH:7>WI*8A575��'=)?'B =

� � 6 � � � � 8;[)8A?�<�<7EH=�<�:78;dH:T8A598A?�<75�<7EH84BH8AK63Y[)8;:7Ll>)O =lkl8A5757=�b)8fO :7>�k >�?�84dH:7>WI*8A575 <9>&=)?�>)<7E�8;: � % ? =59LW59<98Ak :T8;dH:78A598A?�<98AB m�L^<7EH3 5�kl>�BH8AK �H598;[)8;:T=)K�8;[)8A?�<75ck&=ALN>WI;I;J�:cI*>�?HI;JH:7:78A?�<7KYL �

� �; ��� � ��� �� � ��2��� � � � 1059LW59<98Ak 365�57=)36B <9>^mn8f<9>)<7=)K6KYLN=)59L�?'ITE�:7>�?H>�JH5`3YO#<7E�8;:78G3 5�?�>�/�'W8AB

J�dHdn8;:�mn>�JH?HB >�? E�>�" KY>�?�bl3Y<�<7=��)8A5`O_>):`=lk&8A5757=�b)8a<9>lmn8fB�8AK63Y[)8;:T8AB��W>):`E�>�" kRJHI"E <736kl848AK6=�d/598A5

mn8;<," 8;8A? I*>�?H598AI;JH<73Y[)8C59<98;d'5 >)O4= dH:7>WI*8A575 � % ?�dH:T=)I*<73 I;=)K�59L�57<98Ak&5��jEH>�" 8;[)8;:�� " 8�" >�JHK6B�K63 �)8 <9>

=)5757J'kl8c59>�k&8SJ�d'd�8;:jmn>�JH?HB&>�?^<7E�84kl8A5757=�b)84<9:T=)?'57k&36575T3Y>�?&B�8AK6=hLD59>V<7EH=�< O =)36K J�:78A5 3 ?&<7E�8459LW59<98Ak

I;=)?�mn8DB�8;<98AI*<98AB�� + 8 =)5T57JHkl8^<7EH=�<R<7EH8 59LW59<98Ak 365 : � ����;� 6 6 � �� � �02 �� ��� � � 3 � 8 � � <7EH8;:78^365V=

/�'W8ABDJ�d'd�8;: mn>�JH?'B @ <736kl8 � >�J�<?B�>�?&<7E�8c<9:T=)?H57kD3657573Y>�?lBH8AK6=AL >)O+=akl8A5T57=�b)8 � + 84=)5757JHkl8`<7EH=�< 8A=)I"Ekl8A575T=�b)8G<7=��)8A5S=�<`kl>�59<SJH?H3Y<�<736kl8f<9>^mn8aB�8AK63Y[)8;:78AB �H=)?HBC=)?�LN3 ?�<98;:T?'=)KndH:7>WI*8A575736?�b&=�<c=&k&=)ITE'36?�8

Page 21: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

<7=��)8A5 ?�> <736kl8 � + 8 =)K659>%=)5757J'kl8 <7EH=�<D=%k&8A5757=�b)8�"`E'36ITE EH=)5&m�8;8A? 598A?�<*"`36K6Kj8;[)8A?�<7J'=)K6KYL�b)8;<

B�8AK636[)8;:78AB��

�4� � 6 � � ����� 6 � @ :7>WI*8A57598A5cI;=)? ���� �2 �'3 � 8 � ��EH=)KY<�dH:78AkD=�<7J�:78AKYL �H=)?HB I*:T=)57E�8A5c=�:78adn8;:Tk&=)?�8A?�< �

+ 8NI*>�?H5736B�8;:V= �7��� 6 �� ��: kl>WB�8AK "cE�8;:78&dH:T>�I*8A57578A5REH=h[)8 57>�kl8^kl8;<7EH>�B O_>):VI*>):7:78AI*<7KYL%B�8;<98AI*<73 ?�b

"`E�8;<7EH8;:V=)?�>)<7EH8;:ldH:7>WI*8A575RE'=)5RO =)36KY8AB �]1S5Vk&8A5757=�b)8A5l=�:78N=)K>"�=ALW5 :78AK636=�m'K6L BH8AK63Y[)8;:78AB =)?HB�<7E�8;:78

365a=�/�'�8AB%<736kl8 � >�J�<a>�? 8;[)8;:7L kl8A5757=�b)8 �P= K =)I � >)O�:78A59dn>�?H598 O >):R=Ckl8A5T57=�b)8^365a>�?�8�"�=AL O_>):R<7E�8

O =)36KY8AB dH:7>WI*8A57598A5N<9> m�8%3 B�8A?�<73 /H8AB��c=)K6<7E�>�J�b�E 3Y<Ck&=hL mn8%36k&d�>�5T573Ym'KY8 <9> BH3659<73 ?�b�JH3657E mn8;<," 8;8A?

I*:T=)57EH8AB dH:T>�I*8A57578A5^=)?HB 8('W<9:78Akl8AKYL 5TKY>�" >�?�8A5 � + 8 BH> ?�>)<N=)I;I*>�JH?�< O >): � � � � � ��� ��� O =)3 K6J�:78A5

"`E�8;:T8c=RdH:7>WI*8A575 :78Ak&=)36?H5j36?^<7E�8S57L�59<98Ak ��m'JH<j3Y< mn8AEH=A[)8A5�=�:7m'36<9:T=�:T36KYL =)?HB 598A?HBH5jO =)JHKY<ML �Wdn>�575736m'KYL

k&=)K63 I;3Y>�JH5akl8A5T57=�b)8A5V<9>]>)<7E�8;:VdH:7>WI*8A57598A5 � + 8 B�8;O 8;:V<7E�8^365T57J�8&>)O�m�L �A=)?�<736?�8^O =)3 K6J�:78A5f<9> O J�<7J�:78

" >): � �

� : 6 � �4� � ��� � � � �� � + 8 =�:T8 k&=)3 ?HKYL 3 ?�<98;:78A57<98AB 36? <7E�:78;8]d�8;:TO_>):TkD=)?HI*8 kl8A=)57JH:78A5&O >):

>�J�: =)KYb)>):T3Y<7E'k&5;g @ 3 B4<7EH8^<9>)<7=)K�=)kl>�JH?�<V>)O�<736kl8 � @ 363 B4<7E�8 57<9>):T=�b)8 59d'=)I*8N=�<R8A=)I"E�dH:7>WI*8A575�� =)?HB@ 36363 Bj<7E�8G<9>)<7=)K ?�J'kGmn8;:�>)O�kl8A5T57=�b)8A5SO_>):S=)?�LC=)KYb)>):"3Y<7EHk � % ?C=&d'=�:T<736=)K6KYLN59LW?HITE�:T>�?�>�JH5`k&>�B�8AK �'=)5<7E�8;:78 365 = /�'W8AB�J�dHdn8;:Rmn>�JH?'B >�?�<7E�8N<9:T=)?'57k&36575T3Y>�? B�8AK =AL >)Oc8A=)ITE k&8A5757=�b)8 � <7EH8 <73 kl8N<7=��)8A?

O >):a=)? 8;[)8A?�<G3 54>)OjK63Y<9<7K68R[�=)K6J�8 � 1cK 59>Nb�3Y[)8A? <7E�8&KY>�" I*>�59<f>)O 57<9>):T=�b)8D?�>�" =)BH=hL�5��9"j8&=�:T8&?�>)<a=)5

36?�<98;:78A59<98AB 36?%k&36?'36k&3��A36?HbD<7E�8D57<9>):T=�b)8DO >):G8A=)I"E dH:T>�I*8A575R=)5&" 8D=�:78 36? �)8;8;d'36?�b <7E�8D?�JHkGmn8;:a>)O

kl8A575T=�b)8A5fKY>�" �� c>�" 8;[)8;:��#=)5S<7E�8 59<9>):T=�b)8lO >):48A=)ITE d':7>�I*8A5T5 "`3 K6K�k&=)3 ?HKYL I*>�?H573657<c>)O 36?�O >):Tk&=�<73Y>�?

=�mn>�J�<R36<75R?�8A36b�E�mn>):T5��#<7E�8NEH3Yb�E�8;:a<7EH8 ?�JHkRm�8;:R>)O�?�8A3Yb�E�mn>):T5�� <7E�8Db):78A=�<98;: "c36K6KPmn8D<7E�8 ?�J'kGmn8;:

>)O�kl8A575T=�b)8A5V578A?�<V=)5V= d'=�:7<R>)O�<7E�8D:78;d/=)3Y:Rkl8AI"EH=)?H365Tk <9>�/�' =)?�L mH:T> �)8A? K63 ? ��5a<9>]?�8A3Yb�E�mn>):T5 �

%�O 8A=)ITE ?�>�BH8Rdn8;:T3Y>WBH36I;=)K KYL 36?H3Y<736=�<98A54=)I*<73Y>�?'54<9> :78;d'=)3Y:fK636? ��5c<9> O =)3 KY8AB]?H8A3Yb�E�mn>):T5��n36< "c36K6K�I*:T8A=�<98

= B�8AK6J�b)8 >)Ock&8A5757=�b)8A5 O >):l<7E�8N:78;d'=)3Y: kl8AITE'=)?H3657k � -`E�JH5���36? >):"B�8;: <9> kD36?H36k&3 �;8&<7E�8 ?�J'kGmn8;:

>)Ojk&8A5757=�b)8A5�� 3Y< "j>�JHK B mn8 mn8A?�8 /'I;36=)K#<9>Ck&36?H3 k&3��;8G<7EH8 ?�JHkRmn8;:S>)O�?�8A3Yb�E�mn>):T5cd�8;:fd':7>�I*8A5T5��+=)?HB

36? <7JH:T? :78ABHJ'I*8a<7E�8G59<9>):"=�b)8V59d/=)I*8adn8;:�dH:7>WI*8A575 � + 8RI*>�?HI*8A?�<9:T=�<98 >�? k&8A=)57J�:T36?Hbl<7E�8G?�JHkGmn8;:�>)O

kl8A575T=�b)8A5 O_>):P>�J�: =)KYb)>):"3Y<7EHk&5��)=)?HBV<7E�8�59d/=)I*8�JH598ABV=�< 8A=)ITEldH:T>�I*8A575 <9>48;[�=)K6JH=�<98�<7E�8�dn8;:7O >):Tk&=)?HI*8

>)O >�J�:�BH=�<7=&59<9:"JHI*<7J�:78A5 � + 8R?�>)<98f<7EH=�<�<7E�8;:78a3 5�= <9:T=)B�8 � > % mn8;<," 8;8A?C59<9>):T=�b)8R:78�)�J'3Y:78Akl8A?�<75�=)?HB

?�JHkGmn8;:c>)O�:7>�J�<736?Hb^E�>)d'5cO >):4= 598A=�:TI"E )�JH8;:7L ��=)?'B�" 8R<9:TLC<9> k&=)36?�<7=)36? = m'=)K6=)?'I*8Gmn8;<," 8;8A? <7E�8

<," >Dd/=�:T=)kl8;<98;:T5 � + 8RJ'598f<7E�8a<98;:TkD5`59d'=)I*8 ��59<9>):T=�b)8 �n=)?HBC59<7=�<98V36?�<98;:TITEH=)?Hb)8A=�m'KYLN<9>DB�8A?�>)<98R<7E�8

-

Page 22: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

59<9>):T=�b)8V59d'=)I*8G=�<`8A=)ITECd':7>�I*8A5T5�<9>^k&=)3 ?�<7=)36? 3 ?�O_>):"k&=�<73Y>�?N=�mn>�J�<�<7E�8a59<7=�<98R>)O#<7EH8G59LW59<98Ak �

����� � ����� ��:� �E!�� �n��!��

% ? � >�36?�< " >): � "`3Y<7E i�=)kl8A5 1S59d'?�8A5P=)?HB#(�>��8�2436=)k&=)B'3"$ �*& �% I*>�?H5736BH8;:78ABG<7EH8 d':7>)m'KY8Ak >)O/B�8A5T3Yb�?H36?�b=)? >h[)8;:TK6=hL ?�8;<7"j>): � =)?HB�= :7>�JH<736?�b kl8AI"EH=)?H365Tk <7EH=�<V8A?H=�m'K68A5 /'?'BH36?�b :78A57>�J�:TI*8A5R8 $DI;3Y8A?�<7KYL%36?

=Ndn8;8;:�� <9>�� dn8;8;:a59LW59<98Ak � + 8&=�:7b�J�8l<7EH=�<fk&=)?�L]8('�3659<73 ?�b =�d'dH:7>�=)ITEH8A5f<9> <7EH365SdH:7>)m/KY8Ak <7E'=�<aJH598

2 -`5��HI;=)? mn8fkl>�BH8AKY8ABN=)5�<7E�8fI*>�?H59<9:TJ'I*<73Y>�?N>)O = :"=)?HB�>�k b):T=�d'EN8AkRmn8ABHB�8ABN36?N=lkl8;<9:T3 IS57d'=)I*8

"`E�>�578Cdn>�36?�<75 :T8;dH:78A598A?�<&:78A59>�JH:TI*8 36B�8A?�<73>/H8;:"5�� =)?HB <7EH8CdH:7>)m'=�m/36K63Y<L%>)Of=%I*>�?H?�8AI*<73Y>�? mn8;<," 8;8A?

<," > d�>�3 ?�<75cB�8;dn8A?HBH5�>�?HK6L >�?]<7E�8VBH3659<7=)?HI*8Rmn8;<," 8;8A? <7E�8Ak 36? <7E�8Rkl8;<9:"36IG59d/=)I*8 � + 8V57<7JHB�LN<7E�8

dn8;:7O >):Tk&=)?HI*8&>)O�=]dn8;8;:�� <9>�� dn8;8;:V?H8;<," >): � "`E�8;:T8&:78A59>�J�:"I*8A5R=�:78 8AkRm�8AB'B�8AB =�<Rb):T36B%dn>�36?�<75G3 ? =

5736k&d'KY8ck&8;<9:T36I459d'=)I*8)g�= >�?�8 �MB'36kl8A?H5736>�?H=)K':T8A=)K�K 36?�8 � + 8fdH:7>,[)8aJ�dHdn8;: =)?'B KY>�" 8;:�mn>�JH?HBH5j>�?N<7E�8

kl8A575T=�b)8DI*>�kld'KY8('�3Y<L]>)O�KY>WI;=�<736?�b d'=�:7<73 I;JHK6=�:f:78A59>�JH:TI*8A5a36? 57JHI"E%=C?�8;<7"j>): � � JH?HB�8;:a=N[�=�:T3Y8;<L >)O

=)5757J'kldH<73Y>�?H5V=�mn>�J�< O =)3 K6J�:78A5R>)O`8A3Y<7EH8;: ?H>�B�8A5V>):l<7E�8 I*>�?H?H8AI*<73Y>�?H5 mn8;<," 8;8A?�<7E�8Ak � �fJ�:lKY>�" 8;:mn>�JH?HBH5 36?�d'=�:T<736I;JHK6=�:l57E�>�" <7EH=�<l<7E�8CJ'598 >)OS3 ?�[)8;:T578 d�>�"j8;: �MK6=�" B'3659<9:T3Ym/J�<73Y>�?H5R36?�:7>�J�<736?�b � =)5

57J�b)b)8A57<98ABCm�L �aK68A36?�mn8;:7b $ (*( & �/365�I;KY>�598a<9>D>)dH<736k&=)K �+ 8�dH:7>)dn>�598 =)?R=�m/59<9:T=)I*< kl>WB�8AK�O >): =`dn8;8;:�� <9>�� dn8;8;: ?�8;<," >): �G=)5 O >�K6KY>�"`5;g @ � B�8AkRm�8ABR:78A59>�JH:TI*8A5

=)5Vdn>�36?�<75R36? = kl8;<9:T3 ID59d'=)I*8 � @ o:BRI*>�?H57<9:TJHI*<R=)?�=�dHd':7>)dH:T36=�<98D:T=)?HB�>�k b):T=�d'E >�? <7EH8A598^dn>�36?�<75��=)?HB @ q:B 8 $^I;3Y8A?�<7K6LRKY>WI;=�<98�:78A59>�J�:"I*8A5 m�LVb):78;8AB�LR:7>�J�<736?Hb � + 8`I*>�?'5736B�8;:�=f573 kld'KY8j>�?�8 �MBH36kl8A?'573Y>�?H=)Kkl8;<9:T3 I 57d'=)I*8�"`3Y<7E�k&=)I"EH36?�8A5l=)?'B�:78A59>�J�:TI*8A5&8AkGmn8ABHB�8AB�=�<&b):"36B�d�>�3 ?�<75V>)O4= :78A=)K�K636?�8 � � =)I"Ek&=)I"EH36?�8D3 5f8AkGmn8ABHBH8AB =�<R=CBH3�%�8;:78A?�<adn>�36?�<fO_>):G8;[)8;:7L :78A59>�J�:"I*8&<7EH=�<R36<aE�>�59<75 ��-�E�J'5��#=C5T36?�b�KY8

k&=)I"EH36?�8 kD=AL EH=h[)8]kVJHKY<73Yd'K68NK6>�I;=�<73Y>�?'5D36? <7EH8 >h[)8;:"K6=AL ?H8;<," >): � ��BH8;d�8A?'BH36?�b >�? <7EH8 ?�J'kGmn8;:

>)O�:78A57>�J�:TI*8A5V<7EH=�<l3Y<REH>�59<75 � � =)I"E�d�>�3 ?�<V36?%<7E�8 kl8;<9:"36ID59d/=)I*8N3 5RI*>�?H?H8AI*<98AB�<9> 3Y<75 36kDkl8ABH36=�<98?�8A3Yb�E�mn>):T54=)?HBlKY>�?�b��MBH3657<7=)?HI*8l?�8A3Yb�E�m�>):"5SI"E�>�598A? "c3Y<7E dH:7>)m'=�m/36K63Y<LC36?�[)8;:"598AKYL d':7>)dn>):7<73Y>�?H=)K#<9>

<7E�8GB'3659<7=)?HI*8fmn8;<," 8;8A?C<7EH8Ak �

�4JH:�k&=)36?CI*>�?�<9:T3Ym'JH<73Y>�?H5�=�:78G=)5`O_>�K6K6>�"`5;g

� + 8�d':7>h[)8�<7EH=�<�"`3Y<7E � d�>�3 ?�<75 36?R<7E�8�kl8;<9:T36I 59d'=)I*8�=)?HB��� $ ������� KY>)b�� &WKY>�?Hb��MBH3659<7=)?HI*8�K636? ��5dn8;:Pdn>�36?�<��):7>�J�<736?�bS<7=��)8A5 � @ @ KY>)b����"B����� B�<736kl8 ��36OH8A=)ITEldn>�36?�< >):�K636? �fO =)36K651"`3Y<7ERdH:7>)m/=�m'36K63Y<L@ ��� � B�$ -�EH8;>):78Ak&5`q �+� =)?'B q � � p & �

� p

Page 23: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� + 8`dH:7>h[)8`<7EH=�< � ��� � �� � � � b):78;8ABHLR:7>�JH<736?�b � "`EH8;:78�<7E�8�:7>�J�<736?Hb4=)K6b)>):T3Y<7EHk0?�8;[)8;:j<9:T=A[)8;:T578A5

=fK 36? �ad'=)57< <7E�8�<7=�:7b)8;<�dn>�36?�<��)<7=��)8A5�� @ K6>)b � � � nK6>)bjKY>)b �"B#<73 kl8 "`3Y<7E ���� K63 ? �aBH3659<9:"3Ym'J�<73Y>�? �U�36k&36K6=�:"KYL ��"`3Y<7E � � ��� �� ��� � b):78;8AB�L :7>�J�<736?�b � "`E�8;:T8R<7E�8 K636? �NI;K6>�598A59<4<9>N<7E�8R<7=�:Tb)8;<fd�>�3 ?�<

3 5�<7=��)8A?���" 8ab)8;<c=DKY>�" 8;:�mn>�JH?HB >)O�� @ KY>)b � � � � KY>)b K6>)b �"B $ -�E�8;>):T8Ak q � q & �

� + 8�d':78A598A?�< 59>�k&8 E�8AJH:T3659<736I;5�O_>): I*>�?H57<9:TJHI*<736?�b4=)?HBVk&=)36?�<7=)36?H36?Hb�<7E�8�?�8;<," >): �VB�L�?'=)k&36I;=)K6KYL �

=)?'Bl8('�dn8;:T3 kl8A?�<7=)KH8;[ =)K6J'=�<73Y>�?H5 <7EH=�<j57E�>�" <7EH=�<�<7E�8cE�8AJ�:T3657<736I;5Pb�3Y[)8`=f:T8A57JHKY<736?Hb4K 36? �RB'3659<9:T3 �

m/J�<73Y>�?R<7EH=�< 365�[)8;:TLRI;KY>�598 <9>4<7E�8�>)dH<736k&=)K�36?�[)8;:T598 dn>�" 8;:��MK6=�" B'3659<9:T3Ym/J�<73Y>�? "`3Y<7ER8('Wd�>�?H8A?�< �$ UW8AI*<73Y>�?]q � ( & �

� + 8R=)K659>ldH:78A578A?�<�59>�kl8a3 ?�<98;:78A57<736?�bl8('Wd�8;:"36kl8A?�<7=)K/:T8A57JHKY<75 >�? <7E�8a?�JHkRmn8;: >)O :7>�J�<73 ?�blE�>)d'5

O >): = 598A=�:"ITE >)dn8;:T=�<73Y>�? J'5736?�b�BH3 %n8;:78A?�< :T>�J�<736?�b�59<9:T=�<98;b�3Y8A5]57JHI"E =)5 m'=)I ��<9:T=)I ��36?Hb =)?HB

:"=)?HB�>�k :78;:T>�J�<736?�b $ U�8AI*<73Y>�? q �+� & �

-�EH8CJH?HB�8;:TK6L�36?Hb]59<9:TJ'I*<7J�:78N>)OS2 -�5l:78A578AkGm'K68A5&= m'=)K6=)?HI*8AB <9:78;8 36?�"`EH3 ITE�m'=)K6=)?'I;36?�b B�8 �

dn8A?HBH5G>�?�<7E�8 ?H8A=�:��MJH?H3YO >):Tk BH3659<9:T36m'J�<73Y>�? >)O`<7E�8^>�JH<9d'J�<V>)O`<7E�8NEH=)57E O J'?HI*<73Y>�?�� c=)5TEH36?�b <7E�8

k&=)I"EH36?�8G3 B�8A?�<73 /H8;:T5�JH?H36O_>):TkDKYLDBH3657<9:T3Ym'J�<98A5�<7EH8Gk&=)ITE'36?�8A5`3 ? <7E�8Gkl8;<9:"36Ia59d'=)I*8 ��=)?HBC<7E�JH5c?H=�<7J �

:T=)K6K6LGdH:7>,[�3 B�8A5 KY>�=)Blm'=)K =)?HI;36?�bf36? <7E�8c?�8;<," >): � � c>�" 8;[)8;:���=)5�<7EH8�:78A59>�J�:TI*8 �)8;L�5j=�:78�=)K659>GE'=)57E�8AB��

2 -`5DI;=)? dH:7>h[W36B�8 >�?'KYL�E'=)57E � <7=�m'KY8 O JH?HI*<736>�?H=)K63Y<L�3 � 8 � ��<7E�8;L�>�?HK6L�5TJ�dHdn>):7< dn>�36?�<�)�J�8;:T368A5l>):

8('�=)I*<Sk&=�<7I"E )�J�8;:T368A5 � e 8AI;=)JH598 EH=)57EH3 ?�blB�8A59<9:7>,L�5c<7E�8a>):TBH8;:T36?�bl>�? �)8;L�5���2 -�59LW59<98Ak&5`BH>D?�>)<

57J�d'd�>):T< )�J�8;:T3Y8A5a<7EH=�<a598;8�� ?�8A=�:Gk&=�<7I"E�8A5R<9>C= �)8;L >): �)8;L�5 "`3Y<7EH3 ? =Nb�36[)8A? :T=)?�b)8 �D2S8A5736b�?H36?�b

= 59LW59<98Ak <7EH=�<&57J�d'd�>):T<75G:T=)?Hb)8 )�J�8;:T368A5VE'=)B�m�8;8A?�dn>�598AB�=)5l=)?�>)dn8A? )�J�8A57<73Y>�?�m�L c=�:7:T8A? +�

�2 4 $ ��p,& ��2 - 59LW59<98Ak&5�=)K659> B�8A59<9:7>,L&<7E�8cdH:7>)dn8;:7<MLl>)O �: �����;� 6 6 � � � 6 � � � "`E�8;:78c:78AK6=�<98AB :78A59>�JH:TI*8A5=�:78ldH:T8A598A?�<f?�8A=�:f8A=)I"E >)<7E�8;:G3 ?]<7EH8V>,[)8;:TK6=hL ?H8;<," >): � �&U�> �+EH=h[�3 ?�bN8('�d'K6>):78AB 2� -�5��4"j8lkl>WBH3 �

/H8AB >�J�:f=�dHdH:T>�=)ITE <9> 8('Wd'KY>�3Y<S<7E�8lJH?HB�8;:"KYL�3 ?�bl<9:78;8&59<9:TJ'I*<7J�:78V<9> b�3Y[)8 <9:78;8 O JH?'I*<73Y>�?H=)K63Y<L ��"`EH36KY8

=�dHd'K6L�36?HbV=&5T36kld'KY84BH3657<9:T3Ym'J�<98AB m'=)K =)?HI;36?�bl57I"E�8Akl8a<9>&d':78A598;:7[)8am/=)K6=)?HI*8a=)?HBCB'3659<9:T3Ym/J�<98SK6>�=)B��

% ? � >�36?�< " >): � "`3Y<7EDi�=)kl8A5�1S59d'?�8A5�$ � & � %PB�8A57I*:T3Ymn8ABl=f?�8 " kl>�BH8AK�O_>):j=4d�8;8;: � <9>�� d�8;8;: ?�8;<," >): �m'=)598AB]>�? =DBH3657<9:T3Ym'J�<98AB BH=�<7=^57<9:TJHI*<7J�:78G<7EH=�< " 8 I;=)K6K�= �89�;: <���:�2 �SU ��3Yd]b):T=�d'EH5c=�:78 =D?�>,[)8AK

BH3657<9:T3Ym'J�<98AB BH=�<7=N59<9:TJHI*<7J�:T8 ��m/=)598AB >�? 5 ��3Yd K63659<75 $ -)q & �n<7EH=�<4dH:7>,[�3 B�8G<7E�8 O JHK6K�O JH?'I*<73Y>�?H=)K63Y<LN>)Oj=m'=)K6=)?'I*8AB <9:78;8�36?l=fBH3657<9:T3Ym'J�<98ABR59LW59<98Ak � "cE�8;:78�8AKY8Akl8A?�<75�=�:78�59<9>):T8ABl36?l598;d'=�:T=�<98�?H>�B�8A5P<7E'=�<�k&=AL

O =)36Kn=�<�=)?�L^<736kl8 � -�E�8;L =�:78fB�8A573Yb�?H8AB^O >):�JH598f36?N598A=�:"ITEH36?HbVdn8;8;:�� <9>�� dn8;8;:�?�8;<7"j>): ��5��/=)?HB m�L^dH:7>��

[W36BH36?�b4<7E�8c=�m'36K63Y<LG<9>Rd�8;:TO_>):Tk )�J�8;:T368A5 m'=)598ABl>�? �)8;L >):TB�8;:T36?Hb ��<7E�8;Ll36kldH:T>h[)8�>�?l8('�3659<73 ?�ba598A=�:TI"E

�*�

Page 24: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

<9>�>�K65`<7E'=�<cdH:T>h[W36B�8G>�?'KYL EH=)57E � <7=�m'K68GO JH?HI*<73Y>�?H=)K 3Y<ML �`ZS?HK63 �)8G5��W3Yd]K63 59<75�>):S>)<7E�8;:4<9:78;8 BH=�<7=^57<9:TJHI �

<7J�:78A5��H5���36d b):"=�d'EH5�=�:78aEH36b�EHKYL&:78A5T36K63Y8A?�<���<9>�K68;:T=�<736?�b&=lK6=�:Tb)8fO_:T=)I*<736>�? >)O�O =)36KY8ABN8AKY8Ak&8A?�<75 "c3Y<7E�>�J�<

KY>�573 ?�bRI*>�?H?H8AI*<73Y[�36<ML � % ?N=)BHBH3Y<73Y>�? ��I*>�?H59<9:"JHI*<736?�b ��36?H578;:7<736?�bV?�8 " 8AKY8Akl8A?�<75�36?�<9> ��598A=�:"ITEH36?HbV= 5��W3Yd

b):T=�d'E =)?HBCB�8;<98AI*<736?Hb^=)?HB :T8;d'=)3Y:T36?HbV8;:T:7>):T5�36?N<7EH8GBH=�<7=D57<9:TJHI*<7J�:78a3 ?�<9:7>WBHJHI*8ABNm�L ?�>WB�8fO =)3 K6J�:78A5

I;=)?Cmn8fB�>�?�8RJH5736?�b 5736k&d'KY8f=)?HBC59<9:"=)3Yb�E�<9O >):�"�=�:TBC=)KYb)>):"3Y<7EHk&5 �

�4JH:�k&=)36? :78A5TJHKY<75�=�:78a57J'k&k&=�:T3��;8AB =)5`O_>�K KY>�"`5Ag

� + 8 36?�<9:7>WBHJHI*8a=&?�8 "�BH3659<9:"3Ym'J�<98ABNBH=�<7=^59<9:TJHI*<7J�:T8GI;=)K6KY8ABC=^5��W3YdCb):T=�d'ECO_>):S=&dn8;8;:�� <9>�� dn8;8;:

?H8;<," >): � � + 8 57E�>�" <7EH=�<&36?�= 5���36d b):T=�d/E "c3Y<7E � 8AKY8Ak&8A?�<75�� 598A=�:TI"E�8A5��j3 ?H598;:7<73Y>�?'5���=)?HBBH8AKY8;<73Y>�?H5�<7=��)8��@ KY>)b �"B <736kl8 $ � 8Ak&k&=)5 � � o � � � ql=)?HB � � � & �

� + 8`dH:7>h[)8`<7EH=�< =f5��W3Ydlb):T=�d'E "c3Y<7E �N8AKY8Akl8A?�<75�EH=)5�=)?l8('Wd'=)?H5T3Y>�? :T=�<73Y>f>)O � @ � � KY>)b��"B "`3Y<7EE'3Yb�EVdH:7>)m'=�m'3 K63Y<ML ��<7E�JH5PdH:7>,[�3 ?�b4<7EH=�<�3Y<P365P:78A5736K 3Y8A?�<#<9>G=)B�[)8;:T5T=�:T36=)K�O =)3 K6J�:78A5'$ -�E�8;>):T8Ak � � � p & �+ 8f=)K657>Gb�3Y[)8S8('�dn8;:T3 kl8A?�<7=)K':78A57JHK6<75�<9> 57E�>�" <7EH=�<�=R5 ��3Yd^b):T=�d'E^dn8;:7O_>):"k&5 " 8AK6K'8;[)8A?N36?D<7E�8

d':78A598A?HI*8a>)O :T=)?HBH>�k O =)3 K6J�:78A5�$ U�8AI*<73Y>�? � �+� � � & �

� + 8Sb�3Y[)8S=a:78;d'=)36:jkl8AI"EH=)?H3657k <7EH=�<j:T8;d'=)3Y:T5�=)?�L&I*>�?H?�8AI*<98AB I*>�kldn>�?�8A?�< >)O+=RB�8;O_8AI*<736[)8c5��W3Yd

b):"=�d'EC36?N<7E�8R=�m'598A?HI*8a>)OP?�8 " O =)36K6JH:78A5���36?H598;:T<75���=)?HBCB�8AKY8;<98A5 $ -�E�8;>):78Ak � � o)o & �

� + 8^dH:7>,[)8D<7EH=�<R<7E�8DI*>�?�b)8A59<736>�? =�<R=Cd'=�:7<736I;JHK =�:f8AKY8Akl8A?�< � 3 ?%=C5��W3Yd%b):T=�d/E%365a36?�[)8;:T598AK6L

d':7>)dn>):7<73Y>�?H=)K�<9>4<7E�8�?�JHkRmn8;:P>)O'8AKY8Akl8A?�<75Pmn8;<," 8;8A? � =)?HBV<7E�8�<7=�:7b)8;< 8AKY8Ak&8A?�< <9> "`EH3 ITEV<7E�8

k&8A5757=�b)8&3654598A?�<���=)?HB <7EH=�<4<7E�8&BH3 59<9:T3Ym'JH<73Y>�? >)O <7E'3654I*>�?�b)8A59<73Y>�? B�8AI*:T8A=)598A5f8('Wd�>�?H8A?�<736=)K KYL

mn8;L)>�?HBC<7EH365�dn>�36?�< $ -�E�8;>):78Ak&5 � � o �^=)?HB � � o*� & �

����� � � $ $ ��� �

-�E�8 :78A57<S>)Oj<7EH3654BH365T598;:7<7=�<73Y>�? 365459<9:TJ'I*<7J�:78AB =)54O_>�K KY>�"`5Ag4\�EH=�d'<98;:Go^I*>,[)8;:T5a:T8AK6=�<98AB :78A598A=�:TI"E 36?

<7E�84=�:78A=V>)O dn8;8;:�� <9>�� dn8;8;:�57L�59<98AkD5 =)?'BD>)<7E�8;:�I*>�?�<98Akldn>):T=�:7LD57L�59<98AkD5jmn8A36?HbGJH598AB I*>�k&kl8;:TI;3 =)K6KYL �

-�E�8lk&=)3 ? <98AITEH?H3 I;=)K :78A57JHK6<75f=�:78&36? \�EH=�d'<98;:T5aqN=)?HB � � % ? \�EH=�dH<98;:Rq �4"j8DB'3657I;JH575S<7E�8&BH8;<7=)36K65

>)O�<7E�8 :78A57J'KY<75G>�?�O =)JHKY<�� <9>�KY8;:"=)?�<V:7>�J�<736?Hb]36? >�J�: =�m'59<9:T=)I*<lkl>WB�8AKj>)O`=)?�>h[)8;:TK6=hL�?H8;<," >): � =)5l=

kl8;<9:T3 I �M59d'=)I*8V8AkGmn8ABHBH3 ?�b � � >�59<S>)O <7E�8RkD=�<98;:T36=)K 36?C<7EH3 5�ITEH=�d'<98;:43 5`=)BH=�dH<98AB]O :7>�k $ � & �c2c8;<7=)3 K65>)O 5��W3YdCb):T=�d'E'5�=)?HBC<7EH8A3Y:�dH:7>)dn8;:7<7368A5�=�:78ab�3Y[)8A?]36?]\�E'=�dH<98;: � �'=)?'B kVJHITE >)O <7E'365 " >): �C=�dHdn8A=�:T5

36? $ � & �jF 3 ?H=)K6KYL �!" 8GI*>�?HI;K6JHBH8 "c3Y<7E BH3Y:78AI*<736>�?H5�O_>):`O J�<7JH:78 "j>): � 36? \�EH=�dH<98;:�� �

� o

Page 25: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� ��������� �

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

-�E�8;:T8 EH=)5 mn8;8A?�= 57KY8 " >)O`:78A578A=�:TITE 3 ? <7E�8 =�:78A= >)Ocd�8;8;: � <9>�� d�8;8;:&57L�59<98AkD5l36? <7EH8NK =)59<VI*>�JHd'KY8

>)O4L)8A=�:T5 � %�? <7E'365&ITE'=�dH<98;:�� "j8]57JHk&k&=�:"3��;8C59>�kl8C>)O4<7E�8�"j8AK6K � ��?�>�"`? I*>�?�<98Akldn>):T=�:7L�dn8;8;:�� <9>��

dn8;8;:a59LW59<98Ak&5a=)?HB%:78AK6=�<98AB :78A578A=�:TITE�� =)KY<7E�>�J�b�E <7E'3654mH:T3Y8;O 57J�:7[)8;L 3654m�L ?H>Nk&8A=)?H5aI*>�kld'K68;<98&>):

8('�EH=)JH59<73Y[)8 � % ? d'=�:T<736I;JHK6=�:���" 8 BH> ?�>)< I*>h[)8;:l<7EH8 d/=�d�8;:"5a:78AK6=�<98AB�<9> 598AI;J�:"3Y<ML%36? dn8;8;:�� <9>�� dn8;8;:

59LW59<98Ak&5�=)5`<7E�8;L =�:78fmn8;L)>�?HB <7E�8R57I*>)dn8a=)?HB <7E�8fO >�I;J'5�>)OP<7EH365�BH365T598;:7<7=�<73Y>�?��

�H�� � !��� A�Y� #� *� ����o��!��� ��� A�� y$

% ? \�EH=�dH<98;: � � "j8 BH3 57I;JH57598AB 59>�k&8 >)OV<7E�8 /H:T57<�� b)8A?�8;:T=�<73Y>�? dn8;8;:�� <9>�� dn8;8;:C59LW59<98Ak&5 "cEH36ITE�" 8

kl8A?�<73Y>�?CE�8;:T8fO_>):�<7EH8G57=��)8a>)O I*>�kld'K68;<98A?�8A575 �

�S=�d'59<98;: $ �*� &RJH578AB = I*8A?�<9:T=)KG578;:7[)8;: <9> 36?HB�8(' <7E�8%:78A57>�J�:TI*8A5 3 ? <7E�8 59LW59<98Ak �a=)?'B dn8;8;:T5JH598AB <7EH365&3 ?HB�8('�<9> KY>WI;=�<98�/'K68A5D36? <7EH8 59LW59<98Ak � -�E�8 =)I*<7J'=)K /'K68 <9:T=)?H59O 8;:*"�=)5^BH8AI*8A?�<9:T=)K 3��;8AB

=)?HB�>WI;I;J�:7:78AB�mn8;<," 8;8A? <7E�8 dn8;8;: <7EH=�<l:78�)�J�8A59<98AB�<7EH8 :78A59>�J�:TI*8 =)?HB�<7EH8 dn8;8;:l<7EH=�<&EH>�59<98AB 3Y< �

Q4?�J�<98AK6K6= $ ��q &�B�8AI*8A?�<9:T=)K63��;8A5 <7E�8�36?H3Y<73 =)K):78A59>�J�:"I*8�B'3657I*>h[)8;:TLG=)51"j8AK6K�m�L �H>�>�BH3 ?�b�<7E�8�?�8;<," >): � "`3Y<7E=l:78�)�J�8A59< � %�<="j>): ��5cK63 �)8G=&57>�I;36=)K�?�8;<," >): � � "`EH8;:78f<9>Db)8;<S59>�kl8Gd/3Y8AI*8a>)O 36?�O >):Tk&=�<73Y>�? �H=ldn8;:T59>�?

"`36K K�/H:T59<�=)5��DEH8;:jO :T3Y8A?HB'5���=)?HB^<7E�8;L�"c36K6KH36?^<7J�:T? =)5��&<7EH8A3Y:jO :T3Y8A?'BH5���=)?'B^59>V>�?�� �a=�( =)1 $ ( � &+=)?HB� >):7d'E�8AJH5 $ �)o &�=)k&8AK63Y>):T=�<98S<7E�8`d':7>)m'KY8Ak&5�>)O �H>�>WBH36?Hbfm�L&JH5T36?�ba57J�dn8;:�� dn8;8;:T5���<7EH=�< d'=�:7<736I;3Yd/=�<98`36?<7E�84?�8;<," >): �^>�?D<7E�84mn8AEH=)KYOn>)O�5Tk&=)K6KY8;:jb):7>�J�d'5j>)O+8A?HB JH598;:T5���m'JH< <7E�8;LDBH>V?�>)<�59>�KY[)8S<7E�8Ak 36?^<7E�8

K636kD3Y< �jU�>�kl8a:"JHKY8A5�>)OP<7E�JHkGm O_>):c<7E�8GB�8A5736b�? >)O 57J�dn8;:�� dn8;8;:�?�8;<," >): �W5��/5TJHITE]=)5�:78ABHJ'?HBH=)?HI*LN=)?HB

I;K6JH57<98;:�573��;8 �HEH=h[)8amn8;8A?NO_>):TkVJHK6=�<98ABNm�L X =)?�b +� �2 4 $ � o)o*&+m'=)598ABN>�?C=l59<7J'B�LD>)O <7E�8fdn8;:7O >):Tk&=)?HI*8

� q

Page 26: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

>)O Q4?�J�<98AK6K6= �

CENTRALSERVER

IP4B

IP1 G

IP2

A IP5M

MORPHEUSKAZAA

A

B

Z

IP2

IP4

IP3PEERS

CENTRALINDEX

RESOURCES

IP3ZREQUESTING

PEER

FIRST−LEVEL

SECOND−LEVEL

NEIGHBORS

NEIGHBORS

SUPERPEERS

TRANSFER

NAPSTER GNUTELLA(Version 0.4)

FP3Yb�JH:78ao � � gjFP3Y:T59<�b)8A?H8;:T=�<73Y>�? 57L�59<98AkD5;g �c=�d/59<98;:���Q4?�J�<98AK6K = ���a=�(n=)1 �'=)?HB � >):7d'E�8AJ'5 �

� �� � ��� ��� -�E�8ckD=)36?Db)>�=)Kn>)O#F�:78;8A?�8;< $ o � &+365j<9> 8A?H=�m'KY8cd'J�m'K63 57EH36?�b ��:78;<9:"3Y8;[�3 ?�bR=)?HB :78;d/K636I;=�<736?�bB�>WI;JHkl8A?�<75 "cEH36KY8&d':7>)<98AI*<736?�b]<7E�8 ������������� � >)O�mn>)<7E%<7EH8^d'JHm'K63657EH8;:T5f=)5 " 8AK6K =)5G<7EH8^:78A=)BH8;:T5 �

� =)I"E /'KY8N365 36?H578;:7<98AB�36?�<9> <7E�8C?H8;<," >): ��J'5736?�b = �)8;L "`E'36ITE�365 = EH=)57E�>)OS3Y<75lI*>�?�<98A?�< � ��[)8;:7L?�>WB�8RkD=)36?�<7=)3 ?H5`= I;=)ITE�8 @ ?�>)<4=&dn8;:T5T3659<98A?�<c59<9>):78 B�>)O <7E�8 K6=)59<cO_8 " �)8;L�543Y<SEH=)5S598;8A?�� =)?HB �)8;8;d/5

<9:T=)I �]>)O <7E�8l?�>WB�8 <7EH=�<a3Y<SO_>):�"�=�:TB�8AB <7EH8V:T8�)�J�8A57<fO_>):a= d'=�:7<73 I;JHK6=�: �)8;L]<9> � 1 ?H>�B�8lI*>�kld/=�:78A5

=)?�L]36?HI*>�kD36?�b :78�)�JH8A59<4<9> <7E�8 8A?�<9:T368A5f36? <7EH8&I;=)ITE�8 �9//?HBH5S<7E�8lI;KY>�598A59<fk&=�<7I"EH36?�b �)8;L <9>C3Y<f=)?HB

O >):�" =�:"BH5V<7E�8 kl8A5757=�b)8C<9> <7E�8 I*>):7:T8A59dn>�?HBH36?�b ?�>WB�8 � FP36KY8A5 =�:78 36?H578;:7<98AB�=)?HB 598A=�:TI"E�8AB 36?�<7E�8

57=)kl8 "�=AL �c<7E�JH5 8A?H5TJ�:T36?�b <7EH=�<N<7E�8 ?H>�B�8A5NI*>�>)dn8;:T=�<98 <9> :7>�JH<98 :T8�)�J�8A57<75^<9>�<7E�8 kl>�59<NK63 �)8AK6L

d'E�L�5T36I;=)K KY>WI;=�<73Y>�?�>)O�<7E�8NBH=�<7= � %O�= ?�>WB�8^O =)36K 5a<9> KY>�I;=�<98 =]:78A59>�J�:"I*8 ��3Y<G:78;<7JH:T?H5R<7E�8^>):"3Yb�36?H=)K

kl8A575T=�b)8RB�>�"`?H59<9:78A=)k =)KY>�?�b&<7EH8G57=)kl8ad/=�<7EC<7EH=�<`36<`I;=)kl8GO :7>�k �H=)?'BC<7E�8a:T8�)�J�8A57<`365�O >):�"�=�:TB�8AB

<9>l<7E�8f?�8('W<�m�8A57< ?�8A36b�E�mn>): � + 8aI;=)?N<7EH36? �&>)O�<7E�8GQ4?�J�<98AK6K =R598A=�:"ITEC=)KYb)>):"3Y<7EHk =)5�= ���� �) ��$=� ������+ �� ��$ =)5�>)dHdn>�598AB <9>D= & � ��$6� � ��� � ��� ��$ 36?NF�:78;8A?�8;< ��!�>�J�<736?Hb 3 5j8('Wdn8AI*<98AB <9>&36kld':7>h[)8f>,[)8;:c=dn8;:T3Y>WB >)On<736kl8�mn8AI;=)JH598`?H>�B�8A5 "`36K6KW59dn8AI;36=)K63 �;8�36?lKY>WI;=�<736?�bG598;<75 >)O 5736k&36K =�: �)8;LW5 =)5 " 8AK6K�=)5j57<9>):T36?�b

I;K6JH57<98;:T5V>)O=/'KY8A5 "`3Y<7E�5736kD36K6=�: �)8;LW5 � -�E�JH5�� //KY8A5 "c36K6K�mn8NB�LW?H=)k&36I;=)K6K6L :T8;d'K636I;=�<98AB�36?�KY>�I;=�<736>�?H5

� �

Page 27: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

?�8A=�:S:78�)�J�8A59<98;:T5S=)?HB B�8AKY8;<98AB]O_:7>�k KY>WI;=�<73Y>�?H5 "`E�8;:78R<7E�8;:78R3 5`?�> 36?�<98;:T8A59< � -�EH8adn8;:7O_>):"k&=)?HI*8G>)O

F�:78;8A?H8;<`365�BH3>$DI;J'KY<j<9>l8;[�=)K6JH=�<98a=)?'B 3Y<�dH:7>h[W36B�8A5�?�>ld':7>h[�=�m'KY84b�JH=�:T=)?�<98;8a>�?N<7E�8a578A=�:TITECK =�<98A?HI*L �

1S?�>)<7E�8;:`B�:"=�"�m'=)I � 365�<7EH=�<`36<�BH>�8A5�?H>)<�b�JH=�:T=)?�<98;8G<9>�//?HB =)I;I*8A57573Ym/KY8aI*>�?�<98A?�< �

�H��� � *�a���� �� !� A���E!�� �n� y �� � � � � �� *

-�E�8*/H:T59<�� b)8A?�8;:"=�<73Y>�? dn8;8;:�� <9>�� dn8;8;: 59LW59<98Ak&5V36?H59d'36:78AB <7E�8^B�8;[)8AK6>)d'kl8A?�<G>)O�kl>):78 59>)d'EH3 59<736I;=�<98AB

598AI*>�?HB � b)8A?�8;:T=�<73Y>�?�>�?�8A5lK 3 �)8 \�1 � $ -*�*& � \�E�>):"B $ �*� o*& � @ =)59<9:7L $ -*- & � =)?HB -#=�dn8A59<9:TL�$ � o*� & �%1SK �<7E�>�J�b�E <7EH8A598l59L�57<98Ak&5f=�dHdn8A=�:4[ =)59<7K6L]BH3 %n8;:78A?�<�� <7E�8;:78l3654= :78AI;J�:7:T8A?�<fJH?HBH8;:TKYLW36?�b&<7E�8Ak&8)gc<7E�8;L

=)K6KHJ'598`59>�kl8c[ =�:"36=)?�< >)On=)?D>h[)8;:TK =ALDkl8;<9:"36I�59d'=)I*8S36? "`E'36ITEl<7EH8`k&=)ITE'36?�8A5 =)?'B&:78A59>�JH:TI*8A5 =�:78c8Ak��

mn8ABHB�8ABlJH5T36?�b $ %��$&�/� 0 ��1S5�8('Wd'K6=)36?�8ABV8A=�:TK 3Y8;:���8A=)I"E^k&=)I"EH36?�8�I;=)?D8A3Y<7E�8;:�k&=)3 ?�<7=)36?&<7E�8`=)BHB�:T8A57598A5

>)O�<7E�8^:78A59>�J�:"I*8A5R<7E'=�<V3Y<V365R:78A59dn>�?H573Ym/KY8 O_>):�� >): 3Y<VI;=)?�=)I*<7J'=)K6KYL%E�>�59<V<7E�8^:78A59>�J�:TI*8A5 � !`>�J�<736?�b

365�BH>�?�8 0 �� ��/23� m�L O_>):�"�=�:TBH3 ?�bld'=)I �)8;<75c<9>^?H8A3Yb�E�mn>):T5 � 2 ���+ ���� <9>D<7E�8G<7=�:7b)8;<c?�>WB�8 "`36<7E :78A59dn8AI*<

<9>%<7E�8]kl8;<9:T36I BH3 59<7=)?HI*8 � -�EH3 5l36?HE�8;:78A?�<lI*>�k&kl>�? 59<9:TJHI*<7J�:T8CKY8A=)BH5l<9> 5T36k&36K6=�:V:78A57J'KY<75lO >):&<7E�8

dn8;:7O >):Tk&=)?HI*8V>)Oj57J'ITE ?�8;<," >): �W5 � e 8;O >):78 "j8 8('Wd'K6=)36? 2 -`5S3 ? BH8;<7=)36K � 36?]<7EH365S598AI*<73Y>�?�� " 8lKY>�> �

=�<`59>�k&8a>)O#<7EH8adH:78AI;J�:"59>):T5�<7EH=�<`K68AB <9>&<7E�8A3Y:�BH8;[)8AKY>)d'kl8A?�< �

� ������� ��,����*��(*$

S=)57EH36?�bREH=)5 mn8;8A?^JH598AB^8A=�:TK63Y8;:jO_>):�598;[)8;:T=)K�=�dHd'K63 I;=�<73Y>�?H5�57J'ITE =)5jBH3 59<9:T3Ym'JH<98AB&BH=�<7=�m'=)598A5 $ � � � � p �� ( &�=)?HBVBH3659<9:T36m'J�<98ABfI;=)ITE'36?�bSdH:7>)<9>WI*>�K65 $ �,� � q & � � $ � � &�365 =SEH=)57EH36?Hb`kl8;<7E�>WBRJ'598ABGO >): 8('�<98A?H5T3Ym'KY8BH365 � //KY8A5+<7EH=�< b):7>�"�>):P57E�:"36? �4B�L�?'=)k&36I;=)K6KYL ��"`3Y<7ER?�>cB�8;<98;:"3Y>):T=�<73Y>�?V36?G57d'=)I*8 JH<736K63��A=�<73Y>�?a>):P=)I;I*8A5T5

<736kl8 ��FP36K68A5�=�:78f>):7b�=)?H3 �;8AB 36?�<9>lm'JHI �)8;<75�>�?CBH3 5��D<7EH=�<cI;=)? mn8a=)I;I*8A57598AB JH5736?�b =ld'=)36:�>)O EH=)5TEH36?�b

O JH?HI*<73Y>�?H5�� =)?'B�� ���� � FHJH?'I*<73Y>�?�� 365�K63 ?�8A=�:TKYL&:T8;d'K6=)I*8ABNm�L�������`=)5�<7E�8fm'JHI �)8;<`I;=�d'=)I;3Y<73Y8A5c=�:78

8('�I*8;8AB�8AB���=)?HB^O_8 " >)m � 8AI*<75 ?H8;8ABD<9>Vmn8`<9:T=)?H57O_8;:7:T8AB&8A=)ITEN<73 kl8c=R?�8 " m/JHI �)8;<�365 =)BHB�8AB��)!�8AI*>):"BH5

I;=)? mn8VKY>WI;=�<98AB 36? =NI*>�?H57<7=)?�<f?�JHkGmn8;:S>)O E�>)d'5 � � �� $ � ( &Pb)8A?�8;:T=)K63��;8A5 � <9> B'3659<9:T3Ym/J�<98ABCBH365 �/'KY8A5 "`3Y<7E�>�J�<�J'5736?�bf=GI*8A?�<9:T=)K/I*>�>):TB'36?H=�<9>):j=)?'B&k&=)36?�<7=)36?H5�=)?^=A[)8;:T=�b)84KY>�=)BDO =)I*<9>): >)O ��p�� � -*���O >):�8A=)ITE]m'JHI �)8;< �

\ >�?'573659<98A?�<�EH=)57EH3 ?�b "�=)5�36?�<9:7>WBHJHI*8AB m�L �G=�:7b)8;: +� �2 4 $ �,� &HO_>): I;=)I"EH36?�bfd':7>)<9>�I*>�K 5 <7EH=�<�I;=)?&mn8JH598ABC<9>&:78AK63Y8;[)8 2 ��� �: ��� 36? B'3659<9:T3Ym/J�<98ABN59L�57<98Ak&5 �� c>)<c57d�>)<75�>�I;I;J�: "`E�8A?C=&5TJHBHB�8A? 36?'I*:78A=)598

36? <7EH8]B�8Ak&=)?'B O_>): =%d'=�:T<736I;JHK6=�:l:78A57>�J�:TI*8]5�" =)kld/5&<7E�8 578;:7[)8;:^<7E'=�<^E�>�59<75^3Y< �.-�>�=A[)>�36B E�>)<

� �

Page 28: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

59dn>)<75���<7E�8`598;:7[)8;: 8;[)8A?HKYLlBH3 59<9:T3Ym'JH<98A5P<7E�8�:78A59>�JH:TI*8A5 =)I*:7>�5T5 <7E�8S598;< >)O =h[ =)36K =�m'KY8`I;=)I"E�8A5j5TJHITED<7EH=�<

@ 3 Bc<7E�8l8('Wdn8AI*<98AB%?�JHkGmn8;:f>)O :78A59>�J�:"I*8&<9:T=)?H59O 8;:T5 "`EH8A? = I;=)ITE�8 KY8A=A[)8A5�� 365a57kD=)K6K � @ 363 Bc<7E�8&J'598;:T5b)8;<^= kl>�59<7KYL I*>�?H573 59<98A?�<D[�3Y8 " >)O4=)K K�<7E�8 I;=)I"E�8A5^=)5D8A=)ITE :78A59>�J�:"I*8 EH=)57E�8A5&<9> =%57kD=)K6K�598;<D>)O

I;=)ITEH8A5��+=)?HB�@ 36363 B�8A=)ITE I;=)ITEH8&365`:T8A59dn>�?H573Ym'K68f>�?HKYL O >):436<75`O =)3Y:457EH=�:78V>)O�:78A59>�JH:TI*8A5 � -�EH365c57ITEH8Akl8365&5T36k&36K6=�:l<9> � ��]m'JH<&3Y<D=)K6KY>�"`5&m/JHI �)8;<75^<9> mn8C=)BHB�8AB 36? =)?�L =�:7m'3Y<9:T=�:TL >):TBH8;: � \�>�?H573659<98A?�<

EH=)57E'36?�b EH=)5�mn8;8A? JH598ABNm�L 1 ��=)k&=)3 $ q &+O >):�:78AK63 =�m'KY8 ��b�KY>)m'=)K �HI*>�?�<98A?�<SB�8AK63Y[)8;:TL&>�? <7E�8 " 8;m � %�<�365=)K659> JH598AB =)5 <7E�84I*>):78fEH=)57EH36?HbG=)KYb)>):T3Y<7E'k�36? \�E�>):"B $ �*� o &nO >):�K6>�=)BDm'=)K =)?HI;36?�bV=)?HB^?H8A=�:��MJH?H3YO >):TkBH3657<9:T3Ym'J�<736>�? >)Ojk&=)I"EH36?�8l36BH8A?�<73>/'8;:T5c3 ?]<7EH8 k&8;<9:T36I 59d'=)I*8 <9> 8AK636kD36?H=�<98V<7E�8l?�8;8AB O_>):fm'=)K =)?HI;36?�b

<7E�8SJH?HB�8;:TK6L�36?Hbc<9:78;8459<9:TJ'I*<7J�:78 � + E'36KY8�<7E�8c>)<7E�8;: 2 - 57L�59<98AkD5 57JHI"E^=)5�\�1 � $ -*� & � @ =)59<9:TL $ -*- & �=)?HB -#=�dn8A59<9:7L $ � o*� & �PB�> ?H>)<R59dn8AI;3YO L]<7EH8&8('W=)I*< EH=)57E%O JH?'I*<73Y>�? <9> mn8DJ'598AB���<7EH8;L%I;=)? =)K659>]JH598I*>�?H573 59<98A?�<cEH=)57EH36?HbVO >):`k&=�d'd'36?�b k&=)ITE'36?�8A5�>�? <9>&<7E�8f>h[)8;:"K6=ALC?�8;<7"j>): � �

� ������� ���0,�� /1(���� ,#, �-,�67, (���� � � �4,����������,��0$'/1��� ��*6

@ K =�'�<9>�? � 2 4 $ -)o &�b�=h[)8R=&B'3659<9:T3Ym/J�<98ABN=)KYb)>):T3Y<7EHk O_>):`=)I;I*8A5T5736?�bD5TEH=�:78AB :78A57>�J�:TI*8A5`3 ? =)? >h[)8;:TK =AL?�8;<7"j>): � ��"`EH36K68GJH5736?HbD57k&=)K6K �M573��;8ABC:T>�J�<736?�b^<7=�m'KY8A54=�<c8A=)I"E ?�>WB�8R36? <7E�8 ?�8;<," >): � � -`EH365�:T>�J�<736?�b

=)KYb)>):T36<7EHk 365RJ'598AB�36? mn>)<7E - =�d�8A57<9:7L�$ � o*� &�=)?HB @ =)59<9:7L$ -*- & "`3Y<7E�= O_8 " kl>WBH3>/'I;=�<736>�?H5 � -�E�8=)KYb)>):T36<7EHk 365Gm'=)598AB%>�? � � ��� � � �� �32 �9: � �� � � � �� � ��� �4< � �j=)ITE�?�>WB�8DEH=)5R=CJH?H3 )�J�8�� � m'3Y<36B�8A?�<73>/H8;:SBH3Y[W36B�8AB]36?�<9>��DKY8;[)8AK 5c>)O������ ���Dm'3Y<75c8A=)ITEE��KY8;<�� m'3Y<75c:78;dH:78A598A?�<4= � 0)��� �f1 ?�>WB�8 �

"`36K K EH=A[)8 �&598;<75`>)O�o"! ?�8A3Yb�E�mn>):T5�8A=)I"E���5TJHITE <7EH=�<`8A=)I"E]598;<$# �/p�%&#�'(� ��"`36K6K EH=h[)8V?H>�B�8A5="`3Y<7E36B�8A?�<73>/H8;:"5 =)5�O >�K6KY>�"`5;g)#�I*>�k&k&>�?CBH3Yb�3Y<75 "`36<7E �+* 5�36B�8A?�<73>/H8;: ��O >�K6KY>�"j8ABNm�L =)K K/dn>�575T3Ym'KY84o ! [�=)K6J�8A5O >):a<7E�8�@,#.- � B�59<GBH36b�3Y<��+=)?HB%=)?�L]>)O <7E�8Do ! d�>�5T573Ym'KY8V[�=)K6J�8A54O >):a8A=)ITE >)O <7EH8l:78Ak&=)36?H3 ?�b B'3Yb�3Y<75 �1S? 8('�=)kld'K68 :T>�J�<736?�b]<7=�m'KY8 365Rb�3Y[)8A? 36?�-#=�m'K68 o � � � !�>�J�<736?Hb 365 B�>�?H8^m�L b):78;8AB'36KYL O >):�" =�:"BH36?�b<7E�8 kl8A5757=�b)8N<9> <7E�8^?�>WB�8 36?%<7E�8^:7>�J�<736?HbC<7=�m'KY8 � "`E'36ITE EH=)5G<7EH8^KY>�?�b)8A57<RI*>�k&kl>�?�57J�$ ' "`3Y<7E

<7E�8R<7=�:7b)8;<S3 B�8A?�<73 /H8;: ��F�>):S8('W=)kld/KY8 �/=^kl8A5757=�b)8VO_:T>�k � o)q � <9>Nq ��q)q^k&=hLCmn8a:7>�J�<98AB =)5`O >�K6KY>�"`5;g� o)q �0/ � o � � / o)o � � / � �#�#� / � �"� � �� 8;<21�� o ! ��-�EH8A? "`3Y<7E � ?�>�BH8A5G36? <7EH8D?�8;<," >): � �P<7E�8^573 �;8&>)O�<7E�8D:7>�JH<736?�b <7=�m'KY8^365�@31 �

� B�465 KY>)b87 �:9c=)?HB^:7>�J�<736?HbG<7=��)8A5�5 KY>)b87 �:9S<736kl8 � -�E'365 "�=)5 dH:7>)m'=�m'K6LV<7EH8 /H:T57< :7>�J�<73 ?�bR=)KYb)>):"3Y<7EHk36?�<9:7>WBHJHI*8AB�<7EH=�< "�=)5&57I;=)K6=�m'K68 O_>):ldn8;8;:�� <9>�� dn8;8;:D59LW59<98Ak&5 � c>�" 8;[)8;:���36?�<7E�8 >):T36b�36?H=)K�57ITEH8Akl8 �

8A=)ITE :T8A59>�J�:TI*8 " =)54=)5757>�I;36=�<98AB "`36<7E]= JH?H3 )�J�8 ������ ?�>WB�8R<7EH=�<SkD=)36?�<7=)3 ?�8AB <7EH8V=)BHBH:78A575c>)O�<7E�8

:78A59>�JH:TI*8 � -�EH365�365�BH3 57=)B�[�=)?�<7=�b)8;>�JH5`=)5�3Y<�:78�)�J'3Y:78A5jb�KY>)m'=)K �W?�>�"`K68AB�b)84<9>&k&=�d :78A59>�J�:"I*8A5�<9>l<7E�8A3Y:

�)(

Page 29: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

UWJ�$ ' � 8A?�b)<7E �`8A3Yb�E�mn>):T5p �*� q � q ��o)o � o � q �� q)o � � � o)o � � q)q � �o o � � � � ��q � � � � � �q � o � � � q � � � � � � �

- =�m'KY8Do � � gG1S? 8('�=)kld'KY8l>)O <7E�8&:7>�JH<736?�bN<7=�m'KY8l>)O�?�>WB�8 � o)q �]JH5T36?�b <7E�8 @ ! ! :7>�JH<736?�b 57ITEH8Akl8 � c8;:78 � � �

�� � �

�� � o �

:7>�>)<`?�>WB�8A5 �

�H��� � ! Y� �E!�� �n� � �� � �� � � �� 4

% ? <7EH365�598AI*<736>�?���" 8fb�3Y[)8G=lmH:"3Y8;O�>,[)8;:7[�368 " >)O <7E�8GBH3657<9:T3Ym'J�<98AB EH=)57EC<7=�m'KY8a59LW59<98Ak&5��/EH3Yb�EHK636b�E�<736?Hb

59>�kl8G>)O#<7E�8A36:`k&= � >):`B�8A573Yb�? =)57d�8AI*<75 �

� ������� � /1( 5&�(1 #" ,����4�-&��#�#,�� ��& (4& � /'��

\�1 � $ -*� & d'=�:7<736<73Y>�?H5 = ���MBH36kl8A?H5T3Y>�?H=)K'I*>�>):TBH3 ?H=�<98c59d/=)I*843 ?�<9> ��� ��� <7EH=�<�=�:78c>�"`?�8AB m�LD?�>WB�8A5 �

!�8A57>�J�:TI*8 �)8;L�5�=�:784k&=�dHdn8AB&<9> dn>�36?�<75 36?D<7E�84I*>�>):TB'36?H=�<98459d'=)I*84JH5736?�bR=RJH?'3YO_>):"k EH=)57E^O J'?HI*<73Y>�?��

=)?HBN<7E�8A? 57<9>):78ABC=�<�<7E�8f?�>WB�8 "`EH3 ITEN>�"c?H5�<7E�8��;>�?�8G3 ? "cEH36ITE <7E�8fdn>�36?�<�365�KY>WI;=�<98AB�� � =)I"E ?�>WB�8k&=)36?�<7=)36?H5�=)?��@��(B+57<7=�<98j=�mn>�J�<�3Y<75#?�8A3Yb�E�mn>):T5 "`EH3 ITEa=�m'JH<9"`3Y<7Ef<7EH8 ?�>WB�8�>�?HKYLf36?a>�?�8 BH36k&8A?H573Y>�?��QS:78;8ABHL :T>�J�<736?�b �+m�L O_>):�" =�:TB'36?�b kl8A5757=�b)8A5R<9>C<7E�8^?�8A3Yb�E�m�>):RI;KY>�598A59<a<9> <7E�8&<7=�:7b)8;< �;>�?�8 �#<7=��)8A5

�@�� � ����� Ba<736kl8�"`36<7E � ?�>WB�8A5V36? <7E�8 ?�8;<," >): � � + 3Y<7E�� � K6>)b�� � 8A=)ITE�?�>WB�8^JH578A5��@ K6>)b�� B59d'=)I*8R=)?HB :7>�J�<73 ?�bl<7=��)8A5 � @ KY>)b�� Bj<73 kl8 � FP3Yb�J�:78Vo � ol57E�>�"`5`=)? 8('�=)kld'K68f>)OP=&<," >��MBH36kl8A?H5T3Y>�?H=)K\�1 � "c3Y<7E =l:7>�J�<98GO_:7>�k �;>�?�8Rq <9>#�;>�?H8 � JH5736?HbVb):T8;8AB�LN:7>�J�<736?�b �

(0, 1)

(0, 0) (1, 0)

(1, 1)

27

8

d=2

ZONE3 5

FP3Yb�J�:78ao � o�gj1�<7"j>��MBH3 kl8A?H573Y>�?'=)K I*>�?�<98A?�<��M=)BHB�:78A5T57=�m'KY8G?H8;<," >): � @ \�1 � B �

� �

Page 30: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

-#> � >�3 ? <7EH8N?H8;<," >): � ��= ?�8 " ?�>WB�8 d'36I �W5l= :T=)?HBH>�k dn>�36?�< 36?�<7E�8 I*>�>):TB'36?H=�<98 59d'=)I*8 ��=)?HB

<7E�8 8('W3 59<736?�b ?H>�B�8^<7EH=�< >�"`?'5G<7E�8 �;>�?�8N36? "`EH36I"E%<7E�8 dn>�36?�<RK63Y8A5�� 59d'K 3Y<75a<7E�8 �;>�?�8 36? E'=)KYO�=)?HB

=)575736b�?H5�>�?�84EH=)KYOn<9>V<7E�8c?H8 " ?�>WB�8 � -�E�8SBH36kl8A?H5T3Y>�?&=)KY>�?�b "`EH36I"E&<7E�8S59d'K636< >�I;I;J�:"5j365jITE�>�578A? 3 ?D=

/�'W8AB :T>�JH?HB � :7>)m/36?NO =)5TEH3Y>�? =)k&>�?�b^=)K6K#dn>�57573Ym/KY8fBH36kl8A?H5T3Y>�?H5 � �c>�B�8RO =)3 K6J�:78A5�=�:T8VEH=)?'BHKY8ABC36? <7E�8

57=)kl8�"�=AL%m�L%kl8;:7b�36?Hb �;>�?�8A5V>)O�O =)3 KY8AB ?�8A36b�E�mn>):T5 �"��=�:"3Y>�JH5V=)BHBH3Y<73Y>�?'=)K�B�8A573Yb�? 36kldH:T>h[)8Akl8A?�<75

36?HI;K JHB�8`kVJHKY<73Yd/KY8`I*>�>):TBH36?H=�<98459d'=)I*8A5 <9>l36kld':7>h[)84BH=�<7= =A[�=)36K6=�m'3 K63Y<ML ��mn8;<9<98;: :T>�J�<736?�b kl8;<9:T36I;5 57JHI"E

=)5�O >):�" =�:"BH36?�bR<9>l<7E�8S?H8A3Yb�E�mn>): "`3Y<7E^<7E�8f57k&=)K KY8A59< :T>�JH?HB � <9:T36d K6=�<98A?'I*L �WkVJHKY<736d'KY8`dn8;8;:T5 dn8;:��;>�?�8

=)?HBCkVJHKY<736d'KY84EH=)57ENO JH?HI*<73Y>�?H5�O >):`O =)JHKY<�<9>�KY8;:"=)?HI*8a8;<7I��

F�>):cdH:7>�'W36kD3Y<ML^:7>�J�<736?�b ��=l<9>)dn>�KY>)b�3 I;=)K6KYL �M598A?H573Y<736[)84I*>�?'59<9:TJHI*<73Y>�?N>)O <7E�8V\�1 � " =)5�dH:78A598A?�<98AB

36? $ - ( & � "`EH36I"E 365f5736kD36K6=�:S<9>C<7E�8D36BH8A=)54>)O�� ��� �� ���.���� +�� � �+$&� >)O -�57JHI"EH3YL�= $ �*� � &j=)?'B�� 2 �6� �2� +� � ����. 9 �%����� � �������10 d':7>)dn>�598ABDm�L �cb +� �2 4 $ � ( & � �j=)ITEC?H>�B�8436?C\�1 � kl8A=)5TJ�:78A5�3Y<75 :7>�JH?'B � <9:T3YdB�8AK6=hLN<9>D=&598;<�>)OPdH:T8 �MB�8;<98;:Tk&36?H8AB K6=)?HBHk&=�: ��5���=)?HB =)I;I*>):TBH36?�b�K6L^d'K =)I*8A5`3Y<7598AK6O#36?N<7E�8RI*>�>):TB'36?H=�<98

59d'=)I*8 � + 3Y<7E:��57JHI"ECK6=)?HBHkD=�: ��5�� ���H>):"B�8;:T36?�b�5�=�:T8Gdn>�57573Ym/KY8 ��57>&<7E�8RI*>�>):TBH3 ?H=�<98a59d'=)I*8V365�BH3Y[W36B�8AB36?�<9>����'8�)�JH=)K �M573��;8AB dn>):7<73Y>�?'5���=)?HB 8A=)ITE]?�>WB�8 "`36K6K � >�36?N<7E�8adn>):7<736>�?N<7EH=�<`k&=�<7I"E�8A5c36<75�K6=)?HBHk&=�: �>):TB�8;:"36?�b � -`EH365�kl8;<7EH>�BCE'=)5�<," >NB�:T=�"`m'=)I �W5;g %<`3 5�?�>)<c578AKYO � >):Tb�=)?H3��A36?�blmn8AI;=)JH578a>)O <7E�8G?�8;8AB <9>

/�' <7EH8VK6=)?'BHk&=�: �W5��n=)?HB]36<SI;=)? I;=)JH578 = ?�>�? �MJ'?H3YO >):Tk BH3 59<9:T3Ym'JH<73Y>�? >)O ?�>WB�8A5436?]<7E�8 I*>�>):TB'36?H=�<98

59d'=)I*8RKY8A=)BH36?�b <9>DEH>)<`59dn>)<75 �

� ������� �, � &)�! � 3 ,�(���� , �! � 3

- =�d�8A57<9:7L�$ � o*� &�=)?HB @ =)59<9:7L $ -*- &�JH578^<7E�8 @ ! ! =)KYb)>):T3Y<7E'k�$ -)o &�8('Wd'K6=)36?�8AB 36? U�8AI*<73Y>�? o � o � o =)5<7E�8VI*>):78R:T>�J�<736?�bD=)K6b)>):T3Y<7EHk � "`3Y<7E]kl>�B'3>/'I;=�<73Y>�?H5�<9>^<7E�8R>)<7E�8;:SO_8A=�<7J�:T8A5c>)O <7EH8RB�8A5736b�?C<9>Nk&=��)8

3Y<a57J'3Y<7=�m'KY8 O >):GJH598&36? = BH3659<9:T36m'J�<98AB]8A?�[W3Y:7>�?Hk&8A?�< ��-#> 36?HI*>):Td�>):"=�<98lO =)JHK6<f<9>�KY8;:T=)?HI*8 �1-#=�dn8A59<9:7L

k&=)36?�<7=)36?H5 kVJHKY<73Yd/KY8^?�8A36b�E�mn>):T5Vdn8;: 8A?�<9:7L�36?�<7E�8N:7>�J�<73 ?�b <7=�m'KY8N<9> :7>�J�<98C=�:7>�J'?HB�O =)36K J�:78A5 � %�<

8AK636kD36?H=�<98A5c<7E�8l?�8;8AB O_>):a=NI*8A?�<9:T=)KP8A?�<73Y<ML O_>):fk&=�d'd'36?�b :78A59>�J�:"I*8A54<9> :T>�>)<f?�>WB�8A5�� m�L =)575736b�?H36?�b

=N:78A59>�JH:TI*8l<9> <7E�8l?�>WB�8 "`E�>�598&36BH8A?�<73>/'8;:Sk&=�<7I"E�8A5a<7EH8&EH=)57E [ =)K J�8 >)Oj<7E�8l:T8A59>�J�:TI*8��)8;L 36? <7E�8

k&=�'�36kVJHk ?�JHkRmn8;:�>)O�<9:T=)36K 36?�bGm/3Y<75 � � � � � <���� � � � ��� � < 365�JH578AB^<9>&K6>�I;=�<98a=V:78A59>�JH:TI*84m�L =)K659>

59<9>):T3 ?�b&3Y<`=�<`=D?�>�BH8GI;KY>�598A59<`<9>D3Y<75`I"E�>�598A? :7>�>)<c?�>�BH8 �'3YO <7E�8GK6=�<9<98;:S365�=�m'598A?�< � -`E�8;:78G=�:78Rk&=)?�L

kl>):78R>)dH<736k&3 �A=�<73Y>�?H5`5TJHITE]=)5cB�LW?H=)k&3 Ia?�>WB�8G=)BHBH36<73Y>�?C=)?HB]B�8AKY8;<73Y>�?��/59>)O_<��M57<7=�<98Vd/J�m'K6365TEH36?�b =)?HB

57J�d'd�>):T<736?�b kl>)m/36KY8D:T8A59>�J�:TI*8A5��#"`EH36I"E =�:78N<9>�> 36?�[)>�K6[)8AB <9> B�8A5TI*:T3Ymn8^E�8;:T8 ��=)?HB�<7E�8 36?�<98;:T8A59<98AB

:78A=)B�8;:c365�:78;O 8;:7:78ABN<9> $ � o*�*& �

� �

Page 31: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

�����

� ���

����

��

� �

����

����

� � �

FP3Yb�J�:78So � q�g -#=�dn8A59<9:7L ��m'=)598ABD>�?D<7E�8 @ ! ! :7>�J�<73 ?�bG=)KYb)>):T36<7EHk � !�>�J�<736?HbaO_:T>�k ?�>WB�8 � o)qa<9>V?�>WB�8q ( �&3 5�57E�>�"c?CE�8;:78 � @ =)59<9:7L 365`=l5736k&36K =�:�57L�59<98Ak <7EH=�<`JH578A5�dH:78 /�' � m'=)598ABN:T>�J�<736?�b �

@ =)59<9:7L JH578A5 dH:78 /�' � m'=)598AB :T>�J�<736?�b 36?'59<98A=)B >)O 57J�$ ' � m'=)598AB =)5 36? - =�d�8A57<9:7L � � =)I"E ?�>WB�8k&=)36?�<7=)36?H5S= � �!�;< 2 � � �2������ 598;<f=)?HB = 6 � ��� 598;<f36? =)BHBH3Y<736>�? <9>N<7E�8 :7>�J�<73 ?�bD<7=�m'K68 =)5Sdn8;:4<7E�8

@ ! ! =)KYb)>):"3Y<7EHk � -`E�8C?�8A3Yb�E�mn>):TE�>�>�B 598;<D>)O4= ?�>�BH8CI*>�?H573659<75&>)O4=%b):7>�J�d >)Of?�>WB�8A5l<7EH=�< =�:78

I;KY>�598A57<R<9> 3Y<R=)5Rdn8;:G<7E�8 dH:7>�'W36kD3Y<ML kl8;<9:T3 IS� <7E�8;L E�8AKYd <7E�8 ?H>�B�8D<9> I"E�>�>�578^<7E�8 I;KY>�598A59< ?�>WB�8A5<7EH=�<l57=�<73657O_L <7E�8N:7>�J�<736?�b <7=�m'KY8 I*:T36<98;:T36= � -�E�8 KY8A=�Oc598;<�� 365V<7E�8 598;<l>)Oc?H>�B�8A5 "`36<7E <7EH8�� ��� ��o

?�JHkl8;:T36I;=)K KYL��MI;K6>�598A59< K6=�:7b)8;:&36B�8A?�<73>/H8;:"5���=)?HB�<7E�8�� ��� ��o ?�JHkl8;:"36I;=)K6KYL �MI;KY>�598A59< 57k&=)K KY8;:l36B�8A?�<73>/H8;:T5:78AK6=�<736[)8S<9> <7E�8f?�>WB�8 * 5�>�"`? 36B�8A?�<73>/H8;: �1%�O+<7E�84:7>�J�<736?HbR<7=�m'K684?H>�B�84365�?�>)<�=)I;I*8A575736m'KY8 �W<7E�8fI;J�:7:78A?�<?�>WB�8#"c36K6K�O >):�"�=�:TBR<7E�8 k&8A5757=�b)8�<9>4>�?�8j>)O'<7E�8 K68A=�O'598;< ?�>WB�8A54"cE�>�598�36B�8A?�<73>/H8;:�d':78 /�'Gk&=�<7I"E�8A5P<7E�8

<7=�:7b)8;<f36? <7E�8V5T=)kl8V?�JHkRmn8;:`>)O�m'36<75`=)5S<7E�8 I;J�:7:78A?�<c?�>WB�8 ��m'J�< "`E�>�598V36B�8A?�<73>/H8;:c3 5`?�JHkl8;:T36I;=)K KYL

I;KY>�598;:^<9> <7EH=�<^>)O4<7E�8C<7=�:7b)8;< � -�E'365 dH:7>WI*8ABHJ�:78 8A?'57J�:78A5l<7E'=�<D<7E�8C:T>�J�<736?�b%=)K>"�=ALW5 I*>�?�[)8;:7b)8A5��

<7E�>�J�b�E ?�>)<`?�8AI*8A575T=�:T36KYL^8 $DI;3Y8A?�<7KYL �

e >)<7E @ =)57<9:7L =)?HB - =�dn8A59<9:7L I;=)? 8('Wd'KY>�3Y<l<9>)dn>�KY>)b)L m�L�dH:7>�'W36kD3Y<ML�?�8A3Yb�E�mn>):D598AKY8AI*<73Y>�? 3 � 8 � �

ITEH>�>�573 ?�bC<7E�8 � 2 �%� ���� ?�>WB�8�@ =)5adn8;:a<7EH8&dH:7>�'W36kD3Y<ML kl8;<9:T36I B �#>�J�<a>)O�=)K6KP<7E�8Dd�>�5T573Ym'KY8 ?�8A3Yb�E�mn>):T5"`3Y<7EN=�dHd':7>)dH:T36=�<98fk&=�<7I"EH36?�b&3 B�8A?�<73 /H8;:T5 �1%O#<7E�8f8A?�<73Y:78 � � k&=�<9:T3 '�"`3Y<7E <7E�8aK6=�<98A?'I*L^>):�BH3 59<7=)?HI*8

[�=)K6J�8A5lmn8;<," 8;8A? =)K6K � ?�>�BH8A5l365l=A[�=)36K6=�m'K68 �j<7E�8A? <7E�8 mn8A59<&?�8A3Yb�E�mn>):&I;=)? 8A=)5736KYL�mn8 ITE�>�598A? <9>

57J�d'd�>):T<�dH:7>�'W36kD3Y<MLl:7>�JH<736?�b(��8 $DI;3Y8A?�<�EH8AJ�:T3659<73 I;5 I;=)?N=)K659>Vmn8cJH598AB^O >):�?H8A3Yb�E�mn>): 598AKY8AI*<73Y>�?N36?^<7E�8=�m'598A?'I*8f>)O#<7EH3 5 kD=�<9:T3 ' ��F�:7>�k <7E�8A36:�8('�dn8;:T36k&8A?�<7=)K�:78A57J'KY<75�� @ =)59<9:7LNB�>�8A5�d'=�:7<736I;JHK =�:TKYL " 8AK6K "`3Y<7E

d'=�<7EH5�<7E'=�<�=�:78f>�?HKYL^q�p�� � ��p�� K6>�?�b)8;:�<7EH=)?N<7E�8f36B�8A=)K�:7>�JH<98A5 � c>�" 8;[)8;:��'mn>)<7EN57ITEH8Akl8A5 " 8A3Yb�E

dH:7>)b):T8A575436? <7E�8V3 B�8A?�<73 /H8;:S57d'=)I*8 [)8;:T57JH5S<7E�8 dH:7>)b):T8A575436? <7E�8Rd':7>�'�36k&3Y<L 59d'=)I*8 � <7E�JH54k&=��W36?�bN3Y<

JH?HI;K68A=�:�3YO#<7E'365�365�<7E�8amn8A59<�=�d'dH:7>�=)ITE <9>D=)ITE'3Y8;[)8 0 2 �6� �2 dH:7>�'W36kD3Y<ML^:7>�J�<736?�b �

� -

Page 32: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� ������� ���4/'���

\�E�>):"B $ �*� o & dH:T>h[W36B�8A5S=^EH=)5TE � <7=�m'KY8VO J'?HI*<73Y>�?H=)K636<MLNm�L]k&=�dHd'36?Hb � kD=)ITEH36?H8A5�@ J'5736?�b I*>�?H573659<98A?�<EH=)57E'36?�b $ �,� & B <9>R36B�8A?�<73Y<73Y8A5�>)O+KY>)b � m/3Y<75 d'K6=)I*8AB^=�:7>�JH?HBD= � & ���� � +� � �/� �+2 � � =)I"E^?H>�B�8 � 59<9>):T8A5

= dn>�36?�<98;:�<9>D3Y<75�36k&k&8ABH36=�<98 � � ��� � �� 3 � 8 � ��<7E�8aI;KY>�598A59<�?H>�B�8f36?N<7EH8aI;KY>�I � "c36598fBH3Y:78AI*<736>�? =)KY>�?�b

<7E�8DI;36:TI;KY8 � %�? =)BHBH3Y<73Y>�? �+3Y<a=)K659>Ck&=)3 ?�<7=)36?'5f=�� � <� ��� ��6 � "`36<7E KY>)b�� 8A?�<9:T3Y8A5a5TJHITE <7E'=�<a<7E�8

# � <7ED8A?�<9:7Ll59<9>):T8A5 <7E�8`36BH8A?�<73Y<LR>)On<7E�8�5TJHI;I*8A5759>):j>)O � - o �� � >�?&<7E�8�3 B�8A?�<73 /H8;:�I;3Y:TI;KY8 �P1S?l8('W=)k&d'KY8>)O <7E�8A598Rdn>�36?�<98;:"5`365c57E�>�"c?]36? F 36b�J�:78Vo � � ��� =)ITE :78A57>�J�:TI*8R3 5`=)K659>^k&=�dHdn8AB JH5T36?�b&EH=)57E'36?�b&>�?�<9><7E�8N36B�8A?�<73>/H8;:VI;3Y:TI;KY8N=)?HB�59<9>):78AB�=�< <7E�8 /':T59<R?H>�B�8N57JHI;I*8;8AB'36?�b <7EH8NK6>�I;=�<73Y>�? <7EH=�<l3Y<Vk&=�d'5V<9> �

!�>�JH<736?�b]3 5GB�>�?�8^b):78;8ABH36K6L <9> <7E�8^O =�:7<7EH8A59<Gdn>�575736m'KY8&?�>WB�8^3 ?%<7E�8^:7>�J�<736?�b <7=�m'KY8 � =)?HB�3Y<G365V?�>)<

EH=�:TBN<9> 598;8a<7EH=�<`<7EH365�b�3Y[)8A5c=l<9>)<7=)K+>)O��@ K6>)b � B :7>�J�<73 ?�blE�>)d'5�dn8;:`598A=�:"ITE�� F'J�:7<7E�8;:��/I*>�?H573659<98A?�<EH=)57E'36?�bl8A?H57JH:78A5�<7EH=�<4?�> ?�>�BH8G365�:T8A59dn>�?H573Ym'K68SO >):ckD=)36?�<7=)3 ?H36?�b&kVJHITE kl>):78R<7EH=)? 3Y<75�O =)3Y:c5TEH=�:78

>)OP:78A59>�J�:"I*8A5 �

ABSENTNODES

01

2

3

4

5

6

78

9

10

12

11

13

15

14

FINGER TABLE

SUCCESSORLIVE NODES

POINTERS

FP3Yb�J�:T8Go � ��g#-�E�8 /'?Hb)8;:�<7=�m'KY8fdn>�36?�<98;:T5�O >):`?�>WB�8fp&36? \�EH>):TB��

F�>): O =)JHK6<^<9>�KY8;:"=)?HI*8 �c8A=)I"E ?�>WB�8 k&=)36?�<7=)36?H5N= ��#�� �� �� �+��� 2 �/��� "cEH36ITE I*>�?H573 59<75N>)OG<7E�8 ?�8('W<

598;[)8;:T=)K#57JHI;I*8A5757>):c?�>WB�8A5��H36?'59<98A=)B >)O =D573 ?�b�KY84>�?�8 � -`E�8;>):78;<736I;=)K�:78A57JHKY<75�=�mn>�J�<`<7E�8adn8;:7O >):Tk&=)?HI*8

>)O \�E�>):TB 36? <7E�8RdH:78A598A?HI*8G>)O�I*>�?HI;J�:7:78A?�< � >�36?H5�=)?'B 36?�[)>�K6JH?�<7=�:7LNB�8;d'=�:7<7J�:T8A5`I;=)? =)K 59>Dmn8fO >�JH?HB

36? $ �*� o*& �

�&� 0�;� � � UW>�kl8 59L�57<98Ak&5lJH598NI*>�?H573657<98A?�<lEH=)57E'36?�b K63 �)8C\�E�>):TB O_>):&K6>�=)B m/=)K6=)?HI;36?�b :78A59>�JH:TI*8A5

=)I*:7>�575^=)? =)I*<73Y[)8 598;<&>)Of?�>WB�8A5V�`EH>�" 8;[)8;:^<7E�8;L JH578 BH3 %n8;:78A?�<&I*>�?H?�8AI*<73Y>�?H5Dmn8;<," 8;8A? ?�>WB�8A5lO >)::7>�J�<73 ?�b �

� � ���! 6 �;� $ ��p*& EH=)5f<7EH8^57=)kl8^B�8A573Yb�?%=)5l\�E�>):"B��+8('�I*8;dH<RO >):a<7E�8 BH3659<7=)?'I*8Dkl8;<9:T36IS� 3Y<aJ'598A5<7E�8�����! [�=)K6J�8`>)O�<7EH8`<," >R?H>�B�8c36B�8A?�<73>/H8;:T5 36?&<7E�8`>,[)8;:TK6=AL&?H8;<," >): � �jZc?HK 3 �)8c\�E�>):TB ��<7EH365�kD=��)8A5

o�p

Page 33: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

<7E�8aBH3 59<7=)?HI*8fmn8;<," 8;8A?C=)?�L^<7"j> ?�>�BH8A5�59L�kDkl8;<9:T36I���1S? =)B�[�=)?�<7=�b)8R>)O#<7EH3 5�?�8;<," >): �N365�<7EH=�<�8A=)I"E

?�>WB�8lI;=)? I"E�>�>�578D3Y<75a?�8A36b�E�mn>):T5SO :7>�k =N:T=)?�b)8D>)Ojdn>�575736m'KY8 ITE�>�36I*8A5��4"`EH3 ITE k&=��)8A5G<7E�8&?�8;<," >): �

O =)JHKY<�<9>�KY8;:T=)?�<��'=)?HB =)K6KY>�"c5�3Y<�<9>D=)BH=�d'<�<9>DITE'=)?�b)8A5`36?N<7EH8G?�8;<," >): � I*>�?HBH36<73Y>�?H5�57JHI"EC=)5`K =�<98A?HI*L �

m�L I"E�>�>�5T36?�b&BH3 %n8;:78A?�<�?�>WB�8A5�<9>&:7>�JH<98a<9> �

� �4 :�2�� � � $ � - &�JH598A5a=CdH:7>)m'=�m'3 K63659<736IV57I"E�8Akl8DO >):Gk&=)3 ?�<7=)36?'36?�b <7E�8DK 36? �W5f36? = \�EH>):TB �MK63 �)8m'=)598f59LW59<98Ak g -`E�8cd':7>)m'=�m'36K 3Y<ML >)O#= K63 ? �lmn8;<," 8;8A? <," >&?�>WB�8A5��C=)?HB��D365�36?�[)8;:T598AKYL&d':7>)dn>):7<73Y>�?H=)K

<9> <7E�8VB'3659<7=)?HI*8Rm�8;<7"j8;8A? <7E�8Ak � -�EH3 5�57ITEH8Akl8V3 5c573 k&36K6=�:�<9>N<7E�8R>�?�8 " 8V8('�d'K =)36?C36? \�EH=�dH<98;:fq �

m'J�<�J'?HK63 �)84JH5���<7E�8;L B�>&?H>)<�b�3Y[)8G=)?H=)K6L�<736I;=)Kn:T8A57JHKY<75�O >):`O =)JHKY<�<9>�KY8;:T=)?'I*8 �

���;��� � � $ � � &GkD=)36?�<7=)3 ?H5N= I*>�?H59<7=)?�<��MB�8;b):78;8 �GKY>)b�=�:"3Y<7EHk&36I �MB'36=)kl8;<98;: =�dHdH:7>�'W3 k&=�<73Y>�? <9> =m'J�<9<98;: �HL�?H8;<," >): ��O_>):^:7>�J�<736?�b � %�<&:78AB'JHI*8A5l<7E�8 57d'=)I*8Cdn8;:D?�>WB�8 <9> =)? 8('�dn8AI*<98AB � @ � B K636? ��5m�L <7E�8NI;KY8;[)8;:DJH578^>)Ocm'J�<9<98;: �HL :7>�J�<736?�b 36?�<7E�8 K6=)59< 59<7=�b)8A5l>)OS= 578A=�:TITE >)dn8;:T=�<736>�?�� `>�"j8;[)8;: �

36kld':7>h[W36?�b <7E�8&O =)JHKY<4<9>�KY8;:T=)?'I*8&>)O 5TJHITE%= ?�8;<," >): � "`EH36K68Vk&=)3 ?�<7=)36?'36?�b <7E�8&KY>�"�59<9>):T=�b)8^3 5f59<736K6K

=)? >)dn8A?�)�J�8A59<73Y>�? �

��������� $ � ( &+8AkRm�8AB'5 =lBH8 e :TJ'3 � ? b):T=�d/EN>�?N<7E�8G\�E�>):TBN36B�8A?�<73>/H8;:�I;3Y:"I;KY84O_>):�:7>�JH<736?�b � � =)I"E?�>WB�8="`36<7E&= � � m'3Y< 3 B�8A?�<73 /H8;:�1�� 1�� � � ����� 1 � 365 I*>�?H?H8AI*<98ABD<9> ?�>WB�8A5 "`3Y<7ED36B�8A?�<73>/H8;:T5�1�� � � 1�� � � ����� 1 �Tp=)?HB 1�� � � 1�� � � ����� 1 � � � -�EH365 b�3Y[)8A5C= 5T36k&36K6=�: �`I*>�?H59<7=)?�<��MB�8;b):78;8�B�8A573Yb�? K63 �)8 �436I*8;:7>,L m'J�< 3Y< 365

:78AK6=�<736[)8AKYL 8A=)5T3Y8;:D<9>�I*>�?H59<9:TJHI*<^=)?HB <7E�8]O =)JHK6<l<9>�KY8;:T=)?HI*8 I;=)? mn8C36kldH:T>h[)8AB m�L 36?HI*:78A=)573 ?�b <7E�8

B�8;b):78;8G<9> � �

�H��� �� * ��%�� � !� � �� 4 �! Y� � :� � O�� �%��

U�>�kl8 >)O�<7E�8 2 - 59LW59<98Ak&5 =�:78 d'=�:7<7KYL :T8A5736K63Y8A?�<a<9> :T=)?HB�>�k ?�>WB�8DO =)36K6JH:78A5�� m'J�<G<7EH8A3Y:Rdn8;:7O >):��

k&=)?HI*8lk&=hL mn8Vm'=)BHKYL 3 kld'=)3Y:78AB m�L]=)B�[)8;:T57=�:T3 =)K BH8AKY8;<73Y>�? >)Oj?�>WB�8A5 �fFP36=�< +� �2 4 $ q*� &�36?�<9:7>WBHJHI*8ABI*8A?H59>):"57EH3Yd � :T8A573659<7=)?�<`?�8;<7"j>): �W5 "`EH36I"E =�:78R:78A5736K6368A?�<�<9> =)B�[)8;:T57=�:T3 =)K�B�8AKY8;<736>�?C>)O�=DI*>�?'59<7=)?�<SO :T=)I �

<73Y>�? >)OG<7EH8 ?�>WB�8A5�� �S57JHITE <7EH=�< kl>�57< >)OR<7E�8 :78Ak&=)36?'36?�b K636[)8 ?�>WB�8A5NI;=)? =)I;I*8A575Ckl>�57< >)OR<7E�8:78Ak&=)3 ?H36?�b BH=�<7= 3Y<98Ak&5 � + 3Y<7E � ?�>WB�8A5f36?]<7E�8l?�8;<," >): � �+<7E�8&?�8;<7"j>): �]<9>)dn>�KY>)b)L 365Sm'=)598AB >�? =

m'J�<9<98;: �HLa?�8;<," >): �R>)O'B�8;dH<7E @ KY>)b�� � KY>)bjKY>)b�� B �"`E�8;:78j8A=)ITEl?�>WB�8 :78;dH:78A578A?�<75P=S598;<#>)O/dn8;8;:T5��)=)?HB8A=)ITE%d�8;8;:4I;=)? mn8V= kl8AkRmn8;:S>)OjkRJHK6<73Yd'KY8V?�>�BH8A5 �S1S? 8('�d/=)?HB�8;:4b):T=�d'E 365Sk&=)36?�<7=)36?�8AB]mn8;<," 8;8A?

=)?�L <7"j>^I*>�?H?�8AI*<98AB ?�>�BH8A5�>)O <7EH8a?�8;<," >): �C=)5�57EH>�"`?C3 ? F 36b�J�:78Go ��� �+ h�j .OuS2�u�.1J~7R.19k=1J;46N�.-9~2pDF.i0[C�>�J ��0 j 2�0E4<9�J;>NFQR9*0EQFuL0;>�7R.15<.i0;4<>D:>�@ j 2�56@ 0 j .ODR>a7R.-9-sBNRQR0�4r0E=82�D:N�.Ol.-DF.1J32�564<z1.87

0;>�2�Dam%2�J;NF4r0kJ32�Jkm�@PJ32�=10;46>MD >@(7R.-56.10;.87%DF>a7R.19-�

o �

Page 34: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

NETWORKBUTTERFLYEXPANDER

GRAPH

KY>)b � � K6>)bjKY>)b �

FP3Yb�J�:78So ����gj\ 8A?H59>):T5TEH3Yd � :78A5T3659<7=)?�<�?�8;<," >): ��g m'J�<9<98;: �HLl?�8;<7"j>): �l>)O+B�8;dH<7EDK6>)b�� � K6>)b KY>)b�� "`3Y<7E8('Wd'=)?HB�8;:�b):"=�d'EH5�mn8;<," 8;8A? ?�>WB�8A5 �

�]JHKY<73Yd/KY8fI*>)d'3Y8A5�>)OP<7E�8VBH=�<7=&3Y<98AkD5`=�:78V59<9>):78AB 3 ? <7E�8G?�>WB�8A5�3 ? <7E�8Gmn>)<9<9>�k��Mk&>�59<cKY8;[)8AK#=)?HB

598A=�:TI"E�8A54=�:78G:"JH?C36? d'=�:T=)K6KY8AK+O_>):S=)?�LCI*>)d�LC>)O�=DB'=�<7=D3Y<98Ak � �j=)ITE 598A=�:TI"E <7=��)8A5 � @ KY>)b�� B�<736kl8 ��@ K6>)b�� � B�k&8A5757=�b)8A5�=)?HB��@ KY>)b�� B�57<9>):T=�b)84d�8;:�?�>WB�8 � -�E�8S=)J�<7E�>):T5�=)K659>Vb�3Y[)84= � ����� � ����/��� ����[�=�:T36=)?�<&>)Of<7EH365&5TITE�8Akl8 "`EH36I"E :78�)�JH3Y:78A5D=)BHBH3Y<73Y>�?'=)K�59<9>):T=�b)8 59d'=)I*8 =)?HB kl8A575T=�b)8A5��="`E�8;:T8C<7E�8

=)B�[)8;:T5T=�:7L]I;=)? <7=��)8&I*>�?�<9:7>�KP>)OjJHd <9> EH=)K6O�>)O <7E�8l?�>WB�8A5��n=)?HB L)8;<4mn8VJ'?H=�m'KY8V<9>Nb)8A?�8;:T=�<98lO =)K6598

BH=�<7=f3Y<98AkD5 �1-`E�8�k&=)36?lB�:T=�"�m'=)I �R>)O/<7EH365 B�8A5736b�?V3 5P<7EH=�<�3Y< I;=)?l57J�:7[W3Y[)8�>�?HKYLR=f59<7=�<736I�=�<9<7=)I � ��=)?HB

I;=)?H?�>)<jmn8`B�LW?H=)k&36I;=)K6K6LRk&=)36?�<7=)36?�8AB^=)5jk&>):78`?�>WB�8A5 � >�36?D<7E�8`?�8;<7"j>): � � U�>�k&8�8('�<98A?'573Y>�?H5 >)O <7EH365

:78A57J'KY< O_>):�B�LW?H=)k&36I�kD=)36?�<98A?'=)?HI*8cI;=)?^mn8`598;8A?D3 ? $ � p�o*&�=)?HB $ o*�*& �) `>�"j8;[)8;:���<7EH8cI*>�?H59<9:"JHI*<73Y>�?&>)O57JHI"E&?�8;<7"j>): �W5�365P[)8;:TLVI*>�kld/KY8(' ��=)?HB&3Y< 365 59<73 K6KW=)?l>)dn8A? )�J�8A57<73Y>�? <9>GB�LW?H=)k&36I;=)K KYLak&=)36?�<7=)36?l57JHI"E

=l?�8;<7"j>): � "`EH8A?^<7EH8a573��;8aITE'=)?�b)8A5�m�L^=)? >):"B�8;:�>)O kD=�b�?H3Y<7JHB�84<9>D?H8;8AB =l?�8 " KY8;[)8AK >)O m'J�<9<98;: �'L

K636? � =�b)8 �41 5736k&d'KY8;:`B�8A5T3Yb�? >)Oj= 2 -5"`EH36I"E 365cdH:7>,[ =�m'K6L O =)JHK6<�� <9>�KY8;:T=)?�<S<9> � ��� )� � *� # 2 ��� "�=)5

:78AI*8A?�<7KYLNb�3Y[)8A? m�L �S=�>): � 2 4 $ � �,& �

�H��� � ���� �� ��� Y� y$�

-�E�8;:T8G=�:78R57>�kl8a>)<7E�8;:Sdn8;8;:�� <9>�� dn8;8;:S59LW59<98Ak&5`<7EH=�<`8A36<7E�8;:`8AK63 k&36?H=�<98a?H=)k&8A59d'=)I*8G[W3Y:7<7J'=)K63��A=�<73Y>�?��

>):lJH598NE�L�mH:T3 B 59LW59<98Ak&5 "`EH3 ITE�EH=A[)8 = KY8A575R:T3Yb�36B 59<9:TJHI*<7JH:78 I*>�k&d'=�:78AB�<9> 2� -�5�� m/J�<Rd':7>h[W36B�8

mn8;<9<98;: 598A=�:TITE 8 $DI;368A?HI*L I*>�kld'=�:T8AB <9>�<7E�8 /H:T59<�� b)8A?H8;:T=�<73Y>�? 59LW59<98Ak&5 57JHITE =)5CQ4?�J�<98AK6K6= � + 8

8('Wd'KY>):78a59>�k&8a>)O#<7EH8A598GB�8A5736b�?H5�36?N<7EH365`598AI*<73Y>�?H5 �

o)o

Page 35: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� ������� ��/1(�"��4�0� ��*, � ��� & � �!34� &)6 �

� � ������ �� -#8;:7:T=)243Y: $ � p,- � � � � ( o &P365c=D:T8AI*8A?�<f59LW59<98Ak <7EH=�<4dH:7>h[W36B�8A5c=^B'3Y:78AI*<9>):7LCKY>�> �WJ�d O >):$&� �� �� ��$&� � �2 �� � �� ���� �� ��5TJHITE]=)5�2 �4UC?H=)kl8A5�>):cZc?H3>'�/'K68a59L�57<98Ak ?H=)kl8A5��'=)5�>)dHdn>�598AB <9>^<7E�8

�'=�<�?H=)kl8A59d/=)I*8A5j36?^2 -�5 �j\�=)ITEH3 ?�bR=)?HB^:78;d'K 36I;=�<73Y>�?&=�:784E�8A=h[�36K6L&JH598AB&O >): m�>)<7E^O =)JHKY<�<9>�KY8;:"=)?HI*8

=)?HB]:78ABHJHI*<736>�?C>)O )�J�8;:7L K6=�<98A?HI;3Y8A5 � �`>WB�8A5S=�<SEH8A3Yb�E�<$# 3 ?C<7E�8VEH3Y8;:T=�:TI"EH36I;=)K#?H=)kl8A59d'=)I*8V<9:78;8 =�:78:78;d'K 36I;=�<98AB �@,# B4<736kl8A5��+59> <7EH=�<f<7E�8l:7>�>)<a3654:78;d'K 36I;=�<98AB �@ KY>)b�� Bc<736kl8A5 @;"c3Y<7E � ?�>�BH8A5f36? <7E�8?�8;<7"j>): �&B ��"`EH3 KY8�<7E�8fKY8A=h[)8A5�EH=A[)8 � JH59<j>�?�84:78;d'K636I;= � �j=)ITE ?�>WB�8c3 5j:T8;d'K636I;=�<98AB^:T=)?HB�>�kDKYL&=�<�>)<7E�8;:?�>WB�8A5���=)?HBN8A=)I"ECd'=�:78A?�<�k&=)36?�<7=)36?H5�3 ?�O_>):"k&=�<73Y>�?N=�mn>�J�<�=)K6Kn<7E�8f:78;d'K 36I;=)5 >)O#8A=)I"EC>)OP3Y<75�ITEH3 K6B�:78A?��

!�>�JH<736?�b%365ldn8;:7O >):Tkl8AB m�L�b)>�36?�b �9J�d �%36? <7E�8C<9:78;8 JH?�<73 K�<7E�8 KY>�?�b)8A57<DI*>�k&kl>�? dH:78 /�'�>)O4<7E�8

59>�J�:"I*8G=)?HB BH8A59<736?H=�<73Y>�? 365�:78A=)I"E�8AB��n=)?HB <7E�8A? b)>�36?�b �9B�>�"`?��^JH?�<73 Kn<7E�8RB�8A57<736?H=�<73Y>�?C3 5�:78A=)ITEH8AB��

F�>):�8('�=)kld'KY8 �W=)5�57E�>�"c?^36?^FP3Yb�J�:784o � ( �W=V598A=�:TI"E O_:7>�k � ��� �� V<9> � ��� ��� b)>�8A5�J�d^<73 K6K � ���D=)?HB

<7E�8A?CBH>�"`? <9>D<7E�8GB�8A59<73 ?H=�<73Y>�?��

��

��

F 36b�J�:78Go � ( g !`>�J�<736?�b&36?�-#8;:7:T=)243Y:`O_:7>�k �� ��� �� &<9> � ��� ��� �

�j=)ITE ?�>WB�8R=)K 59> I;=)K I;JHK6=�<98A5S<7E�8 BH3659<7=)?HI*8R<9>N<7E�8R<7=�:Tb)8;<SO :7>�k =)K6K�<7E�8Rdn>�575T3Ym'KY8a:T8;d'K636I;=)5`<7EH=�<3Y<�k&=)3 ?�<7=)36?'5�=)?HBCI"E�>�>�578A5`<7E�8RI;KY>�598A59<��'K 3Y[)8f>�?�8G<9>^36kldH:7>,[)8a:7>�J�<73 ?�b � 1S5�<7E�8G?H=)k&8A59d'=)I*8R3 5�?�>)<

[W3Y:7<7JH=)K63 �;8AB��/59d/=�<736=)KPKY>�I;=)K 3Y<MLC365Sk&=)36?�<7=)36?�8AB � "cEH36ITE 57J�d'd�>):T<75`?�>�? � dn>�36?�< )�J�8;:T368A5c57J'ITE =)5��� �� �

e J�< <7EH365 57J�dHdn>):7<�3 5+>�?HKYLfd/=�:7<736=)K�m�8AI;=)J'598 36OH=`:78�)�J�8A59< 365 598;:7[W36I*8ABGO :7>�k059>�kl8 :78;d'K 36I;=`=)?HBV?�>)< <7E�8

>):T3Yb�3 ?H=)KH?�>WB�8 ��<7EH8A?D3Y< kD=AL&mn8�dn>�575736m'KY8�<7EH=�< <7EH8c=)BHB�:T8A575�O >): <7E�8S?�8('W<jBH=�<7=R3Y<98Ak�3 5�?�>)< �W?�>�"`?��

FHJ�:T<7E�8;:���<7E�8;:78 =�:78V=)5SL)8;<f?�>^dH:7>h[�=�m'KY8Vb�JH=�:T=)?�<98;8A54>�? KY>�=)B m/=)K6=)?HI;36?�b =)?HB]O =)JHK6<`<9>�KY8;:T=)?'I*8RO >):

<7EH365�?H8;<," >): � �

�� � 0� �1� � � � � �� � � FH:78;8ABHk&=)? +���2 4 $ q*�*&#JH598G=DBH3659<9:T36m'J�<98AB <9:T3Y8 $ o*- ��q ( � ( � &�<9>^57JHdHdn>):7<�?�>�? �dn>�36?�< )�J�8;:T368A5V�#<7EH8 �)8;L�5R=�:78Dk&=)36?�<7=)36?�8AB 3 ?%=N<9:T3Y8 "`E'36ITE%3 5fBH3659<9:T36m'J�<98AB =)kl>�?�bC<7E�8Dd�8;8;:"5aB�8 �dn8A?HBH36?HbD>�? <7E�8A36:a=)I;I*8A575GKY>WI;=)K63Y<L �lZ`d BH=�<98A5a=�:T8&B�>�?�8lK6= �A36KYL]m�L]d'3Yb)b)L�m'=)I �W36?�bC3 ?�O_>):"k&=�<73Y>�? >�?

)�J�8;:7L�<9:T=0$DI�� -�E'365&=)KYb)>):T36<7EHk :78ABHJ'I*8A5D<7E�8]kl8A5757=�b)8 <9:T=0$DI]I*>�kld'=�:78AB <9> �H>�>WBH36?�b m'JH<DI;=)?

o)q

Page 36: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

B�8;b)8A?�8;:"=�<98G<9>D=lm':7>�=)BHI;=)59<�O >):`=)K6K ?H>�B�8A5="`3Y<7E 59<7=)KY8f[W3Y8 "`5�>)O#<7E�8R?�8;<," >): � �

� 89� :�� � ��� U �W3Yd �c8;<j3 5j=)?�>)<7EH8;:�?H>�? � [�36:7<7JH=)K63��;8ABD59L�57<98Ak �W[)8;:7LD5736kD36K6=�: 36? 59d'36:T3Y<�<9> 5��W3Yd^b):"=�d'EH5

<7EH=�< " 8`B�8A5TI*:T3Ymn8�36?D\�EH=�dH<98;: � � "`EH3 ITE "�=)5 B�8;[)8AKY>)dn8AB&3 ?HB�8;dn8A?HB�8A?�<7KYLam�L S=�:7[)8;L � �2 4 $ � � & � + 88AK6=�mn>):T=�<98a>�?C<7E�8GBH3 %n8;:78A?HI*84mn8;<," 8;8A?C<7EH8a<," >^59LW59<98Ak&5`36? U�8AI*<73Y>�? � � � �

� ������� � 3 �*�����2� 34�! &)6 �

�&��:1: � � X =�d'd�8;:"5�$ ��o &nEH=)5 =)?^JH?H59<9:TJ'I*<7J�:78ABl?�8;<7"j>): �&K 3 �)8SQ4?�J�<98AK6K6=am'J�<�36?�<9:7>WBHJHI*8A5�EH=)5TEH36?�bO >):�59<9>):T36?�b �)8;LW5 � � =)I"E&k&=)ITE'36?�8 � 365P=)575736b�?�8ABV>�?�8�>)O�1 � ��2 ����� m/=)598AB >�?l3Y<75�% @ =)BHB�:78A575Ag#I*>�KY>): @ � B� E'=)57E4@;% @ @ � B B kl>�B 1 � �j=)ITEN?�>WB�8`k&=)36?�<7=)36?H5 36?�O >):Tk&=�<73Y>�?&=�mn>�J�< =)? ������ � �� � � �� 0�$(� ��� $� � "`EH3 ITEGI*>�k&dH:T36598A5+>)OH=)K6K�?�>WB�8A54"`3Y<7EH36?G=`I*>�?H59<7=)?�<P?�JHkRmn8;:+>)O�:7>�J�<73 ?�b`E�>)d'5�O_:T>�k 3Y<7578AKYO ��!�8A59>�JH:TI*8A5

=�:78a59<9>):T8AB =�<�?�>�BH8A5 "cE�>�598fI*>�KY>):�k&=�<7I"E�8A5�<7E�8aEH=)5TE^[�=)K6J�84>)O#<7E�84:78A59>�J�:TI*8 �)8;L �'57>&598A=�:TITEH8A5�=�:78

>�?HKYL O_>):�"�=�:TB�8AB�<9> ?�>WB�8A5V>)O`<7E�8N57=)kl8 I*>�KY>): � + E'36KY8D<7E'365 36kldH:7>,[)8A5V<7E�8Nd�8;:TO_>):TkD=)?HI*8^>)Oc<7E�8

Q4?�J�<98AK6K6=f578A=�:TITE���3Y<�B�>�8A5�?�>)< b�3Y[)8c=)?�L dH:7>,[ =�m/KY8�b�JH=�:T=)?�<98;8A5�>�?l:T>�J�<736?�bf<736k&8�>): KY>�=)Blm'=)K =)?HI;36?�b �

� � 6 �;:� �� � �f8AK63Yd/5 ��$ � �*&H365 =fE�L�mH:T3 BR59LW59<98Ak mn8;<7"j8;8A?&=f2 - =)?HBl=f57JHd�8;: � d�8;8;: ?�8;<7"j>): � � "cE�8;:78� ?�>WB�8A5�=�:78aI;K6JH57<98;:78AB 36?�<9> �@�� � B � � � � � � <�� � :� J'5736?�b EH=)57EH3 ?�b � � =)ITE ?�>�BH8S:T8A598AkGm/KY8A5�=57J�dn8;:�� dn8;8;:�m�L k&=)3 ?�<7=)36?'36?�bR3 ?�O_>):"k&=�<73Y>�? =�mn>�J�<�=)K6Kn<7E�8a?�>WB�8A5�=)?HBN:T8A59>�J�:TI*8A5�3 ? 36<75�>�"`? b):T>�J�d �

=)?HB >�?�8�I*>�?�<7=)I*< O :7>�k08;[)8;:7LV>)<7E�8;:�b):T>�J�d ��U�d'=)I*8�:78�)�JH3Y:78Ak&8A?�<Pdn8;:�?�>WB�8�365 �@ � � B =)?HB :T>�J�<736?�b<7=��)8A5 �@ � B�<736kl8 �`Zcd BH=�<98AB ?H8;<," >): � 36?�O >):Tk&=�<736>�?C365cdH:7>)d'=�b�=�<98AB JH5736?Hb&b)>�57573Yd]dH:7>)<9>WI*>�K65cb�3Y[)8A?m�L �a8Akldn8 +���2 4 $ ( q & ��F�>):4K6=�:7b)8;:cd�8;8;: � <9>�� d�8;8;:S59LW59<98Ak&5��/<7E�8G59d'=)I*8V=)?HBCk&=)3 ?�<98A?H=)?'I*8RI*>�59<75S=�:78dH:7>�E'3Ym'3Y<73Y[)8AK6L&EH3Yb�E���=)?HB :T>�J�<736?�b&k&=hLNO =)36K B'J�84<9>D59<7=)KY8a:T>�J�<736?�b <7=�m'KY8A5 �

�H��� A$ �����*�: � �a ��o������ 4

U�>^O =�: " 8VEH=h[)8l598;8A?]BH8A573Yb�?H5c>)O�dn8;8;:�� <9>�� dn8;8;:S57L�59<98AkD5S=)54= "`E�>�KY8Rm'J�<c:78A598A=�:TI"E E'=)5c=)K657>^mn8;8A?

B�>�?�8 >�? 59dn8AI;3>//I O_8A=�<7JH:78A5D>)O4<7E�8A578 59LW59<98Ak&5^57JHI"E =)5 36kldH:T>h[)8AB 578A=�:TITE <98AITEH?'3 )�JH8A5D=)?HB KY>�=)B

m'=)K6=)?'I;36?�b �

o �

Page 37: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� ������� � &+, � ��� & � �*( ��� �4&)�

� � � � 6 6 �;< � � � � ������� �4< � %�? $ � o � & ��<7E�8G=)J�<7E�>):"5`dH:T>)d�>�578a<7E�:78;8VBH3 %n8;:78A?�<c598A=�:TITE]<98AITE'?H3 )�J�8A5�O >):Q4?�J�<98AK6K6= 3 ?H59<98A=)B%>)O�?H= � �6[)8 �H>�>�BH3 ?�bN>�?%<7E�8D?H8;<," >): �/g @ 3 B 8�� +��)� � � & �( ����/�10 "`EH8;:78&kRJ'KY<73Yd'KY8

mH:78A=)B � /H:T59<&598A=�:"ITE�8A5^=�:78 36?H36<736=�<98AB "`3Y<7E 5TJHI;I*8A57573Y[)8AK6L�K6=�:Tb)8;:^B�8;dH<7E K 36k&3Y<75��C@ 363 B�� �/�� �5� � �� !"`E�8;:T8a<7E�8Gm':78A=)B�<7E � /H:"59<`598A=�:TI"E 36?HI;K6JHBH8A5�>�?HKYLN<7E�>�598V?�8A3Yb�E�m�>):"5="`EH3 ITECEH=h[)8Rdn8;:7O >):Tkl8AB�"j8AK6K#36?

<7E�8ad/=)59<��/=)?HB @ 36363 B �]=)36?�<7=)36?H36?�b 2 � � 2 ���� & �1 �� =�<c8A=)ITE ?�>�BH8a=�m�>�JH<`=)K6K <7E�8G>)<7E�8;:c?�>WB�8A5 "c3Y<7EH36?= I*8;:T<7=)36? /�'�8AB :T=)BH36JH5a<9> dH:7>WI*8A575G<7E�8 )�J�8;:7L >�? <7E�8Dmn8AEH=)KYO >)O�=)K6K�?H>�B�8A5 "`3Y<7EH3 ? <7EH=�<R:"=)BH36JH5 �

1 <98AITEH?H3 )�J�8 573 k&36K6=�: <9> @ 36363 BD3 � 8 � �fk&=)36?�<7=)36?H3 ?�b �� � ��� �4< � ���1�;��� "`EH3 ITE <7=��)8 36?�<9> =)I;I*>�JH?�<

36?�O >):Tk&=�<736>�? =�mn>�J�<a?H8A=�:G?�8A3Yb�E�mn>):T5f=)?HB <7E�8D?�JHkRmn8;:S>)O�:7>�JH<736?�b E�>)d'54<9>C:T8A=)ITE%<7EH8Ak ��I;=)?%mn8

598;8A?N36?%$ o*� & � + E'36KY8�<7E�8A578S57I"E�8Akl8A5 dn8;:7O >):Tk kVJHITE^mn8;<9<98;:�<7EH=)?D<7EH8`m'=)573 I �H>�>�B'36?�ba<98AI"EH?H3 )�J�8`>)OQ4?�J�<98AK6K6= �)<7EH8;LR=�:78�?�>)< [)8;:7LV=�dHd'K63 I;=�m'KY8 <9>ak&>):78�59>)d'EH3657<736I;=�<98AB 59L�57<98Ak&5P<7EH=�<P8AK636k&3 ?H=�<98 �'>�>WBH36?�b

=)KY<9>)b)8;<7E�8;: �

� ����� �4� �4< � c=�:7:T8A? +� �2 4 $ ��p*&�B�8A57I*:T36m�8 = 59dn8AI;36=)K 36?HB�8('�36?�b 57ITEH8Akl8 �4/H:"59<S3 ?�<9:7>WBHJHI*8AB 36? + 3Y<��<98A? +���2 4 $ �*� -*& �/O >):cd/598AJHB�>�� �)8;L "j>):"B]598A=�:"ITEH36?Hb^36?C2 -�5 � �j=)ITE �)8;L �N365`57d'K63Y<`3 ?�<9>�� � � b):T=)kD5 �WgBH3657<736?HI*<)� �MKY8A?�b)<7ED5TJ�m'59<9:T3 ?�b�5���=)?HB^=)?^36?'B�8('V>)On<7E�8cO_>):"k�@����

���= � � ������� B 365�kD=)36?�<7=)3 ?�8ABlO >):j8A=)I"E

� � b):T=)k���� � 1 598A=�:"ITE O >):&= :78A59>�J�:TI*8 365 =)K657> BH>�?�8 JH5736?�b <7E�8 57=)kl8 � � b):T=)k&5�� =)?HB�>�?HKYL%<7EH>�598:78A59>�JH:TI*8A5 "`EH36I"E k&=�<7ITE kl>):78 <7EH=)? = 59dn8AI;3>/H8AB ?�JHkRm�8;:4>)O � � b):T=)kD5a=�:78 :78;<7J�:T?H8AB�� -�E'365cEH8AKYd'5<9>�/'?HB :78A57>�J�:TI*8A5 "`3Y<7EC573 k&36K6=�:`?'=)kl8A5�m'JH<`59<736K6K�B�>�8A5S?�>)<S57J�dHdn>):7<�kl>):T8RI*>�kld'K68('�)�J�8;:T368A5`57JHI"E

=)5�:"=)?�b)8&)�JH8;:T3Y8A5�=)?HB ?H8A=�:ck&=�<7I"E�8A5�<9>D= �)8;L �

� 6 ��� � 6 � � �� %�? � � � ��� � ��02 $ �*� � � o & �j= d�8;8;: � <9>�� d�8;8;:&57L�59<98Ak O >):ld'J�m/K63657EH3 ?�b "j8;m B�>WI �JHkl8A?�<75��#8A=)ITE�dn8;8;:GJH598A5a= m'KY>�>�k /'KY<98;: $ � � & <9>]I*:T8A=�<98^=Cd':78AI;36598&57J'k&k&=�:7L >)O�<7E�8DB�>WI;JHkl8A?�<753Y<459<9>):78A5 �&-`E�8A598 m'KY>�>�k //KY<98;:T5S=�:78 d�8;:"3Y>�B'36I;=)K6KYL 8('WI"EH=)?�b)8AB mn8;<," 8;8A? dn8;8;:T5c<9> J�d BH=�<98VI*>�?�<98A?�<

36?�O >):Tk&=�<736>�?�� � 3 �)8G<7E�8V8A=�:TK6368;:S57I"E�8Akl8 � <7EH3 5�>�?�8l=)K659> B�>�8A5S?H>)<S57JHdHdn>):7<`I*>�kld'K68(' )�JH8;:T3Y8A5��n=)?HB

k&=hL]=)BHBH36<73Y>�?H=)K6KYL 57J�%�8;:4O :7>�k <7E�8 dH:7>)m'K68Ak >)O *��2 �+ ��%����� � �� �� 3 � 8 � �+36<Sk&=hL =�d'd�8A=�:4<7EH=�<f=Ndn8;8;:59<9>):78A5c59>�kl8a:T8A59>�J�:TI*8f8;[)8A? <7E�>�J�b�EC3Y<�BH>�8A5�?H>)< �

� � � � 6 � � ��� ����� �� ��� � � 24� �2 � � < � QfJ�dH<7= +� �2 4 $ � � &WJ'598 6 � � � 6 � � ��� �� �� �� ��� � � 2 � �21� �4< $ � �� �)q &W<9>57J�d'd�>):T<P=)?'5 "j8;:"36?�bf=�dHdH:7>�'W3 k&=�<98 )�J�8;:T3Y8A5 ��-�E�8A36:�59L�57<98Ak B�8A573Yb�?D57J�m'59<736<7J�<98A5 I*>�?H573657<98A?�<�EH=)5TEH36?�b

o*�

Page 38: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

36?D\�EH>):TB "`3Y<7ElKY>WI;=)K63Y<L��M598A?'573Y<73Y[)8�EH=)57E'36?�b ��59>f<7EH=�<j3Y<98Ak&5 <7EH=�<�=�:T8`I;KY>�598�<9>)b)8;<7E�8;:�36? <7E�8�>):"3Yb�36?H=)K

59d'=)I*8&=�:T8&KY>�I;=�<98AB I;KY>�598l<9> 8A=)I"E%>)<7E�8;:G3 ?]<7EH8&EH=)57E�8AB 59d/=)I*8D=)5 " 8AK6K � 1 )�J�8;:7L O_>):a59>�k&8&BH=�<7=

3Y<98Ak "`3 K6K d':7>�B'JHI*8 = :78A57JHKY<V<7EH=�<&365l5T36k&36K6=�:V<9> <7E�8 :78�)�J�8A59<98AB 3Y<98Ak � -�EH365 ?�8;<7"j>): ��?�>)<l>�?HK6L

57=)I*:T3 /'I*8A5&KY>�=)B�m'=)K =)?HI;36?�b m�L�JH5T36?�b = BH3 %n8;:78A?�<&E'=)57E�O J'?HI*<73Y>�?�m'J�<&3Y<l=)K657>%B�>�8A5D?�>)<&57J�dHdn>):7<

=)?H5 " 8;:T36?Hb I*>�k&d'KY8('�)�JH8;:T3Y8A5 ��1 � � 23� �-�EH8lO_8A=)5736m'36K63Y<L >)O�dn8;8;:�� <9>�� dn8;8;: " 8;m 36?'B�8('W3 ?�b =)?'B%598A=�:TI"EH36?�b 3 5aI*>�?H5736BH8;:78AB%36? $ ��q & � � =)I"E

" 8;m B�>WI;JHkl8A?�<43 5fB�8A57I*:T3Ymn8AB JH573 ?�b = 578;<f>)O �)8;L "j>):"BH5a=)?HB <7EH8l:78A59dn>�?H573Ym/36K63Y<L^O >): �)8;L "j>):TB'5a365

JH?H36O_>):TkDKYL B'3659<9:T3Ym/J�<98ABC=)kl>�?�bNd'=�:T<736I;3Yd'=)?�<`dn8;8;:T5 � � =)I"E dn8;8;:Sk&=)3 ?�<7=)36?'5 : � ��� � < 6 � � >)O�<7E�8

=)BHB�:T8A57598A5�>)O <7EH8RB�>WI;JHkl8A?�<75`<7E'=�<SI*>�?�<7=)36?]<7E�8 �)8;L "j>):"BH5`<7E'=�<S3Y<c365�:78A57d�>�?'573Ym'KY84O >): � � ?'EH=)?HI*8 �kl8A?�<754<9> :78ABHJHI*8 )�J�8;:7LCm/=)?HB�"`36BH<7E 36?HI;K JHB�8RI;=)I"EH36?�b :T8A57JHKY<75��ndH:T8 �MI*>�kld'J�<7=�<73Y>�? >)Ojd�>�57<736?�bNK63659<

36?�<98;:T598AI*<73Y>�? O >):GkVJHKY<73Yd/KY8 � "j>):"B )�J�8;:T3Y8A5�� m'KY>�>�k //KY<98;:T548;<7I�� -�E�8l=)J�<7E�>):"5aI*>�?HI;K6JHBH8V<7E'=�< "`EH36KY8

<7E�8A598N8A?HE'=)?HI*8Akl8A?�<75l=�:78^d':7>�k&36573 ?�b �PO J�:T<7E�8;:VI*>�k&dH:7>�k&36578A5R36? :78A57J'KY< )�JH=)K636<ML%=)?HB�ITE'=)?�b)8A5l36?

dn8;8;:�� <9>�� dn8;8;:a?�8;<," >): � 59<9:TJHI*<7J�:T8 "`3 K6K+mn8V:78�)�J'3Y:78AB]<9>NkD=��)8l<7E�8 dH:7>)m'KY8Ak O 8A=)573Ym'KY8RO_>):4dH:"=)I*<736I;=)K

59LW59<98Ak&5 �

� ������� ��/', � �*,���, ( � ��(*$

��[)8A? "`3Y<7E <7E�8lJH598l>)O I*>�?H573659<98A?�<aEH=)57E'36?�b � = 59LW59<98Ak K63 �)8D\�EH>):TB I*>�JHK6B EH=A[)8^=)? 36kGm/=)K6=)?HI*8l36?<7E�8 KY>�=)B BH3659<9:T36m'J�<73Y>�? 3YO <7EH8;:78V3 5`=N5736?�b�K68adn8;8;:c<7EH=�<4365c:78A59dn>�?H5736m'KY8fO >):S= K6=�:7b)8 598;b�kl8A?�<4>)O�<7E�8

36B�8A?�<73>/H8;:SI;3Y:TI;KY8 ���4?�8V59>�K6J�<73Y>�?]b�3Y[)8A? 36?]<7E�8l\�E�>):TB BH8A573Yb�? 365`<7EH8VJH578G>)O �4� �� � � 6 dn8;8;:T5 "cE�8;:788A=)ITE�k&=)I"EH36?�8D3 5a=)57573Yb�?H8AB%kRJ'KY<73Yd'KY8 598;b�kl8A?�<75R<9> b�3Y[)8&mn8;<9<98;:VKY>�=)B%m'=)K =)?HI;36?�b �*-`EH365f36?HI*:T8A=)598A5

<7E�8S59d'=)I*8`:T8�)�JH36:78Akl8A?�< =�< 8A=)I"E ?H>�B�8c=)?HBD59<73 K6KHB�>�8A5 ?�>)<jb�JH=�:T=)?�<98;84d�8;:TO_8AI*< K6>�=)BDm'=)K =)?HI;36?�b � + 8

KY>�> �^=�<�59>�k&8S>)O <7E�8f=)KY<98;:T?'=�<73Y[)8a57ITEH8Akl8A5�<7EH=�<�EH=h[)8amn8;8A?^d':7>)dn>�598AB O_>):�mn8;<9<98;:�KY>�=)BNm'=)K =)?HI;36?�b �

� � ��� � ��� ��� � e L)8;:T5 � �2 4 $ � � &fdH:T>)d�>�578 J'5736?�b � <7E�8 dn>�" 8;:C>)OG<7"j> � d/=�:T=)BH3Yb�k O >):CKY>�=)Bm'=)K6=)?'I;36?�b �1"`E�8;:78 8A=)ITE BH=�<7= 3Y<98Ak ITE�>�>�598A5 ��� o E'=)57E O JH?HI*<736>�?H5a<9> B�8;<98;:Tk&3 ?�8 � I;=)?HB'36BH=�<98

?�>WB�8A5 >�? <7E�8�36B�8A?�<73>/H8;:PI;3Y:TI;K68 � @ :T3Y>):P<9>a36?H598;:T<73Y>�?�� <7E�8�KY>�=)BV>�? 8A=)ITED>)O'<7E�>�598�?�>WB�8A5 365PI*>�kld/=�:78AB

=)?HB]<7E�8 BH=�<7=^36<98Ak 365S36?H578;:7<98AB =�<4<7E�8 ?�>WB�8 "`36<7EC<7E�8 k&36?H3 kRJHk K6>�=)B�� + 3Y<7E EH3Yb�E]dH:7>)m'=�m'3 K63Y<ML �

<7EH365a8A?H57J�:78A54<7E'=�<G<7E�8DkD=�'W36kVJHk KY>�=)B =�<G=)?�L >)O�<7E�8 � ?�>�BH8A5 "`3Y<7E � :T8A59>�J�:TI*8A5�� 365a=�<Vkl>�59<

KY>)b KY>)b � � KY>)b �+- � @ � B � -�>a=h[)>�36B <7E�8�8('W<9:T=4m'J�:TBH8A?G>)O )�J�8;:TL�36?HbS=)K6K�<7E�8A578 dn>�575T3Ym'KY8jd�8;8;:"5 B'J�:T36?�b= 598A=�:TITE ��8A=)I"E >)O�<7E�8 �N36?H3Y<736=)K KYL��MI"E�>�598A? dn8;8;:T5SI;=)? 59<9>):78l=^d�>�3 ?�<98;:c<9> <7EH8RKY>WI;=�<73Y>�? "`E�8;:78R<7E�8

o (

Page 39: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

BH=�<7=&36<98Ak 365�8;[)8A?�<7JH=)K6KYLN59<9>):78AB �

� 6 � : : � 2 � �21� �4< � \ >):T=)K $ q,� & 365cL)8;<a=)?�>)<7E�8;:f[�=�:T36=)?�<c>)O \�E�>):TB]<7EH=�<fJH598A5 �957KY>)dHd�L EH=)5TEH36?�b �O >):�59<9>):T36?�bfBH=�<7=G3Y<98Ak&5P<7EH=�<�k&=hLVE'=A[)8`kVJHKY<73Yd/KY8j=)BHBH:78A57598A5 � � =)I"ED?�>WB�8�k&=)36?�<7=)36?H5P= /�'W8AB m'J�%n8;:573��;8^O_>):V59<9>):T=�b)8N>)O�<7E�8�� . +�%� ) & �� �� ��� d'=)3Y:T5 � + E�8A?�= ?�8 " d'=)3Y:REH=)5G<9> mn8D36?H578;:7<98AB%m'JH<a<7E�8

I*>):7:78A57d�>�?'BH36?�b ?�>WB�8C365lO JHK6K � <7E�8Cd'=)3Y:&3 5l59<9>):78AB =�<^=%?�>WB�8 >�?�8 E�>)d =�"�=AL O :7>�k <7E�8C>):"3Yb�36?H=)K

<7=�:7b)8;<a<9>�" =�:"BH5a<7E�8 :78�)�J�8A59<73 ?�bNd�8;8;: � % ? =)BHBH3Y<736>�?���\ >):T=)KP<9:T3Y8A54<9>]k&=)36?�<7=)36? I;K6JH59<98;:T54>)O�?�>WB�8A5

O >):V>)d'<736k&3��A36?HbC?�8;<," >): � K6>�I;=)K636<ML�gl8A=)ITE ?�>WB�8^3 5R=]d'=�:7<V>)O`598;[)8;:T=)K�K6=hL)8;:T5V>)O`BH3657<9:T3Ym'J�<98AB EH=)57E

<7=�m'KY8A5R8A=)ITE�>)O "cEH36ITE I*>�?H573657<75G>)O�>)<7E�8;:l?�>WB�8A5GdH:7>)b):78A575T3Y[)8AKYL O J�:7<7E�8;:V=�"�=AL O :7>�k 3Y<7598AKYO�36? <7E�8

d'E�L�5T36I;=)K ?�8;<7"j>): � � 1SKY<7E�>�J�b�E <7E�8N57KY>)dHd�L%EH=)57EH3 ?�b =)KY>�?�b "`3Y<7E�I;K6JH57<98;:Vk&=)?'=�b)8Akl8A?�< dH:T>h[W36B�8A5

K636kD3Y<98AB^K6>�=)BNm'=)K6=)?HI;36?Hb �W36<�3 5 ?H>)<�=�dHd'K636I;=�m/KY8S3 ? 57L�59<98AkD5 "`EH36I"E EH=A[)8f>�?�8f>):`O_8 " I*>)d'368A5�>)O#8A=)I"E

:78A59>�JH:TI*8Nm�8AI;=)J'598N<7E�8C59d'36K K636?�b >,[)8;:D<98AITE'?H3 )�J�8 "c36K6K ?�>)< m�8N[)8;:7L 8 %�8AI*<736[)8 ��% ?�=)BHBH3Y<736>�?���3Y<l365

8('Wd�8A?'573Y[)8f<9>Dk&=)3 ?�<7=)36? 578;[)8;:T=)K�2 -�5�O >):`I;K6JH59<98;:ck&=)?H=�b)8Akl8A?�< �

� ��� � � �� � �� � � !`=�> � 2 4 $ - �,&H8('Wd'KY>):78�<7E�:T8;8`BH3 %n8;:78A?�<P5TITE�8Akl8A5 <9>fdn8;:T3Y>WBH36I;=)K6KYLf<9:"=)?H59O 8;:�KY>�=)Bmn8;<," 8;8A? [�3Y:T<7JH=)K�dn8;8;:T5;g @ 3 B \�E�>�>�578`<," >Vd�8;8;:"5 =�< :T=)?HB�>�k�=)?HBD36?'3Y<736=�<98`=G<9:T=)?H59O 8;: 36O�>�?H8c365jkl>):78>h[)8;:"KY>�=)B�8AB <7EH=)? <7E�8 >)<7E�8;:B�A@ 3 3 B 1SK6KY>�" =)? >,[)8;:TKY>�=)B�8AB dn8;8;:T5D<9>�I"E�>�>�578]<7E�8 mn8A59<&>)OG578;[)8;:T=)K=A[�=)36K6=�m/KY8GJH?HBH8;:��MKY>�=)B�8AB dn8;8;:T5`<9>^57EH8AB 3Y<`K6>�=)B��/=)?HB*@ 36363 B 1SK6KY>�" 598;[)8;:"=)K�>,[)8;:TKY>�=)B�8AB =)?HB J'?HB�8;:��KY>�=)B�8AB dn8;8;:T5R<9> kVJ�<7JH=)K KYL <9:T=)?H59O 8;:VK6>�=)B =)kl>�?Hb 8A=)I"E�>)<7E�8;: � -�E�8A3Y:V5736kVJHK6=�<73Y>�? :78A57JHK6<75G57E�>�"

<7EH=�<`36<�3 5�dn>�57573Ym'K68`<9>&m'=)K =)?HI*8f<7E�8aKY>�=)B�"c3Y<7EH36? -*��� >)OP<7E�8f>)dH<73 k&=)Kn[ =)K J�8 "`3Y<7EN<7E�8A578a57ITE�8Ak&8A5 �

�H��� � � � ��! � �o��!���

% ?]<7E'3654598AI*<73Y>�?��9" 8lb�3Y[)8l=NmH:T368;O�>h[)8;:7[W3Y8 " >)O�BH3 %n8;:78A?�<S=�dHd/K636I;=�<73Y>�?H5S<7EH=�<fEH=h[)8&mn8;8A? dH:7>)dn>�598AB

=)?HB#!,>): 36kld'K68Akl8A?�<98ABGJH5736?�b�dn8;8;:�� <9>�� dn8;8;:P59LW59<98Ak&5 � + 8 E'=A[)8 d/J�:7dn>�598AKYLSKY8;O_<#>�J�<�36k&d'KY8Akl8A?�<7=�<73Y>�?B�8;<7=)36K 5G36? <7E'365a598AI*<73Y>�?�=)5R<7E�8Dk&=)36? d'J�:7dn>�598&3 5f<9>]b�36[)8D<7E�8&:T8A=)B�8;:V=)? 36B�8A= >)O�<7EH8D[�=�:T3Y8;<ML >)O

=�dHd'K 36I;=�<73Y>�?H5 <7EH=�<�=�:78�mn8A36?Hbcm'J'36KY<#J'5736?�bSdn8;8;:�� <9>�� dn8;8;: 59LW59<98Ak&5���:"=�<7E�8;: <7EH=)?l<7E�8�59dn8AI;3>//I BH8;<7=)36K65 �

� ��� ��� � � � ������� ��(4$7�!3��! &)6 �

@ 8;8;:�� <9>�� dn8;8;:^59LW59<98Ak&5lE'=A[)8Cmn8;8A? "`36BH8AKYL%JH598AB�O >):DBH=�<7= 59<9>):T=�b)8]59L�57<98Ak&5 � ����� � �� � � � $ ( - &dH:7>,[�3 B�8A54=^b�K6>)m'=)K �M57I;=)KY8 � dn8;:T5T3659<98A?�<SBH=�<7=N59<9>):T8&36?�"cEH36ITE :7>�JH<736?�b <9>NK6>�I;=�<98 /'K68A5S3 5SBH>�?�8VJ'5736?�b

o,�

Page 40: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

- =�d�8A57<9:7L $ � o*� & ��"`E'36ITE 365`B�8A57I*:T3Ymn8AB 36? U�8AI*<73Y>�? o � q � o � � � �16 � � $ �*� �*&#365�=&I*8A?'59>):T57EH36d � :78A573657<7=)?�<" 8;m � d'J�m'K 3657EH36?HbV59LW59<98Ak <7EH=�<4JH598A54EH=)57E'36?�b&<9>NBH3659<9:"3Ym'J�<98a57E'=�:78A5`>)O <7E�8R8A?'I*:7L�d'<73Y>�? �)8;L]<9> BH36O �

O 8;:78A?�< dn8;8;:T5 � � � � < 6 � $ �*� � &S3 5D5736kD36K6=�:&<9> @ J�m/K636JH5 8('�I*8;dH< <7EH=�<^3Y< JH598A5 =�\�EH>):TB �MK63 �)8 m'=)59859LW59<98Ak <9> BH3 59<9:T3Ym'JH<98&=)I*<7JH=)K /'KY8DBH=�<7=]m'KY>WI �W5�� ?�>)< � JH57<G<7E�8^8A?HI*:7L�dH<73Y>�? �)8;LW5 � � � $ o ( &�=)?HB� � � � $ � p)p � -*� &#=�:T8f>)<7E�8;:cBH=�<7=D59<9>):T=�b)8R57L�59<98AkD5�m'=)598AB >�? \�E�>):TB =)?'B @ =)57<9:7LN:78A59dn8AI*<73Y[)8AKYL �� ��� � �� ��� $ � - &n365�=adn8;8;:�� <9>�� dn8;8;: � � <�� ����< ���:121�;� 59<9>):"=�b)84578;:7[�3 I*8�m'=)598ABD>�? - =�dn8A59<9:7L �

"`E�8;:T8�/'KY8A5lI;=)? mn8C59<9>):78AB 57JHITE <7EH=�<D=�<9<7=)I �)8;:"5 =�:T8CJH?H=�m'KY8N<9>%>)m'<7=)36?�<7E�8A3Y:DI*>�?�<98A?�<75���m'J�<&=

KY8;b�3Y<73 k&=�<98DJH598;:VI;=)? =)I;I*8A5T5G<7E�8Ak � �j=)ITE /'KY8lm'K6>�I � 3 5a8A?HI*:7L�dH<98AB%=)?'B "�:T36<9<98A?%<9>]=C:T=)?HB�>�k&K6LITEH>�598A? KY>WI;=�<73Y>�? "c3Y<7E =)BHBH3Y<736>�?H=)K :78;d'K636I;=�<736>�?]<9>]=A[)>�36B >h[)8;:�"�:"3Y<736?�b m'K6>�I ��5 �&F'J�:7<7E�8;:a8A?'EH=)?HI*8 �

kl8A?�<754<9>NdH:7>h[W36B�8VO =)JHKY<S<9>�KY8;:T=)?HI*8l36?HI;K JHB�8G8A?'I*>�BH3 ?�b^36?HO_>):TkD=�<73Y>�?]3 ?�<9> ��m'K6>�I ��5457JHI"E <7EH=�<a=)?�L� % �jm/KY>�I ��5`=�:78a57J�$DI;368A?�<�<9>&:T8;<9:T3Y8;[)8G3Y< �

� ��� ��� � & � � � � � �����*� (4$ ,�(���� , � �*� (4$

� � � ��� � $ �*� & 365R=�" 8;m � d'J�m/K63657EH3 ?�b 57L�59<98Ak <7EH=�< =)K6KY>�"`5GJH578;:T5a<9> I*>�K6KY8AI*<73Y[)8AK6L%JH598D<7EH8A3Y:RKY>WI;=)Kk&=)I"EH36?�8A5�O >):=" 8;m E�>�59<736?Hb =)?'B�/'KY8f598;:7[W36?�b � @ 8;8;:T5c=�:78f:78A59dn>�?H5736m'KY8`O >):`59<9>):"36?�bl=)?HB :78;d/K636I;=�<736?�b

I*>�?�<98A?�<���=)?HB^=GI*>�>):TBH36?H=�<9>): 365�JH578AB&<9>RB'3Y:78AI*<#)�J�8;:T3Y8A5�<9>G<7E�8�dn8;8;:j<7EH=�<jE�>�57<75 =ad/=�:7<736I;JHK6=�: d'=�b)8 �

UWJ�d'd�>):T<#O >):jE�>�57<736?�b "j8;m^d'=�b)8A5�O >): =fdn8;8;:�<7E'=�< 365�I;J�:T:78A?�<7K6LR36?H=)I;I*8A5T573Ym'KY8 ��=�<j>)<7E�8;:�dn8;8;:T5�kD=��)8A5

<7E�8GI*>�?�<98A?�<c=A[�=)36K6=�m/KY8akl>�59<�>)OP<7E�8f<736k&8 �

��� � � � � 6 $ � �,&�365�=aB�8AI*8A?�<9:T=)K63 �;8AB���dn8;8;:�� <9>�� dn8;8;:#" 8;m^I;=)I"E�84B�8;[)8AKY>)dn8ABl>�?&<9>)d^>)O @ =)57<9:7L $ -*- & �-�E�8�59LW59<98Ak0dn>�>�K65 <9>)b)8;<7E�8;:jKY>WI;=)KWI;=)ITE�8A5 >)O'dn8;8;:T5P<9>fO >):Tk0=4b�KY>)m'=)K ��5TI;=)K6=�m'KY8 " 8;m&I;=)ITE�8="c3Y<7E�>�J�<

<7E�8N=)5759>WI;36=�<98AB�>h[)8;:"E�8A=)BH5l57JHI"E�=)5VE'=�:TB�"�=�:78 =)?'B k&=)3 ?�<98A?H=)?'I*8NI*>�57<75 � � 'Wdn8;:T36kl8A?�<7=)K�:78A5TJHKY<7557E�>�" <7EH=�<GBH8;[)8AKY>)d'36?�b 57J'ITE =C59LW59<98Ak 3 5f?�>)<a>�?HKYL]O_8A=)5T3Ym'KY8 m'J�<f=)K657>CI*>�kld'=�:78A5fO =A[)>):"=�m'KYL <9> =

B�8ABH3 I;=�<98AB�"j8;m]598;:7[)8;: �

� ��� ��� ��,�67& �#&+���4� � &)�

�9�; : 6 � �� � �� ��� � � � ��� � � 0� � � � �4� �� � � �� � �� @ UW2aU %�Bf365V=CdH:T>)d�>�578AB%d'J�m/K636I � �)8;L 36?�O :T=)5��<9:TJHI*<7JH:78&36? "`EH3 ITE%?H=)k&8A5a=�:78DB�8 //?�8AB 36? KY>WI;=)K�?H=)kl8A57d'=)I*8A5G=)?HB KY>�?�b)8;:G?H=)k&8A5GI;=)?%K63 ? �]kVJHK �

<73Yd'K68G?H=)kl8A59d/=)I*8A5`<9>NB�8AKY8;b�=�<98V<9:TJH59<cJH5736?�b&I*8;:T<73>/'I;=�<98A5 � � � 2 � � $ o & 365c=DBH3657<9:T3Ym'J�<98AB U�2fU!%I*8;:7<73>//I;=�<98 BH36:78AI*<9>):7L�m'JH36K6<l>�? \�EH>):TB�� O_>):N?H=)kl8]:78A59>�K6J�<736>�? >h[)8;: kVJHKY<73Yd'K68C?H=)kl8A59d'=)I*8A5��`=)?HB

kl8AkRmn8;:T57EH3Yd I"E�8AI �W36?�b&<9>^598;8G3YO =&I*8;:7<73>/'I;=�<98V365�=�dHd'K 36I;=�m'KY8S<9>D=ld'=�:T<736I;JHK6=�: �)8;L �

o*�

Page 41: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

�� � �2 $ o �*&n365 =V59LW59<98Ak <7E'=�<jJH598A5�\�E�>):"B&=)5j=)? =)KY<98;:T?'=�<73Y[)8S578;:7[�3 I*8`59<9:TJHI*<7JH:78`<9>R<7E�8S2 �fU �� $�%��� �� � ��,) ) ��� ���� � d/=)3Y:T5G=�:T8 59<9>):T8AB�3 ? = BH3659<9:T36m'J�<98AB O =)57EH3Y>�? JH5736?�b]EH=)57EH36?Hb �#<9> =)K6KY8;[W36=�<98

59>�kl8�>)O�<7E�8�B�:"=�"�m'=)I ��5 >)O�J'5736?�bS<9:78;8`BH=�<7=f57<9:TJHI*<7J�:78A5�O_>):�2 �fU KY>�> ��J�d/5 �1-`E�8�=)J�<7E�>):T5�I*>�?'I;K6JHB�8

<7EH=�< 36? 59d'36<98j>)O/<7E�8�=)B�[ =)?�<7=�b)8A5�>)O�=4BH3659<9:T36m'J�<98ABG2 �fU �)<7E�8�EH3Yb�EVK6=�<98A?HI;368A5���BH3>$DI;J'KY<73Y8A5 36?R=)B'BH36?�b

?�8 "�O_8A=�<7JH:78A5#=�<P=)K6K�I;K63Y8A?�<75��)=)?HBG<7EH8jK6=)I �a>)OH36?HI*8A?�<73Y[)8A5#<9>S598;:T[)8 JH?H:78AK6=�<98ABGB'=�<7=ck&=��)8 <7E�8�59LW59<98Ak

KY8A575f=�<9<9:"=)I*<73Y[)8^<7E'=)? <7E�8&I;J�:7:T8A?�<a2 �fU �+1 5736k&36K =�:SI*>�?HI;K JH573Y>�? O >):GJH573 ?�bNd�8;8;: � <9>�� d�8;8;:R59L�57<98Ak&5

O >): ?H=)kl8`578;:7[�3 I*8A5�I;=)?lmn8�598;8A?&36? �4[)8;:TKY>�> � $ �*� q &�"`E�8;:78�<7EH8�=)J�<7E�>):T5�5T=AL <7EH=�< 57J'ITE&59LW59<98Ak&5j=�:78<9>�> 598A?H5736<73Y[)8&<9>C<7E�8D<9:T=)?H59dn>):7<aK6=hL)8;:R=)?HB%<7E�8DI;K63Y8A?�<Gk&=)I"EH36?�8A5 �D1 BH3 %n8;:78A?�<fdn8;:T57d�8AI*<736[)8l<7EH=�<

O >�I;JH578A5`>�? <7E�8V=)BH[ =)?�<7=�b)8R>)O �+ �� ���� � � � *�� � :78;O_8;:T8A?HI*8R:T>�J�<736?�b&m�LCJH573 ?�bldn8;8;:�� <9>�� dn8;8;:cO >):S2 �fUI;=)?Cmn8f598;8A?]36? $ � p & �

� ��� ��� ��& � /'� � &+��� /'��67,�(�� & 67&+,����4�-&)67&)(

U�:T3 ?H3Y[�=)57=)? � 2 4 $ �*� p*&�57JHb)b)8A59<`JH573 ?�bV=&d�8;8;: � <9>�� d�8;8;:c59L�57<98Ak O_>):ckl8A=)57J�:78Ak&8A?�<�>)OP?�8;<7"j>): �Ndn8;:��O >):Tk&=)?HI*8a36? � ������� : � + 36<7E dn8;8;:T5�BH3659<9:"3Ym'J�<98AB =)K6Kn>h[)8;:S<7E�8 " >):TK6B��H5TJHITEC=l57L�59<98Ak "j>�JHK BNb�3Y[)8

b)>�>�B^=ab)>�>�B KY8;[)8AKH>)O+?H8;<," >): �&I*>h[)8;:T=�b)8f<7E'=�<#" >�JHK6Blmn8`BH3 $DI;JHKY<P<9> =)ITEH3Y8;[)8cm�L&kD=)?�JH=)K KYLV578AKY8AI*<��

36?�b`8A?HB�dn>�36?�<75 � c>�" 8;[)8;:���<7E�8;:78�=�:78 598;[)8;:T=)K�365757J�8A5#57JHI"ER=)5 57J�$DI;368A?�<#d'=�:7<736I;3Yd/=�<73Y>�?��,J'598;O J'K6?�8A575 >)O

kl8A=)57JH:78Akl8A?�<75��'=)?HBCE'=)?HBHK636?HbRI*>�K6K6J'573Y>�?H5 "`E'36ITEN:78AkD=)36?N<9>&mn8a=)BHB�:78A5T598ABNmn8;O_>):78a3 kld'KY8Akl8A?�<736?�b

57JHI"EC=&59LW59<98Ak 3 ?NdH:T=)I*<736I*8 �

� ��� ��� � , (*, $1��(*$�� ,������ �-/ � �*�

��� : ��� � $ �*- &c=)?HB � ����8� 6 � �2 $ �*�*� &c=�:78 59LW59<98Ak&5D<7EH=�<D=)BHBH:78A575l<7E�8 �'=)57E I*:7>�"`B dH:T>)m'KY8Ak �BHJ�8 <9>�=�5TJHBHB�8A? 36?HI*:78A=)598 36? <7E�8 B�8Ak&=)?HB O >):N57>�kl8 B'=�<7= �cm�L dH:7>)dn>�573 ?�b%<7EH=�< I;K63Y8A?�<75^<7EH=�<

EH=h[)8CB�>�"`?'KY>�=)B�8AB�<7E�8 BH=�<7= �j578;:7[)8C3Y<V<9> >)<7E�8;:&I;K63Y8A?�<75 � -�EH3 5R365 36k&d'KY8Akl8A?�<98AB�m�L E'=A[W36?�b <7E�8

598;:7[)8;:Sk&=)36?�<7=)36? =&K63 59<�>)OP578;:7[)8ABCI;K63Y8A?�<75�=)?HBC:78ABH3Y:78AI*<73 ?�b O J�<7JH:78f:78�)�J�8A59<75�<9>&<7EH8Ak �#-#>&dH:78;[)8A?�<

:78ABH36:78AI*<73Y>�?�>h[)8;:TK6>�=)B >�?�<7E�8C598;:7[)8;:�� e =)I ��5TK6=)57E O J�:7<7E�8;: 59<9>):78A5&:78A59>�J�:TI*8 =)BHBH:78A57598A5�� 8A3Y<7E�8;: 8A?

:7>�J�<98G<9>&<7E�8f:78�)�J�8A59<736?Hb&?�>�BH8a36? =l2 - >h[)8;:TK6=hL �/>):`>�? :T=)?HB�>�k d�8;8;:"5�JH5736?�blEH=)5TEH36?�b �

� ��� ��� � �-/ � � � /16 6 �*( � � ,. -�0/1(

@ =)59<9:7L E'=)5`mn8;8A? JH598AB =)5c<7EH8Gm'=)598VO >): � ��0� � � $ � p � & �n=)? 8;[)8A?�<��M?�>)<73 /'I;=�<73Y>�? 36?�O :T=)59<9:"JHI*<7J�:78fO >):= <9>)d'36I � m'=)578AB�d'J�m'K63 57E#! 57J�m/57I*:T3Ymn8 59L�57<98Ak � UWJ�m'5TI*:T3Ymn8;:T5a:T8;b�3659<98;: O_>):&= <9>)d'3 ID>)Oc<7E�8A3Y:l36?�<98;:78A59<

o*-

Page 42: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

=)?HB :78AI*8A3Y[)8D8;[)8A?�<75V:78AK6=�<98AB <9> <7EH=�<R<9>)d'36I&36:7:78A59dn8AI*<73Y[)8&>)O�<7EH8&d'J�m'K 3657E�8;: �^1 kRJHK6<736I;=)59<a<9:78;8 365

k&=)36?�<7=)36?�8AB]O >):S8A=)I"E <9>)d'36I "`EH3 ITE 3 5S=)5T59>�I;3 =�<98AB "c3Y<7E]= �� ��� ���0� � � � dn>�36?�<S3 � 8 � � <7E�8Vdn>�36?�<S36?<7E�8&>,[)8;:TK6=hL ?�8;<," >): � <7EH=�<V365aI;KY>�598A57<G<9>C<7E�8^<9>)d'36Il36BH8A?�<73>/'8;: � � =)I"E <9:T8;8D365fO >):Tkl8AB m�L � >�36?H36?�b<7E�8a:T>�J�<98A5�O :7>�k <7E�8G5TJ�m'57I*:T36m�8;:"5 O >):�<7EH=�<�d/=�:7<736I;JHK6=�:�<9>)d/36I��

@ 8;8;:�� <9>�� dn8;8;:l59LW59<98Ak&5V=�:78^=)K657> JH598AB O_>):V=�dHd'K636I;=�<736>�? �MKY8;[)8AK mH:T>�=)BHI;=)59< $ q)o & =)5&" 8AK6Kj=)5RkVJHK �<736I;=)59< $ -*� � � - � � � & � -�EH8;:78 =�:78]<," >�=�d'dH:7>�=)ITEH8A5DO >):^kVJHKY<736I;=)57<;g ����� �2�23� 0 ��������5� ����10 JH598AB 36?

� � � � $ - ( &�m/=)598AB >�? \�1 � $ -*�*& ��=)?HB m'J'36K6BH36?Hb4= ��#23� � � %��� � �� =)5�36? UWI*:T3Ymn8 $ � - &n=)?HB � : 6 � � ���� � �� $ � � & ��mn>)<7E m'=)598AB >�? @ =)59<9:7L $ -*- & � 1 I*>�kld/=�:T3659>�? >)Oa<7E�8 dn8;:7O >):Tk&=)?'I*8 >)Of<7E�8 <," >=�dHdH:T>�=)ITE�8A5lJH?'B�8;:R36BH8A?�<736I;=)K " >): ��K6>�=)BH5 $ o�p &�57E�>�"c5G<7EH=�< <7E�8N<9:78;8N=�dHdH:T>�=)ITE�>�J�<9dn8;:7O >):Tk&5R<7E�8�H>�>�B'36?�b =�dHdH:7>�=)I"E��

q�p

Page 43: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� ��������� �

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

% ? <7E'365 ITEH=�dH<98;: �#" 8 dH:78A598A?�<l=)? =�m'59<9:T=)I*<lkl>WB�8AK >)Oc= BH3 59<9:T3Ym'JH<98AB EH=)57E�<7=�m'K68 ��dH:7>,[)8 >�J�:l:78 �

57JHK6<75RO >): O =)J'KY<�� <9>�KY8;:T=)?�<lb):78;8AB�L :7>�J�<736?�b 36?�<7EH365 kl>WB�8AK � b�36[)8NEH8AJ�:T3659<73 I;5GO >):&I*>�?H59<9:TJ'I*<73Y>�? =)?HB

k&=)36?�<98A?H=)?HI*8 >)O457JHI"E = ?�8;<," >): � �j=)?HB�d':78A598A?�<l8('�dn8;:T36k&8A?�<7=)K :78A57J'KY<75V>�? <7E�8Ndn8;:7O_>):"k&=)?HI*8 36?

dH:T=)I*<73 I*8 �

� �� � �: �� �n!� �

1SKY<7E�>�J�b�E <7EH8a[ =�:"3Y>�JH5�dn8;8;:�� <9>�� dn8;8;:c57L�59<98AkD5�<7EH=�<`J'598GBH3657<9:T3Ym'J�<98ABNEH=)5TE <7=�m'KY8A5 @ 578;8 \�EH=�d'<98;:SoO >):SB�8;<7=)3 K65?B�578;8Ak [�=)59<7KYLCBH3�%�8;:78A?�<���<7E�8;:78 365`=^:78AI;J�:7:T8A?�<SJH?HB�8;:TK6L�36?HbV<7EH8Akl8V3 ?C<7E�8VJH598G>)Oj59>�kl8[�=�:T36=)?�<S>)Oj=)? >h[)8;:TK6=hL k&8;<9:T36IV59d'=)I*8&36? "`EH36I"E <7EH8 kD=)ITEH36?H8A5S=�:T8V8AkRmn8ABHB�8AB��&-`E�8VK6>�I;=�<73Y>�?'5c>)O

k&=)I"EH36?�8A5V=)?HB�:78A59>�J�:"I*8A5V3 ?%<7EH365Vkl8;<9:T3 ID59d'=)I*8 =�:78NB�8;<98;:TkD36?�8AB m�L <7E�8A36:V36BH8A?�<73>/'8;:T5G=)?HB �)8;LW5

:78A59dn8AI*<73Y[)8AK6L � � =)I"E ?�>WB�8 k&=)36?�<7=)36?H5N59>�kl8%3 ?�O_>):"k&=�<73Y>�? =�m�>�JH<N36<75 ?�8A3Yb�E�m�>):"5 3 ? <7EH8 k&8;<9:T36I59d'=)I*8 �#=)?HB :7>�J�<736?HbN3 5c<7EH8A?%5736kld/KYLCB�>�?�8 m�L]O >):�"�=�:TBH36?�b 8A=)ITE%d'=)I �)8;<R<9> <7E�8&?�8A3Yb�E�mn>): � 2 ���+ ����

<9>N<7E�8 <7=�:7b)8;<a?�>WB�8 "`3Y<7E :78A59dn8AI*<S<9> <7E�8lkl8;<9:T36I�� % ?%\�1 � $ -*� & � <7E�8lkl8;<9:T36IV59d'=)I*8&3 5`8('Wd'K636I;36<7KYLB�8 /'?H8AB%=)5a<7E�8 I*>�>):"BH36?H=�<98D57d'=)I*8*"`E'36ITE 365RBH3Y[W36B�8AB 36?�<9> �;>�?�8A5V=)?HB%<7EH8DBH3659<7=)?'I*8Dkl8;<9:T36IDJH598AB

365^5736kld'K6L <7E�8 �jJHI;K636BH8A=)? BH3659<7=)?'I*8 ��% ? \�E�>):TB $ �*� o & ��<7EH8]?�>WB�8A5D=�:T8]KY>WI;=�<98AB >�? b):T36B dn>�36?�<75>�?�= :78A=)K I;3Y:TI;K68 �1"c3Y<7E BH3 59<7=)?HI*8A5Vkl8A=)57J�:78AB�I;KY>WI � "`36598 =)KY>�?�b <7E�8^I;36:TI;JHklO 8;:78A?HI*8^>)O�<7E�8^I;36:TI;KY8 �

- =�d�8A57<9:7L $ � o*� & �n=)?HB @ =)59<9:7L $ -*- & =)K659>^d'K6=)I*8V?�>�BH8A5�>�? =^:78A=)K#I;3Y:TI;KY8G=)K6<7E�>�J�b�E B'3659<7=)?HI*8A5cI;=)?]mn8kl8A=)57JH:78AB 36? 8A3Y<7E�8;:aB'3Y:78AI*<73Y>�?�� -�EH3 5f36?HE�8;:78A?�<4I*>�k&kl>�? 57<9:TJHI*<7J�:78lKY8A=)B'54<9> 5736k&3 K6=�:c:T8A57JHKY<754O >):

<7E�8Vdn8;:7O_>):"k&=)?HI*8V>)O 57JHI"E ?H8;<," >): ��5 �&%�?]<7EH365SITE'=�dH<98;:�� " 8V8('Wd'K6=)3 ?�"`E�L kl>�59<4>)O�<7EH8A598l59L�57<98Ak&5

q �

Page 44: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

=)ITE'3Y8;[)8%5736k&3 K6=�:&dn8;:7O >):Tk&=)?HI*8 b�JH=�:T=)?�<98;8A5 m�L B�8A57I*:T36m'36?�b =�b)8A?�8;:"=)Kf598;<9<736?�b�O_>): 57J'ITE >h[)8;:TK =AL

kl8;<9:T3 If59d'=)I*8A5��'=)K6<7E�>�J�b�ECkl>�57<�>)O#>�JH:�:78A57JHK6<75�=�dHd'KYL^>�?HKYLN36?N>�?�8 �MBH36k&8A?H573Y>�?H=)Kn59d/=)I*8A5 �

FHJH:7<7E�8;:�� "j8V=�:78 36?�<98;:T8A59<98AB]3 ?C<7E�8RO =)JHK6<�� <9>�KY8;:T=)?HI*8VdH:7>)dn8;:7<73Y8A5�>)O�57JHITE ?�8;<7"j>): �W5 �SF�>):fK6=�:7b)8

59LW59<98Ak&5��#"`E�8;:78 ?�>WB�8A5 =�dHdn8A=�:l=)?HB�KY8A=A[)8CO :78�)�J�8A?�<7KYL ��:78A573 K63Y8A?HI*8^<9> :T8;d�8A=�<98AB =)?'B I*>�?HI;J�:7:78A?�<

O =)36K6J�:78A5S365f=NB�8A5736:T=�m'KY8 =)?HB 36kldn>):7<7=)?�<SdH:7>)dn8;:7<ML � + 8&dH:7>,[)8l<7EH=�< "`3Y<7E >�J�:f>,[)8;:TK6=hL 57d'=)I*8&=)?HB

K636? ��36?Hb�57<9:T=�<98;b�3Y8A5��)<7E�8 ?�8;<," >): �fdn8;:7O >):Tk&5�:78A=)59>�?H=�m'K6L " 8AK6K�8;[)8A? "`36<7EG=`K =�:7b)8j?�JHkRm�8;:#>)O�O =)3 K6J�:78A5 �

+ 8R=)K 59>lb�3Y[)8a8('Wdn8;:T36kl8A?�<7=)Kn:78A57JHK6<75�<7EH=�<`57J�d'd�>):T< >�JH:�<7E�8;>):78;<736I;=)K+dH:7>�>)O 5�3 ?NdH:T=)I*<736I*8 �

�4JH:`=�dHdH:7>�=)I"E <9>�>Dd':7>h[W36B�8A5c=DEH=)57E <7=�m'KY8 �MK63 �)8aO J'?HI*<73Y>�?H=)K636<ML �Hm'=)578ABC>�? �)8;LW5c<7EH=�<SJ'?H3 )�J�8AKYL36B�8A?�<73YO L]<7EH8&:78A59>�J�:"I*8A5 ��-�> =)I;I*>�kld'K6365TE <7EH365�� "j8 k&=�d :T8A59>�J�:TI*8A5G<9> dn>�36?�<75G36?%= kl8;<9:T36I&57d'=)I*8

8A3Y<7E�8;:lBH36:78AI*<7KYL%O :7>�k <7E�8A3Y:��)8;LW5l>):lO_:T>�k <7EH8 �)8;LW5 * EH=)5TE [�=)K6J�8A5 � -�EH365Vk&=�dHd'3 ?�b B'36I*<7=�<98A5l=)?

=)575736b�?Hkl8A?�<�>)OHk&=)I"EH36?�8A5#<9>Sk&8;<9:T36I �M59d'=)I*8 dn>�36?�<75 � � =)I"E k&=)ITEH3 ?�8j365#=)57573Yb�?H8ABR=c598;d'=�:T=�<98�KY>WI;=�<73Y>�?O >):�8A=)ITE^:78A59>�J�:"I*8�<7EH=�<j36<�E�>�59<75V��59>G=ak&=)I"EH36?�8cI;=)?&mn8�KY>WI;=�<98ABD=�< kVJHKY<73Yd/KY8�d�>�3 ?�<75 36?&<7E�8�>h[)8;:TK =AL?�8;<7"j>): � � + 8lI*>�?H59<9:TJHI*<4=)?HB k&=)36?�<7=)36? =D:T=)?'B�>�k b):"=�d'E]K 36? �W36?�bl<7E�8A598Vdn>�36?�<75c=)?HB JH598Vb):78;8AB�L

:7>�J�<73 ?�b`<9>4<9:T=h[)8;:T598�3Y<75#8AB�b)8A5P<9> /'?HBVBH=�<7=43Y<98Ak&5 ��-�E�8jdH:T36?HI;36d'KY8 " 8j:78AK6La>�? 365�<7E'=�<#O =)36K6J�:T8A5#KY8A=h[)8

mn8AEH36?HBVL)8;< =)?�>)<7E�8;: @ 57kD=)K6KY8;: B#:T=)?'B�>�k b):T=�d'E ��8A?H57J�:"36?�b4<7EH=�<�<7E�8c?�8;<," >): �&365P:7>)m/JH59< 8;[)8A?D3 ?l<7E�8O =)I*8a>)O#I*>�?H5T36B�8;:T=�m'K684B'=)k&=�b)8 � 1S?�>)<7E�8;:`I*>�kldn8AK6K 36?�bR=)BH[ =)?�<7=�b)8a>)O :T=)?HB�>�k b):T=�d/EH5�365�<7EH=�<�<7E�8;L

8AK636kD36?H=�<98D<7EH8N?H8;8AB O >): b�KY>)m'=)K I*>�>):"BH36?H=�<73Y>�? � -`E�JH5��1" 8Nb)8;<&= O JHK KYL��MB'3659<9:T3Ym/J�<98AB�� 8;b�=)K63Y<7=�:"36=)?��

57I;=)K6=�m/KY8a?�8;<," >): � "`3Y<7E ?H>lm�>)<9<7K68A?�8AI �W5 �

+ 8Vkl8A=)57J�:78Gd�8;:TO_>):TkD=)?HI*8a36?N<98;:Tk&5`>)O#<7EH8G?�J'kGmn8;:�>)OPkl8A5757=�b)8A5S598A?�<`36? <7EH8G?�8;<," >): �NO >):c=

598A=�:TI"E >):G=)? 36?'598;:7<S>)d�8;:"=�<73Y>�?�� -�E�8 :78;d'=)3Y:fkl8AI"EH=)?H365Tk k&=AL b)8A?�8;:T=�<98D=)B'BH3Y<73Y>�?H=)K#<9:T=0$DI��#m'J�<

" 8S8('Wdn8AI*<j<9>l=)kl>):T<73��;84<7E�8A598fI*>�59<75�>h[)8;:�<7EH84578A=�:TITE =)?HB 36?H578;:7< >)dn8;:T=�<73Y>�?'5 �jQ43Y[)8A? <7E�8Sb):7>�"c36?�b

59<9>):T=�b)8 I;=�d'=)I;36<ML >)Ock&=)ITEH3 ?�8A5���"j8N=�:78NKY8A575VI*>�?HI*8;:T?�8AB�"`36<7E k&36?'36k&3��A36?Hb <7EH8 59<9>):"=�b)8N=�< 8A=)I"E

?�>WB�8��H<7E�8V59d'=)I*8R:78�)�J'3Y:78Akl8A?�<75�=�:78V57k&=)K6K+=)?'BC<7E�8G3 ?�O_>):"k&=�<73Y>�?C59<9>):T8AB =�<4=&?�>WB�8GI*>�?H573 59<75�>�?HK6L>)O =)?�% @ =)BHBH:78A575�O >):�8A=)ITE ?�8A3Yb�E�mn>): � c>�" 8;[)8;:��n=)5�dn>�36?�<98ABN>�J�<`36?]\�EH=�dH<98;: � ��kl>):78a?�8A3Yb�E�mn>):T5KY8A=)B <9>]=)?�36?HI*:78A=)598^36?%<9:T=0$^I&O >):Rk&=)36?�<98A?H=)?HI*8^>)O�K636? �W5f36? <7E�8&:78;d'=)36:Rkl8AI"EH=)?H3657k �#<7E�JH5G36<G365

mn8A?�8 /'I;36=)Kn<9> �)8;8;d <7E�8a59<9>):"=�b)8G:78�)�JH3Y:78Ak&8A?�<�B�>�"`? <9>D=lkD36?H36kVJHk �

-�EH8c:78A57<j>)O+<7E'365jI"EH=�dH<98;:�365j>):7b�=)?H3 �;8AB =)5 O >�K6KY>�"`5 � U�8AI*<73Y>�? q � oR8('�d/K6=)36?H5j>�J�:�=�m'59<9:T=)I*<�kl>WB�8AK

36?�B�8;<7=)36K � + 8 b�3Y[)8N>�J�:&KY>�" 8;:lmn>�JH?HBH5GO_>):lb):T8;8AB�L :7>�JH<736?�b 36?�UW8AI*<73Y>�? q � q � + 8 dH:T>h[)8CJ�dHdn8;:

mn>�JH?HBH5a>�? b):T8;8AB�L%:7>�J�<73 ?�b�"`36<7E�>�J�<aO =)36K6J�:T8A5G36? U�8AI*<73Y>�?�q � � � =)?HB�36?%<7EH8^dH:T8A598A?HI*8 >)O�O =)3 K6J�:78A5

36? U�8AI*<73Y>�? q ��� � % ? U�8AI*<736>�? q � ( � " 8 dH:78A598A?�<4=^E�8AJH:T3659<736IGkl8;<7E�>WB]O >):fI*>�?H59<9:TJ'I*<736?�bD<7EH8V:"=)?HB�>�k

q)o

Page 45: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

b):T=�d'E]=)?HB]dH:7>h[W36B�8f8('Wdn8;:T36kl8A?�<7=)K+:T8A57JHKY<75`<7EH=�<c57EH>�"03Y<75�dn8;:7O >):Tk&=)?HI*8R36?CdH:"=)I*<736I*8 �cU�8AI*<73Y>�? q �+�B�8A57I*:"3Ymn8A5�<7E�8G:T8A57JHKY<75`>)O >)<7E�8;:c8('Wdn8;:T36kl8A?�<75=" 8RI*>�?'BHJHI*<98AB]<9>^<98A59<c<7E�8Gdn8;:7O >):Tk&=)?'I*8G>)O b):78;8AB�L

:7>�J�<73 ?�b 3 ? >�JH:&BH3659<9:T36m'J�<98AB B'=�<7= 57<9:TJHI*<7J�:78 � \ >�?HI;K6J'573Y>�?H5V=)?HB�O JH<7J�:78�"j>): ��=�:78 BH365TI;JH57598AB�36?

U�8AI*<73Y>�?]q ��� �

� ��� � ��� �L� �����%� �~�

-�E�8�3 B�8A=�JH?HB�8;:"KYL�3 ?�bj>�JH:�=�dHdH:7>�=)I"EGI*>�?H5T3659<75 >)OW<7E�:78;8 m'=)5736IPd'=�:T<75;g @ � B�8AkRmn8ABf:78A59>�J�:"I*8A5�=)5+dn>�36?�<7536?N=lkl8;<9:T3 IS57d'=)I*8 �4@ o:B I*>�?H59<9:TJ'I*<�= :T=)?HB�>�k b):T=�d'ENm�L^=�d'dH:7>)dH:T3 =�<98AKYLDK636? ��36?Hba<7E�8A598fdn>�36?�<75���=)?HB@ q:B`8 $DI;3Y8A?�<7KYL]K6>�I;=�<98 :78A59>�JH:TI*8A5Sm�L]:7>�J�<736?�b^b):78;8ABH36K6LC=)KY>�?�bN<7E�8V8AB�b)8A54>)O <7E�8Vb):T=�d'E � � 8;<�� mn8=D578;<c>)O :78A57>�J�:TI*8A5`57dH:78A=)B]>h[)8;:f=DK6=�:Tb)8 ��E�8;<98;:T>)b)8A?�8;>�JH54?�8;<," >): ��� �`F�>):S8A=)ITE :78A59>�J�:"I*8 � �����

� ��� � � @,�6B B�8A?H>)<98A5�<7E�8GkD=)ITEH36?H8a36?�� <7EH=�<`dH:7>h[W36B�8A5��l=)?HB�� �0@,�:B�B�8A?�>)<98A5�<7E�8G:78A59>�J�:TI*8 * 5 �)8;L �� 8;<�� mn8&<7E�8^578;<G>)O�=)K6K�dn>�575T3Ym'KY8��)8;LW5 � + 8 =)575TJHkl8D=]EH=)57E%O JH?HI*<736>�? � g � / � 5TJHITE <7EH=�<:78A59>�JH:TI*8 � k&=�d'5c<9>N<7E�8Rdn>�36?�< �:� �4@�� �� @,�6B BS36?]= k&8;<9:T36IG57d'=)I*8 @��

��(B � "`E�8;:78�� 365c<7E�8Vd�>�3 ?�<

598;<�=)?HB �V3 5 <7E�8SBH3659<7=)?'I*8ckl8;<9:T3 Ic=)5 57E�>�"`?^3 ?DFP3Yb�J�:784q � � � + 84I;=)? J'598c=VEH=)57E^O J'?HI*<73Y>�?D5TJHITE =)5U� S1 � � $ � &'<9>Gdn>)d'J'K6=�<98�<7E�8`kl8;<9:"36I�59d'=)I*8SJH?H3YO >):Tk&KYL � �`>)<98S<7EH=�<�[W36=4<7EH365�:78A59>�J�:TI*8`8AkGmn8ABHBH3 ?�b ��=k&=)I"EH36?�8 � 365�kD=�dHdn8AB^>�?�<9>l<7E�8a598;<���� ��� � ��� g��8� ��� � � � �4@�� �� @,�6B B�� @ � ��� � �&@,�6B � � B����?H=)kl8AK6LV<7EH8c598;< >)O+kl8;<9:T36I �M57d'=)I*8cdn>�36?�<75 =)5T573Yb�?�8ABD<9>G<7E�8S:78A59>�J�:"I*8A5 <7E�8Sk&=)ITE'36?�8�dH:T>h[W36B�8A5 � -�E�JH5

= 5T36?�b�KY8Ck&=)I"EH36?�8 I;=)? E'=A[)8 kRJHK6<73Yd'KY8 KY>WI;=�<73Y>�?H5^36? <7E�8 kl8;<9:T36I]59d'=)I*8 ��>�?�8 KY>�I;=�<736>�? O >):^8A=)I"E

:78A59>�JH:TI*8a<7EH=�<`36<�EH>�59<75�� ��4JH:�?H8('�<�59<98;dC365 <9>lI*>�?H59<9:"JHI*<�= BH3Y:78AI*<98AB :T=)?HBH>�k�b):"=�d'ENO_:T>�k�<7EH8Sdn>�36?�<75 8AkGmn8ABHBH8AB 3 ?�� �

+ 8f=)5757JHk&8c<7EH=�< 8A=)ITE ?H8 "`KYL �M=�:7:T3Y[)8AB^k&=)ITEH3 ?�8 � 365 36?H36<736=)K6KYL I*>�?H?�8AI*<98AB <9>l59>�kl8S>)<7E�8;:�k&=)ITE'36?�8

36?�� � �j=)ITE k&=)I"EH36?�8 � b)8A?�8;:T=�<98A5a<7E�8R>�JH<9b)>�36?�b K636? �W5�O >):48A=)ITE [)8;:T<98(' � ��� � 36?HB�8;dn8A?HBH8A?�<7KYL �

+ 8 b�3Y[)8 B�8;<7=)36K 5 =�mn>�J�<N<7E�8 ?�JHkRm�8;: >)OG>�JH<9b)>�36?�b K636? �W5 36? >�JH:Ckl>�BH8AKc36? K6=�<98;:C578AI*<73Y>�?H5 � 1

K636? ��@ ���0B� ����!"��#]5736k&d'KYL BH8A?�>)<98A5&<7EH=�< � �W?�>�"`5&<7EH=�<$�3 5l<7E�8]kD=)ITEH36?H8 <7EH=�<DdH:T>h[W36B�8A5

<7E�8^:78A59>�J�:TI*8 k&=�dHdn8AB%<9> �~��E�8A?'I*8 �1" 8NI;=)? [W3Y8 " <7EH8Db):T=�d'E =)5R=][W3Y:7<7JH=)K >,[)8;:TK6=hL ?�8;<," >): �%>)O36?�O >):Tk&=�<736>�?���d/3Y8AI*8A5 >)O4"`EH3 ITE =�:78f59<9>):78AB KY>WI;=)K6KYL&=�<�8A=)I"ECk&=)ITE'36?�8 � � =)I"EH36?�8 � I*>�?'59<9:TJHI*<75�8A=)I"E

K636? �Cm�L 8('W8AI;J�<736?�bC<7EH8&598A=�:TITE =)KYb)>):T3Y<7E'k <9> KY>WI;=�<98&<7E�8l8A?HB � d�>�3 ?�<4>)O�<7EH=�<GK63 ? � � %�Oj<7E�8&k&8;<9:T36I

59d'=)I*8^365f?�>)<adn>)d'JHK =�<98AB BH8A?H598AKYL]8A?�>�J�b�E��#<7E�8&ITE�>�3 I*8D>)O�=)? 8A?HB � dn>�36?�<fk&=AL :78A57J'KY<f36? = [)8;:7<98('+ � .�DF>�0;.L0 j 2�0y4r@�0 j .1J;.L2�J;.LKoQF5r0;46uF56.�>8CEDR.1J;9y@P>J�2%J;.-9k>MQBJ;=-.�0 j 2�0 j 29 0 j .�9;2�K�. �G.1mnNFQR0�.itR469*0;9y>MD�9k. �G.1J325

KL2= j 46DR.-9-sa0 j .1m%2565 j 29 j 0;>p0 j . 9;2�K�.O56>V=82�0;46>D NFQR0E.-2= j >8CEDF.1J~=1J;.82�0;.-9~460;9E>8CEDH46DS7B.-u�.-DF7R.-DV0�5646D �a9-�

q)q

Page 46: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

NETWORKVIRTUAL OVERLAY

HASH

LINKSPHYSICAL

ACTUAL

VIRTUALLINKS

VIRTUALROUTE

KEYS

v2

PHYSICAL NETWORK(RESOURCES)

ROUTE

NODES

v1 v2 v3 v4

v1

v3

v4

FP3Yb�J�:78Gq � � g 1c?C=�m/59<9:T=)I*<`kl>WB�8AKn>)O =&BH3 59<9:T3Ym'JH<98AB^EH=)5TE <7=�m'KY8 �

I*>):7:78A57d�>�?'BH36?�b <9> =)? =�m/598A?�<D:78A59>�J�:TI*8 � %�? <7E'=�<DI;=)598 � � I"E�>�>�598A5D=)5^3Y<75l?�8A3Yb�E�mn>):�� <7E�8 d�>�3 ?�<

dH:78A578A?�<lI;KY>�598A57<V<9> <7E�8N>):T36b�36?H=)Kj8A?HB � dn>�36?�< �'� >h[W36?�b <9> ?�8A=�:Tm�L [)8;:7<736I*8A5 "`36K K 36?�<9:7>WBHJHI*8N59>�kl8

m'36=)5V36? <7E�8 K 36? � BH3659<9:T36m'J�<73Y>�?���m'J�<G<7EH8 k&=�b�?'3Y<7JHB�8^>)O�8;:7:7>):lB�>�8A5R?�>)< =�dHdn8A=�:V<9>]mn8^K =�:7b)8 ��=)5

57E�>�"`?C36? =Dkl>):78aB�8;<7=)36K68ABCB�8A57I*:T36dH<73Y>�? >)O#<7EH8ab):T=�d'ECI*>�?'59<9:TJHI*<73Y>�?Cb�3Y[)8A?C36? U�8AI*<736>�? q � ( � S=A[W36?�b I*>�?H59<9:TJHI*<98AB <7E�8R>h[)8;:TK =AL ?�8;<7"j>): �C>)O�36?�O >):Tk&=�<73Y>�? ��"j8 I;=)? ?�>�"0JH598V3Y<�O >):c:78A57>�J�:TI*8

KY>WI;=�<73Y>�?��V1c5a?H8 "0kD=)ITEH36?H8A5f=�:7:T3Y[)8 �+>�K B kD=)ITEH36?H8A5fB�8;d'=�:7<��+=)?HB 8('�3659<73 ?�b^>�?H8A5a=)KY<98;:f<7E�8&598;<f>)O

:78A59>�JH:TI*8A5�<7E�8;LNdH:T>h[W36B�8f>):�8;[)8A? I*:T=)57E��'<7E�8a:78A59>�JH:TI*8A5�=A[�=)36K6=�m/KY8G36?N<7E�8R59L�57<98Ak ITE'=)?�b)8 � 1�<S=)?�L

<736kl8 � ��K68;< � � � � mn8^<7E�8 578;<R>)O�=h[ =)36K =�m'KY8D:T8A59>�J�:TI*8A5 =)?HB � � m�8^<7E�8NI*>):7:78A59dn>�?HBH3 ?�b >h[)8;:TK =AL

?�8;<7"j>): � � 1�:78�)�J�8A59<+m�Lak&=)ITE'36?�8 � <9>cK6>�I;=�<98 :78A59>�J�:"I*8���=�<�<73 kl8�� 365#598;:7[)8ABV36?a=`5T36kld'KY8 � KY>WI;=)K63��;8ABk&=)?H?H8;:Ag � I;=)K6I;JHK =�<98A5 <7E�8ckl8;<9:T36I �M59d/=)I*8cdn>�36?�< � <7EH=�<jI*>):7:T8A59dn>�?HBH5 <9> � ��=)?HBD=a:78�)�JH8A59<jkl8A5T57=�b)8365�<7EH8A? :7>�J�<98AB >,[)8;: � � <9> � O_:T>�k <7E�8a[)8;:7<98(' 3 ?�� �l<7EH=�<c365�I;KY>�598A57<�<9> ��' � � =)I"E k&=)I"EH36?�8a?H8;8ABH5>�?HKYL KY>WI;=)KS36?�O >):Tk&=�<73Y>�?���?H=)k&8AKYL 3Y<75 598;<D>)OG?H8A3Yb�E�mn>):T5^36? � � ��<9> d/=�:7<736I;3Yd'=�<98 36? <7EH8]:78A57>�J�:TI*8

KY>WI;=�<73Y>�?�� !�>�J�<736?HbC365aB�>�?�8lb):T8;8ABH36KYL m�L O >):�" =�:"BH36?�b <7E�8^kl8A5757=�b)8^<9>C<7E�8Dk&=)I"EH36?�8^k&=�dHdn8AB <9>

= kl8;<9:T36I �M57d'=)I*8 dn>�36?�< =)5&I;KY>�578 <9> � =)5 d�>�5T573Ym'KY8 � -`E�8^d':7>)m'KY8Ak >)O`:T8A59>�J�:TI*8CKY>WI;=�<73Y>�?�365V<7E�JH5

<9:T=)?H5TK6=�<98ABC36?�<9>l:7>�J�<736?Hbl>�? :T=)?HB�>�k b):T=�d'EH5�8AkRmn8ABHB�8ABC36? =lk&8;<9:T36Ia59d/=)I*8 �

-#>D= /H:"59<�=�dHdH:7>�'W3 k&=�<73Y>�?���>�J�:c=�dHdH:7>�=)I"E 365�573 k&36K6=�:�<9>D<7EH8 �957k&=)K6K � " >):TK6B � :7>�J�<736?�b " >): �Nm�L

�aKY8A3 ?�mn8;:7b $ (*( & ��3 ? "`EH36I"E d�>�3 ?�<75�3 ?l=4<," >��MBH36kl8A?H5T3Y>�?H=)K�b):T3 Bl=�:78�I*>�?H?�8AI*<98AB^m�L K636? ��5PB�:T=�"`? O :7>�k=V?�>):Tk&=)K63 �;8AB&dn>�" 8;:��MK6=�" B'3659<9:T3Ym/J�<73Y>�? @;"`3Y<7E^8('Wd�>�?H8A?�<�o:B ��=)?HB :7>�J�<736?�bR365jBH>�?�8cm�L&EH=h[�36?HbR8A=)I"E?�>WB�8 O_>):�" =�:TB 8A=)I"E%d'=)I �)8;<G<9> <7E�8&?H8A3Yb�E�mn>):aI;KY>�578A59<f<9> <7E�8ld'=)I �)8;< * 5RB�8A57<736?H=�<73Y>�?�� �aKY8A3 ?�mn8;:7b * 5

g�� >0;.O0 j 2�0?9k4<DR=-.���� l.-DF.iJ32565rmH= j 2DRlM.-9ECE4r0 j 0;46K�.MsS2�DS7:KL2-m�9ku�.-=-4rqF=82565rmH= j 2�DFlM. C j 4<56. 0 j .OJ;.�aQR.-9*0~469?N�.-46DRl9k.1J �G.-7 sB0 j ./J;.�VQR.-9*0EK�.-9k9;2l.�KL28mLN�.?J;>MQR0;.-7:> �G.1J~2o9k.1J;46.-9~>@Y7B4���.1J;.-DV0E> �G.1J;5<2-m%DR.10[C >J �a9� ����� ����������� ��� �

q �

Page 47: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

=�dHdH:T>�=)ITE%365G59>�kl8 "`EH=�<fm':T3Y<9<7KY8 mn8AI;=)JH598&3Y<a=)5T57JHkl8A5a= I*>�?'59<7=)?�<V?�J'kGmn8;:f>)O�K636? �W54KY8A=A[W36?�b 8A=)I"E

?�>WB�8 � QS8;<9<73 ?�b]b)>�>WB dn8;:7O >):Tk&=)?HI*8^JH5736?�b]EH365a<98AI"EH?H3 )�J�8 =)K659>]BH8;d�8A?'BH5a>�?�EH=A[W36?�b = I*>�kld/KY8;<98

<," >��MBH36k&8A?H573Y>�?H=)KPb):"36B >)Ojdn>�36?�<75 � + 8^=�:78&?�>)<a=)5a36?�<98;:78A59<98AB 36? �)8;8;d'36?�b <7E�8&BH8;b):78;8&B�>�"c?%=)?HB

=)I;I*8;dH<l= K =�:7b)8;:VBH8;b):78;8^<9> b)8;< kl>):78 :7>)m'JH59<7?H8A575 �C1SK659> �1"j8NI;=)?H?�>)< =)5757JHk&8^= I*>�k&d'KY8;<98 b):T36B��

mn8AI;=)JH598^O =)JHK6<a<9>�KY8;:T=)?HI*8 365a>�?H8D>)O�>�J�: k&=)36? >)m � 8AI*<73Y[)8A5���=)?HB 573 ?HI*8Dk&=)I"EH36?�8A5V=�:78^kD=�dHdn8AB <9>

dn>�36?�<75l36?�<7E�8Ckl8;<9:T3 I 59d'=)I*8Cm'=)578AB >�? "`EH=�<l:T8A59>�J�:TI*8A5D<7E�8;L d':7>h[W36B�8 �j<7E�8;:78 k&=hL mn8Ck&3 575736?�b

dn>�36?�<75 �

-�EH8DJH598^>)O :"=)?HB�>�k b):"=�d'EH5G3 5ad'=�:7<7K6L kl>)<736[ =�<98AB�m�L =]B�8A573Y:T8&<9> �)8;8;d�<7E�8^B'=�<7= 59<9:TJ'I*<7J�:78

57I;=)K6=�m/KY8l=)?HB <7E�8l:7>�J�<73 ?�b =)KYb)>):T3Y<7EHk =)5GB�8AI*8A?�<9:"=)K63��;8AB =)5fdn>�575736m'KY8 � =)5f:T=)?HBH>�k b):T=�d'EH5fI;=)? mn8

I*>�?H59<9:"JHI*<98ABCKY>WI;=)K6KYL�"c3Y<7E�>�J�< b�KY>)m'=)K I*>�>):TBH36?'=�<73Y>�?�� 1c?H>)<7E�8;:�36kldn>):7<7=)?�<�:78A=)59>�? 365�<7EH=�<�:"=)?HB�>�k

b):T=�d'E'5`=�:78Vm�L ?H=�<7JH:78G:7>)m/JH59<`=�b�=)36?'59<cO =)36K6JH:78A5;gj=^?�>WB�8 �M36?HBHJ'I*8ABC57J�mHb):"=�d'E >)O�=&:"=)?HB�>�k b):"=�d'E

365 b)8A?�8;:T=)K KYLD59<736K K/= :T=)?'B�>�k b):T=�d'E��W<7E�8;:78;O >):78 ��<7E�8aB'3657=�dHdn8A=�:T=)?HI*8c>)O =VO 8 " [)8;:7<736I*8A5��H=)K6>�?�b "`3Y<7E=)K6K <7E�8A3Y:f36?'I;36B�8A?�<cK636? ��5�@ BHJ�8 <9>NO =)3 K6J�:78V>)Oj59>�k&8 kD=)ITEH36?H8A5f36kld'KY8Ak&8A?�<736?Hb&<7E�8lBH=�<7= 59<9:TJ'I*<7J�:78 B"`36K KH59<736K6K/=)K6KY>�" :7>�JH<736?�b "cEH36KY8�<7EH8c:78;d/=)3Y:jkl8AI"EH=)?H365Tk�365j<9:7LW36?�bR<9> EH8A=)K'<7E�84BH=)k&=�b)8 � -�E�8`:T8;d'=)3Y:

kl8AI"EH=)?H3657k =)K659>�mn8A?�8 /H<75^O_:T>�k <7EH8 JH578]>)Oa:"=)?HB�>�k b):T=�d'EH5��c5736?HI*8 kl>�59< :T=)?HB�>�k 59<9:TJ'I*<7J�:78A5

:78�)�JH3Y:78 KY8A575 " >): � <9> k&=)3 ?�<7=)36?�<7E�8A36: kVJHI"E "j8A=��)8;:D3 ?�[�=�:T36=)?�<75 I*>�kld'=�:78AB�<9>%kl>):78N>):7b�=)?'3��;8AB

BH=�<7=&57<9:TJHI*<7J�:78A5 �

�jkGmn8ABHBH3 ?�b <7E�8Gb):T=�d/EC36?C=^kl8;<9:T36Ia57d'=)I*8REH=)5`<7E�8G[)8;:TLN3 kldn>):7<7=)?�<`dH:7>)dn8;:7<ML <7EH=�<c<7E�8G>�?HK6L36?�O >):Tk&=�<736>�? ?�8;8AB�8AB�<9> KY>WI;=�<98 =]:T8A59>�J�:TI*8N365R<7E�8 KY>�I;=�<736>�? >)OS3Y<75RI*>):T:78A59dn>�?HBH36?Hb kl8;<9:T36I �M57d'=)I*8

dn>�36?�< � -`EH=�<fKY>�I;=�<736>�? 3 5cdn8;:TkD=)?�8A?�<��nmn>)<7E 36? <7E�8l598A?H598V>)O mn8A36?�b JH?H=&%n8AI*<98AB m�L]BH3659:TJHdH<73Y>�?C>)O

<7E�8lBH=�<7=N59<9:TJ'I*<7J�:78 � =)?HB 8A=)5736KYL]I*>�kld'J�<7=�m'K68Rm�L]=)?�L]?�>WB�8V<7EH=�<f598;8��W54<7E�8 :78A59>�J�:TI*8 �RUW> � "`EH36KY8

<7E�8Rd'=�<9<98;:T?]>)O�K636? �W5�mn8;<," 8;8A?]?�>WB�8A5ck&=AL mn8GBH=)kD=�b)8AB]>):SB�8A59<9:7>,L)8AB m�L O =)36K6J�:T8S>)O�?H>�B�8A5`>):c>)O

<7E�8 JH?HB�8;:"KYL�3 ?�b&I*>�k&kVJH?H36I;=�<73Y>�? 59LW59<98Ak �n<7E�8lkl8;<9:"36IR57d'=)I*8RO >):Tk&54=)? 36?�[�J'K6?�8;:T=�m'K68fO_>�JH?'BH=�<73Y>�?

>h[)8;: "`EH3 ITEN<9>&m'J'36K6B^<7E�8a8;d'E�8Ak&8;:T=)Knd'=�:7<75�>)OP<7E�8RBH=�<7=&59<9:TJ'I*<7J�:78 �

� ������� � /16 �*, �����#/1( � �0 ���� � �

�4J�:4=�dHdH:T>�=)ITE 365S8A57598A?�<736=)K6K6LC=)? =�m'59<9:T=)I*<fkl>WB�8AK >)O =N2 - "`36<7E]= O 8 "0k&>�BH3 /'I;=�<73Y>�?H5 �f2 -�5

JH598&kD=)ITEH36?H8&36B�8A?�<73>/H8;:T5f=)?HB%:78A59>�J�:TI*8 �)8;LW5a<9>]B�8;<98;:Tk&36?H8l<7E�8&KY>WI;=�<73Y>�?H5f>)O�<7E�8DkD=)ITEH36?H8A5a=)?HB

:78A59>�JH:TI*8A5V:78A59dn8AI*<73Y[)8AKYL 36? <7E�8D>,[)8;:TK6=hL kl8;<9:T3 I^59d/=)I*8 �%�j=)ITE�k&=)ITE'36?�8^3 5G:78A57d�>�?'573Ym'KY8 O >):l59>�kl857J�m/598;<�>)OP<7E�8G:78A57>�J�:TI*8A5`=)?'B 8A3Y<7E�8;:`kD=)36?�<7=)3 ?H5�<7E�8G=)B'B�:78A57598A5�>)O <7E�8a>)<7E�8;:Sk&=)ITEH3 ?�8A5�<7EH=�<SE�>�59<

q*�

Page 48: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

<7E�8A598 :78A57>�J�:TI*8A5��S>):Ck&=)36?�<7=)36?H5 <7E�8 :78A59>�JH:TI*8A5N<7E�8Ak&598AK6[)8A5V�a<ML�d'36I;=)K KYL <7EH365N57JHm'598;<NI*>�?H573659<75N>)O:78A59>�JH:TI*8A5�<7EH=�<`=�:T8GKY>WI;=�<98AB ?�8A=�:�<7EH8Gk&=)ITE'36?�8 * 5�KY>WI;=�<73Y>�?C3 ?N<7E�8akl8;<9:T36If57d'=)I*8 �

+ EH36KY8�>�J�:jkl>�BH8AK�365�5736kD36K6=�: <9>a<7E�8`2 -�5���36<P3 5 � �����#� �� � �� ���� ��� � I*>�kld/=�:78ABl<9>a<7E�8 � ���$&��� ���� +��� ��� � =�dHdH:7>�=)I"E >)O�<7E�8 2 -�5 � 1S5G36? 2� -�5��1" 8DdH:7>)dn>�598l<7EH8^JH598D>)O�=]kl8;<9:T36ID59d'=)I*8^=)5R=)?

>h[)8;:"K6=AL ?H8;<," >): � =)?HB 8AkGmn8AB kD=)ITEH36?H8A5c=)?HB :78A59>�J�:"I*8A5c36?C<7EH365�>,[)8;:TK6=hL ?�8;<," >): � � c>�" 8;[)8;:��n>�J�:

=�dHdH:T>�=)ITEDB'3 %�8;:"5�36?l<7E�8 " =hLl<7EH365 8AkRmn8ABHBH36?�ba3 5�=)I*<7JH=)K6KYL B�>�?�8 � + 8cdH:7>)dn>�598�<7EH=�<j8A=)ITE k&=)ITE'36?�8

� 36?&<7EH8c?�8;<7"j>): �^EH=)5jkVJHKY<736d'KY8�KY>WI;=�<73Y>�?H5 � �G3 ?&<7E�8Skl8;<9:T36Ic59d'=)I*8 �W>�?�8`O >): 8A=)ITE :78A59>�J�:"I*8c<7EH=�< 3Y<

E�>�59<75 � -�E�JH5�8A=)I"E [)8;:7<98(' � � � �l:78;d':78A598A?�<75�>�?�8G:T8A59>�J�:TI*8GEH>�59<98ABCm�L k&=)ITEH3 ?�8 � � -�EH365�3 kld'K63Y8A5

<7EH=�< � EH=)5`<9>^k&=)3 ?�<7=)36?]K636? �W5�=)5�dn8;:c<7E�8GITEH>�598A?]K 36? �NBH3659<9:T36m'J�<73Y>�?^O_>): � �+$ >)OP36<75�:78A59>�JH:TI*8A5V�/36O

� EH=)5 � :T8A59>�J�:TI*8A5f=)?HB 8A=)I"E%[)8;:7<98(' 36? <7E�8&kl8;<9:"36I 59d'=)I*8&EH=)5 K636? �W5�� � EH=)54<9>Ck&=)3 ?�<7=)36?�@��� BK636? ��5 �

�4JH:V=�dHd':7>�=)ITE�b�3Y[)8A5 <7EH8^mn8A?�8 /H<V>)O ��� � � ��� � 6 � � � 6 � � � 3 � 8 � ��8A=)I"E k&=)ITEH3 ?�8 3 5R:T8A59dn>�?H573Ym'K68O >): <7EH84=)B'B�:78A57598A5 >)O#<7E�84:78A59>�J�:TI*8A5 <7EH=�<�36< E�>�57<75��!"`EH36I"E^36?'I*:78A=)598A5�k&=)?H=�b)8A=�m'3 K63Y<ML^=)?HBN598AI;J�:T3Y<L �

�c>Ck&=)ITEH3 ?�8V?H8;8ABH54<9> d'K6=)I*8 3Y<754<9:TJH57<S36? 59>�k&8l>)<7E�8;:ak&=)ITE'36?�8V<9>Ck&=)36?�<7=)36? <7E�8l=)BHB�:78A575S>)O�3Y<75

:78A59>�JH:TI*8A5 � 1S?�>)<7E�8;:N57k&=)K K`=)B�[�=)?�<7=�b)8%3 5&<7EH=�<N5736?HI*8]<7E�8 :78A59>�J�:TI*8 =)BHB�:T8A575D365 598;:7[)8AB m�L <7E�8

57=)kl8 k&=)ITE'36?�8 <7E'=�<^E�>�59<75^<7E�8]:78A59>�J�:TI*8 ��?H>%8('�<9:"= I*>�k&kVJH?H3 I;=�<73Y>�? 365D:78�)�JH3Y:78AB <9>�59<7=�:7< <7E�8

:78A59>�JH:TI*8 <9:T=)?'59O_8;: =�O_<98;:N3Y<75^KY>�I;=�<736>�? EH=)5Dmn8;8A? B�8;<98;:TkD36?�8AB�� 1�<D<7EH8]57=)kl8]<736kl8 ��3Y<DdH:78A598A?�<75

I*8;:7<7=)36? B'3>$DI;JHKY<7368A5 � �j=)ITE k&=)I"EH36?�8fEH=)5 <9>&k&=)3 ?�<7=)36?N= K6=�:7b)8f?�JHkRm�8;:�>)O K636? �W5V� "cEH36KY8c<7EH365�365�?�>)<=)? 3 5757J�8D3 ? <98;:Tk&5R>)O�59d'=)I*8N=�<G8A=)ITE�k&=)I"EH36?�8^=)5G8A=)I"E K63 ? � 3 5G?�>)<7EH3 ?�b m'J�<a<7EH8*% @ =)BHBH:78A575a>)O

=)?�>)<7E�8;:ck&=)ITEH3 ?�8f36? <7E�8a59LW59<98Ak �H3Y<�I;=)? :78A5TJHKY<�36?N=lKY>)<�>)O#>,[)8;:TE�8A=)B O >):�k&=)36?�<98A?H=)?HI*8a=)5`= d'=�:7<

>)O <7E�8l:78;d'=)3Y:ak&8AITEH=)?H3 57k � %Oj8A=)ITE ?�>�BH8ld�8;:"3Y>�B'36I;=)K6KYL ITEH8AI �W5a<7E�8&59<7=�<7J'5a>)O�3Y<75f?�8A3Yb�E�mn>):T5f=)?HB

36?H36<736=�<98A5c=)I*<736>�?H54<9>N:78;d'=)3Y:4K636? �W5�<9> O =)JHKY<L ?�8A3Yb�E�mn>):T5��n3Y<4I;=)? I;=)JH598l=��'>�>WB >)O kl8A5757=�b)8A5ab�3Y[)8A?

<7E�8�K6=�:Tb)8�?�JHkRmn8;:P>)O�?�8A36b�E�mn>):T5 dn8;:�?�>WB�8 � % ?l=)BHBH36<73Y>�?��)KY>�=)Blm'=)K =)?HI;36?�b4k&=ALVmn8�5��)8 " 8ABlmn8AI;=)JH598

3YO+=RO_8 " k&=)I"EH36?�8A5j>�"c? k&>�59<�>)O+<7E�8S:78A59>�J�:TI*8A5���<7EH8;L�"`36K6KHm�8c:78A59dn>�?H5736m'KY8�O >):�=)?NJH?�JH57J'=)K6KYL K6=�:7b)8

d'=�:7<�>)OP<7E�8a?H8;<," >): �Ck&=)36?�<98A?H=)?HI*8 �

�4? <7E�8l>)<7EH8;:aEH=)?HB��+2 -�5f?H=�<7J�:T=)K KYL dH:7>,[�36BH8 K6>�=)B m'=)K6=)?HI;36?Hb =)?HB k&3 ?H36k&3��;8R<7E�8l?�J'kGmn8;:>)O�K636? �W54dn8;:Gk&=)I"EH36?�8 � c>�" 8;[)8;:�� <7E�8;L B�>]?�>)<adH:7>,[�3 B�8&I*>�?�<98A?�< KY>�I;=)K 3Y<ML � =)?HB <7E�JH5G36?'E�8;:78A?�<7KYL

=)5757J'kl8`<7EH=�<�=)K6K/<7E�8`dn8;8;:T5 598AK �'8A5757KYLlk&=)36?�<7=)36?D<7E�8S=)B'B�:78A57598A5j>)O+<7E�8c:78A59>�J�:"I*8A5��W>):j<7E�8S:78A59>�JH:TI*8A5

<7E�8Ak&578AKY[)8A5��H8;[)8A? <7E�>�J�b�E <7E�8;L =�:78a=)I*<7J'=)K6KYL dH:7>h[W36B�8ABNm�L >)<7E�8;:ck&=)I"EH36?�8A5`36?N<7E�8G59LW59<98Ak �

+ 8G?H>)<98f<7EH=�<=" 8aI;=)? 8A=)5736KYL =)B�>)dH<�<7E�8aK6>�=)BNm'=)K6=)?HI;36?HbRdH:T>)d�8;:T<73Y8A5 >)O 2 -�5�36?N>�J�:�BH8A573Yb�?��

q (

Page 49: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

% ?H59<98A=)B^>)OnkVJHKY<736d'KY8�KY>WI;=�<73Y>�?H5 O_>): =Gk&=)I"EH36?�8S=)5 dn8;: 3Y<75 :78A59>�J�:"I*8A5���36< I;=)?^E'=A[)84=G5736?Hb�KY8�KY>WI;=�<73Y>�?

m'=)598AB >�? <7EH8&EH=)57E [�=)K6J�8 >)Oj3Y<75f3 B�8A?�<73 /H8;: �VUW3 k&36K6=�:S<9>C2 -�5�� "j8&I;=)?%=)K 59> EH=)57E <7E�8l:78A57>�J�:TI*8

�)8;LW5C<9> B�8;<98;:"k&36?�8 "`E'36ITE k&=)I"EH36?�8 "c36K6KSmn8 :78A59dn>�?H573Ym/KY8 O >): <7E�8 :T8A59>�J�:TI*8A5 � � =)ITE k&=)ITE'36?�8"`36K K k&=)36?�<7=)36? 36?HO_>):TkD=�<73Y>�?%=�mn>�J�<a<7E�8^:78A59>�J�:"I*8A5a<7EH=�< EH=)57E <9> <7E�8 57=)kl8^K6>�I;=�<73Y>�?�@ >):V?H8A=�:7m�LKY>WI;=�<73Y>�?H5?B =)5 3Y<7598AK6O � -�EH3 5Pb�3Y[)8A5 <7EH8`?H=�<7J�:T=)K'KY>�=)B&m'=)K =)?HI;36?�bfdH:T>)d�8;:T<73Y8A5�=)5 " 8AK6KH=)5 k&36?'36k&3��A=�<73Y>�?>)O+59d'=)I*84=�< 8A=)ITE k&=)I"EH36?�8c<7EH=�<j=�:78 �)8;L&O 8A=�<7J�:78A5 >)O+=V2� - � e JH< 3Y<j=)K659> KY8A=)BH5�<9>V<7E�84KY>�575 >)O+<7E�8

36kldn>):7<7=)?�< dH:7>)dn8;:7<MLD>)O�I*>�?�<98A?�<`KY>WI;=)K63Y<L ��2S8;d�8A?'BH36?�bR>�?^<7EH84=�d'd'K636I;=�<73Y>�?^<7EH=�<�<7E�84dn8;8;:�� <9>�� dn8;8;:

59LW59<98Ak 365�JH598ABDO_>): ��=)?HB^B�8;dn8A?HBH36?�b4>�?*"`E�8;<7E�8;: 598AI;J�:T3Y<Ll>):jKY>�=)BDm'=)K6=)?HI;3 ?�ba365 k&>):78c36k&d�>):T<7=)?�<��

>�?�8a>)O <7E�8a<7"j>^=�dHdH:7>�=)I"E�8A5`I;=)? m�8a5TJH3Y<7=�m'KYL^JH598AB��

% ? <7E�8�598AI*<73Y>�?'5P<7EH=�< O_>�K KY>�" � "j8�dH:T8A598A?�<P>�J�: :T8A57JHKY<75�"`E'36ITE I;=)?lmn8�=�dHd'K6368ABG<9>fmn>)<7El57I*8A?H=�:"3Y>�5

=)5 "j8R:78;O_8;:S<9> <7E�8R?�JHkRm�8;:`>)O d�>�3 ?�<75c36?C<7E�8R>h[)8;:TK =AL kl8;<9:"36IG59d/=)I*8GO >):c>�J�:c:78A57JHK6<75 � + 8VB�> ?�>)<

I*>�k&k&36<j<9>lE�>�" <7EH8S:T8A59>�J�:TI*8A5�=�:78fBH3657<9:T3Ym'J�<98AB ��59> =Rdn>�36?�<j3 ?D<7E�8fkl8;<9:"36Ic57d'=)I*8fI;=)? I*>):T:78A59dn>�?HB

8A3Y<7E�8;:j<9>G=GkD=)ITEH36?H8�>):j=G:78A59>�J�:TI*8 � �c>)<98`<7EH=�< "`E�8A? " 8c5T=AL ��� 1 � "j8S=)I*<7JH=)K6KYL :78;O 8;:�<9>R= �� +��� �36?N<7E�8G[�3Y:T<7JH=)K�>h[)8;:TK6=hLC?�8;<," >): � �/?�>)<�= ��$&�%��� � �2 kD=)ITEH36?H8a36?N<7E�8G?�8;<7"j>): � �

� ������� �/ /+�

U�>�kl8 >)Oa>�J�: J�d'd�8;:^mn>�JH?HBH5*"`36K6K�mn8]dH:7>h[)8AB J'5736?�b =�" 8AK6K � �W?�>�"c? J�d'd�8;:^mn>�JH?HB >)O �a=�:7d +�

�2 4 $ ( p,&+>�? dH:7>)m/=�m'36K63657<736I�:78AI;JH:7:78A?HI*8a:T8AK6=�<73Y>�?H5 � + 8 "`36K6K�:78A59<7=�<98G<7EH365�mn>�JH?HBN=)5 � 8Ak&k&=Dq � � ��=)?HB<7E�8A? 57EH>�" E�>�" = 5T36k&36K6=�:c<98AITEH?'3 )�JH8VI;=)? mn8 JH598AB <9> b)8;< 2 � � ���� ��#�� %� "`3Y<7E 59>�kl8l=)BHB'3Y<73Y>�?H=)KI*>�?HBH36<73Y>�?H5�36?�-�EH8;>):78Ak q � q �

� � � � ��� � ��� ����� � $ � ���� � @ �� B � & � *�� � �����&� ��� �+�� �%���/� 0��� � 2 � �%�23#� � � ���.�� � �+$ �����

�� �

�� � � ��� ������� � ������ � � ���/� ����#�� & ����

� @ �� B %�������

���� ��� � @ q � � B

� $ +� ��� � � $ � � � � � ���`g � �.��� & �/�,"������ 1 �+�� �������10 *�#� � � � ��� ��* � 4-�E'365�mn>�JH?HBCE'=)5`= ?H36I*8ad'E�LW5736I;=)K+36?�<98;:7dH:T8;<7=�<73Y>�?�� %�OP36<�<7=��)8A5S>�?�8R598AI*>�?'B <9> � J'kld B�>�"`? � �

kl8;<98;:T5 O :7>�k � ��<7E�8A?�"j84=�:78S<9:T=A[)8AK63 ?�bR=�<�=R:T=�<98c>)O � �Gkl8;<98;:T5 dn8;:j598AI*>�?'B B'J�:T36?�bf<7E'=�<�3 ?�<98;:7[�=)K �+ E�8A?�" 8Rkl>,[)8Gd'=)57<c59>�kl8Gd�>�5T3Y<73Y>�?�� ��"j8V=�:78G<9:T=h[)8AK636?�b^=�<`<7E�8G=h[)8;:T=�b)8l59dn8;8AB � �lB�8;<98;:TkD36?�8AB

q,�

Page 50: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

m�L >�J�:&57<7=�:7<736?�b dn>�36?�< � � �%O_>):&<7EH8C36?�<98;:T[ =)K � UW36?'I*8 � 365l?H>�?HB�8AI*:78A=)573 ?�b �jJH5T36?�b ��� =)5&>�J�:8A59<736kD=�<98AB%59dn8;8AB%JH?HBH8;:78A59<736k&=�<98A54>�JH:a=)I*<7JH=)K 59dn8;8AB "`EH8A? d'=)575736?Hb � ��-�E�8&36?�<98;b):T=)K�I*>�kld/J�<98A5<7E�8l<736k&8V<9> b)8;<G=)K6KP<7E�8 "�=AL <9> �;8;:7> 36O "j8^JH598 ��� =)5f>�J�:G36?'59<7=)?�<7=)?H8;>�JH5f59dn8;8AB "`E�8A? d'=)5T5736?�bdn>�573Y<73Y>�? � �NUW36?HI*8l>�J�:f8A57<736k&=�<98&>)O�>�J�:G57d�8;8AB 3 5aKY>�" @ >�?%=A[)8;:T=�b)8 B � >�JH:a8A59<736k&=�<98D>)Oj>�J�:G<736kl8"`36K K/mn8fEH3Yb�E ��b�3Y[�3 ?�bl=)?CJ�dHdn8;:�mn>�JH?HB >�? <7E�8R=)I*<7JH=)K 8('Wd�8AI*<98AB <736kl8 �

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

% ?]<7E'3654598AI*<73Y>�?��9" 8 dH:78A598A?�<4>�J�:aKY>�"j8;:fmn>�JH?HB'5`>�? :7>�JH<736?�b � + 8DI*>�?H5T36B�8;:Sb):78;8AB�L :7>�J�<736?�bN36? =

b):T=�d'E�8AkRmn8ABHB�8AB�36?�= K636?�8 "`E�8;:78 8A=)ITE ?H>�B�8N365 I*>�?H?�8AI*<98AB <9> 36<75V3 k&kl8ABH36=�<98N?�8A3Yb�E�mn>):T5 =)?HB

<9> kRJ'KY<73Yd'KY8RKY>�?�b��MBH3657<7=)?HI*8V?H8A3Yb�E�mn>):T5SITEH>�598A? =)I;I*>):TBH36?Hb^<9> =�/�'W8AB K 36? � BH3659<9:"3Ym'J�<73Y>�? � + 8 b�3Y[)8

KY>�"j8;: mn>�JH?HBH5PO >): b):78;8ABHLl:7>�J�<736?�bGO_>): ���� K63 ? �RBH3 59<9:T3Ym'JH<73Y>�? 57=�<73659O L�3 ?�baI*8;:7<7=)36?^dH:7>)dn8;:7<73Y8A5 @ -�E�8 �>):78Ak q � q:B � + 8S>�?HKYLlb�3Y[)8S=Gm':T3Y8;O 36?�<7JH3Y<73Y>�?l>)O <7EH8cdH:T>�>)O E�8;:784=)5j<7E�8cm/JHK �V>)O+<7E�8 " >): � "�=)5�B�>�?�8m�L^<7E�8RI*>��M=)J�<7E�>):c=)?'B <7E�8GB�8;<7=)3 K65�=�:78amn8;L)>�?HBN<7E�8R57I*>)dn8f>)O <7E'365�BH3657578;:7<7=�<73Y>�?��

+ 8=" >�JHK6B K63 �)8j<9>fb)8;< K6>�" 8;: m�>�J'?HBH5 >�? <7E�8�dH:7>WI*8A575 B�8A57I*:"3Ymn8ABR36? � 8Ak&k&=aq � � ��3 ?V=)B'BH3Y<73Y>�?R<9>J�dHdn8;: mn>�JH?HBH5��W=)?HB " 8 "`36K6K�?�>)<�?�8AI*8A575T=�:T36KYL^m�8f=�m'K68S<9>lb�J'=�:T=)?�<98;8G<7EH=�< ��� ��365�=l?�>�?HB�8AI*:T8A=)5736?�bO JH?HI*<73Y>�?D>)O�� � e J�< " 8 "`36K6K�59<73 K6KHJH598c<7E�8457=)kl8Sm'=)5736I�3 ?�<7JH36<73Y>�? g -`E�8c=h[)8;:T=�b)8a59dn8;8ABD=�< "`EH36I"E�" 8d'=)575 � 365f=�<akl>�59<f<7E�8&kD=�'W36kVJHk =A[)8;:"=�b)8^59dn8;8AB >)O�=)?�L � J'kld <7EH=�<f<7=��)8A5GJH54d/=)59< � � + 8DI;=)?/'?HB]<7EH365Sk&=�'�36kVJHk 57d�8;8AB m�LC<7=��W36?�b <7E�8lk&=�'W3 kRJHk >h[)8;:a=)K K ��� �(�+JH?HO_>):7<7J'?H=�<98AKYL ��<7EH365Sk&=ALb�3Y[)8SJH5�<9>�>RK6=�:Tb)8`=)?D8A57<736k&=�<98 � % ?H59<98A=)B�� "j8SITE�>�>�5984=f<7E�:78A57EH>�K6B�� O_>): �957E�>):7< � � J'kld'5���I*>�k&d'J�<98

<7E�84k&=�'�36kRJ'k�59dn8;8AB^>)O�57E�>):T< � JHkld'5j>)O�=�<�kl>�59<�� O_>):�=)K6K � m�8;<7"j8;8A? � =)?HB � -�� �W=)?HB^E'=)?HBHKY8

<7E�8 @ E�>)dn8;O J'K6KYL :T=�:78 B`KY>�?�b � JHkld/5�>)O kl>):T8R<7EH=)?�� m�LCI*>�?HBH3Y<73Y>�?'36?�bD=�b�=)36?'59<c<7EH8Ak �4UWJHm � 8AI*<c<9>

<7EH365fI*>�?'BH3Y<73Y>�?H3 ?�b ��"j8&I;=)? B�8 /'?�8l=)?%J�d'd�8;:Smn>�JH?HB � � >�? <7E�8&=h[)8;:T=�b)8^57d�8;8AB d/=)575736?�b � � =)?HBJH598f8A5T598A?�<73 =)K6KYLD<7EH8G57=)kl8G3 ?�<98;b):T=)K�=)5�36? @ q � � B�<9>&b)8;<`=&KY>�"j8;:cmn>�JH?HB >�? <7E�8a<73 kl8 �

+ 8a?�>�" b�3Y[)8f=lKY>�" 8;:�mn>�JH?HBD>�?N<7E�848('�dn8AI*<98AB <736k&8c<7=��)8A? m�LDb):T8;8AB�LD:7>�JH<736?�bV>�? = :"=)?HB�>�k

b):T=�d'ED8AkGmn8ABHBH8AB&36?&=aK 36?�8 � � =)ITE ?�>WB�8�36?l<7EH8`b):T=�d'EDEH=)5�8('Wdn8AI*<98ABD>�J�<��MBH8;b):78;8S=�< kl>�59< �=)?HB^365=)K659>lI*>�?H?H8AI*<98ABN<9>&3Y<75�36k&kl8ABH3 =�<98S?�8A36b�E�mn>): >�?N8A3Y<7E�8;:�5736B�8 � + 3Y<7E � ?H>�B�8A5�36? <7E�8fkl8;<9:"36Ic57d'=)I*8 �

" 84I*>�?'5736B�8;: <," >l[ =�:"36=)?�<75 >)O#<7E�8cb):T8;8AB�LD:7>�JH<736?�b =)KYb)>):T3Y<7EHk =)?HBNB�8;:T36[)8SKY>�"j8;:�mn>�JH?'BH5�O >):�<7E�8Ak

8�)�JH=)KW<9> � @ KY>)b � � �(@ � KY>)bjKY>)b �"B B =)?HB <9> � @ KY>)b � � �(@ KY>)bjKY>)b��"B B ��=)5�59<7=�<98ABD36? -�E�8;>):78Ak q � q ��FH>):K6=�:7b)8 [�=)K6J�8A5S>)O ��+=NKY>�" 8;:fmn>�JH?HB]>)O�� @�� ���

�� ���B`>�? <7E�8 " >):T59<��MI;=)598l:T>�J�<736?�b <736kl8lI;=)? mn8VBH8;:T3Y[)8AB

q*�

Page 51: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

[)8;:7L 5736k&d'KYL �W=)5�O >�K6KY>�"c5 �

� � � � ��� � � � ��*@ KY>)b � � ��� & � p '�� ' �)4"� $ +� *���������-2 ���(." ��/��� ��� ��#(� � � � ��� ����-� ��#(� �/�10

��� � � 0 �%� ��$ ,��# � �� ��,��*'����#(� ���10-$ �������( +� �+ �� �+$)� � � ��$ � � � & ��,� � � � � @ �� � ��� � �

B 4

� ������ � + 3Y<7E `K 36? �W5PO_>):j8A=)ITE ?�>�BH8 � " 8cI;=)?&:T8A=)ITEN=�<jkl>�57< ��4?�>WB�8A5j=�<j59<98;d�� ��1c575TJHk&36?�b

<7EH=�< <7E�8Nk&36?H3 kRJHk <736kl8 <9>]:78A=)I"E =)K6K�� ?�>WB�8A5V365 - � �� � � � -�EH3 5ab�3Y[)8A5 = KY>�" 8;: mn>�JH?HB%>)O� @�� ���

�� ���Bj>�? � �

F�>):aI*>�?'59<7=)?�<f[�=)K6J�8A5S>)O ��n<7E�8lKY>�"j8;:4mn>�JH?HB 365 � @ KY>)b � � � KY>)b KY>)b �"B ��"`E'36ITE 365457J�m'57<7=)?�<736=)K KYLEH3Yb�EH8;:^<7EH=)? <7E�8 <736kl8 �@ K6>)b �"B&<7EH=�< I;=)? m�8]>)mH<7=)36?�8AB m�L m'JH3 K6BH36?�b =�<9:78;8 @;"`EH3 ITE :78�)�J'3Y:78A5B�8;dn8A?HB�8A?'I*8&36? <7E�8 BH3659<9:T36m'J�<73Y>�? >�? K 36? �W5?B � -�E�JH5f<7EH8DKY>�" 8;:Vm�>�J'?HB 57E�>�"`5G59>�k&8D>)O�<7E�8DI*>�57<7536?HEH8;:78A?�< >)O4=)5757JHkD36?�b 36?HB�8;dn8A?HBH8A?HI*8 =)?'B 59L�kDkl8;<9:7L�m�8;<7"j8;8A? =)K6K�?�>WB�8A5l36?�<7E�8 b):T=�d/E�� -�E�8

I*>�59<�>)OP59LWk&kl8;<9:7L 365�:78ABHJ'I*8AB��HE�>�" 8;[)8;:��HO >):`K6=�:Tb)8;: g "`36<7E � � @ KY>)b �"B ��>�?HK6L^KY>)b K6>)b � O =)I*<9>):"5598;d'=�:"=�<98a<7E�8GI*>�59<75`>)O 59L�kDkl8;<9:T36I4=)?HBC=)57L�k&k&8;<9:T36If59>�K6JH<73Y>�?H5 �

+ 8DI*>�?'5736B�8;:f<7"j>C[�=�:T36=)?�<75f>)O <7E�8lb):78;8AB�L :7>�JH<736?�b =)KYb)>):T3Y<7E'k � + 3Y<7E�>�JH<aKY>�5754>)O b)8A?�8;:T=)K63Y<L �

" 8R=)5757J'kl8a<7EH=�<c<7E�8a<7=�:7b)8;<S>)OP<7E�8R598A=�:"ITE 365�K6=�mn8AKY8AB p � � % ? � ��� � �� ��� �.<�� � � � � � ��� � < �/<7E�8

=)KYb)>):T36<7EHk ?�8;[)8;:G<9:"=A[)8;:T598A5V=CK63 ? �C<7EH=�<&" >�JHK6B <7=��)8 3Y<fd'=)59<R3Y<75f<7=�:7b)8;< � U�>C3YO <7E�8&=)KYb)>):T3Y<7E'k 365

I;J�:7:T8A?�<7KYL =�< �*@ � '0p6B4=)?'B 3654<9:7LW36?�bN<9>C:78A=)I"E p ��3Y< "c36K6K kl>h[)8^<9> <7E�8&?�>WB�8 � �� "c3Y<7E <7E�857k&=)K KY8A59<a?�>�? � dn>�5736<73Y[)8lK6=�mn8AK � @ 1 5T36k&36K6=�:f=)I*<73Y>�? 3654<7=��)8A? O_>): � � p � B�%�? � ����� �� � � � < � � ���

�� � ��� �4< ��<7E�8l=)KYb)>):T36<7EHk ITE�>�>�598A5R= K636? �C<7E'=�<ak&36?H36kD3��;8A5`<7EH8&BH3659<7=)?HI*8l<9> <7EH8l<7=�:7b)8;<�� "c3Y<7E�>�J�<

:78;b�=�:TB <9> "`EH3 ITE 5736B�8a>)Oj<7E�8V<7=�:7b)8;<4<7E�8 >)<7E�8;:48A?HB >)Oj<7E�8 K636? � 365 � %�? <7EH3 5cI;=)598 � <7EH8V=)KYb)>):"3Y<7EHk

"`36K K#kl>,[)8D<9> = ?H>�B�8 � �� "`E�>�578&K6=�mn8AK E'=)5f<7E�8&57k&=)K KY8A59<f=�m'59>�K6JH<98l[ =)K6JH8 �9"`3Y<7E <73Y8A5fm':7> �)8A?=�:7m'36<9:T=�:T36KYL � �4?�8 �M5T36B�8AB^b):78;8AB�L :7>�J�<736?�b I;=)?Nmn8c<7EH>�J�b�E�<�>)O =)5�kl>WB�8AK636?�bV=)KYb)>):T3Y<7E'k&5 >�? =Rb):"=�d'E"`3Y<7E =Dmn>�JH?HBH=�:7L*"`E�8A? <7E�8G<7=�:7b)8;<cK6368A5�>�?C<7E�8Gm�>�J'?HBH=�:7L �W>):c=)K6b)>):T3Y<7EHk&5 "cE�8;:78G=)K6K K 36? �W5�d�>�3 ?�<

36?N>�?HK6L^>�?�8aB'3Y:78AI*<73Y>�? @ =)5c36? \�E�>):TB $ �*� o*& B ��4JH:c:78A5TJHKY<75S=�:78l59<9:7>�?�b)8;:4O >):f<7E�8R>�?H8 �M5736B�8AB I;=)598l<7EH=)? O >):S<7EH8R<7"j>��M573 B�8AB I;=)598 � + 3Y<7E]>�?�8 �

5736BH8AB^b):T8;8AB�LD:7>�JH<736?�b �!"j8f57EH>�" = KY>�"j8;:�mn>�JH?'BD>)O � @ KY>)b � � �(@ KY>)bjK6>)b �"B B >�?N<7E�84<736kl84<9>l:78A=)I"EpCO :7>�k = dn>�36?�<aI"E�>�598A?�JH?H3YO >):Tk&K6LCO_:T>�k <7E�8D:"=)?�b)8 � <9> � <7EH=�<R=�d'd'K63Y8A54<9> =)?�L%K63 ? �]BH3 59<9:T3Ym'J �<73Y>�?��VF�>):G<7"j>��M5T36B�8AB :7>�J�<73 ?�b � "j8&5TE�>�" = KY>�"j8;:Gm�>�J'?HB >)O � @ KY>)b�� � �(@ � KY>)b KY>)b �"B B � "`36<7E 59>�kl8

��� .�29k9kQRK�./0 j 2�0EDF>a7R.19?2�J;. 5<2N�.-56.87HNVmL46DV0;.-lM.1J;9?2DF7%4<7R.1Da0;4r@ m:.82�= j DF>a7B.OCE460 j 460;9E5<2N�.15 �

q*-

Page 52: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

h ��� |��Bv_,��Y,�� ��Oh v � �� � �A|��av[,��A,�� ��/h v � �� � ����� ��� ����� � � � � ��� ��� ���

h � ����� h

� �� � ���FP3Yb�J�:78Vq � o�g 243 %n8;:78A?�<cK636? ��5�=�:78VITE�>�578A?�"`E�8A? b)>�36?�b&O :7>�k <7E�8G59>�J�:"I*8G?�>WB�8a<9>�"�=�:TBH5c<7E�8a<7=�:Tb)8;<?�>WB�8 �HB�8;dn8A?HBH3 ?�bR>�?�"`E�8;<7E�8;:�<7EH8fb):78;8AB�LN:7>�J�<736?Hb J'598ABC365�>�?�8 �M5T36B�8AB >):�<7"j>��M5T36B�8AB��

I*>�?H59<9:"=)36?�<75c>�?C<7EH8RBH3657<9:T3Ym'J�<736>�?�� + 8RI*>�? � 8AI*<7J�:T8R<7EH=�<c<7E�8A598VI*>�?H59<9:T=)36?�<75S=�:78RJH?'?�8AI*8A5757=�:7L ��=)?HB

<7EH=�< � @ KY>)b � � �(@ KY>)bjKY>)b��"B B 365�<7E�8aI*>):T:78AI*<cKY>�"j8;:`m�>�J'?HBNO_>):`m�>)<7E k&>�B�8AK 5 �

� 2 � ��� � � � � +��� � - � ��� &��� 0)�����$ � $ �%� -��� & ��"��� "2 6�� �2 � ��� ��$ "�/��� 01 +� �+4 � +� ���*+���, � �+$ � �� � +� � * �/��� 01 +�'� ���+ ��� ��$ �%� �� ���� & �� ��� & +��� 23� *���� � ��� � ������� � � �� ��� ��� ��#(� � ���(���# � �+ � ��� � ��$ �����(��� �������� ��$ � � � ��� - � ��� ��� ��+ +��� ��� �� ���� ��� � ��� 2 +�����5 & � $ � � ���#(� 0&� �/�10�23�/�(. � � � ��! *+���' ����$"! � �#�14 � +� � � $ � � � & 4#$����(��� 1 ��''0)� � � �������#(� ���10-� �� �+ � � �����

���%� ��� ���� ���10 ����������� ��$ ���+ �� #��� *+������23� *���� � ������� � ��� +�� ����10 � p 4& � ��$ ��� � ��� & -��� #� ���10 � ��$ ����( �5� � � ���� � ���� ����$ p � �

�(' K6>)b � �nK6>)b KY>)b �*) � @ q � o:B

& � ��$ � � � � ��� & � -� ��#(� �/� 0�� ��$( ����� � � � �/�� � �"�� � �+$ p �/�

� ' K6>)b � � � K6>)b KY>)b � ) �

@ q � q:B

��� � �5� & � �/� 0 �� +�� � �+� ��� � 2 #� ����10, ��$+!'��� � � � ��$���� �6��=����2 � � � �-, � � $ ��� � � � �/� #����� � )�2 �

� � � � � � �������� +� ��� � 6� ��#(� p � ��� � � � ��$ ��$��� �� �� � � ��� � 2 #� & ����� � � #2 ��.! � !0/"��� ����� � �/�+

���� & �� ��� & +��� 4

+ 8C=)K657>]mn8AK63Y8;[)8 <7EH=�< <7E�8Nmn>�JH?HB�I*>�?�<73 ?�J�8A5V<9>%E�>�K B 36?�EH3Yb�EH8;:VBH3 kl8A?H573Y>�?'5a<7EH=)? � m'J�< =5736k&d'KY8�8('W<98A?H573Y>�?^>)O <7E�8SdH:7>�>)O >)O4-�E�8;>):T8Ak q � qV365j?�>)< 5TJ�$DI;3Y8A?�< <9> dH:7>,[)8c<7EH8S57=)k&8 � -�EH365jKY>�" 8;:

mn>�JH?HBD8('�d'K =)36?H5 "`E�L&kl>�59< >)O+<7E�842 - 59LW59<98Ak&5 b�3Y[)845736kD36K6=�:�dn8;:7O >):Tk&=)?HI*8 "`3Y<7E �@ KY>)b��"B K636? ��5dn8;:�?�>WB�8aJH5736?HbVb):T8;8AB�LN:7>�J�<736?�b � ��21 46=-.1J;>8m43 � 65 469�2D�.1tB=-.-uB0;46>MDL0 j 2�0�J;.87RQR=-.-9�0 j .?9kuF2=-.O=1>M9*0�0;>87�9 �;: NVm�0 j ./=-56. �G.iJ�QF9k.?>@ NFQR0k0;.iJ=<Fm�J;>QR0;46DFly46D0 j ./5 2�9*0/9*032�lM.-9~>@�0 j . 9k.82�J;= j �

��p

Page 53: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� ��� � � �� �� ���� � � !-������n� �B�L!������� *

% ?D<7EH3 5j598AI*<736>�?��!"j84dH:78A578A?�<�J�dHdn8;: mn>�JH?'BH5�>�? <7E�84?�J'kGmn8;: >)O+:7>�J�<736?HbRE�>)d'5 O >):�=R598A=�:"ITEN>)dn8;:T=��

<73Y>�? 36? =l5T36kld'KY84kl8;<9:T3 If59d'=)I*8)g =l>�?H8 �MBH36kl8A?H5T3Y>�?H=)K/:78A=)K+K636?H8 ��-#>&5736k&d'K63YO Ll<7E�8;>):78;<736I;=)K�=)?H=)KYLW57365��

<7E�8G?H8;<," >): � 365�598;<`J�dC=)5`O_>�K KY>�"`5Ag

� �c>WB�8A5l=�:78 KY>WI;=�<98AB�=�<lb):"36B dn>�36?�<75R>�?�<7E�8N:78A=)K�K636?�8 � � =)I"E ?�>WB�8 � 3 5VI*>�?'?�8AI*<98AB�<9>%3Y<75?H8A=�:78A59< ?�8A3Yb�E�mn>): >�?V8A3Y<7EH8;:P5T36B�8 ��=)?HBV<9> KY>�?Hb��MBH3659<7=)?HI*8�?�8A3Yb�E�mn>):T5 � � 8;<��^mn8 <7E�8�?�J'kGmn8;:

>)O ?�>WB�8A5 �

� + 3Y<7E �$ � � KY>)b � & � <7E�8&K6>�?�b��MBH3659<7=)?'I*8 ?H8A3Yb�E�mn>):T5S=�:78&I"E�>�598A?%=)54dn8;:4<7E�8&36?�[)8;:T598 dn>�" 8;:��K =�"�B'3659<9:T3Ym/J�<73Y>�? "`3Y<7E 8('Wdn>�?�8A?�< � � 3 � 8 � � 8A=)ITE�KY>�?�b��MB'3659<7=)?HI*8D?H8A3Yb�E�mn>): ��365aI"E�>�598A? "`3Y<7Ed':7>)m'=�m'36K 3Y<MLD3 ?�[)8;:T578AKYL^d':7>)dn>):7<73Y>�?H=)K�<9>&<7E�8RBH3659<7=)?HI*8fmn8;<7"j8;8A? �^=)?HB � � F�>):TkD=)K6KYL �

@ : $ � 365�=l?�8A3Yb�E�mn>):�>)O �,& � � � �2@ � � �0B�������� � � � �$@ � � � / B �"cE�8;:78 �2@ �

�� Ba365f<7E�8&BH3 59<7=)?HI*8lmn8;<," 8;8A? ?�>WB�8A5 � =)?HB ��36? <7E�8Dk&8;<9:T36Il59d'=)I*8 � + 3Y<7E �

@ K6>)b ��� � & � p ' �:' � �1" 8^JH598 = B�8;<98;:"k&36?H3657<736I K636? �W36?�b 59<9:T=�<98;b)L "`EH36I"E%365f8('Wd'K6=)36?H8AB%36?

BH8;<7=)36K+K6=�<98;:`3 ?N<7EH365�598AI*<736>�?��

� !`>�J�<736?�b 365lBH>�?�8Nb):78;8ABH36KYL m�L O_>):�"�=�:TBH3 ?�b <7E�8 kl8A5757=�b)8C<9> <7EH8C?�8A3Yb�E�m�>):lI;KY>�578A59<l<9> <7E�8

<7=�:Tb)8;<c?�>WB�8 �

+ 8V=)?H=)KYL �;8a<7E�8adn8;:7O >):Tk&=)?HI*8GO_>):�<7EH8GI;=)598A5c>)OP=D5736?�b�KY8aK6>�?�b��MBH3659<7=)?'I*8aK636? � =)?HB >)O kRJ'KY<73Yd'KY8

K636? ��5��W36?N=lO =)36K6J�:T8 � O_:78;84?�8;<7"j>): � 36? <7EH3 5�598AI*<73Y>�?��H=)?HB 3 ? =l?�8;<," >): ��"`3Y<7E K636? �D=)?HB ?�>WB�84O =)3 K6J�:78A5

36?N<7E�8R?�8('�<�578AI*<73Y>�?��

� ���*��� ����(*$+�0& �0/1(*$ " � ���! ,�(�� & ����(

+ 8�/H:T57<V=)?H=)K6L �;8 <7E�8 ?�JHkRm�8;: >)Oc:7>�J�<736?�b E�>)d'5VO >):&= 598A=�:TITE 36? =)? 3 B�8A=)K63��;8AB�kl>WB�8AK "`3Y<7E�?�>

O =)36K6J�:78A5 =)?HB."`36<7E >�?H8 K6>�?�b��MBH3659<7=)?'I*8 K 36? � dn8;: ?�>�BH8 � �aKY8A3 ?�mn8;:7b$ (*( &adH:7>,[)8AB <7EH=�<�"`3Y<7E � �

?�>WB�8A5c8AkGmn8ABHB�8AB]=�<cb):"36BCdn>�36?�<75`36?]= ���MBH36kl8A?'573Y>�?H=)K b):"36B���"c3Y<7EC8A=)I"E ?�>�BH8 � I*>�?H?�8AI*<98AB <9> 3Y<75

36k&k&8ABH36=�<98�?�8A3Yb�E�m�>):"5 =)?'B >�?�8�KY>�?�b��MBH3657<7=)?HI*8�?�8A3Yb�E�m�>): �DI"E�>�598A? "c3Y<7EVdH:7>)m'=�m'3 K63Y<MLfd':7>)dn>):7<73Y>�?H=)K

<9> � � �2@ � � � B� ��=)?�LGk&8A5757=�b)8�I;=)?Vmn8 B�8AK 3Y[)8;:78ABG3 ?G<736k&8jdn>�KYLW?�>�k&36=)K�36?GK6>)b �NJH5736?�b`b):78;8AB�LG:T>�J�<736?�b �

� �

Page 54: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

+ EH36KY8V<7EH365S:78A57J'KY<SI;=)? mn8lBH3Y:T8AI*<7KYL =�dHd'K 3Y8AB <9>N>�J�:ak&>�B�8AK1"`36<7E ��?�>WB�8A5�� � � � �#=)?HB � � <9>b�3Y[)8 � @ KY>)b � �"Bj:7>�J�<73 ?�blE�>)d'5�dn8;:�598A=�:TI"E���"j8Gb)8;<`=lkRJ'ITEC573 kld'KY8;: dH:7>�>)O#JH5T36?�b � 8Ak&k&=&q � � � + 836?HI;K JHB�8S<7E�8adH:7>�>)O�mn8AKY>�" O >):`I*>�kld'KY8;<98A?H8A575 �

� 2 � ��� � � � � +� ��$-��� & � � ����� �5� � "� � � ��� ��� �� �� )� �� �� 0�$(� ��� � � )� ��/��� �� �� �� � �� �2 ���10 � ��/��� �� �� � +� 0 $(��� ����$�%�+ +� � � ��$ ��� �6��=����2 � � ���/�&� ����+ +2 ��� �����(����� � ���� 2 � �,����� ��/��� � �� *�� ��� ��$(

��� 1 4 � $ +� ��$ ' ���( � � ��#� � +� ��* � ��#(� �/�10 $ ����� �( +� �+ � � �+$)� � ����$ � � � & �� �/� � @ �"B)� � @�� ��B 4

� ������ � � 8;< � � mn8�<7E�8`8('�dn8AI*<98ABD?�JHkRmn8;: >)On?H>�B�8A5 I*:7>�57598AB "cE�8A?l<7E�8`k&8A5757=�b)8c3 5 =�<j=a?�>WB�8�G<7EH=�<`365�=�<`=DBH3659<7=)?HI*8 � O_:7>�k <7E�8aB�8A59<736?'=�<73Y>�? � ��\�KY8A=�:TKYL � � � 365�?�>�? �MB�8AI*:78A=)5736?Hb �

p �� �

� � � � � �

FP3Yb�J�:78Vq � q�g�1cK6K�<7E�8Gdn>�575T3Ym'KY8f?�>WB�8A5�<7E'=�<SI;=)?]mn8a:78A=)ITEH8AB]O :7>�k <7E�8V57>�J�:TI*8R?H>�B�8 �G8A?]:7>�J�<98R<9><7E�8GBH8A59<736?H=�<73Y>�? ?H>�B�8 � �

F�:7>�k FP3Yb�J�:78Vq � q ��" 8R598;8R<7EH=�<`<7E�8R:7>�J�<736?Hb&=)KYb)>):T3Y<7EHk <9:T=A[)8;:T578A5c<7EH8GKY>�?�b��MBH3 59<7=)?HI*8GK63 ? �^O :7>�k �

3YO�3Y<S8A?HBH5436?.@ � � � �&B�+>)<7EH8;:�"`36598V<7E�8l57E�>):T<��ME�>)d K636? �N<9>N<7E�8l36k&kl8AB'36=�<98R?�8A36b�E�mn>):4I;KY>�598;:f<9>N<7E�8B�8A59<73 ?H=�<73Y>�? ��365�<7=��)8A?�� -�E�J'5 "j8ab)8;<;g

� � � � � � �� 4 #

� -� � � � � �

�� � �� 4 #� - � ��� � � � �

� 4 �

� - � ��� � � � � �� 4 �

� �

"`E�8;:T8

� � �� � � � �

�# -

��� � � � �

�#

� �� � � � -��

� � � �' o��

-�E�8A?

� � � �� $ � - p$-��

�� � � -����� � � � � � � & �

�� �

�o��

��o

Page 55: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

\�KY8A=�:"KYL � � � 365`?�>�? �MB�8AI*:78A=)5T36?�b �H=)?HB <7E�JH5�J'5736?�b � 8AkDk&=&q � � ��" 8ab)8;<� @ �"B % �

� � ��� �

� �

� � �o��

��� � @�� �

�B

-�E�JH5 "j8�598;8 <7EH=�<�"`3Y<7Ea<7E'365#B'3659<9:T3Ym/J�<73Y>�?��A<7EH8 ?�JHkRm�8;:#>)OH:7>�J�<73 ?�bcE�>)d/5�dn8;:P598A=�:TITE 365 KY>)b�=�:T36<7EHk&36I

36?N<7E�8R?�JHkRmn8;:�>)O ?H>�B�8A5 �

� ���*��� � ��� -� � �0& �0/1(*$ " � ���! ,�(�� & ����( ��

-�E�8N?�8('W<l36?�<98;:T8A59<736?�b )�J�8A59<73Y>�?�365 "`E�8;<7EH8;: " 8 I;=)? :78ABHJ'I*8^<7E�8 ?�JHkRm�8;: >)Oc:7>�J�<736?�b E�>)d'5Vdn8;:

598A=�:TI"E m�L JH5736?Hb%kRJHK6<73Yd'KY8 KY>�?�b��MB'3659<7=)?HI*8 K 36? �W5l36?H59<98A=)B >)O4= 5736?�b�K68 >�?�8 �.%�? =)B'BH3Y<73Y>�? <9>�36k��

dH:7>,[)8Akl8A?�<43 ? dn8;:7O >):Tk&=)?HI*8 �nkVJHKY<73Yd'K68aK636? �W5`=)K657>^b�3Y[)8V<7E�8Vmn8A?�8 /H<`>)Oj:7>)m'JH57<7?�8A575`3 ? <7E�8VO =)I*8V>)O

O =)36K6J�:78A5 � + 8 /H:T59<PKY>�> �G=�<�36kld':7>h[)8Akl8A?�< 36?Rd�8;:TO_>):TkD=)?HI*8jm�LGJH5T36?�bckVJHKY<736d'KY8jK 36? �W5�36?R<7E�8�?�8;<," >): �

=)?HB <7E�8A?%b)> >�?%<9> =)?H=)KYLW57365f>)O�O =)36K6J�:T8A5a36? U�8AI*<736>�?�q ��� � + 8NI*>�?H5736BH8;:RBH3 %n8;:78A?�<G59<9:T=�<98;b�368A5GO >):b)8A?�8;:T=�<73 ?�bCK636? �W54=)?HB :7>�J�<73 ?�b BH8;d�8A?'BH36?�b >�? ?�J'kGmn8;:f>)O�KY>�?�b��MBH3657<7=)?HI*8lK636? �W5 l36? <," >C:T=)?Hb)8A5;g

�$ � � KY>)b � & =)?HB �,@ KY>)b � � � � & ��p�' � ' � � � 8;<aJ'5 /H:T59<fI*>�?H573 B�8;:4>�J�:f:T=)?HB�>�kD3��;8AB 59<9:T=�<98;b)LO >):`K636? �^BH3659<9:T36m'J�<73Y>�? "`E�8A? � $ � � KY>)b�� & �

� q � qo

FP3Yb�J�:78Gq � ��g � JHK6<73Yd'KY8A@ B�KY>�?�b��MBH3657<7=)?HI*8aK636? �W5 O_>):`8A=)ITE ?�>�BH8 � �

% ?�$ ( � & � �GKY8A36?�m�8;:TbCJH598A5V=Cb):7>�J�d�59<9:TJ'I*<7J�:78&<9> b)8;<�� @ KY>)b �"Bf:7>�J�<736?Hb E�>)d'5GO_>):V<7E�8NI;=)598^>)O= dn>�KYLWKY>)b�=�:T3Y<7E'k&36IN?�J'kGmn8;:l>)OfK636? �W5 � c>�" 8;[)8;:��`E�8]JH598A5&= kl>):78 I*>�kld/K636I;=�<98AB =)KYb)>):"3Y<7EHk O >):

:7>�J�<73 ?�b "`EH36K68 " 8G>)m'<7=)36? <7E�8V57=)kl8amn>�JH?HB @ O >):`<7EH8RI;=)598R>)OP=^K636?�8 BjJH5T36?�bl>�?HKYL b):78;8AB�L :T>�J�<736?�b �+ 8VdH:7>h[)8 <7EH=�< "`3Y<7E � $ � � KY>)b � &PKY>�?�b��MBH3 59<7=)?HI*8RK 36? �W5��H<7E�8R8('�dn8AI*<98AB ?�J'kGmn8;:`>)O :T>�J�<736?�b E�>)d'5dn8;:c598A=�:"ITE 365 �@ K6>)b�� � � B � -`E�8am'=)573 Ia36B�8A=DO_>):c<7E�8GdH:T>�>)O I*>�kl8A5cO_:T>�k �aKY8A3 ?�mn8;:7b * 5�k&>�B�8AK $ (*( & �

��q

Page 56: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

�aKY8A3 ?�mn8;:7b I*>�?'5736B�8;:T5V= <," >��MBH36kl8A?'573Y>�?H=)Kjb):T36B�"`3Y<7E�?�>WB�8A5V=�<V8;[)8;:TL b):T36B dn>�36?�< � -`E�8^:T>�J�<736?�b

>)O�<7E�8Dkl8A5T57=�b)8^365GBH3Y[W36B�8AB 36?�<9>Cd'EH=)578A5 �^1 kl8A575T=�b)8^365a5T=)36B <9> mn8&36?%d'EH=)598��]3YO <7E�8DBH3 59<7=)?HI*8O :7>�k <7E�8VI;JH:7:78A?�<S?�>WB�8R<9> <7EH8VB�8A57<736?H=�<73Y>�? ?�>WB�8R365cmn8;<," 8;8A?%o�� =)?HB o�� ��� � -�E�8;:78V=�:78l=�<fkl>�59<@ KY>)b�� - � BS57JHITE d/EH=)598A5 � c8 dH:7>,[)8A5f<7EH=�<4<7E�8 8('�dn8AI*<98AB <73 kl8V57d�8A?�<f36?]8A=)ITE d'E'=)598l3654=�<akl>�59<�@ K6>)b �"B �n<7E�J'54b�3Y[�3 ?�b^= <9>)<7=)K�J�d'd�8;:Smn>�JH?HB >)O �@ K6>)b � �"B`>�?]<7EH8 ?�JHkRmn8;:S>)O :7>�J�<736?�bNE�>)d'5SO >)::7>�J�<73 ?�b � + 8SJH598�<7EH8`57=)kl8�d/EH=)598�59<9:TJ'I*<7J�:78`36? >�JH: kl>WB�8AK ��=)?HB&>�J�: dH:T>�>)On365 =)KY>�?�bR5736k&36K =�:PK 36?�8A5 �

� 2 � ��� � � � � +� � �+$ � � & � � � ��� �5� � � � � ��� �/���� � � � "� �� 0�$(� ��� � � � ��/��� � �� � � ��

2 ���10:�� ��/��� � �� � �� 0�$(� ����� ��$ ���+ �� ���� & �( �� & ���� 23� � ����$ �� � 2 �� ��� ������ � � ��$���� �6��6�+�/23� � � �/�&� ����+ +2 ���� �������� � �����2 � � ��$ ����� � ��� �� �� �� *���� � ��$( ���� 1 4 � � � $ � � KY>)b � & 4 � $ +� ��$ � ���( � � � ��#��� ����*�� ��#(� ���10"$ ����� �( ��'�+ � � �+$)� � � ��$ � ���5 & ��'�/�� @ �"B)� � @ KY>)b � � � B 4

� ������ � % ? >�J�:lkRJHK6<73Yd'KY8 �MK63 ? � kl>WB�8AK �P8A=)ITE ?H>�B�8 EH=)5�^KY>�?�b��MBH3 59<7=)?HI*8^?H8A3Yb�E�mn>):T5RITE�>�578A?

"`3Y<7E%:78;d'K6=)I*8Akl8A?�< ��-�E�8&d':7>)m'=�m'36K 3Y<MLC<7E'=�< � ITE�>�>�598A5V=C?�>WB�8 ��=)5R36<75aKY>�?�b��MBH3 59<7=)?HI*8D?�8A36b�E�mn>):

365 ��� @ � ��� B � ��"`EH8;:78 � � ��� ��� ��� � �� ������ ��� ��� ���� � � � + 8 I;=)? b)8;<f=^KY>�" 8;:4m�>�J'?HB >�?]<7EH365�d':7>)m'=�m'36K 3Y<MLN=)5O >�K6KY>�"c5;g

� � @ � ��� B � � ��� @ � ��� �- @ � � Bo � � B

� � � :@ � � Bo � �

� � �� ��� @ � � B �o �

� � � ��� �o -

�o �

� � � ��� �o�� �

�Sm'578;:7[)8G<7EH=�<� � ' � �'mn8AI;=)JH598 � ' ��� � �

=)?HB % KY>)b � �cU�> ��<7E�8RdH:7>)m'=�m'3 K63Y<ML^<7EH=�< �NI"E�>�>�598A5 �=)5`36<75�KY>�?�b��MBH3657<7=)?HI*8a?�8A3Yb�E�mn>):�365�=�<`KY8A=)57<

� � � � �o � � � � � � �

o �� �

o� ,$ o �2@ �

��0B �

�& � �

� �

Page 57: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

�c>�" 57J�dHdn>�598D<7EH=�<R<7EH8 kl8A5T57=�b)8 3 5RI;J�:T:78A?�<7K6L 3 ?%d'EH=)578 � � -#>]8A?HB d'EH=)578 � =�<V<7EH365G57<98;d � <7E�8kl8A575T=�b)845TE�>�JHK6BD8A?�<98;:�= 598;< >)O#?�>WB�8A5 � � =�< = BH3657<7=)?HI*82% o � >)O+<7E�84B�8A59<736?H=�<736>�?^?�>WB�8�� ��1S5 <7E�8?�>WB�8A5`=�:T8R8AkRmn8ABHB�8ABC>�? =^:78A=)K#K 36?�8 �H<7E�8;:T8V=�:78 =�<4KY8A=)59<So��V?�>WB�8A5S36? � � ��8A=)ITE "c3Y<7EH36? BH3 59<7=)?HI*8o � ��� - o � ' o � � � >)O � � U�>&<7EH8akl8A5757=�b)8R8A?�<98;:T5 � � "`3Y<7ENdH:T>)m'=�m'36K636<ML � o � �

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

� 8;< � � mn8f<7E�8f<9>)<7=)K ?�J'kGmn8;:�>)OP59<98;d'5`57d�8A?�<�36?Nd'EH=)578 � �#-`E�8A?� � � �

� � �

� $ � � � # &%

� � �

' � � ���

�) �� �

� ���� �

�c>�" 3YO�� BH8A?�>)<98A5N<7E�8 <9>)<7=)Kf?�J'kGmn8;: >)OG59<98;d'5��c<7E�8A? � � � �� ���� � � � �c=)?HB m�L K636?H8A=�:T3Y<ML >)O8('Wd�8AI*<7=�<736>�?���" 8ab)8;< � � % @ � -�KY>)b �"B�@ ���

�� B�� �@ KY>)b � � � B �

F�>): � @ KY>)b������ & � ��p ' � ' � � "j8 JH598 = B�8;<98;:Tk&36?'3659<736IN59<9:T=�<98;b)L � + 8 :78;dH:T8A598A?�<^<7E�8

KY>WI;=�<73Y>�? >)O+8A=)ITE ?�>�BH8c=)5�=V?�JHkRmn8;:j<9>l=Vm'=)598 1 � o �H=)?HB^b)8A?�8;:T=�<98aK63 ? ��5 <9>l?�>�BH8A5j=�<�BH3657<7=)?HI*8A5� � � o � � q � � ����� � @31 � � B � �4O >): 8A=)ITE � � ��1

�1 �� ����� � 1�� �� ��� ���

� � � � -�E�J'5^<7EH8%?�JHkRmn8;:N>)ORK636? ��5

� @31 � � B 5�� � � 7 ��9 � !�>�JH<736?�bR3 5 B�>�?�8cm�LD8AK636k&36?'=�<736?�bf<7E�8Skl>�59<�573Yb�?H3>//I;=)?�< BH3Yb�3Y<�>)O�<7E�8cBH3 59<7=)?HI*8=�<S8A=)ITE 59<98;d �S1c5c<7E�8 k&=�'W3 kRJHk BH3659<7=)?'I*8RI;=)? mn8G=�<Sk&>�59< 1�� �� ��� ��� � "j8Vb)8;< � @ �"B � � @ KY>)b 7 �"B �-�EH3 5�59<9:T=�<98;b)L 365�573 k&36K6=�:�36?C59d/3Y:T3Y< <9>&<7E�8 @ ! ! =)K6b)>):T3Y<7EHk $ -)o &+8('�d'K =)36?�8AB 36? U�8AI*<736>�? o � o � o �U�>�k&8D59dn8AI;36=)K I;=)598A5V=�:78D36?'59<9:TJHI*<73Y[)8 � � 8;< � �@ KY>)b��"B �#=)?HB%K68;<a8A=)ITE�?�>WB�8&K636? � <9>]?�>WB�8A5

36?�mn>)<7E BH3Y:T8AI*<73Y>�?H5l=�<&BH3657<7=)?HI*8A5Do � � % # % o �� � �

� � � dH:7>,[�3 B�8AB ?�>WB�8A5l=�:78CdH:T8A598A?�<&=�<l<7EH>�598

BH3657<7=)?HI*8A5 � -�EH365Rb�3Y[)8A5 � @ �"B2� � @ KY>)b �"B � UW3 k&36K6=�:TK6L �#KY8;< � �@�� �4B � � 36? �W5G=�:78N8A59<7=�m'K 3657E�8AB36?Dm�>)<7E BH3Y:T8AI*<73Y>�?H5 <9>V8('W3 59<736?�bV?�>�BH8A5 =�<�BH3659<7=)?HI*8A5 � � o � q � ����� � � � � o � � � q � � � ����� � � � @�� � � � B �b�3Y[W36?�b � @ �"B)� � @ � B �#% ? O =)I*<�� � @ �"B � � @ � B "`E�8A? 1 � � � ��O >):`=)?�L /�'�8AB � � p �

� 2 � ��� � � � $ $ � �%� �� ����� 0 �� 1 � �)4 & ����$ � @31 ��� B 5 KY>)b 7 ��9 � 2 � ����$ ��� & �23�/�(. � �

��� 1 �� )�� �� ��� �� �� �� � � � o � � q � � ����� � @31 � � B � ��*���� � �+$ � � ��1 �1 �� ����� � 1�� �� ��� ���

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

��#� � +�,��*�� ��#(� �/� 0"$ ����� �( �� � ��� ��$&� � � ��$ � ��� 1 ��'�/�� @ �"B � �@ K6>)b 7 �"B 4� ������ � � 8;< � � � � � � ����� � ��mn8 <7E�8DBH3657<7=)?HI*8A54>)Oj<7EH8&57JHI;I*8A575736[)8&?�>�BH8A5a36? <7E�8l:7>�J�<73 ?�bNd'=�<7E

O :7>�k <7E�8 <7=�:7b)8;< � � "`E�8;:78 ��� 3 5N<7E�8%BH3659<7=)?'I*8 >)OV<7E�8%59>�JH:TI*8 ?�>�BH8 =)?'B � � � p � F�>): 8A=)I"E

� �

Page 58: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

���� ���� �hp

� � � ����� ��� KY>)b 7 ��� �c57JHI"E&<7EH=�< 1 ��� % �� '(1 ��� ��� � c8A?HI*8 � % �� �7�� � � '(1 � �`>�" 8A=)I"E^?�>WB�8

365�I*>�?H?H8AI*<98AB <9>&<7EH8a?�>�BH8a=�<`BH3659<7=)?'I*8 1 ��� �� �7 � � � � + 8Gb)8;<

������ � �� � 1 ��� ���1 ��� ��� �� k&>�B 1 ��� ' 1 ��� �

-�E�JH5 � B�:T>)d'5�m�L =�<`K68A=)59< � =�<�8;[)8;:7L 59<98;d � 1c5�� �$% 5 KY>)b87���9 ��"j8Gb)8;< � @ �"B)� � @ KY>)b67 �"B �

� ��� � � �� �� ���� � � !-��� �a�L!�� ���� 4

FH=)36K J�:78A5�36?&<7E�8`59LW59<98Ak I;=)?Dmn8�>)O�<7"j>V<ML�dn8A5;g � ���$&��� O =)3 K6J�:78A5��"cE�8;:78�=adn8;8;: I;=)?^I*:T=)57E���>): 23�/��.

O =)36K6J�:78A5 "`EH3 ITE =�:78 <9:T=)?H57368A?�<f59LW59<98Ak >�J�<7=�b)8A5 � + 8&B�> ?�>)<fk&=��)8&=)?�L]b�J'=�:T=)?�<98;8A5a>)Oj=)I;I*8A57573 ?�b

<7E�8 BH=�<7= "`E'36ITE 3 5D59<9>):78AB >�? = k&=)ITE'36?�8C<7EH=�<^O =)3 K65 � `>�"j8;[)8;:�� "j8 =�:78]36?�<98;:78A59<98AB 36? 578;8A36?�b

E�>�" <7E�8&?�8;<," >): � dn8;:7O_>):"k&5436? <7EH8ldH:78A598A?HI*8 >)O <7E�8A598 O =)36K6J�:78A5 � � =)I"E%598A=�:TI"E O_>�K KY>�"`54=N<9:T=)3 K#>)Ok&=)I"EH36?�8A5jJH?�<73 KH3Y< :T8A=)ITE�8A5j<7E�8cBH8A59<736?H=�<73Y>�? �1%�O =)?�Ll>)O <7EH8A598c36?�<98;:Tkl8AB'36=�<98ck&=)I"EH36?�8A5jEH=A[)8SO =)36KY8AB��

>):cI*>�?'?�8AI*<736?�bDK 36? �W5�=�:78amH:7> �)8A? �H<7E�8G598A=�:"ITE I;=)?CO =)36K � %�O#<7EH8G?�J'kGmn8;:�>)O 57JHI"ECO =)36KY8AB 598A=�:"ITE�8A5S365

57k&=)K K ��<7E�8A?�" 8fI;=)?N:78A59<7=�:7<�<7E�8SO =)3 KY8AB^578A=�:TITE�8A5 � %O�<7E�8S?�JHkRmn8;: 365 K6=�:7b)8 �W<7E�8A?�" 8fI;=)? JH598459>�kl8

57k&=�:T<�598A=�:TITE'36?�b <98AITEH?'3 )�JH8A5���O_>):�8('�=)kld'K68 ��:78 � :7>�J�<736?HbV<7EH8a598A=�:TITEC<9>&=)?�>)<7E�8;:�:T=)?'B�>�k k&=)ITE'36?�8

36? <7E�8N?�8;<," >): � >): m'=)I ��<9:"=)I �W36?�b ��>): " 8 I;=)?�8;[)8A? 59<7=�:T<V<7EH8 36?'3Y<736=)K�598A=�:"ITE 36? d'=�:T=)K6K68AK 36? <7E�8

E�>)dn8G<7E'=�<c>�?�8V>)O�<7E�8 598A=�:TI"E�8A5 "`36K6K�57JHI;I*8;8AB�� %�?]<7EH365c598AI*<73Y>�?���" 8V=)?'=)KYL �;8V<7E�8Vdn8;:7O_>):"k&=)?HI*8G>)O

<7E�8G578A=�:TITE�8A5c36?N<7E�8fdH:T8A598A?HI*8a>)OP57JHI"E O =)3 K6J�:78A5 �

�4?H8&59>�K6J�<73Y>�? 365f<9>CdH:T>h[W36B�8lO =)JHKY<f<9>�KY8;:T=)?'I*8Dm�L �� : 6 �;� ����� � � � �]=)36?�<7=)36?H36?HbC598;[)8;:T=)K I*>)d/3Y8A5

dH:7>,[�3 B�8A5&57J�:T[�3Y[�=�m'36K 3Y<ML ��=)K6K6>�"`5&K6>�=)B m'=)K6=)?'I;36?�b >h[)8;:NBH3 %n8;:78A?�<l:78;d'K636I;=)5��j=)?HB EH8AKYd'5l8AK63 k&36?H=�<98A5

JH?�<9:TJH59<7"j>):T<7E�L dn8;8;:T5 m�L [ =)K63 BH=�<73Y>�?�� UWJH3Y<7=�m'K68 d/K6=)I*8Akl8A?�<�>)On:78;d'K636I;=)5 I;=)?D=)K659>aEH8AKYd&<9>a8AK63 k&36?H=�<98

I*>�� :78AK6=�<98AB%O =)36K J�:78A5457JHI"E =)5G59L�57<98Ak >�J�<7=�b)8A5a>):a?H=�<7JH:T=)K BH3657=)57<98;:T5 � c>�" 8;[)8;:��#36<S:T8�)�JH36:78A54=)BHBH3 �

<73Y>�?H=)K kD=)36?�<98A?'=)?HI*8fO_>):�:T8;d'K636I;= k&=)?H=�b)8Ak&8A?�<`=)?'B KY>�=)BNm'=)K6=)?HI;3 ?�bRmn8;<7"j8;8A? :78;d'K636I;=)5 � + 8fO >WI;JH5

>�?N<7E�8a36?'E�8;:78A?�<jO =)JHKY<�<9>�KY8;:T=)?'I*8f>)O#<7E�8aB'=�<7=l59<9:TJHI*<7J�:T8S<9>&578;8aE�>�" 3Y<�dn8;:7O >):Tk&5�36? <7E�8fdH:T8A598A?HI*8

>)OPO =)J'KY<75 "`3Y<7E�>�JH<�=)B'BH3Y<73Y>�?H=)K k&8AITEH=)?H3 57k&5�<9>&:78;d/=)3Y:�<7E�8A598aO =)JHKY<75 �

1SKY<7E�>�J�b�E&"j8�=)?H=)K6L �;8�>�?'KYLSI*:"=)57EfO =)36K6J�:78A5��;<7E�8;:78 =�:78 >)<7E�8;: �W36?HBH5n>)O�O =)3 K6J�:78A5�<7EH=�<�I;=)?G>�I;I;JH:�36?

<7E�8 57L�59<98Ak � 1 ?�8;<7"j>): �fd'=�:7<73Y<73Y>�?GI*>�?H59<73Y<7J�<98A5#=`kl>):T8j598;:T36>�JH5 O =)36K6J�:78Pmn8AI;=)JH598j3Y<�k&=hLaI*>�kld'KY8;<98AKYL

3659>�K =�<98^59>�kl8 d'=�:7<V>)O�<7E�8N?�8;<," >): �%O :7>�k <7E�8 :78A59<G>)Oc3Y< ��% ? 57J'ITE�= I;=)598 �j=]598A=�:"ITE�k&=AL I*>�kl8

� (

Page 59: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

[)8;:7LCI;KY>�578R<9> <7E�8RBH8A59<736?H=�<73Y>�? m'J�<`36<ck&=hLCmn8GJH?H=�m'K68a<9>D:78A=)I"E 3Y<`mn8AI;=)JH598V=)K6K+<7EH8R?�8A3Yb�E�mn>):T5�>)O

<7E�8^<7=�:7b)8;<l=�:78 3 ?H=)I;I*8A57573Ym/KY8 ��-�> B�8;<98AI*< =)?HB :78;d'=)3Y:Rd'=�:7<73Y<73Y>�?'5��#8A=)I"E�?�>�BH8^I;=)? �)8;8;d�<9:"=)I � >)O

59>�kl8S>)<7E�8;:�:T=)?HBH>�k�?�>WB�8A5j36?&<7E�84?�8;<7"j>): �^<7EH=�<�3Y< �W?�>�"c5 >)O ��=)?HB^3 ?&<7E�84=�m'598A?HI*8S>)O+=)?�LD598A=�:TI"E

=)I*<73Y[W3Y<ML ��d'36?�bS<7E�8A598c?�>�BH8A5#<9>RITE�8AI � 36<P36O/EH=)5 mn8;8A? d'=�:T<73Y<73Y>�?�8ABV> %NO_:7>�k0<7EH8�:78A59< >)O�<7E�8�?�8;<," >): � �

+ 84:78A59<9:T3 I*< >�J�:jO_>WI;JH5j<9>Rdn8;:7O >):Tk&=)?HI*8c>)O+598A=�:TI"E�8A5 "`3Y<7EH3 ?l=RI*>�?H?H8AI*<98AB I*>�k&d�>�?H8A?�< >)O >�J�:�BH=�<7=

59<9:TJ'I*<7J�:78 �

1S? 8;[)8A? " >):T598 <ML�d�8 >)OcO =)36K6J�:T8 <9> B�8A=)K "`3Y<7E 3 5&= � � � � � ��� ��� O =)36K J�:78 � "`EH8A? =%k&=)ITE'36?�8

I*>�?�<736?�JH8A5 <9>Rd'=�:7<736I;3Yd/=�<98`36?l<7E�8c?�8;<," >): �lm'J�<j3Y<75 =)I*<73Y>�?'5 mn8AI*>�kl8A5jJH?�<9:"JH59<," >):7<7E�L ��1 m�L �A=)?�<736?�8

d'=�:7<73 I;3Yd'=)?�<aI*>�JHK6B%36?�<98;:TI*8;dH<R598A=�:TITEH8A5R=)?HB 598A?HB >�J�<Gm�>)b�J'5akl8A5757=�b)8A5�� >): "j>):T578 � K6368&=�m�>�JH<G3Y<75

dn>�573Y<73Y>�? 36?]<7E�8lBH=�<7= 59<9:TJ'I*<7J�:78 �a2S>�JHI*8AJ�: $ q � &�57EH>�" 8AB <7EH=�<a3YO =N5736?Hb�KY8GO =)JHKY<L 8A?�<73Y<ML I;=)? :78;d �:78A598A?�<`kVJHKY<73Yd/KY8c36BH8A?�<73Y<7368A5�=)?HB 36?�/'K6<9:T=�<984<7E�8a?�8;<," >): � �'3Y<�I;=)?CI*>�?�<9:7>�K#=l57J�m'59<7=)?�<736=)KnO :T=)I*<73Y>�? >)O

<7E�8G?H8;<," >): � � + 8RB�8;O 8;:�<7E�8a365T57J�84>)O B�8A=)K636?�b "`36<7ENm�L �A=)?�<73 ?�8aO =)36K6J�:78A5 <9>&O J�<7J�:T8 "j>): � �

� ������� �4, � � �*�-&�/ � ��� ( ��

+ 8459<7=�:7< m�Ll=)?H=)KYL �A36?�bR<7E�8`dn8;:7O >):Tk&=)?'I*8�>)O >�J�:�?�8;<," >): �&36?D<7E�8`dH:T8A598A?HI*8`>)O+K 36? �VO =)36K J�:78A5�36?D<7E�8

>h[)8;:"K6=AL ?�8;<7"j>): � �j1 K636? �Dm�8;<7"j8;8A?C<," >D?�>WB�8A5 �]=)?HB � 36? <7E�8f>h[)8;:"K6=AL ?�8;<7"j>): � I*>�JHK BNO =)36Kn3YO#<7E�8

?�8;<7"j>): � I*>�?H?�8AI*<736>�? mn8;<," 8;8A? <7E�8l<," > k&=)I"EH36?�8A54<7E'=�<ak&=�d <9> � =)?HB � ��3654O =)JHKY<L � %�<a=�dHdn8A=�:T5

<7EH=�<S>�J�:cK 36? �W36?�bl59<9:T=�<98;b�3Y8A54k&=hLCO =)36K <9> b�3Y[)8G<7E�8V57=)kl8 ?�J'kGmn8;:�>)O�:T>�J�<736?�bDEH>)d'5�dn8;:c578A=�:TITE 36?

I;=)598^<7E�8&K636? �W54O =)36K �# c>�" 8;[)8;:���"j8D5TE�>�" <7E'=�<&"j8Db)8;<G:78A=)59>�?'=�m'KY8&dn8;:7O >):Tk&=)?HI*8 8;[)8A? "`3Y<7E K63 ? �

O =)36K6J�:78A5 � %�?C>�J�:ckl>WB�8AK ��" 8R=)5T57JHkl8f<7EH=�<c8A=)ITE K636? � 365�dH:T8A598A?�<S36?HB�8;dn8A?HBH8A?�<7KYL*"`3Y<7ENdH:7>)m/=�m'36K63Y<L

� � � 8;<`JH5 /H:"59<�KY>�> � =�<�<7EH8f:T=)?HB�>�k&3 �;8AB 59<9:T=�<98;b)L�"`3Y<7E � $ � � KY>)b � &�KY>�?�b��MB'3659<7=)?HI*8aK63 ? ��5 �

ABSENT LINKWITH PROB.

LINK PRESENT�

FP3Yb�JH:78Gq ����g �j=)ITE K6>�?�b��MBH3659<7=)?'I*8aK636? �D3 5�dH:78A598A?�< "`3Y<7ENd':7>)m'=�m'36K 3Y<ML � �

�4JH:jdH:T>�>)O+365 =)KY>�?�bV5736k&3 K6=�:jK63 ?�8A5 =)5 >�J�: dH:7>�>)O O_>):�<7E�84I;=)598S>)O�?�>VO =)3 K6J�:78A5 �1% ?�<7JH36<73Y[)8AKYL �W5736?HI*859>�kl8^>)O�<7E�8DK63 ? ��5aO =)36K �4" 8D8('Wd�8AI*<R<9>]59dn8A?HB kl>):78D<73 kl8D36? 8A=)I"E�d'EH=)598D=)?'B%<7EH365G<736kl8D5TE�>�JHK6B

� �

Page 60: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

mn8 36?�[)8;:"598AKYL%dH:T>)d�>):T<73Y>�?H=)Kj<9> <7E�8NdH:7>)m'=�m'3 K63Y<ML "c3Y<7E�"`EH36I"E <7EH8NK 36? �W5R=�:78 d':78A598A?�< � + 8 dH:7>,[)8

<7EH=�< "`3Y<7E 8A=)ITE K63 ? �]d':78A598A?�< "`36<7E dH:T>)m'=�m'36K636<ML � �P<7E�8^8('Wdn8AI*<98AB�<736kl8N59dn8A?�<V36? 8A=)I"E�d'EH=)598N365

�@ K6>)b � ���� B ��"`EH36I"ENb�3Y[)8A5`=&<9>)<7=)K+>)O��@ KY>)b � � ���� Bj:T>�J�<736?�b&E�>)d/5�d�8;:c598A=�:TITE �

� 2 � ��� � ��� � +�'��$ � � 1 �2 � %� �/� � $( ����� ����&4��&4 8/* ��$ ���� �6��6�+�/23� � � ��* 2 ���10:�� � ��� �� �� 23�/�(.�� +�/� 0����� �� ���� � � � � ��$ +� ��$ ����( �5� � ��#� � ���� * � ��#(� ���10 $ ����� �( +���+ � � �+$)� � � ��$ � � � & ��

�/� �@ KY>)b � � ��� B 4

� ������ � !`8AI;=)K6K <7EH=�<`3 ? I;=)598G>)OP?�>DK63 ? �&O =)36K6J�:78A5���<7EH8fdH:7>)m'=�m'3 K63Y<MLD<7EH=�< �NITE�>�>�598A5`=D?�>�BH8 �

=)5`36<75�KY>�?�b��MBH3657<7=)?HI*8a?�8A3Yb�E�mn>):�365�=�<`KY8A=)57< � ��o "`EH8;:78 � � ��� ��� � � � � ���� � ��� ��� � � � � ��c>�"5"`E�8A?�" 8RI*>�?'5736B�8;:`K 36? �DO =)36K6JH:78A5���b�3Y[)8A? <7EH=�< � ITEH>�598 � =)5c36<75�KY>�?�b��MBH3 59<7=)?HI*8G?�8A36b�E�mn>):��

<7E�84dH:7>)m/=�m'36K63Y<Ll<7EH=�<�<7E�8;:78f365�=lK63 ? �ldH:78A598A?�<�mn8;<," 8;8A? �^=)?HB�� 365 � �jU�> �W<7E�84dH:7>)m'=�m'3 K63Y<MLl<7E'=�< �

ITEH>�>�598A5c=&?�>WB�8 �]=)5c3Y<75�KY>�?�b��MB'3659<7=)?HI*8a?�8A36b�E�mn>):�365�=�<cKY8A=)59< � � ��o � ��,$ o �2@ � � �(B � � & � � �-�EH8R:78A57<c>)O�<7EH8Vd':7>�>)O�3 5`<7E�8 57=)kl8l=)5S<7E�8VdH:7>�>)O�O >):S<7EH8;>):78Ak q ��� � � 8;< � � mn8G<7E�8 ?�J'kGmn8;:

>)O 59<98;d'5�57d�8A?�<�36?Nd'E'=)598 � �#-`E�8A?� � � �

� � �

� $ � � � # &� ���

���

%�O � BH8A?�>)<98A5l<7E�8 <9>)<7=)K�?�JHkRmn8;:l>)OS59<98;d/5�� <7E�8A?�m�L K 36?�8A=�:T3Y<L >)Oc8('�dn8AI*<7=�<73Y>�?�� " 8 b)8;< � � %@ � -�K6>)b �"B�@ ���

����� B)� �@ KY>)b � � ���� B �

+ 8N<7J�:T? <9> <7E�8 BH8;<98;:Tk&36?H3 59<736Il59<9:T=�<98;b)L "`3Y<7E � @ K6>)b � � ��� & ��p ' � ' � � %�O`= K636? � O =)36K65��<7E�8A?]<7E�8R?H>�B�8VEH=)5�<9> <7=��)8l=D57EH>):7<98;:SK6>�?�b��MBH3659<7=)?'I*8RK636? � ��"cEH36ITE�"`36K6K ?H>)<`<7=��)8 <7E�8Rk&8A5757=�b)8l=)5

I;KY>�598f<9>l<7EH8f<7=�:7b)8;<`=)5�<7E�8f36?'3Y<736=)K/O =)36K68AB K 36? � ��\�KY8A=�:TKYLD=)5 � B�8AI*:78A=)598A5���<7EH8akl8A5757=�b)8GE'=)5�<9>l<7=��)8

57E�>):T<98;:`=)?HBC57EH>):7<98;:`K636? ��5 "`EH3 ITE 36?HI*:T8A=)598A5�<7E�8G?�JHkRmn8;:�>)O#:7>�JH<736?�b&E�>)d'5 �

-#> k&=��)8 <7E�8 =)?H=)KYLW57365D5T36kld'KY8;: �#" 8]ITE'=)?�b)8]<7EH8]K636? ��kl>WB�8AKc57K63Yb�E�<7KYL ��=)?HB K68;<D8A=)ITE ?�>WB�8

mn8 I*>�?'?�8AI*<98AB�<9> >)<7E�8;:&?�>WB�8A5 =�< B'3659<7=)?HI*8A5�1 �1 ��1 � � ����� � 1�� �� � � �� � �4?'I*8N=�b�=)3 ?�� " 8NI*>�k&d'J�<98

<7E�8V8('�dn8AI*<98AB BH3 59<7=)?HI*8 I*>h[)8;:78AB O :7>�k <7E�8 I;J�:7:78A?�<S?H>�B�8 =)?HB JH598 � 8Ak&kD= q � � <9>Nb)8;<f=^<9>)<7=)KP>)O�@31�KY>)b�� ��� Bj:7>�J�<73 ?�b&E�>)d'5 �

� �

Page 61: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� 2 � ��� � � � � +� ��$ ��# � �� �� ��*�2 ���(. ��� � @ KY>)b 7 �"B � ��� 2 � ����$ ��� & $ � � 2 ���(. � � ��/�?�� �� �� �� 1 � 1 � � 1 � � ����� � 1 � �� ��� �� 4 8/* ��$ ���� �6��=����2 � � �-��*'�23�/�(. � +�/� 0 ���� �� ���� � � � � ��$ +� ��$( , ���( � � � ��#� � +�,��*�� ��#(� �/� 0"$ ����� �( �� � ��� ��$&� � � ��$ � ��� 1 ��'�/�� @ �"B � �@31 �

���� B 4

� ������ � � 8;<#<7EH8 BH3 59<7=)?HI*8 >)O'<7E�8jI;J�:T:78A?�<P?�>WB�8�O :7>�k <7E�8 BH8A59<736?H=�<73Y>�?Gmn8 � � � 8;< � � :78;dH:78A598A?�<<7E�8GB'3659<7=)?HI*8GI*>,[)8;:78AB 59<7=�:7<736?Hb&O_:T>�k <7EH365`?�>�BH8 � -�E�8A?�"`3Y<7E dH:T>)m'=�m'36K636<ML����H<7E�8;:78&"c36K6Knmn8a=DK63 ? �

I*>h[)8;:"36?�b BH3659<7=)?'I*8�1 � �� ��� � � � %�O�<7EH365VK636? � 3 5R=�m'578A?�< "`3Y<7E dH:7>)m'=�m/36K63Y<L � � � � ��� <7E�8A? " 8 I;=)?I*>h[)8;:c=lBH3659<7=)?HI*8 1 � �� � � � � � � "c3Y<7EN=V5T36?�b�KY8SK636? � "`36<7EDdH:T>)m'=�m'36K636<ML � � �W=)?HBN59> >�?�� %�? b)8A?�8;:"=)K ��<7E�8=A[)8;:"=�b)8VBH3 59<7=)?HI*8 � � I*>h[)8;:78AB "`E�8A?N<7E�8Rkl8A5757=�b)8G3 5�=�<`BH3657<7=)?HI*8 � O_:T>�k <7E�8GB�8A57<736?H=�<73Y>�? 365

� � � ��1 � �� ��� � � - � � 1 � �� � � � � � � - ����� -� � � �� � � � � � � 1 � - � � �� ��� � � 1 �

� �� � � � � � ��1 � �� � � � � �� �

� ��1 � �� ��� � �� �� ��� � � �

� �1��

� ��1 � �� ��� � � � � @ � � 1 B � �� ��� � � ���� � @ � � 1 B� � @31 � �� ��� � � ��� � � � �� ��� � � ��� B

1 ����

� @31 ��� 1 � � B1 ���

�� @�� � � B� @31 ��� B �

����� ��������������� ����� �������� @ �"B % �

� � ��� �

� � - �

� � �

� @31 ��� B� @�� � � B

� � - � @31 ��� B� � �

� � � @�� � B"!� #�$31 �� %'&)(*,+

Page 62: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� � &�� �����'����� ��� � ��� � ���)� ���������� ��� ������������������������ � � � � ���������� 1 � �����'����� ��� � ��� � ����)� ��������� ��� ��������� � ���������������� � ��� � ��������'�������� � � ���'� � ��� �����!� �� � ��������'����� �������"��#"%$ &('*) � ��+�,.- ��/(- ��,�0� �� � �1� ���324��� �� ��� �1�65�� �72���8 ��� � ���!9 � �:��2�� ��� ��� ��� ��� � �15�� �� ��; � �����<� ���32�� � �(=�� ��� ����� ������ �>�'������ ������� �?���� ����!� � � �>���)� � � �1�@� � ,��A ��� ��B2�� ��� � ��5����32��>��2 � � ��� ������� � �����!� � �<C ��� ������� � ����� ���D���� ����7� ��� ���E���'����� � � ��F ��� ��2���� � � �<����� � � ��232��*� �� ��#AHG ��� ��� ����C ���>� � � � � � �3232 ��2 � ��� ���32 �

I ����� �� � � � � � � � �KJ)� ���,������� ���?��� �� � ��� ���324����� � � � �� � 8 ��� ����� ��J ��� �L� M�!�� ��� �N�)� ������� O������ ����F ��� �LP��'� �<����� � � ��232 ��� � �� � ���D� �2�8N2�� �9 � ������� � � �� � ��� ��� ���Q� ��5���RTS�UDV>WYX Z!V�[>\1� ���32 � � �F ��� ��� ����� � ����� � � � ���323��'���<�]� � �� �>� � � ����232)��� ��2�� �9�� �>�� ��� ��>��2����!� � � �^:_a`cb@d._�e�faf%gih�_%j�k6lm_�n�opkrqhs`tbuhtq]j ����� & �)� ��� �N���������>���32 � �v8 ������� � �� � �����B������ �� ���xw � ����2�� � � �����7� �� � � ������� � ��� � � � � � � �� ���>����� ��� ����*���'� �� � � ��2�� �>O � � � ����� � ��� ���y�*�����zF � ��� ������ � ��� �{���������>���32 � �v8����E�7���� �'�� � �����>�'��3� �2��>���� � � ��� �H2�� �>O � � � ����� � ��� ���y�*��� ���|��� }O� � ��3� � � � ��� � ��; ��� � ���� ����� ������� �� � ���~{� q]b�lmq]d��u�3���cZ UuU���ZQ�NS�[yZ W��!Z�V>�E��R��c�}Z�S�X Z ���y�����D�tZ UcZ!V����{RTS�[yZ|�!Z��TX Z�� Z R�Uu�#�aU����TX Sy��V����W��aUa\& V>R@[�V>W�W�RTS�[yZ��{WY�%R��HS>R�WY\MU�S�Z!���%��Ua��R�zR@S�[yZ�� ���c�}Z�R�U��}ZxZ!����Z!��UvZ�[�R��}�x�!Z X:S  �X S>��Ua�%R]�z�]S����|��Z�X� Z!V>X ����¡D�#��U��N¢£RTS�[yZ����4� # $a¤�¥¦ ( �

§Blmbub�¨!©ªI ���@��� � ��� � ��;]�)��� � � ��� �����M«p¬��%��� �­�@� � ,�?® ���?�%��2323� � � ¯«p¬ ° ±

¬²3³t´ ´ ²Qµ ¶cµ && µr· ¸±

¬6¹ ´²�³t´ ´¥ ¬r¹ ² µ ¶cµ && µm· ¸ ± ¦yº ¹�¬²3³t´ ´ ²<µ µ && µm· ¸ ± ¦>»½¼ ¬²3³ ¥ ¬ ´ ²<µ µ && µm·¾ · ¿ ® ¸ÁÀ�¸ ¤ ¦ º ¹�¬ ¸ ¤ ¦ » ¼ ¬| ¤ ¥ ¬6þ ®

· ¾ ®� ¤ ¦EÄ����� ����������� ��� ��� � �����(Å $ ¢ (DÆ ± ¦¬ ³t´ % «p¬1° # $a¤�¥¦ ( �(=������ ��� ��; ��� ��2�8 ��� � ������?������2 � ��� ���� ������� ���Ç���� ��3� ��� * � � � � �����232)��� ���� � ��� �>��B��������,���=��������'�����2 � ��� ���� ��������'����� �1� �������� � ������ � ���<2����9:� �2�8�� �:����� � � ��; ��� ��� � �� � ��� � ��� �L� �238

� �KJ)� ����� � � � ��� ��� � � ����� �������242 � ���'�� � � � ��� �>��� ��=�� ��� � ����� ���� �mJ)��� � ��� �?���� ��� � ��2 ����� � ��� ���� ��� � ���)� �Q�������� ��� �:����� �Q�)� � � ���>�!�!�

È À

Page 63: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� q}`tqlme�fD¨ve�_afaotlrq]j I ������� � ��5�� ��� ��� ��� � �����2�8��'���Q����� �� � �B� ���323����� ��� ���� ��� �'���:��2 � ��� ��� ���������2����9�� ���423����� � �)������ �� � � ��M2�� ��� �{� ��5�� ��� �����:�*������ �1�������)� �� 8���� �� � � � �� � ���� � ��� ���� �|� �65���� ��� �L2���� � � �D��������(F ��� ������������c2 ���9{� ���324����� � ��� � �� � ���(P��'� ���7���� �� ��� ���3� ��� ����*���'��� � ��� �� ��� ���(�*� ��'����2 � ��� ��� � � � �|��� ��� ��� �|2 ���9 ��� ���32��,���] � � ��� � � 5��� � ������� � �� � � ������� ��� � � �� ���������� � � �� � � � �Q��� �:��2 ��� ��2�8 �� � � �)�� � ��,�E��� ��� � � 5��� � ��� ��� � �'��8 � � �� ��� ���y�*��� ���Q��� ��� � � �� � ��� � ���� ���� � ����� ���!� 2����9z� ���32�� �� � � � �� � ��,��238 � �� � � � ��� � ��� � ���'������32 � �v8M��� � ��>������ �� � ������ � ��8������ � � �� � � � � �)�� � �1� �2�8 � ��� � ������ ���� � ��� ��� � 2�� �9��)��� � ���� ��� � � � � �� � ��� ��� ��� ���� �

F �������E��� �� � �E� ���324����� � ��� ����� �:�*������,� �� � � �)�� � ���� �#�������)� �� 8�������|2�� ��� � � �! ���(Ç}����*� � ���� ��� � �� � ��AN���� ����Q��� ���{ �3����� � � � ��� � � � �|����� � � �� � ��� $ �)������ � ���H� ���42 � � ( � � 5��� ������ ������ � �� ���68��)� ���a �� ���� ���2t2�� �9H� ��� � ���� A �� � ������� � ��� ��������� �>���32�� � 8H��� � � � ������� � ���� � � �)���� � �>��2 � � � ��� ���{ �4����� � � � ���� ��� ���� �� � � �)�� � �� �x��� ��� �����������>���42�� �v8 ��� ���zA ������� ���{ �3����� � � � ����� � �)������ � � ��� �H���!�����>���32����v8 ����� �)���� � �>�����,� ������� ���:� �%�����*����� ��� ������ ������=?� ������� �N��2��3����� ��� ��� � �� ��2�8 �������� ��� ���)� ���%��� ������ �x�)������ �� � � ��� �� 2�� ��� � ��� �H����� ���� ��� �3�c� � �� � �1���� ����?��� ���{ �3����� � � � ��� � � � �1����� � ���� � � � � �Q� ��� � ���]� � �!� ���� �B��� � � �� �� �N�]8��������� � ��� � � ��������� � � � �� �������y�*�����

F {��� � � � � ���� ��2�8 ��� ��� ��� �� ��������� ��� �<��� ��� � � ���� �:����� �2�8 � �1� �<��� ��� �Q2�� � � �#�'����� � � ��� ���� �:���� �:�65�� ��� � 5�� �'��2�������� �����?=�� � � � ��� ��� ������� ��� ���� �:���Q�)��� � �������� ������ �>�� �� � � � �� � ��,� �� ��� �� � � � �:�r5�� ����� � ��� ��� ��� � ����� ��� ���N � �a����� � �B�!�� ��� � ���2�� ��� � � � �)�� � �1� ��y8�� � ��� ��H�T� ��� ��� �EI ���������� � � ���� H� ��� � ����)� �Q��� �� � ���<�)���� ����2���5���� ��� ��2�� � � ���T� ��� ��� � ��� �������� � ��� ������ � � �)�� � �� �����!�H������� ���#F �� � ��35���2�8 � ��� � �� � ������������ �� � � �����N������� �>���32�� � 8& � � � � ���2 � ��;}�)��� � � � � ��� ������� � ���� ����5�� �'� ��238 ���!���@���'���� ��2)� � & �� �� ��3������������ M����P � �� ����� � � �� ��� �B2�� � � �?������� � � ���� �:� � � �~{� q]b�lmq]d��u�������cZ�U(U��}Z��NS�[yZ Wt�!Z�Vm�|��RÁ�c��Z�S>X�Z�� �y���>¡(V�RT[NW3Z UDZ�V�� ��RTS6[yZ� �V>��W*�#��U����TX Sy��V����W��aUa\& ���c�}Z�R�U��}Z�Z!����Z!��UvZ![:R��}�x�!Z XLS½ |X S>��Ua�%R�:�]S7���D��Z X?��Z�V>X ���y¡(�#��U��{¢�R@S�[yZ��L�%� #�$ 2���� ¥ ¢ % $  &)(���( �

§Blmbub�¨!© � ���1Å��)� ��� ���� � � ��>9��� � � � ����� � � � ������ � ��� ������ � �M�T� ��� ���: � ��������� �|����� �� � �����)� ��2��35�� ������ ��� ���� � �� � 2 ���� N�)� ��� �����!�����>���32����v8 ��� ��� � �� � � ��M�T� ��� �� ���1��� ��� � � � � � � � � ���� � � �� ������� ���: �N=�� �� ��� � ��;]�)��� � � � �������Å � � � ����� � �M�T� ��� ��Q � � ��5������� ��� ��� � ����>���� 2���5�� �� � ��� �� � � $ �����!����� ��� ��� �� � ��� �>�� � � ��23238�2 ��9���2�8 � �{� �65��

È

Page 64: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� ���32 � � ( � ��� � �35���z�8

� ¿ Å�� �HÃu° ¸� $  ( ¸ $ �� � (

� � � ¿ Å�� �HÃ*° � � Ä

� � � ����M5��>��8�� ��� � ���� �� � ��� ��� �������� ¿ Å?à ° �� ³t´

� �

� & � ¹ $ Â &)( � � � � �° �

�� ³t´ � & � ¹ $  &)( � � ���Æ �

�� ³t´�

� ¸ & �¹ $  &)( � � �

° � � $ � ¸ ( $  &)( �� ³t´ & � ¹ $  &)( D¼ ´ � ¸ � ¸ �Æ � � $ � ¸ ( $  &)( ¿ & ¸ $  &)( à � ¼ ´

° � � $ � ¸ ( $ Â &)( Ä

����� �������� ����� ��238 � ��� � ��;]�)��� � � � � ��� ��� � ���� � �� �Á������� � ��� ��y5�� � � ��2�8 �������*������� ��2 � � ��� �������� �>���32�� � 8x�����)���� �N��� ��� � � � � � � �� � � �� ��� ��2�� � � �|��� ��� � �� � � � ��� ��������� �>���32�� � 8x��� ����7����� � �L�)���� � ��2���5��������������B�'�� � � ��� ��� � ���� ��� � � � �'��� ����8 � � ��� � G ¿ �� 23���E¢*Ã�2�� �>O � ��� ����� �N2 ���9 � � �� ��% ¤ ¦ �I � ��� ��� �:� �� $ 2�����¢ ¸ ( ��� ��� � � � ������� �� ��;]�)��� � � � # $ 2���� ¥ ¢ % $  &)(���( ���� ��� �:����� ���

F x��� � �'��� � � ���������� � ��� � �'� �� ��� ��4�<���� ��� � � � �'��� ����8 � � � ������ ���>�� �a�232�8:�!��� � �� �� � ��� ���423��������� 2 ��� � � � � �������2 �� �� ������ �� � � � �� � � ����'���������� ����� � ����!9 �� �H2��]����2 ��� ����*���!���]� � � � �����������)����� ����� ��� � �� ������� ����� � 5��� �� ��23238 ������7� �� � ��� � � ��� ���������� �� � ����I �M��� � ��� �������� ��� ��� ��� �������2 � �)� �x23� � O����!�����>���32����v8 � 5��� � � � � � ��?�]� � ��!����� � � �4232 ���� �mJ)��� � ��� � ] ���)� ��������� �� �:����������� �'� � � �'�>��238���������������� !�#"%$& �'(')�*��+,�.-/+,�0$& �1(23�.4657���(�08��. *8��9')�;:<4<=>�9')��?@�A2B4<'C���)��:<�&DE�08�F)�) �23�HG(���)�I8��H1@��4<')J;5K *4<:L2M *�#���)4<2F,�H4<'N�&O

��

Page 65: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

����� ����� �������������������������! �

� � ��� � ��������£��� �� � ���N������ �� � �� ��� � ��8�� � ��� �7� �� ����� � ��� � ��������� � ���'�>�T� ��� ��� ��5 ����� ��2�65�� �72���8 ��� � ����9 �(F H��� � � �<�%���Q����D�!�� ��� � � ���!� �� � ��� � �:�)����J ��� ��35�� � ��� � ���'�>��� �{ � � ��2 � ��8 ���;�� ����� � ��� ���������)� ��v8 ��� ������� ��2���9���2��4���� � ��� ��y8 � � � 5�� �'��3� ���NA �� � � �)���� ����� ��� � � � ���" $ %$# $ A � � ( ( � � � � �� # $ A � � ( ��� ��� � � ��� ����� �{�)��� � ���� ��� � � � � �� � ���|A �� � ���LI � � ������� ���)� �� ���� ��� ��3���>������� ���7� � �x��� �� � �!�� � �� � ������ ����� �:�'�� � � � ���'�>��� � � ��� ����7� �� ��5��>�'���� ���

Ç � �� � ��� ���!��� �4� �����{2 ���9 ��2�����5 �� � �����!�i5�� �� ��; ��� �� � � � �� � ��,����� ��� ���!��� �4� ���M���{����� � �5�� ���3� ��� � � ������ ����� � � ��� ���?�*� �� �� �� ��� � � ��� � �3��� ����� � �>�� � ��� � � � � ��� � ���� ��� � ����A��)���� ��®O �����*� �� � � ��� � � ��� � � ��%�� �� �?Az�!���� � ������� � �� � O��*� �� ������ � ��?�� � ��� �� ��2����9 � ��� ����� � �� �� � ��� � ��5�� �'� �?�@� � � ��Ov2�� � � ��� � � ���� ���� � � ��� ��;}�@� ��,� �� � ��� ��� �� � � ��� �����]8:�! ��� � ��� �� ���>�!�7� ��2 �����'� ��� � ��F � � � ������� � �*� ��,��� ��� ����E���'��� ��,� � A:��� ��� �� � ���'& �<� 2�� ���� �D2 ��5�� �������y�*�����F ��J ��� � � �����7� ��� ��� ��®� �*� �� �����2��'��� � 8.������ �� �:� � ������zA ������������� � � � �]8 ���������Á������ � �'��� ���� � ����242 ��� ��� � ���������>���42�� �v8 ������ ����������*������� � � �����2 �� ����� �?w�� � � 5�� � � ��� ���|�������� ��� �� 9�� � �� ��� �:2�� �9 � ��� � � ���� ���� ���B2����9 ���>���� �2�8 ��� ��>�T2������ � � ����� � � � �� � ��� � �H��2 � � � �� � �����Ç]� � � ��� �� � ���� � � �'��� ����8 � � ��232�� � ��2 � � � �� � ��� ��2���� � ����� ��>��2�� ���z2����9 � � � � � �� � ����������|A�� � � � � �@� � ,���LI � � ��5�� ���>�!2���� ���*� �� ������ �������@���'�� � � 8 � �������������� � ��� �� �z2����9��� �NA��8H� �65��� �:A�¯

�)( ��23� �2���� ����� � ����)� �Q��� ������ ��� �:2����9 � � �+* �������2 �-, � ��5����%�!� �­�*� �� �� � ��� � � �)� �������� ��>�!�'��5�� � � �� �� �)(Q���� �� ����7�x�*� �� �� ��� ����� � �� � � � ��� � ��5�� �'� ���@� � � ��Ov2�� � � ���� �'���� ��3� � � ������;}�*� �� � . �F � � ��� ��� � ] ��� � �:���|�� � ��� �� ��2����9 �{�%��� �����7� �*� �� � � ��� �� � � �3232 ��2�� ���)� ��� � ��;}�)��� � � �] ���)� ����� ������ ���� �x2����9 � ��� ����AM� ��� � � ��� ���� ��� � �� � � � � $ ( �?I � �>�������6; � ����� � ��� � ����)� ����p2����9�� �� � �� � ���DA��8N���� � �/%�� ���� � � ��� � � ���� ���� � � ���N�'��� � � � ��� ��� ��� � ��� �����������>���32 � �v8 ��� ���AH� ���?® ������ � �� �:2����9 � ���10�2436587¬49 � �� � ��� � ��;}�)��� ������� M��� ��� � � ��� � �'���T ���� ��� � �

� � � � � � � � � $ � ( ���#��� �:��2���� � � �8�A � �����7�N�!��� ���:�*� ��,� �x�'��� �*� � � � �1A & �#�� � ��� ���]8��7���� �'�� �� �B��� � �� ��; ��� �� �:2����9 � � �N�)�L�� ��2���� � � �]8 �N2����9 � �NA��E=�� �B�!��� �3� �B��� ��� ��2����9�� �N�� ��2 ��� ������5��>��8�� I � � � � � � �'��� ����8 ������� ����32 � ��� ��� � � ����9 ���{Ç �>�'�����>� Z U:V>W�� ¿ À È Ã � F ��� ��� � ����9 �:8; :<: ���(4L2B$& *'C+,�I�& *234<:=< $& �:<$A1(:L *���&? +><�? 234<')$A�I���(�I:<4L'4@ F@8��H+) �+)4<:<46��4<�A2M !8���2A<CBDB �0�38�4<$HO

È �

Page 66: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

��� � �� �������'�� � � � � �����B�����*� �� ��Z ULV>W�� ¿ � ��à � ���T �32 � � ��� �>��� � � � �� �����7� �� � �x����� � �'�� ��2 �2�� �>O � ��� ����� �B2�� �9 � � � �� � ����� � ��� ����� � # � �����z���������>� �32�� � 8 %$# �EI � �� ���� � � � � ��� �x2�� �>O� �������� ��2����9 ��� � ��� ����� � # ´ ��������,� � �'��� � � �� � � ��� � ��� ����� � # ¥ � ������� � � � ��� � ���� �>���'��5���2��� � � � � � � ����H�� � ��� � � � ���'� ��2���� ����� �����; ��� ��� ��2�� �9 � � ����������� �>���32�� � 8 & ¥ % $ & ´ ¸ & ¥ ( � � � � ��& ² ° %$# ² � �� � 2����9�� � � ��� � � � �� � ���HI � ��; � �� � ��� ��� � � ��� � ������������� ��� �{�2 ����T2 �:2�� �>O� �������� �|2 ���9 ��� (D� ��� � � � � �� � ��� � � ����® ��� ���y�*���'� ��� � ��� ����� ��� # ´ � # ¥ � Ä Ä Ä � # ¬,�#I � �� � � ��� � �QA ��� � ��� ����� � # ¬ ¼ ´ �'� � ����� ��������� � �� �12����9��%��� � � � � �� ��2���� ����� �Q��� ���� ��; � � ��� �12����9��� � ��� � 2 ���9 � ��A � �����M������� �>���32�� � 8 & ¬ ¼ ´ % ±

¬ ¼ ´�7³t´ & � ��=�� � � ����� � �'�35�����2 ��;�� �� �'��� ���� ��� �������'�{�2��& ¥ % $ & ´ ¸ & ¥ ( ��� ¿ À È Ã ��w?� � � 5�� � � ��� ���t���������>���42�� �v8 �{ � � �� � � � � ��� � � ���� � � � ���:� � � & ��® ��; � � ��� �

2�� �>O � ��� ����� ��2����9 � �'���� ��� ��� � ��� �M�!���]� � ��� ����� ��� ��� � �H�� � ������ ��� ��A �1I �:�!���]� � � � � � ���� ��� ��� ����� � �� � � ����� � ��5�� �'� �1�*� � � � Ov2�� � � ��� � � ���� ���� � � ��� ��;}�*� �� � � ��� ��� ��� � ���!���� � ��� � ��� ��2 ��� � � ��?2 ���9 � � ��� � �� � ����� � ��� ����� � # ² � Æ ¶ Æ ® � � � ���z���!�����>���32����v8 & ² % ±

¬��³t´ & � �<w ���� � ���� �Q���!�����>���32����v8 ��� ��� � � ����� � ��� � �B2�� �9�� �1A �� �:� ����� � ��� � �1�� �T2���� � � �� ��; ��� ��� �12�� �9 � ����� � �� � ���� � ��� ����� � # ² � � ��� ��2����9 � ��A � ��� � ��2 � � $ & ² % ±

¬�7³t´ & � ( µ $ & ¬ ¼ ´ % ±

¬ ¼ ´�7³t´ & � ( � �?����3� � ��� ��������68 � ����� � � ���� � ���� � ������ � ��y8 ����� �� ��; � � ��� �{2����9 � � ��A � � ��� ������� �>���32�� � 8  & ¬ ¼ ´ % ±

¬ ¼ ´��³t´ & � �

=�� � �� �� � ��3� ������B �� � �!��!���'� ��2���� ��� �� ��� � �'��� ����8���� � �����%��� � ��� ����y5��>�'���� � ��� ��� � � � �� �� � ������ ����� � 8 �����4����232�8 ��� � � �� � ��� �>�!�'��5���¯ ��� �����x2����9 � � � �� � � ¶ ��� � �������� � # ² � � ���������� �>���32�� � 8 ��y5�� � � ��2�8��������*�����3� ��2 � � # ² �<� ���� � � ��� � � ���� � �M� � � �65��� � ®.2�� �>O � � � ����� �2����9�� � ��� �B����232�� � �� � � � ������ �{ � ������2 � ¯

%(����� ¿ ���� ��2 ��� ����2����9 � � ¶ � �����z2����9�� � A�ê° %(����� ¿ ��� ��� �N2 ���9�� � ¶ �)� �%����1A �>���'�35����½Ã %(����� ¿ ��� ��� �x2����9�� � ¶ �>� � � �?A �>���'��5����½Ã

° & ²±

¬�7³t´ & �  & ²

±¬ ¼ ´��³t´ & �

° & ²±

¬�7³t´ & � µ & ¬ ¼ ´

±¬ ¼ ´�7³t´ & �

I � ���� � ��� ��� ��� � �'��� �E� ����'��� ��3��������)�� � � � �%��� ���� �����3��� ���!���� ���� � � �� � �������� � � ��� � �3����232�8���� � � �� �������y�*���'� � ���!� ����9 ��� ��� � 8 �>�� � ��3242 ��2��35����ÁÇ}����@� �� � �� � � � ��� ��� �� ��� ������� � � � �� ��� ����*���'�{� ��5��z� ���32 � � � ����� � ��� � �>�*�65��M� ����'��� ��4� � ���{���� �7���� �� � � � �H����� � ���� � ��� �� ��� � ��� � ����9 � ��2����9 � � � F � �:� � ����� ��� � ��� ����*���'�1� ��5��x� ���32�� � � ��� �� ��� � �� � �N���� �� � �1���O � � � ��

È *

Page 67: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� �� ��23� �� ��� � ��� � ����9 �=t���� ��2�8 ������� �1�)� �������'������ �L��� ��� �B� ���� ��� ��3��������'��� ��3� � � � �� �� � � � � �x��� � � �!�� � �����242�8yO

�*�����2���� � � ��� � ����9����?¢ ° � ´�� �� � ��� �����)� ��� � � ��� ���'� � �@� � ,���� �������2<2��� ��� � ���!� �� � �� � � 2�����¢ $ � ( 2����9���� � � � � � ��5�� �'��� � � ��� ��������2 ��N�r5�� � ��� � � �� ��� � ����9�� � � ����2���� � � � ��� �� ���� �'���� ��3� M���<2�� �>O � �������� �N2����9 � � � �'��5�� � ����� � ��� �N� ����'��� ��4� � ��2�� � � � ��� ��� ��� � ����2 ��5�� �'� ��*� � � � Ov2�� � � ��� � � ���� ���� � � ��� ��;}�@� ��,� � ��� �!��� � � � ����������������I � � ��� ��� ��� ��� � � � �'��5�� �� ���� �'���� ��3� � �'���!9�� ��� � � � ����2*� �B5�� ��8z� 2�� � ��238 � � � ��� ��� ��2��>������ � �>� � ��23 � � � ���!�����)���� ������ ����238� � ��2 � � À Ä À � �N�%���|2����9 �D����2 �� ����� ��� ��� �!��� � � ��� �����'�>���M���M� � ����'� ����� �

1e-08

1e-07

1e-06

1e-05

1e-01

1e-04

1e-03

1e-02

1e01 1e02 1e03 1e04 1e051e00 1e06

Probability of link

Length of link

DerivedIdeal

� � ����� �����]¯t=�� � � ��� � �'�3�� ���� |����2�� �>O � � � ����� ��2�� �9��*����� � �� � � �]8���� � ��5�� �'� ��O � � � ����� ��� ����'��� ��3�$�� � �'��5�� � ( ��� �:���>�� � � � ��� ��� � ����2 � y5�� �'��B�*� � � � Ov2�� � � ��� � �'�3�� ���� � � ��� ��;}�*� ��,� $ F � ����2 ( �

-0.020

-0.015

-0.010

-0.005

0.000

0.005

1e01 1e02 1e03 1e04 1e051e00 1e06

Absolute error

Length of link

Error

� � ����� �����¯#=�� � �>��� ��24 � � � �������#�)��� � ���� ��� � � � �'�35�� �:� ��� � �'�3�� ���� ��� � ��� � � � ����2 ��5�� �'� �Q�*� � � � O2�� � � ��� � � ���� ���� � � ��� ��;}�*� �� � �È�È

Page 68: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

I � ��2 � ���)� �������'� � � ��;]�)� �'� � ��,�������� �� ��2�� � �' �����5���2 ���9��� �T2���� ��� �� ��� � �'��� ����8@¯ � �� � ��!���� � ��� � ��MS>W�[yZ���U�2����9 � ���� ��2���� � � � ��� � 2�� �9 � � ��� � � � �� � ����=�� �H�)� �������'������ �H������� ���� � �'��� ����8 ��� ��2��N� � � ��� ���� � ��� ��� �1�)� �������'������ �|���c����Q�'� ��2���� ��� �� � � � �'��� ����8 � �������'�3� � � ���� 5 �KO�� ��238��#I �B� ��� � ����� � ��������2 ��D�)������ � ����� � � � ���x� �2�� � � � � � ��� �� � ���N�)��� � ���� ��� �1�'�����2 ��<��� ��� �� � � �� �'��� ��� � ����� ��� � ������2 �� � � � ���������� ���'�>�T� ���

=�� � ��1� ��� ��2�� �:�)����H����� � �?���2���� � � � ����9��8 % �� � ��'�� � �� Z�UEV>W�� ¿ + À Ãp� M��� � � �N��� � � �7�� � �� � ��� ��� � ������*��������)�B� ��,� � ��2 � � ��5�� � � �'�� � � � ���'�>��� � � ����� ����y8 � ����3�'�>��2 �<�������)� ������� � ����7����������242 � ����� ��� � � �� � ����>�'��,� ��� � ��� ��� ���5 � �v8 � � ���z��� �������������>���42�� �v8�� � 2 ������ ��� � � ��� ������ 2 ���>�� � ����9 �� � ���|� ���2��½O � ��2 � �'���� �z���!��� � �'�� ��� ��� ��� �>������� ���7� �>J)� �'����� ��� �M� ��,� �'��2 � � ��5�� �x���'���!� ��� ����z��� � ��� � ��� � � �7�� � � � ���'�>��� ����£�)�� � � � �%��� ���x��� �� ������ ��� � � � � ����2���9���238 ������� �'�����32��>�� ���!�� � � ���������2 � �)�B �� ���2 � H���� � ��� ��� � ������ ���/�� ������ �)���� ��� ��� ��

=t��� ��������� ��� �L�)� �������'������ �L���t���� � ���� � � �!�� ����� �� ��� �L������ ���� �|����� ���323����� �,� ������{�2���� � �� ��� � ����9 ���B¢�° � ´�� �� � ��� ��� ��� � �>����2��4�������� 2 � 5���2 � ���� ��� ��F�% 2�� 5���2 � � ���!� �� � � � ������ ��� � � � � � � �� � ��� � � ����� � ��� ����*���'� �� � � � � 23����¢ $ � ( 2�� �>O � ��� ����� �{2����9 ���!��� � �� ���?�)� ���� � ��5�� �'� �x�*� � � � Ov2 � � � ��� � � ���� ���� � ����� ��;}�*� ��,� ��� ��;}��2����� � � ���Ç ��� ���� ��� * ���?�� ��� �� ��� � � � ������ � �3238M�8��%��� � �>� � �� � �����!� � ���'������ � � ��� � ��� ����*���|� 2�� ���� � � � ��� � ��>��������� � ���F �����!� �'�����2������� � ��� � ��� � ����9 � ����� ���N�� �>�%����!� � �� � � ���'��� ���� & ������� � �� � ����� ���32 � � �I � ��� ��Á�� �)����� � � 238 �!��� ��z�'�� � � � � ����7� � �� ��� ��� ��� ������ �� � ��� ��� ���N� � � ������ ���32 � � �� ����� � � � � �����������:�)��� � ���� ��� ��� �������������7��5���23 ����� & � � �:�'�� À�À�À �'�����2������� � � � ��2 ��5�� �'�� � À�À ������������� �� �����!� ����{�2������� � �� � �65�� �'����� � ��� � ] ���)� �B���<���� ��� �M�������B�%��� �!�� � ���� �a�2� ���>�!�7� ��� �� � ��� � ] ��� � �Q����� ���32 � � � ���>�!�7� �����

I � ��� �� � �1� ���323��'��� � ���� � ������8 ����?� ���>�T2 � � �xP� � �N2���5��� �������y�*��� ��� ��� � ��� 2�� � � � � � ��� ���>������ �� � � ������ � �� ��2�� �{I � � �� � ��� � ��������:�*� �����T2 � � � � ��� ��� � ����� �M�r5�� �!��� � � ��� ���L�������T2 ��� �������232�� � � ¯

�?= � �'��� ��� � ��� � � ���>�7�!� �� ��� �� � � �N238��!���]� � ���������� � � �� � � � � ��2���5�� ����� � � ��������� � � ��� ��� � � �� � � � �� � ��� �� � ��8

È �

Page 69: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� � � ��2���5�� � ��� �������������B����� � ��� ��� �� � � � ����� �1���'� � �� ��2 � ������ ������ �� � � $ ���� �32��>� � ����� ��8]� � �7� ��)�{�!�� ��� � � � �'��� ����8 ����� ��2����� � ¿ � �>à ( �:I �x�� � ��� ��� � � � ��� ����8�� �2�8�� �� ��� ��� ��� ��7��� � ��H�'�� � � � �� � �|� ���<� ���32 � � � ��� ��� ��� � �� ��� � � ��� � �� � �|� ��� � ��� ��� � � ��� �L������������� ���� �����'� � � ��2 � ����7� � � � ��� ���'�� � � � �� � �1���|� ��� ��������������� � ��� ���'�� � � � �� � ��� � ��� �� ��� ��� ������ �� � � � ��� � � ���>�!�7�M� ���32����

��������� � � �'���!9���� �zP�; � � ����)� � $ ������� ����{�2�����3� � � P�5�� ( ��� �� � ��� �������� ��� � � �3�7� ��� ������������ ���B2���� ������ � � � �� � �����!9 � �'���!9 �zI � �� ��� � � ���>�!�7� �'�����!� ��� � �� � �N����� � � � � �����|���� ����1�����}� ��� � � � ��� ����9�� �'����9 ��� � ��� � �:� � �L���� �� ��2�8�5����'� � � � �� � �{����� � ��� ���|2���� � �� ��7���]� � ��� ��� �� ��;��?� ���� ��� ����@��� � �x���� � � ��� � ������������� � �

����� ��242,��� ���� �� �'��� ��� � ��� � � ���� � ��� ����� �� � � �� � �E�7���� ���� � ���� ���� �������y�*��� � � � ��� �� � �{������� �� � � � � � � ��� ���� � �� � ��� � � ���'������ � � ��8:����� � �D2 ���9 ��� � �(P� � �(�� � ��� ��� ��� �?�)��� � �������y�*���� ���Q� ���32 � � � ��2 ���� � � ������ �������� � ��� ��������� ��� �:���>��Q��� ��� �1� ����9�� �'����9 �� � � � �'��� ����8��

0.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8

Fraction of failed searches

Fraction of failed nodes

Failed SearchesRandom Re-route

Backtracking

� � ����� �����]¯�=�� �����'��� ���� ���� � ����������� ��������� ���32 � � �)� � ��2���5�� �� � ��� �x�a �� ���� ���� ��� �{�%� ��� ���� ����� ���42 � � �� � ������ � ����'� ����� �!��� � � ��� �z�%�'��� ��3� Á��� � ����'������� ��� ���:� ���32 � ��� � � ��2 ��5�� �� � ��I � ���� ��� ��� ��� � ��� � ����9�� ������5���� � ��232 � 5��� � � ��� ��2��>���� ���)� �?���(� ���32 � � �� � ��������5��� �3� � ��� �� � � � �'� �� ��� ���� � � ���>�!�7����*� �������!� � � �H� ���32 � � �� � � �)� � �����12 ���'� ��� �� & �%�'��� ��3� ����E� ���42 � � � ���>�!�!� ��� � � ���& ���'��� ���� £���1� ���32 � � �� � ����� F � ��� � ���� � �����!9 � �'���!9�� � � �35���� � �� � ��PT����,� � �:�����r5���� ��,� ��

�� � ����� � ��� � ����)� �����Q� ���323���������{��� �:���>�� � � � ��� �x����� � � � � � � ������� � � ¯ � � ����� À � � ���32 � ��� � ��� � � � � ��4232 ������2 ���� ������ � À � � ���32 � � � ���>�7�!� ������=�� ��� �:�'�����2 �� �>��x5�� ��8 ����� �����'�� � �� � � �È �

Page 70: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� ���2 � �)���� � � ���� ��� � � � � �� � 8 ������9�� �'����9 �� � �� ��2�8���3����232�8��

09

10

11

12

13

14

15

16

17

0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8Number of routing hops

Fraction of failed nodes

Failed SearchRandom Re-route

Backtracking

� � ����� ��� +]¯�=�� ���65�� �'����� ] ��� � �D���c�!�� ��� �{�������D�%��� �!�� � ���� �a�2 � ���>�!�!� ��� ��� �{�� �� ���� x��� ��� ����'��� ���� z����� ���32 � � �� � ������ � ����'� ��� +������ � � ��� � ���)� �Q���t�!�� ��� �N����� �Q�%��� ���� � ���� �a�2 � ���>�7�!� ���?5�� �'�� � ��� �1�%� ��� ����

����� ���32 � � �� � ������w � �� � �� � ��� � ��� � ����9 � ����� � ��232 � ������� ���323����� ����� � ��5�� � ����� ] ���)� �����T�!�� ��� �������� ��� �� ��232���;�� � � � � � ���������!9 � � ����9 �� � �BI ��� ��� ��� ����� ��� �:����� �����E�'�� � � � �� ���� ��� � � ��� ���5�� � ����� ����)� �c�������� ��� �L������� � ����� ���� � ��������� � � �� �{��!� ��� ��� �D���������>� �32�� � 8������� � �D� ���323���������'����� �����B=�� � ��� �>��� ����?�)������ � � � � � � ��� � � ��� ��� � ����>�!�!� ���L� ���32 � � � ��� �{� ��� ��� �����!�� � ��� �$ � � ��� �N� � � �!�� ��� �N����� � ( 2 ��� � � � � �����232)��5�� � ����� ] ��� � �Q�������� ��� �:���������

0.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

Fraction of failed searches

Probability of node failure

Constructed NetworkIdeal network

� � ����� ��� À ¯ � ��� �:���>�'����� ��� ��� �N�%� ��� ���� ����D� ���32�� � � ���>�!�!� ��� �� ��� ��� � ����2 ��� � ���!9 �� � ��� � ��� � ����9z��� �� �!�� � � � ��� ����� � �� � � ����� ��� ����'� � ��3� � ��5��� ���Ç ��� ���� �������È �

Page 71: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

I ����2�������� �N���>�� � ��� � � ���>�!�7�z�)� �������'������ �|������� � � � ����2 ��� � ����9 �� � �������D��� ��� � ��� � ����9��� � � �7�� � � � ���� � ��� �|� ����'� � ��3��� � ��5��� �� Ç ��� ���� �������#I �|�'�� À � � � � ������ �(���p��� �� � �!�� ��� � � ��� � ����9x��� � ´�� �� � ��� � �*����� � � ����232�8 ��� � ��232���� ��� ����� � �� � � � ��� �?� ����'��� ��4� � �� �x� ��2���5�� �� � À�À�À�À� ����'�������<� ��� � ����M�'�� � � �N238N�!��� � �� �� � ������=?� ������>�!�!� � ��� � � �'�������� � � �3� � �E�'�����!� � � �{� ���32 � ��� � � � ������32 �>� � � ��� ��P��'� � �� �'��� ����8 �� ��� �����>�!2�� � � ��;}� � � ��� �� ������ ����������� À �!��� � � ��� � ����)� ����L� ���42 � � � ���>�!�7� ��� ��� ��� �����������>���42�� �v8.��� �� � �M� ���423��� ������'����� ����� I � � ��� ��� ��� ��� � ��� � ����9��� � � �7�� � � � ���� ����� ��� ���� ��� ��3� � ����������?�)� �������'� ��� � ��232���� ��� � � � ����2� ��� � ���!9 � 5��� ������ ������ � ����� �� �� � �<��� � �������(�)��� � �������� � � � � � ��� � � ���� ���� �������� �����!2�8 �����232 $ � � ����'��� ����� �� � ����� ( �(F ��>���)���>�'� ��� ��� ��� �������232)� 9�� � � ��� �B2����9 � � � � �'���� ���� �mJ)��� �� ��� ������>�!�!�z�)� �������'������ �����'������2�8 ��� � ��� � ���2 � � ��� ,� � ������� � � � � ������� � �������Q����M�)�L������� � � ���N�����65�� � ������ ������ ����� �)�� ����� �4� ���������������

�M� � 2 �|���� �Q���� �����9�� � � ��� ���D���� � p��� ���E���� ����N�����323�� � # $ 2���� ¥ ¢ ( " $! #"%$ » ¦ #"%$& #"%$ ¦ (

¿ �� 2����D¢*à #�$ #"%$ » ¦5 ( " $ #"%$ » ¦5 #"%$' #"%$ ¦ ( ¿)( � O*�+� ��� Ã" $ #"%$ » ¦5 » #"%$' #"%$ ¦ ( ¿ =,�D�>O*�-� ���� Ã$ 2�����¢

�¢/. à # $ #"%$ ¦ #"%$�0 ( " $ #"%$ ¦ #"%$ 5 (

1�2��9x��� � �43,�5�63�� ¿ �� 2����D¢*à #�$7 #"%$ » ¦8 5 ( O���������>���322�63v8 & $ 2�����¢

�¢ . à # $90: #"%$ ¦8 ( O

��� � ��� � �&3��;��3�� ¿ �� 2����D¢*à #�$ #"%$ » ¦8 5 ( O���������>���322�63v8 &=��>�T2 !<'= ¯<Ç}��>�>�>��8 �������� �?��� � 2��@� ���*���� � �E�����;��� A�� 8 �!��3-���� =

=B�>��2 ;<'= ����>�>�>�C� � �#��������� �D��� � 2���� �E�@���� � � = I ����3 3����E3D�;�63��:���� � 3 �+�>�2�����%3-�3��%3 �+�E3 ��8F�5�63��F���:�����323�� �:G'3�� ����� �Q���#2��H��>O � ���-3-����� 2�����9�� � ° #�$JI 2���� 0 ¢ (C=

I ���65 �!���@�;�K3����E3?��� A�� 8x����3-����L���M�����r5 �!2���8N� 3*�D����9 ���-�H����� � �� ���?���+��� � �H�O���C�>������P�Q� 3 �+�3�,� ����� �A���:� �Q� �>�!2�8�����3-���>��2� �!�������2�-�s�����R� �>�!�7������Q���P�B� A ��OS3 �>O�� A �T� 8��%3 �FG 5 �U�2�V3�� ��� � ��� ���W�>���y8������263-� = ( ���2��@� �?�*���� � ��2����>�����@�5�,3����E3������2�����9�������%3 �+�E3 ��8� =#�= G���-�����3�� ���5 �+� �*��� � Ov22�:� � ���%3 �+���T3-���H�K�;�63�� ;}�@�H� �43 G��2��� 2��H� 3 �N����3-���>��2 =

I � A 3������N���V���X�2�:�*���-3-���43 P��+�%3N�%3 �Y���Z3�� �� �+�6�H� ��� �x�A� �&3N��26�����C�63����>� �%���V����7�

È +

Page 72: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� 3 �E����9��AGD��3P�>���8 ���+�� �P�%3-�3242 � A�� 3 � � � ��� � �-� ���= ( ���� ���263-�P�:�H�%3�2�8 �>����2�8 3 ���H� O� ��� ���-���H����2�� 3 �+�3�Q� � ��� ��2��39 3�� 22��� ����3�� �A���7� 2 �= ( � ���&3 � �%3-�2��N�*�H�-�-��� �32��63 8M������� 3�� ��-���M�32��>� �-3 �+�E3 �H� ���D���2 � �E����9.�%���:������� � O � ��� ���-���H����2R� ����� � = I �����2 � 3�� �Á�� � �H� ���3�� �� ��� ���-���H���?3 �H� ��� � �4353�� ���93����2����y8��-�3�A��2 � ���%3 �C����3-���H�H���W3�� �>���7����� ������� ��2�������� G�?���4�!�L�E���2 � ��242��@� � ������!� ��� � �%3-�B3 �1� � ��5'�4� �� �%���H� � �T2��3�A���B3����E3W�>� � 2��H� �%3D�2�����8��-�3�A��2� ����� 3 �U3�� � � �-3-���� �>���7����� �= � �� � � 3 �E���!9yO�����32 � �����N��� � � �>�!�!� � �7���������-�M�L�%��� 3�������:� � 2?�>�6���&3P��232��@� � �A� �43N23�]�A�E3-���H����� � �>���]8 �����%3-����� �����5� � � ����!� �;�63�����3{����5����� 3 �� � ���+3Q3 ��2��}�A��2����]� � ���� $ ���!��� ¿ � < à (C= ( �� ;}� �+��� �&3-��2�� ���263-� ��2�� �U�!���@� 3����E3���-�����V�+�>�>�-3� �>�!�7�U3 �7����� � �5����!�U���?�����!9&3 �C����9�����M��� �E3�2�8 ���:���!�65 3�� � �!�%���+�M����� ���W� �>�!�7� �5�2�F3�� ��� � ��� ���?�����323�� �= F 3��D���2 � � ���&3 � �%3-�2�� 3 � ������2�8 � 3��������%3 �+�E3 ��8Á�%���C�>��232�8 ��� � �� �-�6�H���3�� �?�%3 �+�E3 �H� � 3����E3D�A���x� �� �� 3�� ����� �(���u�����32 �� � �>�7�!� � = � ����3�� �������H�M���-���� � �3� �93-���H��D���2 � � 3 � �%3� � 8U3�� � � ��+�63 8�������� �-3-� �L���?��� A�� 8 ����3-�2�� ���!� � �Q3 �U� A ���@� 3�� 8��A���� � � �>��3 �� 3 �������65�� ��� �-���+�>�T2 ������� �-3-� ��2���9 �����H�y8��>�63 8z���������T��%3-� �-�;�E�H�������%3|�8 �:���&3-��� �����323�� � =

� À

Page 73: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� ��������� �

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

F��U3����2���7���>��3 �:G�� ;}��2���� � �H� ���D3�� 2��2�>�63-�E3-���H���?��� � ���-3 �+����3 �� ������� 3-�>��2 ����� � �������*�H� �>� � � �E3-�>�%3 �!��93��� �A��232 �� �M� 9'�3�F���+�>���z�����;���:�T2 � �&3-������:� A � OS3 �>O�� A �;� 8��%3 � =

� ��� � ���W� ���D�1� ���!�#"�$

� � ;}��2������ �� ��� (Q���>��3 �&%'G�� � �43{� A � OS3 �>O�� A ����8'�%3 �M��2��39 ( � � ¿ + È ÃSG (<����� � ¿(')' %>ÃSG %����½O3 ��8 ¿ +�+mÃSG�=B�>� �%3 ��8 ¿(' % È ÃSG���� � ���4� ���68 ¿ � �mÃ��� � � �2�%3 �+�����3 �� �������F3-�>��2 �>�������H���7�M�����;�:� A � O3 �>O�� A � � 8��%3 � = =?� �>�����:��� �+�E3-�3�H�M����3�� � � 3 �E����9��R�2�D3 �B� 3 �C� 5 3�� � � �&3-�63v8{��� 3�� ��� ��?���4�!� �-3 ��� �L3�� � ������!� G#�����H� ���8���3�� �P��� � �2� 3�� � 3*�D����9 = =t� 3����2� � � G�3�� � ��� ����65 �72���8P���+�>�T�M����3�� �%���+� ��� � � 3 �+�3�,������� ���P�����3�!�>3�� ��� � �D��� � � � ����!� � �>� � ��� �������==�� 2��]�A�E3-�3�H���#����3�� ��� � �R��� � � ������!� �R�2�P3�� �r5 �!2���8K� 3*�D����9>�>� ?�� 3 �+�>��� �� �8�3�� �������5E��23 �E����3�� ���?� � �&3-��P �+�D��� � 9 8��D� � � �93-��5 2�8 = F��K� � 3*�D����9 22��9 (<����� � G43�� ����!�@�H� ���/3�� �������M������93-���H�F���?3*�D�>O�����2 � ¯' = w��������2��P�>�>���<� � ����!� �,3 �M��� � �Q������%���C�N2�8P� �P3����E3;������� � � 3-�;����7� �:��� 3������ �63-�

�������R�!���>� ���*� � ����!� �W3 � �M�����E� �= F � (<����� � �5�63���� �>���7����� �D��� � ¢z� � ����7� �AG��+����Q�� ��� �����!�:������93-���H�>����!�N���DÇ}w � O '{¿(' Ã�����>�C���43 A �T�;�63��x���6���:���!�����>���32���3v8!3����E3 ���!�V��� ��2�L� � �*�H���-���T2 �����!�E3!�N�H�%3 $ ' ¸ 23��� � ( µ ¢ % � 9 8�� = =?���:Gc���������2�� �����65�� � � � ���E3���+��223�H� � ����2������A�2��P���:�H��>3�� ��� �� � =

% = F��F� ��� ��3-���H��G����������2�� 3�� ��� �� � � �43-�3P �+� $ �%��� ;���:��2 G3�� ���QF�%Z� ��� � �+� � (D� ���-3 �+����3 �

� '

Page 74: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

3�� ��� �� �D����������+�N2�8P���N3�� �r5 �!2���8V� 3 �+�4��������� �= � ���{� ���263D���B3����E3AG��63 � � �,����3,� A�����8 � ��� ��3-���H����2W� �7���������-� 3 ������2������ 3�� 3 � A 3����E3!�2�!�>�����&3-����� �� �%��������3-���� �2� 3�� � 3*�D����9 =

w��@� 5 �:Gc�����!������N� ���263-�����U�!���+�����T2�����>3�� � ������!� 9 8'� ��� � ���U3���+� � �%3 ���r8'�Lj���e�kr_�e�ff�b���e�fa_%k7g = Ç]���E3-����2t2��]�A��22�63v8 ���;3�� ������� �-3v8F�?� � � 2��E3 �� � � ����!� � �>� 2��}�A�E3 �� � 2��H� 3 � ���7���3�� �!�2� 3�� N� �E3-� �%3 �!��93��� �= ����� ;���:��2 G1�3�R3�� � � ����!� �Q�>� � �����E� �AG�3�� � ��� 3�� � 3½O�D����9L�M�����43-���2� �� � ���E3-����2�2��}�A��2��63 8�G��������� � ����������������������!��� � �������� � ����������������������� �� ��!��� ��"

�D���2 � � 23�]�A�E3 �� � 2��H� 3 � ���7����3�� �,���P3�� L� �E3-�L�%3 �!��93��� �= F ��� � �>�!�!������� ���8N� � ����7� ¶ ¸'

��� ���M� �� ���E3 2�8���� � ���� �]8 �F� �>�!�!� �%����� � ����!� ¶ G13�� � 3 �E���!9 �D���2 � � �>��2 3 ���� 3�� ���������+�>�E3-�3�H���%�!�H� 3�� P��+�%3!� �>�!�!� 3 � �2�:�����r5 3�� � �!�%���+�M����� ���,3�� � ���H� � � �>�!�!� = =�������a����93-���H����22�63v8�� 2���� �>���T2��3�A�E3-���H��� ����!� ������� � 3��!�������z���T� �����E� � ��� � �-�M�>�-31�������;�-���� = F��� � w|= GT������������P�5�3232��>�>� 3�� � � � ����!� �53 �x�+��� � �H� 2��}�A�E3-���H���5���F3�� �65 �!22��8U� 3 �E���!9 G ��� �3�� 3 �E�K� �>�!�!� �;�;�4232�� ���H�:�T2 3 2�8V��� � � � � �&3D��� ���7�M��3�� � =

� 2�� �G����������������� � �%3 �!�68��,3�� ��� � �+�2����H�V3�� 9 8'�:G � w|= � 8��%3 �>� � �P����3 ���-�32�8N������*���-3���H�:��2 ; � �+� �?����7�F���,� �>���>�E3��7� ��3 �>�{9 8�G�9 8��,�;�63������M�:� �-3-���2�H�+���� �����>�����!��;���>�E3 � �+� � = Ç}��7� � 8'�-3 �>�1�A��������31� � ���-�32�8��� �� �����Q�>����2��3�A�E3-�3�H��� ����!� ���L5 �C�-���H�������V��� � �� � O2 5 2�� ��2��4�A�E3-���H� $ ;}��2������ �� ���£Ç �93-�3�H� * = � ( G5�;�63�����3K� ��� ���� ������3�� �H2���8 �H���Q�>���%3 �C���93-���H���� � �63-� ���+� �]�A�2�E3 �� �>�����&3 ������� ���H�%3-� = F������H�43 �C���%3AG�� � �E3-�F�-3 �!��93��� 3����E3 � � � ����3 � �-3 ���683�� 9 8z��� � �+����N�A����� �� �� 3 � �����r5'� �� ��232�3�� � � �E3��� �;��2323�@�;�����:�%�����>�-���:�T2 �� � �!238'������>�!�7���63 �93��� �= � 3?3�� �-��� 3-��� G'� �A���H���H�&3-��� 3 ���� 3�� 23�H� � � ��2������A������������ �-3-� �����/3�� � w�=;�Q�8z��+����:���������2��G��� � � � � �&3D����3�� � �!���������-� ������� � ����!� 2��}�A�E3-���H� =

� ��# $ ��� ���!������D�'

I ��� �����+��� �>� � �:� � 2*�����;�:� A � OS3 �>O�� A �5� 3*�D����9H����� �� �H� � � ���%3 �+�3��3 ���� �E3-�>�%3 �!��93��� 3����E3,� �A��232 �:j�%p_&�('Tlre � � = � ����� � ���:�H�V3 � ;]�T2������V� 9����V���+�>�����?��� � 3-���32��2�zÇ �93-���H� * = < G� �H��5 ���{�65 ��5�� �Á����3�� � � 5E���43-�E� �#���3������ � �E3-�5�%3 �7��93��� �= � � ����!� 23�]�A�E3-���H�L��� �{� 8������>�3���� � � ��� �63-�3�H� ��� ��� 2 3-���H���A��� � �� �H� ��� 3-��� 2����H�>�C�63����>�3����� 3�� �-� � ���T3�� ���+�>���/G1��� � ���!� ��� � ��� � � 9���� ���+�>�T� � � ���� �B�H��2�8�2����H�>�C�63����>�3�K� ����� 3 � �-3 ��� �2���%���C�>�E3-���H� �>�*��3��63-�� �6����*���+� = ����� ���:�*���-3-���&3�2�8�G3�� � �������N�����!�����������3�� � � ����!� 9 8��AG�� �N� 2��E3 �� � � ����!� �

�)%

Page 75: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

�>� ��� � �&3 � �>� ���7�.��3�� ���2� �U��9'��� ���+�>��� = =������Q�M��8�� �� ���2��%����� �-3-����� �>����22�3�A�E3-���H�������7� ���|��� � 3��7������ ���D� � ���E� �:G ��������� �� �����@�5�-����G ��� �U � �A� �43 � �>�!�7������ = Ç]9����U���C�>�������2�� �L������*���-3 �ybTd ��f�q ��� ocq]l>_%q]j�����!�K�����C���� � �+� �:G&� =#�= G}2��}�A�E3-����B� ������!� � �?���H� 9 8'�D2�� �;�63������M��� �-3-�����F��� �A�3P �� �C���� �� = =�� � �����D� A �V���&3 � �%3,���V������*���-3-�2������H�:��2 ; � �+� �?���� A � OS3 �>O�� A � O*� 8��%3 �>�AG ��� ���� �-�6�H�������>�>� 8��%3 � 3����E35������@���+3-�<�+���� � �+� �,�T�����*�H� �� ���������� � � �%3-���H� ¿ È À à = Ç}9'�������+�>�T���D�>� � �-�32�� �&3�3 �!��� � � ���423�� � ¯B� � 9����P���+�>���P3 ��2 �+�E3 ��� �:�65E��2�����:22�>�-� �%�+���93-�3�H� �����63-�?��� � �<�!���H� � �E3<�+��� � �H� �;��3�����3D� ���H�M���� � �������H��� �93 �� G��� �N 5 �3�� 2��H�-�?���R��� # $ ' % 2����D¢ ( ���+���93-���H�����W3�� ��� �� ���7���H� ���8 ��� � � 5 �+�+�>��8U�%3-�3242p2 ��5 � �N�H�%3����3�� ��� � � �2�>3�� 2��>�-� �%3?����!5'��5�����B���H�N�@�H� �43 = Ç]9����K���+�>�����D�A���V��2�� �{� ���H���%3 �!��93 �� �5�63�����39����@�?2 �� � ���53�� 3 ��3-��2;�]���� ����� ��� � �P��� � � 5E����� �= F�� ���H�43 �C���%3AG � w�= ��8'�%3 �M�>����7�Z���%����%3 ��8N��� � (<����� � � � ���� V|�@X7� S>X���9����@�?2 �� � �>�@���3T3�� �+� � ���13�� � 8��%3 � ���,�63-�<9 8K������� �=� 263�������� 3�� � � 8'�-3 �>� �����63-�2��232�8z�!���]�H� �H5 �!8�2��>�+� 9 8'� � ��� �?���3�7� �A��������31� � ;}������%3 �� ���-�3238�Gu�%��� ;���:��2 % ´ ¥�� � �� �43-��P �+�AG����H� � ���� � �&3 �>�*��3 3�� 9'�����?2 �� � ��� 3�� �-� � ���T3�� 9 8�� ����� �2�,�%3-�3232 ���U�2�43 � �-3-������������ �-3 8 =

=�� � �-3E����3������D�!���>��3 ���2�E���+�H����� � �� ���<�%��242��@�;��¯�� 1� �����+��� � 9'�3�K���+�>�T���?���HÇ �93-���H��� * = <'=Ç]�H� 5 ��8�� � �43{� 2��E3 �� �D����9 �������65 � �� ��� Ç �93-���H� * = * = I �H�35 3�� H� 3-���322������3�� � 9�������+�>���U��26�����+�63����M�T�2��Ç �93-���H� * = È = Ç]�H� �>����22�3�A�E3-���H���D����� 9'�3�F���+�>�����,�>� �H��5 � ����Ç �93-�3�H� * = � =Ç �93-���H��� * = �Q��� � * = � � �����C��� � ���2�3½OS3 ��2 �+����� ������� �-3-� �D��� � 3�� � ������� � �!���������-� �%���T�!� 9�������+�>��� = (D�H�� �-3-���H� ������2�8��-��� ��� � � �!�263-� �>� N� �����C��� �� ����Ç �93-�3�H� * = + = ��������232�8�G � ���H��� 23 �����Ç �93-�3�H� * = ' À =� ��� �!� � � �������! �

� j�%p_&� f�_�j k4G ���&3 ��� � �� �� �]8�%���� ¿ + < ÃSG����/�?�+��� � �H�>� � �� ����2������ �� 3 � AE� �E3-�;�%3 �!��93��� ���-�H����� � �����T� 3 �@� �<��� �2����� ���-������2�8 � � �>�+� 2��2��9 �� 2����-3-� = 5 2 À ��� � � 9����x2����-3D���D��22����9 �� 2����-3#���/��232���� � ���� ������� ���-�������� � ���8�9 8 = ����� ���7� ¶ ��� �E3 �!3������ À G ���!� ��� �� �2��2 5 2 ¶  ' �>��� �>�+� ���2 5 2 ¶ ��� � � � � �&3�2�8P�;��3��N���H� P�; �� ���������>� �32��63 8 &1= F �F� � �����2�8Ov2�����9 �� � 9����M2����-3AG ���7�U��� ��%3 ��� �L�z��� �� � �-� ���{�*�H���43 � ��� � � �!�� � �-� ���{�*�H���43 ���%��� ���!��2����%3Q�2� �?���3�7� �63!�>��� �>�C�AGc�������� �65 �+�E� ��� ¥´ ¹ 8 �*�H���&3 �+�1� � ��� ��= =�� 2����%3-�Q�E3 3�� ������� ��2 5 2 ���93L��� * ;]��� �-��22��� � ,

� @�4LF J�8 *F)�(2#231(F)F,�*83�B$A� B F(:L� ����1(�08�4<�A2B �:<��')J /234<'(JH:<�9?(4=B �A'(234L��' 4KO �HO<G)5 ��8#�H'(�� *�3�38�4<+(1(���I�*5 ���)�M8��023�H1(8�$0�HG(5 ��8���( B F(:<�HG@4<��2B') B � @>�8<NO� <

Page 76: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

3����E3V��232���� 3�� � � ��� ���!��� � �K3 �.� 3 �C��5 �+� �� � ��3�!9]238 = Ç �>�!�7������.�%���V� ��� �� �;�63��X����>�-3-�4� �2��>�19 8 ���5���2�5 �Q� �>�7�!�������MP��+�%3Q�2� 3�� ������� �%3B2 5 2JGB��� � � � �E3 �� 238 � �!���������� � ���;���2 5 2T�?� � 5 �P�63{� ���H� ��� 2 �>��3����E3�3�� ��� � ���L����3L�2� 3�� � ���� �43�2 5 2 = (D�H���+� � �+�����3�� � �>�7�!�z���E3��U����� 5 �+� �!���@�;�?3����E3����>�:��� 3������ ´´ ¹ 8 ��� �� �,�>� � �>�!�7� �� �H� �65 �+�E� � �2 5 2JGB�H��5�����U��� ��5 �+�E� � �>�!�!� 3-��� ��� # 2�����¢ ´� ´ ¹ 8�� #"%$ º� � �;�63���¢ ��� �� �!�E3�2 5 2 À = Ç]9����2����-3-�?���65 � A � ;'3 ���-��5 2�8 �%3� � � �� ¿ + < G)+ ' G < À G � È G � *�ÃSG ��� � � �A���� 3�� 8M� � ���� ���N��2�������2����2������A�������� �+�E3-���H�����>� ���>�-3-�3� �2��>�!2�8N�� ���2��2�H���>�+��232 2���8'�%3 �M� ¿ * À G * ' à =

LEVEL 2

LEVEL 0

LEVEL 1

HEAD TAIL

13

13 21

33

33

33

48

48 75 99

���6���� * = ' ¯ � � 9����M2��2�%3?�;�63��H¢�° ����� � ����� ��� 2�����¢���° < 2 5 2�� =I �E���2 � 2���9 3 ���� � � �E3-�Q�-3 �!��93��� �+���>�32��>��3 �L�Q� 9����N2����%3�3 �!�!����*���-3�3v8]���3�A��2�� �����>��8 3 � A

��� �+�E3-���H���c�H���;� � ��� �?���H� ��� � �1�>� �%3 ��� �� �E3�� ���>�+�E3 2��}�A�E3-���H���1�2�!�|���6����2�8 � ���-3 �+����3 ��� 8��%3 � ���� � �9353 �H������ �� �3�93-�>��2 � ���324�� � = � � 9�����22���%3;��2��H� ���5����3 ���������%���|����|������*�H� �AG� �A���� �63L2�����9��|� �� �� � ������8 ��� � ���;3��]��|5}�2�� �+�>�T2 3 �H�*��3��������323�� �;��� � ���H�� �%3-���H� = Ç������ �H��2�8 �H� � ��� �� � �>��� �>�Q��� 3�� ���6��� �-3½Ov2 5 2#2����%3AG ���7� ����!� ��� � ���93-�Q���Q�U�-�����2 �*�H���&3|��������323�� �����H� � �:�65E��2�� �>�-3-�63-���H���D3�� 2��2�%3AG&��� � �%���C�>�R������3 � �*��3 3����E3 �{��%3E�����}� �-�R�{���H���%3-���&3���+���93-���H�����R��232B� �>�!�!����� �+�E3-���H��� = Ç]9�����2����%3-�5��2�� ���>J �L� � ����>�C���43 A � 3����E3 ��� � ��5�� � ���2 ��� � ��>� ����3 � ���>�+�E3 �� �����H� 3�� � �%3 5 � �;��3�� �]� �A���-�3�H����2#�+��� � �H� � ���324�� � = Ç������ L ���!� ��� � ������H��� �93 �� �H�N��5 �+�E� 3 �{�H��2�8 #�$ ' ( ��3�� �?��� � �AG 5 �V�����H���%3-���&3E���!�����>���32���3v8{���/��� �� � ���423�� ��;�3242 �2� ��2��E3 �N2��>�+� �%�+���93-�3�H�z����3�� �����5���5��������� � � =

( ��;� ��233-�3�H� ���,3 � � P�� �M� � �+��2�� �:�E3-���H�M���W�M��9'���M22���%3,3����E35� �A��2321�>��9'���U���+�>��� = � �5����F� 9�����2����-3AG ���!�����?3�� ¢ ��� � �Q�2� �U� 9'�3� ���C�>��� ��� �F� ��� �B���?���2�3-����2 2�����9 �� 2��2�%3-� = =�� 2 5 2 À 2����-3B���H���-���%3-��������232D��� � � ��� � � ��� �= I � � � � 9���� ���+�>��� ��� � �2�%3-�������2��� �� �%�!�H� �� 9�����2����-3Q��� 3����E3!3�� � �>�68�� �>���8�2����%3-� �E3{2 5 2 ¶ G���� � 5 �!8 ��� � � �>�-3-�3�A�����E3 �!�����H� ���3�� � 2��2�%3-�AG}��43-�42�3�� ��� � �?�>� � �T2����&3 � �� �2�43 ���-�����2 3 �H���?�>� 3 � # $ 2�����¢ ( 2 5 2��D�H�F�65 �+�E� �= �� 9���� ���C�>��� ������*���-3-�Q� �>�!�7��GD����� �-3AGB��� � � 2 3 ��� �+�E3-���H���L������2��������� 3 � 3�� ������� � �*�H� � ����

� *

Page 77: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

��� �+�E3-���H�����%���T� 9����x2����-3-� �&��� �A�� GH� �����@� ���> �M�>��* = ' 3����E3T��2������+�63����>�(�%���T� 9'�3� 2����-3-�(�A���x� �>����22� ���� �3� �93�2�8F3 �V� 9'�3� ���+�>�T���AG �����V� 9���� ���+�>��� ��� � ��35 ��2 �&3;3 �F������232 �93-���H�����(¢ � 9�����22���%3-�3����E3?���>��� �V3 �M�����>� ���H� ���B3�� ���?2���� ��2 5 2�� =

� �A���� 3�� � �>� �>���8�2����%3-� �E3 ���!��2 5 2JG13�� �!������� �!3����E3 ���y8 ��� � ��5�� � ���2���� �� ���>� O3-�3�A��� �E3 � ��� � �H� � �>�!�7� ���!�-�M��232JG 2����>�2���E3-����H�*��3�� �+�����2 �@�H�2�43-������� ���423�� ��� � ����3�� �*��3-� =����+3�� �+�:��� G ���!� ��� � ������� $ 2�����¢ ( � �����y�*���+�1�H� ��5 �+�E� GD��� � �;�63��������������������>� �32��63 8U������ � ���Q�2� ��2��E3 ���= F �.Ç �93-���H� * = �V� ����� ��5 3����E3 � 9'�3� ���+�>�����!�>� � �-�42�� �&3�3 � ��� � � ���423�� ���� � ����5 ��� ;]�������-���H�H�+�E3-���:��� " $ ´

#"%$ ¦ ( �;�63��H¢ ��� � �����V3�� ���+�>��� =F�� � ��� ��3-���H�F3 �x�����65�� � �����{�����263,3 ��2 �+����� GT����5�����M��� " $ 2����(¢ (<�� ��� A 3 �N������*���-3 #�$ 23����¢ (

� �>�!�7�>3-��� �>��� �>�+��3 �B� � � �-�-�>�!8������ � ���-3 �+����3 ��{� �E3-�Q�-3 �!��93��� �(����� �� �H�>��� � �W�2�P�L�H� O� ��� ���-���H����24� ����� 2�����9 �� �8��+��� � �H� ���H��� �93-���H���W�-�E3-��� ��8'�2��?� �-3-������������%���C�>�63v81���H� � �63-���H��� ¿ *>à =I ���32 3������z23�@� �M�*���� � � � ���� �V� �H� ��� � � � � ��� ���-����:��3-���H���V3����E3 �>� ����3 �-�E3-�2� P ���]8Z� 9'�3�Z���+�>�����:GT3�� � ��� �������X�-���>�42��>�+�63 8 � 3*� A � ��9'��� ���+�>�����N��� � 3�� � 2����-�x���Q�:� � 2�����H���-� � � �� ���V3�� �@���� � 3����E3;��� " $ 23����¢ ( ��5 �C�E� {� ��� A ��������3��!������+�2�-���� =

I ���@� �H��5 ���%���+�M��2 � P����63-�3�H� �����P� 9����F���+�>��� = %(� �A��� 2�8M�?���3�!�H2����-3-�,�P��� �� C�� 2��H��H�3 �K�2�?���H�&3 ����232 �� �8F� d.q}d n(qlmj � _&���Tq���k6bTl�� $ C (C= I 3�������9���� � $ C ( ���;��� ����P�����3 �C��� � �H��D��� � �r5 �,� �H� P�; �� ��2������>� 3AG&��2�3��������M�2�N���+���93-�4� G�H��238���� #�$ 23����¢ ( 2 ����3��x��� P�;{��� � $ C (� A�� �53 �x� � � �+�E3 �� �H� �65 �+�E� �= =?� � �� �:���W3�� � ��� �+�������M5 �93 ��� ����3����E3 5 ��8�2�����9 ��2����-35��� 3�� � 9����U���+�>�T� �2�|22�>� 2 �� �]8U� �H� P�����3 �D��� � G���� � �V��� � C �2�5��� 3�� 2����-3�2��>� 2 ���]8 ������� � �H��2�8V��� ���,�:��� P�; ��� � $ C (C=

=t� � ��� �H� �>�*��353��������%3 �!��93��� �����+�>��232�8�G � �;�3242/� A�� � �H� ����3-�E3-���H� = 3�� � � P����63 ��2������>� 3AG�2 3�� � � 3�� � 3�������242P ���63 �D��� � �����H���+���%3-����|�����7���>�+���93 �+�D�2��� GE��� � 2 3������H���+���%3������232�����P����63 �D��� � � = I �� ����������+����3-� 3 �x� � �;3 �>��� � ��5�� � ���2��!���>�+���93 �+�����W���D��� � G��%3-�>�+3-�����;�63��M����������C����3 À �'�Q�E��� � �2� � ���2�3 � �� ´ ¥ Ä Ä Ä = 3 � ��� 3�� 2 ���3��N��� G&�5�63���� �y°� ��� G��� = F �9� ��� ¶ G&���C�63 �� ¶ ����� 3�� ��� P�;:��� ���c2 ���3�� ¶ = I��C�63 �� ����� 3�� ; �:��3 8>�D��� ��=F �pAM��� � �>� �*��3��N�D��� � �AG'���+�63 A�� ���pAK��� �{��� P�;x��� G�� =#�= G��� �� � A ��° A = I��+�63 ² �����3�� ¶ OS3��z�7���>�+���93 �?����3�� �E��� � = I��+�63 ´�� ¥ �%���,3�� ���H�>�N�H�H��� P�; $ �*�H�-�+����2�8 �:��3 8 ( ���3�� �D��� � � ´ ��� � ¥ =

� 3���+��������3 � � 9'�3�P���+�>�����AG&3�� �*��3%3 �H��2 5 2����D��26�?��8��R� � �����2�8Ov2�����9 �� 2����-3 ·�� ���H���+���%3-����1�����232'3�� ��� � �W���{��� �� �D���D�������;�P�������6���� * = % = F�� � � �+��2JG������ ���!� ����� � G�3�� �� �����2�8Ov2�����9 ��

� È

Page 78: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

2����-3 ·�� ���H�43-���2���Q��232�C.�%���Q�����3�!� ��� �H��� P�;���� � $ C ( G1�2� ������� ���-�2��H��� � � = I �-�68 3����E3!����>�-3-�4� �2��>�?2��2�%3 ·�� �2�����>�-3?���(2 5 2 ¶ ��� � �]° ¶ = =����2�,�H��5 �;��� ����P ���63 � ���M�32�8���� � �����2�8Ov2�����9 ��2����-3-� � �2� ��� ���93����2����:�T2 � �&3-�E3-���H��G@�H��2�8F3����H� ·�� �;��3�� �E3L2 ���%3 3*�D�F��� � �5�>� � ��� � �&3 ���=� � 9'�3� ���+�>���Z���N��� �A��� 238 � �����>�32�8�� ·���� ��� � ����T2�8yOv22����9 �� 2����%3-��� � �C�E3 �� ��� 3�������� ���!�����H� =����3 3����E3Q� �A���� 3�� � ��� �+������� 5 �93 ���+�;�>� �+��� � �H� 5E�>�+���>��2 �:G ���7� ·�� ���?��2��������C��� � �H�5E�>�+���>��2 �=

MEMBERSHIPVECTOR

3321 75 9948

00 10 01 00 11 11

13

13 33 48

00 01 00

13 48 75 99

0000 11 11

33

0110

21

21 75 99

10 11 11LEVEL 1

LEVEL 0

LEVEL 2

SKIP LIST

���6���� * = %]¯ � � 9'�3�F���+�>���F�;��3��H¢M° �P��� � ����� ��� 23���(¢��|° < 2 5 22� =I �A��� ��2�� �N3�������9H���R�N� 9���� ���+�>��� ����� �+��� � �H� ���+�>�T��G ��� � 3�� � �2�5��� �� � � 3*� A �

C ��� ��� �?� � 5 ��C ��� �� �>� � � �-��� �&3���� � �H� ·�� = � P�� C'&)�|2 � 35��� � �C�6���435� �6����@���C���E32 5 2 ¶ ���5�63-�����>� �� ���E3 ��� �� � �-� ��� ��� � ���� � �-�����:GT� � � �93-��5 2�8�G ��� · �� � � ² G@�����O�3�����K����7���� � � ;���%3 = I �;�3232��?�+�63 C�� ² �����EC &)��2 � 3 � �����y�*���R�E3<2 5 2 ¶ ��� � C�� ² �%���DC'&)�E�+�6���&3R� �����y�*���:G��� � ���N� � �C��2��;�3232�3�������9x����3�� � ² ���Q�%���C�>�������� ���M�32�8N�������-� �}�A���E3-��5 ���H�:�*�H�-�>�T2 ��� �C�E3 ���+�3 �V��232��@� ���+��3-���� ;}��� �-�+���H���?22��9 C�� ² � ¥² ¹ ´ 3�� = I �?�+�63 C Ä �>�m; 5 2��%��� 3�� P��+�-3?2 5 2 � �E3�?���4�!�HC �2�����F�>�P�-�2���2 3 �H�M2��2�%3AG� =#�= G�C��������E3?2 ���%3?�H� � �6����*�����E3�2 5 2 �  ' =

� � ��2�3 �+���E3-��5 5�� �.����� � 9���� ���+�>���L������k6l>_�q ¿ %�+�G < �G � �mÃ}����� 9����{2����%3-�13����E3B�!���>� 3�� ����2��@� �2 5 2�� = F �R� 3����2��9z��� �F� 9���� 2����%3|�����+�>��232�8 ��� �F� � ��� ���E�+��� � �H� 5E�>�+���>��2 � · � � · ´ � · ¥ � Ä Ä Ä

G�?� � 3�� 5 ��24 ��� · ² �2�?3�� 2 5 2 ¶ 2����%3AG�3�� � � ����5 ¯�Dq]d�d e��c� � �cZ�U�� ·���� �7Z�V��7�r� �£��X V7��� �#�aU�� V�W ���}Vy�!Z�U �1���cS>X�V�R�\�� G ��u¡{U���Z�� Z�����Z�RT��Z· � � · ´ � · ¥ � Ä Ä Ä

¡(���}Z�X�ZNZ�Vy��� · ² ° ·�� � ² ¡��4��Vx�!�m� ��WY�4��U��#�aU����}V>X V>�xZ UvZ X & ° � � � ¹ ´ �§Blmbub�¨!© �E8 ��� � ��93-���H� �H� ¶ = =�� 2����-3 · � � ���2�� ·�� GR�?���3�7� �2� ����%3L3�� ����� 2��2�%3�������232

��� � � = � ��� � C �>��� �>�+���2� · ² ��� � $ C ( � ¶ °�� � ¶ �T���H� � ��3-���H� �� �H� 3������ 5 �&3��}� � ����+�2��G3�� � �

Page 79: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

������� �>���32��63 8 3����E3�C ��2����U�>��� �>�+�Q��� · ² ¼ ´ ��� ����%3 3�� ���������>���322�63v8 3����E3�� $ C ( ² ¼ ² ° � ² ¼ ´ = =������ 5 �&3|�}� � ��+�;�;�63������������>���42��63v8 & ° � � � ¹ ´ G ��� � �63;��� ��� 8 3 �V� A 3����E3��63����;�2� � � � � �&3Q���W3�� ������� ���@�H� � ���� 5 �43x�%���>���8.��3�� �NC � ��� · ² = =?��� ���7�Z��� � ��� · ² �>��� �>�+�P��� · ² ¼ ´ �;�63����� �� � � � �43D������� �>���32��63 8 & G���� � · � � · ´ � Ä Ä Ä

�����+� �P� 9����M2��2�%3 =�����L�F��� � C �;�63�� � ��� �+�����3��5 �93 ����� $ C ( Gt2 3�3�� � 9'�3��2����%3 · � � � �A��232 �� 3�� j�%p_&�fa_�j kxlmqj krlm_&��kr_�b@` ������� � C =�("��#"�� ��� ��,��£,T/���'���)�-c/F�� ��� ���93����2 ���:��2 � �43-�E3-�3�H�����,�z� A � OS3 �>O�� A � � 8��%3 �ª��-���� � ��9'��� ���+�>����G ���!� ��� �� ��� �� 9���� ���C�>��� �;�4232#� ��� � ����!� �= =�� � � ����!� �L�>� � ���-3 �� ��� ������� ���-����M2 ;��3�������C�>�����3�:��� � ����,3�� ����9 8'� = � �>�����2��F3�� � 9 8'�L3 � ���93����2����8��-�3�A��2D�>���7����� ���A��� � N� �H� ��� 3 �E� �?��8�� ¯F�� 3�� P��+�%3!�>�������H���!��G�� �>�>9 K 5 ��8 �>���7����� � � �*�H���-���T2 �����!3�� � � ����!� �!3����E3 �63����H�%3-� =� 263 �+���E3-��5 238�GB� �� � � w�= �>�����!�H���!� �?� � � ������� ��� � � �� �43-��P �+�Q��� � � � ����7� 9 8��3 � � 3 �+�>�2� �?���3�!�X��� � �M�5�3232�� � � �*�H���-���T2 �����N�����3�!� 9 8'� = =�� P��+�%3N�>�������H���7� �H��5 �� � ��C�63v8 ��� � �>�����E� �>���32��63 8 �?� � ���L3�� � ���H� � �H� �H��5 �����]� � 2��H� � ����2������A����� = �����>�����QG� 3 � �E3���� � �,���K3�� � 9����V���+�>���V���Q� ��� � �43-�2���� � ����!� �AG���� � ��� � �&3<����Q� ���2�3-� �5�63�����3���H�>�>��3%3-���� 3 �����@� 3�� � � � ����!� �L�>� � ���%3 �+���T3 �� �������H�-�L�>���!���2� � = �R���7� ��� � ��� � � 9�������+�>���M�%3 ��� �D3�� � ��� � �-�R��� � 3�� 9 8������63-�D���� � �-� ���R��� � ��� �� � �-�����R�E3 ���7�N��� 3�� #�$ 23����¢ (2 5 2�� = F � � ��� �63-���H��G ���7�U��� � ��2�� �>� A�� � #�$ 23����¢ ( ���63-�����B� � ��� �%���5�63-��� ��� �+�������H5 �93 ��� =

F�� �*��3��£���!3�� �>�*�65 �>�����!�H���!� �AG5�;�63�� ¢ � ������!� �N��� 3�� � 3 �E���!9 G ���!�Y�>���7����� ���� � �*�H���+����2 �����N�>���2�43-���������� #�$ 23����¢ ( 22����9��:�%����Z�Vy����� � ����7� 3����E3V�63x���H�-3-�AG������K� 3 ��3-��2����#�$ ¢B23����¢ ( 2�����9'�?���V3�� ! �43-��� � 3*�D����9 = =������?�����>�{��!�����6��� �;�-3 ���+�E� � � ���� � �43?3������U3�� #�$ � 23��� � ( 2�����9'�E�%��� � w|=��AG��� � � ���?3�� �]���� �Q�����>���7����� �,���V3�� � 8'�-3 � = ����-3�� �:G��������(� �������R� �7���������+� $ � �����+�3� �� �2�xÇ �93-���H��* = � ( G ���!�N�>���7����� �;�4232}� �+��� � �3�A��232�8B�7� ��9P3 � � A3����E3;��3-�Q2�����9��?�>� ������93-���H����2 = =������,�>��8�� ���263,���F� ���]� � ����� �-�-�E� �;�H��5 �F3�� ���6���V����� ����c2��2��9'��� �?�M���!����� �= F 3,���T��� ��� � � �%3-���H�H���@� 3 ��� �� �� 3�� �]���� �E���c�*�H���&3 �+�T���K�L� 9�������+�>���U��� � 8 3;�>���2�43-�����V3�� 2��}�A��2��63v8�������� �-3-� � =

� �

Page 80: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� � � � � �� � �D� � ����

Ç]9���� � 3����,�>� 8��%3 � 5 ��8F�-���>�322�>�T3 �K� 9'�3�F���+�>�����,3����E3��T���5��� � � � �� �43�2�8 �� 5 2���� �� �8Hw��>� O5 8�Z UEV�WK� ¿ È ' à = Ç}9'����� 3D����32 � � ��3 �C� �����A���7� �2��>�:G��-�����238yOv2��2��9 �� ��9'���z2��2�%3-�T3 �x2�����9P3�� �:Vy���y��R@Z�����V3�� ��8'�%3 � = =�� �>���7����� �,����� ���>� � ���-3 �� ��-����L3�� B� �H�M�����F���V�?���4�!�N3�� 8V�>� 2��}�A�E3 ��$ ����� ;����N��2 ��������� !���� � ����� (C= F���� ��� �63-���H�L3 �Q3�� �*�H���&3 �+��� 3*� A �>��232'3�� �M���!����� �W������232�3�� � �H�>���2���D3����E3T�>� �-3 �!��93��� �� 2���9 � � 9����M���+�>�T��G4�;��3������ ���!�V��� � ��5�� � ���2 � �H�>���2��GH3�� �>���!���2� ��>� ��2�� �H2�����9 �� ��-�2��K� � w�= G���� � 3�� � � ����!� � �>� ����������+�N2�8 � ���-3 �+����3 �� �65 �Q��232�3�� �>�mO�!����� ����+����:���������2�� = � � �>�!�!�����H���-���-3-�Q����3*�D�M�%3-�E� � ¯;�����+�%3AG3�� � �>�!�!��2��}�A�E3 ��3�� �� �H�>�������� �?���3�7� �|� ������!� 2�� �t�8���-������ � �>�!�!����� �+�E3-�3�H�L�+���>�32��>��3 � ����9'���L���+�>��� = Ç ���H� � G��H��� 3�� � �>�!�7�H� ���!� �,� �H� �>���!����� �����-� �� �{���>�-3-�3� �22�>� � �H�M������G&��3D�� � ��� A�� 8x�����3-���� ���,�2� � w|=��3 ��23�]�A�E3 3�� � � ����!� �;�63�������3����E3 � �H�>����� = Ç]9���� � 3(�����(� A �M�!�� � �-� �a�232�8L���:��2 � �43 �� G4��� �3������,�!���@�;��3����E3;�>� 9�����OS���C�>���}Ov2���9 �%3 �7��93��� �A���M� �� �� 3 �N����32 � � ��2/� 8��%3 �>� =

=�� Ç]9���� � 3 � �-�6�H� ������ � ��e�k � f%b��ye�fa_4k�gY� =#�= GD3�� 3 �+� � �K�5�63������ � � �H�M����� 3 �+��5 �+� ���3�� � ��� � ���H��2�8 �;�63������ 3�� �-��� �� �H�>���2� = ����-3�� �@G ���!� � �H�>�����X� 3-�F3 � ���H�%3-�F��3 ���;�� �E3-� �?���3�7� ���!�65�� � � �ybT`@k6q}`@k f�b���e�fa_%k7g ��� � �2��� � �&3M� � ��C�63v8 = ��������232�8�GQ��-����� 3�� �8]���+� ��%3 ���+�E� ��� � � �>�7�!�U�!�!� � �����65�� � ���ybT`tj k6lme�_a`cq]h f%bTe�h nte�f�e�` �y_a` 'U�;��3������V���H��5 � � �H�>����� =w��@� 5 �:GH���/3�� ����� ����3�� �� �E3-�;�63 � ����� 24 � � 3�� �� �H�M�����Q��� �?���3�!� �63/�2�p2��}�A�E3 �� G�3 �C����� ���>� �&3� �>�>��������z���Q� ������!� � 3 ����3�� � � �H�>�������Q���!����3��*�H�-�-���T2 G/3��]��Q�H��5����� �M5 ��8�2��2�>�63 �� �����+����12��H� � ����22�����A���� = � ����3�� � � �+�:��� ����9Á��� 3������ � �+�6�H� ���P3����E3K�63 � � �>����3>�H��5 ���242KO � �� � ��� ���E3-�2��2�23�]�A��2���3v8 = ����� ;����:�T2 G����D3�� � � ����!� � �>� :� �}� �� �&3|PT2 �AG�� ���-3-�����N��� ����� � ����V3 �F3�� � �H�>���2�x�H�N�?���4�!�>3�� 8M�>� � ��5 �� �H��5 �?����� � 5E���43-�E� ���N� �>�!�7������{�%���D� 2��E3 �� P�2 �E���H�:� �>� ��3 � � w|=�� =

�*�������Z U�V>W�� ¿(' % *�Ã/��� � � � ���T��!��Z UDV>W�� ¿ +mÃp���65 �*��3��F��� � � � � �&3�2�8P����� �-3 ��z� �-�6�H���D������ A � OS3 �>O�� A �M� 8��%3 �>�:��+���� � ���>�+�E3 �� �E3-� �%3 �!��93��� ���%���:� ������!� �>��� � 3�� �M���!����� ��3����E3�%3 ��� 3�� � = =�� �>���2� � �� �U��� 3 � ����32 � � � �E3-� �%3 �7��93��� � �65 �P3�� � ������!� �AGW�?���3�!� �>� � ���-3 �+����3 �� ����3�%���+�x2�8>���:�H��M��242 3�� �>���!����� ����+����:���������2��G��� � 3 �N����42 � �M� ���>�+�E3 � w|=�65 ����232�3�� �>���!���2� �Q��� 3�� � 8'�-3 � = �R���7��� ������!� �>���2�43-������� 3�� 9 8��B���?�63-�Q� �6����*���+����� � ����!� �Q��� � G1��� � ���7� �>���7����� �>�����&3-������� 3�� � ��� � �-� �L���T�63-�!� �6����@���C����K�M���!����� �Q���� � 3�� � w|= � 3*�D����9 = =t�F��� � �-�Q�V� �6����*��� I ����� ������!� � G �����63-���E3 � � � w�= � �>�!�!� �����

� �

Page 81: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

CE

B

GF

A H

D

ABD

DEG

FGA

BCE

HAC

EFH

GHB

CDF

SKIP GRAPHLINKS

ACTUAL PATH:HASH(A)−HASH(E)−HASH(G)

6−55−7

0

1

3

4

5

6

013

702

671

560

457

346

235

124

7

2

000

011101

111

010

100

001

110

RESOURCES

NODES

MEMBERSHIPVECTORS

CHORD ROUTINGTABLES

LOGICAL PATH A−EE−G

SKIP GRAPH SEARCHFROM A TO G:

���6���� * = < ¯ � � ;���:��2 ����3�� �8]���+� � � 8��%3 � � �-�6�H�����!���@�H� �� �]8 � � ������7� Z U�V>W�� ¿ +>à = w � G� �� (<����� � �%�����>�>�����2������ � �1��� � �;��9'���!���+�>�����%���B�>�>����������� � ����7� � = =������1���1�5�-�2�:��2���P ��5 �+�-�3�H�F�;�63��H�H��238x�H� � � ����!� � ����� ��=

3�� ������� 5E��23 ��� I = ( � �*�H���&3 �M��� � �-�N��� � ���N���H�5 �-3 �� 3 � � � �>�!�7� ��� �+�E3-���H�Z�2� 3�� � w�=QG�� �P�������8x��� �+�E3-���H�F�2� � 3-�>9 ��3-��� �� G3�� �-��� ��� �+�E3-�3�H�V3-�>9 � #�$

� 2������ ( 3-�2� �;�63��� �>���7����� � ��� 3������1�y8]���+� � � 8��%3 � = �u������ Z U|V>WK� ¿(' % *�ÃE�%�}� ��L�H� ���N��2 � �&3-����V�V3 � A ���T3�� � � ����!� �AG����>�?���3�!� ���!�V��� � ���M3�� 3 � A ����� � �*�H���-���T2 �%���?� �H� P�; �� �+���� ����3�� 9 8'������� 3����E3 �63-�L���>� �43 ����� � �*�H���-�3��2 ����� = � � �!����!� Z�U?V>W�� ¿ +mÃ#���!���@�H� ����32 � �����>�N��9'��� ���+�>�T����� 3�� � � ����!� ���H� 3 ��� ����3�� �>���!����� ����� 3�� � w|= = � �+���:��2 M ;����:�T2 ���53�� 2��E3%3 �>���7� � ����������;� ��� ���6���� * = <'=

=������ � �-���H� �>�������H���7� �2�;���&3 � �%3-�����N� �A���� �635��232��@�5������42 � ��������8 � �E3-�M�%3 �7��93��� ��-����3�� � � ����!� �:GB�����32 ���!�65�� � ����M����������+� 2��H� � ����2������A�2�� = F �.���>�-3-�3� �2��>�:Gc�*��3�� 3�� � � 8'�-3 �>�������@���+3B���H�:��2 ; � �+� � ��� ��� � 9'�3� ���+�>�����:GB��� � ����������+� 2��H� � ����2������A���� ���L��� � w�=;� = I � 2�� 5 3����E3 � ���%3 �+���T3-���� 3�� � � ����7� ������������+�N238>���:�H��M��232 3�� ��� �� � $ ��� � �����C��� �� ���MÇ ��O3-���H� * = <'= ' ( �;�3232 ��2����N����5 3�� �-��� ������� �-3-� �,����3�� � 3*�D�M�>�������H���!� � =

w��@� 5 �:G�3�� � � ������!��Z U(V>W��&�>�������H���7�N��� � ����Q������%���C�s� � ����7� |� �2�%3 �+�����3-���H�P�>�������H���7���}J �H�%�!�H� 3�� �-��� ��������2 �>�x���{���6��� �%3 ���+�E� � � ���� � �&3-�K��� � ���6���£5���23�� ����� �������� �7���������-� � �-�-�E� 3 �+� � � ��� � � 9���� ���+�>��� = IX��3�� � �M���!����� � ��� � ¢�� � ����7� �F��� 3�� � 8��%3 �FG��2�V3�� � � ���T��!�.Z�UDV�WK�'�>�����!�H���!��G ���!� �>���!���2� �����,3 �N�%3 ��� # $ 2���� � ( �*�H���&3 �+� $ �����

��+

Page 82: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

3�� � w|= 2��2��9'� ( ��� � #�$ 2����E¢ ( 9 8��p�����<Z�Vy���E� � ����!� 3����E3��63p���H�-3-� $ �����13�� ��9'��� ���C�>���1�*�H���&3 �+� (C=����+3�� �:G 3�� � ������� � �7���������-� ������3 �H� ��������3�� ������9 � � w|= 22����9��;��� � 232���� �2�����H���-���-3 �43� 9���� ���+�>����9 8�� = ��������232�8�GW3�� � �>�!�7� � �������+�>����� ��� � ���+� ���� 3 � #�$ 2���� ¥ � ( ���H�:� �>� �� 3 �#�$ 23��� � ( ��� � w|=�� ��� � # $ 2�����¢ ( �2� � 9���� ���+�>����� = F������H�:� �>�+��� �H��Gt���� �>�������H���!�.���Q����������+�� � ����!� �� ���-3 �+����3-�3�H� � � ����22�6���43�238x� 3%3 �;��� ���7� �M���!����� �%3 ��� � # $ 2�����¢ ( �*�H���&3 �+�<����� ���7�� � ����!� 3����E3��63?���H�-3-�AG�� � �����;���?� � ���� �� �H��2�8H�����;3�� � 9���� ���+�>����2�����9��AG���� � 3�� � �>�7�!� 3-��� ��� # $ 2�����¢ ( 2��39 ���F� 9����F���+�>����� =

F�� 3�� �*������ Z�U1V>WK�D�>�������H���7��G ���!� �M���!����� �����L3 � �%3 ��� ®�9 8��{�%����3�� ®.�!���32 � � ����� ���!� 3 � A ��� � 3����E3>�63N���H�-3-�AG ��� � # $ 2���� � ( �*�H���&3 �+�������P3�� � w�=­22����9�� = � � �����>���5���2�5 �P�;����z���!��9 � 3 � A 9 8'�L���!� 232D����������9 � � w�= 2�����9�� = =������Q���7� � �!}J �C�1�%�!�H� 3�� ��3�� ��������T2 �>����� 3 � A�� �E3-�!�%3 �!��93��� �D����!�M��� ������� ��� �� 3 �+� �x���H�>3�� ��� � �����6��� ����M���P3�� 3 � A G��� � 5]�22� �+�>���322�63v8P3 � � ���324�� �Q����3�� � ��� � � = ����-3�� �:GT���2���9 ��9'���F���C�>�����AG���3�� � ���� �:���+�����+�9����@�?2 �� � �>�*��3T3�� 9 8'������� ��� ��� � �?3 �L���+�-�6�H�V� � �A��P��?�+���� �T3 ��3�� 3 � A ��� � � = F 3?���T�%3-�3232������� ���������T2 ��3 � � �-�6�H� �K� 8��%3 � 3����E3 �x�A� �&3�2�8 ������*���-3-���@��3�������������+�­23�H� � ����22�����A������� � ���H�N��2 ; � �C� � =

� ��� � ��������� � � ��� � � � � �������!

F��U3����2�5� �93-�3�H��G � �� �����+�3� 3�� � �>�!�!�/G �2��� �-3AG ��� ��� 2 3 ��� �+�E3-���H�����%��� �N� 9����U���+�>�T� = ������-���N��2��3�A�63 8�G/� � � �!3 � 3�� 9 8������U��� � $ �= � = C Ä 9 8 ( �5�63�� 3�� �-��� ����3-�E3-���H� $ �= � = C ( ���3�� ��� � �63-� 2�� = F 3L�5�3232E� � 2 �>�:�����H� 3�� ���H�&3 ;'3>��� 3�� ��� � � ��3 � � ��� � ���>�63-�{9 8 =F�� 3�� ��26�����+��3����>�AG?� �� ����3 3�� �*�H���&3 �M3 �ÁC'&)�N���� � �+� ���F��� � ��� �� � �-� ���F�E3H2 5 2 � ���C Ä � �6���y�*��� ¿ �|à ¿ � ÃB��� � C Ä � �6����@��� ¿ �#à ¿ � Ãt� � � �93-��5 238 = I :� P�� C�� 5 �����+�>��23238N3 �H� 3�� 5E��23 ���BC Ä � �6����@��� ¿ �|à ¿ � ÃSG����LC Ä � �6����@��� ¿ �|à ¿ � à ���K� ���H�}O*���32Q�*�H���&3 �M3 � � ���H��O�� ���2�3v8Z��� � G���� � ���3�� �-�5��� �= I z� P�� C�� 5 �-���>�42��>�!2�8 = I ����>�>�>�+� � 3�� 5 �>�C���>��2 �L�%3 ��� �� �E3 ���!�Z��� � ���=B�>��2 * = ' =

F��M3������R� �93-�3�H��G�� �H��2�8��H��5 3�� ��26�����+�63����M�R��� � ������2�8 � 3�� ���E� �������+�>����� �&� |�� � �T3�� �����]�����<���B3�� ������� �93-� �+�����B3�� ��26�����+��3����>�?3 ��Ç �93-�3�H� * = È = * =

� À

Page 83: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

�D�>�+���>��2 =E8� 9 8 � � ����!� 9 8� �����y�*��� ¿ �|à � ���+��8H�������� � �-�����?�*�H���&3 �+�� �6����*��� ¿ �#à � ���+��8�������� �� � �+� �����*�H���&3 �+�� � ��� �+�!�����z5 �93 ����>�m; 5 2 F �&3 � �� 2 3 ��2��E� �D�]��2 ���=��>�T2 * = ' ¯ ����%3<���W��232 3�� 5E�>�+���>��2 �;�%3 ��� �� �E3 ���7� ��� ��=

�("��#"�� ���(, 0m,�'*+�����- Q,�+�'���)�-c/=�� � �>�7�!�z��� �+�E3-���H� $a� 26�����+�63���� ' ( ���?� � �&3-�3�A��2 3 �P3�� � �>�!�7� ���V��� 9'�3�H22���%3T�;�63����H��2�8M�M�������� � �>��3-�E3-�3�H���W3 �B�!��P���P� � ���%3 �C����3 �� � 8��%3 � = =�� � �>�!�!�>�2�D�%3-�>�-3 �� �E3R3�� 3 �����:�H�-3(2 5 2���� 3�� ��� � � A 9'�2�� ��9 8L��� � �63������}� A�� ����2��H�� ���!�x2 5 2'�;�63�����3��65 �C�����]��3-���� 3�� 9 8�G���H�&3-���]������E3 � 23�@� �L2 5 2B�3�#� � ���� �� G@��43-�421�63�� ���!� �12 5 2 À = � �63�� ��3�� � ��� � �-�����D3�� ��� � �-3 ���+����3�� � �>�!�7��9 8�G����D��3 ;���%3-�AGT����3�� � ��� � �-�����R3�� ��� � �%3 ���+����K3�� 2��>�-� �%3|9 8�2 �-�53������ 3�� � �>�!�7�M9 8F���Q� 3���+� ���=� f&'�b�l>_%k � d ��©�� �>�!�!���%���;��� � A

��*�H�H� � ��5������ ����!�" �������G��%3-�>�-3 ��� � G � �>�!�7� � 8�G�2 5 2��7¯� _�¨��4A@�3��Z�\�� � Z!V>X �����:Z \���k � q]`� j�q}`ch��������� �����G}A �T3 �K�%3-�>�-3 ��� �! _�¨��4A@�3��Z�\#" ��Z�V>X �����:Z \$�{k � q}`% & � _�f�q�W�Z('>Z�W � À h�b) _%¨��*�4A Ä R@Z �K���}��S>X,+ �.-/+vW�Z('>Z W - �3��Z�\#"���Z�V>X ���0�:Z�\$��k � q}`1 j6q]`th2 ����!�" ���3�� G��%3-�>�-3 ��� � G � �>�7�!� � 8�GT2 5 2��T3 �NA Ä � �6����*��� ¿ �|à ¿ 2 5 2YÃ4 n�lmqe %5 q]f�j�q�2 5 2�6Á2 5 2KO '�7 q]f�j�q8 & � _�f�q�W�Z('>Z�W � À h�b$� _%¨��*�4A Ä R@Z �K���}��S>X,+ �9-,+�W3Z:'�Z�W -;������Z�\ ¾ ��Z�V>X �����:Z \$��k � q]`�� j6q]`th2 ����!�" ���3�� G��%3-�>�-3 ��� � G � �>�7�!� � 8�GT2 5 2��T3 �NA Ä � �6����*��� ¿ �#à ¿ 2 5 2�Ã*! n�lmqe %:% q]f�j�q�2 5 2�6Á2 5 2KO '$) _�¨��vW�Z('>Z�W9" À ��k � q]` 1 j�q}`ch� � ��=<������ �����GA��T3 �M�%3-�>�+3 �?� �

� '

Page 84: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

�Dq]d�d e��c��� �c�}Z�� Z�V�X½� � S7��Z X½V�Ua�aS>RÁ��R V��!�m� ����X V7��� · �#��U���¢ R@S�[yZ��:U�Vm��Z��:Z!����Z!��UvZ![ #�$ 23����¢ (�xZ��7��V��]Z���V>RT[ # $ 2�����¢ ( Ua�%�xZ6�

§Blmbub�¨!© 3���� 3�� ��2������>� 3��%��� 3�� � ��� �+�����3��5 �93 ���+�{���,3�� ��� � �L��� 3�� � 9�������+�>��� · G5��� � �.� 3�� ��� �� �E3V�?���4�!� 3�� � �>�!�!�Y�%3-�>�+3-� = �D8 �>�M� * = ' G�3�� � � ��� · � � � ° · � � · ´ � · ¥ � Ä Ä Ä

G �?� � Q ���7� · ² ° · � � ² G �����K� 9'�3��2����-3 = � � �>�7�!� 3����E35�%3-�>�+3-�5�E3 �M���U3�� � 9����M���C�>���M�5�3232�����232���� 3�� �-��� ���E3��N��� · ���?��� · � � � = Ç}� � �A��� � �3� �93�2�8>�>����238L3�� � 9�����2����%3� �>�!�7�V������2�8��-��� �H��5 �K�2� ¿ + < ÃSG�3 ��������2�8 � 3�� � �>�7�!�F��� · = IX��3��x¢ ��� �� �AG�H�V���N��5 �+�E� 3�� � �;�3242�� #�$ 2����E¢ ´

#"%$ � ´�� 8�� ( 2 5 2��AG}����� & ° � � � ¹ ´ = � 3��N�H�%3 ´´ ¹ 8 ��� �� �,�>� � �>�!�!� �� �H�F��5 �+�E� �E3 ���!�Á2 5 2SG�������� 3 ��3-��2D��� #�$ 2����E¢ ´� ´ ¹ 8�� #"%$ � ´�� 8�� ( ;}� �93 �� � �-�+�E� �L��� � # $ 2�����¢ ´� ´ ¹ 8�� #"%$ � ´�� 8�� ( ;}� �93 �� 3-��� �= =��]��AG��5�63��MP�; �� & G 3�� � �>�!�7����� �C�E3-���H�U3-�>9 � ;}� �93 �� #�$ 2����E¢ ( � �-�+�E� ���� � # $ 2�����¢ ( 3-�2� �=

=�� � 3 �E���!9N� ���%���C�>����� L� � � � �(�H�N3�� 5E��23 ��� & ° � � � ¹ ´ = � � & �2����� ��� �AG'3�� � �>�!�7�3-��� ��� ��� ��� �AG��3�3�� �]���� �#���*2 5 2��D�2����� ��� G4��� ���!�M��� � �����D3 �!�>�����&3-�����P� �6����*���+���E3�:��� 2 5 2�� = =��]��T� � 3���3 �C� � O��>J�� 3 � A � 3�� � �>�!�!� 3-��� ��� � 3�� �%3 ���C�E� � � ���� � �&3-��E3 ���7� ��� ��=

=�� � �!�%���+�M����� �����@�5�F���F �>�M� * = %P���Q���H�:���>�C�>��2 3 �P3�� � �������+�>����� ��� � ���-3 �+����3 ���������U3-�>��2 �AGT�%��� ;����N��2 G�(Q����� � ¿(')' %�à = IX�63���¢�� � ����!� �5�2�F3�� ��8'�%3 � G �M��9'���U���+�>��� 3-�>9 �#�$ 23����¢ ( 3-�2� �������H� � �>�7�!����� �+�E3-���H� = F������H�N���>�+��� �H�/G�(<����� � 3-�>9 � #�$ 23��� � ( 3-��� G���� � � ���53�� ����� �|��� �>���7����� � ��� 3�� � 8��%3 � = � �12��H��F���L¢ ���|�*��2�8'���H�>����21�2� � G � � 3 3�� �-��� ��� 8'�N��3 ��3-�3�L� �������+�>����� �����H� �*��3�� � w|=������ � ��9'���F���C�>�����Q�����;� �>�!�7�M��� �+�E3-���H��� =

Ç]9���� ���+�>�����{�A��� ������*���-3�lreT` 'Tq � otql>_�qjU��� �?���3�7�.�H� ���P��� 9 �� 3 ��P�� � ��9 8 � C�G �9 8 Æ C1G�3�� 22�>�-� �%3�9 8 " C1G�3�� 2 ���%3�9 8 ¾ C�G����H� 9 8 �2� 3�� ���43 �!5 ��2 ¿ C

� �ÃSG���242(9 8��

��� ¿ C� �

ÃSG ��� � � �x�����-3�� = ����� �N�H�%3?���D3�� � � �+� �:G�3�� �����}� �� �� ���5�������]5���������:� � ��P��A�E3-���H���� � 26�����+�63���� ' ��� � �!����!��� #�$ 2����E¢ ( 3-�2� �5�63�� # $ 2�����¢ ( � �-�+�E� � = �����:P�� � ����U��232T��� � ���� ��� �2�43 ��5E��2JG�� �A������ �F�:� � ��P �� � 2������+�63���� ' 3 �MP � � �F�-�����2 L 2 � �431���?3�� �2�43 ��5E��2$ �?���4�!� 3-�>9 � # $ 2�����¢ ( 3-��� ��� � # $ 2�����¢ ( � �-�+�E� � (C= I �63����N��� �� ���2� 3�� ���43 �!5 ��2JG � �A���3�� �������H� � �A���%3 3�� � ��8U3���������� ��232�3�� ��� �� � $ �?���3�!� 3-�>9 � #�$ 23����� ( 3-�2� ��� � # $ �#2����(¢ (� �-�+�E� � (C= F �13�� ���+���H�����E3 ���Q���13�� � ��8N���Q�A�>���>��2 ���t�����}� �-�-���������-���{�263-��� ����E� � �*�H��� �AG3�� Q �&3-��� ��� �+�E3-�3�H� �%3-�3232 3-�>9 � #�$ 2����E¢ ( 3-��� �=

� %

Page 85: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

�("��#"%$ ���(, ) /�0m,�+ ��-�Q,�+�'���)�-c/� � � ��� � ��9����@�5�����H� �%R�UaX S�[>�����%R�M��� � A ��� 3�� � 3*�D����9 3����E3��5�3232c� 2�� �6353 ��� �H��� 3�� � 3 �E����9 = ��� �� �U�2��� �-3-�T�63-� 2������x�H� 22����9 �� 2����%3T�E3 ���7�M2 5 2 3-�3232 �63DP�� � � �63-� 2������K���-�2���2 3 �H�2����-3?�E3;3�� 3 �����:�H�-3?2 5 2 = =�� ����� �-3<��� �+�E3-���H�����H���-���%3-�����B3 �E�K�%3-�E� � ¯' = ��� � � �%3-�>�-3-�!�F� �>�!�!���%���Q�63-� 2��(�����H� AU3 �zP�� � ��3-� � �6����@���C���E3B2 5 2 À G1��� � 2�����9'�53 �3�� � =

% = ��� � � P�� � � 3�� � 2��H� �%3>��� � ��� ��� � � �E3 ���!� 2 5 2 � � À G�� " � " � GR����7� 3����E3� $ � ( � $ � ¸

' ( ° � $ � ( � $ � ¸' ( ° � $ � ( � $ � ¸

' ( G/�3�W3�� 8 ;���%3AG ��� � 2�����9���3 �N3�� � �E32 5 2 � ¸

' =� �A���� � ���!� ;���%3-�2��K��� � A � � ������3|� � ���� � $ A ( 5 ¼ ´ ���2 �-��3�� � ;���%3-��������3�� � ��� � �����7��3����E3 � $ A ( � $ � ¸ ' ( °� $ � ( � $ � ¸ ' ( G4�63#�A��� � 2��68 � 3 �C�>�����������63-��5E��23 ��&3-�32�� � �Z��� ��>���+�35 � ��� 9'�2��H�%���Q�63-�L5E��23 ��3���� �E3Q���y8 �H��5 � 3-��� �H��2�8U�HP�����3 ��� P�;����T3�� � ��� �C�������5 �93 ���1���R���8U��� � � A�� �;3 ��� � � �C�E3 ���= � 3-���32 �� � � � �}��� �� �%��� 3�� ����� �+3?��� �+�E3-���H� ����H��5 �N��� � 26�����+��3����#% = ���6���� * = *��������;� � 3v8]���3�A��2 ; � 3-���H�����/���K�2��� �-3E��� �C�E3-���H�K�2�M�!�+�>��232� 9����F���+�>��� �;�63�� � ° � À �

' � G �?� � ��� � �z° < �P���;����� �-3 �� �-3-�>�-3-����:�����H� ��� � A:° ' <'=�Dq]d�d e��c��� �c�}ZN�%R�� Z�X�U?S7��Z�X V�Ua�aS�R �%RÁVH�!�m� ����X V7��� · �#�aU��H¢ RTS�[yZ��:U�V>��Z�� Z!����Z!��UvZ�[ #�$ 23����¢ (�xZ��7��V��]Z���V>RT[ # $ 2�����¢ ( Ua�%�xZ6�

§Blmbub�¨!© 3���� 3�� ��2������>� 3��%��� 3�� � ��� �+�����3��5 �93 ���+�{���,3�� ��� � �L��� 3�� � 9�������+�>��� · = I �63���¢ ��� � �AG�3�� � �;�3232�� ��5 �+�E� ��� # $ 2�����¢ ´

#"%$ � ´�� 8�� ( 2 5 2�� ��� 3�� � 9'�3� ���C�>����G& ° � � � ¹ ´ = =t�|22����9 �E3�2 5 2 À GH��� � ��� � �:� �������+�>�c�H� � �>�!�!����� �+�E3-���H� = �����H� �>�>� * = %'G3������53-�>9 � #�$ 23����¢ ´� ´ ¹ 8 � #"%$ � ´�� 8�� (, ;}� �93 �� � �-�-�E� � ��� � #�$ 23����¢ ´� ´ ¹ 8 � #"%$ � ´�� 8�� (, ;}� �93 �� 3-��� �=� 3 ���!� 2 5 2 � G � � À G � ���H�M������3�A�E3 ���;�63�� ��� ��5 �+�E� ��� % %'& ��� �� �AG#� �%��� �63{P�� � � �E3�:�H�%3,3 �E�K��� �� ���!��� � � G�;�63�� � $ � ( 5 °� $ � ( 5 ° � $ � ( 5 G�� " ��" � G���� � ���H��� �93-�;3 �P3�� ���E32 5 2 � ¸

' = =�� 5 ;]� �93 �� �]���� �D���1� �+�-�E� �,��� � 3-��� �%���?3�� ����� �+3���� �+�E3-���H�V�E3?��232T2 5 2����� #�� #"%$ ¦ #"%$ � ´�� 8�� � ´´ ¹ 8 ¸

¥8���� = =������;�63��MP�; �� & G 3�� �2��� �-3���� �+�E3-�3�H� 3-�>9 � ;}� �93 �� #�$ 23����¢ (� �-�+�E� �;��� � # $ 2�����¢ ( 3-�2� �=

I �63�� � �>���7����� �T��� � ¢�� ������!� �?���>3�� � 8��%3 �FG��:�H�%3 � w�=;�T�!��!�N����( � � G %B���-3 ��8�G���� �=B�>� �-3 ��8 3-�>9 #�$ 23��� � ( 3-��� �%���>����� �-3-���H�u�D��� ;�� ��3-���H� ���1(<����� � �����3�!� 3-�>9 � # $ 2���� ¥ � (

� <

Page 86: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

3313 21 48 75 99

00 11 11

13 33

00 01

48

21 75 99

11 11

75 99

11 11

13 48

00

33

01

21

10

36

36

00 01

00

10

00

0110

3313 21 48 75 99

00 11 11

13 33

00 01

48

21 75 99

11 11

75 99

11 11

13 48

00

33

01

21

10

36

36

3

4

5

LEVEL 2

LEVEL 1

LEVEL 0

LEVEL 2

LEVEL 1

LEVEL 0

3313 21 48 75 99

00 11 11

21 75 99

11 11

75 99

11 11

13 48

00

33 36

13 33

00 01

4836

00

36

00 01

10

00

0110

21

10 010 011 LEVEL 2

LEVEL 1

LEVEL 0

00 01

00

10

00

010

7

9

11

1114

15 13

12

16

1719

18

20

21

6

8

10

1 2

���6���� * = *�¯�F ��� �-3-���� ��� �� < � �2� � ��9'��� ���+�>��� �;�63�� � ° � À �' � G5�%3-�>�-3-�2�� �����H� ��� � ' <'=� �-�-�E� �L�>� 2��>� 2 �� �]8 �]���� �C� ��� �*��; �!��� 3�� ��� � �!��� �?���3�!� 3�� 8 �>� � �43 = � �-�-�E� �'�� < ���:��2 � �43 ��� �� < � � 3 �+�>�2������Q3�� �>�m;���{�� 2 5 2�������� �� ' < G���� � �%3-�>�-3-�����!3�� � �>�!�7���� �+�E3-���H�M3 ��P�� � �63-�R� �6���y�*���R�E3<2 5 2 À = � �-�+�E� � * � È ���N��2 � �&3W3�� � �>�!�!� ��� �+�E3-���H��G���� ���� �P<�< �2���%���C�>����M��� �P< �N3����E3 �63 ��� ��� ��< � &)�1� 23�H� �%3 � �6����*��� �E312 5 2 À = � �-�-�E� � � � ')'

���:�T2 � �&3L��� �F< � ����� �-3-���� �63-� 2���� 3 � A �Z��� � � <�< ��� � * � �E3N2 5 2 À = � �-�-�E� � ' % � ' È���:�T2 � �&3?��� �!< � � 3 �+�>�2��������63-��� �����y�*���+�,�E3|2 5 2 ' G���� � ����� �-3-�2��P�63-� 2��t� 3 � A � ��� � �<�< ��� � * ���E3�2 5 2 ' = � �-�-�E� � ' � � ' +P���:�T2 � �&3T��� �Q< � � 3 �+�M��������L�63-�,� �6����*���+�T�E3�2 5 2%'G���� � 2��2��9'�2��K3 � ��� �K<�< �E3{2 5 2 % = � �-�-�E� �&% À

� % ' �2�:��2 � �&3Q��� �M< � �� 3 �+�>�����2�� �63-�� �6����*���+�,�E3?2 5 2 < G�P�� � �2�� 3����E3;���>� �6����*���+� ;���%3AG���� � ���H�N��2 3-����>��3-������� �+3D��� �+�E3-�3�H� =�"*

Page 87: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� f&'�b�l>_%k � d �*©��2��� �-3<�����5� � ��� � � _�¨��v�%R�UaX S�[>����Z�X � � �Bk � q]`� � Ä � �����y�*��� ¿ �(à ¿ À à 6 �� � Ä � �����y�*��� ¿ �|à ¿ À à 6 �! � Ä � C�� � A ��� 6 À% q]f�j�q) _�¨�����R�UaX S�[>���7Z X��3��Z \�" ���3��Z�\$��k � q}`1 �-� � 6 �4 ��3�� ��Ç�� �� 6 �5 q]f�j�q�7 �-� � 6 �8 ��3�� ��Ç�� �� 6 �:� j�q}`ch�������� !�������� ������W3 �M�2�43 ��� � �� �$� �T����3���43-�42*� � ����3Q��� &"����� !�������� �����G'�>�m; 5 2���! j�q}`ch� ����!�" ���3���G ��G � = 9 8�G �>�m; 5 2KO ' �,3 �M���&3 ��� � �� �:% �T����3���43-�42 ������� ���� ����� ���<������ � ��N���<� � ��5 ��$) ��*�H��� � ��5���������� ��� ���� G�� 2��H� �7¯ 1 3 �+�>�2���E3 ����� �+3$4 ��*�H��� � ��5������ � ���=<������ �����G]��3�� ��Ç�� �� � �6����*���$�7¯$5 j�q}`ch����������� ������ �"����G'�-� � G À �T3 �N��3�� ��Ç� � � �6���y�*����87 �T����3���43-�42*� � ����3Q��� &"�������� ������ �"����G'�-� � � �����y�*���:G À �7¯�� j�q}`ch�������� ����3�� G �1G��+� � G À �T3 �N��3�� ��Ç�� � � �6����*���� � �T����3���43-�42*� � ����3Q��� ������ ����3�� G� ��� �6����*���:G À �7¯�8� � Ä � �����y�*��� ¿ ��3�� ��Ç�� � à ¿ À à 6 � ��� �����y�*����(! j�q}`ch�������� ����3�� G �1G���3�� ��Ç�� � G À �?3 �M�-� � � �6����*���� % �T����3���43-�42*� � ����3Q��� ������ ����3�� G� ��� �6����*���:G À �7¯�8) � Ä � �����y�*��� ¿ �-� � à ¿ À à 6 � ��� �6����*���� 1 � 6 À�84 & � _�f�q�UaX7��Z{h�b�85 � $ � ( 5 6 ����3�%���+�x2�8N�!���H� �M�+��� � �H� 2 � �&3������� 7 � 6 � ¸

'�0 _%¨�� � Ä R@Z����>�}�!S>X,+ �.-,+ �  ' -��° � �Bk � q]`� � j6q]`th2���� ����� ���G �1G �  ' G � $ � ( 5 ¹ ´ G �.�T3 � � Ä � �6���y�*��� ¿ �|à ¿ �  ' Ã� � �?���63?��43-�32@� � �3��3Q��� ������ ����3���G�� �6����@���@G � �7¯�8! � Ä � �6����*��� ¿ �|à ¿ � à 6 � �6����@���� % q]f�j�q � Ä � �����y�*��� ¿ �|à ¿ � Ã�° ��8) _%¨�� � Ä R@Z����>�}�!S>X,+ � -/+ �  ' -��° � �Bk � q}`� 1 j6q]`th2���� ����� ���G �1G �  ' G � $ � ( 5 ¹ ´ G � �T3 � � Ä � �6����*��� ¿ �#à ¿ �  ' Ã�84 �?���63?��43-�32@� � �3��3Q��� ������ ����3���G�� �6����@���@G � �7¯�85 � Ä � �6����*��� ¿ �#à ¿ � à 6 � �6����*���! 7 q]f�j�q � Ä � �����y�*��� ¿ �(à ¿ � Ã�° �!0 _%¨��*� � Ä R@Z �K���}��S>X,+ �.-/+ � -L° � ��e�`th � � Ä R@Z����>�}�!S>X,+ � -/+ � -L° � �*��k � q}`! � n�lmqe %! � � Ä �>�m; 5 2 6 �

� È

Page 88: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� f&'�b�l>_%k � d �p© ��� �� A &)�>� �-�+�E� ����� � 2 �������>� �-�-�E� �x� � ��5 �� � ��+���� 3�� ����� �+3{����� ���� � � = ��*�H�H� � ��5�������������� �� � ���G���G��-� � G � �7¯� �!������� � �6���y�*��� $ ��G��-� � G � (� ��*�H�H� � ��5�������� � � ������ G ��G � G�5E��2JG��-� � �7¯! _�¨����7� [yZ1° � �Bk � q}` ��3�� ��Ç�� �� 6 �% q]f�j�q ��3�� ��Ç�� � 6 �) _�¨�� � $ A ( 5 ° � �Bk � q}`1 � $ A ( 5 6 ������%���C�N2�8N�!���H� �M�+��� � �H� 2 � �&3������4 A Ä � �����y�*��� ¿ �(à ¿ � à 6 �5 A Ä � �����y�*��� ¿ �|à ¿ � à 6 ��7 _�¨�� � $ A ( 5 ° A � ��k � q]`8 �!������� � �����y�*��� $ ��G��-� � G � ¸

' ($� q]f�j�q�� _�¨��3A Ä R@Z����>����S>X,+ S�U��}Z�X � � [yZ -/+ � - �° � ��k � q}`*! j�q]`th����� ����� ���G �1G�5E��2JG � G��-� � �R3 �NA Ä � �6����*��� ¿ ��3�� ��Ç�� � à ¿ � Ã:% q]f�j�q$) j�q]`th� ������ ����3���G �LG � �T3 � �

� f&'�b�l>_%k � d �p©��7������ � �6����*��� $ �1G��+� � G ��( �%���;��� � A _�¨����7� [yZ1° � �Bk � q]` �A�:� 6 "� q]f�j�q �A�:� 6 ¾� _�¨����3A Ä R*Z����>�}�!S>X/+��7� [yZ;-,+ � -;������Z�\ ����� ������Z�\$�Bk � q]`! j�q}`ch�������� ����3�� G �1G��+� � G � � 3 �NA Ä � �����y�*��� ¿ �-� � à ¿ � Ã% q]f�j�q) j�q}`ch� ������ ����3�� G}A�G � �T3 � �1 A Ä � �����y�*��� ¿ �-� � à ¿ � à 6 �

� f&'�b�l>_%k � d��*© � ��� ��3-���H����2 � �-�-�E� �������;��� � A ��*�H�H� � ��5������ �� ��!���� ���G��-� � G�� � � �6����*���:G � �7¯� A Ä � �����y�*��� ¿ �-� � à ¿ � à 6 � ��� �6���y�*���� ��*�H�H� � ��5�������������� ! ������� �=����������H� �t¯! j�q}`ch2&"������ !�������� �=���GyA Ä � C�� � A � � �?3 � �% ��*�H�H� � ��5���������������� ����� ��" ���G&�+� � G � �E�%���H� �c¯) j�q}`ch2&"��������� ����� �" ���GyA'�-� � 5 � 3 � �

� �

Page 89: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

3-��� �= � � # $ 2���� � ( 3-�2� �*���� � ���:���!�65 �Q�H�F3�� #�$ 2�����¢ ( �*���� � �%���5� 9'�3�F���+�>�����?�?� � � ����{��!� �+�>��232 �,3������M¢ = w?��� 5 �:G 3�� ���H�%3?���B3������,���:���!�65 � �&3;���Q2��H�+����P������*���-3D�����?���H�:��2 ;� �+� �W��� � �����E3-����2�2��}�A��2��63 8�G&��� � 3�� �2�:�����r5 � �43D��3-� 2�� �2���H��2�8��1���H���%3-���&3(� ���93 ���D���2 �+�W� �H� �>���7����� ���-3 ��� �>���� �!�@��238'���H�M����2��]���� �Q����� � ����!� � =

F���� �-3-�Q�A����� 3 �C�3��9�� �,�?� �V� ���65 3 � � ��2 �;��3��z���H��� ���� �&3���� � �½�H�2��� = � �%��� ��2�����9'�3 �U���8 � �6���y�*���:G/��315 �+��P � 3����E3 �63-���½�H�2� �;�3232�����315�����2��E3 3�� ��� � �1���T3�� ��� � � = Ç]� ���T���y8� � ��� � �����65 � �H��� �� 3�� ��9'��� ���+�>��� � 3 � A � � ��� � �63-�B��� �� 3 �+�>�2� �� ���� � �+� ���:G � �;�3232� � 5E����� �r5 �53�� � � ��� � �����t� � ���� �� � �%��� 2�����9�����L���V3�� ������� �93?2��}�A�E3-���H� =�("��#"�� ���(,���, ��, ��,�- Q,�+�'���)�-t/=�� �� 2 3 ��� �+�E3-���H� ���|5 ��8 �-���:�T2 �= I � � ��� � � �?���43-� 3 �M2 �65 3�� � 3*�D����9 G1�63 ���������+�>��63-�?��� �� � �-�����5��� � �E3 ���7� 2 5 2/3 ���� � �E3 �63-�;�!�� � �-� ���|�*�H���43 �;3 �x�*�H���&3,3 � �'&)�5���� � �-����� =F 3 �-3-�>�-3-�Q�E3 3�� 3 �����N�H�%3B2 5 2W��� � �D����9'�!�63-���T�68 � �@�;� 3 �M2 5 2 À = �?� � � ��22� �F���������+�>� �63-����� � �+� ���Q��� � �E3 ���7��2 5 2�3 �z�� � �E3 �63-�|��� �� � �-�����1�@�H�2�43 � 3 �H�*�H���43�3 �H¢ &)�L��� �� � �+� ��� =F � � &)�5�!�� � �-� ����������� �� � �-� �����>� � ���� �� 2 3 �� ���5� 242JG�3�� 8z�����+��3�� � �-�-�E� �H�U3 �K3�� ���� �6����*���+�,� �P3����E3;3�� ��� � ���>� ������� �93�2�8z2�����9 �� �� = � ��� �1� � ������3 � 2 3 �63-� 2��t�%�!�H��3�� ���+�>���F���Q23�H��P�����63,���T�T����3-������%�������H� � �-�-�E� ���;�����>�-3<���13�� B�� 2 3 ��� �C�E3-���H�H���B������3�� ���� ��=� f&'�b�l>_%k � d��u© �� 2 3 ����� ;��2�%3-����P��� � �

� Ä � 2 3 ��22�E�H° 3 �! � ¨vbTl � 6 ���3�NV�� W�Z('>Z�W�������� ��� À htb� _�¨�� Ä R*Z����>�}�!S>X/+ �.-,+ � -��° � k � q}`! j�q]`th� ��� �����=�� G � G�� � �� �$�R3 � � Ä � �6���y�*��� ¿ �|à ¿ � Ã% �T���63���43-�32*� � ����3Q��� ����� �� �"���� � ������� ���G � �D��� � � ��� ����� ��" �� G � �7¯) ��*�H�H� � ��5����� � ����� ����� ��" ���G � �7¯1 _%¨�� Ä R@Z �K���}��S�X/+ �9-,+ � -��° ��k � q}`4 j6q]`th2 ��������� ������ �"��� �=�� G � G�� � � �$� 3 � � Ä � �6����@��� ¿ �#à ¿ � Ã5 �?���63?��43-�32@� � �3��3Q��� �������� �"������ �������=���G � �

� �

Page 90: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� f&'�b�l>_%k � d��T© �?� � A &)�,� �+�-�E� ����� � 2 �������?� �-�-�E� �Q� � �35 ���� ��+���� 3�� L� 2 3 ��� �+�E3-���H� = ��*�H�H� � ��5������ ��� ������ ���G � G�� � � �$�7¯� _�¨��4A Ä [yZ W�Z�UvZ ��WKV6���sUaX���Z ��k � q}`� _�¨��3A Ä R@Z����>����S>X,+ �.-,+ � -��° � ��k � q]`! j�q]`th� ��� �����=�� G � G�� � �� �$�R3 �xA Ä � �6���y�*��� ¿ �|à ¿ � Ã% q]f�j�q) j�q]`th� � ������ ����� �" ���G � �T3 �M� � � �1 q]f�j�q4 j�q}`ch���� �� ����� ����� ��" �� G � G�� � � �$� 3 �NA Ä � �6����*��� ¿ �#à ¿ � Ã5 �T����3���43-�42*� � ����3Q��� �������� ������ ����� �" ���GyC�G � �7¯�7 A Ä � �����y�*��� ¿ �(à ¿ � à 6 C8 j�q}`ch� ����� �� �"���� � ������� ���G � �T3 �M� � � �$� ��*�H�H� � ��5��������� �� ������ ������ �"����G � G�� � � �$�7¯�� _�¨��4A Ä [yZ W�Z�UvZ ��WKV6���sUaX���Z ��k � q}`*! _�¨��3A Ä R@Z����>����S>X,+ � -/+ � -��° � ��k � q}`$% j�q]`th���� �� ����� ����� ��" ���G � G�� � � �$� 3 �NA Ä � �6����@��� ¿ �#à ¿ � Ã$) q]f�j�q 1 j�q]`th��������� ������ ������ �"����G �LG � �T3 �M� � � �$4 q]f�j�q$5 j�q}`ch��������� ������ ����� �" ���GyA G � � 3 �N� � � ��87 A Ä � �����y�*��� ¿ �|à ¿ � à 6 � � �� �� ��*�H�H� � ��5������ ��������� ����� ��"��� �=���G � G�� � � �:�7¯�8� _�¨��4A Ä [yZ W�Z�UvZ ��WKV6���sUaX���Z ��k � q}`�(� _�¨��3A Ä R@Z����>����S>X,+ � -/+ � -��° � ��k � q}`�:! j�q]`th� ��������� ������ �"��� �=�� G � G�� � � �$� 3 �NA Ä � �6����@��� ¿ �#à ¿ � Ã�8% q]f�j�q�() j�q]`th� �������� �"������ �������=���G � �T3 �M� � �� �� 1 q]f�j�q�(4 j�q}`ch� ����� �� �"���� � ������� ���G � �T3 �M� � � ��(5 A Ä � �����y�*��� ¿ �|à ¿ � à 6 �

� �

Page 91: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

�Dq]d�d e��c� � �c�}Z [yZ�W3Z UvZ S7��Z X½V�Ua�aS>R ��R�VM�!�m� ����X V7��� · �#�aU�� ¢iRTS�[yZ��:U�V>��Z�� Z!����Z!��UvZ�[ #�$ 23����¢ (�xZ��7��V��]Z���V>RT[ # $ ' ( Ua���xZ��

§Blmbub�¨!© 3���� 3�� ��2������>� 3��%��� 3�� � ��� �+�����3��5 �93 ���+�{���,3�� ��� � �L��� 3�� � 9�������+�>��� · = I �63���¢ ��� � �AG�3�� � �;�3232�� ��5 �+�E� ��� # $ 2�����¢ ´

#"%$ � ´�� 8�� ( 2 5 2�� ��� 3�� � 9'�3� ���C�>����G& ° � � � ¹ ´ = � 3 ���!��2 5 2 � G � � À G 3�� ��� � 3 �H� ��� 2 3 �� ���H�>������3�A�E3 � �;�63�� �E3 �:�H�%3 3*�D���3�� ����� � � = F 3!3-�>9 �P��� ��5 �+�E� ��� # $ 2�����¢ ´

#"%$ � ´�� 8�� ( 3 ��3-��2?� �-�+�E� �P��� � # $ ' ( 3-��� ���L3�� � �-�+�E� � �E3R��2423�� 2 5 22�(�A���x� � �&3R���N���>�+��232 2 = =��]��W�;��3���P�; �� & G&� �� 2 3 ��� �+�E3-���H�P3-�>9 �#�$ 23����¢ ( � �-�+�E� �;��� � # $ ' ( 3-��� �=

� ��+�2��P3�� ��� 2 3 ��� �+�E3-���H�����W��� �� �1G ��� �'&)�;�!�� � �-� ���|������� �� � �-� �����E35� �H� 2 5 2B�>� ��2�� �:� ����� � 2 3 �� G�3�� �F3�� �]���� �<����� �-�-�E� �E3;3����E3�2 5 2����<���!���@���+3-���H����2 3 �P3�� ����� ����#���H��� � 3-�35 ��� � �<� ���� � 2 3 ���=�("��#" � ��-p+�+�,3� ��/�,�0>0M-��B' ���p-p+y) �0� � 0F�� 3������ � �93-���H�/G1� �����65 3�� ������� �93-� �+�B���T3�� ����� �+3 ��� ��� 2 3 ��26�����C�63����>� �H��5 � ����Ç ��O3-���H� * = È = =�� |� P ���63-���H�x���1��� 9'�3�K���+�>�T�N�2�HÇ �93-�3�H� * = < ���5���2�5 �?��2���� ��2����!��� �+3-� ������3�� L� �E3-��%3 �!��93��� $ ����!����� ·�� ´ � ������5�!���� 3���� ·�� ( 3����E3W�>� Q� � �x� �263/3 � �D����9Q�;��3�� ��� 3�� ������� �93-� �+������]����� = Ç}�F� �%3-�>�+31�8 � P����2��N�F� 31����W�S��!V�Wp���H���%3 �+�����&3-� �?���3�!� �!���>�+���93 �+� � �F� 9'�3� ���C�>��� =I P��+�%31���!�65 3����E3 � � �E3-�U�%3 �!��93��� ���!�U� 9���� ���+�>�T� ���?��� � �3�E�H��238 �3�T��232D3�� � ���H���%3 �+�����&3-��>� �-�E3-��� P �� G���� � 3�� � � �����r5 3����E3�3�� � ���H���%3 �+�����&3-���>� ����3�5'�3��2��E3 �� �>� 3 ����� ����� �+3;��� �� 2 3 ��� �+�E3-�3�H��GD3��]��P�>�����&3-����������� 3�� ��9'��� ���+�>�T�Á������� �-3-� � = ����-3�� �@GR3�� � ���H���%3 �+�����&3-��;�3242�� �� �� �%���D����D� �������?� �7���������-� ���T� �A���V�:�H���63 ��� 3�� �-3-�E3 ����3�� ���+�>�T�x�]8N�!� �!9'�2��3�� � ���H���%3 �+�����&3-��2��}�A��232�8N�E3 ���!� ��� � G���� �z� 3 �93-�2��M��� � � �������+��������� � �����323�� � =

� � ;]��22����� �� �2� Ç �93-�3�H� * = È G�� �� �s�*��3�� 3 ��� � � 3 �V3�� ��232p�*�H���&3 �+���E3�3�� � � �����3�� �� �����2�8Ov2�����9 �� 2����-3-�<����3�� � 9'�3�F���+�>����G���� � 3 � � � ��3 �N�*�H���&3 �+�?3 �N�����32 �� ��� � � =

3�C�� ���8V��� � ���V3�� � 9����F���+�>���u�3�� �z�%���5��232p2 5 2�� � � À ¯' = F ��C�� 5 �° �LG�C�� 5 ¾ C =% = F ��C�� 5 �° �LG�C�� 5 "ÁC =<'= F ��C�� 5 �° �LG�C�� 5 � 5 ° C =

��+

Page 92: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

* = F ��C�� 5 �° �LG�C�� 5 � 5 °£C =È = F � � $ C ( � $ � ¸

' ( °� $ C�� ¬5 ( � $ � ¸

' ( ��� ��� � � �#" ®�� $ C ( � $ � ¸

' ( °� $ C�� �5 ( � $ � ¸' ( G

3�� �zC�� 5 ¼ ´ ° C�� ¬5 = ��22� G�C�� 5 ¼ ´ ° � =

� = F � � $ C ( � $ � ¸' ( °� $ C�� ¬

5 ( � $ � ¸' ( ��� ��� � � ��" ®

�� $ C ( � $ � ¸

' ( °� $ C�� � 5 ( � $ � ¸' ( G

3�� �zC�� 5 ¼ ´ ° C�� ¬5 = ��22� G�C�� 5 ¼ ´ ° � =

� �|� �53�� �� P����63-�3�H�z���R�N� 9'�3�U���+�>��� �H��5 � ����Ç �93-���H� * = < G/��232/3�� L 2 � �&3-� ���U� � ����T2�82�����9 �� 2��2�%3 ·�� $ �?���3�7�����H�&3-������� ��242tC �%��� �?���3�!� ��� �H��� P�;���� � $ C ( ���E2 ���3�� � ( �>� ��� ���}O��� ���-�2��1��� � � = (D�H���%3 �+�����&3-� ' 3����!����� *!���N��2�8Q3����E3 ��232����H�}O �� � ��� � �W�-�E3-��� ��8�3�� ������� ���-������� � �����F3�� 2�����9 �� 2����%3-� = (D�H���-3 �+�����&3-� ' ��� � % ������ 3����E3;3�� ��� � �5�2�?2��}�A��232�8N3 �! �E3 5 ��8��� � GH�?� � ��� (D�H���-3 �+�����&3-� < ��� � * ������ 3����E3D3�� � �43-�3� 2����%3W��� � �����2�8{2�����9 �� ������� �93�2�8 = =�� ���H���%3 �C�����43-�L3����E3L3�� ������� ���+�������� � �L�2� �-�E3-�2� P �� 2��]�A��242�8 �E3 ���7� ��� � ��� � 3����E3L3�� 2����%3L���� ����T2�8yOv22����9 �� �����!� �93�2�8�Gp���353 ��� 3�� � ������ 3����E3Q��� 2 � �43 ��� ��9'����� �� �65 �L��� � 3����E3 3�� �&3-��� 2����-3?�2��� ���-3 ���=

(D�H���%3 �+�����&3-� È ��� � � � ����3 ���@� 3�� 2����%3-� �E3 � �KJ � �&3�2 5 22�!�>� � 2��E3 �� 3 � ���7�.��3�� � ==�� ���� � �-� ��� $ ��� ��� � �-� ��� ( ���/��� �� CV�E3D2 5 2 � ¸

' ���D��26�?��8��R3�� P��+�-3R��� � 3 �L��3-�#�+�6���&3 $ 2 � 3 (�E3�2 5 2 � �?���H� � ��� �+�!�����z5 �93 ��� �>�E3��!� �;3�� � ��� �+�!�����z5 �93 ���L����C �2�H�H� � ��� �63-���H����2�*�H�-�63-���H� = ��� � CM�������H��� �93 �� �E3�2 5 2 � ¸

' G��H��3�� �+�6���&3W�-� � 3 � � ��� � � ����7� 3����E3#C��xG ·�� G

��� � � ���/3�� � �>� �-3B��� � ��� �E3 �W3�������C>��� · � �;��3���� $ C ( 5 °� $ � ( 5 = Ç����M�32��>�!2�8�G6C��2�t���H��� �93 ���E3B2 5 2 � ¸

' Gu�H� 3�� 2 � 3��-� � 3 �F�F��� � � ����7� 3����E3���C G ·�� G ��� � � ����3�� � �>� �%3Q��� �

2 �-��3������zC �2� ·�� �;��3�� � $ � ( 5 °� $ C ( 5 =� P�� �H[yZa �Z��6Ua��'�ZT� 9'�3�M���+�>���N���?� � �E3-� �%3 �7��93��� 3����E3T3����E3D���H�&3-�������?� 9����K���+�>��� 2 � �&3-�

��3 � � �T����3?�+�E3-��� ��8P3�� 1� P����63-�3�H�N���1�L� 9����K���C�>���u�}�%��� ;���:��2 G��63?�>��8����H�43-���2� ���3½O����4O���� �� � 2 � �&3-�AG��M���-�-�����{2��2��9'�:G]���;�E���+� �=~{� q]b�lmq]d �p� ���.'>Z X7\N�7S>R�R@Z!��UvZ�[��!S��?��S>R@Z�RTUES½ 1U��}Z�[�V�U�V:��UaX����6Ua�}X ZB�4�BV{�7�r� �z��X V7���H�  LV>R@[xS>R�WY\�  ��#S>R���UaX V>��R�U�� '  ��V�X Z�� V�Ua�4���DZ�[y�

§Blmbub�¨!© I �-3-�>�-3 �;�63�� 3�� � 5 �+� N� ��� �93-���H�u¯����D3�� ���H���-3 �+�����&3-� �>� ����3 �-�E3-��� P �� G 3�� �� �H� ���H��� �93 �� ���H�N�@�H� �43L���D3�� �� �E3-�V�%3 �!��93��� �2�5����3 �N� 9���� ���C�>��� = � � (D�H���-3 �+�����&3-� %'G)*

� À

Page 93: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

��� � ���>� �>�����!�������>�E� �Q��� (D�H���-3 �+�����&3-� ' G < ��� � È � � � �93-��5 2�8�G� �;�3242T�H��2�8 ���H���+� � �Q5�����2��mO3-���H������� (D�H���%3 �+�����&3-� ' G < ��� � È =

45

������

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

� ����M4<�H:L !��4L��' ��5�� ��')2 �38 �4<'N��������� 3�� � O

75 6 64 5

5 6

� ����� �!�"�����

����� �!�$#%�

����������&�!�'�

�����&�!�����

����� �!�)(+*

� �����

��� ��,�

� +����M4<�H:L *��4<��' ��5�� �H'(2 �38 �4<'N�.-/����� 310 3�2 � O���6���� * = È ¯ ������22�E3-���H�z��� (D�H���%3 �+���2�43-� ' ��� �U<'=

���6���� * = È �����@�5�#���@� (<�H���%3 �+�����&3-� ' ��� �>< �A���:� 5�����2��E3 ���= �R���7�N5�����2��E3-���H��2 � � ��3 � ��3�� ������}R���S>X�UvZ�[1���|��RT�7S>R��7�%��UvZ R�UaWY\|2��2��9 �� 22���%3 �E3<2 5 2 � G���� 3�� L� �E3-���%3 �!��93��� ��� ����3T��� 9����M���C�>��� ==�� � �>� 3*�D�>�?��8��5�2�V�?���3�7� (D�H���%3 �+���2�43 È �A����� 5�����2��E3 ��/=' = �����5� �H� C ��� � � G�C�� 5 ¼ ´ ° C�� ¬

5 ���343 ����" ®

�� $ C ( � $ � ¸

' ( ° � $ C�� � 5 ( � $ � ¸' (C=

3 � ° C�� � 5 ��� � �{° C�� ¬5 = � �;3�� 2��2��9 �� 2����%3��2��� ���-3 �� �E3?2 5 2 � G���"£®65 � "��G ���$7

�+���$8 � ° C�� �5 �C " � = 3 · � ° ��CI� �:9�C<; � 9 � ¸

' ;�° � = =4= � ��� �N� 9��?> ��@+��>�=�G*C� �����7 ��G ·�� = Ç���$8 � �° C�� 5 ¼ ´ G ��3A= @ �CBG ·��"D @Q3A= 22����9 7�2����-3 �E3�2 5 2 � ¸

' �2�Q� D 3� D @-3 7 ����C " � " � = F��FE D 3A=G8A��� �AGB3A= @ �AH$I63-�����J7��E3-�U�%3K@LH�893AH @ ���Q�M7 ON 893-�?P � 9��?>��@C��>�= =

% = � D @5� D � C ���$7 � G�C�� 5 ¼ ´ �° C�� ¬5 =

Q ���:9�CR; � 9 � ¸' ;L° �:9�C�� 5 ¼ ´ ; � 9 � ¸

' ;CG �:9�CR; � � ° �:9�C�� 5 ¼ ´ ; � �E= F 3 N D ISI D �5� 3A=��E3E D 3A=�C ���$7�C�� 5 ¼ ´ ��@ ��� · �� � � 5 = �TH3 3A= � � N C�� 5 ¼ ´ �°sC�� ¬

5 N D @Q���VU�® G/� D � � 7� ���· �� � � 5 ���,�>���-�+����G���$7V3A= 7��E3-�>�%3K@LH$893AH$@ ���,�W7 ON 893-�?P ��9'�?>F��@C��>�= =

� D � � >$@ D P 3A=��E3 P @LU:8 D ��� 893 7X8 D �Y> D � �&3 D N �Z7��E3-� �%3K@LH$893AH @ ��� � � 9��?> ��@C��>�= � N��ISI�3A= 8 D ���%3K@+���2�43-� ��@ �-�E3-�2� P 7 = I P$@+�-3%>$@ D P 3A=��E3 � =��/P � D @-3 7�G[7 D H E�I?UO1I�����9 7\I����%3-���E3��ISI[I P I���H��+���� ( D ���-3K@+�����&3-� ' 3A= @ D H�!=^]G ���$7 3A= �\>$@ D P 3A=��E3 ��8L=_I����%348 D �&3-�������;3A= 8 D @L@ 893

I � �&3-�;���4> @;3A= �?@�� �`E @+�A=��?>JP 893 D @+�aH��-�2��+( D ���%3K@+���2�43-� È ����7 � =

� '

Page 94: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

3?C\E ���U��@AE��63K@+��@LU I � �43 D N 3A= 7��E3-�>�%3K@�H$893AH @ �= 3 · �� 5 E 3A= �M�m;����M��I/� � H �$8 D N 3A= N D @+�ªC�� � 5 � Ä Ä Ä �

C� Ä Ä Ä �

C�� ¬5 GB�%= @ � �

® � À GR�LH$8L= 3A=��E3�� D I � �43 D N 3A= � � H �$8 ���� = I �A= D � 3A=��E3�3A=����P� � H �$8 ����� D @-3 7 ���$7X7 D H E�I?UO1I�����9 7:H��-�2�� �2�$7$H$893-� D � = Q 8O8 D @L7�����3 D ( D ���-3K@+�����&3 ' GpC�� 5 ¾ C1G/����7 ��8O8 D @L7�����V3 D ( D ���-3K@+�����&3 < GcC�� 5 � 5 °�C = =4= H���3A= � � H �$8 C�C�� 5 �2�>� D @-3 7 ���$7 7 D H E�I?UyO1I2����9 7 = Ç����M�SI���@LI?U�GD��8O8 D @�7����� 3 D ( D ���%3K@+���2�43 %'G<C�� 5 " C1G,���$7

��8O8 D @L7��2�� 3 D ( D ���%3K@C�����43 ]GDC�� 5 � 5 ° C = =4= H��L3A= � � H �$8 C�� 5 �C ���P� D @+3 7 ���$7 7 D H E�ISUyO

I�����9 7 = 3�3A= � � H �$8 C�� � ¹ ´5 � Ä Ä Ä �

C� Ä Ä Ä �

C�� ¬6¹ ´5 G�E � � D @-3 7/G!7 D H E�I?UO1I�����9 7 I����%3 = Q 8O8 D @L7�����3 D ( D ���%3K@+�����&3-� ' ���$7 < GcC�� ¬

5 ¾ C�� ¬r¹ ´5 G����$7 C�� ¬r¹ ´5 � 5 � 5 ° C�� ¬r¹ ´5 = Ç����M�SI���@LI?U�G ��8O8 D @L7��2��F3 D8 D ���%3K@C�����43-� %N���$7_]GuC�� � 5 " C�� � ¹ ´

5 G1����7�C�� � ¹ ´5 � 5 � 5 °sC�� � ¹ ´

5 = =4= H���3A= �>�m;���>��I�� � H �$8 · �� 5 ° C�� � 5 � Ä Ä Ä �

C� Ä Ä Ä �

C�� ¬5 ����� D @-3 7 ���$7^7 D H E�I?UO1I�����9 7 =

I � D � �A= D � 3A=��E3>� N 3*� D � D 7 �P��@ 8 D ��� 893 7 �E3 I P I � GR3A= U ��@ ��I�� D 8 D ��� 893 7Z�E3I P I À = Ç H >$> D � 3A=��E3 ( D ���%3K@+�����&3-� È ���$7 � = D IS7 = =4= ��G � >$@ D P 3A=��E3 N D @ ��8�=FI P I � � À GC�� 5 ° C�� � � ����7 C�� 5 ° C�� � � = ( I ��@LI?U 3A=����K���M3K@�H ^N D @ � ° À ����7 � ° ' = Ç�H >�> D � 3A=��E3�63P���L3K@LH JN D @WI P I �  ' = 3:C ° � � ����7 I 3 ��8L= C�� ²5 ¹ ´ ° � ² G ' Æ ¶ Æ ® = � D @ ��8L= ¶ G� ² ° � ² ¹ ´ � 5 ¹ ´ ° � ² ¹ ´ � ���� = Ç D � ´ ° � � � 5 ¹ ´ ° � � � ���� G � ¥ ° � ´ � 5 ¹ ´ ° � ´ � � º� ° � � � ��� ¼ � º� G����$7� DWD � = =4= H��AG � ¬L° � � � ��� ¼ � º ¼ � » ¼������ ¼ � 7� ° � � � � � G���= @ �{° � � ¸ � ´ ¸ Ä Ä Ä ¸ ��¬ = �TH3 � ¬1° C�� ¬

5 ¹ ´���$7 � � ° C = Ç D C�� 5 ¹ ´ ° C�� � � = Q 8O8 D @L7����� 3 D ( D ���%3K@+�����&3 È G(C�� 5 ° C�� ¬

5 ¹ ´ = =4= H��!� � 3C�� 5 ° C�� � � = Q �-���M�SI���@ >$@ D D N �;� ISI �A= D � 3A=��E3�C�� 5 ° C � � � � =

I H�� 3A= >�@ D)D N ��E D P 3 D �A= D ��3A=��E3P���VU 3*� D 8 D ��� 893 7Z� D 7 ����@ 8 D ��� 893 7Z��� 3A= �-��� I����%3��E3aI P I À = ( D ���-�S7 @5�W>��E3A=�C � ´ � ¥ Ä Ä Ä �?¬ � ��= @ ! ��8L= � ² ��� �63A= @ � 5 � D @ � 5 = Q �>$@ D P 7K��E D P G&3A= @ ; ;���%3-�R� >��E3A=NC � � � º´ � � � »¥ Ä Ä Ä � � � 7¬ � ��= @ ; ��8L= � �² ��� �63A= @ � � D @ � � = =4= H���63 N D ISI D �5�?3A=��E3QC ���$7 � ��@ ���V3A= �+��� I����%3?�E3�I P I À = Q I�� DN· �� � ° ·�� � � � N C ���$7 � ��@ ���V3A= �-��� 8 D ��� 893 7G8 D �Y> D � �&3 = Ç D � � 3Q�F�-�2��!I I2���%3 · � �E3 I P I À G���=�� 8L=_8 D ���-���-3-� D N ��ISIB3A= I � �&3-�;�2�V3A= �-��� 8 D ��� 893 7\8 D �Y> D � �&3 D N 3A= 7��E3-�M�%3K@LH$893AH @ � =

Q � >$@ D P 7U��E D P G · � �2�,��I�� D � D @-3 7U���$7 7 D H E�ISUyO1I��2�� 7 = IX�63A=V3A= �-����!I I2���%3 · � �E3%I P I À G��8O8 D @L7��2��P3 D ( D ���%3K@C�����43-� È ���$7 �'G ��8L= � D 7 C G ·�� G���� I����� 7K3 D ��3-�T@+�6�!=&3����$7 I ON 3��E34I P I '3 D 3A= � ��@ �%3�� D 7 � �N���$7 �_@ �A> 893-�SP I?UG9�� N 3A= U �� ���%3�;CG �AH$8L= 3A=��E3��:9�C<; � ' ° �:9 �); � ' °�:9 �<; � ' G ���$7 � " C "�� = =4= H��AG� � 3 � � ��I2���� 7 I����-3-���E3%I P I ' G ·�� ° � � � �:9 � ; � ° � G D � N D @ ��8�= G�� = F��M� � @C��IJG�E3TI P I � G�� 8A���V� 3 H >V3 D � � � 5 I��2�%3-�AG D � %N D @ ��8L= G�� 5 = �R��8�=I����-3a8 D �&3-������� ��ISIB3A= � D 7 � ��=��S8L=Z=��P 3A= �>�E3A8L=��2��F� � E @+�L=��?>ZP 893 D @ >$@ P � = Q � >$@ D P 7

�)%

Page 95: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

��E D P G ��8L= D N 3A= � I����-3-�M���K��I�� D � D @-3 7X���$7"7 D H E�I?UO1I����� 7 = =�=)H��:G?� N 3A= 7��E3-� �%3K@LH�893AH @ �-�E3-����P ����ISI 3A= 8 D ���%3K@+�����&3-�AG��63��2���P� ��?>F��@+��>�= =

�Dq]d�d e��c� ���7R���Z�X�Ua�%R��V�R@Z��.RTS�[yZ�� ��RHVB�!�m� �x��X V7��� · �]�7��R���|W �S>X���U��y���L����'�Z���V1�7�r� �N��X½V����]�§Blmbub�¨!© F ��� @-3-������P� �Y� D 7 �U��� · 8 D ���-���-3-� D N 3*� D �%3-�E� � ¯ ����� @-3-�2���� ���6I P I À H��-����

�V� ��@L8�= D > @+�E3-� D ��G����$7 ����� @-3-���� � ���ZI P I�� � ¾ À H��-�����M3A= � �6�!=)E D @+� D N � �E3 I P I �  ' =I 8 D ���-�S7 @�3A= 8A��� �%= @ 3A= ���&3K@ D 7$H$8A����>� D 7 &)� UU���%I �-�53A=���� �'&)� U�� 3A= D 3A= @ 8A��� ��� �-���>�SI2��@R� D � D �>�63 3A= D � 7 3-���SI�� = @ �= Q I2� D G&� D �$I?UY>$@ D P 3A=��E3D( D ���%3K@+�����&3-� ' G < ����7 È ��@ �-�E3-����P 7V���( D ���%3K@C�����43-� %'G ]>���$7 �L��@ �M�?@A@ D @,���>�E� � D N ( D ���%3K@C�����43-� ' G < ����7 È @ �K> 893-�?P I?U =

=4= � ��@L8L= D > @C�E3-� D � �%3-��@-3 7FE U �"9 I���� ' ] D N Q I�� D @+�63A=�� %!;%@ 3AH$@+����3A= I���@-� �-3Q� D 7 �I �-�L3A=���� � 9 I���� ' � D N Q I6� D @+�63A=�� ' ;CGT���$7 � � ��7���� ������ ����3�� � �+�-�E� 3 D �:9 I��2� % ' D NQ I6� D @+�63A=�� %!; = ( � D N 3A= YN D ISI D �;�����M3*� D 8A��� � D 8O8OH @6¯�� �63A= @ �P� 3-� � � �� ° � ¾ �\9 I��2� � D NQ I6� D @+�63A=�� ]);CG��M�����43-���2������ ( D ���-3K@+�����&3 ' = ( @:G'� N ��7�7��63-� D ����I�� D 7 �R��@ �2��� @-3 7 E 3 � A � �F���$7�4G ����7 � � � " � 9 I2��� L< D N Q I6� D @+��3A=�� ]);CG�3A= � � > ���-� �53A= ������ ����3�� � �-�+�E� 3 D � � � = Q �3A= ������� �� � ��M� �-�-�E� ��� D �$I?U >����-� 7N3 D � D 7 �T��= D � UK�2� I �-�R3A=����V3A=��E3 D N �1G P �&3AH���ISI?U�63 @ ��8�= �U� D � � D 7 � �%= @ 3A= � �+�-�E� 3 @+�M�����E3 � ���$7 �

� � � ° � ¾ � G �>�����&3-����������( D ���-3K@+�����&3 ' = Q I�� D ����� � 3-� ��� � � °�� "� D @���� � � ° � " � � 9 I��2� % < D N Q I�� D @+�63A=�� %!;CG ��3A= @� � �� � � � ° � D @ � � �� � � � ° � �-�E3-��� N U�����1( D ���%3K@C�����43 <'= F��N3A= ��E�� �$8 D N �L�LH��63-��E�I �HG� D > D ���&3 @+���@ 8L=������ 7 ���$7 ( D ���-3K@+�����&3-� ' ���$7 < ��@ �-�E3-��� P 7 ���;3A= > D ���&3 @�PE��ISH ��@ �>�����MH��$8L=����� 7

N @ D � E ON D @ 3A= ����� @+3 =� D 7 � ��I�� D 7 3 @C�>��� �L3A= �����63-����I,@+�6�!=&3�� �6�!=VE D @ D N �HGT�-�U � 9 I���� � ' ����7 % À D N Q IKO

� D @+�63A=�� %!; ���$7 � ��7�� � ������� �� � �� � �-�-�E� 3 D � 9 I��2� % ] D N Q I6� D @+��3A=�� %!; = Ç����M�SI���@�3 D 3A= ��@LI�� @ ������ ����3�� � �-�+�E� G ��3A= @ � � 3-� � � � � ° � " � 9 I���� � D N Q I6� D @+��3A=�� ]);CG D @ >����+� �3A= � �-�-�E� D � 3 D � � � � N �63Q�2�Q��@ �E3 @L3A=���� � 9 I��2� M< D N Q I6� D @+�63A=�� ]); = Q �!3A= ������� �� � ��

� �-�+�E� �2� D �$ISU >����-� 7 3 D � D 7 �;��= D � U ���;��@ �E3 @ 3A=���� 3A=��E3 D N �1G P �43AH���ISI?UU�63%@ ��8L= �� D � � D 7 � ��= @ 3A= � �-�-�E� 3 @+�M�����E3 � ���$7 � � � � ° � " � = � D 7 � � 3-��� � � � ° � ¾ �

D @ � � � � ° � ¾ � 9 I���� % � D N Q I6� D @C�63A=�� %!;CG��>�����&3-������������( D ���-3K@+�����&3 ' = Q � �P� 3-� � � � � ° � " �

D @ � � 3-� � � � � ° � " � 9 I���� � D N Q I6� D @+�63A=�� ]);CG ��� �� � � � ° � �-�E3-��� N U����� ( D ���%3K@+�����&3 <'= F�� 3A= ��E�� ��8 D N �K�AH$8O8 �-� D @@G�� �-���W>�I?UK� 3-� ��� �� ° � 9 I��2� % D @ % � D N Q I6� D @C�63A=���%!;CG 3A= H��;3K@C�?P'�2��ISI?U�-�E3-��� N U�����+( D ���-3K@+�����&3-� ' ���$7 <'=

� <

Page 96: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� D 7 �FH�� � �63-��� �6�!=)E D @+�;�E3 I P I � G�9 � � À ;CG 3 D P��$7 �63-��� �6�!=)E D @C�;�E3 I P I � ¸' = � D 7

� � ��7��K� � � � ������ � �-�-�E� 3 D ��� 5 ¾ � 9 I��2� < % D N Q I6� D @+��3A=�� %!;CG����$7X3A=��2�K� �+�-�E� ���>����-� 7F3 D 3A= @C�6�!=43,3 D �AH$8O8 �-�-�SP � D 7 � ���

¬5 ¾ ��GT®�� ' G�H��43-�SI���3 @ ��8L= �5�>� D 7 �� �AH$8L= 3A=��E3

�:9 �<; � 9 � ¸' ;#°�:9 � ; � 9 � ¸

' ;CG4���$7��>� 3-� ��� �5 ¼ ´ ° � ¾ �\9 I2��� ,< ] D N Q I�� D @+�63A=�� %!;CG4�-�E3-��� N U�����( D ���-3K@+�����&3 ' = Q ��3A=����5� �-�-�E� ��� D �$I?U � �&3�3 D 3A= @+���!=43AG �F8A��� D ��I?U^8 D ��� 893 D � �63-��@C�6�!=4353 D� D 7 �D��@ �E3 @ 3A=����K�63-� I N = Q � � � 3-� � � �5 ¼ ´ °� " � G ��� �5 ¼ ´ � �5 ¼ ´ °�1G'�-�E3-��� N U����� ( D ���-3K@+�����&3 <'=Ç����M�SI���@LI?U�G � ��I�� D � �$7��5� � � � ������F� �-�-�E� �53 D �63-�%I ON 3;3 D ��� 5 " � 9 I���� L< � D N Q I6� D @+�63A=�� %!; ����T3A=����T� �-�-�E� ��� D �$I?U>� �&3?3 D � D 7 ��� I �-� 3A=��E3 �1G��63 ���AH @ �R3A=��E3 � � �5 ¼ ´ °� ¾ �HG��-�E3-��� N U�����( D ���-3K@+�����&3 ' = Q � � � 3-� ��� �5 ¼ ´ ° �4G�� � �5 ¼ ´ � �5 ¼ ´ ° � �-�E3-��� N U�����+( D ���%3K@C�����43 <'=

Q � � D �$ISU � H @+� ��3A= � D 7 � � �2� 3A= �-��� I��2�%3L���M�63-� I N �E36I P I � GT�63P��� ���AH$@ 7 3A=��E3�:9 �<; � � °�:9 �); � �E= �$H @-3A= @@G&� � A 3A=��E3 � D �$I?UWI����� '�W3 D �L� D 7 ���AH$8L=K3A=��E3��:9 �<; 5 °�:9 �); 59 I���� ' À D N Q I6� D @+�63A=�� < ; = =4=)H�� � 8A��� D �$I?U I����� !3 D �L�E3,I P I.9 � ¸

' ;W� N �:9 �<; � 9 � ¸' ;(°�:9 �); �

9 � ¸' ; = w��P�����>� A �U3A=��E3 � D �$I?U6I2���� �� 3 D � D 7 �,�;�63A=V3A= 8 D @A@ 893;� �`E @+�A=��S> P 893 D @a>$@ P � G

�63 D ��I?UJ@ �>�������;3 D �A= D � 3A=��E3��FI����� '�?3 D 3A= � ��@ �%3��LH$8L= � D 7 �;�E3 ��8�=_I P I � ¾ À = I � A3A=��E3 � �%3-��@-3-�TI D D ����� N D @,�63?�AH$8O8 �-� D @,�E3 I P I � ¸

' N @ D � ��� 5 9 I2��� �< ' D N Q I6� D @+��3A=��#%!; = � D 7 ��� 5 ��� �63A= @ 3A= �LH$8O8 �-� D @ N D @!� D 7 � �E3 I P I � ¸

' 9 I���� ' À D N Q I6� D @+��3A=�� < ;CG D @!�63 >����+� �3A= � �-�-�E� 3 D �63-�L�AH$8O8 �-� D @ 9 I2��� ' ] D N Q I6� D @+��3A=�� < ; = Q � 3A= � ��@�8L= N D @���� 5 ¼ ´ >$@ D 8 A 7��

D � � D 7 �E3!�V3-��� ��I D �� · � � � � � 5 � G1��3Q�����!H���@+���&3 A 7 3 D P���7 3A= R@Z�V>X�Z���UR� D 7 ��@ �E3 @ 3A=�����1G1��= D � � �`E @+�A=��?>ZP 893 D @ �M�E3A8L= ���:9 �<; 5 = =�=)H������ 5 ¼ ´ ° ��� ¬

5 G N D @ 3A= �-�>��I I �%3B® ¾ À G�-�E3-��� N U�����+( D ���-3K@+�����&3 È =I � D 3 3A=��E3L�5�63A=X8 D �$8OH @A@ �&3P����� @+3-�AGD��7$7��63-� D ����I � D 7 ���>�/U � 3WI��2�� 7 �E3>� D � I P I

E 3*� A � � ���$7 �63-� >�@ 7 3 @+�>�2� 7 � ���!=VE D @+�AG N D H��$7 H��-���� �63A= @�3A= � ��@L8L= D > @+�E3-� D � 9 N D @I P I À ; D @T3A= � � � ������M� �-�-�E� �+9 N D @ I P I��T��@ �E3 @,3A=���� À ; = F � ��8L= 8A��� G� � A 3A=��E3T��= �� D � D IS7N� D 7 @ 8 �?P �,� ���� � ����3��P� �+�-�E� �?3 D I2���� �3 D ��G'��3�P @+��P �R3A=��E3 > D ���&3-����Q3 D �F�;�SISI�>�����&3-����� 3A= � ��?> ��@C��>�= � D 7 D @�7 @ = ( 3A= @-�5��� G��63+>����-� �!3A= � �-�-�E� 3 D ��3-�!��>$>$@ D >$@+���E3 � �6�!=)E D @^9 I���� ] D N Q I6� D @+�63A=�� ]); = =4=�������� �� >�I2����� 7 ���X7 3-���SI?��E D P G?���$7 �63 ���AH$@ �L3A=��E3�"I2���� �� 3 D 3A= 8 D @A@ 893M� D 7 �P�E3 ��8L= I P I = Ç D 3A= 8 D ���%3K@C�����43-�M��@ �>�����&3-����� 7 P �Z�;�63A=8 D �$8OH @L@ �435����� @-3-�,�2�V3A= � ��?>F��@+��>�= =

=4= H��?��= � ��ISI 3A= 8 D ��8OH @A@ �&3������ @+3 D > @+�E3-� D ������@ 8 D �W>�I 3 7�G� � 35�M� '�S>F��@+��>�= =

� ]

Page 97: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

�Dq]d�d e��c� ����Z�W3Z Ua��R� RTS�[yZ��� �X S>� Vx�7�r� ����X½V���� · ����%R]� �LW �S>X7�aU��y���{����'>Z���Vx�!�m� ����X V7���}�§Blmbub�¨!© � I 3-����V�K� D 7 � N @ D � �N� ��?> ��@C��>�= · 8 D ���-���%3-� D N 3*� D �%3-�E� � �E3 ��8L=FI P I � ¯

P��$7�����K�F� D 7 3 D 3A= @+���!=43 D N � 3A=��E3Q��� � D 3 E ����J7 I 3 7�G/����7 3A= � P��$7��2��M�F� D 7 3 D 3A= I ON 3 D N �U3A=��E3;�2�,� D 34E ����Y7 I 3 7 3 D I����� M3A= � 3 � D � D 7 �,3 D � 3A= @ =

� D 7 � � �$7��T� ��� �����=��K� �-�-�E� 3 D �63-�?�AH�8O8 �-� D @ ��� 5 9 I���� ] D N Q I�� D @+�63A=�� �!; = Q �TI D ����� 3A=����Q� �+�-�E� �2� @ 8 �?P 7 E)U � � D 7 3A=��E3 �2�!�63-� I N E ����^7 I 3 7"9 I��2� % D N Q I6� D @+�63A=�� ��;CG�63 ��� >����+� 7 D � 3 D 3A= @+���!=43 3 D �AH$8O8 �+�-�?P � D 7 ����� ¥5 �

�����5 Ä Ä Ä 9 I���� ] D N Q I6� D @C�63A=�� ��;CG.H��&3-�SI�63 @ ��8�= �!� D � � D 7 � ¾ � �%=��S8L= �2� � D 3 E ���� 7 I 3 7 = � D 7 � � �$7�� � �� �� ������ ����� �" ��

� �-�+�E� 3 D � � 5 3 D 7 3 @+�>�2� �63-��� � I ON 3;� ���!=VE D @ 9 I2��� � D N Q I6� D @+��3A=�� ��; = Q �%I D ��M���53A=����� �-�+�E� ����@ 8 �?P 7 E)U ��� D 7 3A=��E3W�����63-� I N E �����%7 I 3 7 9 I��2� ' < D N Q I6� D @+��3A=�� ��;CG&�63B�2��>����+� 7

D �K3 D 3A= I ON 3R3 D �AH$8O8 �-�-�SP � D 7 ��� � ¥5 �� ���5 Ä Ä Ä 9 I��2� ' È D N Q I6� D @C�63A=�� ��;CG�H��&3-�SI���3�@ ��8L= �,� D �

� D 7 � " ��"��!��=��S8L=>�2�R� D 3�E ����� 7 I 3 7 = � D 7 � � �$7��R� ��� ��� ����� ����� ��" �� � �-�-�E� E���8 3 D �N���$7 � 3-� � � �5 ° � ¾ �4G �+�E3-��� N U'����� ( D ���%3K@+���2�43 ' 9 I���� � ' ���$7 % À D N Q I6� D @+�63A=�� ��; =�� > D �@ 8 �?>�3 D N 3A=����?� �-�+�E� 9 I���� D N Q I6� D @+�63A=�� ��;CG �P� 3-� � � �5 ° � " �^9 I���� ' À D N Q I6� D @C�63A=�� ��;CG�-�E3-��� N U�����/( D ���%3K@+�����&3�% = ��H @-3A= @:G��� � � �5 � �5 ° �����$7 � � �5 � �5 ° �4G-( D ���%3K@+���2�43-� < ����7 ]���@ ��I�� D�-�E3-����P 7 = � D 7 ��� ����7 �M��@ �2� 3A= �-��� I��2�%3��E3`I P I � G1� D �:9 �); � � ° �:9 � ; � � G1���$7 3A= U��@ ��I�� D ��� 3A= �-��� I2���%3 �E3+I P I �  ' = Q �!��ISI�3A= � D 7 � E 3*� A � 3A= � �5�SISI.E � P �&3AH���ISI?U7 I 3 7/G 3A= U ��@ � ��@ �%3�� D 7 �5�;�63A= �>�E3A8L=�����K� � E @+�A=��?>^P 893 D @+� 3 D E I����� 7U�E3 I P I � G�-�E3-��� N U�����+( D ���-3K@+�����&3-� È ���$7 � =

F N � D �LH��63-��E�I � D 7 � �� ���%3-�AG13A= I����%3Q� D 7 D � 3A= I ON 3 D N �F3A=��E3Q��� E ����J7 I 3 7�G1� �$7����������� ������ ����� �" ��F3 D �G9 I���� ' � D N Q I6� D @+�63A=�� ��; = � D 7 �F� 3-��� � �5 ° � 9 I���� ' À D N Q I6� D O@+�63A=�� ��;CG�3A= H���3K@+�?P�����ISI?UV�-�E3-��� N U����� ( D ���%3K@+���2�43-� %'G<]N����7 � = F N � D �AH���3-��E�I � D 7 � �� �2�%3-�AG 3A= I����%35� D 7 3 D 3A= @+�6�!=&3 D N � 3A=��E35�2�4E ����W7 I 3 7�G ��� N D @+�M� � D N 3A=��E3 9 I���� � D N Q I6� D @+�63A=�� ��; =� D 7 �F� �$7�� � ���������� ����� �"��� ���� � �-�+�E� 3 D ��� 5 9 I2��� � D N Q I6� D @C�63A=�� �!; = �%=��S8L=K��� >����+� 73 D 3A= I ON 3 H��43-� I&�63 @ ��8�= �D� � D 7 ;3A=��E3D�2�B� D 3 E �����a7 I 3 7J9 I2��� % ] D N Q I6� D @+�63A=�� ��; = � D 7 � 3-� � �5 ° � 9 I2��� % D N Q I6� D @+��3A=�� �!;CG D �$8 �E�H�����K3K@+�?P�����ISI?U �-�E3-��� N U'�2�� ( D ���%3K@C�����43-� ' G < ����7 È =F N � D �AH��63-��E�I � D 7 �� ���%3-�AG13A= � � D I����� \8L=������ �Q��@ �>��7 �E3 ��ISIJG����$7 ��ISI�3A= 8 D ���%3K@+�����&3-���@ �+�E3-��� P 7F����E ON D @ �=

I � D 3 3A=��E3Q�;�63A=_8 D �$8OH$@A@ �&3+7 I 3 �AG1��7�7��63-� D ����I�� D 7 � �>�/U � 3`7 I 3 7 �E3Q� D � I P I

� È

Page 98: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

E 3*� A � � ���$7 �63-� �� ���%3-�2��M� �6�!=)E D @+� = I � A 3A=��E3���= � � D � � �6�!=VE D @+�2��P� D 7 @ 8 �?P � �� �-�+�E� %N D @ 3A= 7 I 3 D > @+�E3-� D ��G'�63�P @C��P � 3A=��E3 �63T���R� D 3�E ���� 7 I 3 7K��3-� I N = F N � D G��63�>����+� �3A= � �-�-�E� D � 3 D ��3-�5� ���!=VE D @5��� �� >�I������ 7U���M7 3-���SIB��E D P �= =�=���� ���AH @ �53A=��E3 D �$I?U � D 7 �

D � �63A= @;�-�S7 D N �U3A=��E3;��@ � D 3�E �2��Y7 I 3 7^I��2�� >3 D ��8�= D 3A= @ ==4= H��AG?� N 3 @K��ISI,3A= 8 D �$8OH @L@ �4367 I 3 D > @+�E3-� D ���W=��P E A � 8 D �Y>�I 3 7�G � � 3N� � ��?>

��@+��>�= =

� ��� � �!�� �� � � ��� �)�� ��� � ��� ������! �

Q �;� ��?>F��@+��>�=��47 D � D 3�7 �%3K@ D UV3A= D @L7 @+����� D N 3A= U'�AG�3A= U 8A���^E ���-�SI?UJH�� 7V3 D �AH >$> D @-3��>$>�I2�S8A�E3-� D ���,�AH�8L= ��� P @C�-� D ������������7^H�� @ O1I P IR@ >�I�� 8A�E3-� D �V��=��S8�=F��@ �� >�I������ 7JE I D � =

�Bq]lrj6_�b@`t_a` ' ( � ��>$>�I��S8A�E3-� D �F�%=��S8L= ��� ���+�SI?UF���Y>�I � �43 7\H��-����K�M� ��?>U��@C��>�=U���5�WP @+�+� D �8 D �&3K@ D ID�KU��%3 �FG N D @ �� ���Y>�I G1�M�����43-���2������ 7����SI?UU� �;� ��@-3-�S8OI � ���!�A= D �5� ��� �B���!H @ ] = � = =4= H�� @ 8A��� @ � H �-3 N D @T3A= I2�E3 �%3,P @C�-� D �M����7M���P3A= ��E�� ��8 D N 3A=��E3AG�3A= �KU��%3 � 8A���K� ���WI �-�AISU>$@ D P'� 7 3A= � D �%3 @ 8 �43 8 D >)U �PE���SI���E�I G H��-�2��F3A= �+���Y>�I � ��@L8L= � 8L=��������-� = F�� ��7$7��63-� D ��G3A= H�� @T8A��� N D @+�`H�I��E3 8 D �W>�I �� � H @+� �?�AH�8L=V���DP��$7������Q3A= I��E3 �%3,��@-3-�S8OI E ON D @ � >���@+3-�S8OH$I���@7��E3 D @?P��$7������L��ISI1��@-3-�S8OI �,�5�63A=����N�>�K> 8A��P 7V3-�2� N @C��� �=

LEVEL 0

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

���6�!H @ ] = �]¯ � �-�2��!�!� '�?>M��@+��>�= N D @T�+P @+�-� D ������!��>�>�I��S8A�E3-� D � = =4= H�� @ 8A���6I D D N D @ 3A= I2�E3 �%3� �;�5��@-3-�S8OI G N D @ �� ���Y>�I G � ��� � ����������������� ^9 �%= @ �������!�������� M�2��3A= 7��E3 D � 3A= 7��U D N3A= @ � H �%3����$7N3A= @ ON D @ �2� 3A= � D �%3T@ 8 �&3�7��E3 ; = Q �?3A=��E3����,� D 3T>$@ � �43AG3A= �AU'�%3 �­P��$7��3A= � �� 3�� D �-34@ 8 �&3;��@-3-�S8OI 7��E3 7"���!������������ =

#zj�q]l�$7f�q �Tq}f<lrq���f�_&��e�kr_�bT` Ç ��?>F��@+��>�=��48A���^E D @-�H����� � 7 3 D =����$7$I &% Vm�!� � X S>��[m�CG ��= @ 3A= 3 �Y> D @+��@AUZ> D >�H$I���@C�631U D N �^@ � D H @L8 8A��H�� �!�\P @AUFI���@-� @ � H �%3+P D I H�� �= � 8 �43 �� ���Y>�I �

D N �����A= 8 @ D ��7��>�2�$8OISH$7 D P @+��= I��>�2��G7 �>���$7 N D @K� �;�P�-�63 �>�LH$8L=Z��� ( ��� ���$7 ��Ç ����(7$H @C����F3A= 3 @A@ D @+���-3 �E3%3-��8 ��P��� 3A= N� Ç Q D � Ç >�3 �`E @ ')' G % À�À

' = � 3 � A � ¯ % � � = � = ���$7'À ¯ À � � = � = G13A= � H��`E @ D N � ��@L8�= � N D @ *�( ��� , D � 3A= � ��@L8�= ��H��� � D)D �!I ¿ ] �mÃR�P @+�E� 7

� �

Page 99: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

��>$>$@ D � ���>�E3 I?U � À�À�À � H @+� �`> @L�M���)H�3 ��7= =4= �����L= 8 @ D ��7 >�= � D � � D � �2� ��I�� D > D >�H$I2��@LI?U �� D �;�U���,3A= *%�AI����L=$7 D 3 J 893 , E 8A��H�� D N 3A= �%3-�?@C� 8A��H�� 7^E UK� P @+��I1�%3 D @C� � D N 3A= > D >�H$I���@� EU�-�63 ������ � � ������ ��� ��! ��� ����� ������� =

I 8A���XH3-�SI�� � H�� @ O1I P I�@ >�I��S8A�E3-� D � 3 D ��I I P'�2�E3 3A= >$@ D E�I � D N = D 3��K> D 3-� 8A��H�� 7X7$H 3 D �����A=C8 @ D ��7�� = �H >$> D � 3A= @ ���V� P @AU > D >�H�I���@6@ � D H @L8 G N D @ �� ���Y>�I G;3A= � E >��E� �������� � ���������������������� = = D �/P D �S7 �6= D 3;�K> D 3AG�3A= �>��8L=���� 3A=��E3a= D �%3-�;3A= @ � D H$@L8 8A��� �>�� � P @+��I 8 D > � � D N �63 E)UL��>$> �$7������;�S7 �&3-��P @+���E3W3A= ? �$7 D N U����$7���7$7�����53A= � � �X@ � D H$@L8 ����Q� D 7 ��3 D 3A= 7��E3-�F�%3K@�H$893AH @ �= F N 3A= @ � D H @�8 � ��@ H���� N D @+�WISUJ7����%3K@+�?E�H3 7U��� D ���F3A= �>�mO8L=���� �AG��63,��� =��6�!=$I?U I2� I?U>3A=��E3;3A= � � � @ � D H @L8 ����@ ���-�-�6�H� 7V3 D 7��KJ @ �43��M��8L=���� �,���V3A= �KU��%3 � = Q �VU H�� @T8A���J@LH��N� � H @AU D N 3A= N D @C� ����� ������� ��������� ���$7 @ ��8L= D � D N 3A= @ >�I��S8A���AG���L�A= D �5� ��� �B���!H @ ] = � = � > �$7����� D � ��= @ 3A= � ��@�8L= �%3-��@-3-�AG 7���J @ �&3 @ � H �-3-�!�;� ISI�� D3 D 7��KJ @ �&3%@ >�I��S8A���AG����$7 J 893-�?P I?UZ>$@ D P'� 7 = D 3 �A> D 3 �>�����E� � �43 E U � D 3 D P @LI D ��7��2�� ���VU

D � >���@-3-�S8OH$I2��@+@ >�I�� 8A� = F�� ��7$7��63-� D ��GB�63!��I�� D >$@ D P'�S7 �Q�AH @AP��?PE��E��SI���31U�G1� D � N � N � @ >�I��S8A��� N ���SIJG3A= D 3A= @+�?��@ �-3-�SISI��/P ���SI2��E�I �2�>3A= � 3*� D @ = =4=����R� 8L=��������-� 8A��� E H�� 7 �63A= @ N D @,@ >�I��S8A���

D N 3A= @ � D H @�8 ��7$7 @ �-� �AG D @ N D @ @ >�I��S8A��� D N 3A= @ � D H @L8 �L3A= �>� I?P � = =4= P$@+�%3L��>$>$@ D ��8�=��ISI P����E3 �;3A= I D ��7 D � 3A= > A @�3A=��E35�M�����43-���2����3A= ��7$7 @ �-� D N 3A= D @+���H������IR@ � D H @L8 ��= @ ���3A= � 8 D �$7 D � ��I I P'�2�E3 �,3A= I D ��7 D � 3A= > A @�3A=��E3;��893AH���ISI?UJ= D �%3-�,3A= @ � D H @L8 �=

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

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

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

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

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

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

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

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

���6�!H @ ] = �¯ � �-�2��>�P� ��?>F��@+��>�= N D @�H�� @ O1I P IR@ >�I��S8A�E3-� D � =

I � D 3 3A=��E3L3A= � ��>$>�I��S8A�E3-� D ���`8A��� ��I2� D E ���Y>�I � �&3 7 H��+���� � w|=�� E�H3L3A= U �>�U@ � H��?@ ������7$7��63-� D ����IH��>$>�I�� 8A�E3-� D �`I2�U @W���$7L3A= ���-� D 8A���E3 7��>�����&3 �����$8 8 D �%3-�AG D P @W3A= ���E3-�?P 7��E3-�>�-3K@LH$893AH @ �=

���M�0� �4<:<2��*5 ���)�023��'@14B/+,�08�2 $& �'C+,��5 �H1('�?C !�K��������� ����� � � ���! #"�"$ �%��&��'�")(*� ��+ ��� ���$,���- � ��#- � � ��.���� �/� �#� (*% O� �

Page 100: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

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

���Z3A=����M� 893-� D ��G,� 7 �L8 @+�?E � D � D N 3A= \N ��H$I63>3 D I @+���$8 >�@ D > @-3-� � D N � � '�S>Z��@+��>�= �;�63A=��I?>�=���E 3 � À �

' � = ����H$I63 3 D I @+���$8 D N @ I��E3 7F7��E3-�V�%3K@LH�893AH @ �AG��AH$8�= ��� ��H�H� �&3 7FP @+�-� D ��� D NI����� 7 I����%3-�,���$7^E�������@AUK3K@ A �AG�=����4E A �F� ISIKO*�%3AH$7�� 7V���$7 � D � @ �AH$I63-� 8A���\E � A �U��� ¿ � < G �rà =����Ç 893-� D �M] = �'G � �H�?P �W@ >����S@5� 8�=��������-� 3A=��E3 7 3 893-� � D 7 N ���SISH @ �;���$7U�����63-���E3 �;��893-� D ���3 D @ >����S@�3A= � N ���SI H @ � = � ON D @ � ��� >�I������ 3A= @ > ���?@ � 8L=��������-�FG � ��@ ���43 @ �%3 7 ��� 3A= � H�� E @ D N � D 7 �D3A=��E3T8A��� E � >���@C�E3 7 N @ D � 3A= >�@+���>��@AUY8 D �Y> D � �&3 E)UP3A= %N ��� ISH @ D N D 3A= @� D 7 �AG1���Q3A=���� 7 3 @+�M��� � 3A= �-� � D N 3A= �AH @AP��?P�����K� '�?> ��@+��>�= � N 3 @ 3A= @ >����S@Q� 8L=��������-�P����2�A= � =

� D 3 3A=��E3�� N �`H$I�3-�?>�I � D 7 �,��@ �%3 D @ 7 D �F�P�-�2��!I �>��8L=��2� G���= �V3A=��E3��>��8�=���� 8 @+���L= �AG��ISI D N �63-� � D 7 �JPE�������A=Y�+���`H�I63-��� D H��AISU = ( H$@ @ �AH$I63-�V��@ �%3-�E3 7 ��� 3 @C�>� D N 3A= FN @C��893-� D �

D N � D 7 �N3A=��E3F��@ I D �-3 �Q� N 3A= � D 7 �V��@ @ D H�!=$ISU E���I����$8 7 ��8 @ D �-�F�M��8L=���� �AG;3A=��2�K�5�SISI4E >$@ D > D @-3-� D ����IW3 D 3A= 6N @+��893-� D � D N �>��8�=���� 6N ��� ISH @ � = � D � 3A= I �-�AGW�63!� D H$IS7:E H�� ON H$IR3 D =��/P �_E 3%3 @ H��$7 @+�%3-���$7��2�� D NaN ��H$I63�3 D I @+���$8 �%= � 3A= �>��>$> ���� D N @ � D H @L8 �P3 D �M��8L=���� �>���3-�� � ���&3 D ��8O8 D H��43 �/3A=����;�>�/U ��� N ��893 7 @C���>�E3-�S8A��ISI?UF���W>$@ D P N ��H$I63;3 D I @+���$8 G/��� � D 7 �5�-3 D @ 7

D �>�AH$@AP'�SP'�����5�>��8�=���� � 8A���K��I6�T�/U'�(P��$7 D 3A= @ � D 7 �W�-3 D @ 7 D ��3A= �+��� �>��8L=���� G4���$7P� D � A 7� D 34E I D �%3 P �U� N ��ISI D N 3A= �?@�� �6�!=)E D @+�,���V3A= � '�S>F��@+��>�=F��@ I D �%3 =

I 8 D ���-�S7 @ 3 � D N ��H$I63 � D 7 I���¯��J@+����7 D � N ��� ISH @ � D 7 IW��� ��=��S8�= ��� ��7 P @+�-��@LUZ8�= D)D � �@+���$7 D � � D 7 � 3 D N ���SIJG����$7N�!� D @+�%3½O18A��� aN ���SISH$@ � D 7 I ���>��=��S8L=N���V��7 P @+�-��@AU68L= D D � �?�K> 8A��P�8� D 7 �53 D N ���SI1� N 3 @ D E�� @AP�����M3A= �-3K@LH$893AH @ D N 3A= � '�S>U��@+��>�=�� D @ �6@+���$7 D � N ��� ISH @ > �E3%3 @+��G

�� > @C��� �&3-��I�@ �AH$I63-�:G!>$@ � �&3 7>���xÇ 893-� D �W] = � = ' G��A= D � 3A=��E3 N D @R� @ ��� D ����E�I?U I���@-� � '�?>P��@C��>�=� ��@LISU ��ISI�� D 7 �6@ �>�����X��� 3A= >�@+���>��@AU 8 D �Y> D � �&3 H��&3-�SI5��E D H3N3*� D OS3A=��?@�7�� D N 3A= � D 7 �

N ���SIJG����$7 3A=��E3��635����> D �-�-�?E�I 3 D �>�� � ��@L8�= � =��6�!=$I?U @ �-� I�� �&3,3 D N ���SISH @ � P �U�5�63A= D H3�H��-����3A= @ >����?@N� 8L=��������-�FG E U 3A= H�� D N @ 7$H��$7����&3 I��2�� '� = � D @V� � D @C�%3½O18A��� _N ��� ISH @ > �E3%3 @+��G3A= D @ 3-� 8A��I�@ �LH$I63-�AG)>$@ � �&3 7K�2��Ç 893-� D �6] = � = %'G��A= D � 3A=��E3 P �N�!� D @+�%3½O18A��� 8�= D �S8 D NRN ��� ISH @ �8A��H�� � I����>�63 7Z7����>�E� �= I �63A=F=��6�!=Z>$@ D E ��E��SI��63 U�G �F� '�?> ��@+��>�= �;�63A=�¢ � D 7 � =���� ��� " 9 ´

#"%$ ¦ ;

�� >������-� D � @C�E3-� D G4���Y>�I?U'�2���3A=��E3R�E3D� D �%3��W9�� µ I D ��¢.;B� D 7 � 8A��� E � >���@C�E3 7 N @ D � 3A= >$@+���M��@AU8 D �Y> D � �&3`E U�� N ���SI H @ � = I 7 D � D 3L�H�?P N�� > @+��� �43-��I,@ �AH$I�3-� N D @���7$P @+�-��@+����I N ���SISH @ � ���

�� > @C��� �&3-�,�>�UF� D 34E ��E�I 3 D �S7 �&3-� N U>3A= � D @+�%3½O18A��� `N ��� ISH @ >��E3%3 @+� =

� �

Page 101: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

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

��� D H @Q�-��� H$I��E3-� D ���AG � '�?> ��@+��>�=�� ��>$> ��@ 3 D E =����!=$I?U^@ �+�SI�� �&3;3 D @+����7 D � N ��� ISH @ � = I 8 D �}O�%3K@LH�893 7 � � ��?> ��@+��>�= D N ' < ' À � %Z� D 7 �AG���= @ ��8�= � D 7 �?���^=���7Y� H���� � H I���E I N @ D �¿('�' < ' À � %rà = I >$@ D ��@ �-�+�?P I?U!����8 @ ��� 7�3A= >$@ D E ��E��SI��63 U D N � D 7 N ��� ISH @ ���$7�� ���AH @ 7�3A= �-� �

D N I���@-� �%3 8 D ��� 893 7:8 D �Y> D � �&3 D N 3A= I��SP � D 7 �!��� � I ID��� 3A= � H��`E @ D N ��� D I��E3 7 � D 7 ����;� N @+��893-� D � D N 3A= 3 D 3-��IB�)H��`E @ D N � D 7 �����V3A= ��@C��>�= = Q ���A= D �;� �2� ���6�!H @ ] = �'G � ��@LI?UV��ISI� D 7 �%@ �>����� ��� 3A= >$@+�2�>��@AUJ8 D �Y> D � �43 P � ����3A= >�@ D E���E��SI2�631U D N ���$7��SP'�S7�H���I � D 7 N ���SISH @ �� 8 A 7�� À Ä � = I ��I�� D � A 3A=��E3��YI D 3 D N � D 7 �?��@ ��� D I��E3 7 ���?3A= N ���SISH @ >$@ D E���E��SI���31U>���$8 @ ��� �E 8A��H�� ��ISI D N 3A= �S@;���>� 7����E3 � �6�!=)E D @C� 7�� �=

0.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

1.1

0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1

Isolated nodes/Primary component

Probability of node failure

Isolated nodesPrimary component

���6�!H @ ] = �]¯��4= � H��`E @ D N ��� D I2�E3 7 � D 7 �K���$7Z3A= �-� � D N 3A= >�@+���>��@AUX8 D �Y> D � �&3K���V�N @+��893-� D � D N 3A= �AH$@AP'�SP'�����L� D 7 �,���U�P� '�S>F��@+��>�=F�;��3A= ' < ' À � %M� D 7 � =

� D @ � ��@L8L= �AG13A= YN ��893 3A=��E3 3A= �/P @+�E� � ��@L8L= �2�VP D I?P � D ��I?U � 9 I D �(¢.;�� D 7 � �%3-��E�I��2�A= �3K@+�?P�����ISISU 3A=��E3R� D �%3D� ��@L8L= � �AH$8O8 A 7K����I D �� ���D3A= >$@ D > D @-3-� D � D N�N ���SI 7P� D 7 �W���W�AH E��-3-���43-����I I?UI �-��3A=���� � 9 ´

#"%$ ¦ ; = � U_7 3 893-���� N ���SISH @ �%I D 8A��ISI?U ���$7_H��-����V��7$7���3-� D ����I.@ 7$H��$7����43 7� �AG�� 8A���U�M�� � ��@L8�= ��=����!=$I?UM3 D I @+���43;3 D �-�>��ISI�� H��`E @+� D N @C���$7 D � N ��H$I63-� =

Ç D � N H @-3A= @ �� > @+��� �43-��IR@ �AH$I63-�5��@ �A= D �;� ��� ���6�!H @ ] = = ��� 3A= � !�� > @C��� �&3-�AG ��8�=� D 7 =���7 ��7$7��63-� D ����I�I����� '�53 D H > 3 D P�P � ��@ �%3 �AH$8O8 �-� D @+� �E3 P @AUZI P I = Q 3 D 3-��I D N ' À�À�À�À� �-�+�E� �W� @ � �43 E 3*� A � @+���$7 D � I?U+8L= D � �>� D H @L8 ���$7 7 �%3-�2���E3-� D ��� D 7 �AG����$7L3A= TN @C��893-� D �

D N�N ���SI 7N� ��@L8�= �,�?���,� ���AH @ 7 = I � A 3A=��E3,� ��?>N��@+��>�=��,��@ � H��63 @ �-�SI2� �43 3 D @+���$7 D � N ���SIKOH @ � = ��=���� >�I D 3 ��>$> ��@+�W3 D 8 D �&3K@+��7�� 893R3A= D � �A= D �;�M�2� �B���!H @ ] = �'G�E 8A��H�� � � D H$IS7 �� > 893

Page 102: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

0.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7

Fraction of failed searches

Probability of node failure

1 successor2 successors3 successors4 successors5 successors

���6�!H @ ] = ¯M� @+��893-� D � D N�N ��� I 7 � ��@L8�= ���2� ��� ��?>Q��@+��>�=Q�;�63A= ' < ' À � %�� D 7 �/���$7 ' À�À�À�À � �-�+�E� � =�R��8�=U� D 7 =�����H >F3 D P$P �LH$8O8 �-� D @+�;�E3 ��8L=MI P I =

��ISI13A= � ��@L8L= ��3 D �AH$8O8 A 7 ��� I D ��K������ISI I��?P � D 7 ����@ ��� 3A= �-��� 8 D ��� 893 7_8 D �Y> D � �&3 =w D � P @:G D �$8 3A= � D H @L8 ����7 3-��@-� 3�� D 7 � ��@ P �� 7�GB3A= @ �2�!�MP �' 7�G 7 3 @+�M�������%3-� 8 >��E3A=��I D ��!��=��S8�=�3A= � ��@L8�=W>$@ D 8 A 7�� ���$7>� N ���VUP� D 7 D �M3A=���� >��E3A= N ���SI2�AG�3A= � ��@�8L= N ���SI�� = Ç D 3A= @ �>�/UWE ��S>�xZ,>��E3A=6E 3*� A �M3A= � D H$@L8 ���$7M3A= 7 �%3-�����E3-� D �>� D 7 �AG >�H3%3-����!3A= � �2�P3A= �-��� 8 D ��� 893 768 D �Y> D � �&3AG!E�H3�3A= >��E3A= H�� 7 E U!3A= � ��@�8L=M��I�� D @+�63A=�� �>�/U`E E$@ D �/G N D � I������3A= � ��@L8�= = ��=���� �AH��� �-3-�Q3A=��E3L� N � H�� �-�>��@-3 @L� ��@L8L= 3 8L=���� � H �AG��AH�8L= ��� �KH��W>����� E 3*� A �3A= 7��KJ @ �435� '�S>\I����%3-�;3A=��E35�K� D 7 E I D ��H�;3 D G � 8A��� � 3�� H$8�=^E 3%3 @�� ��@L8L=Z> @ N D @+�>���$8 P �U�2�V3A= >$@ � �$8 D N N ���SI H @ � =

��� � � @+��IJG�� ��?> ��@+��>�=�� 7 D � D 3a>$@ D P��S7 ��� �%3K@ D ��V�!H���@C���43 A �Q����3A= D � >�@ D P��S7 7ME)UM7��E3-��%3K@LH�893AH @ � E���� 7 D � �� >�I�� 8A�63 H�� D N �� > ���$7 @+�D�LH$8L=K����8 ��� D @C�A=��?>�O @ �-���%3-���&3D� 3*� D @ �� ¿ < È G ' À %G% �mà = � H�3�� E I�� P 3A=��E3 3A=���� ��� 8 D �Y> ���+�E3 7 N D @ E UU3A= �-�2�Y>�I��S8A��31U D N � '�?> ��@+��>�=�� ���$7 3A= �� ���%3 �$8 D N � D D 7M7����%3K@+�SE�H3 7N� 8L=��������-�>� N D @�8 D ���-3K@LH$893-����>����7J@ >����?@+�2���3A= � =

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

��� ��7$7���3-� D � 3 D 8 D ���-�S7 @C����F@+���$7 D � N ���SISH @ �:G � ��@ ��I�� D ���43 @ �%3 7 �2� ������I?U �:���� 3A= > @ ON D @+�>���$8 D N � � '�?> ��@+��>�= ��= � ��� ��7$P @+�-��@AU:8A��� D E�� @LP 3A= 7��E3-� �%3K@LH$893AH$@ GW���$7 8�= D D � �K> 8A��P�8 � D 7 �B3 D N ���SI = � � > @+��� �&3-��I)@ �AH$I63-�B�>�/U � D 3 P � E ��E�I 3 D � 7 �43-� N U 3A= � � D @+�%3½O18A��� N ���SISH @ >��E3%3 @C��� = Ç D ��� 3A=������ 893-� D ��G�� I D D F�E3;3A= !�� >������-� D � @+�E3-� D D N �M� ��?> ��@C��>�=�G����;3A=��E3�H�?P � H�� 3A= � H��`E @ D N � D 7 �D3A=��E3T8A���6E � >���@+�E3 7 N @ D �O3A= >$@+�2�>��@AU 8 D �Y> D � �43 P �N�;�63A=

À

Page 103: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

��7 P @+�+��@+����I N ���SISH @ � = 3�� E �P��@+��>�= = � 8A��I I�3A=��E3�3A= !�� >������-� D � @+�E3-� DYD N �M� 3 D N � D 7 ��� ����� ��� � ��� � B � ��� G

��= @ � ����� ���53A= �)H�� E @ D N � D 7 ��3A=��E3���@ � D 3������ E�H�35��@ ��7 �-��8 �43 3 D � D � � D 7 ���� =�4= ,�� >������+� D � @+�E3-� D D N 3A= ��@+��>�=� ���W3A= �>������� H�� �� >������-� D � @C�E3-� D N D @ ���VUP� 3�� G N D @D��=�� 8L=' Æ � � � Æ ¢ B % = ��= P�� > �����-� D �F@C�E3-� D 7 3 @+�M��� � 3A= @ �-�SI�� �$8 D N �U��@+��>�= �2� 3A= >$@ � �$8 D N ��7$P @+�-��@+����I N ���SISH @ �AG)E 8A��H�� � >���@+�E3-�������� 3�� N @ D � 3A= >$@+�2�>��@AUW8 D �Y> D � �&3 @ � H��?@ �T��ISI� D 7 ����� ��� 3 D N ���SI = I �5�SISI �A= D � 3A=��E3;� ��?>F��@+��>�=�� =��P " 9 ´

#"%$ ¦ ; �� >������-� D � @+�E3-� D �;��3A= =��6�!=>$@ D E ��E��SI��63 U�G4���Y>�I?U'�2�� 3A=��E3 D �$ISU � 9�� µ I D �E¢.;W� D 7 ��8A��� E � > ��@+�E3 7 E U � N ���SISH @ �AG P �V� N 3A= N ���SISH @ �?��@ 8A��@ ON H�ISI?UM3-��@+� 3 7 =

( H$@5�%3K@+�E3 ��U N D @ �A= D �;����M� I D � @aE D H��$7 D � 3A= !�� >������+� D �^@+�E3-� D D N �M� '�?> ��@+��>�=U�;�SISIRE 3 D �A= D � 3A=��E3Q�5�63A=F=��6�!=Z>$@ D E ��E��SI��63 U�G���ISIW� 3-��� �63A= @ =��P I���@+� � � � 9�� =#�= G��>���VU � �6�!=)E D @+��E3,3A= E D 3%3 D � I P I D N 3A= � '�S>K��@+��>�=�; D @4=��P I���@+� � 5 � N D @�� D � > ��@-3-�S8OH$I���@ � 8L= D � �JE ��� 7

D � 3A= �-� � D N � = � D @+�M��ISI?U�G�� 7 P�� � 5 � ���53A= � 3 D N ��ISI�� D 7 �;3A=��E35��@ � D 35�2��� E�H3���@ � D ��� 7 3 D � � D 7 ����� E U ��� 7� �E3 I P I �E= ( H @ @ �AH�I63Q���+E ��� 7 D � 3A= D E�� @LP �E3-� D � 3A=��E3��� °�� 5 � 5 � ���$7 � ��� ���Z�M� � 5 � � 5 ��� = I E �H���6E U68 D H��&3-�����3A= � H��`E @ D N � 3-��� D N ���H�?P ��-� � 3A=��E3�=��P �-�>��ISI�� � � =�Dq]d�d e��c�����7R V�¢�� RTS6[yZ �7�r� � ��X½V7�T� �#�aU�� V>W ���]V�!Z U � À �

' � ¡MU��}Z�R��}�N�7Z�X�S½ �� Z�U�����¡ ���}Z X Z� � ��°� " ¢ V>RT[ � � � � �=" ��¡(�%�BW3Z��!��U��}V>R ±��¹ ´� ³t´�� D¼ ´��� � ¦

¹ ¹ ´� ¹ ´ � �§Blmbub�¨!© I �63A= D H3aI D �-� D N � � @+��I��63 U�G ���-�LH�� 3A=��E3;3A= � D 7 � D N 3A= � '�?>U��@+��>�=U��@ � H���O

E @ 7 N @ D � ' 3 D ¢ = � �?P �F���AH E�� 3�� D N 3A= � � D 7 �AG 7 P � � 8 D @L@ �K> D �$7������ E��63½O P 893 D @ �^E)UI 3%3-�����!� ² ° ' � N ���$7 D �$I?U>� N � D 7 ¶ ��� �2�� = �4= �"� � � 8 D @A@ �K> D �$7��R3 D ��ISI�� @ D �?����V3A=��E3,��@ ��7 �-��8 �4353 D � D � �=

( D ���-�S7 @,3A= !�� 3 �$7 7^E��63½O P 893 D @�� � ° ' � ' D E�3-���2� 7^E UN��>�> ��7�����P� D � 3 D ��8L= �$7 D N� = � 8A��H�� � � �%3-��@+3-�L����7 �$7�� �;�63A= � D � G���3`8A��� E 7��?P��S7 7 �2�43 D ��I63 @+���E3-�2��U���&3 @APE��I�� D ND � �����$7�� @ D �:G D N ��=��S8�= � ¸

' ���43 @LP ��I��!�;�SISI�8 D ���-���%3 D N D � �L���$7 � �;�SISI�8 D ���-���%3 D N � @ D �

N D @!� D � ��G/��= @ � ¾ À �-���$8 � 8 D �43-�������Q�E3 I ���%3 D � � @ D = ( E�� @LP 3A=��E3 ��8L= ���&3 @AP ��I D N� @ D �Y8 D �43K@C�?E�H3 �P�E3YI ���%3 D � ���$7 �E3>� D �-3L3 � DFD N �63-� �$7 > D ���&3-�!3 D � � � = � 3 N D ISI D �;� 3A=��E3� Æ � � � ��� Æ % ��GT����7 3A=)H��>���VU#� N D @>�%=��S8L= � � � � � " �M8 D @A@ �K> D �$7���3 D ���$� N D @>��=�� 8L=#� �8 D �&3-������� � Æ � � � � � " � ���&3 @AP ��I2� D N � @ D � =

'

Page 104: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

��2�$8 3A= @ �2�P�E36I ���%3 D � � �;�63A= � " �ME�H3�� � � � � � �HGT3A= � H��`E @ D N � 3-�� �;�63A=� � � � � " �F�2�L�-3K@+�S893AI?UGI �+� 3A=���� 3A= � H��`E @ D N � 3-� ���;�63A= � " � = �,U 8 D H��&3-���� 3A= I��E3%3 @� H����43-��31U�G�� � 35�P�-3K@+�S893�H >�> @TE D H��$7 D �F3A= +N D @C� @ =

I � D � 8 D H��43AG N D @ ��8�= ��G3A= � H��`E @ D N E �63½O P 893 D @+��� � �;�63A=H¢z � � @ D ��8 D ���-���%3-����� D N� ¸' ���&3 @APE��I�� D N D � � ����7��N���&3 @APE��I�� D N � @ D � = ( E � @AP 3A=��E3 � 8A���F8L=���@+��893 @C� � �AH$8�= �

E��63½O P 893 D @%8 D �Y>�I 3 I?U6E)UN�K> 8A� N U'����� 3A= � D � � @ D I ���3A= D NB ��8L= D N 3A= � ¸' ��ISIKO D � ���&3 @APE��I��

3 D � 3A= @ �;��3A=U3A= � D � � @ D I ����3A= D NR ��8L= D N 3A= �K��I IKO � @ D ���43 @LP ��I�� = �4= @ ��@ � ¸ % D � �3A=��E3�� H��%3TE 7����%3K@+�SE�H3 7M��� D ��P3A= � ¸

' ��ISIKO D � ���&3 @APE��I��AG���$7V3A= @ ��@ � D¼ ¥ ¹ ´� ¼ ´ ¹ ´ � ° � <¼ ´����?�U�� 3 D 7 D � D = Ç���>�SI���@�I?U�G�3A= @ ��@ ¢� � � @ D � 3 D 7����%3K@+�?E�H3 ��� D �� 3A= �Q��ISI�O � @ D ���&3 @APE��I��AG���$7 3A= @ ��@ � ¦ ¹ ¹ ´� ¹ ´ � �T�/U'�!3 D 7 D � D = Ç����$8 3A= � 3*� D 7����%3K@C�?E�H3-� D ���5��@ �2�$7 > �$7 �&3AG�3A= 3 D 3-��I�8 D H��43;�2� �� ��893AISU � D¼ ´��� � ¦

¹ ¹ ´� ¹ ´ � =Ç�H��>�>���� D P @ ��ISI � " �!3A= �F�H�?P �;3A= H >$> @ E D H��$7 ±��

¹ ´� ³t´ � <¼ ´��� � ¦¹ ¹ ´� ¹ ´ � =� D @aI P I�� � ¾ À G�� �A= D � �;��3A=F�Y>$@ D E���E �SI����%3-� 8;��@-�!H�� �43AG�3A=��E3 � � 5 �����2� D �$I?U @+��@ I?UN�-�>��ISI

�Dq]d�d e��c�����cZ�U �ª�!Z VH������� Z�U?S½  � Æ ¢ B % RTS6[yZ�� S½ NVx¢�� R@S�[yZ:�!�r� � ��X V7��� · �#�aU���V�W ���}Vy�!Z�U� À �' � � �c��Z�R� �S�X�V>R�\ � ¡ %�@ � � ��� ��� Æ ´

� µ % ��� " % � ¥ 3� »�� ¥����� 9 % BE< ; ��§Blmbub�¨!© ��= U D E�� @APE�E3-� D � �2�?3A=��E3 N D @ ��8L= I ��� � À �

' � 5 G�� N � 8 D �43-�������;�>� D 7 � �;�63A=�:9 �<; � � ° I ����7�� &)� 8 D �Y>�I � �43 ·  � 8 D �43-���������V� D 7 � �;�63A= �:9 ; � � ° I G�3A= � 3A= @ �� ���%3 � D 7 ��� ��� � ���$7 ��� ·  � ��I D ��F3A= > �E3A= N @ D � � 3 D �2� · 0 G��AH$8L= 3A=��E3 � � ���$7 ���@ ��7 �%��8 �&35��� · 0 = �$H @+3A= @+� D @ G �-���$8 �AH�8L=^> ���?@+�,��@ 7����%3-���$893 N D @%7��2�%3-���$893 I G�� � 3;�6I D � @E D H��$7 D � � 5 � E UZ8 D �Y>�H3-���� �MI D � @ E D H��$7 D � 3A= � H�� E @ D N 7��2�%3-���$893 I N D @Q��=��S8�= � ���$7·  � E D 3A= 8 D �&3-�����U�E3�I ���%3 D � � D 7 ��� · 0 =

3?Å 9 � ;4E 3A= � 3 D N I � � À �' � 5 N D @���=��S8�=�� 8 D �&3-������� �N� D 7 D N · 0 G ���$7 �+���>�SI���@�I?U N D @

Å 9 ·  � ; = ��= �

%�@ � � Å 9 � ;N� " %< µ % 5 � Æ �

����� ��� � � ³ � »�� ¥���%�@ ¿ Å 9 � ;�����Ã

Æ % 5� ¥� µ % ��� � 9 % BE< ; � �� �

%

Page 105: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

���$7 E UN3A= �-��� @ ��� D ������G

%�@ � � Å 9 · Â � ;N� " %< µ % 5 � Æ % 5

� ¥� µ % ��� � 9 % BE< ; � �

¹ �Ä

�TH3?� N E D 3A=NÅ 9 � ;D���$7xÅ 9 ·  � ;�=��63R�E3 I ���%3 3*� D OS3A=��?@L7�� D N 3A= I G&3A= �N3A= �S@ ���&3 @+� 893-� D �N� H��%3=��63 �E3 I ���%3 D � OS3A=��?@�7�G1���$7 3A= H�� 3A= >�@ D E���E��SI2�631U 3A=��E3LÅ 9 � ; � Å 9 · Â#� ; " ´

� µ % 5 ��� �E3 � D �%3� ¥ 3� »� � ¥ ��� � 9 % BE< ; � �� ¸ 9 % BE< ; � �

¹ � � GT��=�� 8L= ���P��� 3AH @+�XE D H���7 7 E)U % � ¥ 3� »� � ¥ ���� 9 % BE< ; � � H��$7 @�3A= ���-�AH��Y>�3-� D �V3A=��E3�� ��� Æ � ·  � � =

� 8A��� � D � � 353A= `N H�ISI<@ �AH$I�34E)U ��@+�!H�����>3A=��E3;3A= @ ��@ � D 3 � D H�!= � 3-��� �;�63A= �+�>��ISI� � � � �<9� �>�>� ] = �!;T3 D � 3��P� D �}O*� �!I��6�H�SE�I >$@ D E���E��SI���31UP3A=��E3����)U D � D N 3A= � =����,�-�M��ISI9� � 5 � �N D @���� ��>$>$@ D >�@+���E3 I?U 8�= D � � � 9� �>�M� ] = ; = � 3-���SI�����@ �H�?P �F���V3A= >$@ D D N D N �4= D @ � ] = ' ÀE I D � =~{� q]b�lmq]d �p�������cZ�U���� ��� �c�}Z�R V��!�m� �Á��X½V������#�aU���¢sRTS6[yZ��MV>RT[.V>W �T�]Vy�!Z�U�� À �

' � ¡��]Vm�HV�RZ����}V>R����aS�R X½V�Ua� S S½ xV�U?W�Z!Vm��U ´. #"%$ ��� » ¦ �#�aU��x�@X½Sy�!Vy����WY��Ua\�V�U�W3Z�V>��U ' Â��c¢ ¹ . ¡����}Z�X�Z����}Z��� ������������ ������� ������� ������� ������ � �!���" ��#���

§Blmbub�¨!©$� �;�SISI��L= D � 3A=��E3;3A= >$@ D E ��E��SI��63 UM3A=��E3 �M� '�?>U��@+��>�= · �;�63A=�¢ � D 7 ��7 D ���% ��=��/P 3A= �H�?P � �� >������-� D �F@+�E3-� D ��� �E3 � D �%3&�p¢ ¹ .9G���= @ � ° < ' = �4= >���@-3-� 8OH$I���@+PE��ISH D N��° < ' �>�/UJE ���U��@-3-� N ��893 D N D H$@4>$@ D D N �3A= ��893AH���I[8 D ���-3-���43��>�UJE �-�>��ISI @ =

( D ���-�S7 @;� D � �AH E � 3 � D N · �;��3A= � ���° � Æ ¢ B % = 3 �B° . #"%$ ��� » ¦ ° #$ � � � ¥ �. #$ ¦ G����$7MI 3� ´ ° � ��� = � �;���A=V3 D �A= D � 3A=��E3AG��5�63A= =��6�!= >�@ D E���E��SI2�631U�G��ISI�� D N �-� � � =��P � ��� ��� � ´ = � �;�SI I$7 D � D E U 8 D H��&3-���� 3A= 5�� > 893 7V�)H��`E @ D N � 3-� � �5�63A=K�+�>��ISI @ �� >������-� D � = Q �)UM�AH�8L=N� 3� H��%3 =��P E D 3A= � � � � �9"��>���$7 � � 5 � � " � N D @Q���VU � � D H @Q�%3K@+�E3 ��U �;�SISI.E 3 D �A= D �('�@+�%3�3A=��E33A= @ ��@ �N � � 3-� �Y�2�P3A= '�@+�%3�8A�E3 � D @AU�G�����7>3A=��E3 ��8L=V� 3 3A=��E3,7 D � =��P �-�>��ISI � � �Y����P @AUI�� ISUM3 D =��/P I���@+� � 5 � N D @;�>�AH���3-��E�I �� =

� UQ �M�>�4] = �'G�3A= @ ��@ �E3B� D �-3 ±�� º¹ ´� ³t´ � D¼ ´��� � ¦

¹ ¹ ´� ¹ ´ � � 3-� � D N �-� � � N D @B��=��S8�=�� � � � �="� ´ = � 35����� D 3�=���@L7V3 D �A= D � 3A=��E353A= I���@+� �%3�3 @+� ���V3A=������LH�� 7 D �>�2���E3 � = ���$7 A 7�G N D @ � " � ´ G3A= @+�E3-� D E 3*� A �N��7 �%��8 �&3?3 @+�>� � <¼ ´��� � ¦

¹ ¹ ´� ¹ ´ � B � <¼ ´��¼ ´ � � ¦¹ ¹ ´� � � H���I�� �D¼ ´ ¹ � µ ��¼ ´¦ ¹ ¹ � G���$7

<

Page 106: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

�-����8 � " ´�� ���$7 � Æ ¦ ¥ G�3A=����T>$@ D 7$H�893?�2� ���-�SI?UN� A � 3 D E I �-�?3A=���� ´¥ = � 3 N D ISI D �;�?3A=��E3

� º¹ ´�� ³t´

� ¸'

� � ¢MÂ �­Â '�|Â ' � " � ¸

'� ´  ' � ¢M �­Â '� ´  % � ��²3³ �% ¹ ²

° % � ¸'� ´ Â ' � ¢MÂ �­Â '� ´ Â % �

" ¢ ¥ � � º¹ ´ �

" ¢ ¥ � ° ¢ »����� �� ��� »� °�% »�� � � � ��� »�

� Ä� D � I 3 � ° � I6� � ¸ I6� < ��G � D 3A=��E3 � Æ ´

�% 5 Æ % � =

Q >$>�I?U������ �M�>�Y] = G�� =��/P

%�@ ¿ � � 5 � � " � � Ã Æ %�@ � � ��� � � Æ '< µ % � �" % % 5

� ¥� µ % � � � 9 % BE< ;

Æ % � �% � ¸

' � 9 % BE< ; " % µ 9 � ��; ¥ � ¼ ´ 9 % BE< ; �

���$7F3A= H�� � ��� ��� � ³ ��� � � �� � �

%�@ ¿ � � 5 ��� " � � à " % »�� � ��� ��� »�� µ % µ 9 � � ; ¥ � ¼ ´ 9 % BE< ; Ä 9&] = ' ;

�B�� '�2��P3A= E���� �� %YI D �H��@+�63A=�� D N 3A= @+�6�!=&3�=����$7F�-� 7 �H�?P �

% � I6�<9 <!B %!;� ¸

'¸ 9 % � ¸

' ; I���9 � ��;� � I6��9 <!B %!;" % � I���9 <!B %!;

� ¸'¸ < � I6�<9 <!B %!;

��I��(¢ � I6�(¢M � I6��9 <!B %!;

° '¸ � È

� ' � I6��9 <!B %!; Ä

� 3 N D ISI D �;� 3A=��E3!3A= >$@ D E���E �SI��63 UF3A=��E3Q3A= @ P�� ���%3-�!����� D N �-� � � G N D @ ��=��S8L=_E D 3A= � � � � � ���$7� � 5 �����@ I �+��3A=���� �HG �����E3 � D �%3 %>3 D 3A= ��E D P � H����&3-�631U�G ��=�� 8L=F� 8A��� �4@+�63 ��� % I �%= @ I ° 9 <!B %!; � � . ¹ ´ � =

� D 8 D �Y>�H3 3A= >$@ D E ��E��SI��63 U�3A=��E3,���VUN� 3 =����?�L�+�>��ISI � �6�!=)E D @�= D)D 7�GH� �AH�� D P @�� = �,U7 '����63-� D � D N 3A= P�� >������-� D �_@+�E3-� D G1� � A 7 D �$I?U_8 D ���-�S7 @ PE��ISH � D N � I �-� 3A=���� D @ � H���I�3 D

]

Page 107: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

¢ B % ��= D � P @:G E 8A��H�� M P @AUF>$@ D > @L�AH E�� 3!� D N · =���� �E3 I ���%3 D � � �6�!=)E D @:G1� � A 7 3 D8 D ���-� 7 @ D �$I?U � ¾ �<I D � � � ¥ ¢ = Ç D � =��P

%�@�� · =���� �� > �����-� D �J@+�E3-� D I �-�,3A=���� ´. #"%$ ��� » ¦�� "¦ � ¥� ³�� . #"%$ ��� » ¦�� % I

" %� ��²3³ �

I ²� � I � . #"%$ ��� » ¦�� �Æ %'  I µ I . #"%$ ��� » ¦

° %'  I µ ¢ . #"%$ ��� » 0

° %'  I µ ¢ . 9 �� ¹ ´ ;

° %' Â I µ ¢ ¹ .

" < ' µ ¢ ¹ . ���= @ 3A= I����%3;�2� � H���I��631U N D ISI D �;� N @ D ��3A= ���-�AH��Y>�3-� D �V3A=��E3 ��� � =

� ��� � � ������� � �' ����!�

Q I63A= D H�!= �M� ��?> ��@+��>�=M8A��� �AH @AP��?P � N � 7����K@�H >�3-� D ���:G���35���47 �-�?@+��E�I 3 D �/P D �S7 ��8O8OH��`H$I2�E3-����

@A@ D @C� = Q I���@-� � H��`E @ D N H�� @ > ���?@ 7 N ���SI H @ �L�;�SISI 7 ��@+��7 3A= �S7 ��I?� ��@L8�= > @ N D @+�>���$8 D N � � '�?> ��@+��>�= = � >�I2�S8A�E3-� D � ��I D � �>�/U � D 3��!H���@C���43 A @ D E�H��%3-� �+�AGD���$7 � � A 7 �M@ >����?@� 8�=��������-� 3A=��E3P��H3 D �>�E3-� 8A��ISI?UG= ��I�� 7����A@LH >�3-� D ��� = �$H @-3A= @:GD��� N ���SI H @ � D 8O8OH @ 8 D �43-�2�)H D H��AI?U�G3A= @ >����?@ � 8�=��������+� � A 7��53 D 8 D �&3-��� H D H��AI?U � D ���63 D @ 3A= �%3-�E3 D N 3A= � ��?> ��@+��>�= 3 D 7 3 893���$7 @ >����?@D3A= � 4N ���SISH @ � = �4= � D ��I D N 3A= @ >����?@R� 8L=������2�-�O���D3 D 3-�� � 7 ON 893-�?P � '�?>P��@C��>�=���$7 @ >����?@���ISI 3A= 7 ON 893-� =

� 7 �A8 @+�?E 3A= @ >����S@Q� 8L=��������-� ��� N D ISI D �;� ¯ ��� Ç 893-� D �F] = � = ' G�� �A= D �O3A=��E3 3A= '$@+�%33*� D � '�?>V��@+��>�=^8 D ���%3K@+���2�43-�AG�H�SP � ���F� 893-� D �\] = È = ]G ��@ ��I��T�/U'��>$@ � @AP 7U���F���VU ��� 8OH3-� D � D N3A= � '�S> ��@+��>�= = ����Ç 893-� D �:] = � = %'GD� �A= D � = D �O3A= @ �>����������^8 D ���%3K@C�����43-�`8A���:E 8�= 8 7I D 8A��ISI?UGE U P @AU � D 7 GT���$7 �H�?P ��I6� D @C�63A=��>��3 D @ > ���?@ @A@ D @+���%=��S8L= �>�/U �� ���%3>�2� 3A= 7��E3-��%3K@LH�893AH @ �= ��� Ç 893-� D � ] = � = < G5� >$@ D P 3A=��E3N3A= @ >����?@N� 8L=��������-� �H�?P � ��� Ç 893-� D �"] = � = %@ >����S@+���W7 ON 893-�?P � '�S>F��@+��>�= 3 D �H�?P �W7 ON 893AI �+� D � �= � � D 3 3A=��E3;3A= @ >����?@5� 8L=��������-�

È

Page 108: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

���P� D 3K�������%¨ $������� ��� ������ ���� � 8L=��������-� �2� 3A= �%3K@ D �� � ��� E 8A��H�� ��3P�;�SISIT� D 3W@ > ���?@>�����@AE���3K@+��@+�SI?U^I2���� 7 � '�S> ��@C��>�= ���$7Z@ �%3 D @ ��3�3 D ��3-� P ��I�� 7 �%3-�E3 �= �����%3 ��7�G1� � A 3A=��E3+8 @+3-�����7 ON 893-�?P 8 D � '��!H @C�E3-� D ���L��@ ���Y> D �-�-�?E�I �H�?P � 3A= >���@-3-�S8OH$I2��@ 3 U)> � D N4N ���SISH @ �!� 8 D ���+�S7 @ =�4= H��T3A= @ >����S@?� 8L=������2�-� D �$I?U @ >����?@+� 3A= D � N ���SISH @ �R3A=��E3 D 8O8OH @��%3-��@+3-���� N @ D ���Y7 ON 893AI �-�� ��?>F��@+��>�= =

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

� �E�H�����JI����-3R3A= 8 D ���%3K@+���2�43-�?3A=��E3 7 �L8 @+�?E ��� ��?>K��@C��>�=�G���T�H�?P �V���HÇ 893-� D �J] = È = ] = 3��^E ���)UV� D 7 ���V3A= � ��?>F��@+��>�= �3A= � N D @5��ISIRI P I�� � � À ¯' = � N ��� 5 �° �LG ��� 5 ¾ � =% = � N ��� 5 �° �LG ��� 5 "#� =<'= � N ��� 5 �° �LG ��� 5 � 5 ° � =] = � N ��� 5 �° �LG ��� 5 � 5 ° � =È = � N �:9 �R; � 9 � ¸

' ;(°�:9 ��� ¬5 ; � 9 � ¸

' ;T���$7 � � ��#" ®

��:9 �R; � 9 � ¸

' ;(°�:9 ��� �5 ; � 9 � ¸' ;CG

3A= � ��� 5 ¼ ´ ° ��� ¬5 = ��I2� G ��� 5 ¼ ´ ° � =

� = � N �:9 �<; � 9 � ¸' ;(°�:9 ��� ¬

5 ; � 9 � ¸' ;?���$7 � � �

��" ®��:9 �<; � 9 � ¸

' ;(°�:9 ��� � 5 ; � 9 � ¸' ;CG

3A= � ��� 5 ¼ ´ °���� ¬5 = ��I2� G ��� 5 ¼ ´ ° � =

� 7 '�� ( D ���-3K@+�����&3-� ' ���$7 % ���M���� �� ����� ����� N D @M� � '�S> ��@C��>�=Z���>3A= U = D I 7 ��� ��ISI�%3-�E3 � P � ��� 3A= >$@ � �$8 D N N ���SISH @ � = ( D ���%3K@+�����&3-� < 3 D � �>�/U N ���SIR3 D = D I 7 �;�63A= N ��� ISH @ �AGE�H3?3A= U 8A��� E @ �-3 D @ 7 E UK3A= @ >����?@,� 8�=��������-� = � 8A��ISI'( D ���%3K@+�����&3-� < ���$7 ]P3A= � ���$7� �! ��%��"�� �����#�`8 D ���%3K@+�����&3-� @ �K> 893-�?P ISU�G�����7 ( D ���%3K@+���2�43-� È ���$7 � 3A= � ���$7 �$ ������%� $&��� ���#�8 D ���%3K@C�����43-� @ �A> 893-�SP I?U = � ��8L= � D 7 > @+� D 7�� 8A��ISI?UM8�= 8 ��P3 D � A � N �63-� E���8 > D ���&3 @ D @P���&3 @ �I P I�8 D ���%3K@+�����&3-� =��/P E A �FP�� D I��E3 7 = � N �63+7����A8 D P @+�Q��� ���$8 D ���-�2�%3 �43 8 D ���-3K@+�����&3AG��63Q�����63-���E3 �3A= @ >����?@�� 8�=��������-� �� >�I����2� 7F����Ç 893-� D �^] = � = % =

� 8 D ���-� 7 @ 3A= 6N ���SISH @ D N � D � � D 7 � ������� �E3 D �>�S8V��893-� D � ��=��S8L= I����>�����E3 �!� N @ D �3A= � ��?>Z��@+��>�=/G;���$7 (' 893-�?P I?UX� 3-�K3A= 8 D @L@ �K> D �$7������F> D �2�43 @+�K3 D �63M3 D � = � N 3A= @ ��@ ���)U > �$7������ � �-�+�E� �F3 D D 3A= @ � D 7 � N D @F3A= � 3 D 8L=������ 3A= �?@J> D ���43 @C�K3 D > D ���&3N3 D �1G

Page 109: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

��= � 3A= � �-�-�E� �>��@ 7 I��?P @ 7�GR3A= 8 D @A@ �K> D �$7��2��\> D ���&3 @+�P��@ � 3P3 D � = ��� ��� ��893AH���I���Y>�I � �&3-�E3-� D ��G ��8L=N� D 7 � �;�SISI > @+� D 7��S8A��ISISU+8L= 8 P3 D � A � N �63-�D� �6�!=VE D @+�W�E3 ��8L= I P I � ��@ ��I��?P G����$7N���M��E � �$8 D N �+@ �A> D ��� G'��3R�;�SI I�� 3 � � 5 ° � D @ � � 5 ° � = � D @,3A= >�H @A> D � � D N D H @>$@ D D N ��= D � P @:G�� �;�SI I 8 D ���-�S7 @D3A=��E3R��= �M�!� D 7 N ���SI��AGH3A= > D ���43 @C�W3 D �63 ��@ �E3 D �>� 8A��ISI?U�� 33 D � = � 3?���,> D �-�-�?E�I 3A=��E3T�L� D 7 �5�SISI�7 3 893?��3-� N ���SI 7K� �6�!=)E D @C��E ON D @ �63 =����T3 D �2���63-���E3 � D � ��893-� D ��GB3A= H��!� 3%3-�2�� 3A= > D ���&3 @+� 3 D �����)U&�?�U = � N �63+7 D �!� D 3AGB� 8A��� ���AH @ 3A=��E3L�U� D 7 8L= 8 ��Q3A=��E3 �63-� � ���!=VE D @+� �E3+I P I � ��@ ��I��?P E ON D @ �63 >$@ D 8 �-� � �N� �-�-�E� 3A=��E3 �63 @ 8 �SP �

N D @�I P I �E=� H�� ��� �5 ���$7 ��� �5 3A8U3 D 7 � D 3 3A= P ��ISH D N � D 7 � &)� >$@ 7 8 �-� D @N���$7X�AH$8O8 �+� D @

@ �K> 893-�?P ISU �½ !� �!�,� D � D > @C�E3-� D �^=���� D 8O8OH @A@ 7 =� >$@ D P 3A=��E3�3A= �2�VPE��@+�����&31�����>�����&3-����� 7 N D @B3A= ����� @-3/���$7 7 I 3 D > @C�E3-� D ���1�2� 3A= >�@ � �

�$8 D N � D 7 N ���SISH @ � = �4= �V� �H�SP � @ >����?@�� 8L=������2�-��3A=��E34H�� �,3A= ���)PE��@+�����&3T8 D ���%3K@+�����&3-�3 D @ > ���?@����VUJP�� D I��E3 7 E ��8 > D �2�43 @ D @5���43 @ � I P I[8 D ���%3K@C�����43-�%7$H 3 D � D 7 N ���SISH @ � =� � ��� ��c� ��� � �>����� � ���Q��� �����!�$'�� ��� ��� � '����7� ��� �D��� ��� �� # 7� ��� ���a� ����%�B� �N��� ���� ���!���

§ ��� ��¨!© Ç�H$>$> D � 3A=��E3R3A= ���)P ��@+�2���43�= D I 7��D���P3A= ��E�� �$8 D N ���VU N ���SISH @ � = � N �!� D 7 �J=����� N ��� I 7 �AH$8O8 �-� D @ D @ >�@ 7 8 �-� D @Q�E3+I P I ¶ G�� 8 D ���-�S7 @ ��� �² ° � D @ ��� �² ° � @ �K> 893-�?P I?U�G��=�� 8L= 3K@+�?P�����ISI?U �+�E3-��� ' �1( D ���-3K@+�����&3-� ' ���$7�% = �4= H��AG N D @>��ISI?� D 7 � � ���$7 ��ISITI P I�� � G � � �5���$7 � � �5 ��@ Q �63A= @ � H���I13 D 3A= �S@4>$@ P�� D H�� PE��ISH � D @;3A= UF��@ � 3;3 D �LG����$7U3A= ���)PE��@+�����&3;����>�����&3-����� 7 =

� � ��� ��c� � � �c� �L� � ' ����� ��� �(�%��� �>� � ���>� �%��� �>� ��� �]� ����� �����!�!� 7� ��� ���a� �� �:'��!�M� � ��� �<��� �������T� � ½ ( ��>����� � ��� �

§ ��� ��¨!© Ç�H$>$> D � 3A=��E313A= ���)P ��@+�2���43�= D IS7��R>$@C� D @/3 D 3A= ����� @+3 D > @+�E3-� D � = � 8 D ���-� 7 @ ��8�=I����� `8L=����� 7$H @C���� ���>����� @-3 D > @+�E3-� D �>���$7W>$@ D P 3A=��E3D3A=�����7 D �R� D 3�P�� D I��E3 ( D ���%3K@+�����&3 ' �4� D �>�6353A= 7 3-���SI�� N D @ ( D ���%3K@+�����&3 %M���5��35�����N�>�?@L@ D @;���>�E� D N ( D ���%3K@C�����43 % = � ��I2� D 8 D ���+�S7 @D �$I?UM3A= 8A��� ��= @ 3A= ���&3K@ D 7�H$8A����!� D 7 � ���TI �+�R3A=����V3A= � �Y� D 7 � 3A=��E3,��� E ����L��7$7 7����3A= D 3A= @%8A��� �����-�2�>�SI���@ = �4= �AH$8O8 �-� D @aI����� 8L=������ �5��� Q I6� D @+��3A=���%\9����$7U�63-���AH E�@ D H3-��� Q I6� D @+�63A=�� ]); 7$H @+����� 3A= ����� @-3 D > @+�E3-� D �U��@ ��� N D ISI D �;� ¯

Page 110: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� ���� % < ¯ � D 7 � � ��7���� ������ ����3�� � �+�-�E� 3 D �:9 I��2� % ' D N Q I�� D @+�63A=�� %!; = � D 7 � ��3A= @ @ 3AH$@+���M� ������ ����3�� � �+�-�E� 3 D � 9 I���� � D N Q I6� D @+�63A=�� ]);CG D @ >����-� �K3A= � �-�-�E� 3 D � � � 9 I���� ] D N Q I6� D @+��3A=�� ]);M� N � " � = �4= I2�E3%3 @J8A��� D 8O8OH @+�K��= �X�� � � D 7 =���� E A � �2��� @-3 7ZE 3*� A � �K���$7 � � � 7�H @+���� 8 D �$8OH @A@ �43Q����� @-3-� = ��=)H���� &)�

D @C�6�H������I ������� �� � �� � �-�-�E� � ��� D �$I?UM>����-� 7 3 D � D 7 � �-�M��ISI @ 3A=���� ��G1���$7 �G@ 8 �SP �3A= 8 D @A@ �K> D �$7��2��������� �� �3�� N @ D � �F� D 7 �� �-�>��ISI @ 3A=���� ��3-� I N = �4= H��

�� �� ° � ¾ �

9 I2��� � D N Q I6� D @+��3A=�� ]); = � N � D � � D 7 `N ���SI2�5��� 3A=����%>$@ D 8 �-� D @ � D �LH��63-��E�I >$@ 7 8 �+� D @

�� ���%3-�:G���ISI � I����� '� @ �>���2� H��$8L=����� 7�G�3A= H����-�E3-�2� N U�����+( D ���%3K@+�����&3 ' =� ���� % �]¯ � D 7 � � ��7��!� ������ ����3�� � �-�+�E� 3 D � � � ¾ � 9 I���� % ' D N Q I6� D @+�63A=���%!; =� D 7 � � � �63A= @ @ 3AH$@+���,��������� �� � ��K� �-�-�E� 3 D � 9 I���� � D N Q I6� D @C�63A=�� ]);CG D @4>����+� �3A= � �+�-�E� 3 D � � ¥� 9 I��2� ] D N Q I6� D @+�63A=�� ]);;� N � � � " � = �4= I��E3%3 @ 8A��� D 8O8OH$@+����= ���� � � D 7 =���� E A �V����� @-3 7 E 3*� A � �Q����7 � � � 7�H @+����`8 D �$8OH @A@ �&3,����� @+3-� = �4=)H���� &)�D @C�6�H������I������� ����3��Q� �-�-�E� �D��� D �$ISU+>����-� 7L3 D � D 7 �B��@ �E3 @D3A=����P��3-� I N GE����7L��3.@ 8 �SP �3A= 8 D @A@ �K> D �$7����� ������� �� � �� N @ D � � � D 7 ��@ �E3 @ 3A=����>�63-� I N = �4=)H�� ��� �� ° ¾ � = � N� D � � D 7 �N ���SI��B���!3A=�����>�@ D 8 �+� D @W� D �AH���3-��E�I �AH�8O8 �-� D @ �� ���%3-�AG ��� �� ° ��G 3A= H����-�E3-��� N U�����( D ���%3K@+�����&3 ' =

� ���� K< ]�¯ � D @ I P I � � À G � � �$7��!� � � �������� � �-�-�E� 3 D ��� 5 ¾ � 9 I���� M< % D N Q I6� D �@C�63A=�� %!; = � N �:9 ��� 5 ; 5 ° �:9 �R; 5 GR3A= � ��� 5 � �$7���� ������� �� � �� � �-�-�E� 3 D � 9 I���� �

D N Q I�� D @+�63A=�� ]);CGR���$7 ��� �5 ¼ ´ ° ��� 5 ¾ � = �,I�� G ��� 5 � �$7��L3A= ��� � � � �� � �-�-�E� 3 D��� ¥5 9 I2��� ] D N Q I6� D @+��3A=�� ]); = � D 7 �'&)� D @+�6�H�2����I � � � ������K� �-�-�E� ��� D �$I?UK� �43?3 D � D 7 ���@ �E3 @;3A=���� ��3-� I N G�����7F�63T@ 8 �?P ��3A= 8 D @A@ �K> D �$7��2��������� ����3��K� �-�-�E� D �$ISU N @ D � �� D 7 �M��@ �E3 @�3A=����U�63-� I N = �4=)H�� ��� �5 ¼ ´ °�� ¾ � = � N � D � � D 7 N ���SI��;���V3A=���� >�@ D 8 �+� D @� D �AH��63-��E�I �LH$8O8 �-� D @ �� ���-3-�AG ��� �5 ¼ ´ ° �LG3A= H����-�E3-�2� N U�����+( D ���%3K@+�����&3 ' =

� ���� V< ¯ � D @YI P I � � À G � � �$7��L� � � � ������ � �-�-�E� 3 D ��� 5 " � 9 I���� K< % D N Q I6� D �@C�63A=�� %!; = � N �:9 ��� 5 ; 5 ° �:9 �R; 5 G�3A= � ��� 5 � �$7�� �������� �� �3�� � �+�-�E� 3 D �"9 I��2� � D NQ I6� D @+��3A=�� ]);CG,���$7 ��� 5 � �5 ¼ ´ ° � ¾ ��� 5 = ��I�� G ��� 5 � �$7���3A= � � � ������ � �-�+�E� 3 D��� ¥5 9 I���� ] D N Q I6� D @+�63A=�� ]); = � D 7 �'&)� D @+���H������I���� ����� ��K� �+�-�E� ��� D �$I?UM� �43?3 D � D 7 ��+�>��ISI @?3A=����F�63-� I N G���$7F��3 @ 8 �?P �,3A= 8 D @A@ �A> D ��7������������� �� � ��K� �-�-�E� D ��I?U N @ D ���� D 7 �!�-�>��ISI @?3A=����F��3-� I N = ��=)H�� � � �5 ¼ ´ ° ��" �69 I���� � D N Q I6� D @+�63A=�� ]); = � N � D � � D 7

Page 111: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

N ���SI�� ��� 3A=����a>$@ D 8 �-� D @Q� D �AH��63-��E�I >$@ 7 8 �+� D @ �� ���%3-�AG/��ISI � I��2�� '�%@ �>���2�FH��$8L=����� 7�G3A= H����+�E3-��� N U'�����1( D ���%3K@+�����&3 ' =

�4= H��?3A= �2�VPE��@+�����&3,�����>�����&3-����� 7 7�H @+�������� ����� @-3-� D ��G P � ���V3A= >$@ � �$8 D N N ��� ISH @ � =

� � ��� ��c� �]� �c� ��� � ' ����� ��� �Q�%��� �>� � ���>� �%� � �>� ��� �� � ��� � ��� � 7� ��� ���a� �� �('��!��� � ��� �|��� �������T� � ½ ( ��>����� � ��� �

§ ��� ��¨!© Ç H >$> D � 3A=��E3Q3A= ���)PE��@+�����&3+= D IS7�� >$@C� D @ 3 D 3A= 7 I 3 D > @C�E3-� D � = � 8 D ���+�S7 @

��8L= I����� +8�=����� 7$H @+�2��5� 7 I 3 D > @+�E3-� D �����$7 >$@ D P 3A=��E3�3A=���� 7 D ��� D 3 P'� D I��E3 ( D ���%3K@+���2�43 ' �� D �>�63�3A= 7 3-���SI�� N D @�( D ���%3K@+���2�43 %M���;�63����;�M�>�?@L@ D @����>�E� D N ( D ���%3K@+�����&3 % = ��= �AH$8O8 �+� D @I����� '�T8L=����� �5�2� Q I6� D @C�63A=�� � 7$H @C�����3A= 7 I 3 D > @C�E3-� D � D N � D 7 � ��@ ��� N D I I D �;��¯

� ���� % À ¯ Q 3 ��8L=XI P I � � À G �Z� �$7��L� ��� ������ �� � �-�+�E� 3 D ��� 5 9 I2��� ] D N Q I6� D �@C�63A=�� �!; = � N ��� 5 ��� E ����� 7 I 3 7�G4�63 > ���-� �W3A= � �-�-�E� 3 D ��� ¥5 9 I���� ] D N Q I6� D @+��3A=�� ��; =��=����!� �-�-�E� ��� D ��I?U_>����-� 7 3 D � D 7 � ��@ �E3 @�3A=���� � H��&3-�SID�63`@ ��8L= �P� � D 7 ¾ �

�%=��S8L= ��� � D 3aE ����67 I 3 7 = � D 7 � � ��7��5���� �� ������ ������ �"���V� �-�-�E� 3 D � 5 9 I���� �

D N Q I�� D @+�63A=�� ��;CG/��=��S8L= ���a>����-� 7 3 D 3A= I ON 3W9 I���� ' È ; D N Q I6� D @+�63A=�� �6H��&3-�SIB�63 @ ��8L= �� � D 7 � " � ��=��S8L= ���P� D 3WE ����F7 I 3 7 = � D 7 �U� �$7��P� ��� ��� ����� ����� ��" �� 3 D 9 I2��� ' D N Q I�� D @+�63A=�� ��;CG ���$7 �63�� 3-� � � �5 ° ¾ � = � N � D �AH���3-��E�I �!�2� N D H���7G9 I���� ' � D NQ I6� D @+��3A=�� ��;CG ��ISI 3A= � I����� �� @ �>����� H��$8L=������ 7�G3A=)H����-�E3-��� N U�����+( D ���%3K@C�����43 ' =

� ���� % ¯ � N � D �AH���3-��E�I G��=�� 8L=V���?� D 3 E ���� 7 I 3 7�G���� N D H��$7F9 I���� � D N Q I6� D @C�63A=�� ��;CG�Z� �$7��!� ���������� ����� �"��� ���� 3 D ��� 5 " � 9 I���� � D N Q I6� D @+�63A=�� ��; = �4=����Q� �-�-�E� ���> ���-� 7 3 D 3A= I ON 3 9 I��2� % ] D N Q I�� D @+�63A=�� ��;4H��43-�SI1�63�@ ��8�= � � D � � D 7 � " � �%=��S8L= ���� D 3`E ����^7 I 3 7 = � D 7 �N� 3-� � � �5 ° � 9 I���� % D N Q I6� D @+�63A=�� ��; = � N � D �LH��63-��E�I ��2� N D H���7 9 I���� ' � D N Q I�� D @+�63A=�� ��;CGB��ISI�3A= � I����� '�a@ �>���2�ZH��$8L=������ 7�G13A= H�� �-�E3-��� N U�����( D ���%3K@+�����&3 ' =

�4= H��?3A= �2�VPE��@+�����&3,�����>�����&3-����� 7 7�H @+������W7 I 3-� D ��G P �U�2�V3A= >$@ � ��8 D N.N ���SISH$@ � =( D �`E���������� �>�>����] = ')' G�] = ' %M���$7J] = ' < 7��S@ 893AI?UM�H�SP � �4= D @ � ] = ' ] =

~{� �#����� � �p��� � �c� ��� �3' ����� ��� �p�%�D� �>� � ���>� �%��� ��� � >����� >� � ����� ��� ��� � �a� ���  ��B�!�m� �N��� �7����¡ �:'�����#� ���L ��>����� � ��� �

Page 112: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

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

�4= E���8 > D ���&3 @T���$7K���&3 @ � I P I�8 D ���%3K@+�����&3-�T��@ P�� D I��E3 7 7$H @C����Q����� @-3R���$767 I 3 D > @C�E3-� D �������� I I���� ��= � �V� D 7 N ���SI�� = w D � P @:G/� �5�SISI1� A 3A=��E353A= @ > ���?@5� 8�=��������+� � A 7���3 D E 3K@+�6��� @ 7 D �$I?U N D @W8 D ���%3K@+���2�43 P�� D I��E3-� D ��� 8A��H�� 7 7�H 3 D N ���SISH$@ �AGD���$7 � D 3Y7$H @C����U3A= �2��� @-3���$7^7 I 3 D > @+�E3-� D ��� = � �H�?P � @ > ���?@�� 8L=��������-� �2�V��=��S8�= ��8L=U� D 7 > @+� D 7�� 8A��ISI?UY8L= 8 '�( D ���-3K@+�����&3-� < 3 D �����$7U�����63-���E3 �,��893-� D ����3 D ' � ���)PE��I��S7 8 D ���%3K@+�����&3-��7�H 3 D � D 7 N ��� ISH @ � =

Q I63A= D H�!= ( D ���%3K@+�����&3-� < 3 D ���>�U6E P�� D I��E3 7F�>� 7�T�/U 7$H @C���� ���F�2��� @-3 D @��Y7 I 3 D > @ ��E3-� D ��G D �$8 ��ISI�3A= > ��7����� D > @+�E3-� D ���;��@ 8 D �Y>�I 3 7�G 3A= � 8 D ���%3K@+�����&3-����@ �-�E3-�2� ' 7 = �4= H��� D E�� @AP 3A=��E353A= @ >����?@5� 8L=������2�-� ����@ � H��S@ 7 3 D @ �%3 D @ 3A= � 8 D ���-3K@+�����&3-� D ��I?U ���Z8A��� D N � D 7 aN ��� ISH @ � = �C= �K��� D 7 %N ���SI2�,7$H$@+����!���N����� @-3 D @,� 7 I 3 G�63TI ��7�� 3 D P'� D I2�E3-� D ��� D N 3A= E���8 )> D ���&3 @B����7!���&3 @ � I P I 8 D ���%3K@+���2�43-� D N �63-�1� �6�!=VE D @+� = �R��8�= � D 7 ��I�� D > @C� D 7��S8A��ISI?U�8�= 8 ����63E���8 )> D ���&3 @����$7V���&3 @ � I P IR8 D ���%3K@C�����43-� = � � Q I6� D @+�63A=�� �'G�� D 7 �\8L= 8 ����63-�TE���8 )> D ���&3 @ 8 D � ��%3K@+���2�43-�,E)U>� �$7����� ��� � � � ���� ����� �" ��L� �-�-�E� �T3 D ��3-� � ���!=VE D @+�D�E3?��ISI�I P I�� 9 I���� � < ���$7 È ; =Ç����M�SI���@LI?U�G ��8L= � D 7 8L= 8 '�5�63-�����&3 @ � I P I�8 D ���%3K@+�����&3-����� �� >�I2����� 7F����Ç 893-� D � ] = � = % = % =

Q �P�A= D �;� �����B���!H @ ] = ' À G ��= � � D 7 �:N ���SI�� 7$H$@+����U��� �2��� @-3��E3WI P I % 9�� N 3 @W=��P������AH$8O8 �+� N H�ISI?U ����� @-3 7 �63-� I N �E3JI P I�� À ���$7 ' ; D @J7$H @C���� �:7 I 3 �E3JI P I ' 9�� N 3 @J=��P������AH$8O8 �+� N H�ISI?UG7 I 3 7 �63-� I N4N @ D � P I %!;CG �63-�P� �6�!=VE D @+� �X���$7 �G7 3 893>3A=��2� N ���SISH$@ �= � �63A=3A= ^N ���SISH$@ D N � G�� ���$7�� �;�SISI 7 3 893N���$8 D ���+���%3 �$8A� �M��� 3A= �?@68 D ���%3K@+�����&3-�M����7 ������3-���E3 3A= � 8�=��������-� 3 D @ >����?@�3A= � = � >$@ D P 3A=��E3 �63����;�AH � 8A� �&3;3 D 7 3 893�����7\@ > ���?@;3A= P'� D I��E3 78 D ���%3K@C�����43-��3 D @ �%3 D @ 3A= � ��?>F��@+��>�= 3 D �63-�47 ON 893AI �-�;�%3-�E3 �=

�4= @ >����?@M� 8L=������2�-� ���Y7��SP'�S7 7 �2�43 D 3 � D >���@-3-� ¯F3A= '$@+�%3Y> ��@-3M���YH�� 7 3 D @ >����S@>3A= ���)P ��I2�S7XE���8 > D ���&3 @ 8 D ���-3K@+�����&3-�AG����$7 3A= � 8 D ��7 >���@+3M��� H�� 7 3 D @ >����?@N���)P ��I�� 7 ���43 @ � I P I8 D ���%3K@C�����43-� =

�p� �p���u��� � �%������ �� ' � ��%��"�� �����%� � ��� ������� �����

�R��8�=F� D 7 � > @+� D 7�� 8A��ISI?U 8L= 8 '�,3A=��E3 ��� 5 � 5 ° �F�%= �"��� 5 �° �LG���$7N3A=��E3���� 5 � 5 °��F��= ���� 5 �° � N D @ ��ISI,I P I�� À Æ �MÆ � Ä �M� � P I = � 3 3K@+�6��� @+�!3A= E ��8 > D �2�43 @ 8 D ���%3K@+�����&3 @ >����?@� 8�=��������-� 9 Q I6� D @C�63A=�� �!;?� N �6347 3 893-�5��� ���$8 D ���-���%3 �$8 U =� � ��� ��c� � � � � ��� � �y�������T� � ½  � ���  ��>� �Y� � ���!¡�� �����!�!���!¡ ����� ��� � ��� ���!¡ ��� � � � � �>� �H� �!��� �����4���

'À�À

Page 113: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

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

� �

��� � � �

��� � � ´

��� � � ¥

���6�!H @ ] = ' À ¯ � � D I��E3-� D � D N E���8 )> D ���&3 @,���$7N���43 @ � I P I<8 D ���%3K@+�����&3-�T��= �K�L� D 7 %N ��� I��,=���I N � �?�U3A= @ D H��!=M���M�2��� @-3 D @ 7 I 3 D > @+�E3-� D � = ( E�� @AP 3A=��E3���� ¥ �° � � ´ G N D @ ���)U�� � ' G'���$7 � � ¥ �° � ¬´ GN D @;���VUM®�� ' =

� �&'���� �� � � �u© Q I6� D @+��3A=�� N D @�@ >����?@+�2��P���VPE��I��S7 E���8 )> D ���&3 @�8 D ���-3K@+�����&3-� N D @5� D 7 �= ¨ ��� ¶ 6 �4� ��� � �:'�� ��� � � �� ��� À ! �� �¨69 'm� ¢ � ¶�"$# I&% � ¿ �@à ¿ ��à �° �+; �(' ���� ���#� ! ��� ��� � ���� ������ �"����G ��G G ¶ �T3 D Ä � �6�!=)E D @ ¿ �#à ¿ ¶ Ã! �¨69 'm� ¢ � ¶�"$# I&% � ¿*) à ¿ � à �° �+; �+' ���% ���#� ! ��� ��� � ���� ������ �"����G ��G G ¶ � 3 D Ä � ���!=VE D @ ¿ �|à ¿ ¶ Ã) H > D �J@ 8 �?P������ ��� � � ����� ����� ��" �� G4�+�S7 G�� ��� �6�!=)E D @:G � �7¯1 �¨����7� ���1° � � �+' �#�4 8A�Y> 6 "5 D 3A= @�Ç�� 7 6 ��7 �#�����8 8A�Y> 6 ¾$� D 3A= @�Ç�� 7 6 �$� �¨�� Ä �%� �K���}� ��,+��7� ���;-/+ � - �° �%� �-, � �K���}� �� � �+' ����! �¨��*� Ä �%� �K���}� ��/+��7� ���;-/+ � -�° � � �� ! � ���?� �%� �-, � �K���}� ��;��� �+' �#�:% Ä � �6�!=)E D @ ¿ �-�S7 à ¿ � à 6 � � � �6�!=)E D @$) ���#� ! ��� ��� � ���� ������ �"����G D 3A= @�Ç�S7 G G � � 3 D � ��� ���!=VE D @ 1 �#����� �¨���� Ä � �����>�}�� ��/+��7� ���;-,+ � - �° � � �� ! � Ä �%�����>��� ��,+ ��� � � -,+ � -����?� �%� �-, � �K���}� ��;��� �+' �#��4 ���#� ! ��� ��� � ���� ������ �"����G&�-�S7 G�� ��� �6�!=VE D @:G � �T3 D�5 �#������(7 ���#� ! ��� ��� � ���� ������ �"����G D 3A= @�Ç�S7 G�� ��� �6�!=)E D @:G � �T3 D Ä � �6�!=)E D @ ¿ �-�S7 à ¿ � Ã� ���#� ! ��� ��� � ���� ������ �"����G D 3A= @�Ç�S7 G G � � 3 D � ��� ���!=VE D @�8� ���#� ! ��� ��� � ���� ������ �"����G&�-�S7 G Ä � �6�!=)E D @ ¿ �-�S7 à ¿ � ÃSG � � 3 D � ��� �6�!=)E D @�(� Ä � �6�!=)E D @ ¿ �-�S7 à ¿ � à 6 � � � �6�!=)E D @

'À'

Page 114: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

��������������� ��� � � � �� ���� ������#� � � ��� �7�&��� �#'r� � ��� ���M� ��� ��� >� � � ����� ������ � �>� � �Q�#� ��� >� � � >�7� �� �����4�!�a� �]��� �� �%�����a��'r� � ���

§ ��� ��¨!© � >$@ D P 3A=��E3 Q I6� D @+�63A=�� �\@ >����?@+� 3A= P'� D I��E3 7:E ��8 > D �2�43 @Y8 D ���%3K@C�����43-� N D @�V�-����!I � D 7 �;�63A= D H�3aI D �+���� �� ���-3-����J8 D ��� 893-�?P��631U = � 8 D �$8 �&3K@+�E3 D � 3A= @ > ���?@ D N 3A= �I����� '�?����3A= 8A��� N D @ � I2���� ��T�2���KU��>� 3K@+�S8 =

�4= P'� D I2�E3-� D ��� D N ( D ���%3K@C�����43 < N D @;� D 7 �E3�I P I � ��@ ��� N D ISI D �;� ¯' = � 5 ° � ¾ E�H3 � � 5 ° �{¯ � D 7 � � �$7�� ��� � � ����� ����� ��" �� G ��G G � �,3 D �_9 I���� È D N

Q I6� D @+��3A=�� �!; = Q � � � 5 ° � ���$7�� ¾ G��K� 3-� � � �5 ° 9 I��2� ' È D N Q I6� D @+��3A=�� �!; = �4= H��� N 3 @ Q I6� D @+��3A=�� �&'����2�A= �AG � �5 � �5 ° G�@ �%3 D @+����� ( D ���%3K@+���2�43 <'=

% = � 5 °�� ¾ E�H�3 � � 5 ° � ¾ ¯ � D 7 � �$7��. ��� � � � ��� ����� ��" ���G �;G G � �13 D � 9 I2��� È D NQ I6� D @+��3A=�� �!; = Q � � � 5 ° � ¾ G � >����-� �?3A= � �-�+�E� D �K3 D � 9 I���� ' � D N Q I�� D @+�63A=�� �!; =Q �4I D ��������3A=����,� �-�+�E� @ ��8L= �5� D � � D 7 � ¾ �AH�8L=F3A=��E3 � � 5 ¾ G � �;� ISI�> ���-�,�63 D �3 D � � 5 G�H��&3-�SI �63T@ ��8�= �;�P� D 7 � ¾ �AH$8�=F3A=��E3���� 5 " " � D @���� 5 ° � = �4= ��� � 3-���� �5 ° " � 9 I���� � ' È D @ % < D N Q I6� D @+�63A=�� �!; = � D 7 � ��I�� D � �$7�� ��� ��� � ���� ������ �"����G��G �1G � �!3 D 9 I��2� ' � D @ % ' D N Q I�� D @+�63A=�� �!; = � > D � @ 8 �?P����� 3A=��E3P� �-�+�E� G � 3-�

� �5 °�� = �4= H���� N 3 @ Q I6� D @+�63A=�� �&'������L= �AG � �5 � �5 ° G$@ �-3 D @+���� ( D ���%3K@+�����&3 <'=

<'= � 5 ° � ¾ E�H�3 � � 5 °� " ¯�� D 7 � �$7�� ��� � � ����� ����� ��" �� G ��G G � �?3 D �M9 I2��� ÈD N Q I6� D @+��3A=�� �!; = Q � � � 5 ° � " G��K� 3-� � � �5 ° "��M9 I��2� % À D N Q I6� D @+��3A=�� �!; = �4= H��� N 3 @ Q I6� D @+��3A=�� �&'����2�A= �AG � �5 � �5 ° G�@ �%3 D @+����� ( D ���%3K@+���2�43 <'=

� >$@ D P 3A=��E353A= E���8 )> D ���&3 @ 8 D ���%3K@+�����&3a@ >����?@ � 8L=��������-� 7 D �5� D 3 I D � ���)U �� �2�%3-����8 D ��� 893-�SP'�63 UK���K3A= � ��?>K��@C��>�=�G�� =# G� N � >��E3A= E 3 � A �F� D 7 � ���$7 � H�� 7N3 D �� ���%3 E ON D @ 3A= @ >����S@D� 8L=��������-� �?���R�����63-���E3 7�GH� > �E3A=>�;�SI I'�-3-�SISI �� �2�%3D� N 3 @T3A= @ > ���?@R� 8�=��������-� D > @C�E3-� D ���'����2�A= = � 8 D ���+�S7 @;3A= 8A��� ��= @ �K� D 7 8�=����� � �63-�;�LH$8O8 �-� D @a> D ���43 @53 D �K� D 7 �V���$7> D ���&3-� 3 D ��� D 3A= @ � D 7 � �B� D �M�63 3A= 8A��� ��= @ 8�=����� �L�63-� >$@ 7 8 �-� D @`> D �2�43 @!��� �63��� �-���M�SI���@�3 D 3A=���� 8A��� �= � D 7 H >R7��E3 � ��3-���LH$8O8 �-� D @+> D ���&3 @ 3 D � D � � D 7 � �E3+I P I � G�3 D> D ���&3�3 D � D � D 3A= @!� D 7 � G D �$I?U ��= � � 5 ° � ¾ � ¾ 9 I��2� % < D N Q I6� D @+�63A=�� �!; = � D 7 ��I�� D � �$7�� � �-�-�E� �L3 D 9�� ;�� 3 D H$><7��E3 �63-�`>$@ 7 8 �-� D @`> D ���&3 @!3 D > D ���43!3 D � 9 I���� % À D NQ I6� D @+�63A=�� �!;CG�9���� ; � 3 D H >R7��E3 �63-� >$@ 7 8 �-� D @ > D ���&3 @ 3 D > D ���&3 3 D 9 I2��� % ' D N Q I�� D @+�63A=�� �!;

'À %

Page 115: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

���$7�GT9������ ; � 3 D H$><7��E3 �63-�!�AH�8O8 �-� D @ > D ���&3 @Q3 D > D �2�43 3 D � 9 I���� %)% D N Q I�� D @+�63A=�� �!; = �C= �3A= � � �-�-�E� ����@ 7 I2�?P @ 7�G � �5 ° � ���$7 � � �5 ° � = �4= H��?3A= >��E3A= � �K����� D � @ >�I2��8 7 E)U�WI D ��� @4>��E3A= � � � �G ���$7 � D �� ���%3-�2��Y8 D ��� 893-�?P��631UF��� I D �%3 =

� 3 ����> D �-�+�?E�I 3A=��E3 �N� D 7 �G7 3 893-�Q� N ��� I 7\E ��8 > D �2�43 @ 8 D ���%3K@C�����43 � N �63 8L= 8 ��Q�63���=��SI � D � � D 7 � ��� ��� 3A= �>�S7$7�I D N �63-� ����� @-3 D > @+�E3-� D � = Ç�H$>$> D � 3A=��E3 ��� 5 ° � E�H3�� � 5 ° �E 8A��H�� � ���6U 3F3 D 8 D ��� 893V3 D � = � = � � � �$7��N� ��� � � ����� ����� ��" �� � �-�+�E� 3 D ��G;�63� 3-�`>����-� 7 3 D � G���=��S8�= 3A= �:I2���� ��53 D � ���$7 ��� '�!� 3 D I����� 3 D �6369&E D 3A= 3A= @ D H�!= 3A= @ >����?@� 8�=��������-� ���$7 3A= �2��� @-3 D > @+�E3-� D ��; = �4= H��AGT3A= @ >����?@K� 8L=��������-� � � @C�E3 �K��7$7��63-� D ����I� �-�+�E� ��E�H�3�7 D � � D 3R� ' 893 3A= ����� @+3 D > @C�E3-� D � = � � 8A��� D N � 7 I 3 D > @+�E3-� D ��G'�Q� D 7 7 D �� D 3�7 I 3 �63-� I N H��&3-�SI�63�=�����@ >����?@ 7�3A= I����� '���E3R��ISI�3A= I P I��R� D ���>����8 D ���-���%3 �&3 E���8 )> D ���&3 @8 D ���%3K@C�����43;�;�SISI � D 34E 7 3 893 7M7$H @+����� 3A= 7 I 3 D > @+�E3-� D � =

��� ������� � � �%������ �� ' �����%� $&��� ���#� � ��� ������� �����

� � A = D � ��8L=N� D 7 > @+� D 7�� 8A��ISI?U+8L= 8 �� ( D ���%3K@+�����&3 È �4� D �>�63R3A= 7 3-���SI�� N D @ ( D ���%3K@+�����&3 �

�����635���5�M�>�S@A@ D @;���M�E� D N ( D ���-3K@+�����&3 È = � D @ ��8L=_I P I � ¾ À G ��8�= � D 7 � � �$7��5�K� �+�-�E� 3 D ��� 5 ¹ ´ 3 D 8L= 8 � N ��� 5 ° ��� ¬

5 ¹ ´ G N D @Q� D � ® ¾ À = � ��8L= � D 7 3A=��E3+@ 8 �?P � 3A= � �+�-�E� >����-� ���63,3 D 3A= @+�6�!=&34H��43-� I D � D N 3A= N D H$@ N D I I D �;�2��Y8A��� � D 8O8OH @�¯' = ��= � �-�-�E� @ ��8L= �;� D 7 G " ��� 5 ����7 �:9 ; � � °�:9 �<; � �E=% = ��= � �-�-�E� @ ��8L= �;� D 7 G " ��� 5 ����7 � 5 ¹ ´ ° � =

<'= ��= � �-�-�E� @ ��8L= �;� D 7 G °���� 5 =] = ��= � �-�-�E� @ ��8L= �;� D 7 G ¾ ��� 5 =���G8A��� K< G ( D ���%3K@C�����43 È �2� � D 3 P'� D I��E3 7 ���$7 � D @ >����?@Q��893-� D � ��� P'� D I��E3 7 = � >$@ D P��S7 �

@ >����S@�� 8L=������2�-� N D @�3A= ? ��8L= D N 3A= @ �>���2������53A= @ A 8A��� � = �4= @ >����S@�� 8L=������2�-� N D @ ' � ����P�� D I��E3-� D ��� D N ( D ���%3K@C�����43 �Q��� �KU��>� 3K@+�S8 = � 3 �>�/UWE > D �-�-�SE�I 3 D 8 D �`E���� 3A= 3*� D � 8L=������2�-�>�3 D ���W>$@ D P 3A= > @ N D @C�>���$8 E�H3?� �;�SI I 3K@ �E3�3A= � � >���@+�E3 I?U N D @5�-���Y>�I2�S8A�631U =

��� ��8L= 8A��� GT� ���+�AH�� 3A=��E3P3A= I����� ��� >$@ � �&3P�E3 I P I � E�H3P��E�� �&3P�E3YI P I �  ' =� D 3 3A=��E3Q� N � � D 7 � �2� I����� 7 �E3 I P I �  ' E�H3Q� D 3Q�E3`I P I � G1�63+8A��� ���+�SI?UU3K@C�P @+� 3A=

'À <

Page 116: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

I����-3?�E3%I P I �  ' 3 D 7 3 @+�>��� �%=��S8L=F� D 7 3 D I����� K3 D �E3�I P I �E= �4=����T>$@ D 8 �-�����;�S7 �&3-�S8A��I 3 D3A= ����� @-3-� D � >$@ D 8 �-���%= @ �K� � � D 7 H�� �;�63-�5� �6�!=)E D @+���E3 I D � @aI P I���3 D ����� @-35�63-� I N �E3=��6�!= @4I P I������V3A= � ��?>V��@+��>�= =

�4= P'� D I2�E3-� D ��� D N ( D ���%3K@C�����43 È ��@ ��� N D ISI D �;� ¯' = ��� 5 ° ��� ¬

5 ¹ ´ G E�H3%3 ° ��� � 5 ¹ ´ G � " ® G �:9 �<; � � ° �:9 ; � �E=��� 3� ���� 3

� 3

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

�������$� 5 ¹ ´� ³ � 3 2 º

�������$� 5

���6�!H @ ] = ')' ¯ �,� D � �?�U � @-� 3 D @ > ���?@;� P�� D I��E3 7 ���&3 @ � I P I�8 D ���%3K@+�����&3 =

��= � D 7 � 8 D ��� 893 7V3 D ���$7�F�E3TI P I � =��/P 3 D E � @-� 7N3 D � 3A= @����&3 D`D � I����-3�E)U� �$7������3A= N D ISI D �;�����L� �+�-�E� � ¯� %�@ D E I P I � 9����WI����-3�8 D �43-���������� ;�3 D '��$7WI���@+� �%3 �

¬��5 °�� "$��� 5 = � D 7 �-3-��@-3-�

3A= >�@ D E E U!� �$7����� ��� �-�-�E� 3 D � 5 =B� > D � @ ��8L=��2�� � D 7 � GH� N � "$��� 5 " � � 5 G3A= >$@ D E �$7��,�5�63A= � °�� = ( 3A= @-�;��� 3A= � �-�-�E� ��� >����-� 7F3 D � � 5 =

� Ç �$7 ��� �� �"����< G ��� 5 G � �?3 D � =� %�@ D E I P I � 9���� I��2�%3 8 D �43-���������� ;T3 D '��$7F�+�>��ISI �%3 �

¬� 5 °�! ¾ � = � D 7 �-3-��@-3-�

3A= >$@ D E E U � �$7�����M�K� �-�-�E� 3 D � 5 =�� > D �\@ ��8L=�����K� D 7 � G � N � � 5 " � " � G3A= >$@ D E �$7��,�5�63A= � °�! = ( 3A= @-�;�2� 3A= � �-�-�E� ���T>����-� 7F3 D � � 5 =

� Ç �$7 ��� �� �"���#" G �1G � �T3 D ! =

% = ��� 5 �° ��� ¬5 ¹ ´ N D @;���)UM® ¾ À G����$7M3 "$��� 5 �

� 5 ° � =

�������$� 5

�������$� 5 ¹ ´�

� 3

���� ��� ����

���6�!H @ ] = ' %]¯ ( � �� �?�UF� @+� 3 D @ >����S@��YP'� D I��E3 7 ���&3 @ � I P I[8 D ���%3K@+�����&3 ='À ]

Page 117: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

��= � D 7 � 8 D ��� 893 7V3 D ���$7"��� 5 �E34I P I �  ' =��P 3 D E � @+� 7V3 D � 3A= @5���&3 D D � I2���%3TE)UF� ��7�����L3A= +N D ISI D �;����P� �-�+�E� � ¯� %�@ D E I P I �  ' 9����WI��2�%3 8 D �&3-�������2�� ��� 5 ;�3 D '��$7P�-�M��ISI �%3 ��� 5 � ¬��

5 ¹ ´ ° ! ¾ = � D 7 ��� 5 �%3-��@-3-��3A= >�@ D E E)U � �$7�����>�N� �-�+�E� 3 D ��� 5 � 5 ¹ ´ =�� > D �M@ ��8L=��2��K� D 7 �� G�LH$8L=U3A=��E3 � ¾ ¾ � � 5 ¹ ´ G�3A= >$@ D E �%3 D >����5�63A= � °�! = ( 3A= @-�;��� 3A= � �-�-�E� ���> ���-� 7 D �F3 D � � 5 ¹ ´ =

� Ç �$7 ��� �� �"���#" G G �  ' �T3 D ! =

<'= ��� 5 �° ��� � 5 ¹ ´ N D @;���)U � ¾ À G ���$7\3 ° ��� ¬5 ¹ ´ ¾ ��� 5 =

�������$� 5

� 3

�������$� 5 ¹ ´�

���� ��� ����

���� ��� ����

��� 3 2 º

���6�!H @ ] = ' < ¯ �,� D � �?�U � @-� 3 D @ > ���?@;� P�� D I��E3 7 ���&3 @ � I P I�8 D ���%3K@+�����&3 =

��= � D 7 � 8 D ��� 893 7V3 D ���$7"��� 5 �E34I P I �  ' =��P 3 D E � @+� 7V3 D � 3A= @5���&3 D D � I2���%3TE)UF� ��7�����L3A= +N D ISI D �;����P� �-�+�E� � � ¯� %�@ D E I P I �  ' 9����6I2���%3,8 D �&3-�������2��!��� 5 ;R3 D ' �$76I2��@-� �%3 ��� 5 � ¬ �

5 ¹ ´ °�� " = � D 7 ��� 5 �%3-��@-3-�53A= >$@ D E E UF� �$7��2��>�M� �+�-�E� 3 D ��� 5 � 5 ¹ ´ =,� > D �^@ ��8L=��2��K� D 7 �� G� N � " " � � 5 ¹ ´ G 3A= >�@ D E ! �$7��;�;�63A= � ° � = ( 3A= @+�;��� 3A= � �+�-�E� ���4>����+� 73 D � � 5 ¹ ´ =

� Ç �$7 ��� �� �"����< G G �  ' �T3 D � =� %�@ D E I P I �  ' 9����JI����-3 8 D �&3-����������� ��� 5 ; 3 D '���7N�+�>��ISI �%3���� 5 � ¬�

5 ¹ ´ °�! ¾ � 5 ¹ ´ =��� 3A=�����8A��� G 3A= >$@ D E >$@ D 8 A 7�����I D ��>3A= >$@ 7 8 �-� D @+� D N ��� 5 �E3%I P I �  ' 3-�SISI��3 @ ��8L= ��� D 7 � �LH$8L=F3A=��E3 � ° ! ¾ � 5 ¹ ´ ¾ � � 5 ¹ ´ =

� Ç �$7 ��� �� �"���#" G � 5 ¹ ´ G �  ' �T3 D ! =

���M�0� �4<:<2��*5 ���)� ,#- ��� � +�� ��B �A232� �J��A2M !8���JH4<=>�A' 4<' ; :<JH�*8�46���$B 2��; *'�?`�A-@O'À È

Page 118: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� �&'���� ��+' ��� © �� �� ��" �� " N D @;� D 7 H > D �J@ 8 �?P��������� �� ��" ��#" G ��G � �7¯� �¨ Ä �%���������� ��,+ � -/+ � - ¾ � �+' ���� ����� ! ��� �� �"���#" G �1G � �T3 D Ä � �6�!=)E D @ ¿ �#à ¿ � Ã! �#�����% 3-�Y>�° Ä � �6�!=)E D @ ¿ �#à ¿ � Ã) Ä � ���!=VE D @ ¿ �(à ¿ � Ã�° �1 ����� ! �� ��!����=���G ��G G � �T3 D �4 �¨ ��� �° � �+' �#�5 ���#� ! ��� �� �"��� " G�3-�Y>/G � �T3 D �

� �&'���� ��+' � ���p© �� �� �"����< N D @5� D 7 H > D �J@ 8 �?P��������� �� ��" ���< G ��G � �7¯� �¨ Ä �%���������� ��,+ �.-,+ � - "$� �+' �#�� ����� ! ��� �� �"����< G �1G � �T3 D Ä � �6�!=)E D @ ¿ �|à ¿ � Ã! �#�����% 3-�Y>�° Ä � �6�!=)E D @ ¿ �|à ¿ � Ã) Ä � ���!=VE D @ ¿ �|à ¿ � Ã�° �1 ����� ! �� ��!����=���G �;G G � �T3 D �4 �¨ ��� �° � �+' �#�5 ���#� ! ��� �� �"��� < G�3-�Y>/G � �T3 D �

���� � ���� �

� ��#$������ � ���� �

� ���� ��� ���� � �����$ � � �

� � �� ���9$ ��� � ���� �

���6�!H @ ] = ' ]�¯ �� �� �"��� D > @+�E3-� D � 3 D � @-� � D 7 � D �F3A= �-��� I P I =

'À �

Page 119: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� � ��� �� � � � � � � � � � � � ����� � ½  � ���  ���� ��� � � � ¡ � � � �!�!� � ¡ ����� ��� � ��� � � ¡ � � � � � ��� � � ����� ��� � � �

��� � ����� ��� � � � � ����� ��� � ��� ��� � � � ��� � � ����� ' � � ��� ��� � � � ��� � � �:'�� � �� �� � � � ��� ����� � � � �� � � � � ��� �� � � �� ���

�� �� �%������' � � ���

§ ��� ��¨!© �4= ��I6� D @+�63A=�� �2���63-���E3 �%@ >����?@ N D @Q��ISI13A= > D �-�+�?E�I P�� D I��E3-� D ��� D N 3A= ���43 @ � I P I8 D ���%3K@C�����43-� D N �P� D 7 ���?�H�SP � ��E D P �= � 3 D �$I?UW@ �M�������T3 D E >�@ D P 7V3A=��E3,3A= �� �� ��" ��K� � ��-�E� �,� @+� 3 � D � D @-3 7JI����%3-�T�E3,� �H�SP � I P I �2�43 D �L�-����!I � D @-3 7 I��2�%3AG&�5�63A= D H3 I D �-���� �� �2�%3-����8 D ��� 893-�SP'�63 U = � 8 D �$8 �43K@C�E3 D � 3A= �� �� ��" ���< � �-�+�E� �Q��� 3A= �� �� �" ��#" � �-�-�E� � ��@ �KU��>� 3K@+� 8 =

� D >$@ D P 3A=��E3�3A= @ >����S@L� 8�=��������+� � @-� �L3*� D � D @-3 7XI����%3-�L���&3 D � �-�2��!I � D @-3 7 D � G� '$@+�%3 � A 3A=��E3Q� � D 7 ��I6�?�U�� @ 8 �?P � � �� �� �"����< � �-�-�E� 3 D I����� 3 D �U� D 7 ��@ �E3 @3A=���� �63-� I N = �4= �����63-����I �� �� �"����<N� �+�-�E� �5� �43���@ ��� N D I I D �;��¯a9�� ; � � (?��� < G �_@ 8 �?P � ��� �� �" ���< � �-�-�E� 3 D I2���� F3 D ¾ �BG����$7 9���� ;;����(?��� ' G �:@ 8 �?P �Q� �� �� ��" �� < � �+�-�E� 3 D I��2�� M3 D ��� 5 ¾ � = � = �U�>� D 7 @ 8 �?P �5� �� �� �"��� <K� �-�-�E� 3 D I����� M3 D �1G � N � 5 " �1G�63!� �$7�� 3A= � �-�-�E� 3 D � 5 3 D I����� 3 D � 9 I���� M< D N Q I6� D @+��3A=�� ' À ; = ( 3A= @+�;��� G1��3 H >R7��E3 �

� �5 °�� 9 I���� � D N Q I6� D @C�63A=�� ' À ;CG ���$7 �63�� ��7���� �� �� ��" ���<K� �-�-�E� 3 D � " � 5 3 D I����� K3 D � 5 9 I���� D N Q I�� D @+�63A=�� ' À ; = ���_E D 3A=F8A��� �AG�3A= �� �� �"����<U� �-�-�E� @ ��8L= � �F� D 7 3A=��E3=����,3 D I����� >3 D �>� D 7 ��@ �E3 @;3A=���� �63-� I N = Q I�� D G ��8L= � D 7 D �$ISU I��2�� '�T3 D �M� � � D 7 � � N �63���?�-�>��I I @?3A=����V3A= 8OH @A@ �&3,�AH$8O8 �-� D @ D N G�� D " � 5 ° � " � 5 = �4= H��T3A= 3*� D � D @-3 7 I2���%3-�� 35� @-� 7 ���&3 D �>�-�����!I � D @-3 7\I2���%3AG H��&3-�SI D � D N 3A= I����-3-�?3 @+�>�����E3 � =

� ��I�� D >$@ D P 3A=��E3B3A= ���43 @ � I P I�8 D ���%3K@+�����&3 @ >����S@�� 8L=������2�-� 7 D �W� D 3 I D � ���VU �� �2�%3-����8 D ��� 893-�SP'�63 UK���K3A= � ��?>K��@C��>�=�G�� =# G� N � >��E3A= E 3 � A �F� D 7 � ���$7 � H�� 7N3 D �� ���%3 E ON D @ 3A= @ >����S@D� 8L=��������-� �?���R�����63-���E3 7�GH� > �E3A=>�;�SI I'�-3-�SISI �� �2�%3D� N 3 @T3A= @ > ���?@R� 8�=��������-� D > @C�E3-� D ���'����2�A= = Q I����� +8�=����� D 8O8OH @+� D �$I?U!��= � @ 8 �?P �R� �� �� �"��� < � �+�-�E� 3 D I����� 3 D � " � 5 °� = � D 7 � �$7��!� �� �� �" ���< � �-�-�E� 3 D � 3 D I����� 3 D � = � > D �:@ 8 �S>�3 D N 3A=��E3L� �+�-�E� G� �63A= @>� 3-�P3 D ��� �5 ° �G D @M�63P� �$7�� >����+� ��3A= � �-�+�E� 3 D ��� 5 " � = � � 3A= '$@C�%3Y8A��� G3A= >��E3A=GE 3 � A � ���$7 �U��� @ >�I���8 7_E U �F� � I D �� @+> �E3A= � � � � = � � 3A= I��E3%3 @ 8A��� GB3A= �� �� �" ��L� �-�-�E� > ���-� �W3A= @ D H�!=>� P @+��I � D 7 ����� 5 �

��� ¥5 � Ä Ä ÄG H��&3-�SI��63�@ ��8�= �R�Q� D 7 � �AH$8�=

3A=��E3 � " � " � � 5 ���$7 � � 3-� � � �5 ° � = �4= � 3A= >��E3A= � � ���+@ >�I���8 7:E U �MI D �� @ >��E3A=

'À �

Page 120: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� � � ��� 5 � ��� ¥5 � Ä Ä Ä � � � �G ���$7 � D �� ���%3-����� 8 D ��� 893-�?P��631UF��� I D �-3 =� 3L�2� > D �-�-�SE�I 3A=��E3�� � D 7 � 7 3 893-�P� N ���SI 7 �2�43 @ � I P I 8 D ���%3K@+�����&3L� N �63`8�= 8 ��P�63L��=��SI

� D � � D 7 � ��� ��� 3A= �>�S7�7$I D N �63-� ����� @+3 D @+7 I 3 D > @+�E3-� D � = � D 7 � �;�SI I�7 3 893Q� N ���SI 78 D ���%3K@C�����43P�E3WI P I � � N � =����P����� @-3 7 �63-� I N �E3WI P I �  ' ���$7 � D 3P�E3WI P I �E= �4= >$@ D E � �-�+�E� ��I D �� I P I �  ' �;�SISI�@ ��8L= � �%=��S8L=J8A���N3A= �V��� N D @+� �F3A=��E3,�63?��� U 3T3 D 8 D �W>�I 3 �63-������ @-3 D > @C�E3-� D ��G����$7F3A= H��,3 @C�>�����E3 3A= @ >����?@�� 8�=��������+� =

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

���P3A=����D� 893-� D �>� >$@ D P 3A=��E3 3A= @ > ���?@R� 8�=��������-� �H�?P �M��� Q I6� D @+��3A=�� � ���$7HÇ 893-� D �Y] = � = % = %@ >����S@+�,�W7 ON 893-�?P �W7 ON 893-�?P � '�S>F��@+��>�= =

� >$@ D P 3A=��E3 3A= @ >����?@ � 8�=��������-� @ > ���?@+��� 7 ON 893-�?P � ��?> ��@+��>�=ZE U �A= D �;����K3A=��E3 �63@ >����S@+�,I P I À � N 3 @�� D � ' ���63 �2�43 @APE��I D N 3-��� G���$7K3A= �JH�� � 3A= I����� ��R�E3 I P I À 3 D @ �-3 D @ 3A= I����� ����E3%=��6�!= @%I P I�� = �M�>�W] = ' �M���$7 ( D @ D ISI���@AUJ] = ' �K�A= D � 3A=��E3 � N 3A= @ �� ���-3-�5� >��E3A=E 3*� A �N3*� D � D 7 �R3A=��E3T8 D ���-���%3-� �&3-�?@ I?U D N > D ���&3 @+�R�2�M���)U D � 7��?@ 893-� D �Z9 � D @ � ;CG�3A= �K3A= @ >����S@!� 8L=��������-� ���AH @ � 3A=��E3 � N 3 @ � D � '����63 �2�43 @APE��I D N 3-��� GB3A= @ ���Q�^> �E3A=FE 3*� A �3A= D � 3*� D � D 7 � ���M3A= �+��� 7��?@ 893-� D �K�E3 I P I À = � D @?3A= �?@ >$@ D D N �AG4� 8 D ���-�S7 @ D �$I?U�3A= 8A��� N D @53A= � I��2�� '�;���;3A= 8A��� N D @�3A= � I2���� ������;�AU'�>� 3K@+�S8 = �4=���� @ �AH�I63;��� N H @+3A= @ �� 3 �$7 7 ��� �M�>� ] = ' ��=��S8�= �A= D �;��3A=��E3Q��� I D ��F����3A= @ ���a>��E3A=ZE 3*� A � 3*� D � D 7 �AG��?@A@ �K> 893-�?P D N3A= 7��S@ 893-� D ��� D N 3A= Q 7� �5���N3A= >��E3A=/G3A= @ �;�SI I�E �Y>��E3A=U���JE D 3A= 7��?@ 893-� D ���TE 3 � A �U3A= 3*� D � D 7 �?�E34I P I À = ( D @ D ISI���@AU ] = % À �A= D �;�?3A=��E3?3A=���� I ��7�� 3 D �P�+����!I G�� D @-3 7�G$7 D H E�I?U

�I����� 7

I����-3 �E3+I P I À ���!��� �^7 ON 893AI �+�Q� ��?> ��@+��>�= = ��������ISISU�G/ �>�>�J] = % ' ���$7��4= D @ � ] = %)%F�A= D �= D � 3A= I��2�%3��E3�I P I À ���4H�� 7 3 D 8 @ �E3 I2���%3-���E3�=��6�!= @4I P I��:G�3 D P �&3AH���ISI?UV�H�?P � 7 ON 893AI �-�� ��?>F��@+��>�= =� � ��� �� � � �

� � � � � � � � � ��'�� � � � 5 º � 5 » Ä Ä Ä � 5���� � ��� � � " � ��� �� � �� ��� � ����� ��#������� '��� �� � �� � ��� � ��� ' ��� � ��� � � ��� � � � � � � � � � � � ����'�� � �� � � � � � ���5 � � � �� �� � �� ��� �

� � � � � � � � � ��'�� � � � 5�� � 5��� � � � 5 � � � � � � �"! � � �# �� � �� � � � ����� ��#������� '$�% &� � �� � ��� � ��� ' ��� � ��� � � ��� � � � � � � � � � � � ����'�� � �� � � � � � � �' � � � �� �� � �� ��� �

' ( �

Page 121: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� ��� ����� 3 � � � ' � � ' � � � � � ' � � � � = �4= � 3A= @ L�� ���%3-� �JI����� E 3 � A � ��8�= � ����� ����7 � ��E34I P I � D @ � � ' = D @ ��8L=�� ' � � � '�� � G��� � ����� � ' � � � � � G�3A= ���&3 @ � I P I<@ > ���?@,� 8L=��������-��H�?P �P����� 893-� D � ] =��'= % = % ���AH @ ��3A=��E3D� N 3 @D� D � '�����3 ���&3 @APE��I D N 3-��� G � ����� � � �' � � � G N D @D� D � � � 9� �>�>�6] = '�� ; = � 3A= �M=��/P � � � ' � � ' �� � � � ' � � � � � � �' � � �' � � � � � �' � � � G ��= @ � � � ' � N� ' � � � ' = ��=)H���� � 3 � � � �' � � � G���= @ � � � �#� ��� � � � � � � � =� �������������� ����� �� � � � � � � � � ��'�� � � � ' � � ' �� � � � ' � � � � � � � " � � � �� � �� � � � ����� �� � ��� � � ' � � � �� � � ( ��� � �!� � � �!� � �� � � � � � � � ��� �!�$' � � �� � � � � � � �� � � � �� �� � �� ��� �

� � � � � � � � � �0'�� � � � ' � � ' � � � � � ' � � � � � � � ! � � � �� � �� � � � ����� �� ������� � ' � � � �� � � ( ��� � �!� � � �!� � �� � � � � � � � ��� �!�$' � � �� � � � � � � �� � � � �� �� � �� ��� �

� ��� ����� 3 � � � ' � � ' �� � � � ' � � � � = �4= � N D @ ��8L= � ����� G � ����� � ' � � � � = �,U �>�>� ] = '�� G� N 3 @T� D � '�����3 ���&3 @AP ��I D N 3-��� G � ����� � � � � ! �#" �' � ��� � � � G N D @?� D � � � � ' � ��� = � UY@ > �E3 7$I?UP��>$>�I?U����� �M�>�W] = '�� G/� N 3 @ � D � '����63 �2�43 @APE��I D N 3-��� G � � 3 � ����� � � �$� �� � � � G N D @�� D � � � � � = � D � � 3 � � � � � � �� � � � � �� � � � � � � � �� � � � = ��=)H��:G � � � �� � � � G��= @ � � � � � � � �%� � � � � � � � � � � � =� � ��� �� �#� � � � � � � � � ��'�� � �'& ' � & ' � � � � & ' � � � ���# �� � �� � � � � � " � ��� & � � �)(�� � ������ ��"� ��� � '�� &� � � � � � ( � � � �!� � � �!� � �� � � � � � � � � � ����'�� � �� � � � � � ���� � � � ���%�

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

� ��� ����� 3 � �'& ' � & ' � � � � & ' � � � � =* D @ ��8L= � � G � ����� & ' � � � � = � U,+ D @ D ISI���@AUJ] = ' � G/� N 3 @� D � ' ���63 ���43 @LP ��I D N 3-�2� G � ����� & � �� � � � N D @Q� D � � � = � D � =��/P � � & � �� & � �� � � � & � �� � � � =� N ���)U D N 3A= �� ��- �5��@ � D 347��2�%3-���$893AG3A= � � 8A��� I����>�2���E3 3A= >��E3A= E 3 � A �U3*� D 8 D ��� 8OH�3-�?P D 8O8OH @A@ �$8 � D N � � = � D � 8A���J@ >�I���8 � >��E3A= D N 3A= %N D @+� � � & � �� � � � ��. & � � G���= @ � � � ��. G��;�63A=

� � & � � = �4= H���� =��P � > �E3A=M8 D ���+���%3-���� D N � � ����7�� � 7� � �%3-��@+3-����K�E3 � � ���$7 3 @+�>�2���E3-�����E3 � � ��=��S8�= 8 D ���-���-3-� D �$I?U D N H����$/ H � D 7 � =

D @ ��8L=K� D 7 GH� N 3 @R� D � '�����3 ���&3 @APE��I D N 3-�2� GH3A= E���8 )> D ���&3 @�8 D ���-3K@+�����&3 @ >����?@W� 8�= ��������+� �H�?P �U��� Q I6� D @+��3A=�� � �;� ISI�@ >����?@����)UJP'� D I2�E3 7 E���8 > D ���&3 @%8 D ���%3K@C�����43-�;�;�63A= D H�3TI D �-����

�� ���%3-����68 D ��� 893-�?P��631U 9� �>�>�6] = '�0 ; = � D + D ���%3K@+�����&3-� < ���$7M]N��@ @ > ���?@ 7 N D @ ��ISI/3A= � D 7 ���� 3A= >��E3A=�G�����7 ���+>$@ D P 7 �2� �4= D @ � ] = ' ]G+ D ���%3K@+�����&3-� ' ����7 %F��@ ��I��T�/U'� �>�����&3-����� 7 =

' (

Page 122: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

Q � >$@ D P 7 �2� ��= D @ � ] = 0 G1�;��3A= + D ���%3K@+�����&3-� ' 3A= @ D H�!=Z]F�-�E3-��� ' 7 N D @Q��ISIB3A= � D 7 � ��� 3A= >��E3A=�G�� � 3��M� D @+3 7�G�7 D H E�I?U

�I2���� 7JI����%3 D N 3A= � D 7 � = �4= H��AG � � ���� � � � ���$7 � � ���� � � � G N D @

� D � � =

� �������������� ��� � � � � ��� � �� � � � � � � � � � ����'�� � �� � � � � ��� �� ���� � � � � � � � ��� � �� �� �%���� � � �� �� � �� �!� � � ��� � ��� � � ��� � � � � � ������ � ��� � ��� � � � � � ��� � � � � ��!� � � � �� �� � � � � � � � � ��� � � � �&��� � �('�� �

( �

� ��� ����� �>�M�M] = ' �A= D �;�L3A=��E3P���)U 3*� D 8 D ��� 893 7 � D 7 � �Z���$7 � ��@ ��� 3A= �-��� � D @-3 7/G�7 D H$E�I?U

�I����� 7 I��2�%3;�E3 I P I ( � N 3 @ � D � '����63 ���&3 @APE��I D N 3-��� �= Q �)U D 3A= @ � D 7 �N���

3A= �-��� 8 D ��� 893 7 8 D �Y> D � �&3 �2�Q��I�� D 8 D ��� 893 7 3 D E D 3A= � ���$7 � G�� D �63 =����Q3 D E �2� 3A= �-��� I��2�%35�E3 I P I ( = �4= H��AG���ISI�3A= � D 7 � ��� 3A= �-��� 8 D ��� 893 7F8 D �Y> D � �&3 ��@ ��� �N�+����!I I����-3?�E3%I P I ( =

� �SP � �>� 3����$I�� � ' 9���; E���A=������� D N�� I I������ E��O@��L=��?>JP��8� D @%>�@���' � ��� D N I ��!�"�A= � @��O>$@���

�#��!$#�7^E U%A=��&! D 7����'� !(�)�*��+,��+�-� ' 9���; � ��.0/�3 � � � (#1:9 �R; � � � . � +

� � ��� �� ��� � � � � � � ��� ��'�� � �����% ���� � � � � � � � ��� � �� �� � ���� ��� �� � ��%�!���-2( � ��� � ��� � �

� � � � � � �� � ��� � ��� � �3/ � ' 9�2`;�/ � ��!� � � � �� �� � � � � � � � � � � � � � � � ��� � �:'�� � � � ��%� ��#�������4. � � ' 9�2 ;��� � ��� � � �!� � �� � � � � � � � ��� �!�$' � � �� � � � � � � ���5/ � '�� � 9�2 ;�/ � ��!� � � � �� �� � � � � � � � � � � � � � � � ��� � �('�� ���� ' � ��%� �� ��������. � � ' � � 9�2`;��

� ��� ����� + D !���� 7��O@ � ���6!�"!I�YI � �#87 � `I�OP��I � � � !�7:I���! D 7�� � � 79+ Q ��� � >�I � � !��7:�6!:A=���AH$8O8������ D @`8 D !���K@ � � !$+@��O> � �?@��;�8L= � !��6���<"=�?P���!>� ! �?�8��� D !:]�+ � + %?+ %?�9� N ��� ' ( ��� ' B� � � � � � H*�#������@!����"!=)E D @�� � `I�OP��I � �� D '*!�7:���&!���� "!=VE D @�� � I�OP��I � � ' + Q � � I IAA=�� I �6�#�� � `I �OP��I � � @��� D @�#�7 � !$7 7 D H E�I?U

�I � !� ��7B� � 8 � ! '-!$7 ��� '�� � � !$7 ��� '�� � � ! � 9 %�/ ��/ ;9��6������CAH��#�I � ��D� ! � !E�6!��#�O@�

D >��O@ � �� D ! 9 Q I" D @�� A=�� %!;�+ �C=���! � ISI9A=��E! D 7���� D N I �6�#�7 7���#�O@��;�6!���A=����?@&!����"!=VE D @�� � `I�OP��I� � ' ��N #�O@�� D ��� '*!*�#�D� !$#�O@AP � I D N ��6�����=F)� "���5A=���I � �#�� N @ D �GA=�� ! D 7���� D N 7 � I�OP��I � � ' � D !��

N D @H� � 8L=E. � � '�� � 9I7 ;�+ �4=�� �9� �A�S7���!J��S8 � I? D A=��D� !��#�O@� D >��O@ � �� D ! � !�7 � � >$@ D P��7;� !�KB���E� � ]�+ � �

� ISI�A=��+I � �#��'A= H��48 @�� � #�7 � @��@� D @�#�7 � !�7^7 D H E�ISU�I �6!� ��7�� � !$7 D !$I?U 8 D !���� �� D N ! D 7�����A= � %= � P��

A=��L� � A8L=*� !�"M����� E��O@��L=��?>^P��8� D @+>�@���' � D N I��!�"�A= � � ' + ��=)H�����8 D !���� 7��O@�� !�" � ISINA=��O/ � ' 9�2 ;�/I � ���� � I�OP��I � � ��N #�O@L� D ��� '-!��#�E� !$#�O@AP � I D N ��6�����9FP�Q"���(/ � '�� � 9�2 ;�/N� D @�#�7B� 7 D H E�I?U

�I � !� ��7

I � ���� � �I�OP��I ��� ' � D !�� N D @D� � 8�=R. � � ' � � 9�2`;�+

')' (

Page 123: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� ' �#����� � ��� � � � � � � � � � � ����� � �%� � ��� ��� � � � � � � � ����� � ���%� ��� � ��� � � � � � � � � ��� � � ����� ��� � � �� ��'���� � � � ������ �� �� � � � ��� � � � ��� �������'�� ��� � ��� �� � �� � ��'�� � ��� ���� � � ��� ��� � ��� � � � � �!� � � �� � � � � � � � �!�$' � � �� � � �

� ��� ����� + D @ D ISI � @AU6]�+ % ( �A= D F �'A= � ��N #�O@ � D ��� '*!��#��� !$#�O@AP � I D N �� ������A=��+@��O> � �?@D���8�= � �!�� ��� I � !� � � ISI*A=�� ! D 7����P� !�A=��8� � ���a8 D !�!��8�#�7J8 D �Y> D !���!$P� ! � ���6!�"!I���J� D @�#�7�� 7 D H E�I?U

�I � !� ��7

I � �� � I �OP��I ( + H @�A=��O@�� A=��O@�� � @�� D !�I?U '*!��#�ISU�� � !)U I�OP��I6� � ! � � ?�?>@"�@ � >�=�+�� ��� !�" KN���;� � ]�+ % '� !$7�H$8���?P��I?U���F � A=,+ D @ D I I � @AU ]�+ % ( � � A=��+E � ���`8 � �#��� FP� 8 � !4�L= D F A= � F)�&"����� D @�#�7���7 D H E�ISU

I � !� ��7\I � ������-F%=��S8L=M8 D !J � �6! � ISINA=�� ! D 7���� F �A=(A=���� � A8L=��6!�"Q! D !����Y>� U(�����`E �O@��A=��?>^P��8� D @

>$@���' � ����� � � ISI�I �OP��I � D N A=��8� ?�S>%"�@ � >�=�+ �4=)H*���$A=��%@��O> � �?@P���8�= � !�� ��� @��O> � �?@�� � 7�� N �8���?P��8� �?>"�@ � >�=R D "=�?P�� � 7�� N �8�AI�����D� �?>O"�@ � >�= ��N #�O@ � D ��� '*!��#���6!J#�O@AP � I D N �� ����+

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

� ! � 7$7���� D !4 D N � H$I8 D I�O@ � !$8���� � � ?�S> "�@ � >�=_>$@ D P?�S7���� � I6� �;�#�7 N D @�� D N 8 D !�"����#�� D !G8 D !JK@ D I �E UR��� D D A=�� !�" D H�a= D ��K> D ��%8 � H*�#�7\E U > D >�H$I � @ �#� � @L8L= � @�"������+ �4=���"!H � @ � !$#�����8A= � � � �?>"�@ � >�= � � ������6! A=��6�`8 � �#� � @��M��� �;�SI � @& D A=��Q"!H � @ � !J#�����E� � 7�� N D @��AH @LP?�?P � E*�SI6�1U�+��!H��# � � �! D 7�� - �Y8 D !$�� !)H��7 8 D !�!��8���?P �1UX7��O>���!$7�� D ! A=��R�AH$@AP?�SP � I D N � ���!����"!=)E D @����H����������� � "��^I D � 77��O>���!$7�� D !:A=��Y> D >�H$I � @�� U D N � ���!����"!=)E D @�� � ���#� � @L8�=: � @�"������+�� D F)�OP��O@���FP�W8 � !>�A= D F0A= � A=�� �P� ' �8�47 @ D >*� D ' @ � >-�S7$I?ULF �A= 7�� �� � !$8�� ��! D 7����5A= � � @�� N � @ � F � U N @ D � � > D >�H$I � @P � @�"���D� !A=��+E D # D �

�I �OP��I[I � �# D NA� � �?>O"�@ � >�=M"���%I �#AI �8�6!$8 @�� � �#�7R�;����� � "�� I D � 7 D ! � P��O@ � "���+

�:� "=�?P��( F D P��O@���� D !�� D N A=��6�Y@����AH$I �+ ��=�� '$@���WP��O@���� D !B�)"=�SP���! � ! �?�8��� D !"]�+ + ' � �A= D F �A= � �A=��J>$@ D E � E*�SI � 1U:A= � � > � @���S8OH$I � @L�#� � @L8�= H��#��� � ! D 7��JE��� F)����! A=��O� D H @L8�� � !�7> � @�"���7 @ D >-� D ' �6!VP��O@����I?U4F �A= A=��W7�� �� � !$8�� N @ D �<A=��E! D 7��� D A=��; � @�"����+ ��=�� � N � 8�&� ��! D &!��8����

� � @�� I?UF@�� � ���AH$@�� !�"4 D =�� � P �SI?U�I D � 7��7 ! D 7�����+ � � !$8��%A=��J>$@ D E � E-�SI � U � P��O@ � "���� D P��O@ � ISI 8L= D � 8����

D N �����`E �O@��A=��?>ZP��8� D @����A��� � U_E �LA= � @� D ���W> � @���S8OH$I � @LISU\H�!$ISH�8 U4! D 7�� '*!$7*��� ��#�I N F �A= ������`E��O@��A=��?>ZP��8� D @&A= � >�H����� D !:!�� � @LISU(�OP��O@AU �#� � @L8�=G> � A= D � D �;�YP��O@AUM> D >�H�I � @ � @�"����+�4=��L�#�8 D !$7_P��O@���� D !���"=�?P���!:�6! � �8��� D !Z]�+ + %?� �A= D F �8A= � D H @ � P��O@ � "��

�8 � �#� E D H*!$7��a= D IS74F �A=

=��"!=J>�@ D E � E*�SI6�1U�+ �C=��SI���D�6�'�#��SISI<> D �����SE�I��A= � � �K>��8� � 8OH$I � @LI?U6H*!$ISH$8 )UQ! D 7���� �4=��TE UO� D �#�#� � @L8�=������B�AH�8L= � ���AH � �� D ! D !$I?U D 8O8OH @�� N D @ P��O@AUMI D F

�>$@ D E � E*�SI � 1U 8L= D � 8���� D N �����`E��O@��A=��?>\P��8

')')'

Page 124: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

D @���+ � N D ISI D F �HA= � )� D ��P� �?>E"�@ � >�=�� � I I�OP?� � #�%8 D !�"����#�� D !%F)�ISI + D @ D H @ @����AH$I ����=F)�a8 D !����S7��O@� �?>O"�@ � >�=*�'F �A= � I?>�= � E��� � ( ( ' � +

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

� H @ � @�"!H*����!J'A= � 'A=�� � P��O@ � "�� 8 D !�"����#�� D !R�6�'� !VP��O@��#�I?UW>$@ D > D @��� D ! � I- D 7�� �# � !�8��8�6�,E � �#�7 D !A=�� D E-�#�O@AP � �� D !:A= � � ! D 7�� D !$I?U � >$>�� � @�� D ! � ��� � @L8L=:> � A= � ! � � ?�?> I � �#&� � N ��� � � � D !�"A=��� � I I���# ! D 7���� E��� FP����! ���#�I N9� !$7(A=��� � @�"����+ �:�&F �SISI�!����7 � ��� � ISIB#�8L=�!�� 8 � I�I���;� � A= � 8 D H�!$���A=��E� � >��8�#�7 ! H��`E��O@ D N �AH$8L= � ISI���#�! D 7�����+ + D !����S7��O@ � �#��

�P � ISH��7�� � @ D PF>$@ D 8������

� ��� � � � � � � � � F�=��O@���� � �6�P� D �;�8! D !����Y>� U%� !�� �� � I��#�� � !$7Q� � 8L=R�I������!$ D N ��� � >$>�� � @��)� !�� � � F �A=%� !$7��O>���!$7���!J >$@ D E � E*�SI � 1U �� +HKB���WE�� A=��aI � @�"����#�� !$7�� � N D @PF%=��S8L=���@� �5! D )���Y>� U�+�:�&F �SISI ! D F �A= D F A= � � � / ��*/ �N� �D��� � ISI<@���" � @L7$I ����� D N A=��&������� D N A=��&�6!���� � I �#�� � � +� � ��� �� ������� ��� � � ( � � ( � � � ( �� ���&� � � �%���"� � � �� �'�� ��� � �!� � / ��*/ � " % �

� ��� ����� �4=���E D H�!�7 D !� � / ���/ ��F �SISI N D ISI D F N @ D � � �AH @A>$@�� ��� !�" 8 D !�!��8��� D ! E �� FP����!� �� / ����/ �

� !$7���@�� / ���*/ � ' ��+ �:�+E���"=� !JE U D E* � � !�� !�" � @��8OH$@A@���!$8�� N D @���@�� / ���*/ � � ' +KN���� 9�¢.; � ��@�� / ���/ � '�� / � � / � ¢ ��+ +TI � � @LI?U!� 9 ( ; � ( � !$7"� 9 ' ; � ' �

��+ D @`I � @�"��O@

¢A�'�AH��;�E� !�" D P��O@ � ISI � � / � � /A"=�?P������ 9�¢.; � % �$#�%#�'& � �

#� � �69 �$;��'F�=��S8�= 8 � ! E��^@���F�@��##��!

� ��� 9�¢.; ��� ��� % #����

�(& � � # ��� �69 �$;�+ �4=�� � D ISH��� D ! D A=�� �6@��8OH @A@���!$8��4" D ��� � �KU �Y>� D ��S8 � I I?U D��*) � ��+-, ( ��. ( � �0/ ,2143(3(3 � , (%� ���4=�� D @���� � + � � = D F)�OP��O@��JF)�)F �SISI)H��#�5A=���� H$8�= ��� �Y>�I�O@.>$@ D >��O@� U

A= � �F�=���!�¢65 / � �69�¢.; � ��@�� / ��*/ � , �H� � A=�� >$@ D E � E-�SI � U D N5� ! �OP���!$8A= � 7 D ����! D � IF � U �

D 8O8OH @�� � !$7R�6�'A=)H*�4I������A= � ! , +KN�� & 9�¢.; � � / ���*/ � / ��7J/ � ¢ ��+ �4=���! & 9�¢.; � / �$# � ¢ � % #

�(& � � # � � & 9 �$; � � � !$7R�I �6�;� ! � �� !�"A=�� & 9�¢.;�#�O@�� D !(A=�� @�� "!=J

�= � !�7(���S7���"=�?P���� & 9�¢.; �

�� ��� � ¢ � % #�����(& � � # ��� & 9 �$; � + D @|¢ � , �

& 9 , ; � , E U"7���'*!���� D !B+98D�8 � ISI8A= � �� 9 , ;Q� � � I � D ��/ H � I8 D , + �:� F �SI I ! D F �A= D F<A= �

& 9�¢.; � / � 9�¢.; N D @ � ISI�¢ ! , + � H >$> D �#��A= � & 9 �$; � / � 9 �$; N D @ , " � " ¢A+�KN���¢ � / ��A=���!

,:, /

Page 125: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

& 9 �$; � / � 9 �$; N D @ � ISI , " � " ¢ 9 � !R���W>�1UO�#�� D N �$;�+��4=���!��

& 9�¢.; �,

/ #�� ,�T¢ �

# �����'& �

� ¢��� & 9 �$;

�,

/ #�� ,� ¢ � � ¢

, � & 9 , ; � /#������(& �

� ¢��� � 9 �$;

�,

/ # � ,� / � ¢

, � � 9 , ; � /# �����(& �

� ¢��� � 9 �$;

� / 3 ,/ # � ,

#������(& �

� ¢� � � 9 �$;

� / � 9�¢.; �

� �6!$8�� � 9�¢.;�� , N D @B¢ ! , �NF)�;� �;���7*� � #�I?UR"��� & 9�¢.;�� / N D @ � ISI�¢A+ D @`I � @�"��:¢ A=*� ��� �

� ! D P��O@����#��6� � #� � "=�?P���!%A=�� � �KU �Y>� D ��S8%E��= � P � D @ D N � 9�¢.;�� & 9�¢.; � >$>$@ D � 8�=���� �) � � + / , ( ��� ., � ]�] /%� 3(3(3 + �TH�D�D� � 8OI D �#����! D H�"!= N D @ D H$@4>�H @A> D �#����+

� ' �#����� ��� ��� � � ��� � � ��� ��� � ��� � � � � � �#� � � � � ����� ( ( ,�� � ����� �� �� � � � �!��� � ����� ��� � ���� �� � � ��� ��� ����� ��� � �� �� � � � � ��������� � � �#� � � � � � �� ���!��� ��� � � � � � � � �!� ! � ! � � � � ��� � ��� ��� �#" ������ � ���%$ ���#� � �"��� � ��������� � �&� �� � � ���(' �%��� � � � � ��� ��� ���!�" �� ���� ��) � � � �*�+� ) � � �� � ��� � � � �� � � � � � � � �"� � ��� � � � ��� ��� � �,�#�� � � ��� � � � ��� ������-� � � � � ��� � � ���

�. � � �

� ��� �����GKB��9�0/214365�7 �A98��H�#:?�<;�= � �#?>����##>��<@���4A=!ACBD�HFE8�A=�#�A�GF �6�##��!�@��5� ���H8DA F !�7JI8KB���;� �LK + , + >9A=� KB���E� �MK + / �*F)��: !DA F 98 � ��#� � >H@H8���� � ! �NBOAP=<=4A F �#� � >H@H8���� � ! � /214365 + � 7*���Q>9R���98 � SBTAC>S�#A � ;�;�� � > � !(98��@�#� � >U@H8V; � 98�BT>9A=�W� #A � � ! � /214365 98��Q>��@��X��#E7��&!�A%!DAZY�� ) F � 98[�\� ) � �FE8DA=���-8����"P8$8�6! � /214365 � �]8��"P8��Q>898 � !\� - ��+_^ ]BTAP=<=<A F �898 � ��`@ � ! � ;�;�� � >�� ! 98��;�#� � >H@H8\; � 98A=!�=4I@�4B-�9� � � �MA=!�"�98��� � =<=���#A!DAZY����A� ! 98��'� !$#�Q>9R � = � � ( � ���?� +,��+�J�4B9/ 1ba(��c�d 1baO�?c�/ 5 / 1ba(�ec�dD1ba ) c�/BOAC> � =<= ) F �98f��� ) � � + 8D�g@ � =�=�98 � �1ba(��c0dE1ba ) cP� ��98��]@GA=�;�MA=! ;�>��QhDFVaO;?A=�����<7�=4I����M;�6IDciACB1ba(�ec � !�YO1ba ) c�+j 8��Q>�� � >��M$ � , !DAZY����8� ! 98�� �8� !$#�Q>9R � = +��%I4�9I?�;�;��#>9I��B�4BH98��Q>�� � >����( � =�=���#�!DAZY�����98���!98��M;�>HAC7 � 7*�<= � kIR98 � ��>� � � �MA=!�"R98���� � � �. � � +;KB�� j 7���98��M> � !�YDA=�&R � >�� � 7�= ��>��Q;�>����#��!$�� !�"98��&����LACB� � =�=���#D!DAZY����D� !M98���� !J#�Q>HR � = + j 8���! �

,:,21

Page 126: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

��> � ����� � �. � ���(& �

��> � / �L/ � � � �$ � ,

� � / �L/ �$ � , �

� 8 � 8� �D98�� �GFZ; �g@�#�gY ��������ACB�����S=�= $ � , !DAZY����E8 � R��M8����"P8$ � =� � �# ( � � !�Y � !R"���!��Q> � =� � @H8 !DAZY���F �98*8���� "P8J � =� � �# � 8 � �S8����"P8$ � =� � �# � � , F �98(�6!�Y��Q;���!�Y���!$!;�>9AC7 � 7*��= �kI �� +j 8�� �#��� @GA=!����6�#��EACB598��@!DAZY���� 98 � � >���=�QB � �98���= � �#S= �QR��g= 7��QBOAC>�� � =<= !DAZY����ER � !�� �H8�+L^ �� �98 X��8��/JX � =9#A���M� ! 98��_;�>9AZ@������]Y��Qh*!��gY � ! KN���;� �fK + / 1 � � !�Y F)�M8 � R�� � / �L/ �L� / � !�Y 98 X����>�� ����� � � �. � � +

AC>�@GA=�-; � >�� �#A=!B� �GFZ;��Q>�� ����!$ � = Y � � BTAC>998��L@GA=!�"����#��<A=!�� ! � �#: �4; "C> � ;�8 F �98 ,21 , (��0/ !DAZY������#A�"���98��Q>�F �98M98���98��QAC>�����<@ � = � R��Q> � "���;�>��gY��<@�#�gY 7 I j 8��QAC>���� K + / K �-� �'�98�A F !R�6! � "PXD>�� K + , 0 +

0.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

1.1

76400 76450 76500 76550 76600 76650

Fraction of total messages

Nodes

Actual loadExpected load

�"PXD>�� K + , 0 � � @�9X � = � !�Y �GFZ;��g@�#�gY\@GA=!�"����#��<A=! � ! � �#: �4; "C> � ;�8 F �98 ,21 , (��0/ !DA Y����8F �98 98�� � >�"��� � � � 0 1� +��R����� � "����5F)�Q>��2Y��g=6�4R��Q>��gY�BT>HA=�0� � @H8;!�A Y���#A�98��' � >�"��� � !�YL98�� � @�9X � =�!JX*��7��Q>ACBD������� � "����&98D>HAPX�"P8 � � @U8 !�A Y��EF � � ��� � �9XD>��gY�+ j 8��-7?APX�!�Y A=!>98��%�GF ;��g@�#�gY @GA=!�"����#��4A=! � �@GA=�M;�X�#�gY X����6!�" j 8��QAC>���� K + / K +��SA�#� 98 � 598�� ��7?APX�!�Y�� � IMA R��Q>����#�� � � #��98�� � @�9X � =*�GFZ;��g@�#�gY@GA=!�"����#��<A=!�+

��������� ������������! ��"��#%$&#(')�"*�+-,/.0+1�",32(+546#%$�2%+7������#%$

j 8��QAC>���� K + / K � �%ACB9��� � =<=?@GA=!��#AP= � ��4A=!O#AE�#A=�;��!DA Y���98 � 2YD> � F � � ;�>9AC7 � 7*��= �kI �. � � �##> � F � !�Y; � >����@��4; � #����� ! �QR��Q>9I:�#� � >U@H8�+ AC>�9X�! � #�g=4I��9�9X�@U8\Y�� � � �##�Q>��]YDAR!DA��8 � ;�;���! ACBI#��!�+98��Qh*!��;98��

,:, K

Page 127: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

������������� ������������������� ��� � �M;?A=�#�gY\7JI � �#� � >H@U8`BOAC> � A=! � !DAZY��-� � �@98�� ;�>9AC7 � 7*�<=6�kI498 �

� !b� � � �#� � >H@U8b8�� ��� @GA=!�Y*���4A=!��gY A=!:98��E������7 �Q>��98��4; R��g@�#AC>���ACB � =�=A!DA Y������ ! 98��E�6!J#�Q>9R � =� � ( � ����FE8��Q>��_�-� �b� � ��AC> �-��/ X��4R � =��!$9=4I��0� ! � ! � +�� �EA�#�L98 � 8��� !�@��@98��_@GA=!�Y����4A=!*� !�"-YDA?���!DA��� !�@Q=<X�Y��'98�� �;����7��Q>��98*�4;-R��g@�#AC>LACB �J�$98�� Y��Qh*!�� ��4A=!;� !E��� �g@� � ���9X*�����598 � P1ba(�ecA� �i@H8DA=����!> � !�Y�A=�-=4I�+ j 8�� � � ;�;�>9AgF�� � � #��� 98��&��� 9X � ��4A=!(�6! � hDF �gY(�#: �4;R"C> � ;�8RFE8��Q>�� � ; � >���<@QX�= � >' � >�"���� � ��X��#�gY`BTAC> � � ! I>�#� � >H@H8����@98 � � � I\8����N� 7�X��98��Q�#APX�>H@�����ACB'98����#�Q��� � >H@H8���� � >��f@H8DA=����!> � !�Y�A=�-=4I BO>9A=� 98��]A�98��Q> !DAZY����'� !R98���"C> � ;�8�+j 8��QAC>���� K + / K �6�M;�= ���� 98 � N98��H�GFZ; �g@�#�gY�R � =<X�� ACB � ��� � ��!DA �MAC>��A98 � ! �. � � + ^ !�98�� BOAP=<=4A F � !�"98��QAC>����R��FP�@�98DA F 98���Y�� ��#>��47�X���<A=!-ACB � ��� Y��g@Q= � !����)�GFZ;0A=!���!J�� � =�=4I 7��QICA=!�YO98*� �!;?A=� !J�+

� � ���!����" �$# �!%���&('��*)+&-,/. ��0214365 , 1!74890 ' 7 ,6: 1!7 ,;)+&(' � ( ( ,���<>= 0�?A@�B(C &�. � , @�C ��D 8E7 & 5 &E��� �, @�C / � ) � � � ) � � � / F $ < � 7 & @ BG5 , @!HI0J@ 'K& 3 & 5 � 5 ( D � >�� � ��� ! / � ' � � /6L � � " ! . <

� ���M� ��� KN��ONPF � ) � �b� ) � � � � !�Y�= �� 1baQN�cRF ��1ba ) c � ) �SN � +�� �8� !(98���;�>9AJACB ACBj 8��QAC>���� K + / K ��F)�8F �<=<=�X*�#� 98�� B � @�P98 � !�O� �iA=!Q98��E; � 98fBO>9A=�,��#A � �<B � !�Y A=!�=4I;�4B?� - �!8����"P8$� !(� /E1 3 5 � � !DA�'�GFZ@����gY��gY*7 I%98���8����"P8$2ACB � !JIO!DAZY�� ) � !TN;+j AQ��� �M;�= �<BTIQ98��@!�A� � ��4A=!�� =��X�� � ���9X����@F �98DAPX� =4A=���SACBH"���!��Q> � =6�kIR98 � 1baO� cD� � 98�� � =<=VU���Q>9A�R��g@�#AC> + j 8���!L98��28���� "P8J ACB0�%� !;� /E1 3 5 � �9��/ X � = #A�98��2=��!�"�98_ACB 98��D� !���� � = ;�>��QhDF�ACB ���Q>9A?���� !(1ba(��c�� � !�Y � 8 � � 8����"P8$ � =� � �# � F �98*;�>9AC7 � 7*��= �kI / � ' + � 8���98��Q> 98*� � � � ��!DAPX�"P84#A > � � �#��'#A;98���=�QR��g= ACB998��� � =<=����D!DA Y����D� !TN F �<=<=?Y��Q;���!�Y A=!OFS8 � D������7 �Q>��98��4; R��g@�#AC>�� � ;�;�� � >D� !1baQN�c�+

KN���1ba(��cWF ( � , 3(3(3 + j 8���! �`8 � ��8����"P8$��GF � @�9=4I � � !�Y �6�]8��7JI � !b� � � �#� � >U@H8bX*!�=�����98��Q>���� �8�#A=�;� ) �XN F �98 1ba ) cYF ( � , 3(3(3 + �:��F �<=<= � >�"PX���98 � 8FE8���!V$ZF /[N%/-� �8�9X]\ @����!J9=<I= � >�"����*98���!M98��Q>��&�6� � 8��"P8 ;�>9AC7 � 7*�<= �6I;98 � � =<=��6!���� � =0;�>��Qh�F?��� ( � , � ;�;�� � > � !M1baQN�ciBOAC> � � +^ ! 98��6��@ � �#��� � @ � !`A=!�=4I � ;�;�� � >L� ! 98��f� � � ; � 98>�<BD����8����"P8J � � � _=� � �# � ��FS8��<@H8bA @Q@QX�>��F �98\;�>9AC7 � 7*��= �kIVA=!�=4I / � ' + � A(�4B ( � , � ;�; � � >�� � � � ;�>��Qh�FVACBD�#A=�;�E1ba ) c�BOAC> � =<= � � ��98���!

� ��� � / � ' + +%A=!JR��Q>��#�g=<I��*�4B � ��� ! / � ' �*98���! ( � , YDA?��� @�B ' � ;�;�� � > � � � ;�>��QhDF ACBA�#A=����1ba ) c!BOAC>�#A=��� � � +

�SA F =��2X��S@ � =<@QX�= � #��98���;�>9AC7 � 7-�<= �6I;98 � !�A� � =<=��9X�@U8 ;�>��QhDF?��� � ;�;�� � > � !O1baQN�c�+ �:� � >��"CA=� !�"L#A;�98�A F 98 � '98��6�i;�>9AC7 � 7*�<=6�kI;� � � D�MA=�� /6L � � " ! . � � !�YO�#ALFP��!����gYM#A_@GA=!*���<Y��Q>!A=!�=4I%98��^Q_a`$bdcebdfRfRgihjb�kl`Qgem�nQopfq`Qr�gEsjnQo�otmo+muvr�gwo+nQgwf�x�y z+x{`Qr�k+`�|!}V~Yh�o�gwc$��o+`�h�gws6g��Gh>ot��`Qr�g���r�opbd�wg9otm��py

,:, 0

Page 128: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

@ � �#��FS8��Q>�� L � � " ! . � ���� 98�� �!7?APX�!�YO� �LX*�#�gYR� !O�##�Q;-��a K + / c � !�Y`a K + 1 c!7��g=4A F&+��:��8 � R�� �

��>�� � ��� ! / � ' � � � >���������i�� � � ) � N � (�� ,�� 1ba ) c��'�F � >�� � �i�� � � ) � N � ( � ,��� 1ba ) c �� ' ����

� & 7� >�� � ) � N � ( � ,��� 1ba ) c �

F' ����� & 7

� , � / � � ��� � .� ' ����

� & 7L � � "��$" � .

F' ����. & 7

L � � " !���� .F

' ����. & 7

� L � � " ! .�� � �

� ' ����. & 7

� L � � " ! .�� . � � a K + / c� ��

. & 7� L � � " ! . � . � �

F L � � " ! ., � L � � " ! .

� /6L � � " ! . � a K + 1 c

��"!$# � �&%('*),+ � ���-% �/.0%(132�+��4+(5��76 �-598

�:� 8 � R�� Y��Qh*!��gY � !���F Y � � �##>HX�@�9X�>����'98��4�9:?�4; "C> � ;�8��!BOAC>fY*� �##>��47�X�#�gY�Y � � �##AC>����%98 � 8 � �M�#�QR��Q> � =Y������4> � 7�=�*;�>9AC;��Q>�������+ +%A=!��##>HX�@��� !�"��D� !����Q>��� !�" !���F !DAZY����Q� !$#A�� � !�Y �#� � >H@H8*� !�"� ! � �#: �4;R"C> � ;�8�@ � !*7���Y�A=!���X���� !�";��� �-;�=� � !�Y(��#> � �"P8$#BTAC>�F � >HY � ="CAC>��98*�;��+)� :?�<;R"C> � ;�8�� � >��8��"P8�=4I�>�������= ���!$���#AP=�Q> � �� !�" � = � >�"��LBO> � @���4A=!MACB?B � �<=�gYL!DAZY����AF �98�APX� =4A=��� !�"]@GA=!�!��g@���4R?� kI�+ ����� !�"98�� >��Q; � �4>E���g@U8 � !�� ���O�%Y*� �#>HXD;*��4A=!�� #A 98���Y � � �##>UX�@�9XD>�� @ � ! 7 �*>��Q; � �4>��gY3� ! 98�� � 7*����!�@��ACB � Y�Y�� ��4A=! � =LB � X�=���+ � : �4; "C> � ;�8�� � =6�#A>�9X�;�;?AC>�M> � !�"�� /JX��Q>������FE8*�<@H8 � =<=4A F ���!BTAC>Q�GF � �-;�=���

,:, �

Page 129: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

�#� � >H@U8�� !�" BOAC> � @GAC;JI�ACB � >����#APXD>U@��L!�� � > � ; � >���<@QX�= � > =4AZ@ � ��4A=!V7 I�X����6!�"E98��M=4AZ@ � ��4A=! � �]=4A FRUAC>HY��Q>Eh��g=<YO� !M98��]:��QI � !�Y[@Q=<X��##�Q>��6!�"_ACB9!�A Y�����F �98O��� �;��= � >!:��QI?��+�����GF ;�= � � !��gYQ� ! �?�g@���4A=! K + K �DA=!����6���9X�� 98 � L>���� � � !*�P#AM7�� � Y�YD>������#�gYM� �)98��]= � >�"���!JX*��7��Q>ACB ;?A=� !$#�Q>��i;��Q>)� � @U8�� !��8� !%98����#I �##���O+ ^ )F%APX�=<Y 7�� � !$#�Q>����#��6!�"@#AMY������"=! � ;����Q>iU�#AGU ;����Q>D�#I �wU

#��� 98 � '� � � !$ � � !�� BI��F)�Q>!;0A=�6!J#�Q>��i;��Q>)� � @H8�� !�� � !�YfI���'�9XD;�;?AC>���P�#; � �� � =�=4AZ@ � = �kI�+�� = �#A�� �#: �4;"C> � ;�8*� YDA�!DA�A�GFZ;�=4A=�A!��� FiAC>9:M=4AZ@ � = �6Ifa �9X�@H8 � � AC>i= � #��!�@GI � =4A=!�"�#> � !*���;� �����4A=!�; � 98��Uc�� !M=4AZ@ � U��4A=!_ACB0>����#APXD>U@���� � !�Y��AF%APX�=<Y�7����6!J#�Q>������� !�"8#A��#9X�YDI�;��Q>9BTAC>�� � !�@��!7���!��Qh���A� ! 98 � �Y��<>��g@���4A=!��;��Q>H8 � ;*�!7 I X����6!�"���X�= ��VUkY�� ����!*���4A=! � =��#: �4;O"C> � ;�8*��+!���DF �98[A�98��Q>SA R��Q>H= � I(!��� FiAC>9: ��� �DF%APX�=<Y7���� !J#�Q>����#�� !�"O#AR�#��� 8DA F 98��;!��� F%AC>9: ;��Q>9BTAC>��;�8� ! 98��M;�>�������!�@��MACB%�%I � � !J��6!��-B � �<=<XD>�����+ �VU! � =<=<I�� � �F%APX�=<Y�7��LX��#�QB X�=J#A]Y��QR��g=<AC; � �-AC>�����\ @����!$ >��Q; � �4>9���g@H8 � !�� ��� � !�Y � �#�g=4B�U �# � 7*��= ��� � ��4A=!���g@U8 � !�� ��� #A->��Q; � �4>2Y��QBI�g@���4R��@�#:?�<;O"C> � ;�8���+

,:, �

Page 130: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� ��������� �

��� ����� ������� � ��� � � � !� " #$�&% �� !' �

�)(_@GA+*�@Q=<X�Y,(.-/*10982-/3E@H824e;205(Q> 7 I639X2774e>8-:9;-/*,<_APXD> @GA+*=0#>>-<7�X,0?-4A+*23;@�@GA+7M;A4e>>-B*,<MAPXD>C4e;�;�>9A+4C@H82(;3D -:098 AE0982(Q>E@GA+*=05(;7-;0AC>84e>9I ;F(G(Q>lUH0#AGU ;F(G(Q>C3#II3?05(;73G@A4E*�Y[YA-/39@QX23?3>-/*,<J3#A+7K(�AC;L(;* ;�>9AC7�=:(;73�4E3 D (g=<=4E32B X,09XD>>(YA-4>?(g@M0?-4A+*23!BOAC>2>?(;3?(;4e>H@H8ONPRQ ! S$TCU('*),+JVLW?TXUJV

j 8,(Y098,(;3?-/3�ACBZ098A-/3�>>(;35(;4e>H@H8[-/3.09824\0J(�\ @G-:(;*]0G@ B^4CX�=:0wUH0#AP=:(Q>>4E*]0G@ Y,(g@M(;*]0#>>4C=/-/9G(gY`;L(G(Q>iUH0#AGU ;L(G(Q>K3#I_3wU05(;73M@G4E* 7L( 7�X2-<=:0�XA3?-/*,<VY2-/350#>>-<7�X,05(gYbYA4\0?4`3?0#>HX�@M09XD>?(;3.09824\0M@GA+*23?-B350�ACBX-/*�Y2-<RI-<Y�X24C=a@ X2*�>?(g=/-/4e7�=/(@GA+7M;?A+*,(;*]0?3GN �)(M;�>?(;3?(;*=05(gY`0 D A Y2-V�L(Q>?(;*]0 YA4\0?4b3?0#>HX�@M09XD>?(;3X09824\0R(�\ @G-/(;*=09=4Ic74E*24\<E(M>?(;3#APX�>H@M(;3D 82-�=:(�;�>9A R_-<Y2-/*2<fB^4CX�=:0R0#AP=:(Q>84E*�@M(E@d7e4E-/*=0?4E-B*2-/*,<14 YDI_*24E7-�@f*2(G0 D AC>9:g@h4E*�Y)39X�;�;?AC>?0?-/*,< @GA+7M;�=:(GFi X,(Q>>-:(;3GN�� =:098DAPX,<P8j098,(Q>?(k4e>?(k350?-<=<=�35(QRE(Q>>4C=%AC;L(;*`;�>9AC7�=:(;73.-/*j098,(b4e>>(;4_@ D (f7L(g=/-:(QRE(Y09824\0J0982-/3>?(;35(;4e>U@H8 D -<=�=D;�>9A RI-<Y2(C*,( D -/*23?-/<P8=0?3 D 82-<@U8 D -�=<=�=:(;4CYb0#Af098,( Y2(QRE(g=4AC;A7K(;*]0!ACBl7MAC>?(R3#AC;�82-B350?-<@G4\05(gY3#I_3505(;73Z4E*�Y64C=:<CAC>>-:098A73GN

�)(]@GA+7M;A4e>>(m098,( ;L(Q>9BTAC>874E*�@M(2ACB APX�>n4e;�;�>9A+4C@H8,(;3 D -:098Y3#A+7K( AE098,(Q>!@GA+*=05(;7M;?AC>>4e>HI-;L(G(Q>iUH0#AGU;L(G(Q>�3#II3?05(;73o-/* j 4e7�=:(qpIN , N j 8,(=4A AC: X�;Y0?-/7(EBOAC>o4C=�=A098,( 8Rr j 39II3505(;7e3n-B3i=4AE<+4e>8-:09827-<@C4E*�Yb098,(-/*23?(Q>?0s0?-/7K(X-/3t4\0o7MA+350 ;?AP=4IZ=4AE<+4e>>-/09827-<@o-/*K0982(C* X27�7L(Q>�ACBu7e4C@H82-/*2(;3tv)N AC>%APXD>�4e7A3?0#>>4C@M0!8Rr j7MAZY,(g=h4E3 D (g=�=s4E3q3#:I-<;`<C>84e;�823G@u3?-B7-<=/4e>S70APXA*�Y23X4e;�;�=4I 7�X,0X-B*c0982(*JX27�7L(Q>ACB >?(;3#APX�>H@M(;3RwsN �X3=4A+*,<K4E3mwx-B3!;0AP=<II*DA+7e-/4C=g-B*Yv)@ D (y<E(G0Z0982(y3?4E7K(y4E3#I_7M;20#AE0?-<@;L(Q>9BOAC>>74E*�@M( BOAC>m4C=<=L0982(y3#II3?05(;73GNj 8,(Y3#;A4C@M( >>( i X2-<>?(;7K(;*]0?3�BOAC>.74E-/*]0?4E-/*2-B*,<6350?4\05(fRz4e>9I)<C>>(;4\09=4I BT>HA+7{3#I_3505(;7|0#Ac3#I_3505(;71N��$-:098v&74C@U82-/*,(;3}-/*x098,(e*,(G0 D AC>H:g@�~!8DAC>UYO@l�h4E350#>9IE@h4E*�Y j 4e;L(;350#>9I >?( i X2-4>?(e�-a =<AE<�v�cR3#;g4C@M(e4\0}(;4C@U8

,:, �

Page 131: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

�D@H8,(;7K( �I(;4e>H@H8 ^ *235(Q>?0 �Z;A4C@M(�;L(Q> � ;A4\0?-B4C= j AC;0AP=<AE<CIj -/7( j -/7K( 74C@H82-B*,( =4A @G4C=B-:0kI 4 D 4e>?(;*,(;3?3~L8DAC>HY � ,:,���� � a =4AE<tv�c �-a =4AE<��gv�c �-a =4AE<�v�c �SA �SA~ �� � p � �-a $+v �� . c �-a $Zc � a $ c �SA �h4e>?0?-/4C=�=4Ia �$-:098 $ F =4AE<�v�c � a =4AE<tv�c �-a =4AE<�v�c �-a =4AE<�v�c�h4E350#>9I � � � � a =4AE<tv�c �-a =4AE<�v�c �-a =4AE<�v�c �SA �h4e>?0?-/4C=�=4Ij 4e;F(;3?0#>9I � ,�� p ��X-�@M(Q>9A I � � � � � a =4AE<tv�c �-a =4AE<�v�c � a , c �SA �SA

�S7A350#>>4C@M08Xr j 7-A Y,(g= � K � �-a =4AE<�w c � a =4AE< � w c � a =4AE<tw c �SA �SA� :_-4;k<C>>4e;�8 � p � �-a =4AE<�w c �-a =<AE<�w c � a =4AE<tw c �t(;3 �SA

j 4e7�=:(XpIN ,�� ~!A+7M;A4e>>-/39A+*MACB ;L(G(Q>iUH0#AGU ;L(G(Q>o39II3505(;7e3GNhv�-/3�098,(C* X27�7F(Q>iACBu74C@H8A-/*,(;3n-/*098,(X3#I_3505(;7D 8,(Q>>(;4E3�w -/3o098,(}* X27�7L(Q>LACB >>(;3#APXD>H@M(;3GN74C@U82-/*,(f-/*6098,(J*,(G0 D AC>9: � �R-<@M(Q>9A I 0?4e:E(;3q-:0EA+*,(J3505(Q;VBOX�>?098,(Q> 7JI[>?(gY�X�@G-/*,<098A-/32>?( i X2-4>>(;7K(;*=0C0#A�-a , c8No~ �� >?( i X2-4>?(;3��-a $Zcn3#;A4C@M(q4\0o(;4C@H8674C@U82-/*,(EN ^ * @GA+7M;A4e>>-B3#A+*O@_3#:I-<;b<C>84e;�823%>?( i X2-4>?(X7�X�@U87MAC>?(q3#;g4C@M( � D -:098bw�>>(;3#APXD>H@M(;3�-/*b098,(q3#I_3505(;73;@I(;4C@U8674C@U82-/*,(>?( i X2-4>?(;3��-a =<AE<�w c�3#;A4C@M(BOAC>-&l,�� 7>?(;3#APX�>H@M(K09824\0}-:0�8�A+350?3GN �)( Y2-B39@QX23?3;?A+3?3?-<7�=:(�YA-4>?(g@M0?-4A+*23BOAC>�>?(gY�X�@M0?-4A+*)-/*)3#;g4C@M(->?( i X2-4>?(;7K(;*]0?3D 82-�=:(S>>(G0?4E-/*2-/*,<K3#;g4\0?-/4C= =4AZ@G4C=/-:06Ib-/* �_(g@M0?-4A+* pIN � N ,j 82([;�>>-/74e>HI`Y2-V�L(Q>?(;*�@M(;3_7L(G0 D (G(;* 098,( R\4e>>-4APX23K3#I_3505(;73Y4e>?( 35(;*A3?-:0?-4R_-:0kIj0#A 0#AC;?AP=4AE<CI�4E*�Y39XD;�;0AC>>0 BOAC>�39;A4\0?-/4C=�=4AZ@G4C=/-:06IEN��C3�(GF ;�=/4E-/*,(gYK-/*b~!824e;205(Q> � @ 7?AE098Y~ � �$4E*�Ye�h4E350#>9I�� j 4e;F(;3?0#>9I4e>?(;A4e>?0?-B4C=<=4IK35(;*23?-/0?-4RE(m0#Af0#AC;?AP=4AE<CIEN j 8,(C0#AC;?AP=4AE<+-<@G4C=<=4I�U 35(;*23>-:0?-4RE(S@GA+*A350#>HX�@M0?-4A+* ACBu098,(y~ � � A RE(Q>H=B4gI*,(G0 D AC>9:3HXD;�;?AC>?0?3 ;�>HAgF,-/7-:06I�>9APX20?-/*,<,@ 7�X,0�-:0 8A4E3t098,( Y2-/3?4CYDR\4E*]0?4\<E(EACBO*DA+* UkX2*A-4BTAC>87 ;0AC;�X�=/4\0?-4A+*ACBF098,(E@GA AC>HY2-/*24\05(Z39;A4C@M(E@]4E*�YK-/0t-/3s*DAE0 @GA+7M;�=:(G05(g=4IJ35(g=4B�Uk@GA+*Dh2<PXD>>-B*,<,N �%AE098e�h4E350#>HIJ4E*�Y j 4e;L(;350#>9I(GFD@Q=<X23?-4RE(g=<Ib;�>9A RI-�Y,(Y0982( ;�>9A F_-/7e-:0kI *2(;-:<P8 7?AC>35(g=/(g@M0?-4A+*�-/*�4C=<=o098,(639II3505(;7e3-Y,(QRE(g=4AC;L(gY�3#A B^4e>;@4C=:098DAPX2<P8c0982(QIc0#A A D (;-:<P8 ;�>9AE<C>?(;3?3q-/*c098,(-<Y2(;*=0?-4hA(Q>X3#;g4C@M(J4\<+4E-B*2350q098,(_7L(;*,(Qh20?3R-/* =/4\05(;*�@GI�AC>;�8JII3>-<@G4C=?Y2-/350?4E*�@M(EN j 8,(;35(q3#I_3505(;73L@G4E* @U8DAJA+3?(q098,(7F(;3?0o*2(;-:<P8 7?AC>�4E3!;L(Q>�098,(;�>9A F_-/7e-:0kIe7(G0#>>-<@-4Bs098,(J(;*]0?-4>?(fv � =B4\05(;*�@GI�� ;�>9AgF,-/7-:06I 74\0#>>-4F*BTAC>q4C=<= 098,(fv�74C@H82-B*,(;3C-B3X4 Rz4E-�=/4e7�=:( aOAC>]7JI*XA3?-/*,<3#A+7K(C(�\ @G-:(;*]0i8,(gX�>>-/350?-<@G3s-B*K098,(C4e7g35(;*�@M(EACBO098A-/3t74\0#>>-4F�c8N ^ 0�-/3�XA*�@Q=:(;4e> D 8,(G098,(Q>�098A-/3t-/3�098,(27L(;3504e;�;�>HA+4C@H860#A AC;20?-/7-:9G(;�>HAgF,-/7-:06I AC>m-<Bd-:0L@G4E**7F(q(;4E3>-<=4IY4e;�;�=/-:(gYk0#A-AE0982(Q>m3#I_3505(;73GNj Ax098,( 7F(;3?0�ACBEAPXD>M:I*�A D =:(gY2<E(E@�3#:_-4;j<C>84e;�823J4e>?(k098,( h�>>350_Y24\0?4x350#>HX�@M09XD>?(k09824\0K74E-/*]0?4E-/*3#;A4\0?-B4C= =<A @G4C=/-/0kIEN j 82-/3b*24\09XD>>4C=<=<I (;*�824E*�@M(;3k0982(x-B7M;?A RE(Q>>-/3H8,(gY i X,(Q>9I =/4E*,<PX24\<E( ;�>HA R_-<Y,(gY 7JI

,:,

Page 132: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

8Rr j 3�7 I 39XD;�;0AC>>0?-/*,< @GA+7M;�=/(GF 35(;4e>H@H82(;3f3HX�@H8 4E3�>>4E*,<E( i X,(Q>8-:(;3}4E*�Y *,(;4e>J74\09@H82(;3J0#A`4*:E(QIEN� :_-4;7�C(G0e-/3Y4E*DAE098,(Q>k3#II3?05(;7 D 82-<@H8 ;A4e>?0?-/4C=<=<I 39X�;�;?AC>?0?3e3#;g4\0?-/4C=E=4AZ@G4C=/-:06IE@�09824\0 D 4E3 Y,(QRE(g=4AC;L(gY-/*�Y2(Q;F(;*�Y,(;*=09=<IM7JIkrC4e>HRE(QI &(' ,6: < � p , � N��X3�098,(�;�>>-/74e>9Ie<CA+4C= ACB� :I-<;7�m(G0�-/3o0#A ;�>9A R_-<Y,(];g4\09864E*�Y@GA+*]05(;*=0 =4A @G4C=B-:0kIE@A-/02YDA](;3m*DAE02@GA+*�@M(;*]0#>>4\05(�A+* BOX�=�=VU � (gY,<E(gYk3#;A4\0?-B4C= =4AZ@G4C=/-:0kIENPRQ�� ����� U 5OT���) �� V

��RE(;*J098�APX,<P8�;F(G(Q>lUH0#AGU ;F(G(Q>t39II3505(;7e3 D (Q>?(�-/*]0#>9AZY�X�@M(gY�A+*�=4I}4 B ( D IE(;4e>>3t4\<CA,@+098,(QIf4e>?(�*DA D A+*2(%ACB098,(y7MA+3?0L;0AC;�X�=/4e>%^ *]05(Q>>*,(G0Z4e;�;�=/-<@G4\0?-4A+*23n4E*�Y[824 RE(�7L(g@GA+7K(y4K74��#AC>Z3#APXD>H@M(]ACB ^ *]05(Q>>*,(G0�0#>84G\ @\N�t4e>>-4APXA3�Y,(;3?-:<+*A3]824gRE( 7F(G(;* ;�>9AC;?A+35(gYx0#A -/7M;�=:(;7K(;*]0R3HX�@H8 39II3505(;7e3]7�X,0y4 =<AE0y350?-<=<= >?(;74E-B*23R0#A7L(�YDA+*,(EN��)(.(;*�Yk0982-/3o098,(;3>-/3 D -:09814 =/-/350%ACB AC;F(;* ;�>9AC7�=:(;7e3n4E*�Y6*DAE05(y09824\0C-:0�7K(Q>?(g=4Ik7K(;4E*]0Z0#A7L(q-<=<=<X23?0#>>4\0?-4RE(E@,*DAE0�(GFD824CX2350?-4RE(EN��)(}4C=/3#A*DAE05(q098A4\0 D (]BOAZ@QX23LA+*6-/3>39X,(;3!Y2-4>?(g@M09=<I >?(g=/4\05(gY60#A098,(>?(;39X�=:0?3�-/*0982-/3 YA-/3?35(Q>?0?4\0?-<A+* � 0982-B3t-/3�*�AE0�-/*]05(;*�Y,(gYe0#A.-/7M;�=4If-B*4E* I D 4gIe09824\0 >?(g=B4\05(gYe0#AC;A-�@G3�39X�@U84E3m3?(g@QXD>>-:06IE@24E*DA+* I_7-:06IE@g4E*�Y >>(Q;�=/-<@G4K74E*A4\<E(;7K(;*=0C4e>?(}4E*JI =/(;3?3Z3?-:<+*A-4h�@G4E*]0GN� ������� � ��, ��+���� #�46,�������� ���",���+�� #��

^ *)098,(e3#;L(g@M0#>HXA7 ACB!@GA+*]05(;7M;?AC>>4e>9I ;L(G(Q>iUH0#AGU ;L(G(Q>.39II3505(;7e3G@08Rr j 3}4e>?(4\0�A+*,((;*�Y D 8,(Q>?(K098,(QI7-/*A-/7-:9G(J098,(k350?4\05(f>?( i XA-4>?(;7K(;*]0}4\0f(;4C@H8[*DAZY,(E@d4E*�Y 3#:_-4; <C>84e;�823}4e>>(Y4\0f098,( AE098,(Q>f(;*�Y D -:09839XD;�;0AC>>0�BTAC>o3#;A4\0?-B4C=�=4AZ@G4C=/-:06IEN�~o4E* D (Y,(;3?-:<+*Y4.3#I_3505(;7�09824\0%;�>9A RI-<Y2(;3�39XD;�;0AC>>0�BTAC>o3#;A4\0?-B4C=�=4AZ@G4C=VU-:06I 4E*�Y X2*2-4BOAC>>7 =4A+4CYV7A4C=/4E*�@G-/*2< D -:098�APX,0C(GFD@M(;3?3?-<RE(J3?0#AC>>4\<E(3#;A4C@M(K4\0R(;4C@H8)*DAZY,(��5�)(�APX209=/-/*,(3#A+7K(E;0A+3>3?-47�=:(!Y2-4>>(g@M0?-4A+*23s0#A}39AP=4RE(Z0982-/3�;�>9AC7�=:(;7 ACBO74E-B*=0?4E-/*A-/*,<=4A @G4C=B-:0kI�7�X,0 >?(gY�X�@G-/*,<q098,(C350?4\05(-/*DBOAC>>74\0?-<A+*14\0Z(;4C@H8c*DA Y2(EN

��!#" �!����� �%$'& ���(��� �e�)(+* *,( D 4gIk0#AM>?(gY�X�@M(q0982(y350?4\05(}-/3n0#A-7�XA-<=<Ye4K39:I-4;k<C>>4e;�8[7JIT. 1 : 0 ' ' 0�@�35 , @�3 &�.%ACB >?(;3#APX�>H@M(;3Z4E*�Y YA-/350#>>-47�X,0?-/*,<y0982(;7 0#Ae74C@U82-/*,(;3L;�8 I_3?-<@G4C=<=<I @Q=4A+35(q0#A-A+*2(y4E*DAE098,(Q>;N AC>(GF,4E7M;�=:(E@n-4BZ098,([>>4E*2<E(fACB :E(QI_3-/3 � 4�UH9 � @n098,(;* D ( @GAPX�=<Y�4E3?3?-:<+* � 4�UH( � 0#AbA+*,(174C@H82-B*,(E@ � B�U - � 0#A4E*DAE098,(Q>Z7e4C@H82-/*2(E@_4E*�Y13#A_A+*ON j 8,(]=/-/*�:I3�0#AK*,(;-:<P8J70AC>83n4\02=<A D (Q>2=:(QRE(g=/3�*,(G(gYk*DAE0L7L(R74E-/*]0?4E-/*,(gY4E3.098,(QI D -<=<= ;?A+-/*]0y0#A`098,(Y3>4E7K(Y74C@U82-/*,(b4E3}0982( A+*,( A+* D 8A-<@H8 098,( >?(;39APXD>H@M(Y-/0?35(g=4B�-/3}3?0#AC>?(gYON� 8,(;*k4�;g4e>?0?-<@QX�=/4e>o74C@U82-/*,(R<E(G0?3!A RE(Q>U=4A+4CY,(gY D -/098e0#A A74E*JI >?(;3#APX�>H@M(;3o-/*k-:0?3o4C=<=4AZ@G4\05(gY >84E*,<E(E@-:0�@G4E*Y3#;A-<=<=JA RE(Q>n(GFD@M(;3?3i=<A+4CYMA+*=0#Af-:0?3s*,(;-:<P8J7?AC>>3GN� ;�=/-/050?-/*,< >>4E*,<E(;3�A RE(Q>n7e4C@H82-/*2(;3s09824\0�4e>?(S@Q=4A+35(

,��-,

Page 133: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

0#AE<E(G098,(Q> D -/098*>?(;39;F(g@M0X0#Ak*,(G0 D AC>9:�=<A @G4C=/-/0kIE@?@G4E* >?(gY�X�@M(.098,(�A RE(Q>H8,(;4CY ACB�3H82-4B 0?-/*,<->?(;39APXD>H@M(;3 AC>098,(;-4>C4CY�YD>?(;3?3Z(;*=0?4E-<=/(gY[7JIb0982-/3m7K(G098DAZYO@24E*�Y @G4E* (QRE(;*�8,(g=<;6-/*17MAC>?(y(�\ @G-:(;*=0C*,(G0 D AC>9:�Uk=4A @G4C=B-:0kI>9APX,0?-B*,<,N]^ 0 D APX�=<Y�7L(f-/*]05(Q>?(;350?-B*,<Y0#A63?(G(J-<Bt0982-/3X-<Y,(;4 @GAPX�=<YV7L(�BOXD>>098,(Q> Y2(QRE(g=4AC;L(gYO@?;0AE05(;*]0?-/4C=<=<IX23?-B*,<K3#A+7K(�ACBd098,(y05(g@U82*2- i X,(;32X23?(gY1-/*[� UH0#>?(G(.*DAZY,(y3#;�=/-:0?3 � ,��� 0#Ae7e4E-/*=0?4E-B*[=4A+4CY[7A4C=/4E*�@M(EN

� ��!�� �M � & �������+�(���e�j��������� � �� � � ��� ( j 8,(Z(;4e>H=/-/(Q>n4e;�;�>9A+4C@H8b74E-/*]0?4E-/*23�098,(E7A4E3>-<@m3#:_-4;<C>84e;�8350#>HX�@M09XD>?(k4E*�Y 0#>8-:(;3f0#Ax7e-/*2-/7-/9G(3#;A4C@M([X23?4\<E(EN �X*DAE098,(Q>_;�>9A+39;F(g@M0?-<RE(Y4e;�;�>HA+4C@H8 D APX�=<Y`7F(Y0#A>?(G0?4E-/*e098,(m350#>UX�@M09XD>?(2ACBu4 8Xr j BTAC>%=4A+4CY-7A4C=B4E*�@G-/*,<,@=4E*�Y098,(;*Y4CY�Y-=4AZ@G4C=/-:06If0#A.0982-/3GN �)(R3?4 D A+*,(05(g@H8A*2- i X,(�X23?(gY*BOAC>X4E*A3 D (Q>8-/*,<Y4e;�;�>9AgF,-/74\05(�>>4E*,<E( i X,(Q>>-:(;3C-/*`~!8A4e;205(Q> � 7 I�XD;20?4 &�' ,G: < � K � � @D 82-�@H8 >?(Q;�=B4C@M(gY @GA+*23?-/3?05(;*=02824E3H82-/*,<,@_0kI ;A-<@G4C=�=4I X23?(gY6-/* 8Rr j 3G@ D -:098[=4AZ@G4C=/-:06I;U 3?(;*23?-:0?-4RE(]824E3H82-/*,<,Nj 82-B3C7K(G098�A YV@GA+7M;�>9A+7e-/35(;3 A+*V70AE098 =4A+4CYV7A4C=B4E*�@G-/*,<b4E3 D (g=<=d4E3R098,(K4e7A-<=B-:0kI10#A14E*23 D (Q> i X2(Q>>-:(;3& ? ,��(' : H N�^ 0 D APX�=�Y 7L(q-/*]05(Q>?(;350?-/*2<f0#A3?(G(}-4Bu098,(Q>>(y-/3o4M824E398 B X2*�@M0?-4A+*b09824\0E@GAPX�=<Yb<+-4RE(]7?AE098k<CAJAZY=4A+4CY[7g4C=/4E*�@G-/*,<K4E3 D (g=<=O4E3m<CAJAZY =4AZ@G4C=/-:06I ;�>9AC;L(Q>?0?-:(;3GN� ������� � 4�*�+7��� �+1� ����, $�2% �,32(+

8Rr j 3MA+*�=4I 39XD;�;?AC>?0f(GF_4C@M0Y74\09@H8,(;3e0#A 4 :E(QI[0#A\=4AZ@G4\05( >?(;3#APXD>U@M(;3GN �)(*Y2-/39@QXA3?35(gY[3#A+7K(1(GF�U05(;*23?-<A+*23Z39X�@U8c4E3m098,(�XA35(�ACB 7�=4A A+7 h�=/05(Q>>3Z4E*�Y�=4A @G4C=B-:0kI�U 35(;*23?-/0?-4RE(�824E3982-B*,<K0#AY-/7-;�>9A RE(.35(;4e>H@H82(;3-/*-8Xr j 3f-/* �_(g@M0?-4A+* � N � N , NxrSA D (QRE(Q>;@t098,(;35(k-/7M;�>9A RE(;7K(;*]0?3f4e>?( A+*�=<I 74e>?<+-/*24C=�4E*�Y *�AE0�RE(Q>9I(��L(g@M0?-4RE(�BOAC>E@GA+7M;�=/(GF i X,(Q>>-:(;3;N

� :_-4;k<C>>4e;�8A3L>?(Q;�>?(;3?(;*=0Z4E*6-B7M;?AC>?0?4E*=0Z3?05(Q; -/*1-/7M;�>9A R_-/*,<f098,(y35(;4e>H@U8*@G4e;A4e7g-<=/-:0?-:(;3%ACBs4_;L(G(Q>iU0#AGU ;L(G(Q>.3#I_3505(;71N ��-:098j39XD;�;?AC>?0 BOAC>.3#;A4\0?-B4C= =4A @G4C=B-:0kIE@d3#:I-<;)<C>>4e;�823�@G4E*j39XD;�;?AC>?0>>4E*2<E( i X2(Q>>-:(;3G@*,(;4e>J74\09@H82(;3}0#Ax4 :E(QIE@s4E*�Yj4e;�;�>9A F_-/7e4\05( i X,(Q>>-:(;3GN1rSA D (QRE(Q>;@t4 >8-<@H8 i X,(Q>HI =B4E*,<PX24\<E(Y3H8DAPX�=<Y4C=/3#A.4C=<=4A D BTAC>i@GA+7�7A-B*24\0?-4A+*23�4E*�Y-@GAC>9>?(g=B4\0?-4A+*23�7L(G0 D (G(;* Y24\0?4}-:05(;7e3GN AC>�(GF,4E7M;�=/(E@]-:0t-/3�;0A+3>3?-47�=:(0#A_hA*�Yb4C=<=g098,(;A4E-/*]0?-/*,<+3�7 IY��-<@G4E3?3#AJ-/*b4J3#:I-<;Y<C>>4e;�8O@J7�X,0n-/0 D APX�=<Yb*DAE0%7F( ;?A+3?3?-47�=:(Z0#A_hA*�YY098,(A+*,(;3�09824\0i824 RE( � A D (Q>83�-/*J098,(;7 4E3t09824\0n-/*DBOAC>>74\0?-4A+*K7e4gI*DAE0�7L(2@GA+*]0?4E-/*,(gYY-/*K098,(m*A4E7K(2ACBL098,(;A4E-/*]0?-/*,<,N�~o4E* D (X-/7-;�>9A RE(C098,( i X,(Q>HI-=/4E*,<PX24\<E(X0#AJ(;*24e7�=:(X4E*23 D (Q>>-/*,<f7MAC>?(S@GA+7-;�=:(GF i X,(Q>>-:(;3�-/*4M;L(G(Q>iUH0#AGU ;L(G(Q>m3#I_3505(;7 �

,�� ,

Page 134: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� ������� ��� 4/��+7$0� ��+���, ���

�)(Z<+4 RE(C4>?(Q;A4E-<>t7K(g@H824E*A-/3?7 BOAC>t3#:I-<;K<C>>4e;�823s-/* �I(g@M0?-<A+* K N � 09824\0t-/*J0982( D AC>>3?0�@G4E35(E@=0?4e:E(;3�0?-/7K(i X24CYD>>4\0?-<@f-/*c098,(K*JXA7�7L(Q> ACB�*DAZY,(;3 ACBt098,(K3#:_-4;`<C>>4e;�8ON j 8A-/3E=:(;4CYA3C0#A10982(�BOAP=<=4A D -/*,< i X,(;3?0?-4A+* �^ 3.-:0�;?A+3?3?-47�=/(K0#AVY,(QRE(g=<AC; 4c7MAC>?(b(�\ @G-:(;*]0�>?(Q;g4E-4>.7K(g@U824E*2-/3>7 BOAC>f4`3#:_-4; <C>>4e;�8 � � RE(;*[7MAC>?(-/*]05(Q>?(;350?-/*2< D APX�=<Y[7L(y4e35(g=<BaU 350?4e7g-<=/-:9;4\0?-4A+*17(g@H824E*2-B3?7 09824\0 @GAPX�=<Y60?4e:E(f4 Y2-B3#>HXD;205(gY139:I-4;1<C>84e;�8BO>9A+7 4E* I14e>97g-:0#>>4e>9Ie3?0?4e>?0?-/*,<-@GA+*DhA<PXD>>4\0?-4A+*14E*�Y >>(;350#AC>?(}-:0o(�\ @G-/(;*=09=4Ib0#Ae-:0?3LY2(QB (g@M09=:(;3>3Z350?4\05(EN �<CA A Y)350?4e>>0?-/*,<f;0A+-B*=0 D -<=<= 7L(.0#A X23?(.098,(K7K(Q>><E(3#AC>?0R05(g@H82*A- i X2(;3SBOAC>];A4e>>4C=�=:(g= ;?A+-/*]05(Q>R74C@H82-B*,(;3<+-4RE(;* 7 I � A AZYD>>-<@U8 &(' ,G: < � K p � N j 8,(R7K(G098DAZY23!Y,(;39@G>>-<7F(gYY098,(Q>?(;-B* @G4E*2*�AE02Y2-4>?(g@M09=4IM7L(X,0?-<=/-/9G(gY BOAC>APXD>S;�XD>9;?A+35(;3Z4E3m098,(QI[;�>?(;3HX27K(y098,(}(GF_-/3?05(;*�@M(�ACBt3#A+7(�@GA+77MA+*`350#AC>>4\<E(f09824\0 @G4E**7L(}4C@Q@M(;3?3?(gY7 I64C=<=u098,(�;�>9AZ@M(;3?35(;3G@ D 82-<@U8 -/3C4e7A35(;*]0X-B*1098,(.7(;3?3?4\<E(�U ;A4E3?3>-/*,<b(;* R_-4>9A+*27(;*=02ACBt4 ;L(G(Q>iUH0#AGU ;L(G(Q>3#I_3505(;71N � >?(g=/4\05(gY$-/*]05(Q>?(;350?-/*2< i X,(;350?-4A+*�-/3 � ~o4E* D ( Y,(;3?-/<+*�4 *,( D 3#II3?05(;7 D 82-<@H8 824E3b098,(7L(;*,(Qh20?3�ACB�8Xr j 3K4E*�Y[3#:_-4;[<C>>4e;�8A3G@�4E*�Y�39X�;�;?AC>?0?3 i X2-<@H:E(Q>4E*�Y � AC> @U8,(;4e;L(Q>M>?(g@GA RE(Q>8-:(;3MBO>9A+7B^4E-<=<XD>?(;3 �� ����� � � #�� # ��#(2%� 46,���� �'� ��+ $�� � �"� .0+ #7.%+7� ��, � $�+/��#(�����

* *,(SACBO098,( BOX2*�Y24E7K(;*]0?4C=�@H8A4C=<=:(;*,<E(;3n-/* ;F(G(Q>lUH0#AGU ;F(G(Q>o3#I_3505(;73�0#A YA4gIY-B3t0#A�7�X2-<=<YK4E*fA RE(Q>H=/4gIY*,(G0wUD AC>9:}09824\0t-B3d3?(;*23?-:0?-4RE(n0#Aq0#AC;?AP=4AE<CIJ4E*�Y � AC>�=/4\05(;*�@GIEN ^ *J4CY�Y2-:0?-4A+*f0#A;A4\098M=4AZ@G4C=/-:06IE@+0#AC;?AP=4AE<+-<@G4C=<=<I;U35(;*23>-:0?-4RE(_>9APX,0?-/*2< D APX�=<Y)4C=B3#A 7F(_7L(;*,(Qh�@G-B4C= 0#Ac35(Q>9RE(-@GA+*]05(;*=0�BT>9A+7 >>(Q;�=/-<@G4E3]=4AZ@G4\05(gY\@Q=4A+3?(;350y-/*;�8JII3>-<@G4C=]Y2-/350?4E*�@M(EN ^ * 4C=<=R098,( A RE(Q>H=/4 I *,(G0 D AC>9:_3G@q4�;A4\098+@GA+*23?-B350?3[ACBJ4�@M(Q>?0?4E-/* * X27�7F(Q>[ACB4e;�;�=B-<@G4\0?-4A+* Uk=:(QRE(g=H@I*DAE0L^ �9Uk=/(QRE(g= 8DAC;A3GN ^ *[@QXD>9>?(;*]0�3#II3?05(;73G@�=/-:0509=/(C(��?AC>?0Z-/3n0?4e:E(;*60#A3?(G(q09824\0�098,(4e;�;�=B-<@G4\0?-4A+* =:(QRE(g= 8DAC;A3o4e>?(�@GA+*2<C>HX,(;*]0�0#AK098,(]^ � Uk=:(QRE(g= 8DAC;A3;N��C3o(GFZ;�=/4E-/*2(gYY(;4e>U=/-:(Q>;@_�h4E350#>9I � � � @j 4e;F(;3?0#>9I � ,�� p � @n4E*�Y ~ �� � p � ;A4e>?0?-B4C=<=4I 39X�;�;?AC>?0J0#AC;0AP=<AE<+-<@G4C=<=4I�U 35(;*23?-/0?-4RE( >HAPX,0?-/*,<,N ^ * AE098,(Q>3#I_3505(;73G@u4 =4A AC:ZXD;�BO>9A+7 4k*DAZY,(J-/* ��4C=/(-@GAPX�=<Y�;0AE05(;*]0?-/4C=<=<I6<CA1098D>9APX,<P8x3#A+7(_YA-/350?4E*]0X*DAZY,(J-/*^ *�Y2-/4�7L(QBTAC>>(y-:0L>?(;4C@H82(;3Z098,(�Y2(;350?-/*24\0?-4A+*1*�A Y,(y-B*1rC4e>9R\4e>HYON

EAPX,0?-/*,<f39@H8,(;7(;3iBOAC>o7MAC7A-<=:(C*,(G0 D AC>9:_3�098A4\0�-/*�@GAC>H;0AC>84\05(m<E(QAE<C>>4e;�8A-<@SYA-/350?4E*�@M(;3%@G4E* 7L(X35(G(;*-/3y39II3505(;7e3�=/-<:E(K<C>>-<Y\=4AZ@G4\0?-4A+*j35(Q>9R_-<@M( � � �� 4E*�Y <C>?(G(gY�I ;F(Q>8-/7K(G05(Q>}350?4\05(g=/(;3?3�>HAPX,0?-/*,< � p � N1rX-<=VUYD>HXA7 &�'>,6: < � p ��� 4E*�Y��y4e>?<E(Q> &('>,G: < � p � � ;�>?(;3?(;*=0}39A+7K(e7K(G098DAZY23q0#Ac3#AP=4RE(098,(*2(;4e>?(;350}*,(;-/<P8 7?AC>;�>9AC7�=:(;7�-/* >?(;3?0#>>-<@M05(gY A RE(Q>H=/4 I *,(G0 D AC>9:_3GNZ~o4E*6098,(;3?(y05(g@H82*A- i X2(;327L(}39X2-/0?4e7�=4IY4e;�;�=/-:(gYk0#Ae-B*�@GAC>iU;?AC>>4\05(2B X�=<=VU � (gY,<E(gYK*,(G0 D AC>9:-=4AZ@G4C=/-:06If-B*_;F(G(Q>lUH0#AGU ;F(G(Q>n3#I_3505(;73 �[^ 3�-:0t39X]\ @G-/(;*=0t0#A�X235(2;�>HAgF,-/7-:06I

,�� �

Page 135: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

>9APX,0?-B*,<Y4E*�Y`*,(;4e>?(;3?0X*,(;-/<P8 7?AC>C3?(;4e>H@H8,(;3X0#A14C@H8A-:(QRE(J098,(�7L(;*,(Qh20?3SACB 3 : B )+,G:�>HAPX,0?-/*,<e3?(;*23?-:0?-4RE(.0#A*,(G0 D AC>9:[=4AZ@G4C=/-:06I/�

* *2(o4e;�;�>9A+4C@H8e-/3h0#Ay<E(;*,(Q>>4C=B-:9G(!APXD>t4e7A350#>>4C@M0�7MA Y2(g=ZACBg4)8Rr j 0#A}7�X�=:0?-4;�=:(%Y2-/7K(;*A3?-4A+*23GN * *,(ACB2098,(%Y2-/7K(;*A3?-4A+*23 @GAPX�=<Y�7L(%X235(gYy0#A>?(Q;�>?(;35(;*]0l098,(o4C@M09X24C=a@C;�8JI_3?-<@G4C= =<A @G4\0?-4A+*A3 ACB,098,(o74C@U82-/*,(;3d-/*098,(�3#I_3505(;71N ^ Y2(;4C=<=4IE@ D ( D APX�=<Y�=/-4:E(!=/4e>?<E( �9X27M;A3d-/*.098,(LY2-/7K(;*A3?-4A+*y098A4\0 >>(Q;�>?(;35(;*]0?3h098,(!:E(QII39;A4C@M(4E*�Y63>74C=<=:(Q>Z350#>8-<Y,(;3�-/*k098,(�YA-/7K(;*23?-<A+* BOAC>m*,(G0 D AC>H: YA-/350?4E*�@M(;3GN��X*DAE098,(Q>X4e;�;�>9A+4C@U8 D APX�=<Y 7L(q0#AX235( �o4e>?0?4C=�� 3-;�>9AC7g4e7A-<=/-/3?0?-<@e4e;�;�>9AgF,-/74\0?-4A+*[0#A 098,( A RE(Q>U=/4gI�7K(G0#>>-�@13#;A4C@M(*X23>-/*,< 82-:(Q>>4e>U@H82-<@G4C=�=4I35(Q;A4e>84\05(gY0#>?(G(;3 � ,:, � @]4E*�YMAC720?4E-/*Y4E*4e;�;�>9A F_-B74\05(m3#AP=<X20?-4A+*MBOAC> =4AZ@G4\0?-/*,<}*,(;4e>>(;350�*,(;-:<P8J7?AC>>3GN �)(@GAPX�=<Y ;?A+3?3>-47�=4Ie4C=B3#A-X235(y7�X�=:0?-VUkYA-/7K(;*23?-<A+*24C=g39:I-4;1<C>84e;�823o0#Ae4C@U82-:(QRE(}0982(}3?4E7K(];�X�>9;?A+35(EN� ����� � �-, $�� ����$�2 ' , ��� ��"+ �

* XD>�Y24\0?4`350#>HX�@M09XD>>(;3.4e>?(Y0#AP=:(Q>>4E*]0.0#A @G>>4E398`B^4E-<=<XD>?(;3 � >84E*�YDA+7 B 4E-<=�XD>?(;3]BOAC>.0982(b4e7A3?0#>>4C@M0 8Rr j7MAZY,(g=a@l4E*�Y 7?AE098\>>4E*�Y�A+7 4E3 D (g=<=s4E3f4CYDRE(Q>>3?4e>>-B4C= B 4E-�=<XD>?(;3 BOAC>.3#:_-4;)<C>>4e;�8A3GNYrSA D (QRE(Q>;@ D (b4e>?(IE(G0�0#AK3509X�YDIe098,(S;L(Q>9BOAC>>74E*�@M(SACB 098,(;35(q*,(G0 D AC>9:_3�-/*Y098,(;�>?(;35(;*�@M(ACB 7 II9;4E*=0?-/*2( B^4E-<=<X�>?(;3G@ D 8,(Q>?(*DAZY,(;3]@G4E*\7L(g824 RE(e4e>97A-/0#>>4e>>-<=4IEN AC>.(GF_4E7M;�=:(E@l4[7 I]9;4E*]0?-/*,(Y*DA Y2(_@G4E*j35(;*�Y Y2-��F(Q>?(;*]0y7K(;3?3>4\<E(;30#A*Y2-��F(Q>?(;*]0];�>9AZ@M(;3?35(;3}(QRE(;* -4Bn-:0y-/3y3HXD;�;?A+35(gY`0#Ac35(;*�Yx098,(e3?4E7K(Y7K(;3?3?4\<E(Y0#A 4C=<= ;�>9AZ@M(;3?35(;3;N-^6B098,(X7K(;3?3?4\<E(q-/3�-/7M;�>9AC;L(Q>H=<I�BOAC>>74\0505(gYO@_098,(;*Y098,(E>>(g@G-4;A-:(;*]0i@G4E*fY,(G05(g@M0o09824\0n098,(C35(;*�Y,(Q>n-B3�B^4CX�=:0kI7�X,0SY2-�\ @QX�=/0?-:(;3�4e>>-/35( D 8,(;*10982(.7K(;3?3>4\<E(f-/3E;�=/4CX23>-47�=:(R0#Ae0982(�>?(g@G-4;g-:(;*=0E7�X,0m-/*�@GAC>9>?(g@M0GN � B^4CX�=:0kI;�>9AZ@M(;3?3L@G4E*14C=/39AJ7e-/7-<@m098,(]7L(g824gR_-4AC>!ACB 4_@G>>4E3982(gY ;�>9AZ@M(;3?3!7JIb35(;*�Y2-B*,<.*DAK7K(;3>3?4\<E(;3L7L(QICA+*�Y14@M(Q>?0?4E-/*V;?A+-/*]0GN j IJ;A-�@G4C=l05(g@U82*2- i X,(;3SBTAC>Y,(;4C=/-/*2< D -:098c39X�@U8*B^4E-<=<XD>>(;3 D APX�=<Y -B*�@Q=<X�Y,(�>?(gY�X2*�YA4E*�@GI4E*�Y @G>HIJ;20#AE<C>84e;�82-<@q3?-/<+*2-/*,<f0#A Y,(G05(g@M0X4E*�Y[>?(Q;A4E-<>L7�>9AC:E(;*6*DAZY,(;3 � � � � N

� >?(g@M(;*]0Z39XD>9RE(QIf7JI (;-:<E(;*J7A4CX27 &(' ,G: < � � K � 398DA D 3�09824\0�098,(Q>>(y-/3o-/*=05(Q>>(;350Z-/* Y,(;3?-:<+*A-/*,<J7MAC>?(>?(;4C=/-B350?-<@fB 4E-�=<XD>?(k7MAZY,(g=/3_BOAC>-;L(G(Q>iUH0#AGU ;L(G(Q>Y3#I_3505(;73 D 8,(Q>?(1098,(6*DAZY,(;3-@GAPX�=<Y�@GAP=<=<X�Y2( D -:098NA+*,(4E*DAE098,(Q>R4E*�Y�Y,(QRI-B4\05(�BO>9A+7�098,(.(;350?4e7�=/-B398,(gY[;�>HAE0#A @GAP= BTAC>C098,(;-4>SA D *`35(g=4hA3H86-/*]05(Q>?(;350?3GN j 8,(.-<Y,(;4-/3.0#A 7�X2-<=�Y\@GA+7M;�X,0?4\0?-<A+*24C=<=4I�U B (;4E3>-47�=:(b3#II3?05(;73f09824\0K4C=<=4A D *DAZY,(;3f0#A 7L(g824gRE( 5 ,6' 0 B6@ ,G:J: H @ D 82-<=:(7L(g824gR_-/*,<@GAP=<=:(g@M0?-<RE(g=4Iy0#Ay74�F,-/7-:9G(�098,(L@GA+77MA+* D (g=4B^4e>?(!ACBA098,(�3#I_3505(;7 4E3h4 D 8DAP=:(EN j 82-/3d7MAZY,(g=824E3 7L(G(;*.3?09X�Y2-:(gY�BTAC> AE098,(Q> ;�>HAC7�=:(;73 -/*}0982(ih2(g=�Y�ACB7� =:<CAC>>-/09827-<@��6(g@U824E*2-/3?7 8X(;3?-:<+* � � � � D 82-�@H8BOA @QX23?(;3 A+*M@GA+7�7A-B*2-/*,<R4E3#;L(g@M0?3 ACB�@GA+7-;�X,0?4\0?-4A+*24C=ZB (;4E3?-47g-<=/-:06Iy4E*�YJ<+4E7K(�098,(QAC>9If39X�@U8K4E3t-/*�@M(;*]0?-4RE(@GA+7M;A4\0?-<7A-<=/-:06IEN��*AC>?( >?(g@M(;*]09=4IE@n098,(Q>?( 824E3_7L(G(;*�-/*]05(Q>?(;350-B3MX23?-/*,<`0982-/3K7-A Y,(g=%BOAC> Y2-/3?0#>>-47�X,05(gY3#I_3505(;73Z-B*k098,(}4e>?(;4MACB�8R-/350#>8-47�X,05(gY�� =:<CAC>>-:09827e-<@��6(g@U824E*2-/3?7 8C(;3>-:<+*ba 8 ��� 8�c � � � @ � K � N

,�� �

Page 136: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

* *2(R3HX�@H864e>U@H82-:05(g@M09X�>?(]BTAC>EB 4E-4>�398A4e>>-/*,<_ACBh350#AC>>4\<E(�>?(;39APXD>H@M(;3�a^4C=<=<A D -/*2<f4*�A Y,(R0#A-@GA+*23HX27K(A+*�=4If4E3�7�X�@H8e350#AC>>4\<E(C4E3�-:0 ;�>9A RI-<Y2(;3Uc8@ D 82-�@H8K-/3 >9AC7�X2350t4\<+4E-/*23?0�@GAP=<=<X23?-<A+*23 ACBF*DAZY,(;3t-B3 ;�>?(;35(;*]05(gY7 I9�m<+4E* &�' ,6: < � � � � N �*A � A"�X4\0?-4A+* � � , � @ D 82-�@H8-;�>9A R_-<Y,(;3n4�YA-/350#>>-47�X,05(gY �S^ 8 *,(G0 D AC>9:F@,4C=/3#Af0#>>-:(;30#A}(;*A39XD>?(2B^4E-4>n39824e>>-/*2<]ACB >?(;3#APXD>H@M(;3i7 IJ-B*=0#>9AZY�X�@G-B*,<q4E*Y-/*]05(Q>>7K(gYA-/4\05(2BOAC>>7 ACB @QXD>H>?(;*�@GI_7L(G0 D (G(;*;L(G(Q>>3.09824\0K-/3�@G4C=�=:(gY � 7-A � A��_Nj~%A AC;L(Q>T&�'O,G: < � � � @ � �� <+-4RE(k05(g@H8A*2- i X,(;3G@t39X�@U8j4E3MY2(G(gYj0#>84CY2-/*,<,@4CYDRE(Q>?0?-B3?-/*,<,@,4E*�Y 7A-�Y�Y2-/*,<�BTAC>m0#>>4CY2-/*,<J350#AC>>4\<E(f3#;A4C@M(]7L(G0 D (G(;*10 D Ae*�A Y,(;3�-B*k098,(y3#I_3505(;71N�� =/-/350ACBo-/*=05(Q>>(;350?-/*,<[AC;L(;* i X,(;350?-4A+*A3>?(g=/4\05(gY)0#A ;L(G(Q>iUH0#AGU ;L(G(Q>f3#II3?05(;73 D -:098)3?(g=4hA398V;A4e>?0?-�@G-4;A4E*]0?3�@G4E*7L(]BTAPXA*�Y1-/* � ,�, � � N

� ������� �-+ ��+ � ��2%$��

8X(G0?4E-<=:(gY67(;4E39XD>?(;7K(;*]0Z4E*24C=4I_3?-/3 � ,�, K @ ,�, � @ � , � 824E327F(G(;*[Y�A+*,(]A+*[;L(G(Q>iUH0#AGU ;L(G(Q>Z0#>>4G\ @q-B*[@GA+7 U7K(Q>H@G-B4C=l3#I_3505(;73C39X�@H8`4E3 �C4e;A3?05(Q> � � p � @ �R* X,05(g=<=/4 � K �� @g4E*�Y �y4��L4�� � � ,�� N j 8,(;35(}3?09X�Y2-:(;3L>>(QRE(;4C=09824\0Y098,(�8DA+3?0?309824\0 ;A4e>?0?-<@G-4;g4\05( -/* 0982(;35(c*,(G0 D AC>H:I3b4e>?(�8A-:<P8�=4I 8,(G05(Q>9AE<E(;*,(QAPX23 D -/098�>?(;3#;L(g@M00#A*B^4C@M0#AC>>3.39X�@H8j4E3�=/4\05(;*�@G-:(;3G@ =B-4B (G0?-B7K(;3q4E*�Y 3H824e>?(gY\Y24\0?4_N XD>>098,(Q>;@l0982(-;L(G(Q>>3y4e>?(e*�AE0}4C= D 4gI_3D -<=�=/-/*,<K0#A[@GA AC;F(Q>84\05(E@l4E*�Y YDA1*DAE0 7F(g8A4gRE(K( i X24C=<=4I6-/*V@GA+*]0#>>-47�X,0?-B*,<Y4E*�Y @GA+*23HX27-/*,<f>?(;3#APX�>H@M(;3GN~%A+*]05(;7M;?AC>>4e>9I�Y2(;3?-:<+*23 YDAq*DAE0h0?4e:E(�0982-/3 8,(G05(Q>9AE<E(;*,(;-/0kIJ-/*=0#Aq4C@Q@GAPX2*]0t4E*�YJ4\0505(;7M;20h0#A]Y2-/3?0#>>-47�X,05(098,(f=4A+4CY\ACBZ74E-B*=0?4E-/*A-/*,<1098,(k*,(G0 D AC>9: 4E3�X2*2-4BOAC>>7-=<Ic4E3�;0A+3>3?-47�=:(4E7-A+*,<c4C=<=�098,( ;g4e>?0?-<@G-4;A4E*]0?3GN^ 0 D APX�=<Y*7F(f-/*]05(Q>?(;350?-/*,<Y0#A135(G(f-<Bt*,( D Y2(;3?-:<+*23S@G4E*�7L(�Y,(QRE(g=4AC;L(gY 098A4\0C0?4e:E(4CYDR\4E*]0?4\<E(�ACB�0982-/38,(G05(Q>9AE<E(;*2(;-:0kI10#A-7�X2-<=:0o47MAC>?(q(�\ @G-:(;*=0E;F(G(Q>lUH0#AGU ;F(G(Q>X3#I_3505(;71N

�d(G(Q>iUH0#AGU ;L(G(Q>C39II3505(;7e32824gRE(�@GA+7(}4M=4A+*,< D 4gIk-/*k4K398DAC>?0�3#;A4E* ACBd0?-/7K(q3?-B*�@M(R098,(q(;4e>H=4IfY24gI_3ACB(�X4e;A3505(Q>;N �I(QRE(Q>84C=2(g=:(G<+4E*]0n4e;�;�>9A+4C@H82(;3i824 RE(S7L(G(;* ;�>9AC;?A+35(gYe4E*�Ye-/7M;�=:(;7K(;*]05(gYMBTAC>�098,(SY2(;3?-:<+*ACBm39X�@H8 3#II3?05(;73G@s(;4C@H8 ACB D 82-<@H8`824gRE(k098,(;-<>�A D *b7L(;*,(QhA0?3.4E*�Y =/-/7e-:0?4\0?-4A+*23GN �)( 7L(g=/-:(QRE(e09824\0-:0 D APX�=<Y 7L(K-/*2350#>UX�@M0?-4A+*24C=d0#A*@GA+7�7A-/*,(J098,(Y-/*23?-:<P8]0?3 ACB�0982(;35( Y2-V�L(Q>?(;*]0y4e;�;�>9A+4C@U8,(;3q0#A*Y2(QRE(g=4AC;7MAC>?(.3#AC;�82-/3?0?-<@G4\05(gY13#I_3505(;73Z-/*k0982(�BOX209XD>?(EN

,�� K

Page 137: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� �n% �������&# � � ���

� , � ^ � � , � , U , N �I(g@QX�>?(jrX4E398 �I0?4E*�Y24e>UYON ^ *�� <��<� & 1 , 5 ' �I& @ ' B����9B ���I& 5 �p&������ ��� D�-,6' 0 BG@ ,G: � & � 7;@!0 �t,G:�� @���BG5 � ,6' 0 B6@ � & 5��j0 �t&G@ � ;�>>-/*,<Ch2(g=�YO@ � �.@ �*�6�.@ �E;�>>-<= , � pIN!#"$"&%('�)$)+*,*$*.-0/1"#23-546/�78".-:9�;=<#)=>#/8%67?%=@$AB7+)&>C/8%BDFE,G�HCDI-J!�"1K N

� � � �,4E7K(G(Q>9� �?74E*2-H@�8 D 4E-/*,( �mNt~L=/4e>9:E(E@�~!8 X24E*,<GU r X,( � AP8u@�4E*�Y �I05(QRE(;* m-�@H8274E*uNj~%A+* U~L8DAC>HY � ~%A AC;L(Q>>4\0?-4RE( �68 � ^K~n(Q>?0?-4h�@G4\05( �_0#AC>>4\<E( 4E*�Y5�X4E7K( m(;3#AP=<X,0?-4A+*uN`^ *��d(G05(Q> 8 >iUXA39@H8,(g=H@ >>4E*23 �y4E4E398DAI(Q:F@+4E*�Y �C*]0#A+* I 2A D 350#>9A+*O@E(gY2-/0#AC>>3G@=L 5iB �t&t& CG0J@�3 . B�� ' 7 & = 0J5 .�'M� @ 'K& 5ON@ ,6' 0 B6@ ,G:QP BG5OR . 7 Bt1 BG@ LY&t& 5�N ' B1N LY&t& 5 � H .�'K&S� .UTV�WL � L � "z@�RCAP=<X27( � K �� ACBYX�& �j' Z 5 &[� B 'K&�.0J@\�9B � 1 Z]'K& 5 � � 0 & @ �p&M@D;A4\<E(;3 , K ,O] , p K @l~o4E7�7�>>-<Y,<E(E@ ���}@M�*�6�.@ �c4e>H@H8 �-, ,�� N

� � � �S:\4E74E-aN !#","=%('�)$)1*$*$*.-W^1_`^8KM^#/a-0b&;8K N� K ��c 4E7K(;3 �C3#;g*,(;3G@ �0A$d( 8R-/4E7e4CY2-a@�4E*�Y �q4CXD>>- �D824C8ON 4CX�=:0wUH0#AP=:(Q>84E*=0 2APX,0?-B*,< -/*�� (G(Q>lUH0#AGU;L(G(Q> � II3?05(;73GN!^ *eL 5iB �t&t& CG0J@�3 . B�� ' 7 & � 8 & @ ' H1N = 0J5 .�'3f �hg � H � 1 B . 0 Z�� BG@ L 5p0J@ � 021 : &p. B�� 0 .p' 5p0 )iZ]'K& Cj�9B � 1 Z]' 0�@�3 T Llk � " @�;A4\<E(;3 � � �?]�� � � @ �*A+*=05(Q>?(QIE@,~ �.@1� �6�.@ c X�=4I �-, ,�� N �ZXD7]U7e-:0505(gYk0#A 0 .�' 5t0 )SZ]'K& Cm�9B � 1 Z]' 0J@�3 N7�SR\4E-<=/4e7�=:(R4\0 !#","=%n'W)$),^&o$p`/1<q-�;&o�9#),^1A67&)#b$7&)=G,r,G�s,G,s$s N

� p ��c 4E7K(;3��X3#;A*,(;3s4E*�Y �R4CXD>>-��Z8A4C8ON � :_-4; � >>4e;�823;ND^ *UL 5wB �p&+& CG0�@�3 . BW� ' 7 & = B Z 5 'K&+& @ ' 7 f @@ Z,G:f �hgeN � �Wf g � H � 1 B . 0 Z�� BG@ 0 . � 5 &�'K&lf�: 3;BG5p0 ' 7 � .tT � k f!"z@D;A4\<E(;3 � ��K ] �� � @6uo4C=:0?-B7MAC>?(E@��8f@v� �6�}@ c 4E*JXA4e>9I �-, , � N �ZX�7A7-:0505(gY�0#A 4�3#;L(g@G-/4C=q-/3>39X,(VACBtw B Z 5t@ ,G: B�� f�: 3;BG5p0 ' 7 �-.Y2(gY2-<@G4\05(gY10#Ab35(g=:(g@M02;A4e;L(Q>>3!ACB� * 8 � �-, , � N

� � � rX4\<+-:0��o050?-<I+4}4E*�Y c (;*2*2-4B (Q>��)(g=<@U8ON 0 .p' 5p0 )iZ]'K& Cx�9B � 1 Z]' 0J@�3=y = Z @�C ,+� & @ 'Q,G:�.+D � 0 �zZ�:�,6' 0 BG@ ., @�C f C+� , @ �p& C � Bt1�0 ��. N �*@ �>>4 D U rX-<=<=l� XD7�=B-/3982-/*2<J~%A+7M;g4E* IE@g~o4E7�7�>>-�Y,<E(E@C� �@ , � � N

� � � � X�Y2-<A �R4C=/4�FZIEN !�"$"=%n'W),)+*$*,*n-�^1@C{C/&;=9#^$2,^=|=}.-Wb&;FK N� � � ��A+*A4\0?4E* �SX27e4E*2*}4E*�Y �c-<@H824\(g= �.NFun(;*�Y,(Q> N 4CX�=/0 j AP=:(Q>>4E*]0 8R4\0?4 �I0#>HX�@M09X�>?(;3GN ^ *�L 5wB �t&+& C1N0J@�3 . B�� ' 7 & � 7;0J5 ' H1N � & � & @ ' 7 f @@ Z,G: � H � 1 B . 0 Z�� B6@ = B Z @�C ,6' 0 BG@ . B��~�9B � 1 Z]'K& 5 � � 0 & @ �p&T = k � � "z@�;A4\<E(;3Xp � ,8] p � @6u!XD>U=/-/*,<E0#A+*O@ � j @C� �6�}@ * @M0#AC7F(Q> , � � N

� � uo4e>HX�@H8�� D (Q>97�X�@H8x4E*�Y)~!8D>>-/3?0?-/4E* �Z@U8,(;-<Y,(g=:(Q> NC�d(G(Q>iUH0#AGU ;L(G(Q> � I_3505(;73 BTAC>R��>>(QhDF,�I(;4e>H@U8ON^ *�L 5wB �t&+& CG0J@�3 . B�� ' 7 & � 8 & @ ' H1N � & � BG@�C f �hg � H � 1 B . 0 Z$� BG@ L 5t0J@ � 0d1 : &p. B�� 0 .�' 5t0 )SZ]'K& C�9B � 1 Z ' 0J@�3 T Llk � " @Cu%A+350#A+*u@ � �.@�� �6�.@ c X�=<I �-, , � N j A �S;�;L(;4e>;N

� ,�,� rX4e>>-Yuo4C=/4e: >>-/3H82*24E*O@ �Z@GAE050 �Z8,(;*D:E(Q>;@ 4E*�Y �c-<@H824\(g=�� 4C=4hA398ON �_(;74E*=0?-�@pU >?(G( m(QB (Q>?(;*�@G-/*,<-B*j� -/*D:E(gY�8R-/350#>>-<7�X,05(gY � II3?05(;73GN ^ *~L 5iB �p&+& C60�@�3 . B�� ' 7 & � & � BG@�C � @ 'K& 5t@ , ' 0 BG@ ,G:�P B650R . 7�Bt1B6@ L>&+& 5ON ' B1N LY&+& 5 � H .p'K&i� .UTV�WL � L �+� @�u�(Q>H:E(g=:(QIE@F~ �.@`� �6�}@ (Q7�>HX24e>9I �-, , � N

� ,:, � ��4E-<>�uo4e>?0?4C=aNJ��>9AC7A4e7g-<=/-/350?-�@)�E;�;�>9AgF,-/74\0?-<A+*�ACB � (G0#>>-<@ � ;A4C@M(;3q4E*�Y)-:0?3 �S=/<CAC>>-:09827-�@ �S;]U;�=/-<@G4\0?-4A+*23;NS^ *�L 5iB �t&t& CG0J@�3 . BW� ' 7 & � 7;0J5 ' H1N � & � & @ ' 7 f @@ Z],6: � H � 1 B . 0 Z�� BG@ = B Z @�C ,6' 0 BG@ .BW�t�9B � 1 Z]'K& 5 � � 0 & @ �p&tT = k � �&� @�;A4\<E(;3 , ��K ] , � @Bu%X�>H=/-/*,<E0#A+*u@�� j @C� �6�.@ * @M0#AC7L(Q> , � � N

,�� p

Page 138: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� ,�� � �c4gI+4E*�:juo4 D 4_@� 2AC7L(Q>?0#A c N,uo4gI+4e>HY�A c >;N:@ � >>-<Y�824e> C4��54\<CAC;A4C=B4E*O@,4E*�Y �iX,<E(;*,( c N �Z8,(Q:_-:0?4_N�c4e:E()-:0 >?(;398O@ �c4e:E()-:0��]X2-<@9:XU �I(;4e>H@U82-/*,< 4-�C(G0 D AC>9: ACB}�d(Q>>3#A+*24C=�)(Q7A35(Q>9RE(Q>83GN ^ *L 5wB �t&+& CG0J@�3 . B�� ' 7 & � 8 &�: � ' 7 � @ 'K& 5t@ ,6' 0 B6@ ,G:3P B65 : C P 0 C &P &j) �9BG@�� & 5 & @ �p& T?P\P\P � @ ;g4\<E(;3,��� ?] , K , @Bu!X�Y24e;L(;350G@2r X2*,<+4e>HIE@ � 4 I �-, , � N j A �S;�;L(;4e>;N

� ,�� � SX�YDAP=4Bnuo4gIE(Q>Y4E*�Y �iY D 4e>HY�� N �*@ ~%>>(;-:<P8=0GN * >?<+4E*A-:9;4\0?-4A+* 4E*�Y � 4E-/*]05(;*24E*�@M(fACBv� 4e>?<E(* >HY,(Q>?(gY ^ *�Y2-<@M(;3;N f �j'Q,z� @?��BG5 � ,6' 0 �+,\@ , a � c � , � �?] , � @ , � � N

� , K � u%AC7�7 I u!824\050?4C@H824e> � (G(E@}�d(G05( �q(g=:(g8,(Q>;@R4E*�Y u!X �#AC> �_-<=B4\<P82-aN j 8,( 8X(;3?-:<+*+ACB j (Q>H>>4�8R-4>;Nj (g@H8A*2-<@G4C= Z(Q;?AC>?0}~)��U j RU K �� � @ �X*2-4RE(Q>83?-:0kI*ACB��c4e>9I =B4E*�YO@l~%AP=<=:(G<E(K�h4e>9:F@d~%AP=<=/(G<E(f�h4e>9:F@��8f@�� �6�.@ * @M0#AC7L(Q> �-, , , N

� , p � u!XD>>0#A+*�r.N.u%=<AJA+71N � ;g4C@M( � j -/7K( j >>4CY2(QAG�L31-/*�rC4E3H8 ~!A Y2-B*,< D -/098 � =<=4A D 4e7�=:( ��>H>9AC>>3GN�9B ���zZ @0 �+,6' 0 BG@ . B�� ' 7 &lf �hg @ ,�� a � c � K � �?] K � � @ c X�=4I , � , N

� , � � �$-<=<=B-/4E7 c N u%AP=4A+39:JIE@ c AP82*� yN%8 APX�@M(gXD> @ 8R4gR_-<Y �i=4IE@ 4E*�Y �c4e>9RI-B* j 8,(;-/7(Q>;N (;4E3?-47g-<=/-:06IACBd4 �I(Q>9RE(Q>H=/(;3?3 8X-B350#>>-47�X205(gY -<=:( � I_3505(;7 8X(Q;�=4A IE(gY[A+*14E* � F,-/350?-/*2< �I(G0!ACB08X(;3#:I0#AC; �o~o3GN^ *xL 5iB �t&t& CG0J@�3 . B�� ' 7 &�f �hg � ��� g�� ��� � � � � @ 'K& 5p@ ,6' 0 BG@ ,G: �9BG@?� & 5 & @ �t& BG@jg &l,�.�Z 5 &S�I& @ ', @�C g B(C &�: 0J@�3 B��U�9B � 1 Z]'K& 5 � H .p'K&S� . @D;A4\<E(;3 � K ] K � @ �_4E*]0?4e~!=/4e>84_@2~ �}@#� �6�}@ c X2*,( �-, , , N

� , � �zc AP82* u%IE(Q>>3;@ c (��0>?(QI ~%A+*A3?-<Y2-/*2(E@l4E*�Y �c-<@H8A4\(g= �c-:059G(;*274C@U8,(Q>;N �_-/7M;�=:( � A+4CY uo4C=/4E*�@G-/*,<BOAC> 8X-B350#>>-47�X205(gYKrC4E398 j 4e7�=:(;3GN?^ *tL 5iB �t&t& CG0J@�3 . BW� ' 7 & � & � B6@�C � @ 'K& 5t@ ,6' 0 B6@ ,G:nP BG5OR . 7�Bt1 B6@L>&+& 5ON ' B1N LY&+& 5 � H .p'K&i� .UTV�WL � L �+� @Cun(Q>9:E(g=/(QIE@L~ �.@`� �6�}@ (Q7�>HX24e>9I �-, , � N� , � � �c-:<PX,(g=_~o4E350#>9A,@E�d(G05(Q>�8 >HX239@U8,(g=a@ �C*2*2(�U � 4e>>-/( �q(Q>>74e>H>?(g@\@��C*2-B7K(;398)�X4E*�Y2-a@ �X*=0#A+*JI 2A D U3?0#>9A+*O@g4E*�Y �o09X�= �_-/*,<P8ON � ;�=/-:0 �_0#>?(;4E7 � rX-:<P8 U 7A4E*�Y D -<Y,098 @GA+*]05(;*=0Y2-/3?0#>>-47�X,0?-<A+*b-B*64-@GA AC;]U(Q>84\0?-4RE(J(;* R_-4>9A+*27(;*=0GN^ *eL 5wB �p&+& CG0�@�3 . B�� ' 7 & � & � BG@�C � @ 'K& 5p@ ,6' 0 BG@ ,G:�P BG50R . 7�Bp1�BG@ LY&+& 5ON

' B+N L>&+& 5 � H .p'K&S� .tT �WL � L �+� @Cun(Q>9:E(g=:(QIE@O~ �.@C�*�6�.@ (Q7�>HX24e>9I �-, , � N� , � �c-:<PX,(g=x~o4E350#>9A,@x�d(G05(Q> 8 >HXA39@H8,(g=H@ �X*2*,(�U �c4e>>-:( �y(Q>>74e>9>?(g@\@x4E*�Y �X*]0#A+* I EA D 350#>HA+*ON

�A~ 2^�u � � � =B4e>?<E(�U 39@G4C=:(64E*�Y�Y2(g@M(;*=0#>>4C=B-:9G(gY�4e;�;�=/-�@G4\0?-4A+* Uk=:(QRE(g=o7�X�=:0?-<@G4E350K-/*�BT>>4E3?0#>HX�@M09XD>?(EN� ���� w B Z 5p@ ,G: BG@ � &�: & �('K& C f 5 &+,�. 0�@ �9B �z�zZ @0 �t,6' 0 BG@ . T w � f � � T � 1 & � 0 ,6: 0 .t.OZ!& BG@ �-&(' N8 B650R � Z 1;1 BG5 ' ��BG5Qg Z : ' 0 �+,G.p' �9B �z��Z @0 �+, ' 0 BG@ . � @ �-, a � c � , K�� ?] , K � @ * @M0#AC7F(Q> �-, ,�� N

� �-,� �c-:<PX,(g=l~�4E350#>9A,@ �c-<@H8A4\(g=BuCN c A+*,(;3G@/�X*2*,(�U �c4e>>-:( �q(Q>874e>9>?(g@\@1�X*=0#A+*JI 2A D 350#>9A+*O@ �c4e>9R_-/*j 8,(;-/7K(Q>;@ErC(g=:(;* � 4E*,<,@=4E*�Y � =:(g@!� AP=/74E*uN1�C* ��R\4C=<X24\0?-<A+*�ACB��Z@G4C=/4e7�=/(!�S;�;�=/-�@G4\0?-4A+* Uk=:(QRE(g=��X�=:0?-�@G4E350 u%XA-<=:0z�C3?-B*,<)� (G(Q>lUH0#AGU ;F(G(Q> * RE(Q>H=/4 II3GN ^ * L 5wB �t&+& CG0J@�3 . B�� ' 7 & � 8 & @ ' HFN � & � BG@�Cf @@ Z,G:Bw BG0�@ ' �9BG@�� & 5 & @ �p& B�� ' 7 &Q� ���� �9B � 1 Z]'K& 5 , @�Cm�9B �z�zZ @!0 �t,6' 0 B6@ . � B � 0 &(' 0 &�.TV�W� N= k � k g � @ �_4E* >>4E*�@G-/39@GA,@F~ �.@C� �6�}@ � 4e>H@U8 �-, , � N

� � , � ^ 4E* ~!=/4e>9:E(E@ * 3#:\4e> �_4E*�YD7L(Q>?<,@ ui>84E*�YDA+* ��-<=/(QIE@f4E*�Y j 82(QA YDAC>>(� NRrSA+*,<,N >?(G(;*2(G0 �� 8X-B350#>>-47�X205(gY �X*DA+* I_7MAPX23f^ *DBOAC>>74\0?-4A+* �I0#AC>>4\<E( 4E*�Y Z(G0#>>-/(QRz4C= � I_3505(;71N ^ *�rC4E*A*,(;3 (gY,(Q>9>>4\098O@�(gY2-:0#AC>;@ &p. 0V3 @0J@�3 L 5p0V� ,�� H�R@]7 , @ � 0J@�3 � & � 7;@�B : Bl3 0 &�. y � @ 'K& 5t@ ,6' 0 B6@ ,G:P BG5OR8N. 7�Bt1 BG@ &p. 0�36@ �+.t.OZ!&p. 0J@ f @�B6@H � 0 ' H , @�C � @�B )�.�& 5�� ,�) 0 : 0 ' H @[RCAP=<X27K( �-, ," ACBmXe& � N' Z 5 & � B 'K&�. 0J@��9B � 1 Z]'K& 5 � � 0 & @ �p&M@ ;A4\<E(;3 K � ] � � @mun(Q>9:E(g=/(QIE@)~ �.@� �6�}@ c X�=4I �-, , , N!#"$"&%('�)$)+*,*$*.-�>,o�� �14��="q-O71;+@#o`b��&>�;&o�9�� -J4��&" N

� � � � u%>>-B4E* NF~%A AC;L(Q>m4E*�Y rC(g@M0#AC> �R4e>H@G-/4�U �*AP=/-/*24_N.uo-<Y�Y2-B*,<�BOAC>*�_0#AC>>4\<E( � ;g4C@M(.-/*14Y� (G(Q>lUH0#AGU;L(G(Q> 8X4\0?4`��>>(;35(Q>9R\4\0?-4A+* � I_3505(;71Nf^ *�L 5iB �t&t& CG0J@�3 . B�� ' 7 & � 8 & @ ' H1N � & � BG@�C � @ 'K& 5t@ ,6' 0 B6@ ,G:�9B6@�� & 5 & @ �t& BG@ 0 .p' 5p0 )iZ]'K& C�9B � 1 Z]' 0J@�3 � H .p'K&S� .lTV� � � �+� @ ;A4\<E(;3 � � �?] � � , @ �R-:(;*2*24_@ � X23wU0#>8-/4_@ c X�=4I �-, ,�� N

,�� �

Page 139: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� � � � u%>>-B4E* N_~%A AC;L(Q>�4E*�YYrm(g@M0#AC> �R4e>U@G-/4�U � AP=B-/*24_NO�d(G(Q>iUH0#AGU �d(G(Q> Z(;3#APXD>U@M( j >>4CY2-/*,<.-/*4 m(g=/-VU4e7�=:( 8X-B350#>>-47�X205(gY �ZII3505(;76N ^ *1�d(G05(Q> 8 >HX239@U8,(g=a@ >>4E*A3 �y4E4E398DAI(Q:F@24E*�Y �C*]0#A+*JI EA D 350#>HA+*O@(gYA-:0#AC>>3G@lL 5iB �t&t& CG0J@�3 . BW� ' 7 & = 0�5 .p'�� @ 'K& 5p@ ,6' 0 BG@ ,G:~P BG50R . 7�Bp1 B6@ LY&t& 5�N ' B1N LY&t& 5 � H .p'K&i�-.T �WL � L �+� @?RCAP=<X27( � K �� ACBnX�& �(' Z 5 &�� B 'K&p. 0�@ �9B � 1 Z]'K& 5 � � 0 & @ �t&G@ ;A4\<E(;3 � , ?] � � � @t~o4E7 U7�>>-<Y,<E(E@ ���}@��*�6�.@ �c4e>H@H8 �-, ,�� N� � K � SX23?3k~%AgFL@ �o0982-<@H8A4 ��X,0982-:0?4C@U824e>9AI(;*O@�4E*�Y EAC7F(Q>>0 j N �*AC>9>>-/3;N �I(Q>9R_-/*,< 8�� ��X23>-/*,< 4

�d(G(Q>iUH0#AGU ;L(G(Q>[� AJAC:ZXD; �I(Q>9R_-<@M(ENL^ *`�d(G05(Q> 8S>UX239@H82(g=a@ >>4E*23 �y4E4E398DAI(Q:g@L4E*�Y �C*]0#A+*JI 2A D U3?0#>9A+*O@A(gYA-:0#AC>>3G@ML 5wB �t&+& CG0J@�3 . B�� ' 7 & = 0�5 .p'Y� @ 'K& 5t@ , ' 0 BG@ ,G:lP BG5OR . 7 Bt1qBG@ L>&+& 5ON ' B1N LY&+& 5 � H . N'K&i� . TV�WL � L �+� @ RCAP=<X27( � K �� ACB�X�& �j' Z 5 &� B 'K&�. 0�@ �9B � 1 Z]'K& 5 � � 0 & @ �t&G@ ;g4\<E(;3 , pEp ] , � pI@~�4E7�7�>8-<Y,<E(E@ ���}@`� �6�.@ � 4e>U@H8 �-, ,�� N

� � p � �S>?09XD>HAY~%>?(;3#;?AJ4E*�Y6rC(g@M0#AC> �R4e>H@G-B4�U � AP=/-B*24_N 2APX,0?-/*2<M^ *�YA-<@M(;3%BTAC>m�d(G(Q>iUH0#AGU ;L(G(Q> � II3?05(;73GN^ * L 5wB �p&+& CG0�@�3 . BW� ' 7 & � 8 & @ ' HFN � & � BG@�C � @ 'K& 5p@ ,6' 0 BG@ ,G: �9BG@�� & 5 & @ �p& BG@ 0 .�' 5t0 )SZ]'K& C��9B � N1 Z ' 0J@�3 � H .�'K&S� .tTV� � � �+� @D;A4\<E(;3 � �?] � � @ �R-:(;*2*24_@1� X2350#>>-B4_@ c X�=4I �-, ,�� N

� � � � >>4E*D: 8R4e7L(Q:g@ � N >>4E*23 �y4E4E398�A](Q:F@ 8R4gR_-<Y �y4e>?<E(Q>;@ EAC7L(Q>?0 �*AC>9>>-/3;@Z4E*�Y ^ A+* �_0#A+-<@G4_N�$-<Y,(�U 4e>>(;4 @GA AC;F(Q>84\0?-4RE(}350#AC>>4\<E( D -:098 ~ �FN.f �hg � ���Qk3L � k 1 & 5 ,6' 0J@�3 � H .�'K&S� . � & ��0 & 8 @� pDaapPc � �-,��?]�� , pI@08C(g@M(;7�7L(Q> �-, , , N

� � � � >>4E*D: 8R4e7L(Q:g@�un(;* �?824eA,@_� (G05(Q> 8 >HX23H@H8,(g=a@ c AP8A* ��XD7g-/4\0#A D -�@M9E@I4E*�Y ^6A+* �I0#A+-<@G4_N j A D 4e>HYA34 ~%A+7e7MA+* �C� ^MBTAC> �I0#>HX�@M09XD>?(gY�� (G(Q>lUH0#AGU � (G(Q> * RE(Q>H=/4 II3;N ^ * L 5iB �t&t& CG0J@�3 . B�� ' 7 & � & � NB6@�C � @ 'K& 5t@ , ' 0 BG@ ,G:lP BG5OR . 7 Bt1XBG@ L>&+& 5�N ' B1N L>&+& 5 � H .p'K&i�-.jTV�WL � L �+� @Mun(Q>9:E(g=:(QIE@u~ �}@��*�6�.@ (Q7�>HX24e>9I �-, , � N

� � � � �c4gIZXD> 8X4\0?4e> Nju!X,0505(Q> � -:(;3y4E*�Yj� (G(Q>lUH0#AGU � (G(Q> �C(G0 D AC>9:_3GN ^ * EAP=4B ��dAP8D>>-B*,<64E*�Y C4�� (G(QR C4E74E*O@+(gYA-:0#AC>>3G@$L 5wB �t&+& CG0J@�3 . BW� ' 7 & � & @ ' 7 � Z 5iBt1 &l, @ � H � 1 B . 0 Z�� B6@ fW: 3�BG5t0 ' 7 � .�T � � f � @RCAP=�X27K( � K � , ACBUXe& �(' Z 5 &e� B 'K&�. 0J@ �9B � 1 Z]'K& 5 � � 0 & @ �t&G@ ;g4\<E(;3 � ,�,8] � � � @ 2A+7K(E@^ 0?4C=4IE@�_(Q;205(;7�7L(Q> �-, ,�� N

� �� � m(;*,(]Y,(]=/4zu%>>-/4E*�Y24E-B3GN -<=:(R35(;4e>H@U82-/*,<MX23?-B*,<�R\4e>>-/4e7�=/( =:(;*2<E098 :E(QI_3GN ^ *xL 5wB �t&+& CG0J@�3 . B�� ' 7 &P &p.p'K& 5t@ w BG0J@ ' �9B � 1 Z]'K& 5 �9BG@�� & 5 & @ �t&M@ZRCAP=<XA7K( , pI@ ;A4\<E(;3 �� p ]��� � @ � A+*]0#Rz4C=/(E@ � c @$�*�6�.@, p N

� �-,� � X�@ 8X(QR >9A IE(EN%� =/-B7-:0h098,(QAC>9IMBOAC> >>4E*�YDA+7 3#:_-4; =/-B350?3GN � 7 &(f @@ ,6:2. BW� f 1 1 : 0 & C L 5iB )l,�) 0 : 0 ' H @� a � c � p � ] � ," @ , � � N

� � , �zc AP82* yN 8 APX�@M(gX�>;N j 8,(*� IJ7g-<=1�o050?4C@9:FN ^ *Y� (G05(Q> 8 >HX23H@H8,(g=a@ >>4E*A3 �y4E4E3H8DA](Q:F@,4E*�Y �X*]0#A+* I EA D 3?0#>9A+*O@u(gY2-/0#AC>>3G@ L 5iB �t&t& CG0J@�3 . B�� ' 7 & = 0J5 .p'q� @ 'K& 5p@ ,6' 0 BG@ ,G:�P BG50R . 7�Bp1 B6@ LY&t& 5�N ' B+N L>&+& 5� H .�'K&S� .�TV�WL � L �+� @CRCAP=<X27K( � K �� ACBBX�& �(' Z 5 &n� B 'K&�. 0J@ �9B � 1 Z]'K& 5 � � 0 & @ �t&G@P;A4\<E(;3 � p ,O]�� � , @~�4E7�7�>8-<Y,<E(E@ ���}@`� �6�.@ � 4e>U@H8 �-, ,�� N

� � � � �,4E7K(g8 �i=VU��X*23?4e>9IE@�� X�@ * *24E*24 � =/-/74_@I� (Q>nu%>>4E*�Yu@]4E*�Y �I(;-4BurX4e>>-<Y2-HN � \ @G-:(;*]0qu%>9A+4CY�@G4E350-B* �I0#>HX�@M09X�>?(gY � � � �C(G0 D AC>9:I3;Nf^ *�L 5wB �t&+& CG0J@�3 . B�� ' 7 & � & � BG@�C � @ 'K& 5p@ ,6' 0 BG@ ,6:�P B650R . 7�Bt1B6@ L>&+& 5ON ' B1N LY&+& 5 � H .p'K&i� .UTV�WL � L �+� @�u�(Q>H:E(g=:(QIE@F~ �.@`� �6�}@ (Q7�>HX24e>9I �-, , � N

� � � �zc A+4E* (;-/<E(;* 7A4CXA71@s~L8D>>-/350#A+3q�h4e;A4CYA-/7-:0#>>-<APXO@u4E*�Y �Z@GAE050 �Z8,(;*D:E(Q>;N �Z824e>>-/*2<b0982(b~%A+350�ACB��X�=:0?-�@G4E350 j >>4E*23?7e-/3?3?-4A+*A3GN w B Z 5p@ ,G: B�� �9B � 1 Z]'K& 5 , @�C � H .p'K&S� � � 0 & @ �t&�.8@ � � a , c � � ,O] K , @� X,<PX23?0 �-, , , N

,�� �

Page 140: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� � K �zc A+4E* (;-:<E(;* 7g4CX27 4E*�Y �Z@GAE050�Z8,(;*D:E(Q> N"8X-B350#>>-47�X205(gY)�S=/<CAC>>-:09827-�@ �6(g@U824E*2-/3?7 8X(;3?-:<+* � m(�U@M(;*]0 Z(;39X�=:0?3m4E*�Y X,09XD>>( 8R-4>?(g@M0?-<A+*23GNL^ *eL 5wB �p&+& CG0�@�3 . B�� ' 7 & � 0�? ' 7 � @ 'K& 5t@ ,6' 0 B6@ ,G:[P BG5OR8N. 7�Bt1*BG@ 0 . � 5 &�'K& f�: 3;BG5p0 ' 7 �-.T, @�Ceg &�' 7�BjC . ��B65tg B ) 0 : & �9B � 1 Z ' 0J@�3 , @�C �9B �z�zZ @0 �+, N' 0 BG@ . @�;A4\<E(;3 ,O] ,�� @ �o09=/4E*]0?4_@�� �}@`� �6�.@ �I(Q;205(;7�7L(Q> �-, ,�� N

� � p � �X7MA+3 -/4\0y4E*�Y c 4e>?(gY �_4E-/4_NK~n(;*23#AC>83982-4; Z(;3?-B350?4E*=0y�d(G(Q>iUH0#AGU �d(G(Q>~%A+*]05(;*=0)� Y�YD>?(;3>3?4e7�=:(�C(G0 D AC>9:_3GN ^ * L 5iB �t&t& CG0J@�3 . B�� ' 7 & � 7;0�5 'K&+& @ ' 7 f @@ Z,G:6f �hgeN � �Wf g � H � 1 B . 0 Z�� B6@ 0 . N� 5 &('K& f�: 3;B65t0 ' 7 � .�T � k f � @i;A4\<E(;3 K ] ,�, � @ �,4E* >>4E*�@G-/39@GA,@q~ �.@ � �6�}@ c 4E* X24e>9I �-, ,�� N�DXD7A7-:0505(gY 0#A`4c3#;L(g@G-/4C=t-/3?3HX,(-ACBlw B Z 5t@ ,6: B�� f�: 3;BG5p0 ' 7 �-.�Y2(gY2-<@G4\05(gY 0#Ax35(g=:(g@M0�;A4e;L(Q>>3�ACB� * 8 � �-, ,�� N

� � � � �iY D 4e>HY >?(gYD:_-/*ON j >>-:(�� (;7MAC>9IEN �9B �z��Z @0 �+, ' 0 BG@ . B�� ' 7 &�f �hg @ � a c � K -,8] K � @ �_(Q;205(;7 U7L(Q> , � , N� � � � �c-<@U824\(g= c N >?(G(gY274E*j4E*�Y 8R4gR_-<Y �c4\9;- �(Q>?(;3GN �Z=4AC;�;JIV824E3982-/*2<k4E*�Y)35(g=4B�U AC>?<+4E*2-:9;-/*2< @Q=<X23wU

05(Q>83GN�^ * L 5wB �t&+& CG0J@�3 . B�� ' 7 & � & � BG@�C � @ 'K& 5t@ ,6' 0 B6@ ,G:�P B650R . 7�Bt1 BG@ LY&t& 5�N ' B1N LY&t& 5 � H .p'K&i�-.T �WL � L �+� @`un(Q>9:E(g=/(QIE@L~ �.@C�*�/�}@ (Q7�>HX24e>9I �-, , � N� � � � �c-<@U824\(g= c N >?(G(gY27e4E*Y4E*�Y m4CY,(Q: �R-/*,<C>>4C=:(Q:FN � \ @G-:(;*]0��d(G(Q>iUH0#AGU �d(G(Q>(� A AC:ZXD;Uuo4E35(gY A+*e4

8R-/3?0#>>-47�X,05(gY j >>-:(EN ^ *k�d(G05(Q> 8 >HX239@U8,(g=a@ >>4E*A3 �y4E4E398DAI(Q:g@24E*�Y �X*]0#A+* I 2A D 350#>9A+*O@_(gY2-/0#AC>>3G@L 5wB �t&+& CG0J@�3 . BW� ' 7 & = 0J5 .p'q� @ 'K& 5p@ ,6' 0 BG@ ,G:�P BG5OR . 7 Bt1 BG@ L>&+& 5ON ' B1N LY&+& 5 � H .p'K&S� . T �WL � L �&� @RCAP=�X27K( � K �� ACB�X�& �(' Z 5 &t� B 'K&p. 0J@ �9B � 1 Z]'K& 5 � � 0 & @ �t&G@ ;A4\<E(;3 � � ] � pI@o~o4E7�7�>>-�Y,<E(E@ � �.@� �6�.@ �c4e>H@H8 �-, ,�� N� �� � ~L8D>>-/350?-B*,( >>(QIE@y� N c N�rSX �O3509X,0505(Q> @R4E*�Y 8X4 RE( �$-<=/3#A+*ON �m( D 3��)(Q7 �_-:05(;3 ~L=4AE<E<E(gY -/*

�SB 05(Q>>74\098 � ^ *]05(Q>>*,(G0 � u%>?(;4e:ZYDA D *_82-:<P8�=/-/<P8=0?3 D (;4e:_*,(;3?3 ACBA7K(gY2-�X27 *DAE0 >?(;4CYDIq0#A@GA+7M;L(G05(D -:098 >>4CY2-4A,@ j �.N a �_(Q;20GN ,�� @ �-, , , c8N j 8,([� A+3�C*2<E(g=:(;3 j -/7(;3GN

� K ,�zc A+4 i XA-/7 �R4e7A4e>9> �A,@A~%A+*�>>4CYDA � 4e>>0 �� *,(G9E@,4E*�Y��X4 RI-/(Q> �6(;3?3?(G<PX,(Q>;N � j AC;]U�8 A D * 8X(;3?-:<+* ACB4e�d4e>84C=<=:(g=38R-<@M0?-4A+*24e>9I X23?-B*,<��Z:I-4;x� -/350?3GN � 7 & BG5 &(' 0 �t,G: �9B � 1 Z]'K& 5 � � 0 & @ �t&G@ , p � a ,O]�� c � ,O] � � @�c4gI , � � N

� K , �zc A+4 i XA-/7 �R4e7g4e>9> �Aj4E*�Y��R4gR_-:(Q> � (;3?35(G<PX2(Q>;N � �C*A-4h2(gY �S;�;�>9A+4C@U8 0#A�~%A+*�@QXD>H>?(;*=0b4E*�Y�h4e>>4C=�=:(g=%� =:<CAC>>-:098A732A+*muo4C=/4E*�@M(gY 8X4\0?4 �I0#>UX�@M09XD>?(;3GNL^ *mL 5wB �t&+& CG0J@�3 . B�� ' 7 & � & � & @ 'K&+& @ ' 7� @ 'K& 5p@ ,6' 0 BG@ ,G: �9BG@�� & 5 & @ �t& B�� ' 7 & �e7;0 :�&+, @ �9B � 1 Z]'K& 5 � B � 0 &(' H T � �n�n� � @ ;g4\<E(;3 � � ] � @��t4C=VU;g4e> �4E-/3#A,@g~!8A-<=:(E@/�EA RE(;7�7L(Q> , � � N

� K � � � >>4E3?4E*2*A4 �R4E*,(;3>4E*O@ �R-4F_-/4E*2< �ZX2*O@A4E*�Y rC(g@M0#AC> �R4e>U@G-/4�U � AP=B-/*24_N ���X����� � � � � (G(Q>lUH0#AGU�d(G(Q>�� AJAC:ZXD; �I(Q>9R_-<@M(�A RE(Q> �S>97A-/0#>>4e>9I j AC;?AP=4AE<CIEN�^ * L 5wB �t&+& CG0J@�3 . B�� ' 7 & � 8 & @ ' HFN � & � BG@�Cf @@ Z,G:Bw BG0�@ ' �9BG@�� & 5 & @ �p& B�� ' 7 &Q� ���� �9B � 1 Z]'K& 5 , @�Cm�9B �z�zZ @!0 �t,6' 0 B6@ . � B � 0 &(' 0 &�.TV�W� N= k � k g � @ �_4E* >>4E*�@G-/39@GA,@F~ �.@C� �6�}@ � 4e>H@U8 �-, , � N

� K � � �q*JX,05(g=�=/4_N !�"$"=%n'W),)=9&4,@#"���2$2,^3-J*��,9$; - b&;FK N� KCK � �q*JX,05(g=�=/4_;�>9AE0#AZ@GAP=a@��s(Q>>3>-4A+* , N K N!#"$"&%('�)$)+*,*$*�� -W2�/�K �&*M/Fo �3-0b&;8K6)+{��&< �,2,;+%��&o#)=914$@�" �,2$2$^ %�o#;="�;Cb+;�2 G -��q-5%C{$> N� K p � �c-<@U824\(g= j N �AJAZYD>>-<@U8j4E*�Y �LN m4eA �]A+3>4e>>4��#XuN � AC>>0?-/*,<*A+*[4`�h4e>>4C=<=:(g=n� A+-/*=05(Q> �c4C@H8A-/*,(

D -:098 �S;�;�=B-<@G4\0?-4A+*23�0#A �_(G0 ��F ;�>>(;3?3?-4A+* ��R\4C=<X24\0?-4A+*ON3w B Z 5p@ ,G: B�� ' 7 &�f �hg @ K � a � c � � � ,O] � � , @�c4e>H@U8 , � � N

� K � � �AJAE<P=:(EN !�"$"=%n'W),)+*$*,*n-:9�;$;=9#2 � -0b+;FK N,�� �

Page 141: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� K � � �S7�82-B398,(Q: �XD;A0?4_@"8X-<RJI+4e:\4E*=0��C<C>>4 D 4C=a@=4E*�Y �X7M> � = �S7�7A4CY2-aN6�S;�;�>9A F_-/7e4\05( C4E*,<E( �I(g=:(g@pU0?-<A+* �X,(Q>>-/(;3 ^ *K�d(G(Q>iUH0#AGU �d(G(Q> � I_3505(;73GN�^ *UL 5wB �p&+& CG0�@�3 . BW� ' 7 & = 0�5 .p'�� 0 & @@0 ,G: �9B6@�� & 5 & @ �t&B6@ � @@�B1� ,6' 0V� & ,6'Q, � H .p'K&i�-. � &�.�&+, 5 � 7 T � � � � @ ;g4\<E(;3 , K ,O] , p , @ �X3?-<=<A+74e>;@ ~ �.@B�*�6�.@c 4E*JXA4e>9I �-, , � N

� K�� � ^ *�YD>84E*2-<= �X�;20?4_@ �q(;*2*,(G098muo-4>>74E*O@F��>>4e:\4E398e�l-B*,<+4_@ � = 8C(;7(Q>>3G@O4E*�Y 2AC7�7L(Q>?0 �t4E* m(�U*2(;3?35(EN �q(g=/-<;A3�� � 7�X2-<=<YA-/*,<}4E*1(�\ @G-:(;*=0Z4E*�Y1350?4e7�=:(q� � � 8Rr j 098�>9APX,<P81-/*�@G>>(;4E35(gY17K(;7MAC>9I4E*�Y 7A4C@9:I<C>9APX2*�Y\A RE(Q>H8,(;4CYuN�^ * L 5iB �p&+& C60�@�3 . B�� ' 7 & � & � BG@�C � @ 'K& 5t@ ,6' 0 B6@ ,G: P BG50R . 7�Bp1 B6@L>&+& 5ON ' B1N LY&+& 5 � H .p'K&i� .UTV�WL � L �+� @Cun(Q>9:E(g=/(QIE@L~ �.@`� �6�}@ (Q7�>HX24e>9I �-, , � N� K � �_05(QRE(;*.rX4E*�Yy4E*�Y j -/7MAE098JI 2A+39@GAI(EN �c*,(;7MA+3#I_*,( � �d(G(Q>iUH0#AGU ;L(G(Q>�I05(G<+4E*DAE<C>>4e;�82-<@ �_0#AC>>4\<E(EN^ * �d(G05(Q> 8 >HX23H@H8,(g=a@ >>4E*23 �y4E4E398DAI(Q:F@�4E*�Y �X*]0#A+* I 2A D 350#>9A+*O@n(gY2-:0#AC>[email protected] 5wB �p&+& CG0�@�3 . B��

' 7 & = 0J5 .p'Y� @ 'K& 5p@ ,6' 0 BG@ ,6:�P BG5OR . 7�Bt1XB6@ L>&+& 5ON ' B1N LY&+& 5 � H .p'K&i�-.UT �WL � L �+� @�RCAP=�X27K( � K �� ACBXe& �j' Z 5 & � B 'K&p. 0�@��9B � 1 Z]'K& 5 � � 0 & @ �p&M@ ;g4\<E(;3 ,��-,8] , K , @X~o4E7�7�>>-<Y2<E(E@ � �.@Y� �6�}@ �c4e>H@U8�-, ,�� N

� p ,� �c4\05098,( D rC4e>9>>(;*O@ c A+35(Q;�8 � NyrC(g=<=:(Q>>3505(;-B*O@� EI+4E* r X,(Q7A39@U8O@u%AJA+* j 8A4CX � A A,@ �Z@GAE050�D8,(;*D:E(Q>;@�4E*�Y�^ A+* �_0#A+-<@G4_N ~!A+7M;�=:(GF �X,(Q>>-/(;3K-/* 8Rr j U un4E3?(gY��d(G(Q>iUH0#AGU �d(G(Q> �C(G0 D AC>9:I3;N^ * �d(G05(Q> 8 >HX23H@H8,(g=a@ >>4E*23 �y4E4E398DAI(Q:F@�4E*�Y �X*]0#A+* I 2A D 350#>9A+*O@n(gY2-:0#AC>[email protected] 5wB �p&+& CG0�@�3 . B��' 7 & = 0J5 .p'Y� @ 'K& 5p@ ,6' 0 BG@ ,6:�P BG5OR . 7�Bt1XB6@ L>&+& 5ON ' B1N LY&+& 5 � H .p'K&i�-.UT �WL � L �+� @�RCAP=�X27K( � K �� ACBXe& �j' Z 5 & � B 'K&p. 0�@��9B � 1 Z]'K& 5 � � 0 & @ �p&M@ ;g4\<E(;3 � K �?]�� p , @X~o4E7�7�>>-<Y2<E(E@ � �.@Y� �6�}@ �c4e>H@U8�-, ,�� N

� p , � �X-<@U8DAP=/4E3 c N(�}N rC4e>9RE(QIE@ �c-<@H824\(g= uXN c A+*,(;3;@ �I05(QB^4E* �_4e>9A+-�XO@ �c4e>9RI-B* j 8,(;-/7K(Q> @l4E*�Y � =:(g@� AP=B74E*ON � :_-4;7�C(G0 � � �Z@G4C=/4e7�=/( * RE(Q>U=/4gI �m(G0 D AC>H: D -/098f� >>4C@M0?-<@G4C=#� A @G4C=/-/0kI.� >9AC;L(Q>?0?-:(;3GND^ *L 5wB �t&+& CG0J@�3 . B�� ' 7 & = B Z 5 ' 7 � � � ����� � H � 1 B . 0 Z$� B6@ � @ 'K& 5p@ &�' � & � 7;@�B : Bl3 0 &�.O, @�C � H .p'K&i�-.T?� � � �I�+� @�;g4\<E(;3 ,:,��?] ,�� � @ �I(;4\0509=:(E@1���.@`�*�/�}@ �c4e>H@U8 �-, , � N

� p � � �}-4>>3505(;* rX-<=<Y�>HX271@ c AP8A* 8.N ��XD7A-/4\0#A D -<@M9E@ �_4\0?-/398 C4eA,@d4E*�Y u�(;* �fN �?824eA,N 8R-/350#>8-47�X,05(gY* 7�� (g@M0.� AZ@G4\0?-4A+*k-/*Y4 8 I_*24E7-<@�m(G0 D AC>9:FN ^ *xL 5iB �t&t& CG0J@�3 . B�� ' 7 & = B Z 5 'K&+& @ ' 7 f �hg � H � N1]B . 0 Z�� BG@ LY, 5 ,6:�: &�:qfW: 3�BG5t0 ' 7 � . , @�C f 5 � 7;0 'K& �(' Z 5 &p. T � LBf�f � @ ;A4\<E(;3 K ,O] p � @ �$-/*2*2-<;F(G<,@�c4E*2-:0#AC7g4_@F~o4E*24CY24_@ �SX,<PXA350 �-, ,�� N

� p � � ��-4AE0#>%^ *�Y�IJ:F@ C4�� (G(QR � AE0 D 4E*2-H@_� >>4e7�824e:\4e> m4\<P824 Rz4E*O@,4E*�Y �_4E*]0#A+398 �s(;7M;A4C=/4_N�� AZ@G4C=/-:0kI�U� >?(;35(Q>9R_-/*,<rX4E3982-B*,<-/* ��X�=:0?-<YA-/7K(;*23?-<A+*24C= �Z;A4C@M(;3GN ^ * L 5wB �p&+& CG0�@�3 . B�� ' 7 & � 8 & @ ' H1N � 0J@ ' 7f @@ Z,G:`f �hg � H � 1 B . 0 Z$� BG@ � 7 & BG5pHAB��U�9B � 1 Z ' 0J@�3 T �a� k � � @Z;A4\<E(;3 � , � ] � � pI@ � =L�h4E3#A,@j �.@`� �6�.@ � 4 I , � � N

� p K � �,-:0?4e>>4E7&^ IE(Q>;@0�X*]0#A+* I 2A D 350#>9A+*u@ 4E*�Y)�d(G05(Q> 8S>UX239@H82(g=aN ���Q�S^ +�3� � � Y2(g@M(;*=0#>>4C=B-:9G(gYO@;L(G(Q>iUH0#AGU ;L(G(Q> D (Q7 @G4C@U8,(EN ^ * L 5wB �p&+& CG0�@�3 . B�� ' 7 & � 8 & @ ' H1N = 0�5 .p'zf �hg � H � 1 B . 0 Z�� B6@L 5t0J@ � 0d1 : &p. B�� 0 .�' 5t0 )SZ]'K& C �9B � 1 Z]' 0�@�3 TVLlk � � @ ;A4\<E(;3 � ,��?]�� � � @ �*A+*=05(Q>?(QIE@�~ �}@��*�6�.@c X�=4I �-, ,�� N

� pEp � EAC7L(Q>?0#A c NCuo4gI+4e>UYDA c > N:@ C4e:E(;398 �C<C>>4 D 4C=a@18R4E*2-/(g= � >HX�8�=H@I4E*�Y �X7-:0 � A+7e4E*2-aN ��APX �I(Q>9R �� �)(Q7]U rSA+350?-/*,<�4E*�Y ~%A+*]05(;*=0,�D824e>>-/*,< j A AP=]BOAC>1098,( �c4E3?35(;3GN,^ * L 5iB �t&t& CG0J@�3 . BW� ' 7 &� :�& � & @ ' 7 � @ 'K& 5t@ ,6' 0 B6@ ,G: P BG5 : C P 0 C &�P &�) �9BG@?� & 5 & @ �t& T?P P\P � @?;A4\<E(;3 � K p ] � p K @srSA+* UAP=�X�=<XO@,rS^8@C� �6�.@ � 4 I �-, ,�� N

� p � � � N >>4E*23 �}4E4E398DAI(Q: 4E*�Y 8R4gR_-<Y yN �y4e>?<E(Q>;N �]A AC>HY,( � � �_-/7-;�=:( 8X(G<C>?(G(�U AC;20?-B74C= 8R-/3wU0#>8-47�X,05(gYcrC4E398 j 4e7�=:(ENL^ *eL 5iB �t&t& CG0J@�3 . BW� ' 7 & � & � B6@�C � @ 'K& 5t@ ,6' 0 B6@ ,G:lP BG5OR . 7�Bt1qB6@ LY&+& 5ON' B+N L>&+& 5 � H .p'K&S� .tT �WL � L �+� @Cun(Q>9:E(g=:(QIE@O~ �.@C�*�6�.@ (Q7�>HX24e>9I �-, , � N

,���

Page 142: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� p � � 8R4 RI-<Y �y4e>?<E(Q>;@ � >>-<@.�u(g8A74E*O@ j A+7 �u(;-:<P8]0#A+*O@ �c4\05098,( D �u(QR_-/*,(E@"8R4E*2-:(g=#�l( D -/*O@+4E*�Y C-/*24�h4E*2-/<C>>4C8 IEN ~%A+*23>-/3505(;*]0frX4E3982-/*2<c4E*�Y m4E*�Y�A+7 j >?(G(;3 � 8R-/3?0#>>-47�X,05(gY ~o4C@H82-B*,<`� >9AE0#AZ@GAP=/3BOAC> Z(g=/-:(QR_-/*,<.rEAE0)� ;?AE0?3�A+*Y098,( � AC>H=<Y9�$-<Y,(�)(Q7uN ^ * L 5wB �t&+& CG0J@�3 . B�� ' 7 & � 8 & @ ' H1N � 0J@ ' 7f �hg � H � 1 B . 0 Z�� BG@ � 7 & BG5pHqB�� �9B � 1 Z]' 0�@�3 T ��� k � � @�;A4\<E(;3 � p K ] � � � @ � =Z�h4E3#A,@ j �f@� �6�.@ �c4gI , � � N� p � � 8R4 RI-<Y �y4e>?<E(Q>f4E*�Y �c4\050982-/4E3� EX�8�=aN -/*�Y2-/*,< �C(;4e>?(;350 �m(;-:<P8J7?AC>>3y-/* � >9A D 098 U >?(;350#>8-<@M05(gY

� (G0#>>-<@G3;N%^ *mL 5wB �t&+& CG0J@�3 . B�� ' 7 & � 7;0�5 ' H1N = B Z 5 ' 7 f @@ Z,G:Bf �hg � H � 1 B . 0 Z�� BG@ � 7 & BG5tHZB���9B � 1 Z ' 0J@�3 T ��� k � � @�;A4\<E(;3 � K ,O] � p , @ � A+*]0#>?(;4C=a@O~o4E*24CY24_@ �c4gI �-, ,�� N

� p � u%>>4CY �y4e>H;b4E*�Ybr.N j N ��X2*2<,N �R� � � �>?(G(gYDIe�d(Q>>-/7(G05(Q>)�_0?4\05(g=:(;3?3 2APX,0?-B*,<�BOAC> ��-4>>(g=:(;3?3�C(G0 D AC>9:_3GN ^ * L 5iB �p&+& C60�@�3 . B�� ' 7 & � 0�? ' 7 f @@ Z],6: � @ 'K& 5p@ ,6' 0 BG@ ,G: �9BG@�� & 5 & @ �p& BG@ gSB ) 0 : &�9B � 1 Z ' 0J@�3 , @�C � &�' 8 BG5OR�0J@�3 T g k �.� � k g � @C;g4\<E(;3 � K �?]�� p K @Cu%A+350#A+*O@ � �.@=� �6�.@��SX2<PX2350�-, , , N

� � ,� C-<@H8A4e>HY � N��y4e>H;u@ �i=/-M�E;�B^4C=a@,4E*�Y��SRI- �$-:<PY,(Q>>3#A+*uN j 82(q~%A+7-;�=:(GF,-:0kI-ACBd�h4e>>4C=<=:(g=��I(;4e>H@U8ONw B Z 5p@ ,G: BW�t�9B � 1 Z]'K& 5 , @�C � H .p'K&i� � � 0 & @ �t&�.8@ � � a � c � � � p ]�� p � @%�S;�>>-�= , � � N

� � , � �}4��L4��}N !�"$"&%('W),)+*,*$*n-J_`^ � ^$^Y-0b+;FK N� � � � �d(G05( �q(g=/(g8,(Q>;@#u%AC7�7JIju!824\050?4C@H824e> � (G(E@F4E*�Y u%X-� AC> �_-<=B4\<P82-aN(�S>?( �X-4>>09X24C=/-:9G(gY * RE(Q>H=/4 I �C(G0wU

D AC>9:_3 j AJA �*X�@U8[ACBs4 � A A Y j 82-/*,< ��^ * � (G05(Q> 8 >HX239@U8,(g=a@ >84E*23 �y4E4E398�A](Q:F@A4E*�Y �X*]0#A+* I EA D 3?0#>9A+*O@u(gY2-/0#AC>>3G@ L 5iB �t&t& CG0J@�3 . B�� ' 7 & = 0J5 .p'q� @ 'K& 5p@ ,6' 0 BG@ ,G:�P BG50R . 7�Bp1 B6@ LY&t& 5�N ' B+N L>&+& 5� H .�'K&S� .�TV�WL � L �+� @CRCAP=<X27K( � K �� ACBBX�& �(' Z 5 &n� B 'K&�. 0J@ �9B � 1 Z]'K& 5 � � 0 & @ �t&G@P;A4\<E(;3 � � p ]�� � , @~�4E7�7�>8-<Y,<E(E@ ���}@`� �6�.@ � 4e>U@H8 �-, ,�� N

� � � � 8R4 RI-<Y �q(;7M;L(E@ c A+* � N ��=/(;-/* 7L(Q>?<,@g4E*�Y � =/4E* c N 8X(;7K(Q>>3GN � ;g4\0?-/4C= � A+3>3?-4; 4E*�Y Z(;3#APX�>H@M(� A @G4\0?-<A+*c� >9AE0#A @GAP=B3GN2^ *mL 5iB �p&+& C60�@�3 . B�� ' 7 & � 7;0�5 ' H1N � 7�0�5iC f @@ Z,G:6f �hg � H � 1 B . 0 Z$� B6@� 7 & BG5pH BW�t�9B � 1 Z]' 0�@�3 T ��� k � � @�;A4\<E(;3 , � �?] , � � @u~!>?(G05(E@ � >?(G(g@M(E@ c X�=<I �-, , , N

� � K � �d(G05(Q> �}-4>>39@U8,(;*�8DACB (Q>;@_~!A+*D>>4CYDA � 4e>>0 �� *,(G9E@,4E*�Ykrm(g=B7�X,0o��>HA Y2-B*,<E(Q>;N(�X*24C=4I_3?-/3�ACBd4E* * ;20?-VU7e-:9G(gY �I(;4e>H@U8 �S=:<CAC>8-:09827 BTAC> �Z:I-4; �l-B350?3GN � 7 & BG5 &�' 0 �+,6: �9B � 1 Z]'K& 5 � � 0 & @ �p&M@ , KCK a ,O]�� c � ,:, ?]� �-, @ c X2*2( , � pIN

� � p � �d(G05(Q> �y-4>>39@U8,(;*�8DACB (Q>o4E*�Y1rm(g=B7�X,0�� >9A YA-/*,<E(Q>;N j 8,(R�d4\098 �u(;*,<E098 ACB m4E*�Y�A+7 �Z:I-4;x� -/350?3GNf �('Q, � @���BG5 � ,6' 0 �t,\@ � , a � c � � � p ] � � @ , � K N

� � � �zc A+* ��=:(;-/*J7L(Q>?<,N j 8,( �_74C=<=VU�� AC>U=<Yc�i8,(;*DA+7K(;*�A+* � �C*�� =:<CAC>>-:098A7-<@}�d(Q>>39;F(g@M0?-<RE(EN�^ *�L 5wB1N�p&+& CG0�@�3 . B�� ' 7 & � 7;0J5 ' H1N � & � BG@�C f @@ Z,G:�f �hg � H � 1 B . 0 Z�� BG@ � 7 & BG5tH B����9B � 1 Z]' 0�@�3T ��� k � � @�;A4\<E(;3 , � �?] , � , @O� AC>?09=/4E*�Yu@ * y@C� �6�.@ � 4 I �-, , , N

� ��� �zc A+* ��=/(;-/* 7L(Q>?<,N �_7e4C=<=VU�� AC>H=<Y1�i8,(;*DA+7K(;*A4K4E*�Y1098,( 8 I_*24E7-<@G32ACB ^ *DBOAC>>74\0?-4A+*uN ^ * j N �fN8R-:(G0505(Q>8-<@H8O@ �FNhun(g@9:E(Q>;@h4E*�Y �dN �]824C8D>>4E74E*A-a@O(gY2-:0#AC>>3;@�f C+� , @ �p&p. 0J@ � &SZ 5 ,G:�� @���BG5 �/, ' 0 BG@L 5wB �t&p.t. 0J@�3 � H .�'K&S� .����,@�;A4\<E(;3 K � ,O] K � � @l~o4E7�7�>>-<Y2<E(E@ ���.@�� �6�}@18X(g@M(;7�7L(Q> �-, , , N

� � � � 8 A+*24C=�Y �ZN��y* X,098ON � 7 & f 5 ' BW� �9B � 1 Z]'K& 5 L 5wBl3 5 ,+��� 0J@�3=y � BG5 ' 0J@�3 , @�C � &+, 5 � 7;0J@�3 @ RCAP=VUXA7K( � N�� Y�Y2-/3#A+*]U��)(;39=:(QIE@ m(;4CY2-/*,<,@ ���}@��*�6�.@ , � � N� � �zc AP82* ��X�7A-/4\0#A D -<@M9E@ 8R4gR_-<Y uo-/*�Y,(g=a@ ��4E*�~L8,(;*O@ �I05(QRE(;* ~n9G(Q> D -B*23#:_-a@K�d4\0#>8-<@9: ��4\0#A+*O@

8X(;*2*A-/3 �X(G(g=/3;@ C4E74e:J>8-/3982*24 �XA774CY2-a@ �I(;4E* E82(;4_@orX4e:_-/7 �)(;4\098,(Q>>39;0A A+*O@!�)(;3509=:(QI�)(;-B7K(Q>;@ ~!8D>8-/3 �)(g=<=B3G@u4E*�Yeun(;* � 824eA,N * @M(;4E* �I0#AC>>( � �X*��E>H@U82-:05(g@M09XD>>(�BOAC> �=4AC7A4C=�U �Z@G4C=:(�d(Q>>3>-/3505(;*]0 �I0#AC>>4\<E(ENnf �hg � ���YL3X f�� � B ' 0 �p&p. @ � , a , c � , -,8]��-, , @%�SA RE(;7�7F(Q> �-, , , N

,��-,

Page 143: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� � ,� �d(Q>iU���S:E(�� 4e>>3#A+*ON 8 II*24E7e-<@�rC4E3H8 j 4e7�=:(;3GN �9B ���zZ @0 �+,6' 0 BG@ . B�� ' 7 &nf �hg @ � , a K c � KCK � ] K p � @�S;�>>-�= , � � N� � , � �X4\09824E*2-/(g=[�u(;-47?A D -:059E@��ER_-4R un(Q>?<+7e4E*O@ 2A I un(;* U �Z8A4CX�=a@R4E*�Y �ER_-4R �Z824 RI-:0GN �S>?( -<=:(� D 4e;�;g-/*,<��m(G0 D AC>9:_3b~�4C@H8,(;4e7�=/(�� ~!824e>>4C@M05(Q>>-/9;-/*,<)� � � j >>4G\ @\N ^ * L 5iB �t&t& CG0J@�3 . B�� ' 7 &� & � & @ ' 7 � @ 'K& 5t@ ,6' 0 B6@ ,G:nP BG5OR . 7�Bt1 B6@ P &j) �9B6@ 'K& @ ' � ,�� 7;0J@�3 , @�C 0 .�' 5t0 )SZ]' 0 BG@ @�uiAPX�=<Y,(Q>;@~ * @C�*�/�}@7� X,<PX23?0 �-, ,�� N

� � � �zc -/*JI+4E*,< �l-a@ c AP8A* c 4E*2*DAE050?-a@�8 APX,<P=B4E3 �FN c N�8C( ~%APX20#A,@�8R4gR_-<Y yN �y4e>?<E(Q>;@�4E*�Y 2AC7L(Q>?0�*AC>9>>-B3GN�� �Z@G4C=B4e7�=:(l� AZ@G4\0?-4A+* �I(Q>HRI-<@M(BOAC>��X(QAE<C>>4e;�82-<@ � Y1rEAZ@ 2APX20?-/*,<,N ^ * L 5wB �t&+& CG0J@�3 .BW� ' 7 & � 0�? ' 7 f @@ Z,G:h� @ 'K& 5p@ ,6' 0 BG@ ,6: �9BG@�� & 5 & @ �p& BG@ g B ) 0 : & �9B � 1 Z]' 0J@�3 , @�C �-&(' 8 BG50R�0�@�3T g k �.� � k g � @D;A4\<E(;3 ,��-,8] ,��-, @6u%A+350#A+*O@ � �.@`� �6�}@ �SX,<PXA350 �-, , , N

� � � �zc -/*JI+4E*,< �l-H@qu%A A+* j 8A4CX\� A A,@ c AI( rm(g=�=:(Q>>3505(;-/*u@ >84E*23 �y4E4E3H8DA](Q:F@ 8R4gR_-<Y �y4e>><E(Q>;@Z4E*�Y EAC7L(Q>?0 �*AC>9>>-/3GN * * j 8,( (;4E3>-47A-<=/-/0kI ACBy� (G(Q>lUH0#AGU � (G(Q> �)(Q7 ^ *�Y,(GF,-/*,< 4E*�Y �I(;4e>H@H8uN ^ *L 5wB �t&+& CG0J@�3 . B�� ' 7 & � & � B6@�C � @ 'K& 5t@ , ' 0 BG@ ,G:qP BG50R . 7�Bp1 BG@ LY&t& 5�N ' B1N LY&t& 5 � H .�'K&S� . T �WL � L �&� @un(Q>9:E(g=/(QIE@L~ �.@`� �6�}@ (Q7�>HX24e>9I �-, , � N

� � K � �X4\09824E* � -/*2-/4C=]4E*�Y * >>- �_4E3?3#A+*ON/�SA+* U�� FZ;A4E*23>-4RE(�rC4E398A-/*,<,N ^ *L 5iB �p&+& C60�@�3 . B�� ' 7 & � 8 & @ ' HFN�R0V367 ' 7 f @!@ Z,G:1f �hg � H � 1 B . 0 Z�� BG@ ' 7 & � 7 & BG5tH BW���9B � 1 Z]' 0J@�3 T ��� k � � @ ;A4\<E(;3dp ," ?] p , � @�i82-<=/4CY2(g=4;�82-/4_@I�3�}@`� �6�.@ �c4gI , � � N

� � p � �$-:0#AP=<Y � -:0 D -B*ON �l-/*,(;4e>krX4E3982-/*,< � � �C( D j A AP=BTAC> -<=:(x4E*�Y j 4e7�=:(��SY�Y�>?(;3?3?-/*2<,N ^ *L 5wB �t&+& CG0J@�3 . BW� ' 7 & � 0V? ' 7 � @ 'K& 5p@ ,6' 0 BG@ ,G: �9BG@�� & 5 & @ �p& BG@ ��& 5pH X$, 5 3 & ,6'Q, ��,�.�&�.[T��6X � � @;g4\<E(;3 � ,��?]�� � � @ �*A+*=0#>>(;4C=a@ �]X,(Q7L(g@\@h~o4E*24CYA4_@ * @M0#AC7L(Q> , � , N m(Q;�>>-/*]05(gY)-/* � &+, CG0J@�3 0J@ ,6'Q,�)l,�.(& � H .p'K&i�-. @ � N �I0#A+*,(Q7�>>4e:E(Q>+� YuN:@ � *�Y1(gYON:@ , � pIN� � � � �$-:0#AP=<Ye� -:0 D -B*O@ �c4e>>-:(�U��X*2*24 �C(;-/74\0G@u4E*�Y�8 A+*DA R\4E* �.N �Z@H82*2(;-<Y,(Q>;NQ�lr ��� 4k39@G4C=B4e7�=:(E@YA-/350#>>-47�X,05(gY Y24\0?4b350#>HX�@M09X�>?(ENQf �hg � 5 , @ .�, �(' 0 BG@ . BG@ ,6'Q,;)+,�.�& � H .p'K&i� .8@ � , a K c � K�� ,8] p � pI@8X(g@M(;7�7L(Q> , � � N� � � � �X4E*�@GI �.N�� I_*�@H8ON 0 .p' 5p0 )SZ]'K& C f�: 3�BG5p0 ' 7 � . N �*AC>?<+4E* �y4CXDB^74E*2*e�iXD7�=/-B3982-/*,<,@+u!XD>H=B-/*,<E0#A+*O@

���.@`�*�/�}@ , � � N� � � � 8R4C8�=B-/4 � 4C=<: 82-H@ �*A+*2-(�X4eAC>;@A4E*�Y 8R4gR_-<Y m4\0?4��9@M9;4e:FN �R-<@M(Q>9A I � � �Z@G4C=/4e7�=:(y4E*�Y 8 II*A4E7-<@

��7�X�=/4\0?-4A+*[ACBs098,( u%X20505(Q> � IFNi^ *mL 5wB �p&+& CG0�@�3 . BW� ' 7 & � 8 & @ ' H1N = 0J5 .�'Yf �hg � H � 1]B . 0 Z�� B6@L 5t0J@ � 0d1 : &p. B�� 0 .�' 5t0 )SZ]'K& C �9B � 1 Z]' 0�@�3 TVLlk � � @ ;A4\<E(;3 , � �?] , � @ �*A+*=05(Q>?(QIE@�~ �}@��*�6�.@c X�=4I �-, ,�� N

� � � �]XD>>7K(G(G0 �,-/*,<P8 �c4E*D: Xu@ �c4gI+4E*D:�uo4 D 4_@s4E*�Y � >>4e7�824e:\4e> m4\<P8A4gR\4E*ON � I_7M;�8�A+* I � 8R-/3wU0#>8-47�X,05(gYKrX4E3982-/*2<y-/*K4 �_74C=<=6� AC>U=<YON�^ *UL 5iB �p&+& C60�@�3 . B�� ' 7 & = B Z 5 ' 7 � � � ����� � H � 1 B . 0 Z��B6@ � @ 'K& 5p@ &�' � & � 7;@�B : Bl360 &p.4, @�C � H .�'K&S� . T?� � � �I�&� @ ;g4\<E(;3 ,�� � ] , K , @ �I(;4\0509=:(E@ � �.@a�*�6�.@�c4e>H@U8 �-, , � N

� � ,� �d(G0?4e> �c4gI_7MAPX2*D:CA Rb4E*�Y 8R4gR_-<Y �c4\9;- �(Q>?(;3GN �y4CY,(;7-=B-/4 � � � (G(Q>lUH0#AGU ;F(G(Q>E^ *DBOAC>>74\0?-<A+* � I_3wU05(;7 uo4E35(gY A+* 098,( � * �6(G0#>>-�@\N ^ * �d(G05(Q> 8 >HX239@U8,(g=a@ >>4E*A3 �y4E4E398�A](Q:F@Z4E*�Y �X*]0#A+* I EA D 3?0#>9A+*O@u(gY2-/0#AC>>3G@ L 5iB �t&t& CG0J@�3 . B�� ' 7 & = 0J5 .p'q� @ 'K& 5p@ ,6' 0 BG@ ,G:�P BG50R . 7�Bp1 B6@ LY&t& 5�N ' B+N L>&+& 5� H .�'K&S� .xTV�WL � L �+� @0RCAP=<X27( � K �� ACB.Xe& �j' Z 5 &�� B 'K&�. 0J@ �9B � 1 Z]'K& 5 � � 0 & @ �t&G@�;g4\<E(;3Rp �?] � pI@~�4E7�7�>8-<Y,<E(E@ ���}@`� �6�.@ � 4e>U@H8 �-, ,�� N

� � , � �*A �#A"�C4\0?-4A+*uN !#","=%n'W)$)?KM;��$;+4`^&"`/&;+4n-J4��=" N,�� ,

Page 144: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� � � � �*AC>9;�82(gX23GN !#","=%n'W)$)1*$*,*n- K�@B7=/$b$b,/1",}.-0b+;FK N� � � �zc N ^ 4E* ��X2*D>HAx4E*�Y �h4\0#>>-<@G-4A �fNt� AC7�=:(G05(EN 4CX�=:0 j AP=:(Q>>4E*�@M(64E*�Y �I0#AC>>4\<E( m(gY�X�@M0?-4A+*N^ *uo-/*A4e>9I �_(;4e>H@H8 j >?(G(;3GN.� @���B65 � ,6' 0 BG@ , @�C �9BG@ ' 5iB : @ � � a � � � c � � ,�,8]�� , � @0� X,<PX23?0 , ��K N

� ��K � �*A+*2- �X4eAC>e4E*�Y � Y2-!�)(;-<Y,(Q>;N � �_-/7-;�=:( 4CX�=:0wU j AP=:(Q>>4E*]098X-B350#>>-47�X205(gYjrX4E398 j 4e7�=:(ENb^ *L 5wB �t&+& CG0J@�3 . B�� ' 7 & � & � B6@�C � @ 'K& 5t@ , ' 0 BG@ ,G:qP BG50R . 7�Bp1 BG@ LY&t& 5�N ' B1N LY&t& 5 � H .�'K&S� . T �WL � L �&� @un(Q>9:E(g=/(QIE@L~ �.@`� �6�}@ (Q7�>HX24e>9I �-, , � N� � p � �X4e;A3505(Q> N !�"$"=%n'W),)+*$*,*n-54�^1%67F"��=o.- b&;8K N� � � � j N%�LN-�iX,<E(;*,( �C<y4E*�YKrSXA- � 824E*,<,N j A D 4e>HY23 �=4AC7g4C=/�m(G0 D AC>9:J� A+3?-:0?-4A+*A-/*,<,NZ^ *UL 5wB �t&+& CG0J@�3 .

BW� ' 7 & = 0J5 .p'�f �hg � ��� � k g g P B650R . 7�Bt1 BG@ � @ 'K& 5t@ &(' g &l,�.�Z 5 &S�I& @ '^@�;A4\<E(;3 � p ]��� @��_4E* >>4E*�@G-/39@GA,@O~ �.@C�*�6�.@1�SA RE(;7�7F(Q> �-, , , N

� � � � j 39X,(;* U�� 4E* � c AP82*2*JI � �m<+4E*u@ 8X4E* �FN�� 4C=<=B4C@H8O@Z4E*�Y � (G05(Q>�8 >HX239@U8,(g=aN ��*DBOAC>H@G-/*,< 4E-4>�D824e>>-/*,<�ACB �d(G(Q>iUH0#AGU �d(G(Q> Z(;39APXD>H@M(;3GN ^ *xL 5wB �t&+& CG0J@�3 . BW� ' 7 & � & � BG@�C � @ 'K& 5p@ ,6' 0 BG@ ,6:�P BG5OR8N. 7�Bt1 BG@ L>&+& 5ON ' B1N LY&+& 5 � H .p'K&i�-.UT �WL � L �+� @`un(Q>9:E(g=/(QIE@L~ �.@C�*�/�}@ (Q7�>HX24e>9I �-, , � N

� � � � �SA+4E7 �X-/3?4E*K4E*�Y �C7-<> 2A+*,(;*ON �S=:<CAC>8-:09827-<@ � (g@H824E*A-/3?7 8X(;3?-:<+*ON �R,1�I&p.�, @�C � � B6@�B � 0 ��W& 7 , �j0 BG5 @ � pDa ,O]�� c � , � � ] , � @0�E;�>8-<= �-, , , N

� � � �s(;*�:z4\0?4 �.NI�h4CY274E*A4e7�824E*b4E*�Y ��X2* D 4CY,(G( � >>-4;A4E*A-<YD:ZX�=<@H8A4E-aN j 8,(q~o4E35( BTAC>Z~%A AC;L(Q>>4\0?-4RE(�C(G0 D AC>9:_-/*,<,N ^ * �d(G05(Q> 8 >HXA39@H8,(g=H@ >84E*23 �y4E4E3H8DA](Q:F@q4E*�Y �X*=0#A+*JI 2A D 350#>9A+*O@R(gY2-/0#AC>>3G@L 5wB �t&+& CG0J@�3 . BW� ' 7 & = 0J5 .p'q� @ 'K& 5p@ ,6' 0 BG@ ,G:�P BG5OR . 7 Bt1 BG@ L>&+& 5ON ' B1N LY&+& 5 � H .p'K&S� . T �WL � L �&� @RCAP=�X27K( � K �� ACBYX�& �(' Z 5 &�� B 'K&�. 0�@ �9B � 1 Z]'K& 5 � � 0 & @ �p&M@D;A4\<E(;3 , � � ] , -, @O~o4E7�7�>>-�Y,<E(E@ � �.@� �6�.@ �c4e>H@H8 �-, ,�� N

� -,� �AC;A4C=��h4E*�Y�XD>>4E*2<+4E*O@���>84e7�824e:\4e> m4\<P824 Rz4E*O@n4E*�Y � =B- �S;�B^4C=aN u!X2-<=<YA-/*,< � A D U�8R-/4E7(G05(Q>� � � �m(G0 D AC>H:I3GN]^ * L 5iB �t&t& CG0J@�3 . B�� ' 7 & = BG5 ' H1N � & � B6@�C f @@ Z,G:h� ��� � H � 1]B . 0 Z�� BG@ ' 7 &= B Z @�C ,6' 0 BG@ . BW� �9B � 1 Z 'K& 5 � � 0 & @ �t& T = k � �&� @L;A4\<E(;3 K �?] K � @ �l4E3 �s(G<+4E3G@)� �f@(�*�6�.@* @M0#AC7F(Q> �-, , , N j Aj4e;�;L(;4e>b-/*�� ���� w B Z 5p@ ,G: BG@ � &�: & �j'K& C f 5 &l,G. 0�@ �9B �z�zZ @0 �+,6' 0 BG@ .T w � f � � N

� , � j 8DA+74E3o�h4e;A4CY24e:_-/3G@ c N ^ 4E* ��X2*D>9A,@,4E*�Yb�h4\0#>>-<@G-4A �fNI� AC7�=/(G05(EN �X*24C=4I_3?-/3iACBl098,( � FZ;L(g@M05(gY�_(;4e>H@H8 ~%A+350q-/* � :_-4; � -/350?3GNS^ * c N yN �R-<=47L(Q>?0C4E*�Y }N �JN �y4e>U=/3?3#A+*O@F(gY2-:0#AC>83G@BL 5wB �t&+& CG0J@�3 .BW� ' 7 & � & � BG@�C � �t, @�CG0J@ , ��0 , @ P BG50R . 7�Bp1SB6@ fW: 3�BG5t0 ' 7 � � 7 & BG5pH T � P[f ������� @�RCAP=<XA7K( KCK �ACB3Xe& �(' Z 5 &l� B 'K&p. 0J@ �9B � 1 Z 'K& 5 � � 0 & @ �t&G@�;A4\<E(;3 , � ,8] , � � @6un(Q>?<E(;*O@ �EAC> D 4gIE@ c X�=<I , � -, N

� � � ~RN � >>(G<k�i=/4�F_0#A+*O@ C4��54E7-AP824E* m4��?4e>>4E74E*O@O4E*�Y �X*�YD>?(;4 � N m-�@H824_N��S@Q@M(;3>3?-/*,<��m(;4e>H7JI~!AC;A-:(;3�ACB Z(Q;�=B-<@G4\05(gY * 7��5(g@M0?3.-/* 4 8X-B350#>>-47�X205(gY ��*JR_-4>9A+*27K(;*]0GN � 7 & BG5pHSB�� �9B � 1 Z]' 0�@�3� H .�'K&S� .8@ � � a � c � � K ,O]�� � , @ , � � N

� � � �$-<=<=B-/4E7 �iX,<P8ON �Z:I-4; �l-B350?3 � � ��>HAC7A4e7A-<=/-B350?-<@ � =:05(Q>>*24\0?-<RE(X0#A uo4C=/4E*�@M(gY j >?(G(;3GN �9B �z�zZ @!0 N�t,6' 0 BG@ . B�� ' 7 &lf �hg @ � � a � c � � � � ] ��� � @ c X2*,( , � -, N

� K � �X*24E*]098� C4eA,@ �}4e>?0982-4:e�l4e:_39827-B*24e>>4gI+4E*A4E*O@ �ZA+*,(;398 �ZX�>>4E*24_@ C-<@H8A4e>HY �y4e>9;l@ 4E*�Y �Z@GAE050�D8,(;*D:E(Q>;N � A+4CY uo4C=/4E*�@G-B*,< -/* �I0#>HX�@M09XD>>(gY � � � � I_3505(;73GN+^ *�L 5wB �t&+& CG0J@�3 . B�� ' 7 & � & � NB6@�C � @ 'K& 5t@ , ' 0 BG@ ,G:lP BG5OR . 7 Bt1XBG@ L>&+& 5�N ' B1N L>&+& 5 � H .p'K&i�-.jTV�WL � L �+� @Mun(Q>9:E(g=:(QIE@u~ �}@��*�6�.@ (Q7�>HX24e>9I �-, , � N

,�� �

Page 145: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� p � �ZI =4R_-/4 C4\0?*24E3?4E7�IE@��h4CX�= >>4E*�@G-/3;@ �c4e>9: rX4E*�Y�=/(QIE@ C-<@H8A4e>HY��y4e>H;u@s4E*�Y �D@GAE050��Z82(;*D:E(Q>;N� �Z@G4C=B4e7�=:(c~%A+*]05(;*=0wU�� Y�YD>>(;3?3?4e7�=:(��m(G0 D AC>9:FN ^ * L 5iB �t&t& CG0J@�3 . B�� ' 7 &xf �hg � H � 1 B . 0 Z��B6@��9B �z�zZ @0 �+,6' 0 BG@ .jf 5 � 7�0 'K& �(' Z 5 &�.T, @�C L 5iB ' B � B :2.�T � ��� � k g g � @ ;A4\<E(;3 , � ,O] , � � @ �_4E*8R-:(G<CA,@O~ �.@C�*�6�.@7� X,<PX2350 �-, , , N

� � � �ZI =4R_-/4 m4\0?*24E3?4E7�IE@ � 4e>9: rC4E*�Y�=:(QIE@ m-�@H824e>HY �y4e>H;u@t4E*�Y �Z@GAE050 �Z8,(;*D:E(Q> N �E;�;�=/-<@G4\0?-4A+* U=/(QRE(g= �*X�=/0?-<@G4E350[X23?-/*2<[~%A+*]05(;*=0wU�� Y�YD>>(;3?3?4e7�=:( �C(G0 D AC>9:_3GN�^ * L 5iB �t&t& CG0J@�3 . BW� ' 7 & � 7;0J5wC� @ 'K& 5p@ ,6' 0 BG@ ,G: P BG5OR . 7�Bt1 BG@ �-&(' 8 BG5OR & C � 5wB Z 1 �9B �z��Z @0 �+, ' 0 BG@ TV� � � � @ RCAP=<X27K( � � � �ACBQX�& �j' Z 5 &t� B 'K&�. 0J@ �9B � 1 Z]'K& 5 � � 0 & @ �t&M@ ;A4\<E(;3 , K ]��� @3�q~.��@�� A+*�YDA+*O@a� �@ �SA RE(;7�7L(Q>�-, , , N

� � �zc AC>HY24E* m-:0505(Q> N � 8JI �R* X,05(g=<=/4 ~o4E* � 0 �D@G4C=:(EN �SA,@ m(;4C=<=4IEN!#"$"&%('�)$)+*,*$*.-�{#^+o,_$o�/+{,9��3-0b&;8K6)�� �1%#o��$)={$;#b&)=914$@�" �,2$2$^Y-5!�"+K�2 N

� � � �X*]0#A+* I EA D 350#>HA+*c4E*�Y � (G05(Q>�8 >HX239@U8,(g=aNo�3�*� j � ���l4e>?<E(�U 39@G4C=/(E@F�d(Q>>3?-B3505(;*=0C� (G(Q>lUH0#AGU ;F(G(Q>�_0#AC>>4\<E(U�C0?-<=/-:06IgN]^ * L 5iB �t&t& CG0J@�3 . B�� ' 7 & �{0�3G7 ' 7 P BG5OR . 7 Bt1 BG@��-B ' � Bt1�0 ��. 0J@ k 1 & 5 , ' 0�@�3� H .�'K&S� .tT � B 'Wk � N �6�W�W� � @D;A4\<E(;3 � p ] � , @��D@H8DA+3?3+� =/74CXu@ �X(Q>>74E*JIE@ �c4gI �-, , , N

� � � �X*]0#A+* I 2A D 350#>9A+* 4E*�Y`�d(G05(Q> 8 >HXA39@H8,(g=HN.�h4E350#>9I � �Z@G4C=/4e7�=:(E@ Y2-B350#>>-47�X205(gY AC7��5(g@M0�=4AZ@G4\0?-4A+*4E*�YN>9APX,0?-/*,<VBOAC>-=/4e>?<E(�U 39@G4C=:([;L(G(Q>iUH0#AGU ;L(G(Q>3#I_3505(;73;Nb^ * L 5iB �t&t& CG0J@�3 . BW� ' 7 & � = �WL��#f �hg� @ 'K& 5p@ ,6' 0 BG@ ,G: �9BG@�� & 5 & @ �t& B6@ 0 .p' 5p0 )iZ]'K& C � H .p'K&i� .nL{:�,6' ��BG5 �-.zT g 0 C C :�& 8 , 5 & � @Z;A4\<E(;3 � �� ?]� p , @Frm(;-�Y,(g=47L(Q>?<,@ �X(Q>>74E*JIE@ �SA RE(;7�7L(Q> �-, , , N

� ,�, ,� �X*]0#A+* I EA D 350#>HA+*4E*�Y�d(G05(Q> 8 >HXA39@H8,(g=HN �I0#AC>>4\<E(�� 4E*A4\<E(;7K(;*=0n4E*�YY~o4C@U82-/*,<y-B*K� � � j @"�� 4e>?<E(�U 39@G4C=:(E@+�d(Q>>3>-/3505(;*]0 �d(G(Q>iUH0#AGU ;L(G(Q> �I0#AC>>4\<E(.�m0?-�=/-:0kIFN,f �hg � ���Qk3L � k 1 & 5 ,6' 0J@�3 � H .p'K&i�-.� & �j0 & 8 @ � pDaapPc � , � � ]��-, , @%8X(g@M(;7�7L(Q> �-, , , N

� ,�, , � �X*]0#A+* I EA D 350#>HA+*O@ �C*2*2(�U � 4e>>-/( �q(Q>>74e>H>?(g@\@ �c-:<PX,(g=`~o4E350#>9A,@x4E*�Y �d(G05(Q> 8 >HX239@U8,(g=aN�A~ 2^�u � � j 8,(]Y,(;3?-/<+* ACBh4_=/4e>?<E(�U 39@G4C=/(y(QRE(;*=0Z*�AE0?-4h�@G4\0?-4A+*1-/*�BT>>4E3?0#>HX�@M09XD>?(EN ^ * L 5wB �t&+& CG0J@�3 .BW� ' 7 & � 7;0J5wC � @ 'K& 5p@ ,6' 0 BG@ ,6:P BG5OR . 7 Bt1 B6@ � &�' 8 BG5OR & C � 5iB Z 1 �9B �z�zZ @0 �t,6' 0 BG@ T � � � � @RCAP=�X27K( � � � � ACBaXe& �j' Z 5 &Q� B 'K&p. 0�@ �9B � 1 Z]'K& 5 � � 0 & @ �p&M@Z;A4\<E(;3 �-,8] K � @`�q~.��@�� A+*�YDA+*O@#� �K@�SA RE(;7�7L(Q> �-, , , N

� ,�,�� �zc 4e>?(gY �_4E-B4_@��C7-A+3 -/4\0G@ �_05(QRE(;* � >>-<7�7�=:(E@��X*2*24 �y4e>H=B-/*O@E4E*�Y �I05(QB^4E* �_4e>HA+-<XON78 I_*24E7-<@G4C=<=<I 4CX�=:0wU j AP=:(Q>>4E*]0J~%A+*]05(;*=0 � Y�YD>?(;3?3>4e7�=:( �m(G0 D AC>H:I3GN ^ * �d(G05(Q> 8 >HXA39@H8,(g=H@ >>4E*A3 �y4E4E398�A](Q:F@4E*�Y-�X*=0#A+*JI 2A D 350#>9A+*u@d(gYA-:0#AC>>3G@YL 5iB �t&t& CG0J@�3 . B�� ' 7 & = 0J5 .�'n� @ 'K& 5p@ ,6' 0 BG@ ,G: P BG5OR . 7�Bt1 B6@L>&+& 5ON ' B1N LY&+& 5 � H .�'K&S� .xTV�WL � L �+� @0RCAP=<X27( � K �� ACBqXe& �j' Z 5 &�� B 'K&�. 0J@��9B � 1 Z]'K& 5 � � 0 & @ �p&M@;g4\<E(;3 � � ,8]�� � @l~o4E7�7�>>-<Y,<E(E@ ���.@`�*�/�}@ �c4e>H@H8 �-, ,�� N

� ,�, � � �_05(QB 4E* �,4e>9A+-<XO@ �]>>-B3982*24��dN �X2774CYA-a@ m-<@U824e>HY c N)8X2*A*O@ �I05(QRE(;* 8fN � >>-<7�7�=:(E@J4E*�YrC(;*D>9I � N �u(QR IEN �X* �X*24C=4I_3?-/3ACB%^ *]05(Q>>*,(G0f~!A+*=05(;*]0 8X(g=/-4RE(Q>HI � I_3505(;73;NM^ * L 5wB �t&+& CG0J@�3 .BW� ' 7 & = 0 � ' 7 � H � 1 B . 0 Z�� BG@ k 1 & 5 ,6' 0�@�3 � H .p'K&i�-. &�. 0�36@ , @�C �O� 1 : &S�I& @ 'Q,6' 0 BG@ TOk �$ � � @;g4\<E(;3 � , p ] � � � @Bu%A+350#A+*O@ ���.@`�*�/�}@18X(g@M(;7�7F(Q> �-, ,�� N

� ,�, K � �_05(QB 4E* �_4e>9A+-<Xu@A�dN �]>8-/3982*24 �]X2774CY2-H@A4E*�Y,�_05(QRE(;* 8fN � >>-47�7�=:(EN!� � (;4E39XD>>(;7K(;*=0 �I09X�Y�IACBs�d(G(Q>iUH0#AGU �d(G(Q> -<=:( �Z824e>8-/*,< � I_3505(;73GN�^ * �c4e>?0?-/*��fN �y-:(;*,9g=:(y4E*�Y6��>>4E3H824E*=0 c N �Z8,(;*DA IE@(gYA-:0#AC>>3G@ g Z :V' 0 �I& C60 , �9B � 1 Z]' 0J@�3 , @�C � &�' 8 BG5OR�0J@�3 T g g\� � � @QRCAP=�X27K( K ��� � ACB � L3� � @Q;g4\<E(;3, p � ] , � , @ c 4E*JX24e>HI �-, ,�� N

� ,�, p � �X-/74 �_4e>839824e> 4E*�Y � D 4E*2- 2A I @U8DA D Y�8JXD>HIEN � m4E*�YDA+7 �I0#>HX�@M09XD>>( BOAC> * ;]U0?-B7�X27 ~o4C@U8,( �,-:9G( 8R-/350#>8-47�X,05(gY rX4E398 j 4e7�=:( a 8Rr j c � (G(Q>lUH0#AGU � (G(Q> 8C(;3>-:<+*ON!#"$"&%('�)$)$^+o�|C/1<.-�;=o$9#)$^FAB7+)#b�7�-���&)=G�sCDFG$G�D8G @ * @M0#AC7L(Q> �-, ,�� N

,�� �

Page 146: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� ,�, � � EAC7L(Q>?0 �I(gY,<E( D -<@H:j4E*�Y[�i82-<=/-4;�;F( =/4��#AP=:(G0GN�f @ � @ ' 5wBjC Z��(' 0 BG@ ' B ' 7 &tf @ ,G: H . 0 . B�� f�: 3;B+N5p0 ' 7 � .8N � Y�Y2-B3#A+* U��)(;39=:(QIE@ Z(;4CY2-/*2<,@ � �.@`� �6�}@ , � � N

� ,�, � � � � j ^��8DA+7K(EN !#"$"&%('�)$)C7��="`/=^&"&!`;8K � -07$7+23-JA �=o=_ �$2��&}q- �,{&@ N� ,�, � �zc (��0>>(QI �Z82*,(;-�Y274E* 4E*�Y 8R4gR_-<Y ~XNn�h4e>9:E(;3;N m4\0?-<A+*24C=/-:06I 4E*�Y �_(g=4BaU ^ *]05(Q>?(;350k-/* �d(G(Q>k0#A

�d(G(Q> �m(G0 D AC>H:I3GN ^ *tL 5wB �t&+& CG0J@�3 . B�� ' 7 & � & � BG@�C � @ 'K& 5p@ ,6' 0 BG@ ,G:nP B650R . 7�Bt1 BG@ LY&t& 5�N ' B+N L>&+& 5� H .�'K&S� .tT �WL � L �&� @Cun(Q>9:E(g=:(QIE@O~ �}@��*�6�.@ (Q7�>UX24e>9I �-, , � N

� ,�," � u!X �#AC>�_-<=/4\<P82-H@8u%AC7�7 I�u!824\050?4C@H824e> � (G(E@=4E*�Y.�d(G05( �q(g=:(g8,(Q>;N �X,(Q>9I EAPX,0?-/*,<X-/*y098,( j (Q>9>>4�8R-4>8R-/3?0#>>-47�X,05(gY�8R-4>?(g@M0#AC>HIgN ^ * �R-<@M0#AC> -4>HA+-<XY4E*�Y �?82-VU � - �?8A4E*,<,@_(gY2-:0#AC>>3G@`L 5wB �p&+& CG0�@�3 . B�� ' 7 &� L3� � � � � k g�� � � � @ZRCAP=<X27K( K�� � � ACB � L3� � @P;A4\<E(;3 �� � ?] �-," @Cu%A+350#A+*O@ � �.@,� �6�.@��SX2<PX2350�-, ,�� N

� ,:,�,� �Z>>-<Y�824e> � >>-/*A-4Rz4E3>4E*e4E*�Y �i=<=:(;* �F(G<PXD>>4_N �m(G0 D AC>H: � (;4E39XD>?(;7(;*=0Z4E3�4~%A AC;L(Q>>4\0?-4RE( ��*]05(Q>iU;�>>-/35(EN0^ *e� (G05(Q> 8 >HX239@U8,(g=a@ >>4E*23 �y4E4E398DAI(Q:g@I4E*�Y �X*]0#A+* I EA D 350#>HA+*O@=(gY2-/0#AC>>3G@�L 5wB �t&+& CG0J@�3 .BW� ' 7 & = 0�5 .p' � @ 'K& 5p@ ,6' 0 BG@ ,6:�P B650R . 7�Bt1 B6@ L>&+& 5ON ' B1N LY&+& 5 � H .p'K&S� .tT �WL � L �+� @DRCAP=<XA7K( � K �� ACBYX�& �(' Z 5 &l� B 'K&�. 0�@ �9B � 1 Z]'K& 5 � � 0 & @ �p&M@D;A4\<E(;3 , � � ] , � � @u~�4E7�7�>8-<Y,<E(E@ � �.@C� �6�}@ �c4e>H@U8�-, ,�� N

� ,:,:, � j I >9A+* �_0?4CY2-/*,<,@F� (G0#>HA+3 � 4E*2-B4\0?-/3G@g4E*�Y �c4e>9I uo4e:E(Q>;NR�d(G(Q>iUH0#AGU ;L(G(Q>.~o4C@H82-B*,< �Z@U8,(;7K(;3C0#A� Y�YD>>(;3?3 =/4E398 ~%>HA D Y23;NM^ * �d(G05(Q> 8S>UX239@H82(g=a@ >84E*23 �y4E4E398�A](Q:F@ 4E*�Y�C*]0#A+* I EA D 350#>HA+*O@(gYA-:0#AC>>3G@lL 5iB �t&t& CG0J@�3 . BW� ' 7 & = 0�5 .p'�� @ 'K& 5p@ ,6' 0 BG@ ,G:~P BG50R . 7�Bp1 B6@ LY&t& 5�N ' B1N LY&t& 5 � H .p'K&i�-.T �WL � L �+� @?RCAP=<X27( � K �� ACBnX�& �(' Z 5 &�� B 'K&p. 0�@ �9B � 1 Z]'K& 5 � � 0 & @ �t&G@ ;A4\<E(;3 �-, �?]�� ,�� @t~o4E7 U7�>>-<Y,<E(E@ ���}@��*�6�.@ �c4e>H@H8 �-, ,�� N

� ,:,�� � ^ A+* �I0#A+-<@G4_@ EAC7L(Q>?0 �*AC>9>>-B3G@�8X4 RI-�Y�� -47L(;* U��SA D (g=<=a@ 8X4 RI-�Y yN �y4e>?<E(Q>;@ � N >>4E*23 �y4E4E398�A](Q:F@ >>4E*D:�8X4e7L(Q:F@l4E*�Y)rX4e>>- uo4C=/4e: >>-/3982*A4E*ONJ~!8�AC>HY � � �Z@G4C=/4e7�=:(K� (G(Q>lUH0#AGU ;F(G(Q>�� A AC: X�; �I(Q>iUR_-<@M(2BOAC> ^ *]05(Q>>*,(G0��S;�;�=/-�@G4\0?-4A+*23GNM� ���� ��f �hg � 5 , @ .�,��(' 0 BG@ . BG@ � &�' 8 BG5OR�0J@�3 @ ,:, a , c � , � ] � � @ (Q7�>HX24e>9I �-, , � N

� ,:,�� � �c4e>9R_-/* j 8,(;-B7K(Q>b4E*�Y � -<@U824\(g=luXN c A+*,(;3;N * RE(Q>H=<AJAC: � �Z@G4C=/4e7�=:(��X4E7K( �I(Q>9R_-<@M( A+* 4E** RE(Q>H=/4gI��m(G0 D AC>9:FN]^ *eL 5wB �p&+& CG0�@�3 . B�� ' 7 & � 8 & @ ' H1N � & � BG@�C � @ 'K& 5t@ ,6' 0 B6@ ,G: �9BG@�� & 5 & @ �t& B6@ 0 .p' 5p0 )iZ]'K& Ce�9B � 1 Z]' 0�@�3 � H .p'K&i�-.jTV� � � �+� @D;g4\<E(;3Cp �?] � K @ �X-:(;*A*24_@1�SXA350#>>-/4_@ c X�=4I �-, ,�� N

� ,:, K � j 8D>?(G( 8X(G<C>?(G(;3GN !�"$"&%('W),)+*,*$*n- "=!�o � �={��=9,o ���`7�- b+;FK N� ,:, p � �h4CX�= N j 39X�@U82-4I+4_N j 82(�� 4E*�Y274e>9:crC-:(Q>84e>H@H8JI � � �C( D rC-:(Q>84e>H@H8JI*BOAC> 2APX,0?-/*2<b-/* �s(Q>9I

� 4e>?<E( �m(G0 D AC>9:_3GN^ *mL 5iB �p&+& C60�@�3 . B�� ' 7 &�f �hg � H � 1 B . 0 Z�� BG@��9B �z��Z @0 �+, ' 0 BG@ .�f 5 � 7;0 N'K& �(' Z 5 &p. , @�C L 5wB ' B � B :�.xT � ��� � k g g � @D;g4\<E(;3 � p ] K � @ �I0?4E*DBOAC>HYO@A~ �.@`�*�/�}@1� X,<PX2350 , � � N

� ,:, � � �l(;39=/-:( �t4C=/-/4E*]0GN � �Z@H82(;7K(�BOAC> 4E350X�h4e>>4C=�=:(g=d~%A+7e7�X2*A-<@G4\0?-4A+*ON � �Wf g w B Z 5p@ ,G: BG@ �9B � N1 Z ' 0J@�3 @ ,:, a � c � � p ,8] � � , @ �c4gI , � � N

� ,:, � � �c4e>H@ � 4C=<Y274E*�4E*�Y 8R4gR_-<Y � 4\9;- �(Q>?(;3;N j 4E*,<P=:(Q> � � ~n(;*23#AC>83982-4;]U m(;3?-/350?4E*]0K� XD7�=/-/3982-B*,<�ZII3505(;7 uo4E35(gY A+*�8SAZ@QX27K(;*]0���*=0?4E*2<P=:(;7K(;*]0?3GNi^ * L 5wB �p&+& CG0�@�3 . BW� ' 7 &�� ' 7 f �hg �9B6@�� & 5ON& @ �t& BG@ �9B � 1 Z]'K& 5 , @�C �9B �z��Z @0 �+, ' 0 BG@ . � & ��Z 5t0 ' H @ ;A4\<E(;3 ,�� � ] ,�� pI@s� 8A-<=/4CY,(g=4;�82-/4_@g�3�.@� �6�.@7�SA RE(;7�7F(Q> �-, , , N

� ,:, � � �c4e>H@-� 4C=<Y274E*u@)�ER_-:(g= 8fN EXD7A-B*O@X4E*�Y � AC>H>>-:( 4E-/098 ~%>84E*DAC>;N � XD7�=B-<X23 � � 2AC7�X2350G@j 4E7M;L(Q>iU�� RI-<Y2(;*=0G@X~o(;*23#AC>>398A-4;]U Z(;3>-/350?4E*]09�)(Q7 � XD7�=/-/3982-B*,< � II3?05(;71N ^ * L 5iB �t&t& CG0J@�3 . B��' 7 &t� 0�@ ' 7 � � � ����� � & �iZ 5t0 ' H � H � 1 B . 0 Z��J@i;g4\<E(;3ep ?] � � @qun(Q>9:E(g=/(QIE@o~ �.@ �*�6�.@��SX2<PX2350�-, , , N

,�� K

Page 147: Distributed Data Structures for Peer-to-Peer Systems A Dissertation

� ,:, � ^ 4E*Jr}N �$-:0505(;*O@"� =/-/350?4E-<> �*AG�L4\0G@]4E*�Y j -/7MAE098JIf~XN1un(g=<=aN g , @ , 360J@�3 � 0�3 ,�) H 'K&p. y��9B � 1�5 &p.t. N0J@�3 , @�C � @�C & ?60J@�3 B ��Z�� & @ 'J.W, @�C �O� , 3 &�.8N �*AC>?<+4E* �y4CXDB^74E*2*Y� XD7�=B-/3982-/*2<,@Fu!XD>H=B-/*,<E0#A+*O@���.@`�*�/�}@ �c4gI , � � N

� ,��-,� ��4C8�AJA,N !�"$"&%('W),)+*,*$*n- }C^F!`;$;3-0b+;FK N� ,�� , � un(QRE(Q>H=/(QI ��4E*,<�4E*�Y�rm(g@M0#AC>��q4e>H@G-/4�U �*AP=/-/*24_N ^ 7-;�>9A R_-/*,< �I(;4e>H@H8$-/*��d(G(Q>iUH0#AGU �d(G(Q>,� I_3wU

05(;7e3GN_^ *�L 5iB �p&+& C60�@�3 . B�� ' 7 & � 8 & @ ' HFN � & � BG@�C � @ 'K& 5t@ ,6' 0 B6@ ,G: �9B6@�� & 5 & @ �t& B6@ 0 .�' 5t0 )SZ]'K& C�9B � 1 Z ' 0J@�3 � H .�'K&S� .UTV� � � �+� @�;A4\<E(;3Xp ] , K @ �R-:(;*2*24_@/� X2350#>>-B4_@ c X�=4I �-, ,�� N

� ,�� � � un(QRE(Q>H=<I ��4E*,<c4E*�Yxrm(g@M0#AC> �R4e>H@G-/4�U �*AP=/-/*24_N 8X(;3?-:<+*2-B*,<14 �DXD;L(Q>iU ;L(G(Q>��C(G0 D AC>9:FN_^ * L 5wB1N�p&+& CG0�@�3 . B�� ' 7 &x� 0J@ &('K&+& @ ' 7 � @ 'K& 5p@ ,6' 0 BG@ ,G: �9BG@�� & 5 & @ �t& BG@ ,6'Q, �{@�360J@ &+& 5t0J@�3 TV� � � � @;g4\<E(;3 K ?] � , @6un4E*2<+4C=4AC>?(E@�^ *�Y2-B4_@ �c4e>H@U8 �-, , � N

� ,�� � � r X2- �?824E*,<,@ �C3H82-/398 �A](g=a@h4E*�Y m4E7K(;398 � A RI-/*�Y24E*ONx�C3>-/*,<1098,( �_74C=<=VU�� AC>U=<Y �*A Y,(g=�0#A^ 7M;�>HA RE( >?(G(;*,(G0��d(Q>9BOAC>>74E*�@M(EN ^ *xL 5iB �t&t& CG0J@�3 . B�� ' 7 & � 8 & @ ' H1N = 0J5 .p'If @!@ Z,G:�w BG0J@ ' �9BG@CN� & 5 & @ �t& B�� ' 7 &Q� ���� �9B � 1 Z]'K& 5 , @�Cm�9B �z�zZ @!0 �t,6' 0 B6@ . � B � 0 &(' 0 &�.TV�W� = k � k g � T�� B : <��S� @;g4\<E(;3 ,�� � � ] ,�� � � @(�C( D ��AC>9:F@ � �f@`� �6�.@ c X2*2( �-, ,�� N� ,�� K � � 8,(;*,< �?824E*,<,@ �Z8JXA7-/*,< �Z82-a@O4E*�Y c -/*,< �?8 XON � * � * � 35(g=4B�U AC>?<+4E*2-:9G(gY)7K(G0?4CYA4\0?4[A RE(Q>H=B4gIBOAC>�>?(;3#APXD>H@M(k74E*24\<E(;7(;*=0K-/*j� � � 8Rr j N�^ * L 5iB �t&t& CG0J@�3 . B�� ' 7 & � & � B6@�C � @ 'K& 5t@ ,6' 0 B6@ ,G:P BG50R . 7�Bp1XBG@ LY&t& 5�N ' B1N LY&t& 5 � H .�'K&S� .tTV�WL � L �+� @Cun(Q>9:E(g=:(QIE@L~ �}@C� �6�.@ (Q7�>HXA4e>9I �-, , � N� ,�� p � un(;* �fN �?824eA,@ c AP8A* ��XD7A-B4\0#A D -<@M9E@\4E*�Y �C*]098DA+*JI)8.N c A+35(Q;�8ON j 4e;F(;3?0#>9I � �C*�^ *DBO>>4E350#>UX�@M09XD>?(BOAC> 4CX�=:0wUH0#AP=/(Q>>4E*=0 �$-<Y,(�U 4e>>(;4�� A @G4\0?-<A+*b4E*�Y EAPX,0?-/*,<,N j (g@U82*2-<@G4C= Z(Q;?AC>?0.�R~nu �E~ �68>U , , U

,:, K , @6�X*2-4RE(Q>>3?-/0kI ACB�~o4C=B-4BTAC>8*2-/4_@�u�(Q>H:E(g=:(QIE@�un(Q>9:E(g=:(QIE@O~ �.@C�*�6�.@7�S;�>>-<= �-, , , N

,�� p


Recommended