ࡱ>  }rr}`  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_abcdefghijklmnopqrstuvwxyz{|~RdO)dOlPicturesPowerPoint Document(P,iSummaryInformation([ +zŐrgy[#PMHZHZHZHZPV+B'{ 81a"BRϥ@$jbQVE>ߺ@ h|;wpq\CCC(J>㸹977?:zߧur\Z"0 566666z<۷766J_>66VWWmKKK4 Vul|ym(oDt嶶Xp||U kjj؞2"윛K>qg}q\ U55׫nߦM`Ϟ=D0>> l6R]]](x<;v АfK>2ӧ~ɓ'.\GU K'MIXggggUUUYY0z<۷o9IDQ{LAN$9Λ7ob`0x .ܺu|>qUUU4FGm6[>3gΰ˗/3;;DbY.K XF>A +%KMMѣGx ADϞ=D"\ZZ"`0899ID$%LŌ`y,Beňb y-'fR]]===VWW6allD"D*~'(i̲_y9ݾMrfrid$ۅ!" ˬ SQѺjtC@*i_fd c/t0Zmf:/Eltu:beeevirOF5ȑ#`0%D444ϥ;PpmtEVT󷁫W;wneeeǏg\UUUƍOU78uTܹsg[[=}Ν;9NsݡPM):;;5_!UN:.,,ݭNٳϟW:h*Ʈ.:>QL|l@㨸'OQKKKWWÇp/.>A$a?>nh6Çf}|>HGEGӓB|>:|\u_kO57AN;6)LKKKY?,?SN餃養 **}haGxԤU.WyJi~޴RZ{BD+++f̨?sg|F^>"MMTa}=*v#KT'0DzlSׁ@`鞢޽{$ ,=zs2Wzv0H++k5O'˳T(3:::88Ӛ |we\&hanW+JkdfPNG  IHDRqPLTEк ۣtRNS@f cmPPJCmp0712IDATH ]$GZ\;3XHi0ەG4 [Ivb /8AYw#0 Xgv\ҼzWޫRz R-Ç֢ZU\sJk O GcI!gZ wEqU4Qdi|`Q )$};c),NQz*U ){5-Di_&~h&Z*GdO.:y^q᫁WYHg{*-!~vᒾΈp_qn.@e~O^ cX~)Fņ}= zIzsXѾRMM6.^tW%u:x]{fQ9yH8VƏUn9ɦ̣_yǯI/3X#-;Ss0>NwB 67M4Ӈ?xGk~·5[6gOn4nuuGBL8C)N50My;WxRI< c0ksr"rƟ۽\]`'!&T>I|0iy햿1v}xKѠL_k]uCݚNsջRZ., YmrwfO-Q*ށ/ amK[SQsF/г'B^`dP3|H? @cT g8k.JS1xLv99zM|_E;W=m[vRNI%[QwQ9.1]H[p8;)t4F}H?}=j |$ :VEo׹pVXW<,|tͩ/݊h>KxRu@ /ptSfxuJ#: AfU<ܯi*͝χCj;+&5_HwWXxKn΋o_ǮcHʻeÌ\T Yz\ѿsB4td&*|YL3«#yrA|'a ? H[k~$CxefުZDiZdfbsǺkYza@\[O7ȶ7f|Rȃg6K-ܪ9X9\.B9{Rp?{Nto̙+T'sNb{<9o[iL8\$CGOЎr'1:Z'?CN6:Y|C1X?,;V)0c榎Z"6#q{( W% 1,e fؙeˁ/:Y b?7`p&; {R]#n9n1rbbC4ru7+` 5pr᧫#x-H==G^E^E?9| 6IW4HGtg;˄Ջ(+'MbZ 拨u)Si5\đ ERLZ/Zˈ_+w~߽eB*ay.vUW7?8iQϮ58~gnR_2oS䄡5xv\wzeoU) Ae }ZFz oB߲y)~Dzaz/TIIENDB`ngBbes?l$PNG  IHDR|` gAMAܲ pHYsN IDATx}LSOdѬDSe B)H yJ1۰@djƎ!&>l\qMhE3Ye[ qVJ-֊[potK\_ׇۺ pn9s|>#A, @AAAAAA]$D-[O'OlٲE$:@9/^|E"QVV0iRmmmSSSF'**jtttpp0::֖7:: <4hjj5kVee%@VϚ5֭[|J@@f;v,==}hhÇaaaΝ\hBHNNX,-zϟ?y]Nw#GL&Saaի.]QQ[[[W/k;w.`bbH$bQ******+4&d >66688bٲemmms>z(,,lܹŋ{8Nu<񪪪`ݎa\;X,8/>$?166vbJCBBD"!o$|r vڵk|I<,*,Μ9C^}v?9sW4$gAh̠>;w}'Ƶk֭[WWWݻ`y،j4@.b*l]QTHtG8[Ak`HKKZ7x hM9Lt677?b8&&W^r`u%NOW_mڴĭ)))e'OݻwtӧsHRTNLL̞= CBɤ/ARtB&)77y tQmfbBE \1g9EBoolYreBBB||<{1k׮ݼyC*»/_|߯mFTh8ϼ~v(M ܖFGGWVVBɓ NCCCp N&ǡ MGEE-ZzӹpByY)΃ݻI~C[qH$)zzznܸ122]]TTh4IIIĠ:6j|V%FRuuu ^h6w؍{[s"Vq\!Tv ڲ6R1/ҥK\}rW^_|977755ի:ne&@닎^bƍi_GP 8G'N(ʦ&V.8~ɳgϪT*FNs۶m8 ݆wõ7a2ql6={?FDDlܸ133y?hĶ9FZnJBͦjip8L&Vm`0l6$3L|$WC` DJc6==p8T*ZrYoc25l,LZzR ^VۇfYƺhYY`p8nĤ>੩ {VB4lJr{^Vȡ"A8P*vorIOѐfEmAjM]Sڮ_eDaz>L&3 XV溂 Jjix\<"Ts8ͼA]ӂXf3츸)hZr̙HEjU*DEҰU*n@ҒÞV2w'0 N s".EހMdɒ!*Gjvy.]pp/8,__TǏmݺVe. "''… ٍ8#>K JbXV744v;7Y[ P(n޼9a8sV;;;΍\Njkk;;;srrO={,' 2d2YCCCkkkXXD"D4x"##oMVVҥK.]zE#srrQeӦMlOw:7g%9~\.$fZI@aZZ7#p:%%%EEENXڵX,VT---2`]@!rssI 0a||;44trrr͚5iii7o&?СCD m 7+ҺBV[[빮FaǽuŒפp֪T*^Pˆ^++T*}zTM8;.le4o6woBe/\եZFybu\ YYYT2Paʕ^7Ҥܫ!pݍp΃Ǐϛ7m}A!qfq&qdc&~"i&S`e5ܔ:3k ;`#r9`ll Ei{`5Qxmm-7aTW0 .FFFvPwk facUVe S80 C#@+APC L6>رcwpFp&oW%Iaaakk+L&2 {/Ӊ|ZLׯ>}'JFC.W]QD\ZT Q555 |BP\"rMDD&i=X,h@4?(Iuq lfoU[70}T*Y'V,٦0 ST& 5لH1|$& U %ryP\^/zŽ{ߗ!4}H^+ 6뙧@⪴$oIN.^⪫}u0UUUܔ &L&cܔsF8h7aӾ6>Vm׈D8R?>gwɁ}s<==]\\ĎJ}%#t#sG~)r2T4pbERTYjZvAgCeM6ҧPǭ2\BtP%y뉉 Ƙ%=<z^8W dYFQv8R} -#<ƀ;1"JҪg7S#7CS_LR1]\.L&MՅ>oX(VWWݻ?vJXgϞw;d2===W^ ӀSN𫘙"t:~Iݻw|R^*b:w短~h4cdҹksN֎=:::W_ BPt[R۶mo @<H!{g !ɓ'8g۞PԽҍj)W)% Qz*:(JlMtVyBPqgOQQMtܓ=ݫLMMUU(+++d2(OA1QAD""lvtt4+C):)0BqI~L4'uh'!Wc!!LF0Wӏb'ELJ Q(FQ.%IT*T*--{3HTJRTMHoa?GVlP(DHGnPnWަl6KRUP(JoVN$~[YYCCCj!wVcccz\^^lߒ~!z<^KP3r#6 RI7peIXw},W*$ڐ^TZU Fv(![\\ 6'4qdhhp \Z@jZ;C, pnJ%ϥJ:͐tUU!"1B腄X,qzC_5 #F4SSS򩩩٩)+-P(c(S6!!?BUՄgF:";C3!.Pr^9*drvvßc`(h4("K  ["\R[u2Z.ky((=#t F.VQU/5כ`uj h́^I Qfc*vnDb=\Pl<_R8p؇ɾp@WG*^5aΞSmm)2֒t*Bo#d`! )\V5H$Ģ )˪i2td2i8R@x iV&/68e"Sfy~ހ=G!|B,\1ΉB<J `B HGqA!(Rr" PEڥ{*0EaGeY.˔"JJ(Si |s#G" B-5Md27n{|Z 5%I+3 AUU$^n{0M\UUɤRb;hC:+++l?hbȟE$SaffiZسELL=x@VVj!\.#ݹq Qs?w+ IDAT4Mf? %-e+++044t$!"0u"lqV[&Ĭbd@L 85Cs*̠FiZ*{SEwn4| [ $IThbQT4nO|[;Qc $IaMυWzMoo p}7!A,;a===#g1 kclΝt|`$?P(ܿ.YX65T={sCbb#C@?fOWSL`\.Qr.M'CHno%Wÿj<~ hkr6]Dj c䦷LD |b1k}Ve d5Y_|Es"@m8^?#Ց=P9JiBG`8'}FUMa38*9S(t??:&]1̫J3`D$I8pASev#X}60ƄE-(nCR )IbM;W,N#X={Pv>&[ںn EQ*}: ӺaUt:M5n7T*hXJ_~xZ4Pz5[~ux>OڂCME>K B)h~`)][>y -cp2қl(3 '$ jm =/G‚2c}!dpfE.\Enb*V|חNu@n[2N€`$ 6zEEe8z{{[hp6o`EZoo(',ˇ6^fp=PBiXAm]r2jAGeaf) o~رCtCdpUU'5;«"VoY6meH;9E݊?_%STY,6h-G Fk@TAR$k!NJׂ1;IвɬgiɅi||1j5JR~AUUl^xǏVfK |j\<Aoa!{x+1m)l -fpQPUubbL!+kޞJ\杜O"q:մkr+ݾPM[ N(-)U?3`Z}h!H^7 ]SSUudd1sϱf-)6u yD̺D&O!(D+tRcVd'<&&6@08:c=22OBcI(tǎ~V8UUz-~Q.R[t>{d* T[@}:-#}Q>՘0n|k4MQT<9O8u_3EN7<~-Ogffo)[@Zt>99Fz-} AQbAS38n|\4 i.I6 |62-I]P"?T,alܸF7Mw>(;Ri<~.dpzbREQ ]+~%h_966 9gQ8ّ8QRr^UOPX1 3\UUJm+j7$8.uBs0xI @)xHiܖMNNvww?;6actBWb VLU0{{{áNEQQ2)cv䤮C .Kw_3H!:Z J::: `҅uC7V4≯1i '-iz7^nCu_330=*L8Q(aTgXsK$০1-1dpl[6I&=!q>njˌs^|$8$ NfCCF'|(cBG1e$x{5a~'‡ BBqdҭbU Z9ku:6=,dݎw8P"hè/ʕ+W%7Ra dV&K`*V7a1;*^/.."9S cW2I3~>99qƎyOˣ$ NfxX.+Jn Q9M6xAZ1'[Q%m!LQ(L'ZpMlJ%5Ql~~`p!䅷YFiEQk` LE‰zH, 'O{ ;=_e6`eSGMNNRy^== i,˒ cX,F-EH<Ȳ4kXt`Sh8B`ggg)i++28)?~:SঠM6=ni)yhhV}wX&E & \T*: # b?z.ؙ 9rDTXg3TEC[;)wvvI&!MToiqƍ'N䓛7oV'Ohvȑ7oJ'OܻwC]r?G|;w_-,,A%_\\|a>x⯿zQ!}۱>XOOoL&muV4d__~… Uµkzzz=z#X*:uԡCZWVV/$Vd2N >|9444++kp4@?W_ Q(+W\`sA4O|TT f͚5ͷn2Ni=888<<᝙uVn>}~yL&ɜB:gs5ܹl6nVu!!!X8  ]v=|졌f{4׷NHdXX˦3nȨs4ܕe>>?E*zݛ7o644 P(ӰX,ޔL ܠv)lsΩj^ S*  ">n, 6H8ƕvBl۶ !TSSb І j5( ҒQ"&cƌAAA.\ 0e)dqN|rOH ŴJ_*$IHH!n:~'d>ŋRtV#@tXՆ3pyJ :u*>{,D9zhbbjj?2L+v=..l6k4H;jjjr+l9992xWWWDDDggORRݻ}}}WXFDDDDooogg}:;; U 6JtwwY￿w^WW) ֯_ĉ?3//xwݺu!.zCC+NZ8WWoݺe0Mxu8u8Zx) <ٳg,YuСʊL= ]r:%b,X㈔NG%$sBhѢE l6?~!4{켼<G4ccc:F9Rjkkᓀ`%+BCCm_~iBXPL6l6dP(H$𣪪>]zjkeO8p2;vCH@ra w0sss](wٙSR>T*!RTՎ7F- @D`x/7 ]X ZO":BN#قƜ41 {z@Q(Yp0j$SvŋGEE_OO\z葯̇Bȱ.je޼yf-6o2???$$d޼y999N2d2%$$,_fD"ȳw[ZZ(t`Ϟ=Wfm&$rssa^`@j_ȑ#4Ξ=K:fophh(ѣG SND"r/fM>%`BM 4&6!((!Ȉ (F))do&>>%ܾ#{G؇=}411'u8DT(mFxC  BDR?yB𯹹yرׯW,JpHG)QLz@OPSS388Vɇ O cp ֮]K?G-Ϝ9XMJ9X,Z#PH,4 7 *J,4|lTFbxh){B߮@D@@Ѕn|aGt#F#)Gk-cl߾];2P1BKVNu=Z{fO1'R3I( F)(cbb?~֭Q[j5|a[[[LLS[1cƔx{6G+W@Jv+ʲ2:FN| D7oSN e˖ .Cv=''u//E3α*^a%Kx;w}T*^?ydPkkkRRju,o۶m^s6mciiiSN]xիWY ZHN;s̈o?bq IDAT%,WP__T*_2,=wn3#2[,څj:-- ~]X,QL|^BFQ&nn) Cs TM0ѝ<)dlkk 0/7<ӡWL&X= ahhdCjX9s;qDWWϟϽ7ndffBVF88R--- <]:yDŽ  ~ᇊ Z^r`ۨT*eQ e@2 `+07W` >AQ\\̯^MMMZZh2._Pշp 5 A`+>l@H2iq٢@_7m4b /B@- Ac^@Ԁ9BmT҃lFAekϙxQQQΦ188^,9sLN}}=s;iX\i@ nXbܹLy}wD^6ddr~`z_[~9|0xeD.mR@qlY>d9s 7"J%${ jգ dSq/ }/ c,0 tF饑h7NKK;N Q 3Tr'O*w"V!38HߣF2Db, PȞ8460A8vbX/p…oVRR'%%} VED"3!O{C7c1mڴ"zPaCR :u:csU  VfY&t7644 IXRRrΝ2oTCJ+W@ΓXUȭ\ZZxMłA픔VX_Drrr$RLOOwjO88(ˇ6V==F ;M_9Z+ɆH$- -#)E &qf譫V)IF0)&KC]wߩT*ê<&! vr{yZNJΝWՑnX&Ml/h$L3t:A#D"^2LX mhh@şkBB Y-..ּ^r\LPȑ#6l3fٳƘd2@.@?a|E<0!?ӏZr1df Wpdsz?͂+$Z>,JJJV 6f;p{z UTTw:3XIN8'dn,7ӸFڅ 8VH-:s2Z&;%AT\nZ]i&M$J= `g4!*v9Kbp.3ߒ^Ih%bB6{ \.,B90t:\|ވ, B m䭷r Y`@{0MZ7L 0=RC=c۽toZ5&,lZQyX`E rİ2EHN%!QQQA3FX,x!69&ڔ[Ƞ2J=ܹJj1116An| V X`p`,DnF32vLb@ B~QlsP[/ucpl#- *~6hqTp]`p.>)xVA`$$.VpLUͣt#ډxK%qh42=c `X놏~/{h'As%%,X(LK.uvvojzSRR&~$}Qʓedd1t/??V566nKRŲ~zV{ q=~ÇA<+++E\ܹs&+++Cxr'$bBA'p&K":b6 x(WZmիWKR8˅O3@ rss/]FmN Z,c%TTT ݡCD $Ifgg_~}###oP[[[YYА;Bh~ErʲիW#=!yyy@;vرcٳgB:J$F$ H$===Nbv3jT'I!#G Crb[N-/D:G>^h s-?~LMfB`)M_IIIR487</`>>>ޯɗd"BZ0r_vmppaSv[*2Ou:]GGn_Q6  bttԯ h/ *v{GGGSSӼ#K݆Lj!D:"ƲDh!p#@:V}*}cW!8p 99ڵk!Vgf̼|={ׯ*7o޼iӦG=|ynUissz=ق코P)\Ptuuy], bc[x ׼ >_|Ez/N'Ёwu9I$^{ !bŊWN=d{{\._Em411QQQD+h2UPlN+W$IP}JL2޽j%''޾}[TNOOGFFfddK.fDm$ ؛# [T Μ9`n5k / @˦ZuGD"u+<π4+Źf Fư >uԥK*++Q*~0oܸӧo;vts+I_o@Pac@t ѸsNZk9czzPx̰|lr;wNt8uuuAáljR>!H:;;׬YVq!-[ ~WЏ?ggg#JkjavDA?߈ eQh<,,lŊret`xƍ@ȺqP688Iy$..CqLVSSc@:/-UTT{aoCTIww7<===d(8Duww'%%Al*ebbTPS08ӹ\\>W6!!!8ڜNgwwwXXXXX`ZVu^JnѡJoamcL&+**jiiJY 08{H$JnDCu;'H9-umE 8/#EpY%x[PU26:Jmm-GDDttt0l̇ y½=M*ԄVĉTlGFK/ Z$FN㯋lZB.#jy}S2j]]N{F?nGǏ?h4n:\^PP~mOm`Wfhh 8SPtb9۶m[JJJNNNKK+¼i/[kESƽ R AiiidFWW5`bQF#u66992CGB@^j?#4M06$jkk\;~oV&cpZ7BsG\KO=Gf52D [^qP`dcb`x𝖴.ʝ}sssJOO284sF%y.BgI{#] Y^<{PChHLλúŪj3 pLnFڦ9w`kÎc )Holl_F& f2V3EV6cyI<@k0߿g9Bp[p"0Y!Eq6ف%aI'%SG00ݻw/^&r_Bس."08AXJ__ߖ-[@Mfrrr||<'''B8ޓsun0 j7" Y^w.^ĩs=csF6GpiʐbX =Z ȗ2TwDe^J[`'fpj^{{媮ASPPX]]]PP{)J< Gpu!|> N/].Q2}bbb@,`QW4QM(Mh ).+==ߙ2W\pjҩ0`[WhQɇw$,jL633#!4$ISSSUU՞={i`0Ǐ Ng}LxW_>!qСcǎ𤤤έ %A=S*qFj 5K8NB2IIIϟd]]]===4Hi;w 8|tRHӎ WVV&JJԲeˀ(}t711upQ Ӳa2FGG$Ioookkd@|/YO!`pXI J5<< GFF⁲(**:sLCCCII gdnn.dTTTAAQ|K^.ݻ!4559"eNZE[V%d2fK$J}]^xO!`p@`ڵؚx{]d]vJAnn.787"`"8ž(*Brj'VkNN@3` IDAT|2cCMMM#+Ó={#***֯_'6={lII ELMM dر#‚J֙@ѱsΨ`[,dn#b0+V0Ą|0'P^(4͏?H~F|t… oܸ[o%)ðU厢6xޡHd0ܺuڵku:]jjj+++l6~D J= FGG뢬 ϟ?2~ +pzz:0"nh4ϟOOOvO|x )EeժU(!N_rС/nʕ+477s.^oEEE[['qcSLIA- BhŊl% x&66*tonnF}GӒ]~!tI"JɄՙE jt:i6 v"('R xb eP&5 SAAC59s$c`z`AQNE0ƀ<Da0 < @ӴIl3U^^RGB0 ,ȴ1 |rвeoxV3$`y&G9y\q-BS,7čl65RI3Rʸ|>+AKK Bl60sAjL4uVXQ+3ţG~? AAOBsC$vMIKKCUVV qlr]飤]9$rG ׮]bWf-\T!I7ۗ21@9_@|>E j,Y?Bw|w8@iX>2;(//Ge I9_bvx"2Fќ={n3a!u!EbvcQptsZRjQ`6Mng> ‚̍nRPWWu q>=RӉg)DWS6>y#MNԊ^)ECN6ZlP(W^M}9vKC EH<.ώ/XhڵkܹnZ߿1`0<`d̎8ݻwWZ9eDV!*4ѣGoN0ӧږ,Y;wXWWe‡~(*n+hooWmMӧ/OzW_ nۿ 0 8ަɸ ˅=#`ll rBe۷oH DKkQA̺:~(jJ>7{ Qڑv rssV+OBdФ7*a0$Ng( ͦ|JEb>H ΞB. aV+w=1; B7v8]-Jvv6BVB@VvGFF2228)3g"5}C"ؚ_}llH*A0|Wݻ܍O<9::v؁I#Ugw"Ry޲+++:rJE5_:eL ݗ5E U%i<~#7Z qxN~~89,qH|Zvڴiz瞋*JP^ϗéBӖ5ԩSy E()yD1n(Ea#RE#''gOV+UIm#nh uuuWt%na4Y#GaB7qw !V+f^ҤF qvuueddjC(?𹞿WIo˗/?W\A555͝;4Syyy---fY( | kjj=H1J5{+;wonll|pؘUu0_~zƍO?ĉ#_YYY'@ ''G-|رcrgH_n]KK^cڵky[PP.|&i͚5j!`0?3ꪡOww38#;» OÇ˗/݀(g_:ux̎Fٷo~7o6G]reʕwuFQ ˉѢh4?Gg d`X@L!RH`MXʴ$*i2cEE7\QUUHqKKKɩjrPع'@;)rIJ D:Y") üHH6xk.Ka ABjp F@cAAAxDV:B_0xFFFUZPq=$W}깦)C-77M ,[ ŋ!co#"tq l6BhԩN"޸bq:=OI06mhP*.k,0/EfL)uuu呺8645}>FE@0Cas\fY1oBH}eE1/]%w,M=Q~?{nFC[yRL9 z2n%\\06R59pvM- 8S4Mv_tMX,|Y ( n ϡX{28KapŎcpMҁN_x2 M]\MHDN횢0+"q:V:% =jT:bէKt6boZjnλklVT<.-xH3_ :)b `3ؘMA!+hgSv2{>EQ">1"t8 1> luJv\v GE}I`f/*n$΍ >99`eoo/|}vÇc]J+T;t:3220}󿱶OP}/^Ml tնi.\2܍Efze64MpQA{\Otkqꫯ`𑑑 !/]T^^>>>ݐ`pP"הz:)%+W$.tIqQQN ƾ YzAFY-ҕ={6B;1޽{Æ eaaaooݻAްaÇ#/-KpŽә;w.诙18J$KllTn t[Ij{ bVD\=zgϞ=99ѣ3f fΜ|u*F]`p^h4vvvA>UUU4xwyg˖-@_E:tg yyyrS!渠t!A744;v֭[![:Bm޼n|jR@```@\ }}}!vl6oܸٳQ ~!ѣ_~9|o؊Z`BMa^q{ 8~К5kkNގ vl6~qgCeexSSܮ:;;B:.\,Kqq1F(oYQQq…~HO:^p!4&* 1ckEM>=233hL&q-h47|EرCz۷o7 D^(.ȮaU\\v%>7eʔ~ݺu ,Zh|||xxgΜYxӧBa̟?Z911S$ Lq <~ k^vQPsss\fljjZbGkDvB4M_r!O;ݓ $nl{ߵkh :nppPSbX0sZZݲޥj B((++nݒ>A0mkk#1 Cd4D3_[phݻwC II^neO wL&zmZVV뽶&޽{B:ɓ&) ~'D__.8# B311v7m444KK Cnno^/i xDŵk}b!kd2tQ+UWW{ib``;wٳGBl6=zDk!#PgffrAe  f,; Vada֞8q߯jM܈5qic{#޵Qaoq4 sY`;j\dl^6i$G(?ZJP;m*e]bAaD4ӵ)iZ *|?|33e=Ϗg9{VVVeka9"]D@.8<3A? IN!)LʙU@(NV:\40>*t8DޑԮt:nZr8$#qPhU#Z(Uz<צi0^Gd &UJQ:+PM~:`Kf룦Z(?O Ș޺u+ZAʐRrFd͛Ae2 7G"ZW(s?R:{ARD jJP(V\bZ=w@;!Kp/UNpHpHgr՞u2 rdH R#Cn:O'>_m0s/Cʕ+ &!ʁnLNo!iT0x9;ށŖ(ԧBO'xƠzVH6X.tvvJS {wسh@MFhмfpJ^fd^Y+BdtB, 4Glۃ$nק9f2T­`3)k H:E_L1,Jބ=G9޴Br!xs:^&ӱuVD\UL_ Y)”'0v+$ *UKDZ(yB4k#LJmfp03)co@$|8BaȖ<;#-9mi?_ImU q:"u˅s1hL# %wXv6CNC&G7RSu:MzHN/|n؁倸8&qM ڵkߣ|!y 7XL?t9y>1y[2O4=X'a^_H4]J>l`OpE&T2*d9 5ҐW^:_&Iݑ.4HӵmmmGC6 HӶL&9L#q}N#[;<)68`W `QlN;;tM%,LAΉt:MPSQl >\}`Su)궧`Rp+.H$۫U9%<$'Θ5t|"qࠦ& X"V477|~?@.M7-QG0${Z7` Kr`!)9aRZ+\i p~:cD"xtaXEEEv;M q7]L!R-oJ@"!UmCp [fw]Ҕ6Ac ޷o$}~mx<"A&IВX^'qeh+"ɚH!;ypз(SSSB/..fǃٺun V7M3*tLMM9AKhRM&6-I͹M`U,Xk5rBܐoGT(lhH }X\\?  7v08ij6h bjj P ,03GВH$qXssqyRo\ !<[w:.((ܝL&oqҷAQ!FFFLN%I9W q:Qx˅j`Ź2h}㬏Itttd$8C Q LZV52tt8"ϑBٹ}'F~28DG߂ $ 0 ( %u:?)..`H !kBtn&L Z@-`YYHr|}b;з ,G~3B4MScdeKF zy~9&-i@O&dF5p1ԩS黥/lpz~T@444bP"򖖖`0uߡ ֙=IWu&1a;@"tC.< dkEdpq|rNlqf~:*8% ]S "碏F-iȔ~<إIژr+KZ7G28W`\eϞ=H)1c;9Hi&x< [ZZB&t*CIВęD71e3Tw y Ua䕾d$;4- H$WR4}YR8ޱ/+p'1$$\\R 5$`' *\ OWN'ʺ@---Gm~ВlꤏY0/ 1(p~o5 >W .;)0d?/vIXiZAD4m CX)j|iw3*W>z3IF(F"t:#N:vEɲqEE<NN!Sz/l-qܕG@).AK+ Cnx`g%K \i\1ksqM m)Ŝt_aҷ@U_<%\aHiCH\k" ŋMrHt˅k\Lό###@ I/ST*ZaG"d>tHqH$hhhDLPIqtEZZʖ#]kFI$q"ʄt˅\{rvN*.ŹݢehSC„`0YfA|>b躵*h `/u8yQIc$n!^hL#hs EQqh4jq5N6;;;9]E6dVh4lJP(i:›4jy38GSV+Z7tww[]۫7NvE9P(d!demUВxcu} |44:$BWut.ևfUx~1( b1I/+WF"':x4-f_p΢Qɘ- ZJɅ"& Ӈ]+V@sa-Mr6WGЄt:-?crt$뵜6gp).0~$P$*$"d(P!`XsGbŚk<2D<PHfH& Y^^:4}즰J ABC;FG؟-$BW4*WX5ep)TbŊp8lZ rJ~e;=|@Ņ9[CӐI@ ] wv lttt zzz===ہtr*GL eX,\StӣA;uD"ۣ$9)t.h*X333 QRBhbbb||:JMLL R!R!,srMںu=[kvH 7$-4d>N?DԹXgq|ɾ>Q޼ysOOOWW͛uuu u:d2W+Sj((|=@!7b1NI\]'+A0R*\8eb' 533&DGGPyGGGOOOGGGWW| ~%~itTܸb:ܓd04>ZsmE0,icxI~I玟E ])ʅ4XQLR1RWW7<.(YApw N5KRQWg8Bʅ;}Y 20a-7 Bc=d2  }xз8hjL${ i^˜"r?I'kuqSR ˅ a^3逕br(Ѩ#p#ž&$cGdҒ>4R**$;I+BWX.<+򀎯h2t$ygg'oL6x ~7lnB!::$(aU$Aa8p*8܁C_j^uY#Lv>@UNZN ݧ Tڇ H pQʷ %_ٮ d(hA[;Gf{YKcQn7l#`ۧ&ʙB3ޤoq3{Vr9aW^^G|pځIs[nH& TՑ~'WɛU15|ܐ^T.rq28'A%g Q:&ian\qWQMj{!9Rx,_{<)ŏ!2yx) AM4-JC:~+B@άuc8_A3ӟ+ۧ>kzA0OG гF㦨$F+M4$aZG 3Z݉#5! \ o N^qݝ^&+ɍ6AP(\\\ F7 _IxSAvɈ:ӷ+VhCH&D"H49  A0qG"sgizapp0_888O><ᱱ1{ww}555noo///G߿駟ޱc ?񏻻KJJx O+D98rkkkM7x4uK.w~ѣ?яjjjFGG[[[~O?MNw?裏>裧N/~Z&''׮]{ŵk׿ֱn;3d^)= М(?sG}x"`B˖-[t)?lܸQu >;;DQK,{LrTD&y뭷=zܹoӟXرc~{ss3n {G 9L }o%466k_c5[no WZZZ())9|X__?::166:::*y?=#_;Ǐ+{= c B?ϪǏ'K22+{+> 4!!O+hB'*twwwh'q/Kԁx`2XWOR2677@> a|ltlpf&k%$ }/^ O:N .:F:S~###@mAh+P&7bihȯ&ġ .:^N Cw @ diįIY5kx$y yl o6#lI(pֶ\OS~ioob [Js<ommEcVq /p6nX*0k [lph0pٳL&388k׮뮻nhhhtttΝ555Gd`O=А%W燂c;w"}^ry׿]vBܵkc FGG+++'''-M`jMEx YX^Z[[onP'''76)?Uʀ׮]L&M6PϞ;wB$"hPSSs|;P>|'O={{AsT+ 7Վ@p!- KnK>8ZTE24,G w!H@WKKK0D"X !ZZY~p(o 8,M-%%K3gXYl -[\zd dlV&6cptPkkD?'o^ZZCфE%Xp7H?H,]wۢ& Aj娩ccc֭b:T2蓼/x<; T/ 8LS4k2(`ߵ ޥ* ZuA[2!Jp2R|hE9iSPyoMepݭ2uUUUx7kwe0e1ʹƚXVkv8f6 EnjjilFV5:Ze3gV^f|_w~W,))E1NRC5{b:yD7x#~Iظqɓ' o@ضm߿+~nLb3̳>f͚ 6_UNIgjF'UH[ls Z< 孭~? b1VD" A wUUrKǃ [5ǡ!$Ma-rp4Cd !n !r(֭[5GYFb(!Ͽס ?_ ɆV:uB,]t-Duu%KrJ5YL9˖-[t)xjkkLOn馩O?4ꫡPgzP&_8}|<#5kּht۶m#qx4>ꫯV>d/;*++d{'\RR?㩩)}WaÆ/,p'xbǎ'Qg@} rppP4Htvv:tUa|jP|_YYIر#]VVv=~ 245j&1>>.?(11?+O?O>)**'|jG!׻| "./}K$_s^[EQ|{9|]&з V  ۶m۰avW|D|7n߾hthhܹs_tE֭#qc؋8!400iӦ]ep+[p AǏ+Ruu5v}Ǔ(^r%S^^.lAr-dn+=mܸ_wQ{wy&&éڵ ].۷;vw}衇,XF?oư8qbӦMo ]w]*<s̓Β KKg}vyKg)**zrf˖-9x ΟxOh.`=B… ϟw9p/^wyt:͠\;خ/| ַ=QPPcmڴ|ICSӝI.~f:_.\+\-:w 9]pa۷ogϞUW]zwf0f;sӦMӂ >}ZRl… v}_Zl… .#op.qĉիW[= .㩹p2Ã>XPPpBAE͒*-u71AYYXX "r8?/iUX M2jHdJ Sl(wzzߗ׻ byw/^f e +)~޹ݤmRG`#֩?޽{Hcn嬁HH~"u3{5 Fy$e ԴI}?o|OKe>K_|OZ; _X&rwޙyrrBcW׶{L^tȬ|hlreraY%'*4PqO)z6\huoiav: /VTTIO46u7 CP5D hHD+?J ADV?6)hKKhҥK YjK@"9X1httuӥib~F`Bŋ/ndAx)gJ"@VlR7ʨ2&ꃜ@qj"ZYYIh556 z@Ai٪ϩ:,M8  Kn7:,K: [K+aP01Vct5-%DČUlHIDR`8Q_``!_@abbɓC9/yZ5'@i$*&[XAoAG9}{$)E<e"~Vߍ mhvq1UVƷmG/=sc-Ӫ@*:8m6Ɵ۩4m33TZJ΃MLPsJKX٭p8 [%C]׶x0G:D|8f7{AHؚ ,/S$^\/Z"gX6ꦵd!H A/gdPHXGHۡƷX"M3g+䟞28jx w rOFyK&?#FS}rzLP}Zu@6^<)ՉL3K@KƋwjkkn7>R,eYRE\.(cDD76纶V T\ |.A3=hfaj4ڽH}?ȿP(atArD| `݁JƋb)lad9u˖8zq)`Vȿ ",[oa|~s.@!sEqay>u0fůzM03Bg`PCaAg։p85Tih4\Pt/y8&kO&"t 0/Μ9c_?|>͆`$BEE F /% pWVV677pΝ;eeeԄBPBy9-*@џ$566ڵmmm!nPg׮](mijjԘp,DQ-y֭cǎE"RI=O[[;:<<<99?;gEK(=22?={fKKKfUWW?{L> yfǏu<϶_}U-r _?رC=u D??(|+W0w e,Æcǎq_Ѷm۔O@YQQѵk쯡7q8+doۻwo$Y^^&"I=zw^$I'N~ÇDT\\|yl=( MMMxJ`F$J9N~ʕP(488h۝N' ͅB!9;;tjk 9z>jjjjkk (@AJR`uu5UWWA9b;E{{{$I뭜PA(]@}m/&"bmm(ɇ~K4Ǭi@vww'y>+}bAySN9׮]K󐰠|4F(@@DRwUV]ZZ¤0`Ah,(SSSl{~~~nhBgA|2pݛ_4zʯffe|?yf б4 qXS,Bw@FٳGG ߯|a l- @~Cq&"@>?P'BKK2Tid~hY 0ԄAlI$ AXDB!\4HAGc%E akMG >?\>=ʻ~y>~0ʽ Ÿ~ .8N/Nѣ1㟰%p{<P qdcvvnXVl% ?yomP088'O~X, ?8)k0^xjPAe% a~UvT"`\gg瓟AA^AH[ff햟y"_~E^St655`p(㟠1Gt F̦BqGIAH;@C"KMMq @DAu099r @ ?92333X)?AeZZZ>\]]ߌ@C h4ZUvYsn˓АT1Cvg Ρpɓ$&@aϗŋYgAk ʓ [ y1 eeef+7 rfZKJJƤ$MeD2BlJIIqgΜ@O?@= i<! ľO?aqQ!D;Bl')< ;!Ainn!o/HJJT!86hq\NNq!~".\FhB\HJJxtݻgϞQ ?2  yW7AHHHvZyq & 4MNN7.&._,?lnno)Brr2 ?Jiii:^,..V#4Jtn߾]]]΋(@L; ݄w&?aΜ9 j흟%㒓 F(_lOᅣ/h44@"%[,qI-hZ,sBׯM&biK~---j_KKKOOfqfiiiQ|b&55uffU+++al6ӏ`vXݷoto>e/yd2߿ttɓ~˭W^ &Hknnƺ@ O=yD:|N l||e+W,;>>.`vvԩSFVﴃضWm#Z_ww͛7SSSFcjj͛7Y~ZmJJ !Dte<̰,{#nvT^)Ȳjaaaee6Xw&)11R__+U^`n:l'̶>HMMM"M!Y,AnBl6͛7CV[[;::zСgddH Ap(~r~[nm  w?fYvee%%%90ӧO8P^^NꚚ?644q7==222r96󣣣jϟsV# Ǐwwweez}>q:OPֲyzzzzv%\]]mkkStr\UUUsss:nxxXމV²No"_ x<BD:UVVNMM,j5444F] 066Ν@u4믯\"BffffoD8:>fKKK7oޤD2q=wQн{͝8qbbb4] |.@ĢOLL,//zfѣG###4-|ځRRRmzݻww@W;l/333 a n Wnb/ ѯ055E(l#)Me2X%ͅ]mBqaHhqhojjb+**UUU; 0 388vqJhdfqqqaaZ%%%ihqhZ˗/eV|h{H!涶,BHUUU[n\ IDAT[իW@KHHqrr=|piiiEEEc4@NquZ0RSS?+..V; 80p@x$$$%?)Ză ݻwN:522Bؘ(A 9S$۳g!ݻ۔vQA foojUUU Q=iO~ F-bfc %pO&dhwEkؚn-bbwPXXH)0ؑcǎaPx+m̤-u|W|q\ EFgseeE&DqÑ7A +P@u<1-b_w"A 3ELrߩD 1 #J<!jP ZmqALCw#O~ ={%#N!ml6ɤ?GGGiF'ooԬ ;@o7z-b۫xѾ}pCCCkkk^>xƾ>wm!"@daii2;;+?:pl}}=ԭ566nK.\ePK!m˗/ϟ?Gwȑ_o B@М911)fffNLL˵kMx#H~ϔ?ȿBc@T((((--%HMx}}SA,=xzQBNt Zz}`n<766&ty{T;R:N(æ6ݻw?~h4^Cz}qq'OCǓR4Q^Bj<'&&nL>++뫯yN s'3j@/[$&v4N[^^l6BB*!![:K~}O~p2: N(͙|{tDy<{Ig8l6zigoo/;Nahqeee_~esm=ų&ٳg@Aȧjkkcǎ,{ԩp8gFcZZZ!ӆƎgϞ"a }G!<RV> [4;;kgNgzzTh 6gff^oE5vtWH'~yBcǎYֵAՊ4D_Z[[_z !.]jjjĈ2CA9b<` zET>@?O^/Zn߾g f~'_w5ļHnq L&BHvvV.??߯;q\xnl*<19w޽{N8ػ(g-K/Bf+,K `c t S DBB FbA/D+Qc,I4-Z XR[b peZw|;.;3y>.y;{^3===ٯ ݻg]T|MN4yLx/@`qqqxx޽{o߶U3 6'áU?x0 !FFFҪfllڗܸqzV͊]v;w.??rrrqq?es8q_%y{ո{SSS:%ϛk-VX,i1Y0B466z<;[, r(X3l{$5NAc g@6'.ӷUʍWIB_EEŦMݻ722*E9[^^.((0;;;۷w^[~yμJ'̙?5M ȦAo lC<BdhvI$ccc1\ W\\l4H8pz%oW\bU>/^?7%9lz_H6qv $% dzd^$|r=7)׮]B=  2JGq3}3'ΜGtppU۴_xqէJ=>@642lpp}]?[PP0??o׷ a;+3%-[kq._l<^!z/W@R+i9>B@]ק>l!zo||~D1@TD"a=m۶>.7>>C= kΜ9T1x#藌QrsaOpi뚙J@K1ta\͸<#D"xީgcXssl8N!N:e,//9rzHVӴ[VUUݿΝ;sssܠ?{͛7Ϻp @rY6Pީ* !Ѩx\ g={&4+rk]\ZZfqarIK9rTU-,,Bx<Ϸ`>;77'SSS`t͛7 8leӦME# ^oeeeiii[[[ta^N@4s1H0lmŋ+ϟ?XȦ7U˦%Tj׮]vZkl|RϿh4ńΖ !'J"hooϜ.$ǥ~RUվG޺uKUJ!ݻkkkUUmkk۳gO<ꫯ+rX]v{u֕H>͛%%%BEQO:e>pMMͿ Zp-eׅw%1GGG׋l޼ّ8taM,Eޱc#MfO‘1l$~ҒuMCCSl\ lfffΝYQ]{s$t3g0\ ;2}[ ތcll̺0(Jyy/b/t[l?ޛdlH$*@]{3AGGG]v;KȉH* {oq Dfff#3g8XOq p૶iooxO544l[H$&&&e!H$[lYicccFvf׿쑗c<.//N_:VOc]E65h,4;S%?Kv;v.::: t0… 1 45;rًf'O\௻KX]AAAwwhM>!Dyydz^m8 xm۶=}ti󌠃8 )@S}}/owY,--dlL9{u%Žも'N8[-8 x3sRP\_2ƍr[M2΅7׿@F@F@F@F@F@F@F@F@F@F@F@F@F@F@F@F@F@F@F@F@F@Fi_$PNMM%=ܬXRt]O'5MۺukUUU]]ܹ377x ***vڵg!.).S.)hccc4-,,4-??? kMIk/ )υUU -,,j&T"]hӦMH$"8vXQQkkkAAAp!&-^xa]fGYxZ)'b?ʢh,Bh6;;[VVf>SdTJUU=z-UU+++w_|YTTSUUkkk+>xoaai---`PUtV]iӦ5_|EUUU  ?~ы/pxdd$ F?3""JZ JZ JZ JZ Jʜ󯬬,bBMfgggW!Dcc_rXu=Hriu=z֭[7oޜx<w^---6 @R?xBǏKKKCP(xq>!}{FW2׷'_KIY=)2ٳ^UU۷?y$CLNNb1!u$!555px``@U}-,,TWW[[rI+s$cN㘕qْ~jj*ag0߀r~{bbBӴh4:[˗/%S%iWmt*s}{RIbZJrS9(ʾ[k_ qSSSMM%bXKKKWWWUUl=%~.d8vX0ܵkWmm狃%m[YYYZZ֖#oBӴ3gtww|ʑ:?WVVZHIq*k``@7)ꍍڍ;۷$'/i470JF暤}v۷o$!Daab4IwzJ2ҫΥlI~_SNcVG9[ONN Yp$0Ԫ8/JCCCK555\tI޸56j7l߾iBcʴl?~HrD9"Jeqw@C(kW~ N[ +$J3wJ^S4F B%~ɖaoFl GDR rzs% 2xP_%pԗ=!q`G [?q,RE( }3 eYt,2gB~ tq!9i&&NN!1Y ܐxvEQNnHqnH{ 7WI*gOIo_wop%$?(B3"EX @azzzbR4mzzzK=}ZUCl:^T޳\.s1=}Z^{jwS*NuUT*EEi ws7oTJp3rԴr YxW+8== $_JoJ*y6LYL$e633cY"zTp$5ͻt:d:<<<l mg2~OU* h奮4vN帱srrnu]o4ZS|m^STT$?,wBC.A{Jw7miSPCTg,EcPM86'IԲ,zQQɫO|y~d2drkkR^횦I.R+>&puvvD5 I66HxN/9;;kZ/u/onn$I$ Rb8pbb}۶YsGQ:K5?;X,L4 躮b '%&I@>]|Xwnmp?@O"EX @a(QD?T8.ДIENDB`nTo L1(ltLsPNG  IHDR^bWgAMAܲ pHYsN IDATxk[|5in՜1X6;9͠UFXGgf7i]~AF86ݐRD5aZd~_ؤS39Xhs{|s6˲6"'WsNy\RŢz@c!          1cR"J !RTGG(EH$<(cccenwl6iڙ3gKkF{{{___2uV0BH$x/z+9Jط(UիfK,uvt:Ѩɓ\NW- T'lPw۷h"ͪvCӴl6fw-w|333vNJ8900077ݽm۶[n-kijj)Z<\?裁!DOOΝ;rBJ/²o W$-˵ʡY# MB-UE!z^w֭.Kn<9rDX,f(ʑ#GVD"ڪ(JGG<4G[[[ȳCyxY4t\arX,&[JKbf?v&.]'N,~ℸtf2ޱD"q UU#H04M&׮][@  i ~+߽}cdcǎ%-[tuug24Npooa{e2@ N͒RTww`:ʞi5k-$D/~BpX,h,B!L:44$,=АiEu]fpc6$Tnˌ,+N`eI}}}G,1u#5Ҏ;Z\\,022211JKKK Z(TUoP(vgggKr8t5+u}rr[i,iqq+]=]c t=]h?u=ə;=BG;~||СCB UPD"&SW.'wܑ%\.#=ώh{tknww٫:55H$Ą (XZZo0b+pL&sYUU@WWĄ@@qL&;|駵VeL&366&KꚚN:UgQe# `s{y+Eèg]k,HDUUbX Bh4Z(BFyͯx\9_XFf]׋ V.ˬG,)E&B!FOWGjlHC@{irR q7ʗ_}% uP/'X%D#4^bU;J4-`_~3ވF˵k>쳧7o\3~'|zo=y9?xb\#?l^Yƕ]rʻ}}}tZN@<[`X!.gΜۇ>|X۷oknBydL&#͞ev49Rɦ5:FGOUX3m%hƾ}*r͗w55>/ۅB˧H$LB!9lFtZ>Do6ʞP!D<rC Y|whhHj86gsT' %Qep8,ODrSW[ԑ/fFJ4ůJ4Or###ĉ/03L&IRw﮲\pcbbbaa0NMMbT*uŕVXMktUvY5:vvmĚln|/a}ȗ<2W\\BӴ!!\t yM٪+-ai*A<uƛ9T4\ !=te!{g{L/ 綾^zIJ{9JYhZ#/_L.6wY#FS6)׳528<}?/{]l+ #`M577 ramITlt2 P;TxVD#D#D#D#D#D#D#kT*H~lL$GQsNT*ѡ(Jkkk*Z"lY&Ͽ˝W^BtttlٲСCBfD"'$It:|[n9Vl85Gu|9??ҥ`0hqUU~m!uV.Baz/^Kw>/,,B!E'O*x(k6ݽ{|dYUUnphfmјdN>=>>rdK>WUupp0N|>_KSSSqnZ֢XT?`#zk@0H$zF-K.\xO?TRZXIYFԑv5^EQFGGGGGjYm۶홙ҢaB0fgg[ZZl26dÆaٳghhׯ_ !*Pݻwoggٍ;Tuh;T͡TyQVӧ~,~m]#H[[l4xg`5jWGj0QD#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#D#kT*HR)٘H$<(cccUl|> k!a;vH&@  aF 㽽Tjnv E[@GGT__իWcXwwn0 F'Or۷o_e`0ߊkluƿl*E^XXBe6UUv !ilV{n455- 5Pj>~0ɜ>}z||r-a֭e-MMMtSj&QO4VUUZ[[|Y0zzz"]8 e-KKKt+ZճgD=xѝ;w&I!DwwΝ;=Z'*2:::::xZZZt]1;;Ҳm۶y̌[[uPzniQ%LkLfϞ=d2rBañw΁ׯ !Ng$x<@ Lzn)jTGjs֨iof41rn?={x,s8@ -ۭ:C=g`D"h6;; &&&JgՑOC*  ^UUu]F{r"==BP(tƍu#Zc.rP( ^,u]7`t:mtM8knPUUuzz|9==j3Ko޼cǎ{MMMYLR_|XV€*vk} loo 4z1JA]sbU/Wm8Ν)\X,;wn+`]ػ~r1v7ekM q@ _v6oEq{fBh4/eN+(ĵLb,kLMn=??<}zP+rpr}|&]ywwލ[^!E*/cǎE!Y*Bnk<ݻw_zm۶#GHV[04"JtQFBNy .\x9},VB:1-0FSSSS[[)..ƥBe!:T7$!P$~@ !Pj=SBe!p~?qR):!PʽBNFB( 'Be 1Q.,,dVBl & j}T*U*U& ! N@!Ϥ1??_SS8y!Pz1V{cǎeB! &i׮]Nve22}c!Wd WYZ ;-th[Jⓟ7o;K>}V?#"8)| Le޺ Z-T GŊ@`n%Zm3Y@GtIШVyZ-84zrvZ]]y78ѣݻsT*9[\\t:d¸/|)࣏Ҿ`n?+j}ܹs!~r1BD299VWWs޽{t OѼgΜ{jG'gZ4PEpHauu&3b jbnia[$Ьtvuuwuu9,--Z ^:$a4^ϟFgPnp33a5l2 01Lh GG.W2~G[&)pcZeO#-@ V#ByE\s%ꎏ ˲)~-D$`xxڵkSSS*V%BHL22*+|цΝ; #\.qIIEsUWW:u˗^G|_"28mRFeU 0 ?L8;;q\SSS(:tГqFxm9n@ШP(H7p)c풷v;|LME209OR- -qʨĨ@UB3g/kۛ30yJM`0WHzgQy=ALWP,fg<#B_6!{RFAarò,b---ϟc!5O1SEoOLL&(8}}}2EDd8 ᰽&&&D\GqP0$Lz0eT:.ǩhl6k2\.r頂'r`0%=QSa$/!2 ՒGT*LA9#>Kg+.L4YRFy{4|.eqNٳ 'aO4 no̅B!̌Ȓl6[5cV + H-XD>鮸})[%_1s~7:ĉׯ_z|t^C5GUTT97S[p}Z[d$KcqӒ"Je9dѥ7Y, +++x3t:??>$X-**|fgg{=`vgI;T'ѣa`nv%LwdNZ,6e{sl >x[ ԐX$$;33JxY ZֳY󶑭C_JQz6Fcd[mR'{Vgw7ܼ ssPV~Z萺Y*vbjkkS(o C#JOBcKsy, U(c힘<$9Rhl IDATQP g}&5,bh$+n8,$+/.!xPVBPy7}}}t* N[H&ÇFթ04B`7$,$A244$Dzlee%=oOyQP%.N@Y$7?~sVww7|0# 0~+b nep8LT7q^(aYXl:^ؓ>Njr4JI08==uЈQY6:\һFv8q`bceyPDQPG[[[ӽ8|t%qlF8>0%C,^~ @[PI# aY~] f3W2 ekҁLKRPl񎍍UUUAMm$ ;wB鬫SGqq04* [•5J q~;mdZ+fA<Ŷ% u8.0\HDFMMMP4 ,7:;a ֞%ib4I%[p-BPe\)666GVY\ >* Id[BСCЫs@L&߾̧P:iʋ#$BcGGGIIIOOdphsC& e,AO#mģ R(o` U9`h+//˸x޲2a^oVyĉׯ_{XCU ?F_e i ! ' ,[YYvS_| ,'Qh8nbbsIƬeXd2}ױL 9i.~:BX,/_$+++ءZ- WVV!T$Zyرc}ϟ"r --PZ V+p vU&f3EP\'opGONN?~x+/wVvJ=fX,ziK2 i:T5`CCCqq8Nbj `fFzj0'ȘeCO6*uy<?{Թ?߽nBfYuhܛvӛ"2ʆE$flJZsDr.b` NZ[͠^}ws~/<O #='Ks|~Vk0<(:kB\`|nߖ<.@(Rr'9}!K0D"H$bX,K$-EQ4R\.it8EҷD֟ 1f3HTe6퉔#_B̅eVMÇgffz={d裏]v)Xnbj&o$J Չ 0%b"34Mc>BDZkx3W{MP9rdxx#"B^y+%CiK̰krrn[ϟ>!%ֵa].  y!.0>/K({сq!# ,**"VRxwALze~~ܦM'Mn{ӦM6lx޽{%%%qoφCk+_.>5!%)|kdddJF"Ž(xHnfD"lc{{;EQ$,6nOIRaS,3>t/%c(ɓ MiN7hN(C!5ky===l#b.T(bR&43ˡ{)ng*+_ J%cBP$B_,) Gk+8v;|PUpLOf7LT*߿/uGBiEEobl7* :jxL҉q n5TJ"FR GVzEEEkhKC#ʕ8%i**X>LIUUU?#BO JCZM.GGGيkΝFdgo$igˇgdd$''GmJ!K@}}f[鎥.=[x_2ˇ)tnܸ&2 'mB(INNz;vCbB#BH]pZuDZkZ۶mcZָ֦VC#l޼fRE@?aT[[ ^FijjՇaan>-ǸZ :t@ PSSs9ђAQ#j|iO&Z)Bhoxц.]$f\L q.8Rp:qzBJ,q/P333+۳H?j>5rޅ:=B5^x1nP ^FQ. PUuuuZΝ;PWW;wY^<%p`G=u{0̑#G$B!?oj؁/\J ժ4-˥P8J{bP%ccceeek%a0Y"-۽h4FO[[[+<@ !DڡJj333d'Zq%wrH\BKx ˗/[OZDچُ=R^ j^nF f3EZ&iqd/K6jlm'^!.(ܹs%0 "BhmiHQ n>R:gkk233F6!|BBcGG^z\ Yq: 8N=UP_+Ƴgϲv}tt"SN577WVVގ"Z.&i"CM&S;rb!-.T*>6}#b24 =KTsB(=--dԸL{D"{ݰaC]]ݓ'O MZbiwyd2\k׮MMM7m`s;1''fg/v;MJ/#Bdh8@`2(fqolE555`@ 0L$G8*+qA?K.q8BX~&6jX\\LJr\.Z@kk^(jj47JJJݻIQTnn.rJ5==P?WL8 ##Pj4?M\lifp",B!Q% 6`0\ b8j5xޖhkk EuttTTTkZޣ5Yׯ6d2ہɞ}[ g}vĉav7 A!nOTb)333333`0 @ Dmcǎegg_zU.ݻѣp]F6,%v,'B tsjkkS(Ph֭IB+#%_xK9===Eq:>fŮ5:D"̋F> M5IMm5JR"zQCUFGGuQz_L&2bΜ9on߾(Vk^^͛7>\XXHQ?cr[YY~_lFN y|dF(w-[!Ъ$ 555&d62 IƋCRؼFCn2Qdy>ekt:HC! ccc?\VVVmmFaDtBu5 Ǐsߙزeb.B(TCj5ـ 4M[t+z Niihv[n{^a!D5R555E7`qqEr*n"t !Ǝ^z CyyV] fb,}Ν;u:F,BiC@ @zhF%}BP^`B,&T`CCCQQe=wpuFbebqS& 8o6`\Dt"$4|z>??KK݋Ba5"Jw\.ZMF^(M˙M?!^H*Ç(w8eEBGH.V w%B!) ߡOʋر*$N`4 ٳ'TB( -~'+PP`4ٳqo 996Uq{K7 ̝$Q+b05?[12226]B ֐h@BxJM "s뀄ĮuWDMOm]9ݞz^ks>繼m+B䧩0<8>>(Opb wvNץ(BXH5446lȶԴkiY5j͛NWEe\ؙ<yb@رctPoY+W(r="2Z(tU)Mr\mmm~m޲pY> 'J].ն-pqwt],YBEbn^,gM$v$TrNꫯD`rɪYΞb 2g6Vwb6!S_S>6wPl:y#N}hqKl.pϟߺuyօt:,ESSBnkW:0l:1NDZZZ||c rJ]^x]ׅ;w|ϥKoT2ȓ7(5H466V4ܙDM _~̛*T2z<۷og^v<ņ bjx.W_B9rĆh QΈ'~3::qܹh4ZW !D[KGXϾD̙3ҥKlb'o=4C5\zBرcs},B(^[WL{nСCoK6mrE{꺞}~?L*ώp\'L !VZ%yޑڢKvOWsɵr| =ydne˖Hmmmv>A$ |jpcc3-EQ`BYUZ$̌(---x\6bEQ" 1[nɻa\Runa~_Ӵx<^9uOsĉMӄ}}}nòEUݻw !6nxʼnnE Q3ٖd2j}}rytއa1{Hp8BLr]m뺪y}}}￶x88) ٙg``D(x<n.466}ef[lۥѨ; !)a8k ޻<2R4BD9>CՔF7ns@@'}J2O^tmO}&}6ZInB8!_W<@ 8G~ς@ 000.$ɷLӴb@`ƍs-ZrC;a)1,z drs}j9vn},ʣΝ;/]EM$C+h.ͣn޼Y9ܷoАy@MM>pw!0'}jsX,6::F]ښ7 -|}}}~_!jkks38 *1᥄Qc9)qe=ٳgg]Ƕu.]$hllT%Juuu8a===t:ujkkUU^݅̈́qJ9K:T(T!6lĂT*RU REK[:PBJBР,EQb爈0!D8 !*  !ӿ_yڟF&E1 oR`\T)jA^B' m<\>sK:S_u9x:szű}~Q3G,t|gߣY碊GV$k[d1xqE!`r`7?^ҵZ-tI}dRpՆa 0wF :V f^ 4 G*zUhmrrsbr8l2QUUNs^s?ubb"LTUUUUNJdYޞ܆w生/h6WY/byc~Q, oriQS"4˗_~[wDžRissx?8 !Ţmwݹ\.nOUΓǚif&i4JP XLN߽{v\NFa۶bQNy^(^͛x|ҵpL&gggrH$?(JӼdǚq>0&/T({||(6%ɣf麮i\o\VL&E"ਖ਼u]O`\04|-~SӧO]u]MWn[tyy955˱Xuݛ;lvD455xc~t]>=`-x3X, =ϫT*tz><;;e^":;;zei8Hzzz7N(%A0LDT*u:#":<gAMAܲ pHYsN IDATx]LSo47 3R, B,ǐtuH@b"cF$ ,(96PR9F AMbW]bspN÷ 9x<8=X\:$5!I uHjCRp]XIm۷nJQT[[!/Nikk + ž}&''ᇁϟx<Ǔj4^|uH ބԳr\R[rݺuE"虙\.rD _ yOH0Lmm'OryAAZ޲eBذa!$99xzzڻ#EQB#^IMhll?NLL4z\r!/^`HRx?{ ~o?}C~0 SQQߟh)VU"H$:;;.|"8VrAbժZBhnn.,,,,,uuu3@|Q$퇶oXuEeO:꟱oفO*&w8@t#[ZZ>3۽:66 PI $؅ !'NX^ NKJJVד?oxxƍًuTSSKf||<XANj}СGڵ+!!l64xO*SN{?~\Rkbbb9r(!2Gx@ 0̈́n(%p.=f0B!0GVjGطoje]Ĝ.ʝ/K*))Zǝ;weڵ" 6HLL }<|q{X,SSS)))+? `I$5!i^RRC$5DV'⢛ nZR/M}zSS060qͶzLwWVVn۶bJRF(VZwtty<{;JBqԩ/TTTD|+ȿd4 .Lddd➞s!7;99nC.k9_8¹:nrÑ]|Q~~~"Hi4dzyf^%IZZ` SSS~R M>;;{An :5K)ʢ"JzRWWwޕ4@󥼼||||jj*%Qt8C79W'Mp,g%}n|wNOO[ϟ?gb¹k?×{NwM6KR^z"+m_!)bɭVD"{ Ν;T*kjj.]k׮{-MjNgsssaaJ 28WGӴh$UkSD" =فOT~:=J%uHjCRp\Gt^^EQׯoiipI +pUUUy<fXr79ļΙvc@֯_!@QܜP( a(@l޼yt: !l^6' lҒLJJZz2}4]QQA>uTJJJPG"pܾ}Ν;/^ܼy3EQW\$l6R977绱ʙi+R,D"Cve2Ykk<OccdzaPAR@dNO?ݶm[BBž={U*V=wxa&''7?_~`b8--mƍ?>}jZ{zzKOOtA}aiݻ?`nnR |׬Y344,uBu%H$Yrπׯ_yFz,aN Ac###&tT*\JqW(l6{Te2Y_-bN >ihhbOaJr S@ nd2Y~@_TTsPl6[VVٳgC( `6m||;}...޾};s;ǽ{n޼922"v؁s  t6mttbX,ZsO>$V:I vNÿv @Rw`:Vݹ bzO I 3g.@R!5v:'znߺu+EQmmm욶qn{ll1===//obbb Øztl\P]zrÆ III]]]/_ܱcΝ;].#5h@cw\ =gggrJD֭s\.K.D"\>11A]DRɿixx)1/D >y򤨨hdd$99}uzzZ*.Ԭoh4>oօ#@cc\.qbb"!ŋKR c7|uvI0LEEEOOFaH$:;;kZ8@Y7v\O gdnmmDh+|/?g Ï?xGkZ_o‰>44d6QW_B!bX uVPx?x<OjjhzeWWݻw9*\p|wÇ !':::=INFNcf===[nH$v=33#E"\.vd{nf.veff\rڵ7ڵ+Fի:N)((P[lQ(6l $''NOOn-B<O>jiio=z7.Bܢi#fa}voo/M*J/svzRPPPPP@6^'0|{]r]V;*`1 c0j5!DVLv'(KDӱaѨhfffB@AQN 1ƍfG}믿ϣH <–;::rssC 'U?7gffAhp8={644v *...--EL4=00p@__Ge$2"6mZvmwwwXĜ:ֹ˗/9rٳe }YSSwވ\KRsꜜW,fi47NMMZij~pp#=::^Aţ!}>)0jZ( h &RVVf0Y}>vXss3]sscVW&Yfjj 7Z^iq |KJJ8X Tp:ގDt:WeH34M:th~~0X~K!eeeAnn{wI#mbm:gDqT M 3CڨLBMKt0^$Wp3g hh dNgEdqA1[2tH)=9'ˠަ^:׽?---::N<_\\\^^n4;hqi2ƽ߻w2k֬uy͖^ZZ%wl6B&%$$x =qQrǎ>t$:Fi:+v%4 S{=n)D[p!!ݻvB GOOOi MUTTՑ)CizF{0h$8qBAfCԤKD'x7 7ojeff:Zu0jaaa?caa!톖_LOt:oݺE;wz?Xÿ+L4PmܸQe1u:=|``Rs!a L2e턐{[,Zg _hQzzzZZ!l6^$~%Xڵkw1 Džݻʕ+yf/a:d2MK *}y*Z6??_0눥|o8-hpOuQt:'Oܾ};FXcY ---:n͚5{o*9'Yj*^OyIEKECqqqK,G4ψU9s&}F,xe٫WVWW e˖ĉ.BH̙35KIu|gggcccss3!g1 !O>"DEE}מ]|qqqyyhq3ŋbcckjj}1o… mW_ir%V€$Ah4'JF,xmmmtj*l}IѣG׭[Brsssrr<x0b g˜l6_WWG EEEmp{2eʶm!tF,;lcccq9=k7~׿+Wxe%9>>>!!aҥ!"S SOqzjlI:o)Dsi<xLЀ?~ 2Y4&&ۨcǎk׮uuuEEEBrrr:KbOX!ܙ, R&ʞz… .tp #@0|( 4gϞ_˗^z/%F,dQ,}ԩSCCC={k/aR__ 4|hZZ>TsǞ={hJ;qEwU 7 SOŀKDzZuxZWWq\]]&*XՏٳg{0= [(Xb*""";;ѣGEEEt4ҹs&Mgdd`$cٳ~2,j5Mdddvve~7X=:nҤI|MEEN[tڊ2g^_bo;vlIII'O~Jhmmsccc^jZ$bݾ}{͚5tRuu^@Likk mܸqҳl^dIII bYIbmmw}̙3k׮eY6''̙3^xbx:'$$ŋM&:|Ư^3_<ƲlllY~:ɴ~ EgnЮgBfĪSرC~GGGߦ]peNgXXKt=Jj,:$$d]?TRR3 !6y===x&HvPS4^V5))1-eB:yu:nŊ]bM=~}'NcMiMutmG:4tGFFƑ#GPp=O 㖤f̖gL(n```Æ *iijjr}GB=:Kӧ{!ӧ}}}UUU:i2N3'T*Ն Fpy#*cK,WR@y֭ӧOV6u74+#&fn[,dVKq})Lzq=v;Z|ABHrrrtt4ZA:D:N_{ٳ]_~_I|Ĵ/w^/̨IوE:zKlY`0, bCR{zz!8 5&ç3g߿?& y)Wil6Z ᅤVTVTTG/y)K gԊf Ig<2果(Ҙ^g+~D6Ivhs X|2 Ii1 dù[ZZ>;wST)SRRKMM5k֮]jjj^|M6!A9Ծ~HALף^~wyg޼yo@PDxw)Fc:441> CTTV]hQmm͛7srr}HjwјEʸa@GCCCww`so>"cBL{-ai^VVԩdžvj=x !dIII?|_P&Qbt\s0(e٘3<_ZZIIDATVϞ=[XXݍ:ԩGŲVMNNFL㸊rFsD=hLFp.,, "D=hL Üp@PPÇOn0t:%c x  HHH 555S[ֳgҌNIIAStű,V[[['MD_w $I=6V늍NS:}thhhff&2@O=jBbC{!^C:xOꬬtyd˲B@BȼaZܹSYYLLwyWՁ>wޏBN:kwr0}}} 7n܈t |ZZZYYY`4qh!Q\\@QaRnGZal4udFBf~h4:*/-KKK !7oB#88xΝ&)$$rƍoɓ'G9w2MVDžIp`믿-ZTTT?8&*))`L,ɓSN\1 nϞMR Ұ0<Pxp#=}4!$77RR- {Z`YVV]vt~z)t@Rb###Dw X[lB@z>4sdeey, Z},4xE^^g?0I]ZZ`믿l6/jZ6$$aZ4uTWWB= S/X-###͛wҥ;.]:c W#477oڴɃαS+Vڵkƌ=rgY хt. ׯ__UUEYrhy~|{222}iMMMTTTTTTSSm]TUUU /nݚgggw:UUUsy犋NxΒo 4N$tvv YXj^OKK/^hz{{n޼L<~,jӗ/_nX5)))ٹsg||?Ÿ' q7=zq\lllhhhdddHHF9tԩS+**>}gϞ]PP0 y3T*!$33s޽futt,[L>ӳbŊV*;v!ɤR<@!ttt<~gppefʔ)WT3f -FgL .7Ot:/_ .Q4bY`͈m!۾vC^([L ΙF#B!(&,ECaA?Öp!v͖{yoc)=SuuZK9?>~z}ee5k.]KNN>x(R3T*~Q{ɒ%Qo.^/&&&۷I71RXo].Wa1 }ft:{v#6nܨj֯__ZZI~{nrBcJby>336MVgffYgc<|2clӦMJa6EM\N{qE^__xNF3F~`` ĝd&HiFjiX,1 SuWX!Y7yF'w;wb#i98_XXHyMMfR7911QI7yF'0 AN:8nrfffBB|3HN+G|e4h ڧ~nݺyMDAz;v -J\|w-((/† ⽛<#Jccc)))}q=:vXnn.Pab汱g m1a1{ kJM0ƨ;L ׏={bDw);Ed?,ÇW_}u޽S8U__7>|NԂhP5ͱ1yl1JD5Mhc*#AN'vʤHM%={wܢ^2!+uf!,سt-9'S&hLԌk׮Qt8"l$K!rQ4+$JN| /S8DjXQQǏׯ_јjժUVQηﯿ?p +8`PPBw ixxxttv_zF-[֮[裏ˊ)tc. ,YNzzz(MQPPV5 mڴ)--СC۷ogHGYIiiiYYYfd1 F2O("5hllwݷnz+W_{kfff^:Ls@!f(ok֬IMMe @!zG Z-q/!RʠѿT%DH St/;;iF M+,,\|y[ %ݾ}&2vb:\t) zyz;qqF$]ں?e~8|WWÇFg L5U^^TbO-m?#G7oޤTiy %%%yyyy<{Lz1\.:D-K/=yd2q޿~@$Ч-adnrss;{aOBz,KYYYԳ&(нc'qSMx!sV%QV>(,,4s?O1h2Gea5L9܌m?#ȸsNSS>4yY& 1b83k J+V$%%ݺuӧ:lJb'$$ 1H|dž zzzW\yݖW^y[08%t:{{{\+((lEEEv=x |fll})))f455sΝ:u*##b0Oُ@ qᒒȁ@ƍ/^KJJz 6M̨\.))%OM F6nh4BF1??뛚w :mmm׮] eK,)--}7_u )"R8pz ,E @)"R_ti۶m_v\F+ ("R3,˕+W.\ ayDH+**޲e @|QP~S0~EA N&EB;DjC;DjS\VTJ›?@t9T jFjݞ'jAg\~v桡DS߾}[k4zy,yLskǓGH)tT͟P?~,\sGXJ0#"FjNWUUАZh405MwwwqqŋmNҕ/O*URJSqqv} -srrT*USSg+ͯO#ecǩT*JEc$+v&-N_SS y`0>~l999Mqˍ>t:cnjj'vVt:P^WV;Nvcp0Ƽ^oX^ƶ`0j}>VZaZ렛`Z|¯>8'vn7}3m?j5L7_ׇ>~7[Vn-n:}O6t#t:bVWW |hX^ƶt؎;<( kw%Ԣ>-vu:]^^fS?~V>tFt~Ǐ }D> i#lzE˗Ȉ1 Ǐy~z撇U elf͛&8ydrrdޑ>d29r6Y{Ec_R566pX,V555uDm~CCÉ'K <|?)jr#FIWKt&A}Z[[333ׯ_/d*2xw:}}}>Dn~__ѣGO<7 ]]]ޙ^Q+wy' .Zkbqb?~<ϟ9s^J666իWwwwO,N[ oJHC 4ӣy<>B"8 mTP224ӴWj^D_0lii1Lt-})?>iZb?~F~gOՆ/Q 7^0ZZZ$OX"*2ZmwwwpB{uTWWӈbp.O +b^/I}SqjK,SȝN;rH wrH syJ%L9l555><)NbDWpHmc6GGG'NKjjjl63NNN_`0`7֧qg0Bw66MS'OOq'lClٲBK͉Ľw :nKK(~=tPmmmUUUggEN>t86ѣ>/==}֭S7я糲L&j ;"2vb8;vf*v1<Ohtى7"5Bkkkf3eee .di4dZj4^MHHضmS7ܺud2=&iy*#lCP)a_|fQG 6~|*/zߟ+#cZ(fd[H ra0O8A/a# v'ɤ}>jjYv3g(}̙H*tRژ/ZG1VZhjjjMMͅ /^<'{F#ϕVOOO_lYqqVݳgq$qthgsssbbV>,0 V1ݝ1}e|>j ӧOW^]]]sӧOsέ[&&&LK`C@@@@@@ m7IENDB`n@|2BnOf mPNG  IHDRu=LgAMAܲ pHYsN IDATxqlMs C#h80XB'RDxU"J 5 L)Ti;BPNSFjZ%63C%NÚA?$];8}IG]|=˻= X `CXpa 5@Xpa ZQAAfgEQ YŨj6}>_IIICCɓ'e||<BCG PYGѷzdƍ}jVVV8PBTWZ־>UU9BD$VVVfA}e{ÚElkk3L6lK=Eѐ!fG_A;]~ Ӝ.qPZ`PwFQ٬Y?:EvZ e?fKҒ$˗/˲ɲ˸`1tN fzZ kNZ} $oi1c+t3SS4; /ߟEQh굊8G ^2l@ @uuuUUU,b8ڈD]]]>/ZZ"CMMM`IW- -ktv?p*+iݺ%5fnvB!I~tεnѨfD499I] ~baoX,~_bl6-f65WvWa:|~{Im(rP(411p8XݻwCzޤ {"4͛xH$6m4<$Iylleb ߿rrre[L&Ĺs爨{llLjٲeKIIbIm۷d27|ZZZ7nhll4LUUU7af qȲLD555[lYnԩS#^"Hkk f_oXʨ  bsp,<_MMUU5 ^tIQqȑ/Ѩ뭩}$IMMMK׭[kSPWWw _fәL&"eyf… V_$ip&nLNN}vYIQʎ=j}}nׯJ;vǢ(ʲ|mmmEEE(lҝ F) x}4Im8̬K>V{ |0vf/ ~^XrR ՚t^QIBvExȈ"$Iz]`0xĉfs퓚%Yp`ffL)***8KE6Пκ.Gg}֐!%6RVk8q/޽{ ?v4X=22WJq[QfXlw;Ml-juvRQV6xz{{{FKD6-4Ez333'ʓ"x5֭[w1"os`ݻmۖVحi+niiaUI߁@@QVUH/$7pI]|HӴ{'hDFKDCCCeeeP($gͲ Qi'Ek|ǶE>p@EEŝ;w> n㏉7zɔTX}5"ǎOIn߾][[k2W_}t_/޽{Y|2,.d2&Wa l}p8d߁Mfb.w|UUt2ɰNҐ"xĿaÆ|N_ܽ{7?~sNqq={~IñN ,Z8矿qF4{DQ&7nd2κQUUSk /O}BfՋd2`d2UUUt: iX 嘄`k 8k 8k 8k 8k 8k 8ajҙh4{p€$2ab?)EX,PH?FeYyT0ONa-I(gzzzfs;/6LUUU(H%ȧA.^x5AB$I #zdd1^7q 0&M&SQ iHXEdAX^2x(嘄`0;K]]4;;w!g4OVĞ==ڵiUW ajvkÇWa kݭ[/OB,'Ukj؆q(MLOOj m9  ʫD#/(!"D_ree??ӺuyE`y<{'Ī%QjhNڹ^#KK?nh0$z۶y(2EEЎ'+XO0IRPh|n k} ?ADi-yLgSm-MM,tI?22r٤35@ޚ^ロ;STDCCu&7TY]SCِ^v["{no… vk<㾝lӏLD$dO>L>NZ`\$CP/>)}XK"k$N'MNNі-[XX fgU3YZ3a5MK:eMM;PpzIUG?/VaX/jEQ$1nϺXM3ēfWif8Qq1UVI(JSSSz,pfj~;#b+"x;\8YO?TU5k6;K = <=oy.XX:<<=z4+M{6:t]@WaaӦMccc#g ,ԩtYЮ]X}KB?d*sֱXIE̬΂S{W&23fӹwSN=X[ pS.^,˚ݾ}{B+ VQ8L-҅fi/^Ȯ" `n%Lno@ e?n {0״aO6_oWBRL7rRUl6#xyv-~XZJ ҜZwHx*bXX8L`TҐvr\ʎj^ LIO?M}}Pi) ÇtO/ :tHWD_剛Jou4 vݧ\&n_'ӓ4+G@]Nӕ+CL״r˅8ӷ[[[Yh֠p:w0X8eYe9i?4L&ZG=F t" RG Ұ$YGQY(@0]B37nl}0.XXn N (\.ajO**nzG$5d-]l6Ifeyff&>0~e"Szڷv\OcA4oLWǿ&7sj*STԠ`j5F!XDa,0m:e0Gs".[aؾpsh8 Q W[NyߋSo J:ݞS(sT|EF#NQiw҄#^Q*III L&s{`kCC- J?3fhZ|e.M+k"`{fZNÙ3LKibxqKH$nCɄd$'%"'C̙HH+uJ 4<~I 2ҫTÇ+J\vwqC<:u*/ZJc+1BnKK˓'O8q"8v f3''t 2i@YJMMMP(rg ZYĈa|"J^Ygeeڵkmmmk׮]pa[[ۂ  6g͚i0akՄաVɄxaaZ`f(-Ň"#㹵)bՓ ݻ ym0Xɓػ8ܹMY`N*+XokkvZX8O =UU3o7bM(֮?xӧTӧO% i.#l0l6Je`$%%xB.ۚ>ɁZ~Hqqquu9NA00L&KMM˫}"qJP -$Q,Kqqם.;wjRJZZZ,KwwwooϦEcdv'Hɓ'===;w8~`b,`epWXv[ ~CFI fHI"Kkkի>|xʕκoݻϠچL&d.p= Ax6{ 6 >o>}ƍ6-##K/T^^nF^;}z2H iKNtTM&4n, }W|wҥ|;&&oyyy~v^^^LL RLb,`O!F-=.Bf{NTFcqvZgϞ໎b}V+.// J*[$Ŏ{qx]PRSS/_J/;w....11ƍSSSGi5uL&=>wp |8<2G= YHd{$'.Z,wEh|/`qac6cڗw͸r/z@F%I{{;k &<Ε+6yoFt^Z6 _y‘|Qoܸqi!(d k2FDuKK H~MbMxd=P >7`㤤$^Ϯ34//uoooʳ2_>X,v^JL&ckk3['{TVR0rLhs;R{wP+>>eXX-7,,qɓ'l+h2#p~|Yf qs)--`ȧ)"xP\uWW\.gbbbj`ڴi]]]#P?BHiy0QSC2|8ŷo߾z*;w⒒2kRT__@PklذV]]]˖-PGETłdtv⫯(-opM&k+ rYrܗkOb466dR96#:R6=fϦ]DZ|Q=>-66;~q*IҥKUUUNW>C1o._UUرs $L&;ĺչ. K YS/`4iҩSOκB=TkbT8 Rbӣ㸾>~K0::/ N!w`0WuH Wp**p落[TbӣÆ zu;m2X~gGJY/$H-[6o<{aCC;{dz4\vիeeeo? m*NpVKLR0Z-JJ{.YZ*^/Z"q*Щ{111B0--MҥK NhlތDEA?RHkkkvv6kGDDRCAZZZlQ>S+7Z((,,:ugDWYYY6MT:fQ& `WJ )t:vojz-?M3&S:aw?"@P<~&Ĭ c`tR'ORHAA~*ǃ 0zҤIg051he K#j7mgϞ}c;%{xPLaa_~i0Xm_~ŝ1HIhNݻqDE $pdݺu֭+,,D_*lX!É^\B!˱s'wdٲeϟgX(M.^k<`5ϟs DT*$ ZUYYD"a‹[ZZű/---9$mr3/볕۬V[e `Ϸ oDGGwuu{`Ύwtt,].uV#'b10w.00y2~ RRp`p"Ns…nbmfDI!wS@bf$%dB| +;oJىK3% IDATCX*39^vkϙ3'OKKҒx wƠu0b +߿eX__ `Żvrs  Ěf8]LHH|fq\bb"oΝKbM w#X9y&_I6^1rjll|Δ>#Y>d2Hew_=ۦ{B~cʔ)z"I @,[V̍Ʃ,[[[hX|܄F?͛10(h4B>ZmmmSLqaӦMIII}a:Bs؆ z4aaaB'GxVލw@$BU,Ǐ333TTT$$$$%%՟1pf1 Ϛ~S"d{cT[u-hcC A??,HY=..p+JLfXXF32-*+CP۶m+++,eJ긹`p5St:[@e% RնY6==ݿ!޽{,,Mv޽vVk~~>Mܳg} J=NKEEP(9 ѣGODP~mmmfyuuu[nڧ8t~>5nmm?EN XS2hnn>p@oo'B!#'8TT!{w8YYYKib]X,,ozVDhxQOn0RRR+@0GeLO?TP^"ĄŋbaaB &yR)>k`mmn&#>8$ YYe999 .CBGۍv滼n25۷h4~aر򊋋|Dd}Qi,UWc4½#LTWQ5 111ڵknwccQnݺjlf)N^ڪVztPpW]uuuuJJ '''WTTbDA- 'Oʊt6 :'羊 //3f ;wttt fj"_󥘎K.Iر{>B-XN#;x_נFŋ;۷߸q8`5DqNgOOjw{797N!229 +WN6m|IL&ӂ H`&c3Y iC.,$'_ѠA/%^rW^'LPPPyfV+=`tw}7M$ rAfիWz=´4OxD>ԗX-r:ޟFDDݻwǪwIDƗbw u!QTL 󙙙ύ7V(F((bݺL?V^v\O駟}ػw/35߰g=(Q…hhrEQ} <_"?bgDG ].;#mGDD?~`>n,g X==1eePcc^x3M{>'DORSQSL-ErAzrgjfyٲe|aժUBg-7D>.̙3f?H]FŹHKéS#**jF%"QbeϮir\jFKK m! {wWBN}SR6Poj(/YƢwpރ~aXn޼pDDd5N655544lܸG'0K֢( 3gpqv}srz?n<""V%k.Gw7|7K pY&q޼y?O{%%%K.djۋvs='JfΜi2۷OXDDD'g~ڵ6MNJJb6ǎ`qqѣgΜePf/F~7p $>`޽BB&kճfb&^pr*"" dbŊ7nTWWr6"" b:tС@߂%Y755Ictͨ((K[xz7-CDTf]\\,-?rH]Kruuuiv!ӦM111sΖ!%%E|ɒ%n0hۿ?˗/w?CkkkLLLWWdb&\zLQQQv0nܸM6]|>" d ŋ ϟlj(lWs" ]YKAַ8q^`X(c@iiիm"HQC͟?@UUՂ |.""Q`D"-e2g _ߺu+D%"PlHI[!""&k"dMDB5Q`&" LDD!@AS1(2hP $s.**RT*ѣ򞙈(ɹyeeN SLINNt2(lٳ3gN7uuu2(ٳ}hǍ(|R ʠ4Pq'pșnj,m6gq""&9 gϞ999YƓ39{III999Rȑ#|HD$4?S__'\mK1aEEE> $A}1 6:hIIt|i6O<9`_MKKS6HPyo|JaiAAC3fT˗KG'd]Ap=99~a]gV+t:(PaaZZztJ ?f%55U㣠z懠inw(EP^f [h4:NϏANt;vO;v_h4üd9k}feeI>>>/_>zk?FF-,,ΩAMIIQ> *= hkks:jĉ~>n8i3^vZ\ 8e˖(,,LJJ$ٳgu:jtCP$l_TVDFFv[KϟRIIIFQWUƠiCoeI&͞={Ѓ r1cH۞ _t  :ǖuֶ9s$%%ݾ}{> Vfj5FQ!h}}jݾ}H(d*ȁ*++ŭ_T={`+o߾Zퟠׯ裏T*UsssOOO;ϭ%ɓ'WUU P__WUƠiCoe.)ziA}njsmi۳k>h0I^Y8yLd&, q Q ,F)11&bM\ t4hz-Lm)ϡxxh4SWGjVVxAU!=;;kZ^6HT*KAl*b&%g(t:AZˆaz=EQTӴ]Kb8AONNcw\.l6-oej"Ly^௪AO筣kK^i+U\x+"1(y)Zn1 CQ=QӡKSUuAp8L5kK9zFAmZP NP0 cJ~–72l j&5K=(O 歍х"ew0;&kTsЧGE%O1&B&q(y}:2$1-QD,˂ Ȳ<̠1C:>DԲ1(-5?]Ai¼+O ͻs?{?؏? 5 Y5V|}o;}Dg`a4~w0 #y/C$i||<#JiL+n޾6h=l6m`0H*J0|b]V 9o9ﯮRr%"A>U*.W鈮|T*ՕoZ(J4;;*=JժVhJl vvvJFG躮(ёonnzF;%v6]ZZOy.H0J~d2TjsssfffDQ BA2ƨ crccCEYyWp8;3ujD 6 â(~ZDQD" $B`8==垞TUEۡ #NOOO?=f7^/Hx<ʛTw$IԹ%h 5(b\. zݮi~V}rn5M+ԠhPN jnr(x/..~Z%"-$IBۡ aDFcVe~~ecrrRexP($I+I-x^ n j@877f\1 ˲1&-Pp$k@p$k@p$k@p$k@p$k@p$kmIDAT %3F QIENDB`n,]ߊ`98OmB?[PNG  IHDR/vgAMAܲ pHYsN IDATx_lSIJiڢ,$!"i5j"B7A(K^cHƢиQNMXB'*H &n=_t}3i]/ s}R.N>'?9<333#IFq~0!8D?`Cq~0^`YX,V[[;>>x<g}h=9~BP(499Bs%$}۹|ccc555Iϟ+))TQQtuuUWWK***FΕџoz7oVTTXEEE9;;;%|>Gǹ x{n@ `-_~G>2Sx<MΪYufΪS{ŤNkǎ.\bp8677 mڴ) btJGA799Y]]z%_xQyP+];6gՙ];Nӓ_7Cq~0!8D?`Cq~0!8D?`Cq~0!8D?`Cq~0!8D?`Cq~0!8D?`Cq~0!8D?(pK#%piii#"{zzjkk3]ۙ.@Z[[ 2]_RR}v3<33Ɗ g\wC0 cctrKg0ǵ*{k47 !8D?`Cq~0!8yFIJl藈{p>`Cq~0!8D?`i|AIO@n!g~{<=ƀ}-[0[+蟞VUkk` s5@qXkƍ]-rgm3<>rvLk 2q_JKJ%yA_UVLWM~@~];J|ƍ*.z\&w|$jVI:yRO?-Iݧ/~^56a]ںU6ƆtjlTGvL OMYzG^I a`:=*+UVĥ LNG|V/i֥K?*(І z hZEӊV/xH?qMMilL._֭[ ~n6nTCC!ipP45zFO-d|>(y@R}U^RmެHD7%I*,ԍ:p@jCDLLhlL}_?kioo LD}"]+Wt7<ҵ%f Y\[`{e3wf̌ff45=]dz؍HDuKcU]'\3vcg>:w5*.֕+m|# ܆ZO /(׫_38v׾)2Ī#=ΞV?UD?p75<_ӧzFG3]_55Jݺ[3 &Y_GQIzm=&&2],x<߾o߾`pzl٩˗f>\6? 8fhh4 MNNJ BVP(466&)=z4 %/-J%.N3SSi];ϟ?_WWWRRRVVVQQqEի---%%%,k-x~Q^~K]{giZd&3`߼yZ.**F>822_~YQQq!׻jժWHs*jmC~3]\\:sO _>۝ooo/,,zMMM@4FEEEIGC^NȈ t6ntvXǎ.\bp8K{衇Ѩ---cםq[/mQ=d&b1 kjj ?44tqI|>+Ie6wf^[zu50P2N`Uh׮č;9 9db'b.C;ss7 fM`]܀O /&~=݇y(ׯ#G$R'OG0)j跌I7nHѣL~6Dޮӧ%%.'g+Exqw.`0xIuuueeevd跌jnݺ%WK/E+GsgÒsΝ;wϮLe&'?gzeٓzeTLj㙜:`Nzg8;s GK JJJ$R?EOd/LD?Hvjll| D"*.trʊ>F~7I?3n߯;hQUU ׏%OCCo~W^yurXŬ?xP6m^q=֬\{AР[1(\ǒe~gϞ=%%%;wSngvv풤 k*4:AϺvMǏqIڽ[۷ p2$X,666f}>ySem2w^u>dq:ڥ;O -HI|~CPiilULYK7_ן4XX'ԓOjÆ23j$ozc>mmm8v{Oァ^vSOiƬ23j- O?w駟՝&26sjhpp!hV#%n~F>666^rŮD5tΞk|ءFmٲafH? Y=NۓA< _n͵p84sD}~ߍ555o`bBz]}\uOT] 3C̭FJXlhhɺ?6N~[5>~Z7gl84sD__?oW#g >`n8@?|2 fn5R_zﯮ$DZu]kTGG A3)qKWVV"9|8z{5ȍ5q`<+osK9|일0k8),rh8luz<@@ϗ)7rͭm#w[yb"vZ<~==:tH^uw3u9ΐ?r[%gA{k`nΜ [<#=\Vk?'396e/o`0XYYx|>_kk]5gffkFG3UkxX##*,gi߯x_( B/=0BYu@ctBҖ-vMݒ۫իuDkB[m˽ylbbYڻ71m:v, c >͛7H:|pKK]5 9\UUc^=kR?00pƍ׿F,fvSHD&N_FǏgf+3|̝Yk^}5v|W->wz[[[~̺@zTUU=*IOLǎe&d~gc88OM1;XmGE(!N,u&&$mDǛL $0EJ 7Fl Jl)y׷Hœy^;;~\|<<ӧ=*"tzz^/]gYy[^zi<۽>f_T*bؾ}͋5*wիU橧2Ms߾}7Lvï鉉 q\ݺuk45MSD8B!l۶ͶL& mvF= r26&4t|W͖a摑˗/>}ZD΀#GxWkiY_*?l"O7Po6꯼W>~_,Sooo/sjjjpp0r`0hb1USZ5r<,.ʃJ_\o m6V5m==='O8~tGG ښRappr~qRtڵx<^>r* @_Vf;}ZAf@@gܳg뺅B!EQժdJM$KKK9`#1^NOVV.'_K*rDT*7V=Ԙj(H$DdaaT*ނ`*VaǩS˛6-,,,n}۽v FFFRT,;zbe3ͫ|v] fD >{ַD;o?oX]C!BE^G/:TE&oo;ѿv~#Llʕ+xCz{5Cdtk/+"6/].?l$|^E]DDɓ۷okU-!gw%Ed|||jjJDvyDD?P7|{b7(=ED~P(Go˖-(;w3ӨkuL&cv**mn^ ].'O~s3Ϭ\ 7$Ç; ;o 4.OWZY?x<_z|4Z-NWƈ|> jRJD?Јj;_ͫ7wwwav___6U4.o .iO@`eq~'U9:nw|yuc4 ?"ϪE->5sֵJZwqq+[lT?/mmȧ>%}lM/"x|zzZDy䑚OLMuٻW|#;䳟Ǒ[2vM[d&,ik;DdFa=+9uT*U~g``7_]wɿ%"roJvH&#"r˭p3<""+7 [JKK(4G1\/^.^sZ=[@3tIDBWDdyYvוBAGyy(|3%w% IKK}#U7>CEѽ{ުU͈~)t‚kLOUFA /P7 v2(QWGyR@s6uKrpzɖ-O>'J'znDFa=[f;~`&reժNP3*?ޝpʍdneqq,(|Q/]Z(aر:U5?~̙`0L&\[o}߭ \M'mVFOZNvV/Ө>rW_]|o/|… \R|fD?Ь/"gϊ۷ˏ~ֱc~@*i4oK֦a~!@;D?h@џN|k7 0d2Yhh|޶YO,x[tzbbqunFMx<>??8NPD"m<P蟙QqoY\oo\p!ieYLfffƶv*(X,jooo/O955n6rW\IR?Qz@c.=ommrj{ii)\.?~qubϟ@jl,XϞ= \.F鴈d2Rx斗w599Y}G<ÇRDu]۶"ȩSU*RJ]ZR-8kj twc9?ֵɋ4j >Cv~!@;D?hCv~!@;D?h|Ѩ !@;D?hCv~!@;D?hCv~!@;D?hCv~6 0 #LVՏ### "wxwt:=d IDAT118[nFiH<wP(D"m۶ d24/y a,knnWD.\L4MӲp8,"Rɻ*bhYڮΩ)ul.B'"m`TИ@U%,--=88M@ H&`в_~| waٳgvvuBh:L&U*To4ݿ*ڱcG>w]׻*Ӷp8|!uH$\׵m{aa!:u*T*577'??8뺶mm{aaX,`0oU=T* iֻzI&h?;O#I*H&Z(*;|C<W\t:V \f߿ 7ᅎj\2>>utZ]=yߊBmF__'|,>i??[ni~=99iY:}IuLNNi_U#^'-˚оcǎ_uiRO$m?_~ppرc_͆}x!͊mۑHD#ٹsgKKEܵkW8niiIRPȷip8 MLLH ȡp8lY[oi/UPiuBBA۶ȉ'D䭷hu߯~ٰ Jw>/N3aYz3]КKir(i./f]EOR\ =&.xe) $kzZm5=|o6<3kkkׯ_4Ki]6qGQRzqqqkk+cu}}L;<$???>\>ض-(o߾yta7)LU?Z~ȿNB\6 mdҐf-dfҎ$Ku]-0K4RiL^;w4M#ܾ}{M]Swf=暦ƖtE0„VGaqjOX~Aqs LЏ 90#d Lp]7Y6`mێxT=6HJ+t"lۖe~N>X)x pHQThƍsnZlmmZzRa8V2MǏ C*!X,B>:F%{H-;)]l6mN0ZAwvv6"8cyQٶ"VV$\.;C޻wBXÇSЬūWRB|E癦 gzh<7o^OQe5=!SEQ@4d iV,jP(Νv/_yh_XXrK5K((A$-b<~P7=;NٳdR 2Bq  JYQ8{{{۶ UYJR>'4 a bSvmۣѨX,BA0#XZZ^O… q|ǩg{{[Fqyq_x@FBDR8p8 pccCD& }9cqJ3~qgϞ}!^˲ӧeH!g"b͛7:<իW E,,,Z^t \V9EQZ<; ~z܎_|I>&zrX,t?:BŸTu]U88EqGeCMӮ\ݻh6ݭV AiAsx6`08OFE? &|CR݅4w¸ W W C? HЏ 90#d  C? HЏ 90#dzIIENDB`nLeB0(W[{MPNG  IHDRi_gAMAܲ pHYsN IDATxL};ju?bQ۰!q̲%CŠ&dt&ɂ=b%B̠|Lx$~xsZ&bk|,wݽ)޽{L& L       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOQRSTUVWXYZ[\]^_`abcdefghijklmnopqstuvwxyz{|}~0R̐f03<! )`fHy3CR̐f0<|84-?]>R>z<"q٫>/uUo r`n/}M$Ibpӊ(W V/^(iUUUNjC/=zѣ?o=55}cǎ<-[;m۶7oUUUv܌˲CDDbB"رcGng JKKUUeOsM˗/xTUb,l6"Repp… k[B!v^|ҥUU{{{sf)Elnn%ʒee;I$J~Qrgg'KP(S7l5 677!m`0HD&IUU^/833^e̤.mDDln{^ϙ%aqܙ;3>߲&4:Js 'Gz"F?zÓr+ n$<ϝ;w6ҲKF˖EQ|F?svrs)gϞ_޽{l߯ݨ(>$"ϗqg@W@-"㴴Vc@m RkDQVӪXӪ d_!{689ڳgO{{;{}ׯS_uLMM\uj @AOOOZm_~+H&mmmW\aeyvvVQǏ*ٗ@`?,uA}W__Rњ˽ٖGԖl N4BbfɚnQKtvvvwwfvvvvfPn= > .<{ͬ돾7po}  蓔 waKQWcm)7Xx`޽zK lB'>{}W쥎"Hm+x޵5Rk466.]Hm]k߾}~Y<zy^e 555}zM݀ W,TrGFFL46g`Xʴi ,8dm>cLEѫ dSiEr O{3K⸧g~r>|۷o###Q *O;wx |СkO )=Oy FH$矯Zkkk2\|>ےv;UȲlh`3زeKoo\莘c`0xdYVUNiq\Aؿ(/^d Nj5Pp,f06Ng<1gev\Hojjb޺ukuurv}zz:^(H<vrrի---E"D"QRRBDnggRg#3v,5M""b -*%rŢZ2^@idpc'OdwEQ>|hXX "4-8p Xt=3v,/I$9rdbbBQp8 twwgtuu`_d86]Q%!jRR̐f03<! )`fHy3CR̐f03<! )`fHy3CR̐f03<! )`fHy3CŘMp8qq>m6sα->8V~?EeC"xУwttA ˲$I===]]]'NصkכoID}Zm۶9D"QRRBDngKah6x9NC`z Kz<I$Iںu mmmptuu`_d++~'$]Qf03<! )`fHy3CR̐f03<!,7)iZNUqq h4W*jkkE!SNI^@ndU8UUyg T P_!ٳg^o6Gp,2{H7?~-B!۝X $0=Y/..*LDccc^whh(=R )RQ %Q1/`|MMM]]]KK ݸqcvv~h@ 5M{.֞9s<@fIR6y;v _ݠeu%$ibbbbbB$ߟn@N("4 wEn{֭D4113>:uxxqnnnnnqxx8A888GD>KlgʲM?fx< gΜq:KKKDt~mhh(_paxxXEQ:::5M/XD+WnSWNg<1YVժi$ID455ubnۧQ YHdXvǾ}6y~``&''ƾ>}gH$JJJbUΚr(u'>/( 5Mcml6{gZ{{{X,DH$-K,c/-//  36Ĵ>Eq׮].i͌|__ߏ?i(<߾}/_|ĉH$r)"$I4Mb̦{Uʧ&ԡ7#I$>88XYYî p8l2V׮\/\V)ϞVV3!6Me6n(நm۶ݻ=1 d&?s@af&D4C!\cn7q Fl9Uʷ*BDNBe1&7ϊb xVq 0c?{hsَeYD"π9XSH9c}|BP]]]ZM\Ap&{=yy"4 )wDT[[KDw]\\"ܖ=@"峺IODԔ c<A!/`fHy3p^>퉯fc&|7KEEQX}1;44JJEZD$"xK"qw1M{]?ri-ý -͘9W q,NԒ͋Z\2ô;5Ao|x,٥[2F1E]b \Í@Z9-}}NOSO{~?,h(OI Ahhhq5kSBy򋆢l68fYVVp8V+q<;<HJ; !$.H"%/#`ssFq:ӣj׭['˭Vk~~Mr^,**WCCCRG!Ddŋ۳gZ~ŋCvtr;wFGGـÇr^d R vj،" L! GzYj8|0qn0Bvs: *jҥyyyCCCrMT n{Jrdd=vzzZPLJBHzMpEu:ݻw[[[1!ݺuO?arr}MOOPPP'իWׯ__z?22h5BH]l_Gn.,yr}yAl6۞={T*U`cYYYH[ .ykkkUU q CUUŢP(F#`MM l6 9\.tt»_{pn]9y'OFmh+!$nh`9h}={j]reyy#BHJs0}hW"ݻZ[[w&DFy6URݼy3!$r2VۡE؈#iVTYYR\PqqqZE! nƍش og୷ZCCزeq"^Q'J5CB˅*#(0u CI ,Wh4Z\BI.ʼn՚92ǰLNQRF1;;*RF !q ޽KdfpBHzqK8j79<+h(OG >w?ߙXDyI򝝝e#BH2|?E2;ǎ-NA哓M4P_/v8~HOؿ?&ݽM&ӪUN'q:.p?BIB.{kע qB|HSnѣG Ezԗ')̑BT ח8… VUʡ!$yhjB~?WVbj Ǐ 1"u:J@OI*Ǐ"$\vo B !`)aJLJNs๯RF!g"E2L4B<"d *3 :uQ'D˅:ttH 7bCs_ !-R)q,1ԗ'D"yXWQ חj{XLIǏ㫯DL (_QQ`tt4//ottTGU!)Na7)ʤ|իWر#y*dO}Y!DyY+R$nFח޽aMK !dVYv;G\`0hlld;466ߚq$S>5Ib|? ڧ)ٗ75g>qPR_~ҥovp#`UUl.++۰aCggN5l:U~~~ooĄQ('Ny^+Wj4,)-$$Nth`0BR$7oF[[/(___?fFt:ݻ@wqݺu6mz{ffEvZ=44餴Z)"&IQ>=99NF1 F=_wݬvj5{lFFFG,h0GBH$M͟Q^VVV\S,$:NA:::T-[FPTTt]Rɒsn˕J{t섐0@T DF|qf3q Kj}U!W"}A)4DzFCM? yגxSS{gSh6G0 AQ,ʨPY )c#^LU$ŗ_&J x{k$Bnqy3ptXM&ӪUN'q::R  BRM{;xPRatwS|ԯ<ϟ:uv=z4zb}FlbyX,01+V!qShoĆ㸞 .T0_B~H*۱f mՅ'qC|H#u:J@OD"$ݎ?? J*%dhԑQ>Ir!9_5P_4=ѝJ!O^44jBH3Qj l L"Y,8q_ze ~{LM=RE1İDׇ6AkU Fl[ ] eEn.\.h4_x+U$/ǦT&)ʨN s0!$~KC<_WprXRXXXVVf0X1Nw6.* -_ˏCN({HsI_^Sz<\7+|zq Sed6!>~##q DB"0FqÆ pV]۲W Ebm̄ݞ)ğ4atW_/X|rFWܺ5F5ir%㐤W^ybȰjuN<)$u #3w >Tp?WK=$ h,`%iGGe IDAT_rgMOO>O>@CCfMdG{HPЈ Y!z\ccshnFgm׿ר|ɣsk׮/,[Y,օK 2p$.Cu_eW|/375VFS|OZEH)ڽ{7\^[[ @_~յC GܹW_jzΝRFRH{;T*ttɄ ??sߺ}}O02]]U6:27".:t ϟpܹ߰aũ/!e6#h?QO|ZZX{l{__tcc>AmO rKK e˖S\8ԗ7 mmmmmmT}&p7 2L&ϕt===lZ&555զ&"$?|olčtkNĺu)2335jrrr xjj, pXVxw8x=b ixWXO jÜ:g:+NY^z)xUA$=\R}y\J<)Y8{-&,##nڴI."6VT2D;[f{Ƈ/(+999z-.X IQ@gg#NPTVʕ+l۝ @TU Mr1) ĝ˗wMe%Μo}]bw} ()WWW_~ @CC@HMJ)KQT? K Rv/_T*Gشo`zzPdS.b8^CG DgX^o {!tEB fZxhYz(I}yV[QQf7n8ʬ_~ݺu4uas2g_YRA32&:VD*[v`)tz&.MAѨuj48tŮg[JO7m _'qzst:qa!𦯯G]`h>áFu~g?y5 sff_JJJ$ mT?i^VVlc˖-Vpn'.3arYYYoo/*]$KRYPPPPP agB1V+0`ZɁ{@8t:# ZFwJlGGG/YT?ʕ+G9.vuuroo/Ú6TvH"><} պtAF*eRAӁ-`Y'pϞ=lUn3aL&>GUEヒLӴ] @+<א[[[fPn'so4a2!=`0CF,A-appLp EQ}UrZ-h7pްlȑ 2}T* '[7EEE(dMMMHy桠$M4S]ﱱ Kw;ۑ#G<8#Ҥb2M˖-zիր`ۗvǓz?zpuu~2gY)b;DKy68CBBʜillćcp7\A3ں~z:*p;Hs8111 H!j4 HM/`>wpK+*? kkKiiirʉ'8|CBQwqihh(//OLL\bӧ АVxt:z-T8}9sԩSF}x~T.))ٽ{7"y&kZ.(ԩSn;ٹ<<c!GIT*USSl߾=LQXntGm63 afՂf#Q*t03rJ\v{3` ,ٳgG GjOny޽Ԫ>M8|CCܹ{8e 0Ʊrʴ4z> ~j/^{BggK/]׿Ps󌌌7nrmm7|s1~3`FQnDZb+===˗/H'~q7wwwo <^R_S sW9dga*@ey3xjkk&C2,++ y?l6+J?Α>M]FAB wj4rrt)Jb&["0jY,nv}x*Cgl6ո %7нh deekg}p8ܹ3o-dQ"% 2> M,F[b=ZB:پ};T(1ki.Ѹ}|}-_Um۶G"<3 `ٿ@c&dzpT*T~Á=F17772f6KR.Fu:={VXQ2/pUGuZg"M4 `ٿ@?2&^l(ww7:iEEE555:I@W/L&k( AaŒId4FHK#4)0 1v+充n իWcbb FcaaJ;wccc`̙p}dYf!łO]P550vrΜ9|Itttvv6&:x ~ׯMSB(p\ (h/2LR+F8f͚?؏ސ-@ԍjPa|mXGhDHU.4M_#skkkff& c=$$ mO1͚q@+-x׮]"7ߤ(ʇ/3 0 l6fg|< >Dff&.9sx!%+**l67n܈/~ʪ?~… ~ovS"p(Ƃt{^x|zZe---N B>Fn4 EEEA_uRV~o TГ,@6l !$C?\F?NԴj*dC`cED;zzzL"xꫯ:htrqm;O޽D3K.!vyp Juy2p\']&Ho 0lf,zצ.^[BEGc6%>6bذdu5_6?zzz/_7-Z400jD@NE$()HO"_)_IKKjV H={_!T ]A"?QLYYٽ{N8!le4  -#`(RA8"bc³«ڴ0444 R/En@ '*NX pIO8P.]g2o@ !j!Ǯ---&?O x$Ν{(yH4&,6N'̛wI" ȳ,[D|OOϦM'@.BV?mmhGZZc=vS?@W]]]QQQQQQ;v@{ўjgǎQQQh>iV+[p a֭z>///++=##cƍs]~}ff&ܾ}pH$klFFŋ322 ]8P\ x-F @ =JaiZӭXf͚p8rrrbbbΟ??22j*$U*Ս7 +=x;m[{8{H)]BӖVQu8rJ%1mE`65h%l(LU%RE>dga璣ݘd~3 y2׿\:rkK>>77wҥl6m^yw\DT*rr9>0 C55DD1G2<] f>] X:F `Q0 dY.-˲a`"+?22^'FS1;޿s "6fgʻg.`÷ C@zPŻ+w:{WW 3Pzޟq{_?m_}vƍj~u,|,(-u9N+[<3x o2Κ1 2 :x'e/ٓw}} >ݻ(DWjkX|˛og0nvZ;1Ȓn޼, YflJ8d_߽{7D>Ȇ𼫺,ODCCCDڵk٦'"2 ѣ D{n<*8v|q͛7_pϿY T 0^]]ݏ?^v6nHDdOz_|o][[[WW733nݺ9#<T G護ڶm[X߈Hu"ƇO}kf^655}6őaP6'W_}u޽e<'. Ǩ<//ݻ?_剨66DO JIDATѣ+OѣGՅ!?36˟8q)Lwww,3 LMM< /_<55nznݲygm<ϳC%'''voڴ,P*jjjrK^ZfifImϞ(2>>>77wҥl6[QrQTb\VgO}f>] 8ޟ,=LNN!y,xJqq\oo/{&g({,H$,mj'KkB,Km۶D"!BD$;TUwi QUUu]oll|n8Yĉ>OQT0d; ^|y~~y^֭[@8Y>~I"$"^bJҺu/^/+fM̪V&Ύж6+8ׯ]T*֯_r/s+CAc0,m'SYL__BAUBP(;^z:nkk۵kW:fs糴yg$bP(4??/"x<ŋ D"":p+/2>zxF&CBRVW!˦2s+bA=|>_6e\_KlgB6$)(v&iz(Jss3qBv^",/b>!ҙ$[ܪ},?55Uކ$OMM%-4Ȉvݢ(>}ڶ;Adu]Uծ֛7o$In;Lz<B366vxMM lmo߾vx<ߟNmt&aMrV'jR[y9ـŖ/Ç+nj[@ ]^'b إmu]l05::J8;vߌ?>88>3`?[0l ~ x/NzLB 6Yڳ|j\ox<.IҞ={m ](RT #d2igϞ={TU$izzڞ>Y%D"ݹs,˵f١!j___OD ob#hM"{7T"\.UU4X,7|/Ӛe2Iz{{e"`o|駒$i6==]Ά9ٝL&ϝ;~᰹ɓ{yȑ#?y]9@:zׯ_gCbXE=۷YΝ^z%^xqaKD;;;o޼yԩeuTP`B-V4cS,+"<a,dN,dN,dN,dN54IENDB`n.Nd_5HxXPNG  IHDRDwy/gAMAܲ pHYsN IDATxoLSoK%HHiC؂n':I7P.ϘB" Ltv [7 l.QE!{g=8 ^n{o}笖=sQ~ ;tyBT*bttTR_^&$d1 E!KVC%]*?RZ5kn иtV__ \近Ыh/_>33ȵB-b-Ov-[zTD>B[hKjmE$FЖ<-x631wEpmA *(7vZNNN4!tS[GzކUTTG ]RL7P޲#sssӃ_SSS__@ D8X9r'OLNN8DwCso߾=88(B@\3 a+:ڵk[l2vzzZ@lMԻ޿2DL*E#8@Eύt qdRT:FW KV\iX{|*tuuݾ}wttD 0e !W^ X3 L1%%%&ydd$GX3>z̙o[Pn]]ݥK~UUf ]^$Q,^x- xr\E-hc˲c1  zA9VFvV~?p]]][cb ЂH|R.&|i+2zo;wZtVjFwnDjUaddЛ=Q h䤤 >ۜ ] >$4v  F\4"ՂqݼySʫ|t:|,c7;q!D ;|, y^QQQ飪WJvil`pR۔M@(T``@\GKKK,-np8rssi`>B7en`Z322L&Scc` {tSTy. @,KSSSCC,WECÕ)<\LBА` ?\O&bR𱠨ny"fт .LMMiUTB{@Y,ZAS-bjii!hZ|,WeYv̙M6Tfesc7Xvf37XY c7`Ϟ=d2x @|>߅ _| p;w{<#L|ֶ6pւ b:xqqqVV;(@ ,(**RS/BE@GE-0v6eiy= i4Y @v+W!RT-!w455ܹ`U@ZիWiyАQ"S4h1 z޽{?9IVUףCؽaJEniiINN  M.,##~)D2U~\zzzzz:!{I;z}AAS#Rn)))]]]k׮ꫯrrrs;\B||h|2V Œ^$BnvLII D-SVkPEdjnnߩ/**"H7qVk(& [Ɛnhy̌·Z @x,^x "B5/Iz_~e{{;v8chyGee%=Iwbh4٬R wac7B9IMMM=y~hjj"\xh4(bOғzGFF~餤7|sڵj>|ĉ'GՈVUU)$s\^ܺukzz:>>>11QmٲEVϹht:y B?$ׯl6wD˲ccc4RSSu:]JJիyr6mڄPGVVVjjjVVֱcV\OPɲɉ'O[nj K\AEGGGGwwwVV![-]d8!,ɑNU n Onڵkׯ_zMм> M\2 Wt:z=jHseB!xp pe4˄, Fq\Aߙr1 Mqk׮MHHdًn @iiiYYY:~zWFGGgggɲTF2!@js3L;w<غu֭[5eBEaÆ۷9r$]IJ,0~t:bkh9B W]]_[1//F|>Œx|>`@q0vi|jMJJHmNWl0?>66&n$n AP{媭%Ul,;00 ȲӧOX jw>viX\lnB:㳁#E;455߿߾}zn7 5Z}ҥ{6 xkܦjlOOMMmܸqjj*W)DjwghڡCȆnZ~={}D j MH֨vBHnn.!h4W 0zٳg !fwE8=йh atݫWƝX &q8Bm'; 3q \_%"-rEXtz 5t oZQQb'ªt^lذa||YNNN-!xE߇E^G)h4~_Rj4YZƐn1"ajar ̵* ÇQAtcǎ;wVUU!rΟ??335BkmmHyajii!?z.@͖ZUU5l6`(--/b*--MMMl_'0!N[f͆ ޽#̻ɒJ2 -we4$D)f1 #vw$x-O`xn o=OGG!Š߲eKvvvWW17n0 parCky+T}jG|L{^t)//o׮]WW]]=;;+eLwD) .^VsZ?996o+􋊊>1'5eeeDۂ5p%OBnwCCT/.#$''ѣGo^fMNV0 !^B!Pf3q EP-^x0?5R7==o||\{Dۂɵݻw㍊h (+SJU__OR裏^|zЪ^w^Џ@:mar-(y7ajkk !?NNN&"KD|0ZbbboYIII'O,,,LJJHmN\ |qIPTT'nleeezz:DN!8s%&&;vL\ b˲ ovʕ+Y1!tc\n :D[ em6j5 1k, .n޼oHV333 !Ow "CіOyYookvLQr5 *(£p8::: ZZZ߿_)Iٓ&wPmTssOLL|bwG|o?aWTTD7 6ݞq՗^z&&&*B˲v=33񴷷/ s$V?=`ٹsP;ma C]]fii+}ORSSbMa_vuui4{y(s555JplNalXIJZPfgg\occcJ_ae kxLʼnvrFmܝ߸"rX 8䓡NI,//ǚ4.Qv{{{ ömrfiL9~8f rdmܶk ,H,;00188}{7nh4隩X >8::m۶[mY- +":Li~,3Y"Z|QlF:1Y$ fmٍE#0&kFɠD ey+h&USk6] >/v~?[/s> ze[hX,|BH~O Wĭ Z% dee^:qo#ҍUغu#GT*j"hz$]aRTTTPPO%h‘#GܹCgpUaJsM~Wħ2y&DCCCK.%T*6!Ņl- C=pBjj͛sss1M In "???''ʕ+nkn1l2X o+<̙wfeemܸqʕIHUDKKK )-F_?~<sӴ5k`5}7###FqŊ?Ct=!: m28o{zz\R\\jժ}P+P gJ͚5+E-q-p1T;vwwYf Ln]]]z}!ݢxv{JKKkSEA z`5k}u|Khb䢨_~4 zۋ/8G' m\?s,_ EQ:.~",*zB/266Fd2v%ƲlGGfh4gϞAM۶E!r!3,[QQ'֓&aTK( A%?쳩nCөT7o ‘(br6555/%B#A WXAVn!%Dq^p"jKKK F[P%}*B+޽{ԩ|>ߣG8$hJe"3K,!TUU=~h4qeIK[sݥӧO?|Z[[#AS!=X,A'iLԬmܹ/NMM%cUʇ :7"J`HH*:::4 k]Xp۷oWdunDvݍʋ=Bb$RZ(tTCn3fhjj`&3Dyyy/z\>A'SI!k ,xw{?B I)ejb,`U!n6!KDaPLA{Ws{w\`};vrJ`Ul8zLE鬭Df)Jn0Ν;vH8HXBnbz<vҥgy&;;?($DP>}݉["j6߿m۶+VTVV^vMcT B'\}E`(:?߼ysaan0b?b@bY`0Lh e˖]vMj*ӹnݺܹs-Jo>͵5k֨TϋkvJIIIIIX,jZ:%uhL4#DTT!//+ M&966E1qKD\'H0 C7E-޳gr d׫Ξ=u$y<ꬬ,Q+BA2@eٲ2].p"mR_XUd,// iBDID 0*fB"6m/!z3h%A.lQ=L3tߴAsv[V@줸ҥK^`n,Z,$x<?~|E{ )֭[zq$mǎ6m*ZR\|__׿;g|b) Jdɒ.ҏ9<<<&Y,NviӦ r *>^yrJJJ-4.nF {o h4'Q<سgOqq˗@Qk/̙3g͚566(|`!IYgv{QQ05UܪECC:ߔ G:\|>F3ahIDATھ}{GGGkkZ|MVwtt0DD#d"V[ZZrѓveuGekkkn(S|04F)eٖJ$'TbŁ~zb׃ ̵:,!ff,v;k5@_Bˬ,ZU6, ҍB̬r>rӃ\ҍL&H!M5ڒ*C$dO7&dwnB+Ӊ\IR*a={qhqb$M0[Оq\$rMX#I-0qY$E)IӍ~5d2]6L52r @0ɘna~ƥ9//oݺuh_)٬T*ٓraFfS* ,_A$EuwwwvvM(813gb>R[-`¬ lذaƌ1.@ɼ^X,!Wt:]ȧ>ǎwyqD_ KӚ0 vt0sCkv6Lanxzn p y4$=)m6[uuٳgm'UL{{{J(JA<@癩FX,/2"0!zeeeqvBB7JOv 6r$h4 .'m GVXX,F`,2LngdtMX]n]fff}}= Agx_SrJat:]CC]@02YU`Yv͚5w|J%FTUUUSS$ٺd2B<[ww7!$*A}B[ZZZss3 @x?3ξz꿃pfJIoB$ mR&3S800UUU /ݿy϶*@~xL~^w{G9W=)_҂Q+FGGz}ooJ |+t$,[QQVg32:|8^w۵kסC&$VxI__߲eFGG'u0"kʹ p_͸fSՓ?juiiӧ.\Õ+W>tҽmw/eUVi4iӦ͜9sٲe) m ' ~_?w}… \>/ӧO#A⥛l.**z  ?~͛eeeشiS*TD'n߾=a6Vշo_~enn DTg5')ZNı,駟>s݃+@)zN:aɪe˖4Int N,jgΜm3iٔJeFFFii|pDs7'|M?X,CCC,HBbR},޻w/pI`2!^,==tٳgTښl<6w#̙3{_|o .D(Ix~񺺺iӦpK!Ir===^W#D"nVk0T*omXPxvGE̿KXIHN쫐bZ,XhHIz Ϲ@Ԑn OH7' tyBO8pQVBrrr߿\.ז-[ɓYYY|EٲeK~~>};wԩSt۷ = f,cM-̍SN9l+5 F+288Xyiځ2999c,V;88888Bgյdɒ 1wܩR$^:x fΜ9q~^T*:7 sDҭƍ/̌3널+W?2e4=z_;w* NzJ5F|YFt0qф6&ʠc# K]Lc qhLG p'nU*>/>9Dd%I|-κ4MӲ BHYϜzq)d/..fQu:~uAݥMWs6<0 eY&;. <`i#byYgş@۶sl!~n09oX݀_@UՔP1n_B !})˾ \.CVq=E'n(RnB3M|}_4MӤ=>>aXՠ>-$).aɮ0 +Kɞ$&$@D<+6bX;h4⇌1!1\м9v۶ilnnFQdY`0`¢L널rM;;;[ZZ Enl`uCﰰ011qqqW1677''''u]4aCNVA?ڛ777LOOhnff.5y^٤JY`uC8g^媪LO097sUU הRY{L'#oooe}leя 5(kkkZJ2G!d8-tyyjQJm>9948˲{xxXVtj*˲8ɈUJ)0l7 !TL8vCV7P1auCV7P1auCV7P1[iCLIENDB`n+_sa_:qѾPNG  IHDRy`gAMAܲ pHYsN IDATx]kS?}?| e7ecI**c7RDSáUD"kl.Id1) kʘћgr||MkG͹>_v5 [ 8pAD4l8́[NDsց8pu1RȲiچ+T*79j6T*1J뎆mRh4J&rlvb!q;Š  FŢUaӟBD^o4T ?H?m-R@ U{|>ZAdDQlI)˒$B2|>ݱUUh EQl\.$ "Fuz;E'h[*4L$z )@ cL\^N TiH$8]hdϣ.UU"Zc6 (ٸ{(6FEQG4LG:!z Ӌ2@u=jΉ2M t.mcKF4~hvٳʕ+MKʲJR(R`0r Vd4M~?ͶO4%={x ۷o555xLkvv6  ƄFB!q]Qx<>11f^VP,vV(PeYBabbE) RPTBP<y6t!ҥKVw`8dy<5!׮]C]l EK6NGE ^-ْP(x^5;;(XbFBHZY* ju\BhW(nl6^/]SfѝXn߆ˬls,蜧OB&1Zd2;4Itc4I2".x@#){c3bd`ԓhZ>THr@1|UU L\. @e 㨪3 pL^O$@ P,YQjsu(+qFP wa l.I yNíсJFXa{H^T-JyڢF5 2|>[3}A D"[Ѱʌ1cioe64jbըN#N>HR%+ָ(h 4H5@覢( XUzm Ilákr9B,2@B UU?rZhV3J-S!IETgpɪmxGos5>EFi-0-ҬR X4m |6Jr!OEv+?`844dG盛eyyyU<O4L >ϴ3^j qF'HLNNr/BgϞd298yGjknL.g[j?J#[ ksNPjh1{meFtѺW^{wi[i(£wY]]UUUF۽k׮'Nܽ{8(JK}_mfE_~'d*}/_޵kW>GpA{ݽ{7ϧV ֎3|ܹX,D9,*}JoNOb822Ϣ([)ut:=>>n@4fvrl XYOӴ'OeYPnߒˬƃ [xv(׷ȞmIƴϟ'hv/^,k7o4RE;Fܹ**/^"b!4M+ p_Eի2J%8q :Til6 .--bd2Y`O+Z +M-RZZ0%gΜ.YY4MSU?+ɩgZEV;|t:=55bpm?8F4ڵNUb6ѣY200`S lD"D"~~رc444FpX6YGFFDQD"xGT7o%?C,k:)ԣP(࿷VY6B4D1322!/ܿRVgfM<0udM?ʑ#GAp`ׯ#i[N;Hlz,8p}Ri~~ &L&8#8N-իFce-b芲,ݽ{۷2#w*Y[}dm,X}/yB#?!FO 6q=KTX!T T]]–M^gURUU$ACCH $mT*E/JUUcJp/|lwT^@ Fb%q(8ω{fJksS8n+Ţ8p+}L_$Pzh"#ֶ csTP)wA]E<X: ,FQQ,":Ԫ۷2#L]f9jta98ڟfxN8s&AM8p@i*]Gs ڟuZTpAK!c :]Gsց[NDshd(dF~ (J'l6lw}M+)@heZBرcHdz ˲w\~X:Bq޽8 i `drfwSU=&ŶC;ٯ+{)YkF۴oܸ/d?@.@Q^x…/_<Bo %d2L ѻfEˁXeE9Ezh3`0oqoo2: =~W=^/].^3.Ƙɲ\VCfjVmpPR,̀ܔݨgT$=7{b(˲z VMPi!Cבcü}rcQ/nDǠ  (}lcO 4Rb1|pڙ 6J,g7@sh4j􋒸+JQ:i? cYܴL&*3L, f0k0)uYQi!C7%[ǻߴRǘNycͰD͸/n z4Fsݒ$CMYq yǑ#G!>$?~Q2 DM ɓ)@iJezzۿ?!$MMMq}>[o%b8x<| !> cf˺e5::xw؁σ(J: !dtt1P(dӶoGLLLH~VUNΝ;'r>|hn;n B/BȩS1޿T¸Çqddfoo@eJ3@"(}Ą͉eB׮]9w!֭[Yn|>O94`ϠT*_2XٳgM:Ԕ xs7SlPRfpLmFt:M)~$n ݻ9MӕTv L&YDp{ BO?D{ݻ@o  x?r[QrV>qc#b4T*Q&\.[KKK-UuŃ fpPk@Ӵd2)ɓ' zn$PhCMiJݴɦdGt:=008p냃,{N$RСC(7Ko6 (}uX[\.0 ԁeלV4h4(8.Tž$I@;VdQhXd2ERc6i]LrR Kt,̍5m38K; 0 ,lWAZlJܗKҝb`!X,RGWӦ5,퐡Ӻhу݈N:Ŧ{g`3 ڍMN_MC3?Mz}]߲؜t lf:ujUp@?~PxĹ@Ġiڍ7F_pysD`'˗/q@?nJ _(s\۫Fl*{n۶ԩS잏힙YÕ-]&ҮVdAD4l8Nl8́[NDsD4:< k7.T*v씃h$ o;9Ld4AE#Rv@L<:L:n 2L48Ń]Hcy7o^XKR8'}Ѩ}Xvyk@VoKHVܖ-m @%FQ.u/$͜7Cњ ݿKd28k:33駟va:J_a̰<رc!cv q P$tM4McS۷vٳʕ+M1e/ˠcPT@qJB`?xivM5MT, 0+ 06D .kvvVQz¥WD)|W"C4^/TU j+ڢ h% Q9lm$0m{wfRglHʋ,:m<Ft^' `1 dbxo+SCHiJ(WFvd2S3+y+!d͍`*^cZ]:6fLRsNi=`[81fZ)GlEۂ`ݹ\4jkU ӿ"EF4i[9iqX;h`4Y5?6JKe+(ZMWaբC\ji>N/,,\6aJ9L&[E4zBvs?339P:|EK~d@#:tMav7#ߺu Sζ;91 LS60 ƚ>Dbrr2]xtnDV׮]Fa3W@{)V9I9E!bo|YqN(>FAU (1^-=țARgҞ޲Qs bH$lL`mZj.;\ mq޳O9]!`8?s XjBzrjTUjÇ[5MCsNƐ(/h#iI 3ժ/>V5>e`0ŒɤQZ~gN&eYe6w;66O=+7˴= H@ vI}(4Mh ,@CpqC &v%Pj k(.H$% L֡&|}_4Lv~,+|AVV<3\SB](s8GG^|{ȪoYP$}vRqMr³p4GddFXlrr2sε\$f /@N<);Yeh4ď266w)F: !hdaӫ$/\te/Up7| Pc̈C'j5Lt EϾvU^g30S/ SԲU֨jVF0`RhJL&#{4n{ Z -x{\)/VO!T-e7xcK?F tGڠ^ =9_vF[K&cȰ#]>'(IS?7x>E@{ܱ12m^%cݼjݣ\2WTMr9p4udumNu:h샪"B.V=`hmjFi@UwеA=f`|g+s0'ۈA2rƽV=HqI@6F4a"0.bxxj*8{l \NB,hHOh|g;&'pXG[=ɰƞ%`^># w1`߳BŠNz2\h|vZ*`Fq*;"qwHa8~cAFH֣E"bJ|P(iBȽ{Xz'O@ MQ< TOϞ=lSj\.F-Bp8B@"BpxmmC/oo/J? Ðֻ{F&?er9>t5ekz5Dj*tzQa[nep6Seh9!|^gT,^{VWDuVDk4###'O]A:?$l4BAҚ?-}J8qぁO>P(DNz2Gꅅ|>ٳZ,/̊ur [pX/SD[ZZPᅦa\p7{9Vr*z7ѐBv܋9ZV,#\T>|xҥp8W_ y'O]ի+W˗/W*d2yҥj/q(/^H]pJyBǏ>wzNz2 DjuN9uYm-LXLyHS\.#bA|"?qX*:}4.Vw4`B*RmED[꣏> BZ@)rߏ?H3W IDATt h߸qU[v~7^5|A$D"Ã\ P(*煵BX = eZnll{{{ !޷~+ C oAղAo CpCK˟/9lGGG4l-VVV\ǂC}${G4[ 3w,`TR Sӹ\/JVoއE7;auka}5A_:t(/{f/lMz-%=X d: ɠm۵Z "ŸS-Χi2|xW sb#(HF޸*6@8/rAak7:D%c+0aT:vӳvԢ\aw0t<:t\mb'񇙈X,F9u[:!u,YΊp{ }xr+@8:<_5YKT]WW`T;˲ݻϗ/_ﴇEO9qL pf"`:k=`0D4=t*wSV_Z]D!F~AkۣkڕWGJ |w3hW(,E|QV޶A=Asf{{˝mSSS=:_—'tԍTǹU$R/,Ѱߖˢ)pR+D"H$fffX5iǨ/s2su1 Q}H\DԕB"P@N'[ ")4b xu~PkX/L5c^ߦPhzuvYeyg^%W7V\S[(,>,Uf. ދT%TX9V^DwYeNm#;'߸6']χ,=0[?Uz&L[-PlyDQU Z2xdt,]ߦPX_JqD4Tuc\EmD B;겶 idyuz(kDC0aYBj>ԑlB1t~ň&oU܁nDCBAgոrXզPkD/L%kDsVH$ a~VQWWUst9mQtz3Fcp5W&]Շ:R,{]>D4ߝf"?q8Ϣd277w…7oOT_cK}CEְ0lZfOS; O@vFPI~:ҨBE4N$ЉI$2xh4 ^(Rzbvlttʷ dgya4u^u|@>}S奫5; ̲;{6t~8/ |݈BЕ+WrpKX?J%H9 w]\\,MӧNd2>$ #}ԩ3g ϿTK$ѷMcX- X([_uTԸS[w}+ۆ_XX8}͛7Jz˳\a}}}>85,DS4YߦL+3 KU%YZ۫D vFFF#ãGmq5?6ʚ;g4wdwdH8ppp@ <4!d!d%gʚ;<4dddd%gʚ; <4BdBd%ʚ;f___PPT9H@8n.ܘՇ\j&PNG  IHDR [AsRGBgAMA7 cHRMz&u0`:pQ<$PLTE333ff33̙3f33ff̙fffE3tRNS0J cmPPJCmp0712ZREIDATWc`dPJB#r*d16QRƉ@yc\d@ OBM]PkZ IENDB`h___PPT2001D<4X ___PPTMac11@f   hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography ? %01ESelf-Organizing Hierarchical Routing for Scalable Ad Hoc Networking, (ProblemUse of wireless devices is rapidly increasing Decentralized, self organizing systems Current ad hoc routing protocols are limited in scalability Mobility increases routing overhead Success of the protocols is challenged in large networks Need for routing protocols that scale .Z'Z<Z]Z'Z.'<]  ContributionSelf-organizing hierarchical routing Proximity-based multi-level hierarchy of cells Hybrid Routing using this hierarchy Proactive hierarchical, among cells On-demand, within cell Mapping of unique IDs to hierarchical addresses using a distributed hash tabled%/n$;O%/$; O,55 The Main IdeaEach node belongs to a cluster of level L, or is clusterhead (Drum) for that level Drums broadcast their existence with beacons Nodes hear beacons and Join cluster Take over drum roleN!>U  $0 {DART versus SAFARIWhat is common? Hierarchical addressing Map IDs to addresses via a hash table Difference from DART Explicit group names (instead of prefixes) Reactive Routing within same level-1 cell b>U>U  Safari Overview: HierarchyNodes organized in multi-level cells Level k cells grouped into Level k+1 cells Cells are identified by drums (= head) Automatic self-selected Drums are the backbone of the hierarchy Nodes choose a 1-level higher drum The one closest in hops%+'@$%+'? $,$ Safari Overview: RoutingeSelf-organize into clusters: Drums transmit periodic beacons Nodes keep DHTs (distr. hash tables) Look up ID of node to find its address Route towards the drum of the cell of dest. Up: Follow the reverse path of most recent beacon Down: Seek a lower-level cell s.t. dest. is its member Within: Any node in cell of dest. initiates on-demand route discovery &',  &',vG]V-& Beaconing ProtocolBeacons help establish the drums Beacons are broadcast by drums Seq #, coordinate, beacon level, hop count Forwarded by all nodes within Dn hops Dn increases with n: higher level, larger cell Higher level beacons w/ lower freq. Assumes:Topology changes less frequent at higher levelx@+&S7@+  S76@L6Beacons: Rules of HierarchyA node at level n, must have a leader at level n+1 There is no other n-level node near by There is a reason why you are at level n At least two clusters near you at level n-1*,,Eb Drum Level SelectionAlgorithm runs at each node, after each change in DART New entry or timer expiry Assure DART satisfies certain conditions If violated, change the node s level appropriately Aids efficiency under dynamic changesf7)n3&7)3 & Membership AlgorithmInvoked after drum level selection Nodes choose a unique drum in 1-higher level (closest drum) Whose DART entry has not expired Then each node is assigned a coordinate, based on its drum Consider Di is a drum, L is a leaf node COORD(Di)=COORD(PARENT(Di))RAND(b) COORD(L)= COORD(PARENT(L)) Coordinate is vital in routing_Z!Z;ZhZZ2&!   0 $$( (,, 004488l% The Routing Table: DARTDrum Ad Hoc Routing Table (DART) Nodes store beacons they forwarded Store: beacon contents, time_rcvd, Drum_ID A timer starts with each new entry When expired,I rethink my membership drum level selection algorithm and membership algorithm invoked!#n+#n%A!#+# %   $$Addressing -- ImplicationsCOORD(Di)=COORD(PARENT(Di))Rand(b) if b then Pr{2 nodes get same coordinate} COORD(L)= COORD(PARENT(L)) All leafs in a cell have the same coordinate Drum IDs at each level create a hierarchical address (coordinate) for each node that is a member.$0-b   + $$((,,00b44Proposed Routing Protocol[1. Proactive Inter-Cell Routing Deliver pkts from src to level-1 cell of dest Drums broadcast info to All its nodes All nodes of its sibling cells (same parent at n+1) By following the reverse path of beacons 2. On-demand (Reactive) Intra-Cell Routing Deliver pkts to final dest. within level-1 cell Via any on-demand routing protocol!GB*1W G  B*  $$((3,,%-#Proactive Inter-Cell RoutingEUnlike conventional clustering Clusterheads suffer bottleneck Drums need not be along the path at all Extract coordinate from pkt, Lookup DART Longest prefix matching between two coordinates Get the sequence # of the longest prefix match Compare with sequence # in pkt header If not worse, replace entry in pkt with DART infoG)0/&2G)0 /&2P R&Reactive Intra-Cell RoutingEach node, upon receiving a pkt, checks if the dest is in same level-1 cell as itself Coordinates are the same If coordinates match, use DSR within cell:V*V*,eExample #Address Resolution"Senders wish to send pkts to an ID But protocol forwards to a coordinate Map nodeID to its current coordinate Implemented like DHTs Each node inserts (ID,coordinate) pair at a set of k nodes Node reinserts whenever its coordinate changes Any node can lookup the coordinate by hashing the ID#Z&Z%nZjZ5Z    $$3((,,600544>3++Address Resolution - Locality?We don t want to look up a coordinate in LA from a node in Japan! Store hash not only in random k nodes; but also in closest k nodes Insert, with i least significant coordinate components replaced by random hash value When coordinate changes in i least significant coordinates, reinsert at a subset of nodes only When A looks up B s coordinates Iteratively query all nodes at greater distancesZZ Z1PM        a$$((C,, 00144  Performance EvaluationwDn= 3 hops Transmission range = 250 m. Topology: fixed density: 50 nodes in 1000m x1000m area Mobility: random waypointP1-/-   Scalability<PDR: fraction of application layer packets successfully rcvd$=< $ Overhead 4Overhead asymptotically approaches a constant value.$54% Path Lengths2Avg # of hops btwn a random src and a random dest.33H   3Mobility]1000 nodes. 95% PDR with 100% mobile nodes. Total overhead almost same as in the static case.^^&DHT Scalability9Avg. # of hops for all pkts to STORE a coordinate in DHT.*F:$- ConclusionsProposed routing algorithm scales well. Periodic beacons are an overhead. A lot of patch-like details create complication Beacon period Beacon forwarding Drum level selection: complicated Coordinate caching in DHTs*zZ]Zz]/!"*,.012  ` kbSrT>ژ` fԇl` )))___` f}` ӳհfW5` Q9|X>?" dd@,?" dd@   " @ ` n?" dd@   @@``PP   @ ` `p>> d\<(  < T  < "n < 0"- < RACacback"_ \  < " <  R0e0e  ?B#CDE4F@5%8c8c     ?1d0u0@Ty2 NP'p<'pA)BCD|E|| #-#pISc#### @    `S" 7 <  BCvDELF& \f`v`v:r p^d pb@      `"b  F <# " F2  < Td" F2  < Td"iy2  < C x?d?"'^V2  < C x?d?"'V2  < C x?d?"T2 < C x?d?"2 < C x?d?"`2 < C x?d?"'V2 < C x?d?"]Iyt < 6 "g < 6 ( "   T Click to edit Master title style! !$ < 0) "  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S < 0) "``  V*   < 0 ) "`   X*   < 0) "`   X*  H < 0޽h ? fԇl___PPT92p22  CactusT   @E(  @RT  @ "r\  @ "n @ 0"0  @ RACacback"_t @ 6 "0 6  `q @ "`q,$D , @  R0e0e  ?B#CDE4F@5%8c8c     ?1d0u0@Ty2 NP'p<'pA)BCD|E|| #-#pISc#### @    `S"#q  @  BCvDELF& \f`v`v:r p^d pb@      `"`b  F  @# "2  @ Td" F2  @ Td"iy2  @ C x?d?"'^V2 @ C x?d?"'V2 @ C x?d?"T2 @ C x?d?"2 @ C x?d?"`2 @ C x?d?"'V2 @ C x?d?"]Iy @ 66) "@0   T Click to edit Master title style! ! @ 0@:) " `   W#Click to edit Master subtitle style$ $ @ 0?) "``  V*   @ 00D) "`0 P   X*   @ 0I) "`p   X*  H @ 0޽h ? fԇlG?___PPT10+WD' 6= @B D' = @BA?%,( < +O%,( < +D' =%(D' =%(D9' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*@%(D' =-u6Bwipe(right)*<3<*@+ zrPH (  H H 008 P    P*   H 0:     R*  d H c $ ?   H 0@:  @  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S H 6V  `P   P*   H 6[  `   R*  H H 0޽h ? 3380___PPT10.tы C;@(  l  C ],@PP   '  <+ m ]Computer Science Technical Report Rice University, 2004 Slides by Ece Gelal and M. Faloutsos^^$A H  0޽h ? 33  `(  l  C *<    l  C (*<p  H  0޽h ? fԇl  p $( L   r  S 0 <    r  S 0 <   H  0޽h ? 33)     i (  l  C P <    l  C  <  X2  0 pp X2  0P  X2  0P @ X2  0P X2  0P  X2  0  X2  0  @X2  0 @X2  0 P pX2  0  X2  0  X2  0 PP X2  0P @X2  0P PX2  0  @  <P   0  <`   1  < P p  2  < `4  3  < v&O LevelH  0޽h ? fԇl  $( | r  S k <    r  S p~ <  H  0޽h ? 33  $(  r  S } <    r  S 0 <p   H  0޽h ? 33   (  d&  r  S p <    l  C  <P P  H  0޽h ? 33  ($(  :7 (r ( S <    r ( S < `  H ( 0޽h ? 33  x(  l  C <    l  C < 0  X  0A ?`8x  <0@10___PPT106___PPT9B___PPTMac11   hnamd` Arial&Monotype Typography  T$DART = Dynamic Address Routing Table%%H  0޽h ? fԇl  D(  Dl D C <    l D C  <   H D 0޽h ? fԇl  0P(  Pl P C PR+<    l P C S+<  H P 0޽h ? fԇl  (  l  C z<    l  C 0|<  H  0޽h ? fԇl  T(  Tl T C P<    l T C <P   H T 0޽h ? fԇl  X(  Xl X C .<    l X C  0<  H X 0޽h ? fԇl   d(  dl d C 0H<    l d C  <P    H d 0޽h ? fԇl  0h(  hl h C Pe<    l h C f<  H h 0޽h ? fԇl  1)@`(  `l ` C 0<    X ` 0A?+0 ` 0@0p * USafari Routing overview"H ` 0޽h ? fԇl  P(  l  C 0<    l  C <  H  0޽h ? fԇl  `(  l  C P<    l  C "<    H  0޽h ? fԇl  p,(  ,r , S p<    l , C <  H , 0޽h ? 33  0A(  0r 0 S @<    r 0 S `<P p  X 0 0A?@  0 0 @ UPDR versus network size"H 0 0޽h ? 33b    (  l  C <      B <p`  X  0A?1`H  0޽h ? fԇlb   ( Lԇl l  C '<#   X  0A?  B) <  H  0޽h ? fԇl  rj(  l  C 0j<    X  0A?    Bm <   X  0A?  H  0޽h ? fԇl  h`( > l  C 0<    X  0A?Pp   B < @   X  0A ?E@    0  0 .Avg. # of hops to LOOK UP a coordinate in DHT.*F/,H  0޽h ? fԇl  (  l  C  <    l  C . <  H  0޽h ? fԇl   L.(  LR L 3 H    L C  H @   <(Algorithm runs after each change in DARTH L 0޽h ? 33  xk(  xR x 3 H    x C  H @   yCA beacon of level n transmits beacon of level n in every tn seconds9H x 0޽h ? 33    |Z( t  |R | 3 H    | C < H @   hTIf prefix matching = n, then use DSR, intra-cell routing. COORDINATE S ARE THE SAME!H | 0޽h ? 33  0((  R  3 H     C @Q H @   6"No additional maintenance overheadH  0޽h ? 33  @T(  R  3 H     C _ H @   bNLookup of a nearby node does not necessitate communication with a distant nodeH  0޽h ? 33  K(  R  3 H     C p H @   YENodes make individual decisions to provide and preserve the hierarchyH  0޽h ? 33  B(  R  3 H     C - H @   P<Each node associates itself with the coordinate of its drum.H  0޽h ? 33  `g(  R  3 H     C @ H @   uaChoose a random number, Listen for collision, if there is collision choose another random number H  0޽h ? 33  P"(  R  3 H     C Pt H @   0Overhead due to drum floods H  0޽h ? 33dxp^RЀ3ÿ lHbP  @AL G@;b `B&V|'%$@!~ bM5εSjP <G?F{MIM&A|-J|<̒{M4U[Z] _9D759>|'%$@!~ bM5εSjP <;49pGCM&A|-J|<̒{M4U[Z] _9D759>|'%$@!~ bM5εSjP ;7$KEb3G0ZE'.s3Ds|9F>n)#85"n)#85"n)#85"6ʚ;g4wdwdH8ppp@ <4!d!d%gʚ;<4dddd%gʚ; <4BdBd%ʚ;F X___PPT1080 ___PPT9@8n.ܘՇ\j&PNG  IHDR [AsRGBgAMA7 cHRMz&u0`:pQ<$PLTE333ff33̙3f33ff̙fffE3tRNS0J cmPPJCmp0712ZREIDATWc`dPJB#r*d16QRƉ@yc\d@ OBM]PkZ IENDB`H 0h___PPT2001D<4Xh___PPTMac11@f   hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography   ,namd$ Helvetica  ? %1ESelf-Organizing Hierarchical Routing for Scalable Ad Hoc Networking, (ProblemUse of wireless devices is rapidly increasing Decentralized, self organizing systems Current ad hoc routing protocols are limited in scalability Mobility increases routing overhead Success of the protocols is challenged in large networks Need for routing protocols that scale .Z'Z<Z]Z'Z.'<]  ContributionSelf-organizing hierarchical routing Proximity-based multi-level hierarchy of cells Hybrid Routing using this hierarchy Proactive hierarchical, among cells On-demand, within cell Mapping of unique IDs to hierarchical addresses using a distributed hash tabled%/n$;O%/$; O,55 The Main IdeaEach node belongs to a cluster of level L, or is clusterhead (Drum) for that level Drums broadcast their existence with beacons Nodes hear beacons and Join cluster Take over drum roleN!>U  $0 {DART versus SAFARIWhat is common? Hierarchical addressing Map IDs to addresses via a hash table Difference from DART Explicit group names (instead of prefixes) Reactive Routing within same level-1 cell b>U>U  Safari Overview: HierarchyNodes organized in multi-level cells Level k cells grouped into Level k+1 cells Cells are identified by drums (= head) Automatic self-selected Drums are the backbone of the hierarchy Nodes choose a 1-level higher drum The one closest in hops%+'@$%+'? $,$ Safari Overview: RoutingeSelf-organize into clusters: Drums transmit periodic beacons Nodes keep DHTs (distr. hash tables) Look up ID of node to find its address Route towards the drum of the cell of dest. Up: Follow the reverse path of most recent beacon Down: Seek a lower-level cell s.t. dest. is its member Within: Any node in cell of dest. initiates on-demand route discovery &',  &',vG]V-& Beaconing ProtocolBeacons help establish the drums Beacons are broadcast by drums Seq #, coordinate, beacon level, hop count Forwarded by all nodes within Dn hops Dn increases with n: higher level, larger cell Higher level beacons w/ lower freq. Assumes:Topology changes less frequent at higher levelx@+&S7@+  S76@L9 Clusterhead and hierarchy k-level clusterheads  rule a D_k radius area At k+      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqstuvwxyz{|}~1-level we have fewer clusterheads *W.(. '6Beacons: Rules of HierarchyA node at level n, must have a leader at level n+1 There is no other n-level node near by There is a reason why you are at level n At least two clusters near you at level n-1*,,Eb Drum Level SelectionAlgorithm runs at each node, after each change in DART New entry or timer expiry Assure DART satisfies certain conditions If violated, change the node level appropriately Aids efficiency under dynamic changesf7)n1&7)1 & Membership AlgorithmInvoked after drum level selection Nodes choose a unique drum in 1-higher level (closest drum) Whose DART entry has not expired Then each node is assigned a coordinate, based on its drum Consider Di is a drum, L is a leaf node COORD(Di)=COORD(PARENT(Di))RAND(b) COORD(L)= COORD(PARENT(L)) Coordinate is vital in routing_Z!Z;ZhZZ2&!   0 $$( (,, 004488l% The Routing Table: DARTDrum Ad Hoc Routing Table (DART) Nodes store beacons they forwarded Store: beacon contents, time_rcvd, Drum_ID A timer starts with each new entry When expired,I rethink my membership drum level selection algorithm and membership algorithm invoked!#n+#n%A!#+# %   $$Addressing -- ImplicationsCOORD(Di)=COORD(PARENT(Di))Rand(b) if b then Pr{2 nodes get same coordinate} COORD(L)= COORD(PARENT(L)) All leafs in a cell have the same coordinate Drum IDs at each level create a hierarchical address (coordinate) for each node that is a member.$0-b   + $$((,,00b44Proposed Routing Protocol[1. Proactive Inter-Cell Routing Deliver pkts from src to level-1 cell of dest Drums broadcast info to All its nodes All nodes of its sibling cells (same parent at n+1) By following the reverse path of beacons 2. On-demand (Reactive) Intra-Cell Routing Deliver pkts to final dest. within level-1 cell Via any on-demand routing protocol!GB*1W G  B*  $$((3,,%-#Proactive Inter-Cell RoutingEUnlike conventional clustering Clusterheads suffer bottleneck Drums need not be along the path at all Extract coordinate from pkt, Lookup DART Longest prefix matching between two coordinates Get the sequence # of the longest prefix match Compare with sequence # in pkt header If not worse, replace entry in pkt with DART infoG)0/&2G)0 /&2P R&Reactive Intra-Cell RoutingEach node, upon receiving a pkt, checks if the dest is in same level-1 cell as itself Coordinates are the same If coordinates match, use DSR within cell:V*V*,eExample #Address Resolution"Senders wish to send pkts to an ID But protocol forwards to a coordinate Map nodeID to its current coordinate Implemented like DHTs Each node inserts (ID,coordinate) pair at a set of k nodes Node reinserts whenever its coordinate changes Any node can lookup the coordinate by hashing the ID#Z&Z%nZjZ5Z    $$3((,,600544>3++Address Resolution - Locality?We don t want to look up a coordinate in LA from a node in Japan! Store hash not only in random k nodes; but also in closest k nodes Insert, with i least significant coordinate components replaced by random hash value When coordinate changes in i least significant coordinates, reinsert at a subset of nodes only When A looks up B s coordinates Iteratively query all nodes at greater distancesZZ Z1PM        a$$((C,, 00144  Performance EvaluationwDn= 3 hops Transmission range = 250 m. Topology: fixed density: 50 nodes in 1000m x1000m area Mobility: random waypointP1-/-   Scalability<PDR: fraction of application layer packets successfully rcvd$=< $ Overhead 4Overhead asymptotically approaches a constant value.$54% Path Lengths2Avg # of hops btwn a random src and a random dest.33H   3Mobility]1000 nodes. 95% PDR with 100% mobile nodes. Total overhead almost same as in the static case.^^&DHT Scalability9Avg. # of hops for all pkts to STORE a coordinate in DHT.*F:$- ConclusionsProposed routing algorithm scales well. Periodic beacons are an overhead. A lot of patch-like details create complication Beacon period Beacon forwarding Drum level selection: complicated Coordinate caching in DHTs*zZ]Zz]/!"*,.012    E = p (  l  C 06<    l  C <   X2  0p@ X2  0X2  0` ` R2  s * R2  s * P dB  <DjJ Pp   <4{\b0___PPT106___PPT9B___PPTMac11   hnamd` Arial&Monotype Typography  ED_k dB @ <DjJP P P  <h g0___PPT106___PPT9B___PPTMac11   hnamd` Arial&Monotype Typography  ED_k dB  <DjJ    <p, PU 0___PPT106___PPT9B___PPTMac11   hnamd` Arial&Monotype Typography  OD_k+1H  0޽h ? fԇl80___PPT10.tb  D(  Dl D C <    l D C  <   H D 0޽h ? fԇlr7 9Z s |"9D( / 0DTimesca((h@h10DHelvetica((h@h10 DSymbolca((h@h10 ` .  @n?" dd@  @@`` 1'    ' "#$!&% 'b$+Jkdf_b$Bbes?l$o_b$A~n3I?5Aΰb$o L1(ltLsTb$JD}-]Nd2;Fb$|2BnOf m@b$]ߊ`98OmB?[,{b$eB0(W[{MLb$Nd_5HxX.;b$_sa_:qѾ'+jc $@8 ,pʚ;>6ʚ;g4wdwdH8ppp@ <4!d!d%gʚ;<4dddd%gʚ; <4BdBd%ʚ;F X___PPT1080 ___PPT9@8n.ܘՇ\j&PNG  IHDR [AsRGBgAMA7 cHRMz&u0`:pQ<$PLTE333ff33̙3f33ff̙fffE3tRNS0J cmPPJCmp0712ZREIDATWc`dPJB#r*d16QRƉ@yc\d@ OBM]PkZ IENDB`H 0h___PPT2001D<4Xh___PPTMac11@f   hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography   ,namd$ Helvetica  ? %1ESelf-Organizing Hierarchical Routing for Scalable Ad Hoc Networking, (ProblemUse of wireless devices is rapidly increasing Decentralized, self organizing systems Current ad hoc routing protocols are limited in scalability Mobility increases routing overhead Success of the protocols is challenged in large networks Need for routing protocols that scale .Z'Z<Z]Z'Z.'<]  ContributionSelf-organizing hierarchical routing Proximity-based multi-level hierarchy of cells Hybrid Routing using this hierarchy Proactive hierarchical, among cells On-demand, within cell Mapping of unique IDs to hierarchical addresses using a distributed hash tabled%/n$;O%/$; O,55 The Main IdeaEach node belongs to a cluster of level L, or is clusterhead (Drum) for that level Drums broadcast their existence with beacons Nodes hear beacons and Join cluster Take over drum roleN!>U  $0 {DART versus SAFARIWhat is common? Hierarchical addressing Map IDs to addresses via a hash table Difference from DART Explicit group names (instead of prefixes) Reactive Routing within same level-1 cell b>U>U  Safari Overview: HierarchyNodes organized in multi-level cells Level k cells grouped into Level k+1 cells Cells are identified by drums (= head) Automatic self-selected Drums are the backbone of the hierarchy Nodes choose a 1-level higher drum The one closest in hops%+'@$%+'? $,$ Safari Overview: RoutingeSelf-organize into clusters: Drums transmit periodic beacons Nodes keep DHTs (distr. hash tables) Look up ID of node to find its address Route towards the drum of the cell of dest. Up: Follow the reverse path of most recent beacon Down: Seek a lower-level cell s.t. dest. is its member Within: Any node in cell of dest. initiates on-demand route discovery &',  &',vG]V-& Beaconing ProtocolBeacons help establish the drums Beacons are broadcast by drums Seq #, coordinate, beacon level, hop count Forwarded by all nodes within Dn hops Dn increases with n: higher level, larger cell Higher level beacons w/ lower freq. Assumes:Topology changes less frequent at higher levelx@+&S7@+  S76@L9 Clusterhead and hierarchy k-level clusterheads  rule a D_k radius area At k+1-level we have fewer clusterheads *W.(. '6Beacons: Rules of HierarchyA node at level n, must have a leader at level n+1 There is no other n-level node near by There is a reason why you are at level n At least two clusters near you at level n-1*,,Eb Drum Level SelectionAlgorithm runs at each node, after each change in DART New entry or timer expiry Assure DART satisfies certain conditions If violated, change the node level appropriately Aids efficiency under dynamic changesf7)n1&7)1 & Membership AlgorithmInvoked after drum level selection Nodes choose a unique drum in 1-higher level (closest drum) Whose DART entry has not expired Then each node is assigned a coordinate, based on its drum Consider Di is a drum, L is a leaf node COORD(Di)=COORD(PARENT(Di))RAND(b) COORD(L)= COORD(PARENT(L)) Coordinate is vital in routing_Z!Z;ZhZZ2&!   0 $$( (,, 004488l% The Routing Table: DARTDrum Ad Hoc Routing Table (DART) Nodes store beacons they forwarded Store: beacon contents, time_rcvd, Drum_ID A timer starts with each new entry When expired,I rethink my membership drum level selection algorithm and membership algorithm invoked!#n+#n%A!#+# %   $$Addressing -- ImplicationsCOORD(Di)=COORD(PARENT(Di))Rand(b) if b then Pr{2 nodes get same coordinate} COORD(L)= COORD(PARENT(L)) All leafs in a cell have the same coordinate Drum IDs at each level create a hierarchical address (coordinate) for each node that is a member.$0-b   + $$((,,00b44Proposed Routing Protocol[1. Proactive Inter-Cell Routing Deliver pkts from src to level-1 cell of dest Drums broadcast info to All its nodes All nodes of its sibling cells (same parent at n+1) By following the reverse path of beacons 2. On-demand (Reactive) Intra-Cell Routing Deliver pkts to final dest. within level-1 cell Via any on-demand routing protocol!GB*1W G  B*  $$((3,,%-#Proactive Inter-Cell RoutingEUnlike conventional clustering Clusterheads suffer bottleneck Drums need not be along the path at all Extract coordinate from pkt, Lookup DART Longest prefix matching between two coordinates Get the sequence # of the longest prefix match Compare with sequence # in pkt header If not worse, replace entry in pkt with DART infoG)0/&2G)0 /&2P R&Reactive Intra-Cell RoutingEach node, upon receiving a pkt, checks if the dest is in same level-1 cell as itself Coordinates are the same If coordinates match, use DSR within cell:V*V*,eExample #Address Resolution"Senders wish to send pkts to an ID But protocol forwards to a coordinate Map nodeID to its current coordinate Implemented like DHTs Each node inserts (ID,coordinate) pair at a set of k nodes Node reinserts whenever its coordinate changes Any node can lookup the coordinate by hashing the ID#Z&Z%nZjZ5Z    $$3((,,600544>3++Address Resolution - Locality?We don t want to look up a coordinate in LA from a node in Japan! Store hash not only in random k nodes; but also in closest k nodes Insert, with i least significant coordinate components replaced by random hash value When coordinate changes in i least significant coordinates, reinsert at a subset of nodes only When A looks up B s coordinates Iteratively query all nodes at greater distancesZZ Z1PM        a$$((C,, 00144  Performance EvaluationwDn= 3 hops Transmission range = 250 m. Topology: fixed density: 50 nodes in 1000m x1000m area Mobility: random waypointP1-/-   Scalability<PDR: fraction of application layer packets successfully rcvd$=< $ Overhead 4Overhead asymptotically approaches a constant value.$54% Path Lengths2Avg # of hops btwn a random src and a random dest.33H   3Mobility]1000 nodes. 95% PDR with 100% mobile nodes. Total overhead almost same as in the static case.^^&DHT Scalability9Avg. # of hops for all pkts to STORE a coordinate in DHT.*F:$- ConclusionsProposed routing algorithm scales well. Periodic beacons are an overhead. A lot of patch-like details create complication Beacon period Beacon forwarding Drum level selection: complicated Coordinate caching in DHTs*zZ]Zz]/!"*,.012    E = p (  l  C 06<    l  C <   X2  0p P X2  0@X2  0` ` pR2  s *  R2  s *  PdB  <DjJ Pp   <4 p0___PPT106___PPT9B___PPTMac11   hnamd` Arial&Monotype Typography  ED_k dB @ <DjJP P P  <h)D 0___PPT106___PPT9B___PPTMac11   hnamd` Arial&Monotype Typography  ED_k dB  <DjJ @   <p, PU 0___PPT106___PPT9B___PPTMac11   hnamd` Arial&Monotype Typography  OD_k+1H  0޽h ? fԇl80___PPT10.tbr["9g s 7"s9mPD( / 0DTimesca((h@h10DHelvetica((h@h10 DSymbolca((h@h10 ` .  @n?" dd@  @@`` 1'    ' "#$!&% 'b$+Jkdf_b$Bbes?l$o_b$A~n3I?5Aΰb$o L1(ltLsTb$JD}-]Nd2;Fb$|2BnOf m@b$]ߊ`98OmB?[,{b$eB0(W[{MLb$Nd_5HxX.;b$_sa_:qѾ'+jc $@8 ,pʚ;>6ʚ;g4wdwdH8ppp@ <4!d!d%gʚ;<4dddd%gʚ; <4BdBd%ʚ;F X___PPT1080 ___PPT9@8n.ܘՇ\j&PNG  IHDR [AsRGBgAMA7 cHRMz&u0`:pQ<$PLTE333ff33̙3f33ff̙fffE3tRNS0J cmPPJCmp0712ZREIDATWc`dPJB#r*d16QRƉ@yc\d@ OBM]PkZ IENDB`H 0h___PPT2001D<4Xh___PPTMac11@f   hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography   ,namd$ Helvetica  ? %2ESelf-Organizing Hierarchical Routing for Scalable Ad Hoc Networking, (ProblemUse of wireless devices is rapidly increasing Decentralized, self organizing systems Current ad hoc routing protocols are limited in scalability Mobility increases routing overhead Success of the protocols is challenged in large networks Need for routing protocols that scale .Z'Z<Z]Z'Z.'<]  ContributionSelf-organizing hierarchical routing Proximity-based multi-level hierarchy of cells Hybrid Routing using this hierarchy Proactive hierarchical, among cells On-demand, within cell Mapping of unique IDs to hierarchical addresses using a distributed hash tabled%/n$;O%/$; O,55 The Main IdeaEach node belongs to a cluster of level L, or is clusterhead (Drum) for that level Drums broadcast their existence with beacons Nodes hear beacons and Join cluster Take over drum roleN!>U  $0 {DART versus SAFARIWhat is common? Hierarchical addressing Map IDs to addresses via a hash table Difference from DART Explicit group names (instead of prefixes) Reactive Routing within same level-1 cell b>U>U  Safari Overview: HierarchyNodes organized in multi-level cells Level k cells grouped into Level k+1 cells Cells are identified by drums (= head) Automatic self-selected Drums are the backbone of the hierarchy Nodes choose a 1-level higher drum The one closest in hops%+'@$%+'? $,$ Safari Overview: RoutingeSelf-organize into clusters: Drums transmit periodic beacons Nodes keep DHTs (distr. hash tables) Look up ID of node to find its address Route towards the drum of the cell of dest. Up: Follow the reverse path of most recent beacon Down: Seek a lower-level cell s.t. dest. is its member Within: Any node in cell of dest. initiates on-demand route discovery &',  &',vG]V-& Beaconing Protocol!Beacons help establish the drums Drums broadcast beacons periodically: Seq #, coordinate, beacon level, hop count Forwarded by all nodes within Dn hops Dn increases with n: higher level, larger cell Higher level beacons w/ lower freq. Assumes:Topology changes less frequent at higher levelxG+&S7G+  S7HEL9 Clusterhead and hierarchy k-level clusterheads  rule a D_k radius area At k+1-level we have fewer clusterheads *W.(. '6Beacons: Rules of HierarchyA node at level n, must have a leader at level n+1 There is no other n-level node near by There is a reason why you are at level n At least two clusters near you at level n-1*,,Eb Drum Level SelectionAlgorithm runs at each node, after each change in DART New entry or timer expiry Assure DART satisfies certain conditions If violated, change the node level appropriately Aids efficiency under dynamic changesf7)n1&7)1 & Membership AlgorithmInvoked after drum level selection Nodes choose a unique drum in 1-higher level (closest drum) Whose DART entry has not expired Then each node is assigned a coordinate, based on its drum Consider Di is a drum, L is a leaf node COORD(Di)=COORD(PARENT(Di))RAND(b) COORD(L)= COORD(PARENT(L)) Coordinate is vital in routing_Z!Z;ZhZZ2&!   0 $$( (,, 004488l% The Routing Table: DARTDrum Ad Hoc Routing Table (DART) Nodes store beacons they forwarded Store: beacon contents, time_rcvd, Drum_ID A timer starts with each new entry When expired,I rethink my membership drum level selection algorithm and membership algorithm invoked!#n+#n%A!#+# %   $$Addressing -- ImplicationsCOORD(Di)=COORD(PARENT(Di))Rand(b) if b then Pr{2 nodes get same coordinate} COORD(L)= COORD(PARENT(L)) All leafs in a cell have the same coordinate Drum IDs at each level create a hierarchical address (coordinate) for each node that is a member.$0-b   + $$((,,00b44Proposed Routing Protocol[1. Proactive Inter-Cell Routing Deliver pkts from src to level-1 cell of dest Drums broadcast info to All its nodes All nodes of its sibling cells (same parent at n+1) By following the reverse path of beacons 2. On-demand (Reactive) Intra-Cell Routing Deliver pkts to final dest. within level-1 cell Via any on-demand routing protocol!GB*1W G  B*  $$((3,,%-#Proactive Inter-Cell RoutingEUnlike conventional clustering Clusterheads suffer bottleneck Drums need not be along the path at all Extract coordinate from pkt, Lookup DART Longest prefix matching between two coordinates Get the sequence # of the longest prefix match Compare with sequence # in pkt header If not worse, replace entry in pkt with DART infoG)0/&2G)0 /&2P R&Reactive Intra-Cell RoutingEach node, upon receiving a pkt, checks if the dest is in same level-1 cell as itself Coordinates are the same If coordinates match, use DSR within cell:V*V*,eExample #Address Resolution"Senders wish to send pkts to an ID But protocol forwards to a coordinate Map nodeID to its current coordinate Implemented like DHTs Each node inserts (ID,coordinate) pair at a set of k nodes Node reinserts whenever its coordinate changes Any node can lookup the coordinate by hashing the ID#Z&Z%nZjZ5Z    $$3((,,600544>3++Address Resolution - Locality?We don t want to look up a coordinate in LA from a node in Japan! Store hash not only in random k nodes; but also in closest k nodes Insert, with i least significant coordinate components replaced by random hash value When coordinate changes in i least significant coordinates, reinsert at a subset of nodes only When A looks up B s coordinates Iteratively query all nodes at greater distancesZZ Z1PM        a$$((C,, 00144  Performance EvaluationwDn= 3 hops Transmission range = 250 m. Topology: fixed density: 50 nodes in 1000m x1000m area Mobility: random waypointP1-/-   Scalability<PDR: fraction of application layer packets successfully rcvd$=< $ Overhead 4Overhead asymptotically approaches a constant value.$54% Path Lengths2Avg # of hops btwn a random src and a random dest.33H   3Mobility]1000 nodes. 95% PDR with 100% mobile nodes. Total overhead almost same as in the static case.^^&DHT Scalability9Avg. # of hops for all pkts to STORE a coordinate in DHT.*F:$- ConclusionsProposed routing algorithm scales well. Periodic beacons are an overhead. A lot of patch-like details create complication Beacon period Beacon forwarding Drum level selection: complicated Coordinate caching in DHTs*zZ]Zz]/!"*,.012   ($(  :7 (r ( S <    r ( S < `  H ( 0޽h ? 33r.t s  t9LD( / 0DTimesca((h@h10DHelvetica((h@h10 DSymbolca((h@h10 ` .  @n?" dd@  @@`` 1'    ' "#$!&% 'b$+Jkdf_b$Bbes?l$o_b$A~n3I?5Aΰb$o L1(ltLsTb$JD}-]Nd2;Fb$|2BnOf m@b$]ߊ`98OmB?[,{b$eB0(W[{MLb$Nd_5HxX.;b$_sa_:qѾ'+jc $@8 ,pʚ;>6ʚ;g4wdwdH8ppp@ <4!d!d%gʚ;<4dddd%gʚ; <4BdBd%ʚ;F X___PPT1080 ___PPT9@8n.ܘՇ\j&PNG  IHDR [AsRGBgAMA7 cHRMz&u0`:pQ<$PLTE333ff33̙3f33ff̙fffE3tRNS0J cmPPJCmp0712ZREIDATWc`dPJB#r*d16QRƉ@yc\d@ OBM]PkZ IENDB`H 0h___PPT2001D<4Xh___PPTMac11@f   hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography   ,namd$ Helvetica  ? %2ESelf-Organizing Hierarchical Routing for Scalable Ad Hoc Networking, (ProblemUse of wireless devices is rapidly increasing Decentralized, self organizing systems Current ad hoc routing protocols are limited in scalability Mobility increases routing overhead Success of the protocols is challenged in large networks Need for routing protocols that scale .Z'Z<Z]Z'Z.'<]  ContributionSelf-organizing hierarchical routing Proximity-based multi-level hierarchy of cells Hybrid Routing using this hierarchy Proactive hierarchical, among cells On-demand, within cell Mapping of unique IDs to hierarchical addresses using a distributed hash tabled%/n$;O%/$; O,55 The Main IdeaEach node belongs to a cluster of level L, or is clusterhead (Drum) for that level Drums broadcast their existence with beacons Nodes hear beacons and Join cluster Take over drum roleN!>U  $0 {DART versus SAFARIWhat is common? Hierarchical addressing Map IDs to addresses via a hash table Difference from DART Explicit group names (instead of prefixes) Reactive Routing within same level-1 cell b>U>U  Safari Overview: HierarchyNodes organized in multi-level cells Level k cells grouped into Level k+1 cells Cells are identified by drums (= head) Automatic self-selected Drums are the backbone of the hierarchy Nodes choose a 1-level higher drum The one closest in hops%+'@$%+'? $,$ Safari Overview: RoutingeSelf-organize into clusters: Drums transmit periodic beacons Nodes keep DHTs (distr. hash tables) Look up ID of node to find its address Route towards the drum of the cell of dest. Up: Follow the reverse path of most recent beacon Down: Seek a lower-level cell s.t. dest. is its member Within: Any node in cell of dest. initiates on-demand route discovery &',  &',vG]V-& Beaconing Protocol"Beacons help establish the drums Drums broadcast beacons periodically: Seq #, coordinate, beacon level, hop count Forwarded by all nodes within Dn hops D_n increases with n: higher level, larger cell Higher level beacons w/ lower freq. Assumes:Topology changes less frequent at higher levelxG+&T7G+  T7HEL9 Clusterhead and hierarchy k-level clusterheads  rule a D_k radius area At k+1-level we have fewer clusterheads *W.(. '6Beacons: Rules of HierarchyA node at level n, must have a leader at level n+1 There is no other n-level node near by There is a reason why you are at level n At least two clusters near you at level n-1*,,Eb Drum Level SelectionAlgorithm runs at each node, after each change in DART New entry or timer expiry Assure DART satisfies certain conditions If violated, change the node level appropriately Aids efficiency under dynamic changesf7)n1&7)1 & Membership AlgorithmInvoked after drum level selection Nodes choose a unique drum in 1-higher level (closest drum) Whose DART entry has not expired Then each node is assigned a coordinate, based on its drum Consider Di is a drum, L is a leaf node COORD(Di)=COORD(PARENT(Di))RAND(b) COORD(L)= COORD(PARENT(L)) Coordinate is vital in routing_Z!Z;ZhZZ2&!   0 $$( (,, 004488l% The Routing Table: DARTDrum Ad Hoc Routing Table (DART) Nodes store beacons they forwarded Store: beacon contents, time_rcvd, Drum_ID A timer starts with each new entry When expired,I rethink my membership drum level selection algorithm and membership algorithm invoked!#n+#n%A!#+# %   $$Addressing -- ImplicationsCOORD(Di)=COORD(PARENT(Di))Rand(b) if b then Pr{2 nodes get same coordinate} COORD(L)= COORD(PARENT(L)) All leafs in a cell have the same coordinate Drum IDs at each level create a hierarchical address (coordinate) for each node that is a member.$0-b   + $$((,,00b44Proposed Routing Protocol[1. Proactive Inter-Cell Routing Deliver pkts from src to level-1 cell of dest Drums broadcast info to All its nodes All nodes of its sibling cells (same parent at n+1) By following the reverse path of beacons 2. On-demand (Reactive) Intra-Cell Routing Deliver pkts to final dest. within level-1 cell Via any on-demand routing protocol!GB*1W G  B*  $$((3,,%-#Proactive Inter-Cell RoutingEUnlike conventional clustering Clusterheads suffer bottleneck Drums need not be along the path at all Extract coordinate from pkt, Lookup DART Longest prefix matching between two coordinates Get the sequence # of the longest prefix match Compare with sequence # in pkt header If not worse, replace entry in pkt with DART infoG)0/&2G)0 /&2P R&Reactive Intra-Cell RoutingEach node, upon receiving a pkt, checks if the dest is in same level-1 cell as itself Coordinates are the same If coordinates match, use DSR within cell:V*V*,eExample #Address Resolution"Senders wish to send pkts to an ID But protocol forwards to a coordinate Map nodeID to its current coordinate Implemented like DHTs Each node inserts (ID,coordinate) pair at a set of k nodes Node reinserts whenever its coordinate changes Any node can lookup the coordinate by hashing the ID#Z&Z%nZjZ5Z    $$3((,,600544>3++Address Resolution - Locality?We don t want to look up a coordinate in LA from a node in Japan! Store hash not only in random k nodes; but also in closest k nodes Insert, with i least significant coordinate components replaced by random hash value When coordinate changes in i least significant coordinates, reinsert at a subset of nodes only When A looks up B s coordinates Iteratively query all nodes at greater distancesZZ Z1PM        a$$((C,, 00144  Performance EvaluationwDn= 3 hops Transmission range = 250 m. Topology: fixed density: 50 nodes in 1000m x1000m area Mobility: random waypointP1-/-   Scalability<PDR: fraction of application layer packets successfully rcvd$=< $ Overhead 4Overhead asymptotically approaches a constant value.$54% Path Lengths2Avg # of hops btwn a random src and a random dest.33H   3Mobility]1000 nodes. 95% PDR with 100% mobile nodes. Total overhead almost same as in the static case.^^&DHT Scalability9Avg. # of hops for all pkts to STORE a coordinate in DHT.*F:$- ConclusionsProposed routing algorithm scales well. Periodic beacons are an overhead. A lot of patch-like details create complication Beacon period Beacon forwarding Drum level selection: complicated Coordinate caching in DHTs*zZ]Zz]/!"*,.012   ($(  :7 (r ( S <    r ( S < `  H ( 0޽h ? 33r) s 91 D( / 0DTimesca((h@h10DHelvetica((h@h10 DSymbolca((h@h10 ` .  @n?" dd@  @@`` 1'    ' "#$!&% 'b$+Jkdf_b$Bbes?l$o_b$A~n3I?5Aΰb$o L1(ltLsTb$JD}-]Nd2;Fb$|2BnOf m@b$]ߊ`98OmB?[,{b$eB0(W[{MLb$Nd_5HxX.;b$_sa_:qѾ'+jc $@8 ,pʚ;>6ʚ;g4wdwdH8ppp@ <4!d!d%gʚ;<4dddd%gʚ; <4BdBd%ʚ;F X___PPT1080 ___PPT9@8n.ܘՇ\j&PNG  IHDR [AsRGBgAMA7 cHRMz&u0`:pQ<$PLTE333ff33̙3f33ff̙fffE3tRNS0J cmPPJCmp0712ZREIDATWc`dPJB#r*d16QRƉ@yc\d@ OBM]PkZ IENDB`H 0h___PPT2001D<4Xh___PPTMac11@f   hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography   ,namd$ Helvetica  ? %12ESelf-Organizing Hierarchical Routing for Scalable Ad Hoc Networking, (ProblemUse of wireless devices is rapidly increasing Decentralized, self organizing systems Current ad hoc routing protocols are limited in scalability Mobility increases routing overhead Success of the protocols is challenged in large networks Need for routing protocols that scale .Z'Z<Z]Z'Z.'<]  ContributionSelf-organizing hierarchical routing Proximity-based multi-level hierarchy of cells Hybrid Routing using this hierarchy Proactive hierarchical, among cells On-demand, within cell Mapping of unique IDs to hierarchical addresses using a distributed hash tabled%/n$;O%/$; O,55 The Main IdeaEach node belongs to a cluster of level L, or is clusterhead (Drum) for that level Drums broadcast their existence with beacons Nodes hear beacons and Join cluster Take over drum roleN!>U  $0 {DART versus SAFARIWhat is common? Hierarchical addressing Map IDs to addresses via a hash table Difference from DART Explicit group names (instead of prefixes) Reactive Routing within same level-1 cell b>U>U  Safari Overview: HierarchyNodes organized in multi-level cells Level k cells grouped into Level k+1 cells Cells are identified by drums (= head) Automatic self-selected Drums are the backbone of the hierarchy Nodes choose a 1-level higher drum The one closest in hops%+'@$%+'? $,$ Safari Overview: RoutingeSelf-organize into clusters: Drums transmit periodic beacons Nodes keep DHTs (distr. hash tables) Look up ID of node to find its address Route towards the drum of the cell of dest. Up: Follow the reverse path of most recent beacon Down: Seek a lower-level cell s.t. dest. is its member Within: Any node in cell of dest. initiates on-demand route discovery &',  &',vG]V-& Beaconing Protocol"Beacons help establish the drums Drums broadcast beacons periodically: Seq #, coordinate, beacon level, hop count Forwarded by all nodes within Dn hops D_n increases with n: higher level, larger cell Higher level beacons w/ lower freq. Assumes:Topology changes less frequent at higher levelxG+&T7G+  T7HEL9 Clusterhead and hierarchy k-level clusterheads  rule a D_k radius area At k+1-level we have fewer clusterheads *W.(. '6Beacons: Rules of Hierarchy(A node at level n, must have a leader at level n+1 There is no other n-level node near by There is a reason why you are at level n At least two clusters near you at level n-1*,,Eb Drum Level SelectionAlgorithm runs at each node, after each change in DART New entry or timer expiry Assure DART satisfies certain conditions If violated, change the node level appropriately Aids efficiency under dynamic changesf7)n1&7)1 & Membership AlgorithmInvoked after drum level selection Nodes choose a unique drum in 1-higher level (closest drum) Whose DART entry has not expired Then each node is assigned a coordinate, based on its drum Consider Di is a drum, L is a leaf node COORD(Di)=COORD(PARENT(Di))RAND(b) COORD(L)= COORD(PARENT(L)) Coordinate is vital in routing_Z!Z;ZhZZ2&!   0 $$( (,, 004488l% The Routing Table: DARTDrum Ad Hoc Routing Table (DART) Nodes store beacons they forwarded Store: beacon contents, time_rcvd, Drum_ID A timer starts with each new entry When expired,I rethink my membership drum level selection algorithm and membership algorithm invoked!#n+#n%A!#+# %   $$Addressing -- ImplicationsCOORD(Di)=COORD(PARENT(Di))Rand(b) if b then Pr{2 nodes get same coordinate} COORD(L)= COORD(PARENT(L)) All leafs in a cell have the same coordinate Drum IDs at each level create a hierarchical address (coordinate) for each node that is a member.$0-b   + $$((,,00b44Proposed Routing Protocol[1. Proactive Inter-Cell Routing Deliver pkts from src to level-1 cell of dest Drums broadcast info to All its nodes All nodes of its sibling cells (same parent at n+1) By following the reverse path of beacons 2. On-demand (Reactive) Intra-Cell Routing Deliver pkts to final dest. within level-1 cell Via any on-demand routing protocol!GB*1W G  B*  $$((3,,%-#Proactive Inter-Cell RoutingEUnlike conventional clustering Clusterheads suffer bottleneck Drums need not be along the path at all Extract coordinate from pkt, Lookup DART Longest prefix matching between two coordinates Get the sequence # of the longest prefix match Compare with sequence # in pkt header If not worse, replace entry in pkt with DART infoG)0/&2G)0 /&2P R&Reactive Intra-Cell RoutingEach node, upon receiving a pkt, checks if the dest is in same level-1 cell as itself Coordinates are the same If coordinates match, use DSR within cell:V*V*,eExample #Address Resolution"Senders wish to send pkts to an ID But protocol forwards to a coordinate Map nodeID to its current coordinate Implemented like DHTs Each node inserts (ID,coordinate) pair at a set of k nodes Node reinserts whenever its coordinate changes Any node can lookup the coordinate by hashing the ID#Z&Z%nZjZ5Z    $$3((,,600544>3++Address Resolution - Locality?We don t want to look up a coordinate in LA from a node in Japan! Store hash not only in random k nodes; but also in closest k nodes Insert, with i least significant coordinate components replaced by random hash value When coordinate changes in i least significant coordinates, reinsert at a subset of nodes only When A looks up B s coordinates Iteratively query all nodes at greater distancesZZ Z1PM        a$$((C,, 00144  Performance EvaluationwDn= 3 hops Transmission range = 250 m. Topology: fixed density: 50 nodes in 1000m x1000m area Mobility: random waypointP1-/-   Scalability<PDR: fraction of application layer packets successfully rcvd$=< $ Overhead 4Overhead asymptotically approaches a constant value.$54% Path Lengths2Avg # of hops btwn a random src and a random dest.33H   3Mobility]1000 nodes. 95% PDR with 100% mobile nodes. Total overhead almost same as in the static case.^^&DHT Scalability9Avg. # of hops for all pkts to STORE a coordinate in DHT.*F:$- ConclusionsProposed routing algorithm scales well. Periodic beacons are an overhead. A lot of patch-like details create complication Beacon period Beacon forwarding Drum level selection: complicated Coordinate caching in DHTs*zZ]Zz]/!"*,.012   x(  l  C <    l  C < 0  X  0A ?`8x  <0@10___PPT106___PPT9B___PPTMac11   hnamd` Arial&Monotype Typography  T$DART = Dynamic Address Routing Table%%H  0޽h ? fԇlr%6)G s L9( */ 0`DTimesngsRomah@h10DHelveticaRomah@h10 DSymbolcaRomah@h100DGaramondRomah@h10@DTimes New Roman@h10PDVerdanaw Roman@h10`DWingdingsRoman@h10pDArialngsRoman@h10 ` .  @n?" dd@  @@``_`7L7carbrake.wav.WAV 101026RIFF6WAVEfmt ++data6~~~~~~~~~~~~}}}}}}}{{}}}}}~~~~~~~}{{{{{{{{{}}}{{{}~}}{}}~}}}}}~~~~}}}{yxvvuusqqppnnlnnppqsssuvvuvvxxxy{{{{}~~~~}}{{{{{~~~~~}{xxyuvxy~~}}y~~~}}{~~}y}xxuxuvvvvx{yy}yyy}~~~~~yy}xvvy}sps{{qiksuqgiqsqnlqusnpsx{{{{{yy{yxqquupnglpqpnpqsusu}}xxyy{{{~}}xxyxvqpqvunnqussssssqquusvx{~~{{}{usqkipniggkpvspsvuy{xxyy{yxy}~yx{{y}}~~{uvvvxunkqunlnpquxvy}}}vvvspnklkiilpquuvxyy{yuuqppnnquvxxuvvx}~{~}}}}{xxvpknpppuuqsslinqsusssxxyx{{vqppkilngablvupq{~{y}}vyuuqlkknpnkilllklpqplnsyy{}~}~~}xuuqqnqplfffffliklsxxxxx~~~~~~{uquupigkppu{}~~~}~}}{y{~vuvqqssv~}{~}xsspifdddfkpsv{~}xuuusuuuusvxvvxy}~~yuqifdddbaabfa^_abadfflkklsxvx~~~}}{yyvuvvvyyvvx{xyslgbgb_d_bilqy~~}{sv~}{x~~}vqqux{yxx~~}~~y}qx}sxx}yussx{{vxvupgdfkd__^ZZaa_aaZZ\W_bgbbgillns{{}y~ygabi\TTOPGGJKH=CC;CMJ>@HO^^_nqv~{{vvysnklqnfgpvniv{ulnspspgfnvqgilxyupquyysllpnklqvspsyyv{}~~xx~xxuq}qgkpxskkpqlillniggglibb_bfipppuy~~}~{xsv{xvy{}}~{~}yxvvpkilpnigdgkgd__gkkkfdfinnllkpnsvusy~~y}~{}upkklklklnqslllnnkkkidadiib\_dfiiiinvuxxyxx~{xxupipnfifdggfaffgipliiiffafddglgknpv~~unkpvysx~}~~~}{y}{nglsupnsv{{{{{{{~~yx{yxqquvyxuqqy}upqnvvx~}yyvvspxypqs{yi\^^YWPJKKMTY\^Z^ipssxqpuuusuppu{up~x~uǦqx}s^HCUP=..33+"!01+)18>JOT_nsu¾}vlf_UTWRJGJMTWRORY\UUYW^a^^bilkfadluqnusv{{xpifksld_fg\RRYbdWT^inliabgkgffdkibiqvqsx}~qnxsd\lvnYTagaYPUa^WMMRMKKPTRUW\_Yaknnls~xvy}}pilppkbdbZUZ^ZWUYZ^_a\^bdknlllqyyy}vvvqifadZY\UZURUTRYU\\UTW_d_\abipsx}}{v}}xpsxqukbgl_bgnigqqnnkflvg_d_dkdZUgyndaluliianxunpx˹ǵǾqqd_UOKC90=;03>CCJRUZYUP__UTgidpx{vx}{~}xnuuҸxdRRJ9,&!  '>;=Tlvxý½yppsxgUWWYMB=BRYTC66EJKKMMRWaa\\bgldZdqx{vv{nZ^lkWKHKJCB813==9CHC>BUYPRfnkq»{vxy{l\dnliffbgfWMMR\\Y\\^TR\dbZdqplv}{nyssy}~~}{~vquyvvuqusligZPRYUKHPWYY\abkilsux~xpuupnxqqnnnpnqkdaYWWPKKORYWZ\^^iknyua\nxupv~vy~}xgiqpkddffkiinnk_fnnq^ZnyibqsvyŶxnlvpfTKO^_WY\W\^^\\\ZW\^RP^b\WYadbbd_bigdk}~^vȶxffu_E835, '+!$9MRWdxyx~Խ~sx{xnggdWPPPH@GJHKRMGMWfaKRi~xbd{~ln¹¹}~{lbpqdRKOMC86335056BJGEG^pxux~~Ŷ}~~yps}yv~~}xu{upgbdb_\Z^ZY^bdpuu~xss~}xxv}~}vupkgaWTY_YMMZddY\gsxsu~}{~xy}xqqpvxsslpslinlafffnifpx}}~qdikbZUZYa_\inffsvssllpi_\iaMKYkpgTY~basöŽ»pn{udWOR_bJ;COYYPMMKC@MKEG;BPROU\_by}pxʾn\YOB60,$ !.8EPZdyʾy~{xuqlZOOCCORMG9=JKGJKMask^^daap}ó}x{yqy}qdWKEYRJY_TJPWRPWYafdb^anlgu~}yv{x{pln_R_iliaggafffgfblqllns{vpivui_^bg_Ublfb_ipkki_bfpnggip~}xnillf\YUJJKMPU_ag_^gu~~lfu{lTRlxiUECOYE>GGHKEMMZbZds}{Ǿugpyssifvsdddf__^^ZREMYTJGC_kPMi{kks{\yҾ}ugUEEH>'$')"'55,1=HHHKM\kx~}y~skia\adUM\YYgZEM_iaKJk~y{}gZZaaZR\b_ZZaafpkZbkgddY\nvvu~vnxy~~~ndgkknkpnklxskfkvpgfggUYssgiks}x~vy{~vy~~}npuyqlnsy}sknp}{qx}~vy~xpuxvqkqpgbbgngggkpqx{~{yupqqkad\TROUUMPRT_fZOYdspiny~lWWsbMGYqkWPTUWYZTHR\\HEWfnYRuxg{°qupaWMG8+6$"+'0356BH@CMUMUpq{xy}vxu~~silZEGOYUTYOdx{}x~y~vvxq\TfdZZ\nuigkpnnqvyyuux{v{uv}}upx~sdp{xvvnyyvqik}vbsxipubv~ysy~{{uvuq}uxuux{y}x{up{~vpqspkkllnssgW^bgqpqvu{~~yniys^JGbqaP56^iH@Y^xx~~xiuuiakqxsdgnuviTYbquiWUfZYqu^Yfafyv\iäŮͳusbldTEGE55@RUWYWTfu}qadikpdYdq_dynfnuqpk\gns~{sknvya\nnfg_akd^\ik_p{}}}y½ydfs~{nUTppbYYgnlkqpiluqvqxysyxpvy{ysl}{~vysilk_glgsuiu{plpngkpnqplpkbYTbiuqs}ys}xs{qsnklYPOfsZWdlxvi{{}{}un~{slv~qysnu}}gZ}~kqn~{pnqf_Zpxvvfv~~sY_qiRPZ\da\\\Pp}{uu}pq}}pu^aqsuniy~vs}i{~q{y~{~}}nknplld_Y^gb^Zdqv}~}{}{}y~~yxxnqkq~xx~y{yxv~y~qlxqlg_ax{snki{{}xx}sy}{ylgy}}{}~xss_lpgbZbiuulpsp}}y~svyganuyp\^pvsigu~svyv{~~vplqubqvu}pdnqs~~uvq^p{~ilqyub^fvsd\\\b_PHOTHYpsl^f{sbnvv}}ifdaaiiWbqsqlku{{qx{{v}vy{vuqdknvupqxux~~~{}{qpux{vsuqqssvu{uxyx{{vx}{}}yy}{}{vxvxsvuqqkinnkkisyvv}yvxxsnnspnqsxvuux}~}}~}~~xx{}~xnnquxvppssu{}y~~xux}}yx}~}~yxy~yyxpsvxxuqs{~}yyvyvkiffgfgiiikkfilkfkpy}}y{yuuvqlgiiggkklqpqsvxysv{{xpgkqsqvvvvsspqxx{uuy{sssp}gZ_dp{us}upk^RKd}sgvk\^ny~}qdbix~fPCMfsuslbpii\M{ykYa}dvTa}^g~lGba;>UnlkKO^{kP^akv\9HfOTlqE;C=\{G^g{bGZ¬nPikPTqUs{aTUl{¸W>KaMTx>G;Kg80TpxB)KuyqdPZxǕuglp§TllE09O^uqlfG3K^Ug}ǸsPWlZCRgvö}^PW\UbpsWWYC>Kas~W=EEqff͹bn_qTHbg_M_qxT61Hfvp”RfC6U{i^~xJKk_@CZl}ùZ^}RBRfyçisZ@Jf}xծqxiCYuP6Jlg9UxuiqbJ3HgaWk¹laidsyǹvdB)!&3WZYu~}bJ95EgZWvŹqdvbGBKi}kK@RM}vnŗ{uJYqG9K\{qgT89TRMdy~pgZGEUZkԾuB1B@asWPl\=GRig\nZJpuTERk}˸nYsg@3CayybusP9CHsv{ʶnvJ{q{R>;pKsŦv9Yl_HuGRvKYOJlplvnl_dvˍWpȩlC\xvu^d}qBHOidKJi}\ulgig~{ȳpCun\~}BWuC.Ck;=ZsG8Osn{xu}pOdbORflyfYYaZ356J_lûlMbWTduxȾ—_iROHRi}Ƚ~\dC^i^Y_Uiudzd_qu;66^~k\_y~TGGkd=)9TgžԽuEpgOTp˅Z~ÙWbZ6'1JfffJ9Jb{}b;=gpunnű_g}kKP^x͵ulxiZJ;KTp{ňxqC>;~Y5JJ~guJ+ig>HCT@avԅ{¬sskPUqʾa@6=BZixŸ{~d85KaGK^vxsPEgyPZvжiO059GZZp~ylaM+$>Uk}ŤsiPaladsŬf8CKWaB;MfnqfE3=EYbp~dBETqg_sň~yf\p}as{lR;;TTMZllM'.ZYBHT}yY@W\uv϶fBOYYJ\}\Wnu}__E8Jbu}ŮRPygOfKKgyȱgU\bp^yqB58KGMbyvP;MWnYnǜU=BaaPbpYlO!)d}=MfnHGYfϧY{vM9\E\l{WniYaPa\}xM$MiEyuygȳqdH6Gqbu}xUq96TE.Rbf{Y}Zq\u~paqv_CCUnfaTi}T9HxTgg{Ȟ\dslnU{MdxgÏOWx_{iuikRk}gOWYWqsq^=8EiMps>anU9,6Zk±^^vsxnRKfy¦lMi{d\U@0JbubJqvkxb@@OWZW}s{q~\H{yUdpWMixMPOgiJsK>Zn_}yklYabZvs_ZYH\i_k{~nP6=U}}{l~dGG_yxbõu~M=Yn{pyqZaY66G\{}qiaM>Rk{NJUg}vfW@.3C^fslkgfGuWfUlx˙ͱsUa_;>Pndsg}lYWORCayvv}dOK>Rafq©ldvaREKdp~Ⱦ_ygRKH__dxld{vnqgUEgYlaagYJnu\9OTCfyf~fdf{»n_RW_Z6EEJ_p}xkG=;ffšpB+B}saZsŸ_5PlifRdyl6=yJKWky˻qU8UpPWf{¹xfO3+@TbqvxlaJ15Rnd_{öǹ^OTubxyyʳ~l\C6Kpqu\vnW.3lkZbv~ydC5T}YpqP3@Zx^pq}siG&.E^}p}«~pMRl{GWs٦\Yqf^ZfsxJ'GM_Wql{\36q~iTiʻfH1B\p\~ùg@,;TgPl{xkM,Gi\Y{axqqqfa\T^YivkWaUluagyukf~ulUKp{ZniYKbyqHRKJguxfdaUUWb~~yypyqiYKPduödi_^^b_U_snO@EUku}~kM39;GWiuvdHUTYalpȹlHGd^\dx~kE&B}fRMkxkM9Epgký}pdYB8P~lfЩpdWG05O{abangM,Bsa^uȻxy~ZHP~kMTn~ëvv_9)dfasufuеqyRE_nxqdP8Eqgf{{gOHWYTkxq_WkgdxsisZnpfanl{{qkUkifk{g^}xqnbi\u~nHn{l\qu}u}xP@y~viuxsgqqvkuY@HKduǾ}KOk}_\TWguaYUnsOH{gffds{¤vxpfvZ\{ngbPHdqvxvd_xukWp{susdU\_RRqpdKOfÊi{iY9O}u{v}f{pW@@\lynvxupx~n@6RsUugdUWa{vß}vuO~\akg_lDZgg1Ex}KOqxuM@akx\qaa~lPYfU\v}y~}qakMPq{d_Wp}~iYksg\y{}6@s>>bqG_lqunTkp^kayaqqluvf^Tisvdqn~xiskZHk^vx}~vbqlWqq~_~qdqqaGaivn_RY^b=WiUpiR_\MYxyqgxxvuffuJBPng~Z~^8=\{{l~âuqqlkxfqqqlbqgxuu~~Zinfgdlvl{suvvsyP>;bs\ya}ZZbb^qRdyKBv{~}x{GM{kqZuf^TGEkki~xnfsMavU\yZM{palÏ_pdx~qUUdbf}~~y{udMs~dx{}}du}yxsbPfq}}ngxklnRJR{iRk}nBa{vYpWnubk_^ypk{}{i{qdvy{vfYWR~k}U5Znsxp}udapx{~~}qgfyxKTxk~uRanPOguJOdbnx}iWpuqZ_fu^~}i}sgki_pykslxuqpkxaas^\sxud_x~vW~_i{~pgxq\JZf\PqxRbqunWkiyknvsugW_vksn}{pklppa}qWf~ukGYfkdppfUk^\pnxq@;xdYvunnd\pqxsfU{qndssqyvZpvyybkkpkgau{v}xlbMCT_gppq~}\UnfYi{~}bZsnZWxiukdy{~fJasukJZbnd~qYkifi{\K^uxubTk~p\kklPJabaxaf{~~svUv{ZWis{plu~bCJ_nnvflfdv{}gM^}u}}x{~}uyWHE}xd~ZEMg}xk>B}nqupgsMnMRkskn}s_R9=OZ_\usgKJnsanfiJYdgT\Wkv~p^^lu~qkU>BP\gnivvnl^PEYddid_g~vp}x~ZRfvpsu~usvRkTP^isuiv˩yy~qgWEZba_uqfdibTEPguȰ}nqZCBWgvͶnkavYKT^yuȫfPp{kigqlq{iy^OUUfv{sTTdaUdqk^KRTn~î}lsTfxsYp{Y_{^EUWUi{uvg}d^Ydin{n_KP^iRav~udRZibi}sifaUHZnba~kTPnpy~_x\yORviYsx^YfygZf}nx}pgZP_q~nxlda\KHWgxknibfdbuydO~~iZi~nkZs{vqYan{}pdROfkxk~nPZuynl}y}v_aRYlyixq^pyU_gYiy^nqaf}_Y{WYg^\~U^pggaUssYl^Zq{fl}a^p{fx^Zni\y\Raxy_yyPTklnaTp{snZuvaxv_dysykgxy~ub\bsup~{niuylnpiqn}sb_n{qsysunvy}xp{{~~ldiky~y}kfnqqynpu{lbgy{s}kgvxp}}llpqx{lfgq{yuxyx{{qpu{vnv}skuy~vp{~vsqnv~vvssqv~y{unqyx{ss}}plv}pluy~yy}xllv}}xsss{vnqyyuux{yy{ysy}~}}yy~{vsqqsx~xxy~xqqx}xy}uppy~xsv{uv}{y{}y}~~~~{y~~yxy}~}}~~{{~{{~{xy}~~{vvy~}xy{{}~}}yxxy~yvy~}{y{{yy}~~~}{}~~~{yx{~yy{}~}{{{~~{{}~{}~~~~~~~~}}{{~~~~~}}}~~}{}~}{}~~~~}~~~}~~~~~{yy}~~~~}~~~}~~~~~}}}~~~~}}~~}}}~~~~}~~}~~~~~~~~~~~~~~~~~~~~}~~~~}~~~~~~~~~~~~~}}~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  3'    ' "#$!&% '( ) $b$Bbes?l$o_b$A~n3I?5Aΰb$o L1(ltLsTb$JD}-]Nd2;Fb$|2BnOf m@b$]ߊ`98OmB?[,{b$eB0(W[{MLb$Nd_5HxX.;b$_sa_:qѾ'+jc $@8:; ,pʚ;>6ʚ;g4wdwdH8ppp@ <4!d!d;%gʚ;<4dddd;%gʚ; <4BdBd;%ʚ;F X___PPT1080 ___PPT9@8n.ܘՇ\j&PNG  IHDR [AsRGBgAMA7 cHRMz&u0`:pQ<$PLTE333ff33̙3f33ff̙fffE3tRNS0J cmPPJCmp0712ZREIDATWc`dPJB#r*d16QRƉ@yc\d@ OBM]PkZ IENDB`H 0h___PPT2001D<4Xh___PPTMac11@f   hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography   ,namd$ Helvetica  ? %4ESelf-Organizing Hierarchical Routing for Scalable Ad Hoc NetworkingFF, (ProblemUse of wireless devices is rapidly increasing Decentralized, self organizing systems Current ad hoc routing protocols are limited in scalability Mobility increases routing overhead Success of the protocols is challenged in large networks Need for routing protocols that scale x.'<]'.'<]  Contribution Self-organizing hierarchical routing Proximity-based multi-level hierarchy of cells Hybrid Routing using this hierarchy Proactive hierarchical, among cells On-demand, within cell Mapping of unique IDs to hierarchical addresses using a distributed hash tablef%/n$;O%/$; O,55 The Main IdeaEach node belongs to a cluster of level L, or is clusterhead (Drum) for that level Drums broadcast their existence with beacons Nodes hear beacons and Join cluster Take over drum roleTZ!Z>U  $0 {DART versus SAFARIWhat is common? Hierarchical addressing Map IDs to addresses via a hash table Difference from DART Explicit group names (instead of prefixes) Reactive Routing within same level-1 cell d>U>U  Safari Overview: HierarchyNodes organized in multi-level cells Level k cells grouped into Level k+1 cells Cells are identified by drums (= head) Automatic self-selected Drums are the backbone of the hierarchy Nodes choose a 1-level higher drum The one closest in hops%+'@$%+'? $,$ Safari Overview: RoutingeSelf-organize into clusters: Drums transmit periodic beacons Nodes keep DHTs (distr. hash tables) Look up ID of node to find its address Route towards the drum of the cell of dest. Up: Follow the reverse path of most recent beacon Down: Seek a lower-level cell s.t. dest. is its member Within: Any node in cell of dest. initiates on-demand route discoveryZ Z&Z'Z,ZZ &',vG]V-& Beaconing Protocol"Beacons help establish the drums Drums broadcast beacons periodically: Seq #, coordinate, beacon level, hop count Forwarded by all nodes within Dn hops D_n increases with n: higher level, larger cell Higher level beacons w/ lower freq. Assumes:Topology changes less frequent at higher levelzG+&T7G+  T76GL9 Clusterhead and hierarchy k-level clusterheads  rule a D_k radius area At k+1-level we have fewer clusterheads ,W.(. '6Beacons: Rules of Hierarchy (A node at level n, must have a leader at level n+1 There is no other n-level node near by There is a reason why you are at level n At least two clusters near you at level n-1,,,Eb Drum Level SelectionAlgorithm runs at each node, after each change in DART New entry or timer expiry Assure DART satisfies certain conditions If violated, change the node level appropriately Aids efficiency under dynamic changesh7)n1&7)1 & Membership AlgorithmInvoked after drum level selection Nodes choose a unique drum in 1-higher level (closest drum) Whose DART entry has not expired Then each node is assigned a coordinate, based on its drum Consider Di is a drum, L is a leaf node COORD(Di)=COORD(PARENT(Di))RAND(b) COORD(L)= COORD(PARENT(L)) Coordinate is vital in routing_Z!Z;ZhZZ2&!  0  $$((,, 004488l% The Routing Table: DARTDrum Ad Hoc Routing Table (DART) Nodes store beacons they forwarded Store: beacon contents, time_rcvd, Drum_ID A timer starts with each new entry When expired,I rethink my membership drum level selection algorithm and membership algorithm invoked!#n+#n%A!#+# %  $$Addressing -- ImplicationsCOORD(Di)=COORD(PARENT(Di))Rand(b) if b then Pr{2 nodes get same coordinate} COORD(L)= COORD(PARENT(L)) All leafs in a cell have the same coordinate Drum IDs at each level create a hierarchical address (coordinate) for each node that is a member.$0-b   + $$((,,00b44Proposed Routing Protocol[1. Proactive Inter-Cell Routing Deliver pkts from src to level-1 cell of dest Drums broadcast info to All its nodes All nodes of its sibling cells (same parent at n+1) By following the reverse path of beacons 2. On-demand (Reactive) Intra-Cell Routing Deliver pkts to final dest. within level-1 cell Via any on-demand routing protocol!GB*1W G B* $$((3,,%-#Proactive Inter-Cell RoutingEUnlike conventional clustering Clusterheads suffer bottleneck Drums need not be along the path at all Extract coordinate from pkt, Lookup DART Longest prefix matching between two coordinates Get the sequence # of the longest prefix match Compare with sequence # in pkt header If not worse, replace entry in pkt with DART infoG)0/&2G)0 /&2P R&Reactive Intra-Cell RoutingEach node, upon receiving a pkt, checks if the dest is in same level-1 cell as itself Coordinates are the same If coordinates match, use DSR within cell<V*V*,eExample #Address Resolution"Senders wish to send pkts to an ID But protocol forwards to a coordinate Map nodeID to its current coordinate Implemented like DHTs Each node inserts (ID,coordinate) pair at a set of k nodes Node reinserts whenever its coordinate changes Any node can lookup the coordinate by hashing the ID#&%nj5    $$3((,,600544>3++Address Resolution - Locality?We don t want to look up a coordinate in LA from a node in Japan! Store hash not only in random k nodes; but also in closest k nodes Insert, with i least significant coordinate components replaced by random hash value When coordinate changes in i least significant coordinates, reinsert at a subset of nodes only When A looks up B s coordinates Iteratively query all nodes at greater distancesZZ Z1PM       a$$((C,, 00144  Performance EvaluationwDn= 3 hops Transmission range = 250 m. Topology: fixed density: 50 nodes in 1000m x1000m area Mobility: random waypointR1-/-   Scalability <PDR: fraction of application layer packets successfully rcvd&=Z<$ Overhead  4Overhead asymptotically approaches a constant value.$54% Path Lengths 2Avg # of hops btwn a random src and a random dest.3Z3H   3Mobility ]1000 nodes. 95% PDR with 100% mobile nodes. Total overhead almost same as in the static case.^Z^&DHT Scalability9Avg. # of hops for all pkts to STORE a coordinate in DHT.*F:$- Conclusions Proposed routing algorithm scales well. Periodic beacons are an overhead. A lot of patch-like details create complication Beacon period Beacon forwarding Drum level selection: complicated Coordinate caching in DHTs,zZ]Zz]/!"*,.012  ` f̙f` \'݉f̙ft` 3v;̙3fff` Q%]m6fft` JU;f̙ft` fffff` f33f̙f3` fff̙>?" dd@,?pKd@n pA@d`hP n?" dd@   @@``PT    @ ` `:p>>  ( @T    6V  " `}  T Click to edit Master title style! !$  0Y  " `  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  0`  "` ` 0___PPT106___PPT9B___PPTMac11   hnamd` Arial&Monotype Typography  Z*0     0e  "`  0___PPT106___PPT9B___PPTMac11   hnamd` Arial&Monotype Typography  \* 0     0j  "` ` 0___PPT106___PPT9B___PPTMac11   hnamd` Arial&Monotype Typography  \* 0     6p "0___PPT106___PPT9B___PPTMac11   hnamd` Arial&Monotype Typography  @  B  s *DjJ" ,$,  6r "@ 0___PPT106___PPT9B___PPTMac11   hnamd` Arial&Monotype Typography  @    6 "@ 0___PPT106___PPT9B___PPTMac11   hnamd` Arial&Monotype Typography  @  H  0޽h ? fffff___PPT10u. η+D='  `= @B + &clean-yellowRedBlued   o g   ( Iq   6  #" `  T Click to edit Master title style! !  0  " ` |   W#Click to edit Master subtitle style$ $  0L  "` ` 0___PPT106___PPT9B___PPTMac11   hnamd` Arial&Monotype Typography  Z*0     0  "~  0___PPT106___PPT9B___PPTMac11   hnamd` Arial&Monotype Typography  \* 0     0` "` ` 0___PPT106___PPT9B___PPTMac11   hnamd` Arial&Monotype Typography  \* 0       ",$D ,h  s *" h   s *" h   s *" H  0޽h ? fffff___PPT10u. η+D=' = @B + C;@(  l  C ],PP   '  <+ m ]Computer Science Technical Report Rice University, 2004 Slides by Ece Gelal and M. Faloutsos^      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|~^$A H  0޽h ? 33  `(  r  S * `}   l  C (*p  H  0޽h ? fԇl  p $( L   r  S 0  `}   r  S 0    H  0޽h ? 33/     o (  r  S P  `}   l  C    X2  0 pp X2  0P  X2  0P @ X2  0P X2  0P  X2  0  X2  0  @X2  0 @X2  0 P pX2  0  X2  0  X2  0 PP X2  0P @X2  0P PX2  0  @  <P   0  <`   1  < P p  2  < `4  3  < v&O LevelH  0޽h ? fԇl  $( | r  S k  `}   r  S p~  `  H  0޽h ? 33  $(  r  S }  `}   r  S 0 p   H  0޽h ? 33   (  d&  r  S p  `}   l  C  P P  H  0޽h ? 33  ($(  :7 (r ( S  `}   r ( S  `  H ( 0޽h ? 33   Q I p (  r  S 06 `}   r  S % `  X2  0p P X2  0@X2  0` ` pR2  s *  R2  s *  PdB  <DjJ Pp   <4 p0___PPT106___PPT9B___PPTMac11   hnamd` Arial&Monotype Typography  ED_k dB @ <DjJP P P  <h)D 0___PPT106___PPT9B___PPTMac11   hnamd` Arial&Monotype Typography  ED_k dB  <DjJ @   <p, PU 0___PPT106___PPT9B___PPTMac11   hnamd` Arial&Monotype Typography  OD_k+1H  0޽h ? fԇl80___PPT10.tb  (  r  S  `}   r  S {`  X  0A ?`8x  <0@10___PPT106___PPT9B___PPTMac11   hnamd` Arial&Monotype Typography  T$DART = Dynamic Address Routing Table%%H  0޽h ? fԇl  D(  Dr D S  `}   l D C     H D 0޽h ? fԇl  0P(  Pr P S PR+ `}   l P C S+  H P 0޽h ? fԇl  (  r  S z `}   l  C 0|  H  0޽h ? fԇl  T(  Tr T S P `}   l T C P   H T 0޽h ? fԇl  X(  Xr X S . `}   l X C  0  H X 0޽h ? fԇl   d(  dl d C 0H    l d C  P    H d 0޽h ? fԇl  0h(  hr h S Pe `}   l h C f  H h 0޽h ? fԇl  7/@`(  `r ` S 0 `}   X ` 0A?+0 ` 0@0p * USafari Routing overview"H ` 0޽h ? fԇl  P(  r  S 0 `}   l  C   H  0޽h ? fԇl  `(  r  S P `}   l  C "    H  0޽h ? fԇl  p,(  ,r , S p `}   l , C   H , 0޽h ? 33  0A(  0r 0 S @ `}   r 0 S `P p  X 0 0A?@  0 0 @ UPDR versus network size"H 0 0޽h ? 33h   (  r  S  `}     B p`  X  0A?1`H  0޽h ? fԇlb   ( Lԇl l  C '#   X  0A?  B)   H  0޽h ? fԇl  xp(  r  S 0j `}   X  0A?    Bm    X  0A?  H  0޽h ? fԇl  nf( > r  S 0 `}   X  0A?Pp   B  @   X  0A ?E@    0  0 .Avg. # of hops to LOOK UP a coordinate in DHT.*F/,H  0޽h ? fԇl  $(  r  S   `}   r  S .  `  H  0޽h ? fԇlr=L   0z/1 30!#w)%'#@,417k<(+--1@395 O90f s LB;p( */ 0`DTimesngsRomah@h10DHelveticaRomah@h10 DSymbolcaRomah@h100DGaramondRomah@h10@DTimes New Roman@h10PDVerdanaw Roman@h10`DWingdingsRoman@h10pDArialngsRoman@h10 ` .  @n?" dd@  @@``_`7L7carbrake.wav.WAV 101026RIFF6WAVEfmt ++data6~~~~~~~~~~~~}}}}}}}{{}}}}}~~~~~~~}{{{{{{{{{}}}{{{}~}}{}}~}}}}}~~~~}}}{yxvvuusqqppnnlnnppqsssuvvuvvxxxy{{{{}~~~~}}{{{{{~~~~~}{xxyuvxy~~}}y~~~}}{~~}y}xxuxuvvvvx{yy}yyy}~~~~~yy}xvvy}sps{{qiksuqgiqsqnlqusnpsx{{{{{yy{yxqquupnglpqpnpqsusu}}xxyy{{{~}}xxyxvqpqvunnqussssssqquusvx{~~{{}{usqkipniggkpvspsvuy{xxyy{yxy}~yx{{y}}~~{uvvvxunkqunlnpquxvy}}}vvvspnklkiilpquuvxyy{yuuqppnnquvxxuvvx}~{~}}}}{xxvpknpppuuqsslinqsusssxxyx{{vqppkilngablvupq{~{y}}vyuuqlkknpnkilllklpqplnsyy{}~}~~}xuuqqnqplfffffliklsxxxxx~~~~~~{uquupigkppu{}~~~}~}}{y{~vuvqqssv~}{~}xsspifdddfkpsv{~}xuuusuuuusvxvvxy}~~yuqifdddbaabfa^_abadfflkklsxvx~~~}}{yyvuvvvyyvvx{xyslgbgb_d_bilqy~~}{sv~}{x~~}vqqux{yxx~~}~~y}qx}sxx}yussx{{vxvupgdfkd__^ZZaa_aaZZ\W_bgbbgillns{{}y~ygabi\TTOPGGJKH=CC;CMJ>@HO^^_nqv~{{vvysnklqnfgpvniv{ulnspspgfnvqgilxyupquyysllpnklqvspsyyv{}~~xx~xxuq}qgkpxskkpqlillniggglibb_bfipppuy~~}~{xsv{xvy{}}~{~}yxvvpkilpnigdgkgd__gkkkfdfinnllkpnsvusy~~y}~{}upkklklklnqslllnnkkkidadiib\_dfiiiinvuxxyxx~{xxupipnfifdggfaffgipliiiffafddglgknpv~~unkpvysx~}~~~}{y}{nglsupnsv{{{{{{{~~yx{yxqquvyxuqqy}upqnvvx~}yyvvspxypqs{yi\^^YWPJKKMTY\^Z^ipssxqpuuusuppu{up~x~uǦqx}s^HCUP=..33+"!01+)18>JOT_nsu¾}vlf_UTWRJGJMTWRORY\UUYW^a^^bilkfadluqnusv{{xpifksld_fg\RRYbdWT^inliabgkgffdkibiqvqsx}~qnxsd\lvnYTagaYPUa^WMMRMKKPTRUW\_Yaknnls~xvy}}pilppkbdbZUZ^ZWUYZ^_a\^bdknlllqyyy}vvvqifadZY\UZURUTRYU\\UTW_d_\abipsx}}{v}}xpsxqukbgl_bgnigqqnnkflvg_d_dkdZUgyndaluliianxunpx˹ǵǾqqd_UOKC90=;03>CCJRUZYUP__UTgidpx{vx}{~}xnuuҸxdRRJ9,&!  '>;=Tlvxý½yppsxgUWWYMB=BRYTC66EJKKMMRWaa\\bgldZdqx{vv{nZ^lkWKHKJCB813==9CHC>BUYPRfnkq»{vxy{l\dnliffbgfWMMR\\Y\\^TR\dbZdqplv}{nyssy}~~}{~vquyvvuqusligZPRYUKHPWYY\abkilsux~xpuupnxqqnnnpnqkdaYWWPKKORYWZ\^^iknyua\nxupv~vy~}xgiqpkddffkiinnk_fnnq^ZnyibqsvyŶxnlvpfTKO^_WY\W\^^\\\ZW\^RP^b\WYadbbd_bigdk}~^vȶxffu_E835, '+!$9MRWdxyx~Խ~sx{xnggdWPPPH@GJHKRMGMWfaKRi~xbd{~ln¹¹}~{lbpqdRKOMC86335056BJGEG^pxux~~Ŷ}~~yps}yv~~}xu{upgbdb_\Z^ZY^bdpuu~xss~}xxv}~}vupkgaWTY_YMMZddY\gsxsu~}{~xy}xqqpvxsslpslinlafffnifpx}}~qdikbZUZYa_\inffsvssllpi_\iaMKYkpgTY~basöŽ»pn{udWOR_bJ;COYYPMMKC@MKEG;BPROU\_by}pxʾn\YOB60,$ !.8EPZdyʾy~{xuqlZOOCCORMG9=JKGJKMask^^daap}ó}x{yqy}qdWKEYRJY_TJPWRPWYafdb^anlgu~}yv{x{pln_R_iliaggafffgfblqllns{vpivui_^bg_Ublfb_ipkki_bfpnggip~}xnillf\YUJJKMPU_ag_^gu~~lfu{lTRlxiUECOYE>GGHKEMMZbZds}{Ǿugpyssifvsdddf__^^ZREMYTJGC_kPMi{kks{\yҾ}ugUEEH>'$')"'55,1=HHHKM\kx~}y~skia\adUM\YYgZEM_iaKJk~y{}gZZaaZR\b_ZZaafpkZbkgddY\nvvu~vnxy~~~ndgkknkpnklxskfkvpgfggUYssgiks}x~vy{~vy~~}npuyqlnsy}sknp}{qx}~vy~xpuxvqkqpgbbgngggkpqx{~{yupqqkad\TROUUMPRT_fZOYdspiny~lWWsbMGYqkWPTUWYZTHR\\HEWfnYRuxg{°qupaWMG8+6$"+'0356BH@CMUMUpq{xy}vxu~~silZEGOYUTYOdx{}x~y~vvxq\TfdZZ\nuigkpnnqvyyuux{v{uv}}upx~sdp{xvvnyyvqik}vbsxipubv~ysy~{{uvuq}uxuux{y}x{up{~vpqspkkllnssgW^bgqpqvu{~~yniys^JGbqaP56^iH@Y^xx~~xiuuiakqxsdgnuviTYbquiWUfZYqu^Yfafyv\iäŮͳusbldTEGE55@RUWYWTfu}qadikpdYdq_dynfnuqpk\gns~{sknvya\nnfg_akd^\ik_p{}}}y½ydfs~{nUTppbYYgnlkqpiluqvqxysyxpvy{ysl}{~vysilk_glgsuiu{plpngkpnqplpkbYTbiuqs}ys}xs{qsnklYPOfsZWdlxvi{{}{}un~{slv~qysnu}}gZ}~kqn~{pnqf_Zpxvvfv~~sY_qiRPZ\da\\\Pp}{uu}pq}}pu^aqsuniy~vs}i{~q{y~{~}}nknplld_Y^gb^Zdqv}~}{}{}y~~yxxnqkq~xx~y{yxv~y~qlxqlg_ax{snki{{}xx}sy}{ylgy}}{}~xss_lpgbZbiuulpsp}}y~svyganuyp\^pvsigu~svyv{~~vplqubqvu}pdnqs~~uvq^p{~ilqyub^fvsd\\\b_PHOTHYpsl^f{sbnvv}}ifdaaiiWbqsqlku{{qx{{v}vy{vuqdknvupqxux~~~{}{qpux{vsuqqssvu{uxyx{{vx}{}}yy}{}{vxvxsvuqqkinnkkisyvv}yvxxsnnspnqsxvuux}~}}~}~~xx{}~xnnquxvppssu{}y~~xux}}yx}~}~yxy~yyxpsvxxuqs{~}yyvyvkiffgfgiiikkfilkfkpy}}y{yuuvqlgiiggkklqpqsvxysv{{xpgkqsqvvvvsspqxx{uuy{sssp}gZ_dp{us}upk^RKd}sgvk\^ny~}qdbix~fPCMfsuslbpii\M{ykYa}dvTa}^g~lGba;>UnlkKO^{kP^akv\9HfOTlqE;C=\{G^g{bGZ¬nPikPTqUs{aTUl{¸W>KaMTx>G;Kg80TpxB)KuyqdPZxǕuglp§TllE09O^uqlfG3K^Ug}ǸsPWlZCRgvö}^PW\UbpsWWYC>Kas~W=EEqff͹bn_qTHbg_M_qxT61Hfvp”RfC6U{i^~xJKk_@CZl}ùZ^}RBRfyçisZ@Jf}xծqxiCYuP6Jlg9UxuiqbJ3HgaWk¹laidsyǹvdB)!&3WZYu~}bJ95EgZWvŹqdvbGBKi}kK@RM}vnŗ{uJYqG9K\{qgT89TRMdy~pgZGEUZkԾuB1B@asWPl\=GRig\nZJpuTERk}˸nYsg@3CayybusP9CHsv{ʶnvJ{q{R>;pKsŦv9Yl_HuGRvKYOJlplvnl_dvˍWpȩlC\xvu^d}qBHOidKJi}\ulgig~{ȳpCun\~}BWuC.Ck;=ZsG8Osn{xu}pOdbORflyfYYaZ356J_lûlMbWTduxȾ—_iROHRi}Ƚ~\dC^i^Y_Uiudzd_qu;66^~k\_y~TGGkd=)9TgžԽuEpgOTp˅Z~ÙWbZ6'1JfffJ9Jb{}b;=gpunnű_g}kKP^x͵ulxiZJ;KTp{ňxqC>;~Y5JJ~guJ+ig>HCT@avԅ{¬sskPUqʾa@6=BZixŸ{~d85KaGK^vxsPEgyPZvжiO059GZZp~ylaM+$>Uk}ŤsiPaladsŬf8CKWaB;MfnqfE3=EYbp~dBETqg_sň~yf\p}as{lR;;TTMZllM'.ZYBHT}yY@W\uv϶fBOYYJ\}\Wnu}__E8Jbu}ŮRPygOfKKgyȱgU\bp^yqB58KGMbyvP;MWnYnǜU=BaaPbpYlO!)d}=MfnHGYfϧY{vM9\E\l{WniYaPa\}xM$MiEyuygȳqdH6Gqbu}xUq96TE.Rbf{Y}Zq\u~paqv_CCUnfaTi}T9HxTgg{Ȟ\dslnU{MdxgÏOWx_{iuikRk}gOWYWqsq^=8EiMps>anU9,6Zk±^^vsxnRKfy¦lMi{d\U@0JbubJqvkxb@@OWZW}s{q~\H{yUdpWMixMPOgiJsK>Zn_}yklYabZvs_ZYH\i_k{~nP6=U}}{l~dGG_yxbõu~M=Yn{pyqZaY66G\{}qiaM>Rk{NJUg}vfW@.3C^fslkgfGuWfUlx˙ͱsUa_;>Pndsg}lYWORCayvv}dOK>Rafq©ldvaREKdp~Ⱦ_ygRKH__dxld{vnqgUEgYlaagYJnu\9OTCfyf~fdf{»n_RW_Z6EEJ_p}xkG=;ffšpB+B}saZsŸ_5PlifRdyl6=yJKWky˻qU8UpPWf{¹xfO3+@TbqvxlaJ15Rnd_{öǹ^OTubxyyʳ~l\C6Kpqu\vnW.3lkZbv~ydC5T}YpqP3@Zx^pq}siG&.E^}p}«~pMRl{GWs٦\Yqf^ZfsxJ'GM_Wql{\36q~iTiʻfH1B\p\~ùg@,;TgPl{xkM,Gi\Y{axqqqfa\T^YivkWaUluagyukf~ulUKp{ZniYKbyqHRKJguxfdaUUWb~~yypyqiYKPduödi_^^b_U_snO@EUku}~kM39;GWiuvdHUTYalpȹlHGd^\dx~kE&B}fRMkxkM9Epgký}pdYB8P~lfЩpdWG05O{abangM,Bsa^uȻxy~ZHP~kMTn~ëvv_9)dfasufuеqyRE_nxqdP8Eqgf{{gOHWYTkxq_WkgdxsisZnpfanl{{qkUkifk{g^}xqnbi\u~nHn{l\qu}u}xP@y~viuxsgqqvkuY@HKduǾ}KOk}_\TWguaYUnsOH{gffds{¤vxpfvZ\{ngbPHdqvxvd_xukWp{susdU\_RRqpdKOfÊi{iY9O}u{v}f{pW@@\lynvxupx~n@6RsUugdUWa{vß}vuO~\akg_lDZgg1Ex}KOqxuM@akx\qaa~lPYfU\v}y~}qakMPq{d_Wp}~iYksg\y{}6@s>>bqG_lqunTkp^kayaqqluvf^Tisvdqn~xiskZHk^vx}~vbqlWqq~_~qdqqaGaivn_RY^b=WiUpiR_\MYxyqgxxvuffuJBPng~Z~^8=\{{l~âuqqlkxfqqqlbqgxuu~~Zinfgdlvl{suvvsyP>;bs\ya}ZZbb^qRdyKBv{~}x{GM{kqZuf^TGEkki~xnfsMavU\yZM{palÏ_pdx~qUUdbf}~~y{udMs~dx{}}du}yxsbPfq}}ngxklnRJR{iRk}nBa{vYpWnubk_^ypk{}{i{qdvy{vfYWR~k}U5Znsxp}udapx{~~}qgfyxKTxk~uRanPOguJOdbnx}iWpuqZ_fu^~}i}sgki_pykslxuqpkxaas^\sxud_x~vW~_i{~pgxq\JZf\PqxRbqunWkiyknvsugW_vksn}{pklppa}qWf~ukGYfkdppfUk^\pnxq@;xdYvunnd\pqxsfU{qndssqyvZpvyybkkpkgau{v}xlbMCT_gppq~}\UnfYi{~}bZsnZWxiukdy{~fJasukJZbnd~qYkifi{\K^uxubTk~p\kklPJabaxaf{~~svUv{ZWis{plu~bCJ_nnvflfdv{}gM^}u}}x{~}uyWHE}xd~ZEMg}xk>B}nqupgsMnMRkskn}s_R9=OZ_\usgKJnsanfiJYdgT\Wkv~p^^lu~qkU>BP\gnivvnl^PEYddid_g~vp}x~ZRfvpsu~usvRkTP^isuiv˩yy~qgWEZba_uqfdibTEPguȰ}nqZCBWgvͶnkavYKT^yuȫfPp{kigqlq{iy^OUUfv{sTTdaUdqk^KRTn~î}lsTfxsYp{Y_{^EUWUi{uvg}d^Ydin{n_KP^iRav~udRZibi}sifaUHZnba~kTPnpy~_x\yORviYsx^YfygZf}nx}pgZP_q~nxlda\KHWgxknibfdbuydO~~iZi~nkZs{vqYan{}pdROfkxk~nPZuynl}y}v_aRYlyixq^pyU_gYiy^nqaf}_Y{WYg^\~U^pggaUssYl^Zq{fl}a^p{fx^Zni\y\Raxy_yyPTklnaTp{snZuvaxv_dysykgxy~ub\bsup~{niuylnpiqn}sb_n{qsysunvy}xp{{~~ldiky~y}kfnqqynpu{lbgy{s}kgvxp}}llpqx{lfgq{yuxyx{{qpu{vnv}skuy~vp{~vsqnv~vvssqv~y{unqyx{ss}}plv}pluy~yy}xllv}}xsss{vnqyyuux{yy{ysy}~}}yy~{vsqqsx~xxy~xqqx}xy}uppy~xsv{uv}{y{}y}~~~~{y~~yxy}~}}~~{{~{{~{xy}~~{vvy~}xy{{}~}}yxxy~yvy~}{y{{yy}~~~}{}~~~{yx{~yy{}~}{{{~~{{}~{}~~~~~~~~}}{{~~~~~}}}~~}{}~}{}~~~~}~~~}~~~~~{yy}~~~~}~~~}~~~~~}}}~~~~}}~~}}}~~~~}~~}~~~~~~~~~~~~~~~~~~~~}~~~~}~~~~~~~~~~~~~}}~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  3'    ' "#$!&% '( ) $b$Bbes?l$o_b$A~n3I?5Aΰb$o L1(ltLsTb$JD}-]Nd2;Fb$|2BnOf m@b$]ߊ`98OmB?[,{b$eB0(W[{MLb$Nd_5HxX.;b$_sa_:qѾ'+jc $@8:; ,pʚ;>6ʚ;g4wdwdH8ppp@ <4!d!d;%gʚ;<4dddd;%gʚ; <4BdBd;%ʚ;F X___PPT1080 ___PPT9@8n.ܘՇ\j&PNG  IHDR [AsRGBgAMA7 cHRMz&u0`:pQ<$PLTE333ff33̙3f33ff̙fffE3tRNS0J cmPPJCmp0712ZREIDATWc`dPJB#r*d16QRƉ@yc\d@ OBM]PkZ IENDB`H 0h___PPT2001D<4Xh___PPTMac11@f   hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography   ,namd$ Helvetica  ? %4ESelf-Organizing Hierarchical Routing for Scalable Ad Hoc Networking FE0, (ProblemUse of wireless devices is rapidly increasing Decentralized, self organizing systems Current ad hoc routing protocols are limited in scalability Mobility increases routing overhead Success of the protocols is challenged in large networks Need for routing protocols that scale x.'<]'.'<]  Contribution Self-organizing hierarchical routing Proximity-based multi-level hierarchy of cells Hybrid Routing using this hierarchy Proactive hierarchical, among cells On-demand, within cell Mapping of unique IDs to hierarchical addresses using a distributed hash tablef%/n$;O%/$; O,55 The Main IdeaEach node belongs to a cluster of level L, or is clusterhead (Drum) for that level Drums broadcast their existence with beacons Nodes hear beacons and Join cluster Take over drum roleTZ!Z>U  $0 {DART versus SAFARIWhat is common? Hierarchical addressing Map IDs to addresses via a hash table Difference from DART Explicit group names (instead of prefixes) Reactive Routing within same level-1 cell d>U>U  Safari Overview: HierarchyNodes organized in multi-level cells Level k cells grouped into Level k+1 cells Cells are identified by drums (= head) Automatic self-selected Drums are the backbone of the hierarchy Nodes choose a 1-level higher drum The one closest in hops%+'@$%+'? $,$ Safari Overview: RoutingeSelf-organize into clusters: Drums transmit periodic beacons Nodes keep DHTs (distr. hash tables) Look up ID of node to find its address Route towards the drum of the cell of dest. Up: Follow the reverse path of most recent beacon Down: Seek a lower-level cell s.t. dest. is its member Within: Any node in cell of dest. initiates on-demand route discoveryZ Z&Z'Z,ZZ &',vG]V-& Beaconing Protocol"Beacons help establish the drums Drums broadcast beacons periodically: Seq #, coordinate, beacon level, hop count Forwarded by all nodes within Dn hops D_n increases with n: higher level, larger cell Higher level beacons w/ lower freq. Assumes:Topology changes less frequent at higher levelzG+&T7G+  T76GL9 Clusterhead and hierarchy k-level clusterheads  rule a D_k radius area At k+1-level we have fewer clusterheads ,W.(. '6Beacons: Rules of Hierarchy (A node at level n, must have a leader at level n+1 There is no other n-level node near by There is a reason why you are at level n At least two clusters near you at level n-1,Z,Z,Eb Drum Level SelectionAlgorithm runs at each node, after each change in DART New entry or timer expiry Assure DART satisfies certain conditions If violated, change the node level appropriately Aids efficiency under dynamic changesh7)n1&7)1 & Membership AlgorithmInvoked after drum level selection Nodes choose a unique drum in 1-higher level (closest drum) Whose DART entry has not expired Then each node is assigned a coordinate, based on its drum Consider Di is a drum, L is a leaf node COORD(Di)=COORD(PARENT(Di))RAND(b) COORD(L)= COORD(PARENT(L)) Coordinate is vital in routing_Z!Z;ZhZZ2&!  0  $$((,, 004488l% The Routing Table: DARTDrum Ad Hoc Routing Table (DART) Nodes store beacons they forwarded Store: beacon contents, time_rcvd, Drum_ID A timer starts with each new entry When expired,I rethink my membership drum level selection algorithm and membership algorithm invoked!#n+#n%A!#+# %  $$Addressing -- ImplicationsCOORD(Di)=COORD(PARENT(Di))Rand(b) if b then Pr{2 nodes get same coordinate} COORD(L)= COORD(PARENT(L)) All leafs in a cell have the same coordinate Drum IDs at each level create a hierarchical address (coordinate) for each node that is a member.$0-b   + $$((,,00b44Proposed Routing Protocol[1. Proactive Inter-Cell Routing Deliver pkts from src to level-1 cell of dest Drums broadcast info to All its nodes All nodes of its sibling cells (same parent at n+1) By following the reverse path of beacons 2. On-demand (Reactive) Intra-Cell Routing Deliver pkts to final dest. within level-1 cell Via any on-demand routing protocol!GB*1W G B* $$((3,,%-#Proactive Inter-Cell RoutingEUnlike conventional clustering Clusterheads suffer bottleneck Drums need not be along the path at all Extract coordinate from pkt, Lookup DART Longest prefix matching between two coordinates Get the sequence # of the longest prefix match Compare with sequence # in pkt header If not worse, replace entry in pkt with DART infoG)0/&2G)0 /&2P R&Reactive Intra-Cell RoutingEach node, upon receiving a pkt, checks if the dest is in same level-1 cell as itself Coordinates are the same If coordinates match, use DSR within cell<V*V*,eExample #Address Resolution"Senders wish to send pkts to an ID But protocol forwards to a coordinate Map nodeID to its current coordinate Implemented like DHTs Each node inserts (ID,coordinate) pair at a set of k nodes Node reinserts whenever its coordinate changes Any node can lookup the coordinate by hashing the ID#&%nj5    $$3((,,600544>3++Address Resolution - Locality?We don t want to look up a coordinate in LA from a node in Japan! Store hash not only in random k nodes; but also in closest k nodes Insert, with i least significant coordinate components replaced by random hash value When coordinate changes in i least significant coordinates, reinsert at a subset of nodes only When A looks up B s coordinates Iteratively query all nodes at greater distancesZZ Z1PM       a$$((C,, 00144  Performance EvaluationwDn= 3 hops Transmission range = 250 m. Topology: fixed density: 50 nodes in 1000m x1000m area Mobility: random waypointR1-/-   Scalability <PDR: fraction of application layer packets successfully rcvd&=Z<$ Overhead  4Overhead asymptotically approaches a constant value.$54% Path Lengths 2Avg # of hops btwn a random src and a random dest.3Z3H   3Mobility ]1000 nodes. 95% PDR with 100% mobile nodes. Total overhead almost same as in the static case.^Z^&DHT Scalability9Avg. # of hops for all pkts to STORE a coordinate in DHT.*F:$- Conclusions Proposed routing algorithm scales well. Periodic beacons are an overhead. A lot of patch-like details create complication Beacon period Beacon forwarding Drum level selection: complicated Coordinate caching in DHTs(z]z]/!"*,.012  C;@(  l  C ],P  '  <+ m ]Computer Science Technical Report Rice University, 2004 Slides by Ece Gelal and M. Faloutsos^^$A H  0޽h ? 33  (  r  S  `}   r  S {`  X  0A ?`8x  <0@10___PPT106___PPT9B___PPTMac11   hnamd` Arial&Monotype Typography  T$DART = Dynamic Address Routing Table%%H  0޽h ? fԇl  $(  r  S   `}   r  S .  `  H  0޽h ? fԇlr C-06Ls B;ԁ( Z/ 0DTimes Pro W3h@h10DHelvetica W3h@h10 DSymbolca W3h@h100DGaramond W3h@h10@DTimes New Roman@h10PDVerdanaw Roman@h10`DWingdingsRoman@h10pDArialngsRoman@h10DArialngsRoman@h1DArialngsRoman@h1D0000҉0 Pro W3n@h10DArial Pro W3n@h1 ` .  @n?" dd@  @@``_`7L7carbrake.wav.WAV 101026RIFF6WAVEfmt ++data6~~~~~~~~~~~~}}}}}}}{{}}}}}~~~~~~~}{{{{{{{{{}}}{{{}~}}{}}~}}}}}~~~~}}}{yxvvuusqqppnnlnnppqsssuvvuvvxxxy{{{{}~~~~}}{{{{{~~~~~}{xxyuvxy~~}}y~~~}}{~~}y}xxuxuvvvvx{yy}yyy}~~~~~yy}xvvy}sps{{qiksuqgiqsqnlqusnpsx{{{{{yy{yxqquupnglpqpnpqsusu}}xxyy{{{~}}xxyxvqpqvunnqussssssqquusvx{~~{{}{usqkipniggkpvspsvuy{xxyy{yxy}~yx{{y}}~~{uvvvxunkqunlnpquxvy}}}vvvspnklkiilpquuvxyy{yuuqppnnquvxxuvvx}~{~}}}}{xxvpknpppuuqsslinqsusssxxyx{{vqppkilngablvupq{~{y}}vyuuqlkknpnkilllklpqplnsyy{}~}~~}xuuqqnqplfffffliklsxxxxx~~~~~~{uquupigkppu{}~~~}~}}{y{~vuvqqssv~}{~}xsspifdddfkpsv{~}xuuusuuuusvxvvxy}~~yuqifdddbaabfa^_abadfflkklsxvx~~~}}{yyvuvvvyyvvx{xyslgbgb_d_bilqy~~}{sv~}{x~~}vqqux{yxx~~}~~y}qx}sxx}yussx{{vxvupgdfkd__^ZZaa_aaZZ\W_bgbbgillns{{}y~ygabi\TTOPGGJKH=CC;CMJ>@HO^^_nqv~{{vvysnklqnfgpvniv{ulnspspgfnvqgilxyupquyysllpnklqvspsyyv{}~~xx~xxuq}qgkpxskkpqlillniggglibb_bfipppuy~~}~{xsv{xvy{}}~{~}yxvvpkilpnigdgkgd__gkkkfdfinnllkpnsvusy~~y}~{}upkklklklnqslllnnkkkidadiib\_dfiiiinvuxxyxx~{xxupipnfifdggfaffgipliiiffafddglgknpv~~unkpvysx~}~~~}{y}{nglsupnsv{{{{{{{~~yx{yxqquvyxuqqy}upqnvvx~}yyvvspxypqs{yi\^^YWPJKKMTY\^Z^ipssxqpuuusuppu{up~x~uǦqx}s^HCUP=..33+"!01+)18>JOT_nsu¾}vlf_UTWRJGJMTWRORY\UUYW^a^^bilkfadluqnusv{{xpifksld_fg\RRYbdWT^inliabgkgffdkibiqvqsx}~qnxsd\lvnYTagaYPUa^WMMRMKKPTRUW\_Yaknnls~xvy}}pilppkbdbZUZ^ZWUYZ^_a\^bdknlllqyyy}vvvqifadZY\UZURUTRYU\\UTW_d_\abipsx}}{v}}xpsxqukbgl_bgnigqqnnkflvg_d_dkdZUgyndaluliianxunpx˹ǵǾqqd_UOKC90=;03>CCJRUZYUP__UTgidpx{vx}{~}xnuuҸxdRRJ9,&!  '>;=Tlvxý½yppsxgUWWYMB=BRYTC66EJKKMMRWaa\\bgldZdqx{vv{nZ^lkWKHKJCB813==9CHC>BUYPRfnkq»{vxy{l\dnliffbgfWMMR\\Y\\^TR\dbZdqplv}{nyssy}~~}{~vquyvvuqusligZPRYUKHPWYY\abkilsux~xpuupnxqqnnnpnqkdaYWWPKKORYWZ\^^iknyua\nxupv~vy~}xgiqpkddffkiinnk_fnnq^ZnyibqsvyŶxnlvpfTKO^_WY\W\^^\\\ZW\^RP^b\WYadbbd_bigdk}~^vȶxffu_E835, '+!$9MRWdxyx~Խ~sx{xnggdWPPPH@GJHKRMGMWfaKRi~xbd{~ln¹¹}~{lbpqdRKOMC86335056BJGEG^pxux~~Ŷ}~~yps}yv~~}xu{upgbdb_\Z^ZY^bdpuu~xss~}xxv}~}vupkgaWTY_YMMZddY\gsxsu~}{~xy}xqqpvxsslpslinlafffnifpx}}~qdikbZUZYa_\inffsvssllpi_\iaMKYkpgTY~basöŽ»pn{udWOR_bJ;COYYPMMKC@MKEG;BPROU\_by}pxʾn\YOB60,$ !.8EPZdyʾy~{xuqlZOOCCORMG9=JKGJKMask^^daap}ó}x{yqy}qdWKEYRJY_TJPWRPWYafdb^anlgu~}yv{x{pln_R_iliaggafffgfblqllns{vpivui_^bg_Ublfb_ipkki_bfpnggip~}xnillf\YUJJKMPU_ag_^gu~~lfu{lTRlxiUECOYE>GGHKEMMZbZds}{Ǿugpyssifvsdddf__^^ZREMYTJGC_kPMi{kks{\yҾ}ugUEEH>'$')"'55,1=HHHKM\kx~}y~skia\adUM\YYgZEM_iaKJk~y{}gZZaaZR\b_ZZaafpkZbkgddY\nvvu~vnxy~~~ndgkknkpnklxskfkvpgfggUYssgiks}x~vy{~vy~~}npuyqlnsy}sknp}{qx}~vy~xpuxvqkqpgbbgngggkpqx{~{yupqqkad\TROUUMPRT_fZOYdspiny~lWWsbMGYqkWPTUWYZTHR\\HEWfnYRuxg{°qupaWMG8+6$"+'0356BH@CMUMUpq{xy}vxu~~silZEGOYUTYOdx{}x~y~vvxq\TfdZZ\nuigkpnnqvyyuux{v{uv}}upx~sdp{xvvnyyvqik}vbsxipubv~ysy~{{uvuq}uxuux{y}x{up{~vpqspkkllnssgW^bgqpqvu{~~yniys^JGbqaP56^iH@Y^xx~~xiuuiakqxsdgnuviTYbquiWUfZYqu^Yfafyv\iäŮͳusbldTEGE55@RUWYWTfu}qadikpdYdq_dynfnuqpk\gns~{sknvya\nnfg_akd^\ik_p{}}}y½ydfs~{nUTppbYYgnlkqpiluqvqxysyxpvy{ysl}{~vysilk_glgsuiu{plpngkpnqplpkbYTbiuqs}ys}xs{qsnklYPOfsZWdlxvi{{}{}un~{slv~qysnu}}gZ}~kqn~{pnqf_Zpxvvfv~~sY_qiRPZ\da\\\Pp}{uu}pq}}pu^aqsuniy~vs}i{~q{y~{~}}nknplld_Y^gb^Zdqv}~}{}{}y~~yxxnqkq~xx~y{yxv~y~qlxqlg_ax{snki{{}xx}sy}{ylgy}}{}~xss_lpgbZbiuulpsp}}y~svyganuyp\^pvsigu~svyv{~~vplqubqvu}pdnqs~~uvq^p{~ilqyub^fvsd\\\b_PHOTHYpsl^f{sbnvv}}ifdaaiiWbqsqlku{{qx{{v}vy{vuqdknvupqxux~~~{}{qpux{vsuqqssvu{uxyx{{vx}{}}yy}{}{vxvxsvuqqkinnkkisyvv}yvxxsnnspnqsxvuux}~}}~}~~xx{}~xnnquxvppssu{}y~~xux}}yx}~}~yxy~yyxpsvxxuqs{~}yyvyvkiffgfgiiikkfilkfkpy}}y{yuuvqlgiiggkklqpqsvxysv{{xpgkqsqvvvvsspqxx{uuy{sssp}gZ_dp{us}upk^RKd}sgvk\^ny~}qdbix~fPCMfsuslbpii\M{ykYa}dvTa}^g~lGba;>UnlkKO^{kP^akv\9HfOTlqE;C=\{G^g{bGZ¬nPikPTqUs{aTUl{¸W>KaMTx>G;Kg80TpxB)KuyqdPZxǕuglp§TllE09O^uqlfG3K^Ug}ǸsPWlZCRgvö}^PW\UbpsWWYC>Kas~W=EEqff͹bn_qTHbg_M_qxT61Hfvp”RfC6U{i^~xJKk_@CZl}ùZ^}RBRfyçisZ@Jf}xծqxiCYuP6Jlg9UxuiqbJ3HgaWk¹laidsyǹvdB)!&3WZYu~}bJ95EgZWvŹqdvbGBKi}kK@RM}vnŗ{uJYqG9K\{qgT89TRMdy~pgZGEUZkԾuB1B@asWPl\=GRig\nZJpuTERk}˸nYsg@3CayybusP9CHsv{ʶnvJ{q{R>;pKsŦv9Yl_HuGRvKYOJlplvnl_dvˍWpȩlC\xvu^d}qBHOidKJi}\ulgig~{ȳpCun\~}BWuC.Ck;=ZsG8Osn{xu}pOdbORflyfYYaZ356J_lûlMbWTduxȾ—_iROHRi}Ƚ~\dC^i^Y_Uiudzd_qu;66^~k\_y~TGGkd=)9TgžԽuEpgOTp˅Z~ÙWbZ6'1JfffJ9Jb{}b;=gpunnű_g}kKP^x͵ulxiZJ;KTp{ňxqC>;~Y5JJ~guJ+ig>HCT@avԅ{¬sskPUqʾa@6=BZixŸ{~d85KaGK^vxsPEgyPZvжiO059GZZp~ylaM+$>Uk}ŤsiPaladsŬf8CKWaB;MfnqfE3=EYbp~dBETqg_sň~yf\p}as{lR;;TTMZllM'.ZYBHT}yY@W\uv϶fBOYYJ\}\Wnu}__E8Jbu}ŮRPygOfKKgyȱgU\bp^yqB58KGMbyvP;MWnYnǜU=BaaPbpYlO!)d}=MfnHGYfϧY{vM9\E\l{WniYaPa\}xM$MiEyuygȳqdH6Gqbu}xUq96TE.Rbf{Y}Zq\u~paqv_CCUnfaTi}T9HxTgg{Ȟ\dslnU{MdxgÏOWx_{iuikRk}gOWYWqsq^=8EiMps>anU9,6Zk±^^vsxnRKfy¦lMi{d\U@0JbubJqvkxb@@OWZW}s{q~\H{yUdpWMixMPOgiJsK>Zn_}yklYabZvs_ZYH\i_k{~nP6=U}}{l~dGG_yxbõu~M=Yn{pyqZaY66G\{}qiaM>Rk{NJUg}vfW@.3C^fslkgfGuWfUlx˙ͱsUa_;>Pndsg}lYWORCayvv}dOK>Rafq©ldvaREKdp~Ⱦ_ygRKH__dxld{vnqgUEgYlaagYJnu\9OTCfyf~fdf{»n_RW_Z6EEJ_p}xkG=;ffšpB+B}saZsŸ_5PlifRdyl6=yJKWky˻qU8UpPWf{¹xfO3+@TbqvxlaJ15Rnd_{öǹ^OTubxyyʳ~l\C6Kpqu\vnW.3lkZbv~ydC5T}YpqP3@Zx^pq}siG&.E^}p}«~pMRl{GWs٦\Yqf^ZfsxJ'GM_Wql{\36q~iTiʻfH1B\p\~ùg@,;TgPl{xkM,Gi\Y{axqqqfa\T^YivkWaUluagyukf~ulUKp{ZniYKbyqHRKJguxfdaUUWb~~yypyqiYKPduödi_^^b_U_snO@EUku}~kM39;GWiuvdHUTYalpȹlHGd^\dx~kE&B}fRMkxkM9Epgký}pdYB8P~lfЩpdWG05O{abangM,Bsa^uȻxy~ZHP~kMTn~ëvv_9)dfasufuеqyRE_nxqdP8Eqgf{{gOHWYTkxq_WkgdxsisZnpfanl{{qkUkifk{g^}xqnbi\u~nHn{l\qu}u}xP@y~viuxsgqqvkuY@HKduǾ}KOk}_\TWguaYUnsOH{gffds{¤vxpfvZ\{ngbPHdqvxvd_xukWp{susdU\_RRqpdKOfÊi{iY9O}u{v}f{pW@@\lynvxupx~n@6RsUugdUWa{vß}vuO~\akg_lDZgg1Ex}KOqxuM@akx\qaa~lPYfU\v}y~}qakMPq{d_Wp}~iYksg\y{}6@s>>bqG_lqunTkp^kayaqqluvf^Tisvdqn~xiskZHk^vx}~vbqlWqq~_~qdqqaGaivn_RY^b=WiUpiR_\MYxyqgxxvuffuJBPng~Z~^8=\{{l~âuqqlkxfqqqlbqgxuu~~Zinfgdlvl{suvvsyP>;bs\ya}ZZbb^qRdyKBv{~}x{GM{kqZuf^TGEkki~xnfsMavU\yZM{palÏ_pdx~qUUdbf}~~y{udMs~dx{}}du}yxsbPfq}}ngxklnRJR{iRk}nBa{vYpWnubk_^ypk{}{i{qdvy{vfYWR~k}U5Znsxp}udapx{~~}qgfyxKTxk~uRanPOguJOdbnx}iWpuqZ_fu^~}i}sgki_pykslxuqpkxaas^\sxud_x~vW~_i{~pgxq\JZf\PqxRbqunWkiyknvsugW_vksn}{pklppa}qWf~ukGYfkdppfUk^\pnxq@;xdYvunnd\pqxsfU{qndssqyvZpvyybkkpkgau{v}xlbMCT_gppq~}\UnfYi{~}bZsnZWxiukdy{~fJasukJZbnd~qYkifi{\K^uxubTk~p\kklPJabaxaf{~~svUv{ZWis{plu~bCJ_nnvflfdv{}gM^}u}}x{~}uyWHE}xd~ZEMg}xk>B}nqupgsMnMRkskn}s_R9=OZ_\usgKJnsanfiJYdgT\Wkv~p^^lu~qkU>BP\gnivvnl^PEYddid_g~vp}x~ZRfvpsu~usvRkTP^isuiv˩yy~qgWEZba_uqfdibTEPguȰ}nqZCBWgvͶnkavYKT^yuȫfPp{kigqlq{iy^OUUfv{sTTdaUdqk^KRTn~î}lsTfxsYp{Y_{^EUWUi{uvg}d^Ydin{n_KP^iRav~udRZibi}sifaUHZnba~kTPnpy~_x\yORviYsx^YfygZf}nx}pgZP_q~nxlda\KHWgxknibfdbuydO~~iZi~nkZs{vqYan{}pdROfkxk~nPZuynl}y}v_aRYlyixq^pyU_gYiy^nqaf}_Y{WYg^\~U^pggaUssYl^Zq{fl}a^p{fx^Zni\y\Raxy_yyPTklnaTp{snZuvaxv_dysykgxy~ub\bsup~{niuylnpiqn}sb_n{qsysunvy}xp{{~~ldiky~y}kfnqqynpu{lbgy{s}kgvxp}}llpqx{lfgq{yuxyx{{qpu{vnv}skuy~vp{~vsqnv~vvssqv~y{unqyx{ss}}plv}pluy~yy}xllv}}xsss{vnqyyuux{yy{ysy}~}}yy~{vsqqsx~xxy~xqqx}xy}uppy~xsv{uv}{y{}y}~~~~{y~~yxy}~}}~~{{~{{~{xy}~~{vvy~}xy{{}~}}yxxy~yvy~}{y{{yy}~~~}{}~~~{yx{~yy{}~}{{{~~{{}~{}~~~~~~~~}}{{~~~~~}}}~~}{}~}{}~~~~}~~~}~~~~~{yy}~~~~}~~~}~~~~~}}}~~~~}}~~}}}~~~~}~~}~~~~~~~~~~~~~~~~~~~~}~~~~}~~~~~~~~~~~~~}}~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  3'    ' "#$!&% '( ) $b$Bbes?l$o_b$A~n3I?5Aΰb$o L1(ltLsTb$JD}-]Nd2;Fb$|2BnOf m@b$]ߊ`98OmB?[,{b$eB0(W[{MLb$Nd_5HxX.;b$_sa_:qѾ'+jc $@8:; ,pʚ;>6ʚ;g4wdwdH8ppp@ <4!d!d;%gʚ;<4dddd;%gʚ; <4BdBd;%ʚ;F X___PPT1080 ___PPT9@8n.ܘՇ\j&PNG  IHDR [AsRGBgAMA7 cHRMz&u0`:pQ<$PLTE333ff33̙3f33ff̙fffE3tRNS0J cmPPJCmp0712ZREIDATWc`dPJB#r*d16QRƉ@yc\d@ OBM]PkZ IENDB`H 0h___PPT2001D<4Xh___PPTMac11@f   hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography   ,namd$ Helvetica  ? %4ESelf-Organizing Hierarchical Routing for Scalable Ad Hoc Networking FE0, (ProblemUse of wireless devices is rapidly increasing Decentralized, self organizing systems Current ad hoc routing protocols are limited in scalability Mobility increases routing overhead Success of the protocols is challenged in large networks Need for routing protocols that scale x.'<]'.'<]  Contribution Self-organizing hierarchical routing Proximity-based multi-level hierarchy of cells Hybrid Routing using this hierarchy Proactive hierarchical, among cells On-demand, within cell Mapping of unique IDs to hierarchical addresses using a distributed hash tablef%/n$;O%/$; O,55 The Main IdeaEach node belongs to a cluster of level L, or is clusterhead (Drum) for that level Drums broadcast their existence with beacons Nodes hear beacons and Join cluster Take over drum roleTZ!Z>U  $0 {DART versus SAFARIWhat is common? Hierarchical addressing Map IDs to addresses via a hash table Difference from DART Explicit group names (instead of prefixes) Reactive Routing within same level-1 cell d>U>U  Safari Overview: HierarchyNodes organized in multi-level cells Level k cells grouped into Level k+1 cells Cells are identified by drums (= head) Automatic self-selected Drums are the backbone of the hierarchy Nodes choose a 1-level higher drum The one closest in hops%+'@$%+'? $,$ Safari Overview: RoutingeSelf-organize into clusters: Drums transmit periodic beacons Nodes keep DHTs (distr. hash tables) Look up ID of node to find its address Route towards the drum of the cell of dest. Up: Follow the reverse path of most recent beacon Down: Seek a lower-level cell s.t. dest. is its member Within: Any node in cell of dest. initiates on-demand route discoveryZ Z&Z'Z,ZZ &',vG]V-& Beaconing Protocol"Beacons help establish the drums Drums broadcast beacons periodically: Seq #, coordinate, beacon level, hop count Forwarded by all nodes within Dn hops D_n increases with n: higher level, larger cell Higher level beacons w/ lower freq. Assumes:Topology changes less frequent at higher levelzG+&T7G+  T76GL9 Clusterhead and hierarchy k-level clusterheads  rule a D_k radius area At k+1-level we have fewer clusterheads ,W.(. '6Beacons: Rules of Hierarchy (A node at level n, must have a leader at level n+1 There is no other n-level node near by There is a reason why you are at level n At least two clusters near you at level n-1,Z,Z,Eb Drum Level SelectionAlgorithm runs at each node, after each change in DART New entry or timer expiry Assure DART satisfies certain conditions If violated, change the node level appropriately Aids efficiency under dynamic changesh7)n1&7)1 & Membership AlgorithmInvoked after drum level selection Nodes choose a unique drum in 1-higher level (closest drum) Whose DART entry has not expired Then each node is assigned a coordinate, based on its drum Consider Di is a drum, L is a leaf node COORD(Di)=COORD(PARENT(Di))RAND(b) COORD(L)= COORD(PARENT(L)) Coordinate is vital in routing_Z!Z;ZhZZ2&!  0  $$((,, 004488l% The Routing Table: DARTDrum Ad Hoc Routing Table (DART) Nodes store beacons they forwarded Store: beacon contents, time_rcvd, Drum_ID A timer starts with each new entry When expired,I rethink my membership drum level selection algorithm and membership algorithm invoked!#n+#n%A!#+# %  $$Addressing -- ImplicationsCOORD(Di)=COORD(PARENT(Di))Rand(b) if b then Pr{2 nodes get same coordinate} COORD(L)= COORD(PARENT(L)) All leafs in a cell have the same coordinate Drum IDs at each level create a hierarchical address (coordinate) for each node that is a member.$0-b   + $$((,,00b44Proposed Routing Protocol[1. Proactive Inter-Cell Routing Deliver pkts from src to level-1 cell of dest Drums broadcast info to All its nodes All nodes of its sibling cells (same parent at n+1) By following the reverse path of beacons 2. On-demand (Reactive) Intra-Cell Routing Deliver pkts to final dest. within level-1 cell Via any on-demand routing protocol!GB*1W G B* $$((3,,%-#Proactive Inter-Cell RoutingEUnlike conventional clustering Clusterheads suffer bottleneck Drums need not be along the path at all Extract coordinate from pkt, Lookup DART Longest prefix matching between two coordinates Get the sequence # of the longest prefix match Compare with sequence # in pkt header If not worse, replace entry in pkt with DART infoG)0/&2G)0 /&2P R&Reactive Intra-Cell RoutingEach node, upon receiving a pkt, checks if the dest is in same level-1 cell as itself Coordinates are the same If coordinates match, use DSR within cell<V*V*,eExample #Address Resolution"Senders wish to send pkts to an ID But protocol forwards to a coordinate Map nodeID to its current coordinate Implemented like DHTs Each node inserts (ID,coordinate) pair at a set of k nodes Node reinserts whenever its coordinate changes Any node can lookup the coordinate by hashing the ID#&%nj5    $$3((,,600544>3++Address Resolution - Locality?We don t want to look up a coordinate in LA from a node in Japan! Store hash not only in random k nodes; but also in closest k nodes Insert, with i least significant coordinate components replaced by random hash value When coordinate changes in i least significant coordinates, reinsert at a subset of nodes only When A looks up B s coordinates Iteratively query all nodes at greater distancesZZ Z1PM       a$$((C,, 00144  Performance EvaluationwDn= 3 hops Transmission range = 250 m. Topology: fixed density: 50 nodes in 1000m x1000m area Mobility: random waypointR1-/-   Scalability <PDR: fraction of application layer packets successfully rcvd&=Z<$ Overhead  4Overhead asymptotically approaches a constant value.$54% Path Lengths 2Avg # of hops btwn a random src and a random dest.3Z3H   3Mobility ]1000 nodes. 95% PDR with 100% mobile nodes. Total overhead almost same as in the static case.^Z^&DHT Scalability9Avg. # of hops for all pkts to STORE a coordinate in DHT.*F:$- Conclusions Proposed routing algorithm scales well. Periodic beacons are an overhead. A lot of patch-like details create complication Beacon period Beacon forwarding Drum level selection: complicated Coordinate caching in DHTs(z]z]/!"*,.012  g_@(  l  C ],P  K  <+ _|`___PPT10@8___PPT9xpn___PPTMac11H@ ,namd$ Times Roman  ,namd$ Times Roman  ,namd$ Times Roman  ,namd$ Times Roman  ,namd$ Times Roman  S At Ad/Hoc Networks, Elsevier, 2007 Or Computer Science Technical Report Rice University, 2004 Slides by Ece Gelal and M. Faloutsos\ !    aN a H  0޽h ? 33rhDOs DX;N !( Z/ 0DTimes Pro W3h@h10DHelvetica W3h@h10 DSymbolca W3h@h100DGaramond W3h@h10@DTimes New Roman@h10PDVerdanaw Roman@h10`DWingdingsRoman@h10pDArialngsRoman@h10DArialngsRoman@h1DArialngsRoman@h1D0000҉0 Pro W3n@h10DArial Pro W3n@h1 ` .  @n?" dd@  @@``_`7L7carbrake.wav.WAV 101026RIFF6WAVEfmt ++data6~~~~~~~~~~~~}}}}}}}{{}}}}}~~~~~~~}{{{{{{{{{}}}{{{}~}}{}}~}}}}}~~~~}}}{yxvvuusqqppnnlnnppqsssuvvuvvxxxy{{{{}~~~~}}{{{{{~~~~~}{xxyuvxy~~}}y~~~}}{~~}y}xxuxuvvvvx{yy}yyy}~~~~~yy}xvvy}sps{{qiksuqgiqsqnlqusnpsx{{{{{yy{yxqquupnglpqpnpqsusu}}xxyy{{{~}}xxyxvqpqvunnqussssssqquusvx{~~{{}{usqkipniggkpvspsvuy{xxyy{yxy}~yx{{y}}~~{uvvvxunkqunlnpquxvy}}}vvvspnklkiilpquuvxyy{yuuqppnnquvxxuvvx}~{~}}}}{xxvpknpppuuqsslinqsusssxxyx{{vqppkilngablvupq{~{y}}vyuuqlkknpnkilllklpqplnsyy{}~}~~}xuuqqnqplfffffliklsxxxxx~~~~~~{uquupigkppu{}~~~}~}}{y{~vuvqqssv~}{~}xsspifdddfkpsv{~}xuuusuuuusvxvvxy}~~yuqifdddbaabfa^_abadfflkklsxvx~~~}}{yyvuvvvyyvvx{xyslgbgb_d_bilqy~~}{sv~}{x~~}vqqux{yxx~~}~~y}qx}sxx}yussx{{vxvupgdfkd__^ZZaa_aaZZ\W_bgbbgillns{{}y~ygabi\TTOPGGJKH=CC;CMJ>@HO^^_nqv~{{vvysnklqnfgpvniv{ulnspspgfnvqgilxyupquyysllpnklqvspsyyv{}~~xx~xxuq}qgkpxskkpqlillniggglibb_bfipppuy~~}~{xsv{xvy{}}~{~}yxvvpkilpnigdgkgd__gkkkfdfinnllkpnsvusy~~y}~{}upkklklklnqslllnnkkkidadiib\_dfiiiinvuxxyxx~{xxupipnfifdggfaffgipliiiffafddglgknpv~~unkpvysx~}~~~}{y}{nglsupnsv{{{{{{{~~yx{yxqquvyxuqqy}upqnvvx~}yyvvspxypqs{yi\^^YWPJKKMTY\^Z^ipssxqpuuusuppu{up~x~uǦqx}s^HCUP=..33+"!01+)18>JOT_nsu¾}vlf_UTWRJGJMTWRORY\UUYW^a^^bilkfadluqnusv{{xpifksld_fg\RRYbdWT^inliabgkgffdkibiqvqsx}~qnxsd\lvnYTagaYPUa^WMMRMKKPTRUW\_Yaknnls~xvy}}pilppkbdbZUZ^ZWUYZ^_a\^bdknlllqyyy}vvvqifadZY\UZURUTRYU\\UTW_d_\abipsx}}{v}}xpsxqukbgl_bgnigqqnnkflvg_d_dkdZUgyndaluliianxunpx˹ǵǾqqd_UOKC90=;03>CCJRUZYUP__UTgidpx{vx}{~}xnuuҸxdRRJ9,&!  '>;=Tlvxý½yppsxgUWWYMB=BRYTC66EJKKMMRWaa\\bgldZdqx{vv{nZ^lkWKHKJCB813==9CHC>BUYPRfnkq»{vxy{l\dnliffbgfWMMR\\Y\\^TR\dbZdqplv}{nyssy}~~}{~vquyvvuqusligZPRYUKHPWYY\abkilsux~xpuupnxqqnnnpnqkdaYWWPKKORYWZ\^^iknyua\nxupv~vy~}xgiqpkddffkiinnk_fnnq^ZnyibqsvyŶxnlvpfTKO^_WY\W\^^\\\ZW\^RP^b\WYadbbd_bigdk}~^vȶxffu_E835, '+!$9MRWdxyx~Խ~sx{xnggdWPPPH@GJHKRMGMWfaKRi~xbd{~ln¹¹}~{lbpqdRKOMC86335056BJGEG^pxux~~Ŷ}~~yps}yv~~}xu{upgbdb_\Z^ZY^bdpuu~xss~}xxv}~}vupkgaWTY_YMMZddY\gsxsu~}{~xy}xqqpvxsslpslinlafffnifpx}}~qdikbZUZYa_\inffsvssllpi_\iaMKYkpgTY~basöŽ»pn{udWOR_bJ;COYYPMMKC@MKEG;BPROU\_by}pxʾn\YOB60,$ !.8EPZdyʾy~{xuqlZOOCCORMG9=JKGJKMask^^daap}ó}x{yqy}qdWKEYRJY_TJPWRPWYafdb^anlgu~}yv{x{pln_R_iliaggafffgfblqllns{vpivui_^bg_Ublfb_ipkki_bfpnggip~}xnillf\YUJJKMPU_ag_^gu~~lfu{lTRlxiUECOYE>GGHKEMMZbZds}{Ǿugpyssifvsdddf__^^ZREMYTJGC_kPMi{kks{\yҾ}ugUEEH>'$')"'55,1=HHHKM\kx~}y~skia\adUM\YYgZEM_iaKJk~y{}gZZaaZR\b_ZZaafpkZbkgddY\nvvu~vnxy~~~ndgkknkpnklxskfkvpgfggUYssgiks}x~vy{~vy~~}npuyqlnsy}sknp}{qx}~vy~xpuxvqkqpgbbgngggkpqx{~{yupqqkad\TROUUMPRT_fZOYdspiny~lWWsbMGYqkWPTUWYZTHR\\HEWfnYRuxg{°qupaWMG8+6$"+'0356BH@CMUMUpq{xy}vxu~~silZEGOYUTYOdx{}x~y~vvxq\TfdZZ\nuigkpnnqvyyuux{v{uv}}upx~sdp{xvvnyyvqik}vbsxipubv~ysy~{{uvuq}uxuux{y}x{up{~vpqspkkllnssgW^bgqpqvu{~~yniys^JGbqaP56^iH@Y^xx~~xiuuiakqxsdgnuviTYbquiWUfZYqu^Yfafyv\iäŮͳusbldTEGE55@RUWYWTfu}qadikpdYdq_dynfnuqpk\gns~{sknvya\nnfg_akd^\ik_p{}}}y½ydfs~{nUTppbYYgnlkqpiluqvqxysyxpvy{ysl}{~vysilk_glgsuiu{plpngkpnqplpkbYTbiuqs}ys}xs{qsnklYPOfsZWdlxvi{{}{}un~{slv~qysnu}}gZ}~kqn~{pnqf_Zpxvvfv~~sY_qiRPZ\da\\\Pp}{uu}pq}}pu^aqsuniy~vs}i{~q{y~{~}}nknplld_Y^gb^Zdqv}~}{}{}y~~yxxnqkq~xx~y{yxv~y~qlxqlg_ax{snki{{}xx}sy}{ylgy}}{}~xss_lpgbZbiuulpsp}}y~svyganuyp\^pvsigu~svyv{~~vplqubqvu}pdnqs~~uvq^p{~ilqyub^fvsd\\\b_PHOTHYpsl^f{sbnvv}}ifdaaiiWbqsqlku{{qx{{v}vy{vuqdknvupqxux~~~{}{qpux{vsuqqssvu{uxyx{{vx}{}}yy}{}{vxvxsvuqqkinnkkisyvv}yvxxsnnspnqsxvuux}~}}~}~~xx{}~xnnquxvppssu{}y~~xux}}yx}~}~yxy~yyxpsvxxuqs{~}yyvyvkiffgfgiiikkfilkfkpy}}y{yuuvqlgiiggkklqpqsvxysv{{xpgkqsqvvvvsspqxx{uuy{sssp}gZ_dp{us}upk^RKd}sgvk\^ny~}qdbix~fPCMfsuslbpii\M{ykYa}dvTa}^g~lGba;>UnlkKO^{kP^akv\9HfOTlqE;C=\{G^g{bGZ¬nPikPTqUs{aTUl{¸W>KaMTx>G;Kg80TpxB)KuyqdPZxǕuglp§TllE09O^uqlfG3K^Ug}ǸsPWlZCRgvö}^PW\UbpsWWYC>Kas~W=EEqff͹bn_qTHbg_M_qxT61Hfvp”RfC6U{i^~xJKk_@CZl}ùZ^}RBRfyçisZ@Jf}xծqxiCYuP6Jlg9UxuiqbJ3HgaWk¹laidsyǹvdB)!&3WZYu~}bJ95EgZWvŹqdvbGBKi}kK@RM}vnŗ{uJYqG9K\{qgT89TRMdy~pgZGEUZkԾuB1B@asWPl\=GRig\nZJpuTERk}˸nYsg@3CayybusP9CHsv{ʶnvJ{q{R>;pKsŦv9Yl_HuGRvKYOJlplvnl_dvˍWpȩlC\xvu^d}qBHOidKJi}\ulgig~{ȳpCun\~}BWuC.Ck;=ZsG8Osn{xu}pOdbORflyfYYaZ356J_lûlMbWTduxȾ—_iROHRi}Ƚ~\dC^i^Y_Uiudzd_qu;66^~k\_y~TGGkd=)9TgžԽuEpgOTp˅Z~ÙWbZ6'1JfffJ9Jb{}b;=gpunnű_g}kKP^x͵ulxiZJ;KTp{ňxqC>;~Y5JJ~guJ+ig>HCT@avԅ{¬sskPUqʾa@6=BZixŸ{~d85KaGK^vxsPEgyPZvжiO059GZZp~ylaM+$>Uk}ŤsiPaladsŬf8CKWaB;MfnqfE3=EYbp~dBETqg_sň~yf\p}as{lR;;TTMZllM'.ZYBHT}yY@W\uv϶fBOYYJ\}\Wnu}__E8Jbu}ŮRPygOfKKgyȱgU\bp^yqB58KGMbyvP;MWnYnǜU=BaaPbpYlO!)d}=MfnHGYfϧY{vM9\E\l{WniYaPa\}xM$MiEyuygȳqdH6Gqbu}xUq96TE.Rbf{Y}Zq\u~paqv_CCUnfaTi}T9HxTgg{Ȟ\dslnU{MdxgÏOWx_{iuikRk}gOWYWqsq^=8EiMps>anU9,6Zk±^^vsxnRKfy¦lMi{d\U@0JbubJqvkxb@@OWZW}s{q~\H{yUdpWMixMPOgiJsK>Zn_}yklYabZvs_ZYH\i_k{~nP6=U}}{l~dGG_yxbõu~M=Yn{pyqZaY66G\{}qiaM>Rk{NJUg}vfW@.3C^fslkgfGuWfUlx˙ͱsUa_;>Pndsg}lYWORCayvv}dOK>Rafq©ldvaREKdp~Ⱦ_ygRKH__dxld{vnqgUEgYlaagYJnu\9OTCfyf~fdf{»n_RW_Z6EEJ_p}xkG=;ffšpB+B}saZsŸ_5PlifRdyl6=yJKWky˻qU8UpPWf{¹xfO3+@TbqvxlaJ15Rnd_{öǹ^OTubxyyʳ~l\C6Kpqu\vnW.3lkZbv~ydC5T}YpqP3@Zx^pq}siG&.E^}p}«~pMRl{GWs٦\Yqf^ZfsxJ'GM_Wql{\36q~iTiʻfH1B\p\~ùg@,;TgPl{xkM,Gi\Y{axqqqfa\T^YivkWaUluagyukf~ulUKp{ZniYKbyqHRKJguxfdaUUWb~~yypyqiYKPduödi_^^b_U_snO@EUku}~kM39;GWiuvdHUTYalpȹlHGd^\dx~kE&B}fRMkxkM9Epgký}pdYB8P~lfЩpdWG05O{abangM,Bsa^uȻxy~ZHP~kMTn~ëvv_9)dfasufuеqyRE_nxqdP8Eqgf{{gOHWYTkxq_WkgdxsisZnpfanl{{qkUkifk{g^}xqnbi\u~nHn{l\qu}u}xP@y~viuxsgqqvkuY@HKduǾ}KOk}_\TWguaYUnsOH{gffds{¤vxpfvZ\{ngbPHdqvxvd_xukWp{susdU\_RRqpdKOfÊi{iY9O}u{v}f{pW@@\lynvxupx~n@6RsUugdUWa{vß}vuO~\akg_lDZgg1Ex}KOqxuM@akx\qaa~lPYfU\v}y~}qakMPq{d_Wp}~iYksg\y{}6@s>>bqG_lqunTkp^kayaqqluvf^Tisvdqn~xiskZHk^vx}~vbqlWqq~_~qdqqaGaivn_RY^b=WiUpiR_\MYxyqgxxvuffuJBPng~Z~^8=\{{l~âuqqlkxfqqqlbqgxuu~~Zinfgdlvl{suvvsyP>;bs\ya}ZZbb^qRdyKBv{~}x{GM{kqZuf^TGEkki~xnfsMavU\yZM{palÏ_pdx~qUUdbf}~~y{udMs~dx{}}du}yxsbPfq}}ngxklnRJR{iRk}nBa{vYpWnubk_^ypk{}{i{qdvy{vfYWR~k}U5Znsxp}udapx{~~}qgfyxKTxk~uRanPOguJOdbnx}iWpuqZ_fu^~}i}sgki_pykslxuqpkxaas^\sxud_x~vW~_i{~pgxq\JZf\PqxRbqunWkiyknvsugW_vksn}{pklppa}qWf~ukGYfkdppfUk^\pnxq@;xdYvunnd\pqxsfU{qndssqyvZpvyybkkpkgau{v}xlbMCT_gppq~}\UnfYi{~}bZsnZWxiukdy{~fJasukJZbnd~qYkifi{\K^uxubTk~p\kklPJabaxaf{~~svUv{ZWis{plu~bCJ_nnvflfdv{}gM^}u}}x{~}uyWHE}xd~ZEMg}xk>B}nqupgsMnMRkskn}s_R9=OZ_\usgKJnsanfiJYdgT\Wkv~p^^lu~qkU>BP\gnivvnl^PEYddid_g~vp}x~ZRfvpsu~usvRkTP^isuiv˩yy~qgWEZba_uqfdibTEPguȰ}nqZCBWgvͶnkavYKT^yuȫfPp{kigqlq{iy^OUUfv{sTTdaUdqk^KRTn~î}lsTfxsYp{Y_{^EUWUi{uvg}d^Ydin{n_KP^iRav~udRZibi}sifaUHZnba~kTPnpy~_x\yORviYsx^YfygZf}nx}pgZP_q~nxlda\KHWgxknibfdbuydO~~iZi~nkZs{vqYan{}pdROfkxk~nPZuynl}y}v_aRYlyixq^pyU_gYiy^nqaf}_Y{WYg^\~U^pggaUssYl^Zq{fl}a^p{fx^Zni\y\Raxy_yyPTklnaTp{snZuvaxv_dysykgxy~ub\bsup~{niuylnpiqn}sb_n{qsysunvy}xp{{~~ldiky~y}kfnqqynpu{lbgy{s}kgvxp}}llpqx{lfgq{yuxyx{{qpu{vnv}skuy~vp{~vsqnv~vvssqv~y{unqyx{ss}}plv}pluy~yy}xllv}}xsss{vnqyyuux{yy{ysy}~}}yy~{vsqqsx~xxy~xqqx}xy}uppy~xsv{uv}{y{}y}~~~~{y~~yxy}~}}~~{{~{{~{xy}~~{vvy~}xy{{}~}}yxxy~yvy~}{y{{yy}~~~}{}~~~{yx{~yy{}~}{{{~~{{}~{}~~~~~~~~}}{{~~~~~}}}~~}{}~}{}~~~~}~~~}~~~~~{yy}~~~~}~~~}~~~~~}}}~~~~}}~~}}}~~~~}~~}~~~~~~~~~~~~~~~~~~~~}~~~~}~~~~~~~~~~~~~}}~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  3'    ' "#$!&% '( ) $b$Bbes?l$o_b$A~n3I?5Aΰb$o L1(ltLsTb$JD}-]Nd2;Fb$|2BnOf m@b$]ߊ`98OmB?[,{b$eB0(W[{MLb$Nd_5HxX.;b$_sa_:qѾ'+jc $@8:; ,pʚ;>6ʚ;g4wdwdH8ppp@ <4!d!d;%gʚ;<4dddd;%gʚ; <4BdBd;%ʚ;F X___PPT1080 ___PPT9@8n.ܘՇ\j&PNG  IHDR [AsRGBgAMA7 cHRMz&u0`:pQ<$PLTE333ff33̙3f33ff̙fffE3tRNS0J cmPPJCmp0712ZREIDATWc`dPJB#r*d16QRƉ@yc\d@ OBM]PkZ IENDB`H 0h___PPT2001D<4Xh___PPTMac11@f   hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography   ,namd$ Helvetica  ? %25ESelf-Organizing Hierarchical Routing for Scalable Ad Hoc Networking FE0, (ProblemUse of wireless devices is rapidly increasing Decentralized, self organizing systems Current ad hoc routing protocols are limited in scalability Mobility increases routing overhead Success of the protocols is challenged in large networks Need for routing protocols that scale x.'<]'.'<]  Contribution (Self-organizing hierarchical routing Proximity-based multi-level hierarchy of cells Address = concatenation of cluster ids Hybrid Routing using this hierarchy Proactive hierarchical, among cells On-demand, within cell Mapping of unique IDs to hierarchical addresses using a distributed hash tablez%/nK;O%/ %;O>S5 The Main IdeaEach node belongs to a cluster of level L, or is clusterhead (Drum) for that level Drums broadcast their existence with beacons Nodes hear beacons and Join cluster Take over drum roleTZ!Z>U  $0 {DART versus SAFARIWhat is common? Hierarchical addressing Map IDs to addresses via a hash table Difference from DART Explicit group names (instead of prefixes) Reactive Routing within same level-1 cell d>U>U  Safari Overview: HierarchyNodes organized in multi-level cells Level k cells grouped into Level k+1 cells Cells are identified by drums (= head) Automatic self-selected Drums are the backbone of the hierarchy Nodes choose a 1-level higher drum The one closest in hops%+'@$%+'? $,$ Safari Overview: RoutingeSelf-organize into clusters: Drums transmit periodic beacons Nodes keep DHTs (distr. hash tables) Look up ID of node to find its address Route towards the drum of the cell of dest. Up: Follow the reverse path of most recent beacon Down: Seek a lower-level cell s.t. dest. is its member Within: Any node in cell of dest. initiates on-demand route discoveryZ Z&Z'Z,ZZ &',vG]V-& Beaconing Protocol"Beacons help establish the drums Drums broadcast beacons periodically: Seq #, coordinate, beacon level, hop count Forwarded by all nodes within Dn hops D_n increases with n: higher level, larger cell Higher level beacons w/ lower freq. Assumes:Topology changes less frequent at higher levelzG+&T7G+  T76GL9 Clusterhead and hierarchy k-level clusterheads  rule a D_k radius area At k+1-level we have fewer clusterheads ,W.(. '6Beacons: Rules of Hierarchy (A node at level n, must have a leader at level n+1 There is no other n-level node near by There is a reason why you are at level n At least two clusters near you at level n-1,Z,Z,Eb Drum Level SelectionAlgorithm runs at each node, after each change in DART New entry or timer expiry Assure DART satisfies certain conditions If violated, change the node level appropriately Aids efficiency under dynamic changesh7)n1&7)1 & Membership AlgorithmInvoked after drum level selection Nodes choose a unique drum in 1-higher level (closest drum) Whose DART entry has not expired Then each node is assigned a coordinate, based on its drum Consider Di is a drum, L is a leaf node COORD(Di)=COORD(PARENT(Di))RAND(b) COORD(L)= COORD(PARENT(L)) Coordinate is vital in routing_Z!Z;ZhZZ2&!  0  $$((,, 004488l% The Routing Table: DARTDrum Ad Hoc Routing Table (DART) Nodes store beacons they forwarded Store: beacon contents, time_rcvd, Drum_ID A timer starts with each new entry When expired,I rethink my membership drum level selection algorithm and membership algorithm invoked!#n+#n%A!#+# %  $$Addressing -- ImplicationsCOORD(Di)=COORD(PARENT(Di))Rand(b) if b then Pr{2 nodes get same coordinate} COORD(L)= COORD(PARENT(L)) All leafs in a cell have the same coordinate Drum IDs at each level create a hierarchical address (coordinate) for each node that is a member.$0-b   + $$((,,00b44Proposed Routing Protocol[1. Proactive Inter-Cell Routing Deliver pkts from src to level-1 cell of dest Drums broadcast info to All its nodes All nodes of its sibling cells (same parent at n+1) By following the reverse path of beacons 2. On-demand (Reactive) Intra-Cell Routing Deliver pkts to final dest. within level-1 cell Via any on-demand routing protocol!GB*1W G B* $$((3,,%-#Proactive Inter-Cell RoutingEUnlike conventional clustering Clusterheads suffer bottleneck Drums need not be along the path at all Extract coordinate from pkt, Lookup DART Longest prefix matching between two coordinates Get the sequence # of the longest prefix match Compare with sequence # in pkt header If not worse, replace entry in pkt with DART infoG)0/&2G)0 /&2P R&Reactive Intra-Cell RoutingEach node, upon receiving a pkt, checks if the dest is in same level-1 cell as itself Coordinates are the same If coordinates match, use DSR within cell<V*V*,eExample #Address Resolution"Senders wish to send pkts to an ID But protocol forwards to a coordinate Map nodeID to its current coordinate Implemented like DHTs Each node inserts (ID,coordinate) pair at a set of k nodes Node reinserts whenever its coordinate changes Any node can lookup the coordinate by hashing the ID#&%nj5    $$3((,,600544>3++Address Resolution - Locality?We don t want to look up a coordinate in LA from a node in Japan! Store hash not only in random k nodes; but also in closest k nodes Insert, with i least significant coordinate components replaced by random hash value When coordinate changes in i least significant coordinates, reinsert at a subset of nodes only When A looks up B s coordinates Iteratively query all nodes at greater distancesZZ Z1PM       a$$((C,, 00144  Performance EvaluationwDn= 3 hops Transmission range = 250 m. Topology: fixed density: 50 nodes in 1000m x1000m area Mobility: random waypointR1-/-   Scalability <PDR: fraction of application layer packets successfully rcvd&=Z<$ Overhead  4Overhead asymptotically approaches a constant value.$54% Path Lengths 2Avg # of hops btwn a random src and a random dest.3Z3H   3Mobility ]1000 nodes. 95% PDR with 100% mobile nodes. Total overhead almost same as in the static case.^Z^&DHT Scalability9Avg. # of hops for all pkts to STORE a coordinate in DHT.*F:$- Conclusions Proposed routing algorithm scales well. Periodic beacons are an overhead. A lot of patch-like details create complication Beacon period Beacon forwarding Drum level selection: complicated Coordinate caching in DHTs(z]z]/!"*,.012   p $( L   r  S 0  `}   r  S 0    H  0޽h ? 33/     o (  r  S P  `}   l  C  0  X2  0@ ` X2  00 p@X2  0  P X2  0p0X2  0pX2  0@` `` X2  0 P X2  0 ` X2  0 0 X2  00 X2  0` P X2  00 X2  0  P X2  0 0P X2  0 `   <P  d  0  <` d  1  < |P 2  <  3  <  LevelH  0޽h ? fԇlr?Xh5Ts X;!( Z/ 0DTimes Pro W3h@h10DHelvetica W3h@h10 DSymbolca W3h@h      !"#$%&'()*+,-./0123456789:;<100DGaramond W3h@h10@DTimes New Roman@h10PDVerdanaw Roman@h10`DWingdingsRoman@h10pDArialngsRoman@h10DArialngsRoman@h1DArialngsRoman@h1D0000҉0 Pro W3n@h10DArial Pro W3n@h1 ` .  @n?" dd@  @@``_`7L7carbrake.wav.WAV 101026RIFF6WAVEfmt ++data6~~~~~~~~~~~~}}}}}}}{{}}}}}~~~~~~~}{{{{{{{{{}}}{{{}~}}{}}~}}}}}~~~~}}}{yxvvuusqqppnnlnnppqsssuvvuvvxxxy{{{{}~~~~}}{{{{{~~~~~}{xxyuvxy~~}}y~~~}}{~~}y}xxuxuvvvvx{yy}yyy}~~~~~yy}xvvy}sps{{qiksuqgiqsqnlqusnpsx{{{{{yy{yxqquupnglpqpnpqsusu}}xxyy{{{~}}xxyxvqpqvunnqussssssqquusvx{~~{{}{usqkipniggkpvspsvuy{xxyy{yxy}~yx{{y}}~~{uvvvxunkqunlnpquxvy}}}vvvspnklkiilpquuvxyy{yuuqppnnquvxxuvvx}~{~}}}}{xxvpknpppuuqsslinqsusssxxyx{{vqppkilngablvupq{~{y}}vyuuqlkknpnkilllklpqplnsyy{}~}~~}xuuqqnqplfffffliklsxxxxx~~~~~~{uquupigkppu{}~~~}~}}{y{~vuvqqssv~}{~}xsspifdddfkpsv{~}xuuusuuuusvxvvxy}~~yuqifdddbaabfa^_abadfflkklsxvx~~~}}{yyvuvvvyyvvx{xyslgbgb_d_bilqy~~}{sv~}{x~~}vqqux{yxx~~}~~y}qx}sxx}yussx{{vxvupgdfkd__^ZZaa_aaZZ\W_bgbbgillns{{}y~ygabi\TTOPGGJKH=CC;CMJ>@HO^^_nqv~{{vvysnklqnfgpvniv{ulnspspgfnvqgilxyupquyysllpnklqvspsyyv{}~~xx~xxuq}qgkpxskkpqlillniggglibb_bfipppuy~~}~{xsv{xvy{}}~{~}yxvvpkilpnigdgkgd__gkkkfdfinnllkpnsvusy~~y}~{}upkklklklnqslllnnkkkidadiib\_dfiiiinvuxxyxx~{xxupipnfifdggfaffgipliiiffafddglgknpv~~unkpvysx~}~~~}{y}{nglsupnsv{{{{{{{~~yx{yxqquvyxuqqy}upqnvvx~}yyvvspxypqs{yi\^^YWPJKKMTY\^Z^ipssxqpuuusuppu{up~x~uǦqx}s^HCUP=..33+"!01+)18>JOT_nsu¾}vlf_UTWRJGJMTWRORY\UUYW^a^^bilkfadluqnusv{{xpifksld_fg\RRYbdWT^inliabgkgffdkibiqvqsx}~qnxsd\lvnYTagaYPUa^WMMRMKKPTRUW\_Yaknnls~xvy}}pilppkbdbZUZ^ZWUYZ^_a\^bdknlllqyyy}vvvqifadZY\UZURUTRYU\\UTW_d_\abipsx}}{v}}xpsxqukbgl_bgnigqqnnkflvg_d_dkdZUgyndaluliianxunpx˹ǵǾqqd_UOKC90=;03>CCJRUZYUP__UTgidpx{vx}{~}xnuuҸxdRRJ9,&!  '>;=Tlvxý½yppsxgUWWYMB=BRYTC66EJKKMMRWaa\\bgldZdqx{vv{nZ^lkWKHKJCB813==9CHC>BUYPRfnkq»{vxy{l\dnliffbgfWMMR\\Y\\^TR\dbZdqplv}{nyssy}~~}{~vquyvvuqusligZPRYUKHPWYY\abkilsux~xpuupnxqqnnnpnqkdaYWWPKKORYWZ\^^iknyua\nxupv~vy~}xgiqpkddffkiinnk_fnnq^ZnyibqsvyŶxnlvpfTKO^_WY\W\^^\\\ZW\^RP^b\WYadbbd_bigdk}~^vȶxffu_E835, '+!$9MRWdxyx~Խ~sx{xnggdWPPPH@GJHKRMGMWfaKRi~xbd{~ln¹¹}~{lbpqdRKOMC86335056BJGEG^pxux~~Ŷ}~~yps}yv~~}xu{upgbdb_\Z^ZY^bdpuu~xss~}xxv}~}vupkgaWTY_YMMZddY\gsxsu~}{~xy}xqqpvxsslpslinlafffnifpx}}~qdikbZUZYa_\inffsvssllpi_\iaMKYkpgTY~basöŽ»pn{udWOR_bJ;COYYPMMKC@MKEG;BPROU\_by}pxʾn\YOB60,$ !.8EPZdyʾy~{xuqlZOOCCORMG9=JKGJKMask^^daap}ó}x{yqy}qdWKEYRJY_TJPWRPWYafdb^anlgu~}yv{x{pln_R_iliaggafffgfblqllns{vpivui_^bg_Ublfb_ipkki_bfpnggip~}xnillf\YUJJKMPU_ag_^gu~~lfu{lTRlxiUECOYE>GGHKEMMZbZds}{Ǿugpyssifvsdddf__^^ZREMYTJGC_kPMi{kks{\yҾ}ugUEEH>'$')"'55,1=HHHKM\kx~}y~skia\adUM\YYgZEM_iaKJk~y{}gZZaaZR\b_ZZaafpkZbkgddY\nvvu~vnxy~~~ndgkknkpnklxskfkvpgfggUYssgiks}x~vy{~vy~~}npuyqlnsy}sknp}{qx}~vy~xpuxvqkqpgbbgngggkpqx{~{yupqqkad\TROUUMPRT_fZOYdspiny~lWWsbMGYqkWPTUWYZTHR\\HEWfnYRuxg{°qupaWMG8+6$"+'0356BH@CMUMUpq{xy}vxu~~silZEGOYUTYOdx{}x~y~vvxq\TfdZZ\nuigkpnnqvyyuux{v{uv}}upx~sdp{xvvnyyvqik}vbsxipubv~ysy~{{uvuq}uxuux{y}x{up{~vpqspkkllnssgW^bgqpqvu{~~yniys^JGbqaP56^iH@Y^xx~~xiuuiakqxsdgnuviTYbquiWUfZYqu^Yfafyv\iäŮͳusbldTEGE55@RUWYWTfu}qadikpdYdq_dynfnuqpk\gns~{sknvya\nnfg_akd^\ik_p{}}}y½ydfs~{nUTppbYYgnlkqpiluqvqxysyxpvy{ysl}{~vysilk_glgsuiu{plpngkpnqplpkbYTbiuqs}ys}xs{qsnklYPOfsZWdlxvi{{}{}un~{slv~qysnu}}gZ}~kqn~{pnqf_Zpxvvfv~~sY_qiRPZ\da\\\Pp}{uu}pq}}pu^aqsuniy~vs}i{~q{y~{~}}nknplld_Y^gb^Zdqv}~}{}{}y~~yxxnqkq~xx~y{yxv~y~qlxqlg_ax{snki{{}xx}sy}{ylgy}}{}~xss_lpgbZbiuulpsp}}y~svyganuyp\^pvsigu~svyv{~~vplqubqvu}pdnqs~~uvq^p{~ilqyub^fvsd\\\b_PHOTHYpsl^f{sbnvv}}ifdaaiiWbqsqlku{{qx{{v}vy{vuqdknvupqxux~~~{}{qpux{vsuqqssvu{uxyx{{vx}{}}yy}{}{vxvxsvuqqkinnkkisyvv}yvxxsnnspnqsxvuux}~}}~}~~xx{}~xnnquxvppssu{}y~~xux}}yx}~}~yxy~yyxpsvxxuqs{~}yyvyvkiffgfgiiikkfilkfkpy}}y{yuuvqlgiiggkklqpqsvxysv{{xpgkqsqvvvvsspqxx{uuy{sssp}gZ_dp{us}upk^RKd}sgvk\^ny~}qdbix~fPCMfsuslbpii\M{ykYa}dvTa}^g~lGba;>UnlkKO^{kP^akv\9HfOTlqE;C=\{G^g{bGZ¬nPikPTqUs{aTUl{¸W>KaMTx>G;Kg80TpxB)KuyqdPZxǕuglp§TllE09O^uqlfG3K^Ug}ǸsPWlZCRgvö}^PW\UbpsWWYC>Kas~W=EEqff͹bn_qTHbg_M_qxT61Hfvp”RfC6U{i^~xJKk_@CZl}ùZ^}RBRfyçisZ@Jf}xծqxiCYuP6Jlg9UxuiqbJ3HgaWk¹laidsyǹvdB)!&3WZYu~}bJ95EgZWvŹqdvbGBKi}kK@RM}vnŗ{uJYqG9K\{qgT89TRMdy~pgZGEUZkԾuB1B@asWPl\=GRig\nZJpuTERk}˸nYsg@3CayybusP9CHsv{ʶnvJ{q{R>;pKsŦv9Yl_HuGRvKYOJlplvnl_dvˍWpȩlC\xvu^d}qBHOidKJi}\ulgig~{ȳpCun\~}BWuC.Ck;=ZsG8Osn{xu}pOdbORflyfYYaZ356J_lûlMbWTduxȾ—_iROHRi}Ƚ~\dC^i^Y_Uiudzd_qu;66^~k\_y~TGGkd=)9TgžԽuEpgOTp˅Z~ÙWbZ6'1JfffJ9Jb{}b;=gpunnű_g}kKP^x͵ulxiZJ;KTp{ňxqC>;~Y5JJ~guJ+ig>HCT@avԅ{¬sskPUqʾa@6=BZixŸ{~d85KaGK^vxsPEgyPZvжiO059GZZp~ylaM+$>Uk}ŤsiPaladsŬf8CKWaB;MfnqfE3=EYbp~dBETqg_sň~yf\p}as{lR;;TTMZllM'.ZYBHT}yY@W\uv϶fBOYYJ\}\Wnu}__E8Jbu}ŮRPygOfKKgyȱgU\bp^yqB58KGMbyvP;MWnYnǜU=BaaPbpYlO!)d}=MfnHGYfϧY{vM9\E\l{WniYaPa\}xM$MiEyuygȳqdH6Gqbu}xUq96TE.Rbf{Y}Zq\u~paqv_CCUnfaTi}T9HxTgg{Ȟ\dslnU{MdxgÏOWx_{iuikRk}gOWYWqsq^=8EiMps>anU9,6Zk±^^vsxnRKfy¦lMi{d\U@0JbubJqvkxb@@OWZW}s{q~\H{yUdpWMixMPOgiJsK>Zn_}yklYabZvs_ZYH\i_k{~nP6=U}}{l~dGG_yxbõu~M=Yn{pyqZaY66G\{}qiaM>Rk{NJUg}vfW@.3C^fslkgfGuWfUlx˙ͱsUa_;>Pndsg}lYWORCayvv}dOK>Rafq©ldvaREKdp~Ⱦ_ygRKH__dxld{vnqgUEgYlaagYJnu\9OTCfyf~fdf{»n_RW_Z6EEJ_p}xkG=;ffšpB+B}saZsŸ_5PlifRdyl6=yJKWky˻qU8UpPWf{¹xfO3+@TbqvxlaJ15Rnd_{öǹ^OTubxyyʳ~l\C6Kpqu\vnW.3lkZbv~ydC5T}YpqP3@Zx^pq}siG&.E^}p}«~pMRl{GWs٦\Yqf^ZfsxJ'GM_Wql{\36q~iTiʻfH1B\p\~ùg@,;TgPl{xkM,Gi\Y{axqqqfa\T^YivkWaUluagyukf~ulUKp{ZniYKbyqHRKJguxfdaUUWb~~yypyqiYKPduödi_^^b_U_snO@EUku}~kM39;GWiuvdHUTYalpȹlHGd^\dx~kE&B}fRMkxkM9Epgký}pdYB8P~lfЩpdWG05O{abangM,Bsa^uȻxy~ZHP~kMTn~ëvv_9)dfasufuеqyRE_nxqdP8Eqgf{{gOHWYTkxq_WkgdxsisZnpfanl{{qkUkifk{g^}xqnbi\u~nHn{l\qu}u}xP@y~viuxsgqqvkuY@HKduǾ}KOk}_\TWguaYUnsOH{gffds{¤vxpfvZ\{ngbPHdqvxvd_xukWp{susdU\_RRqpdKOfÊi{iY9O}u{v}f{pW@@\lynvxupx~n@6RsUugdUWa{vß}vuO~\akg_lDZgg1Ex}KOqxuM@akx\qaa~lPYfU\v}y~}qakMPq{d_Wp}~iYksg\y{}6@s>>bqG_lqunTkp^kayaqqluvf^Tisvdqn~xiskZHk^vx}~vbqlWqq~_~qdqqaGaivn_RY^b=WiUpiR_\MYxyqgxxvuffuJBPng~Z~^8=\{{l~âuqqlkxfqqqlbqgxuu~~Zinfgdlvl{suvvsyP>;bs\ya}ZZbb^qRdyKBv{~}x{GM{kqZuf^TGEkki~xnfsMavU\yZM{palÏ_pdx~qUUdbf}~~y{udMs~dx{}}du}yxsbPfq}}ngxklnRJR{iRk}nBa{vYpWnubk_^ypk{}{i{qdvy{vfYWR~k}U5Znsxp}udapx{~~}qgfyxKTxk~uRanPOguJOdbnx}iWpuqZ_fu^~}i}sgki_pykslxuqpkxaas^\sxud_x~vW~_i{~pgxq\JZf\PqxRbqunWkiyknvsugW_vksn}{pklppa}qWf~ukGYfkdppfUk^\pnxq@;xdYvunnd\pqxsfU{qndssqyvZpvyybkkpkgau{v}xlbMCT_gppq~}\UnfYi{~}bZsnZWxiukdy{~fJasukJZbnd~qYkifi{\K^uxubTk~p\kklPJabaxaf{~~svUv{ZWis{plu~bCJ_nnvflfdv{}gM^}u}}x{~}uyWHE}xd~ZEMg}xk>B}nqupgsMnMRkskn}s_R9=OZ_\usgKJnsanfiJYdgT\Wkv~p^^lu~qkU>BP\gnivvnl^PEYddid_g~vp}x~ZRfvpsu~usvRkTP^isuiv˩yy~qgWEZba_uqfdibTEPguȰ}nqZCBWgvͶnkavYKT^yuȫfPp{kigqlq{iy^OUUfv{sTTdaUdqk^KRTn~î}lsTfxsYp{Y_{^EUWUi{uvg}d^Ydin{n_KP^iRav~udRZibi}sifaUHZnba~kTPnpy~_x\yORviYsx^YfygZf}nx}pgZP_q~nxlda\KHWgxknibfdbuydO~~iZi~nkZs{vqYan{}pdROfkxk~nPZuynl}y}v_aRYlyixq^pyU_gYiy^nqaf}_Y{WYg^\~U^pggaUssYl^Zq{fl}a^p{fx^Zni\y\Raxy_yyPTklnaTp{snZuvaxv_dysykgxy~ub\bsup~{niuylnpiqn}sb_n{qsysunvy}xp{{~~ldiky~y}kfnqqynpu{lbgy{s}kgvxp}}llpqx{lfgq{yuxyx{{qpu{vnv}skuy~vp{~vsqnv~vvssqv~y{unqyx{ss}}plv}pluy~yy}xllv}}xsss{vnqyyuux{yy{ysy}~}}yy~{vsqqsx~xxy~xqqx}xy}uppy~xsv{uv}{y{}y}~~~~{y~~yxy}~}}~~{{~{{~{xy}~~{vvy~}xy{{}~}}yxxy~yvy~}{y{{yy}~~~}{}~~~{yx{~yy{}~}{{{~~{{}~{}~~~~~~~~}}{{~~~~~}}}~~}{}~}{}~~~~}~~~}~~~~~{yy}~~~~}~~~}~~~~~}}}~~~~}}~~}}}~~~~}~~}~~~~~~~~~~~~~~~~~~~~}~~~~}~~~~~~~~~~~~~}}~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  3'    ' "#$!&% '( ) $b$Bbes?l$o_b$A~n3I?5Aΰb$o L1(ltLsTb$JD}-]Nd2;Fb$|2BnOf m@b$]ߊ`98OmB?[,{b$eB0(W[{MLb$Nd_5HxX.;b$_sa_:qѾ'+jc $@8:; ,pʚ;>6ʚ;g4wdwdH8ppp@ <4!d!d;%gʚ;<4dddd;%gʚ; <4BdBd;%ʚ;F X___PPT1080 ___PPT9@8n.ܘՇ\j&PNG  IHDR [AsRGBgAMA7 cHRMz&u0`:pQ<$PLTE333ff33̙3f33ff̙fffE3tRNS0J cmPPJCmp0712ZREIDATWc`dPJB#r*d16QRƉ@yc\d@ OBM]PkZ IENDB`H 0h___PPT2001D<4Xh___PPTMac11@f   hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography    hnamd` Arial&Monotype Typography   ,namd$ Helvetica  ? %25ESelf-Organizing Hierarchical Routing for Scalable Ad Hoc Networking FE0, (ProblemUse of wireless devices is rapidly increasing Decentralized, self organizing systems Current ad hoc routing protocols are limited in scalability Mobility increases routing overhead Success of the protocols is challenged in large networks Need for routing protocols that scale x.'<]'.'<]  Contribution (Self-organizing hierarchical routing Proximity-based multi-level hierarchy of cells Address = concatenation of cluster ids Hybrid Routing using this hierarchy Proactive hierarchical, among cells On-demand, within cell Mapping of unique IDs to hierarchical addresses using a distributed hash tablez%/nK;O%/ %;O>S5 The Main IdeaEach node belongs to a cluster of level L, or is clusterhead (Drum) for that level Drums broadcast their existence with beacons Nodes hear beacons and Join cluster Take over drum roleTZ!Z>U  $0 {DART versus SAFARIWhat is common? Hierarchical addressing Map IDs to addresses via a hash table Difference from DART Explicit group names (instead of prefixes) Reactive Routing within same level-1 cell d>U>U  Safari Overview: HierarchyNodes organized in multi-level cells Level k cells grouped into Level k+1 cells Cells are identified by drums (= head) Automatic self-selected Drums are the backbone of the hierarchy Nodes choose a 1-level higher drum The one closest in hops%+'@$%+'? $,$ Safari Overview: RoutingeSelf-organize into clusters: Drums transmit periodic beacons Nodes keep DHTs (distr. hash tables) Look up ID of node to find its address Route towards the drum of the cell of dest. Up: Follow the reverse path of most recent beacon Down: Seek a lower-level cell s.t. dest. is its member Within: Any node in cell of dest. initiates on-demand route discoveryZ Z&Z'Z,ZZ &',vG]V-& Beaconing Protocol"Beacons help establish the drums Drums broadcast beacons periodically: Seq #, coordinate, beacon level, hop count Forwarded by all nodes within Dn hops D_n increases with n: higher level, larger cell Higher level beacons w/ lower freq. Assumes:Topology changes less frequent at higher levelzG+&T7G+  T76GL9 Clusterhead and hierarchy k-level clusterheads  rule a D_k radius area At k+1-level we have fewer clusterheads ,W.(. '6Beacons: Rules of Hierarchy (A node at level n, must have a leader at level n+1 There is no other n-level node near by There is a reason why you are at level n At least two clusters near you at level n-1,Z,Z,Eb Drum Level SelectionAlgorithm runs at each node, after each change in DART New entry or timer expiry Assure DART satisfies certain conditions If violated, change the node level appropriately Aids efficiency under dynamic changesh7)n1&7)1 & Membership AlgorithmInvoked after drum level selection Nodes choose a unique drum in 1-higher level (closest drum) Whose DART entry has not expired Then each node is assigned a coordinate, based on its drum Consider Di is a drum, L is a leaf node COORD(Di)=COORD(PARENT(Di))RAND(b) COORD(L)= COORD(PARENT(L)) Coordinate is vital in routing_Z!Z;ZhZZ2&!  0  $$((,, 004488l% The Routing Table: DARTDrum Ad Hoc Routing Table (DART) Nodes store beacons they forwarded Store: beacon contents, time_rcvd, Drum_ID A timer starts with each new entry When expired,I rethink my membership drum level selection algorithm and membership algorithm invoked!#n+#n%A!#+# %  $$Addressing -- ImplicationsCOORD(Di)=COORD(PARENT(Di))Rand(b) if b then Pr{2 nodes get same coordinate} COORD(L)= COORD(PARENT(L)) All leafs in a cell have the same coordinate Drum IDs at each level create a hierarchical address (coordinate) for each node that is a member.$0-b   + $$((,,00b44Proposed Routing Protocol[1. Proactive Inter-Cell Routing Deliver pkts from src to level-1 cell of dest Drums broadcast info to All its nodes All nodes of its sibling cells (same parent at n+1) By following the reverse path of beacons 2. On-demand (Reactive) Intra-Cell Routing Deliver pkts to final dest. within level-1 cell Via any on-demand routing protocol!GB*1W G B* $$((3,,%-#Proactive Inter-Cell RoutingEUnlike conventional clustering Clusterheads suffer bottleneck Drums need not be along the path at all Extract coordinate from pkt, Lookup DART Longest prefix matching between two coordinates Get the sequence # of the longest prefix match Compare with sequence # in pkt header If not worse, replace entry in pkt with DART infoG)0/&2G)0 /&2P R&Reactive Intra-Cell RoutingEach node, upon receiving a pkt, checks if the dest is in same level-1 cell as itself Coordinates are the same If coordinates match, use DSR within cell<V*V*,eExample #Address Resolution"Senders wish to send pkts to an ID But protocol forwards to a coordinate Map nodeID to its current coordinate Implemented like DHTs Each node inserts (ID,coordinate) pair at a set of k nodes Node reinserts whenever its coordinate changes Any node can lookup the coordinate by hashing the ID#&%nj5    $$3((,,600544>3++Address Resolution - Locality?We don t want to look up a coordinate in LA from a node in Japan! Store hash not only in random k nodes; but also in closest k nodes Insert, with i least significant coordinate components replaced by random hash value When coordinate changes in i least significant coordinates, reinsert at a subset of nodes only When A looks up B s coordinates Iteratively query all nodes at greater distancesZZ Z1PM       a$$((C,, 00144  Performance EvaluationwDn= 3 hops Transmission range = 250 m. Topology: fixed density: 50 nodes in 1000m x1000m area Mobility: random waypointR1-/-   Scalability <PDR: fraction of application layer packets successfully rcvd&=Z<$ Overhead  4Overhead asymptotically approaches a constant value.$54% Path Lengths 2Avg # of hops btwn a random src and a random dest.3Z3H   3Mobility ]1000 nodes. 95% PDR with 100% mobile nodes. Total overhead almost same as in the static case.^Z^&DHT Scalability9Avg. # of hops for all pkts to STORE a coordinate in DHT.*F:$- Conclusions Proposed routing algorithm scales well. Periodic beacons are an overhead. A lot of patch-like details create complication Beacon period Beacon forwarding Drum level selection: complicated Coordinate caching in DHTs(z]z]/!"*,.012 rs h;_