ࡱ; d  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcfghijklmnopqrstuvwxyz{|}~Root Entry  !r\V)䰱 PresentationStarImpress 5.0w~zSSfxDocumentInfo  01\jAlan Robertson 01tTAlan Robertson 01D Info 0 Info 1 Info 2 Info 3 01\j8W<44Standard LIBIMBEDDED LIBIMBEDDED TASK,0,1,H 1,0,100,1,SBX sb Z Standard StarBASICSBX ARSBX AR SBX AR2c%bqqOh+'0 h t {XOutdevItemPool 1   )     &'()*+,-./06789:;UVWXYZ[\]c !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstt      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefdx0y'(@wXXX'^@Ultrafine dashed333XX,':@#2-XXXX&' @[X'@Arrow ArrowddXXXS'c@pArrowddXX':@,XXXX&'.@,XXX'@XX'@;X @U @k @ @ @ @ @'(@XXX' @̙Red 8((LLGreen 2\\&&Blue 4####XX X2XDXVXmX'@22ddEllipsoid blue gray/light blue22ddLinear blue/whiteddRadial red/yellow333322ddXX6X|X'(@ X'P`@]iBMvv(@@SD@x^SI 0 s\ z 46ZBn8x)1̔.<觔B+̄ ޢ40:prf |q]~+H~|WFMbP@aoCē[ȡz6~U{߃ݾNh.bBkH?)j?Q)K d>  <ә)CY+"HVLFF7%#dc$riL٪\|\1fF$_۪UډՒX"U<[Hl=ti %l)QiR",᧥c,#Ax9&f((_B 0>pTdG!-&3myiKڢ+# F;6R5}ZJ( \j=m=j9"9B4J]9]c5;Ȋs!Ƙ Tȸx!N㘽Q)Cm8Xz2]x&SzJ'߽Ih93Z .^.uAV$v+G !N1*!FDbfg+NAE)x%ufvׇG:vFww#\?,VPV{TuΦ6zXr_/44-TdJ= >ڐkN"4pI'3];$/fC%SENhܰ͜OxkpE~aӻv|۴I b՝JB;?:0ʹfJFitJxC;V?^t#sfW՟k%((~ dRw]4 Kq#}Vy2" u5I3MB;vdS]_5ҙT|-i9zSC뼒˗YiEmARe7!kH ~SbAM+$4@ ]M*}/jyU^ PH-HL^Fj- 9s9>J_e&ӫ>N`.T|Gqw`ٕRݸ)Q "$"Lyam NY RctBnP:5<\JoٕULԧuOpU2&BMI_a;8D EA RB) =l?nHEK]V푛1JcbGNJ|;i)w8?c~Ows< HS#J<.%k=<]a Ye3-0}E$8H†K,a_}fRKս_Ni<=[WHC;w)݋LHĐf1f4m<_* ) FRө2$Hzݮpx%%ʁ&2cΊz_+ryQԡ0[?(e=ʠ˼Ifyu_Iv<-JD161Lʍfy/PsՂvRy#7 F>;sDt?_]?d{חz ƒkS7#[՞_"=ڷ*iLEٛVM%tͼ-D9G dݝDmm剕0Ft 5 2?Z*w B_DҮD2, ytB?r.>oZݪF(!T9 4\ʏ\DݩekBX"4΅I=6L޴Y}jĪJ"F4LcŰBEyAǧ/Xg?0z)<Ev^Bf۲EG-Mʜ2(QL]IUpթ3iM^Qi:M皡AmvN٥C<% €_κ̪9Lp#ň޷+yK]GRo/0[ȄBG k>A;Knq9o‰͉ս~dr1#ɹY^~1߷TRrd֎C+6OeAB%7[2O>!iZTS;2Rd3o#ZIk/[9~ŭ7hITuKdq ?U\uRw#S%0zXۆ^wVN+@;5h)4*l]#Krݺm/L G/Q3()D I岆>~dF=g|oѢu'o3Za>j ^{#I\37-):Y0p/TN$IKEE?˲SK;q2'3JPLdjdDTReԙ]1ɡm-}0<K N3y o!ͨV"EʃӬKXpgƵ,myZz*Q-y,3oWoV=QH䒉X; vkS0Ţ Dn:g#ZEk גqS՜gkcV]<9A.ƽ"DݺHe9C k.P}"TbTMI~AW)QH5kV*Nd/d/VkO.7v2Jݜؑo*U'eI&^Ǭ"?JncqcԺӎPNj)v.j`ddw3|ĭJ)գJ&3ijZψrPݹKoYL ^kU yyIRxv/"VB\7F^:9QU$|_7kخU)4dI*/g ؛nm)%q&sԢfQŅ*Q@;gBLX rmXPB;hE%zou!"u^HyÑU{ùCך/8ƑIX#qP}>G+#eULvťLZR%Fk^KٍOӭ5}2H }jf\_y\٨תҧJ_l FUz%!oaV Aqm +u{jx*#B;Cƿ օ<1$O}>}F_r5~SR{].qޝ%#*䋞d.6e*,̥GӶ DxE3 ȼjTau(0fȂ~qLȨBZR6EcY~PPdߦquMRe'#/Zgʏ#kfԶS74bT]+jHË > M|Ɏ'} heD ENU1R~XG5StYø;otbnI* "De$NdN\+׌_xc "H ScfC~ٰt~RZTL9c\h;qb8nnZ9+Sɳ Jz'@/fȲTd-LBhQ-<Җh@va€u#6(< )傴u#Q0UȑV)fc)$2~&*u+0^6{|M„"wwŦ1w1Ȍ(}oos.)@NA"Nzt(3;CvlP9j',AȲK "r>Qij裖:4" .~f rn(@pɚ\)A9D@3U6yES-OJbrØ2n}tTDBF=Er&g3 n[`h.ZHpS 0|WT%yRoI: Z,oQ Ber3V=JCFCY/! tv̳s`'7ۛ/߯Ohp!tY-Mfuaf$f:hݜkYG.EZ$Cj[JYXM~}:c TFEXi/#JQDZ*ԉ`k^=FEbX8Y}Ro7,`5 {qgݼ&gViyFF_G?k1XEcyrz®И*vl)_pb*aG\4q,l"QsL4ʂ;%AVr;HIHa|]GGlJ n 'Cx~z1A(M(sq^Qy:^տS+2j O|TL:4E*EvLtFD1[@aטQU#MoQ LJ89uO3u4a;Vww| ܆$QG>{y`=}pX-1%z),Ҩ<00kUhQ>O`BAw#W|}?7vm|d_T3ܧMAK)TO6xT`#Nܦ p`QF=S6>Daj[fWfJ3z\d_%iBp lוݗ0nF$j`lxW5[ibJ>  i ،ղ eҕת+*Ռ4]d4C%葿^NZp^s"ASV$bN806IYO`C5I`t#Iz&+ICeҧ⍗K ~÷=̴?[o(.Ȉb߇Mi? Vk)މBlZ.RZX)6 rWurc7;Oۜ}ӑ Mg:aqVRa\YsE'J)a0ôSohEǝl {J7fs'-ǀ~3##TjXSg#v(BG㙃m/C K j?(v<UOR:(G,atjCRƵ%EC4sV(.fA+V(Zއ}bENM|<ZzL9W}dj}M\,.Ee8ƈ_lB85[浳( ֽT12U>Wl7A鈤fx$mQcY'|1˽/Q@,]vb\bY*m=i܆RZpf OѨUj."T+b[(UθE:UL;A Rg>hJKPƠ"Fw9k/<4ejn4yj}2n/E^P G܆Ix:q'琘Nz*OE>־Gw⟎>_TVz R·bҟ"(kmJLjN%ȣ _³?d(&ȇəPհ\`=p.B(UyhAe:rQrXqtJ\";)f$e jDpGQwT*mǛ‡s@t}l`.7V.F[},T -_OO\ŕ8⚯$<7H}XbŅӿyr!]74O,!=3^Ѐ- |Ea>IkUTQIOZݴ<%)2n3kC#1ڮ׃RKjץz'CH9d&b2&^c=ھc'׸{hleɊ'Jy쎯 ĄJEb6hӶA=(MOf"Q-2P$^. "ٗjwmtpOje.x*l.Ij"I@Q"( Pg8Dq>Y)K|o{ds8z_%%.rط 򥤖VZqY)Xt=0xFyw+esRRr- !m&BDv7'of'KQ$µn{o  KF٨@f[Ï%leOxMH %bT?Zة~'!fLs1lҭfMz*Q5)|Yr@Q GBzjmpt1F:jT#Fd%;م[.o-t*-"T+L`Z|$*OM'*}.XXw/6 aqқ+ߟK{:hVt-C9}Q_ҜH^B )9}Ꚉqj:FH]K*yI-J lW Äz,PiO±8#6(eTȇ+DHYccigsqLWVi+7{kQm[gNiB ;w:8@`GPպI9է8/7W$&9bcD ]Eym9Rķ^wuYw)D{߻5f4˴ ؉_Oh"cs")FhZkٴSYD1H͏U57yyJTԹ I^^\)6˨4Pب:>ڀi:@s#nt#{s^݊ͪrETF*9_3:7yͭRQ3&}c?hCB3} 5A]*2CrlԢ[ P3)C1u \L` U=VX* ޒB;9G$CQӍ_hi[xkx!=7uAVQH`T1.["6VL|&0I n/ua ^8GE}cvW\jCkXsm͊Ecr+HT*ܡmTI(C ޒAE߃Fڮ-6ͪo,H!i\!)ôˏfN n|J9̧vV`ae7M.2M?^‹<u E2VDUJeoɧ4YhP_,8L9Ox D6Koֹܬ䎐Qɻޮ~+- ?@f6Wrjlc|҇ jE_Bn1TKU?-BQiWdyWD `;LaݙKՏ.fA\9MFtHŪ5>2oж=N+\Deޒs?%YGXE1NWDZ }}]Ʃׇ7iP 9 C ǥ_b0?s>~ 2L}u#H]L9,I(v }|x=b5=z ifemdg7Zrٜ JV?WUK3L*Cxzw Tl3XhQhЋdfӡ 1#əq&7Rdvpu JB3ժg>UwS~.+Vw4s1‡\7TJr6;NdTFtz=#IJӓxޭ [ 1=L^(oo󆤇8MW{q$fW$Ֆ~XO)&Z=n*\ѴYڣ˶mFZI4Q_l1#oA4G:h |*t0sҋEwŭzA@6V#Q/ E& ̝|Y,'Xy&缧jM= GޫqBԲ):]ahg5~ t??L@YM랯qέ{*nݕۅ_}dj=jH4+IBUnֲ(2ǷlήF )ei1?꡺?wⳅрcæQ ¹?KYj͘,s41] :wj .2nP(||X)1sȬ(snCHI^B?vY3ᰭڋIXx_C-d^|ABt\3|2`AR0kdž\4lV0de0ov3aQ5!1@Y/+Z)"L2yRm^\nnGV܅gڜn O=[y6c Fk 6e\ٻ~}Rr @#'#!|%(\fs\-ۿ>6&ɚ A2h# Ep%**@O`K%(D˝&PCjBUlr'R!ŷMς!TjsdռTs>$D;Dj C\~[ݲZ5Qu"OE{LQ|ru/g8R)d|P+&)U֜N\u+SfTLNl 7?V@E*f1ST/̪=l&DSY5ӊհB^L X~<; 7dAbyݖڟuE#𗩄POgގ*B&eGZ:mNg쒐@4Q+h ZE/ds?R,h;v'([?#GzV'c`6:q5>C Z)T"ӳ<Ր1=]ژ!3ד/‡KCw_ +p3Jә$xVe9BKr}3JGz9<0$uf `k+մTIE-PXۜr]E8Uڴ 9q+Qy>W b3$(`&_p.3aLfL1vo{Ā7Zx_nbsk!4Zho; Lʾ={ DQCNTGT8)Zա#'~߿vͫ<p[xF-3JIeICRZ?h7UV N)4U[MQT (\+X-RL bXx"oOc4_wí NH o5p];R{l;u,aGfQXpV^('׸ݩ`O7FkE%݀b2*ߙÒGgDj&h~쿞L VSط5\J*pǐ]! ),?RK{`WOTAA<ԥ"8o˅ ApђQdݽ$uִh*1TiqyPPUbȇ4k!Kީ \OjZ}~7_gxX[;#EO%jfQ8@ymo[!38iWb%AшJz~?1AaY<7Q u; vB _aޡgI-vNpoo7@%+BYuXp5nc )`zWL.$E[&獐Ebmȍ)@jKq`^ێճsmlyLm7@8/da!9j}L"n%Ub*Q\j1GxPxm&&ЖVV(EAd/_j~ml[ b{펮'-uNY)[7KIv[VBb󬛰%s2Ͷ=/bszm60؅VNblPZ7\IԴFyAJ īmkfNi;b-*T/?^ ;{% ަgRר:mGHȅG1}ۂDʊuP Br\ aТ8pzW[tgk_E;ƳHTCM"Q!P"WU<(iP+8tĎu6.愎z5v.V'+/~o,j[EBn(GEW||w(,ҍP_+&YH p.W%.:22,l`8mTT C=O)̳Z0Kjz̶jV#6_lRd%Ec#קHF|ҫ^<*n TEq~ƲGErnL呂.e: 9[z8aY~:_IM$S'lkSkNdv}{ Z. ,$#֠_ヲW%K*Xe:ZM~1@߂,)]zZpT]B !XQyOQ]O^ur ؉K$V 7gE^40#{SrG .W#-wN7A-;KRz{ ,]r8LVG#B3j[2wyg eeqϙ&٣a>Q<y0 $(Ԍ6"wU=b:ίty5Kuw0OHʕwV;5#* Tv0}8ş\wp$J/k,8*r v]a_ή0 T4uix_waX4fG5 v%K|i݇LDq2z\D|! `gK9"둶NIa}'V Kޅ ^A]E),y3[s͚Y%]Z4/oɢJ5'wPEK~g#h{_(B\9o`A;%:+6XO׹f #u<8U3N݊:V0zQdǷ %#l~v5p>m+gɛvCQW%XTdմ61r!hƅeEOv= 3q ^b Pvya 8{>^oҋkzی-_9+w؆aa3S>2L=(QfuWrxݚ٤礗"6;1qL$lnz حo . JcrP\+Zw+)S=rĹ|YN.ݚW wU c"@NeHQJpJUH؉}OT EF;8'? {TB2j,N\P5R p,mv٠~$m$_΁pJظ ,|jK]!ؾ#)47 xK^t>]~aι_you$zQ!thfǷW"+*OKA6AETb:MA2+~0Vw6!G!eb jyHUǂ+-uĞ0UL[r-5 U)ɏ^)ix.T}!r,fs$G }\ReЌUߌG_A52V+o YoSj'Rk{8-x*MK[ HDoysVlox]V\5Xׁ ='3y#@l;ضz }ApХ]C:) `#-\(d""T`AY=)h†^Õ%OV*{>?<- UVJ=(GtXZݸ M +rNvM=[0{^l@{i;D/fCREB!;K/-W2HյoTo8ce! K׬+Lp\gnOb}Č B)E>~N rܛZF"DVJ& R5U6q ΫC˴|B6W^7kŬcWyGq~ 6 z {X$DReUl5X.q;qb{$N8n79{O{vsNJE`{}ɰ%xyBFR(mGԐ:A T!8=G?l*:5 ɖ#X/֝1xLи3di^*2gQ_t1s_IGKƾ9wwjȄSA!ss52zC3>2JnzrZzC#m1,+A/A,'TǾXxlH&oZ$Klp4ځ?R&Atd+;+u& 8+nA"@uor#EaAbX'i\_GFG죤\űhɃoծ4 !'lLf\@Bݪ,WK6]}>Onx.p>`>]s,Ƒ__ZxiBӣ?hR+Ə,-[5˿3KWbIiI"՘Z.x?&-dP}z#T3kOԎO9&g=Af'A#1Rp!/Ћƽ:.{-j2^ѧbBzrR۱ʇhQJࠣiq=K28t-hYm ߭TtL|d>ljwxoԪ+j0@5nJ Er/NJ \ܬ9%@%\xrL]&l\;dhe9Q#%DVMksZ*c_MKCOW}D )Y ltLh'~~v B̘:w7GBH;*^b!թI9o&솚4t9 (0ݨ,=_&I?L_L'nhI~1m@tjnQ4r7IRW1ijޮfMuzCF<~mE~ ]?$JsIW]A Z_k$>$7uC>2Э(yD2FjwFl|o2D;QkUIC4h$q5lx/4mӶnl[GZe]vjM;T=Cꒇ&9F0].;YXFǪ (|A CqFֳƢ[h3ğٺ W+ꯧgc*6O Bۯ5OܦÃ[ TIdY㸁U!pS t%KAɖ~xXݪ˜)JNIՊd'}%&KPp1HԼfD>irӉ:i ڞiP>[$irdi5 )EƬJ1؂vX(DY"Lu(M/lje;g-3ҁBE`^)bg-K CcW*DoJx x0B8) wրYW0Yz GJp WϹgxALz^ˆ&h=Rupݣ?vyH=+E+-Tѵ6nV9( o6Ǭ`P'2beG^*y !LeC!H&Cb_dmiM e'UJQVPOw+ <\Nc?ca')+JYPMUY:PY]=+}?ŤT#?sXafPeU7L/UM]t(A}W{V^57>ߋ\ݥnKRHrH-IS,*GkY닟_,aO CahG20jEݨccz:"r?!6b]kDr] ǸsQohO}ZI񰅫W9۪սߴ”{U'JHHwYlZד]/fqq@G(M/9$5C[G"ִ t;-GcP7E_e[` i]w9l8H <|c~ mVI-5S ĝU{-׺EkҵX׳ߛIU^^|1:bg+#(f>2\$(3 h!+1i7P񼧋z-BgڔqwK %g϶Rl|;/j&㥏X YG8`TVlc_3:P.0J7p_ ʸ$3zwHS_ *.B=V|{Ӛ݅Vߩ ᄗKsHjD)AU:mB9;h  z&0&N[tZ4zm2"|/p`,լ&ǙxU{|[7 f]na.+otx>bHm(]bɫ!@Zݕu\#9Ү]P2ig볙/wB/ObvM r}\rS,^Nv]+6a0/G@߾Tq+ë'moliWkFJH.vvtL"Br, P ;-%;lJK]sbtNE|"ϋ%3W1ֿ^ PC$Y-[a^X7OJw0eb:%c4!3DI{'#ld2/7 uѲO:նZm``u]A€I\)J]Zlru+UUb7Pxi?Am4ǡe;e+͘9#.R KPJ1MA4PzZ`K4N=x< yL{Q:C!L#mWsUJ*1TL+jE^[CL^HR0b.1i;V9VV+gD 0#W/ͽyP]r-N= $2Dn9QS{Ƚg衿K,}gӖ3} 0yZm8h7^:u1, M0boh.9sFV+AO)a밵{Ka8S,pEY^ OSU׻".Y%h$m!$>Bl~=*JРr u\LI}͂}rlҨK=e-.~ahFx 'Ūض9$1@c~0㱺{xH߂SXJmqɽ;R?Hċuo$M|a &Cj\$H=Oݰp"Yӝ>H倾n̷QA@jdKny`Վ2'tc!6XQ}+#zO>I,ke#%g0 HGeG[}Wұ#Śz)$!Лj2-kz]>4f c;_/Vx$4;$R1Qui`3J}GGZ}sbuiJgJy4 ?ULYVSFs bVi3LJ⤑Gv{ْG+.9$X-2ӄ^,G6W=$g3Fc`90o *&_. ?nnsQG]v6 o*JQ/:.+t/ӫ(98ͪI}I}fjP$Pk/uEor0-b~T>${Dy7~3~-YT&)[UUf9+x!g' =qHn׉ܒJ~7~'c_~Ktef!Р(C‡k\C-4v>Kũu3 lX:O:Rw Y?vȳR~2z AlkGV|; <ϸ~0Xqa^ȷl/Try(L*]D%ċK-=KL~/.(kR?ĉra "*I[3<>͢28M,ߺcJ\ "~ozl?hT uY1뉪e>UGRchЉ(JoXiÚ*^~ Ӱ5~X% "aݫ#>~t)jI!Wm|#5cU!y4dء@2djQlK_W7CYEAD[Jٛ<rC6}"Dt ƭM Gk$u 6U%uF&v3RHCVD:]qg6>YǯWUd9huwZAAɫMwU},^{&wڸNBA#ڮ[Y0~қ}2u^%!ȫLjJ {ݥJӛa{5{ B'@OK`Mhr3e7wZ!(qλ~7ߪA۽5oB<^bvT2j'pe3QMzÜ*oǀiɫ֧;dhVH biz Y-(Y_ LE7T2"w^ #7Ѯzo3zP{8}(7^jB fC8‰*٥O8Ld\Dἃ,8 w{Z6Y 1)̜6u ptn|ZCJ/E OӮ|-{b= D-q64e&vj^q[+-5*Ht˽*/QD\E{bbe#NjTeپƠp?nGko="nBm +(bv|5。FzPVb6XXJv.ǯ[l><].AWlxvTQrQpY QNk|eOCvAʥ

6XXXX&X.X6X>XFXNXVX^XfXnXvX~XXXKK@oXX(L @oMM @pNN @*pOO @@pPP @VpQQ@rpXRR @pSS @pTT @pUU @pVV@pXWW @qXX @qYY @0qZZ @Fq[[ @\q\\ @rq]] @q^^ @q__ @q`` @qaa @qbb @qcc @ rdd @"ree @8r @Nr @dr @zr @r @r @r @r@rX@sX@.sX@NsX@nsX@sdX@sX@sX@sX @ t @t @5t @Kt @at R@t''XXXX X,X2 @ eu'''''' ' '' ' XXX X,X>X\XbXnXX**<@uXXXX X&77X@!v+;(--..XX&X,X2X8X>HH@ !w!'''"' g*@'!+'!'' ''"' "'+' 1'+'!'' 1'+'!''' XX,XhXnXtXzXXXXXff@xJJKKJJKKJJKKJJKKJJKKJJKKJJKK JJKK JJKK QQVV JJKK JJKK JJJJKKJJ KKJJ JJKKJJ JJKKJJ KKJJKKJJ JJKKXX X2X8XJX\XnXXXXXXXXX XX(X:XFXXXjX|X @eyJ@y XB7}*@Vl$f:fZfpffffffg+gAgWgmggggggghh3hIh_huhhhhhhhi%i;iQigi}iiiiiij?jjjjj k#k9kOkek{kkllllllm5mKmamwmmmmmmnn1nGn]nsnnnnnnn o#o9oOoeo{ooooop1pSpspppppp q q~qLrrr tv$v P{L0EditEngineItemPool |6f*0g*<@ ",StarBatsN -",StarBatsN -",StarBatsN -"` ` ,StarBatsN -" ,StarBatsN -",StarBatsN -"hh,StarBatsN -",StarBatsN -",StarBatsN -"pp,StarBatsN - "X,StarBatsN -",StarBatsN -",StarBatsN -"` ` ,StarBatsN -" ,StarBatsN -",StarBatsN -"hh,StarBatsN -",StarBatsN -",StarBatsN -"pp,StarBatsN - ",StarBatsN -",StarBatsN -",StarBatsN -"` ` ,StarBatsN -" ,StarBatsN -",StarBatsN -"hh,StarBatsN -",StarBatsN -",StarBatsN -"pp,StarBatsN - r,StarBats -r,StarBats -r,StarBats -r ,StarBats -r,StarBats -r,StarBats -rpp,StarBats -rXX,StarBats -r@@,StarBats -r(#(#,StarBats - "XX,StarBatsi -",StarBatsi -",StarBatsi -"` ` ,StarBatsi -" ,StarBatsi -",StarBatsi -"hh,StarBatsi -",StarBatsi -",StarBatsi - Z d4|,Starbats P1` ` ,starbats K",StarBatsN -,StarBatsN K"pp,StarBatsN -"  ,StarBatsN -" ,StarBatsN -"%%,StarBatsN -"0*0*,StarBatsN -Z Z d4 ",Starbats P4 6 ` ,Starbats P4 ,Starbats P4 ^,Starbats P4 p,Starbats P4  ,Starbats P4 n# ,Starbats P4 (%,Starbats P4 ,0*,Starbats PZXX.XNXn XXHX6 @@5  XX@#dddxxdddxYFddddddY ddd YDdddYDdddYD dddYD 8ddd8YD XdddXYD Fddd ddDd -FdddddDd xdddxYD!ddd!YDXX!X:XMXfXXXXXXXX"X5XHXa<( n@ Q4N  XXXX X&X,X2X8X>XD ( `@ StarBats!"- StarBats!"- starbats !1K StarBatsX!"- starbats !1K StarBats!"- StarBats!r- StarBatsF!"-  Starbats!4P  starbats !1K G Starbats!4P  StarBats!"-  StarBatsX!"- StarBatsX!KXXGXXXX+XdXXXXHXXX@'-@q dddddXdddd ,dd|d@ddd`  dddhddddddpddd  xddd (#ddd% 'ddd0* dddX dddXdddY,dd|ddddY|` ddd` YdddYdddYpdddpY ddd Y ddd Y%ddd%Y&,dd|d@ddd` Rdd dF!,dd d""0*ddd0*Y%,dd d"XX!X4XGXZXmXXXXXXXXXX1XDX]XvXXXXXX XX2XEXXXqA'@ ddddddddddd,ddd ddd dd dddbddddXXX&X2X>XJXVXbXnXzX1' F@ddP2XXX$X/+'(@) XXX' @K!' J@~,&XXX&X2'@DTimes6TahomaTahomaBold DUtopiaBold,Verdana% Courier NewTimes New RomanXXX/XDXYXkX'@  Nd 4d d @d {d d d *hd d d d id pd d : d XXX"X,X6X@XJXTX^XhXrX|XXX?( @^'%@:XXX'@?X'@ɥ?X'@9"XX'@?X'@4KfXX%' @RS' @h"'2@ZG.CXXXX ' @ @Ҧ @{( @VlX>"B%&Z&&&&'((()&)N)m)))))*+*A*Pg* "XX,StarBatsN -",StarBatsN -",StarBatsN -"` ` ,StarBatsN -" ,StarBatsN -",StarBatsN -"hh,StarBatsN -",StarBatsN -",StarBatsN -"pp,StarBatsN - ( StarBats!"-!''Times'Od "'08s2 +-StandardStandard#'''''''''''''''+;(,,--..g* (@'A'1'+'!'''''''''Object with arrowStandardObject with arrow'''''''Object with shadowStandardObject with shadow+;(,,--..Object without fillStandardObject without fill'TextStandardText'' Text bodyStandard Text body'''Text body justfiedStandardText body justfied''+'First line indentStandardFirst line indent''g*@'TitleStandardTitle''''' 'Title1StandardTitle1 '''+;(,,--..+''Title2StandardTitle2 ''+;(,,--..g*@'A'+''HeadingStandardHeading'''A''Heading1StandardHeading1''A'''Heading2StandardHeading2''A''''Dimension LineStandardDimension Line'''''''Home~LT~Gliederung 1Home~LT~Gliederung 1''g* (@' A' +'!'' '''''''Home~LT~Gliederung 2Home~LT~Gliederung 1Home~LT~Gliederung 2@'A'' Home~LT~Gliederung 3Home~LT~Gliederung 2Home~LT~Gliederung 3@'A''Home~LT~Gliederung 4Home~LT~Gliederung 3Home~LT~Gliederung 4@'A'' Home~LT~Gliederung 5Home~LT~Gliederung 4Home~LT~Gliederung 5@'A'' Home~LT~Gliederung 6Home~LT~Gliederung 5Home~LT~Gliederung 6@'A'' Home~LT~Gliederung 7Home~LT~Gliederung 6Home~LT~Gliederung 7@' A'' Home~LT~Gliederung 8Home~LT~Gliederung 7Home~LT~Gliederung 8@' A'' Home~LT~Gliederung 9Home~LT~Gliederung 8Home~LT~Gliederung 9@' A'' Home~LT~Titel Home~LT~Titel''QQg*1'+'!''' ''''''Home~LT~UntertitelHome~LT~Untertitel''QQg*@' +'!''' ''''''Home~LT~NotizenHome~LT~Notizen ''!'''''''''Home~LT~HintergrundobjekteHome~LT~Hintergrundobjekte ''''''+;(,,--..Home~LT~HintergrundHome~LT~Hintergrund '''''TitleTitle@SubtitleSubtitle@Background objectsBackground objects@ Background Background@NotesNotes@ Outline 1 Outline 1@ Outline 2 Outline 1 Outline 2@ Outline 3 Outline 2 Outline 3@ Outline 4 Outline 3 Outline 4@ Outline 5 Outline 4 Outline 5@ Outline 6 Outline 5 Outline 6@ Outline 7 Outline 6 Outline 7@ Outline 8 Outline 7 Outline 8@ Outline 9 Outline 8 Outline 9@tPDnht@ r> 6 P X z , V "U27@&TR@,.@p5@ -Alan RobertsonDrMdL=JoeMn0014G01tT01pwTODrLy LAYER_LAYOUTDrLy LAYER_BCKGRNDDrLy LAYER_BACKGRNDOBJDrLyLAYER_CONTROLSDrLy!LAYER_MEASURELINESDrMP'JoeMlVTDrML DrOb<SVDr&y1A&DrOb<SVDr&;LdA&DrOb<SVDr&y.1LDrOb<SVDr&;.LdLDrXXgg fHome~LT~GliederungDrMPJoeMWmRDrML DrObSVDr&WmR'Home~LT~HintergrundWmRDrObSVDr& oe! Home~LT~Titel oepxV4B1[#Click to edit the title text format Home~LT~Titel<( (@'DrObWSVDr& oe{J(Home~LT~Gliederung 1 oe{J xV4B1 %Click to edit the outline text formatHome~LT~Gliederung 1<( ( @'Second Outline LevelHome~LT~Gliederung 2<( (@'Third Outline LevelHome~LT~Gliederung 3<( ( @'Fourth Outline LevelHome~LT~Gliederung 4<( (@'Fifth Outline LevelHome~LT~Gliederung 5 <( ( @'Sixth Outline LevelHome~LT~Gliederung 6 <( ( @'Seventh Outline LevelHome~LT~Gliederung 7 <( ( @'Eighth Outline LevelHome~LT~Gliederung 8<( ( @'Ninth Outline LevelHome~LT~Gliederung 9<(  ( @'" DrXXgg ^Home~LT~GliederungDrMPJoeMVTlDrML DrObSVDr&T C(0! Home~LT~TitelT C(0dxV4B1OClick to move the slide Home~LT~Titel<( (@'DrObSVDr& 3G"]#Home~LT~Notizen 3G"]mxV4B1XClick to edit the notes formatHome~LT~Notizen<( ( @' DrXXgg VHome~LT~GliederungDrPgcJoeMlVTDrML8DrMD,DrXX Handoutsgg FHome~LT~GliederungDrPg%'&JoeMWmRDrML8DrMD,DrObSVDr& oe7!  Home~LT~Titel oe7wxV4B1b*Design of the Linux-HA Heartbeat Subsystem Home~LT~Titel<( (@'DrObSVDr& oe|J(Home~LT~Gliederung 1 oe|JxV4B1http://linux-ha.org/Home~LT~Gliederung 1 <( ( @'+' DrOb7SVDr&*"X5 Standard*"X5NAT5 GIF89a!333fff33f3f3f3f3f3̙ff3f̙ff̙3̙33ff3333ff3f̙ff3ff33f3fff3f3ff3f3333f33ff33ff̙33fff3333f33f3fff̙f33ff33̙ff3̙f3ff333fff3f33ff33ff3f3fff3f33f33fff33333f3333ffff33f33f3̙ff̙f333ff̙f̙ff33f3f33̙f33ffff3̙33ff3fff33fff33f33f3333ffffffff3333̙!,!333fff33f3f3f3f3f3̙ff3f̙ff̙3̙33ff3333ff3f̙ff3ff33f3fff3f3ff3f3333f33ff33ff̙33fff3333f33f3fff̙f33ff33̙ff3̙f3ff333fff3f33ff33ff3f3fff3f33f33fff33333f3333ffff33f33f3̙ff̙f333ff̙f̙ff33f3f33̙f33ffff3̙33ff3fff33fff33f33f3333ffffffff3333̙ H\ȰÇ#JHŋ3jȱǏ C1ɓ(S$ɲ˗0cʜI͛ UyO8 JѣH"ӧ>JJիX]2M ψ)Kٳ%uZhʝK.ͷ z^ <޶>Lǐʌ#k̹ɘ}^سӨ=OἤIQRwm,ݘA0sN@㿝^(c=QRc>dw%μ<An͇}/Bvw\rxPw ~" _xV_zUZG=dAuxJ#{!PU`[6d\0OHc*V}mvx|!CS B-ycc6(rdW/z٢cȣXjXsIjIENR"U&vI%'W5 看)ghT iz2Y^=fis)矩FfFi睦Stu᫼)s ։h&5'V[XZ"m݆+0 ,覫M+\k「J(.+{)'|ʊGLázgM,VX#Fyr+,sѶ3笳yIlIǪC[lL}fDaeyn,@*-R҅&4[W4uoA$ &\_qikbL5k۪X3S^sр m}xj|?D?0Aֻz(>u~"2-sۏ#2<7@‘JCZ=s`z>\a ghzD(P`6Ty*""-D MM1pM<HƝteLc:5Qay0*xH<_IDcBj!y@J*p|}P "ijev٤lD)HPr, %xVb%QY%+]Ib-w[ʲp &QDK9 /\*Phx20Htio%.5`~_ Y䙀&CU힋:Lr:kAJ8wRĜvg)A]sf;-9 Ğ:l&宩BԤ5 I .ԛ|CaO Fbd@{jPZyQQcjJ MTTeԧ15"PNtU[% )C*-w\^bЇpU-T5sﶺSf:|+Qǘγ*T֍HJkL-W7YVNQݬغ'գ"MaintJ,Z'Fr*M)lأByԔF>:qRݪڕ&owe_t*yNŭvzDSj[\VU],s]S*pUUZ]B77`˘^t(-qCl}m/aF }[:r&X$]Neǜ3 9|Ĺ ? k.͙I&]p'!矜Zh&wrZǴkKԪJ4t*LYlI<ɡ JoʪS8,Jkn;DrObSVDr&[@? W IZ vOXbBmWcTVCW cNepJWDUC WO HGFH GHսNGE֠ GDJH.(OwL8GZŋX ( !(HX YY$I$,4n.RC,hRVӊ" hjDׯ`ÊKIba?L:de?%zp$vȰv\L2@+l 8`;$00mDhp 5Zw!uNs4hBu @gp fH=kOKC% R f&$xswa8?Iȅu OC9%!JMMrT"] ♆1$N]q(K$ " (J<0H4.1h 4KY7D2H&L6PF^fa<hmyPu^n;iEs P Zx`O5NgDOc6d< '&1xEbK@@Bhp*)6dPfHP`%4B '0l |\urF+-fvpM;to.vN.I,0 ݺdpI!V.;\x@a8:1a1@ă?*8QLlD|ċ+?G@7UQH( DL\ PH A mEx|K&ArUI_kad uvX0Wo+r 0BLԉP,=+ABбwOVhME,!$}UQڝ:-P^ m/o)2u+ Z.чVI5_rCUX&H=v1 JK+?(&9j\d;XZD"NbqUzDl[OTD,x >f-R nu&vJиT,NeBOؠ` c0` i( 9*HR*"%wƤX@QRE၊b:Ы6WA`ąq/H"0#(cT(Y{|Us #y*bR~A `D\ aW`"dJ 0 gyK%3+X \#`6p%` (-@LE~2GM(;DrObSVDr&\AI Standard\AI~NAT5 `GIF89alLEQ-\;hIesȏϝ֫ݹtWϿppp```PPP@@@000 ,lL@@pH,Ȥrl:Lb ZجvZt4<re,>? W IZ vOXbBmWcTVCW cNepJWDUC WO HGFH GHսNGE֠ GDJH.(OwL8GZŋX ( !(HX YY$I$,4n.RC,hRVӊ" hjDׯ`ÊKIba?L:de?%zp$vȰv\L2@+l 8`;$00mDhp 5Zw!uNs4hBu @gp fH=kOKC% R f&$xswa8?Iȅu OC9%!JMMrT"] ♆1$N]q(K$ " (J<0H4.1h 4KY7D2H&L6PF^fa<hmyPu^n;iEs P Zx`O5NgDOc6d< '&1xEbK@@Bhp*)6dPfHP`%4B '0l |\urF+-fvpM;to.vN.I,0 ݺdpI!V.;\x@a8:1a1@ă?*8QLlD|ċ+?G@7UQH( DL\ PH A mEx|K&ArUI_kad uvX0Wo+r 0BLԉP,=+ABбwOVhME,!$}UQڝ:-P^ m/o)2u+ Z.чVI5_rCUX&H=v1 JK+?(&9j\d;XZD"NbqUzDl[OTD,x >f-R nu&vJиT,NeBOؠ` c0` i( 9*HR*"%wƤX@QRE၊b:Ы6WA`ąq/H"0#(cT(Y{|Us #y*bR~A `D\ aW`"dJ 0 gyK%3+X \#`6p%` (-@LE~2GM(;DrObSVDr&i?Wm^J  Standardti?Wm^JUxV4B1> Alan RobertsonStandard<( (@'1'+'"' alanr@suse.comStandard<( (@'1'+'"' DrXXIntrogg V$Home~LT~GliederungDrPg |JoeMVTlDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]#Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( ( @' DrXXIntrogg VHome~LT~GliederungDrPgcJoeMWmRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr&0d !  Home~LT~Titelr0d SxV4B1>Agenda Home~LT~Titel<( (@'DrOb'SVDr& PfEL(Home~LT~Gliederung 1 PfELxV4B1What is High-AvailabilityHome~LT~Gliederung 1g*<( ( @'% What is Heartbeat?Home~LT~Gliederung 1g*<( ( @'% Heartbeat design goalsHome~LT~Gliederung 1g*<( ( @'% %Heartbeat message format and ProtocolHome~LT~Gliederung 1g*<( ( @'%%% %%%Message AuthenticationHome~LT~Gliederung 1g*<( ( @'% APIHome~LT~Gliederung 1g*<( ( @'% Futures and ConclusionsHome~LT~Gliederung 1g*<( ( @'% DrXXAgendagg N$Home~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]#Home~LT~Notizen 3G#]bxV4B1G/There is too much material for a 30-minute talkHome~LT~Notizen<( (@' #Find out audience's knowledge levelHome~LT~Notizen<( (@' Home~LT~Notizen<( (@' (Find out which topics interest them mostHome~LT~Notizen<( (@' DrXXAgendagg NHome~LT~GliederungDrPgSJoeMWmRDrML8DrMD,DrObSVDr&Wm!  Home~LT~TitelWmgxV4B1RWhat Is High-Availability? Home~LT~Titel<( (@'DrObSVDr& oe|J( Home~LT~Gliederung 1 oe|JxV4B1u&Provides the illusion of "no downtime"Home~LT~Gliederung 1<( ( @'YA type of clustering where services from failed members are moved over to working membersHome~LT~Gliederung 1<( ( @'KVarious kinds of resources can be migrated: IP addrs, disks, services, etc.Home~LT~Gliederung 1<( ( @'DrXXHA?gg NHome~LT~GliederungDrPgFJoeMVTlDrML8DrMD,DrOb<SVDr&T C(0DrOb1SVDr& 3G#]#Home~LT~Notizen 3G#]xV4B1Home~LT~Notizen<( (@' Home~LT~Notizen<( (@' Home~LT~Notizen<( (@' DrObvSVDr&b5oF,M  Standard b5oF,MxV4B1"The Internet is your Friend"Home~LT~Notizen<( (@' Home~LT~Notizen<( (@' /Discovery of failed nodes is important (duhhh!)Home~LT~Notizen<( (@' DrXXHA?gg VHome~LT~GliederungDrPgTJoeMWmRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr&Ke>! Home~LT~TitelKe>gxV4B1RWhat Is Heartbeat? Home~LT~Titel<( (@'DrObSVDr&pKeM(Home~LT~Gliederung 1pKeMxV4B1^ An component of Linux-HA projectHome~LT~Gliederung 1<( ( @'%An Open Community Development projectHome~LT~Gliederung 2<( (@'%(Lowest level Cluster Membership servicesHome~LT~Gliederung 1<( ( @'Cluster Communications LayerHome~LT~Gliederung 1<( ( @'Primitive Cluster ManagerHome~LT~Gliederung 1<( ( @'Client API supportHome~LT~Gliederung 1<( ( @'Reset Library (STONITH) supportHome~LT~Gliederung 1<( ( @'DrXX" Heartbeat?gg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]# Home~LT~Notizen 3G#]bxV4B1A8The minimal set of services which every HA cluster needsHome~LT~Notizen<( (@' Home~LT~Notizen<( (@' ,Tie cluster membership to the previous slideHome~LT~Notizen<( (@' Home~LT~Notizen<( (@' PCluster communications isn't immediately obviously related to cluster membershipHome~LT~Notizen<( (@' Home~LT~Notizen<( (@' -Cluster Manager won't be talked about furtherHome~LT~Notizen<( (@' DrXX" Heartbeat?gg NHome~LT~GliederungDrPg0JoeMWmRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& oe! Home~LT~Titel oeaxV4B1L Design Goals Home~LT~Titel<( (@' DrObnSVDr&Ud-L(Home~LT~Gliederung 1 Ud-LxV4B1(Must run forever without cluster restartHome~LT~Gliederung 1<( ( @' Reliability through simplicityHome~LT~Gliederung 1<( ( @' Easy to debugHome~LT~Gliederung 1<( ( @'RobustHome~LT~Gliederung 1<( ( @' LightweightHome~LT~Gliederung 1<( ( @'No new security holesHome~LT~Gliederung 1<( ( @'DrXX$ Design Goalsgg NHome~LT~GliederungDrPgXJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0 DrOb5SVDr& 3G#]# Home~LT~Notizen 3G#]xV4B1KISSHome~LT~Notizen<( (@' Home~LT~Notizen<( (@' Home~LT~Notizen<( (@' DrXX$ Design Goalsgg NHome~LT~GliederungDrPg=JoeMWmRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr&d{hC!  Home~LT~Titeld{hCexV4B1PHeartbeat Message Format Home~LT~Titel<( (@'DrObwSVDr&e-Q(Home~LT~Gliederung 1e-QxV4B1The Problem: "Rolling" UpgradesHome~LT~Gliederung 1<( ( @'A'1'   gSoftware upgrades can be problematic, with new and old versions of the software running simultaneously.Home~LT~Gliederung 1<( ( @'A' Message formats are key!Home~LT~Gliederung 2<( (@'A'KWe use {name,value} pairs similar to the shell environment for all messagesHome~LT~Gliederung 1<( ( @'A' This is a big help with upgradesHome~LT~Gliederung 1<( ( @'A'&This is necessary, but not sufficient.Home~LT~Gliederung 1<( ( @'A'DrXXMSG fmtgg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0 DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( ( @' DrXXMSG fmtgg NHome~LT~GliederungDrPgXJoeMWmRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& oe!  Home~LT~Titel oedxV4B1OHA Messaging Properties Home~LT~Titel<( (@'DrObSVDr&adsM(Home~LT~Gliederung 11adsMxV4B1 Need multiple, independent mediaHome~LT~Gliederung 1<( ( @''Most information is multicast in natureHome~LT~Gliederung 1<( ( @''Backup media must be continually testedHome~LT~Gliederung 1<( ( @'3Heartbeats (keepalives) are the majority of trafficHome~LT~Gliederung 1<( ( @'=Single comm failures must not cause even momentary disruptionHome~LT~Gliederung 1<( ( @'DrXX$ HA Messaginggg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0 DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( ( @' DrXX$ HA Messaginggg NHome~LT~GliederungDrPgZJoeMWmRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr&2GeP! Home~LT~Titel2GePxV4B1w'Heartbeat's Reliable Multicast Protocol Home~LT~Titel<( (@''DrObSVDr&!cN( Home~LT~Gliederung 1!cNbxV4B1E Receivers request retransmissionHome~LT~Gliederung 1<( ( @'A' Missing packets are NAKedHome~LT~Gliederung 2<( (@'A' <Heartbeats share sequence numbers with "information" packetsHome~LT~Gliederung 1<( ( @'A'<KThis guarantees that missing packets will be noticed and retransmitted soonHome~LT~Gliederung 1<( ( @'A'8Retransmissions limited by timers in sender and receiverHome~LT~Gliederung 1<( ( @'A'DrXX Protocolgg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( ( @' DrXX Protocolgg NHome~LT~GliederungDrPgJoeMWmRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr&bKe! Home~LT~TitelbKexV4B1mPacket Authentication Home~LT~Titel<( (@'DrObSVDr&-}eF( Home~LT~Gliederung 1P-}eF1xV4B1Active attackers are assumedHome~LT~Gliederung 1 <( ( @'.All cluster packets are strongly authenticatedHome~LT~Gliederung 1 <( ( @'A'MD5Home~LT~Gliederung 2 <( ( @' SHA1/HMACHome~LT~Gliederung 2 <( ( @' CRC (for secure networks)Home~LT~Gliederung 2 <( ( @'0Protocol believed to be safe from replay attacksHome~LT~Gliederung 1 <( ( @'0DrXXAuth.gg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( ( @' DrXXAuth.gg NHome~LT~GliederungDrPg<JoeMWmRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& oe! Home~LT~Titel oe~xV4B1iThe Heartbeat API Home~LT~Titel<( (@'DrObSVDr& ,oeL( Home~LT~Gliederung 1v ,oeLWxV4B18FHeartbeat API allows multiple users to work independently and securelyHome~LT~Gliederung 1<( ( @' API services:Home~LT~Gliederung 1<( ( @'Cluster status queriesHome~LT~Gliederung 2<( (@'Cluster event monitoringHome~LT~Gliederung 2<( (@'Authenticated cluster messagingHome~LT~Gliederung 2<( (@'+API interfaces available for 'C' and PythonHome~LT~Gliederung 1<( ( @'+DrXXAPIgg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( ( @' DrXXAPIgg NHome~LT~GliederungDrPgRJoeMWmRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& oe! Home~LT~Titels oeTxV4B1?STONITH Home~LT~Titel<( (@'DrObSVDr&'eK(Home~LT~Gliederung 1'eKxV4B1r Shoot The Other Node In The HeadHome~LT~Gliederung 1<( ( @'  A form of "I/O fencing"Home~LT~Gliederung 1<( ( @'5Generally accomplished by powering the other node offHome~LT~Gliederung 1<( ( @'5This occurs when a node diesHome~LT~Gliederung 1<( ( @'-Hopefully the node can rejoin the cluster ;-)Home~LT~Gliederung 1<( ( @'A'-*-*-*-DrXXSTONITHgg RHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( ( @' DrXXSTONITHgg NHome~LT~GliederungDrPgeJoeMWmRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& oe! Home~LT~Titel oefxV4B1QHeartbeat Futures Home~LT~Titel<( (@'DrObSVDr& oeP(Home~LT~Gliederung 1< oePxV4B1$Creation of a "real" cluster managerHome~LT~Gliederung 1<( ( @'FProviding heartbeat, comm services for FailSafe and other OSS projectsHome~LT~Gliederung 1<( ( @'7Adding new heartbeat media types (multicast, USB, etc.)Home~LT~Gliederung 1<( ( @'+Phoenix-style n-phase cluster transactions?Home~LT~Gliederung 1<( ( @'Cluster diagnostics subsystemHome~LT~Gliederung 1<( ( @'DrXXFuturesgg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( ( @' DrXXFuturesgg NHome~LT~GliederungDrPg@JoeMWmRDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr&UdC ! Home~LT~TitelUdC `xV4B1K Conclusions Home~LT~Titel<( (@' DrObSVDr& MfB(Home~LT~Gliederung 1l MfBMxV4B10BHeartbeat is lightweight, simple and it has a proven basic design.Home~LT~Gliederung 1<( ( @'"It's available under the GPL/LGPL.Home~LT~Gliederung 1<( ( @'1'FThousands of downloads have occured, many (hundreds?) of sites use it.Home~LT~Gliederung 1<( ( @'@It will continue to be enhanced and new technolgies added to it.Home~LT~Gliederung 1<( ( @')It is complementary to other OSS projectsHome~LT~Gliederung 1<( ( @'DrObSVDr&'`0GPk O Standard'`0GPk O~NAT5 `GIF89alLEQ-\;hIesȏϝ֫ݹtWϿppp```PPP@@@000 ,lL@@pH,Ȥrl:Lb ZجvZt4<re,>? W IZ vOXbBmWcTVCW cNepJWDUC WO HGFH GHսNGE֠ GDJH.(OwL8GZŋX ( !(HX YY$I$,4n.RC,hRVӊ" hjDׯ`ÊKIba?L:de?%zp$vȰv\L2@+l 8`;$00mDhp 5Zw!uNs4hBu @gp fH=kOKC% R f&$xswa8?Iȅu OC9%!JMMrT"] ♆1$N]q(K$ " (J<0H4.1h 4KY7D2H&L6PF^fa<hmyPu^n;iEs P Zx`O5NgDOc6d< '&1xEbK@@Bhp*)6dPfHP`%4B '0l |\urF+-fvpM;to.vN.I,0 ݺdpI!V.;\x@a8:1a1@ă?*8QLlD|ċ+?G@7UQH( DL\ PH A mEx|K&ArUI_kad uvX0Wo+r 0BLԉP,=+ABбwOVhME,!$}UQڝ:-P^ m/o)2u+ Z.чVI5_rCUX&H=v1 JK+?(&9j\d;XZD"NbqUzDl[OTD,x >f-R nu&vJиT,NeBOؠ` c0` i( 9*HR*"%wƤX@QRE၊b:Ы6WA`ąq/H"0#(cT(Y{|Us #y*bR~A `D\ aW`"dJ 0 gyK%3+X \#`6p%` (-@LE~2GM(;DrObSVDr&F> N StandardF> N~NAT5 `GIF89alLEQ-\;hIesȏϝ֫ݹtWϿppp```PPP@@@000 ,lL@@pH,Ȥrl:Lb ZجvZt4<re,>? W IZ vOXbBmWcTVCW cNepJWDUC WO HGFH GHսNGE֠ GDJH.(OwL8GZŋX ( !(HX YY$I$,4n.RC,hRVӊ" hjDׯ`ÊKIba?L:de?%zp$vȰv\L2@+l 8`;$00mDhp 5Zw!uNs4hBu @gp fH=kOKC% R f&$xswa8?Iȅu OC9%!JMMrT"] ♆1$N]q(K$ " (J<0H4.1h 4KY7D2H&L6PF^fa<hmyPu^n;iEs P Zx`O5NgDOc6d< '&1xEbK@@Bhp*)6dPfHP`%4B '0l |\urF+-fvpM;to.vN.I,0 ݺdpI!V.;\x@a8:1a1@ă?*8QLlD|ċ+?G@7UQH( DL\ PH A mEx|K&ArUI_kad uvX0Wo+r 0BLԉP,=+ABбwOVhME,!$}UQڝ:-P^ m/o)2u+ Z.чVI5_rCUX&H=v1 JK+?(&9j\d;XZD"NbqUzDl[OTD,x >f-R nu&vJиT,NeBOؠ` c0` i( 9*HR*"%wƤX@QRE၊b:Ы6WA`ąq/H"0#(cT(Y{|Us #y*bR~A `D\ aW`"dJ 0 gyK%3+X \#`6p%` (-@LE~2GM(;DrObSVDr&X B]DP  StandardX B]DPxV4B1t Alan Robertson alanr@suse.comStandard<( ( @'1'+'"'http://linux-ha.org/Standard<( ( @'1'+'"' DrXX# Conclusionsgg NHome~LT~GliederungDrPgJoeMVTlDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&T C(0DrObSVDr& 3G#]# Home~LT~Notizen 3G#]axV4B1LClick to add notesHome~LT~Notizen<( ( @' DrXX# Conclusionsgg NHome~LT~GliederungDrXXi%Generic PrinterSGENPRT PostScriptkVT$mRVT$md,,lprdefault_queueSGENPRT#PageSize:LetterResolution:600dpi DrVwP SVDr SVDr:SVDr{{SVDrALayout:SVDr{{SVDr#SVDr SVDr# SVDr0 SVDr1 SVDr3 SVDr4SVDr@SVDr SVDrD SVDrP SVDrQ DrHL DrHL DrHL w~zS Root Entry!r\V)䰱CompObjEOle persist elements" SfxDocumentInfo uStarBASIC BasicManager24SfxWindowsSfxStyleSheetsٻStandardjSummaryInformation( 4StarDrawDocument3$e