ࡱ> qnopF*Nт۳ Y*JFIF`WANG2 CREATOR: XV Version 3.10a Rev: 12/29/94 (PNG patch 1.2) Quality = 75, Smoothing = 0 C    $.' ",#(7),01444'9=82<.342 i }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz?Ѷm:LREQEQE܍L-QMM/L3NQLy5=XMqq' X?|%bVX?|# rgK6 ¢G4'  ͷy!HAx"I9ϙ6kR,cT]cnAJ,1Ymi鷾lFƻcTQ = *HVA\RqIQӬY!/PdJA5o:MfӮ+u~$=kwkV/nF )s4ޚcS.* |WB襎Xuu# ԔQEQEQEQEQERQEQKEQEQEQEQEQE! s[څF@3ɯWNjˢ^L|9M$K^ៀk3ϖzk <9SI 9MvQQ5EQ( s2f&K>ҷTr rEr4_^Z fmX6%2J:״+2#"z6ycOh[jtj?k:"ߺox~4Etrkc9unp?*xE2q(@¹:mkrQy"jo⻟@#mOS^V~iVQ@qL4H/`[$6+3Q4Z&K(f ܼu~$*inֳu5!a? H4(r%4xNt5]>34ף2K]6Pۆmkw:FCoT4gr=+pjxU ?*? 6#^%1׬xR.4EB2Mp+*Q GtR1G,O#c ¾CQ>'%7A|XQkpf=6V%*E|.'PӭnapTs򯡭mm*U=MZxA)@-nI#+ſ 5 3M-sj"X S<'K]l 2E} 7ɝb }* -QEQEQEQEQEQEQEQEQEQEQHzkM+̲(rs_9ǚߍ/v4 8?`{}м/xr R%hw2Xڤvq 'sIK5FH6*? h^'RW!~VV+|-]E1&=mR5E(WcIh/޵? $ 6%ٌD}*Oxz/ecm:r1{׿ibL$J +ʾngC^5TWxݲSRJ'K?4b\۵} {-GCӂ fAWVj]/ڍ66~5|;:3I+:Mg3sonMڑ׌pmoZq\\JҊJul&]!qYfXSpѱ#XHG*9,/_In|^ xs_nFJk< 1i }­u-%!J(((((((((()@Ҽ[/;Lr(9 4sZKoF7}31uy2^: ڕWnaZQ^cxZC5 #{y~hq4n٬|\qҾw+M\S ⾗VWPAdyYzݨom2W+/jZ]QX(uiؽ*иL ̺ cg+0$5~{y Oz'58𽿊=qg"5Ah xxKIJxgX-}_5b:aՁR2=k>3,>p%F>Z|%`4 ָd ƼoZ?!62GAaKM m^Sy>w ѥHc]Er3 7w{pCQO^:ϊ5+^M>/0dtm졊_:UP}kGc4; rTaG"y #gdJ<UmY_Mcźglub@~e5QEQEQEQEQEQEQEQEQEQTyG c+築?Z]+CdI0<ҹ_;|ev;0ْgJc|3`}G+TA'.xͯkHۡDoG9h$<+q;(P9$N/\jVf;N/zNWUC۹\U#+7^O|S tqGnk`Mn$#pZOKi V׊m*(/. 0ֹ/2ҼW($^IPbxcږi>%ɶ&|xᯌ5kUKłMqs^yYV5@ 1׼[Y4rVQ7c!ul)?_TcYۅ%\~:QLwTFf` OJoֱI}M{4<9[i n u5cmj6ڎ!Jx|H|\ RyWDktG2^5 j:,k ,с+t_[.2A4M 6(VE"'EQEQEQEQEQEQEQEQETI.%_ďW$M7Nш$dsĒǩjHir_Iime)HEhqA/jmnOGc/Դ<hM ނo豓yBU5ɏ31oՎfV7 4L:ҴW?&owSђ E|cZtMnTNA_FitW$jq*ʹwVA.J:=NgúLq9,qQ?P)䢂IP=jڥ􂩟9n>2<xӓŚ [fufwI?-AZ r#XڃW7xcKuK۸CMlۑȮc-yŏp#9S{xP?ɯl"F5u'/ v Si^ɵCv7G$;hZY3tg'WUËXıj 2y]k"d=W?~!YRi_x-QEQEQEQEQEQEQEQEV+hi$H2OJĩCw.R3`>|/_T)`*>}'imvGP8W;yhPy o#I]G{k%˺9)5ZvSO^ZIc#]W¦r~lk-;6ifx*e7EWv]wJmcJNNVF@kZ,g&YFI5*F bczou(UUk>9Xh]:\o];I"~|G՜5+১Vu1;ո~ig៼9?_?AQyWj{|j|Fmu˸{U)>xMoxWQ;3?5Vm>4jk<@}E?һⷅu;ՂCq]ݽbKyD=5ltV>{e,S"-mo 5"ws)נs66g+cw>0Ք~[ts./ ߵaש5R2[A!yz54k.xMP\%` #_zr=ih((((((()ŘI=oyt-&l@HJ]l?j xE$U\|qikCPbWMq'Éj]#4NUМ0?Jk6:=7w1ƈ3 7ѧvhaֿ|su=^OX8~wpk>LBVJ5k51x퍬.+on<;Isr"f[>2ibŚt|0+i+6yzyjsJѰSWjռ5OFBmZkTExr.b xVγa+ح-" (UQLu m6K(MxcǖX+CYaxn7ۻRpG;źd*#k;Pռ P4St9WEb^6yv^4jvu2W`: Z(#{Zi=C[xDbPng5-B)μTQv j2Ǵ V|;r{[xKKv?ZmB.-fIbq)Yx $QeB"Ny-*[ǜk&Ծ+kei-?t+Yxke孔A#D k7'|}us:Hϧ^t/hOhf");s׵E4w,0daa^Ucz&a]B >7o<-@[d5}gjvƟ C iEQEQEQEQEQEQEQA\|UoMk\y"%'MFR}p3_Wx3С X֝a][NpvƤ?GS-k)m.Y!qiMgƫ.M*M?ƻ߃VΟ& f2r^8mj;\_؆kHzG_ʽӌgj6]^Lă%׊jF7IvKZC_k5?wr8ׅEp~;e2u'A\1)xOvmq^[ë~ex!;H6yG>64=Bb-?,~( QEQEQEQEQEQEQET,$N)UWcelB}kվ t-uP-{;tƋ[]_HLVk,q^OA9mm2yS]+?R-uk)m/"YaU|  5'KM'=Sǚd6̻nf샽z<e8E.fiRkK~(3p>T,k?|]9B7 ? _K͒X@||konfQOݦm97$}szP !x6UK(sYk C\\n>|Q}lBMGQף 59j4 㷒:v ?Wc]FCQ^y^yOxYG\֦Mrpj# BےU-x1oK"_\wqDeQɌ4RZσ|U%,,pƀҼCڼ/Ֆf ~t.g^<ϳ lo/m|95M( | [_ ev/3LܜoKQk]: 6a <]K"RH=kt5K lPZVƛrq a 8+WŚ LRosGu &hyCjMT^/Zkvicf?vOŲxwB֙7ן5 NwjW_;uJ%vEx-rY3<֨'d3EX: }S!8ߎi~EaԠ>~7\S:W|]ާ}&Ny3e#'"+^0l>6X4Y=֡r  ~'x#ðJv^=/ÏKPcS m+~(x:?jcYlr}x)ܲ }}yaAYCwT UҊ((((((+?SMn/ep…M|}}f>-nvM/^3_M;~1;y[kc:s UI=Myx#Ŗ7(;3;RxŖקMfϛIpzޥkdrSE"vq^[=JӮ6ڽ2AJqO3_^:F XWiVgW7ţ߻ ^img[Ek(EV^Mze!#0 s6UI֋ˤOBӚ]kD3ۈ|C:/DRk !7?fn/dDu x'Ě*3(2޽VWW+o>&_~U/.'7:&n?y]~i^{URh>QTGV-nzQ1yfdGkz(u+s~*_vZ1j#[f;vX:Ljt.|< tq3zwzrּMߋ>(}X-V[DqJG&| r+>Q%eP1jk^:&uKhktrp8VW~ݦs&f((((((+ž;;HMLMs̀\? k {O}>v^mmحTVC7e^Mж:vuj.-2F E<|?eˋ-6dl4,zUi_j`;r {W=sV<o4f6M"9x Az$#FrTJox [٣ҭ+oz֑i}{oy6rYi#{ƛnEBKWm_^7G'oagmuM 89>DvO F+f?d/Ү^T]cP_WWk:**yoa^ QM.IB[۞ M{-EtH֬69Q0S}k%BH-,,dAֻxŚ$w! X5*") ⻋%9{ 3';Ew𭷄? 4c'dҞE|;tgz*Vg%Ք4L35DƓ,;Gn=+%_QU4]f8U#=E'҉C&Q^ڕ9o5 Qx87ľ#ƻ0Ѯam)Z7enດw? ~2k,o-ﬡ*R 6->."VI>(oheT$^?,M;I,Y#A]Ox~oQrbg^ooa!Qs1Vy]h@;5zKíLhp3W@(((((;W^~ Tkݧ5 |: "n_[*(*N:dSrsw a|z0kzkP)+wc j/kiu,Mz~>$&pAjτ~Q~Ɉ8=kXeX~j> oI$:5Ǽ^)vi5Myxwz&c]-n[|n6{\/&aBB=Hz$Y۴Hkbz X Yz'~G3$2s[KGtE+s=V#EyKu$W"P$ՏbToTsФ ߻aSGҵQel?rLӴ֯Nb? 鱎_Nv%_4ؚ- t\*1f{!{?LXՏirkǩ&vgZ4>yMr@C]Ay4Z>ﬥVGySW"w0Ĩ6[hk1dV81!QߏtZ_5/j knLH-8"^W%e#K(фF}%Cj񯆡O,Am-w \?Kg4\g"HhڂF"cĖߠndӝ*_ ƕzy|358q8WXZKs1csjfk1Z˾\wſsw4qn<Wďː]4((((((ȯ~<{XV˒]R꒡ܷԵ-A46_ #ֲ-o1@Uw n~{Qǵ~=-<3b |ώ벽7&!Tu5kWpxn.$A+حn`gD6 "J,(WzbG?`Yrl)e2Mx_O{ wO by^XxCL /v5q+[98Y~ /GN q]ei/)*?xu';xl攅 I^T|7 D1f}9 "{q^Vw,-C&@$WTkAhV׿h7Q>S3}\qkKm:[$1.I'mͦY6UP*;Wf&0Vms[Iӄs;Ivt71=OL,ed0 SE⏴[B~A蠚'Stom\4R`G8{z֯cv0tP`ڇ CF9ci յQjr#$g> ^&ݶ*A?<9;SlOWZ:k |'2c`2]<][:"NNϯJF>'jwTbdcJZ }+w^~H"81Iף\4|5{Tm#_UxXMw}X+((((({tvS9ƌğa_2Ɠ6Kg_^xgLO21!u gqt.Akw|7Ϧ]m/<,::g~h4&m%aҺ~(xk"[ubGL}+o̺,&7OjZZ//@=)9תM㒅8Y/qs\<xɺPa$AcO5$o[hsK/$.z2[r|yZ~+x]>)j7ggAx" i+5n$#VW0oåj*lH77/^ Ct9t_|Ga#}?k?ɑ_Z]#DAw+WVZ%׊_ 0zQ⻏j;TcҺxW^*Ok?-Nr[WuԺ圂n<;x#7EƯoho4Oפ͢xFfc$W1O~$6icbGZkZƐuy9*IT o h;+!\>2hZeÍ0q,uO4%hB:W7xO[8O/8HsM?H!FyW>> o>O 9A^Z0Ad\V Iq3Xx^cpV~:f/[rZωP}Α>Y+!c!|Wզ6C=@)8Eb{Ӊ:lrzҮ~am3!Ҋ(((((;W SV]#n_<%=) uvG?6@h~+>WYSOgWxh63i,:\3_AVKaZ"E? ڃ:bKO 2^[gHm`|s^p4_|D?M?MȀFp\d^ii:jZķ ~3\Kf|c]p‰EgP3X$ sN,jpsڼᖉ?YRG]7Voi887z.j=SF"⧃naDwVH|gz~G]qOV.{MgVY Zb8'ں1rV&uuv>bȥȮG)>κ 'A_?WIc\+a׺!k3-.Ogm/ XG,5tWK4p^GTP9,p+>!i_c_<}ki#TϨ!=sR J,>&h h(O#41*i\j|#h|,{)7fH¬CK<w5~2xj-gmoRO_ŤwSr c"/x'9 :g-OW{cvZb%B+_Km+~Cgۏ]d-!a¾9wQ| n5 yzd5}?zYMRg^pȬ"4Ka!w}kh&}-@9eɮុ/eLA?Ȯƚ%V"ϭpƋw:/%-u h֟'R=4j~ĖX[lW :j7V0_3>3Z.~!x Z[wH98ֽ+V#4 s^;*]D,:׹+Fu4\<-xՉ+5!NJJKwbo-4F܋z{ױk"/6R(_j._[C 2Fps\2ַ$<s槬$ 7@.HX5T[լfᢶm Wfuow-lFckc$sϪ1777kM͌m9]L^H@XmUyo|cOMw kgivpo[x\5Xƪ}gO e{-]lF_h}(=+E}i|C! 9gְu?M񞋪rZZkmb:|$~5ƟHGae(J|Cڴq[Of?o/.bU x{u+ ϮYC= ƣ<'}eiMRqXc3V]Fw[|qsZ~jFDxf_ƻQR{ K]o$.]hlC_ײl*0BY:|?VCd2|J%w2 Cl/SPXDW`;א3;/W&;RW.ZҊ(#}3vczWkVڷkvϦ6d3Wg4, }*ޟ=LU[m6qܦMjX]B"AYAk;kUD=@}寏:x*OI$׭|&&*(((((V <&,_s('}[@ +ɭjGNh.%&GpHֶ<j\w:%ܗ+k)sI{Q7Z߇NםKzgXXm1)obkpX ]7Qeq `oEݤcuxiö pť0%#j4 ~`n-bF4 ?SL46GEe#FA?Ox]ktGF03^-'$=X6*Ww4:\N]q?V!Q}*iffvZFWڹ/Bκ (#LAwn"ZRzW|OHH FT)ָ C㟉/1٪[„?G?B@j(]T8;Nq^&7ާ'^0á{X״]?R1 gV gmD\&~aڕp}___񭶏ak s-ܻ0thpZd=xIs^EQEQEQEQEQT'1 6`x|ů_i٨K8#QW|{eMJb@In;] ;/ʚ?UKIMJطt@J#Xy5@kx#1so@!A5'孚H(,~_ c }*x>ɩ]%ˮ'r? ZytZOl[Kp~ +_o)-ZR.bŝٷq9>"i{!i{\cQې> Ȭhb!\v<W"tmƖ'k'V{--Լ~VKn/n)cR:&p-杇ʋް'sɫf6ZW{yLTqNԾ%\i#%u/ @ ^c,Xy91S+]F!Zf Y*-IA|u ݵw pqZGXլ@p=EYv_Gko9!PxSҼKkxLK8dY𷇾xqVC{kup:!'v‚8KdU* q?‘HPژ~*xETy{"֎m+ReKApP9t;1ιoN:4vc&s9+L-gW]B8ܟ¼Tx|%!oN-kʷfb[yzcpuO]Y^Ǧ&-\O+~:Ϣ%4c<r8p5;d {eku^>+)Ͻm?oJCs*ך(}kmѫzkh}Nq9ʻ5H^EQEQEQEQEQYz>5} /t{bYg k=Yi UpdE|}Fhn]O`븏_ᶳ]cJ!km5ŶE9#\U*+ {-4WxOZf]>_¼ ߎ:̬ ~D׼y)kd1z5?4Iav֤Vgw{{Zܐ; ʒjNw-q`p \gl#݆FbA OR?:jI{-A~&k5[y#0u,$cH]mVjpN%aj};z[!x;~ė c03of1+(՗崻no5IE61Ut[MSM2I ]^0*Oxm`uijey4KN:H85ھ}iq{B_'yŚ ]>w_QBkY.KAk<()ҡt,+h-l0e@**c6x:C'4W '>0k}&5KZWg[klcm#ci'EtT(?j|5X|rndB- T]ڶZl"P8~n%wd8x/tM2OJJt#T hœ85l^'>it?Q^X*HG<:'Yg"^]}XGѣm='+OuI5G@9et}+>>6k5Ze,OWxƱ<,pRMq%cSr׾1#1+׮bZmD)ɵWX7𯞙wcZSOM,H0H@NL1JFU8k ҷAں}n1LH5(Q+!Tui8Ȳ?V#vB3A1sJ|9g^^E}]׃|l֯t/iW#>Kḳ~_ t?-pan᫧mATsَ+zZn/|Ă㬨< 9qWoP?#Hʺ#)dW#xC՝/٧<`;Nk ìFվn~چ{6I\#~nT~/q7! _X4)"m$y4mNKh$91 ?/ _}yMwQw[y3tV_P8 :(((((u-ꎦF9nzA}t*U.=B-Ṿ* 7FӴ87}jZa|15xW`sWA=cgDg^iiS-ĐD+~}Y5Mnw8xNs=›:PxWKi=F'`ɭU`2 xg[7 pg_ֽcږ}iQ;W|⼔ F1sk *0ʀ7Z{M99)H KVV+"I\b?X/m[ܸHFf'\?<˫iM=:_.+MzaF1ʳ-nY?UZ MxŶ!Vo%U:4O |,V15C gGT|* 4'V_ \nfZe5dQ:^݁ƹ$w.}JUXC+jvOAζ#TsFK;KƔȏ^޼㴅C7//zސNfq"xHxiT3u=EuY[EooQTp*;Ra}/j?Ez;sVG⟿[?}EQEQEQEQEQU̲OFKׯ4]C +P oFnjkbTMWN5s~5=P,?wy&~'1ku} 5Qx1_v~ ߘlKk wFxsI#dL?y׈>I 跗8W++Y 0A'-vӯ [57@e ?VӴ:5=svv[¹\o7Qz \U?o5EC o8n Hs^\ l69o!-CY./[tyKimMqg>HSMsTPӬDKҘ=ƩikVEp/=i$ Ecs.~&w;ִ5[]^%ôI_硫nZ?!!(;dk#z4Bg=t񖣯_^LdXPFW :oH״?GՃNneHӖ栓UѴ3@l kޡqx#IA<5yiEDY#w~w |c,;NCDV/>u` =㵌 $Oeow@:|?Gf{M+kAE ºG!v6?_^ 1PҼg/|=umS^w70^jQGjܼ8zV=īH2YOvq뫲IfYbnC)ȫhɶåEnZYx((((()2z/d*s -I9y*_jMzFZ(Z¾Ծ$K6^J9#$~ k>H\<%IJ6y?{WvvV:[İkZ9h^g2Ӄ`G^ WosT_/G? u/daH;|Q Ed:ɎGhզGyg(x~^Ƽ㝳K 5^Ch67L"gVC`z8-kz_PH@Mx>9^,?/zy6[ꗑ M&q־q2.;D_ݏmf˦<3[Ն8W'eˢk:4MxҴz](7kh wQgt+m8EvatCJORj|2lpXJ;kᯇZ+#37Ax~NV2uh汴_6m^]K}7):jv7GeҐ ~Oҍ T/9Kg}|/=}b|;ahiS)rƼ~{K2/kVZ|k׭kU!N2Pvc.+OWlb^lVJ#}F[Kּ?OoexgF H$WSZ|SM9eSM3Ym{ J%Mѣ_n?_XLӦ-4}2i H >Cފ~\zF]Z ['^@j&ut# @7t=GX2ʻw?ZuDŽ|{uᕙ?6;C|C^x=Cfa,s^EQEQEQEQEQA_$k6^?|af]5 uOv9tOš 4'5|7f*(&t=r87~,JM.n$epp^k 3oks/2R λ\B[ysA)OQֺ?u1TާXc90=L1Pƣy '̈Bi~ eaxv֬Eq,j)Wx#$;4[͍ # ٹ W9S]7m6fHb^y-Ċ3JkǚΦZ\;|ipG] wjz{Wu)ΈARď]:g@R1q^iJ"1ҩg ;Dd690`z 8|E!Tui8Ȳ KI)qHG/Z~R$HH ǿ5zu4s\"Wz>'i>" mrMFolנRQX^'F.3+>\.+; ⦭seᆲ25S\FSVʹ6$.#DuPda$8"o!xNg}*ki,@Xбx{v~ kE?t=wQoᑴ@mgaOXtI{hMy ] B66d%jNYb2I^W^oWkezq^?|> !9XF07~QEQEQEQEQE|C5]?Pa?t'Չ9xdHbϴ, bsMkUY ႀݓ] 2YCWKa *#nâvOQXZ74;:fomkv,W AٲZ0knb͞ED25ZVw kjЬC]F23Uiz֭}b&kч!y׫>wt,˂پ|_cPl=9fҬ y ~_ʴx8bDOEyUTdڼK?^ yY&^7Ω~\s+)RxkźՍIF,j$;H cAxԧTFy"GR`7/ݶehMK|#7/*kAOӭ#Pz™D;#!5=?tʩ*;tPp7 OPsjKVp+>4jS >mqn7_+oVn(^Upd#ǂ3@yl)"Xھ2麲yEp?Ǻ^$w H-9+$cwجjP Pyeş=Zu#3G_K֗2ZȞa3<I|w=`Fz~yo3i [AݹwwFi5':X6$8FA xMg y⻽7K,$*cc? [?|헐uj&`V<"?|Kruݹ%뭃}}!c> Q٢(((((& kgx^w W[O`ͅN=}9ڠwyQn9l f{maiR4fc+̼CD{{{N~7n:fv'N_N,Y,W{QҼ#4 _zg`bpֽ?k?\2"주̄1^x[(/>d⭷/yږW|NԡlM^:]x.'< c X}narq]G_ IJ7e 2خN{BD$^C]_<A-pw4-֮9*zfVMEE^ (> yV>*#HبX0yeJ~ʠ7-ԛm{Pk-ɾz ԑRIX4ڌo4gL&'*sqo@Mb8k!:/Dnu"H*58K6Lc"X j4K?g~l]bڬM] mHͥۂɽQQaSK/jh-׬FR2j6qrcKg=kƾ^*NE״wO<=+l>i:5yIخ_he bD*/#יW1Ck <70s-oC}HͻnH UMka.+>:xYXihiWEᏎaVD_O4Mn :2g` oAKQ|q J>[Z{;ۦٱ)QEQEQEQEQEL: B/#M͜1\yo?¾͂d9ǥxſZxWG/vɰ< M-b7!MzlVV;x@r)ml>hf`*x}Zm?P'BżsޛOÃDy =qx¿Bok2ko--[<lEmI/EQRM,pHʨ$9&U5YGFk?FQyeq( 86(_0ޕxCZ悗{7SW޼_%-ofK .y5^,A ۆG+dI|RGgI;mLK,jLI +2V༷`J_D-LW(q\y#~dE?5<32ohu^únyj7;Z-[Ð?;6~vjO~1\V}Zus%,sj/+zW]x.ħZOHb ʨo/B Hq^q| 4^Nqʦ fE>"+y+)k>24[cfNޣҽxQ+>cZlm~Gq4qs+I+nZ((((()0kω<*lfewvW$j#qJ xO"=W⎹^|k) qs^E&xL?[xy2L֯g4'GPU(O^6Rnzku^GҸOn,$=^uK{[ 5&?>0Lӭ~+g|QMcp,#cjo> o A^#$WRr+uռcx>^M= { <9]7b pB>f>qcW7Kcה.Tާ'Zo~ E$ ˌhI}8UπlGjٟYw0^/^GA bebF\}?W<\m~>d?6zZxn%Z/:>,C9S\7Q&t9=z W|PvI[~UTh]_;CJ_R٘rSXxvkHn_b;^[u 4,̮ x&f%t.yZVo^[8hPC#Hl:@ׅmmvbWPs]x#RъLJ{h.P$Pk| 㛽n("p? Ofu_Ih]) 'q:m9J((((((xOlӘ3FC>x8+ȴwyM렂Km? hO4粑gk 鷚Ov Xu&cy_ I׸\^Z~6*{O8܊HSGZƩ[=֛pۧN}EUimt<g\|ALjk}>& WA vQT@Ҧ#">kA0s\<{s^ t2|~+L!<2659#it$մ>!x[4m=sGQ;{xG¨y]7v3]H ]<73mb.Ҝu5EiX=uF𽍒.ݑ ܊:~l um9/K"2BTÊP3Qqd5>/c.Tvt5nM[×9Y!rUM{5E}+7k7ˣ˟n碷{Ҳ-*T1\*WW7xZ[ɎF:Wl^)e ,R2@A\ΡGREc+):<+/Bk,7vAJXֶ~7bX$l~WꚔF=˅$,rk<c?}q[&Ȅ7JSW6Ǧ[sll MFfI#;WJk6\ Z6]#}\׊&.y~d+{ uqߌ}GivֈXc VQEQEQEQEQEPzW;5 X:/+WZq1%^m3_cj:|d O|O3f9;z_xJ-o퓄9${> zd>(i$;brGZ>giYıƒIu}mcN;Wsc& ex믇^=VrQd^ݤ֙ UV쌛yc?ʬ)R0x,|ahTCz1̽s^sx\{ 1%;b9}kb״}:Y%LVt2 *-^,{k_#nN:Wzcx5umlʷwUJ=K:8A {XPxFeж\qu{^/6"]?i_z%+mz|:T`b8ѝ?uaV%KC|dpNkH#hC Ic]{ęT~Bׯ* 8S>(^:3\2 x~ |27:hjv]i+G$T8+ςEΖK%?ѼoO5Ő9|muGKm`}IT1NEղ1^kFSaN7_@ O߉ɥCW1k֦BRa2;Ҁ t((((()|Ÿ$т=|W|A<>t{5aXf[;UmooP51\?>!Cn:qs^ox%:05 bx@>t$t> /~x+; 9;(xgM%j"c_=,znrp>xO2ގ$f7zteXȘWSA:|v;cƶ3\?iZ}3^ڼM<7ƕ+;#>v:$܏{V4]HxpE]gtp*0>W=O]͎"CMyƯ/MtptȯG_Í/‘1qxF^w9AKER1WKgMkKWߨ܍"T*M6ٵUwj76[תqҗ`T34r"2+[sCU,YrC'BkuxcO쯶lE {/ 1H?[ԍK1>?qOYZO.!gῇÞ)CqMvQEQEQEQEQEQE|L70$y㜊 ^/g܊ys)}yeyWhP5JdH|[^OS /y\] +Wm<7e>m#K';N3y[v(j+1+.Z'."m9q4.Fes\ÏOouD^ I(p})C( W⟅ݥ}%c$?K}FNN+WK,-IMg( wx:*jz+ⲷhFk G+c^ rCklుa#F pcڗ42`GRxŶ^dUQ5ugU"H GYzvcOq V;KAY?k"l;^-,>)~/Oo+UUT` ?0Ўm 7\6*_|&VI= WJ1ҝEQEQEQEQEQEQE5*As_,dFڅx;FKoq^H*y_>|Ix/?oA'{|9\P𪂀k;N43dص~ϺaCԝ~y'Wꚵf7 H9,kt?C':-ܘ,A*=s^oq)4.7PGz󯈿VYxߊ4?Pq E: 񦕪&y߀v u(Ԁ3ßĒh"_&4R ^W FG=iJ =+U𾏭!}5j7u!զ~Y"m#ēEflLtjTҾ/.j%k&_֝_5/)µ>i*VMJNGuOp^&DB;jiMJLbº;_@~35yn}iͽ1oV6k.x%}k<9ͤhZM3*[ [?z[<.,Ƽz+C2鱶b#Z=œ2 > ~<-O4&y74>`lཷKyVHd25x:w"+veITa]T}4ifKnmީAܾBĚŚό|[$2ģ5Ï -onT y[k(((((((ҹOfxvDaRbltjVPOnh :dfοoM PpC3i۬c ؊ƨ 㟴Ӂ;8R*| r}쩹 ,xt xj^&Kk xKº,)hl>Z:Զ;hQ.^Gj+ 6hڎ>ϪE#/4CpbLf%7WF A=+|y;Bkk YU1mF㻵k4I!u"AxQЭIR2qW>|A SXp4ZF>o<ѵl#nrXhCKMN1FGQ(ڎFOݱYZϋI҈\f<[X Ge$vVcJiu=sƞ#[FK=*7,J~fi=>_د3O׼OizYeaL0{΂PIF\l`mҸoEӼ%fM|G מxkߏu/[=ۢnvXGoo4UQwTFa7{o?yi+ >Ycq |WφӅ?,L3Ǩ⺻OXK [v=&//Gq /[.,)b(,l4Rvڳ/cc5e&Jj^َ/ֺ?4zZvIP?|UYE·G&㪹zJՎ`|)Y;$r=EbxEYk4xj5kbڗb[FŋN+WZNEu4riv8B ziwt]:]Z1Z|-k-E[?xHEq^ݵCCsq -,*F,q?|ZyNX1FB7d_&M&-{qq"U?QH@$l4h IDSn\+\6l* k~,(,"5|צ[gCQWpGA_0}U) }k I>".l/Tc;=+ڻW -,"snJ-QEi6Zū[0Wk _6)+Wß]7Ķct)r0 S!IgXd`j(hʞbTM^n!cf,7dj%\e.Z'`R1>][ԏ6rx5ү7 O<1YOq"+k!w"["(9=Mz_è5I1n7_#FWogkuq|jO NծSCb*_4{cY\|GY|ɷֻmk4N8hZvA%Q2H_|Nм4\]tX993e+&ߌ/|>)ngIuS8v t(K2k^P^y?ɱ-hv\N0+ۆ6Yޱk]ȫ`OZ+>%@]џd1¾W4𾊗WHGz`Җ(((((((J|S_X]v>9S_'ZV?4/nxLq([Y[޽jZ(3Epk/_Dq*5yρ|iu纶>Kp+OGַ|rdہ}'Ś.cR 4[kyABۢcՂWDӓQ{i\a&ܖЬj͸W8v+B3Q-gr[@FXcPԬ#/ws*W`+2hN,zd~> ;X_MӛxcHzB^ 1A*"Q*P-dQEZ$ #V'|1aI G.G$ֹFs1=fNVRl(}k9-uXs~((((((()O-`9W'A๷~Wa_Ox6~2ҖU%%<]#(UZXU@',EC'Y(x[G"x-[pk_Ф~bB fŧo _0F]H>F4RSmֶM>Tw`9}ϊx9o'`lZ|%+`[iֺ**P>(]ZY-۪@-_&x]ֵ }tI_ |DZ¸ˮ{קTnbAh2ǁ_<|Tɣ貕^%O/X x/oQӐ嘏}+ >L!Q@QEQEQEQEQEQEQEQEQE!+;"9}oèF27{[[/-aoa_Exem`TN7}+҇AKHyx3Kִ{á+&>l1߅fGf9o0pGTy /zt[Wyr -<+V,*<I? iX|t(=*դ7qIꧡ+Ŀ5}KKm(g +# H aT 7 A(d;xY̋$%1ι^y;Ld ' ^\B"l2=qEQQIrEǰZ,+x"pP3}+KX@6ƁGSH8ERMxz׶ZeshP:R(x6N@!W|(oNuWrDC{WјA5_W?'gBT̥C޻/|EC4 lTQG5?yncVSE gŽsIlmInWx͗.E_f=5)  `:~5reܟE$t ( TQETM,,qVc+ǼwK2X.n@~Umwq#{?;Y#!+֕* ?QEQEQEQEQEQEQEQEQEQER`TSC4Rtad|Ԍ*nycx#V$'F]gE%i|:ne[W1 [5KEW^ֿ vQ$_/7.$|ڽss^2xk×Z?: 5b牙RcNъQKᆭHZXW׾x7^_fSd_{դ K$mXdi:zp<Ҿvau~9V`ׯ,2A#}XHS&kĶ2Ga]Gmj>(EsdEe w(4 )$+gĽвp3HpFNO֭x/6YR6',9j'Ҽ+nX[(`>iHqREQEQEQEQEQEQEQEQEQEQER0x wW^PI>9x_4z+zG s^6E=ū#s{m)oBc~>_tf%)ʶ◵QY!+) O^νn#/`8'Ʃy:5ɂ|ֽy2}G?fh[yQ}=v[u".2ɞ^{~hGu}J((T Q*J((((((((((((R0kt?}f#0>( {h^CϋzH5'#<[QR^g+м3rme>: \`{S$8q\εh?ڵ8wk̵-ѥzIҼ\oV[U_99Ğ%rڼ1&Y<+KH.5/˅i(5p6,QT`U8((((((((((((1H@KEHW֑N̼כFO%<:f\)}-FqH|57KFQEQEQEQEQEQEQEQEQEQEQEQEQEQE*JZC0?L%|%K9j5?NiD}뗿6Pʽ;uw6_/Ys=up1U-86zgя?Y<5/Ɣh,'gԿ?zz\WK?[6Wr}pKښN0u\N_KHYs]$qh4U_E&((((((((((((((((QE`S4QO"ȣȋy'*LQ(((((((((((((((((((((((((((((nGpR p)(PNG  IHDR,sBITO)PLTE@@@ `@` 0`@@@@``````@```` ``` @@ @` ```@ ```@@@``` @@ @```@@`p 79tEXtSoftwaregnuplot version 3.7 patchlevel 3 on Linux 2.4.22hb:tIDATx흋(yw:䮀ݙ$ ?(ըV ldy/e^_7lr;$^[6<]msj̀l̴窛=r3EJk몞~(k)^_W1_pzx} BL5O׾YZ#8@iq0V!`N `!a0RvB'xoŽ^}2sJp K&`m)pt@a5yb&Xc|ec;"b}Կh7 @xև%7&_P[tPOLˊ ?"f s0#o,FJR'z/0|ŵN/R'Yj^.Pgt.!8pvuA&ww6̝/B,~s~oujY{E3nh+oJB@Q;ބyCD@Zxڵ jdg! .P{g 2Y]S{m ]}laU_xtTP:  dZ,^@6"`wWyJ@7R@9 3Y휗)̞ʶmA@4I.FYݖ8N@JvJI4Yz"F% x vAV@7ھ`>-.WfW@1YNPl81n?7#d9;Jx K5 * (6 PldL@Lf*nj ETPN6Qs+R-`sey :em_}9 y`0`^u; U9CJσ7դ*_ Ɨ{*XdcG?H~?_6] ў:T h' )4GCp*r&(MJ;R긺HX_'& Xk9/i)a ۾oKn(=( 3MM2J\]0æ (׮+"B>uq,0茀i%nCjTfAA@U8FY!QJ, T&dT2\Xl2t!m'beYPQ"/?;ľAjkP*qq3'APv4*[eTJ*JZD;q qveځwAkG: \'(7ThP4[S4Њub\kYl18?~kYl*(w\@M s h mg6TQAfPFzG=}#r 'z}M@ ̺ 6;Q;e_@k/cPH#4-ͨPhдNfT{ ?rފ}e ౾_$)䊣JIfH®ͣۮsmfw>[9 jD@eˬ3S$:!ד *V$z^(S攀 _&qn ^ bO@S0xz\tCUdW `GvoQ@3 hr"ﳟ`bpH"`; /rx-0,>HYg  џc !/KZ/N@R5B@Kj*/TJx(PK+TX/Jt[OM02Ϯ0sNZu0<;BBu?<˚|* 3qipUE!eqmwP C@L3Gk ("8 XQS .eU[x20+mR@t?N# A@\6v<` ESqE^,)TO!YTo `?x*ς,x*m\Lquwb"`N+A. 0tsq]ۆ-]hP}N)`E/}" .!`smq5"vѸ-CnzinZ^,`eP,X qt[A\=N,my!ɛܫoNfV3/2!d<㯊ػ]8' h.cW7kގ7nVo냀Xq<Xq#.G# C@\/NbeA@\"FxAN $0N^x*upѨߨ+B z߈ x98Ks*lW@D51PA@ xUE9PA@ x ȃ ,S$vtG@hAjA #)jԙr+B ytn{a胊BeW! < wۣEc$B >3J;^  *~j4G=PYobI8'qpV@pwTW8|""#A88F@@ $ZF8z"-8w8R@SSά*): hdg;wN*8Fq0:̀o[>h0T?Tm{xmY\tlQZ*UZDe\msn2?gO; ~{߾=}> CA@(s|"d)2Xw.7ൈXlet s7;:b=I oadbPx[Mك6BsE&-ey܁>3 teѕ:IENDB``!x0I{%}84WbxڽkUウMmh4mj) 4ǔJ?d3vW7uwҘ FVJ}a"B⃄y H50瞹NY6!q3{7s9b#p&?a-.jB]1j%[ÀV ,ՂgW\ǃ:=;zDA:C`>˳gG~ NofAΕS$FX-R\^`R*J7[ !cҪ~k]A4Vk7Ki˶}FˣN%&1>N4>q3[p"ˬF3JZan2%)@bK%+3\΍Z\9^r] 2%;]-&kWGuexz;z`'ox1>VێRVMS{" aeK|6e]pT"J9jG'Cx]G31)/6Qfsj2rsBD`ңS#%+(oJB|${p<;V6?YE_G_[yh- j:<}Gt'<ݽ#Dr,9aiI[t2Y&&Fl'Ɖ`N&˺ĺĶm++< t ~r2%be%}be%]bwytyܲn|ϩE7ZmyԷZ?>ߩ qz:_|N)>f׼ZSO+^I r'b?_Ϫ~da7=L?pj`!22Ҍǐb_%*i]%}84WxڽXoSUsoLp@!,f,@c4> 3`j M|0BH$HBa.&lmss^^I i h4uBVF#o8FGz *kg%XzJ&lּcٓ~Z ʽMe-mW(x\~Z.e|iՀ\MZZ7zT#V)x)r_Re,WQOL_ W^C1#eǃR`=e>Nq=CiHZ筪='CzMwo]e^ql{]yAP~0;&+,e Ioe\h=Z{zu)Y笣c>dw7>f_c:RڋSէ RMRh(q[ .^<+>I5cx1&m7p)C0 蓉ʿ?aLbPpc؝ޜx?w?қy &HczXnFfiW%`gEo xw^Z v\v(_WcSzu}bE/ꘚ7۽!WoӡJ-`!*vpuTK<@hZkxڽX_lE]Y-iDPm@%Ṕ\zm۴`!"bLC_|4>IL|'C 1&<49̷ywf;}3g1ƌ] lSH tCZV+ 8Va.{x-~=<ӳ֣MȶȧV˫3#G,.6?dA+-Z'&,daa6f )6 3)J71iUFZW;c/5_+1`bs {u/|I^ju~7bQ-U",EX/a-3-3-DKG(6GIq}o?Oذݻ" 7PS·r)+tXQl8H1Plkc(6EYI(q%7Qa+K*(G7$ZߓPl8ߓqذ)\@YFcqVQlx⏓qfQl8[oц5Bۊ>^wUYQv֟[֘|KaqE㣯 ˁB V) >E V!,EX^z [fCOhl% 'lQ $̯{|=iWO46F0aEXטג%.$&a]t陲+KH|Z9:րkXnZƬϊ%3=2@ȔBrL!b!_d+=f o56c5v!{Ia}hc} 63ޚ5 Vƻ s:ل`bQ {;ȏ;V*NtMe|M#Z?픦r'+)EXw(+3\΍ZZRZp9/,dJNd][]>{3gRYu+𸧣8>w\'ZbhKi6eb)iQ<PsJݜM㱈&(3Yʹ3q̩C9Rz$]lGԨmJw duFed~1+A=QtExng\6qL{T'ռ=ِrb2xRnQ^Q*cH6+Kd錠 fgLŭg [:Rt({ /v#b.YʞVVgJ1gmZ_wbLkߚU{bՖ,|Ʒ6.&(rN`LuoHE&}o<[b㊡2%ovZG3n[F!*`o8<+N9nϼBY|z$\Q kٕ:N.Y5Vpoy y7>q8Kp][a)UUWߵaRLM`{5`9o>wpιcɩt>ŇzMQMq@go釪`!fP _KZ@hZxڽXk[UMM:[5TA[Paĵ +> ̲6KJR k-| }KaD)n>e|TQp˷9s|{8N gA\hZ klEXƐnX-!j`OJ 6"&5x{ ԟ*߿ц 4cFOpyɲa&j qqLhn?ōMpK[ 4Qa Z,V~a:SuX}bIϦ[+ӭ>jzoleR# v!lߢ(NhE0 `Qs`"GuկRNSdwjgCmJqq^J{ @JM}V└}woR\-}6+q)[}OC␔CF~'?g86 ۓ⦔+/lJqqV[I Jq1%吵Ѧ{VXy>gOxl׋>[Ϛb0&(2Khurh3.*GLiV QT K.a˄-",EXamv'l 'ꠊ_-c Fxlbs;!3j l=†`h-¶[|cN*dj=Gg| XCnmv}ml3`zo{o˜p\Qީ_B8!F.rN#q$΀P~n4A]W v^1ؤ6v궧'օ9-lf)-s E_>:'*Cz]Lo-D@kuJϺ]K%/[ĸ(<-G|r%S8oEa@D#ݷR*3s|-K@֗ƟW*犅dkM0[(xY\ΔVs.8KҚ-?@CDEFGHI$R$Nт۳ Y*2$$$b$pR p)(O22$x0I{2$MGp2$2Ҍǐb_%*i]:2$*vpuTK42$fP _KZ AA1? ff@8; ʚ;J%5ʚ;g4ddddm 0zppp@ <4dddd@k 0t1 <4BdBd@l 0tg4<d<d@o 0p p %0___PPT10 ___PPT9nnIt>"ՌPNG  IHDR +tsRGB PLTEfffm cmPPJCmp0712 7tRNS@fIDATWc`  SP1H $XLIENDB`? -O  =k>_FUnderstanding and dealing with operator mistakes in Internet servicesxK. Nagaraja, F. Oliveira, R. Bianchini, R. Martin, T. Nguyen, Rutgers University OSDI 2003 Vivo Project http://vivo.cs.rutgers.edu (based on slides from the authors OSDI presentation):< B; 0h` Motivation  Internet services are ubiquitous, e.g., Google, Yahoo!, Ebay, etc. Expect 24 x 7 availability, but service outages still happen! A significant number of outages in Internet services are result of operator actions 1: Architecture is complex 2: Systems are constantly evolving 3: Lack of tools for operators to reason about the impact of their actions: Offline testing, emulation, simulation Very little detail on operator mistakes Details strongly guarded by companies and administratorsC>T(9C>T  (9b This workzUnderstanding: Gather detailed data on operators mistakes What categories of mistakes? What s the impact on the service? How do mistakes correlate with experience, impact? Caveat: this is not a complete study of operator behavior Approaches to deal with operator mistakes: prevention, recovery, automation Validation: Allow operators to evaluate the correctness of their actions prior to exposing them to the service Like offline testing, but: Virtual environment (extension of online environment) Real workload Migration back and forth with minimal operator involvementx<<r:  c ContributionsDetailed information on operator tasks and mistakes 43 exp. - detailed data on operator behavior inc. 42 mistakes 64% immediately degraded throughput 57% were software configuration mistakes Human experiments are possible and valuable! Designed and prototyped a validation infrastructure Implemented on 2 cluster-based services: cooperative Web server (PRESS) and a multi-tier auction service 2 techniques to allow operators to validate their actions Demonstrated validation is a promising technique for reducing impact of operator mistakes 66% of all mistakes observed in operator study caught 6/9 mistakes caught in live operator exp. w/ validation Successfully tested with synthetically injected mistakes44Z4#"  4Zd Talk outline Approach and contributions Operator study: Understanding the mistakes Representative environment Choice of human subjects and experiments Results Validation: Preventing exposure of mistakes Conclusion and future workJFLH+LHeMulti-tiered Internet services fTasks, operators & trainingTasks  two categories Scheduled maintenance tasks (proactive), e.g. upgrade sw Diagnose-and-repair tasks (reactive), e.g. disk failure Operator composition 14 computer science graduate students 5 professional programmers (Ask Jeeves) 2 sysadmins from our department Categorization of operators  w/ filled in questionnaire 11 novices  some familiarity with set up 5 intermediates  experience with a similar service 5 experts - in-charge of a service requiring high uptime Operator training Novice operators given warm-up tasks Material describing service, and detailed steps for tasksqn9_qn  9_>M WgExperimental setup:Service 3-tier auction service, and client emulator from Rice University s DynaServer Project Loaded at 35% of capacity Machines 2 Web servers (Apache), 5 application servers (Tomcat), 1 database machine (MYSQL) Operator assistance & data capture Monitor service throughput Modified bash shell for command and result trace Manual observation Noting anomalies in operator behavior Bailing out  lost operatorsq U$LDq U  $LDK Ih Example trace]Task: Add an application server Mistake: Apache misconfiguration Impact: Degraded throughput : = =iSampling of other mistakesNAdding a new application server Omission of new application server from backend member list Syntax errors, duplicate entries, wrong hostnames Launching the wrong version of software Migrating the database for performance upgrade Incorrect privileges for accessing the database Security vulnerability Database installed on wrong disk  /0! / 0!j&Operator mistakes: Category vs. impact 64% of all mistakes had immediate impact on service performance 36% resulted in latent faults Obs. #1: Significant no. of mistakes can be checked by testing with a realistic environment Obs. #2: Undetectable latent errors will still require online-recovery techniques@@@,^YOkOperator mistakesMisconfigurations account for 57% of all errors Config. mistakes spanning multiple components are more likely (global misconfigurations) Obs. #1: Tools to manipulate & check configs are crucial Obs. #2: Careful maintaining multiple versions of s/w@0Yo0Yol@" 3lOperator categoriesOExperts also made mistakes! Complexity of tasks executed by experts were higher*44mSummary of operator studyT43 experiments 42 mistakes 27 (64%) mistakes caused immediate impact on service performance 24 (57%) were software configuration mistakes Mistakes were made across all operator categories Trace of operator commands & service performance for all experiments Available at http://vivo.cs.rutgers.eduV(I%x(n Talk outline Approach and contributions Operator study: Understanding the mistakes Validation: Preventing exposure of mistakes Technique Experimental evaluation Conclusion and future workJr"F,"o@Validation of operator s actionsValidation Allow operator to check correctness of his/her actions prior to exposing their impact to the service interface (clients) Correctness is tested by: Migrate the component(s) to virtual sand-box environment, Subject to a real load, Compare behavior to a known correct one, and Migrate back to online environment Types of validation: Replica-based: Compare with online replica (real time) Trace-based: Compare with logged behavior ZZZ#ZZaZ #  ap%Validating a component: Replica-based q#Validating a component: Trace-based rImplementation detailsShunting performed in middleware layer Each request tagged with a unique ID all along the request path Component proxies can be constructed with little effort (mySQL proxy is ~ 384NCSL (402kNCSL) Reuse discovery and communication interfaces, common messaging core State management requires well-defined export and import API Stateful servers often support such API Comparator functions to detect errors Simple throughput, flow, and content comparators'Z@Z]ZEZ=Z(Z&Z1Z'@]E  =(&1 s!Validating our prototype: resultsYLive operator experiments Operator given option of type of validation, duration, and to skip validation Validation caught 6 out of 9 mistakes from 8 experiments with validation Mistake-injection experiments Validation caught errors in data content (inaccessible files, corrupted files) and configuration mistakes (incorrect # of workers in Web Server degraded throughput) Operator-emulation experiments Operator command scripts derived from the 42 operator mistakes Both trace-based and replica validation caught 22 mistakes Multi-component validation caught 4 latent (component interaction) mistakes{L  {Lt#Reduction in impact with validation uFewer mistakes with validation vShunting & buffering overheadsShunting overhead for replica-based validation 39% additional CPU All requests and responses are captured and forwarded to validation slice Trace-based validation is slightly better 32 % additional CPU Overhead is incurred on single component, and only during validation Various optimizations can reduce overhead to 13-22% Examples: response summary (64byte), sampling (session boundaries) Buffering capacity during state check pointing and duplication Required to buffer only about 150 requests for small state sizesE4C?A/tF4C  ?Aw"Caveats, limitations & open IssuesNon-determinism increases complexity of comparators and proxies E.g., choice of back-end server, remote cache vs. local disk, pseudo-random session-id, time stamps Hard state management may require operator intervention Component requires initialization prior to online migration Bootstrapping the validation Validating an intended modification of service behavior  nothing to compare with! How long to validate? What types of validation? Duration spent in validation implies reduced online capacity Future work: Taking validation further& Validate operator actions on databases, network components Combine validation with diagnosis for assisting operators Other validation techniques: Model-based validation@PdP8P<PPSP0P=P(PP@d8<  S0=(  $$/         m   0` .T3f` T3f3f` 999MMM` lff3f3޲` eoHff33Ҷ` ff!` T3f3fffq` T3f3fff[>?" dd@ ?nPd@ d " @ ` n?" dd@   @@``PR   @ ` `p>>  c[ ,(  , , s *  "`0  T Click to edit Master title style! ! , c $ "@0  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S) , c $ȣ ":   ECS 395/495 Autonomic Computing Systems EECS, Northwestern UniversityNF0(2' 3 33 3 , Nff??"` , Nff??"` F   ," , Nff??" , Nff??"  , Nff??"  , Nff??"`  , c $8 "ce  L*"0(2Z , B޽h))? ? T3f3fff[ 0___PPT10.Zj&___PPT92p22 1_aqualab01R  0  0@(  0~ 0 Hff??"A 0 0 "    A Click to edit  0 < "3  T Click to edit Master title style! !T   0 "  0 T ff??"  4 0 0 T ff??"  4 0~  0 Hff??"A~  0 Hff??"A  0 RAk B?nwu-seal-gray"@P%  0 c $< "`0   !Fabin E. Bustamante, Winter 2006H"0(2 3& 3& 3Z 0 B޽h))? ? T3f3fff[80___PPT10.Zj&( 0 d8(  d  d Nd,yy .  # v* a11aa d N\n#yy 2 . # x* a11aad d c $ ?  #4 d N|t#yy 9 3 # RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S d Tz#yy q  # v* a11aa d Td#yy q2  # x* a11aaH d 0ηo~ ? 3380___PPT10.eۡ ((    N(yy .  ( \* a11aa  NH(yy 2 . ( ^* a11aa  Tyy q  ( \* a11aa  Tp yy q2   ^* a11aaH  0ηo~ ? 3380___PPT10.dz͓ 0CL0 p$(  r  S 80  r  S 0    H  0޽h ? ̙33  0CL0 :(  r  S 3,`0     S L:,@0  "P@08@H  0޽h ? fГ̳t  0CL0 $(  r  S H,`0   r  S H,@0  H  0޽h ? ̙33  0CL0 $(  r  S d,`0   r  S d,@0  H  0޽h ? ̙33  0CL0 $(  r  S Xu,`0   r  S z,@0  H  0޽h ? ̙33u  0CL0 |0(  r ( S ,`0      `jJ))?"p` R Web Server, 8v2Z    `fjJ))?"p  R Web Server, 8v2Z    `ԆjJ))?"@ p  ZApplication Server,8v2Z   `ԏjJ))?"@   ZApplication Server,8v2Z   `jJ))?"@ p  ZApplication Server,8v2Z    `hߥjJ))?"P  PDatabase, 8v2Z B  @  `Do??p PB    `Do??p`BPB    `Do??  B @  `Do?? -  B   `Do?? W  B @  `Do?? = B   `Do?? P B @  `Do?? op0 B @  `Do?? TP  *  `1?"`@ 0` + C x؍GHvH1? "`00 ]%Client emulator exercises the service&0& ,  f1?p >Tier 10 2 -  f$1?P pp  >Tier 20 2 .  f1?P pp >Tier 30 2 /  f1?Z }!Code from the DynaServer project!"0 2"   0  f 1?Z VOn-line auction service ~ EBay0 2H  0޽h ?+ fГ̳ty___PPT10Y+D=' = @B +  0CL0 $(  r  S 8,`0   r  S ,@0  H  0޽h ? ̙33y___PPT10Y+D=' = @B +  0CL0 0$(  r  S t,`0   r  S L,@0  H  0޽h ? ̙33y___PPT10Y+D=' = @B +  0CL0  P (  r  S @,`0   r  S ,@0  R  C *Aimage008PHz p    @` ,$D 0B  BDo?"    B o?"p  ^Application server added*0v2Z2 z       ,$D 0B   BDo?"     B o?"  o)First Apache misconfigured and restarted **0v2Z2* z       p ` ,$D 0B   BDo?"     B o?"   p*Second Apache misconfigured and restarted *+0v2Z2+H  0޽h ? ̙33F > ___PPT10 +r9D ' = @B D ' = @BA?%,( < +O%,( < +DX' =%(D' =%(D' =4@BBBB%(E' =1B B`BPB1:Bhidden*3>+B#style.visibility= `B<*D' =1:Bvisible*o3>+B#style.visibility<*%(DX' =%(D' =%(D' =4@BBBB%(E' =1B B`BPB1:Bhidden*3>+B#style.visibility= `B<*D' =1:Bvisible*o3>+B#style.visibility<*%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(+  0CL0 p$(  r  S `,`0   r  S $,@0  H  0޽h ? ̙33y___PPT10Y+D=' = @B +   0CL0 X(  r  S ,`0   r  S ,@0  r  <A ?"p<2  H o?" p ,$D 0H  0޽h ? ̙33~___PPT10^+n0DB' = @B D' = @BA?%,( < +O%,( < +D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(+    0CL0 z (   r   <A ?"@0ur   S ,`0   r   S \,@0  2   H o?"p ,$D 02   H o?" ,$D 0H   0޽h ? ̙33___PPT10+D~' = @B D9' = @BA?%,( < +O%,( < +D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(+   0CL0 :2 (  r  S ,`0   r  S ,@0  r  <A  ?"20B   fD>?0P B   fD>?0 @ pH  0޽h ? ̙33   0CL0 $(  r  S ),`0   r  S ),@0  H  0޽h ? ̙33  0CL0 $$(  $r $ S D0,`0   r $ S L9,@0  H $ 0޽h ? ̙33   0CL0  ($(  (r ( S 4>,`0   r ( S  ?,@0  H ( 0޽h ? ̙33A  0CL0 ,+@=@0)(  0r ?0 S l',`0    0  `PjJ))?"s L P Web Server* 8v2Z  0  `,UjJ))?"nL P Web Server* 8v2Z FL  @  0# 0 0 0  `ZߥjJ))?"   NDatabase* 8v2Z T `  0#  @ z2 0 <o?" 2  0 Bo?" 2  0 Bo?"` xB  0 BDo?"`HxB  0 BDo?"`HxB  0 BDo?"p `Hq xB 0 BDo?"x 0 B_ o?"`e NTier 1,0v2Z2 0 Bc o?" `e  NTier 3,0v2Z2 0 Bg o?"`e  NTier 2,0v2Z2 0 Bk o?" 0 YValidation slice ,0v2Z2rB 0 <Do?" 0 0 Bo o?"  g Online slice >0v2Z2  0  `tjJ))?"W  XApplication Server*8v2Z 0  `rjJ))?" W@ TDatabase Proxy*8v2Z 0  `|jJ))?"2W VWeb Server Proxy*8v2Z 0  `jJ))?"l I  XApplication Server*8v2Z 0  `LjJ))?"`I  XApplication Server*8v2Zr 0 <o?"@ r 0 <o?" @ z   0  ,$D 0 0 <Ԕ?"  s,$D 0 0 <Ԕ?",$D 0B 0 BDo?" j,$D 0  0 <Ԕ?"  ,$D  0 !0 <Ԕ?" B,$ 0 "0 N o?"v  GClient Requests0 2r #0@ <Ԕ?"pP $0 <Ԕ?"@,$D  0 %0 <Ԕ?"@,$D 0 &0 <Ԕ?"  ,$D 0z w   '0 w  ,$D 0 (0B <Ԕ?"w  ,$D 0 )0 <Ԕ?"  ,$D 0 *0 B?"  ,$D 0 KCompare(0v2ZB +0 BDo?"  ,$D 0z @P   ,0 P @ ,$D 0 -0B <Ԕ?"@P ` ,$D  0 .0 <Ԕ?"  ,$D  0B /0 BDo?"0 P  ,$D 0z 0  00 0 ,$D 0 10 <Ԕ?"0 1 @,$D  0 20 <Ԕ?",$D  0 30 B?"@L,$D  0 KCompare(0v2ZB 40 BDo?"0 @,$D 0z    50   ,$D 0B 60 BDo?"   70 <` ?"p  v  OApplication State"0v2Z2lB 80 6D?"P  90 <ء ?"  EShunt$0v2Z2gz P 7 :0  P 7,$D 0B ;0 BDԔ?"P @P B <0 BDԔ?"p P  =0 < ?"P P 7 KCompare(0v2Z2H 0 0޽h ?"0!000)0.0402000+0(0 0 10 #0 $0 %0 -0&0 ̙33___PPT10b+{BDF' = @B D' = @BA?%,( < +O%,( < +DX' =%(D' =%(D' =4@BBBB%(E' =1B B`BPB1:Bhidden*3>+B#style.visibility= `B<*:0D' =1:Bvisible*o3>+B#style.visibility<*:0%(DX' =%(D' =%(D' =4@BBBB%(E' =1B B`BPB1:Bhidden*3>+B#style.visibility= `B<*50D' =1:Bvisible*o3>+B#style.visibility<*50%(DX' =%(D' =%(D' =4@BBBB%(E' =1B B`BPB1:Bhidden*3>+B#style.visibility= `B<*0D' =1:Bvisible*o3>+B#style.visibility<*0%(DX' =%(D' =%(D' =4@BBBB%(E' =1B B`BPB1:Bhidden*3>+B#style.visibility= `B<*'0D' =1:Bvisible*o3>+B#style.visibility<*'0%(DX' =%(D' =%(D' =4@BBBB%(E' =1B B`BPB1:Bhidden*3>+B#style.visibility= `B<*,0D' =1:Bvisible*o3>+B#style.visibility<*,0%(DX' =%(D' =%(D' =4@BBBB%(E' =1B B`BPB1:Bhidden*3>+B#style.visibility= `B<*00D' =1:Bvisible*o3>+B#style.visibility<*00%(+8  0CL0 :121`BE8/(  8r D8 S ,`0    8 Bܳ o?"0@ iValidation slice <0v2Z2 8 B o?" P  e Online slice <0v2Z2 xB 8 B o?"p 0 Kz  WF 8   WF,$D 0 8  `bjJ))?"@W  XApplication Server*8v2Z 8  `jJ))?" W  TDatabase Proxy*8v2Z  8  `\jJ))?"W VWeb Server Proxy*8v2ZzB  8 <Do?"  B  8 BDo?"  zB  8 <Do?"ppB  8 BDo?"ppz 8 <Ԕ?"``z 8 <Ԕ?"  z 8 <Ԕ?"`P ` z 8 <Ԕ?"B 8 BDo?"`0 0  8 B8 o?"0@@  GState&0v2Z2  8  v0e0e    BCDEF @  o 8c8c     ?A)BCD|E||808p@  S" P 8 <| ?"   GCompare$0 2tB 8 6D?"  8  v0e0e    BpCDEF @  o 8c8c     ?A)BCD|E||,XP((p@  S"P@   8 < ?" F F GCompare$0 2tB 8 6D?"  rB 8 <Do?" 0 8  `jJ))?"s L P Web Server* 8v2Z  8  `8jJ))?"nL P Web Server* 8v2Z FL  @  8# 0 0 8  `ߥjJ))?"   NDatabase* 8v2Z T `  8#  @ z2  8 <o?" 2 !8 Bo?" 2 "8 Bo?"` xB #8 BDo?"`HxB $8 BDo?"`HxB %8 BDo?"p `Hq xB &8 BDo?"x '8 B o?"`e NTier 1,0v2Z2 (8 B o?" `e  NTier 3,0v2Z2 )8 B o?"`e  NTier 2,0v2Z2 *8  `PjJ))?"l I  XApplication Server*8v2Z +8  `jJ))?"`I  XApplication Server*8v2Z ,8 <Ԕ?"  ,$D  0 -8 <Ԕ?" B,$ 0 .8 NX o?"v  GClient Requests0 2r /8@ <Ԕ?"pP 08 <Ԕ?"@,$D  0 18 <Ԕ?"@,$D 0 28 <Ԕ?"  ,$D 0 38 <Ԕ?"`/ 0 ,$D  0 48 <Ԕ?" ,$D 0 58@ <Ԕ?"  ,$D 0 68@ <Ԕ?" p` ,$D  0z @@ 78 @@,$D 0z 88 <o?"@ z 98 <o?"@  tB :8 6D?" P  ;8 <# ?"   EShunt$0v2Z2!  @P  <8  @P ,$D 0B =8 NDo?"@ @P B >8 ZDo?"@@pzB ?8 <Do?" P @P zB @8 <Do?" @B A8 BDo?" 0 0  B8 BT# o?" @   GState&0v2Z2 H 8 0޽h ?8888.8-8,8/808 18 28 38 48 5868 ̙33___PPT10+SlщD' = @B D]' = @BA?%,( < +O%,( < +DX' =%(D' =%(D' =4@BBBB%(E' =1B B`BPB1:Bhidden*3>+B#style.visibility= `B<*78D' =1:Bvisible*o3>+B#style.visibility<*78%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*8%(+  0CL0 @$(  @r @ S ,`0  # r @ S l,@0  H @ 0޽h ? ̙33y___PPT10Y+D=' = @B +  0CL0 H$(  Hr H S 0#,`0  # r H S #,@0 # H H 0޽h ? ̙33y___PPT10Y+D=' = @B +8   0CL0  Pr(  Pr  P S )#,`0  # r P <A  ?"B P@ BDo?"`  ,$D 0z 0  P  ,$D 0B PB BDo?"0@ B PB BDo?"` H P 0޽h ? ̙33___PPT10+$D' = @B D]' = @BA?%,( < +O%,( < +DX' =%(D' =%(D' =4@BBBB%(E' =1B B`BPB1:Bhidden*3>+B#style.visibility= `B<*PD' =1:Bvisible*o3>+B#style.visibility<*P%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*P%(+   0CL0 T(  Tr T <A  ?"0'r T S 7#,`0  # ~2 T@ H o?" H T 0޽h ? ̙33y___PPT10Y+D=' = @B +  0CL0 X$(  Xr X S <<#,`0  # r X S =#,@0 # H X 0޽h ? ̙33y___PPT10Y+D=' = @B +  0CL0 `$(  `r ` S G#,`0  # r ` S H#,@0 # H ` 0޽h ? ̙33y___PPT10Y+D=' = @B +` 0 4(  d  c $d   #  s *ԛ#d9 g  #  H  0ηo~ ? ̙33b 0 4(  d  c $d   #  s *#d9 g  #  H  0ηo~ ? ̙33c 0 4(  d  c $d   #  s * #d9 g  #  H  0ηo~ ? ̙33f 0  4(  d  c $d   #  s *`#d9 g  #  H  0ηo~ ? ̙33g 0 @R(  d  c $d   #  s *#d9 g  # <3 H  0ηo~ ? ̙33h 0 `4(  d  c $d   #  s *d#d9 g  #  H  0ηo~ ? ̙33i 0 4(  d  c $d   #  s *#d9 g  #  H  0ηo~ ? ̙33j 0 4(  d  c $d   #  s *#d9 g  #  H  0ηo~ ? ̙33k 0 4(  d  c $d   #  s *#d9 g  #  H  0ηo~ ? ̙33l 0 4(  d  c $d   #  s * #d9 g  #  H  0ηo~ ? ̙33m 0  4(   d   c $d   #   s *<#d9 g  #  H   0ηo~ ? ̙33o 0 0,P(  ,d , c $d   # , s *#d9 g  # : H , 0ηo~ ? ̙33p 0 P4J(  4d 4 c $d   # 4 s *#d9 g  # 4 H 4 0ηo~ ? ̙33q 0 p<J(  <d < c $d   # < s *(d9 g  # 4 H < 0ηo~ ? ̙33r 0 D4(  Dd D c $d   ( D s *,(d9 g  (  H D 0ηo~ ? ̙33s 0 LJ(  Ld L c $d   ( L s *,(d9 g  ( 4 H L 0ηo~ ? ̙33v 0 \4(  \d \ c $d   ( \ s **(d9 g  (  H \ 0ηo~ ? ̙33 _ 0 0(  X  C d   #  S #d9 3  #  H  0ηo~ ? 3380___PPT10.,@ݑ d 0 @(  X  C d   #  S (#d9 3  #  H  0ηo~ ? 3380___PPT10.,`ߑ e 0 P(  X  C d   #  S D#d9 3  #  H  0ηo~ ? 3380___PPT10.,`ߑ n 0 `(  X  C d   #  S X#d9 3  #  H  0ηo~ ? 3380___PPT10.,`{ t 0 p(  X  C d   (  S (d9 3  (  H  0ηo~ ? 3380___PPT10.,@ u 0 (  X  C d   (  S l$(d9 3  (  H  0ηo~ ? 3380___PPT10.,@ w 0 (  X  C d   (  S 0(d9 3  (  H  0ηo~ ? 3380___PPT10.,r B\irAyQ~Uosw{n4BKM\P[^?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./012456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]_`abcdeghijklmrRoot EntrydO)PicturesCurrent UserfSummaryInformation(3UPowerPoint Document(hDocumentSummaryInformation8^