diff options
| author | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
|---|---|---|
| committer | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
| commit | 33613a85afc4b1481367fbe92a17ee59c240250b (patch) | |
| tree | 670b842326116b376b505ec2263878912fca97e2 /Bachelor/BSc-Arbeit/mat_bsc_arbeit/reisner01.ps | |
| download | Studium-master.tar.gz Studium-master.tar.bz2 | |
Diffstat (limited to 'Bachelor/BSc-Arbeit/mat_bsc_arbeit/reisner01.ps')
| -rw-r--r-- | Bachelor/BSc-Arbeit/mat_bsc_arbeit/reisner01.ps | 30395 |
1 files changed, 30395 insertions, 0 deletions
diff --git a/Bachelor/BSc-Arbeit/mat_bsc_arbeit/reisner01.ps b/Bachelor/BSc-Arbeit/mat_bsc_arbeit/reisner01.ps new file mode 100644 index 0000000..369c664 --- /dev/null +++ b/Bachelor/BSc-Arbeit/mat_bsc_arbeit/reisner01.ps @@ -0,0 +1,30395 @@ +%!PS-Adobe-2.0 +%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software +%%Title: dipl.dvi +%%Pages: 89 +%%PageOrder: Ascend +%%BoundingBox: 0 0 596 842 +%%DocumentFonts: Times-Roman +%%DocumentPaperSizes: a4 +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: dvips -t a4 -o /home/philipp/diplomarbeit/dipl.ps +%+ dipl.dvi +%DVIPSParameters: dpi=600, compressed +%DVIPSSource: TeX output 2000.05.18:1154 +%%BeginProcSet: texc.pro +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 +1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx +0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx +sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ +rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp +gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B +/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ +/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ +A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy +get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} +ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp +fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 +{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add +chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ +1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} +forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ +/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) +(LaserWriter 16/600)]{A length product length le{A length product exch 0 +exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse +end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask +grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} +imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round +exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto +fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p +delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} +B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ +p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S +rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: 8r.enc +% @@psencodingfile@{ +% author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry", +% version = "0.6", +% date = "1 July 1998", +% filename = "8r.enc", +% email = "tex-fonts@@tug.org", +% docstring = "Encoding for TrueType or Type 1 fonts +% to be used with TeX." +% @} +% +% Idea is to have all the characters normally included in Type 1 fonts +% available for typesetting. This is effectively the characters in Adobe +% Standard Encoding + ISO Latin 1 + extra characters from Lucida. +% +% Character code assignments were made as follows: +% +% (1) the Windows ANSI characters are almost all in their Windows ANSI +% positions, because some Windows users cannot easily reencode the +% fonts, and it makes no difference on other systems. The only Windows +% ANSI characters not available are those that make no sense for +% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen +% (173). quotesingle and grave are moved just because it's such an +% irritation not having them in TeX positions. +% +% (2) Remaining characters are assigned arbitrarily to the lower part +% of the range, avoiding 0, 10 and 13 in case we meet dumb software. +% +% (3) Y&Y Lucida Bright includes some extra text characters; in the +% hopes that other PostScript fonts, perhaps created for public +% consumption, will include them, they are included starting at 0x12. +% +% (4) Remaining positions left undefined are for use in (hopefully) +% upward-compatible revisions, if someday more characters are generally +% available. +% +% (5) hyphen appears twice for compatibility with both +% ASCII and Windows. +% +/TeXBase1Encoding [ +% 0x00 (encoded characters from Adobe Standard not in Windows 3.1) + /.notdef /dotaccent /fi /fl + /fraction /hungarumlaut /Lslash /lslash + /ogonek /ring /.notdef + /breve /minus /.notdef +% These are the only two remaining unencoded characters, so may as +% well include them. + /Zcaron /zcaron +% 0x10 + /caron /dotlessi +% (unusual TeX characters available in, e.g., Lucida Bright) + /dotlessj /ff /ffi /ffl + /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef + % very contentious; it's so painful not having quoteleft and quoteright + % at 96 and 145 that we move the things normally found there to here. + /grave /quotesingle +% 0x20 (ASCII begins) + /space /exclam /quotedbl /numbersign + /dollar /percent /ampersand /quoteright + /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash +% 0x30 + /zero /one /two /three /four /five /six /seven + /eight /nine /colon /semicolon /less /equal /greater /question +% 0x40 + /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O +% 0x50 + /P /Q /R /S /T /U /V /W + /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore +% 0x60 + /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o +% 0x70 + /p /q /r /s /t /u /v /w + /x /y /z /braceleft /bar /braceright /asciitilde + /.notdef % rubout; ASCII ends +% 0x80 + /.notdef /.notdef /quotesinglbase /florin + /quotedblbase /ellipsis /dagger /daggerdbl + /circumflex /perthousand /Scaron /guilsinglleft + /OE /.notdef /.notdef /.notdef +% 0x90 + /.notdef /.notdef /.notdef /quotedblleft + /quotedblright /bullet /endash /emdash + /tilde /trademark /scaron /guilsinglright + /oe /.notdef /.notdef /Ydieresis +% 0xA0 + /.notdef % nobreakspace + /exclamdown /cent /sterling + /currency /yen /brokenbar /section + /dieresis /copyright /ordfeminine /guillemotleft + /logicalnot + /hyphen % Y&Y (also at 45); Windows' softhyphen + /registered + /macron +% 0xD0 + /degree /plusminus /twosuperior /threesuperior + /acute /mu /paragraph /periodcentered + /cedilla /onesuperior /ordmasculine /guillemotright + /onequarter /onehalf /threequarters /questiondown +% 0xC0 + /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla + /Egrave /Eacute /Ecircumflex /Edieresis + /Igrave /Iacute /Icircumflex /Idieresis +% 0xD0 + /Eth /Ntilde /Ograve /Oacute + /Ocircumflex /Otilde /Odieresis /multiply + /Oslash /Ugrave /Uacute /Ucircumflex + /Udieresis /Yacute /Thorn /germandbls +% 0xE0 + /agrave /aacute /acircumflex /atilde + /adieresis /aring /ae /ccedilla + /egrave /eacute /ecircumflex /edieresis + /igrave /iacute /icircumflex /idieresis +% 0xF0 + /eth /ntilde /ograve /oacute + /ocircumflex /otilde /odieresis /divide + /oslash /ugrave /uacute /ucircumflex + /udieresis /yacute /thorn /ydieresis +] def + +%%EndProcSet +%%BeginProcSet: special.pro +%! +TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N +/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known +{userdict/md get type/dicttype eq{userdict begin md length 10 add md +maxlength ge{/md md dup length 20 add dict copy def}if end md begin +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale +}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState +save N userdict maxlength dict begin/magscale true def normalscale +currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts +/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x +psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx +psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub +TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ +psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 +roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath +moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict +begin/SpecialSave save N gsave normalscale currentpoint TR +@SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ +CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto +closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx +sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR +}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse +CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury +lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N +/@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} +repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N +/@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX +currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY +moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X +/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 +1 startangle endangle arc savematrix setmatrix}N end + +%%EndProcSet +TeXDict begin 39158280 55380996 1000 600 600 (dipl.dvi) +@start +%DVIPSBitmapFont: Fa ecti1095 10.95 54 +/Fa 54 253 df<933807FF80043F13F09338FE00FCDB01F0131EDB07E0130F4B48131F4C +133F031F147F4BC7FCA2187E037E14381800A215FE5DA414015DA414030103B712F0A218 +E0903A0003F000070207140F4B14C0A3171F020F15805DA2173F1800141F5D5F177EA214 +3F92C712FE5FA34A1301027EECF81CA3160302FEECF03C4A1538A21878187013014A0101 +13F018E0933800F1C0EF7F800103ED1F004A91C7FCA35C1307A25C121CEA7E0F00FE5BA2 +49CAFC12FCEAF81E485AEA7878EA3FF0EA07C0385383BF33>28 D<EA01E0EA03F8120712 +0F13FCA213F8A2EA03D8EA001813381330A21370136013E013C01201EA038013005A120E +5A5A5A5A5A0E1B7A881C>44 D<387FFFFCA3B5FCA21605799520>I<120EEA3F80127F12 +FFA31300127E123C090976881C>I<15FE913807FF8091381F07C091387C01F0ECF00049 +4813F8494813780107147C495A49C7FC167E133E137EA25BA2485AA2000315FEA25B0007 +15FCA2491301120FA34848EB03F8A44848EB07F0A448C7EA0FE0A316C0007E141F12FE16 +80153FA2481500A2157EA25DA25D4813015D6C495A127C4A5A4A5A6C49C7FC143E6C5B38 +0FC1F03803FFC0C648C8FC273F76BC2E>48 D<15FE913803FFC091380F01F091383C00F8 +4A137C4A7F4948133F49487F4A148049C7FC5BEB0E0C011E15C0EB1C0EEB3C0613381378 +1370020E133FD9F00C148013E0141C0218137F00011600EBC0384A13FEEC600102E05B3A +00E3C003F89039FF0007F0013C495A90C7485A5E037FC7FC15FC4A5A4A5AEC0FC04AC8FC +147E14F8EB03E0495A011FC9FC133E49141801F0143C48481438485A1678485A48C85A12 +0E001E4A5AD83FE0130301FF495A397C3FF01FD8780FB55AD8700391C7FCD8F0015B486C +6C5A6E5AEC07C02A3F79BC2E>50 D<1638167E16FE16FCA3150116F8A3150316F0A21507 +16E0A2ED0FC0A3ED1F80A216005DA2157EA2157C15FC5D14015D14035D4A5AA24A5AA24A +C7FC143EED038091387C0FC014F8ECF01F01011480EB03E014C0903807803F010F1400EB +1F00133E495B49137E485A485A484813FE48B46C5A4813F04813FE267C00FF130800F090 +380FFFFC00601301C714E0913803F8005DA314075DA3140F5DA3141F5DA3020EC7FC274F +7DBC2E>52 D<ED0FE0ED7FF8913801FFFE913807F01F91381F800F91383F0007027E133F +02F8137F495A495A13074948137E4948130049C8FCA2137E13FE5B12015B1203A23907F0 +1FC0ECFFF0390FE1E07C9038E7803E9038EE001ED81FFC131F01D8EB0F8013F84914C048 +5AA25B16E0485AA290C7FCED1FC0A212FEA2153F1680A25A157F1600A215FEA24A5A5D00 +7C13035D4A5A6C495A4A5A6C017EC7FC380F81FC6CB45A6C13E0C66CC8FC283F76BC2E> +54 D<131E137FEBFF80A31400A25B133890C7FCB3A3120EEA3F80127F12FFA390C7FC12 +7E123C112776A61C>58 D<17381778A217FCA21601A216031607A2160FA2161DA2163916 +79167116E1A2923801C1FEA2ED0380A2ED07005D150E5DA25DA25D15F05D14015D4A487F +A24AC77EA2140E141E021FB6FC5CA20270C77EA25CA2495A13035C49C8FC1880010E153F +A25B133C1338137813F80001167FD807FCEDFFC0B500C0013F13FFA25C38417BC043>65 +D<9339FF8001C0030F13E0033F9038F803809239FF807C07913A03FC001E0FDA0FF0EB0F +1FDA3FC09038079F004AC76CB4FC02FE80495A49486E5A495A495A4948157E4948157C13 +7F49C9FC5B00011778485A5B12071870485AA2485A95C7FC123F5BA2127F5BA312FF90CC +FCA55A170FA2170EA2171E171C173C17381778007F167017F04C5A6C5E6D1403001F4B5A +6D4AC8FC6C6C141E00075D6D14F8D803FCEB01E0C66CEB07C090267FC03FC9FC90381FFF +FE010713F0010013803A4272BF41>67 D<49B77E18F018FC903B0003FC0003FE9438007F +804B143FF00FC019E00207ED07F04B140319F81801140F4B15FC1800A2141F4B15FEA314 +3F5DA21801147F92C8FCA219FC5C4A1503A3010117F84A1507A219F00103160F5C19E018 +1F010717C05CF03F80A2010FEE7F004A157E18FE4D5A011F5E4A4A5A17074D5A013F4B5A +4A4A5A4DC7FC017FEC01FC4C5A91C7EA0FE049EC7FC0007F90B6C8FCB712FC16C03F3E7B +BD44>I<49B812F8A390260003FCC7123F18074B14031801F000F014075DA3140F5D19E0 +A2141F4B1338A2EF7801023F027013C04B91C7FCA217F0027F5CED00011603160F91B65A +A39138FE001F0101EC07805CA3010392C8FC5C18074C5B0107020E130E5C93C7121E181C +010F163C4A15381878A2011F5E5C4D5AA2013F15034A4A5A170F017F151F4D5A91C812FF +49020F90C7FC007F90B7FCB9FC5F3D3E7BBD3D>I<49B812F0A390260003FCC7123F180F +4B14071803F001E014075DA3140F5D19C0A2141F5D1770EFF003023F02E013804B91C7FC +A21601027F5CED0003A216074AEB1F8092B5FCA3902701FE003FC8FC4A7F82A20103140E +5CA2161E0107141C5CA293C9FC130F5CA3131F5CA3133F5CA2137FA291CBFC497E007FEB +FF80B6FCA23C3E7BBD3B>I<49B5D8FC01B512FCA390260003FEC73803FE004B5D4B5DA2 +180714074B5DA2180F140F4B5DA2181F141F4B5DA2183F143F4B5DA2187F147F92C890C7 +FCA26091B8FC60A24AC7120113014A5DA2170313034A5DA2170713074A5DA2170F130F4A +5DA2171F131F4A5DA2173F133F4A5DA2017F157FA291C890C8FC496C4A7EB690B6FCA24A +5D463E7BBD43>72 D<49B512FEA216FC90390003FE005D5DA314075DA3140F5DA3141F5D +A3143F5DA3147F92C7FCA35C5CA313015CA313035CA313075CA3130F5CA3131F5CA3133F +5CA2137FA291C8FC497EB6FCA3273E7BBD23>I<4AB512FCA391C71300A25EA215015EA3 +15035EA315075EA3150F5EA3151F5EA3153F5EA3157F93C7FCA35DA25DA21401A25DA214 +03A25DA21407121FD87F805BA2140FD8FF005B141F485C00F8495A12E0007049C8FC14FE +387801FC383C03F06C485A3807FF80D801FCC9FC2E4078BD2F>I<49B500FC903807FFFE +A390260003FEC813C04B16004B15FC4E5A19E002074B5A4BEC0F80061EC7FC60020F5D4B +5CEF03E0EF0780021F4AC8FC4B131E5F17F8023F495A92388003C04C5A4CC9FC027F131E +ED007F5E5D4A487F4A5AED1F3F033C7F010113789138FCF01FDAFDE07F9138FFC00F4901 +807FECFE004A13074A8013074A130383A2010F6E7E5C160083131F4A8084A2013F153F4A +81A2017F6F7EA291C87F496C4A7E007F01FE0107B57EB5FCA2473E7BBD45>I<49B6FCA3 +90260003FEC8FC5D5DA314075DA3140F5DA3141F5DA3143F5DA3147F92C9FCA35C5CA313 +015CA313035C18C0EF01E0010716C05C17031880130F4A140718005F131F4A141EA2173E +013F5D4A14FC1601017F4A5A160791C7121F49ECFFF0B8FCA25F333E7BBD39>I<902601 +FFFE93381FFFC062A2D9000394387FE000505A6303BFED01DF1AFF0207EE03BF033FDB07 +3FC7FCA2F10E7F140F020EEE1C7E19381AFE021E167091261C1F805D19E019E1023CED01 +C1023892380381F8A2F0070314780270030E5B181C19079126F00FC0133802E05F1870F0 +E00F130102C0DA01C05BA2943803801F13030280DA07005B170EDB07E0143F01075D0200 +94C8FC5F4D5B5B010E4B137EA2DCE1C013FE011EECE380011C5F04E7C7FCDB03F7130101 +3C14FE01385F5E01784A130313F8486C4A5CD807FE4C7EB500F0D9E007B512F016C0DAE0 +015E523E7ABD51>I<EE7FC0923807FFF892383F807E9239FC001F80DA01F0EB07C0DA07 +E06D7EDA0F806D7E023FC77F027E6E7E4A157C4948157E495A494881495A011F1780495A +91C9121F5B01FE17C0A2485A12035B120749163F120FA25B121F19804848167FA44848EE +FF00A34D5AA390C9485A5A6017076C5F170F604D5AA24D5A4DC7FC6C6C157E17FE001F4B +5A4C5A6D4A5A000F4B5A6C6C4A5A4CC8FC6C6C147E6C6C5C6C6CEB03F0013FEB0FC09026 +1FC07FC9FC903807FFFC010013C03A4274BF45>79 D<49B77E18F018FC903B0003FC0003 +FEEF00FF4BEC3F80F01FC01407F00FE05DA2020F16F0A25DA2141FF01FE05DA2023F16C0 +183F4B1580187F027F160018FE92C7485A604AEC07F04D5A4AEC3F804CB4C7FC49B612F8 +17E002FCCAFCA21303A25CA21307A25CA2130FA25CA2131FA25CA2133FA25CA2137FA291 +CBFC497E007F13FEB5FCA23C3E7BBD3D>I<49B612FCEFFF8018F0903B0003FC000FF8EF +01FE4B6D7E84F03F800207ED1FC05DA219E0140F5DA3021FED3FC05DA2F07F80143F4B15 +0018FE4D5A027F5D92C7485AEF0FE0EF1F804A027EC7FC4AEB07F891B612E01780903A01 +FE000FE04AEB03F0707E707E0103814A147E177FA213075CA25F130F5C5F1601131F5CA3 +013F020314404A16E05F017F160119C091C700011303496C1680B61507933900FE0F004A +EC7E1ECAEA1FFCEF07F03B407BBD42>82 D<92390FF001C0ED7FFE4AB5EA0380913907F0 +0FC791390FC003EF91381F0001023E903800FF004A805C495A4948143EA2495AA2010F15 +3C5CA3011F1538A46E91C7FCA2806D7E14FCECFFC06D13F86D13FF16E0010014F86E7F02 +1F7F02037FEC003F03077F1500167F707E161FA2160FA212075A5F120EA2001E151F94C7 +FCA25E003E153E5E123F5E486C495A4B5A6D1307D87DE0EB0F80D8F8F849C8FCD8F07F13 +FE90383FFFF8D8E00F13E048C690C9FC32427ABF33>I<48B9FCA3489039001FE00101F8 +ED007FD807E04A133F49161F49161E000F143F90C75BA2121E157F001C92C7FC003C171C +12385D00785C1270183C00F001011538C7491400A314035DA314075DA3140F5DA3141F5D +A3143F5DA3147F92C9FCA35C5CA313015CA21303A25CEB0FFC003FB6FCA3383E71BD41> +I<B500F891387FFFC094B5FC1980D807FEC8380FF8006C48ED07E0495E604DC7FC7F0001 +160E5F173C17385FA25F16015F4C5A7F4CC8FC00005D160E5EA25EA25E16F05E6D495AA2 +6D495A150793C9FC150EA25D153C15385D14805D133FEC81C014835D0287CAFCA2148E14 +9E149C14F8A26D5AA25C5CA25CA291CBFC131EA23A406DBD43>86 +D<267FFFF890B500F890B512C0B5FC60000390C7D807FEC7380FF80001FCDA03F86E5A74 +5A6300014F5A98C7FC16071A0E040F151E1A1C041F153C1A38043B5DA204735D16F304E3 +4A5A150104C34A5AED03834FC8FCED0703190E150E715B031C153C040114380338157819 +7003705D15F003E04A5A140103C04A5AEC038001FE4CC9FC0000EB0700180E140E604A15 +3C18384A157818704A5DA24AECFDC013FF4AECFF80A24A92CAFC91C7FC5F5B5F5B5F5B70 +5A5B5F52406EBD5A>I<91B500FC90383FFFF8A25E020301C0010713006E90C713F86EED +03E04E5A616F6C49C7FC181E033F5C70133860031F5CEEE0014D5A030F495A7048C8FC17 +0E03075B705A03031378705AEEFDE06FB45A5F94C9FC6F5A82A2824C7E5D83ED03BFED07 +1F030F7F151EED3C0F03787F1570EDE007DA01C07F02031303DA07807FEC0F00021E1301 +021C805C4A13004A80130149488049488149C8FC496F7E5B01FF157F00076D4A7EB500E0 +010FEBFFC0A261453E7CBD43>I<B500FC91383FFFE0A25C000390C83807FE006C48ED03 +F04D5A00005F6D4B5A95C7FC6D151E6E5C5F013F15706E5C4C5A011F14036E495A94C8FC +160E6D6C5B163C5E010714706E5B4B5A0103495AECFC074BC9FC0101130E6E5A5D15786D +6C5A5D5D6E5AA292CAFCA2147E14FEA35C1301A35C1303A35C1307A3495AA3131F001FB5 +12C0A33B3E6EBD43>I<147E49B47E903907C1C38090391F80EFC090383F00FF017E137F +4914804848133F485AA248481400120F5B001F5C157E485AA215FE007F5C90C7FCA21401 +485C5AA21403EDF0385AA21407EDE078020F1370127C021F13F0007E013F13E0003E137F +ECF3E1261F01E313C03A0F8781E3803A03FF00FF00D800FC133E252977A72E>97 +D<EB1FC0EA0FFF5CA2EA003FA291C7FCA25BA2137EA213FEA25BA21201A25BA21203A25B +147C3807F1FF9038F787C09038EE03E09038FC01F0EA0FF801F013F814005B485A15FC5B +1401123FA21300A248130315F8127EA2140700FE14F05AA2EC0FE0A348EB1FC01580143F +1500147E1278007C5B495A383C03F06C485A380F0F80D807FEC7FCEA01F81E4076BE29> +I<EC1FC0ECFFF0903803F07C90380FC01E90381F000E013E130F49131F01FC137F485A48 +5A0007147E5B000F143848481300A2485AA3127F90C8FCA35A5AA55A1506150E007E141E +153C1578003E14F0003FEB01E06CEB07C0390F800F003807C07E3801FFF038007F802029 +77A729>I<EE3F80ED1FFF1700A2ED007FA2167EA216FEA25EA21501A25EA21503A25EA2 +1507A25E147E903801FF8F903807C1CF90391F80EFC090383F00FF017E137F5B48486D5A +485AA2485A000F92C7FC5B001F5CA24848137EA215FE127F90C75AA214015A485CA21403 +16384814F0A21407167891380FE070127C021F13F0007E013F5B003E137FECF3E1261F01 +E35B3A0F8781E3802703FF00FFC7FCD800FC133E294077BE2E>I<143F903801FFE09038 +07C0F090381F0078137E49133C485A485A12074848137C491378121F484813F8EC01F000 +7FEB07E09038001FC0903801FF00EBFFF8B5128048C8FCA45AA6150C151C153C007C1478 +15F0007EEB01E0003EEB03C06CEB0F806CEB1E00380780FC3803FFE0C690C7FC1E2976A7 +29>I<167C4BB4FC923807C78092380F83C0151F160FED3F1FA2157E1780EE0F0093C7FC +5DA414015DA414035DA30103B512F8A390260007E0C7FCA3140F5DA5141F5DA4143F92C8 +FCA45C147EA414FE5CA413015CA4495AA4495AA4495AA2121C007E5B12FE49C9FCA2EAFC +1E485A12F0EA7878EA3FE0EA0F802A5383BF1C>I<EC03E0EC1FF891383E1E389138F80E +FC903801F007EB03E001071303D90FC013F8EB1F80133F14004914F0137E01FE1307A248 +4814E0A2150F12034914C0A2151F1207491480A2153FA2491400A25DA2000314FE140113 +F0000113034A5A3800F80EEB7C3DEB1FF1903807C1F8EB00011403A25DA21407A25D140F +003C5C127E00FE495A4AC7FC147E485B38F001F8387C03E0383FFF80D807FEC8FC263B7C +A729>I<EB01FC13FF5CA21303A25CA21307A25CA2130FA25CA2131FA25CA2133FA291C8 +FCEC03F890387F0FFE91383E0F80D97E7813C0ECE007D9FFC013E014801400A2485A5BA2 +5B0003140F16C05BA20007141F16805BA2000F143F16005B5D001F147EEDFE074913FCA2 +003F0101130FEDF80E1300161E48ECF01CA2007E1538A200FE1570020013E048EC7FC000 +38EC1F0028407ABE2E>I<1470EB01FCA314F8A2EB00E01400AD137C48B4FC38038F80EA +0707000E13C0121E121CEA3C0F1238A2EA781F00701380A2EAF03F140012005B137E13FE +5BA212015BA212035B1438120713E0000F1378EBC070A214F0EB80E0A2EB81C013831480 +38078700EA03FEEA00F8163D79BB1C>I<ED0380ED0FC0151FA31680ED0F0092C7FCADEC +07C0EC3FF0EC78F8ECE07CEB01C01303EC807EEB0700A2010E13FE5D131E131CEB3C01A2 +01005BA21403A25DA21407A25DA2140FA25DA2141FA25DA2143FA292C7FCA25CA2147EA2 +14FEA25CA213015CA3383C03F0127E38FE07E05C495A4848C8FCEAF03EEA707CEA3FF0EA +0FC0224F83BB1C>I<EB01FC13FF5CA21303A25CA21307A25CA2130FA25CA2131FA25CA2 +133FA291C8FCED07C049EB1FF0ED7838017EEBE078913801C1FC9038FE038191380703F8 +EBFC0E140C000190381C00E04A1300495A5C3803F9C0EBFB8049C8FC13FE485AEBFFC0EB +EFF0EBE1FC380FE0FE147F497E6E7E121F16E01380A2003F1481023F13C001001301A248 +14031680007EEB1F07160000FE5CEC0F1E48EB07FC0038EB01F026407ABE29>I<EB07F0 +EA03FF14E0A2EA000FA214C0A2131FA21480A2133FA21400A25BA2137EA213FEA25BA212 +01A25BA21203A25BA21207A25BA2120FA25BA2121FA25BA2123FA290C7FCA25A1307127E +A2EAFE0F130E12FCA2131E131CA2EA7C381378EA3C70EA1FE0EA0780144079BE17>I<D8 +01F0D93F80137F3D07FC01FFE003FFC03D0F3E07C1F80F83F03D0E1F0F00FC1E01F8001E +011C90387C3800001C49D97E707F003C01F05C0038157F4A5C26783FC05C12704A91C7FC +91C7127E00F003FE1301494A5CEA007EA20301140301FE5F495CA203031407000160495C +180F03075D0003051F13E0494A1480A2030FEC3F810007F001C0495CA2031F91383E0380 +120F494AEC0700A2033F150E001FEF1E1C4991C7EA0FF80007C7000EEC03E0432979A74A +>I<D801F0EB3F803A07FC01FFE03A0F3E07C1F83A0E1F0F00FC001E011C137C001C4913 +7E003C13F012385C38783FC012705C91C7FC00F015FE495CEA007EA2150101FE5C5BA215 +0300015D5B15075E0003020F13704914C0A2031F13F00007ED80E05B1681EE01C0120F49 +EC0380A2EE0700001FEC0F0E49EB07FC0007C7EA01F02C2979A733>I<EC1FC0ECFFF890 +3803F07C90380FC01FEB1F8090393F000F80017E14C0491307484814E0485A12075B000F +15F0485AA2485AA2ED0FE0127F90C7FCA2151F4815C05AA2ED3F80A2ED7F00A248147E00 +7C5C007E13015D4A5A003E495A6C495A4A5A260F803EC7FC3807C0FC3801FFF038003F80 +242977A72E>I<903903E001F890390FF807FE903A1E7C1E0F80903A1C3E3C07C0013C13 +7801389038E003E0EB783F017001C013F0ED80019038F07F0001E015F8147E1603000113 +FEA2C75AA20101140717F05CA20103140F17E05CA20107EC1FC0A24A1480163F010F1500 +5E167E5E131F4B5A6E485A4B5A90393FB80F80DA9C1FC7FCEC0FFCEC03E049C9FCA2137E +A213FEA25BA21201A25BA21203A2387FFFE0B5FCA22D3A80A72E>I<D801F013FE3A07FC +03FF803A0F3E0F03E0390E1F1C01001EEB3807001C017013F0003C9038F00FE0003813E0 +14C0D8783FEB0380007049C7FCA291C8FC12F05BEA007EA313FE5BA312015BA312035BA3 +12075BA3120F5BA3121F5B0007C9FC242979A726>114 D<EC7F80903801FFE0903807C0 +F890381E003C49131C151E49130E49133E157EA20001147CA215106D13007FEBFF8014F8 +6C13FF15806D13C0011F13E013079038007FF0140F1403A21401123E007E1300007F1301 +00FE14E0A25A48EB03C048EB078012700078EB0F006C133C001F13F83807FFE0C690C7FC +1F297AA725>I<EB01C0EB03F01307A25CA2130FA25CA2131FA25CA2133FA291C7FCA200 +7FB51280B6FC1500D8007EC7FC13FEA25BA21201A25BA21203A25BA21207A25BA2120FA2 +5BA2121F141C1380A2003F133C1438EB0078147014F05C495AEA1F03495A6C48C7FCEA07 +FCEA01F0193A78B81E>I<137C48B4143826038F8013FCEA0707000E7F001E1401121CD8 +3C0F5C12381503EA781F007001805BA2D8F03F1307140000005D5B017E130FA201FE5C5B +151F1201495CA2153F0003ED8380491403A2157F1607037E1300A2EDFE0F160E00011301 +9039F803BE1C0000EB073E90397C1E1E3890393FF80FF0903907E003E0292979A730>I< +017CEB038048B4EB07E039038F800FEA0707000E01C013F0121E001C1407EA3C0F003814 +0316E0D8781F130100701380A2EAF03F020013C012005B017E1303168013FE5B15070001 +15005BA2150E12035B5DA25DA25DA200015C4A5AEBF8030000495AD97E0FC7FCEB1FFCEB +07F0242979A729>I<017C167048B491387001FC3A038F8001F8EA0707000E01C015FE00 +1E1403001CEDF000EA3C0F0038177C1507D8781F4A133C00701380A2D8F03F130F020049 +133812005B017E011F14784C137013FE5B033F14F0000192C712E05BA2170100034A14C0 +49137E17031880A2EF070015FE170E00010101141E01F86D131C0000D9039F5BD9FC076D +5A903A3E0F07C1E0903A1FFC03FFC0902703F0007FC7FC372979A73C>I<903903E003F0 +90390FF80FFC90393C3C1C1F9039701E380F9039E01F703F000102F013803B03C00FE07F +001380000714C0D9001F131C4892C7FC000E5CA2001E133FA2C790C8FCA25C147EA314FE +5CA313014A1338A3010314781670001C4913F0007E5D0107130100FE5D010F495A90380E +F80727781C780FC7FC9038383C3C393FF01FF83907C007E029297CA729>I<137C48B414 +3826038F8013FCEA0707000E7F001E1401001C15F8EA3C0F12381503D8781F14F0007013 +80A2D8F03F1307020013E012005B017E130F16C013FE5B151F1201491480A2153F000315 +005BA25D157EA315FE5D00011301EBF8030000130790387C1FF8EB3FF9EB07E1EB00035D +A214075D121F486C485AA24A5AD87F0090C7FC007E133E0038137E5CEB01F06C485A381E +0FC0D807FFC8FCEA01F8263B79A72C>I<913807800F91391FC01F80023FEB3FC0167F14 +7FA21780DA3F80130091381E001C91C9FCAA137C48B4143826038F8013FCEA0707000E7F +001E1401121CD83C0F5C12381503EA781F007001805BA2D8F03F1307140000005D5B017E +130FA201FE5C5B151F1201495CA2153F0003ED8380491403A2157F1607037E1300A2EDFE +0F160E14010001903803BE1C9038F8073E3A00FC1E1E3890393FF80FF090390FE003E02A +3C79BA30>252 D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fb cmr8 8 6 +/Fb 6 58 df<EB3FC0EBFFF03803E07C48487E48487E497E001EEB0780A2003E14C0A248 +EB03E0A500FC14F0B0007C14E0A3007E1307003E14C0A36CEB0F806C14006D5A3807C03E +3803F0FC3800FFF0EB3FC01C2D7DAB23>48 D<130C133C137CEA03FC12FFEAFC7C1200B3 +B113FE387FFFFEA2172C7AAB23>I<EB7F803801FFF0380780FC380E003F48EB1F8048EB +0FC05A0060EB07E012F000FC14F07E1403A3007C1307C7FCA215E0140F15C0141F1580EC +3F00147E147C5C495A495A495A495A011EC7FC5B5B4913305B485A4848136048C7FC000E +14E0001FB5FC5A4814C0B6FCA21C2C7DAB23>I<EB3FC03801FFF03807C0FC380E007E48 +7FEC1F80003F14C0A2EB800F1300A2000C131FC7FC1580A2EC3F00143E5C5CEB03F0EBFF +C014F0EB00FC143FEC1F8015C0140F15E0A2EC07F0A21238127C12FEA3EC0FE012F80060 +14C00070131F6C1480001EEB3F00380780FC3801FFF038007FC01C2D7DAB23>I<140EA2 +141E143EA2147E14FEA2EB01BE1303143E1306130E130C131813381330136013E013C0EA +0180120313001206120E120C5A123812305A12E0B612FCA2C7EA3E00A9147F90381FFFFC +A21E2D7EAC23>I<EB3F80EBFFF03803E0783807C03E48487E48487E003E14801407007E +14C0127C00FC14E01403A315F0A5007C1307127EA2003E130F7E6C131F3807803B3803E0 +F33800FFC390383F03E013001407A215C0A2140F001E1480003F14005C143E143C003E5B +001C5B380E03E03807FF80D801FEC7FC1C2D7DAB23>57 D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fc ectt1095 10.95 56 +/Fc 56 126 df<143C147EEB01FE1303EB07FCEB0FF8EB1FE0EB3FC0EB7F80EBFF005B48 +5A485AA2485A5B120F5B121F5BA2123F90C7FCA25A127EA312FE5AAD7E127EA3127F7EA2 +7F121FA27F120F7F12077F6C7EA26C7E6C7E7FEB7F80EB3FC0EB1FE0EB0FF8EB07FCEB03 +FE1301EB007E143C174771BE2F>40 D<127812FCB4FC7F6C7E6C7EEA0FF06C7E6C7E6C7E +1200137FEB3F80A2EB1FC0130F14E0130714F01303A214F81301A214FC1300A314FE147E +AD14FE14FCA3130114F8A2130314F0A2130714E0130F14C0131FEB3F80A2EB7F0013FE12 +01485A485A485AEA3FE0485A485A90C7FC12FC1278174778BE2F>I<EB01E0497EA70030 +1403007CEC0F8000FEEC1FC0D8FF83137F9038E3F1FF267FF3F31380001FB5EAFE006C5C +000314F0C614C0013F90C7FCEB0FFCEB3FFF90B512C0000314F0000F14FC48803A7FF3F3 +FF8026FFE3F113C0903883F07FD8FE03131F007CEC0F800030EC0300000091C7FCA76D5A +22277AAE2F>I<EA07C0EA0FF0EA1FF8123F13FCA213FEA2121F120F1207EA007E13FE13 +FC1201A2EA03F8EA0FF0123FEAFFE013C01380EA7E0012380F18708A2F>44 +D<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B0B6E8A2F>46 +D<16E0ED01F01503A2150716E0150F16C0151F1680153F16005D157E15FE5DA214015D14 +035D14075D140F5D141F5D143F92C7FCA25C147E14FE5C13015C13035C13075C130F5CA2 +131F5C133F91C8FC5B137E13FE5B12015B12035BA212075B120F5B121F5B123F90C9FC5A +127E12FE5AA25A127824477BBE2F>I<EB0380497EA2130FA2131F133FA2137FEA01FF5A +127FB5FCA213CF138FEA7E0F1200B3B0003FB512F85A15FCA215F8A21E3977B82F>49 +D<EB0FFC90383FFF8090B512E0000314F848804880391FF80FFF263FE001138090388000 +7F48C7EA3FC0007E141FED0FE000FE140716F07E1503A3127E1218C8FCA2150716E0150F +16C0151FA2ED3F80ED7F005D4A5A4A5A4A5A4A5A4A5A4A5A4A5A4AC7FC495AEB07FC495A +495A495AEB7F8049C8FC485A4848EB01E0D80FF8EB03F0485A485A48B6FCB7FCA46C15E0 +24397BB82F>I<EB07FF013F13E048B512F84814FE4880481580261FFC0113C09038E000 +3FD83F80EB1FE06D130716F01503A26C5A6CC7FCC8FC150716E0150FA2ED1FC0157FEDFF +80020F130090380FFFFE495B5DA215FE6D7FD9000113809138003FC0ED1FE0ED07F01503 +16F8150116FC1500A21218127EB4FCA2150116F8481403A2007FEC07F06DEB1FE0D83FE0 +133F3A1FFE01FFC06CB612806C15006C5CC614F8013F13E0010390C7FC263A7CB82F>I< +EC07F84A7EA2141F143F157C147F147E14FEEB01FC14F8130314F01307EB0FE014C0131F +1480133FEB7F00137E13FE5B485A12035B12075B485A121F5B123F90C7FC127E12FEB712 +FE16FFA46C15FEC8EA7C00AA91387FFFFC91B512FEA46E13FC28397DB82F>I<EC1FE0EC +FFFC010313FF010F14805B4914C090387FF03F9039FF800FE03901FE001F485A485A5B48 +48EB0FC049EB0780001F91C7FC5B123F90C9FC5AA2007E1310903807FF80011F13E0D8FE +7F13F848B57E00FD80B7FCEBFC019039F0007F8001C0EB3FC049131F90C7EA0FE0A24814 +0716F01503A3127EA4127F6C140716E07F001F140F6DEB1FC06C6C133F6DEB7F806C6CEB +FF003803FE0390B55A6C5C6C5C013F13E0010F1380D903FEC7FC243A7BB82F>54 +D<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F00C7FCB1121FEA3F80EA7FC0EAFFE0 +A5EA7FC0EA3F80EA1F000B276EA62F>58 D<EA07C0EA0FE0EA1FF0EA3FF8A5EA1FF0EA0F +E0EA07C0C7FCB1EA07C0EA0FF0EA1FF8123F13FCA213FEA2121F120F1207EA007E13FE13 +FC1201A2EA03F8EA0FF0123FEAFFE013C01380EA7E0012380F3470A62F>I<003FB612FC +4815FEB8FCA36C15FECAFCA9007FB612FEB8FCA36C15FE6C15FC28157DA52F>61 +D<143F4A7EA24A7EA4903801F3E0A501037FA314E101077FA414C0010F7FA490381F807E +A4013F137F4A7EA4017E6D7EA2017FB5FCA290B67EA49038FC000F48486D7EA400038149 +1303A3D87FFF90383FFF80A2B56C4813C0A26C496C1380A22A397EB82F>65 +D<007FB512E0B612FC15FF168016C06C15E03A03F0001FF0150FED03F8A2150116FC1500 +A5150116F8150316F01507ED1FE0ED7FC090B61280160015FC15FF16C016E09039F0000F +F0ED03F8ED01FC150016FE167EA2163FA6167F167E16FEA2ED01FC1507ED1FF8007FB6FC +B712F016E0168016006C14F828387EB72F>I<91387F8038903903FFE07C010FEBF8FC49 +13FC4913FF5BEBFFC048EB003F4848130FEA07F849130748481303A2484813015B123F90 +C8FCA25A127E1678160012FE5AAC7E127EA21678007F15FC7EA27F121F6D13016C6C14F8 +6D130312076DEB07F0D803FE130F6C6CEB1FE06C9038C07FC06DB512806D14006D5B6D5B +010313F09038007F80263A7CB82F>I<007FB57EB612F015FC81816C812607E0017F9138 +003FE0151F6F7E6F7E15036F7EA26F7EA2167E167F82A41780161FAB163F1700A35E167E +A216FE4B5AA24B5A15074B5A151F4B5A4AB45A007FB65AB7C7FC5D5D15F06C148029387E +B72F>I<007FB612FCB77EA47ED803F0C7127EA7163C93C7FCA515F04A7EA490B5FCA6EB +F001A46E5A92C8FCA5160FEE1F80A9007FB7FCB8FCA46C160029387DB72F>I<007FB612 +FEB8FCA47ED803F0C7123FA7161E1600A6157815FCA490B5FCA6EBF000A4157892C7FCAE +387FFFE0B57EA46C5B28387DB72F>I<007FB512FEB7FCA46C14FE390007E000B3B3A800 +7FB512FEB7FCA46C14FE203879B72F>73 D<387FFFF080B5FCA27E5CD801F8C8FCB3B016 +1E163FA9007FB7FCA2B8FCA27E16FE28387DB72F>76 D<007FB512E0B612F815FEEDFF80 +16C06C15E03A03F0007FF0151FED07F81503ED01FCA2150016FE167EA616FE16FC1501A2 +ED03F81507ED1FF0157F90B612E016C01680EDFE0015F815E001F0C8FCB0387FFF80B57E +A46C5B27387DB72F>80 D<387FFFFEECFFC0B612F015FC6C80812603F0037F9138007FC0 +153F6F7E150F1507821503A515075E150F151F4B5A157F913803FF8090B6C7FC5D5D5D81 +819038F003FF9138007F80153F151F82150FA9EEC1E0EEC3F0A316E33A7FFF8007E7EEFF +E0B512C06F13C06C497E6F1380C9EA3E002C397EB72F>82 D<90391FF8038090397FFF07 +C048B512C74814EF4814FF5A381FF80F383FC00349C6FC48C7127F007E143F12FE48141F +A2150FA46CEC0780007E91C7FC127F6C7E7FEA1FF86CB47E6C13F86CEBFF806C14E06C6C +13F8010F7F01007FEC0FFF02001380ED3FC0151FED0FE01507A216F00078140312FCA56C +140716E06C140F7F6DEB1FC001F0137F9039FE01FF8090B612005D00FD5CD8F87F5B011F +13E0D8700390C7FC243A7BB82F>I<007FB71280B812C0A53AFC003F000FA70078ED0780 +C791C7FCB3B290381FFFFE497FA46D5B2A387EB72F>I<D87FF8903801FFE0486C4913F0 +A46C486D13E0001FC8EA0F806D141F000F1600A76C6C143EA7EC1F806C6C486C5AA4EC7F +E01479A3000115789039F0F9F0F8A414F001F113F800005DA39038F9E079A201FB137DA3 +90397BC03DE0A4017F133FEC801FA3013F5CEC000F011E6D5A2C397FB72F>87 +D<387FFFFEB6FCA414FE00FCC7FCB3B3B3A5B512FE14FFA46C13FE18476DBE2F>91 +D<387FFFFEB6FCA47EC7123FB3B3B3A5007FB5FCB6FCA46C13FE18477DBE2F>93 +D<007FB612E0A2B712F0A36C15E0A224077B7D2F>95 D<EB7FF03803FFFE486D7E488048 +8048809038C01FF8EC03FC14016E7E6C48137E6CC7127FC87EA4EC7FFF0107B5FC133F48 +B6FC120748EBF83F381FFE00EA3FF0EA7FC090C7FC12FE5AA45D7E007F5CD980037F263F +E01F13FF90B712807E6C14DF6C140F0001D9FC01130026007FE0C8FC292A7BA82F>97 +D<EA7FF0487EA4127F1201AAEC0FF0EC3FFC91B5FC01FB14C090B67E82ECF03F9138C00F +F891388003FCEC0001496D7E5B167F4980A21780161FA8163FA26D15005EA26D14FEA26D +495AEC80076E485A9138F03FF091B55A5E01FB5C01F991C7FC3900F07FFC9038001FE029 +397EB72F>I<903803FFC0010F13F8013F7F90B57E488048158048EB007FEA0FF85B485A +49EB3F004848131E90C9FC5A127EA212FE5AA87E127EA2127FED07806C6CEB0FC07F6C6C +131F6D1480D80FFC137F3A07FF81FF006C90B5FC6C5C6C5C013F13F0010F13C0D903FEC7 +FC222A79A82F>I<913803FF804A7FA480EC000FAAEB03FCEB1FFF017F13CF90B512EF48 +14FF5A3807FE07380FF801391FF0007F01C0133F485A151F48C7FC150F127E12FEA25AA8 +7E007E141FA2127F6C6C133F157F6C7E6D13FF380FF8012607FE0713FF90B712806C14EF +6C14CF6C6C138F90261FFE071300D907F8C8FC29397DB72F>I<EB03FE90380FFF80013F +13E090B57E488048803907FE07FE390FF800FF497FD81FC0EB3F80003F141F4914C090C7 +120F5A127E16E000FE14075AB7FCA516C000FCC9FC7E127EA2127F6C6CEB03C0ED07E06C +7E6D130FD80FF8EB1FC0D807FE133F9039FF80FF806C90B5FC6C15006C6C13FC6D5B010F +13E0010190C7FC232A7BA82F>I<4AB4FC020713C0021F13E0147F91B512F0A249130FEB +03FC9138F807E0903907F001804AC7FCA8007FB61280B712C0A46C1580260007E0C7FCB3 +A9003FB512FC4880A46C5C24397DB82F>I<903903F801FE903A1FFF07FF80017F13DF90 +B712C05A5AD9FE0FEB0F803B07F803FC070048486C6CC7FCEBE00049137E001F147F497F +A66D5B000F147E6D13FEEBF0016C6C485A3903FE0FF890B5FC485C5D485C019F90C8FCEB +83F80180C9FCA37FEA07E490B512F06C14FF4815C0488148813A3FC0001FF890C7EA01FC +007E6E7E007C157E00FC153E48153F82A46C5D007C153E007F15FE6C6C495A01E01307D8 +1FFEEB7FF86CB65A6C5D000115806C92C7FC011F13F8010313C02A3E7DA72F>I<EA7FF0 +487EA4127F1201AAEC0FF0EC3FFCECFFFE01FB7F90B67EA29138F03FC0ECC01F4A6C7E14 +004913075BA35BB3A23B7FFFE07FFF80B56CB512C0A46C496C13802A387EB72F>I<EB03 +80EB0FE0A2497EA36D5AA2EB038090C9FCA9383FFFE0487FA47EEA0003B3A9007FB6FCB7 +FC1680A216007E213979B82F>I<EA7FF0487EA4127F1200AB0207B5FC5C1780A2170080 +9138003F804BC7FC15FE4A5A4A5A4A5A4A5A4A5A4A5A4AC8FC5C01F97F13FB90B57EECE7 +E0ECC7F01483EC01F8496C7E497F49137E816F7EA26F7E6F7E823B7FFFF03FFFC0B56C5A +17E0A217C06C497E2B387EB72F>107 D<387FFFF080B5FCA27EA2EA0001B3B3A8007FB6 +12E0A2B712F0A26C15E0A224387BB72F>I<903901F801F83A7F8FFC0FFC3AFFDFFE1FFE +90B5487E92B51280A23A7FFE1FFE1F3B07FC0FFC0FC001F813F89039F007F00701E013E0 +A301C013C0B3A33B7FFC3FFC3FFCD8FFFE01FE13FE027F137FA2023F133FD87FFC01FC13 +FC2F2880A72F>I<EC0FF0397FF03FFC486CB47E01FB7F90B67EA26C9038F03FC00001EB +C01F4A6C7E14004913075BA35BB3A23B7FFFE07FFF80B56CB512C0A46C496C13802A287E +A72F>I<EB03FC90381FFF80497F90B512F0488048803907FE07FE390FF801FF9038E000 +7F4848EB3F8049131F003F15C090C7120F4815E0007E1407A248EC03F0A96C1407007E15 +E0A2007F140FA26C6CEB1FC0A26C6CEB3F806D137F3A0FF801FF003907FE07FE6CB55A6C +5C6C5C6D5B011F1380D903FCC7FC242A7BA82F>I<EC0FF0397FF03FFC486CB5FC01FB14 +C090B67E826CEBF03F00019038C00FF891388003FCEC0001496D7E5B167F4980A2178016 +1FA8163FA26D15005EA26D14FEA26D495AEC80076E485A9138F03FF091B55A5E01FB5C01 +F991C7FC9038F87FFCEC1FE091C9FCAD387FFFE0B57EA46C5B293C7EA72F>I<ED0FF0D8 +7FFFEB7FFE0281B5FCB51287028F14806C139F9138BFF87F39001FFFC09238003F004A13 +1E4A90C7FC5C5CA25C5CA45CAF007FB512F881B6FCA27E5D29287EA72F>114 +D<90381FFC0E48B5129F000714FF5A5A5A387FF007EB800000FEC77EA24880A37E007F14 +1E01C090C7FCEA3FFC381FFFF06CEBFF80000314E0C614F8011F13FE9038007FFF020113 +80EC007F0078EC1FC000FC140FED07E0A27EA27E6D130F6DEB1FC06D133F9039FC01FF80 +90B6FC16005D00F814F8013F13E0D8700790C7FC232A7AA82F>I<130F497EAA007FB612 +C0B712E0A46C15C026001F80C7FCB216F0ED01F8A5ECC003ED07F090380FE00F9138F81F +E06DB512C0A26D14806DEBFE009038007FF8EC1FE025337EB12F>I<3A7FF001FFC0486C +487FA4007F7F0001EB0007B3A4150FA2151F153F6D137F6CB448B5128091B612C07FA26D +13E7010F01831380D903FEC8FC2A287EA62F>I<D87FFF90383FFF80B56C4813C0A46C49 +6C1380D801F0903803E000A26D130700005DA26D130F017C5CA36D49C7FCA36D133EA36D +6C5AA36D6C5AA3903803E1F0A3903801F3E0A36DB45AA36E5AA26EC8FC2A277EA62F>I< +3B7FFF801FFFE06E5AB515F0A26C16E04A7ED807C0C7EA3E00A36D147E0003157CA56C6C +5CEC0F80EC1FC0EC3FE0A36C6C486C5AEC7DF1A214FD15F914F9D978F85B1379137DA2EC +F079157B013FEB7FC014E0153FA2ECC01F6D486C5A2C277FA62F>I<3B7FFF803FFF80B5 +4913C014C0A214806C6E13803B01F00003E0007F12004B5A7F137C017E495A133EA2013F +49C7FC7FA290380F803EA214C001075BA214E001035BA2EB01F05D14F1EB00F95DA2147B +EC7FC0143FA25D141FA292C8FCA3143EA35CA214FC000F5BEA1F81EA3FC1EBC3F0EB07E0 +131FEBFFC06C5BA26C48C9FC6C5AEA03F02A3C7EA62F>121 D<003FB612F84815FCA416 +F8007EC7EA0FF0ED1FE0ED3FC0ED7F80EDFF00003C495AC7485A4A5A4A5A4A5A4A5A4A5A +4AC7FC495A495A495A495A495A495A495A49C7123C4848147E485A485A485A485A485A48 +B612FEB7FCA46C15FC27277DA62F>I<ED3FE0913803FFF0140F5C147F16E09138FFE000 +4AC7FC495A5CB3A21303495A133F383FFFE0B55A5C49C8FC6D7E80003F7F38003FF01307 +6D7E1301B3A2806D7EECFFE091387FFFE016F0141F8014039138003FE024477BBE2F>I< +127CA212FEB3B3B3AD127CA207476CBE2F>I<EA7FC0EAFFFC13FF8014E07EC66C7E1307 +6D7E1301B3A2806D7EECFFC091387FFFC06E13F0801407141F5C4A13C09138FFC0004AC7 +FC495A5CB3A21303495A137F387FFFE0B5FC148091C8FC13FCEA7FC024477BBE2F>I +E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fd cmsy10 10.95 2 +/Fd 2 16 df<EB03C0A2805CA600F0140F00FC143F00FE147F00FF14FF393FC3C3FC390F +E187F03903F18FC03900FDBF00EB3FFCEB0FF0EB03C0EB0FF0EB3FFCEBFDBF3903F18FC0 +390FE187F0393FC3C3FC39FF03C0FF00FE147F00FC143F00F0140F00001400A6805CA220 +277AA92D>3 D<EB0FFCEB3FFF90B512C0000314F04880488048804880A2481580A3B712 +C0AA6C1580A36C1500A26C5C6C5C6C5C6C5CC614C0013F90C7FCEB0FFC22227BA72D>15 +D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fe ecrm0900 9 81 +/Fe 81 256 df<38038001390FF80380391FFE0700383FFFFE127838E00FF8384003F019 +077AB126>3 D<003C1378007E13FC38FF01FEA2EB81FFA2EA7F80003D137B00011303A4 +00031307EB0006A248130E0006130C000E131C000C1318001C13384813704813E0006013 +C018177FB31A>17 D<003C1378007E13FC38FF01FEA2EB81FFA2EA7F80003D137B000113 +03A400031307EB0006A248130E0006130C000E131C000C1318001C13384813704813E000 +6013C018177F871A>I<91393FE00FE0903A01FFF83FF8903A07E01EF83C903A1F800FF0 +7E903A3F001FE0FE017E133F4914C0485A1738484890381F8000ACB812C0A33B03F0001F +8000B3A7486C497EB50083B5FCA32F357FB42D>27 D<EC1FE0ECFFFC903803F01E90390F +C00780EB1F8090393F000FC0017E131F5BA2485AED0F8092C7FCA9ED0FC0B7FCA33901F8 +001F150FB3A6486CEB1FE0267FFFC1B5FCA328357FB42B>I<EC1FF891B512C0903803F0 +0F90380FC01FEB1F80EB3F00137E5B150F485AACB7FCA33901F8000FB3A7486CEB1FE026 +7FFFE3B5FCA328357FB42B>I<017C1503D803FEED078026078780140F260F01C0141F26 +1E00E0EC3F00003E01F8147E003C017CEB01FE007C90397F8007FC913933FFFEF8007890 +38307FF900F89039380001F00218495A16075F4C5A161F4CC7FC163E5E023813FC007801 +305B007C4A5AEC7003003C01605B003E9038E007C0001EEBC00FD80F015C270787801FC8 +FC3903FE003FD8007C133E90C748131F03FCEBFF809239F801E1E0913A01F003C0700203 +9038078030DBE00F1338DA07C0EB0018020F49131C0380140C91381F001E4A013E130E02 +3E15065C14FC495A5C495A13075C4948150E011F021E130C91C7121F013E161C017E6E13 +18017CED803849020713300001923803C07049913801E1E049913800FF806C48ED1F0037 +3C7CB740>37 D<14C01301EB0380EB0F00130E5B133C5B5BA2485A485AA212075B120F90 +C7FC5AA2121E123EA3123C127CA55AB0127CA5123C123EA3121E121FA27E7F12077F1203 +A26C7E6C7EA213787F131C7F130FEB0380EB01C01300124A79B71E>40 +D<12C07E1270123C121C7E120F6C7E6C7EA26C7E6C7EA27F1378137C133C133EA2131E13 +1FA37F1480A5EB07C0B0EB0F80A514005BA3131E133EA2133C137C137813F85BA2485A48 +5AA2485A48C7FC120E5A123C12705A5A124A7CB71E>I<123C127EB4FCA21380A2127F12 +3D1201A412031300A25A1206120E120C121C5A5A126009177A8715>44 +D<B512F0A514057F921A>I<123C127E12FFA4127E123C08087A8715>I<1518A215381530 +A21570156015E015C0A214011580A2140315005C1406A2140E140CA2141C141814381430 +A214701460A214E05CA213015C130391C7FCA25B1306A2130E130C131C1318A213381330 +A213701360A213E05B12015BA2120390C8FCA25A1206120E120CA2121C1218A212381230 +12701260A212E05AA21D4B7CB726>I<EB0FE0EB7FFCEBF83E3903E00F803907C007C0EB +8003000F14E0391F0001F0A24814F8A2003E1300007E14FCA500FE14FEB2007E14FCA56C +EB01F8A36C14F0A2390F8003E03907C007C0A23903E00F803900F83E00EB7FFCEB0FE01F +347DB126>I<13075B5B137FEA07FFB5FC13BFEAF83F1200B3B3A2497E007FB51280A319 +327AB126>I<EB3FC0EBFFF0000313FC380F80FF391E007F80001CEB3FC048EB1FE04813 +0F15F00060130712FC6C14F87E1403A3007E1307123CC7FC15F0A2140F15E0EC1FC0A2EC +3F801500147E5C495A5C495A495A495A49C7FC133E133C4913185B485A48481330485A48 +C7FC001C1470001FB512F05A5AB612E0A31D327CB126>I<EB1FE0EBFFFC4813FF3907E0 +3F80390F001FC0001EEB0FE0001CEB07F0123F018013F8140313C01380A2381F0007C7FC +15F0A2EC0FE015C0141FEC3F80EC7E00EB01F8EB7FE014FCEB003FEC1FC0EC0FE0EC07F0 +15F8140315FC140115FEA3127EB4FCA415FC48130312780070EB07F86C14F0003C130F00 +1FEB1FE0390FE03F800003B51200C613FCEB1FE01F347DB126>I<EC01C0A214031407A2 +140F141FA2143F147F146F14CF1301EB038F140F1307130E130C131C13381330137013E0 +13C0EA0180120313001206120E120C5A123812305A12E0B71280A3C7380FC000A94A7E01 +07B51280A321337EB226>I<000C14C0380FC00F90B5128015005C5C14F014C0D80C18C7 +FC90C8FCA9EB0FC0EB7FF8EBF07C380FC03F9038001F80EC0FC0120E000CEB07E0A2C713 +F01403A215F8A41218127E12FEA315F0140712F8006014E01270EC0FC06C131F003C1480 +6CEB7F00380F80FE3807FFF8000113E038003F801D347CB126>I<14FE903807FF80011F +13E090383F00F0017C13703901F801F8EBF003EA03E01207EA0FC0EC01F04848C7FCA248 +C8FCA35A127EEB07F0EB1FFC38FE381F9038700F809038E007C039FFC003E0018013F0EC +01F8130015FC1400A24814FEA5127EA4127F6C14FCA26C1301018013F8000F14F0EBC003 +0007EB07E03903E00FC03901F81F806CB51200EB3FFCEB0FE01F347DB126>I<1230123C +003FB6FCA34814FEA215FC0070C7123800601430157015E04814C01401EC0380C7EA0700 +1406140E5C141814385CA25CA2495A1303A3495AA2130FA3131F91C7FCA25BA55BA9131C +20347CB126>I<EB0FE0EB7FFC90B5FC3903F01F803907C007C0390F0003E0000EEB01F0 +001E1300001C14F8003C1478A3123EA2003F14F86D13F0EBC001D81FF013E09038F803C0 +390FFE07803907FF0F006C13DE6C13F87EEB3FFE8001F713C0D803E313E0D8078013F039 +0F007FF8001E131F003EEB07FC003C1303481301EC007E12F848143EA2151EA37E153C12 +78007C14787E6C14F0390F8003E03907F01FC00001B5120038007FFCEB1FE01F347DB126 +>I<123C127E12FFA4127E123C1200B0123C127E12FFA4127E123C08207A9F15>58 +D<123C127EB4FCA4127E123CC7FCB0123C127EB4FCA21380A2127F123D1201A412031300 +A25A1206120E120C121C5A5A1260092F7A9F15>I<1706171E1778EE03E0EE0F80EE3C00 +16F0ED03C0030FC7FC153CEC01F0EC07C0021EC8FC1478EB01E0EB0780011EC9FC13F8EA +03E0000FCAFC123C12F0A2123C120FEA03E0EA00F8131EEB0780EB01E0EB0078141EEC07 +C0EC01F0EC003C150FED03C0ED00F0163CEE0F80EE03E0EE0078171E17062F2C7AA83C> +I<15E0A34A7EA24A7EA34A7EA3EC0DFE140CA2EC187FA34A6C7EA202707FEC601FA202E0 +7FECC00FA2D901807F1507A249486C7EA301066D7EA2010E80010FB5FCA249800118C77E +A24981163FA2496E7EA3496E7EA20001821607487ED81FF04A7ED8FFFE49B512E0A33336 +7DB53A>65 D<B7FC16E016F83A03FC0003FE0001EC00FFEE7F80EE3FC0161F17E0160F17 +F0A617E0161F17C0EE3F80EE7F0016FEED03FC90B612F05E9039FC0007FCED00FEEE3F80 +EE1FC0EE0FE017F0160717F8160317FCA617F81607A2EE0FF0EE1FE0163FEE7FC0000391 +3803FF00B75A16F816C02E337DB236>I<DA03FE130C91393FFF801C91B512E0903A03FE +01F83C903A0FF0003C7CD91FC0EB0EFCD97F80130701FEC7120348481401000315005B48 +48157C485A173C485A171C123F5B007F160CA390C9FC481600AB7E6D150CA3123F7F001F +161C17186C7E17386C6C15306C6C15706D15E012016C6CEC01C0D97F80EB0380D91FC0EB +0F00D90FF0131ED903FE13FC0100B512F0023F13C0DA03FEC7FC2E377CB437>I<B77E16 +F016FE3A01FE0001FF00009138003FC0EE0FE0707E707E707E707E177E177FEF3F80A2EF +1FC0A3EF0FE0A418F0AA18E0A3171F18C0A21880173F18005F17FE5F4C5AEE07F04C5AEE +3FC000014AB45AB748C7FC16F8168034337EB23B>I<B812C0A3D803FCC7127F0001150F +EE03E01601A21600A21760A403061330A41700150EA2151E157E90B512FEA39038FC007E +151E150EA21506170CA3171892C7FCA41738A21770A217F01601160316070003157FB812 +E0A32E337DB234>I<B81280A3D803FCC7FC0001151FEE07C01603A21601A21600A41760 +150CA31700A2151CA2153C15FC90B5FCA3EBFC00153C151CA2150CA592C8FCAB487EB512 +FEA32B337DB232>I<DA03FE130C91393FFF801C91B512E0903A03FE01F83C903A0FF000 +3C7CD91FC0EB0EFCD97F80130701FEC7120348481401000315005B4848157C485A173C48 +5A171C123F5B007F160CA390C9FC4893C7FCAA0303B512E07E7F92390003FE00705A123F +7F121FA26C7E7F12076C7E7F6C6C14036C7E6D6C1307D91FC0EB0E7CD90FF0EB1C3CD903 +FEEBF81C0100B5EAF00C023F01C0C7FCDA03FEC8FC33377CB43C>I<B5D8FE03B512F8A3 +000190C73807FC006C486E5AB390B7FCA349C71203B3A3486C4A7EB5D8FE03B512F8A335 +337EB23A>I<B512FEA3000113006C5AB3B3A7487EB512FEA317337EB21C>I<017FB5FCA3 +9038003FE0EC1FC0B3B1127EB4FCA4EC3F805A0060140000705B6C13FE6C485A380F03F0 +3803FFC0C690C7FC20357DB227>I<B500FE903807FFF8A3000190C7000113006C48EC00 +FC17F04C5A4C5A4CC7FC160E5E5E5E5E4B5A4B5A4BC8FC150E5D5D15F84A7E14034A7EEC +0EFF5C4A6C7E4A6C7EECE01FD9FFC07F4A6C7E4A6C7E5B6F7E6F7EA26F7E707EA2707E70 +7E160F83707E707EA283486C913807FF80B500FE013F13FCA336337EB23C>I<B512FEA3 +D803FEC9FC6C5AB3A9EE0180A416031700A45EA25E5E5E5E16FE00031407B7FCA329337D +B230>I<D8FFFC923801FFF86D5DA20003EFFE00D801BFED06FCA3D99F80140CA2D98FC0 +1418A3D987E01430A2D983F01460A3D981F814C0A3D980FCEB0180A2027EEB0300A36E13 +06A26E6C5AA36E6C5AA36E6C5AA26E6C5AA36E6C5AA3913800FD80A2037FC7FCA3486C13 +3ED80FF04B7EB5011C90387FFFF8A33D337CB246>I<D8FFFE91381FFFF87F80C6030013 +006E143CD9DFE01418EBCFF0A2EBC7F8EBC3FCA2EBC1FEEBC0FF6E7EA26E7E6E7EA26E7E +6E7E6E7EA26E7E6E7EA2ED7F80ED3FC0ED1FE0A2ED0FF0ED07F8A2ED03FCED01FEED00FF +A2EE7F98EE3FD8A2EE1FF8160F1607A216031601A2486C1400D807F81578B500C01438A2 +171835337EB23A>I<EC07FC91387FFFC0903901FC07F0903907E000FCD90F80133E013F +C76C7E017E6E7E496E7E48486E7E48486E7EA248486E7E000F8249157E001F167FA24848 +ED3F80A2007F17C0A290C9121FA24817E0AB6C17C06D153FA3003F17806D157FA2001F17 +006D5D000F5E6C6C4A5AA26C6C4A5A00015E6C6C4A5A017E4A5A6D4A5AD91FC0017FC7FC +D907E013FC903901FC07F09039007FFFC0DA07FCC8FC33377CB43C>I<B612FEEDFFC016 +F03A03FC0007FC0001EC00FE167FEE3F80EE1FC017E0160FA217F0A617E0A2EE1FC0A2EE +3F80EE7F0016FEED07F890B65A168001FCC9FCB3A2487EB512F8A32C337DB234>I<EC07 +FC91387FFFC0903901FC07F0903907E000FC4948137E013FC7EA1F80017E6E7E496E7E48 +486E7E00038249140148486E7E000F8249157E001F167FA24848ED3F80A2007F17C0A390 +C9121F4817E0AB6C17C0A26D153FA2003F1780A26D157F001F1700A2270FE001F013FE00 +07D907FC5B9039F00E0E013B03F80C0703F8000190391C0383F03B00FC180187E0017EEC +CFC0013FECDF8090271F9C00FFC7FCD907EC13FC902701FE07F013609038007FFF913807 +FC7091C7007813E0A2EE7C01EE7E0393387F07C0EE3FFFA21880821800705A705AEE01F0 +33447CB43C>I<B612FCEDFF8016F03A01FE0007FC0000EC01FEED007F707E707E83160F +83A65FA24C5AA24C5A047EC7FC4B5AED0FF090B612C093C8FC9039FE001FC0ED07F06F7E +6F7E150082167E167FA583A5180C17C0A2043F131C486C1618B500FEEB1FE0040F133893 +3807F070C93801FFE09338003F8036357EB239>I<90381FE00390387FFC0748B5FC3907 +F01FCF390F8003FF48C7FC003E80814880A200788000F880A46C80A27E92C7FC127F13C0 +EA3FF013FF6C13F06C13FF6C14C06C14F0C680013F7F01037F9038003FFF140302001380 +157F153FED1FC0150F12C0A21507A37EA26CEC0F80A26C15006C5C6C143E6C147E01C05B +39F1FC03F800E0B512E0011F138026C003FEC7FC22377CB42B>I<007FB712FEA3903980 +07F001D87C00EC003E0078161E0070160EA20060160600E01607A3481603A6C71500B3AB +4A7E011FB512FCA330337DB237>I<B500FE90381FFFF8A3000190C813006C48153C1718 +B3AF1738017F1530A217706D6C1460011F15E06E495A010F14036D6C495A6D6C49C7FCD9 +01FC131E6DB413FC91383FFFF0020F13C0020190C8FC35357EB23A>I<B500F0903803FF +F8A3D807FEC8EA7FC06C48ED1F000001161E6D151C00001618A26D15386D1530A26D6C5C +A26E14E0011F5DA26D6C495AA28001074AC7FCA26D6C1306A28001015CA26E131C010014 +18806E5BA2ED8070023F1360A26E6C5AA215E1020F5BA2DA07F3C8FCA215FBEC03FEA36E +5AA26E5AA31570A235357EB23A>I<B5D8F007B539800FFFF0A3000390C7273FF0000113 +00D801FC6E48EB007C1A386D140F00001930836D020715706D1860A26E496C14E0013F60 +A26ED919FC1301011F60A26ED930FE1303010F95C7FCA26ED9607F5B01071706A26E9039 +C03F800E0103170CA2913BFC01801FC01C01011718A2913BFE03000FE03801001730A2DA +FF06EB07F0027F5EA2038CEB03F8023F5EA203D8EB01FC021FEDFD80A203F0EB00FF020F +93C8FCA24B800207157EA24B143E0203153CA24B141C020115184C357FB24F>I<267FFF +FC90B512C0A3000101E090381FF80026007F80EB0FC0013F6E5A6E91C7FC6D6C130E010F +140C6E5B6D6C133801035C6E13606D6C13E06D6C485A5EDA7F83C8FCEC3FC715C6EC1FEC +EC0FFC5D14076E7EA26E7E815C6F7E9138063FC0140E4A6C7E9138180FF0EC380702707F +91386003FCECC0010101804A6C7E49C77E4981010E6E7E010C6E7E131C496E7E01786E7E +13FCD807FEEC1FFEB56C90B512F8A335337EB23A>I<003FB612FCA39039F80007F813C0 +90C7EA0FF0003EEC1FE0123C0038EC3FC00078EC7F801270EDFF004A5AA20060495AA24A +5A4A5AC7FC4A5A4A5AA24A5A4AC7FCA2495A495AA2495A495AA24948130C495AA2495A49 +C7FCA24848141CA2485A485A1638485A4848147816F84848130148481307153FB7FCA326 +337CB22F>90 D<007FB712FCB812FEA26C16FC2F047A703C>95 D<EB7F803803FFF0380F +80FC381C003E003F133F6D6C7E6E7EA26E7EEA1F00C7FCA4EB01FF131FEBFF873803FC07 +EA0FF0EA1FC0EA3F80127F13004815C05AA3140FA26C131F6C133B3A3F8071F180391FC1 +E1FF2607FFC013003900FE003C22237DA126>97 D<EA03F012FFA312071203AEEC3F80EC +FFE09038F3C0F89038F7007E01FE7F49EB1F8049EB0FC05BED07E016F0A2150316F8AA16 +F0150716E0A2ED0FC07F6DEB1F8001ECEB3F0001CF137C90388381F8903801FFE0C76CC7 +FC25357EB32B>I<EB07F8EB3FFF9038FC07C03901F000E03903E003F03807C007120FEA +1F80123F90380003E04890C7FCA2127E12FEAA127FA26C14187F001F14386D1330000F14 +706C6C13E03903F001C03900FC0F8090383FFE00EB07F01D237EA122>I<153FEC0FFFA3 +EC007F81AEEB07F0EB3FFCEBFC0F3901F003BF3907E001FF48487E48487F8148C7FCA25A +127E12FEAA127E127FA27E6C6C5BA26C6C5B6C6C4813803A03F007BFFC3900F81E3FEB3F +FCD90FE0130026357DB32B>I<EB0FE0EB7FFCEBF83F3903F00F80D807E013C0390FC007 +E0381F800315F0EA3F0014014814F8127EA212FEA2B6FCA248C8FCA5127E127FA26C1418 +A26C6C1338000F14306D13706C6C13E03901F003C03900FC0F00EB3FFEEB07F01D237EA1 +22>I<EB01FCEB07FF90381F078090383E0FC0EB7C1F13FCEA01F8A20003EB070049C7FC +ACB512F0A3D803F0C7FCB3A7487E387FFFE0A31A357FB417>I<151F90391FC07F809039 +FFF8E3C03901F07FC73907E03F033A0FC01F83809039800F8000001F80EB00074880A66C +5CEB800F000F5CEBC01F6C6C48C7FCEBF07C380EFFF8380C1FC0001CC9FCA3121EA2121F +380FFFFEECFFC06C14F06C14FC4880381F0001003EEB007F4880ED1F8048140FA56C141F +007C15006C143E6C5C390FC001F83903F007E0C6B51280D91FFCC7FC22337EA126>I<EA +03F012FFA312071203AEEC1FC0EC7FF09038F1E0FC9038F3807C9038F7007E13FE497FA2 +5BA25BB3486CEB7F80B538C7FFFCA326347EB32B>I<EA0780EA0FC0EA1FE0A4EA0FC0EA +0780C7FCAAEA07E012FFA3120F1207B3A6EA0FF0B5FCA310337EB215>I<EB03C0EB07E0 +EB0FF0A4EB07E0EB03C090C7FCAAEB03F013FFA313071303B3B01238127C00FE13E01307 +14C0130F007C138038381F00EA1FFCEA07F0144384B217>I<EA03F012FFA312071203AF +913803FFE0A36E1300EC00F8EC01E05D4A5A020FC7FC141C5C5C14F0EBF3F8EBF7FC13FE +EBFC7EEBF87F496C7E141F6E7E8114076E7E8114016E7E81486CEBFF80B500C313F0A324 +347EB329>I<EA07E012FFA3120F1207B3B3A7EA0FF0B5FCA310347EB315>I<2703F01FE0 +13FF00FF90267FF80313C0903BF1E07C0F03E0903BF3803E1C01F02807F7003F387FD803 +FE1470496D486C7EA2495CA2495CB3486C496C487EB53BC7FFFE3FFFF0A33C217EA041> +I<3903F01FC000FFEB7FF09038F1E0FC9038F3807C3907F7007EEA03FE497FA25BA25BB3 +486CEB7F80B538C7FFFCA326217EA02B>I<EB07F0EB3FFE9038FC1F803901F007C03903 +C001E000078048486C7E48C7127CA248147E003E143E007E143FA300FE1580A8007E1500 +A36C147EA26C147C6D13FC6C6C485A00075C3903F007E03900FC1F80D93FFEC7FCEB07F0 +21237EA126>I<3903F03F8000FFEBFFE09038F3C0F89038F7007ED807FE7F6C48EB1F80 +4914C049130F16E0ED07F0A3ED03F8A9150716F0A216E0150F16C06D131F6DEB3F801600 +01FF13FC9038F381F89038F1FFE0D9F07FC7FC91C8FCAA487EB512C0A325307EA02B>I< +903807F00390383FFC07EBFC0F3901F8038F3807E001000F14DF48486CB4FC497F123F90 +C77E5AA25A5AA9127FA36C6C5B121F6D5B000F5B3907E003BF3903F0073F3800F81EEB3F +F8EB0FE090C7FCAAED7F8091380FFFFCA326307DA029>I<3803E07C38FFE1FF9038E38F +809038E71FC0EA07EEEA03ECA29038FC0F8049C7FCA35BB2487EB512E0A31A217FA01E> +I<EBFF06000713CE381F00FE003C133E48131E140E5A1406A27EA200FE90C7FC6C7EEA7F +FC383FFFC014F0000F7F6C7FC67FEB0FFF1300EC3F8000C0131F140F6C1307A37E15006C +5B6C130E6C5B38F7807838E1FFE038C07F8019237EA11E>I<1330A51370A313F0A21201 +A212031207381FFFFEB5FCA23803F000AF1403A814073801F806A23800FC0EEB7E1CEB1F +F8EB07E0182F7FAD1E>I<D803F0133F00FFEB0FFFA30007EB007F000380B35DA35D1201 +6D4813800000903803BFFC90387E073FEB1FFED907F8130026227EA02B>I<B5EBFFF0A3 +D80FF0EB3F800007EC1F000003140E150C6D131C00011418A26C6C5BA26D1370017E1360 +137F6D5BA290381F8180A214C3010F90C7FCA2EB07E6A214FE6D5AA26D5AA36D5AA21460 +24217E9F29>I<B53A1FFF81FFF0A33C07F801FC003F8001F049EB1E0000030100141C81 +6C6C017C1318A26D017E1338000002FE1330A290267E01FF5B159F168090263F030F5BA2 +16C0903A1F8607C180A202C613E390260FCC0390C7FCA2D907FC13F6ECF80116FE6D486C +5AA36D481378A36D48133034217F9F37>I<B53801FFF8A32603FE0013806C48EB7C0000 +001478017E1370017F5B90383F81C090381F8380D90FC3C7FCEB07E614FE6D5A6D5A6D7E +80805B9038039F809038071FC09038060FE0EB0C0790381C03F0496C7E01707FEBF00000 +0180000FECFF8026FFFC0313FCA326207F9F29>I<3A7FFF807FF8A33A07F8001FC00003 +EC0F800001EC070015066C6C5BA26D131C017E1318A26D5BA2EC8070011F1360ECC0E001 +0F5BA2903807E180A214F3010390C7FC14FBEB01FEA26D5AA31478A21430A25CA214E05C +A2495A1278D8FC03C8FCA21306130EEA701CEA7838EA1FF0EA0FC025307F9F29>I<003F +B512F0A2EB000F003C14E00038EB1FC00030EB3F800070137F1500006013FE495A13035C +C6485A495AA2495A495A49C7FC153013FE485A12035B48481370485A001F14604913E048 +5A387F000348130F90B5FCA21C207E9F22>I<3801C0073907F01FC0000F80A400075C26 +01C007C7FCCAFCA7EB7F803803FFF0380F80FC381C003E003F133F6D6C7E6E7EA26E7EEA +1F00C7FCA4EB01FF131FEBFF873803FC07EA0FF0EA1FC0EA3F80127F13004815C05AA314 +0FA26C131F6C133B3A3F8071F180391FC1E1FF2607FFC013003900FE003C22327DB026> +228 D<9038E003803903F80FE0000780A400035C3900E0038090C9FCA7EB07F0EB3FFE90 +38FC1F803901F007C03903C001E000078048486C7E48C7127CA248147E003E143E007E14 +3FA300FE1580A8007E1500A36C147EA26C147C6D13FC6C6C485A00075C3903F007E03900 +FC1F80D93FFEC7FCEB07F021327EB026>246 D<013813709038FE01FCA2EBFF03A2EBFE +01A2903838007090C9FCA8D803F0133F00FFEB0FFFA30007EB007F000380B35DA35D1201 +6D4813800000903803BFFC90387E073FEB1FFED907F8130026327EB02B>252 +D<EB03F8EB1FFF90383E07809038FC01C0496C7E000114605B000314701530A815701560 +A2EC07E0EC1F8000FF013CC7FC5CA200035BA580A280ECFF80EC7FF015FC6E7E6E7E0207 +13801400ED1FC0150FECC007A21503A214E0A3ED0780000713F000FF9038F80F00ECFC1E +ECEFFCC7EAC7E022367FB426>255 D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Ff ecrm0600 6 10 +/Ff 10 58 df<13FF000313C0380781E0380F00F0001E137848133CA248131EA400F813 +1FAD0078131EA2007C133E003C133CA26C13786C13F0380781E03803FFC0C6130018227D +A01E>48 D<13E01201120712FF12F91201B3A7487EB512C0A212217AA01E>I<EA01FC38 +07FF80381C0FC0383003E0386001F0EB00F812F86C13FCA2147C1278003013FCC7FC14F8 +A2EB01F0EB03E014C0EB0780EB0F00131E13385B5B3801C00CEA0380380600185A5A383F +FFF85AB512F0A216217CA01E>I<13FF000313C0380F03E0381C00F014F8003E13FC147C +A2001E13FC120CC712F8A2EB01F0EB03E0EB0FC03801FF00A2380003E0EB00F01478147C +143E143F1230127812FCA2143E48137E0060137C003813F8381E03F0380FFFC000011300 +18227DA01E>I<14E01301A213031307A2130D131D13391331136113E113C1EA01811203 +EA07011206120C121C12181230127012E0B6FCA2380001E0A6EB03F0EB3FFFA218227DA1 +1E>I<00101330381E01F0381FFFE014C01480EBFE00EA1BF00018C7FCA513FE381BFF80 +381F03C0381C01E0381800F014F8C71278A2147CA21230127812F8A214784813F8006013 +F0387001E01238381E07803807FF00EA01F816227CA01E>I<EB0FC0EB7FF03801F03838 +03C0183807803C380F007C121E001C1338003C1300A2127C1278EB7FC038F9FFE038FB80 +F038FE0038143C48131EA248131FA41278A36C131EA2001C133C001E13386C1370380781 +E03801FFC038007F0018227DA01E>I<1230123C003FB5FCA24813FE14FC3860001C1438 +14704813E014C0EA0001EB0380EB07001306130E5BA25BA21378A35BA41201A76C5A1823 +7CA11E>I<137F3803FFC0380781E0380E00704813380018131C1238A3123C003F133838 +1FC078EBE0F0380FF9E03807FF80120114C0000713F0380F0FF8381C03FC383801FE3870 +007E141F48130F1407A314060070130E0078130C6C1338001F13F03807FFC0C613001822 +7DA01E>I<13FE3803FFC0380781E0380E0070481378003C133848133CA200F8131EA314 +1FA40078133FA26C137F121C380F01DF3807FF9F3803FE1EC7FCA2143E143C001C133800 +3E13781470003C13E0381801C0381C0780380FFE00EA03F818227DA01E>I +E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fg ecrm0800 8 10 +/Fg 10 58 df<EB3FC0EBFFF03803E07C48487E48487E497E001EEB0780A2003E14C0A2 +48EB03E0A500FC14F0B0007C14E0A3007E1307003E14C0A36CEB0F806C14006D5A3807C0 +3E3803F0FC3800FFF0EB3FC01C2D7DAB23>48 D<130C133C137CEA03FC12FFEAFC7C1200 +B3B113FE387FFFFEA2172C7AAB23>I<EB7F803801FFF0380780FC380E003F48EB1F8048 +EB0FC05A0060EB07E012F000FC14F07E1403A3007C1307C7FCA215E0140F15C0141F1580 +EC3F00147E147C5C495A495A495A495A011EC7FC5B5B4913305B485A4848136048C7FC00 +0E14E0001FB5FC5A4814C0B6FCA21C2C7DAB23>I<EB3FC03801FFF03807C0FC380E007E +487FEC1F80003F14C0A2EB800F1300A2000C131FC7FC1580A2EC3F00143E5C5CEB03F0EB +FFC014F0EB00FC143FEC1F8015C0140F15E0A2EC07F0A21238127C12FEA3EC0FE012F800 +6014C00070131F6C1480001EEB3F00380780FC3801FFF038007FC01C2D7DAB23>I<140E +A2141E143EA2147E14FEA2EB01BE1303143E1306130E130C131813381330136013E013C0 +EA0180120313001206120E120C5A123812305A12E0B612FCA2C7EA3E00A9147F90381FFF +FCA21E2D7EAC23>I<000CEB0180380FC01F90B512005C5C14F014C0D80C7EC7FC90C8FC +A8EB1FC0EB7FF8380DE07C380F801F01001380000E130F000CEB07C0C713E0A2140315F0 +A4127812FCA448EB07E012E0006014C00070130F6C14806CEB1F006C133E380780F83801 +FFE038007F801C2D7DAB23>I<EB03F8EB0FFE90383E0780EBF8013901F007C03803E00F +EA07C0EA0F80A2391F00078091C7FC123EA2127EA2127CEB0FC038FC3FF0EBF07C38FDC0 +1EB4487E01001380EC07C04814E0A214034814F0A4127CA3127EA2003E14E01407121E00 +1F14C06CEB0F803907801F003803C03E6C6C5A38007FF0EB1FC01C2D7DAB23>I<123012 +3C003FB512F8A215F05A15E039700001C000601480140348EB0700140E140CC7121C5C14 +3014705C495AA2495AA249C7FCA25B130E131EA2133EA3133C137CA413FCA913781D2E7C +AC23>I<EB1FC0EBFFF03803E07C3807801E48487E001EEB0780A248EB03C0A4123E1407 +003F1480381FC00F01E01300EBF81E6C6C5A3807FFF86C13E0C6FCEB3FF8EBFFFC3803C7 +FFD807831380D81F0013C0001E133F48EB1FE0007C13070078EB03F012F84813011400A4 +6C14E000781301007C14C0003C13036CEB0780390F800F003807E03C3801FFF038003FC0 +1C2D7DAB23>I<EB3F80EBFFF03803E0783807C03E48487E48487E003E14801407007E14 +C0127C00FC14E01403A315F0A5007C1307127EA2003E130F7E6C131F3807803B3803E0F3 +3800FFC390383F03E013001407A215C0A2140F001E1480003F14005C143E143C003E5B00 +1C5B380E03E03807FF80D801FEC7FC1C2D7DAB23>I E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fh cmr10 10.95 5 +/Fh 5 62 df<1430147014E0EB01C0EB03801307EB0F00131E133E133C5B13F85B12015B +1203A2485AA2120F5BA2121F90C7FCA25AA3123E127EA6127C12FCB2127C127EA6123E12 +3FA37EA27F120FA27F1207A26C7EA212017F12007F13787F133E131E7FEB07801303EB01 +C0EB00E014701430145A77C323>40 D<12C07E12707E7E121E7E6C7E7F12036C7E7F1200 +7F1378137CA27FA2133F7FA21480130FA214C0A3130714E0A6130314F0B214E01307A614 +C0130FA31480A2131F1400A25B133EA25BA2137813F85B12015B485A12075B48C7FC121E +121C5A5A5A5A145A7BC323>I<1506150FB3A9007FB912E0BA12F0A26C18E0C8000FC9FC +B3A915063C3C7BB447>43 D<EB07FC90383FFF8090B512E03903F01FF83907C007FC390F +0001FE001E6D7E001C1580003CEC7FC05AED3FE01270B4FC6DEB1FF07FA56C5A6CC7FC12 +0CC813E0153FA216C0157F168015FF16004A5A5D4A5A4A5A5D4A5A4A5A4AC7FC147E147C +5C495A495A495A495A49C71270133E133C5B4914E0485A485A485A48C7120148B6FCA25A +4815C0B7FCA3243D7CBC2D>50 D<007FB912E0BA12F0A26C18E0CDFCAE007FB912E0BA12 +F0A26C18E03C167BA147>61 D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fi cmmi10 10.95 6 +/Fi 6 85 df<17075F84171FA2173F177FA217FFA25E5EA24C6C7EA2EE0E3F161E161C16 +38A21670A216E0ED01C084ED0380171FED07005D150E5DA25D157815705D844A5A170F4A +5A4AC7FC92B6FC5CA2021CC7120F143C14384A81A24A140713015C495AA249C8FC5B130E +131E4982137C13FED807FFED1FFEB500F00107B512FCA219F83E417DC044>65 +D<49B712F818FF19E090260001FEC7EA3FF0F007F84B6E7E727E850203815D1A80A20207 +167F4B15FFA3020F17004B5C611803021F5E4B4A5A180FF01FE0023F4B5A4B4A5ADD01FE +C7FCEF07F8027FEC7FE092B6C8FC18E092C7EA07F84AEC01FE4A6E7E727E727E13014A82 +181FA213034A82A301075F4A153FA261010F167F4A5E18FF4D90C7FC011F5E4A14034D5A +013FED1FF04D5A4AECFFC0017F020790C8FCB812FC17F094C9FC413E7DBD45>I<49B9FC +A3D9000190C7120718004B157F193F191E14035DA314075D191CA2140F5D17074D133C02 +1F020E13384B1500A2171E023F141C4B133C177C17FC027FEB03F892B5FCA39139FF8003 +F0ED00011600A2495D5CA2160101035D5CA293C9FC13075CA3130F5CA3131F5CA2133FA2 +5C497EB612F8A3403E7DBD3A>70 D<49B56C93B512C050148062D90001F18000704B90C7 +FC03DF5F1A0E1A1D1403039FEE39FC1A711A739126078FE015E3030F5FF101C3F1038714 +0F020E93380707F0A2F10E0F021E161C91261C07F05E1938F1701F143C023804E05BA295 +3801C03F0278ED038091267003F85EF00700060E137F14F002E04B91C8FCA24E5B01015E +4A6C6C5D60943801C00113030280DA03805BA294380700030107150E91C700FE5D5F1907 +495D010E4B5CA24D130F011E6E5A011C60705A013C171F017C92C7FC01FE027E5DD803FF +4D7EB500FC017C017FB512E0167804385E5A3E7CBD58>77 D<49B77E18F818FFD90001D9 +00017F9438003FE04BEC0FF0727E727E14034B6E7EA30207825DA3020F4B5A5DA24E5A14 +1F4B4A5A614E5A023F4B5A4B4A5A06FEC7FCEF03FC027FEC0FF04BEBFF8092B500FCC8FC +5F9139FF8001FE92C7EA7F80EF1FC084496F7E4A1407A28413035CA2170F13075C60171F +130F5CA3011F033F5B4AEE038018E0013F17071A004A021F5B496C160EB600E090380FF0 +1E05075B716C5ACBEAFFE0F03F8041407DBD45>82 D<48B912FCA25A913A0003FE000F01 +F84A1301D807E0EE00F8491307491778000F5D90C7FC001E140FA2001C4B1470123C0038 +141FA200785D1270033F15F000F018E0485DC81600157FA25EA215FFA293C9FCA25CA25D +A21403A25DA21407A25DA2140FA25DA2141FA25DA2143FA25DA2147FA214FF497F001FB6 +12FCA25E3E3D7FBC35>84 D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fj ecbx1440 14.4 47 +/Fj 47 253 df<B712E0AB230B7F9F2C>45 D<EA07E0EA1FF8EA3FFCEA7FFEA2B5FCA6EA +7FFEA2EA3FFCEA1FF8EA07E01010768F25>I<151E153E15FE1403140F147FEB07FF0003 +B5FCB6FCA3EBF87FEAFC00C7FCB3B3B3A6007FB712FCA52E4E76CD42>49 +D<EC1FFE49B512F0010F14FC013FECFF804915E02701FF803F7F2703FC000713FCD807F0 +01017F48486D7FD81F806E138048C87E7013C0D87FE016E001F8806D16F000FF817F7013 +F8A56C5AA26C5A6C5AEA0380C914F05EA218E05E18C05E18804C13005F4C5A4C5A5F4B5B +4B5B4B5B94C7FCED0FFC4B5A4B5AED7FC04B5A4A90C8FCEC03FC4A5A4A4814F84A5A4A5A +4AC8FC02FEEC01F0495A495A495A5CD90F80140349C8FC013E1507017FB7FC90B812E05A +5A5A5A5A5A5AB9FC18C0A4354E7ACD42>I<913807FFC0027F13FC0103B67E010F15E090 +261FF80313F890267FC0007F01FEC7EA3FFE48488148486E138013FE486C6C6D13C08048 +17E080A66C5B18C06C5B6C90C75AD80038168090C8FC4C1300A24C5A5F4C5A4B5B4B13C0 +030F5BDB7FFEC7FC91387FFFF816C016FCEEFF80DA000313E09238007FF8EE3FFE707E70 +138018C07013E018F07013F8A218FC82A218FEA3EA03C0EA0FF0EA3FFC487EA2B5FCA218 +FCA25E18F8A26C4816F0495C4916E0D83FE04A13C06C485CD80FF04A1380D807FE91387F +FE003B03FFE003FFFC6C90B65A6C6C15E0010F92C7FC010114FCD9001F1380374F7BCD42 +>I<17FC1601A216031607160FA2161F163F167FA216FF5D5DA25D5D5D167F153E157E15 +FC15F8EC01F01403EC07E015C0EC0F80141FEC3F00143E5C14FC495A5C495A1307495A5C +49C7FC5B137E137C5B1201485A5B485A120F485A90C8FC123E127E5ABA1280A5C901FCC7 +FCAF021FB71280A5394F7CCE42>I<486C150601F0153E01FEEC01FED9FFF0133F91B65A +5F5F5F5F5F94C7FC16FC5E16E093C8FC15FC01F0138091CAFCAC913807FF80023F13F891 +B512FE01F36E7E9026FFFC0113E09139E0007FF891C76C7E496E7E01F86E7E5B70138049 +16C0C9FC18E08218F0A418F8A31203EA0FE0EA3FF8487EA212FF7FA218F0A25B5E6C4816 +E05B01C016C06CC85A18806C6C4A13007FD80FF04A5A6C6CECFFFCD803FE4913F02701FF +E00F5B6C6CB612806D92C7FC010F14F8010114C09026003FFCC8FC354F7ACD42>I<ED07 +FE92B512C0020314F0021F14FC91397FFC01FE9139FFE0007F01030180EB3F804990C712 +1F4948EC7FC0494814FF4948010313E0495A49485B5A485BA2485BA2486F13C091C7FC48 +03001300177E94C7FC5AA25B127FA2ED3FF04AB5FC020714C000FF4914F091391F807FF8 +91393E001FFE02786D7E4A6D13807013C06D5A4A6D13E018F05C7013F8A291C813FCA449 +16FEA3127FA6123FA37F6C17FCA36C17F85E7E6E15F06C17E06C6D5B6E15C06C4B13806D +6C491300D93FFC495A6DB4EBFFFC010790B512F06D5D01001580021F01FCC7FC020313C0 +374F7BCD42>I<B912FEF0FFF019FE737E1AE0D8000F01C0C7001F7F06037F727F726C7E +867313807313C0A27313E0A37313F0A94F13E0A34F13C01B80614F1300624F5A06035B4E +13E0063F5B92B8C7FC19F8A2F1FF8003C0C7001F13E0060113F89538007FFE737E070F13 +C01BE07313F0851BF87313FCA27313FEA31BFFA91BFEA2611BFCA2614F13F81BF0614F13 +E0077F13C04EB51280060FEBFE00BB5A1AF01AC04FC7FC19C050527BD15D>66 +D<932603FFF01407047F01FF140F0307B600E0131F033F03F8133F92B700FE137F020391 +26C003FF13FF020F01F8C7EA3FC1023F01C0EC0FE391B5C80003B5FC4901FC8149498149 +01E082011F498249498292CA7E4948834948835A4A83485B4885A24849187FA2485B1B3F +A2485B1B1FA25AA21B0091CDFCA2B5FCAE7EA280A36C1A1FA36C7FA21B3F6C7F1B3E6C7F +1B7E6C6D187C6C1AFC6E18F86C19016D6CEF03F06D7E6FEE07E06D6DEE0FC001076DEE1F +806D01F8EE3F006D6D16FE6D01FF4B5A023F01C0EC07F8020F01FCEC3FF00203903AFFC0 +01FFC0020091B6C7FC033F15FC030715F0DB007F1480040301F0C8FC505479D25F>I<BA +FC19F819FF1AE01AF8D8000701F0C7001F13FE06017FDE003F13C0070F7F07037F737F73 +7F747E747E747F86747F8886888688A2747FA3881B7FA288A51D80AF1D00A564A21BFF64 +A3505BA2505BA2505BA2505B505B99C7FC505A1A7F4F485A4F13F0070F5B073F5B4EB55A +061F49C8FCBB12F81AE097C9FC19F896CAFC59527CD165>I<BB12FCA5D8000701F0C700 +0F7F1800191F190F19071903190119001A7E1A7F86A386A51B80DD03E0130FA497C7FCA3 +1707A3170F171F173FEE01FF92B6FCA5EDF001EE003F171F170F1707A31703A794CAFCB3 +A2B812F0A549527CD153>70 D<932603FFF01407047F01FF5C0307B600E05B033F03F85B +92B700FE5B02039126C003FF5B020F01F8C7EA3FC1023F01C0EC0FE391B5C80003B5FC49 +01FC814949814901E082011F498249498292CA7E4948834948835A4A83485B4885A24849 +84A2485B87A2485B87A25AA298C8FC91CFFCA2B5FCAE7E067FB7128080A37E95C76C90C7 +FC807EA36C7FA26C7FA26C7F7E806C7F137F6D7E816D6D93B5FC01077F6D01F85D6D7F6D +01FF5D023F01E0EC0FEF020F01FCEC3FE30203903AFFE001FF81020091B6C6FC033F03FC +133F030703F0130FDB007F02801303040301F8CAFC595479D267>I<B8D88007B712FCA5 +D8000701F0C9003FEB8000B3AE92BAFCA503F0C9123FB3B1B8D88007B712FCA55E527CD1 +67>I<B81280A5D8000701F0C7FCB3B3B3B2B81280A529527DD130>I<B86C0103B612E0A5 +D8000701F0C9000FEB8000E001FCC7FC505AF20FF0505A505A50C8FC1AFE4F5A4F5A4F5A +4F5AF13FC04F5A4FC9FCF001FC4E5A4E5A4E5A4E5AF07F804ECAFC4D5AEF03F84D5A4D5A +4D5A4D7E4D7EEE01FF4C7F4C7F4C7F5E4C7F4C80EEFE7FDBF3FC809226F7F83F7F9226FF +F01F7FEEC00F0480804C6C7F4B7F4B814B6D7F4B6D808486727F8486727F727F8486727F +8487737F737F8587737F8587737F737F8588747F97B57EB86C90B712F8A55D527CD167> +75 D<B812E0A5D8000F01E0CAFCB3B3A91AF8A419011AF0A51903A31907A2190F1AE019 +1FA2193F197F19FF60180760187F0503B5FCBB12C0A545527CD14F>I<B600F04EB612F0 +6F606F60A3D800076D4E49C7FCA2DADFFFF01F7FA202CF6D173EA302C76D177CA202C36D +17F8A202C16DEE01F0A202C06DEE03E0A36F6CEE07C0A26F6CEE0F80A26F6CEE1F00A36F +6D153EA26F6D5DA26F6D5DA36F6D4A5AA26F6D4A5AA2706C4A5AA3706C4A5AA2706C4AC7 +FCA2706D133EA3706D5BA2706D5BA2706D485AA2706D485AA3716C485AA2716C485AA271 +6C48C8FCA37113BEA27113FCA2715BA3715BA2715BA2D91FF06F5AB600FE050FB712F0A2 +725AA272C7FC74527CD17D>I<B912FCF0FFE019FE737E1AE0D8000F01E0C7003F7F0603 +13FC06007F737E7313807313C07313E0851BF0A21BF885A21BFCA91BF8A3611BF0A21BE0 +4F13C0614F13804F13004F5A060713F8063F5B92B812C097C7FC19F8198003E0CBFCB3AE +B712FEA54E527CD15A>80 D<B912E018FF19F019FE737ED8000701F0C714E0060F7F0603 +13FC06007F737E737F8587737FA28785A287A863A261636361634F90C8FC4F5A4F5A0603 +5B060F13E095B5128092B748C9FC19F019C019F09226F0000713FC050013FF063F7F727F +727F727F727FA2727FA28486A886A71D707513F8A2851C017301C013F0A273EBE003B86C +6D9038F007E0739038FC1FC0070190B51280736C1400080F5BCE13F85D537CD162>82 +D<DA0FFE141C91B500F0133C010702FC137C011F02FF13FC017F15C19026FFF00113E148 +903980001FFB4890C7EA07FFD807FC14014848804848153F171F4848150FA2007F160749 +1503A2170112FFA217007FA26D167CA27F7F6D93C7FC6C7E14C014F8ECFF806C14F8EDFF +C06C15FC6CEDFF8017F06C16FC6C826C707E6C836D82011F8201078213016D6C81020781 +EC007F030380ED003F040314801600173F837113C0838312F883A3837EA319807EA26C5E +19007F6D4B5A7F6D4B5A01FC4B5A6D151FD9FFC04A5AD97FF8ECFFE028FE1FFF80075B01 +0790B6C7FCD8FC0115FC486C6C14F048010F14C0489026007FFCC8FC3A5479D249>I<00 +3FBB12FCA59126C0007FEB000301FCC7ED003FD87FF0F00FFE49180749180349180190C8 +1600A2007E1A7EA3007C1A3EA500FC1A3F481A1FA6C91700B3B3AC49B912C0A550517BD0 +5B>I<B700F8037FB512F0A5D8003F01C0CA387FE0006D6DEF0F801B1F6D6D95C7FC636D +193E811B7E6D6D177C1BFC6D616F16016D61811A036E6D5E1A076E6070150F6E60821A1F +6E6D93C8FC626E173E821A7E6E6D157C1AFC6E6D5D19016E5F8219036F6D5C19076F5E71 +130F6F5E83191F6F6D91C9FC616F153E71137E6F157C8319FC6F6D5B18016F5D17FF1803 +70EB83E0188770EBC7C018CF705C18EF18FF7091CAFCA2705BA2705BA3705BA2705BA271 +5AA3715AA2715AA25C537DD163>86 D<B700F8017FB600FC49B612E0A5D8001F01C0C800 +1F01E0C9EBC0000E1FC7FC6F6F606D73163E6F81207E6D73167C6F8120FC6D735E6F6F17 +016D735E616F1B036D735E616F1B076E4C6E5D7015BF1F0F6E041F6E5D70031F161F6E9A +C8FC073F8070DA3E0F5E6E73143E197E70DA7C07167E6E04FC6E147C704A7E1FFC6E0301 +6F5C704A7E6E515A060381704A6C15036E735C1807704A6D14076F07805B7148487F1E0F +6F021F04C05B05C090C77E1E1F6F4A04E090C9FCDDE03E6E5C6FF1F03E187EDDF07C6E14 +7E6FF1F87C18FC71486E14FC6F01F9715ADDFDF0801DFD6F01FFEFFFF04E806F62A24E81 +7061A24E81706195C97EA27096CAFC4D82040F60A24D1607040760A24D16030403604D16 +0104016083537ED188>I<EC3FFE0107B512E0011F14FC017F14FF2701FFC00F13C02703 +FE00037F486C01007F6E6D7E486D80707EA2707EA3707F6C5B6C90C7FC6C5AC9FCA60307 +B5FC0203B6FC147F0103B7FC011FEBF00F017F1300EBFFFC000313F04813C0485B4890C7 +FC5A5B485AF081F012FF5BA35EA26D5C127F6D5C003F03F713C36DD901E314E06CD9C007 +14FF00079026F01F8114C06C90B5C61480C602FC6D1300011F01F0EB3FFC01010180EB07 +F03C387CB642>97 D<EB3FF8B5FCA51203C6FCB3A4EE7FF00307B5FC031F14C0037F14F0 +913AF9FF007FFCDAFFF8EB1FFF03E001077F03806D7F92C76C7F4A6E7F5C4A6F7E85183F +85A38584A31A80AD1A00A36061A261187F616E15FF616E4A5B6E4A5B6F495BDACFE04990 +C7FCDA87F0EB3FFE913A01FE01FFF8496CB65A49013F14C049010749C8FC90C813E04154 +7DD249>I<913803FFE0023F13FE91B67E010315E0010F9038003FF8D93FFCEB07FC4948 +497E4948131F4849497E485B485BA24890C7FC5A5B003F6F5A705A705A007F92C8FC5BA3 +12FFAD127F7FA3123F7F6CEE0F80A26C6D141F18006C6D5C6C6D143E6C6D147E6C6D5C6D +6C495A6DB4EB07F0010F9038C01FE06D90B5128001014AC7FCD9003F13F8020313803138 +7CB63A>I<943803FF80040FB5FCA5EE003F170FB3A4913803FF80023F13F849B512FE01 +07ECFF8F011F9038C03FEF90273FFE0007B5FCD97FF8130149487F484980484980484980 +488291C8FC5A5B123FA2127F5BA312FFAD127FA37F123FA3121F7F6C5E6C6D5C5F6C6D91 +B5FC6C6D5B6C6D4914E0D97FFCD90FEFEBFF80D91FFFEB7F8F010790B5120F010114FC6D +6C13E00207010049C7FC41547CD249>I<913807FF80027F13F849B512FE01076E7E011F +010313E0903A3FFC007FF0D97FF06D7E49486D7E4849130F48496D7E48824890C77E1880 +485A82003F17C0A3485A18E082A212FFA290B8FCA401FCCAFCA6127FA37F123FA2EF03E0 +6C7E17076C17C06C6D140F18806C6D141F6C6DEC3F006C6D147ED97FFC495AD91FFFEB07 +F86D9038E03FF0010390B512C001005D023F01FCC7FC020113E033387CB63C>I<ED1FF8 +913803FFFE020FEBFF80023F14C09139FFF83FE001039038E0FFF049138049010113F85B +EB3FFEA2EB7FFCA26F13F0495AEE7FE0EE1F8093C7FCAEB712C0A5C601F8C8FCB3B3A7B6 +12FEA52D547CD328>I<DA1FFE14FE49B539E007FF80010FDAFC1F13C0013FDAFF7F13E0 +90267FF807EBFF072701FFE001EBF07F48497E484990387FF83F91C7003F14C048EEFC1F +489338FE070049021F90C7FCA2003F82A9001F5EA26D143F6C5E6C5E6E137F6C6D495A6C +6D485B6CD9F80713804890B6C8FCD803EF14FC01C114E02707C01FFEC9FC49CBFCA2487E +A37FA27F13FC90B612FE6CEDFFF017FCEFFF806C8318F06C836C837F48B87E1207D80FFC +C700037F4848EC003F4848150F48486F138083485A83A56D5D007F18006D5D003F5F6C6C +4B5A01FE153FD807FFED7FF06C01C049485AC601FC011F1380013FB648C7FC010F15F801 +0115C0D9000F01F8C8FC3B4F7CB542>I<EB3FF8B5FCA51203C6FCB3A4EE1FFC93B57E03 +0314E0030F14F892391FC07FFC92397E003FFE03F86D7EECF9F04B6D7FECFBC0ECFF8092 +C76C7FA25CA25CA45CB3ACB6D8F807B612C0A542537CD249>I<133FEBFFC0487F487FA2 +487FA66C5BA26C5B6C5B013FC7FC90C8FCAEEB1FF8B5FCA512017EB3B3A6B612F0A51C54 +7CD324>I<EB3FF8B5FCA51203C6FCB3A50407B512F0A59339007FF000EF3FC04D5A4DC7 +FCEE01FC4C5AEE0FF04C5A4C5A4CC8FC16FEED03FC4B5A4B5A4B5A4B7E4B7EECF9FF02FB +7F91B57EA28203BF7F031F7F14FE4A6C7FDAF0077F6F7FA26F7F6F7F167F83707F707FA2 +707F707F707FA2707F707F84B6D8F00F14FEA53F537DD245>107 +D<EB3FF8B5FCA51203C6FCB3B3B3B1B612F8A51D537CD224>I<D93FF0D91FF84AB47EB5 +91B56C010F13F8030302E0013F13FE030F6E90B6FCDB3F809027F803F80F7F922A7E007F +FC07E0077F000302F890283FFE0F80037FC6D9F1F0011F49487EDAF3E0DAFF3E814B153C +DAF7805D92C76C496D7F14FF4A5EA24A5EA34A5EB3ADB6D8F80FB66CB612F8A565367BB5 +6E>I<D93FF0EB1FFCB591B57E030314E0030F14F892391FC07FFC92397E003FFE000302 +F86D7EC6EBF1F04B6D7FECF3C0ECF78092C76C7F14FF5CA25CA45CB3ACB6D8F807B612C0 +A542367CB549>I<913801FFC0023F13FE91B67E010315E0010F018013F8903A3FFC001F +FED97FF0EB07FF49486D7F48496D7F48496D7F91C8127F4883488349153F001F83A2003F +8349151FA2007F83A400FF1880AC007F1800A3003F5F6D153FA2001F5FA26C6C4B5AA26C +6D4A5A6C5F6C6D495B6C6D495B6D6C4990C7FCD93FFCEB1FFE6DB46CB45A010790B512F0 +010115C0D9003F49C8FC020313E039387CB642>I<D93FF8EB7FF0B50107B5FC031F14C0 +037F14F09126F9FF0013FCDAFFF8EB3FFF000302E0010F7FC602806D7F92C76C7F4A824A +804A6E7F85187F85A2183F85A4721380AD4E1300A44E5AA26118FF616E5C616E4A5B6E4A +5B6F495B03E04990C7FC6FEB7FFE913AF9FE01FFF802F8B65A033F14C0030749C8FC0300 +13E093CAFCB1B612F8A5414D7DB549>I<90393FF001FCB590380FFF804B13E0037F13F0 +9238FE1FF89138F1F83F00019138F07FFC6CEBF3E015C0ECF780A2ECFF00EE3FF84AEB1F +F0EE0FE093C7FC5CA45CB3ABB612FEA52E367DB535>114 D<903903FFC00E011FEBFC1E +90B6127E000315FE3907FE003FD80FF0130F4848130348481301491300127F90C8127EA2 +48153EA27FA27F01F091C7FC13FCEBFF806C13FEECFFF06C14FE6F7E6C15E06C816C15FC +6C81C681133F010F15801301D9000F14C0EC003F030713E0150100F880167F6C153FA216 +1F7EA217C07E6D143F17807F6DEC7F0001F85C6DEB03FE9039FF801FFC486CB512F0D8F8 +1F14C0D8F00791C7FC39E0007FF02B387CB634>I<147CA614FCA41301A31303A21307A2 +130F131F133F137F13FF1203000F90B512FEB7FCA426007FFCC8FCB3A9EE0F80ABEE1F00 +6D7EA2011F143E806D6D5A6DEBC1F86DEBFFF001005C023F1380DA03FEC7FC294D7ECB33 +>I<D93FF8913801FFC0B50207B5FCA50003ED001FC61607B3AE5FA35FA25F137F5F6D6C +14F7DC01E713F06D6CD907C7EBFFC0903A0FFF801F876D90B51207010114FC6D6C13F002 +0701C091C7FC42377CB549>I<B600E090381FFFFCA5000101F8C7000113006CEE007C6E +15FC017F5E8017016D6C5D17036D5E6F13076D5E6F130FA26D6D5C171F6D93C7FC6F5B6D +153E6F137E6D157C8117FC027F5CEDFE01023F5CEDFF036E5C168316876E5C16CF6E5C16 +FF6E91C8FCA36E5BA26E5BA26F5AA36F5AA26F5AA26F5AA23E367DB445>I<B600E09038 +1FFFFCA5000101F8C7000113006CEE007C6E15FC017F5E6E1401013F5E8017036D6D5C17 +076D5E6F130F6D5E6F131F6D93C7FC815F6D6D133E177E6D157C6F13FC027F5C811601DA +3FFF5B16036E5C16876E5C16CF6E5C16EF16FF6E91C8FCA26E5BA26E5BA26F5AA36F5AA2 +6F5AA26F5AA35E151F93C9FC5D153E157ED81FC0137C487E486C13FC486C5B14015D4A5A +14074A5A6C48485A4948CAFC495A383F81FC6CB45A6C5B000313C0C648CBFC3E4D7DB445 +>121 D<D907E0EB03F0D91FF8EB0FFC496C497E017F816E5B90B5497FA66D486D90C7FC +4A7F013F5D6D486D5AD907E0EB03F090CCFCABEC3FFE0107B512E0011F14FC017F14FF27 +01FFC00F13C02703FE00037F486C01007F6E6D7E486D80707EA2707EA3707F6C5B6C90C7 +FC6C5AC9FCA60307B5FC0203B6FC147F0103B7FC011FEBF00F017F1300EBFFFC000313F0 +4813C0485B4890C7FC5A5B485AF081F012FF5BA35EA26D5C127F6D5C003F03F713C36DD9 +01E314E06CD9C00714FF00079026F01F8114C06C90B5C61480C602FC6D1300011F01F0EB +3FFC01010180EB07F03C537CD142>228 D<027EEC1F80DAFF80EB7FC0496D497E496D48 +7F496D487FA24982A46D5EA26D496C5B6D496C5B6D496D5A027EC7EA1F8091CCFCACD93F +F8913801FFC0B50207B5FCA50003ED001FC61607B3AE5FA35FA25F137F5F6D6C14F7DC01 +E713F06D6CD907C7EBFFC0903A0FFF801F876D90B51207010114FC6D6C13F0020701C091 +C7FC42537CD149>252 D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fk ecbx2074 20.74 18 +/Fk 18 117 df<EE03C0160F161F163F16FF1503150F157F0203B5FC143F010FB6FCB8FC +A314FC14C0EBF000C8FCB3B3B3B3B2003FBAFCA6407172F05B>49 +D<92381FFF804AB512FC020FECFF80023F15F091B712FC010316FF010FD9001F14C0D91F +F8010380D93FE0010014F8D97F80023F7F4848C86C7F01FC6F7F48486F148048486F14C0 +4848817114E0484818F04982003F7113F813F8D87FFE7013FC6D7E6E17FEB56C81A2801A +FFA284A56C5BA26C5B6C495DD807FEC9FCD801F818FECBFCA2601AFCA21AF8601AF0601A +E095B5FC1AC04D14801A005F614D5B4D5B614D5B4D5B614D90C7FC4D5A4C13F8604C5B4C +5B4C5B4C48C8FC4C5A4C5A5F4C5A4B13804B90C9FC4B5A4B5A4B5A4B48153F4B5A4B5A93 +C9FC4A48167E4A5A4A5A4A5A4A5A4A5A4A4816FE4ACAFC495AD903F817FC4A1601495A49 +48160F49B9FC5B5B90BAFC5A4819F85AA25A5A5A5ABBFCA21AF0A4487177F05B>I<9238 +03FFF8037FEBFFC00203B612FC020F15FF027F16C09127FFFC007F13F0010301C0010F13 +FC4948C700037FD91FF86E7FD93FE06E14C049488191C98001FE707F2601FFC08302F081 +486D838080486D8384A38192C8FCA46C5F5C6C495F6C5BEB3FE00107C95C90CA5AA26260 +6295B55AA24D5C97C7FC4D5B4D5B614D5B4D13C0057F5B4D48C8FC04035B4BB512F04AB6 +12804DC9FC17F8EFFFE018FC91C86CB47E050F13E0050313F87113FE716C7E1AC0727F72 +7F727F86727F86A2721480A21BC0A21BE084A31BF0A3EA03FE380FFF80487F487F487FA2 +B57EA31BE0A260A21BC05C6C1A804A5D4A18006C5B49C9485BEA1FF801E04C5B6C6C4C5B +D807FC606C6C4C5B2601FFC092B55A6C01F002035CD93FFF020F49C7FC6D01F8017F5B01 +0790B712F0010117C06D6C93C8FC020F15F8020015C0030701F8C9FC4C7379F05B>I<19 +7F61A2606060A26060A2606095B5FCA25F5FA25F5F5FA25F5FA217FD1601EE03F917F116 +07EE0FE1EE1FC11781163FEE7F01167E16FEED01FCED03F816F01507ED0FE016C0151FED +3F80ED7F00157E15FE4A5A5D14034A5A4A5A5D141F4A5A92C7FC147E14FE495A5C130349 +5A5C495A131F495A91C8FC5B13FE5B485A1203485A5B120F485A5B48C9FC5A12FEBDFCA6 +CA000391C7FCB3A4030FB9FCA650727BF15B>I<0160EF018001781707017F173F02E0ED +01FF02FE151FDAFFF80107B5120092B75AA261616119C06196C7FC6018F818E018804DC8 +FC17F817C0D97E3F49C9FC0200138092CBFCB3923803FFE0033F13FF92B612E0020315F8 +020F15FE913B3FFE007FFF80DA7FE0011F7FDAFF80010713F0D97FFCC76C7F4A6E7F02E0 +6E7F4A824A6F138091C914C084017E18E0013C8290CA14F0A21AF8A21AFC84A21AFEA51A +FFA5EA03F8EA0FFE487E487F487FA2B57EA31AFEA45C4E13FC6C5B91C9FC01FC18F813F0 +D83F804C13F0A26C6C18E04E13C06C7E6D93B512806C6C18006C6C4B5B6D5D6C6C6C4A5B +6C6D4A13F0D97FF0023F5BD91FFC91B55A90270FFFC00F91C7FC6D90B612FC010116F06D +6C15C0021F92C8FC020314F09126003FFEC9FC487377F05B>I<EF7FFC040FB512C0047F +14F00303B612FC030F15FF033FD9E0077FDBFFFEC76C7E020301F86E7E4A01E0EC0FF002 +1F018014074A90C86C7E4A48151F4A48ED7FFC4949EC01FF495B49494A7F49495C5B5D49 +90C8FC5B5C13FFA248496F5B725B48614A6F6C5A48F01F8096C8FC5AA25C5AA35AA45C48 +92381FFFE093B512FC0303ECFF804B15E0031F8192263F800313FCB5017EC76C7E4B6E7E +03F06E7FDAE1E06E7F02E36F7F4B6E7FDAE7808292C86C7F14EF02EE8302FE6F7F5C1B80 +A24A18C085A24A18E0A51BF0A26C5BA87EA380A27EA21BE0A27EA36C1AC06E93B5FC6C1A +80A27E6E18006C5F626D6C5F4E5B6D7E6D6D4A5B6D6D4A5B6D6D4A5B6D6D4A5B6D6D4A90 +C7FC6D01FE49485A91277FFFC00F13F8021F90B65A020716C0020193C8FC6E6C14FC030F +14E0030001FCC9FC4C7379F05B>I<EA07E0A2120F13F813FE90B5FC92B912FCA45AA21B +F81BF01BE01BC0A21B801B004861A262626201F8CAEA07E001C0170F494D5A4F5A48CB90 +C7FC6119FE007E4D5A4E5A6118074E5A4E5A4860183F4EC8FC18FECA485A6017034D5A4D +5AA24D5A4D5AA24DC9FC5F5F16014C5AA24C5A160FA24C5AA2163F5F167FA216FF5F5DA2 +5D5F5DA25DA34B90CAFCA25DA35DA492B5FCA25EA25CA45CA75CAD6E5BA26E5B6E5B6F5A +ED1F804E7776F45B>I<F11FC0A24F7EA34F7EA24F7EA34E7FA34E7FA24E7FA34E80A24E +80A34E80A34E80A206FE8060A205016D7F18F88505038118F005076D7F18E085050F8218 +C0051F6D80A21880053F6D801800854D82177E05FE6D805FA204016F7F5F860403835F04 +076F7F5F86040F845F041F6F80A25F043F6F8094C8FC864C84167E04FE6F805EA2030171 +7F5E870303855E0307717F93BBFCA24B86A24B86A20480C91207033F718093CAFC874B86 +157E03FE71805DA20201737F5D880203875D0207737F5D88020F885D021F7380A25D023F +738092CCFC884A88147E02FE7380497E011F13F8B700FC047FB812F8A67D797AF88A>65 +D<BA4BB712FEA6C7003F01FCCB000102F0C7FC9A26001FFEC8FCF60FF8545A545A545A54 +5A5390C9FCF503FC535A535AF53FE0535A535A5290CAFC525A525A525A525AF43FC0525A +52CBFCF303FE515A515A515A515A515A515A5090CCFCF203FC505A505AF23FE0505A505A +4F90CDFC4F5A4F5A190F4F7E193F4F7E4EB57E604E804E80604E804E8095B67E4D5A4D48 +804D486C7F94381FF03FDD3FE0814D486C804D487E04FD496C80DCFFFE824D6D804D7F05 +E0824D6D804D8094C8804C6F804C817480897480868974808689757F878A75808775808A +7580878A7580888A76808876808B7680888B7680888B777F898C77808920F00B7F14FCBA +4AB912C0A682767BF58F>75 D<92381FFFC00203B512FE023FECFFC091B712F0010316FC +010FD9E00313FFD91FFCC76C13C0D93FE0021F7FD97F806E7FD9FFF06E7F6E6E7F486D6E +7F6E824870806E8186A2727FA46C496F7FA26C5BEB3FF0EB0FC090CAFCA960040FB6FC03 +03B7FC157F0203B5EAFC1F021F140091B512F0010391C7FC010F13FC4913F0017F13C090 +B55A4891C8FC485B485B485B485B5A5C5A4AF007E0A2B5FC5CA260A360A26E92B5FC7E6E +EC01EF17036C6DDA07C79038F80FC06C6DEC0F876C6DDA1F07EBFC1F6C6DDA7E039038FF +7F806C6D6C48486CECFF006C9138E00FF86C6C90B5D8E0005C011F4B013F5B010792C76C +13F0010002F802075B020701C0020090C7FC53507ACE5B>97 D<923801FFFC031FEBFFC0 +92B612F8020715FE021F6F7E027FD9E03F13E09127FFFE00077F010301F801017F49496D +7F4901C0EC3FFE4949814990C86C138049486F13C013FF4A6F13E05A48496F13F0A24849 +17F848831AFCA2484981A24819FEA3485B197F1AFFA3B5FCA491BAFCA402C0CBFCA77EA4 +807EA37E80A26C193FA26C6D177F1A7E6C7F6C19FE6EEE01FC6C7F6DEF03F86D6DED07F0 +6D6DED0FE06D6DED1FC06D01F8ED3F806D6DEDFF006D01FFEC03FE6D6C01E0EB0FFC6E01 +FEEBFFF8020F90B612E002031680DA007F4AC7FC030F14F0DB007F90C8FC48507BCE53> +101 D<F207F892260FFFC0EC3FFE4AB500FE49B5FC020F9126FFC0071480023FDBF00F14 +C09126FFFE019038FC3FF801039029F0003FFF7F8113E049496DEBFC01490180010713F0 +4990C76C13E04917F049486E13F801FF716C13C04A6EED7F804872EB1E00487290C7FCA2 +4A814885A34885AB6C61A36C96C8FC6E92B5FCA26C606C606E5C017F5F6D6C4A5B6D5F6D +6D495B6D01E0011F5B496D4990C9FC011E9039FE01FFFCD93E3FB612F0D93C0F15C0D97C +014ACAFCDA000F13C04990CDFCA31201A27FA37FA27F808014F86C90B712F8F0FFE019FE +6D717E1AF06D18FC866D846D19C06D857F4985013F8590BBFC4801F0C8000F80000701C0 +ED007F4849040F7F4890CA1203484883854848727E8612FF5B86A66D60007F62A26C6C4E +5A6D18FF6C626C6D4C5B6C6D4C5B6C6D4C5B6C01F8041F5B6C6D4C90C7FC90263FFF8091 +3801FFFC010F01F0020F13F0010301FF91B512C0010091B7C8FC021F16F802011680DA00 +0302C0C9FC53727BCE5B>103 D<903803FFF8B6FCA6C67E131F7FB3AFF07FF80503B512 +C0051F14F0057F14FC94B7FC932603FE0180932707F0007F7FDC0FC06D7F4CC77E043E82 +4C6E7F5E4C80DBF9E082A2EDFBC0DBFF80808793C8FCA25DA35DA45DB3B3A9B8D8803FB7 +12E0A65B787AF766>I<EB01FCEB07FF497F497F497F497FA290B57EA76D5BA26D5B6D5B +6D5B6D90C7FCEB01FC90C9FCB3A4903801FFF8007FB5FCA6C67E131F7FB3B3B3A9B8FCA6 +28797BF832>I<903801FFF8B6FCA6C67E131F7FB3B3B3B3B3AFB81280A629787BF732> +108 D<902603FFF0EC7FF8B60203B512C0051F14F0057F14FC94B7FC932603FE01809327 +07F0007F7FC66CDA0FC06D7F011F4AC77E6D023E824C6E7F5E4C80DBF1E082A2EDF3C0DB +F780808793C8FC15FF5DA35DA45DB3B3A9B8D8803FB712E0A65B4E7ACD66>110 +D<902603FFF8903801FFF0B6021F13FF94B612E0040315FC040F15FF93263FF80114C093 +27FFC0003F7FC66CD9F9FEC76C7F011FD9FBF8020713FC6DD9FFF06E7F4C6E7F04806E80 +93C96C7FA24B707F4B707F5D747FA2747FA2888688A286A21D80A4861DC0AF501480A51D +0062A26462A264626462646F4C5B816F4C5B97B55A704A91C7FC704A5B04F04A5B704A5B +DBF9FC023F5BDBF8FF91B512C093267FF00791C8FC041FB612FC040715F0040115C0DC00 +3F49C9FC050713C094CCFCB3A8B87EA65A6F7BCD66>112 D<15FCA71401A51403A31407 +A3140FA2141FA2143F147F14FFA25B5B5B131F5B90B5FC000F91B612FCB9FCA5D8000701 +FCC9FCB3B3A4F01F80AF183F6D170081A2187E6D7F18FE6D6E5B6E4A5AEEC0036E6D485A +6E9038F80FE0020790B55A6E5D02004AC7FC031F13F8030113C0396E7DEC47>116 +D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fl ecsl1095 10.95 36 +/Fl 36 224 df<007FB5FCB512FEA418057C951E>45 D<121E127FEAFF80A413005A123C +0909778819>I<153015F014011407143F903803FFE0137FEBFFCFEBFC0F1300141F15C0 +A5143F1580A5147F1500A55C5CA513015CA513035CA513075CA5130F5CA3131F497EB612 +F8A31D3D78BC2D>49 D<EC01FE91380FFFE0023F13F89138FC07FC903901E001FE903903 +8000FF49C7EA7F80010EEC3FC05B49EC1FE0133013700160140F13FE7FA25A161FA3EA00 +FC0130EC3FC090C8FC167F1780EEFF00A24B5A5E4B5A4B5A4B5A4B5A5E4BC7FC157E5D4A +5AEC03E04A5A4A5A021EC8FC147C5C495A49481306D907805B49C7FC131E495C5B01E014 +38484814304848147048B612F05A003F5D5AB7FC5EA22B3D7CBC2D>I<EC07FC91383FFF +8091B512E0903903F80FF09039078003F890390E0001FC4914FE491300017E14FFEB7F80 +13FFA56D485A013C14FE90C7FCED03FCA2ED07F816F0ED0FE0ED1FC0ED3F80ED7F0015FC +EC07F0903803FFC015F090380001FCEC007FED3F8016C0151F16E0ED0FF0A316F8A4120E +EA3F80486C131F16F012FFA2153F16E05B48C7EA7FC000E015800060ECFF0000705B6C5C +003C495A001FEB0FF0390FE03FE00003B51280C649C7FCEB1FF0283F7ABC2D>I<160C16 +1C163C167C16FCED01F8A215031507150F151FED3FF01537156715C7EC01871403913807 +0FE01406140C1418143014709138E01FC014C0EB0180EB03001306130E49EB3F8013185B +5B5B12014848EB7F0090C7FC12065A5A12384814FE1260B8FCA3C73801FE00A25DA41403 +A25DA314074A7E0107B512F8A3283E7BBD2D>I<01061403D907C0131F9138F801FE91B5 +12FC16F84914F016C01680EDFC0090380C7FF091C8FC131C1318A513381330A59038701F +E0903860FFF8903863E03E90386F001F017CEB0F80017814C049EB07E04914F049130390 +C7FC16F8A61507A3121FEA7F80A2150F00FF15F0A290C713E048141F00E015C0153F0060 +15800070EC7F00A26C14FE003C495A6C495A6CEB0FE03907E03FC06CB5C7FCC613FCEB1F +E0283F7ABC2D>I<ED7F80913803FFE0020F13F091383F80789138FE001CD901F8130C49 +48137E494813FE90380FC00190381F8003EB3F004914FC01FEEB01F849EB00F000011500 +5B120312075B120F5BA2001FEB3F809038E1FFE0393FC3C0F89038CF007C01DC7F01D87F +D87FF8148049130F4914C0A24914E0A2485AA216F090C7FCA2ED1FE0A35AA3153F16C0A3 +ED7F80A2007E150015FEA2003E495A003F495A6C5C6D485A390FC01FC02607E07FC7FC38 +03FFFEC613F8EB3FC0273F78BC2D>I<12035A13C090B712805AA217005E485D5E001CC8 +1270485D00305D150100704A5A00604AC7FC150E5D485CC8123015705D4A5A4A5A4AC8FC +140EA25C5C1478147014F0495AA213035C1307495AA2131FA249C9FCA25B137E13FEA312 +015BA21203A3485AA5120F5BA26C5A6C5A294074BD2D>I<17C04C7EA21603A216078316 +0FA2161FA24C7EA21667A216C7A292380187FC1683ED0303A2150683ED0C01A21518A203 +307F1570ED600015E05D14014B804AC7127FA21406A24A81173F5C021FB6FC5CA20260C7 +EA3FE0171F5CA2495A8449C8120FA21306130E010C82131C011815071338137801F88248 +7ED807FEED1FFEB500C00103B512FC4C14F8A23E417DC044>65 D<011FB7FC4916F018FC +903B007FE00003FE023F913800FF80F07FC04B143FF01FE019F0180FA2027F16F85DA502 +FF16F092C8121F19E0183F19C0F07F8049EEFF004A4A5A4D5AEF0FF0EF3FE04CB4C7FC49 +B612F8EFFF8002FCC7EA1FE0EF07F0EF03FC717E13074A6E7E1980187FA219C0130F5CA5 +011FEEFF805C19005F4D5AA2013F4B5A4A4A5A4D5AEF7FE0017FEDFF8001FF020790C7FC +007F90B612FC17F0B8C8FC3D3E7DBD40>I<4BB46C1370031F13F0037F01FC13E0913A03 +FF803E01913A0FF8000F83DA1FE0EB03C7DA7F80EB01EF4AC8FCD903FCED7FC04948153F +495A4948151F495A4948150F01FF178091C91207485A12035B485A000F180084485AA248 +485EA295C7FC485AA412FF5BA790CCFCA21818183818307FA2007F1770186018E0003F5F +6D1501606C6C15034DC7FC6C6C150E12076C6C5D6D15786C6C5D6C6C4A5AD93FC0EB0780 +6D6C011FC8FCD907FE13FC0101B512F06D6C13C0DA07FEC9FC3C4276BF41>I<011FB7FC +4916E018F8903B007FE00007FE023FEC00FFF03FC04B6E7E180F727E727E85027F15014B +6E7EA28585A202FF178092C9FCA54918C05CA41A8013034A16FFA41A0013074A5DA261A2 +4E5A130F4A4B5AA261180F61011F4C5A4A153F614EC7FC18FE4D5A013F4B5A4A4A5AEF1F +E0EF7F80017F4A48C8FC01FFEC0FFC007F90B612F01780B700FCC9FC423E7DBD45>I<01 +1FB812F05BA29026007FE0C7127F023F150F18034B14011800A31970147F4B1560A502FF +146092C7FCA3190017E0495D4A1301A21607161F91B6FC495DA29138FC003F160F160716 +03010792C8FC5CA2196019E019C0010F14064A90C712011980A218031900011F5E5C180E +A2181E181C013F163C4A157C4D5A1703017F150F01FFEDFFF0007F90B7FCA2B95A3C3E7D +BD3D>I<011FB812E05BA29026007FE0C7FC023F151F18074B14031801A31800147F4B15 +C0A514FF92C71260A3190017E0495D5C160116031607161F49B65AA39138FC003F160F16 +07010792C8FC4A7FA5010F14065C93C9FCA4131F5CA5133F5CA3137F497E007FEBFFF0A2 +B6FC3B3E7DBD3B>I<4BB46C1370031F13F0037F01FC13E0913A03FF803E01913A0FF800 +0F83DA1FE0EB03C7DA7F80EB01EF4AC8FCD903FCED7FC04948153F495A4948151F495A49 +48150F01FF178091C91207485A12035B485A000F180084485AA248485EA295C7FC485AA4 +12FF5BA6043FB512E090C8FCA29339001FFC00715AA26D5EA2127FA2171F6C7E60A26C7E +A26C6C153F12076C6C4B5A7F6C6C15FF6C6CEC01CFD93FC0EB0787D91FF0EB1F07D907FE +9038FC03800101B5EAF0016D6C01C0C8FCDA07FEC9FC3C4276BF47>I<013FB5D8F007B5 +12FEA39026007FF0C7380FFE006E486E5AA24B5DA4180F147F4B5DA4181F14FF92C85BA4 +183F5B4A5EA491B8FC5B6102FCC8127FA318FF13074A93C7FCA45F130F4A5DA41703131F +4A5DA41707133F4A5DA3017F150F496C4A7E007F9026FFC00FB512F8B65BA2473E7DBD44 +>I<013FB512F0A39039007FF0006E5AA25DA5147F5DA514FF92C7FCA55B5CA513035CA5 +13075CA5130F5CA5131F5CA5133F5CA3137F497EB612E05DA2243E7DBD21>I<011FB500 +F0903803FFFE5B609026007FF0C7000113E06E486E130019FC4B15F0614E5A0607C7FC18 +0E027F5D4B5C60EF01C04D5A4DC8FC02FF140E92C75A17705F4C5A4C5A49020FC9FC4A13 +1E163F5E4C7E15030103496C7EECFC0E4B6C7E15389238E01FF0ECFDC049B4486C7E1500 +4A6D7E14F8707EA2010F6E7E5C707FA2717EA2011F6F7E5C717EA2717EA2013F6F7E5C84 +1703017F4B7E496C4A13C0007FD9FFC090B512FE61B6FC473E7DBD46>75 +D<011FB512FC5BA29026007FF8C8FCEC3FE0A25DA5147F5DA514FF92C9FCA55B5CA51303 +5CA513075CA21830A21860130F5CA218C0A3011F15014A15801703A21707EF0F00013F5D +4A5C5F17FE017F140301FF143F007F90B6FC5FB8FC343E7DBD38>I<90263FFFE0933807 +FFFC6F5EA2D9007F94381BFC00023FEF1FF8DA3BF816370233601A67A2DA31FC16C7F101 +8F147102619338030FE0A2DA60FE1506A2F10C1F14E0DAC07F03185B1930A219601A3F01 +016D6C14C0028060F00180F003006F7E0606137F130302004B91C7FC6F7E60A24E5B495E +01066D6C5D60A24D5ADB03F81401010EED0300010C03065CA26F6C5AA24D1303131C0118 +4B5CED00FE5F5F19070138EC7F80013060013892C7FC137801FC027E140FD807FF023C4A +7E007F01F0030FB512F0B502385B1618563E7DBD53>I<90263FFFF091381FFFFEA281D9 +003F030013C06E6CED3F00023F163CDA33FE151C1918EC31FFA202306D14381470912660 +7FC01430A26F7EA26F6C147014E04A6C6C1460A26F7E15037014E00101130102806D5C6F +7FA2707E18010103EC3FE091C75DEE1FF0A2EE0FF8180349EC07FC010694C7FCEE03FEA2 +EE01FF60010E6E1387010C1686EF7FC6A2EF3FE618EE011CED1FFE01185E170FA2170717 +03133801306F5A13380178150013FCD807FF1678007F13F0B51630A2473E7DBD44>I<ED +03FF033F13F09238FE01FC913907F0007FDA0FC0EB1F80023FC76C7E027EEC07F0D901F8 +6E7E4948140149486E7E494881011F167F495A49C9EA3F805B4917C0485A0003171F4917 +E01207485AA2121F5B19F0123F5BA2127FA219E04848163FA5F07FC0A490CAEAFF80A219 +005F6D5EA24D5A127F4D5AA26C6C4B5A4D5A001F5F4D5A6C6C157F4DC7FC6C6C5D6C6CEC +01F80001ED07F06C6C4A5A017EEC1F806D6C017FC8FC90390FC001FC903907F80FF00100 +B51280DA1FF8C9FC3C4276BF46>I<011FB612FE49EDFFC018F0903B007FE0000FFC023F +EC03FEEF00FF4BEC7F80F03FC0A2F01FE0A2147F5D19F0A402FFED3FE092C8FCA219C018 +7F19805B4AEDFF004D5A60EF07F84D5A0103ED3FC04A49B4C7FC91B612FC17E002FCCAFC +A213075CA5130F5CA5131F5CA5133F5CA3137F497E007FEBFFC0A2B6FC3C3E7DBD3D>I< +013FB612F017FF18E0903B007FE0003FF8023FEC07FCEF01FE4BEB007F1980F03FC0A2F0 +1FE0147F4B15F0A502FFED3FE092C8FCA219C0F07F80A249EEFF004A4A5A4D5AEF07F0EF +1FE0EF7F800103DA03FEC7FC91B612F017C09139FC0007F0EE01FC70B4FC01076F7E4A14 +3F84717EA3130F5CA5011F153F5CA5013F17035CA21907017F1706496C021F130E007FD9 +FFC0150CB691380FF01C943803F878CBEAFFE0F03F8040407DBD43>82 +D<03FF1307020713E0021FEBF80E91397F00FE1ED901FCEB1F3ED903F0EB07BE4948EB03 +FE49481301494814FC91C8FC49157C133E137E173C491538A66D1530A26D1500808080EB +7FFCECFFC06D13FCEDFF806D14E06D14F80103806D80D9003F7F1403DA007F1380150715 +016F13C0167F163FA2161F1218A3160F161F00381680A31700003C5D163E007C157E007E +157C007F15FC6D495A6D495AD87DE0495AD8F8F8EB1FC0D8F07F017FC7FC39E01FFFFC01 +0713F048C613C030427BBF32>I<0007B912E0A33C0FFC001FF0003F01E0160F01801603 +90C7491301121E001C1700A212180038143F00304B14C0A35AA2157F485DA3C81600A215 +FF93C9FCA55C5DA514035DA514075DA5140F5DA5141F5DA3143FEC7FF80003B612FE5EA2 +3B3E76BD41>I<B600C090387FFFF8A3000101C0C7000313006C49EC00FC18F091C91270 +1860A318E05A495EA417011203495EA4170312074993C7FCA45F120F491506A4170E121F +49150CA4171C123F491518A31738173017701760001F16E05F16016C6C4A5A160794C8FC +6C6C141E6C6C5C00015D6C6C495A017FEB07C090393FC03F8090260FFFFEC9FC010313F8 +9038007FC03D4073BD44>I<B500FE0203B5FC19FEA2000301C09138007FE06C90C9EA3F +80F01E006C171CA218186E5DA2017F5E18E0606E1401013F5E4DC7FCA26E1406A2011F5D +A25F6E14381730010F5DA25F8001074A5AA24CC8FC6E5B160601035CA25E8001015CA25E +6E13E05E6D13015E4BC9FC1583EC7F86A2158CA215D8EC3FF85D5DA25D141F5DA292CAFC +80140E140C404074BD44>I<B500FE013FB56C48B512801D005C00070180010101E0C7EA +3FF86C48C849EC0FC071485D000174C7FC1B06A2636D82637E05FF5DA2DC01BF5D846ED9 +031F5D137F04064B5AA2040C4BC8FCA204186D5B6E020F1406013F0230150E1A0C046015 +1C1A1804C06D13386E02071430011FEB018062150304005D5D03066E485ADAF00E130301 +0F010C4BC9FC151C03181506A24B6E5A02F814010107495DA24B5DA2DAF9805D18FF02FF +C85B7F4A5EA24A93CAFCA24A157E13014A157CA24A1578A25C01001630594074BD5D>I< +010FB500F090387FFFF8495CA2D9003F90C7001F1300DA1FFCEC07F8020F16E002071680 +96C7FC6E6C1406606E6C5C18386E6D5B606F6C5B4D5A6F6C48C8FC170692381FF00E5F92 +380FF8185F6F6C5A5FED03FF5F6F90C9FCA26F7FA2707EA24C7E5DEE9FF0ED031F03067F +ED0C0F031C7FED380703707FED600303C07F4A487E0203814AC7FC140E020C6E7E5C4A6E +7E5C02E06E7E495A49486E7E49C8FC496F7E4982D97F80140F2603FFC091383FFF80007F +01F849B512FEB55AA2453E7EBD44>I<B692B51280A3000301F092383FF800C601C0ED1F +C0017F70C7FC181E6D6C151C606E1530011F5E6E15E0010F5E4D5A6D6C4AC8FC5F6D6C14 +0E170C6D6C5C17386D6D5B17606F5B027F495A1603DA3FE090C9FC16066E6C5A161C6E6C +5A16306E6C5A16E0EDFFC06E5B93CAFC6E5AA45D1403A55D1407A55D140FA4141F4A7E01 +1FB512F05BA2413E75BD44>I<010FB712FCA3923980000FF8D91FF8C7EA1FF014E04AEC +3FE091C8EA7FC0011EEDFF80494A1300A201384A5A4C5A494A5AA201604A5A4C5A4C5A49 +4A5AA24B90C7FC90C7485A4B5AA24B5A4B5A4B5A4B5AA24B5A4A90C8FC4A5A5D14074A5A +4A5A4A5AA24A48EB01804A5A4990C7EA0300495AA2495A49485C49481406A24948140E49 +5A495A4890C85A173C485A4848157C484815FC494A5A001F15074848141F4848EB01FFB8 +FC5FA2363E7BBD37>I<0470133CDB01FC13FE030380705A150716FC03035CEEF800DB00 +E0137893C9FCA417C04C7EA21603A2160783160FA2161FA24C7EA21667A216C7A2923801 +87FC1683ED0303A2150683ED0C01A21518A203307F1570ED600015E05D14014B804AC712 +7FA21406A24A81173F5C021FB6FC5CA20260C7EA3FE0171F5CA2495A8449C8120FA21306 +130E010C82131C011815071338137801F882487ED807FEED1FFEB500C00103B512FC4C14 +F8A23E4E7DCD44>196 D<DA01C013F0913907F003F8020F80EDF807141F15F0020F5CED +E0039139038001E091CBFCA7B600C090387FFFF8A3000101C0C7000313006C49EC00FC18 +F091C912701860A318E05A495EA417011203495EA4170312074993C7FCA45F120F491506 +A4170E121F49150CA4171C123F491518A31738173017701760001F16E05F16016C6C4A5A +160794C8FC6C6C141E6C6C5C00015D6C6C495A017FEB07C090393FC03F8090260FFFFEC9 +FC010313F89038007FC03D5073CD44>220 D<03FF010792393FC001C0020701E0923801 +FFF8021FD9F80E02079038FE038091277F00FE1E91391FC03F87D901FCD91F3E91397F00 +07CFD903F0D907BE02FCEB01EF4948D903FE4948EB00FF494801014A48147F4A4A4A1500 +49C84A488049037C010F81013E60017E171F053C8349033849C8120EA66D03306E140CA2 +6D92C76D91C7FC6E836E836E83D97FFE70B47EDAFFC017F06D01FC6F13FFDBFFC017F06D +02F06E14FC6D6E6E8001036E02008001006E033F80023F6D030F8002036E020080DA003F +170F03036D03007F0300183F706C707E043F170F041F1707A2040F170300181706A30407 +1701040F17030038DCC00E5EA305805F003C031F010F150705005F007C4B49150F007E03 +7E6E4A5A007F037C6E92C7FC6D02FC6E5C6D49486E147ED87DE0494802785CD8F8F8D90F +C0D93E3EEB03F028F07F803F80903A3C1FE00FE027E01FFFFEC7D83807B51280010701F8 +030149C8FC27C0007FC0913930001FF062427BBF64>223 D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fm ecbx2488 24.88 31 +/Fm 31 256 df[<F201F8507EA2507EA3507EA3507FA2507FA3507FA397B57EA24F80A3 +4F80A34F80A24F80A34F81A3DF3FBF801A3F4F6C80197EA2DFFE0F8019FC0601828619F8 +06036D8019F0A206076D8019E0060F6D8061A2061F6E8061A2063F6E8096C7FC4E6E8018 +7EA206FE6E8060A205016F806005036F8060A205076F8060A2050F6F8060051F708060A2 +053F708095C9FC4D8588177E05FE70805FA2040171805F040386885F040771805FA2040F +71805F041F728094BCFCA24C87A34C87A204FECB000F805EA2030173805EA2030373805E +030773805EA2030F73805EA2031F74805E033F748093CDFCA24B7480157E03FE898A5D02 +0175805DA2020375805D020775805DA2020F75805D141FDA3FF07580010FB512C0B800F0 +0403BA12F0A7>148 145 121 272 163 65 D[<BE12C01DFF1EF01EFEF6FFC01FF01FFC +C7000702E0C9000714FFE2007F800B1F14E00B07800B01807780787F787F78807880A278 +808D8A8D8A8DA28A8DA38B8DAB699CB5FCA3696669A2545CA2545C545CA2545C5491C7FC +545B9BB55A535C535C5314C00B1F5C0B7F49C8FC52B512F80A0F14E00903B6C9FC94BA12 +F81E801EF8F6FF801FF005E0CA003F13FE0B076D7E0B0114E0776C13F80C1F13FE787F78 +807814E0788078808D8B797F8D791480A27914C0A222E08B22F0A37914F8A422FCA58BA2 +67A522F8A36722F0A26722E0A25514C0A25514806722009CB6FC545C545C545C545C545C +0C7F5C53B65A0B0792C7FC0B3F14FC0A03B65AC112E0208055C8FC1FF01F800CF8C9FC53 +CAFC>134 142 121 269 154 I[<97263FFFE017E0071FB616010603B700F01503063F04 +FC15074DB96C140F050F06E0141F053F18F84CB7D8000101FE143F040703C09026000FFF +147F041F02FCC8000101C013FF047F02C06F6C6C5A93B6CA381FF803030302F8943807FC +074B02E0EF03FE031F0280943800FF0F4B91CCEA7F9F4B01FC73B5FC4AB548854A4A1907 +4A02C0854A4A854A91CDFC4A49864A498791B54887498A5E494A87494A875B4C874991CF +FC8C495B498A5D90B51E7FA2485C213F485C211FA2485CA248200FA25D5AA22107A2485C +A29EC7FCA25AA492D3FCA3B6FCB3A27EA381A47EA46C80F907E0A37E81A27E210F6C6E1E +C0A36C80211F6C6E1E80A26D1F3F6F1E007F6D6D65701C7E6D1FFE70646D1E016D6E515A +6D8070515A6D1E0F6E6D646E6D515A6E6D515A6E6E1A7F6E6E50C7FC6E02F04F5A6E6E4F +5A6E6C6D4F5A6F01FFF11FF06F02C04E5A03076EF0FFC06F02F84D90C8FC030002FFEF07 +FE7002E0EE1FFC041F02FCEEFFF00407DAFFC002075B040103FF91B51280DC003F92B648 +C9FC050F18F8050118E0DD003F94CAFC060316F8DE001F1580DF003F01F0CBFC>131 +146 116 271 156 I[<BE7E1DFEF5FFE01EFCF6FF801FF01FFCC7000702E0C9003F14FF +0A0115C0E2003F14F00B07800B0014FE0C3F7F0C0F807814E00C01807880797F797F0D0F +7F79808E8B798079807A7FA27A7F8E8C7A7FA28F8C8F8C8FA27A80A28F8CA28FA28D8FA4 +8F8DA4A11280A7A112C0A78DA669A7A11280A7A11200A369A26BA36B9EB5FCA26BA2686B +A3565CA2565CA26B68A0C7FC565B686A565B9DB5FC6A555C555C555C5591C8FC67555B55 +13F854B55A545C0C0F5C0C3F5C9BB548C9FC0B035C0B1F14F052B612C00A3F5DC048CAFC +1FF01FC054CBFC1EF053CCFC1D80>146 142 121 269 166 I[<C112FCA58CA2C7000702 +F0C91203F4000F1D001E1F1E078A1E00797E8B8B8B8B8BA28BA28B8D207FA3203FA3201F +A28DA3200FA4F301F8A28D2007A49DC8FCA31B03A41B07A21B0FA21B1F1B3F1B7FF201FF +1A071A7F94B8FCA705F0C77E1A071A01F2007F1B3F1B1F1B0FA21B07A21B03A41B01A2F9 +1F80A4F93F00A498CBFCA369217EA421FEA3692001A32003A3200769200FA2201FA2203F +207FA2565A6767671F1F679CB5FC0C035C1E0F1E7F0B07B6FC52B7FCC2FCA369A4>129 +141 122 268 142 I[<BB6C027FBA12C0A7C7000702F0CC000302F8C8FCB3B3B3A494BE +FCA705F0CC1203B3B3B3A9BB6C027FBA12C0A7>154 142 121 269 +169 72 D[<BB12E0A7C7000302F8C8FCB3B3B3B3B3B3B3A2BB12E0A7>67 +142 122 269 79 I[<BB12FCA7C7000702F0CEFCB3B3B3B3A9F70FC0A51F1F2080A61F3F +A4200067A467A366A266671E07A21E0F1E1FA21E3F1E7F1EFF6565535B65651D7F52B5FC +1C071C1F99B6FC1B1FC0FCA267A5>114 142 122 269 130 76 D[<B800F89BB812F071 +657165A37165A2C700076FE20FBF49C8FCA303F76EF41F3FA203F36E1C3EA203F16E1C7C +A303F06E1CF8A2706DF301F0A2706DF303E0A3706DF307C0A2706EF20F80A3706EF21F00 +A2706E1A3EA2706E62A3706E62A2716D4F5AA3716D4F5AA2716D4F5AA2716E4E5AA3716E +4EC7FCA2716E183EA3716E60A2716E60A2726D4D5AA3726D4D5AA2726D4D5AA2726E4C5A +A3726E4CC8FCA2726E163EA3726E5EA2726E5EA2736D4B5AA3736D4B5AA2736D4B5AA373 +6E4A5AA2736E4AC9FCA2736E143EA3736E5CA2736E5CA2746D495AA3746D495AA2746D49 +5AA3746E485AA2746E48CAFCA274ECE03EA3746E5AA2746E5AA375EBFDF0A275EBFFE0A2 +755CA3755CA27591CBFCA2755BA3755BA2755BA2EC1FFC0103B500E0715AB96C0807BA12 +F0765AA2765AA3765A>188 142 120 269 205 I[<BC12FEF3FFFEF4FFE01DFEF5FFC01E +F01EFEC7000702E0C8001F6E7EE1007F14E00A0F800A0114FC766C7F776D7E0B0F807780 +7780778077808A8C787FA278808D8AA28DA28D8AA38DAB69A3545CA3696669A25491C9FC +68545BA29BB55A535C535C5314805391CAFC0B3F5B9AB512F80A0314E00A0F5C99B6CBFC +091F14F894BA12E09BCCFC1DF0A21DFE05E0C86C6D7E090F14E0090114F8756C7F7613FF +0A0F807680768076808B7680777F8B898C7780A2898CA37780AD8CAEA1123C7A157E89A3 +897A15FEA112FC89786D1401A2786E14F8781603786EEB07F0BB706EEB0FE0786E131F0C +0002FCEB3FC0799039FF81FF800D1F91B512000D035D0D0015F8D3000F5CE6003F1380> +151 144 121 269 160 82 D[<0007BF12E0A61FC005E0C9FC04F8CA158004804C150003 +FCCAFC03F04D5C4802C04D5C92CBFC4A4E5C5C4A4E5C02E04E5CA24A4E5C4A95B65A91CC +FC5092C7FC5B494E5C505C5B505C505C5B505C5B505C97B65AA248484D92C8FC61644F5C +A24F5C494D5CA24F5C616496B65ACCFC4E92C9FC4E5CA24E5C60634E5CA24E5C4E5CA295 +B65AA24D92CAFC4D5CA24D5C4D5CA24D5CA24D5C4D5CA294B65A4C92CBFCA24C5CA24C5C +4C5CA24C5C4C5CA24C5CA293B65A4B92CCFCF603F04B5C5D604B5CA24B5C4B4A1707A24B +4A18E092B6FC604A92CBFCA24A5C4A5C1E0F4A5C5C5F4A4A181FA24A5C91B65A1E3F4992 +CCFCA2494AF17FC0495C1EFF495C494A6065495C65494A6090B64860654892CC5A484A96 +B5FC64484A180764484A183F484A4DB6FC1B0F484A057F158048073FB7FC92BDFCC0FCA6 +>108 142 116 269 132 90 D<93387FFF80030FB512FC92B712C0020316F8020F16FE02 +3FD980076D7EDAFFF8C780490180023F13F0D907FEC86C7FD90FF86F13FE49486F7F02C0 +6F80D93FF86F80D97FFE816E6C8390B56C6F7FA26F6F7F5A6F838587A385876C5CA26D5B +A26D5BD90FFEC9FCEB03F890CBFCA90603B6FC051FB7FC040FB8FC93B9FC030FECFC0F03 +7F14000203B512E0021F91C7FC027F13F849B512E0010714804949C8FC013F5B495B90B5 +5A485C485C485C4891C9FCA2485BA2485BF507E0485BA3B5FC5C61A461193B197B806C18 +F3806CDD01E3EC800F6EDB03C116C06C6D15076CDD0F80ECC01F6F4A489138E03F806C02 +E0023E6D9038F07F0000016E02FC92B5FC6C02FCD903F86D5C013F9027FF803FF06D5C01 +0F91B500C06D5C010393C700035CD9007F02FC6E14C0020F02F06E6C90C7FCDA003F90C9 +EA0FF8635F79DD6C>97 D[<ED7F8090B6FCB7FCA7EA003F130F7F7FB3B3A2F1FFF8061F +EBFFC095B612FC050315FF050F16C094273FFC007F13F0DDFFC0010F13FCDC83FEC70001 +13FFDC87F86E80DC8FF0033F13E0DC9FC06F7FDCBF806F7F04FFC96C7F4C707F4C707F5E +4C70804C854C717FA2767FA2767FA28AA2767FA38AA4761480A51FC0B11F80A6521400A3 +66A3525BA266A2525BA2525BA299B55A7061705E7096C7FC515B4B6C4C5BDBFC7E4C5BDB +F87F4C5B4B6C6C4B5B9226E01FE04B5B9226C007F04AB5C8FCDC03FC02075B4B6CB4021F +13F892C7267FF001B512E04A021FB712804A02074BC9FC4A020115F04A6E6C91CAFC90CA +000313E0>106 144 122 270 120 I<933801FFFC043FEBFFE00303B612FE031F6F7E03 +7F16E04AB5D8C00313F8020701FCC7EA3FFE4A01F0EC03FF023F01C0020013C04A49ED3F +E049B5C96C7E494916074949EE3FF84949EEFFFC49491503494D7F5D49495D90B5844B5D +5A4891C9FCA25A5C5A735B5A4A705BA248725B070013E0F23F8097C8FC5A5CA5B5FCB07E +A380A37EA36C7FA37E6EF00FC07E1B1F6C6E1880A26C6E173F1C006C6E5F6D197E6F17FE +6D6D4C5A6D6D4C5A7F6D6D4C5A6D6D4C5A6D02C04B5A6D6EED7F80023F01F84BC7FC6E6D +EC03FC0207D9FF80EB0FF8020102F8EBFFE06E6C90B65A031F93C8FC030315F8DB003F14 +C0040101F8C9FC525F79DD60>I<933803FFF8047FEBFFC00307B612FC033F15FF92B812 +C00203DA807F13F04A9026FC000F13FC021F01E001037F4A4901007F91B5C86C7F49496F +7F49496F7F49496F7F49496F7F49498349834949838590B54883488492CA14805A7413C0 +485BA2481BE04A835AA21CF05AA2865C5A1CF8A4B5FCA391BBFCA402F8CDFCAA7EA4807E +A37EA2807EA2F301F86C7F1B036C1BF06C801B076C6E18E06D190F6FEF1FC06D1A806D6D +173F6D6DEF7F006D6D17FE6D6D4C5A6D6D4C5A6D6E4B5A6E01E0ED1FE0021F01F8ED7FC0 +6E01FE4A485A0203D9FFC0D907FEC7FC020002FCEBFFFC033F90B612F0030F16C003014B +C8FCDB001F14F0040091C9FC555F7ADD62>101 D[<943801FFF0057F13FE0407B67E043F +8193B712F003039138007FF8030F01F8804B01E0497E037F495A92B5C6487F4A495B5C4A +494914804A5B4A5BA24A5BA25C5E91B56E1400A2725B4C6D5B499338007FF0F11FC096C8 +FCB3A8BAFCA7D8000102C0CAFCB3B3B3B3A6007FB812F0A7>73 144 +122 271 66 I<F41FE093263FFF80913801FFF80307B500FC020F13FE037FDAFFC0013F +7F4AB700F090B612800207D9F803D9FC0313C3021F902AC0007FFF07FC0713C0027F90C7 +001FEBCFE0DAFFFC0207EBFF000103496E495B49496E497F498449496E7F4B6F16804973 +6C130049736C5A4B6FEC003890B57290C7FCA2488692C97E4886A44886AB6C62A46C626F +5D6C62A26D616F5D6D616D96C9FC6F92B5FC6D6D4A5B6D606D6D4A5B6D6D4A13E003FF02 +1F5BD903DF01C0017F90CAFCD907879039F803FFFCD90F8190B612F0DA007F15C0490107 +02FCCBFCDB003F1380013E91CEFCA2137EA313FEA37FA280A28080A214F880ECFF8092B7 +12FC6DEFFFF8F2FF801BF06D19FC1BFF6D1AC01CF06D866D1AFE6D867F6D876E8691BC7E +1307011F87017F90C912072601FFFCDC001F804801F017034849EF007F4849727F481A0F +484984A24890CC6C7F87A2485A87A76D616C64A26E606C646E606C646C6D4E5B6C6D4E5B +6C6D4E5B6C6D4E90C7FC6C6D4E5A6D6C4D5B011F01C0040713F06D01F0041F5B010301FE +93B512800100D9FFC0020749C8FC021F01FE91B512F0020790B812C0DA007F04FCC9FC03 +0716C0DB000F02E0CAFC62887ADD6C>I[<ED7F8090B6FCB7FCA7EA003F130F7F7FB3B3A2 +F13FFF0603B512F0060F14FE063F6E7E95B712E04D010014F8DD07F8011F7FDD0FC06D7F +4D486D7F053EC7FC4D6E804D6E80EE81F04D83DC83C080EE878089048FC9FC168E049E82 +169C04BC8416B816F8A25EA35EA55EB3B3B1B9011FB812E0A7>107 +143 121 270 120 I[<EC7F80903801FFE0497F497F497F497F497FA24980A86D91C7FC +A26D5B6D5B6D5B6D5B6D5B9038007F8091C9FCB3A9ED7F80017FB5FCB7FCA7EA003F1307 +A27FB3B3B3B3A2B812FCA7>46 144 121 271 60 I[<ED7F8090B6FCB7FCA7EA003F1307 +A27FB3B3B3B3B3B3B0B812FEA7>47 143 121 270 60 108 D<DB7F80DA1FFF943801FF +F090B64AB500F8041FEBFF80B7020F02FF93B612F0063F03C0020315FC95B700F0020F15 +FF4DD9807F6D91261FF80780942707F8001F01FE91267F800114E0DD0FE001076D02FEC7 +6C7FDD1F806D91268001F86E7FD8003F4BC74C5A010F037C6E9126C007C06E7F6D4B7148 +48826DDA81F06E4BC87E4DDDF01E83DC83C06F4A810487197C4DDDF87884048FC95DA204 +9E70D9F9E081049C6104BC06FF8504B86116F8A24C96C9FCA34C60A54C60B3B3B1B9010F +B800F090B9FCA7A85D79DCB5>I<DB7F80EC3FFF90B60203B512F0B7020F14FE063F6E7E +95B712E04D010014F8DD07F8011F7FDD0FC06D7F4D486D7FD8003F033EC7FC010F4B6E80 +6D4B6E806DEC81F04D83DC83C080EE878089048FC9FC168E049E82169C04BC8416B816F8 +A25EA35EA55EB3B3B1B9011FB812E0A76B5D79DC78>I<DB7F80ECFFF890B6021FEBFFC0 +B791B612FC050315FF050F16C094263FFC0014F0DDFFC0011F13FCDC83FEC7000713FFDC +87F8020180D8003FDA8FF06E14E0010FDA9FC06F7F6DDABF806F7F6D02FFC96C7F4C707F +4C707F5E4C70804C70804C85878A888AA2767FA28A88A28AA288A21F80A57614C0B11F80 +64A51F0064A266A26466A2525BA26699B5FC666366704C5C705E7096C7FC515B704C5B70 +4C5B704C5B7192B55ADCDFE04A5CDCC7F0020791C8FCDCC3FC4A5BDCC1FF027F13F89327 +C07FF003B512E0051FB7128005074BC9FC050115F0716C91CAFC060313E095CDFCB3AEB9 +FCA76A857ADC78>112 D<03FFEC1FF890B691B5FCB7010314E0050F804D14FC94393FF0 +0FFE94397F003FFF05FE491380DC01F890B5FCD8003F4A484814C0010F15E06D4A484814 +E06D1580160F17005E161E5EA27214C05E72148004706E130004F06E5AF10FF84C91C8FC +A55EA65EB3B3AEB912E0A74B5D7ADC57>114 D<92263FFF80EB0380020FB500FC130702 +7F02FF131F49B7EAE03F0107EEF07F011F903AC0007FFCFFD97FFCC7000FB5FCD9FFE014 +0148496E7E4890C97E484882000F83498248488284123F4982007F187FA3193F12FF7FA2 +191F7F7F7F80806E93C7FC14F86C13FF15F0EDFF806C15FCEEFFE06C16FEEFFFC06C17F0 +6C17FC18FF6C846C18E06C84013F836D830107836D8301001880143F020717C0DA007F16 +E01507DB001F15F01600050F14F81701717E8400FC050F13FC84846C83A284A26C187FA2 +193F7FA26D18F8A27FA26D18F0197F7F6D18E019FF6D18C06D5E6E4B13806E4B130002F0 +4B5A6E4B5AD9E7FEED7FF89026C1FF8049485A018001F8011F13C026FE003FB75A48010F +4BC7FC48010315F0480100158048020701F0C8FC465F79DD55>I[<ED03F0A81507A5150F +A4151FA3153FA2157FA215FFA25CA25C5CA25C5C5C5C91B5FC13035B131F017F91B7FC00 +07BAFCBBFCA5C702F0C9FCB3B3ACF107E0B2190F6E17C082A280F11F80826EEE3F00826E +167E6E7F6E5E6E6E485A6EECE0036F9038F80FF0031F90B512C003075D030192C7FCDB00 +3F13FC040113E0>67 132 124 258 84 I<DB7FC0EF0FF890B6041FB5FCB7031FB6FCA7 +D8003FEF0007010F18016D846D85B3B3B298B5FCA462A362A26D19BF1A071B3F1A0F6D6E +151EA26E173C1A786E05F88070DA01F0806E6DDA03E06E7E6E6DDA0FC0EDFFE06E01FFEC +3F8002019139E001FF006E91B512FC033F5D030715E0030092C7FC040701F804E0C7FC6B +5E79DC78>I<B800FC033FB61280A7D8000702C0CAEC800070DD1FF8C7FC6DF20FE0A26D +6E601C1F6D6E60A270173F6E97C8FC646E6D177E1CFE826E617115016E611B036E6E5E1B +07836E611B0F6E6E5E1B1F6E6E5E1B3F836F95C9FC636F6D157E1BFE6F6D5DA27213016F +5F1A036F6E5C1A076F6E5CA272130F6F5F1A1F6F6E5C1A3F847093CAFC725B70157E1AFE +706D5B19011981705D198370ECC3F019C770ECE7E019EF19FF705DA2705DA27191CBFCA3 +715BA2715BA2715BA3715BA2715BA3715BA2715BA272CCFCA2695D7CDB72>I<007FB802 +0FB712C0A7C702FCC96C01FCC7FC70040790C8FC6EF003FC6E6D4C5A6E6E5E71150F6E4E +5A6E6E4B5A714B5A6E96C9FC6E6E5D6E6E4A5A714A5A6F4C5A6F6D5D6F6E495A72131F6F +4C5A6F6E495A6F6E91CAFC7213FE6F15016F6E485A706D485A06FF5B704A5A70149FF1FF +C0705D7092CBFC705CA2705C82717F85837180718086837180864D805F864D804D81EF7F +9FDDFF0F8005FE8104017F4C486C804C486C80DC0FF0814D7E4C486D7F043F6E7F4C4882 +4CC77E4C6E804B486E800303844B48804B486E804C834B486E80033F824B486F7F4BC981 +4A48824B7080020371804A48854A48824A487080DA7FF87080010FB585B700FC4AB812FC +A76E5C7EDB72>120 D<0007BB12FEA503F0C814FC92C84814F802F85D02E018F048494B +14E091C95A4919C04E1480495E494C1400624993B55A5F49604D5C5F49604D5C5F624D91 +C7FC001F5E495F94B55A5E614C5C5E61C9485C5E614C91C8FC5E6093B55A5D604B5C5D60 +4B5C5D604B91C9FC5D5F92B55A5C4D153F4A5C5C5F4A5C5C4D157E4A91C9FC5C5E91B55A +5B5E494A16FE5B5E495C4918015E4991C9EA03FC5B5D90B548160748190F485C4B161F48 +4A163F48197F4BED01FF484A5D48181F92C9B5FC4849031F14F8BCFCA5505C7ADB60> +122 D[<94B5FC043F14F04BB612FE03076F7E031F16E0037FD9F0017F4AB53980001FF8 +4A49C7EA03FE4A4914014A49EC007F4A496F7E4A844C151F4A717E5E91B5160787491803 +5EA287491801B263A21A03A4631A07A2631A0F963803FF80193FB792B5C8FC06035B4E13 +F84E48C9FCF01FF84E5A187FD800035F18FF615FA24D5BA55FA685A385A285A285717FF1 +FF801AFCF2FFC01BF87115FE757E7182887215F8887281A272817216807216C084060016 +E085071F15F01903F1001F080114F8F2003F87877513FC87DD07E080A287A272157FA31C +3FA4841DF8A484F47FF0A2841DE07215FF1DC0735B51138073491300B76F495A07F8495A +07FEEBFFF806F9B65A06F015C0DEC07F91C7FCDE801F13F8CAD900031380>94 +145 122 271 108 255 D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fn ecbx1095 10.95 68 +/Fn 68 256 df<DB7FF8EB3FE0913B0FFFFE03FFF8027FD9FF8F13FE903C01FFC01FFFF0 +FF902707FE000713C1D91FFC011F491380D93FF0491303495A17FE495A17FC48496F1300 +041FEB007C040F91C7FCABBAFCA40001902780000FFCC8FCB3AE007FD9FE03B512FCA441 +407EBF3D>27 D<ED7FF891380FFFFE027F6D7E903A01FFC01FC0903A07FE0003E0D91FFC +497ED93FF0EB1FF84948133FA2495A4C7E48496D5AA3705A705AEE038093C8FCA6923803 +FFFCB8FCA40001903880000FB3AE007FD9FE03B512F0A434407EBF3A>I<1407140F143E +147C14F8EB01F01303EB07E0EB0FC0EB1F80A2EB3F005B137E13FE485AA2485AA212075B +120FA25B121FA25B123FA4127F5BA512FFB0127FA57F123FA4121F7FA2120F7FA212077F +1203A26C7EA26C7E137E137F7FEB1F80A2EB0FC0EB07E0EB03F01301EB00F8147C143E14 +0F1407185A77C328>40 D<12E07E127C7E7E6C7E7F6C7E6C7E6C7EA26C7E7F137E137FEB +3F80A2EB1FC0A214E0130F14F0A2130714F8A2130314FCA414FE1301A514FFB014FEA513 +0314FCA414F81307A214F0130FA214E0131F14C0A2EB3F80A2EB7F00137E13FE5B485AA2 +485A485A485A5B48C7FC123E5A12F05A185A7AC328>I<B612E0A81B087F9723>45 +D<EA0780EA1FE0EA3FF0EA7FF8EAFFFCA6EA7FF8EA3FF0EA1FE0EA07800E0E798D1D>I< +1606160E161E161CA2163C163816781670A216F016E0150116C015031680A2150716005D +150EA2151E151C153C1538A21578157015F05DA214015D14035D140792C7FCA25C140E14 +1E141CA2143C143814781470A214F05C13015CA213035C130791C8FC5B130EA2131E131C +133C1338A21378137013F05BA212015B12035BA2120790C9FC5A120E121E121CA2123C12 +3812781270A212F05AA2275B7AC334>I<ECFFE0010713FC011F13FFD97FE013C09039FF +803FE03A01FE000FF000038148486D7E491303000F81001F81A348486D1380A3007F16C0 +A500FF16E0B3A2007F16C0A5003F1680A26D5B001F1600A2000F5D6D130700075D6C6C49 +5A6C6C495A6C6D485A90397FE0FFC0011FB5C7FC010713FC010013E02B3D7CBB34>I<14 +0F5C147F495A130F48B5FCB6FCA213F7EAFE071200B3B3AA003FB612F8A4253C79BB34> +I<903803FF80013F13F890B512FE00036E7E2607F80F7F260FC00113F048486C7F48C76C +7ED87FC06D7E7F486C6D7E7FA26F1380A46C5AA2EA1FC00007C7FCC814005DA25E153F5E +4B5A5E4B5A4A5B5E4A90C7FC4A5AEC0FF84A5A5DEC3F804AC8FC14FED901F8EB0780495A +495A4948EB0F00495A013EC7FC5B495C485A90B7FC485D5A5A5A5A5AB7FC5EA3293C7BBB +34>I<ECFFE0010F13FC013FEBFF80D9FF0113E03A01F8007FF0D803E06D7E484880D80F +F06D7E13FC486C80A47F5BA2120F6C485CD803F0133FC85BA24B5A5E4B5A4A5B4A90C7FC +EC0FFC903807FFF05D15FE90390001FF809138007FE0ED3FF86F7E826F7E17806F13C0A3 +D8078015E0EA1FE0EA7FF8A2487EA417C0A2495B007F1680491500D83FC05B001F4A5AD8 +0FF0495A3A07FE01FFF06CB65AC61580011F01FCC7FC010113C02B3D7CBB34>I<ED01F0 +A215031507150F151FA2153F157F15FFA25C5C5CEC0FBF153F141E143C147C147814F0EB +01E0130314C0EB0780EB0F005B133E133C5B5B12015B485A485A120F48C7FC121E5A5A12 +F8B812F8A4C8387FF000AB49B612F8A42D3C7DBB34>I<000E1518D80FC014F801FC131F +90B65AA25E5E5E93C7FC15FC5D15E092C8FC14F80180C9FCA9903881FFC0018F13F801BF +13FE9039FF01FF809039F8007FE001E06D7E4980496D7E6CC7FCC87F150F82A31780A212 +0FEA3FC0487E487EA41700A25B6C48495A5B007CC75B6C143F003F5D6C6C495AD80FE049 +5A2607FC075B0001B6C7FC6C14FC013F13F0010790C8FC293D7BBB34>I<EC03FE91383F +FFC091B512F0903903FE01F890390FF8007CD93FE07F90397FC001FE4948487E485C4813 +005B1207120F5B001F6E5A6F5A003F91C8FCA25B127FA3EC3FFC00FF49B47E01F9B57E90 +39FBC03FF09138800FF8D9FF007F6F7E49806F13805B17C0A34915E0A5127FA5123FA217 +C0121F7F000F16805D6C6C150000035D6D495A6C6D485A6C9038E07FF0013FB55A010F14 +80010349C7FC9038007FE02B3D7CBB34>I<121E121F13F090B712F0A35A17E017C01780 +17005EA2485D007CC7EA01F84B5A00784A5A5E150F4B5A484AC7FC157E5DC85A14014A5A +4A5AA24A5A141F5D143FA24AC8FCA25CA2495AA21303A313075CA2130FA5131FAA6D5A6D +5A6D5A2C3F7ABD34>I<ECFFE0010713FE011F6D7E90397F803FE09039FC000FF0D801F0 +6D7E48486D7E00076E7E491300000F8182A2487EA27F7F7F01FF14FE14C0ECE0016C9038 +F803FC02FE5B9138FF87F06CECDFE0EDFF806C4AC7FC6C806C816D14E0011F8016FC017F +80EA01FE2603F83F7F2607F00F148048487E261FC00114C0003F6D7E4848011F13E090C7 +7E150348140048157F163F161FA2160FA217C07E7E6DEC1F806C6C15005ED81FF0147E6C +6C495A3A07FF801FF8000190B512E06C6C1480011F49C7FC010113E02B3D7CBB34>I<EC +FFE0010F13FC013F13FF90397FC07FC04848C66C7E48486D7E00076E7E484880001F1407 +003F814980007F80A2178012FFA217C0A517E0A5007F5CA3123F5D6C7E000F5C6C7E0003 +143B3901FF807B39007FFFF3011F13C30107018313C090C71203A317805DA2D807F01500 +487E486C5C150F5EA24B5A4B5A49495A6C48495AD9C0015B2607F80790C7FC6CB512FC6C +14F06C6C13C0D90FFCC8FC2B3D7CBB34>I<16F84B7EA24B7EA34B7EA24B7FA34B7FA24B +7FA34B7F157D03FD7F15F8A2020180EDF07F020380EDE03FA2DA07C07F82020F814B7E02 +1F811500824A81023E7F027E81147C8202FC814A7F0101825C91B7FC4982A2498202C0C7 +123F83010F834A80011F8391C8FC834983013E81017E83137C83D801FE83B500FC49B612 +F8A4453F7CBE4E>65 D<B812F8EFFF8018F018FC26003FFCC7EA3FFEEF0FFF7113807113 +C019E08319F0A27113F8A74D13F0A34D13E019C04D13804D13004D5AEFFFF891B712E095 +C7FC18F002FCC7EA3FFE943807FF807113C07113E07113F0F07FF819FCA2F03FFEA219FF +A819FEA2187F19FCF0FFF85F4D13F04D13E0053F13C0BA120018FC18F095C7FC403E7DBD +4A>I<922607FF80131C92B500F8133C020702FE137C023F9138FF80FC91B538003FE101 +0301F0EB07F74901C0EB01FF011F90C8FCD93FFC153F4948151F495A4849150F48170748 +4915035C48170191C9FC481700A2485AA2197C127FA2491700A212FFAC127FA27F193C12 +3FA36C7E197C6C1878806C18F86E16F06C6D15016CEF03E06C6DED07C06D6C150FD93FFE +ED1F806D6CED3F00010701C014FE6D01F0EB03F8010001FFEB1FF0023F90B512C0020792 +C7FC020014F8030713803E407ABE4B>I<B812F8EFFF8018F018FC26003FFEC76CB4FC05 +0F13C005037F05007FF03FF8727E727E85721380841AC0A27213E0A21AF084A21AF8A41A +FCAD1AF8A41AF0A2601AE0A24E13C0A24E13801A00604E5A4E5AF0FFF84D13E0050F5B05 +7F5BB948C7FC18F818C005F8C8FC463E7DBD50>I<B912FEA426003FFEC7EA3FFF170717 +01838484841980180FA21807A3EE078019C01803A395C7FC160FA2161F163F16FF91B6FC +A44AC6FC163F161F160FA204071478A319F0A393C8FCA2180119E0A21803A21807A2180F +F01FC0183F18FF1703173FBAFC1980A33D3E7DBD44>I<B912F8A426007FFCC713FC171F +170717011700A2187C187E183EA2181EA4041E131F180FA31800A2163EA2167E16FE1503 +91B5FCA4ECFC031500167E163EA2161EA693C8FCAEB712C0A4383E7CBD41>I<922607FF +C0130E92B500F8131E020702FF133E023FEDC07E91B539801FE0FE499039F80003FB0107 +01C0EB00FF011F90C8127F4948153F4948151FD9FFF0150F481707484915034A1501485B +48170091CAFC48187EA2485AA2193E127FA24994C7FCA212FFAB0407B612FC127FA27F93 +C7383FFE00123FA36C7EA26C7FA26C7F7E806C7F6C7F6D6C157F6D7E6D6C15FF010701C0 +5B010101F85B6D9039FF801FF1023F90B5EAC07E0207ED001E020002FC1306030701C090 +C7FC46407ABE52>I<B600FE017FB6FCA426007FFCC8383FFE00B3A691B8FCA402FCC812 +3FB3A8B600FE017FB6FCA4483E7CBD51>I<B71280A426003FFEC7FCB3B3B2B71280A421 +3E7DBD27>I<B600FE91387FFFFEA426007FFCC83803FE00F001F84E5A4E5AF01F804EC7 +FC187E604D5AEF07F0EF0FC04D5A4DC8FC177E5FEE03F04C5A4C5A4C5A4CC9FC16FF5D4B +7F4B7F4B7F153F4B7F92B57EDAFDF97FECFFF04B6C7E03807F4B6C7F4A7F4A6D7F84707F +82707F84707F177F717E8583717F85717F83717F85717F187FF1FF80B600FE011FB6FCA4 +483E7CBD51>75 D<B712C0A426007FFCC9FCB3AF1878A418F0A41701A31703A2EF07E0A2 +170F171F173F17FF1603161FB912C0A4353E7CBD3E>I<B500FE051FB512E06E5FA26F5E +D8003FF28000A2013D6D16F7A2013C6DED01E7A26E6CED03C7A26E6CED0787A36E6CED0F +07A26E6C151EA26E6C153CA26E6D1478A36E6D14F0A26E6DEB01E0A26F6CEB03C0A26F6C +EB0780A36F6CEB0F00A26F6C131EA26F6C5BA26F6D5AA36F6D5AA26FEBE1E0A293387FF3 +C0A270B45AA37090C7FCA2705AA2705AA2017E6E5AB6041FB612E0A2705A705A5B3E7DBD +62>I<B500FE033FB5FC8081A2C66C6D9138003F006F151E81017B7F01797F8113786E7E +6E7F6E7F6E7F82806E7F6E7F6E7F6F7E6F7F83816F7F6F7F6F7F6F7F8381707E70138070 +13C07013E07013F018F8827013FC7013FEEF7FFF71139E19DE7113FE8383838383A2187F +183F181F180F1807A21803180101FC1600B500FC167E193E191EA2483E7CBD51>I<B812 +F017FF18E018F828003FFE00017F9338003FFE94380FFF80837113C019E0A27113F0A319 +F8A719F0A34D13E0A219C04D13804D1300EF3FFE4CB45A91B712F018C005FCC7FC4ACAFC +B3A6B77EA43D3E7DBD47>80 D<ED3FFE0203B512E0021F14FC913AFFF007FF8049D9C001 +7F010790C7EA7FF0D90FFCEC1FF8D93FF8EC0FFE49486E7E49486E7F48844A8048496E7F +4884488491C9127F4884A249163F003F84A3007F844982A300FF1980AD007F1900A36D5E +003F60A3001F606D167F6C60ED07F06C9026801FFC495A6C4A6C5C9139C07C1F016C9027 +E07007835B6C9126F003C35B90287FF0E001E790C7FCD93FF8ECEFFED91FFC6DB45A9026 +07FFF014F06D4A5B0100D9FC071380021FB548C712800207EE01C09139003FFE7F92C713 +8094383FC003F0F01F95B5FCA2711480A31A0083A2715B61715B715B715BF03F8042517A +BE4E>I<B812C017FCEFFF8018F028003FFE000113FC9338003FFE717E05077F85717FA2 +717FA285A761A24D5BA24D5B61DD1FFEC8FC4D5A933803FFF091B712C04DC9FCA2913AFE +000FFF80040313E004007F717E84173F84171F84A685A5F20180F203C019C083A2719038 +E00780A2B76C6C9038F00F0071EBFC3F9439007FFFFE061F13F8CC13E04A3F7DBD4E>I< +903A01FF8001C0011FEBF803017FEBFE0748B6128F489038007FDFD807F8EB0FFF484813 +0348487F4848EB007F163F127F49141F160F12FF1607A27FA26D1403A27F01FC91C7FC13 +FF6C13F8ECFF8015FC6CECFF806C15E016F86C816C816C816C16806C6C15C0131F010715 +E0EB007F020314F0EC001F1503030013F8167F163F12F0161FA2160FA27EA217F07E7EEE +1FE07E6DEC3FC013E06DEC7F8001FE903801FF003AFEFFE007FED8FC3FB512F8D8F80F5C +D8F003148027E0001FFCC7FC2D407ABE3A>I<003FB912F8A4903BFC007FFC007F01E016 +0FD87F80EE03FC90C71501007E1700A2007C187CA20078183CA548181EA5C81600B3B101 +1FB712F0A43F3D7CBC48>I<B600FC021FB51280A4C601FCC9387FC0006D6C041FC7FC61 +013F173E6E167E6D177C8119FC6D6D5D18016D5F6F14036D5F6F14076D5F81180F6D5F6F +141F027F93C8FC6F5C023F153E81187E6E6D137C18FC6E5DEEC0016E5D16E017036E01F0 +5B17076E5DEEF80F6E5D16FC171FDB7FFE90C9FC5F033F133EEEFF7E6F137C17FCA26F5B +A26F5BA26F5BA26F5BA36F5BA270CAFCA2163E493F7EBD4E>86 D<B6D8FC03B600E09038 +7FFFFCA4C601F8C7000701E0C8EAFE006E6E173C017F715DA26E6E17F8013F715D6E801C +016D715D6F027F15036D715D18FF6F18076D4B6D5D816D50C7FC4D806F02CF5D6D72131E +EF07876F183E6D030F6E133C6F1403027F715B171F6FD91E0115F8023F023E6E5B6FEB3C +001B016E027C02FC5BDC8078017F13036E05FE5B4D133F04C016076E01C103FF5BDCE1E0 +7F6E4EC8FC04E3168FDCF3C06D139F6E18DEDCF7807F04FF16FE6E6094C77E6F5FA24C80 +033F5F4C80A2031F5F4C157F030F5F4C153FA203075F4C151F030394C9FC4C81663F7EBD +6B>I<003FB812C0A49126C0001F138049C75A01F8160001E04A5A4914FF495D90C7485B +485C007E5E4B5B007C5C5F4B5B5D007893C7FC5D5E4B5AC75A5E4A5B5C5E4A5B5C5E4A90 +C8FCA24A5A14FF5D495B5B4BEB01E0495B5B5D495B49150392C713C05B5C494814075A5C +4849140F5A4A141F4849143F48167F4A14FF4890C75A48030F138049147FB9FCA4333E7A +BD3F>90 D<007FB912F8BA12FCA46C18F83E06776851>95 D<903807FF80013F13F048B5 +12FC3903FC03FF2607E00013C0D80FF86D7E001F6E7E7F6F7EA26F7EA26C5A6C5AEA01C0 +C8FCA3EC03FF49B5FC130F017F138F3901FFF00F00071380481300EA1FFC485A127F5B12 +FF5BA3151FA26D133F127F6D49B4FC273FFC01F713FC391FFE07E30007B5128100019038 +FE007F26001FF890C7FC2E2B7DA932>97 D<13FFB5FCA412077EB0ED7FE0913807FFFC02 +1F13FFDA7F0013C002F8EB3FF04A6D7E4A6D7E02806D7E8391C77E1880A218C082A318E0 +AA18C0A35E1880A24C13006E5C6E130F6E5CD9FDF0495AD9F8F8EB7FE0903AF07F01FFC0 +D9E01FB5C7FCD9C00713F8C813C033407DBE3A>I<EC7FF00103B5FC011F14C090397FE0 +1FE09039FF8003F0489038000FF8484814FC0007141F485A121F5B123FED0FF8007FEC07 +F049EB01C092C7FC12FFAB127FA27FA2003F151E7F001F153E000F153C6D147C6C6C14F8 +6C90388001F0C69038C003E090397FF00FC0011FB51200010713FC9038007FE0272B7DA9 +2E>I<EE07F8ED07FFA4ED003F161FB0EC7FE0903803FFFC011F13FF90397FF00FDF9039 +FFC003FF000390C7FC4848147F000F153F49141F121F485AA2127F5BA312FFAA127FA37F +123FA2121F6D143F000F157F6C6C14FF6C6C497F6CD98007EBFFE03A007FE01F9F90391F +FFFE1F010713F89026007FC0EBE00033407DBE3A>I<ECFFE0010713FC013F13FFD97FE0 +13803A01FF803FC0489038001FE04848EB0FF0484814F8ED07FC485A003FEC03FEA3485A +16FFA200FF80A390B7FCA301F0C8FCA5127FA36C7E160F121F6D141F000F151E6C6C143E +0003157C6C6C14F86C9038C003F090397FF01FE0011FB512C00107EBFE009038007FF028 +2B7DA92F>I<EC07FCEC7FFF49B512C0903907FE1FE090381FF83F90393FF07FF0EB7FE0 +A2EBFFC0A2481380ED3FE0ED0F8092C7FCABB612E0A400010180C7FCB3AE007FEBFF80A4 +24407DBF20>I<903A03FF8003F0013F9038F81FFC90B538FE7FFE0003903801FFFC3A07 +FC007FE1000F15E04848EB3FF0003FEDF87C49011F1300A2007F81A7003F5DA26D133F00 +1F5D6C6C495A00075D9039FF01FF80DAFFFEC7FCD80F3F13F801031380001ECAFCA2121F +A37F7F90B6FC6C15F016FC6C15FF17806C16C017E0120F271FC0000113F04848EB001F48 +C8EA0FF8160712FE1603A46C15076C16F06D140F6C6CEC1FE06C6CEC3FC0D80FF8ECFF80 +3B03FF800FFE00C690B512F8011F14C0010101FCC7FC2F3D7DA834>I<13FFB5FCA41207 +7EB0ED3FF0EDFFFE02036D7EDA0FC07F91391E007FE04A6D7E5C5C4A6D7E5CA25CA391C7 +FCB3A5B5D8FC07B512E0A4333F7CBE3A>I<EA01F8487E487E487E481380A66C13006C5A +6C5A6C5AC8FCA913FFB5FCA412077EB3ADB512F8A415407CBF1D>I<13FFB5FCA412077E +B1923803FFFEA4030013804CC7FC4B5AED03F04B5AED1FC04B5A037EC8FC5DEC03F8EC07 +E04A7E4A7EEC7FFC14FF818102E77F02837F1401496C7F826F7E6F7E151F6F7E826F7F6F +7F816F7F83B5D8F807EBFFC0A4323F7DBE37>107 D<13FFB5FCA412077EB3B3B1B512FC +A4163F7CBE1D>I<D801FED93FF049B47E00FFDAFFFE010713F002039026FF801F13FCDA +0FC09039C07E07FE913C1E007FE0F003FF00074990273FF1E0011380000349ECF3C04AEC +F7806D486DB4C713C04A5CA24A5CA391C75BB3A5B5D8FC07B5D8E03F13FFA450297CA857 +>I<D801FEEB3FF000FFECFFFE02036D7EDA0FC07F91391E007FE00007496D7E00035B5C +6D486D7E5CA25CA391C7FCB3A5B5D8FC07B512E0A433297CA83A>I<EC7FF0903803FFFE +011FEBFFC090397FE03FF09039FF800FF848496C7E48486D7E48486D7E48486D1380001F +16C0A2003F16E049147F007F16F0A400FF16F8AA007F16F0A46C6CECFFE0A2001F16C000 +0F16806D5B6C6C4913006C6C495A6C6D485A3A007FE03FF0011FB512C0010791C7FC9038 +007FF02D2B7DA934>I<01FFEB7FE0B53807FFFC021F13FFDA7F0113C09139F8007FF000 +07496D7E6C496D7E02806D7E8391C77E18808218C0A38218E0AA18C05EA34C1380A21800 +6E495A6E131F6E5C6E495A6EEBFFE0DA7F035B021FB5C7FC020713F8020013C092C9FCAD +B512FCA4333B7DA83A>I<DA7FE01378902603FFFC13F8011FEBFE0190397FF81F819039 +FFE007C34890388001E3000790C712F716FF4848147F4848143F123F161F5B127FA25B12 +FFAA127F7FA3123F7F001F153F6C6C147F16FF6C7E6CEB80036C9038C007DF3A007FF03F +9F90391FFFFE1F010713F89038007FC091C7FCAD0307B512E0A4333B7DA837>I<3901FE +01FC00FF903807FF804A13E091383F1FF0143C00079038783FF8000313F014E013FF14C0 +ED1FF09138800FE0ED038092C7FCA291C8FCB3A4B6FCA425297DA82B>I<90381FF80E48 +B5123E000714FE380FE007381F800148C7FC007E147E007C143E12FC151EA27E7E6D90C7 +FC13E013FF6C13FCECFF806C14E06C14F86C80000380C680133F01031480EB000F020113 +C000F0EB007F153F6C141FA2150F7EA26C1580151F6C15006D5B01E0137E9038F803FC00 +FCB512F0D8F03F13C026E007FEC7FC222B7DA929>I<EB0780A5130FA4131FA3133F137F +A213FF5A1207001FEBFFFCB6FCA30001EB8000B3A2151EA96C143C14C0A290387FE07890 +383FF0F090381FFFE0010713C0010013001F3B7EB928>I<01FFEC07F8B5EB07FFA40007 +EC003F6C151FB3A6163FA3167F6C15FFA26E487F6C913907DFFFE090397FE01F9F90391F +FFFE1F010713F8010001E0EBE000332A7CA83A>I<B500F890381FFFC0A4000301809038 +03F8006CED01E06E13036C5E80017F4A5A80160F013F92C7FC6E5B011F141E6E133E010F +143C6E137C010714786E13F86D5C15816D5C15C16DEBC3C015E315E7027F5B15FF6E90C8 +FCA26E5AA26E5AA26E5AA26E5AA26E5A32287EA737>I<B53CF83FFFF801FFFCA4000390 +C7903980001F80F10F006E017F5C6C70131E16FF6C6D6E5BA26E48157C017F6F13785DD9 +3FF0D9CFF85BA29126F807871301011F03FC5B150FD90FFC903903FE03C0A29126FE1E01 +1307010703FF5B153E902703FF3C00018FC7FCA203F8EB7F9F6D16DEA26D49EB3FFCA24B +131F027F5DA26E486D5AA24B1307021F5DA26EC76C5A46287EA74B>I<B5D8F801B5FCA4 +00019039C0003FC06C93C7FC6D6C137E6E137C6D6C5B6D6C485A6D6C485A6D6C485A6D49 +5A6D139F03FFC8FC6D5B6E5A6E5A141F6E7E81814A7F4A7F147E91387C7FE002F87F4948 +6C7E49486C7E49486C7E90380F8007011F6D7ED93F0080017E6D7F017C6D7FD801FC6E7E +B5D88003B512C0A432287EA737>I<B500F890381FFFC0A400030180903803F8006CED01 +E06E13036C5E80017F4A5A80160F013F92C7FC6E5B011F141E6E133E010F143C6E137C01 +0714786E13F86D5C15816D5C15C16DEBC3C015E315E7027F5B15FF6E90C8FCA26E5AA26E +5AA26E5AA26E5AA26E5AA214035D14075D000C130F003F91C9FC486C5A38FFC01E143E14 +3C5C14F8387F81F0495A383E0FC06CB45A6C48CAFCEA03F8323B7EA737>I<003FB612FC +A39039F0003FF801C0EB7FF090C712FF003E4913E016C0484913805C4A130000785C4A5A +143F4A5A5DC7485A5B495B5D4990C7FC5B4948133C5C495A137F494813785C485B5A4849 +13F891C7FC48481301001F14034848130749EB0FF04848137FB7FCA326287DA72E>I<03 +F8EB0F80DA03FEEB3FE04A6C497E4A6D487EA316C1A21680A36E496C5A6E486D5ADA00F8 +EB0F8092CCFCA5B76C90B61280A426003FFEC96CC7FC193EB3B3A5011F5FA2806D17FC61 +6D6D1401616D6D4A5A6D16076D6DEC1FC0DA7FF84A5ADA3FFE49B4C8FC913A0FFFC00FFC +020390B55A020015E0031F1480030101F8C9FC49527DD050>220 +D<017EEB07E09039FF801FF0486D487E4881ECE07F4881A46C5DECC03F6C5D6C496C5A90 +397E0007E090CAFCA6903807FF80013F13F048B512FC3903FC03FF2607E00013C0D80FF8 +6D7E001F6E7E7F6F7EA26F7EA26C5A6C5AEA01C0C8FCA3EC03FF49B5FC130F017F138F39 +01FFF00F00071380481300EA1FFC485A127F5B12FF5BA3151FA26D133F127F6D49B4FC27 +3FFC01F713FC391FFE07E30007B5128100019038FE007F26001FF890C7FC2E3F7DBD32> +228 D<D907C0137C90391FF001FF496C487F496C487FA36E5AA24A7EA36D486C5B6D486C +90C7FC903907C0007C90CBFCA701FFEC07F8B5EB07FFA40007EC003F6C151FB3A6163FA3 +167F6C15FFA26E487F6C913907DFFFE090397FE01F9F90391FFFFE1F010713F8010001E0 +EBE000333F7CBD3A>252 D<EC7FF8903803FFFE010F6D7E90393FF00FE090397FC003F0 +01FF130048497F167891C7127C48153CAB5EA2ED07F8ED1FF0B5EB7FC003FCC7FC5D1401 +00035C1403A581A28115FF16F86E13FEEEFF806E14C017E06F13F081030F13F815039238 +001FFC16071603913803C001A21600A281A217F881160117F0B5EBF8039238FC0FE092B5 +12C003CF1300C7EB83F82E417DBF35>255 D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fo ecbx1200 12 58 +/Fo 58 253 df<DB0FFFEB03FF4AB5D8C03F13C0020F02F1B512E0027F91B612F0902701 +FFF8039038FE1FF849018002F813FC010F4948EBF03F49484913E0495A4A15C0495AF11F +F801FF16804A6DEC07E070EC018096C7FCABBA12F0A5C69026E000030180C7FCB3B0007F +D9FFC1B67EA546467EC541>27 D<ED0FFF4AB512C0020F14F0027F80903A01FFF803FC49 +9038C000FE010FEB00034948497E49485B5C495A4C138001FF6E13005CA3705AEE01F893 +C8FCA74BB51280B9FCA5C69038E00003B3B0007FD9FFC1B6FCA538467EC53E>I<B612F8 +A91D097F9A25>45 D<EA07C0EA1FF0EA3FF8EA7FFCEAFFFEA7EA7FFCEA3FF8EA1FF0EA07 +C00F0F788E1F>I<EC03C01407141F147FEB03FF133FB6FCA413C3EA0003B3B3ADB712FC +A5264177C038>49 D<ECFFE0010F13FE013F6D7E90B612E0000315F82607FC0313FE3A0F +E0007FFFD81F806D138048C7000F13C0488001C015E001F07F00FF6E13F07F17F881A46C +5A6C5A6C5AC9FC17F05DA217E05D17C04B13804B1300A2ED1FFC4B5A5E4B5A4B5A4A90C7 +FC4A5A4A5AEC0FF04A5AEC3F804AC7127814FE495A494814F8D907E014F0495A495A49C8 +FC017C140149140348B7FC4816E05A5A5A5A5AB8FC17C0A42D417BC038>I<ECFFF00107 +13FF011F14C0017F14F049C66C7ED803F8EB3FFED807E06D7E81D80FF86D138013FE001F +16C07FA66C5A6C4815806C485BC814005D5E4B5A4B5A4B5A4A5B020F1380902607FFFEC7 +FC15F815FF16C090C713F0ED3FFCED0FFEEEFF80816F13C017E0A26F13F0A217F8A3EA0F +C0EA3FF0487EA2487EA217F0A25D17E06C5A494913C05BD83F80491380D81FF0491300D8 +0FFEEBFFFE6CB612F800015D6C6C14C0011F49C7FC010113E02D427BC038>I<163FA25E +5E5D5DA25D5D5D5DA25D92B5FCEC01F7EC03E7140715C7EC0F87EC1F07143E147E147C14 +F8EB01F0EB03E0130714C0EB0F80EB1F00133E5BA25B485A485A485A120F5B48C7FC123E +5A12FCB91280A5C8000F90C7FCAC027FB61280A531417DC038>I<0007150301E0143F01 +FFEB07FF91B6FC5E5E5E5E5E16804BC7FC5D15E092C8FC01C0C9FCAAEC3FF001C1B5FC01 +C714C001DF14F09039FFE03FFC9138000FFE01FC6D7E01F06D13804915C0497F6C4815E0 +C8FC6F13F0A317F8A4EA0F80EA3FE0487E12FF7FA317F05B5D6C4815E05B007EC74813C0 +123E003F4A1380D81FC0491300D80FF0495AD807FEEBFFFC6CB612F0C65D013F1480010F +01FCC7FC010113C02D427BC038>I<4AB47E021F13F0027F13FC49B6FC01079038807F80 +90390FFC001FD93FF014C04948137F4948EBFFE048495A5A1400485A120FA248486D13C0 +EE7F80EE1E00003F92C7FCA25B127FA2EC07FC91381FFF8000FF017F13E091B512F89039 +F9F01FFC9039FBC007FE9039FF8003FF17804A6C13C05B6F13E0A24915F0A317F85BA412 +7FA5123FA217F07F121FA2000F4A13E0A26C6C15C06D4913806C018014006C6D485A6C90 +38E01FFC6DB55A011F5C010714C0010191C7FC9038003FF02D427BC038>I<121E121F13 +FC90B712FEA45A17FC17F817F017E017C0A2481680007EC8EA3F00007C157E5E00785D15 +014B5A00F84A5A484A5A5E151FC848C7FC157E5DA24A5A14035D14074A5AA2141F5D143F +A2147F5D14FFA25BA35B92C8FCA35BA55BAA6D5A6D5A6D5A2F447AC238>I<EE1F80A24C +7EA24C7EA34C7EA24B7FA34B7FA24B7FA34B7F169F031F80161F82033F80ED3E07037E80 +157C8203FC804B7E02018115F0820203814B137F0207815D173F020F814B7F021F8292C7 +7EA24A82023E80027E82027FB7FCA291B87EA2498302F0C8FCA20103834A157F0107834A +153FA249488284011F8491C97E4984133E017E82B6020FB612F0A54C457CC455>65 +D<B9FC18F018FE727E19E026003FFCC700077F05017F716C7E727E727EA2721380A37213 +C0A74E1380A24E1300A24E5A4E5A4E5A4D5B05075B94B5128091B700FCC7FC18F018FF19 +E002FCC7000113F8716C7EF01FFE727E7213801AC07213E0A27213F0A31AF8A71AF0A260 +1AE0604E13C0604E138095B5120005075BBA12F86119C04EC7FC18E045447CC350>I<DC +FFF01470031F01FF14F04AB6EAE0010207EDF803023FEDFE0791B539E001FF0F4949C7EA +3F9F010701F0EC0FFF4901C0804990C87E4948814948814948167F4849163F4849161F5A +4A160F485B19074890CAFC19035A5BA2007F1801A34994C7FC12FFAE127F7F1AF0A2123F +A27F6C18011AE06C7F19036C6D17C06E16077E6C6DEE0F806C6DEE1F006D6C5E6D6C167E +6D6C6C5D6D6D4A5A6D01F0EC07F0010101FEEC1FE06D903AFFF001FF80023F90B6C7FC02 +0715FC020115F0DA001F1480030001F8C8FC44467AC451>I<B9FC18F018FE727E19E026 +003FFEC7001F13F805017F9438003FFF060F7F727F727F727F84737E737EA2737EA2737E +A21B80A2851BC0A51BE0AD1BC0A51B8061A21B006162193F624F5A19FF624E5B06075B4E +5B063F90C7FC4DB45A050F13F8BA5A19C04EC8FC18F095C9FC4B447CC356>I<BA12F8A4 +85D8001F90C71201EF003F180F180318011800A2197E193EA3191EA21778A285A405F890 +C7FCA316011603161F92B5FCA5ED001F160316011600A2F101E01778A2F103C0A494C7FC +1907A21A80A2190FA2191FA2193FF17F0061601807181F4DB5FCBBFC61A443447DC34A> +I<BA1280A419C026003FFEC7121F1701EF007F183F181F180F180719E01803A31801A3EE +01E0F000F0A419001603A31607160F167F91B6FCA59138FE007F160F16071603A31601A6 +93C9FCAFB712F0A53C447CC346>I<DCFFF01470031F01FF14F04AB6EAE0010207EDF803 +023FEDFE0791B539E001FF0F4949C7EA3F9F010701F0EC0FFF4901C0804990C87E494881 +4948814948167F4849163F4849161F5A4A160F485B19074890CAFC19035A5BA2007F1801 +A34994C8FC12FFAD057FB612F0127F7FA3003FDC0001EBF000A27F7EA26C7FA26C7F807E +6C7F6C7F6D7E6D6C5D6D6C7E6D6D5C6D01F05C010101FE143F6D903AFFF001FF9F023F90 +B6120F0207EDFC030201EDF000DA001F02C01330030001FCC9FC4C467AC458>I<B7D880 +03B612FEA526003FFEC9EBF800B3A791B9FCA54AC9FCB3AAB7D88003B612FEA54F447CC3 +58>I<0107B7FCA590C7001F1300B3B3A9EA1FE0487E487EA2487EA44B5AA26C48495A49 +5C6C4813FF6C48485B260FFC0713C06CB65A6C4AC7FCC66C13F8010F138030457DC33A> +74 D<B76C0103B512F8A526003FFEC93807E0004F5A4F5A077EC7FC614E5A4E5A4E5AF0 +1F804EC8FC187E604D5AEF07F0EF0FC04D5A4DC9FC177E4C5AEE03F04C5A4C5A4C7EEE7F +F04C7E5D4B7F4B7F4B7FED3F3FDB7E1F7F03FC806E486C7F4B7E4B6C7F0380804B6C7F4A +7F717E84717F83717F85717F83717F85717F187F727E86727F84727F86727F84B76C90B6 +12FCA54E447CC358>I<B712F0A526003FFECAFCB3B1F00780A4180F1900A460A360A218 +7EA218FE170117031707171F177FEE03FFB95AA539447CC343>I<B500FE067FB512806E +95B6FCA26F5EA2D8003F50C7FC013D6DEE03DFA2013C6DEE079FA26E6CEE0F1FA26E6C16 +1EA26E6C163CA36E6C1678A26E6C16F0A26E6DEC01E0A26E6DEC03C0A36E6DEC0780A26F +6CEC0F00A26F6C141EA26F6C5CA36F6C5CA26F6C5CA26F6D485AA26F6D485AA26F6D485A +A3706C48C7FCA293383FF81EA2706C5AA2706C5AA3706C5AA2705BA2705BA2705BA2B605 +7FB6128071C7FCA2173E171C61447CC36A>I<B64BB512FE8181A281D8003F6D91C7EA78 +0081013D7F81133C6E7E6E7F6E7F6E7F6E7F82806E7F6E7F6F7E6F7F83816F7F6F7F6F7F +6F7F6F7F8382707F707F707F707F8482707F707F717E7113807113C019E0837113F07113 +F87113FC7113FE19FF847213F884848484A28484197F193F191FA2190F1907B616031901 +19001A78A24F447CC358>I<B9FC18F018FE727E19E0D8001F90C7000F7F05017F716C7E +727E727E721380A21AC084A21AE0A91AC0A24E1380A21A00604E5A4E5A4D485A050F5B92 +B712C096C7FC18FC18C092CBFCB3A7B712E0A543447DC34D>80 D<B812F8EFFFC018F818 +FE727ED8001F90C7003F13E005037F05007F727E727E727EA28684A286A762A24E90C7FC +A24E5A61187F943801FFF005075B053F138092B7C8FC18F818E018F892C77FEF3FFF050F +7F717F717FA2717FA2717FA785A61B0F85A2187F73131F72141EB700E06DEB803E72EBE0 +FC72EBFFF8060114F0726C13E0CC0007138050457DC354>82 D<DAFFE0131C010701FE13 +3C013F9038FF807C90B6EAE0FC4815F9489038801FFF3907FC00014848EB007F4848143F +4848140F491407007F15035B1601160012FF177CA27FA26D153C7F7F6D92C7FC6C7EEBFF +E014FE6CEBFFF015FF6C15E016FC6C816C6F7E6C826C826C6C81011F810107811300020F +80140003077FED007F82040F1380828212F082A282A27EA218007EA26C5D6C5E6D14036D +5D6D140701F84A5A01FFEC3FF002F8EBFFE0486CB65AD8FC1F92C7FCD8F80714FC48C614 +F0480107138031467AC43E>I<003FBA12E0A59026FE000FEB8003D87FE09338003FF049 +171F90C71607A2007E1803007C1801A300781800A400F819F8481978A5C81700B3B3A201 +07B8FCA545437CC24E>I<B76C010FB512F8A526003FFEC93803E000B3B3A9011F170762 +80190F6D606F151F6D95C7FC6D6D5D197E6D6D5D6D6D1403DA7FFC4A5A6EB4EC3FF0020F +9039F003FFE06E90B61280020193C8FC6E6C14FC030F14E09226007FFEC9FC4D457CC356 +>I<B792B6FCA526003FFECAEAFC00806D606F15016D608119036D606F15076D606F150F +6D6081191F6D6D93C7FC61027F163E6F157E023F167C8119FC6E6D5C18016E5E7013036E +5E8218076E6D5C180F6E5E70131F6E93C8FC705B037F143E82187E033F147C7013FC6F5C +17816F5C17C117C36F5C17E76F5C17FF6F5CA36F91C9FCA2705AA2705AA3705AA2705AA2 +705AA250457EC355>I<007FB6D8C003B61280A5D8000F01E0C7D801F8C7FC6D4C5A6F14 +076D6D5D6D6D4A5A4E5A6D6D143F6E6C92C8FC6E157E705B6EEBC0016E01E05B4D5A6E6D +485A6EEBF80F6E01FC5B4D5A6E6D48C9FC6F6C5A6F137E5F6F5B815F816F7F81836F7F70 +7E93B5FC844B805D4B8004E77FDB0FC37FED1F83DB3F817F04007F037E137F4B8002016E +7F4B6D7F4A5A4A486D7F020F6E7F4B7F4A48814AC76C7F717F147E4A6F7E0101707F4A81 +49488349486F7F010F707FB600E00103B612FCA54E447DC355>88 +D<001FB812FEA59126F8000113FC028015F801FCC75A494A13F04916E0495C494A13C048 +4816805E90C84813005F003E15FF4B5B5F003C5C4B5B5F5D4B5BC85C4B90C7FC5D5E4B5A +5C5E4A5B5C5E4A5B5C5E4A90C8FC5C5D4A48140F5B5D495B5B4949141F5D49161E495B92 +C8FC49163E495A5C48177E485B4A15FE481601484914034A140748160F4849143F91C8EA +FFFC48150FB9FCA538447AC344>90 D<903801FFE0011F13FE017F6D7E48B612E03A03FE +007FF84848EB1FFC6D6D7E486C6D7EA26F7FA36F7F6C5A6C5AEA00F090C7FCA40203B5FC +91B6FC1307013F13F19038FFFC01000313E0481380381FFE00485A5B127F5B12FF5BA35D +A26D5B6C6C5B4B13F0D83FFE013EEBFFC03A1FFF80FC7F0007EBFFF86CECE01FC66CEB80 +07D90FFCC9FC322F7DAD36>97 D<EB7FC0B5FCA512037EB1ED0FF892B57E02C314E002CF +14F89139DFC03FFC9139FF000FFE02FCEB03FF4A6D13804A15C04A6D13E05CEF7FF0A218 +F8173FA318FCAC18F8A2177F18F0A3EFFFE06E15C06E5B6E491380027C491300496C495A +903AFC1FC07FFC496CB512F0D9F00314C049C691C7FCC8EA1FF036467DC43E>I<EC3FFC +49B512C0010F14F0013F14FC90397FF003FE9039FFC001FF0003495A48494813805B120F +485AA2485A6F1300007F6E5AED00784991C7FCA212FFAC6C7EA3123F6DEC03C0A26C6C14 +07000F16806D140F6C6DEB1F006C6D133E6C01F05B3A007FFC03F86DB55A010F14C00103 +91C7FC9038003FF82A2F7CAD32>I<EE03FEED07FFA5ED001F160FB1EC3FE0903803FFFC +010FEBFF8F013F14CF9039FFF807FF48EBC00148903880007F4890C7123F4848141F4914 +0F121F485AA3127F5BA212FFAC127FA37F123FA26C6C141FA26C6C143F0007157F6C6C91 +B5FC6CD9C00314FC6C9038F01FEF6DB5128F011FEBFE0F010713F89026007FC0EBF80036 +467CC43E>I<EC3FF80103B57E010F14E0013F8090397FF83FF89039FFC007FC48496C7E +48496C7E48486D1380485A001FED7FC05B003FED3FE0A2127F5B17F0161F12FFA290B7FC +A401F0C9FCA5127FA27FA2123F17F06C7E16016C6C15E06C6C14036C6DEB07C06C6DEB0F +806C01F0EB3F0090397FFE01FE011FB55A010714F0010114C09026001FFEC7FC2C2F7DAD +33>I<EDFF80020F13E0027F13F049B512F849EB8FFC90390FFE0FFE90381FFC1F14F813 +3FEB7FF0A2ED0FFCEBFFE0ED03F0ED00C01600ABB612F8A5C601E0C7FCB3B0007FEBFFE0 +A527467DC522>I<DAFFE0137E010F9039FE03FF80013FEBFF8F90B812C048D9C07F133F +489038001FF84848EB0FFC4848903907FE1F80001F9238FF0F00496D90C7FCA2003F82A8 +001F93C7FCA26D5B000F5D6C6C495A6C6C495A6C9038C07FF04890B55A1680D8078F49C8 +FC018013E0000F90CAFCA47F7F7F90B612C016FC6CEDFF8017E06C826C16FC7E00038200 +0F82D81FF0C77ED83FC014074848020113808248C9FC177FA46D15FF007F17006D5C6C6C +4A5A6C6C4A5AD80FFEEC3FF83B07FFC001FFF0000190B612C06C6C92C7FC010F14F8D900 +7F90C8FC32427DAC38>I<EB7FC0B5FCA512037EB1ED07FE92383FFF8092B512E002C114 +F89139C7F03FFC9138CF801F9139DF000FFE14DE14FC4A6D7E5CA25CA35CB3A7B60083B5 +12FEA537457CC43E>I<137C48B4FC4813804813C0A24813E0A56C13C0A26C13806C1300 +EA007C90C7FCAAEB7FC0EA7FFFA512037EB3AFB6FCA518467CC520>I<EB7FC0B5FCA512 +037EB293387FFFE0A593380FE0004C5A4CC7FC167E5EED03F8ED07E04B5A4B5A037FC8FC +15FEECC1FCECC3FE14C7ECDFFF91B57E82A202F97F02E17F02C07FEC807F6F7E826F7E81 +6F7F836F7F816F7F83707E163FB60003B512F8A535457DC43B>107 +D<EB7FC0B5FCA512037EB3B3B3A3B61280A519457CC420>I<90277F8007FEEC0FFCB590 +263FFFC090387FFF8092B5D8F001B512E002816E4880913D87F01FFC0FE03FF8913D8FC0 +0FFE1F801FFC0003D99F009026FF3E007F6C019E6D013C130F02BC5D02F86D496D7EA24A +5D4A5DA34A5DB3A7B60081B60003B512FEA5572D7CAC5E>I<90397F8007FEB590383FFF +8092B512E0028114F8913987F03FFC91388F801F000390399F000FFE6C139E14BC02F86D +7E5CA25CA35CB3A7B60083B512FEA5372D7CAC3E>I<EC1FFC49B512C0010714F0011F14 +FC90397FF80FFF9026FFC0017F48496C7F4848C7EA3FE000078248486E7E49140F001F82 +A2003F82491407007F82A400FF1780AA007F1700A46C6C4A5AA2001F5E6D141F000F5E6C +6C4A5AA26C6C6CEBFFE06C6D485B27007FF80F90C7FC6DB55A010F14F8010114C0902600 +1FFCC8FC312F7DAD38>I<90397FC00FF8B590B57E02C314E002CF14F89139DFC03FFC91 +39FF001FFE000301FCEB07FF6C496D13804A15C04A6D13E05C7013F0A2EF7FF8A4EF3FFC +ACEF7FF8A318F017FFA24C13E06E15C06E5B6E4913806E4913006E495A9139DFC07FFC02 +CFB512F002C314C002C091C7FCED1FF092C9FCADB67EA536407DAC3E>I<90387F807FB5 +3881FFE0028313F0028F13F8ED8FFC91389F1FFE000313BE6C13BC14F8A214F0ED0FFC91 +38E007F8ED01E092C7FCA35CB3A5B612E0A5272D7DAC2E>114 D<90391FFC038090B512 +87000314FF120F381FF003383FC00049133F48C7121F127E00FE140FA215077EA27F01E0 +90C7FC13FE387FFFF014FF6C14C015F06C14FC6C800003806C15806C7E010F14C0EB003F +020313E0140000F0143FA26C141F150FA27EA26C15C06C141FA26DEB3F8001E0EB7F0090 +38F803FE90B55A00FC5CD8F03F13E026E007FEC7FC232F7CAD2C>I<EB01E0A51303A413 +07A2130FA2131FA2133F137F13FF1203000F90B51280B7FCA4C601E0C7FCB3A3ED01E0A9 +150302F013C0137F150790393FF80F8090391FFC1F006DB5FC6D13FC01015B9038003FE0 +23407EBE2C>I<D97FC049B4FCB50103B5FCA50003EC000F6C81B3A85EA25EA25E7E6E49 +1380017FD901F713FE9138F807E76DB512C7010F1407010313FE9026007FF0EBFC00372E +7CAC3E>I<B6903803FFFCA5000101E09038003E006C163C80017F5D8017F8013F5D6E13 +01011F5D6E1303010F5D6E13076D5DED800F6D92C7FC15C05E6DEBE01E163E6D143CEDF0 +7C027F1378EDF8F8023F5B15FD021F5B15FF6E5BA36E5BA26E90C8FCA26E5AA26E5AA215 +78362C7EAB3B>I<B5D8FE1FB539801FFFF0A500019027C0003FE0C7EA7C007114786E17 +F86C6F6C5C6E1601017F6E6C5CA26E011F1403013F6F5C6E013F1407011F6F5CA26E0179 +140F010F048090C7FC6E01F95C6D02F0EBC01E15806D902681E07F5B18E003C3157C6D91 +39C03FF07815E76DDA801F5B18F803FF14F96E9039000FFDE018FF6E486D5BA36E486D5B +A26E486D90C8FCA24B7F02075DA26E48147C4B143C4C2C7EAB51>I<B500FE90383FFFF0 +A5C601F0903803E0006D6C495A6D6C495A011F4AC7FC6E5B6D6C137E6DEB807C6D6D5A6D +EBC1F0EDE3E06DEBF7C06EB45A806E90C8FC5D6E7E6E7F6E7FA24A7F4A7F8291381F3FFC +EC3E1F027C7F4A6C7E49486C7F01036D7F49487E02C08049486C7F49C76C7E013E6E7E01 +7E141FB500E090B512FCA5362C7EAB3B>I<B6903803FFFCA5000101E09038003E006C16 +3C80017F5D8017F8013F5D6E1301011F5D6E1303010F5D6E13076D5DED800F6D92C7FC15 +C05E6DEBE01E163E6D143CEDF07C027F1378EDF8F8023F5B15FD021F5B15FF6E5BA36E5B +A26E90C8FCA26E5AA26E5AA21578A215F85D14015D001F1303D83F805B387FC007D8FFE0 +5B140F92C9FC5C143E495A387FC1F8EB07F06CB45A6C5B000790CAFCEA01FC36407EAB3B +>I<001FB71280A49026FC001F130001E0495A5B49495A90C7485A48495B123E4A5B4A5B +003C495BA24A90C7FC4A5A4A5AC7FC4A5A495B495BA2495B499038800780491300A2495A +4948130F49481400A2485B48495B485BA248495B4890C75A48485C15034848EB1FFEB7FC +A4292C7DAB32>I<D91F8013FC90397FC001FF496C487F486D487F6E5A4882A56C5E4A7E +6C496C5B6D486C90C7FC90391F8000FC90CBFCA7903801FFE0011F13FE017F6D7E48B612 +E03A03FE007FF84848EB1FFC6D6D7E486C6D7EA26F7FA36F7F6C5A6C5AEA00F090C7FCA4 +0203B5FC91B6FC1307013F13F19038FFFC01000313E0481380381FFE00485A5B127F5B12 +FF5BA35DA26D5B6C6C5B4B13F0D83FFE013EEBFFC03A1FFF80FC7F0007EBFFF86CECE01F +C66CEB8007D90FFCC9FC32457DC336>228 D<D903F0EB1F80D90FF8EB3FE0496C497E49 +6C497E6E5AA24981A36D5DA24A7E6D486D5A6D486D5AD903F0EB1F8090CBFCA8D97FC049 +B4FCB50103B5FCA50003EC000F6C81B3A85EA25EA25E7E6E491380017FD901F713FE9138 +F807E76DB512C7010F1407010313FE9026007FF0EBFC0037457CC33E>252 +D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fp ecrm1095 10.95 94 +/Fp 94 256 df<001C1307007FEB1FC039FF803FE0A201C013F0A3007F131F001CEB0730 +00001300A500011470491360A2000314E090C712C048130100061480000E1303000C1400 +001C5B48130E485B006013181C1B7FBE1E>17 D<001C1307007FEB1FC039FF803FE0A201 +C013F0A3007F131F001CEB073000001300A500011470491360A2000314E090C712C04813 +0100061480000E1303000C1400001C5B48130E485B006013181C1B7F881E>I<BE1280A2 +590280985A>22 D<DA03FFEB0FE0021F9038C07FF8913AFE00F1F81CD901F890383BE07E +D907E090387FC0FF90390FC001FFD91F805CD93F005C5B017E167E01FE6D48130049147E +AEB91280A3D800FCC7007EC7FCB3AE486C14FF277FFFF83F13FFA338407FBF35>27 +D<EC03FE91381FFFC09138FE01E0903901F80078D907E0131C4948137C494813FE90383F +00015B137E13FE496D5A167893C7FCAB167EB712FEA33900FC00011500167EB3AC486C14 +FF277FFFF83F13FCA32E407FBF32>I<EC03FF021F13EE9138FE00FEEB01F8903807E001 +EB0FC0EB1F80EB3F005B017E130001FE147E5BAEB712FEA3D800FCC7127EB3AE486C14FF +277FFFF83F13FCA32E407FBF32>I<DA03FE49B4FC91271FFF800F13E0913BFE01E07F00 +F0902801F80078FC133CD907E0D91BF0130E4948D97FE0133E4948484848137FD93F004A +5B5B017E92C7FC13FE494A147EDB007E143C96C7FCAB193FBBFCA3D800FCC7007EC7FC85 +85B3AC486C02FFEC7F80277FFFF83F9039FC1FFFFEA347407FBF4B>I<121C127FEAFF80 +A9EA7F00AC123EAC121CACC7FCA9121C127FEAFF80A5EA7F00121C094178C019>33 +D<013F1603D9FFC0ED07802601E0E0150F2607C070151F48486CED3F00D9001E157E001E +6D15FE003E02C0EB03FCDA06F0EB0FF8003CD9073F13FD007C903A030FFFF1F00300EB03 +E00078ED000700F86E5C02014A5A171F95C7FC173E177E177C5F16015F0203495A0078EC +0007007C5E4C5A003C49131F003E010691C8FC020E133E001E010C137E6C011C137C6D48 +5B3907C070012601E0E05B6CB448485A90263F0007147E90C79039C001FF80923A0F8003 +C1C0031F90380F80E09339001F0070033E011E1338037E491318037C017C131C4B150C02 +010278130E4B01F813064A5A02075CDBC0011407DA0F801503141F1500143E147E147C5C +13015C494816070107020014064A80495A011F0378130E91C8007C130C013E171C017E03 +3C1318017C6F133849031F1370000193380F80E049923803C1C049923801FF806C489238 +007E0040497BC34B>37 D<EC0F80EC3FE0ECF870903801E03001031338903807C018A290 +380F801C150CA2131F1400A21480A2151C15181538153015705D5DEB0FC1ECC38002C7CA +FC14C602EE91383FFFF8EB07FC5C4A020713800103923801FC00715A6E5D60496C4A5A01 +0F5ED91CFE1403013893C7FCD9707F5C01E0150E48486C6C130CD803806D131C0007011F +141848486C6C1338486E5B02071460003E6E13E0007E6D6C5B0201130100FE6E485A6E6C +48C8FC157FED3F8E16DCDB1FF814306C6E5A15076C6E6C14706D6E1460003F4A6C14E06D +D90F7F14C06C6C90393C3F80016C6C903AF81FE007803D07F807E007F81F000001B539C0 +03FFFE6C6C48C713F8D90FF0EC1FE03D437CC046>I<121C127FEAFF80A213C0A3127F12 +1C1200A512011380A2120313005A1206120E120C121C5A5A12600A1B78BE19>I<143014 +7014E0EB01C0EB0380EB07005B131E5BA25B5BA2485AA2485AA212075B120FA290C7FC5A +A2121E123EA3123C127CA6127812F8B21278127CA6123C123EA3121E121FA27E7FA21207 +7F1203A26C7EA26C7EA213787FA27F7F7FEB0380EB01C0EB00E014701430145A77C323> +I<12C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA21378A27FA2133E131E131FA27F1480 +A2130714C0A3130314E0A6130114F0B214E01303A614C01307A31480130FA214005BA213 +1E133E133CA25BA25BA2485A485AA2485A48C7FC120E5A5A5A5A5A145A7BC323>I<EB03 +C0A2805CA600F0140F00FC143F00FE147F00FF14FF393FC3C3FC390FE187F03903F18FC0 +3900FDBF00EB3FFCEB0FF0EB03C0EB0FF0EB3FFCEBFDBF3903F18FC0390FE187F0393FC3 +C3FC39FF03C0FF00FE147F00FC143F00F0140F00001400A6805CA220277AC32D>I<1506 +B3ABBA12E0A2C80006C9FCB3AB3B3C7BB446>I<121C127FEAFF80A213C0A3127F121C12 +00A512011380A2120313005A1206120E120C121C5A5A12600A1B788819>I<B512FEA517 +057F951E>I<121C127FEAFF80A5EA7F00121C0909788819>I<16C0A215011680A2150316 +005D1506A2150E150CA2151C1518A215381530A21570156015E05DA214015DA2140392C7 +FCA25C1406140E140CA2141C1418A214381430A214701460A214E05C13015CA2130391C8 +FCA25B1306A2130E130CA2131C131813381330A213701360A213E05BA212015B120390C9 +FCA25A1206A2120E120CA2121C1218A21238123012701260A212E05AA2225B7BC32D>I< +EB03FC90381FFF8090383E07C09038F801F048486C7E4848137C49133C0007143E48487F +A248C7EA0F80A24815C0A4007EEC07E0A500FE15F0B3A3007E15E0A4007F140F6C15C0A4 +6C15806D131F000F1500A26C6C133EA26C6C5B6C6C5B6C6C485A90383E07C06DB45AD903 +FCC7FC243F7CBC2D>I<14C013031307131F137FEA07FFB5FC139FEAF81F1200B3B3ACEB +7FF0B612F8A31D3D78BC2D>I<EB07FC90383FFF8090B512E03901F00FF839078003FC48 +486C7E000E6D7E48EC7F8048EC3FC012300070EC1FE01260A200FEEC0FF07E7FA56CC7FC +121CC813E0151FA216C0153F1680157F160015FE4A5AA24A5A4A5A4A5A5D4A5A023EC7FC +5C5C495A495A5C495A49C71230131E5B5B491460485A485A485A90C812E048B6FC5A5A48 +15C0B7FCA3243D7CBC2D>I<EB07FC90383FFF8090B512E03901F807F83907C003FC48C6 +6C7E000E6D7E48EC7F80EA1F80486CEB3FC07FA56C5A0007C7FCC81380157FA216005D5D +4A5A4A5A5DEC0FC0023FC7FCEB1FFCECFF809038000FE0EC03F86E7E6E7E157F1680ED3F +C0A216E0A2151F16F0A2120C123F487E487EA4ED3FE05B6CC713C01270ED7F807E6CECFF +00000F495A3907C003FC3903F80FF0C6B55A013F1380D907FCC7FC243F7CBC2D>I<150E +A2151E153EA2157E15FEA214011403A21406140E140C141814381430146014E014C0EB01 +80130314001306130E130C5B133813305B13E05B485A120390C7FC1206120E120C5A1238 +12305A12E0B8FCA3C8EAFE00AC4A7E49B6FCA3283E7EBD2D>I<00061403D807C0130F01 +F813FE90B55AA215F05D5D92C7FC38063FF890C9FCADEB01FE90380FFF8090383E03E090 +387001F8496C7ED807C0137E497F90C713800006141FC813C0A216E0150FA316F0A4123E +127F487EA490C713E048141F12E0006015C012700030EC3F8012386CEC7F00001E14FE6C +495A3907C003F83903F00FE0C6B55A013F90C7FCEB07F8243F7CBC2D>I<EC1FE0ECFFF8 +010313FE90380FF01F90391F80078090383F0003017EEB0FC049131F4848133F485AA248 +5A000FEC1F8049EB0F00001F91C7FCA25B123FA3127F90C9FCEB01FE903807FF8039FF0E +03E0496C7E90383800FC49137E0160133E01E0133F49EB1F8016C05B16E0150FA290C713 +F0A67EA56C7E16E0A2121FED1FC07F000F1580153F6C6C14006C6C137E6C6C5B6C6C485A +90387E07F06DB45A010F1380D903FCC7FC243F7CBC2D>I<12301238123E003FB612FCA3 +16F85A16F016E00070C8FC0060EC01C0ED038016005D48140E150C151C5DC8123015705D +4A5A5D14034AC7FCA2140EA25CA2143C14381478A214F85C1301A31303A313075CA3130F +A5131FAA6D5A6D5A26407BBD2D>I<EB03FC90381FFF80017F13E09038FC03F83901E000 +FC4848133E48487F48C77E000E1580001E1407001C15C0003C1403A3123EA2123F15076D +1480D81FE0130F6D140001FC131E6C6C5B6D6C5A6C6D5A6CEBF1E06CEBFF806C91C7FC13 +3F6D13C06D7F4913F801787F48486C7E3903C01FFF48486C1380260F000313C0487F001E +9038007FE048143F007C140F0078EC07F0150312F8481401A21500A46C15E000781401A2 +007C15C06C1403001EEC0780001FEC0F00D80FC0131E6C6C137C3901FC03F86CB512E001 +1F1380D903FCC7FC243F7CBC2D>I<EB03FCEB1FFF4913C09038FE07F03901F801F84848 +6C7E4848137C000F147E48487F5B003FEC1F80A2127F90C713C0A25AED0FE0A516F0A66C +141FA27F123F153F121F6C6C137F0007146F6D13EF3903F001CF3900F8038F90387C070F +D91FFE13E0EB07F890C7FC151FA216C0A3ED3F80A2000F1500486C5B486C137EA25D4A5A +138049485A001C495A001EEB1FC0260FC07FC7FC3803FFFE6C13F838003FC0243F7CBC2D +>I<121C127FEAFF80A5EA7F00121CC7FCB3A3121C127FEAFF80A5EA7F00121C092778A6 +19>I<121C127FEAFF80A5EA7F00121CC7FCB3A3121C127FEAFF80A213C0A3127F121C12 +00A512011380A2120313005A1206120E120C121C5A5A12600A3978A619>I<BA12E0A2CD +FCB0BA12E0A23B147BA046>61 D<12E01278121EEA07C0EA01F0EA003C130FEB03C0EB00 +F0143EEC0F80EC01E0EC0078151EED0780ED01F0ED007C160FEE03C0EE00F0173CEF0F80 +EF03E0EF0078181EA21878EF03E0EF0F80EF3C0017F0EE03C0040FC7FC167CED01F0ED07 +80031EC8FC1578EC01E0EC0F80023EC9FC14F0EB03C0010FCAFC133CEA01F0EA07C0001E +CBFC127812E0373279AF46>I<1507A34B7EA24B7EA34B7EA34B7E156FA2EDCFF815C7A2 +91380187FC1583A291380301FEA391380600FFA2020E80020C137FA2021C800218133FA2 +4A80161FA24A80160FA24A6D7EA349486D7E91B6FC4981A291C712014981010680A24982 +177FA24982173FA2496F7EA21370717E13F0000183487ED80FFEED3FFEB500C00107B512 +F8A33D417DC044>65 D<B712FCEEFFC017F0C69039C0000FFC6D48EB03FEEE00FFEF7F80 +EF3FC018E0171F18F0170F18F8A718F0171F18E0173F18C0EF7F80EFFF00EE03FEEE0FF8 +EE7FE091B6C7FC17E09139800003FCEE00FEEF7F80EF3FC0EF1FE0EF0FF018F8170718FC +1703A218FEA718FC1707A2EF0FF818F0171FEF3FE0EF7FC0933801FF80496C90380FFE00 +B85A17E094C7FC373E7DBD40>I<DB3FF0130C912603FFFE131C021FEBFF80913A7FE00F +C03C913AFF0001F07CD903FCEB0078D907F0EC3CFCD91FE0140F494814074948140349C8 +FC4848150149150012034848167CA24848163CA24848161CA2123F5B180C127FA3491600 +12FFAC127F7F180CA2123FA27F001F171C18186C7EA26C6C163818306C6C167000011760 +6D16E06C6CED01C06D6CEC03806D6C14076D6CEC0F00D907F0141ED903FC5CD900FF14F0 +91397FE007E0021FB51280020349C7FC9138003FF036427BBF41>I<B712FCEEFF8017E0 +C69039C0001FF86D48EB03FEEE00FFEF3F80717E717E717E717E717EA2717E8484198018 +3F19C0A319E0181FA419F0AB19E0A4183F19C0A21980187FA2190018FEA24D5A4D5A1707 +4D5A4D5A4D5A05FFC7FCEE03FE496CEB1FF8B85A178004FCC8FC3C3E7DBD45>I<B912C0 +A3C69038C000016D48EB001FEF0FE01703A217011700A31860A418301630A41800A21670 +A216F01501150791B5FCA3EC8007150115001670A21630A21806A3180C93C7FCA4181C18 +18A21838A21878A218F0170117031707171F496CEB01FFB912E0A3373E7DBD3D>I<B912 +80A3C69038C000036D48EB003FEF1FC017071703A21701A31700A41860A21630A31800A3 +1670A216F01501150791B5FCA3EC8007150115001670A21630A693C8FCAFEBFFE0B612F0 +A3333E7DBD3B>I<DB3FF0130C912603FFFE131C021FEBFF80913A7FE00FC03C913AFF00 +01F07CD903FCEB0078D907F0EC3CFCD91FE0140F494814074948140349C8FC4848150149 +150012034848167CA24848163CA24848161CA2123F5B180C127FA34993C7FC12FFAB041F +B512F0127F7F9339000FFE00EF03FC123FA27F121FA26C7EA26C7EA26C7E6C7EA26C7E6D +6C14076D7E6D6C140FD907F8141C6D6CEC387CD900FFECF03C913A7FF007E01C021FB5EA +800C020349C8FC9138003FF03C427BBF47>I<B6D8C01FB512F8A3C601C0C7381FF8006D +486E5AB3A691B7FCA30280C7120FB3A9496C4A7EB6D8C01FB512F8A33D3E7DBD44>I<B6 +12C0A30001EBE00038007F80B3B3B23801FFE0B612C0A31A3E7DBD21>I<010FB512F8A3 +D900071300EC01FEB3B3A7123FEA7F80EAFFC0A44A5A1380D87F005B006C130700705C6C +495A6C495A000F495A2603C07EC7FC3800FFF8EB3FC025407DBD2E>I<B600C090380FFF +F8A3C601C0C7000313806D48913801FC006018E04D5A604DC7FC170E5F5F17F0EE01C04C +5A4CC8FC160E5E5E5E5E4B5A4B5A15074B7E151F4B7E4B7E15FF913881CFF891388387FC +EC870791388E03FE91389C01FF14B8DAF0007F4A6D7E1480707E707EA2707E707EA2707E +707EA2707F717EA2717E717EA2717E84717E4D7E496C4A1380B600C090B512FCA33E3E7D +BD46>I<B612F0A3C601E0C8FCEB7F80B3B01703A517071706A4170EA3171EA2173E177E +17FEEE01FC1607496C133FB8FCA3303E7DBD38>I<B56C93381FFFF06E5EA2C6F1F000D9 +6FE0EE6FE0A2D967F016CFA3D963F8ED018FA2D961FCED030FA3D960FE1506A2027F150C +A36E6C1418A36E6C1430A26E6C1460A36E6C14C0A26E6CEB0180A36E6CEB0300A26E6C13 +06A3037F5BA26F6C5AA36F6C5AA26F6C5AA36F6C5AA2923803F980A36FB4C7FCA26F5AA2 +13F0486C147CD807FE4D7EB500F00138011FB512F0A34C3E7DBD53>I<B56C91387FFFF8 +8080D8007F030313006EEC00FCD96FF815786E15301367EB63FE80136101607F6E7EA26E +7E6E7EA26E7E6E7EA26E7E6E7EA26E7F6F7E82153F6F7E82150F6F7E8215036F7E6F1380 +A2EE7FC0EE3FE0A2EE1FF0EE0FF8A2EE07FCEE03FEA2EE01FF7013B018F0177F173FA217 +1F170F1707A2170301F01501487ED807FE1500B500F01570A218303D3E7DBD44>I<EDFF +E0020713FC91393FC07F809139FE000FE0D901F8EB03F0D907E0EB00FC4948147E494880 +49C86C7E017E6F7E01FE8248486F7E48486F7EA248486F7EA248486F7E001F83A2498200 +3F1880A3007F18C049163FA300FF18E0AC007F18C06D167FA4003F18806D16FF001F1800 +A36C6C4B5AA26C6C4B5A00035F6D150700015F6C6C4B5A017F4B5A6D6C4A5A011F93C7FC +D90FE014FE6D6C495AD901F8EB03F0D900FEEB0FE091393FC07F80912607FFFCC8FC0200 +13E03B427BBF46>I<B712F016FF17C0C69039C0003FF06D48EB07F8EE01FE707E831880 +EF3FC0A2EF1FE0A218F0A818E0A2EF3FC0A2EF7F80180017FEEE03FC4C5AEE3FE091B612 +8004FCC7FC0280C9FCB3A7497EB612C0A3343E7DBD3D>I<EDFFE0020713FC91393FC07F +809139FE000FE0D901F8EB03F0D907F0EB01FCD90FC0EB007E49488049C86C7E498201FE +6F7E48486F7E000383491503000783491501000F8348486F7EA34848EE7F80A3007F18C0 +A249163FA200FF18E0AC007F18C0A26D167FA3003F1880A26C6CEEFF00A36C6C4B5AA200 +07021F5C6C6C90397FC003F8EDE0706C6C48486C485A3C00FE0380180FE0017ED9001C5B +013F91380C1F80D91F83D90E3FC7FCD90FC3EB067ED907F3EB07FC902601FB8013F06DB4 +6C485A91273FE07F8013600207B5FC020013E392380003C019E0831801933801F0039438 +F807C0EFFC0F94B5FCA2701480A271130060173FEF1FF8EF07E03B527BBF46>I<B712C0 +16FCEEFF80C69039C0007FE06D48EB0FF0EE03FC707E707E717E717EA284171F84A76017 +3F6060177F4DC7FCEE01FC4C5AEE0FE0EEFF8091B500FCC8FC5E91388000FFEE3FC0EE0F +E0707E707E83707EA2707EA684A7190618C0177FA2190E496C91383FE00CB600C0011F13 +1C94380FF038943807F870CA3801FFE09438003F803F407DBD43>I<D907FC131890393F +FF803890B512E03A01FC03F8783903F0007CD807C0EB1EF84848130F48C7120748140300 +3E1401007E1400A2007C157812FCA21638A36C1518A27EA26C6C14007F7FEA3FF813FF6C +13F06C13FF15F06C14FC0001806CECFF80013F14C0010714E0EB007F020713F09138007F +F8151FED0FFC15071503ED01FEA200C01400A3167EA27EA3167C7E16FC6C15F86C14016C +15F06C14036DEB07E0D8FBE0EB0FC0D8F1F8EB1F80D8F07FEB7F0039E01FFFFC010713F0 +39C0007FC027427BBF32>I<003FB9FCA3D9E000EBC00190C7397F80003F007EEF1F8000 +7C170F0078170700701703A300601701A548EF00C0A5C81600B3B24B7E4A7F0107B612F8 +A33A3E7DBD41>I<B600C090387FFFF8A3C601C0C7000313006D48EC00FC18781830B3B3 +A4013F16706E1560A218E0011F5E6E1401130F6E4A5A01074BC7FC6D6C5C6D6C140E6D6C +143C027F5C91393FC001F091390FF00FE00203B51280020049C8FCED1FF03D407DBD44> +I<B500FE913803FFFEA3000301C09138007FE06C49ED1F806C90C913006E150E017F160C +A26E151C013F161880011F5EA26E1570010F1660A26D6C5DA28001034B5AA26E14030101 +93C7FC806D1506A26F130E027F140CA26E6C5BA281021F5CA26F1370020F14608102075C +A2EDFC0102035CA26E6C48C8FCA215FF6E1306A2168EED7F8C16CCED3FD8A216F86F5AA2 +6F5AA36F5AA36F5AA23F407EBD44>I<B500FE013FB56C48B5FCA3000701C0010101F0C7 +EA3FF86C90C8D87FC0EC0FE06CF207C0053FED03806C1B00A26E6E6C5C017F1906A26E4A +7E013F61A26E4A7E011F03675DA2EFE7FC6D6C02C35DA204017F6D6C02815DA2846D6C49 +C65DA36D6C01066D6C485AA36E4990383FC0036D96C7FCA26F486D6C5A027F1706A26F48 +EB0FF0023F5FA2DBE07014F8021F016001075BA204E014FC6E6C4801035BA203F115FE91 +2607F98001015BA219FF6EB4C85BA36E486F5AA34B153F020094C8FCA24B810378151EA2 +0370150E0330150C58407EBD5D>I<007FB56C48B512E0A3C601FCC7383FFC00D93FF8EC +1FE06D48EC0F8095C7FC6D6C140E6D6C140C171C6D6C5C6D6C14305F6D6D13E06E6C5B4C +5A91383FE003DA1FF090C8FC160691380FF80E913807FC0C5E913803FE38913801FF305E +6E13E06F5AA26F7E6F7EA26F7E4B7EA2ED33FEED71FF156103C07F02016D7E15804A486C +7E4A6D7E14064A6D7E021C6D7E5C02306D7E02706D7E5C4A6D7F49486E7E130391C86C7E +496F7E130E011E6F7E013E8201FF82000701C0EC3FFFB500F049B512FEA33F3E7EBD44> +I<B692B51280A3000101F092383FF8006C49ED0FC0017F5F013F94C7FC6E150E011F160C +6D6C5D6E1538010716306D6C157018606D6C5D6F13016D5E6E6C13036F91C8FC023F1406 +6E6C130E170C6E6C131C6F131802075C6E6C137017606E6C13E06E6D5AEE8180ED7FC304 +E3C9FCED3FE7ED1FF616FC150F6F5AB3A44B7E020FB512FCA3413E7FBD44>I<003FB712 +F0A349C7EA3FE013F001C0EC7FC090C8FC003EEDFF80003C4A1300A200384A5A00785D00 +7014074B5AA24B5A00604A5AA24B5AA24B5AC74890C7FCA24A5A5D14074A5AA24A5A4A5A +A24A5AA24A5A4990C8FCA2495A5C01071518495AA2495A495AA2495A1738495A4890C8FC +A2485A4915701207484815F0A24848140148481403160F4848143FED01FFB8FCA32D3E7B +BD37>I<EAFFFEA2EAFC00B3B3B3B3AFEAFFFEA20F5B78C319>I<EAFFFEA2EA007EB3B3B3 +B3AFEAFFFEA20F5B7FC319>93 D<007FB812FCB912FEA26C17FC3704796E46>95 +D<EB1FF0EBFFFC3803E03F390F000FC0001C6D7E001F6D7E486C6C7E6D6C7EA3157E6C5A +6CC7FCC8FCA4EC1FFEEB03FF90381FF87EEB7F803801FC00EA07F0485A485A485A127F90 +C7FC160312FEA315FEA21401007F14BE14033A3F80071F06261FC00E138E3A0FF03C0FFC +3A03FFF007F83A003FC003E0282A7CA82D>97 D<EA01F812FFA3120712031201B1EC07F8 +EC1FFF9138780FC09039F9E003F09039FB8001F801FFC77E49147E4980EE1F805B17C016 +0F17E0A2160717F0AA17E0160FA317C0161F17806DEC3F007F01F6147E01F75C9039E380 +01F89039C1C003E09039C0F81F809026803FFEC7FCC7EA07F02C407EBE32>I<49B4FC01 +0F13E090383F00F8017C131E484813074848131F4848EB3F804848137FA2485AA248C7EA +3F00151E4891C7FCA2127E12FEAB127FA36C15C07F001F14016D1480000F14036C6CEB07 +006C6C13066C6C131E6C6C133890383F01F090380FFFC0D901FEC7FC222A7DA828>I<ED +01F815FFA3150715031501B114FF010713C190381F80F190387C00394848131D4848130F +4848130748481303A248481301123F90C7FC5AA3127E12FEAA127E127FA27E7F001F1403 +A26C6C13076C6C130F6C6CEB0DFC6C6CEB3DFE6C6C903871FFF090383F01E190380FFF81 +903A01FE01F8002C407DBE32>I<EB03FC90381FFF8090387E07E09038F801F048486C7E +4848137C48487F000F143F48487F168048C7FC150F5A16C0127EA212FEA2B7FCA248C9FC +A6127E127FA36C15C07F001F14016C6C148015036C6CEB07006C6C130E6C6C5B6C6C5B90 +383F01F090380FFFC0D901FEC7FC222A7DA828>I<EC1FC0ECFFF0903803F038903807C0 +FC90380F81FE131FEB3F01133E137EEC00FC491300AFB6FCA3D800FCC7FCB3AE487E387F +FFFEA31F407FBF1C>I<167E903903FC01FF903A0FFF07878090393E07CE0F9038FC03FC +3901F801F83B03F000FC070049017CC7FC0007147EA248487FA86C6C137EA20003147C6D +13FC6C6C485A6D485A9038BE07C026038FFFC8FCEB03FC48CAFCA47FA27F6C7E90B512F0 +6C14FE6F7E6C6C14E048B612F83907C0001FD81F80EB03FC48C87E003E157E48153E163F +4881A56C5D007C153E007E157E6C5D6C6C495A6C6C495AD803F0EB0FC0D800FE017FC7FC +90383FFFFC010313C0293D7EA82D>I<EA01F812FFA3120712031201B1EC03FC91380FFF +8091383C0FC09138F003E0D9F9C07F9039FB8001F8140001FF6D7E5BA25BA25BB3A6486C +497EB539F07FFFF8A32D3F7EBE32>I<EA01C0EA07F0487EA56C5AEA01C0C8FCACEA01F8 +127FA3120712031201B3AC487EB512E0A3133D7EBC19>I<1470EB01FCEB03FEA5EB01FC +EB00701400AC14FE133FA313011300147EB3B3A6123C007E137CB413FCA214F8130100FE +13F0387803E0383E07C0380FFF00EA01FC175084BC1C>I<EA01F812FFA3120712031201 +B292387FFF80A392381FFC00ED0FE016804BC7FC151C5D5D5DEC03C04AC8FC140E141E14 +3E147F9038F9FF809038FB9FC0EBFF0F496C7E01FC7FEBF8036E7E816E7E157E8182151F +6F7E826F7EA282486C14FEB539F03FFFE0A32B3F7EBE30>I<EA01F812FFA31207120312 +01B3B3B1487EB512F0A3143F7EBE19>I<2701F803FCEB01FE00FF903B0FFF8007FFC091 +3B3C0FC01E07E0913BF003E07801F02607F9C0D9F0E07F3D03FB8001F9C000FC00010100 +5C01FFD900FF147E4992C7FCA2495CA2495CB3A6486C496C14FFB528F07FFFF83F13FCA3 +46287EA74B>I<3901F803FC00FF90380FFF8091383C0FC09138F003E02607F9C07F3A03 +FB8001F80001130001FF6D7E5BA25BA25BB3A6486C497EB539F07FFFF8A32D287EA732> +I<EB01FE90380FFFC090383F03F090387C00F8D801F0133E48487F4848EB0F80A24848EB +07C0001F15E090C712034815F0A2007EEC01F8A400FE15FCA9007E15F8A3007F14036C15 +F0A26C6CEB07E0000F15C06D130F000715806C6CEB1F006C6C133ED800FC13FC90383F03 +F090380FFFC0D901FEC7FC262A7DA82D>I<3901F807F800FFEB1FFF9138780FC09039F9 +E003F03A03FB8001F86CB4C77E49147E49147FEE3F8049141F17C0A2EE0FE0A317F01607 +A9EE0FE0A4EE1FC0A2EE3F806D15006D5C16FE6D495A9039FB8003F89039F9C007E09039 +F8F81F80DA3FFEC7FCEC07F091C9FCAD487EB512F0A32C3A7EA732>I<02FF130C0107EB +C01C90381F80F090387E003849EB1C3CD803F8130E4848EB077C491303484814FC001F14 +01485A150048C8FCA412FEA97E7EA36C7E15016C7E000F14037F000714076C6C130E6C6C +131CD8007E137890383F01E090380FFFC0903801FE0090C8FCAD4B7E92387FFFF8A32D3A +7DA730>I<3903F00FC000FFEB3FF0ECF0F89038F1C3FC00071383EA03F33801F70313F6 +EC01F89038FE0060491300A45BB3A4487EB512F8A31E287EA723>I<90387FC0603903FF +F8E03807C03D381E000F481303481301A20070130012F01560A27EA27EB41400EA7FC013 +FE383FFFE06C13FC00077F6CEBFF80C66C13C0010713E0EB003FEC0FF000C01303EC01F8 +14007E1578A27EA27E15F07EEC01E06C14C039F780078039F1E01F0038E0FFFC38C01FE0 +1D2A7DA824>I<1318A61338A41378A213F8A2120112031207001FB512C0B6FCA2D801F8 +C7FCB3A21560A96C6C13E015C0A2EB7E0190383F038090381F8700EB07FEEB01F81B397E +B723>I<D801F814FC00FF147FA3000714030003140100011400B3A51501A3150312006D +1307ED0EFE017C497E6D4913F890381F80F0903807FFE00100903800FC002D297EA732> +I<B539C007FFE0A32707FC000113006C48EB007C1678000115707F00001560A2017E5CA2 +017F13016D5CA26D6C48C7FCA26E5A010F1306A26D6C5AA2ECF01C01031318A26D6C5AA2 +ECFC7001001360A2EC7EC0A2147F6E5AA26EC8FCA3140EA22B287EA630>I<B53B87FFFC +03FFF0A33D0FFC003FE0007FC0D807F06D48EB3F0000036E48131E70131C6C7E03071418 +826C6C010F5CA26D6E1370017E01191460A2017F6E13E06D01305CA20280EBFC01011FD9 +607C5BA290280FC0E07E03C7FCEDC03EA2D907E1EB3F06ED801F1786D903F3148CED000F +17CCD901FEEB07D8A217F86D486D5AA302786D5AA302306D5A3C287EA641>I<3B7FFFC0 +0FFFE0A3000390390007FE00C6EC03F86D14E06D5C02805B6D6C48C7FC010F130E903807 +E00C6E5A903803F83801015B6D6C5A6E5AEC7F80143F141F6E7E81141FEC3BF0EC71F8EC +E1FCECC0FE903801807E01037FD907007F010E6D7E010C130F011C6D7E498001F86D7E00 +0181D80FFC497EB590381FFFF8A32D277FA630>I<B539C007FFE0A32707FC000113006C +48EB007C0001157816707F000015607F017E5CA26D495AA2EC8003011F91C7FCA290380F +C006A2ECE00E0107130CA26D6C5AA2ECF8380101133014FC01005BA2EC7EC0A2147F6E5A +A26EC8FCA3140EA2140CA2141C1418A25CA25C1238007C13E000FE5B13015C49C9FCEA7C +07EA700EEA383CEA1FF8EA07E02B3A7EA630>I<001FB61280A29038E0007F90C7130000 +1E14FE001C495A140300185C0038495A4A5A0030131F5D4A5A4AC7FCA2C712FE495A1303 +5C495A495A131F9138C00180EB3F80EB7F00A213FE485A000314035B48481400485A001F +5C495B485A48C7123F4849B4FC90B6FCA221277EA628>I<020FEB078091393F800FE0ED +C01F027F80A3023F5CED800F91390F00078091CBFCA41507A34B7EA24B7EA34B7EA34B7E +156FA2EDCFF815C7A291380187FC1583A291380301FEA391380600FFA2020E80020C137F +A2021C800218133FA24A80161FA24A80160FA24A6D7EA349486D7E91B6FC4981A291C712 +014981010680A24982177FA24982173FA2496F7EA21370717E13F0000183487ED80FFEED +3FFEB500C00107B512F8A33D4E7DCD44>196 D<020FEB078091393F800FE0EDC01F027F +80A3023F5CED800F91390F00078091CBFCA7B600C090387FFFF8A3C601C0C7000313006D +48EC00FC18781830B3B3A4013F16706E1560A218E0011F5E6E1401130F6E4A5A01074BC7 +FC6D6C5C6D6C140E6D6C143C027F5C91393FC001F091390FF00FE00203B51280020049C8 +FCED1FF03D507DCD44>220 D<01E013703903F801FC486C487EA56C486C5A3900E00070 +90C9FCA9EB1FF0EBFFFC3803E03F390F000FC0001C6D7E001F6D7E486C6C7E6D6C7EA315 +7E6C5A6CC7FCC8FCA4EC1FFEEB03FF90381FF87EEB7F803801FC00EA07F0485A485A485A +127F90C7FC160312FEA315FEA21401007F14BE14033A3F80071F06261FC00E138E3A0FF0 +3C0FFC3A03FFF007F83A003FC003E0283C7CBA2D>228 D<01701338D801FC13FE486C48 +7EA56C486C5AD80070133890C9FCA9EB01FE90380FFFC090383F03F090387C00F8D801F0 +133E48487F4848EB0F80A24848EB07C0001F15E090C712034815F0A2007EEC01F8A400FE +15FCA9007E15F8A3007F14036C15F0A26C6CEB07E0000F15C06D130F000715806C6CEB1F +006C6C133ED800FC13FC90383F03F090380FFFC0D901FEC7FC263C7DBA2D>246 +D<010FEB078090393F800FE0ECC01F017F80A3013F5CEC800F90390F00078090CAFCAAD8 +01F814FC00FF147FA3000714030003140100011400B3A51501A3150312006D1307ED0EFE +017C497E6D4913F890381F80F0903807FFE00100903800FC002D3C7EBA32>252 +D<14FF010313C090380FC0F090383F0038017E7F017C7F01FC1306A2491307000180AA5D +1506A3157EEC01F800FFEB07804AC7FC141E1201141C143CA5143EA2143F6E7E15F015FF +6E13C06E13E06E13F0020013F8153FED01FC1500167E0230133EA3161E1438A4023C131C +163CA20003013E137800FF013F13F0ED81E0913839FFC0C738307E0027417EBF2D>255 +D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fq ecrm1440 14.4 28 +/Fq 28 253 df<BA12E0A4C601F0C712076D489138007FF0013F161F180F180718031801 +1800A31978A31938A6191CA21770A21900A517F0A31601A21607161F91B6FCA49138E000 +1F16071601A21600A31770A794C8FCB3497EEBFFFCB7FCA43E527AD14A>70 +D<B7FCA4C601FCCAFCEB7FF06D5AB3B3A919E0A5F001C0A61803A318071980A2180FA218 +1F183F187F18FF5F1707017F151F496C49B51200BAFCA43B527AD147>76 +D<B500E0037FB5FC8080A226003FFC030313E0060013806EEE7F00D93BFF163E191C0139 +7F01387FA26E7EA26E7E6E7EA26E7EA26E7E6E7EA26E7FA26E7F6F7EA26F7E6F7EA26F7E +A26F7E6F7EA26F7FA26F7F707EA2707E83161F707EA2707E707EA2701380A27013C0EF7F +E0A2EF3FF0A2EF1FF8EF0FFCA2EF07FEEF03FFA271139CA27113DCF07FFCA2183FA2181F +180FA21807A21803017C160113FE486C1600000701C0167CB512FE193CA2191C48527AD1 +55>78 D<B8FC17F017FE717EC69026F0000313E06D489038003FF8013FED07FC71B4FC05 +007F727E727EA2727E85180F85A2180785A861180F61A24E5A61183F614EC8FCEF01FE4D +5AEF0FF0EF3FC0DC03FFC9FC91B612F817E09139E00003FCEE00FFEF3FC0717EEF0FF871 +7E717E170184717FA3727EA885A81B38A2727EA3061F1478496C701370496C150FB600F8 +020714E0727E953901FE01C09539007F0780CC381FFF00F103FC4D547AD154>82 +D<DA7FE01306902603FFFE130E010FEBFF80013FECE01E90397FC01FF03B01FE0001FC3E +4848EB007E4848EC3F7E49EC0FFE48481407484814035B003F150190C9FC5A177E127E00 +FE163EA3171EA37E170EA27FA26C6C92C7FC7FA26C7E13FC6C7EEBFFC06C13FC6CEBFF80 +6C14F86CECFF806C15F06D14FC011F14FF6D81010181D9003F80020380DA003F7F03037F +ED007FEE1FFE707E1603A270138082177F18C0A200E0163FA3171FA37EA318807E173F7E +18006C5E6C167E6D15FE5F01E014016D4A5AD8FDF84A5AD8F8FE4A5AD93FC0EB3FC026F0 +1FFCEBFF800107B548C7FCD8E0015CD9003F13E048010390C8FC32567AD33F>I<49B4FC +010F13F090383F01FC9038F8007FD801E0EB1F8048486D7E48488048C76C7E01C06D7EEA +1FF06F7E7FA26F7EA36C5AEA03C0C9FCA4151FEC0FFFECFFF8903807FE00EB1FF0EB7FC0 +49C7FCEA03FE485A485A485AA2485A485AEF01C0A2485AA31501A315036D147E007F1407 +6C6CD90E3E138092381C3F036C6C01381400D807F89038F01F873B01FE03C00FFE3B007F +FF8007FC903A07FC0001F032367BB439>97 D<EA01FE12FFA4120712011200B3A6ED3FE0 +913801FFFC913807C03F91391E000FC04A6D7E0270EB03F84A6D7E6D486D7E4A147F1880 +91C8123FEF1FC04916E0A2EF0FF0A318F8A21707A218FCAB18F8A2170FA218F0A2EF1FE0 +A218C06D153F18806EEC7F0017FED9FDC05CD9F9E0495AD9F8F0495A0278495AD9F01EEB +1F8091260F807EC7FC9039E003FFF890C7EA7FC036547CD23F>I<EC0FF891B5FC903903 +F807E090390FE000F8D91F80133C49C77E01FE804848EC0780161F4848147F484815C000 +0F15FFA2485AA2485AEE7F80EE1E00007F92C7FCA25B12FFAC127F7FA3123F17E07F001F +150117C06C7E000715036D15806C6CEC070000015D6C6C141E017F5CD91F805B90390FE0 +01F0903903F80FC00100B5C7FCEC0FF82B367CB433>I<EE03FCED01FFA4ED000F160316 +01B3A6EC0FF8EC7FFF903901F807C1903907E000F1D91F80137949C7123D017E141F4914 +0F0001150748481403485A000F15015B121FA2485AA2127FA25BA212FFAB127FA27FA212 +3FA36C7EA2000F15036C7E6D14070003150F6C6C141F6C6CEC1DFE017F913839FF80D91F +8001F113FC90390FC001E1903903F00F81903900FFFE01DA1FF0EBFE0036547CD23F>I< +EC1FF091B5FC903903F01FC090390FC007E090391F8003F890397F0001FC01FE6D7E4848 +147F485A0007ED3F805B000FED1FC05B001F16E05B003F150FA2007F16F0A25BA212FFA2 +90B7FCA20180C9FCA8127FA27FA2123F17706C7E17F0000F16E07F0007ED01C06C6C1403 +6C6C158000001507017EEC0F006D141E6D6C5BD907E013F0903901F807C09026007FFFC7 +FCEC0FF82C367DB433>I<EC01FC91380FFF8091383F03C091387E01F0ECFC07903901F8 +0FF8EB03F01307EB0FE0A290391FC007F0ED03E092C7FC495AB3A2B612FCA426003F80C7 +FCB3B3A580EBFFE0003FEBFFE0A425547ED323>I<173F913A3FC001FF80903B01FFF807 +C3C0903B07E07E0E07E090391F801F9C903A3F000FF80F017E903807F00749010314C000 +019238F8010048486D6CC7FCA2000781491300A2000F81A800075DA26D130100035DA26C +6C495A00005D017E495A017F495A496C485A2701C7E07EC8FC9038C1FFF89038803FC000 +0390CAFCA67FA27F7F7F6CB612C06C15FCEEFF806D15E0011F81017F15FCD801F8C7EA3F +FED807C014034848EC00FF48C9EA7F80003E163F007E161F007CEE0FC012FC481607A600 +7CEE0F80A26CEE1F00003F5E6C6C157E6C6C5DD803E0EC01F0D801F8EC07E0D8007EEC1F +8090271FE001FEC7FC0103B512F0D9003F90C8FC334E7DB439>I<EA01FE12FFA4120712 +011200B3A6ED1FF0EDFFFE913803E03F913907001FC0021E6D7E02386D7E143002706D7E +5C5C01FF6E7E5CA291C7FCA35BB3AD2603FF80EB07FFB5D8FE01B512FCA436537CD23F> +I<EA01F0487E487E487EA56C5A6C5A6C5AC8FCB113FE12FFA4120312011200B3B3A4EA03 +FFB512FCA416507CCF20>I<EA01FE12FFA4120712011200B3A74BB512E0A49239007FFE +0017F0EE3FC04CC7FC167E16F85EED03E04B5A4B5A4BC8FC153E5D15F04A5A4A7E1407EC +1FF84A7E147DECF8FE6D487E4A7E9138803F8002007F49131F6F7E826F7E1503826F7E15 +0082707E163F83707E160F8383832603FF8049B4FCB500FE017F13F8A435537CD23C> +107 D<EA01FE12FFA4120712011200B3B3B3B13803FF80B512FEA417537CD220>I<D801 +FEEB1FF000FFECFFFE913803E03F913907001FC0021E6D7E000701386D7E000113300000 +01706D7E5C5C01FF6E7E5CA291C7FCA35BB3AD2603FF80EB07FFB5D8FE01B512FCA43634 +7CB33F>110 D<EC0FFC91387FFF80903901F807E0903907E001F890391F80007E49C77E +017E6E7E496E7E48486E7E48486E7E000782491401000F82491400001F82A2003F82A248 +48ED7F80A400FF17C0AB007F1780A36D15FF003F1700A2001F5E6D1401000F5EA26C6C4A +5A00035E6C6C4A5A6C6C4A5A017E4A5A6D4AC7FC6D6C137E903907E001F8903903F807F0 +9039007FFF80DA0FFCC8FC32367DB439>I<D801FEEB3FE000FF903801FFFC913807C07F +91391E001FC04AEB07E000030170EB03F80001496D7E6C6C48804A6D7EEF7F8091C8FCEF +3FC04916E0171F18F0A2170F18F8A3170718FCABEF0FF8A418F0171F18E0173F18C06D15 +7F18806EECFF005F6E495A6E495A496C495A0278495A021EEB3F8091260F80FEC7FC9138 +03FFF89138007FC092C9FCB13803FF80B512FEA4364B7CB33F>I<D801FC137E00FF9038 +01FF8091380783C091380E0FE091381C1FF000071338000113700000136014E09138C00F +E001FDEB07C04AC7FC13FF91C8FCA55BB3AA7F00037FB67EA424347CB32C>114 +D<90390FFC018090387FFF833901F803E73907C000FF48C7127F001E143F003E141F003C +140F127C0078140712F8A21503A27EA27E7E6C6C90C7FC13E0EA3FFCEBFFE06C13FE6CEB +FFC06C14F00001806C6C13FE011F7F01011480D9000F13C01400ED3FE000E0141F150FED +07F07E1503A215017EA37E16E06C1403A26C15C0ED07806D130FD8F9C0EB1F00D8F0F013 +3C90387C01F839E01FFFE026C003FEC7FC24367CB42D>I<EB0380A81307A5130FA3131F +A2133FA2137F13FF5A4890B51280121FB7FCA226003F80C7FCB3A716E0AD90391FC001C0 +A390390FE0038013079138F007006D6C5A903800FC1EEC3FF8EC0FE0234B7EC92C>I<D8 +01FEEC03FC00FFEC01FFA40007EC000F0001150300001501B3AC1603A41607A2017E140F +017F140D161D6DEC39FE6D6C903831FF806E01F113FC903907E001C1903903F807819039 +00FFFE01DA1FF8EBFE0036357CB33F>I<B500FC903807FFFEA400030180010013E06C90 +C8EA7F806CEE3F006D153E173C80013F1538A26D6C5CA26E14F0010F5DA26D6C495AA26E +130301035DA26E1307010192C7FCA26D6C130EA26E131E6E131CA26E6C5AA2EDC078021F +1370A2EDE0F0020F5B15F0913807F1C0A215FB02035BA26EB4C8FCA36E5AA2157CA31538 +37347EB23C>I<B5D8F80FB590381FFFF8A40007902780003FF0010313C0D801FEC76C48 +6D130070486D5A000070147C1A78017F14071A704C7E6D6C5FA24C7E6D6C011D4A5AA2EE +3DFC6D6C01384A5AA2EE78FE6D6CD9707E49C7FCA2EEF07F6D6C496C130EA203011480D9 +01FCD9C01F5BA2030314C0D900FED9800F5B18E01507027FD900075B18F05DDA3F8E0103 +5B18F8159EDA1FDC903801F9C018FD15FC6E486DB45AA36E486EC8FCA36E48143EA36E48 +141C4D347EB252>I<267FFFFC90380FFFFEA4000101F06D13E06C6C486D90C7FC011F15 +FC17F06D6C5C6D6C5C01034A5A6E49C8FC6D7E6D6C131E6E5B6F5A91383FC07091381FE0 +F091380FE1E0EDF3C0913807FB80EC03FF6E90C9FC6E5A816F7EA24B7E4A7FEDCFF0EC03 +C791380783F891380F03FC91381E01FE15004A137F4A804A6D7E4A131F01016E7E494880 +49486D7E010F1403011F81017F6E7E01FF8100076D010713C0B56C011FEBFF80A439337F +B23C>I<001FB712C0A201FCC7127F01E015800180ECFF0090C7485A1503001E5D4B5A00 +1C140F003C5D4B5A4B5A0038147F5E4BC7FC5C5D4A5AC7485A140F5D4A5A143F5D4A5A4A +C8FC5B5C495A0107EC01C05C495A495A133F4AEB0380495A13FF91C7FC485A4848140712 +075B4848140F001F151F49143F4848EC7F004848495A00FF140F90B7FCA22A337DB233> +122 D<D903C0130FD90FF0EB3FC0496C497EA26E13FFA34A137FA26D486D5AD903C0010F +C7FC90CBFCAED801FEEC03FC00FFEC01FFA40007EC000F0001150300001501B3AC1603A4 +1607A2017E140F017F140D161D6DEC39FE6D6C903831FF806E01F113FC903907E001C190 +3903F80781903900FFFE01DA1FF8EBFE00364E7CCC3F>252 D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fr ecxc1728 17.28 3 +/Fr 3 83 df<BB12C01AFEF2FFC01BF81BFED8000149C800016D7EDF003F13E0747F0807 +7F7413FE747F748087757F898789757FA3757FA86563A265636563515B6598B5C7FC505B +505B080F13F0505B087F13804F4848C8FC071F13F892B912C050C9FCF2FFC01BFC4BC96C +B4FC080F13E008037F7413FC7413FF093F7F757F89757F757F898789757FA21E8087A21E +C0A91E80A2631E0063656365515B63515B515B98B55A08035C5049C7FC081F5B4FB512F0 +BD12C099C8FC1BFC1BE008FCC9FC626279E174>66 D<BB12C01AFCF2FFC01BF01BFED800 +0191C8000F6D7EDF007F13E0080F7F080313FC08007FF33FFF7513C0757F09037F757F75 +7F767EA2767E767F8A88767F8A888AA2767FA28A888AA31F8089A31FC0A51FE0AE1FC0A5 +1F80A29AB5FC1F00A3666466A2525BA2525BA2525B6664665290C7FC525A525A515B515B +515B515B093F5B98B5C8FC080313FC080F5B087F13E00707B51280BC48C9FC1BF81BC050 +CAFC1AC06B6279E17D>68 D<BA12C019FF1AF01AFE747ED8000191C7000114E0DE000F13 +F8070113FE736C7E7413C0080F7F747F747F88747FA2747F89A28987A289A865A298B5FC +65A29AC8FC505B64505B64505B505B083F5BE0FFFEC9FC070313F8070F5B4EB5128093B7 +48CAFC1AF0621AFC93C7000713FFDE007F13C0071F7F7313F8737F737F737F7380868886 +88A2747FAA88A91F1C76143EA286A2746D147E1F7C747F7416FC9A388001F8B800FE6E02 +C013F0093FEBE007759038F81FE0090790B512C009011500CF003F5B0A0013F06F6479E1 +78>82 D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fs eccc2074 20.74 11 +/Fs 11 85 df<F003C0A24E7EA34E7EA34E7EA34E7EA24E7E1877A2F0F7FF18E3A2DD01 +C37F18C105038018811880050780F0007FA2050E80193FA24D80191F053C800538130FA2 +05788005701307A24D80850401825F850403824D7FA24CC87F1A7FA2040E821A3F041E82 +041C151FA2043C820438150FA24C821A0704F0825E860301844C81A24B488386A24BCA7F +1B7F4B84030E173FA2031E84031FB9FCA24B84A20338CA120F4B841B0703F0844B83A24A +488587A24A48858702078692CC127FA24A86020E193FA24A861C1FA24A861C0F02788602 +701907A24A8688A20101884A85010388A2010786010F88497E013F88497E48486C4F13FC +000F01FE070F13FFB600C04DB7FCA470797AF87D>65 D<BA12F8F1FFC01AF81AFEC66C01 +80C8381FFF80010F90C9000313E04A040013F80107F03FFC747E973807FF80747F747F74 +7FA2757E757EA2757E8887A21D8087A21DC0AA1D80A2631D00A2515AA2515AA2515A515A +505B505B505B5090C7FC505A505AF2FFF0070313C0071F90C8FCF1FFFC91B912E0621AFE +4AC93807FFC0070013F0F21FFCF207FF747F080013E0757E757E757E757E887513807513 +C0A27513E01DF0871DF81C7FA21DFCA21C3F1DFEAB1DFC1C7FA21DF81CFFA25113F0A251 +13E0A25113C051138051130063515A515A505B505B080F13C0010F063F5B6E4CB448C7FC +017F6D030F13F8BC12E01B8008FCC8FC1A805F7674F576>I<BA12F8F1FF801AF01AFEC6 +6C0180C86C6C7E010F90C9000713E04A040013F80107F03FFCF20FFF08037F08007F757E +F33FF8757E757E757E87757F757F767E891C3F767E891C0F89767EA2761380A27613C0A3 +7613E0A21EF01D7FA21EF8A21D3F1EFCA41EFE1D1FA61EFFB01EFEA51D3F1EFCA41EF81D +7FA31EF01DFF1EE0A2641EC0A2521380A2521300A2525A651C1F65525A1C7F525A65515B +5190C7FC515A515A515AF37FF0515A08035B5090C8FCF21FFE010FF0FFF86E040713E001 +7F6D037F1380BB48C9FC1AF81A8007F8CAFC687674F57F>68 D<BD12FEA4C66C0180C9FC +010F90CA00037F4AEF007F0107191F1B078787878888F41F80A21C0FA31C07A31C031DC0 +A31C01A61DE01C00A2191CA21D00A7193CA4197CA219FC18011803180F18FF91B8FCA44A +C8FC180F180318011800197CA2193CA4191CA51D0EA496C9121CA61D3C1D38A41D78A31D +701DF0A31C01A21C031DE01C07A21C0F1C1FA21C3FF47FC0F301FF631B0F010F197F6E05 +03B5FC017F6D167FBE1280A45F7674F572>I<B712F0A4C66CEBE000011F13806D90C7FC +6D5AB3B3B3B3B3AE497E497F017F13E0B712F0A4247674F53D>73 +D<B712FEA4C66C01F0CCFC010F138092CDFC6D5AB3B3B3AE1CE0A5F301C0A71B03A41C80 +1B07A31B0FA31B1FA21B3FA2F37F0063A262621A0F626297B5FC010F17036E161F017F6D +0203B55ABCFCA4537674F568>76 D<B60907B512F8A36F62C66CF6F00090260F7FC0081D +1380A201079BC7FC6E6C1A39A36E6C1A71A36E6C1AE1A26E6CF101C1A36E6CF10381A36E +6CF10701A26E6D180EA36F6C181CA36F6C1838A36F6C1870A26F6C18E0A36F6CEF01C0A3 +6F6CEF0380A26F6CEF0700A36F6D160EA3706C5EA3706C5EA2706C5EA3706C5EA3706C4B +5AA2706C4B5AA3706C4BC7FCA3706D140EA3716C5CA2716C5CA3716C5CA3716C5CA2716C +495AA3716C495AA3716C49C8FCA371EB800EA2726C5AA3726C5AA3726C5AA2726C5AA395 +3807FDC0A372B45A497EA2496C6F90C9FCA2D97FF06F484C7F497E000701FF091F13F0B6 +00F8037C033FB612F8A319387D7673F598>I<F0FFF8051FEBFFC04CB612FC040F903980 +0FFF80DC3FF8C713E0DCFFC0EC1FF8030390C8EA07FEDB0FFC923801FF80DB1FF06F6C7E +DB7FC0EE1FF04B48707E4A90CA6C7E4A48717EDA0FF8943800FF804A48727E4A48727E02 +7F864A48727E4949727E92CC12074948737E0107874948737FA24948737F4948747EA249 +48747E01FF884A1A1F4889A24849747EA2488991CE7EA2481E804987A2001F1EC0A24987 +003F1EE0A4007F1EF0A24987A400FF1EF8B06D63007F1EF0A5003F1EE06D63A4001F1EC0 +6D63A26C1E80A26C6D501300A36C6D505AA26C656E1A3F6C656E1A7F017F646E1AFF013F +646D6C4F5BA26D6C4F5B6D6C4F90C7FC6D636F180F6D6D4E5A6D6D4E5A027F626E6C4E5A +6E6C4E5A6E6C4D5B6E6C4D90C8FCDA01FFEF07FC6E01C0EE1FF86F6C4C5ADB1FF8EEFFC0 +6F6C4B5BDB03FFDB07FEC9FC030001C0EC1FF8DC3FF8ECFFE093270FFF800F1380040190 +B500FCCAFCDC001F14C0050001F8CBFC6D7A76F782>79 D<BA12E019FF1AF01AFCC66C01 +80C813FF010F90C9000F13C04A040113F00107716C7EF21FFEF207FF747F747F747F757E +757E881B1F88757EA2751380A31DC0A2871DE0AA1DC0A263A21D80A21D0063641B1F6451 +5AA2515A515A505B505B5090C7FCF21FFCF27FF8963801FFE0070F1380DFFFFEC8FC91B9 +12F81AC007FCC9FC4ACEFCB3B3AD497EA2017F13E0B712F0A45B7674F572>I<B912FCF0 +FFE019FEF1FFC0C66C0180C7001F13F0010F90C9EA7FFC4AEE0FFF0107050313C0070013 +F0F23FF8747E74B4FC08037F88747F86757E881B3F88881B1FA288A28789A99AC8FC63A2 +64A2515AA2641B7F64515A505B505B5090C9FC505AF21FF8505AF2FFC007035BDF0FFECA +FCF1FFF8061F13C091B848CBFC19E0854AC8EA1FFCF001FF9538007FC0F11FF0737EF103 +FC737E736C7E1A7F747E87747E747EA2871A0787A21A0387A588A588A588A6881F101F38 +8688A21F78867614701B7F756C14F0496C1CE0756C1301017F01E071EC03C0B700F07090 +388007800901EBC00F759038F03F0099383FFFFCCF00075B9938007FC06D7874F57B>82 +D<001FBE12FCA402FCC7000301F0C7120F02806E4914004848C949ED3FFE01F81B0F01E0 +1B03491B01491B0090CA187EA2003E1D3EA2003C1D1EA300381D0E00781D0FA4007089A8 +48F50380A6CB95C7FCB3B3B3B34D7FA24D7F053F13FF0303B812F0A4697679F578>84 +D E +%EndDVIPSBitmapFont +end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin +%%BeginPaperSize: a4 +a4 +%%EndPaperSize + +%%EndSetup +%%Page: 1 1 +1 0 bop 1202 566 a Fs(DIPLOMARBEIT)1633 961 y Fr(DRBD)936 +1286 y Fq(F)-9 b(estplattenspiegelung)36 b(\374b)s(ers)i(Netzw)m(erk) +1805 1399 y(f\374r)577 1549 y(die)f(Realisierung)f(ho)s(c)m(h)m(v)m +(erf\374gbarer)i(Serv)m(er)f(un)m(ter)i(Lin)m(ux)972 +2200 y Fp(ausgef\374hrt)31 b(am)f(Institut)h(f\374r)f(Computersprac)m +(hen)774 2313 y(Abteilung)h(f\374r)g(Programmiersprac)m(hen)j(und)d +(\334b)s(ersetzerbau)1207 2426 y(der)f(T)-8 b(ec)m(hnisc)m(hen)34 +b(Univ)m(ersit\344t)d(Wien)1477 2751 y(un)m(ter)h(Anleitung)f(v)m(on) +1022 2864 y(o.)41 b(Prof.)g(Dipl.-Ing.)g(Dr.)f(Manfred)31 +b(Bro)s(c)m(khaus)1801 2977 y(und)1141 3090 y(Univ.-Ass.)39 +b(Dipl.-Ing.)i(Dr.)g(An)m(ton)31 b(Ertl)779 3203 y(als)f(v)m(eran)m(t)m +(w)m(ortlic)m(h)k(mit)m(wirk)m(enden)f(Univ)m(ersit\344tsassisten)m +(ten)1765 4179 y(durc)m(h)1495 4504 y Fo(Philipp)i(Reisner)1542 +4617 y Fp(Diehlgasse)c(33/21)1667 4730 y(1050)g(Wien)382 +5376 y(Wien,)g(am)f(18.)h(Mai)f(2000)p eop +%%Page: 2 2 +2 1 bop 1596 539 a Fn(Kurzfassung)382 751 y Fp(Diese)44 +b(Arb)s(eit)f(zeigt,)48 b(da\377)c(Ho)s(c)m(h)m(v)m(erf\374gbark)m +(eits-Cluster)j(auc)m(h)e(ohne)f(teure)h(Sha-)382 864 +y(red)37 b(Devices)g(implemen)m(tiert)j(w)m(erden)e(k)m(\366nnen.)62 +b(Es)37 b(w)m(erden)i(das)d(Design)i(und)f(die)382 977 +y(Implemen)m(tierung)e(eines)e(Ger\344tetreib)s(ers)h(\(=DRBD\))f +(f\374r)f(Lin)m(ux)i(gezeigt,)h(der)e(das)382 1090 y(Spiegeln)j(v)m(on) +f(F)-8 b(estplatten)37 b(\374b)s(er)e(das)f(Netzw)m(erk)i(erlaubt.)55 +b(Um)35 b(so)m(w)m(ohl)h(gute)g(Lei-)382 1203 y(stung)c(als)h(auc)m(h)g +(Un)m(terst\374tzung)h(f\374r)e(Journaling-Filesysteme)j(bieten)e(zu)f +(k)m(\366nnen,)382 1316 y(wurde)j(ein)f(Algorithm)m(us)i(en)m(t)m(wic)m +(k)m(elt,)i(der)c(dem)h(Disk-Sc)m(heduler)h(b)s(eim)e(Sc)m(hreib)s(en) +382 1429 y(die)23 b(gr\366\377tm\366glic)m(he)i(F)-8 +b(reiheit)24 b(einr\344um)m(t,)j(Bl\366)s(c)m(k)m(e)c(umzuordnen,)j +(dab)s(ei)d(ab)s(er)g(die)g(Rei-)382 1542 y(henfolge,)31 +b(die)g(das)f(Filesystem)g(v)m(orgibt,)i(nic)m(h)m(t)g(v)m(erletzt.)382 +1704 y(Das)g(Ger\344t)h(erreic)m(h)m(t)i(zwisc)m(hen)e(50)g(\045)g(und) +g(98)g(\045)f(der)h(theoretisc)m(h)h(m\366glic)m(hen)h(Lei-)382 +1817 y(stung.)76 b(W)-8 b(eiters)43 b(geb)s(e)f(ic)m(h)h(einen)g(\334b) +s(erblic)m(k)g(dar\374b)s(er,)j(wie)d(sic)m(h)f(DRBD)g(in)g(die)382 +1930 y(anderen)31 b(Clustering-K)m(omp)s(onen)m(ten)k(un)m(ter)c(Lin)m +(ux)h(eingliedert.)1678 4098 y Fn(Abstract)382 4310 y +Fp(This)37 b(w)m(ork)h(sho)m(ws)g(that)f(it)h(is)f(p)s(ossible)g(to)g +(implemen)m(t)i(high-a)m(v)-5 b(ailabilit)m(y)40 b(clusters)382 +4423 y(without)c(exp)s(ensiv)m(e)e(shared)h(devices.)54 +b(A)34 b(description)i(of)e(the)h(design)g(and)g(the)g(im-)382 +4536 y(plemen)m(tation)c(of)d(a)h(device)f(driv)m(er)i(for)e(Lin)m(ux)i +(is)e(pro)m(vided,)i(whic)m(h)g(allo)m(ws)f(harddisk)382 +4649 y(mirroring)d(via)f(the)g(net)m(w)m(ork.)41 b(In)24 +b(order)i(to)f(b)s(e)f(able)i(to)f(o\033er)g(go)s(o)s(d)f(p)s +(erformance)i(and)382 4762 y(supp)s(ort)37 b(for)f(journaling)h +(\034lesystems)g(an)f(algorithm)i(w)m(as)f(dev)m(elop)s(ed)h(whic)m(h)f +(giv)m(es)382 4875 y(the)k(disk)f(sc)m(heduler)i(maxim)m(um)h(freedom)e +(during)h(the)f(write)g(pro)s(cess)g(to)f(reorder)382 +4988 y(blo)s(c)m(ks)30 b(without)i(compromising)g(the)e(order)h(imp)s +(osed)g(b)m(y)f(the)h(\034lesystem.)382 5150 y(The)42 +b(device)h(reac)m(hes)g(b)s(et)m(w)m(een)h(50)e(\045)g(and)h(98)f(\045) +g(of)g(the)g(maxim)m(um)i(theoretical)382 5263 y(p)s(erformance.)c +(Apart)29 b(from)e(that,)i(this)f(w)m(ork)h(giv)m(es)e(an)h(o)m(v)m +(erview)i(of)d(ho)m(w)i(DRBD)e(is)382 5376 y(in)m(tegrated)32 +b(in)m(to)g(the)e(other)h(clustering)h(compnen)m(ts)g(under)f(Lin)m +(ux.)p eop +%%Page: 1 3 +1 2 bop 382 1244 a Fm(Inhaltsv)-6 b(erzeic)g(hnis)382 +1821 y Fn(1)83 b(Einleitung)2334 b(4)382 2065 y(2)83 +b(Clustering)2330 b(6)517 2220 y Fp(2.1)93 b(Wissensc)m(haftlic)m(he)32 +b(Cluster)85 b(.)46 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)g(.)f(.)143 b(7)517 2374 y(2.2)93 +b(Lastv)m(erteilung)106 b(.)45 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) +h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)143 +b(7)725 2528 y(2.2.1)105 b(hohe)31 b(CPU-Last)48 b(.)e(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)143 +b(7)725 2682 y(2.2.2)105 b(hohe)31 b(Netzw)m(erk-Last)86 +b(.)45 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.) +g(.)f(.)143 b(7)517 2836 y(2.3)93 b(Hohe)31 b(V)-8 b(erf\374gbark)m +(eit)112 b(.)46 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)143 b(8)725 2990 y(2.3.1)105 +b(V)-8 b(erf\374gbark)m(eit)56 b(.)46 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)143 +b(9)725 3145 y(2.3.2)105 b(HA-Cluster)67 b(.)45 b(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.) +98 b(11)725 3299 y(2.3.3)105 b(Beispielk)m(on\034guration)47 +b(.)e(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)98 b(12)382 3543 y Fn(3)83 b(DRBD)34 b(Design)2097 +b(16)517 3698 y Fp(3.1)93 b(DRBD)30 b(im)h(Kernel)48 +b(.)e(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 b(17)725 3852 y(3.1.1)105 +b(Seman)m(tik)m(en)67 b(.)45 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 +b(18)725 4006 y(3.1.2)105 b(Single)31 b(P)m(oin)m(ts)h(of)e(F)-8 +b(ailure)24 b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) +f(.)h(.)g(.)f(.)98 b(20)517 4160 y(3.2)93 b(Die)31 b(Protok)m(olle)g(.) +46 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) +g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 b(21)725 4314 +y(3.2.1)105 b(Protok)m(oll)32 b(A)58 b(.)45 b(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 +b(22)725 4469 y(3.2.2)105 b(Protok)m(oll)32 b(B)62 b(.)45 +b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)98 b(22)725 4623 y(3.2.3)105 b(Protok)m(oll)32 +b(C)61 b(.)45 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 b(23)517 4777 y(3.3)93 +b(Sc)m(hreib)s(op)s(erationen)56 b(.)45 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 +b(23)725 4931 y(3.3.1)105 b(Abh\344ngigk)m(eiten)47 b(.)f(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.) +98 b(24)517 5085 y(3.4)93 b(Sync)m(hronisation)42 b(.)j(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) +h(.)g(.)f(.)98 b(26)725 5240 y(3.4.1)105 b(Sc)m(hnelle)32 +b(Sync)m(hronisation)38 b(.)45 b(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)f(.)h(.)g(.)f(.)98 b(26)725 5394 y(3.4.2)105 +b(Datensic)m(herheit)48 b(.)e(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 b(27)1854 +5622 y(1)p eop +%%Page: 2 4 +2 3 bop 382 262 a Fl(INHAL)-8 b(TSVERZEICHNIS)931 b(INHAL)-8 +b(TSVERZEICHNIS)p 382 299 2989 4 v 382 539 a Fn(4)83 +b(Lin)m(ux)2491 b(28)517 700 y Fp(4.1)93 b(GPL)56 b(.)46 +b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 +b(28)517 861 y(4.2)93 b(Ger\344tetreib)s(er)68 b(.)46 +b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 b(28)725 1022 y(4.2.1)105 +b(Zeic)m(henorien)m(tierte)34 b(T)-8 b(reib)s(er)65 b(.)46 +b(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 +b(29)725 1183 y(4.2.2)105 b(Blo)s(c)m(k)m(orien)m(tierte)33 +b(Ger\344te)93 b(.)45 b(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)98 b(31)517 1345 y(4.3)93 b(P)m(arallelausf\374hrung)72 +b(.)45 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.) +h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 b(34)725 1506 y(4.3.1)105 +b(Ausf\374hrungsk)m(on)m(texte)39 b(.)45 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 b(35)725 +1667 y(4.3.2)105 b(Sync)m(hronisationsprimitiv)m(e)66 +b(.)46 b(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 +b(36)517 1828 y(4.4)93 b(Threads)64 b(.)46 b(.)g(.)f(.)h(.)f(.)h(.)f(.) +h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)98 b(38)725 1989 y(4.4.1)105 b(Kernel-Threads)49 +b(.)d(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)98 b(38)517 2150 y(4.5)93 b(Mo)s(dule)c(.)46 +b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 b(39)382 +2402 y Fn(5)83 b(Implemen)m(tierung)1974 b(40)517 2563 +y Fp(5.1)93 b(Struktur)47 b(.)f(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.) +f(.)98 b(40)517 2724 y(5.2)93 b(Kernel-Mo)s(dul)51 b(.)46 +b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 b(41)725 2886 y(5.2.1)105 +b(Bu\033er-Cac)m(he)80 b(.)46 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 b(41)725 +3047 y(5.2.2)105 b(Threads)57 b(.)45 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 +b(43)725 3208 y(5.2.3)105 b(Datenstrukturen)78 b(.)45 +b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)98 b(45)725 3369 y(5.2.4)105 b(Protok)m(oll)87 +b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.) +f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 b(47)517 3530 y(5.3)93 +b(Drb)s(dsetup)38 b(.)46 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 +b(52)725 3691 y(5.3.1)105 b(K)m(on\034guration)47 b(.)f(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.) +98 b(52)725 3853 y(5.3.2)105 b(Steuerung)32 b(im)e(Betrieb)c(.)45 +b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)98 b(54)517 4014 y(5.4)93 b(P)m(erformance)36 b(.)45 +b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 b(55)725 4175 +y(5.4.1)105 b(Durc)m(hsatz)51 b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 +b(55)725 4336 y(5.4.2)105 b(Dateisystem)35 b(.)45 b(.)h(.)g(.)f(.)h(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.) +98 b(59)382 4588 y Fn(6)83 b(HA)36 b(un)m(ter)e(Lin)m(ux)2019 +b(62)517 4749 y Fp(6.1)93 b(Cluster)31 b(Managemen)m(t)57 +b(.)46 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)f(.)h(.)g(.)f(.)98 b(62)725 4910 y(6.1.1)105 +b(Struktur)40 b(.)45 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 +b(62)725 5071 y(6.1.2)105 b(Cluster-Managemen)m(t-Soft)m(w)m(are)37 +b(.)45 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 +b(65)517 5233 y(6.2)93 b(Filesysteme)68 b(.)45 b(.)h(.)f(.)h(.)f(.)h(.) +g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)98 b(69)725 5394 y(6.2.1)105 b(ext2)69 +b(.)45 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 b(69)1854 +5622 y(2)p eop +%%Page: 3 5 +3 4 bop 382 262 a Fl(INHAL)-8 b(TSVERZEICHNIS)931 b(INHAL)-8 +b(TSVERZEICHNIS)p 382 299 2989 4 v 725 539 a Fp(6.2.2)105 +b(ext3)69 b(.)45 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 +b(70)725 701 y(6.2.3)105 b(ReiserFS)26 b(.)45 b(.)h(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.) +f(.)98 b(70)725 864 y(6.2.4)105 b(XFS)60 b(.)45 b(.)h(.)f(.)h(.)f(.)h +(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) +f(.)h(.)g(.)f(.)98 b(71)725 1027 y(6.2.5)105 b(JFS)82 +b(.)45 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) +f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 b(71)725 +1189 y(6.2.6)105 b(LinLogFS)62 b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f +(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 +b(72)725 1352 y(6.2.7)105 b(GFS)57 b(.)45 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.) +g(.)f(.)98 b(72)517 1515 y(6.3)93 b(Implemen)m(tierung)73 +b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.) +f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 b(73)725 1678 y(6.3.1)105 +b(Struktur)40 b(.)45 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f +(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)98 +b(73)725 1840 y(6.3.2)105 b(Ergebnisse)30 b(.)46 b(.)f(.)h(.)g(.)f(.)h +(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.) +f(.)98 b(74)725 2003 y(6.3.3)105 b(Heartb)s(eat)31 b(Erw)m(eiterungen) +88 b(.)46 b(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.) +98 b(75)382 2256 y Fn(7)83 b(Zusammenfassung)1927 b(79)382 +2509 y(A)57 b(Me\377ergebnisse)2089 b(81)382 2762 y(Literaturv)m +(erzeic)m(hnis)1980 b(85)1854 5622 y Fp(3)p eop +%%Page: 4 6 +4 5 bop 382 1202 a Fk(Kapitel)62 b(1)382 1657 y Fm(Einleitung)382 +2143 y Fp(Unsere)29 b(Gesellsc)m(haft)h(ist)f(auf)g(dem)h(W)-8 +b(eg)30 b(in)f(das)g(Informationszeitalter.)42 b(Eines)30 +b(der)382 2256 y(vielen)41 b(Anzeic)m(hen)i(daf\374r)e(ist)f(das)h +(enorme)h(W)-8 b(ac)m(hstum)42 b(des)f(In)m(ternets,)k(das)40 +b(\374b)s(er)382 2369 y(100)e(\045)f(im)h(Jahr)g(liegt.)62 +b(Dies)37 b(stellt)h(sogar)f(die)h(enorm)g(hohen)g(W)-8 +b(ac)m(hstumszahlen)382 2482 y(der)31 b(gesam)m(ten)g(ED)m(V-Branc)m +(he)i(in)d(den)h(Sc)m(hatten.)382 2635 y(In)23 b(den)h(v)m(ergangenen)h +(Jahrzehn)m(ten)h(dien)m(te)f(das)f(In)m(ternet)g(haupts\344c)m(hlic)m +(h)i(dem)e(\(ak)-5 b(a-)382 2748 y(demisc)m(hen\))33 +b(Informationsaustausc)m(h.)43 b(Durc)m(h)32 b(die)g(rasan)m(te)g(En)m +(t)m(wic)m(klung)i(hat)d(sic)m(h)382 2861 y(das)g(Netz)h(auc)m(h)g(in)g +(Ric)m(h)m(tung)h(k)m(ommerzieller)g(An)m(w)m(endung)h(ge\366\033net,)e +(w)m(ahrsc)m(hein-)382 2974 y(lic)m(h)25 b(ist)e(ab)s(er)h(auc)m(h)h +(die)f(K)m(ommerzialisierung)j(ein)d(Grund)g(f\374r)g(das)f(hohe)i(W)-8 +b(ac)m(hstum.)382 3087 y(Zu)20 b(den)h(p)s(opul\344rsten)g(k)m +(ommerziellen)i(An)m(w)m(endungen)g(geh\366ren)e(heute)g(Online-Shops) +382 3199 y(und)31 b(T)-8 b(elebanking.)382 3353 y(Do)s(c)m(h)40 +b(wir)h(sind)f(no)s(c)m(h)g(nic)m(h)m(t)i(abh\344ngig)f(v)m(on)g(k)m +(ommerziellen)h(An)m(w)m(endungen,)j(die)382 3466 y(\374b)s(er)39 +b(das)g(In)m(ternet)h(angeb)s(oten)h(w)m(erden,)i(wie)c(wir)h(v)m(on)f +(anderen)h(Errungensc)m(haf-)382 3579 y(ten)33 b(des)f(F)-8 +b(ortsc)m(hritts)34 b(abh\344ngig)g(sind.)47 b(Nac)m(h)33 +b(ein)f(paar)h(T)-8 b(agen)34 b(ohne)f(Autobahnen)382 +3692 y(w\374rde)40 b(z.B.)g(die)f(\366\033en)m(tlic)m(he)i(V)-8 +b(ersorgung)41 b(zusammen)m(brec)m(hen,)k(w)m(\344hrend)c(ein)f(T)-8 +b(o-)382 3804 y(talausfall)44 b(des)g(In)m(ternets)h(v)m(on)f(einem)h +(gro\377en)g(T)-8 b(eil)45 b(der)f(Bev)m(\366lk)m(erung)i(gar)e(nic)m +(h)m(t)382 3917 y(w)m(ahrgenommen)33 b(w)m(erden)f(w\374rde.)382 +4071 y(Do)s(c)m(h)26 b(wie)h(die)g(Gesc)m(hic)m(h)m(te)h(zeigt,)g(w)m +(erden)f(die)g(neuen)g(tec)m(hnisc)m(hen)h(Errungensc)m(haf-)382 +4184 y(ten)k(allm\344hlic)m(h)i(in)e(das)g(t\344glic)m(he)i(Leb)s(en)e +(in)m(tegriert,)j(und)d(wir)g(w)m(erden)i(zunehmend)382 +4297 y(v)m(on)h(ihnen)g(abh\344ngig.)54 b(Es)34 b(ist)g(sic)m(her)i(n)m +(ur)f(eine)g(F)-8 b(rage)35 b(der)g(Zeit,)h(bis)e(sic)m(h)h(die)g(Ab-) +382 4409 y(h\344ngigk)m(eit)k(v)m(on)f(funktionierenden)h +(Informationssystemen,)g(wie)f(sie)f(sc)m(hon)h(jetzt)382 +4522 y(in)e(kleinen)h(T)-8 b(eilb)s(ereic)m(hen)39 b(existiert,)e(auc)m +(h)h(auf)e(einen)g(Gro\377teil)h(der)g(Bev)m(\366lk)m(erung)382 +4635 y(ausdehn)m(t.)382 4789 y(V)-8 b(or)43 b(allem)g(das)f(Finanz-)h +(und)g(V)-8 b(ersic)m(herungsw)m(esen)45 b(so)m(wie)e(viele)f +(isolierte)i(Ec)m(h)m(t-)382 4902 y(zeitsteuerungssysteme)36 +b(sind)e(f\374r)h(uns)g(v)m(on)g(so)f(gro\377er)i(Wic)m(h)m(tigk)m +(eit,)i(da\377)d(wir)g(ihre)382 5015 y(fortlaufende)24 +b(F)-8 b(unktion)24 b(un)m(ter)g(allen)f(Umst\344nden)h(sic)m +(herstellen)g(m)m(\374ssen.)38 b(F\374r)23 b(diese)382 +5127 y(Bereic)m(he)32 b(gibt)f(es)f(b)s(ereits)g(en)m(tsprec)m(hende)j +(L\366sungen.)382 5281 y(Erh\366h)m(t)22 b(sic)m(h)f(jedo)s(c)m(h)f +(die)h(Abh\344ngigk)m(eit)h(der)f(Gesellsc)m(haft)f(v)m(on)h(Online-An) +m(w)m(endungen)382 5394 y(w)m(eiter,)40 b(so)c(m)m(u\377)i(hier)f(no)s +(c)m(h)h(an)e(deutlic)m(hen)j(V)-8 b(erb)s(esserungen)38 +b(gearb)s(eitet)g(w)m(erden,)1854 5622 y(4)p eop +%%Page: 5 7 +5 6 bop 382 262 a Fl(KAPITEL)31 b(1.)71 b(EINLEITUNG)p +382 299 2989 4 v 382 539 a Fp(denn)21 b(heute)g(ist)g(es)f(nic)m(h)m +(ts)i(Un)m(\374blic)m(hes,)i(w)m(enn)e(In)m(ternetan)m(w)m(endungen)j +(wie)c(das)f(Elek-)382 652 y(tronisc)m(he)25 b(T)-8 b(elefon)m(buc)m(h) +27 b(\(www.etb.at\),)h(T)-8 b(elebanking)26 b(o)s(der)e(der)g(Wiener)h +(Stadtplan)382 764 y(f\374r)30 b(mehrere)i(Stunden)f(o)s(der)g(T)-8 +b(age)31 b(einfac)m(h)g(nic)m(h)m(t)h(funktionieren.)382 +927 y(Auc)m(h)41 b(in)g(Klein-)h(und)f(Mittelb)s(etrieb)s(en,)j(w)m(o)e +(v)m(or)f(allem)g(auf)g(PC)g(basierte)h(ED)m(V-)382 1040 +y(L\366sungen)32 b(gesetzt)f(wird,)h(k)-5 b(ann)31 b(der)g(Ausfall)g +(des)g(ED)m(V-Systems)g(gra)m(vierende)i(F)-8 b(ol-)382 +1153 y(gen)35 b(f\374r)g(das)g(Un)m(ternehmen)i(hab)s(en.)55 +b(So)m(w)m(ohl)37 b(der)e(Ausfall)g(der)g(Pro)s(duktivit\344t)h(im)382 +1266 y(Zeitraum)j(des)f(ED)m(V-Ausfalls)h(als)f(auc)m(h)h +(Regre\377sanspr\374c)m(he)h(der)e(Kunden,)j(w)m(enn)382 +1379 y(w)m(egen)24 b(eines)f(ED)m(V-Ausfalls)g(v)m(erein)m(barte)i +(Leistungen)f(nic)m(h)m(t)h(erbrac)m(h)m(t)g(w)m(erden)f(k)m(\366n-)382 +1492 y(nen,)31 b(k)m(\366nnen)g(f\374r)f(das)g(Un)m(ternehmen)j +(existenzb)s(edrohend)f(w)m(erden.)382 1654 y(Es)24 b(w)m(erden)j +(Systeme)d(b)s(en\366tigt,)j(die)e(garan)m(tiert)i(zur)e(V)-8 +b(erf\374gung)25 b(stehen.)39 b(Im)25 b(Un)m(ter-)382 +1767 y(sc)m(hied)35 b(zu)f(Ec)m(h)m(tzeitan)m(w)m(endungen)40 +b(d\374rfen)34 b(kurze)g(Un)m(terbrec)m(h)m(ungen)k(\(im)c(Bereic)m(h) +382 1880 y(v)m(on)21 b(Min)m(uten\))i(auftreten,)h(w)m(enn)e(dadurc)m +(h)h(die)e(K)m(osten)h(des)f(Systems)g(in)g(den)g(Bereic)m(h)382 +1993 y(herk)m(\366mmlic)m(her)38 b(Systeme)e(gebrac)m(h)m(t)i(w)m +(erden)g(k)m(\366nnen.)58 b(Es)35 b(m)m(\374ssen)i(also)e(Systeme)382 +2106 y(gebaut)40 b(w)m(erden,)i(die)e(den)f(Ausfall)f(einzelner)i(K)m +(omp)s(onen)m(ten)i(tolerieren)e(k)m(\366nnen.)382 2219 +y(Diese)35 b(Systeme)h(m)m(\374ssen)g(aus)f(herk)m(\366mmlic)m(hen)j +(Computern)f(b)s(estehen,)g(da)f(n)m(ur)g(so)382 2332 +y(die)31 b(K)m(osten)g(gering)g(gehalten)h(w)m(erden)g(k)m(\366nnen.) +382 2495 y(Diese)26 b(Arb)s(eit)g(gibt)h(zuerst)f(einen)h(\334b)s +(erblic)m(k)f(\374b)s(er)h(existierende)g(L\366sungen,)h(die)e(v)m(or) +382 2608 y(allem)40 b(mit)g(Hilfe)f(sp)s(ezieller)h(Hardw)m(are)h(arb)s +(eiten;)k(ansc)m(hlie\377end)d(wird)e(eine)g(neue)382 +2720 y(L\366sung)31 b(v)m(orgestellt,)h(die)e(ohne)h(sp)s(ezielle)g +(Hardw)m(are)h(ausk)m(omm)m(t.)382 2883 y(In)e Fn(Kapitel)35 +b(2)c Fp(wird)f(der)h(Begri\033)37 b Fn(Clustering)31 +b Fp(erl\344utert;)h(der)f(Sc)m(h)m(w)m(erpunkt)i(liegt)382 +2996 y(b)s(ei)d(existierenden)i(Clusterl\366sungen,)g(die)e(hohe)h(V)-8 +b(erf\374gbark)m(eit)32 b(bieten.)382 3159 y(In)k Fn(Kapitel)43 +b(3)37 b Fp(wird)g(das)g Fn(Design)42 b(v)m(on)f(DRBD)35 +b Fp(\026)i(die)h(zen)m(trale)g(K)m(omp)s(onen)m(te)382 +3272 y(des)31 b(Ho)s(c)m(h)m(v)m(erf\374gbark)m(eits-Clusters,)j(der)d +(ohne)h(sp)s(ezielle)f(Hardw)m(are)i(ausk)m(omm)m(t)f(\026)382 +3385 y(v)m(orgestellt.)382 3547 y(In)k Fn(Kapitel)42 +b(4)37 b Fp(w)m(erden)g(f\374r)g(die)f(Implemen)m(tierung)j(v)m(on)e +(DRBD)f(relev)-5 b(an)m(te)37 b Fn(T)-9 b(eile)382 3660 +y(des)35 b(Lin)m(ux)f(Kernels)c Fp(v)m(orgestellt.)382 +3823 y Fn(Kapitel)37 b(5)30 b Fp(b)s(ehandelt)j(die)e +Fn(Implemen)m(tierung)k(und)f(erzielte)j(Leistung)f(v)m(on)382 +3936 y(DRBD)p Fp(.)382 4099 y(In)20 b Fn(Kapitel)25 b(6)c +Fp(wird)g(gezeigt,)j(wie)e(mit)f(dem)g(DRBD-Ger\344t)g(und)h(anderer)g +(frei)f(erh\344lt-)382 4211 y(lic)m(her)32 b(Soft)m(w)m(are)h(ein)e +Fn(Ho)s(c)m(h)m(v)m(erf\374gbark)m(eits-Cluster)k(implemen)m(tiert)c +Fp(w)m(erden)382 4324 y(k)-5 b(ann.)1854 5622 y(5)p eop +%%Page: 6 8 +6 7 bop 382 1208 a Fk(Kapitel)62 b(2)382 1669 y Fm(Clustering)382 +2160 y Fp(Wie)46 b(b)s(ereits)g(erw)m(\344hn)m(t)j(k)m(\366nnen,)i +(preisw)m(erte,)h(ho)s(c)m(h)m(v)m(erf\374gbare)d(Systeme)e(gebaut)382 +2273 y(w)m(erden,)41 b(indem)d(mehrere)h(herk)m(\366mmlic)m(he)h +(Computer)g(zu)d(einem)i(Cluster)f(zusam-)382 2386 y(mengesc)m(hlossen) +32 b(w)m(erden.)45 b(Da)31 b(der)g(Begri\033)g(Clustering)i(ab)s(er)e +(mehr)h(b)s(einhaltet)g(als)382 2499 y(Systeme)44 b(f\374r)f(hohe)i(V) +-8 b(erf\374gbark)m(eit,)49 b(geb)s(e)43 b(ic)m(h)i(in)f(diesem)g +(Kapitel)h(zuerst)f(einen)382 2612 y(\334b)s(erblic)m(k)c(\374b)s(er)f +(v)m(ersc)m(hiedene)j(Cluster)e(und)f(gehe)h(danac)m(h)h(sp)s(eziell)f +(auf)f(Cluster)382 2725 y(f\374r)30 b(hohe)h(V)-8 b(erf\374gbark)m(eit) +32 b(ein.)382 2884 y(Un)m(ter)d(einem)g(Cluster)g(v)m(ersteh)m(t)g(man) +g(den)g(Zusammensc)m(hlu\377)h(mehrerer)g(unabh\344n-)382 +2997 y(giger)35 b(Computer,)i(um)d(eine)h(Aufgab)s(e)f(zu)g(l\366sen.) +53 b(Ein)34 b(Cluster)h(un)m(tersc)m(heidet)i(sic)m(h)382 +3110 y(dadurc)m(h)29 b(v)m(on)f(einem)g(Netzw)m(erk)h(v)m(on)f +(Computern,)i(das)d(eine)h(v)m(erteilte)h(Applik)-5 b(ation)382 +3223 y(ausf\374hrt,)31 b(da\377)f(er)h(in)f(einem)h(b)s(estimm)m(ten)h +(Asp)s(ekt)d(den)i(Eindruc)m(k)h(erw)m(ec)m(kt,)g(da\377)f(es)382 +3335 y(sic)m(h)g(um)f(einen)h(einzigen,)h(herk)m(\366mmlic)m(hen)h +(Computer)f(handelt.)382 3495 y(Der)d(\022p)s(erfekte)f(Cluster\021)37 +b(w)m(\344re)30 b(ein)f(System,)g(das)g(sic)m(h)g(in)f(allen)i(Asp)s +(ekten,)e(wie)h(z.B.)382 3608 y(A)m(dministration,)40 +b(Programmiermo)s(dell,)g(Repr\344sen)m(tation)e(im)f(Netzw)m(erk,)i +(wie)d(ein)382 3720 y(einzelner)f(Computer)h(v)m(erh\344lt,)g(ab)s(er)e +(mit)g(dem)h(Hinzuf\374gen)g(zus\344tzlic)m(her)g(Knoten)382 +3833 y(seine)25 b(Leistung)g(und)g(Ausfallsic)m(herheit)h(steigern)f(k) +-5 b(ann.)39 b(Die)25 b(Sic)m(h)m(tbark)m(eit)i(des)e(Clu-)382 +3946 y(sters)30 b(als)g(eine)h(Einheit)g(wird)g(als)g(SSI)f(\(single)h +(system)e(image\))j(b)s(ezeic)m(hnet.)42 b([P\03498)q(])382 +4105 y(Die)35 b(meisten)g(der)g(heutigen)h(Clustering-Ans\344tze)g +(setzen)f(sic)m(h)g(ein)g(w)m(esen)m(tlic)m(h)j(b)s(e-)382 +4218 y(sc)m(heideneres)e(Ziel.)56 b(Sie)35 b(v)m(ersuc)m(hen,)j(das)d +(SSI)g(f\374r)g(einen)h(b)s(estimm)m(ten)g(Zw)m(ec)m(k)h(auf-)382 +4331 y(rec)m(h)m(tzuerhalten.)44 b(V)-8 b(erl\344\377t)31 +b(man)g(b)s(ei)f(einer)h(Betrac)m(h)m(tung)i(solc)m(h)e(eines)g +(Clusters)f(die)382 4444 y(Grenzen)37 b(des)e(SSI,)h(so)g(wird)g(die)g +(T)-8 b(atsac)m(he,)40 b(da\377)c(es)f(sic)m(h)i(um)f(mehrere)h +(Computer)382 4557 y(handelt,)31 b(wieder)h(sic)m(h)m(tbar.)382 +4716 y(Ein)h(F)-8 b(aktor,)33 b(der)g(viele)f(k)m(ommerzielle)i +(Hersteller)f(v)m(on)f(ED)m(V-Infrastruktur)h(da)m(v)m(on)382 +4829 y(abgehalten)23 b(hat,)h(fortsc)m(hrittlic)m(he)h(Clustering-T)-8 +b(ec)m(hnologien)26 b(zu)c(en)m(t)m(wic)m(k)m(eln,)27 +b(ist)21 b(ih-)382 4942 y(re)33 b(eigene)g(Linzenzp)s(olitik.)50 +b(Wird)33 b(Soft)m(w)m(are)h(f\374r)f(mehrere)h(Computer,)g(auc)m(h)g +(w)m(enn)382 5055 y(es)j(sic)m(h)h(um)g(Knoten)h(eines)e(Clusters)h +(handelt,)j(v)m(erk)-5 b(auft,)39 b(so)e(ist)h(f\374r)f(jeden)h(Com-) +382 5168 y(puter)i(eine)f(Lizenz)h(zu)f(erw)m(erb)s(en.)68 +b(Das)39 b(ist)f(ein)i(Grund,)h(w)m(eshalb)f(viele)f(Kunden)382 +5281 y(SMP-Computersysteme)30 b(v)m(orziehen,)g(da)e(hier)h(n)m(ur)g +(Lizenzen)g(f\374r)f(einen)h(Computer)382 5394 y(erw)m(orb)s(en)40 +b(w)m(erden)g(m)m(\374ssen,)h(ab)s(er)e(trotzdem)h(die)f(Leistung)h +(mehrerer)g(CPUs)e(zur)1854 5622 y(6)p eop +%%Page: 7 9 +7 8 bop 382 262 a Fl(KAPITEL)31 b(2.)71 b(CLUSTERING)80 +b(2.1.)71 b(WISSENSCHAFTLICHE)32 b(CLUSTER)p 382 299 +2989 4 v 382 539 a Fp(V)-8 b(erf\374gung)29 b(steh)m(t.)41 +b(Die)28 b(Nac)m(hfrage)i(der)e(Kunden)i(wiederum)g(b)s(eein\035u\377t) +f(das)f(Ange-)382 652 y(b)s(ot)j(der)h(Hersteller)h([P\03498)q(,)f +(Seite)g(511].)45 b(\(Eine)32 b(Ausnahme)h(bilden)f(jene)g(Lizenzen,) +382 764 y(deren)f(Preis)g(v)m(on)f(der)h(Anzahl)g(der)g(maximal)g +(erlaubten)h(Ben)m(utzer)g(abh\344ngt.\))382 927 y(Lin)m(ux)23 +b(ist)e(f\374r)g(den)h(Einsatz)h(in)f(gro\377en)g(Clustern)h(viel)e(b)s +(esser)g(geeignet,)k(da)d(b)s(ei)f(Lin)m(ux)382 1040 +y(k)m(eine)45 b(Lizenzgeb\374hren)i(pro)e(Installation)h(anfallen.)83 +b(Im)45 b(folgenden)g(eine)g(kleine)382 1153 y(\334b)s(ersic)m(h)m(t)23 +b(\374b)s(er)g(die)g(v)m(ersc)m(hiedenen)h(Aufgab)s(enstellungen,)h +(die)e(mit)g(Clustern)g(un)m(ter)382 1266 y(Lin)m(ux)31 +b(gel\366st)g(w)m(erden)h(k)m(\366nnen.)41 b([Sha00)q(])382 +1602 y Fj(2.1)130 b(Wissensc)l(haftlic)l(he)46 b(Cluster)382 +1855 y Fp(F\374r)31 b(aufw)m(endige)j(Sim)m(ulationen)g(wird)e(oft)f +(eine)h(derart)g(gro\377e)g(Anzahl)g(an)g(Rec)m(hen-)382 +1968 y(op)s(erationen)25 b(b)s(en\366tigt,)g(da\377)f(ein)g(einzelner)h +(Computer)g(viele)e(Jahre)i(b)s(en\366tigen)f(w\374r-)382 +2081 y(de,)h(um)f(die)g(gesam)m(te)h(Sim)m(ulation)g(durc)m +(hzuf\374hren.)41 b(Es)23 b(gibt)h(in)g(diesem)g(Bereic)m(h)h(den)382 +2194 y(Ansatz,)33 b(eine)g(Applik)-5 b(ation)34 b(sp)s(eziell)e(f\374r) +h(den)f(Einsatz)i(auf)e(einem)i(Cluster)f(zu)g(en)m(t-)382 +2306 y(wic)m(k)m(eln.)42 b(In)30 b(diesem)h(F)-8 b(all)32 +b(ist)e(der)h(En)m(t)m(wic)m(kler)i(selbst)d(f\374r)h(die)f(Aufteilung) +h(der)g(Last)382 2419 y(auf)25 b(die)h(einzelnen)h(Knoten)f(des)f +(Clusters)h(zust\344ndig.)40 b(Das)25 b(SSI)g(wird)h(hier)g(mit)g +(Hilfe)382 2532 y(einer)f(Bibliothek)h(den)f(Applik)-5 +b(ationen)26 b(zur)f(V)-8 b(erf\374gung)26 b(gestellt.)39 +b(Die)25 b(b)s(ek)-5 b(ann)m(testen)382 2645 y(Bibliothek)m(en)32 +b(sind)e(PVM)h([Sun90)q(])f(und)h(MPI)f([MPI97].)382 +2981 y Fj(2.2)130 b(Lastv)l(erteilung)382 3237 y Fo(2.2.1)112 +b(hohe)38 b(CPU-Last)382 3459 y Fp(Ein)33 b(anderer)g(Ansatz)g(b)s +(eruh)m(t)g(darauf,)g(die)g(T)-8 b(atsac)m(he,)35 b(da\377)d(es)g(sic)m +(h)h(um)g(einen)g(Clu-)382 3572 y(ster)44 b(handelt,)49 +b(v)m(or)c(der)g(Applik)-5 b(ation)45 b(zu)g(v)m(erb)s(ergen.)84 +b(In)44 b(diesem)h(F)-8 b(all)45 b(m)m(u\377)g(die)382 +3685 y(Cluster-Soft)m(w)m(are)38 b(f\374r)d(die)h(Aufteilung)g(der)g +(Last)f(auf)h(die)f(einzelnen)i(Knoten)g(sor-)382 3798 +y(gen.)47 b(Dies)32 b(wird)h(in)g(MOSIX,)f(einer)h(Cluster-Soft)m(w)m +(are,)j(durc)m(h)e(die)f(Migration)g(v)m(on)382 3910 +y(An)m(w)m(endungsprozessen)28 b(erm\366glic)m(h)m(t.)42 +b(Hier)26 b(\034ndet)g(sic)m(h)h(das)e(SSI)h(in)g(der)g(Systemruf-)382 +4023 y(sc)m(hnittstelle)32 b(des)e(Lin)m(ux-MOSIX)h(Kernels)g(wieder.) +382 4186 y(Auf)g(die)h(Grenzen)h(des)f(SSI)g(st\366\377t)g(der)g +(MOSIX-Cluster)g(b)s(ei)g(Netzw)m(erkv)m(erbindun-)382 +4299 y(gen.)40 b(W)-8 b(enn)28 b(eine)h(Applik)-5 b(ation)28 +b(einen)h(IP-So)s(c)m(k)m(et)g(v)m(erw)m(endet,)h(k)-5 +b(ann)28 b(sie)f(nic)m(h)m(t)j(mehr)382 4412 y(migriert)h(w)m(erden.) +382 4705 y Fo(2.2.2)112 b(hohe)38 b(Netzw)m(erk-Last)382 +4927 y Fp(V)-8 b(or)23 b(allem)g(f\374r)g(W)-8 b(ebserv)m(er)23 +b(mit)g(vielen)g(Zugri\033en)h(baut)f(man)g(Cluster,)i(b)s(ei)e(denen)g +(die)382 5040 y(hereink)m(ommenden)32 b(Anforderungen)f(der)e(Clien)m +(ts)h(auf)f(mehrere)i(W)-8 b(ebserv)m(er)30 b(aufge-)382 +5152 y(teilt)40 b(w)m(erden.)70 b(Auf)39 b(diesem)h(Gebiet)h(gibt)f(es) +f(sp)s(eziell)h(in)g(letzter)g(Zeit)g(zahlreic)m(he)382 +5265 y(En)m(t)m(wic)m(klungen.)1854 5622 y(7)p eop +%%Page: 8 10 +8 9 bop 382 264 a Fl(KAPITEL)31 b(2.)71 b(CLUSTERING)439 +b(2.3.)71 b(HOHE)30 b(VERF\334GBARKEIT)p 382 301 2989 +4 v 382 539 a Fn(RDNS)44 b Fp(Die)24 b(ersten)f(L\366sungen)i +(basierten)f(auf)f(RRDNS)f(\(round)i(robin)g(dns\),)h(w)m(ob)s(ei)609 +652 y(der)46 b(DNS)e(\(domain)j(name)f(system\))e(Serv)m(er)i(mit)g +(gleic)m(her)h(V)-8 b(erteilung)46 b(die)609 764 y(IP-A)m(dressen)c +(der)f(einzelnen)h(Cluster-Knoten)h(an)e(die)g(Clien)m(ts)h(w)m +(eitergibt.)609 877 y(Der)33 b(gr\366\377te)h(Nac)m(h)m(teil)g(dieser)f +(L\366sung)h(liegt)f(darin,)h(da\377)f(die)g(Last)g(un)m(ter)h(den)609 +990 y(Cluster-Knoten)42 b(meist)f(sc)m(hlec)m(h)m(t)h(v)m(erteilt)f +(wird.)71 b(Die)40 b(Gr\374nde)h(daf\374r)f(sind)609 +1103 y(vielseitig,)26 b(einer)e(da)m(v)m(on)h(ist,)f(da\377)g(der)g +(DNS-Serv)m(er)h(nic)m(h)m(t)g(k)m(on)m(trollieren)h(k)-5 +b(ann,)609 1216 y(wie)31 b(lange)g(die)g(IP-A)m(dresse)f(clien)m +(t-seitig)i(gesp)s(eic)m(hert)g(wird.)382 1404 y Fn(Application)j(lev)m +(el)g(Pro)m(xies)45 b Fp(Bei)35 b(dieser)h(L\366sung)g(wird)f(ein)h +(Pro)m(xy-Serv)m(er,)i(wie)609 1517 y(er)22 b(v)m(on)g(der)g(Clien)m +(t-Seite)i(b)s(ek)-5 b(ann)m(t)23 b(ist,)g(auf)f(der)g(Serv)m(er-Seite) +i(eingesetzt.)38 b(Die-)609 1630 y(ser)d(Pro)m(xy)h(k)m(enn)m(t)h(die)f +(Lastv)m(erteilung)h(im)f(Cluster)g(und)g(leitet)g(die)f(Anfrage)609 +1742 y(des)24 b(Clien)m(ts)h(an)g(den)f(Knoten)i(mit)e(der)h +(geringsten)g(Last)g(w)m(eiter.)39 b(Diese)25 b(Arc)m(hi-)609 +1855 y(tektur)33 b(hat)g(jedo)s(c)m(h)g(den)g(Nac)m(h)m(teil,)i(da\377) +e(die)f(maximale)i(Gr\366\377e)f(des)f(Clusters)609 1968 +y(durc)m(h)g(die)e(Leistungsf\344higk)m(eit)i(des)f(Pro)m(xys)f(b)s +(egrenzt)h(ist.)382 2156 y Fn(IP)j(lev)m(el)h(Sc)m(heduling)45 +b Fp(Es)37 b(gibt)h(\026)f(eb)s(enso)g(wie)h(b)s(ei)f(b)s(ei)g(der)g +(Pro)m(xy-L\366sung)i(\026)609 2269 y(einen)31 b(Computer,)g(der)f(die) +g(Anforderungen)h(auf)e(die)h(Knoten)h(aufteilt;)g(aller-)609 +2382 y(dings)38 b(gesc)m(hieh)m(t)i(dies)f(durc)m(h)g(NA)-8 +b(T)38 b(\(net)m(w)m(ork)i(address)e(translations\).)65 +b(Ein)609 2495 y(V)-8 b(orteil)37 b(gegen)m(\374b)s(er)g(der)f +(L\366sung)g(mit)g(dem)g(Pro)m(xy)g(ist,)g(da\377)g(nic)m(h)m(t)i +(f\374r)d(jedes)609 2608 y(Protok)m(oll)j(ein)e(sp)s(ezieller)h(Pro)m +(xy)g(en)m(t)m(wic)m(k)m(elt)i(w)m(erden)e(m)m(u\377.)59 +b(Die)37 b(maximale)609 2720 y(Gr\366\377e)h(des)g(Clusters)g(wird)h +(zw)m(ar)g(w)m(eiterhin)g(durc)m(h)h(die)e(Leistungsf\344higk)m(eit)609 +2833 y(des)33 b(Rec)m(hners)g(b)s(egrenzt,)h(jedo)s(c)m(h)f(ist)f(NA)-8 +b(T)33 b(im)g(Kernel)g(implemen)m(tiert,)j(w)m(as)609 +2946 y(diesen)31 b(Nac)m(h)m(teil)h(et)m(w)m(as)g(en)m(tsc)m(h\344rft.) +609 3059 y(Eine)e(andere)h(V)-8 b(arian)m(te)31 b(wird)f(mit)f(Hilfe)g +(v)m(on)h(IP-T)-8 b(unnelling)32 b(implemen)m(tiert.)609 +3172 y(Hier)37 b(w)m(erden)h(die)e(IP-P)m(ak)m(ete)j(innerhalb)f +(anderer)f(IP-P)m(ak)m(ete)h(zu)f(den)g(Kno-)609 3285 +y(ten)e(des)f(Clusters)g(b)s(ef\366rdert.)53 b(F\374r)34 +b(den)g(angespro)s(c)m(henen)j(Knoten)e(en)m(tsteh)m(t)609 +3398 y(der)30 b(Eindruc)m(k,)i(da\377)e(diese)g(Anforderung)h(direkt)f +(v)m(om)g(Clien)m(t)h(k)m(omm)m(t,)h(daher)609 3511 y(sc)m(hic)m(kt)38 +b(er)f(die)g(An)m(t)m(w)m(ort)i(direkt)e(zum)g(Clien)m(t)h(zur\374c)m +(k.)60 b(Im)37 b(Un)m(tersc)m(hied)h(zu)609 3624 y(den)24 +b(L\366sungen)g(mit)g(Pro)m(xy)g(und)f(NA)-8 b(T)24 b(ist)f(hier)h(die) +f(Netzlast)h(f\374r)f(den)g(Knoten,)609 3737 y(der)31 +b(die)g(Aufteilung)f(der)h(Anforderungen)h(\374b)s(ernimm)m(t,)g(viel)e +(kleiner.)382 3999 y(Im)k(Rahmen)g(des)g(Lin)m(ux)h(Virtual)g(Serv)m +(er)g(Pro)5 b(jektes)34 b([ZJW99)q(])g(wurde)h(eine)g(lin)m(ux-)382 +4112 y(basierte)c(Implemen)m(tierung)i(des)d(IP-Lev)m(el-Sc)m +(heduling-Ansatzes)k(gesc)m(ha\033en.)382 4275 y(So)m(w)m(ohl)41 +b(b)s(ei)d(diesem)i(Cluster,)h(wie)e(auc)m(h)h(b)s(ei)f(Clustern)h +(f\374r)e(hohe)i(V)-8 b(erf\374gbark)m(eit,)382 4387 +y(wird)31 b(das)f(SSI)g(aussc)m(hlie\377lic)m(h)j(auf)d(Netzw)m(erk)m +(eb)s(ene)i(erf\374llt.)382 4724 y Fj(2.3)130 b(Hohe)44 +b(V)-11 b(erf\374gbark)l(eit)382 4976 y Fp(F\374r)33 +b(viele)h(An)m(w)m(endungen)i(ist)d(hohe)h(V)-8 b(erf\374gbark)m(eit)34 +b(\(high)g(a)m(v)-5 b(ailabilit)m(y\))36 b(die)d(wic)m(h-)382 +5089 y(tigste)e(Eigensc)m(haft.)42 b(Beispiele)31 b(daf\374r)g(sind)g +(File-,)g(Prin)m(t-,)h(Daten)m(bank-,)g(Gatew)m(a)m(y-)382 +5202 y(und)38 b(Applik)-5 b(ations-Serv)m(er)39 b(in)e(Un)m(ternehmen,) +k(ab)s(er)d(auc)m(h)g(\366\033en)m(tlic)m(h)h(zug\344nglic)m(he)382 +5315 y(W)-8 b(eb-Serv)m(er.)1854 5622 y(8)p eop +%%Page: 9 11 +9 10 bop 382 264 a Fl(KAPITEL)31 b(2.)71 b(CLUSTERING)439 +b(2.3.)71 b(HOHE)30 b(VERF\334GBARKEIT)p 382 301 2989 +4 v 382 539 a Fo(2.3.1)112 b(V)-9 b(erf\374gbark)m(eit)382 +760 y Fp(V)h(erf\374gbark)m(eit)32 b(\(a)m(v)-5 b(ailabilit)m(y\))32 +b(wird)f(wie)g(folgt)f(de\034niert)i([K)m(op97)r(]:)1416 +1056 y Fi(A)26 b Fh(=)1821 994 y Fi(M)10 b(T)j(T)g(F)p +1615 1035 712 4 v 1615 1118 a(M)d(T)j(T)g(F)33 b Fh(+)20 +b Fi(M)10 b(T)j(T)g(R)382 1352 y Fp(MTTF)185 b(Durc)m(hsc)m(hnittlic)m +(he)42 b(Zeit)d(der)f(fehlerfreien)h(F)-8 b(unktion)40 +b(\(mean)f(time)f(to)839 1465 y(failure\).)382 1652 y(MTTR)177 +b(Durc)m(hsc)m(hnittlic)m(he)34 b(Dauer)d(einer)g(Reparatur)g(\(mean)g +(time)g(to)g(repair\).)382 1840 y(MTBF)186 b(Die)39 b(durc)m(hsc)m +(hnittlic)m(he)j(Zeit)d(zwisc)m(hen)h(zw)m(ei)g(Ausf\344llen)e(ist)g +(de\034niert)839 1953 y(als)30 b Fi(M)10 b(T)j(B)5 b(F)38 +b Fh(=)25 b Fi(M)10 b(T)j(T)g(F)33 b Fh(+)20 b Fi(M)10 +b(T)j(T)g(R)30 b Fp(\(mean)h(time)g(b)s(et)m(w)m(een)h(failures\).)382 +2215 y(Dieser)d(Ausdruc)m(k)h(k)-5 b(ann)30 b(erst)f(am)h(Ende)g(der)g +(Leb)s(ensdauer)h(eines)e(Systems)g(b)s(erec)m(h-)382 +2328 y(net)38 b(w)m(erden.)63 b(Betrac)m(h)m(tet)40 b(man)e(allerdings) +g(die)g(V)-8 b(erf\374gbark)m(eit)39 b(eines)e(Systems)g(in)382 +2441 y(einem)h(Jahr,)i(so)e(ergibt)g(sic)m(h)g(folgende)g(T)-8 +b(ab)s(elle)39 b(f\374r)e(die)h(maximal)g(erlaubte)h(Aus-)382 +2554 y(fallszeit)30 b(eines)h(Systems.)p 931 2704 1891 +4 v 929 2817 4 113 v 981 2783 a(V)-8 b(erf\374gbark)m(eit)p +1564 2817 V 101 w(erlaubte)32 b(Ausfallszeit)p 2468 2817 +V 100 w(Klasse)p 2820 2817 V 931 2820 1891 4 v 931 2837 +V 929 2950 4 113 v 1150 2916 a(99)f(\045)p 1564 2950 +V 586 w(88)g(h)p 2468 2950 V 520 w(2)p 2820 2950 V 931 +2953 1891 4 v 929 3066 4 113 v 1115 3032 a(99,9)g(\045)p +1564 3066 V 574 w(9)f(h)p 2468 3066 V 543 w(3)p 2820 +3066 V 931 3069 1891 4 v 929 3182 4 113 v 1093 3148 a(99,99)h(\045)p +1564 3182 V 478 w(52)g(min)p 2468 3182 V 470 w(4)p 2820 +3182 V 931 3185 1891 4 v 929 3298 4 113 v 1070 3264 a(99,999)g(\045)p +1564 3298 V 479 w(5)f(min)p 2468 3298 V 493 w(5)p 2820 +3298 V 931 3302 1891 4 v 929 3414 4 113 v 1047 3381 a(99,9999)i(\045)p +1564 3414 V 450 w(31)f(sec)p 2468 3414 V 487 w(6)p 2820 +3414 V 931 3418 1891 4 v 382 3609 a(V)-8 b(ergleic)m(h)m(t)35 +b(man)f(dies)f(mit)g(der)g(T)-8 b(atsac)m(he,)36 b(da\377)d(die)g +(meisten)h(Lin)m(ux-Distributoren)382 3722 y(mindestens)i(4)g(mal)h(im) +f(Jahr)g(neue)h(Distributionen)g(herausbringen,)j(so)35 +b(ist)h(es)f(er-)382 3835 y(sic)m(h)m(tlic)m(h,)27 b(da\377)c(eine)h(V) +-8 b(erf\374gbark)m(eit)24 b(v)m(on)g(mehr)f(als)g(99)g(\045)h(n)m(ur)f +(mit)h(zw)m(ei)g(Systemen)f(zu)382 3948 y(erreic)m(hen)j(ist,)f(v)m(on) +f(denen)h(ein)g(System)f(in)g(Pro)s(duktion)h(bleib)s(en)f(k)-5 +b(ann,)26 b(w)m(\344hrend)g(auf)382 4061 y(dem)e(anderen)g(W)-8 +b(artungsarb)s(eiten)26 b(durc)m(hgef\374hrt)f(w)m(erden.)40 +b(Zw)m(ar)24 b(ist)f(die)h(Installati-)382 4174 y(on)29 +b(einer)g(Lin)m(ux-Distribution)j(heute)d(w)m(esen)m(tlic)m(h)j(einfac) +m(her)e(als)e(fr\374her,)i(do)s(c)m(h)f(nac)m(h)382 4287 +y(dem)h(Einspielen)i(neuer)e(Programm)m(v)m(ersionen)k(sind)c(oft)f +(\304nderungen)j(an)e(K)m(on\034gu-)382 4400 y(rations\034les)35 +b(not)m(w)m(endig.)57 b(\(Diese)35 b(Problematik)h(b)s(etri\033t)f(nic) +m(h)m(t)i(alle)e(Cluster,)h(siehe)382 4513 y(auc)m(h)31 +b(Absc)m(hnitt)h(2.3.1.1.\))382 4675 y(V)-8 b(erzic)m(h)m(tet)26 +b(man)e(auf)f(die)g(laufende)i(Aktualisierung)f(der)f(Lin)m +(ux-Distribution,)28 b(so)23 b(ist)382 4788 y(es)32 b(b)s(ei)f +(\366\033en)m(tlic)m(h)j(zug\344nglic)m(hen)h(Systemen)e(eine)f +(Mindestanforderung,)i(die)f(neue-)382 4901 y(sten)d(sic)m +(herheitsrelev)-5 b(an)m(ten)34 b(Aktualisierungen)d(einzuspielen.)382 +5064 y(Betrac)m(h)m(tet)j(man)d(n)m(ur)h(die)g(Hardw)m(are,)h(dann)f +(ist)f(es)g(n)m(ur)h(mehr)g(ein)f(kleiner)h(Sc)m(hritt,)382 +5177 y(aus)21 b(zw)m(ei)h(unabh\344ngigen)i(Systemen)d(einen)h(Cluster) +g(zu)f(bauen,)j(b)s(ei)d(dem)h(ein)f(Knoten)382 5290 +y(aktiv)30 b(das)g(Service)h(an)m(bietet)h(und)f(der)g(zw)m(eite)g +(Knoten)h(den)e(aktiv)m(en)h(\374b)s(erw)m(ac)m(h)m(t.)1854 +5622 y(9)p eop +%%Page: 10 12 +10 11 bop 382 264 a Fl(KAPITEL)31 b(2.)71 b(CLUSTERING)439 +b(2.3.)71 b(HOHE)30 b(VERF\334GBARKEIT)p 382 301 2989 +4 v 382 539 a Fp(P\034ster)36 b([P\03498)r(])f(f\374hrt)h(auc)m(h)h +(den)f(Begri\033)g(der)g(V)-8 b(erf\374gbark)m(eitsklasse)36 +b(ein.)57 b(Er)36 b(gibt)382 652 y(folgende)31 b(Beispiele:)p +633 801 2486 4 v 631 914 4 113 v 718 881 a(1-2)p 922 +914 V 1070 w(LANs)p 3117 914 V 633 918 2486 4 v 631 1031 +4 113 v 756 997 a(2)p 922 1031 V 735 w(herk)m(\366mmlic)m(he)i +(Computer)p 3117 1031 V 633 1034 2486 4 v 631 1147 4 +113 v 683 1113 a(3\(-4\))p 922 1147 V 101 w(Ho)s(c)m(h)m(v)m +(erf\374gbark)m(eits-Cluster)g(aus)d(COTS-K)m(omp)s(onen)m(ten)p +3117 1147 V 633 1150 2486 4 v 631 1263 4 113 v 683 1229 +a(\(3-\)4)p 922 1263 V 917 w(Mainframes)p 3117 1263 V +633 1266 2486 4 v 631 1379 4 113 v 756 1345 a(5)p 922 +1379 V 633 w(Computer)i(des)e(T)-8 b(elefonsystems)p +3117 1379 V 633 1383 2486 4 v 631 1496 4 113 v 756 1462 +a(6)p 922 1496 V 596 w(Bordcomputer)32 b(eines)f(Flugzeuges)p +3117 1496 V 633 1499 2486 4 v 382 1690 a(COTS)j(steh)m(t)f(f\374r)g +(commercial-o\033-the-shelf,)j(d.h.)49 b(K)m(omp)s(onen)m(ten,)36 +b(die)d(w)m(eitl\344u\034g)382 1803 y(v)m(erf\374gbar)e(sind.)382 +1966 y(Bei)22 b(Systemen)g(der)g(h\366)s(c)m(hsten)g(Klasse)g(wird)g +(zumeist)g(v)m(on)g(fehlertolerierenden)i(\(fault)382 +2079 y(toleran)m(t\))38 b(Systemen)f(gespro)s(c)m(hen.)59 +b(Bisher)36 b(wurden)h(aussc)m(hlie\377lic)m(h)i(Systeme,)f(b)s(ei)382 +2192 y(denen)k(diese)g(Eigensc)m(haft)h(in)f(Hardw)m(are)h(implemen)m +(tiert)h(wurde)e(und)g(somit)g(der)382 2305 y(Ausfall)d(einer)h(K)m +(omp)s(onen)m(te)i(der)e(Hardw)m(are)h(f\374r)e(die)h(Umgebung)h(nic)m +(h)m(t)g(sic)m(h)m(tbar)382 2418 y(w)m(ar,)31 b(so)f(b)s(ezeic)m(hnet.) +382 2580 y(Da)37 b(Kunden)g(den)h(Begri\033)f +(\022fehlertolerierend\021)46 b(gerne)38 b(h\366ren,)h(wird)e(dieser)g +(Begri\033)382 2693 y(o)s(der)k(Ab)m(w)m(andlungen)j(wie)e(\022soft)m +(w)m(are)g(fault)g(toleran)m(t\021)50 b(auc)m(h)43 b(gerne)f(v)m(on)f +(\034ndigen)382 2806 y(An)m(bietern)29 b(v)m(on)f(Ho)s(c)m(h)m(v)m +(erf\374gbark)m(eits-Clustern)k(v)m(erw)m(endet.)41 b(Ho)s(c)m(h)m(v)m +(erf\374gbark)m(eits-)382 2919 y(Cluster)31 b(\(high)g(a)m(v)-5 +b(ailabilit)m(y)32 b(clusters\))f(w)m(erden)h(im)e(folgendem)i(als)e +(HA-Cluster)h(b)s(e-)382 3032 y(zeic)m(hnet.)382 3322 +y Fn(2.3.1.1)103 b(Betriebszust\344nde)382 3543 y Fp(Eine)40 +b(Un)m(terbrec)m(h)m(ung)j(des)c(Betrieb)s(es)g(w)m(egen)i(eines)f +(Ereignisses,)i(das)d(b)s(ereits)g(im)382 3656 y(V)-8 +b(orhinein)43 b(b)s(ek)-5 b(ann)m(t)43 b(ist,)h(wird)f(als)e(geplan)m +(te)j(Un)m(terbrec)m(h)m(ung)h(\(planned)e(outage\))382 +3769 y(b)s(ezeic)m(hnet.)77 b(In)41 b(diese)h(Kategorie)i(f\344llt)d +(auc)m(h)i(das)f(ob)s(en)g(genann)m(te)i(Beispiel)e(der)382 +3882 y(Aktualisierung)31 b(der)g(Systemsoft)m(w)m(are.)382 +4045 y(Das)23 b(Gegenst\374c)m(k)h(dazu)f(sind)g(\(nic)m(h)m(t)i +(geplan)m(te\))g(Ausf\344lle)e(\(unplanned)i(outages\),)g(die)382 +4158 y(\026)31 b(wie)g(der)g(Name)g(b)s(ereits)f(v)m(erm)m(uten)j +(l\344\377t)e(\026)g(auf)f(nic)m(h)m(t)j(v)m(orherzusehende)f(Ereig-) +382 4271 y(nisse)i(zur\374c)m(kgehen.)53 b(In)33 b(diese)i(Kategorie)g +(fallen)f(Ausf\344lle)g(v)m(on)g(Hardw)m(arek)m(omp)s(o-)382 +4384 y(nen)m(ten,)h(bisher)e(nic)m(h)m(t)i(b)s(ek)-5 +b(ann)m(te)33 b(Soft)m(w)m(arefehler)i(und)f(Ereignisse)f(der)g +(Umgebung)382 4497 y(\(z.B.)e(Stromausfall\).)382 4659 +y(Nic)m(h)m(t)d(alle)f(Computersysteme)h(m)m(\374ssen)f(jedo)s(c)m(h)g +(rund)g(um)g(die)g(Uhr)g(v)m(erf\374gbar)g(sein.)382 +4772 y(Ein)e(System)g(f\374r)f(den)h(Aktienhandel)h(m)m(u\377)g(z.B.)e +(n)m(ur)i(w)m(\344hrend)g(der)f(B\366rsen\366\033n)m(ungs-)382 +4885 y(zeiten)j(v)m(erf\374gbar)h(sein.)39 b(Bei)28 b(diesen)g +(Systemen)g(k)-5 b(ann)28 b(der)g(Betrieb)g(zu)g(jenen)g(Zeiten)382 +4998 y(un)m(terbro)s(c)m(hen)j(w)m(erden,)g(in)d(denen)i(die)e(V)-8 +b(erf\374gbark)m(eit)31 b(des)d(Systems)g(ohnehin)i(nic)m(h)m(t)382 +5111 y(erforderlic)m(h)36 b(ist;)g(die)e(V)-8 b(erf\374gbark)m(eit)36 +b(wird)f(n)m(ur)g(\374b)s(er)f(den)h(Zeitraum,)i(der)d(v)m(on)h(In-)382 +5224 y(teresse)30 b(ist,)g(b)s(erec)m(hnet.)1831 5622 +y(10)p eop +%%Page: 11 13 +11 12 bop 382 264 a Fl(KAPITEL)31 b(2.)71 b(CLUSTERING)439 +b(2.3.)71 b(HOHE)30 b(VERF\334GBARKEIT)p 382 301 2989 +4 v 382 2095 a + currentpoint currentpoint translate 0.81702 0.81702 scale neg exch +neg exch translate + 382 2095 a @beginspecial 89 @llx 583 @lly +528 @urx 825 @ury 4390 @rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//ha-cluster.ps +%!PS-Adobe-3.0 EPSF-3.0 +%%For: Philipp Reisner +%%CreationDate: Wed Mar 29 00:02:16 2000 +%%Title: ha-cluster.ps +%%Creator: Sketch 0.6.5 +%%Pages: 1 +%%BoundingBox: 89 583 528 825 +%%Extensions: CMYK +%%DocumentSuppliedResources: (atend) +%%DocumentNeededResources: font Times-Roman +%%EndComments + +%%BeginProlog +%%BeginResource: procset Linux-Sketch-Procset 1.0 2 +/SketchDict 100 dict def +SketchDict begin +/bd { bind def } bind def +/x { exch } bd +/xd { exch def } bd +/PI 3.14159265358979323846264338327 def +/radgrad { 180 mul PI div } bd +/skstartmatrix matrix currentmatrix def +/tmpmat matrix def +/ISOLatin1Encoding dup where +{ pop pop } +{ [/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand +/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period +/slash /zero /one /two /three /four /five /six /seven /eight /nine /colon +/semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J +/K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash +/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i +/j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright +/asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve +/dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek +/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen +/registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu +/paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright +/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex +/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex +/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve +/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute +/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute +/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute +/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde +/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def +} +ifelse +/arct dup where +{pop pop} +{ +/arct {arcto pop pop pop pop} bd +} +ifelse +/size 0 def +/fontname 0 def +/newfont 0 def +/sf { +/size xd +/fontname xd +fontname findfont +dup /Encoding get StandardEncoding eq +{ +dup +length dict /newfont xd +{ +1 index +/FID ne +{ newfont 3 1 roll put } +{ pop pop } +ifelse +} forall +newfont /Encoding ISOLatin1Encoding put +fontname newfont definefont +} +if +size scalefont setfont +} bd +/pusht {matrix currentmatrix} bd +/popt {setmatrix} bd +/pushc {gsave} bd +/popc {grestore} bd +/rgb {setrgbcolor} bd +/w { setlinewidth } bd +/j { setlinejoin } bd +/J { setlinecap } bd +/d { setdash } bd +/F { eofill } bd +/f { closepath F } bd +/S { +pusht +skstartmatrix setmatrix stroke +popt +} bd +/s { closepath S } bd +/m { moveto } bd +/l { lineto } bd +/c { curveto } bd +/txt { +/tmpmat tmpmat currentmatrix def +dup type /arraytype eq {concat} {translate} ifelse +0 0 m +tmpmat +} bd +/T {txt x show popt} bd +/P {txt x true charpath popt} bd +/TP {txt x dup show 0 0 m true charpath popt} bd +/C {newpath 0 360 arc} bd +/R { +2 copy m +x 2 index l +x 2 index x l +l +closepath +} bd +/ellipse { +dup type /arraytype eq +{ +pusht x concat +0 0 1.0 C +popt +} +{ +pusht 5 1 roll +4 -1 roll concat +newpath +dup 2 eq { +0 0 m +} if +3 1 roll +radgrad x +radgrad x +0 0 1 5 -2 roll +arc +0 ne { closepath } if +popt +} +ifelse +} bd +/radius1 0 def +/radius2 0 def +/factor 0 def +/rect { +dup type /arraytype eq +{ +pusht x concat +0 0 m 1 0 l 1 1 l 0 1 l closepath +popt +} +{ +/radius2 xd +/radius1 xd +pusht x concat +radius1 radius2 div 1 scale +0 radius2 m +0 1 radius2 1 radius2 arct +radius2 radius1 div +dup 1 1 index 0 radius2 arct +0 0 0 radius2 arct +0 0 0 1 radius2 arct +closepath +popt +} +ifelse +} bd +/buf 0 def +/width 0 def +/height 0 def +/skcimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width 3 mul string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +false 3 colorimage +tmpmat setmatrix +} bd +/skgimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +image +tmpmat setmatrix +} bd +/rclip { +4 2 roll m +dup 0 x rlineto +x 0 rlineto +neg 0 x rlineto +closepath +clip +} bd +/skeps { +10 dict begin +/sk_state save def +concat +3 index neg 3 index neg translate +rclip +0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin +10 setmiterlimit [ ] 0 setdash +newpath +/sk_dict_count countdictstack def +/sk_count count 1 sub def +userdict begin +/showpage { } def +/languagelevel where +{ +pop +languagelevel 1 ne +{ +false setstrokeadjust +false setoverprint +} if +} if +} bd +/skepsend { +count sk_count sub { pop } repeat +countdictstack sk_dict_count sub { end } repeat +sk_state restore +end +} bd +/gradidx 0 def +/gradient { +3 mul array +/gradidx 0 def +} bd +/$ { +3 index gradidx 5 -1 roll put +2 index gradidx 1 add 4 -1 roll put +1 index gradidx 2 add 3 -1 roll put +/gradidx gradidx 3 add def +} bd +/! { +3 +{ +dup dup gradidx dup 3 1 roll 3 sub get put +/gradidx gradidx 1 add def +} +repeat +} bd +/gradcolor { +3 mul dup 2 add 1 exch % idx 1 idx+2 +{ +1 index exch % array array i +get % array component +exch % component array +} +for +4 1 roll +} bd +/x0 0 def /y0 0 def /x1 0 def /y1 0 def +/left 0 def /right 0 def /top 0 def /bottom 0 def +/numcolors 0 def +/axial { +/y1 xd /x1 xd /y0 xd /x0 xd +dup length 3 idiv /numcolors xd +pusht exch % ctm array +x0 x1 ne y0 y1 ne or +{ +x0 y0 translate +[x1 x0 sub y1 y0 sub dup neg 2 index 0 0] concat +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +0 gradcolor rgb clippath f +0 1 numcolors 1 sub +{ +dup numcolors div +3 1 roll +gradcolor rgb +exch +bottom right top R f +} +for +} +if +pop +popt +} bd +/r0 0 def /r1 0 def /dr 0 def +/radial { +/r1 xd /r0 xd /y0 xd /x0 xd +/dr r1 r0 sub def +dup length 3 idiv /numcolors xd +pusht exch % ctm array +r0 r1 ne +{ +x0 y0 translate +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +dr 0 gt {numcolors 1 sub}{0} ifelse gradcolor rgb +clippath f +dr 0 gt {numcolors 1 sub -1 0} { 0 1 numcolors 1 sub} ifelse +{ +dup numcolors div dr mul r0 add +3 1 roll +gradcolor rgb +exch +0 0 3 -1 roll C f +} +for +} +if +pop +popt +} bd +/max { +2 copy lt {exch} if pop +} bd +/conical { +pusht 5 1 roll +3 1 roll /y0 xd /x0 xd +x0 y0 translate +radgrad rotate +dup length 3 idiv /numcolors xd +clippath flattenpath pathbbox newpath +4 { abs 4 1 roll} repeat +3 { max } repeat +2 mul +dup scale +0 gradcolor rgb +0 0 1 0 360 arc f +1 1 numcolors 1 sub +{ +dup numcolors div 180 mul +3 1 roll +gradcolor rgb +exch +0 0 moveto +0 0 1 4 -1 roll dup neg arc +closepath f +} +for +pop +popt +} bd +/XStep 0 def /YStep 0 def /imagedata 0 def /components 0 def +/tileimage2 { +exch 4 2 roll +/height xd +/width xd +mark +/components 2 index +/PatternType 1 +/PaintType 1 +/TilingType 1 +/BBox [0 0 width height] +/XStep width +/YStep height +/PaintProc { +begin +XStep YStep 8 +matrix +imagedata +false +components +colorimage +end +} +counttomark 2 div cvi dup dict begin +{ def } repeat +pop currentdict end +dup +/imagedata +4 -1 roll +width height mul mul string +currentfile exch readhexstring pop +put +exch +makepattern +setpattern +clippath +eofill +} bd +/tileimage1 { +concat +/components xd +/height xd +/width xd +/imagedata +currentfile +width height mul components mul string +readhexstring pop +def +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +left width div floor width mul +bottom height div floor height mul +translate +top bottom sub height div ceiling cvi +{ +gsave +right left sub width div ceiling cvi +{ +width height 8 matrix +components 1 eq +{ +{ imagedata } +image +} +{ +imagedata +false components +colorimage +} +ifelse +width 0 translate +} +repeat +grestore +0 height translate +} +repeat +} bd +/makepattern where +{ +pop +/tileimage /tileimage2 load def +} +{ +/tileimage /tileimage1 load def +} +ifelse +end +%%EndResource +%%EndProlog + +%%BeginSetup +%%IncludeResource: font Times-Roman + +10.433 setmiterlimit +%%EndSetup + +%%Page: 1 1 +SketchDict begin +newpath +382.949 762.521 m +385.783 759.686 l +408.461 759.686 l +411.295 762.521 l +closepath +0.8 0.8 0.8 rgb +F +382.949 762.521 m +385.783 759.686 l +408.461 759.686 l +411.295 762.521 l +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[34.0158 0 0 -28.3465 380.114 790.867] rect +gsave +0.8 0.8 0.8 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[28.3465 0 0 -22.6772 382.949 788.033] rect +gsave +0.7 0.7 0.7 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[39.6282 -2.12668 -3.43822 -11.171 377.612 757.907] rect +S +newpath +378.622 755.581 m +379.754 755.52 l +S +newpath +376.559 748.878 m +377.691 748.818 l +S +newpath +377.075 750.554 m +378.207 750.493 l +S +newpath +377.591 752.23 m +378.723 752.169 l +S +newpath +378.106 753.905 m +379.239 753.844 l +S +newpath +380.32 755.49 m +381.453 755.429 l +S +newpath +378.258 748.787 m +379.39 748.726 l +S +newpath +378.773 750.463 m +379.905 750.402 l +S +newpath +379.289 752.138 m +380.421 752.078 l +S +newpath +379.805 753.814 m +380.937 753.753 l +S +newpath +382.019 755.399 m +383.151 755.338 l +S +newpath +379.956 748.696 m +381.088 748.635 l +S +newpath +380.472 750.372 m +381.604 750.311 l +S +newpath +380.987 752.047 m +382.12 751.986 l +S +newpath +381.503 753.723 m +382.635 753.662 l +S +newpath +383.717 755.307 m +384.849 755.247 l +S +newpath +381.654 748.605 m +382.786 748.544 l +S +newpath +382.17 750.28 m +383.302 750.22 l +S +newpath +382.686 751.956 m +383.818 751.895 l +S +newpath +383.201 753.632 m +384.334 753.571 l +S +newpath +385.416 755.216 m +386.548 755.155 l +S +newpath +383.353 748.514 m +384.485 748.453 l +S +newpath +383.868 750.189 m +385.001 750.129 l +S +newpath +384.384 751.865 m +385.516 751.804 l +S +newpath +384.9 753.541 m +386.032 753.48 l +S +newpath +387.114 755.125 m +388.246 755.064 l +S +newpath +385.051 748.423 m +386.183 748.362 l +S +newpath +385.567 750.098 m +386.699 750.037 l +S +newpath +386.082 751.774 m +387.215 751.713 l +S +newpath +386.598 753.449 m +387.73 753.389 l +S +newpath +388.812 755.034 m +389.944 754.973 l +S +newpath +386.749 748.331 m +387.882 748.271 l +S +newpath +387.265 750.007 m +388.397 749.946 l +S +newpath +387.781 751.683 m +388.913 751.622 l +S +newpath +388.296 753.358 m +389.429 753.298 l +S +newpath +390.511 754.943 m +391.643 754.882 l +S +newpath +388.448 748.24 m +389.58 748.18 l +S +newpath +388.963 749.916 m +390.096 749.855 l +S +newpath +389.479 751.592 m +390.611 751.531 l +S +newpath +389.995 753.267 m +391.127 753.206 l +S +newpath +392.209 754.852 m +393.341 754.791 l +S +newpath +390.146 748.149 m +391.278 748.088 l +S +newpath +390.662 749.825 m +391.794 749.764 l +S +newpath +391.177 751.5 m +392.31 751.44 l +S +newpath +391.693 753.176 m +392.825 753.115 l +S +newpath +393.907 754.761 m +395.04 754.7 l +S +newpath +391.844 748.058 m +392.977 747.997 l +S +newpath +392.36 749.734 m +393.492 749.673 l +S +newpath +392.876 751.409 m +394.008 751.348 l +S +newpath +393.392 753.085 m +394.524 753.024 l +S +newpath +395.606 754.669 m +396.738 754.609 l +S +newpath +393.543 747.967 m +394.675 747.906 l +S +newpath +394.058 749.642 m +395.191 749.582 l +S +newpath +394.574 751.318 m +395.706 751.257 l +S +newpath +395.09 752.994 m +396.222 752.933 l +S +newpath +397.304 754.578 m +398.436 754.517 l +S +newpath +395.241 747.876 m +396.373 747.815 l +S +newpath +395.757 749.551 m +396.889 749.491 l +S +newpath +396.273 751.227 m +397.405 751.166 l +S +newpath +396.788 752.903 m +397.92 752.842 l +S +newpath +399.002 754.487 m +400.135 754.426 l +S +newpath +408.06 754.001 m +409.192 753.94 l +S +newpath +396.939 747.785 m +398.072 747.724 l +S +newpath +405.997 747.298 m +407.129 747.238 l +S +newpath +397.455 749.46 m +398.587 749.399 l +S +newpath +406.513 748.974 m +407.645 748.913 l +S +newpath +397.971 751.136 m +399.103 751.075 l +S +newpath +407.029 750.65 m +408.161 750.589 l +S +newpath +398.487 752.811 m +399.619 752.751 l +S +newpath +407.544 752.325 m +408.677 752.265 l +S +newpath +400.701 754.396 m +401.833 754.335 l +S +newpath +409.759 753.91 m +410.891 753.849 l +S +newpath +398.638 747.693 m +399.77 747.633 l +S +newpath +407.696 747.207 m +408.828 747.147 l +S +newpath +399.153 749.369 m +400.286 749.308 l +S +newpath +408.211 748.883 m +409.344 748.822 l +S +newpath +399.669 751.045 m +400.801 750.984 l +S +newpath +408.727 750.559 m +409.859 750.498 l +S +newpath +400.185 752.72 m +401.317 752.66 l +S +newpath +409.243 752.234 m +410.375 752.173 l +S +newpath +402.399 754.305 m +403.531 754.244 l +S +newpath +411.457 753.819 m +412.589 753.758 l +S +newpath +400.336 747.602 m +401.468 747.542 l +S +newpath +409.394 747.116 m +410.526 747.055 l +S +newpath +400.852 749.278 m +401.984 749.217 l +S +newpath +409.91 748.792 m +411.042 748.731 l +S +newpath +401.368 750.954 m +402.5 750.893 l +S +newpath +410.425 750.467 m +411.558 750.407 l +S +newpath +401.883 752.629 m +403.016 752.568 l +S +newpath +410.941 752.143 m +412.073 752.082 l +S +newpath +404.097 754.214 m +405.23 754.153 l +S +newpath +413.155 753.728 m +414.287 753.667 l +S +newpath +402.034 747.511 m +403.167 747.45 l +S +newpath +411.092 747.025 m +412.225 746.964 l +S +newpath +402.55 749.187 m +403.682 749.126 l +S +newpath +411.608 748.701 m +412.74 748.64 l +S +newpath +403.066 750.862 m +404.198 750.802 l +S +newpath +412.124 750.376 m +413.256 750.316 l +S +newpath +403.582 752.538 m +404.714 752.477 l +S +newpath +412.64 752.052 m +413.772 751.991 l +S +newpath +382.949 634.962 m +385.783 632.127 l +408.461 632.127 l +411.295 634.962 l +closepath +0.8 0.8 0.8 rgb +F +382.949 634.962 m +385.783 632.127 l +408.461 632.127 l +411.295 634.962 l +0 0 0 rgb +S +[34.0158 0 0 -28.3465 380.114 663.308] rect +gsave +0.8 0.8 0.8 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[28.3465 0 0 -22.6772 382.949 660.474] rect +gsave +0.7 0.7 0.7 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[39.6282 -2.12668 -3.43822 -11.171 377.612 630.348] rect +S +newpath +378.622 628.022 m +379.754 627.961 l +S +newpath +376.559 621.319 m +377.691 621.259 l +S +newpath +377.075 622.995 m +378.207 622.934 l +S +newpath +377.591 624.671 m +378.723 624.61 l +S +newpath +378.106 626.346 m +379.239 626.285 l +S +newpath +380.32 627.931 m +381.453 627.87 l +S +newpath +378.258 621.228 m +379.39 621.167 l +S +newpath +378.773 622.904 m +379.905 622.843 l +S +newpath +379.289 624.579 m +380.421 624.519 l +S +newpath +379.805 626.255 m +380.937 626.194 l +S +newpath +382.019 627.84 m +383.151 627.779 l +S +newpath +379.956 621.137 m +381.088 621.076 l +S +newpath +380.472 622.813 m +381.604 622.752 l +S +newpath +380.987 624.488 m +382.12 624.427 l +S +newpath +381.503 626.164 m +382.635 626.103 l +S +newpath +383.717 627.748 m +384.849 627.688 l +S +newpath +381.654 621.046 m +382.786 620.985 l +S +newpath +382.17 622.721 m +383.302 622.661 l +S +newpath +382.686 624.397 m +383.818 624.336 l +S +newpath +383.201 626.073 m +384.334 626.012 l +S +newpath +385.416 627.657 m +386.548 627.596 l +S +newpath +383.353 620.955 m +384.485 620.894 l +S +newpath +383.868 622.63 m +385.001 622.57 l +S +newpath +384.384 624.306 m +385.516 624.245 l +S +newpath +384.9 625.982 m +386.032 625.921 l +S +newpath +387.114 627.566 m +388.246 627.505 l +S +newpath +385.051 620.864 m +386.183 620.803 l +S +newpath +385.567 622.539 m +386.699 622.478 l +S +newpath +386.082 624.215 m +387.215 624.154 l +S +newpath +386.598 625.89 m +387.73 625.83 l +S +newpath +388.812 627.475 m +389.944 627.414 l +S +newpath +386.749 620.772 m +387.882 620.712 l +S +newpath +387.265 622.448 m +388.397 622.387 l +S +newpath +387.781 624.124 m +388.913 624.063 l +S +newpath +388.296 625.799 m +389.429 625.739 l +S +newpath +390.511 627.384 m +391.643 627.323 l +S +newpath +388.448 620.681 m +389.58 620.621 l +S +newpath +388.963 622.357 m +390.096 622.296 l +S +newpath +389.479 624.033 m +390.611 623.972 l +S +newpath +389.995 625.708 m +391.127 625.647 l +S +newpath +392.209 627.293 m +393.341 627.232 l +S +newpath +390.146 620.59 m +391.278 620.529 l +S +newpath +390.662 622.266 m +391.794 622.205 l +S +newpath +391.177 623.941 m +392.31 623.881 l +S +newpath +391.693 625.617 m +392.825 625.556 l +S +newpath +393.907 627.202 m +395.04 627.141 l +S +newpath +391.844 620.499 m +392.977 620.438 l +S +newpath +392.36 622.175 m +393.492 622.114 l +S +newpath +392.876 623.85 m +394.008 623.789 l +S +newpath +393.392 625.526 m +394.524 625.465 l +S +newpath +395.606 627.11 m +396.738 627.05 l +S +newpath +393.543 620.408 m +394.675 620.347 l +S +newpath +394.058 622.083 m +395.191 622.023 l +S +newpath +394.574 623.759 m +395.706 623.698 l +S +newpath +395.09 625.435 m +396.222 625.374 l +S +newpath +397.304 627.019 m +398.436 626.958 l +S +newpath +395.241 620.317 m +396.373 620.256 l +S +newpath +395.757 621.992 m +396.889 621.932 l +S +newpath +396.273 623.668 m +397.405 623.607 l +S +newpath +396.788 625.344 m +397.92 625.283 l +S +newpath +399.002 626.928 m +400.135 626.867 l +S +newpath +408.06 626.442 m +409.192 626.381 l +S +newpath +396.939 620.226 m +398.072 620.165 l +S +newpath +405.997 619.739 m +407.129 619.679 l +S +newpath +397.455 621.901 m +398.587 621.84 l +S +newpath +406.513 621.415 m +407.645 621.354 l +S +newpath +397.971 623.577 m +399.103 623.516 l +S +newpath +407.029 623.091 m +408.161 623.03 l +S +newpath +398.487 625.252 m +399.619 625.192 l +S +newpath +407.544 624.766 m +408.677 624.706 l +S +newpath +400.701 626.837 m +401.833 626.776 l +S +newpath +409.759 626.351 m +410.891 626.29 l +S +newpath +398.638 620.134 m +399.77 620.074 l +S +newpath +407.696 619.648 m +408.828 619.588 l +S +newpath +399.153 621.81 m +400.286 621.749 l +S +newpath +408.211 621.324 m +409.344 621.263 l +S +newpath +399.669 623.486 m +400.801 623.425 l +S +newpath +408.727 623 m +409.859 622.939 l +S +newpath +400.185 625.161 m +401.317 625.101 l +S +newpath +409.243 624.675 m +410.375 624.614 l +S +newpath +402.399 626.746 m +403.531 626.685 l +S +newpath +411.457 626.26 m +412.589 626.199 l +S +newpath +400.336 620.043 m +401.468 619.983 l +S +newpath +409.394 619.557 m +410.526 619.496 l +S +newpath +400.852 621.719 m +401.984 621.658 l +S +newpath +409.91 621.233 m +411.042 621.172 l +S +newpath +401.368 623.395 m +402.5 623.334 l +S +newpath +410.425 622.908 m +411.558 622.848 l +S +newpath +401.883 625.07 m +403.016 625.009 l +S +newpath +410.941 624.584 m +412.073 624.523 l +S +newpath +404.097 626.655 m +405.23 626.594 l +S +newpath +413.155 626.169 m +414.287 626.108 l +S +newpath +402.034 619.952 m +403.167 619.891 l +S +newpath +411.092 619.466 m +412.225 619.405 l +S +newpath +402.55 621.628 m +403.682 621.567 l +S +newpath +411.608 621.142 m +412.74 621.081 l +S +newpath +403.066 623.303 m +404.198 623.243 l +S +newpath +412.124 622.817 m +413.256 622.757 l +S +newpath +403.582 624.979 m +404.714 624.918 l +S +newpath +412.64 624.493 m +413.772 624.432 l +S +[42.5197 0 0 -56.6929 311.811 793.701] rect +gsave +0.7 0.7 0.7 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +newpath +325.984 793.701 m +325.984 745.512 l +311.811 745.512 l +S +[-5.66928 0 0 2.83466 354.331 782.362] rect +gsave +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +newpath +325.984 782.362 m +354.331 782.362 l +351.496 785.197 l +325.984 785.197 l +325.984 782.362 l +closepath +0.5 0.5 0.5 rgb +F +325.984 782.362 m +354.331 782.362 l +351.496 785.197 l +325.984 785.197 l +325.984 782.362 l +0 0 0 rgb +0.992126 w +2 j +S +[-5.66928 0 0 2.83466 354.331 779.528] rect +gsave +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +newpath +325.984 779.528 m +354.331 779.528 l +351.496 782.362 l +325.984 782.362 l +325.984 779.528 l +closepath +0.5 0.5 0.5 rgb +F +325.984 779.528 m +354.331 779.528 l +351.496 782.362 l +325.984 782.362 l +325.984 779.528 l +0 0 0 rgb +0.992126 w +2 j +S +[-5.66928 0 0 2.83466 354.331 776.693] rect +gsave +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +newpath +325.984 776.693 m +354.331 776.693 l +351.496 779.528 l +325.984 779.528 l +325.984 776.693 l +closepath +0.5 0.5 0.5 rgb +F +325.984 776.693 m +354.331 776.693 l +351.496 779.528 l +325.984 779.528 l +325.984 776.693 l +0 0 0 rgb +0.992126 w +2 j +S +[2.83464 0 0 -2.83466 317.48 788.031] 1.57079 4.71239 0 ellipse +gsave +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[-2.83464 1.04143e-15 1.04144e-15 2.83466 320.315 788.031] 1.57079 4.71239 0 ellipse +gsave +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[2.83463 0 0 -5.66931 317.48 790.866] rect +gsave +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[42.5197 0 0 -56.6929 311.811 666.142] rect +gsave +0.7 0.7 0.7 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +newpath +325.984 666.142 m +325.984 617.953 l +311.811 617.953 l +S +[-5.66928 0 0 2.83466 354.331 654.803] rect +gsave +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +newpath +325.984 654.803 m +354.331 654.803 l +351.496 657.638 l +325.984 657.638 l +325.984 654.803 l +closepath +0.5 0.5 0.5 rgb +F +325.984 654.803 m +354.331 654.803 l +351.496 657.638 l +325.984 657.638 l +325.984 654.803 l +0 0 0 rgb +0.992126 w +2 j +S +[-5.66928 0 0 2.83466 354.331 651.969] rect +gsave +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +newpath +325.984 651.969 m +354.331 651.969 l +351.496 654.803 l +325.984 654.803 l +325.984 651.969 l +closepath +0.5 0.5 0.5 rgb +F +325.984 651.969 m +354.331 651.969 l +351.496 654.803 l +325.984 654.803 l +325.984 651.969 l +0 0 0 rgb +0.992126 w +2 j +S +[-5.66928 0 0 2.83466 354.331 649.134] rect +gsave +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +newpath +325.984 649.134 m +354.331 649.134 l +351.496 651.969 l +325.984 651.969 l +325.984 649.134 l +closepath +0.5 0.5 0.5 rgb +F +325.984 649.134 m +354.331 649.134 l +351.496 651.969 l +325.984 651.969 l +325.984 649.134 l +0 0 0 rgb +0.992126 w +2 j +S +[2.83464 0 0 -2.83466 317.48 660.472] 1.57079 4.71239 0 ellipse +gsave +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[-2.83464 1.04143e-15 1.04144e-15 2.83466 320.315 660.472] 1.57079 4.71239 0 ellipse +gsave +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[2.83463 0 0 -5.66931 317.48 663.307] rect +gsave +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[42.5197 0 0 -56.6929 198.425 793.701] rect +gsave +0.7 0.7 0.7 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +newpath +212.598 793.701 m +212.598 745.512 l +198.425 745.512 l +S +[-5.66928 0 0 2.83466 240.945 782.362] rect +gsave +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +newpath +212.598 782.362 m +240.945 782.362 l +238.11 785.197 l +212.598 785.197 l +212.598 782.362 l +closepath +0.5 0.5 0.5 rgb +F +212.598 782.362 m +240.945 782.362 l +238.11 785.197 l +212.598 785.197 l +212.598 782.362 l +0 0 0 rgb +0.992126 w +2 j +S +[-5.66928 0 0 2.83466 240.945 779.528] rect +gsave +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +newpath +212.598 779.528 m +240.945 779.528 l +238.11 782.362 l +212.598 782.362 l +212.598 779.528 l +closepath +0.5 0.5 0.5 rgb +F +212.598 779.528 m +240.945 779.528 l +238.11 782.362 l +212.598 782.362 l +212.598 779.528 l +0 0 0 rgb +0.992126 w +2 j +S +[-5.66928 0 0 2.83466 240.945 776.693] rect +gsave +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +newpath +212.598 776.693 m +240.945 776.693 l +238.11 779.528 l +212.598 779.528 l +212.598 776.693 l +closepath +0.5 0.5 0.5 rgb +F +212.598 776.693 m +240.945 776.693 l +238.11 779.528 l +212.598 779.528 l +212.598 776.693 l +0 0 0 rgb +0.992126 w +2 j +S +[2.83464 0 0 -2.83466 204.094 788.031] 1.57079 4.71239 0 ellipse +gsave +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[-2.83464 1.04143e-15 1.04144e-15 2.83466 206.929 788.031] 1.57079 4.71239 0 ellipse +gsave +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[2.83463 0 0 -5.66931 204.094 790.866] rect +gsave +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[42.5197 0 0 -56.6929 198.425 666.142] rect +gsave +0.7 0.7 0.7 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +newpath +212.598 666.142 m +212.598 617.953 l +198.425 617.953 l +S +[-5.66928 0 0 2.83466 240.945 654.803] rect +gsave +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +newpath +212.598 654.803 m +240.945 654.803 l +238.11 657.638 l +212.598 657.638 l +212.598 654.803 l +closepath +0.5 0.5 0.5 rgb +F +212.598 654.803 m +240.945 654.803 l +238.11 657.638 l +212.598 657.638 l +212.598 654.803 l +0 0 0 rgb +0.992126 w +2 j +S +[-5.66928 0 0 2.83466 240.945 651.969] rect +gsave +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +newpath +212.598 651.969 m +240.945 651.969 l +238.11 654.803 l +212.598 654.803 l +212.598 651.969 l +closepath +0.5 0.5 0.5 rgb +F +212.598 651.969 m +240.945 651.969 l +238.11 654.803 l +212.598 654.803 l +212.598 651.969 l +0 0 0 rgb +0.992126 w +2 j +S +[-5.66928 0 0 2.83466 240.945 649.134] rect +gsave +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +newpath +212.598 649.134 m +240.945 649.134 l +238.11 651.969 l +212.598 651.969 l +212.598 649.134 l +closepath +0.5 0.5 0.5 rgb +F +212.598 649.134 m +240.945 649.134 l +238.11 651.969 l +212.598 651.969 l +212.598 649.134 l +0 0 0 rgb +0.992126 w +2 j +S +[2.83464 0 0 -2.83466 204.094 660.472] 1.57079 4.71239 0 ellipse +gsave +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[-2.83464 1.04143e-15 1.04144e-15 2.83466 206.929 660.472] 1.57079 4.71239 0 ellipse +gsave +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[2.83463 0 0 -5.66931 204.094 663.307] rect +gsave +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +/Times-Roman 11 sf +(Node1) +205 725 T +(Node1) +205 597 T +(Node2) +319 725 T +(Node2) +319 597 T +(heartbeat) +257 781 T +newpath +306.142 776.693 m +246.614 776.693 l +S +pusht +246.614 776.693 translate +180 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +334.489 799.371 m +334.489 810.71 l +396.851 810.71 l +396.851 799.371 l +0.992126 w +S +pusht +334.489 799.371 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +pusht +396.851 799.371 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +218.268 671.812 m +218.268 683.151 l +396.851 683.151 l +396.851 671.812 l +S +pusht +218.268 671.812 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +pusht +396.851 671.812 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +[8.50394 0 0 -8.50394 195.591 813.545] 3.1416 4.71239 0 ellipse +0.283465 w +S +[-3.8147e-05 -8.50394 -8.50394 3.8147e-05 422.363 813.545] 3.1416 4.71239 0 ellipse +S +[-8.50394 0.000190735 0.000190735 8.50394 422.363 725.67] 3.1416 4.71239 0 ellipse +S +[0.000160218 8.50394 8.50394 -0.000160218 195.591 725.67] 3.1416 4.71239 0 ellipse +S +newpath +187.087 813.545 m +187.087 725.67 l +S +newpath +430.867 813.545 m +430.867 725.67 l +S +newpath +195.591 822.049 m +422.363 822.049 l +S +newpath +195.591 717.166 m +422.363 717.166 l +S +[8.50394 0 0 -8.50394 195.591 685.985] 3.1416 4.71239 0 ellipse +S +[-3.8147e-05 -8.50394 -8.50394 3.8147e-05 422.363 685.985] 3.1416 4.71239 0 ellipse +S +[-8.50394 0.000190735 0.000190735 8.50394 422.363 598.111] 3.1416 4.71239 0 ellipse +S +[0.000160218 8.50394 8.50394 -0.000160218 195.591 598.111] 3.1416 4.71239 0 ellipse +S +newpath +187.087 685.985 m +187.087 598.111 l +S +newpath +430.867 685.985 m +430.867 598.111 l +S +newpath +195.591 694.489 m +422.363 694.489 l +S +newpath +195.591 589.607 m +422.363 589.607 l +S +(Client) +383 731 T +(Client) +383 603 T +newpath +181.418 765.356 m +141.732 751.182 141.732 668.977 170.079 654.804 c +0.76 0.707 1 rgb +11.3386 w +1 J +S +newpath +436.536 643.466 m +476.222 657.64 476.221 739.844 447.875 754.017 c +S +newpath +187.087 643.083 m +173.251 666.143 l +160.338 645.85 l +187.087 643.083 l +closepath +F +newpath +430.867 765.738 m +444.703 742.679 l +457.616 762.971 l +430.867 765.738 l +closepath +F +[14.1732 0 0 -11.3386 150.236 711.497] rect +1 1 1 rgb +F +[-14.1732 1.73572e-15 1.38857e-15 11.3386 467.717 700.159] rect +F +(Failover) +152 701 0 0 0 rgb +T +(Failback) +427 701 T +[26.9291 0 0 -26.9291 333.071 636.379] ellipse +4.8189 w +0 J +S +newpath +351.922 655.23 m +314.221 617.529 l +4.8189 w +1 j +S +[26.9291 0 0 -26.9291 333.071 636.379] ellipse +1 0 0 rgb +4.25197 w +0 j +S +newpath +351.922 655.23 m +314.221 617.529 l +1 j +S +%%PageTrailer +showpage +%%Trailer +end +%%DocumentSuppliedResources: procset Linux-Sketch-Procset 1.0 2 +%%EOF + +%%EndDocument + @endspecial 382 2095 a + currentpoint currentpoint translate 1 0.81702 div 1 0.81702 div scale +neg exch neg exch translate + 382 2095 a 785 2291 a Fp(Abbildung)i(2.1:)40 +b(prinzipielle)32 b(F)-8 b(unktion)32 b(eines)e(HA-Clusters)382 +2566 y Fo(2.3.2)112 b(HA-Cluster)382 2787 y Fp(Das)35 +b(Prinzip,)k(nac)m(h)e(dem)f(die)g(hier)g(b)s(espro)s(c)m(henen)h +(HA-Cluster)f(arb)s(eiten,)i(ist)d(der)382 2900 y(sogenann)m(te)h(F)-8 +b(ailo)m(v)m(er.)55 b(Dab)s(ei)34 b(\374b)s(ernimm)m(t)i(ein)f(Knoten)g +(im)g(Cluster)g(die)f(gesam)m(te)382 3013 y(Arb)s(eit)e(des)g +(Clusters.)47 b(Die)32 b(einzige)i(Aufgab)s(e)e(des)g(v)m(erbleib)s +(enden)i(Knotens)f(ist)f(es,)382 3126 y(st\344ndig)38 +b(zu)f(\374b)s(erpr\374fen,)j(ob)e(der)f(aktiv)m(e)h(Knoten)g(no)s(c)m +(h)g(funktioniert.)63 b(Wird)37 b(der)382 3239 y(Ausfall)h(des)h(aktiv) +m(en)g(Knotens)h(festgestellt,)h(wird)e(die)h(Arb)s(eit)e(des)h +(Clusters)g(v)m(on)382 3352 y(n)m(un)i(an)g(durc)m(h)h(den)f(v)m +(erbleib)s(enden)h(Knoten)f(\374b)s(ernommen.)73 b(In)40 +b(Abbildung)h(2.1)382 3465 y(sind)30 b(diese)h(V)-8 b(org\344nge)31 +b(graphisc)m(h)h(dargestellt.)382 3627 y(HA-Cluster)c(w)m(erden)h +(eingesetzt,)g(um)g(geplan)m(te)g(Un)m(terbrec)m(h)m(ungen)i(und)e +(\(nic)m(h)m(t)g(ge-)382 3740 y(plan)m(te\))35 b(Ausf\344lle)f +(abzufangen.)53 b(Ein)34 b(Punkt,)i(der)e(zur)g(Beliebtheit)i(dieser)e +(Cluster)382 3853 y(sic)m(her)f(b)s(eigetragen)h(hat,)f(ist,)g(da\377)g +(nic)m(h)m(t)h(n)m(ur)f(Ausf\344lle)f(v)m(on)h(Hardw)m(arek)m(omp)s +(onen-)382 3966 y(ten,)g(sondern)g(auc)m(h)h(viele)e(Ausf\344lle)g(auf) +h(Grund)g(v)m(on)f(F)-8 b(ehlern)34 b(in)f(der)f(Soft)m(w)m(are)j +(f\374r)382 4079 y(den)c(An)m(w)m(ender)h(transparen)m(t)g(w)m(erden.) +382 4242 y(Die)f(Wirkung)g(v)m(on)h(Soft)m(w)m(are-F)-8 +b(ehler)1704 4209 y Fg(1)1777 4242 y Fp(die)31 b(n)m(ur)h(un)m(ter)g +(ganz)g(b)s(estimm)m(ten)g(Umst\344n-)382 4355 y(den)g(ein)m(treten,)i +(so)s(da\377)d(es)g(fast)g(nic)m(h)m(t)j(m\366glic)m(h)f(ist,)f(diese)f +(F)-8 b(ehler)33 b(zu)f(repro)s(duzieren)382 4468 y(und)27 +b(zu)f(b)s(eheb)s(en,)h(k)m(\366nnen)g(auf)g(Grund)f(genau)h(dieser)g +(Eigensc)m(haft)g(v)m(on)g(einem)g(HA-)382 4581 y(Cluster,)42 +b(der)e(die)g(Soft)m(w)m(are)h(ja)e(einfac)m(h)h(no)s(c)m(h)g(einmal)h +(laufen)e(l\344\377t,)k(ausgeglic)m(hen)382 4694 y(w)m(erden.)c(Bei)22 +b(der)g(erneuten)i(Ausf\374hrung)e(der)g(Soft)m(w)m(are)i(ist)e(es)f +(sehr)h(w)m(ahrsc)m(heinlic)m(h,)382 4806 y(da\377)32 +b(P)m(ak)m(ete)i(v)m(om)f(Netzw)m(erk)g(in)f(einer)h(anderen)g +(Reihenfolge)g(empfangen)g(w)m(erden,)382 4919 y(und)e(da\377)f(daher)i +(der)e(F)-8 b(ehler)32 b(nic)m(h)m(t)g(auftritt.)41 b([P\03498)q(,)30 +b(Seite)h(391])p 382 4981 1196 4 v 486 5035 a Ff(1)520 +5066 y Fe(P\034ster)38 b(b)r(ezeic)n(hnet)f(diese)h(F)-6 +b(ehler)37 b(als)h(Heisen)n(bugs.)70 b(Streng)37 b(genommen)e(sind)i(n) +n(ur)g(solc)n(he)382 5158 y(F)-6 b(ehler,)39 b(die)e(b)r(eim)f +(\022Betrac)n(h)n(ten\021,)j(also)f(dem)d(Ausf\374hren)g(mit)h(einem)g +(Debugger)g(v)n(ersc)n(h)n(winden)382 5249 y(o)r(der)26 +b(ersc)n(heinen,)g(Heisen)n(bugs.)1831 5622 y Fp(11)p +eop +%%Page: 12 14 +12 13 bop 382 264 a Fl(KAPITEL)31 b(2.)71 b(CLUSTERING)439 +b(2.3.)71 b(HOHE)30 b(VERF\334GBARKEIT)p 382 301 2989 +4 v 382 2604 a + currentpoint currentpoint translate 0.81888 0.81888 scale neg exch +neg exch translate + 382 2604 a @beginspecial 64 @llx 469 @lly +502 @urx 785 @ury 4380 @rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//shared-disk.ps +%!PS-Adobe-3.0 EPSF-3.0 +%%For: Philipp Reisner +%%CreationDate: Tue Apr 25 12:28:50 2000 +%%Title: shared-disk.ps +%%Creator: Sketch 0.6.5 +%%Pages: 1 +%%BoundingBox: 64 469 502 785 +%%Extensions: CMYK +%%DocumentSuppliedResources: (atend) +%%DocumentNeededResources: font Times-Roman +%%EndComments + +%%BeginProlog +%%BeginResource: procset Linux-Sketch-Procset 1.0 2 +/SketchDict 100 dict def +SketchDict begin +/bd { bind def } bind def +/x { exch } bd +/xd { exch def } bd +/PI 3.14159265358979323846264338327 def +/radgrad { 180 mul PI div } bd +/skstartmatrix matrix currentmatrix def +/tmpmat matrix def +/ISOLatin1Encoding dup where +{ pop pop } +{ [/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand +/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period +/slash /zero /one /two /three /four /five /six /seven /eight /nine /colon +/semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J +/K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash +/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i +/j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright +/asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve +/dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek +/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen +/registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu +/paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright +/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex +/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex +/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve +/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute +/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute +/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute +/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde +/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def +} +ifelse +/arct dup where +{pop pop} +{ +/arct {arcto pop pop pop pop} bd +} +ifelse +/size 0 def +/fontname 0 def +/newfont 0 def +/sf { +/size xd +/fontname xd +fontname findfont +dup /Encoding get StandardEncoding eq +{ +dup +length dict /newfont xd +{ +1 index +/FID ne +{ newfont 3 1 roll put } +{ pop pop } +ifelse +} forall +newfont /Encoding ISOLatin1Encoding put +fontname newfont definefont +} +if +size scalefont setfont +} bd +/pusht {matrix currentmatrix} bd +/popt {setmatrix} bd +/pushc {gsave} bd +/popc {grestore} bd +/rgb {setrgbcolor} bd +/w { setlinewidth } bd +/j { setlinejoin } bd +/J { setlinecap } bd +/d { setdash } bd +/F { eofill } bd +/f { closepath F } bd +/S { +pusht +skstartmatrix setmatrix stroke +popt +} bd +/s { closepath S } bd +/m { moveto } bd +/l { lineto } bd +/c { curveto } bd +/txt { +/tmpmat tmpmat currentmatrix def +dup type /arraytype eq {concat} {translate} ifelse +0 0 m +tmpmat +} bd +/T {txt x show popt} bd +/P {txt x true charpath popt} bd +/TP {txt x dup show 0 0 m true charpath popt} bd +/C {newpath 0 360 arc} bd +/R { +2 copy m +x 2 index l +x 2 index x l +l +closepath +} bd +/ellipse { +dup type /arraytype eq +{ +pusht x concat +0 0 1.0 C +popt +} +{ +pusht 5 1 roll +4 -1 roll concat +newpath +dup 2 eq { +0 0 m +} if +3 1 roll +radgrad x +radgrad x +0 0 1 5 -2 roll +arc +0 ne { closepath } if +popt +} +ifelse +} bd +/radius1 0 def +/radius2 0 def +/factor 0 def +/rect { +dup type /arraytype eq +{ +pusht x concat +0 0 m 1 0 l 1 1 l 0 1 l closepath +popt +} +{ +/radius2 xd +/radius1 xd +pusht x concat +radius1 radius2 div 1 scale +0 radius2 m +0 1 radius2 1 radius2 arct +radius2 radius1 div +dup 1 1 index 0 radius2 arct +0 0 0 radius2 arct +0 0 0 1 radius2 arct +closepath +popt +} +ifelse +} bd +/buf 0 def +/width 0 def +/height 0 def +/skcimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width 3 mul string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +false 3 colorimage +tmpmat setmatrix +} bd +/skgimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +image +tmpmat setmatrix +} bd +/rclip { +4 2 roll m +dup 0 x rlineto +x 0 rlineto +neg 0 x rlineto +closepath +clip +} bd +/skeps { +10 dict begin +/sk_state save def +concat +3 index neg 3 index neg translate +rclip +0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin +10 setmiterlimit [ ] 0 setdash +newpath +/sk_dict_count countdictstack def +/sk_count count 1 sub def +userdict begin +/showpage { } def +/languagelevel where +{ +pop +languagelevel 1 ne +{ +false setstrokeadjust +false setoverprint +} if +} if +} bd +/skepsend { +count sk_count sub { pop } repeat +countdictstack sk_dict_count sub { end } repeat +sk_state restore +end +} bd +/gradidx 0 def +/gradient { +3 mul array +/gradidx 0 def +} bd +/$ { +3 index gradidx 5 -1 roll put +2 index gradidx 1 add 4 -1 roll put +1 index gradidx 2 add 3 -1 roll put +/gradidx gradidx 3 add def +} bd +/! { +3 +{ +dup dup gradidx dup 3 1 roll 3 sub get put +/gradidx gradidx 1 add def +} +repeat +} bd +/gradcolor { +3 mul dup 2 add 1 exch % idx 1 idx+2 +{ +1 index exch % array array i +get % array component +exch % component array +} +for +4 1 roll +} bd +/x0 0 def /y0 0 def /x1 0 def /y1 0 def +/left 0 def /right 0 def /top 0 def /bottom 0 def +/numcolors 0 def +/axial { +/y1 xd /x1 xd /y0 xd /x0 xd +dup length 3 idiv /numcolors xd +pusht exch % ctm array +x0 x1 ne y0 y1 ne or +{ +x0 y0 translate +[x1 x0 sub y1 y0 sub dup neg 2 index 0 0] concat +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +0 gradcolor rgb clippath f +0 1 numcolors 1 sub +{ +dup numcolors div +3 1 roll +gradcolor rgb +exch +bottom right top R f +} +for +} +if +pop +popt +} bd +/r0 0 def /r1 0 def /dr 0 def +/radial { +/r1 xd /r0 xd /y0 xd /x0 xd +/dr r1 r0 sub def +dup length 3 idiv /numcolors xd +pusht exch % ctm array +r0 r1 ne +{ +x0 y0 translate +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +dr 0 gt {numcolors 1 sub}{0} ifelse gradcolor rgb +clippath f +dr 0 gt {numcolors 1 sub -1 0} { 0 1 numcolors 1 sub} ifelse +{ +dup numcolors div dr mul r0 add +3 1 roll +gradcolor rgb +exch +0 0 3 -1 roll C f +} +for +} +if +pop +popt +} bd +/max { +2 copy lt {exch} if pop +} bd +/conical { +pusht 5 1 roll +3 1 roll /y0 xd /x0 xd +x0 y0 translate +radgrad rotate +dup length 3 idiv /numcolors xd +clippath flattenpath pathbbox newpath +4 { abs 4 1 roll} repeat +3 { max } repeat +2 mul +dup scale +0 gradcolor rgb +0 0 1 0 360 arc f +1 1 numcolors 1 sub +{ +dup numcolors div 180 mul +3 1 roll +gradcolor rgb +exch +0 0 moveto +0 0 1 4 -1 roll dup neg arc +closepath f +} +for +pop +popt +} bd +/XStep 0 def /YStep 0 def /imagedata 0 def /components 0 def +/tileimage2 { +exch 4 2 roll +/height xd +/width xd +mark +/components 2 index +/PatternType 1 +/PaintType 1 +/TilingType 1 +/BBox [0 0 width height] +/XStep width +/YStep height +/PaintProc { +begin +XStep YStep 8 +matrix +imagedata +false +components +colorimage +end +} +counttomark 2 div cvi dup dict begin +{ def } repeat +pop currentdict end +dup +/imagedata +4 -1 roll +width height mul mul string +currentfile exch readhexstring pop +put +exch +makepattern +setpattern +clippath +eofill +} bd +/tileimage1 { +concat +/components xd +/height xd +/width xd +/imagedata +currentfile +width height mul components mul string +readhexstring pop +def +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +left width div floor width mul +bottom height div floor height mul +translate +top bottom sub height div ceiling cvi +{ +gsave +right left sub width div ceiling cvi +{ +width height 8 matrix +components 1 eq +{ +{ imagedata } +image +} +{ +imagedata +false components +colorimage +} +ifelse +width 0 translate +} +repeat +grestore +0 height translate +} +repeat +} bd +/makepattern where +{ +pop +/tileimage /tileimage2 load def +} +{ +/tileimage /tileimage1 load def +} +ifelse +end +%%EndResource +%%EndProlog + +%%BeginSetup +%%IncludeResource: font Times-Roman + +10.433 setmiterlimit +%%EndSetup + +%%Page: 1 1 +SketchDict begin +[141.733 0 0 -34.0158 70.8662 694.489] rect +0.848 0.835 0.949 rgb +F +[141.733 0 0 -34.0158 354.331 694.489] rect +F +[62.3623 0 0 -36.8505 70.8662 660.473] rect +F +[62.3623 0 0 -42.5198 433.701 660.473] rect +F +newpath +225.95 493.23 m +228.784 490.395 l +251.462 490.395 l +254.296 493.23 l +closepath +0.8 0.8 0.8 rgb +F +225.95 493.23 m +228.784 490.395 l +251.462 490.395 l +254.296 493.23 l +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[34.0158 0 0 -28.3465 223.115 521.576] rect +gsave +0.8 0.8 0.8 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[28.3465 0 0 -22.6772 225.95 518.742] rect +gsave +0.7 0.7 0.7 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[39.6282 -2.12668 -3.43822 -11.171 220.613 488.616] rect +S +newpath +221.623 486.29 m +222.755 486.229 l +S +newpath +219.56 479.587 m +220.692 479.527 l +S +newpath +220.076 481.263 m +221.208 481.202 l +S +newpath +220.592 482.939 m +221.724 482.878 l +S +newpath +221.107 484.614 m +222.24 484.553 l +S +newpath +223.321 486.199 m +224.454 486.138 l +S +newpath +221.259 479.496 m +222.391 479.435 l +S +newpath +221.774 481.172 m +222.906 481.111 l +S +newpath +222.29 482.847 m +223.422 482.787 l +S +newpath +222.806 484.523 m +223.938 484.462 l +S +newpath +225.02 486.108 m +226.152 486.047 l +S +newpath +222.957 479.405 m +224.089 479.344 l +S +newpath +223.473 481.081 m +224.605 481.02 l +S +newpath +223.988 482.756 m +225.121 482.695 l +S +newpath +224.504 484.432 m +225.636 484.371 l +S +newpath +226.718 486.016 m +227.85 485.956 l +S +newpath +224.655 479.314 m +225.787 479.253 l +S +newpath +225.171 480.989 m +226.303 480.929 l +S +newpath +225.687 482.665 m +226.819 482.604 l +S +newpath +226.202 484.341 m +227.335 484.28 l +S +newpath +228.417 485.925 m +229.549 485.864 l +S +newpath +226.354 479.223 m +227.486 479.162 l +S +newpath +226.869 480.898 m +228.002 480.838 l +S +newpath +227.385 482.574 m +228.517 482.513 l +S +newpath +227.901 484.25 m +229.033 484.189 l +S +newpath +230.115 485.834 m +231.247 485.773 l +S +newpath +228.052 479.132 m +229.184 479.071 l +S +newpath +228.568 480.807 m +229.7 480.746 l +S +newpath +229.083 482.483 m +230.216 482.422 l +S +newpath +229.599 484.158 m +230.731 484.098 l +S +newpath +231.813 485.743 m +232.945 485.682 l +S +newpath +229.75 479.04 m +230.883 478.98 l +S +newpath +230.266 480.716 m +231.398 480.655 l +S +newpath +230.782 482.392 m +231.914 482.331 l +S +newpath +231.297 484.067 m +232.43 484.007 l +S +newpath +233.512 485.652 m +234.644 485.591 l +S +newpath +231.449 478.949 m +232.581 478.889 l +S +newpath +231.964 480.625 m +233.097 480.564 l +S +newpath +232.48 482.301 m +233.612 482.24 l +S +newpath +232.996 483.976 m +234.128 483.915 l +S +newpath +235.21 485.561 m +236.342 485.5 l +S +newpath +233.147 478.858 m +234.279 478.797 l +S +newpath +233.663 480.534 m +234.795 480.473 l +S +newpath +234.178 482.209 m +235.311 482.149 l +S +newpath +234.694 483.885 m +235.826 483.824 l +S +newpath +236.908 485.47 m +238.041 485.409 l +S +newpath +234.845 478.767 m +235.978 478.706 l +S +newpath +235.361 480.443 m +236.493 480.382 l +S +newpath +235.877 482.118 m +237.009 482.057 l +S +newpath +236.393 483.794 m +237.525 483.733 l +S +newpath +238.607 485.378 m +239.739 485.318 l +S +newpath +236.544 478.676 m +237.676 478.615 l +S +newpath +237.059 480.351 m +238.192 480.291 l +S +newpath +237.575 482.027 m +238.707 481.966 l +S +newpath +238.091 483.703 m +239.223 483.642 l +S +newpath +240.305 485.287 m +241.437 485.226 l +S +newpath +238.242 478.585 m +239.374 478.524 l +S +newpath +238.758 480.26 m +239.89 480.2 l +S +newpath +239.274 481.936 m +240.406 481.875 l +S +newpath +239.789 483.612 m +240.921 483.551 l +S +newpath +242.003 485.196 m +243.136 485.135 l +S +newpath +251.061 484.71 m +252.193 484.649 l +S +newpath +239.94 478.494 m +241.073 478.433 l +S +newpath +248.998 478.007 m +250.13 477.947 l +S +newpath +240.456 480.169 m +241.588 480.108 l +S +newpath +249.514 479.683 m +250.646 479.622 l +S +newpath +240.972 481.845 m +242.104 481.784 l +S +newpath +250.03 481.359 m +251.162 481.298 l +S +newpath +241.488 483.52 m +242.62 483.46 l +S +newpath +250.545 483.034 m +251.678 482.974 l +S +newpath +243.702 485.105 m +244.834 485.044 l +S +newpath +252.76 484.619 m +253.892 484.558 l +S +newpath +241.639 478.402 m +242.771 478.342 l +S +newpath +250.697 477.916 m +251.829 477.856 l +S +newpath +242.154 480.078 m +243.287 480.017 l +S +newpath +251.212 479.592 m +252.345 479.531 l +S +newpath +242.67 481.754 m +243.802 481.693 l +S +newpath +251.728 481.268 m +252.86 481.207 l +S +newpath +243.186 483.429 m +244.318 483.369 l +S +newpath +252.244 482.943 m +253.376 482.882 l +S +newpath +245.4 485.014 m +246.532 484.953 l +S +newpath +254.458 484.528 m +255.59 484.467 l +S +newpath +243.337 478.311 m +244.469 478.251 l +S +newpath +252.395 477.825 m +253.527 477.764 l +S +newpath +243.853 479.987 m +244.985 479.926 l +S +newpath +252.911 479.501 m +254.043 479.44 l +S +newpath +244.369 481.663 m +245.501 481.602 l +S +newpath +253.426 481.176 m +254.559 481.116 l +S +newpath +244.884 483.338 m +246.017 483.277 l +S +newpath +253.942 482.852 m +255.074 482.791 l +S +newpath +247.098 484.923 m +248.231 484.862 l +S +newpath +256.156 484.437 m +257.288 484.376 l +S +newpath +245.035 478.22 m +246.168 478.159 l +S +newpath +254.093 477.734 m +255.226 477.673 l +S +newpath +245.551 479.896 m +246.683 479.835 l +S +newpath +254.609 479.41 m +255.741 479.349 l +S +newpath +246.067 481.571 m +247.199 481.511 l +S +newpath +255.125 481.085 m +256.257 481.025 l +S +newpath +246.583 483.247 m +247.715 483.186 l +S +newpath +255.641 482.761 m +256.773 482.7 l +S +newpath +308.701 493.23 m +311.535 490.395 l +334.213 490.395 l +337.047 493.23 l +closepath +0.8 0.8 0.8 rgb +F +308.701 493.23 m +311.535 490.395 l +334.213 490.395 l +337.047 493.23 l +0 0 0 rgb +S +[34.0158 0 0 -28.3465 305.866 521.576] rect +gsave +0.8 0.8 0.8 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[28.3465 0 0 -22.6772 308.701 518.742] rect +gsave +0.7 0.7 0.7 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[39.6282 -2.12668 -3.43822 -11.171 303.364 488.616] rect +S +newpath +304.374 486.29 m +305.506 486.229 l +S +newpath +302.311 479.587 m +303.443 479.527 l +S +newpath +302.827 481.263 m +303.959 481.202 l +S +newpath +303.343 482.939 m +304.475 482.878 l +S +newpath +303.858 484.614 m +304.991 484.553 l +S +newpath +306.072 486.199 m +307.205 486.138 l +S +newpath +304.01 479.496 m +305.142 479.435 l +S +newpath +304.525 481.172 m +305.657 481.111 l +S +newpath +305.041 482.847 m +306.173 482.787 l +S +newpath +305.557 484.523 m +306.689 484.462 l +S +newpath +307.771 486.108 m +308.903 486.047 l +S +newpath +305.708 479.405 m +306.84 479.344 l +S +newpath +306.224 481.081 m +307.356 481.02 l +S +newpath +306.739 482.756 m +307.872 482.695 l +S +newpath +307.255 484.432 m +308.387 484.371 l +S +newpath +309.469 486.016 m +310.601 485.956 l +S +newpath +307.406 479.314 m +308.538 479.253 l +S +newpath +307.922 480.989 m +309.054 480.929 l +S +newpath +308.438 482.665 m +309.57 482.604 l +S +newpath +308.953 484.341 m +310.086 484.28 l +S +newpath +311.168 485.925 m +312.3 485.864 l +S +newpath +309.105 479.223 m +310.237 479.162 l +S +newpath +309.62 480.898 m +310.753 480.838 l +S +newpath +310.136 482.574 m +311.268 482.513 l +S +newpath +310.652 484.25 m +311.784 484.189 l +S +newpath +312.866 485.834 m +313.998 485.773 l +S +newpath +310.803 479.132 m +311.935 479.071 l +S +newpath +311.319 480.807 m +312.451 480.746 l +S +newpath +311.834 482.483 m +312.967 482.422 l +S +newpath +312.35 484.158 m +313.482 484.098 l +S +newpath +314.564 485.743 m +315.696 485.682 l +S +newpath +312.501 479.04 m +313.634 478.98 l +S +newpath +313.017 480.716 m +314.149 480.655 l +S +newpath +313.533 482.392 m +314.665 482.331 l +S +newpath +314.048 484.067 m +315.181 484.007 l +S +newpath +316.263 485.652 m +317.395 485.591 l +S +newpath +314.2 478.949 m +315.332 478.889 l +S +newpath +314.715 480.625 m +315.848 480.564 l +S +newpath +315.231 482.301 m +316.363 482.24 l +S +newpath +315.747 483.976 m +316.879 483.915 l +S +newpath +317.961 485.561 m +319.093 485.5 l +S +newpath +315.898 478.858 m +317.03 478.797 l +S +newpath +316.414 480.534 m +317.546 480.473 l +S +newpath +316.929 482.209 m +318.062 482.149 l +S +newpath +317.445 483.885 m +318.577 483.824 l +S +newpath +319.659 485.47 m +320.792 485.409 l +S +newpath +317.596 478.767 m +318.729 478.706 l +S +newpath +318.112 480.443 m +319.244 480.382 l +S +newpath +318.628 482.118 m +319.76 482.057 l +S +newpath +319.144 483.794 m +320.276 483.733 l +S +newpath +321.358 485.378 m +322.49 485.318 l +S +newpath +319.295 478.676 m +320.427 478.615 l +S +newpath +319.81 480.351 m +320.943 480.291 l +S +newpath +320.326 482.027 m +321.458 481.966 l +S +newpath +320.842 483.703 m +321.974 483.642 l +S +newpath +323.056 485.287 m +324.188 485.226 l +S +newpath +320.993 478.585 m +322.125 478.524 l +S +newpath +321.509 480.26 m +322.641 480.2 l +S +newpath +322.025 481.936 m +323.157 481.875 l +S +newpath +322.54 483.612 m +323.672 483.551 l +S +newpath +324.754 485.196 m +325.887 485.135 l +S +newpath +333.812 484.71 m +334.944 484.649 l +S +newpath +322.691 478.494 m +323.824 478.433 l +S +newpath +331.749 478.007 m +332.881 477.947 l +S +newpath +323.207 480.169 m +324.339 480.108 l +S +newpath +332.265 479.683 m +333.397 479.622 l +S +newpath +323.723 481.845 m +324.855 481.784 l +S +newpath +332.781 481.359 m +333.913 481.298 l +S +newpath +324.239 483.52 m +325.371 483.46 l +S +newpath +333.296 483.034 m +334.429 482.974 l +S +newpath +326.453 485.105 m +327.585 485.044 l +S +newpath +335.511 484.619 m +336.643 484.558 l +S +newpath +324.39 478.402 m +325.522 478.342 l +S +newpath +333.448 477.916 m +334.58 477.856 l +S +newpath +324.905 480.078 m +326.038 480.017 l +S +newpath +333.963 479.592 m +335.096 479.531 l +S +newpath +325.421 481.754 m +326.553 481.693 l +S +newpath +334.479 481.268 m +335.611 481.207 l +S +newpath +325.937 483.429 m +327.069 483.369 l +S +newpath +334.995 482.943 m +336.127 482.882 l +S +newpath +328.151 485.014 m +329.283 484.953 l +S +newpath +337.209 484.528 m +338.341 484.467 l +S +newpath +326.088 478.311 m +327.22 478.251 l +S +newpath +335.146 477.825 m +336.278 477.764 l +S +newpath +326.604 479.987 m +327.736 479.926 l +S +newpath +335.662 479.501 m +336.794 479.44 l +S +newpath +327.12 481.663 m +328.252 481.602 l +S +newpath +336.177 481.176 m +337.31 481.116 l +S +newpath +327.635 483.338 m +328.768 483.277 l +S +newpath +336.693 482.852 m +337.825 482.791 l +S +newpath +329.849 484.923 m +330.982 484.862 l +S +newpath +338.907 484.437 m +340.039 484.376 l +S +newpath +327.786 478.22 m +328.919 478.159 l +S +newpath +336.844 477.734 m +337.977 477.673 l +S +newpath +328.302 479.896 m +329.434 479.835 l +S +newpath +337.36 479.41 m +338.492 479.349 l +S +newpath +328.818 481.571 m +329.95 481.511 l +S +newpath +337.876 481.085 m +339.008 481.025 l +S +newpath +329.334 483.247 m +330.466 483.186 l +S +newpath +338.392 482.761 m +339.524 482.7 l +S +/Times-Roman 12 sf +(...) +274 515 T +(...) +[1.19434e-15 1 -1 1.19434e-15 100.839 735.074] T +(...) +[1.19434e-15 1 -1 1.19434e-15 469.344 735.074] T +newpath +223.937 643.466 m +218.268 637.796 l +232.441 623.623 l +274.961 623.623 l +283.465 615.119 l +291.969 623.623 l +1.98425 w +1 j +1 J +S +newpath +291.969 623.623 m +334.489 623.623 l +348.662 637.796 l +342.993 643.466 l +S +(HP-UX) +122 674 T +(HP-UX) +405 674 T +newpath +168.378 595.276 m +165.544 595.276 l +165.544 592.442 l +168.378 592.442 l +1 w +0 j +0 J +S +newpath +158.74 600.945 m +155.906 600.945 l +155.906 598.111 l +158.74 598.111 l +S +newpath +158.74 586.772 m +167.244 586.772 l +167.244 581.103 l +192.757 581.103 l +192.757 586.772 l +212.598 586.772 l +212.598 603.78 l +158.74 603.78 l +158.74 609.449 l +158.74 581.103 l +closepath +1 1 1 rgb +F +158.74 586.772 m +167.244 586.772 l +167.244 581.103 l +192.757 581.103 l +192.757 586.772 l +212.598 586.772 l +212.598 603.78 l +158.74 603.78 l +158.74 609.449 l +158.74 581.103 l +0 0 0 rgb +S +newpath +170.078 586.772 m +170.078 581.103 l +S +newpath +175.748 586.772 m +175.748 581.103 l +S +newpath +172.914 586.772 m +172.914 581.103 l +S +newpath +178.583 586.772 m +178.583 581.103 l +S +newpath +181.418 586.772 m +181.418 581.103 l +S +newpath +184.253 586.772 m +184.253 581.103 l +S +newpath +187.087 586.772 m +187.087 581.103 l +S +newpath +189.921 586.772 m +189.921 581.103 l +S +(NIC) +172 592 T +newpath +366.803 595.276 m +363.969 595.276 l +363.969 592.442 l +366.803 592.442 l +S +newpath +357.165 600.945 m +354.331 600.945 l +354.331 598.111 l +357.165 598.111 l +S +newpath +357.165 586.772 m +365.669 586.772 l +365.669 581.103 l +391.182 581.103 l +391.182 586.772 l +411.023 586.772 l +411.023 603.78 l +357.165 603.78 l +357.165 609.449 l +357.165 581.103 l +closepath +1 1 1 rgb +F +357.165 586.772 m +365.669 586.772 l +365.669 581.103 l +391.182 581.103 l +391.182 586.772 l +411.023 586.772 l +411.023 603.78 l +357.165 603.78 l +357.165 609.449 l +357.165 581.103 l +0 0 0 rgb +S +newpath +368.503 586.772 m +368.503 581.103 l +S +newpath +374.173 586.772 m +374.173 581.103 l +S +newpath +371.339 586.772 m +371.339 581.103 l +S +newpath +377.008 586.772 m +377.008 581.103 l +S +newpath +379.843 586.772 m +379.843 581.103 l +S +newpath +382.678 586.772 m +382.678 581.103 l +S +newpath +385.512 586.772 m +385.512 581.103 l +S +newpath +388.346 586.772 m +388.346 581.103 l +S +(NIC) +371 592 T +[56.693 0 0 -28.3465 70.8662 728.505] rect +S +[56.693 0 0 -28.3465 70.8662 779.529] rect +S +[56.693 0 0 -28.3465 439.371 779.529] rect +S +[56.693 0 0 -28.3465 439.371 728.505] rect +S +[56.693 0 0 -28.3465 155.906 728.505] rect +S +[56.693 0 0 -28.3465 354.331 728.505] rect +S +(Package) +79 711 T +(Package) +79 762 T +(Package) +447 762 T +(Package) +447 711 T +(MC/S) +368 711 T +newpath +238.111 527.245 m +238.111 538.583 l +323.15 538.583 l +323.15 527.245 l +S +newpath +323.15 538.583 m +377.008 538.583 l +377.008 569.765 l +S +newpath +238.111 538.583 m +178.583 538.583 l +178.583 569.765 l +S +(MC/S) +170 711 T +[147.402 0 0 -204.095 351.497 782.363] rect +0.283465 w +[1.41733 0.283465 0.283465 0.283465 ] 0 d +S +[147.402 0 0 -204.095 68.0316 782.363] rect +S +[65.197 0 0 -34.0158 252.284 612.284] rect +S +[-28.3465 0 0 7.08663 283.465 588.19] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.992126 w +0 j +0 J +[] 0 d +S +[-28.3465 0 0 7.08663 283.465 595.277] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.992126 w +0 j +0 J +[] 0 d +S +[-28.3465 0 0 7.08663 283.465 602.363] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.992126 w +0 j +0 J +[] 0 d +S +/Times-Roman 12 sf +(Disk) +272 598 T +[-28.3465 0 0 7.08663 99.2128 588.19] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.992126 w +0 j +0 J +[] 0 d +S +[-28.3465 0 0 7.08663 99.2128 595.277] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.992126 w +0 j +0 J +[] 0 d +S +[-28.3465 0 0 7.08663 99.2128 602.363] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.992126 w +0 j +0 J +[] 0 d +S +/Times-Roman 12 sf +(Disk) +87 598 T +[-28.3465 0 0 7.08663 467.717 588.19] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.992126 w +0 j +0 J +[] 0 d +S +[-28.3465 0 0 7.08663 467.717 595.277] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.992126 w +0 j +0 J +[] 0 d +S +[-28.3465 0 0 7.08663 467.717 602.363] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.992126 w +0 j +0 J +[] 0 d +S +/Times-Roman 12 sf +(Disk) +456 598 T +newpath +158.741 643.465 m +155.906 643.465 l +155.906 632.127 l +158.741 632.127 l +1 w +S +newpath +158.741 629.292 m +167.245 629.292 l +167.245 623.623 l +192.757 623.623 l +192.757 629.292 l +212.599 629.292 l +212.599 646.3 l +158.741 646.3 l +158.741 651.969 l +158.741 623.623 l +S +newpath +170.079 629.292 m +170.079 623.623 l +S +newpath +175.749 629.292 m +175.749 623.623 l +S +newpath +172.914 629.292 m +172.914 623.623 l +S +newpath +178.583 629.292 m +178.583 623.623 l +S +newpath +181.418 629.292 m +181.418 623.623 l +S +newpath +184.253 629.292 m +184.253 623.623 l +S +newpath +187.087 629.292 m +187.087 623.623 l +S +newpath +189.922 629.292 m +189.922 623.623 l +S +(SCSI) +170 635 T +newpath +357.166 643.465 m +354.331 643.465 l +354.331 632.127 l +357.166 632.127 l +S +newpath +357.166 629.292 m +365.67 629.292 l +365.67 623.623 l +391.182 623.623 l +391.182 629.292 l +411.024 629.292 l +411.024 646.3 l +357.166 646.3 l +357.166 651.969 l +357.166 623.623 l +S +newpath +368.504 629.292 m +368.504 623.623 l +S +newpath +374.174 629.292 m +374.174 623.623 l +S +newpath +371.339 629.292 m +371.339 623.623 l +S +newpath +377.008 629.292 m +377.008 623.623 l +S +newpath +379.843 629.292 m +379.843 623.623 l +S +newpath +382.678 629.292 m +382.678 623.623 l +S +newpath +385.512 629.292 m +385.512 623.623 l +S +newpath +388.347 629.292 m +388.347 623.623 l +S +(SCSI) +368 635 T +%%PageTrailer +showpage +%%Trailer +end +%%DocumentSuppliedResources: procset Linux-Sketch-Procset 1.0 2 +%%EOF + +%%EndDocument + @endspecial 382 2604 a + currentpoint currentpoint translate 1 0.81888 div 1 0.81888 div scale +neg exch neg exch translate + 382 2604 a 1070 2800 a Fp(Abbildung)h(2.2:)41 +b(HP)31 b(Beispielk)m(on\034guration)382 3075 y(Das)c(Prinzip)h(des)f +(F)-8 b(ailo)m(v)m(ers)29 b(ist)e(auc)m(h)h(das)f(Grundprinzip)i(der)e +(Clusterl\366sungen)i(f\374r)382 3188 y(Lin)m(ux)i(die)g(in)f(Kapitel)i +(6)e(v)m(orgestellt)i(w)m(erden.)382 3481 y Fo(2.3.3)112 +b(Beispielk)m(on\034guration)382 3702 y Fp(In)43 b(diesem)g(Absc)m +(hnitt)h(wird)g(eine)f(Beispielk)m(on\034guration)j(v)m(on)e(HP)f([W)-8 +b(ey96)q(])43 b(b)s(e-)382 3815 y(trac)m(h)m(tet,)h(die)c(eb)s(enfalls) +g(nac)m(h)h(dem)f(Prinzip)h(des)e(F)-8 b(ailo)m(v)m(ers)42 +b(arb)s(eitet.)69 b(Sie)40 b(ist)f(in)382 3928 y(Abbildung)h(2.2)f(sc)m +(hematisc)m(h)h(dargestellt.)66 b(HP)39 b(wurde)h(zuf\344llig)f(als)f +(Beispiel)h(ge-)382 4041 y(w)m(\344hlt,)32 b(ganz)f(\344hnlic)m(he)h +(Cluster)f(sind)f(auc)m(h)h(v)m(on)g(anderen)h(Herstellern)f +(erh\344ltlic)m(h.)382 4204 y(Die)i(lok)-5 b(alen)33 +b(F)-8 b(estplatten)34 b(der)f(Knoten)h(w)m(erden)g(f\374r)f(das)g +(Betriebssystem,)g(die)g(HA)382 4317 y(Soft)m(w)m(are)k(und)f(die)f +(Applik)-5 b(ationssoft)m(w)m(are)38 b(v)m(erw)m(endet.)57 +b(Die)36 b(Daten)g(der)f(Applik)-5 b(a-)382 4429 y(tionen)32 +b(hingegen)g(w)m(erden)h(auf)e(dem)h(v)m(on)f(b)s(eiden)h(Knoten)g(aus) +f(zug\344nglic)m(hen)j(F)-8 b(est-)382 4542 y(plattensystem)31 +b(\(shared)g(disk\))f(gesp)s(eic)m(hert.)382 4832 y Fn(2.3.3.1)103 +b(Shared)34 b(Disk)382 5054 y Fp(HP)f(realisiert)i(die)e(Shared)i(Disk) +d(mit)i(Hilfe)f(eines)h(SCSI-Busses.)49 b(Es)34 b(w)m(erden)g(zw)m(ei) +382 5167 y(SCSI-K)m(on)m(troller)c(an)d(einen)h(SCSI-Bus)f(angesc)m +(hlossen;)i(nat\374rlic)m(h)g(m)m(\374ssen)e(die)h(b)s(ei-)382 +5279 y(den)c(K)m(on)m(troller)i(auf)e(v)m(ersc)m(hiedene)h(SCSI-IDs)f +(k)m(on\034guriert)h(w)m(erden.)40 b(Die)24 b(heute)g(\374b-)382 +5392 y(lic)m(hen)j(SCSI-K)m(on)m(troller)i(hab)s(en)e(in)f(der)h(Regel) +f(b)s(ereits)g(aktiv)m(e)g(SCSI-T)-8 b(erminatoren)1831 +5622 y(12)p eop +%%Page: 13 15 +13 14 bop 382 264 a Fl(KAPITEL)31 b(2.)71 b(CLUSTERING)439 +b(2.3.)71 b(HOHE)30 b(VERF\334GBARKEIT)p 382 301 2989 +4 v 382 539 a Fp(in)m(tegriert,)36 b(die)e(allerdings)h(in)f(diesem)g +(An)m(w)m(endungsfall)h(nic)m(h)m(t)g(v)m(erw)m(endet)h(w)m(erden)382 +652 y(k)m(\366nnen.)64 b(W)-8 b(enn)39 b(ein)g(Knoten)g(des)e(Clusters) +i(nic)m(h)m(t)g(in)f(Betrieb)h(ist,)h(ist)e(somit)g(der)382 +764 y(aktiv)m(e)h(T)-8 b(erminator)41 b(ohne)e(V)-8 b(ersorgung,)43 +b(und)c(der)g(gesam)m(te)h(SCSI-Bus)f(ist)f(w)m(egen)382 +877 y(fehlender)31 b(T)-8 b(ermination)33 b(un)m(brauc)m(h)m(bar.)44 +b(Daher)31 b(m)m(\374ssen)g(die)g(in)m(ternen)h(T)-8 +b(erminato-)382 990 y(ren)24 b(deaktiviert,)h(der)f(SCSI-Bus)f(v)m +(erl\344ngert)i(und)f(an)f(den)h(Enden)h(des)e(Busses)f(exter-)382 +1103 y(ne)34 b(T)-8 b(erminatoren)36 b(angesc)m(hlossen)f(w)m(erden.)51 +b(Viele)34 b(SCSI-K)m(on)m(troller)j(hab)s(en)d(einen)382 +1216 y(externen)f(und)g(einen)g(in)m(ternen)h(Ansc)m(hlu\377.)48 +b(W\374rde)33 b(man)g(den)f(externen)i(T)-8 b(ermina-)382 +1329 y(tor)32 b(am)g(in)m(ternen)i(Ansc)m(hlu\377)f(des)e(SCSI-K)m(on)m +(trollers)k(an)m(bringen,)f(k)m(\366nn)m(te)g(man)e(den)382 +1442 y(Knoten)25 b(nic)m(h)m(t)g(v)m(om)f(SCSI-Bus)g(trennen.)39 +b(Daher)24 b(ist)g(es)f(un)m(b)s(edingt)i(not)m(w)m(endig,)j(die-)382 +1555 y(sen)g(T)-8 b(erminator)31 b(am)d(externen)h(Bus)f(anzubringen.) +42 b(Daf\374r)28 b(w)m(erden)i(SCSI-Y-Kab)s(el)382 1668 +y(b)s(en\366tigt.)382 1819 y(Diese)23 b(Kab)s(el)h(sind)g(\026)f +(au\377er)i(b)s(ei)e(den)h(HA-System-An)m(bietern)h(\026)e(fast)g(nic)m +(h)m(t)j(erh\344lt-)382 1932 y(lic)m(h.)55 b(Eine)36 +b(Umfrage)f(auf)f(der)i(Lin)m(ux-HA)f(Mailingliste)h(hat)f(ergeb)s(en,) +i(da\377)e(es)g(n)m(ur)382 2045 y(einen)c(einzigen)g(H\344ndler)f(in)g +(Europa)i(gibt,)e(der)h(diese)f(Kab)s(el)g(in)g(seinem)g(Sortimen)m(t) +382 2158 y(hat.)382 2310 y(T)-8 b(ritt)38 b(ein)g(Problem)h(auf)e(dem)h +(SCSI-Bus)f(auf,)i(wird)f(z.B.)g(der)g(T)-8 b(erminator)39 +b(v)m(erse-)382 2423 y(hen)m(tlic)m(h)32 b(en)m(tfern)m(t,)h(so)d(sind) +g(die)h(Zugri\033sw)m(ege)h(b)s(eider)e(Knoten)i(un)m(terbro)s(c)m +(hen.)43 b(Ein)382 2535 y(Shared)32 b(SCSI-Bus)f(ist)g(ein)h(SPOF)g +(\(single)g(p)s(oin)m(t)f(of)g(failure\))h(f\374r)f(den)h(ganzen)g +(Clu-)382 2648 y(ster.)68 b(Daher)41 b(wird)f(b)s(ei)f(den)h(Clustern)h +(v)m(on)f(HP)f(der)h(Shared)h(SCSI-Bus)f(dopp)s(elt)382 +2761 y(ausgef\374hrt.)79 b(F)-8 b(alls)43 b(eine)g(normale)h(SCSI-F)-8 +b(estplatte)45 b(am)e(Shared)h(SCSI-Bus)f(an-)382 2874 +y(gesc)m(hlossen)c(ist,)g(wird)g(diese)f(eb)s(enfalls)f(dopp)s(elt)i +(ausgef\374hrt,)i(und)d(zwisc)m(hen)h(den)382 2987 y(b)s(eiden)31 +b(F)-8 b(estplatten)32 b(sorgt)e(MirrorDisk/UX)g(f\374r)g(die)h +(Datenspiegelung.)382 3139 y(Neb)s(en)26 b(HP)g(v)m(erw)m(enden)i(auc)m +(h)f(andere)g(An)m(bieter)h(v)m(on)e(Unix-basierten)h(HA-Cluster-)382 +3252 y(L\366sungen)e(einen)g(Shared)g(SCSI-Bus,)g(sogar)f(im)h(Lin)m +(ux-HA-HO)m(WTO)g([Mil98)q(])f(wird)382 3365 y(die)31 +b(V)-8 b(erw)m(endung)32 b(dieses)e(Busses)g(v)m(orgesc)m(hlagen.)382 +3516 y(Shared)i(Disks)e(k)m(\366nnen)j(neb)s(en)e(SCSI)g(auc)m(h)i(mit) +e(SSA,)h(Fib)s(er)f(Chanel)h(\(Switc)m(h)h(und)382 3629 +y(Arbitrated)42 b(Lo)s(op\),)i(Digitals)d(Star)h(Coupler)g(und)f(IBMs)f +(S/390)i(ESCON)g(imple-)382 3742 y(men)m(tiert)32 b(w)m(erden.)42 +b([P\03498)q(])382 4016 y Fn(2.3.3.2)103 b(Soft)m(w)m(are)382 +4226 y Fp(In)29 b(der)h(Clusterl\366sung)h(v)m(on)e(HP)h(\374b)s +(ernimm)m(t)h(MC/ServiceGuard)g(das)f(Starten)g(der)382 +4339 y(ho)s(c)m(h)m(v)m(erf\374gbaren)38 b(Applik)-5 +b(ationen.)58 b(F\374r)35 b(jede)h(ho)s(c)m(h)m(v)m(erf\374gbare)i +(Applik)-5 b(ation)36 b(m)m(u\377)382 4452 y(ein)24 b(sogenann)m(tes)i +(P)m(ac)m(k)-5 b(age)26 b(erstellt)f(w)m(erden.)40 b(Dieses)24 +b(P)m(ac)m(k)-5 b(age)26 b(en)m(th\344lt)g(Angab)s(en)e(zu)382 +4565 y(den)30 b(b)s(en\366tigten)h(Ressourcen)f(der)g(Applik)-5 +b(ation)30 b(so)m(wie)g(Shell-Skripts)h(zum)f(Starten)382 +4678 y(und)42 b(Stopp)s(en)g(der)g(Applik)-5 b(ation.)75 +b(Zu)41 b(den)h(erw)m(\344hn)m(ten)i(Ressourcen)e(z\344hlen)g(z.B.)382 +4790 y(IP-A)m(dressen,)31 b(Logic)g(V)-8 b(olumes)31 +b(und)g(Filesysteme.)382 4942 y(MC/ServiceGuard)42 b(l\344uft)g(auf)f +(allen)g(Knoten)h(des)f(Clusters.)73 b(Die)41 b(einzelnen)i(In-)382 +5055 y(stanzen)33 b(stehen)g(mit)h(Hilfe)e(v)m(on)h(Heartb)s(eat-P)m +(ak)m(eten,)j(die)e(\374b)s(er)e(ein)h(gemeinsames)382 +5168 y(Ethernet-Lan)40 b(v)m(ersc)m(hic)m(kt)f(w)m(erden,)i +(miteinander)f(in)d(V)-8 b(erbindung.)64 b(Reagiert)38 +b(ein)382 5281 y(System)c(auf)g(die)g(Heartb)s(eat-P)m(ak)m(ete)j(nic)m +(h)m(t)f(mehr,)f(wird)g(es)f(v)m(om)g(anderen)h(System)382 +5394 y(als)30 b(ausgefallen)h(b)s(etrac)m(h)m(tet.)1831 +5622 y(13)p eop +%%Page: 14 16 +14 15 bop 382 264 a Fl(KAPITEL)31 b(2.)71 b(CLUSTERING)439 +b(2.3.)71 b(HOHE)30 b(VERF\334GBARKEIT)p 382 301 2989 +4 v 382 539 a Fp(F)-8 b(alls)30 b(auf)f(dem)g(gerade)i(ausgefallenen)f +(System)f(Instanzen)h(v)m(on)g(P)m(ac)m(k)-5 b(ages)31 +b(gelaufen)382 652 y(sind,)45 b(wird)e(n)m(un)g(MC/ServiceGuard)g(die)g +(not)m(w)m(endigen)i(Ressourcen)d(einric)m(h)m(ten,)382 +764 y(z.B.)e(der)g(Netzw)m(erkk)-5 b(arte)41 b(die)g(en)m(tsprec)m +(hende)h(IP-A)m(dresse)e(zu)m(w)m(eisen,)k(das)c(SCSI-)382 +877 y(Ger\344t)35 b(auf)g(dem)g(Shared)h(SCSI-Bus)f(b)s(elegen,)h(die)g +(not)m(w)m(endigen)h(Filesysteme)e(an-)382 990 y(melden)i(und)f(sc)m +(hlie\377lic)m(h)i(die)e(Applik)-5 b(ation)36 b(erneut)h(starten.)57 +b(Laut)36 b(HP)g(dauert)h(so)382 1103 y(ein)e(Wiederanlauf)g(eines)f +(Soft)m(w)m(aresystems)i(45)e(Sekunden)i(zuz\374glic)m(h)g(der)e +(f\374r)h(das)382 1216 y(Anmelden)c(der)g(Filesysteme)f(b)s +(en\366tigten)i(Zeit.)382 1379 y(Daraus)e(lassen)f(sic)m(h)h(zw)m(ei)g +(Anforderungen)h(an)f(die)f(Soft)m(w)m(are)i(eines)f(Clusters)g(ablei-) +382 1492 y(ten:)518 1754 y Fd(\017)46 b Fp(Das)e(Filesystem)f(m)m +(u\377)i(in)f(der)g(Lage)g(sein,)k(nac)m(h)c(nic)m(h)m(t)i(ordn)m +(ungsgem\344\377er)609 1867 y(Abmeldung)40 b(binnen)f(sehr)f(kurzer)h +(Zeit)g(wieder)g(v)m(erf\374gbar)g(zu)f(sein.)65 b(Diese)609 +1980 y(Anforderung)34 b(k)-5 b(ann)33 b(v)m(on)g(herk)m(\366mmlic)m +(hen)j(Filesystemen)d(nic)m(h)m(t)h(erf\374llt)f(w)m(er-)609 +2093 y(den,)j(da)e(diese)h(in)f(solc)m(h)h(einem)g(F)-8 +b(all)35 b(die)f(K)m(onsistenz)i(der)e(Datenstrukturen)609 +2206 y(auf)c(der)h(F)-8 b(estplatte)32 b(\374b)s(erpr\374fen)f(m)m +(\374ssen.)518 2393 y Fd(\017)46 b Fp(Die)41 b(Applik)-5 +b(ationen)43 b(m)m(\374ssen)f(in)f(der)g(Lage)h(sein,)i(nac)m(h)f(nic)m +(h)m(t)g(ordn)m(ungsge-)609 2506 y(m\344\377er)j(Beendigung)g(wieder)g +(starten)f(zu)g(k)m(\366nnen.)85 b(Sie)45 b(m)m(\374ssen)g(z.B.)g(mit) +609 2619 y(Ink)m(onsistenzen)31 b(in)g(ihren)g(dynamisc)m(hen)h +(Daten\034les)f(zurec)m(h)m(tk)m(ommen.)382 2909 y Fn(2.3.3.3)103 +b(Filesystem)382 3130 y Fp(HP)37 b(setzt)g(sein)g(hauseigenes)h +(Online-Journaling-Filesystem)j(ein,)e(das)e(\304nderun-)382 +3243 y(gen)28 b(der)f(Filesystemgr\366\377e,)i(w)m(\344hrend)g(es)e(im) +h(System)f(angemeldet)i(ist,)f(un)m(terst\374tzt.)382 +3356 y(Der)33 b(Journaling-Mec)m(hanism)m(us)k(stellt)d(sic)m(her,)h +(da\377)f(die)f(Datenstrukturen)i(auf)e(der)382 3469 +y(F)-8 b(estplatte)29 b(auc)m(h)f(nac)m(h)h(einem)f(Ausfall)g(eines)f +(Knotens)i(v)m(om)f(anderen)g(Knoten)h(wie-)382 3582 +y(der)37 b(rasc)m(h)h(in)g(einen)g(k)m(onsisten)m(ten)g(Zustand)g +(gebrac)m(h)m(t)i(w)m(erden)e(k)m(\366nnen.)62 b(Es)37 +b(darf)382 3695 y(ab)s(er)30 b(immer)h(n)m(ur)g(ein)g(Knoten)g(das)f +(Filesystem)g(auf)g(der)h(Shared)g(Disk)f(angemeldet)382 +3808 y(hab)s(en.)382 3971 y(Da)41 b(b)s(ei)f(sim)m(ultanen)j(V)-8 +b(ersuc)m(hen,)45 b(das)40 b(Filesystem)h(anzumelden,)k(der)c(Inhalt)g +(der)382 4084 y(F)-8 b(estplatte)33 b(un)m(widerru\035ic)m(h)i +(zerst\366rt)d(w)m(erden)i(w\374rde,)f(v)m(erw)m(endet)h(HP)d(ein)h(sp) +s(eziel-)382 4196 y(les)38 b(SCSI-Lo)s(c)m(k-K)m(ommando,)45 +b(um)39 b(sic)m(herzustellen,)j(da\377)d(immer)h(n)m(ur)f(ein)g(Knoten) +382 4309 y(auf)34 b(die)g(Shared)h(Disk)e(zugreift.)53 +b(Stellt)34 b(der)h(HP/UX)f(Kernel)g(fest,)h(da\377)f(der)h(ande-)382 +4422 y(re)j(Knoten)g(das)g(SCSI-Lo)s(c)m(k-K)m(ommando)j(ausf\374hrt,)f +(b)s(eendet)e(er)g(sofort)f(all)h(seine)382 4535 y(Aktivit\344ten)31 +b(und)f(legt)h(das)f(System)h(mit)f(einer)h(Kernel-P)m(anik)i(still.) +382 4825 y Fn(2.3.3.4)103 b(Netzw)m(erk)382 5047 y Fp(In)30 +b(der)i(Minimalk)m(on\034guration)h(\(wie)f(in)f(Abbildung)h(2.2)f(auf) +g(Seite)g(12)g(dargestellt\))382 5159 y(gibt)i(es)f(ein)i(Netzw)m +(erksegmen)m(t,)h(das)e(so)m(w)m(ohl)h(f\374r)f(die)g(Heartb)s(eat-P)m +(ak)m(ete)i(als)d(auc)m(h)382 5272 y(den)47 b(Netzw)m(erkv)m(erk)m(ehr) +j(zwisc)m(hen)e(Clien)m(ts)g(und)f(Serv)m(er-Applik)-5 +b(ation)49 b(v)m(erw)m(endet)382 5385 y(wird.)1831 5622 +y(14)p eop +%%Page: 15 17 +15 16 bop 382 264 a Fl(KAPITEL)31 b(2.)71 b(CLUSTERING)439 +b(2.3.)71 b(HOHE)30 b(VERF\334GBARKEIT)p 382 301 2989 +4 v 382 539 a Fp(MC/ServiceGuard)25 b(un)m(terst\374tzt)g(ab)s(er)e +(auc)m(h)h(redundan)m(te)i(K)m(on\034gurationen:)40 b(Jeder)382 +652 y(Knoten)24 b(v)m(erf\374gt)g(\374b)s(er)g(zw)m(ei)g(Netzw)m(erkk) +-5 b(arten)25 b(in)f(einem)g(o)s(der)g(mehreren)g(Netzw)m(erk-)382 +764 y(segmen)m(ten,)42 b(die)d(redundan)m(t)i(durc)m(h)e(Bridges,)i +(die)e(das)g(Spanning-T)-8 b(ree)41 b(Protok)m(oll)382 +877 y(un)m(terst\374tzen,)32 b(v)m(ernetzt)g(sind.)1831 +5622 y(15)p eop +%%Page: 16 18 +16 17 bop 382 1211 a Fk(Kapitel)62 b(3)382 1676 y Fm(DRBD)71 +b(Design)382 2171 y Fp(Ein)35 b(Shared)g(SCSI-Bus)f(hat)h(eine)g(Reihe) +f(v)m(on)g(Nac)m(h)m(teilen,)k(die)c(ihn)h(als)f(Standard-)382 +2284 y(l\366sung)43 b(f\374r)g(HA-Cluster)g(auf)g(der)g(Basis)g(v)m(on) +g(Lin)m(ux)h(nic)m(h)m(t)h(geeignet)f(ersc)m(heinen)382 +2397 y(lassen:)518 2659 y Fd(\017)i Fp(Sehr)30 b(T)-8 +b(euer:)41 b(Zw)m(ei)29 b(SCSI-K)m(on)m(troller)j(pro)d(Knoten,)i(zw)m +(ei)e(SCSI-F)-8 b(estplatten.)609 2772 y(Die)30 b(b)s(ei)f(heutigen)i +(PC)g(Motherb)s(oards)f(zur)g(Standardausstattung)i(geh\366ren-)609 +2885 y(den)f(IDE-K)m(on)m(troller)i(w\374rden)f(zum)e(T)-8 +b(eil)32 b(un)m(b)s(elegt)f(bleib)s(en.)518 3072 y Fd(\017)46 +b Fp(Geringe)41 b(lok)-5 b(ale)40 b(Ausdehn)m(ung:)60 +b(Die)40 b(geringen)h(Maximall\344ngen)g(des)e(SCSI-)609 +3185 y(Busses)g(v)m(erhindern)j(die)e(Aufteilung)h(der)f(Knoten)h(auf)e +(mehrere)i(Geb\344ude;)609 3298 y(genau)31 b(das)f(w\374rde)h(jedo)s(c) +m(h)g(w)m(esen)m(tlic)m(h)i(b)s(essere)d(Chancen)h(bieten,)h(Katastro-) +609 3411 y(phen)f(wie)g(F)-8 b(euer)32 b(o)s(der)e(W)-8 +b(asserein)m(bruc)m(h)33 b(ohne)e(T)-8 b(otalausfall)32 +b(zu)f(\374b)s(erstehen.)609 3524 y(Eine)g(\334b)s(ersic)m(h)m(t)h +(\374b)s(er)e(die)h(SCSI-Standards)h(und)e(deren)h(Maximall\344ngen:)p +609 3662 2788 4 v 607 3774 4 113 v 660 3741 a(SCSI)f(Bezeic)m(hn)m(ung) +p 1428 3774 V 103 w(MB/sec)p 1835 3774 V 100 w(Datenleitungen)p +2536 3774 V 102 w(L\344nge)h([m])p 3029 3774 V 100 w(Ger\344te)p +3395 3774 V 609 3778 2788 4 v 609 3794 V 607 3907 4 113 +v 882 3873 a(SCSI)g(1)p 1428 3907 V 455 w(5)p 1835 3907 +V 509 w(8)p 2536 3907 V 552 w(6)p 3029 3907 V 384 w(7)p +3395 3907 V 609 3911 2788 4 v 607 4024 4 113 v 882 3990 +a(SCSI)g(2)p 1428 4024 V 455 w(5)p 1835 4024 V 509 w(8)p +2536 4024 V 552 w(6)p 3029 4024 V 384 w(7)p 3395 4024 +V 609 4027 2788 4 v 607 4140 4 113 v 821 4106 a(F)-8 +b(ast)31 b(SCSI)p 1428 4140 V 371 w(10)p 1835 4140 V +487 w(8)p 2536 4140 V 552 w(3)p 3029 4140 V 384 w(7)p +3395 4140 V 609 4143 2788 4 v 607 4256 4 113 v 801 4222 +a(Wide)f(SCSI)p 1428 4256 V 351 w(20)p 1835 4256 V 464 +w(16)p 2536 4256 V 530 w(6)p 3029 4256 V 362 w(15)p 3395 +4256 V 609 4259 2788 4 v 607 4372 4 113 v 801 4338 a(Ultra)g(SCSI)p +1428 4372 V 351 w(20)p 1835 4372 V 487 w(8)p 2536 4372 +V 517 w(1,5)p 3029 4372 V 349 w(7)p 3395 4372 V 609 4376 +2788 4 v 607 4488 4 113 v 682 4455 a(Ultra)g(Wide)h(SCSI)p +1428 4488 V 231 w(40)p 1835 4488 V 464 w(16)p 2536 4488 +V 495 w(1,5)p 3029 4488 V 327 w(15)p 3395 4488 V 609 +4492 2788 4 v 607 4605 4 113 v 659 4571 a(Ultra2)g(Wide)f(SCSI)p +1428 4605 V 209 w(40)p 1835 4605 V 464 w(16)p 2536 4605 +V 507 w(12)p 3029 4605 V 340 w(15)p 3395 4605 V 609 4608 +2788 4 v 607 4721 4 113 v 718 4687 a(Ultra)h(160)f(SCSI)p +1428 4721 V 245 w(160)p 1835 4721 V 442 w(16)p 2536 4721 +V 507 w(12)p 3029 4721 V 340 w(15)p 3395 4721 V 609 4724 +2788 4 v 607 4837 4 113 v 778 4803 a(Ultra3)h(SCSI)p +1428 4837 V 305 w(160)p 1835 4837 V 442 w(16)p 2536 4837 +V 507 w(12)p 3029 4837 V 340 w(15)p 3395 4837 V 609 4841 +2788 4 v 518 5057 a Fd(\017)46 b Fp(SCSI-Y-Kab)s(el)31 +b(sind)g(n)m(ur)g(sc)m(h)m(w)m(er)h(erh\344ltlic)m(h.)518 +5245 y Fd(\017)46 b Fp(Im)31 b(Gegensatz)h(zu)f(einem)h(Netzw)m(erkk)-5 +b(ab)s(el)31 b(ist)g(ein)h(SCSI-Kab)s(el)f(unhandlic)m(h)609 +5358 y(in)g(der)f(Handhabung.)1831 5622 y(16)p eop +%%Page: 17 19 +17 18 bop 382 262 a Fl(KAPITEL)31 b(3.)71 b(DRBD)30 b(DESIGN)712 +b(3.1.)71 b(DRBD)30 b(IM)g(KERNEL)p 382 299 2989 4 v +382 539 a Fp(Die)g(Idee)g(v)m(on)h(DRBD)1179 506 y Fg(1)1248 +539 y Fp(ist)f(es,)g(die)g(Daten)h(redundan)m(t)h(in)e(jedem)h(Knoten)g +(des)f(Clu-)382 652 y(sters)41 b(abzulegen)i(und)f(alle)h(V)-8 +b(er\344nderungen)44 b(der)e(Daten)g(an)g(alle)g(Mitglieder)h(des)382 +764 y(Clusters)35 b(\374b)s(er)f(ein)h(normales)g(IP-basiertes)g(Netzw) +m(erk)g(zu)g(\374b)s(ertragen.)54 b(F)-8 b(olgende)382 +877 y(Punkte)31 b(sprec)m(hen)h(f\374r)e(den)h(Einsatz)g(v)m(on)f +(DRBD:)518 1140 y Fd(\017)46 b Fp(W)-8 b(esen)m(tlic)m(h)38 +b(k)m(osteng\374nstiger:)54 b(Da)36 b(die)g(Daten)g(v)m(on)h(DRBD)e +(redundan)m(t)j(ge-)609 1253 y(sp)s(eic)m(hert)21 b(w)m(erden,)j(sind)d +(in)f(den)h(Knoten)g(k)m(eine)g(SCSI-)g(o)s(der)f(RAID-K)m(on)m +(troller)609 1365 y(not)m(w)m(endig,)25 b(und)c(es)f(k)m(\366nnen)h(so) +m(w)m(ohl)h(die)f(ohnehin)g(v)m(orhandenen)h(IDE-K)m(on)m(troller)609 +1478 y(als)37 b(auc)m(h)h(g\374nstige)g(IDE-F)-8 b(estplatten)39 +b(zum)e(Einsatz)h(k)m(ommen.)62 b(\(Eine)38 b(IDE)609 +1591 y(F)-8 b(estplatte)32 b(k)m(ostet)f(in)f(der)h(Regel)f(n)m(ur)h +(die)g(H\344lfte)f(einer)h(SCSI-F)-8 b(estplatte.\))518 +1779 y Fd(\017)46 b Fp(Beliebige)22 b(Ausdehn)m(ung:)36 +b(IP-basierende)22 b(Netzw)m(erk)m(e)g(k)m(\366nnen)f(die)g(ganze)g(W) +-8 b(elt)609 1892 y(umspannen.)41 b(Die)28 b(Knoten)g(des)g(Clusters)g +(k)m(\366nn)m(ten)h(sogar)f(auf)f(v)m(ersc)m(hiedenen)609 +2005 y(K)m(on)m(tinen)m(ten)40 b(stehen.)58 b(\(Bei)36 +b(gro\377er)h(Ausdehn)m(ung)g(sc)m(hr\344nkt)g(allerdings)g(die)609 +2118 y(gro\377e)d(V)-8 b(erz\366gerung)35 b(des)d(Netzw)m(erk)m(es)i +(den)g(Durc)m(hsatz)g(des)f(DRBD-Ger\344tes)609 2231 +y(stark)d(ein.\))518 2418 y Fd(\017)46 b Fp(Es)30 b(sind)h(n)m(ur)g +(Standard-Netzw)m(erkk)m(omp)s(onen)m(ten)k(erforderlic)m(h.)518 +2606 y Fd(\017)46 b Fp(Netzw)m(erkk)-5 b(ab)s(el)30 b(sind)g(w)m(esen)m +(tlic)m(h)i(einfac)m(her)f(in)e(der)h(Handhabung)h(als)e(SCSI-)609 +2719 y(Kab)s(el.)382 3055 y Fj(3.1)130 b(DRBD)44 b(im)g(Kernel)382 +3308 y Fp(In)39 b(Abbildung)h(3.1)g(sind)f(die)g(K)m(omp)s(onen)m(ten)j +(des)d(Lin)m(ux-Kernels)i(so)e(dargestellt,)382 3421 +y(wie)c(man)g(sie)f(auf)h(einem)g(herk)m(\366mmlic)m(hen)i(Serv)m(er)f +(v)m(or\034ndet.)54 b(Der)35 b(graue)g(Bereic)m(h)382 +3534 y(stellt)26 b(den)g(Kernel)g(dar.)40 b(Mit)25 b(Ausnahme)h(des)g +(F)-8 b(estplatten)m(treib)s(ers)28 b(sind)e(alle)g(darge-)382 +3646 y(stellten)j(K)m(omp)s(onen)m(ten)i(\034x)d(im)g(Kernel)h(v)m +(orhanden.)42 b(Da)28 b(es)g(m\366glic)m(h)i(ist,)e(F)-8 +b(estplat-)382 3759 y(ten)m(treib)s(er)30 b(in)f(einen)h(laufenden)g +(Lin)m(ux-Kernel)h(nac)m(hzuladen,)h(meldet)e(sic)m(h)f(DRBD)382 +3872 y(als)h(F)-8 b(estplatten)m(treib)s(er)33 b(im)e(Lin)m(ux-Kernel)h +(an.)41 b(\(Siehe)31 b(Abbildung)h(3.2\))382 4035 y(DRBD)22 +b(erh\344lt)h(v)m(om)g(Bu\033er-Cac)m(he)i(Subsystem)e(des)f(Kernels)h +(Sc)m(hreib-)i(und)e(Lesean-)382 4148 y(forderungen.)41 +b(Leseanforderungen)32 b(w)m(erden)f(durc)m(h)g(eine)f(Leseanforderung) +h(an)f(den)382 4261 y(lok)-5 b(alen)43 b(F)-8 b(estplatten)m(treib)s +(er)44 b(erf\374llt,)i(w)m(\344hrend)e(die)e(Daten)m(bl\366)s(c)m(k)m +(e,)48 b(die)42 b(v)m(on)h(einer)382 4374 y(Sc)m(hreibanforderung)28 +b(stammen,)g(auc)m(h)e(an)g(das)f(zw)m(eite)i(System)e(\374b)s(er)g +(das)h(Netzw)m(erk)382 4487 y(w)m(eitergegeb)s(en)35 +b(w)m(erden.)49 b(Dadurc)m(h)34 b(wird)f(der)g(Inhalt)g(der)g +(virtuellen)h(Shared)f(Disk)382 4600 y(auf)d(b)s(eiden)h(F)-8 +b(estplatten)32 b(des)e(Clusters)g(redundan)m(t)j(abgelegt.)382 +4762 y(Grunds\344tzlic)m(h)42 b(ist)e(f\374r)h(den)f(Betrieb)i(v)m(on)e +(DRBD)g(n)m(ur)i(eine)e(Netzw)m(erkk)-5 b(arte)42 b(pro)382 +4875 y(System)33 b(erforderlic)m(h.)49 b(Es)33 b(k)m(omm)m(t)h(ab)s(er) +f(nic)m(h)m(t)h(n)m(ur)f(DRBD)f(zugute,)j(w)m(enn)f(f\374r)e(die)382 +4988 y(V)-8 b(erbindung)41 b(zwisc)m(hen)f(den)f(Systemen)g(ein)g +(eigenes)h(Netz)f(zur)g(V)-8 b(erf\374gung)40 b(steh)m(t.)382 +5101 y(Dies)26 b(hilft)h(v)m(or)f(allem)i(der)e(Cluster-Soft)m(w)m +(are,)k(zwisc)m(hen)e(dem)f(Ausfall)f(eines)h(ganzen)382 +5214 y(Knotens)k(und)g(dem)g(Ausfall)e(einer)i(Netzw)m(erkk)-5 +b(arte)32 b(zu)f(un)m(tersc)m(heiden.)p 382 5275 1196 +4 v 486 5329 a Ff(1)520 5361 y Fe(Distributed)25 b(replicated)h(blo)r +(c)n(k)g(device)1831 5622 y Fp(17)p eop +%%Page: 18 20 +18 19 bop 382 262 a Fl(KAPITEL)31 b(3.)71 b(DRBD)30 b(DESIGN)712 +b(3.1.)71 b(DRBD)30 b(IM)g(KERNEL)p 382 299 2989 4 v +1156 2585 a + currentpoint currentpoint translate 0.79683 0.79683 scale neg exch +neg exch translate + 1156 2585 a @beginspecial 61 @llx 449 @lly +278 @urx 771 @ury 2170 @rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//scheme1.ps +%!PS-Adobe-3.0 EPSF-3.0 +%%For: Philipp Reisner +%%CreationDate: Wed Mar 15 09:13:19 2000 +%%Title: scheme1.ps +%%Creator: Sketch 0.6.5 +%%Pages: 1 +%%BoundingBox: 61 449 278 771 +%%Extensions: CMYK +%%DocumentSuppliedResources: (atend) +%%DocumentNeededResources: font Times-Roman +%%EndComments + +%%BeginProlog +%%BeginResource: procset Linux-Sketch-Procset 1.0 2 +/SketchDict 100 dict def +SketchDict begin +/bd { bind def } bind def +/x { exch } bd +/xd { exch def } bd +/PI 3.14159265358979323846264338327 def +/radgrad { 180 mul PI div } bd +/skstartmatrix matrix currentmatrix def +/tmpmat matrix def +/ISOLatin1Encoding dup where +{ pop pop } +{ [/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand +/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period +/slash /zero /one /two /three /four /five /six /seven /eight /nine /colon +/semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J +/K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash +/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i +/j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright +/asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve +/dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek +/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen +/registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu +/paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright +/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex +/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex +/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve +/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute +/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute +/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute +/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde +/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def +} +ifelse +/arct dup where +{pop pop} +{ +/arct {arcto pop pop pop pop} bd +} +ifelse +/size 0 def +/fontname 0 def +/newfont 0 def +/sf { +/size xd +/fontname xd +fontname findfont +dup /Encoding get StandardEncoding eq +{ +dup +length dict /newfont xd +{ +1 index +/FID ne +{ newfont 3 1 roll put } +{ pop pop } +ifelse +} forall +newfont /Encoding ISOLatin1Encoding put +fontname newfont definefont +} +if +size scalefont setfont +} bd +/pusht {matrix currentmatrix} bd +/popt {setmatrix} bd +/pushc {gsave} bd +/popc {grestore} bd +/rgb {setrgbcolor} bd +/w { setlinewidth } bd +/j { setlinejoin } bd +/J { setlinecap } bd +/d { setdash } bd +/F { eofill } bd +/f { closepath F } bd +/S { +pusht +skstartmatrix setmatrix stroke +popt +} bd +/s { closepath S } bd +/m { moveto } bd +/l { lineto } bd +/c { curveto } bd +/txt { +/tmpmat tmpmat currentmatrix def +dup type /arraytype eq {concat} {translate} ifelse +0 0 m +tmpmat +} bd +/T {txt x show popt} bd +/P {txt x true charpath popt} bd +/TP {txt x dup show 0 0 m true charpath popt} bd +/C {newpath 0 360 arc} bd +/R { +2 copy m +x 2 index l +x 2 index x l +l +closepath +} bd +/ellipse { +dup type /arraytype eq +{ +pusht x concat +0 0 1.0 C +popt +} +{ +pusht 5 1 roll +4 -1 roll concat +newpath +dup 2 eq { +0 0 m +} if +3 1 roll +radgrad x +radgrad x +0 0 1 5 -2 roll +arc +0 ne { closepath } if +popt +} +ifelse +} bd +/radius1 0 def +/radius2 0 def +/factor 0 def +/rect { +dup type /arraytype eq +{ +pusht x concat +0 0 m 1 0 l 1 1 l 0 1 l closepath +popt +} +{ +/radius2 xd +/radius1 xd +pusht x concat +radius1 radius2 div 1 scale +0 radius2 m +0 1 radius2 1 radius2 arct +radius2 radius1 div +dup 1 1 index 0 radius2 arct +0 0 0 radius2 arct +0 0 0 1 radius2 arct +closepath +popt +} +ifelse +} bd +/buf 0 def +/width 0 def +/height 0 def +/skcimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width 3 mul string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +false 3 colorimage +tmpmat setmatrix +} bd +/skgimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +image +tmpmat setmatrix +} bd +/rclip { +4 2 roll m +dup 0 x rlineto +x 0 rlineto +neg 0 x rlineto +closepath +clip +} bd +/skeps { +10 dict begin +/sk_state save def +concat +3 index neg 3 index neg translate +rclip +0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin +10 setmiterlimit [ ] 0 setdash +newpath +/sk_dict_count countdictstack def +/sk_count count 1 sub def +userdict begin +/showpage { } def +/languagelevel where +{ +pop +languagelevel 1 ne +{ +false setstrokeadjust +false setoverprint +} if +} if +} bd +/skepsend { +count sk_count sub { pop } repeat +countdictstack sk_dict_count sub { end } repeat +sk_state restore +end +} bd +/gradidx 0 def +/gradient { +3 mul array +/gradidx 0 def +} bd +/$ { +3 index gradidx 5 -1 roll put +2 index gradidx 1 add 4 -1 roll put +1 index gradidx 2 add 3 -1 roll put +/gradidx gradidx 3 add def +} bd +/! { +3 +{ +dup dup gradidx dup 3 1 roll 3 sub get put +/gradidx gradidx 1 add def +} +repeat +} bd +/gradcolor { +3 mul dup 2 add 1 exch % idx 1 idx+2 +{ +1 index exch % array array i +get % array component +exch % component array +} +for +4 1 roll +} bd +/x0 0 def /y0 0 def /x1 0 def /y1 0 def +/left 0 def /right 0 def /top 0 def /bottom 0 def +/numcolors 0 def +/axial { +/y1 xd /x1 xd /y0 xd /x0 xd +dup length 3 idiv /numcolors xd +pusht exch % ctm array +x0 x1 ne y0 y1 ne or +{ +x0 y0 translate +[x1 x0 sub y1 y0 sub dup neg 2 index 0 0] concat +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +0 gradcolor rgb clippath f +0 1 numcolors 1 sub +{ +dup numcolors div +3 1 roll +gradcolor rgb +exch +bottom right top R f +} +for +} +if +pop +popt +} bd +/r0 0 def /r1 0 def /dr 0 def +/radial { +/r1 xd /r0 xd /y0 xd /x0 xd +/dr r1 r0 sub def +dup length 3 idiv /numcolors xd +pusht exch % ctm array +r0 r1 ne +{ +x0 y0 translate +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +dr 0 gt {numcolors 1 sub}{0} ifelse gradcolor rgb +clippath f +dr 0 gt {numcolors 1 sub -1 0} { 0 1 numcolors 1 sub} ifelse +{ +dup numcolors div dr mul r0 add +3 1 roll +gradcolor rgb +exch +0 0 3 -1 roll C f +} +for +} +if +pop +popt +} bd +/max { +2 copy lt {exch} if pop +} bd +/conical { +pusht 5 1 roll +3 1 roll /y0 xd /x0 xd +x0 y0 translate +radgrad rotate +dup length 3 idiv /numcolors xd +clippath flattenpath pathbbox newpath +4 { abs 4 1 roll} repeat +3 { max } repeat +2 mul +dup scale +0 gradcolor rgb +0 0 1 0 360 arc f +1 1 numcolors 1 sub +{ +dup numcolors div 180 mul +3 1 roll +gradcolor rgb +exch +0 0 moveto +0 0 1 4 -1 roll dup neg arc +closepath f +} +for +pop +popt +} bd +/XStep 0 def /YStep 0 def /imagedata 0 def /components 0 def +/tileimage2 { +exch 4 2 roll +/height xd +/width xd +mark +/components 2 index +/PatternType 1 +/PaintType 1 +/TilingType 1 +/BBox [0 0 width height] +/XStep width +/YStep height +/PaintProc { +begin +XStep YStep 8 +matrix +imagedata +false +components +colorimage +end +} +counttomark 2 div cvi dup dict begin +{ def } repeat +pop currentdict end +dup +/imagedata +4 -1 roll +width height mul mul string +currentfile exch readhexstring pop +put +exch +makepattern +setpattern +clippath +eofill +} bd +/tileimage1 { +concat +/components xd +/height xd +/width xd +/imagedata +currentfile +width height mul components mul string +readhexstring pop +def +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +left width div floor width mul +bottom height div floor height mul +translate +top bottom sub height div ceiling cvi +{ +gsave +right left sub width div ceiling cvi +{ +width height 8 matrix +components 1 eq +{ +{ imagedata } +image +} +{ +imagedata +false components +colorimage +} +ifelse +width 0 translate +} +repeat +grestore +0 height translate +} +repeat +} bd +/makepattern where +{ +pop +/tileimage /tileimage2 load def +} +{ +/tileimage /tileimage1 load def +} +ifelse +end +%%EndResource +%%EndProlog + +%%BeginSetup +%%IncludeResource: font Times-Roman + +10.433 setmiterlimit +%%EndSetup + +%%Page: 1 1 +SketchDict begin +[215.433 0 0 -130.394 62.3622 702.992] rect +0.848 0.835 0.949 rgb +F +newpath +127.284 473.387 m +130.118 470.552 l +152.796 470.552 l +155.63 473.387 l +closepath +0.8 0.8 0.8 rgb +F +127.284 473.387 m +130.118 470.552 l +152.796 470.552 l +155.63 473.387 l +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[34.0158 0 0 -28.3465 124.449 501.733] rect +gsave +0.8 0.8 0.8 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[28.3465 0 0 -22.6772 127.284 498.899] rect +gsave +0.7 0.7 0.7 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[39.6282 -2.12668 -3.43822 -11.171 121.947 468.773] rect +S +newpath +122.957 466.447 m +124.089 466.386 l +S +newpath +120.894 459.744 m +122.026 459.684 l +S +newpath +121.41 461.42 m +122.542 461.359 l +S +newpath +121.926 463.096 m +123.058 463.035 l +S +newpath +122.441 464.771 m +123.574 464.71 l +S +newpath +124.655 466.356 m +125.788 466.295 l +S +newpath +122.593 459.653 m +123.725 459.592 l +S +newpath +123.108 461.329 m +124.24 461.268 l +S +newpath +123.624 463.004 m +124.756 462.944 l +S +newpath +124.14 464.68 m +125.272 464.619 l +S +newpath +126.354 466.265 m +127.486 466.204 l +S +newpath +124.291 459.562 m +125.423 459.501 l +S +newpath +124.807 461.238 m +125.939 461.177 l +S +newpath +125.322 462.913 m +126.455 462.852 l +S +newpath +125.838 464.589 m +126.97 464.528 l +S +newpath +128.052 466.173 m +129.184 466.113 l +S +newpath +125.989 459.471 m +127.121 459.41 l +S +newpath +126.505 461.146 m +127.637 461.086 l +S +newpath +127.021 462.822 m +128.153 462.761 l +S +newpath +127.536 464.498 m +128.669 464.437 l +S +newpath +129.751 466.082 m +130.883 466.021 l +S +newpath +127.688 459.38 m +128.82 459.319 l +S +newpath +128.203 461.055 m +129.336 460.995 l +S +newpath +128.719 462.731 m +129.851 462.67 l +S +newpath +129.235 464.407 m +130.367 464.346 l +S +newpath +131.449 465.991 m +132.581 465.93 l +S +newpath +129.386 459.289 m +130.518 459.228 l +S +newpath +129.902 460.964 m +131.034 460.903 l +S +newpath +130.417 462.64 m +131.55 462.579 l +S +newpath +130.933 464.315 m +132.065 464.255 l +S +newpath +133.147 465.9 m +134.279 465.839 l +S +newpath +131.084 459.197 m +132.217 459.137 l +S +newpath +131.6 460.873 m +132.732 460.812 l +S +newpath +132.116 462.549 m +133.248 462.488 l +S +newpath +132.631 464.224 m +133.764 464.164 l +S +newpath +134.846 465.809 m +135.978 465.748 l +S +newpath +132.783 459.106 m +133.915 459.046 l +S +newpath +133.298 460.782 m +134.431 460.721 l +S +newpath +133.814 462.458 m +134.946 462.397 l +S +newpath +134.33 464.133 m +135.462 464.072 l +S +newpath +136.544 465.718 m +137.676 465.657 l +S +newpath +134.481 459.015 m +135.613 458.954 l +S +newpath +134.997 460.691 m +136.129 460.63 l +S +newpath +135.512 462.366 m +136.645 462.306 l +S +newpath +136.028 464.042 m +137.16 463.981 l +S +newpath +138.242 465.627 m +139.375 465.566 l +S +newpath +136.179 458.924 m +137.312 458.863 l +S +newpath +136.695 460.6 m +137.827 460.539 l +S +newpath +137.211 462.275 m +138.343 462.214 l +S +newpath +137.727 463.951 m +138.859 463.89 l +S +newpath +139.941 465.535 m +141.073 465.475 l +S +newpath +137.878 458.833 m +139.01 458.772 l +S +newpath +138.393 460.508 m +139.526 460.448 l +S +newpath +138.909 462.184 m +140.041 462.123 l +S +newpath +139.425 463.86 m +140.557 463.799 l +S +newpath +141.639 465.444 m +142.771 465.383 l +S +newpath +139.576 458.742 m +140.708 458.681 l +S +newpath +140.092 460.417 m +141.224 460.357 l +S +newpath +140.608 462.093 m +141.74 462.032 l +S +newpath +141.123 463.769 m +142.255 463.708 l +S +newpath +143.337 465.353 m +144.47 465.292 l +S +newpath +152.395 464.867 m +153.527 464.806 l +S +newpath +141.274 458.651 m +142.407 458.59 l +S +newpath +150.332 458.164 m +151.464 458.104 l +S +newpath +141.79 460.326 m +142.922 460.265 l +S +newpath +150.848 459.84 m +151.98 459.779 l +S +newpath +142.306 462.002 m +143.438 461.941 l +S +newpath +151.364 461.516 m +152.496 461.455 l +S +newpath +142.822 463.677 m +143.954 463.617 l +S +newpath +151.879 463.191 m +153.012 463.131 l +S +newpath +145.036 465.262 m +146.168 465.201 l +S +newpath +154.094 464.776 m +155.226 464.715 l +S +newpath +142.973 458.559 m +144.105 458.499 l +S +newpath +152.031 458.073 m +153.163 458.013 l +S +newpath +143.488 460.235 m +144.621 460.174 l +S +newpath +152.546 459.749 m +153.679 459.688 l +S +newpath +144.004 461.911 m +145.136 461.85 l +S +newpath +153.062 461.425 m +154.194 461.364 l +S +newpath +144.52 463.586 m +145.652 463.526 l +S +newpath +153.578 463.1 m +154.71 463.039 l +S +newpath +146.734 465.171 m +147.866 465.11 l +S +newpath +155.792 464.685 m +156.924 464.624 l +S +newpath +144.671 458.468 m +145.803 458.408 l +S +newpath +153.729 457.982 m +154.861 457.921 l +S +newpath +145.187 460.144 m +146.319 460.083 l +S +newpath +154.245 459.658 m +155.377 459.597 l +S +newpath +145.703 461.82 m +146.835 461.759 l +S +newpath +154.76 461.333 m +155.893 461.273 l +S +newpath +146.218 463.495 m +147.351 463.434 l +S +newpath +155.276 463.009 m +156.408 462.948 l +S +newpath +148.432 465.08 m +149.565 465.019 l +S +newpath +157.49 464.594 m +158.622 464.533 l +S +newpath +146.369 458.377 m +147.502 458.316 l +S +newpath +155.427 457.891 m +156.56 457.83 l +S +newpath +146.885 460.053 m +148.017 459.992 l +S +newpath +155.943 459.567 m +157.075 459.506 l +S +newpath +147.401 461.728 m +148.533 461.668 l +S +newpath +156.459 461.242 m +157.591 461.182 l +S +newpath +147.917 463.404 m +149.049 463.343 l +S +newpath +156.975 462.918 m +158.107 462.857 l +S +newpath +210.035 473.387 m +212.869 470.552 l +235.547 470.552 l +238.381 473.387 l +closepath +0.8 0.8 0.8 rgb +F +210.035 473.387 m +212.869 470.552 l +235.547 470.552 l +238.381 473.387 l +0 0 0 rgb +S +[34.0158 0 0 -28.3465 207.2 501.733] rect +gsave +0.8 0.8 0.8 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[28.3465 0 0 -22.6772 210.035 498.899] rect +gsave +0.7 0.7 0.7 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[39.6282 -2.12668 -3.43822 -11.171 204.698 468.773] rect +S +newpath +205.708 466.447 m +206.84 466.386 l +S +newpath +203.645 459.744 m +204.777 459.684 l +S +newpath +204.161 461.42 m +205.293 461.359 l +S +newpath +204.677 463.096 m +205.809 463.035 l +S +newpath +205.192 464.771 m +206.325 464.71 l +S +newpath +207.406 466.356 m +208.539 466.295 l +S +newpath +205.344 459.653 m +206.476 459.592 l +S +newpath +205.859 461.329 m +206.991 461.268 l +S +newpath +206.375 463.004 m +207.507 462.944 l +S +newpath +206.891 464.68 m +208.023 464.619 l +S +newpath +209.105 466.265 m +210.237 466.204 l +S +newpath +207.042 459.562 m +208.174 459.501 l +S +newpath +207.558 461.238 m +208.69 461.177 l +S +newpath +208.073 462.913 m +209.206 462.852 l +S +newpath +208.589 464.589 m +209.721 464.528 l +S +newpath +210.803 466.173 m +211.935 466.113 l +S +newpath +208.74 459.471 m +209.872 459.41 l +S +newpath +209.256 461.146 m +210.388 461.086 l +S +newpath +209.772 462.822 m +210.904 462.761 l +S +newpath +210.287 464.498 m +211.42 464.437 l +S +newpath +212.502 466.082 m +213.634 466.021 l +S +newpath +210.439 459.38 m +211.571 459.319 l +S +newpath +210.954 461.055 m +212.087 460.995 l +S +newpath +211.47 462.731 m +212.602 462.67 l +S +newpath +211.986 464.407 m +213.118 464.346 l +S +newpath +214.2 465.991 m +215.332 465.93 l +S +newpath +212.137 459.289 m +213.269 459.228 l +S +newpath +212.653 460.964 m +213.785 460.903 l +S +newpath +213.168 462.64 m +214.301 462.579 l +S +newpath +213.684 464.315 m +214.816 464.255 l +S +newpath +215.898 465.9 m +217.03 465.839 l +S +newpath +213.835 459.197 m +214.968 459.137 l +S +newpath +214.351 460.873 m +215.483 460.812 l +S +newpath +214.867 462.549 m +215.999 462.488 l +S +newpath +215.382 464.224 m +216.515 464.164 l +S +newpath +217.597 465.809 m +218.729 465.748 l +S +newpath +215.534 459.106 m +216.666 459.046 l +S +newpath +216.049 460.782 m +217.182 460.721 l +S +newpath +216.565 462.458 m +217.697 462.397 l +S +newpath +217.081 464.133 m +218.213 464.072 l +S +newpath +219.295 465.718 m +220.427 465.657 l +S +newpath +217.232 459.015 m +218.364 458.954 l +S +newpath +217.748 460.691 m +218.88 460.63 l +S +newpath +218.263 462.366 m +219.396 462.306 l +S +newpath +218.779 464.042 m +219.911 463.981 l +S +newpath +220.993 465.627 m +222.126 465.566 l +S +newpath +218.93 458.924 m +220.063 458.863 l +S +newpath +219.446 460.6 m +220.578 460.539 l +S +newpath +219.962 462.275 m +221.094 462.214 l +S +newpath +220.478 463.951 m +221.61 463.89 l +S +newpath +222.692 465.535 m +223.824 465.475 l +S +newpath +220.629 458.833 m +221.761 458.772 l +S +newpath +221.144 460.508 m +222.277 460.448 l +S +newpath +221.66 462.184 m +222.792 462.123 l +S +newpath +222.176 463.86 m +223.308 463.799 l +S +newpath +224.39 465.444 m +225.522 465.383 l +S +newpath +222.327 458.742 m +223.459 458.681 l +S +newpath +222.843 460.417 m +223.975 460.357 l +S +newpath +223.359 462.093 m +224.491 462.032 l +S +newpath +223.874 463.769 m +225.006 463.708 l +S +newpath +226.088 465.353 m +227.221 465.292 l +S +newpath +235.146 464.867 m +236.278 464.806 l +S +newpath +224.025 458.651 m +225.158 458.59 l +S +newpath +233.083 458.164 m +234.215 458.104 l +S +newpath +224.541 460.326 m +225.673 460.265 l +S +newpath +233.599 459.84 m +234.731 459.779 l +S +newpath +225.057 462.002 m +226.189 461.941 l +S +newpath +234.115 461.516 m +235.247 461.455 l +S +newpath +225.573 463.677 m +226.705 463.617 l +S +newpath +234.63 463.191 m +235.763 463.131 l +S +newpath +227.787 465.262 m +228.919 465.201 l +S +newpath +236.845 464.776 m +237.977 464.715 l +S +newpath +225.724 458.559 m +226.856 458.499 l +S +newpath +234.782 458.073 m +235.914 458.013 l +S +newpath +226.239 460.235 m +227.372 460.174 l +S +newpath +235.297 459.749 m +236.43 459.688 l +S +newpath +226.755 461.911 m +227.887 461.85 l +S +newpath +235.813 461.425 m +236.945 461.364 l +S +newpath +227.271 463.586 m +228.403 463.526 l +S +newpath +236.329 463.1 m +237.461 463.039 l +S +newpath +229.485 465.171 m +230.617 465.11 l +S +newpath +238.543 464.685 m +239.675 464.624 l +S +newpath +227.422 458.468 m +228.554 458.408 l +S +newpath +236.48 457.982 m +237.612 457.921 l +S +newpath +227.938 460.144 m +229.07 460.083 l +S +newpath +236.996 459.658 m +238.128 459.597 l +S +newpath +228.454 461.82 m +229.586 461.759 l +S +newpath +237.511 461.333 m +238.644 461.273 l +S +newpath +228.969 463.495 m +230.102 463.434 l +S +newpath +238.027 463.009 m +239.159 462.948 l +S +newpath +231.183 465.08 m +232.316 465.019 l +S +newpath +240.241 464.594 m +241.373 464.533 l +S +newpath +229.12 458.377 m +230.253 458.316 l +S +newpath +238.178 457.891 m +239.311 457.83 l +S +newpath +229.636 460.053 m +230.768 459.992 l +S +newpath +238.694 459.567 m +239.826 459.506 l +S +newpath +230.152 461.728 m +231.284 461.668 l +S +newpath +239.21 461.242 m +240.342 461.182 l +S +newpath +230.668 463.404 m +231.8 463.343 l +S +newpath +239.726 462.918 m +240.858 462.857 l +S +newpath +221.103 532.914 m +221.103 507.402 l +S +newpath +221.103 518.741 m +138.898 518.741 l +138.898 507.402 l +S +/Times-Roman 12 sf +(...) +175 496 T +newpath +201.26 558.425 m +198.425 558.425 l +198.425 555.591 l +201.26 555.591 l +S +newpath +201.26 544.252 m +209.764 544.252 l +209.764 538.583 l +235.276 538.583 l +235.276 544.252 l +255.118 544.252 l +255.118 561.26 l +201.26 561.26 l +201.26 566.929 l +201.26 538.583 l +S +newpath +212.598 544.252 m +212.598 538.583 l +S +newpath +218.268 544.252 m +218.268 538.583 l +S +newpath +215.433 544.252 m +215.433 538.583 l +S +newpath +221.102 544.252 m +221.102 538.583 l +S +newpath +223.937 544.252 m +223.937 538.583 l +S +newpath +226.772 544.252 m +226.772 538.583 l +S +newpath +229.606 544.252 m +229.606 538.583 l +S +newpath +232.441 544.252 m +232.441 538.583 l +S +(NIC) +217 549 T +[-85.0394 0 0 28.3464 155.906 581.102] rect +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[-85.0394 0 0 28.3464 269.291 581.102] rect +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[-85.0394 0 0 28.3464 155.906 623.622] rect +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +newpath +221.102 581.102 m +221.102 569.197 l +0.992126 w +S +pusht +221.102 569.197 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +232.441 566.929 m +232.441 578.835 l +1 w +S +pusht +232.441 578.835 translate +90 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +107.717 623.622 m +107.717 611.717 l +0.992126 w +S +pusht +107.717 611.717 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +119.055 609.449 m +119.055 621.354 l +1 w +S +pusht +119.055 621.354 translate +90 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +107.717 666.142 m +107.717 654.236 l +0.992126 w +S +pusht +107.717 654.236 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +119.055 651.968 m +119.055 663.874 l +1 w +S +pusht +119.055 663.874 translate +90 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +107.717 708.661 m +107.717 696.756 l +0.992126 w +S +pusht +107.717 696.756 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +119.055 694.488 m +119.055 706.394 l +1 w +S +pusht +119.055 706.394 translate +90 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +221.102 694.488 m +221.102 682.583 l +0.992126 w +S +pusht +221.102 682.583 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +232.441 680.315 m +232.441 692.22 l +1 w +S +pusht +232.441 692.22 translate +90 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +221.102 632.126 m +221.102 620.221 l +0.992126 w +S +pusht +221.102 620.221 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +232.441 617.953 m +232.441 629.858 l +1 w +S +pusht +232.441 629.858 translate +90 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +107.717 581.102 m +107.717 569.197 l +0.992126 w +S +pusht +107.717 569.197 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +119.055 566.929 m +119.055 578.835 l +1 w +S +pusht +119.055 578.835 translate +90 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +[-28.3465 0 0 7.08663 113.386 545.669] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.992126 w +0 j +0 J +[] 0 d +S +[-28.3465 0 0 7.08663 113.386 552.756] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.992126 w +0 j +0 J +[] 0 d +S +[-28.3465 0 0 7.08663 113.386 559.842] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.992126 w +0 j +0 J +[] 0 d +S +/Times-Roman 12 sf +(Disk) +102 555 T +(Disk driver) +86 592 T +(Disk scheduler) +81 626 T +(Buffer cache) +73 640 T +[85.0394 0 0 -28.3464 70.8661 694.488] rect +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[85.0394 0 0 -28.3464 184.252 668.976] rect +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +/Times-Roman 12 sf +(File system) +85 677 T +(NIC driver) +201 592 T +(TCP/IP) +209 649 T +[198.425 0 0 56.6929 70.8661 708.661] rect +S +(Service) +152 734 T +%%PageTrailer +showpage +%%Trailer +end +%%DocumentSuppliedResources: procset Linux-Sketch-Procset 1.0 2 +%%EOF + +%%EndDocument + @endspecial 1156 2585 a + currentpoint currentpoint translate 1 0.79683 div 1 0.79683 div scale +neg exch neg exch translate + 1156 2585 a 716 2781 a Fp(Abbildung)i(3.1:)41 +b(Daten\035u\377)31 b(in)g(einem)g(einfac)m(hen)h(Serv)m(ersystem)382 +3056 y Fo(3.1.1)112 b(Seman)m(tik)m(en)382 3278 y Fp(DRBD)41 +b(wurde)i(v)m(or)f(allem)h(f\374r)f(den)g(Einsatz)h(in)f(einem)h +(HA-Cluster)f(en)m(t)m(wic)m(k)m(elt,)382 3391 y(Lastv)m(erteilung)28 +b(wurde)e(dab)s(ei)g(nic)m(h)m(t)i(b)s(er\374c)m(ksic)m(h)m(tigt.)41 +b(Daher)26 b(wurde)h(bisher)f(auf)f(die)382 3504 y(exakte)i(Nac)m(h)m +(bildung)j(der)d(Seman)m(tik)i(einer)e(Shared)h(Disk)f(v)m(erzic)m(h)m +(tet.)42 b(F\374r)27 b(eine)h(ex-)382 3617 y(akte)c(Nac)m(h)m(bildung)j +(der)e(Seman)m(tik)h(m)m(\374\377ten)g(die)f(Daten,)h(w)m(enn)g(sie)e +(v)m(on)h(DRBD)e(\374b)s(er)382 3729 y(das)34 b(Netzw)m(erk)h +(empfangen)g(w)m(erden,)h(ohne)f(da\377)f(diese)g(im)g(Bu\033er-Cac)m +(he)i(abgelegt)382 3842 y(w)m(erden,)46 b(direkt)c(an)g(den)h(darun)m +(terliegenden)i(F)-8 b(estplatten)m(treib)s(er)44 b(w)m(eitergegeb)s +(en)382 3955 y(w)m(erden.)d(Diese)27 b(Seman)m(tik)h(w)m(\344re)g +(f\374r)f(den)g(Einsatz)h(eines)f(Shared-Disk)h(Filesystems)382 +4068 y(wie)j(z.B.)f(GFS)907 4035 y Fg(2)977 4068 y Fp([PBB+99)q(])g +(erforderlic)m(h.)382 4358 y Fn(3.1.1.1)103 b(GFS)382 +4580 y Fp(Im)42 b(Un)m(tersc)m(hied)i(zu)e(anderen)h(Filesystemen)g(k) +-5 b(ann)42 b(GFS)g(ein)g(Dateisystem,)k(das)382 4692 +y(auf)26 b(einer)i(Shared)f(Disk)f(liegt,)i(v)m(on)f(mehreren)h(Knoten) +g(aus)e(gleic)m(hzeitig)j(anmelden.)382 4805 y(Um)35 +b(die)g(Zugri\033e)h(der)g(Knoten)g(auf)f(die)g(Datenstrukturen)i(auf)d +(der)i(F)-8 b(estplatte)36 b(zu)382 4918 y(k)m(o)s(ordinieren,)h(ist)d +(ein)g(v)m(erteilter)i(K)m(o)s(ordinationsmec)m(hanism)m(us)i +(erforderlic)m(h.)54 b(Die)382 5031 y(GFS)29 b(En)m(t)m(wic)m(kler)k +(hab)s(en)d(dies)f(mit)h(Hilfe)f(eines)h(sp)s(eziellen)g(SCSI-K)m +(ommandos)i(im-)382 5144 y(plemen)m(tiert,)h(das)d(auc)m(h)h(im)g +(SCSI-Ger\344t)g(implemen)m(tiert)i(sein)d(m)m(u\377.)p +382 5206 1196 4 v 486 5259 a Ff(2)520 5291 y Fe(Global)d(Filesystem) +1831 5622 y Fp(18)p eop +%%Page: 19 21 +19 20 bop 382 262 a Fl(KAPITEL)31 b(3.)71 b(DRBD)30 b(DESIGN)712 +b(3.1.)71 b(DRBD)30 b(IM)g(KERNEL)p 382 299 2989 4 v +382 4014 a + currentpoint currentpoint translate 0.75989 0.75989 scale neg exch +neg exch translate + 382 4014 a @beginspecial 61 @llx 392 @lly +533 @urx 771 @ury 4720 @rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//scheme2.ps +%!PS-Adobe-3.0 EPSF-3.0 +%%For: Philipp Reisner +%%CreationDate: Wed Mar 15 09:15:38 2000 +%%Title: scheme2.ps +%%Creator: Sketch 0.6.5 +%%Pages: 1 +%%BoundingBox: 61 392 533 771 +%%Extensions: CMYK +%%DocumentSuppliedResources: (atend) +%%DocumentNeededResources: font Times-Roman +%%EndComments + +%%BeginProlog +%%BeginResource: procset Linux-Sketch-Procset 1.0 2 +/SketchDict 100 dict def +SketchDict begin +/bd { bind def } bind def +/x { exch } bd +/xd { exch def } bd +/PI 3.14159265358979323846264338327 def +/radgrad { 180 mul PI div } bd +/skstartmatrix matrix currentmatrix def +/tmpmat matrix def +/ISOLatin1Encoding dup where +{ pop pop } +{ [/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand +/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period +/slash /zero /one /two /three /four /five /six /seven /eight /nine /colon +/semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J +/K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash +/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i +/j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright +/asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve +/dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek +/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen +/registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu +/paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright +/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex +/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex +/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve +/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute +/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute +/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute +/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde +/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def +} +ifelse +/arct dup where +{pop pop} +{ +/arct {arcto pop pop pop pop} bd +} +ifelse +/size 0 def +/fontname 0 def +/newfont 0 def +/sf { +/size xd +/fontname xd +fontname findfont +dup /Encoding get StandardEncoding eq +{ +dup +length dict /newfont xd +{ +1 index +/FID ne +{ newfont 3 1 roll put } +{ pop pop } +ifelse +} forall +newfont /Encoding ISOLatin1Encoding put +fontname newfont definefont +} +if +size scalefont setfont +} bd +/pusht {matrix currentmatrix} bd +/popt {setmatrix} bd +/pushc {gsave} bd +/popc {grestore} bd +/rgb {setrgbcolor} bd +/w { setlinewidth } bd +/j { setlinejoin } bd +/J { setlinecap } bd +/d { setdash } bd +/F { eofill } bd +/f { closepath F } bd +/S { +pusht +skstartmatrix setmatrix stroke +popt +} bd +/s { closepath S } bd +/m { moveto } bd +/l { lineto } bd +/c { curveto } bd +/txt { +/tmpmat tmpmat currentmatrix def +dup type /arraytype eq {concat} {translate} ifelse +0 0 m +tmpmat +} bd +/T {txt x show popt} bd +/P {txt x true charpath popt} bd +/TP {txt x dup show 0 0 m true charpath popt} bd +/C {newpath 0 360 arc} bd +/R { +2 copy m +x 2 index l +x 2 index x l +l +closepath +} bd +/ellipse { +dup type /arraytype eq +{ +pusht x concat +0 0 1.0 C +popt +} +{ +pusht 5 1 roll +4 -1 roll concat +newpath +dup 2 eq { +0 0 m +} if +3 1 roll +radgrad x +radgrad x +0 0 1 5 -2 roll +arc +0 ne { closepath } if +popt +} +ifelse +} bd +/radius1 0 def +/radius2 0 def +/factor 0 def +/rect { +dup type /arraytype eq +{ +pusht x concat +0 0 m 1 0 l 1 1 l 0 1 l closepath +popt +} +{ +/radius2 xd +/radius1 xd +pusht x concat +radius1 radius2 div 1 scale +0 radius2 m +0 1 radius2 1 radius2 arct +radius2 radius1 div +dup 1 1 index 0 radius2 arct +0 0 0 radius2 arct +0 0 0 1 radius2 arct +closepath +popt +} +ifelse +} bd +/buf 0 def +/width 0 def +/height 0 def +/skcimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width 3 mul string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +false 3 colorimage +tmpmat setmatrix +} bd +/skgimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +image +tmpmat setmatrix +} bd +/rclip { +4 2 roll m +dup 0 x rlineto +x 0 rlineto +neg 0 x rlineto +closepath +clip +} bd +/skeps { +10 dict begin +/sk_state save def +concat +3 index neg 3 index neg translate +rclip +0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin +10 setmiterlimit [ ] 0 setdash +newpath +/sk_dict_count countdictstack def +/sk_count count 1 sub def +userdict begin +/showpage { } def +/languagelevel where +{ +pop +languagelevel 1 ne +{ +false setstrokeadjust +false setoverprint +} if +} if +} bd +/skepsend { +count sk_count sub { pop } repeat +countdictstack sk_dict_count sub { end } repeat +sk_state restore +end +} bd +/gradidx 0 def +/gradient { +3 mul array +/gradidx 0 def +} bd +/$ { +3 index gradidx 5 -1 roll put +2 index gradidx 1 add 4 -1 roll put +1 index gradidx 2 add 3 -1 roll put +/gradidx gradidx 3 add def +} bd +/! { +3 +{ +dup dup gradidx dup 3 1 roll 3 sub get put +/gradidx gradidx 1 add def +} +repeat +} bd +/gradcolor { +3 mul dup 2 add 1 exch % idx 1 idx+2 +{ +1 index exch % array array i +get % array component +exch % component array +} +for +4 1 roll +} bd +/x0 0 def /y0 0 def /x1 0 def /y1 0 def +/left 0 def /right 0 def /top 0 def /bottom 0 def +/numcolors 0 def +/axial { +/y1 xd /x1 xd /y0 xd /x0 xd +dup length 3 idiv /numcolors xd +pusht exch % ctm array +x0 x1 ne y0 y1 ne or +{ +x0 y0 translate +[x1 x0 sub y1 y0 sub dup neg 2 index 0 0] concat +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +0 gradcolor rgb clippath f +0 1 numcolors 1 sub +{ +dup numcolors div +3 1 roll +gradcolor rgb +exch +bottom right top R f +} +for +} +if +pop +popt +} bd +/r0 0 def /r1 0 def /dr 0 def +/radial { +/r1 xd /r0 xd /y0 xd /x0 xd +/dr r1 r0 sub def +dup length 3 idiv /numcolors xd +pusht exch % ctm array +r0 r1 ne +{ +x0 y0 translate +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +dr 0 gt {numcolors 1 sub}{0} ifelse gradcolor rgb +clippath f +dr 0 gt {numcolors 1 sub -1 0} { 0 1 numcolors 1 sub} ifelse +{ +dup numcolors div dr mul r0 add +3 1 roll +gradcolor rgb +exch +0 0 3 -1 roll C f +} +for +} +if +pop +popt +} bd +/max { +2 copy lt {exch} if pop +} bd +/conical { +pusht 5 1 roll +3 1 roll /y0 xd /x0 xd +x0 y0 translate +radgrad rotate +dup length 3 idiv /numcolors xd +clippath flattenpath pathbbox newpath +4 { abs 4 1 roll} repeat +3 { max } repeat +2 mul +dup scale +0 gradcolor rgb +0 0 1 0 360 arc f +1 1 numcolors 1 sub +{ +dup numcolors div 180 mul +3 1 roll +gradcolor rgb +exch +0 0 moveto +0 0 1 4 -1 roll dup neg arc +closepath f +} +for +pop +popt +} bd +/XStep 0 def /YStep 0 def /imagedata 0 def /components 0 def +/tileimage2 { +exch 4 2 roll +/height xd +/width xd +mark +/components 2 index +/PatternType 1 +/PaintType 1 +/TilingType 1 +/BBox [0 0 width height] +/XStep width +/YStep height +/PaintProc { +begin +XStep YStep 8 +matrix +imagedata +false +components +colorimage +end +} +counttomark 2 div cvi dup dict begin +{ def } repeat +pop currentdict end +dup +/imagedata +4 -1 roll +width height mul mul string +currentfile exch readhexstring pop +put +exch +makepattern +setpattern +clippath +eofill +} bd +/tileimage1 { +concat +/components xd +/height xd +/width xd +/imagedata +currentfile +width height mul components mul string +readhexstring pop +def +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +left width div floor width mul +bottom height div floor height mul +translate +top bottom sub height div ceiling cvi +{ +gsave +right left sub width div ceiling cvi +{ +width height 8 matrix +components 1 eq +{ +{ imagedata } +image +} +{ +imagedata +false components +colorimage +} +ifelse +width 0 translate +} +repeat +grestore +0 height translate +} +repeat +} bd +/makepattern where +{ +pop +/tileimage /tileimage2 load def +} +{ +/tileimage /tileimage1 load def +} +ifelse +end +%%EndResource +%%EndProlog + +%%BeginSetup +%%IncludeResource: font Times-Roman + +10.433 setmiterlimit +%%EndSetup + +%%Page: 1 1 +SketchDict begin +[215.433 0 0 -172.913 62.3622 702.992] rect +0.848 0.835 0.949 rgb +F +[215.433 0 0 -172.915 317.481 702.994] rect +F +newpath +155.906 595.276 m +184.252 595.276 l +0.509 0.376 0.687 rgb +2.83465 w +0 j +0 J +[] 0 d +S +pusht +184.252 595.276 translate +0 rotate +2.83465 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +411.025 595.278 m +439.371 595.278 l +S +pusht +439.371 595.278 translate +0 rotate +2.83465 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +263.622 513.072 m +342.993 513.072 l +S +pusht +342.993 513.072 translate +0 rotate +2.83465 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +252.284 581.103 m +252.284 566.93 l +S +pusht +252.284 566.93 translate +-90 rotate +2.83465 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +394.017 566.931 m +394.017 581.104 l +S +pusht +394.017 581.104 translate +90 rotate +2.83465 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +507.402 609.45 m +507.402 623.623 l +S +pusht +507.402 623.623 translate +90 rotate +2.83465 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +507.402 581.103 m +507.402 566.93 l +S +pusht +507.402 566.93 translate +-90 rotate +2.83465 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +507.402 538.584 m +507.402 524.41 l +S +pusht +507.402 524.41 translate +-90 rotate +2.83465 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +252.284 538.583 m +252.284 524.41 l +S +pusht +252.284 524.41 translate +-90 rotate +2.83465 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +394.016 518.741 m +394.017 538.584 l +S +pusht +394.017 538.584 translate +89.9971 rotate +2.83465 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +[-85.0394 0 0 28.3464 155.906 538.583] rect +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[-85.0394 0 0 28.3464 524.41 538.583] rect +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[-85.0394 0 0 28.3464 155.906 581.103] rect +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[-85.0394 0 0 28.3464 524.41 581.103] rect +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[-85.0394 0 0 28.3464 269.291 538.583] rect +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[-85.0394 0 0 28.3464 411.024 538.584] rect +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[-85.0394 0 0 28.3464 155.906 623.622] rect +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[-85.0394 0 0 28.3464 524.41 623.622] rect +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +newpath +221.102 538.583 m +221.102 526.678 l +0.992126 w +S +pusht +221.102 526.678 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +232.441 524.41 m +232.441 536.316 l +1 w +S +pusht +232.441 536.316 translate +90 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +107.717 623.622 m +107.717 611.717 l +0.992126 w +S +pusht +107.717 611.717 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +119.055 609.449 m +119.055 621.354 l +1 w +S +pusht +119.055 621.354 translate +90 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +107.717 581.103 m +107.717 569.198 l +0.992126 w +S +pusht +107.717 569.198 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +119.055 566.93 m +119.055 578.835 l +1 w +S +pusht +119.055 578.835 translate +90 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +107.717 666.142 m +107.717 654.236 l +0.992126 w +S +pusht +107.717 654.236 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +119.055 651.968 m +119.055 663.874 l +1 w +S +pusht +119.055 663.874 translate +90 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +107.717 708.661 m +107.717 696.756 l +0.992126 w +S +pusht +107.717 696.756 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +119.055 694.488 m +119.055 706.394 l +1 w +S +pusht +119.055 706.394 translate +90 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +221.102 643.465 m +221.102 631.56 l +0.992126 w +S +pusht +221.102 631.56 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +232.441 629.292 m +232.441 641.197 l +1 w +S +pusht +232.441 641.197 translate +90 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +221.102 581.103 m +221.102 569.198 l +0.992126 w +S +pusht +221.102 569.198 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +232.441 566.93 m +232.441 578.835 l +1 w +S +pusht +232.441 578.835 translate +90 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +107.717 538.583 m +107.717 526.678 l +0.992126 w +S +pusht +107.717 526.678 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +119.055 524.41 m +119.055 536.316 l +1 w +S +pusht +119.055 536.316 translate +90 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +[-28.3465 0 0 7.08663 113.386 503.15] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.992126 w +0 j +0 J +[] 0 d +S +[-28.3465 0 0 7.08663 113.386 510.237] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.992126 w +0 j +0 J +[] 0 d +S +[-28.3465 0 0 7.08663 113.386 517.323] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.992126 w +0 j +0 J +[] 0 d +S +/Times-Roman 12 sf +(Disk) +102 513 T +[-28.3465 0 0 7.08663 481.89 503.15] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.992126 w +0 j +0 J +[] 0 d +S +[-28.3465 0 0 7.08663 481.89 510.237] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.992126 w +0 j +0 J +[] 0 d +S +[-28.3465 0 0 7.08663 481.89 517.323] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.992126 w +0 j +0 J +[] 0 d +S +/Times-Roman 12 sf +(Disk) +470 513 T +(Disk driver) +86 549 T +(Disk driver) +454 549 T +(DRBD) +96 592 T +(DRBD) +464 592 T +(Disk scheduler) +81 626 T +(Disk scheduler) +449 626 T +(Buffer cache) +73 640 T +(Buffer cache) +442 640 T +[85.0394 0 0 -28.3464 70.8661 694.488] rect +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[85.0394 0 0 -28.3464 439.37 694.488] rect +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[85.0394 0 0 -28.3464 184.252 609.45] rect +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[85.0394 0 0 -28.3464 325.985 609.451] rect +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +/Times-Roman 12 sf +(File system) +85 677 T +(File system) +454 677 T +(NIC driver) +201 549 T +(NIC driver) +342 549 T +(TCP/IP) +209 592 T +(TCP/IP) +351 592 T +[198.425 0 0 56.6929 70.8661 708.661] rect +S +[198.425 0 0 56.6929 325.985 708.663] rect +0.992126 w +[0.992126 0.992126 ] 0 d +S +(Service) +152 734 T +(Service) +407 734 T +newpath +210.898 513.071 m +208.064 513.071 l +208.064 510.237 l +210.898 510.237 l +1 w +[] 0 d +S +newpath +201.26 518.74 m +198.426 518.74 l +198.426 515.906 l +201.26 515.906 l +S +newpath +210.898 498.898 m +219.402 498.898 l +219.402 493.229 l +244.915 493.229 l +244.915 498.898 l +264.757 498.898 l +264.757 515.906 l +210.898 515.906 l +210.898 521.575 l +210.898 493.229 l +closepath +1 1 1 rgb +F +210.898 498.898 m +219.402 498.898 l +219.402 493.229 l +244.915 493.229 l +244.915 498.898 l +264.757 498.898 l +264.757 515.906 l +210.898 515.906 l +210.898 521.575 l +210.898 493.229 l +0 0 0 rgb +S +newpath +201.26 504.567 m +209.764 504.567 l +209.764 498.898 l +235.277 498.898 l +235.277 504.567 l +255.118 504.567 l +255.118 521.575 l +201.26 521.575 l +201.26 527.244 l +201.26 498.898 l +closepath +1 1 1 rgb +F +201.26 504.567 m +209.764 504.567 l +209.764 498.898 l +235.277 498.898 l +235.277 504.567 l +255.118 504.567 l +255.118 521.575 l +201.26 521.575 l +201.26 527.244 l +201.26 498.898 l +0 0 0 rgb +S +newpath +222.236 498.898 m +222.236 493.229 l +S +newpath +212.598 504.567 m +212.598 498.898 l +S +newpath +227.906 498.898 m +227.906 493.229 l +S +newpath +218.268 504.567 m +218.268 498.898 l +S +newpath +225.072 498.898 m +225.072 493.229 l +S +newpath +215.434 504.567 m +215.434 498.898 l +S +newpath +230.74 498.898 m +230.74 493.229 l +S +newpath +221.103 504.567 m +221.103 498.898 l +S +newpath +233.576 498.898 m +233.576 493.229 l +S +newpath +223.938 504.567 m +223.938 498.898 l +S +newpath +236.411 498.898 m +236.411 493.229 l +S +newpath +226.773 504.567 m +226.773 498.898 l +S +newpath +239.245 498.898 m +239.245 493.229 l +S +newpath +229.607 504.567 m +229.607 498.898 l +S +newpath +242.079 498.898 m +242.079 493.229 l +S +newpath +232.441 504.567 m +232.441 498.898 l +S +(NIC) +215 510 T +newpath +352.632 513.072 m +349.797 513.072 l +349.797 510.238 l +352.632 510.238 l +S +newpath +342.994 518.741 m +340.159 518.741 l +340.159 515.907 l +342.994 515.907 l +S +newpath +352.632 498.899 m +361.136 498.899 l +361.136 493.23 l +386.648 493.23 l +386.648 498.899 l +406.49 498.899 l +406.49 515.907 l +352.632 515.907 l +352.632 521.576 l +352.632 493.23 l +closepath +1 1 1 rgb +F +352.632 498.899 m +361.136 498.899 l +361.136 493.23 l +386.648 493.23 l +386.648 498.899 l +406.49 498.899 l +406.49 515.907 l +352.632 515.907 l +352.632 521.576 l +352.632 493.23 l +0 0 0 rgb +S +newpath +342.994 504.568 m +351.498 504.568 l +351.498 498.899 l +377.01 498.899 l +377.01 504.568 l +396.852 504.568 l +396.852 521.576 l +342.994 521.576 l +342.994 527.245 l +342.994 498.899 l +closepath +1 1 1 rgb +F +342.994 504.568 m +351.498 504.568 l +351.498 498.899 l +377.01 498.899 l +377.01 504.568 l +396.852 504.568 l +396.852 521.576 l +342.994 521.576 l +342.994 527.245 l +342.994 498.899 l +0 0 0 rgb +S +newpath +363.97 498.899 m +363.97 493.23 l +S +newpath +354.332 504.568 m +354.332 498.899 l +S +newpath +369.64 498.899 m +369.64 493.23 l +S +newpath +360.002 504.568 m +360.002 498.899 l +S +newpath +366.805 498.899 m +366.805 493.23 l +S +newpath +357.167 504.568 m +357.167 498.899 l +S +newpath +372.474 498.899 m +372.474 493.23 l +S +newpath +362.836 504.568 m +362.836 498.899 l +S +newpath +375.309 498.899 m +375.309 493.23 l +S +newpath +365.671 504.568 m +365.671 498.899 l +S +newpath +378.144 498.899 m +378.144 493.23 l +S +newpath +368.506 504.568 m +368.506 498.899 l +S +newpath +380.978 498.899 m +380.978 493.23 l +S +newpath +371.34 504.568 m +371.34 498.899 l +S +newpath +383.813 498.899 m +383.813 493.23 l +S +newpath +374.175 504.568 m +374.175 498.899 l +S +(NIC) +357 510 T +newpath +235.547 416.693 m +238.382 413.858 l +261.059 413.858 l +263.893 416.693 l +closepath +0.8 0.8 0.8 rgb +F +235.547 416.693 m +238.382 413.858 l +261.059 413.858 l +263.893 416.693 l +0 0 0 rgb +S +[34.0158 0 0 -28.3465 232.712 445.039] rect +gsave +0.8 0.8 0.8 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[28.3465 0 0 -22.6772 235.547 442.205] rect +gsave +0.7 0.7 0.7 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[39.6282 -2.12668 -3.43822 -11.171 230.21 412.079] rect +S +newpath +231.22 409.753 m +232.352 409.692 l +S +newpath +229.157 403.05 m +230.29 402.99 l +S +newpath +229.673 404.726 m +230.805 404.665 l +S +newpath +230.189 406.402 m +231.321 406.341 l +S +newpath +230.705 408.077 m +231.837 408.016 l +S +newpath +232.919 409.662 m +234.051 409.601 l +S +newpath +230.856 402.959 m +231.988 402.898 l +S +newpath +231.371 404.635 m +232.504 404.574 l +S +newpath +231.887 406.31 m +233.019 406.25 l +S +newpath +232.403 407.986 m +233.535 407.925 l +S +newpath +234.617 409.571 m +235.749 409.51 l +S +newpath +232.554 402.868 m +233.686 402.807 l +S +newpath +233.07 404.544 m +234.202 404.483 l +S +newpath +233.585 406.219 m +234.718 406.158 l +S +newpath +234.101 407.895 m +235.233 407.834 l +S +newpath +236.315 409.479 m +237.448 409.419 l +S +newpath +234.252 402.777 m +235.385 402.716 l +S +newpath +234.768 404.452 m +235.9 404.392 l +S +newpath +235.284 406.128 m +236.416 406.067 l +S +newpath +235.8 407.804 m +236.932 407.743 l +S +newpath +238.014 409.388 m +239.146 409.327 l +S +newpath +235.951 402.686 m +237.083 402.625 l +S +newpath +236.466 404.361 m +237.599 404.301 l +S +newpath +236.982 406.037 m +238.114 405.976 l +S +newpath +237.498 407.713 m +238.63 407.652 l +S +newpath +239.712 409.297 m +240.844 409.236 l +S +newpath +237.649 402.595 m +238.781 402.534 l +S +newpath +238.165 404.27 m +239.297 404.209 l +S +newpath +238.681 405.946 m +239.813 405.885 l +S +newpath +239.196 407.621 m +240.329 407.561 l +S +newpath +241.41 409.206 m +242.543 409.145 l +S +newpath +239.347 402.503 m +240.48 402.443 l +S +newpath +239.863 404.179 m +240.995 404.118 l +S +newpath +240.379 405.855 m +241.511 405.794 l +S +newpath +240.895 407.53 m +242.027 407.47 l +S +newpath +243.109 409.115 m +244.241 409.054 l +S +newpath +241.046 402.412 m +242.178 402.352 l +S +newpath +241.562 404.088 m +242.694 404.027 l +S +newpath +242.077 405.764 m +243.21 405.703 l +S +newpath +242.593 407.439 m +243.725 407.378 l +S +newpath +244.807 409.024 m +245.939 408.963 l +S +newpath +242.744 402.321 m +243.876 402.26 l +S +newpath +243.26 403.997 m +244.392 403.936 l +S +newpath +243.776 405.672 m +244.908 405.612 l +S +newpath +244.291 407.348 m +245.424 407.287 l +S +newpath +246.505 408.933 m +247.638 408.872 l +S +newpath +244.442 402.23 m +245.575 402.169 l +S +newpath +244.958 403.906 m +246.09 403.845 l +S +newpath +245.474 405.581 m +246.606 405.52 l +S +newpath +245.99 407.257 m +247.122 407.196 l +S +newpath +248.204 408.841 m +249.336 408.781 l +S +newpath +246.141 402.139 m +247.273 402.078 l +S +newpath +246.657 403.814 m +247.789 403.754 l +S +newpath +247.172 405.49 m +248.305 405.429 l +S +newpath +247.688 407.166 m +248.82 407.105 l +S +newpath +249.902 408.75 m +251.034 408.689 l +S +newpath +247.839 402.048 m +248.971 401.987 l +S +newpath +248.355 403.723 m +249.487 403.663 l +S +newpath +248.871 405.399 m +250.003 405.338 l +S +newpath +249.386 407.075 m +250.519 407.014 l +S +newpath +251.6 408.659 m +252.733 408.598 l +S +newpath +260.658 408.173 m +261.791 408.112 l +S +newpath +249.538 401.957 m +250.67 401.896 l +S +newpath +258.595 401.47 m +259.728 401.41 l +S +newpath +250.053 403.632 m +251.186 403.571 l +S +newpath +259.111 403.146 m +260.243 403.085 l +S +newpath +250.569 405.308 m +251.701 405.247 l +S +newpath +259.627 404.822 m +260.759 404.761 l +S +newpath +251.085 406.983 m +252.217 406.923 l +S +newpath +260.143 406.497 m +261.275 406.437 l +S +newpath +253.299 408.568 m +254.431 408.507 l +S +newpath +262.357 408.082 m +263.489 408.021 l +S +newpath +251.236 401.865 m +252.368 401.805 l +S +newpath +260.294 401.379 m +261.426 401.319 l +S +newpath +251.752 403.541 m +252.884 403.48 l +S +newpath +260.81 403.055 m +261.942 402.994 l +S +newpath +252.267 405.217 m +253.4 405.156 l +S +newpath +261.325 404.731 m +262.457 404.67 l +S +newpath +252.783 406.892 m +253.915 406.832 l +S +newpath +261.841 406.406 m +262.973 406.345 l +S +newpath +254.997 408.477 m +256.129 408.416 l +S +newpath +264.055 407.991 m +265.187 407.93 l +S +newpath +252.934 401.774 m +254.067 401.714 l +S +newpath +261.992 401.288 m +263.124 401.227 l +S +newpath +253.45 403.45 m +254.582 403.389 l +S +newpath +262.508 402.964 m +263.64 402.903 l +S +newpath +253.966 405.126 m +255.098 405.065 l +S +newpath +263.024 404.639 m +264.156 404.579 l +S +newpath +254.481 406.801 m +255.614 406.74 l +S +newpath +263.539 406.315 m +264.672 406.254 l +S +newpath +256.696 408.386 m +257.828 408.325 l +S +newpath +265.753 407.9 m +266.886 407.839 l +S +newpath +254.633 401.683 m +255.765 401.622 l +S +newpath +263.69 401.197 m +264.823 401.136 l +S +newpath +255.148 403.359 m +256.281 403.298 l +S +newpath +264.206 402.873 m +265.338 402.812 l +S +newpath +255.664 405.034 m +256.796 404.974 l +S +newpath +264.722 404.548 m +265.854 404.488 l +S +newpath +256.18 406.71 m +257.312 406.649 l +S +newpath +265.238 406.224 m +266.37 406.163 l +S +newpath +334.213 416.693 m +337.047 413.858 l +359.725 413.858 l +362.559 416.693 l +closepath +0.8 0.8 0.8 rgb +F +334.213 416.693 m +337.047 413.858 l +359.725 413.858 l +362.559 416.693 l +0 0 0 rgb +S +[34.0158 0 0 -28.3465 331.378 445.039] rect +gsave +0.8 0.8 0.8 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[28.3465 0 0 -22.6772 334.213 442.205] rect +gsave +0.7 0.7 0.7 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[39.6282 -2.12668 -3.43822 -11.171 328.876 412.079] rect +S +newpath +329.886 409.753 m +331.018 409.692 l +S +newpath +327.823 403.05 m +328.955 402.99 l +S +newpath +328.339 404.726 m +329.471 404.665 l +S +newpath +328.855 406.402 m +329.987 406.341 l +S +newpath +329.37 408.077 m +330.503 408.016 l +S +newpath +331.584 409.662 m +332.717 409.601 l +S +newpath +329.522 402.959 m +330.654 402.898 l +S +newpath +330.037 404.635 m +331.169 404.574 l +S +newpath +330.553 406.31 m +331.685 406.25 l +S +newpath +331.069 407.986 m +332.201 407.925 l +S +newpath +333.283 409.571 m +334.415 409.51 l +S +newpath +331.22 402.868 m +332.352 402.807 l +S +newpath +331.736 404.544 m +332.868 404.483 l +S +newpath +332.251 406.219 m +333.384 406.158 l +S +newpath +332.767 407.895 m +333.899 407.834 l +S +newpath +334.981 409.479 m +336.113 409.419 l +S +newpath +332.918 402.777 m +334.05 402.716 l +S +newpath +333.434 404.452 m +334.566 404.392 l +S +newpath +333.95 406.128 m +335.082 406.067 l +S +newpath +334.465 407.804 m +335.598 407.743 l +S +newpath +336.68 409.388 m +337.812 409.327 l +S +newpath +334.617 402.686 m +335.749 402.625 l +S +newpath +335.132 404.361 m +336.265 404.301 l +S +newpath +335.648 406.037 m +336.78 405.976 l +S +newpath +336.164 407.713 m +337.296 407.652 l +S +newpath +338.378 409.297 m +339.51 409.236 l +S +newpath +336.315 402.595 m +337.447 402.534 l +S +newpath +336.831 404.27 m +337.963 404.209 l +S +newpath +337.346 405.946 m +338.479 405.885 l +S +newpath +337.862 407.621 m +338.994 407.561 l +S +newpath +340.076 409.206 m +341.208 409.145 l +S +newpath +338.013 402.503 m +339.146 402.443 l +S +newpath +338.529 404.179 m +339.661 404.118 l +S +newpath +339.045 405.855 m +340.177 405.794 l +S +newpath +339.56 407.53 m +340.693 407.47 l +S +newpath +341.775 409.115 m +342.907 409.054 l +S +newpath +339.712 402.412 m +340.844 402.352 l +S +newpath +340.227 404.088 m +341.36 404.027 l +S +newpath +340.743 405.764 m +341.875 405.703 l +S +newpath +341.259 407.439 m +342.391 407.378 l +S +newpath +343.473 409.024 m +344.605 408.963 l +S +newpath +341.41 402.321 m +342.542 402.26 l +S +newpath +341.926 403.997 m +343.058 403.936 l +S +newpath +342.441 405.672 m +343.574 405.612 l +S +newpath +342.957 407.348 m +344.089 407.287 l +S +newpath +345.171 408.933 m +346.304 408.872 l +S +newpath +343.108 402.23 m +344.241 402.169 l +S +newpath +343.624 403.906 m +344.756 403.845 l +S +newpath +344.14 405.581 m +345.272 405.52 l +S +newpath +344.656 407.257 m +345.788 407.196 l +S +newpath +346.87 408.841 m +348.002 408.781 l +S +newpath +344.807 402.139 m +345.939 402.078 l +S +newpath +345.322 403.814 m +346.455 403.754 l +S +newpath +345.838 405.49 m +346.97 405.429 l +S +newpath +346.354 407.166 m +347.486 407.105 l +S +newpath +348.568 408.75 m +349.7 408.689 l +S +newpath +346.505 402.048 m +347.637 401.987 l +S +newpath +347.021 403.723 m +348.153 403.663 l +S +newpath +347.537 405.399 m +348.669 405.338 l +S +newpath +348.052 407.075 m +349.184 407.014 l +S +newpath +350.266 408.659 m +351.399 408.598 l +S +newpath +359.324 408.173 m +360.456 408.112 l +S +newpath +348.203 401.957 m +349.336 401.896 l +S +newpath +357.261 401.47 m +358.393 401.41 l +S +newpath +348.719 403.632 m +349.851 403.571 l +S +newpath +357.777 403.146 m +358.909 403.085 l +S +newpath +349.235 405.308 m +350.367 405.247 l +S +newpath +358.293 404.822 m +359.425 404.761 l +S +newpath +349.751 406.983 m +350.883 406.923 l +S +newpath +358.808 406.497 m +359.941 406.437 l +S +newpath +351.965 408.568 m +353.097 408.507 l +S +newpath +361.023 408.082 m +362.155 408.021 l +S +newpath +349.902 401.865 m +351.034 401.805 l +S +newpath +358.96 401.379 m +360.092 401.319 l +S +newpath +350.417 403.541 m +351.55 403.48 l +S +newpath +359.475 403.055 m +360.608 402.994 l +S +newpath +350.933 405.217 m +352.065 405.156 l +S +newpath +359.991 404.731 m +361.123 404.67 l +S +newpath +351.449 406.892 m +352.581 406.832 l +S +newpath +360.507 406.406 m +361.639 406.345 l +S +newpath +353.663 408.477 m +354.795 408.416 l +S +newpath +362.721 407.991 m +363.853 407.93 l +S +newpath +351.6 401.774 m +352.732 401.714 l +S +newpath +360.658 401.288 m +361.79 401.227 l +S +newpath +352.116 403.45 m +353.248 403.389 l +S +newpath +361.174 402.964 m +362.306 402.903 l +S +newpath +352.632 405.126 m +353.764 405.065 l +S +newpath +361.689 404.639 m +362.822 404.579 l +S +newpath +353.147 406.801 m +354.28 406.74 l +S +newpath +362.205 406.315 m +363.337 406.254 l +S +newpath +355.361 408.386 m +356.494 408.325 l +S +newpath +364.419 407.9 m +365.551 407.839 l +S +newpath +353.298 401.683 m +354.431 401.622 l +S +newpath +362.356 401.197 m +363.489 401.136 l +S +newpath +353.814 403.359 m +354.946 403.298 l +S +newpath +362.872 402.873 m +364.004 402.812 l +S +newpath +354.33 405.034 m +355.462 404.974 l +S +newpath +363.388 404.548 m +364.52 404.488 l +S +newpath +354.846 406.71 m +355.978 406.649 l +S +newpath +363.904 406.224 m +365.036 406.163 l +S +newpath +362.835 538.584 m +362.835 526.679 l +0.992126 w +[0.0992126 0.992126 ] 0 d +S +pusht +362.835 526.679 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +374.174 524.411 m +374.174 536.317 l +[0.0992126 0.992126 ] 0 d +S +pusht +374.174 536.317 translate +90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +362.834 581.102 m +362.834 569.197 l +[0.0992126 0.992126 ] 0 d +S +pusht +362.834 569.197 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +374.173 566.929 m +374.173 578.835 l +[0.0992126 0.992126 ] 0 d +S +pusht +374.173 578.835 translate +90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +476.22 581.102 m +476.22 569.197 l +[0.0992126 0.992126 ] 0 d +S +pusht +476.22 569.197 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +487.559 566.929 m +487.559 578.835 l +[0.0992126 0.992126 ] 0 d +S +pusht +487.559 578.835 translate +90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +476.22 623.622 m +476.22 611.717 l +[0.0992126 0.992126 ] 0 d +S +pusht +476.22 611.717 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +487.559 609.449 m +487.559 621.355 l +[0.0992126 0.992126 ] 0 d +S +pusht +487.559 621.355 translate +90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +476.22 666.142 m +476.22 654.237 l +[0.0992126 0.992126 ] 0 d +S +pusht +476.22 654.237 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +487.559 651.969 m +487.559 663.875 l +[0.0992126 0.992126 ] 0 d +S +pusht +487.559 663.875 translate +90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +476.22 708.661 m +476.22 696.756 l +[0.0992126 0.992126 ] 0 d +S +pusht +476.22 696.756 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +487.559 694.488 m +487.559 706.394 l +[0.0992126 0.992126 ] 0 d +S +pusht +487.559 706.394 translate +90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +476.22 538.582 m +476.22 526.677 l +[0.0992126 0.992126 ] 0 d +S +pusht +476.22 526.677 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +487.559 524.409 m +487.559 536.315 l +[0.0992126 0.992126 ] 0 d +S +pusht +487.559 536.315 translate +90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +362.834 643.464 m +362.834 631.559 l +[0.0992126 0.992126 ] 0 d +S +pusht +362.834 631.559 translate +-90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +374.173 629.291 m +374.173 641.197 l +[0.0992126 0.992126 ] 0 d +S +pusht +374.173 641.197 translate +90 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +/Times-Roman 12 sf +(...) +291 441 T +newpath +232.441 484.724 m +232.441 467.717 l +368.504 467.717 l +368.504 487.559 l +1 w +S +newpath +252.283 467.717 m +252.283 450.709 l +S +newpath +354.331 467.717 m +354.331 450.709 l +S +%%PageTrailer +showpage +%%Trailer +end +%%DocumentSuppliedResources: procset Linux-Sketch-Procset 1.0 2 +%%EOF + +%%EndDocument + @endspecial 382 4014 a + currentpoint currentpoint translate 1 0.75989 div 1 0.75989 div scale +neg exch neg exch translate + 382 4014 a 1218 4210 a Fp(Abbildung)i(3.2:)41 +b(DRBD)29 b(im)i(Kernel)1831 5622 y(19)p eop +%%Page: 20 22 +20 21 bop 382 262 a Fl(KAPITEL)31 b(3.)71 b(DRBD)30 b(DESIGN)712 +b(3.1.)71 b(DRBD)30 b(IM)g(KERNEL)p 382 299 2989 4 v +382 539 a Fp(Alternativ)g(gibt)g(es)f(auc)m(h)i(die)f(M\366glic)m(hk)m +(eit,)i(eine)e(auf)f(IP-V)-8 b(ernetzung)32 b(aufsetzende)382 +652 y(Implemen)m(tierung)25 b(zu)e(v)m(erw)m(enden.)39 +b(Dieser)23 b(Lo)s(c)m(k-Manager)h(k)m(\366nn)m(te)g(zusammen)f(mit)382 +764 y(einem)31 b(um)g(die)g(exakte)g(Shared-Disk)g(Seman)m(tik)h(erw)m +(eiterten)h(DRBD)d(den)h(Einsatz)382 877 y(v)m(on)g(GFS)f(auf)g(DRBD)g +(erm\366glic)m(hen.)382 1167 y Fn(3.1.1.2)103 b(DRBDs)33 +b(Seman)m(tik)382 1389 y Fp(Jedes)28 b(DRBD-Ger\344t)f(ist)h(einem)g +(der)g(folgenden)g(Zust\344nde,)h(die)f(jederzeit)g(ge\344ndert)382 +1502 y(w)m(erden)k(k)m(\366nnen,)f(zugeordnet:)382 1764 +y(Primary)133 b(Das)34 b(DRBD-Ger\344t)g(k)-5 b(ann)34 +b(zum)g(Sc)m(hreib)s(en)i(und)e(Lesen)h(ge\366\033net)f(w)m(er-)839 +1877 y(den.)63 b(Es)37 b(k)-5 b(ann)38 b(mit)g(DRBD-Ger\344ten)g(auf)f +(anderen)i(Knoten,)h(die)e(im)839 1990 y(sekund\344ren)31 +b(Zustand)g(sind,)g(v)m(erbunden)h(sein.)382 2177 y(Secondary)77 +b(Das)23 b(DRBD-Ger\344t)h(k)-5 b(ann)24 b(n)m(ur)g(zum)g(Lesen)h +(ge\366\033net)f(w)m(erden.)40 b(Es)23 b(k)-5 b(ann)839 +2290 y(mit)23 b(anderen)g(DRBD-Ger\344ten)g(auf)g(anderen)g(Knoten)g(v) +m(erbunden)h(sein.)382 2553 y(Die)31 b(Einf\374hrung)h(dieser)g +(Zust\344nde)g(en)m(tspric)m(h)m(t)h(der)e(V)-8 b(erw)m(endung)34 +b(des)d(SCSI-Lo)s(c)m(k-)382 2666 y(K)m(ommandos)h(v)m(on)f(HP)f(auf)g +(dem)h(Shared)h(SCSI-Bus)e(\(siehe)h(2.3.3.3\).)382 2959 +y Fo(3.1.2)112 b(Single)37 b(P)m(oin)m(ts)e(of)j(F)-9 +b(ailure)382 3180 y Fp(Ein)40 b(Single)g(P)m(oin)m(t)h(of)d(F)-8 +b(ailure)41 b(\(=SPOF\))f(ist)f(eine)h(K)m(omp)s(onen)m(te)h(eines)f +(Systems,)382 3293 y(deren)i(Ausfall)f(den)h(Ausfall)f(des)g(ganzen)i +(Systems)e(b)s(edeutet.)74 b(Ein)42 b(HA-Cluster)382 +3406 y(sollte)30 b(k)m(einen)i(SPOF)f(aufw)m(eisen.)382 +3696 y Fn(3.1.2.1)103 b(F)-9 b(estplatten)37 b(und)d(deren)g(K)m(on)m +(troller)382 3917 y Fp(Legt)24 b(man)g(die)f(Daten)h(auf)f(einem)h +(Massensp)s(eic)m(herger\344t)h(ab,)g(das)e(v)m(on)h(allen)f(Knoten)382 +4030 y(des)i(Clusters)g(aus)g(zug\344nglic)m(h)j(ist,)e(so)e(ist)h(der) +h(Zugri\033sw)m(eg)g(ein)g(prinzipieller)h(SPOF.)382 +4193 y(Dieser)i(SPOF)h(existiert)g(b)s(ei)f(DRBD)f(nic)m(h)m(t.)42 +b(F\344llt)29 b(die)h(F)-8 b(estplatte)30 b(o)s(der)g(eine)f(K)m(om-) +382 4306 y(p)s(onen)m(te)24 b(auf)e(dem)h(Zugri\033sw)m(eg)h(zur)f(F)-8 +b(estplatte)24 b(aus)e(\(z.B.)h(K)m(on)m(troller,)k(Kab)s(el,)d(PCI-) +382 4419 y(Slot,)32 b(etc.\),)f(wird)h(einfac)m(h)g(der)f(gesam)m(te)h +(Knoten)g(als)f(ausgefallen)h(b)s(etrac)m(h)m(tet,)h(und)382 +4532 y(der)h(zw)m(eite)g(Knoten,)h(der)f(ja)f(eb)s(enfalls)g(mit)h +(einer)g(K)m(opie)g(der)g(Daten)g(ausgestattet)382 4645 +y(ist,)c(\374b)s(ernimm)m(t.)382 4934 y Fn(3.1.2.2)103 +b(Netzw)m(erk)382 5156 y Fp(F)-8 b(alls)37 b(das)g(Netzw)m(erk)h(zwisc) +m(hen)g(den)g(Knoten)g(des)f(Clusters)g(ausf\344llt,)i(ist)e(dies)g +(f\374r)382 5269 y(Cluster)e(b)s(eider)g(Arten)g(gleic)m(herma\377en)j +(ein)d(Problem)h(\(split)f(brain)g(problem\).)55 b(Ist)382 +5382 y(das)40 b(Netzw)m(erk)h(zu)g(den)f(Clien)m(ts)i(nic)m(h)m(t)f(un) +m(terbro)s(c)m(hen)i(o)s(der)e(handelt)g(es)f(sic)m(h)h(n)m(ur)1831 +5622 y(20)p eop +%%Page: 21 23 +21 22 bop 382 262 a Fl(KAPITEL)31 b(3.)71 b(DRBD)30 b(DESIGN)701 +b(3.2.)71 b(DIE)30 b(PR)m(OTOKOLLE)p 382 299 2989 4 v +1309 1116 a + currentpoint currentpoint translate 0.74356 0.74356 scale neg exch +neg exch translate + 1309 1116 a @beginspecial 50 @llx 682 @lly +233 @urx 790 @ury 1830 @rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//model.ps +%!PS-Adobe-3.0 EPSF-3.0 +%%For: Philipp Reisner +%%CreationDate: Thu May 11 10:32:34 2000 +%%Title: model.ps +%%Creator: Sketch 0.6.5 +%%Pages: 1 +%%BoundingBox: 50 682 233 790 +%%Extensions: CMYK +%%DocumentSuppliedResources: (atend) +%%DocumentNeededResources: font Times-Roman +%%EndComments + +%%BeginProlog +%%BeginResource: procset Linux-Sketch-Procset 1.0 2 +/SketchDict 100 dict def +SketchDict begin +/bd { bind def } bind def +/x { exch } bd +/xd { exch def } bd +/PI 3.14159265358979323846264338327 def +/radgrad { 180 mul PI div } bd +/skstartmatrix matrix currentmatrix def +/tmpmat matrix def +/ISOLatin1Encoding dup where +{ pop pop } +{ [/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand +/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period +/slash /zero /one /two /three /four /five /six /seven /eight /nine /colon +/semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J +/K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash +/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i +/j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright +/asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve +/dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek +/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen +/registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu +/paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright +/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex +/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex +/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve +/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute +/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute +/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute +/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde +/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def +} +ifelse +/arct dup where +{pop pop} +{ +/arct {arcto pop pop pop pop} bd +} +ifelse +/size 0 def +/fontname 0 def +/newfont 0 def +/sf { +/size xd +/fontname xd +fontname findfont +dup /Encoding get StandardEncoding eq +{ +dup +length dict /newfont xd +{ +1 index +/FID ne +{ newfont 3 1 roll put } +{ pop pop } +ifelse +} forall +newfont /Encoding ISOLatin1Encoding put +fontname newfont definefont +} +if +size scalefont setfont +} bd +/pusht {matrix currentmatrix} bd +/popt {setmatrix} bd +/pushc {gsave} bd +/popc {grestore} bd +/rgb {setrgbcolor} bd +/w { setlinewidth } bd +/j { setlinejoin } bd +/J { setlinecap } bd +/d { setdash } bd +/F { eofill } bd +/f { closepath F } bd +/S { +pusht +skstartmatrix setmatrix stroke +popt +} bd +/s { closepath S } bd +/m { moveto } bd +/l { lineto } bd +/c { curveto } bd +/txt { +/tmpmat tmpmat currentmatrix def +dup type /arraytype eq {concat} {translate} ifelse +0 0 m +tmpmat +} bd +/T {txt x show popt} bd +/P {txt x true charpath popt} bd +/TP {txt x dup show 0 0 m true charpath popt} bd +/C {newpath 0 360 arc} bd +/R { +2 copy m +x 2 index l +x 2 index x l +l +closepath +} bd +/ellipse { +dup type /arraytype eq +{ +pusht x concat +0 0 1.0 C +popt +} +{ +pusht 5 1 roll +4 -1 roll concat +newpath +dup 2 eq { +0 0 m +} if +3 1 roll +radgrad x +radgrad x +0 0 1 5 -2 roll +arc +0 ne { closepath } if +popt +} +ifelse +} bd +/radius1 0 def +/radius2 0 def +/factor 0 def +/rect { +dup type /arraytype eq +{ +pusht x concat +0 0 m 1 0 l 1 1 l 0 1 l closepath +popt +} +{ +/radius2 xd +/radius1 xd +pusht x concat +radius1 radius2 div 1 scale +0 radius2 m +0 1 radius2 1 radius2 arct +radius2 radius1 div +dup 1 1 index 0 radius2 arct +0 0 0 radius2 arct +0 0 0 1 radius2 arct +closepath +popt +} +ifelse +} bd +/buf 0 def +/width 0 def +/height 0 def +/skcimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width 3 mul string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +false 3 colorimage +tmpmat setmatrix +} bd +/skgimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +image +tmpmat setmatrix +} bd +/rclip { +4 2 roll m +dup 0 x rlineto +x 0 rlineto +neg 0 x rlineto +closepath +clip +} bd +/skeps { +10 dict begin +/sk_state save def +concat +3 index neg 3 index neg translate +rclip +0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin +10 setmiterlimit [ ] 0 setdash +newpath +/sk_dict_count countdictstack def +/sk_count count 1 sub def +userdict begin +/showpage { } def +/languagelevel where +{ +pop +languagelevel 1 ne +{ +false setstrokeadjust +false setoverprint +} if +} if +} bd +/skepsend { +count sk_count sub { pop } repeat +countdictstack sk_dict_count sub { end } repeat +sk_state restore +end +} bd +/gradidx 0 def +/gradient { +3 mul array +/gradidx 0 def +} bd +/$ { +3 index gradidx 5 -1 roll put +2 index gradidx 1 add 4 -1 roll put +1 index gradidx 2 add 3 -1 roll put +/gradidx gradidx 3 add def +} bd +/! { +3 +{ +dup dup gradidx dup 3 1 roll 3 sub get put +/gradidx gradidx 1 add def +} +repeat +} bd +/gradcolor { +3 mul dup 2 add 1 exch % idx 1 idx+2 +{ +1 index exch % array array i +get % array component +exch % component array +} +for +4 1 roll +} bd +/x0 0 def /y0 0 def /x1 0 def /y1 0 def +/left 0 def /right 0 def /top 0 def /bottom 0 def +/numcolors 0 def +/axial { +/y1 xd /x1 xd /y0 xd /x0 xd +dup length 3 idiv /numcolors xd +pusht exch % ctm array +x0 x1 ne y0 y1 ne or +{ +x0 y0 translate +[x1 x0 sub y1 y0 sub dup neg 2 index 0 0] concat +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +0 gradcolor rgb clippath f +0 1 numcolors 1 sub +{ +dup numcolors div +3 1 roll +gradcolor rgb +exch +bottom right top R f +} +for +} +if +pop +popt +} bd +/r0 0 def /r1 0 def /dr 0 def +/radial { +/r1 xd /r0 xd /y0 xd /x0 xd +/dr r1 r0 sub def +dup length 3 idiv /numcolors xd +pusht exch % ctm array +r0 r1 ne +{ +x0 y0 translate +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +dr 0 gt {numcolors 1 sub}{0} ifelse gradcolor rgb +clippath f +dr 0 gt {numcolors 1 sub -1 0} { 0 1 numcolors 1 sub} ifelse +{ +dup numcolors div dr mul r0 add +3 1 roll +gradcolor rgb +exch +0 0 3 -1 roll C f +} +for +} +if +pop +popt +} bd +/max { +2 copy lt {exch} if pop +} bd +/conical { +pusht 5 1 roll +3 1 roll /y0 xd /x0 xd +x0 y0 translate +radgrad rotate +dup length 3 idiv /numcolors xd +clippath flattenpath pathbbox newpath +4 { abs 4 1 roll} repeat +3 { max } repeat +2 mul +dup scale +0 gradcolor rgb +0 0 1 0 360 arc f +1 1 numcolors 1 sub +{ +dup numcolors div 180 mul +3 1 roll +gradcolor rgb +exch +0 0 moveto +0 0 1 4 -1 roll dup neg arc +closepath f +} +for +pop +popt +} bd +/XStep 0 def /YStep 0 def /imagedata 0 def /components 0 def +/tileimage2 { +exch 4 2 roll +/height xd +/width xd +mark +/components 2 index +/PatternType 1 +/PaintType 1 +/TilingType 1 +/BBox [0 0 width height] +/XStep width +/YStep height +/PaintProc { +begin +XStep YStep 8 +matrix +imagedata +false +components +colorimage +end +} +counttomark 2 div cvi dup dict begin +{ def } repeat +pop currentdict end +dup +/imagedata +4 -1 roll +width height mul mul string +currentfile exch readhexstring pop +put +exch +makepattern +setpattern +clippath +eofill +} bd +/tileimage1 { +concat +/components xd +/height xd +/width xd +/imagedata +currentfile +width height mul components mul string +readhexstring pop +def +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +left width div floor width mul +bottom height div floor height mul +translate +top bottom sub height div ceiling cvi +{ +gsave +right left sub width div ceiling cvi +{ +width height 8 matrix +components 1 eq +{ +{ imagedata } +image +} +{ +imagedata +false components +colorimage +} +ifelse +width 0 translate +} +repeat +grestore +0 height translate +} +repeat +} bd +/makepattern where +{ +pop +/tileimage /tileimage2 load def +} +{ +/tileimage /tileimage1 load def +} +ifelse +end +%%EndResource +%%EndProlog + +%%BeginSetup +%%IncludeResource: font Times-Roman + +10.433 setmiterlimit +%%EndSetup + +%%Page: 1 1 +SketchDict begin +[56.6929 0 0 -28.3464 56.6929 765.354] rect +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[56.6929 0 0 -28.3464 170.079 765.354] rect +S +newpath +113.386 751.181 m +170.079 751.181 l +S +newpath +85.0394 737.008 m +85.0394 722.835 l +198.425 722.835 l +198.425 737.008 l +[3 3 ] 0 d +S +/Times-Roman 12 sf +(inter-cluster network) +97 779 T +(node) +73 748 T +(node) +186 748 T +newpath +150.236 773.858 m +144.567 754.016 l +0.283465 w +[] 0 d +S +pusht +144.567 754.016 translate +-105.945 rotate +[ ] 0 d +-6 3 m +1 0 l +-6 -3 l +S +popt +(clients) +124 685 T +newpath +141.732 722.835 m +141.732 700.157 l +1 w +[3 3 ] 0 d +S +pusht +141.732 700.157 translate +-90 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +%%PageTrailer +showpage +%%Trailer +end +%%DocumentSuppliedResources: procset Linux-Sketch-Procset 1.0 2 +%%EOF + +%%EndDocument + @endspecial 1309 1116 a + currentpoint currentpoint translate 1 0.74356 div 1 0.74356 div scale +neg exch neg exch translate + 1309 1116 a 1091 1312 a Fp(Abbildung)h(3.3:)41 +b(Mo)s(dell)30 b(des)h(HA-Clusters)382 1587 y(um)42 b(eine)g(v)m +(or\374b)s(ergehende)i(St\366rung)f(des)e(Netzw)m(erk)m(es,)46 +b(k)-5 b(ann)42 b(es)f(dazu)h(k)m(ommen,)382 1700 y(da\377)i(b)s(eide)h +(Knoten)g(annehmen,)k(da\377)44 b(der)g(jew)m(eils)h(andere)g +(ausgefallen)g(ist.)81 b(Im)382 1813 y(g\374nstigsten)30 +b(F)-8 b(all)29 b(k)m(\366nnen)h(die)f(Clien)m(ts)h(k)m(einen)g(der)f +(Cluster-Knoten)i(erreic)m(hen,)g(im)382 1926 y(sc)m(hlimmsten)h(F)-8 +b(all)31 b(zerst\366rt)g(der)f(aktiv)m(e)h(Knoten)g(den)g(Datenstand.) +382 2089 y(Damit)25 b(der)g(Ausfall)g(des)f(Netzw)m(erk)m(es)i(nic)m(h) +m(t)h(zu)e(diesem)g(skizzierten)g(Szenario)h(f\374hrt,)382 +2202 y(sollte)41 b(es)g(einen)h(w)m(eiteren)h(K)m(omm)m(unik)-5 +b(ationsw)m(eg)45 b(zwisc)m(hen)d(den)g(Knoten)g(geb)s(en.)382 +2315 y(Hierf\374r)d(wird)g(gerne)g(ein)g(serielles)g(Kab)s(el)g(v)m +(erw)m(endet,)j(da)d(serielle)g(Sc)m(hnittstellen)382 +2428 y(meistens)c(v)m(orhanden)h(sind)e(und)h(die)f(K)m(omm)m(unik)-5 +b(ation)38 b(\374b)s(er)c(die)h(serielle)g(Sc)m(hnitt-)382 +2541 y(stelle)30 b(nic)m(h)m(t)i(die)f(F)-8 b(unktion)32 +b(des)e(IP-Subsystems)g(im)h(Kernel)g(erfordert.)382 +2877 y Fj(3.2)130 b(Die)44 b(Protok)l(olle)382 3129 y +Fp(Der)k(Nac)m(h)m(teil,)54 b(der)48 b(m\366glic)m(herw)m(eise)j(b)s +(ei)d(der)g(V)-8 b(erw)m(endung)50 b(eines)e(IP-basierten)382 +3242 y(Netzw)m(erk)m(es)35 b(gegen)m(\374b)s(er)h(eines)e(SCSI-Busses)g +(en)m(tsteh)m(t,)j(ist,)e(da\377)f(die)h(Zeit,)g(bis)f(ein)382 +3355 y(einzelners)j(P)m(ak)m(et)g(sein)e(Ziel)h(erreic)m(h)m(t,)k(auf) +35 b(einem)i(IP-Netzw)m(erk)f(h\366her)h(sein)e(k)-5 +b(ann)382 3468 y(als)30 b(auf)g(einem)h(SCSI-Bus)g(b)s(ei)f(gleic)m +(her)i(Bandbreite.)382 3631 y(Dieser)38 b(Nac)m(h)m(teil)j(wird)e(b)s +(esonders)f(deutlic)m(h,)k(w)m(enn)e(in)e(den)h(Knoten)h(des)e(DRBD-) +382 3744 y(Clusters)44 b(auc)m(h)h(SCSI-F)-8 b(estplatten)46 +b(v)m(erw)m(endet)g(w)m(erden.)82 b(Die)44 b(V)-8 b(erz\366gerung,)49 +b(die)382 3857 y(durc)m(h)34 b(die)f(\334b)s(ertragung)h(\374b)s(er)f +(das)g(IP-Netzw)m(erk)h(en)m(tsteh)m(t,)h(b)s(etri\033t)e(n)m(ur)h +(DRBD-)382 3970 y(basierte)48 b(Cluster,)j(w)m(\344hrend)e(die)e(V)-8 +b(erz\366gerung)49 b(des)e(SCSI-Busses)g(den)g(DRBD-)382 +4083 y(Cluster)31 b(und)g(Shared)g(SCSI-Bus-Cluster)g(gleic)m +(herma\377en)i(b)s(etri\033t.)382 4245 y(Aus)24 b(diesem)i(Grund)f(ist) +g(DRBD)g(mit)g(drei)h(Protok)m(ollen)h(ausgestattet,)g(die)e(v)m(ersc)m +(hie-)382 4358 y(dene)32 b(Abstufungen)h(des)e(Durc)m(hsatz-K)m +(onsistenz-K)m(ompromisses)36 b(bieten.)46 b(F\374r)32 +b(die)382 4471 y(Betrac)m(h)m(tung)c(der)e(Protok)m(olle)h(im)e(F)-8 +b(alle)26 b(des)g(Ausfalls)e(einer)i(K)m(omp)s(onen)m(te)i(wird)e(das) +382 4584 y(in)k(Abbildung)i(3.3)e(dargestellte)i(Mo)s(dell)e(v)m(erw)m +(endet.)382 4747 y(Dab)s(ei)c(wird)h(da)m(v)m(on)g(ausgegangen,)h +(da\377)f(jede)f(der)g(K)m(omp)s(onen)m(ten,)k(die)c(b)s(eiden)h(Kno-) +382 4860 y(ten)j(und)g(das)f(v)m(erbindende)i(Netzw)m(erk,)g(en)m(t)m +(w)m(eder)h(funktionieren)f(o)s(der)f(nic)m(h)m(t)h(funk-)382 +4973 y(tionieren.)1831 5622 y(21)p eop +%%Page: 22 24 +22 23 bop 382 262 a Fl(KAPITEL)31 b(3.)71 b(DRBD)30 b(DESIGN)701 +b(3.2.)71 b(DIE)30 b(PR)m(OTOKOLLE)p 382 299 2989 4 v +382 539 a Fo(3.2.1)112 b(Protok)m(oll)35 b(A)382 748 +y Fp(Bei)e(Protok)m(oll)i(A)d(wird)i(eine)f(Sc)m(hreibanforderung)j +(als)d(abgesc)m(hlossen)h(b)s(etrac)m(h)m(tet,)382 861 +y(sobald)26 b(der)g(Sc)m(hreib)m(v)m(organg)j(auf)c(die)h(ph)m(ysisc)m +(he)h(F)-8 b(estplatte)27 b(abgesc)m(hlossen)g(ist)e(und)382 +974 y(die)g(Daten)g(gesendet)h(wurden.)39 b(Da)25 b(TCP)-8 +b(,)26 b(das)f(v)m(erw)m(endete)h(IP-Protok)m(oll,)i(ein)d(p)s(eer-)382 +1087 y(to-p)s(eer)f(Protok)m(oll)i(ist,)f(funktioniert)g(der)f(K)m(omm) +m(unik)-5 b(ationsk)g(anal)27 b(n)m(ur)e(solange)g(b)s(ei-)382 +1200 y(de)30 b(Endpunkte)i(der)f(K)m(omm)m(unik)-5 b(ation)33 +b(funktionieren.)382 1351 y(F\344llt)c(n)m(un)h(der)f(sendende)g +(Knoten)h(unmittelbar)h(nac)m(h)f(dem)f(Absc)m(hic)m(k)m(en)h(eines)f +(Da-)382 1463 y(tenpak)m(etes)d(aus,)g(so)f(k)-5 b(ann)25 +b(TCP)h(nic)m(h)m(t)h(sic)m(herstellen,)g(da\377)f(dieses)f(Datenpak)m +(et)h(auc)m(h)382 1576 y(b)s(eim)37 b(empfangenden)i(Knoten)f(ank)m +(omm)m(t.)63 b(\334b)s(ernimm)m(t)39 b(n)m(un)f(der)f(no)s(c)m(h)h +(funktio-)382 1689 y(nierende)d(Knoten)g(das)f(Service,)h(k)-5 +b(ann)34 b(es)g(sein,)g(da\377)h(er)f(die)g(letzten)h(Datenpak)m(ete,) +382 1802 y(die)28 b(der)g(gerade)h(ausgefallene)f(Knoten)h(no)s(c)m(h)f +(gesendet)h(hat,)g(nic)m(h)m(t)g(b)s(ek)m(ommen)g(hat.)382 +1953 y(Dieses)d(V)-8 b(erhalten)28 b(ist)e(f\374r)g(eine)h +(transaktionsbasierte)h(An)m(w)m(endung)h(nic)m(h)m(t)f(akzepta-)382 +2066 y(b)s(el.)45 b(Eine)33 b(T)-8 b(ransaktion)34 b(m)m(u\377)f(p)s +(ermanen)m(t)g(o)s(der)g(gar)f(nic)m(h)m(t)i(durc)m(hgef\374hrt)g(w)m +(erden.)382 2179 y(Hat)22 b(der)g(sendende)h(Knoten,)i(b)s(ev)m(or)d +(er)g(ausgefallen)h(ist,)h(dem)e(Clien)m(t)i(mitgeteilt,)h(da\377)382 +2292 y(die)g(T)-8 b(ransaktion)26 b(funktioniert)g(hat,)g(sind)f(die)g +(V)-8 b(er\344nderungen)27 b(durc)m(h)g(die)e(T)-8 b(ransak-)382 +2405 y(tion)29 b(nac)m(h)h(der)f(\334b)s(ernahme)g(durc)m(h)h(den)f(zw) +m(eiten)h(Knoten)g(nic)m(h)m(t)g(mehr)g(v)m(orhanden.)382 +2518 y(Eine)h(der)g(grundlegenden)h(Eigensc)m(haften)h(einer)e(T)-8 +b(ransaktion)31 b(wurde)h(v)m(erletzt.)382 2668 y(Mit)23 +b(Protok)m(oll)i(A)d(k)-5 b(ann)23 b(k)m(ein)h(Ausfall)e(einer)i(K)m +(omp)s(onen)m(te)h(\(des)f(Mo)s(dells)e(aus)h(Abbil-)382 +2781 y(dung)29 b(3.3\))f(toleriert)h(w)m(erden,)h(ohne)f(die)f(T)-8 +b(ransaktionseigensc)m(haften)31 b(zu)d(v)m(erletzen.)382 +2894 y(Protok)m(oll)23 b(A)d(\034ndet)i(jedo)s(c)m(h)g(seine)f(An)m(w)m +(endung,)26 b(w)m(enn)c(auf)f(hohen)h(Datendurc)m(hsatz,)382 +3007 y(nic)m(h)m(t)32 b(ab)s(er)e(auf)h(die)f(T)-8 b +(ransaktionseigensc)m(haften)33 b(w)m(ertgelegt)g(wird.)382 +3283 y Fo(3.2.2)112 b(Protok)m(oll)35 b(B)382 3492 y +Fp(Bei)e(der)h(V)-8 b(erw)m(endung)36 b(v)m(on)e(Protok)m(oll)h(B)e +(wird)h(ein)g(Sc)m(hreib)m(v)m(organg)j(dann)d(als)f(ab-)382 +3605 y(gesc)m(hlossen)26 b(b)s(etrac)m(h)m(tet,)j(sobald)d(der)f(Sc)m +(hreib)m(v)m(organg)k(auf)d(die)f(lok)-5 b(ale)26 b(Platte)h(abge-)382 +3718 y(sc)m(hlossen)22 b(ist)f(und)h(eine)g(Empfangsb)s(est\344tigung)h +(v)m(om)f(zw)m(eiten)h(Knoten)f(eingetro\033en)382 3831 +y(ist.)382 3982 y(Im)40 b(Gegensatz)g(zu)g(Protok)m(oll)i(A)d(bleib)s +(en)i(b)s(eim)f(Ausfall)f(einer)i(K)m(omp)s(onen)m(te)h(die)382 +4095 y(T)-8 b(ransaktionseigensc)m(haften)44 b(erhalten.)75 +b(F)-8 b(allen)42 b(jedo)s(c)m(h)g(zw)m(ei)h(K)m(omp)s(onen)m(ten)h +(auf)382 4208 y(einmal)c(aus,)h(so)d(k)-5 b(ann)40 b(es)e(auc)m(h)i(b)s +(ei)f(diesem)g(Protok)m(oll)i(zu)e(einer)h(V)-8 b(erletzung)40 +b(der)382 4321 y(T)-8 b(ransaktionseigensc)m(haften)33 +b(k)m(ommen.)42 b(Ein)31 b(Beispiel:)639 4490 y(Beide)i(Knoten)h(eines) +f(Clusters)g(fallen)g(in)g(kurzem)g(zeitlic)m(hen)i(Abstand)e(w)m(e-) +639 4603 y(gen)k(eines)f(Stromausfalls)h(aus.)58 b(Der)36 +b(prim\344re)h(Knoten)g(teilt)g(einem)g(Clien)m(t)639 +4716 y(mit,)c(da\377)f(eine)h(T)-8 b(ransaktion)33 b(abgesc)m(hlossen)g +(ist,)f(danac)m(h)i(f\344llt)e(er)g(aus.)45 b(Der)639 +4829 y(sekund\344re)27 b(Knoten)h(hat)f(zw)m(ar)h(den)f(Daten)m(blo)s +(c)m(k)h(empfangen)g(und)f(die)g(Emp-)639 4942 y(fangsb)s +(est\344tigung)39 b(zur\374c)m(k)g(an)f(den)g(prim\344ren)i(Knoten)f +(gesendet,)i(f\344llt)d(je-)639 5055 y(do)s(c)m(h)31 +b(aus,)f(b)s(ev)m(or)h(der)g(Daten)m(blo)s(c)m(k)g(auf)g(die)f(F)-8 +b(estplatte)32 b(gesc)m(hrieb)s(en)g(wird.)639 5168 y(En)m(tsc)m +(heidet)f(der)e(Cluster-Manager)h(nac)m(h)f(dem)g(Stromausfall,)h +(da\377)e(der)h(an-)639 5281 y(dere)34 b(Knoten)g(das)e(Service)i(an)m +(bieten)h(soll,)e(so)g(sind)g(die)g(Auswirkungen)h(der)639 +5394 y(letzten)d(T)-8 b(ransaktion)32 b(v)m(erloren.)1831 +5622 y(22)p eop +%%Page: 23 25 +23 24 bop 382 262 a Fl(KAPITEL)31 b(3.)71 b(DRBD)30 b(DESIGN)448 +b(3.3.)71 b(SCHREIBOPERA)-8 b(TIONEN)p 382 299 2989 4 +v 382 539 a Fp(Dieses)30 b(Problem)i(k)m(\366nn)m(te)h(man)e(dadurc)m +(h)h(l\366sen,)g(da\377)f(der)g(Cluster-Mananger)h(nac)m(h)382 +652 y(dem)39 b(Ausfall)f(b)s(eider)h(Knoten,)j(das)c(Service)h(wieder)h +(auf)e(jenem)h(Knoten)h(startet,)382 764 y(auf)30 b(dem)h(es)f(zuletzt) +h(gelaufen)g(ist.)382 1044 y Fo(3.2.3)112 b(Protok)m(oll)35 +b(C)382 1257 y Fp(Bei)d(Protok)m(oll)h(C)f(wird)h(ein)f(Sc)m(hreib)m(v) +m(organg)j(abgesc)m(hlossen,)e(sobald)g(der)f(Sc)m(hreib-)382 +1370 y(v)m(organg)41 b(auf)f(die)g(lok)-5 b(ale)40 b(Platte)h(abgesc)m +(hlossen)g(ist)f(und)h(eine)f(Best\344tigung)h(v)m(om)382 +1483 y(zw)m(eiten)d(Knoten)g(eingetro\033en)g(ist,)g(die)f(b)s(esagt,)h +(da\377)f(der)g(Daten)m(blo)s(c)m(k)h(auc)m(h)g(dort)382 +1596 y(erfolgreic)m(h)32 b(gesc)m(hrieb)s(en)g(wurde.)382 +1749 y(Mit)e(Protok)m(oll)i(C)f(bleibt)g(die)f(T)-8 b(ransaktionsseman) +m(tik)33 b(auf)d(jeden)h(F)-8 b(all)31 b(erhalten.)382 +1903 y(Bei)k(Protok)m(oll)i(B)e(und)h(C)f(m)m(u\377)h(b)s(ei)f(Ausfall) +g(des)g(v)m(erbindenden)i(Netzw)m(erk)m(es)f(o)s(der)382 +2016 y(des)h(zw)m(eiten)j(Cluster-Knotens)f(der)f(Empfang)g(der)g(no)s +(c)m(h)g(ausstehenden)h(Best\344ti-)382 2129 y(gungen)45 +b(sim)m(uliert)h(w)m(erden.)83 b(Das)44 b(Blo)s(c)m(k-IO-System)h(un)m +(ter)g(Lin)m(ux)g(erlaubt)h(n)m(ur)382 2242 y(eine)36 +b(b)s(egrenzte)h(Anzahl)g(nic)m(h)m(t)g(abgesc)m(hlossener)h +(Anforderungen,)h(und)d(es)g(w\374rde)382 2355 y(blo)s(c)m(kieren,)31 +b(w)m(enn)h(nic)m(h)m(t)g(alle)f(Anforderungen)g(abgesc)m(hlossen)h(w)m +(erden.)382 2678 y Fj(3.3)130 b(Sc)l(hreib)t(op)t(erationen)382 +2921 y Fp(F\374r)30 b(viele)g(Filesysteme)f(ist)h(die)g(Reihenfolge,)g +(in)g(der)g(b)s(estimm)m(te)h(Daten)m(bl\366)s(c)m(k)m(e)h(auf)382 +3034 y(die)25 b(F)-8 b(estplatte)27 b(gesc)m(hrieb)s(en)f(w)m(erden,)i +(v)m(on)d(en)m(tsc)m(heidender)j(Bedeutung.)41 b(Zum)25 +b(Bei-)382 3147 y(spiel)30 b(m)m(u\377)h(ein)f(Journaling-Filesystem)i +(v)m(or)e(jeder)g(Metadatenaktualisierung)i(eine)382 +3260 y(T)-8 b(ransaktion)32 b(in)e(den)h(Journalb)s(ereic)m(h)j(sc)m +(hreib)s(en,)d(w)m(ob)s(ei)h(der)e(Commit-Record)j(als)382 +3373 y(letzter)e(gesc)m(hrieb)s(en)h(w)m(erden)g(m)m(u\377.)382 +3527 y(Un)m(ter)39 b(Lin)m(ux)g(wird)f(derzeit)h(explizit)g(auf)f(den)g +(Absc)m(hlu\377)h(jener)f(Sc)m(hreib)s(op)s(eratio-)382 +3640 y(nen)j(gew)m(artet,)46 b(die)41 b(v)m(or)h(den)f(n\344c)m(hsten)h +(Sc)m(hreib)s(op)s(erationen)i(auf)d(die)g(F)-8 b(estplatte)382 +3753 y(gesc)m(hrieb)s(en)32 b(w)m(erden)g(m)m(\374ssen,)f(b)s(ev)m(or)g +(die)g(folgende)g(Sc)m(hreib)s(op)s(eration)i(in)d(Auftrag)382 +3865 y(geb)s(eb)s(en)g(wird.)382 4019 y(Damit)40 b(DRBD)f(auf)g(dem)h +(sekund\344ren)g(Knoten)h(alle)e(Sc)m(hreib)s(op)s(erationen)k(in)c +(der)382 4132 y(gleic)m(hen)32 b(Reihenfolge)e(ausf\374hrt,)g(in)h(der) +f(sie)g(auf)f(dem)i(prim\344ren)g(Knoten)g(v)m(om)g(IO-)382 +4245 y(System)36 b(an)h(den)g(T)-8 b(reib)s(er)37 b(gesendet)g(wurden,) +i(m)m(\374\377te)f(der)f(Algorithm)m(us)h(wie)e(folgt)382 +4358 y(aussehen:)493 4584 y(1.)46 b(Empfange)32 b(einen)f(Blo)s(c)m(k)f +(v)m(om)h(Netzw)m(erk.)493 4763 y(2.)46 b(Sc)m(hreib)s(e)32 +b(diesen)e(Blo)s(c)m(k)h(auf)f(die)h(F)-8 b(estplatte.)493 +4942 y(3.)46 b(W)-8 b(arte,)31 b(bis)g(die)f(Sc)m(hreib)s(op)s(eration) +j(abgesc)m(hlossen)e(ist.)382 5168 y(Dieser)41 b(restriktiv)m(e)h +(Algorithm)m(us)g(w\374rde)g(w)m(ahrsc)m(heinlic)m(h)i(so)m(w)m(ohl)f +(den)e(prim\344ren)382 5281 y(Knoten)26 b(bremsen,)i(als)d(auc)m(h)h +(das)f(IO-System)h(des)f(sekund\344ren)h(Knotens)g(nic)m(h)m(t)h(aus-) +382 5394 y(lasten)c(k)m(\366nnen.)39 b(Der)23 b(Datendurc)m(hsatz)i(k) +-5 b(ann)22 b(w)m(esen)m(tlic)m(h)k(v)m(erb)s(essert)c(w)m(erden,)k(w)m +(enn)1831 5622 y(23)p eop +%%Page: 24 26 +24 25 bop 382 262 a Fl(KAPITEL)31 b(3.)71 b(DRBD)30 b(DESIGN)448 +b(3.3.)71 b(SCHREIBOPERA)-8 b(TIONEN)p 382 299 2989 4 +v 382 539 a Fp(das)29 b(Empfangen)i(v)m(om)e(Netzw)m(erk)i(und)e(das)g +(Sc)m(hreib)s(en)i(auf)e(die)h(F)-8 b(estplatte)30 b(parallel)382 +652 y(statt\034nden.)382 932 y Fo(3.3.1)112 b(Abh\344ngigk)m(eiten)382 +1145 y Fp(Ob)32 b(ein)g(b)s(estimm)m(ter)h(Daten)m(blo)s(c)m(k)g(v)m +(or)f(einem)h(anderen)f(Daten)m(blo)s(c)m(k)i(auf)d(die)h(F)-8 +b(est-)382 1257 y(platte)24 b(gesc)m(hrieb)s(en)g(w)m(erden)h(m)m +(u\377,)h(w)m(ei\377)e(leider)g(n)m(ur)g(das)f(Filesystem.)38 +b(Besteh)m(t)24 b(diese)382 1370 y(Not)m(w)m(endigk)m(eit,)30 +b(so)c(existiert)g(zwisc)m(hen)i(dem)e(Absc)m(hlu\377)i(der)e(Sc)m +(hreib)s(op)s(eration)j(des)382 1483 y(ersten)g(Blo)s(c)m(k)m(es)f(und) +h(dem)g(Sc)m(hreibb)s(efehl)h(f\374r)e(den)g(zw)m(eiten)i(Blo)s(c)m(k)f +(eine)f(Abh\344ngig-)382 1596 y(k)m(eit.)382 1750 y(Es)d(k)-5 +b(ann)26 b(k)m(eine)g(Abh\344ngigk)m(eit)h(zwisc)m(hen)g(zw)m(ei)f +(Bl\366)s(c)m(k)m(en)h(geb)s(en,)f(w)m(enn)h(der)f(Sc)m(hreib-)382 +1863 y(b)s(efehl)34 b(f\374r)g(den)h(zw)m(eiten)h(Blo)s(c)m(k)f(gegeb)s +(en)g(wird,)h(b)s(ev)m(or)e(die)h(Sc)m(hreib)s(op)s(eration)i(des)382 +1976 y(ersten)31 b(abgesc)m(hlossen)g(ist.)40 b(Ein)31 +b(Beispiel:)447 2606 y @beginspecial 22 @llx 758 @lly +365 @urx 817 @ury 3430 @rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//block_timing_1.ps +%!PS-Adobe-3.0 EPSF-3.0 +%%For: Philipp Reisner +%%CreationDate: Mon Apr 17 14:18:40 2000 +%%Title: block_timing_1.ps +%%Creator: Sketch 0.6.5 +%%Pages: 1 +%%BoundingBox: 22 758 365 817 +%%Extensions: CMYK +%%DocumentSuppliedResources: (atend) +%%DocumentNeededResources: font Times-Roman +%%EndComments + +%%BeginProlog +%%BeginResource: procset Linux-Sketch-Procset 1.0 2 +/SketchDict 100 dict def +SketchDict begin +/bd { bind def } bind def +/x { exch } bd +/xd { exch def } bd +/PI 3.14159265358979323846264338327 def +/radgrad { 180 mul PI div } bd +/skstartmatrix matrix currentmatrix def +/tmpmat matrix def +/ISOLatin1Encoding dup where +{ pop pop } +{ [/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand +/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period +/slash /zero /one /two /three /four /five /six /seven /eight /nine /colon +/semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J +/K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash +/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i +/j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright +/asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve +/dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek +/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen +/registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu +/paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright +/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex +/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex +/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve +/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute +/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute +/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute +/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde +/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def +} +ifelse +/arct dup where +{pop pop} +{ +/arct {arcto pop pop pop pop} bd +} +ifelse +/size 0 def +/fontname 0 def +/newfont 0 def +/sf { +/size xd +/fontname xd +fontname findfont +dup /Encoding get StandardEncoding eq +{ +dup +length dict /newfont xd +{ +1 index +/FID ne +{ newfont 3 1 roll put } +{ pop pop } +ifelse +} forall +newfont /Encoding ISOLatin1Encoding put +fontname newfont definefont +} +if +size scalefont setfont +} bd +/pusht {matrix currentmatrix} bd +/popt {setmatrix} bd +/pushc {gsave} bd +/popc {grestore} bd +/rgb {setrgbcolor} bd +/w { setlinewidth } bd +/j { setlinejoin } bd +/J { setlinecap } bd +/d { setdash } bd +/F { eofill } bd +/f { closepath F } bd +/S { +pusht +skstartmatrix setmatrix stroke +popt +} bd +/s { closepath S } bd +/m { moveto } bd +/l { lineto } bd +/c { curveto } bd +/txt { +/tmpmat tmpmat currentmatrix def +dup type /arraytype eq {concat} {translate} ifelse +0 0 m +tmpmat +} bd +/T {txt x show popt} bd +/P {txt x true charpath popt} bd +/TP {txt x dup show 0 0 m true charpath popt} bd +/C {newpath 0 360 arc} bd +/R { +2 copy m +x 2 index l +x 2 index x l +l +closepath +} bd +/ellipse { +dup type /arraytype eq +{ +pusht x concat +0 0 1.0 C +popt +} +{ +pusht 5 1 roll +4 -1 roll concat +newpath +dup 2 eq { +0 0 m +} if +3 1 roll +radgrad x +radgrad x +0 0 1 5 -2 roll +arc +0 ne { closepath } if +popt +} +ifelse +} bd +/radius1 0 def +/radius2 0 def +/factor 0 def +/rect { +dup type /arraytype eq +{ +pusht x concat +0 0 m 1 0 l 1 1 l 0 1 l closepath +popt +} +{ +/radius2 xd +/radius1 xd +pusht x concat +radius1 radius2 div 1 scale +0 radius2 m +0 1 radius2 1 radius2 arct +radius2 radius1 div +dup 1 1 index 0 radius2 arct +0 0 0 radius2 arct +0 0 0 1 radius2 arct +closepath +popt +} +ifelse +} bd +/buf 0 def +/width 0 def +/height 0 def +/skcimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width 3 mul string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +false 3 colorimage +tmpmat setmatrix +} bd +/skgimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +image +tmpmat setmatrix +} bd +/rclip { +4 2 roll m +dup 0 x rlineto +x 0 rlineto +neg 0 x rlineto +closepath +clip +} bd +/skeps { +10 dict begin +/sk_state save def +concat +3 index neg 3 index neg translate +rclip +0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin +10 setmiterlimit [ ] 0 setdash +newpath +/sk_dict_count countdictstack def +/sk_count count 1 sub def +userdict begin +/showpage { } def +/languagelevel where +{ +pop +languagelevel 1 ne +{ +false setstrokeadjust +false setoverprint +} if +} if +} bd +/skepsend { +count sk_count sub { pop } repeat +countdictstack sk_dict_count sub { end } repeat +sk_state restore +end +} bd +/gradidx 0 def +/gradient { +3 mul array +/gradidx 0 def +} bd +/$ { +3 index gradidx 5 -1 roll put +2 index gradidx 1 add 4 -1 roll put +1 index gradidx 2 add 3 -1 roll put +/gradidx gradidx 3 add def +} bd +/! { +3 +{ +dup dup gradidx dup 3 1 roll 3 sub get put +/gradidx gradidx 1 add def +} +repeat +} bd +/gradcolor { +3 mul dup 2 add 1 exch % idx 1 idx+2 +{ +1 index exch % array array i +get % array component +exch % component array +} +for +4 1 roll +} bd +/x0 0 def /y0 0 def /x1 0 def /y1 0 def +/left 0 def /right 0 def /top 0 def /bottom 0 def +/numcolors 0 def +/axial { +/y1 xd /x1 xd /y0 xd /x0 xd +dup length 3 idiv /numcolors xd +pusht exch % ctm array +x0 x1 ne y0 y1 ne or +{ +x0 y0 translate +[x1 x0 sub y1 y0 sub dup neg 2 index 0 0] concat +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +0 gradcolor rgb clippath f +0 1 numcolors 1 sub +{ +dup numcolors div +3 1 roll +gradcolor rgb +exch +bottom right top R f +} +for +} +if +pop +popt +} bd +/r0 0 def /r1 0 def /dr 0 def +/radial { +/r1 xd /r0 xd /y0 xd /x0 xd +/dr r1 r0 sub def +dup length 3 idiv /numcolors xd +pusht exch % ctm array +r0 r1 ne +{ +x0 y0 translate +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +dr 0 gt {numcolors 1 sub}{0} ifelse gradcolor rgb +clippath f +dr 0 gt {numcolors 1 sub -1 0} { 0 1 numcolors 1 sub} ifelse +{ +dup numcolors div dr mul r0 add +3 1 roll +gradcolor rgb +exch +0 0 3 -1 roll C f +} +for +} +if +pop +popt +} bd +/max { +2 copy lt {exch} if pop +} bd +/conical { +pusht 5 1 roll +3 1 roll /y0 xd /x0 xd +x0 y0 translate +radgrad rotate +dup length 3 idiv /numcolors xd +clippath flattenpath pathbbox newpath +4 { abs 4 1 roll} repeat +3 { max } repeat +2 mul +dup scale +0 gradcolor rgb +0 0 1 0 360 arc f +1 1 numcolors 1 sub +{ +dup numcolors div 180 mul +3 1 roll +gradcolor rgb +exch +0 0 moveto +0 0 1 4 -1 roll dup neg arc +closepath f +} +for +pop +popt +} bd +/XStep 0 def /YStep 0 def /imagedata 0 def /components 0 def +/tileimage2 { +exch 4 2 roll +/height xd +/width xd +mark +/components 2 index +/PatternType 1 +/PaintType 1 +/TilingType 1 +/BBox [0 0 width height] +/XStep width +/YStep height +/PaintProc { +begin +XStep YStep 8 +matrix +imagedata +false +components +colorimage +end +} +counttomark 2 div cvi dup dict begin +{ def } repeat +pop currentdict end +dup +/imagedata +4 -1 roll +width height mul mul string +currentfile exch readhexstring pop +put +exch +makepattern +setpattern +clippath +eofill +} bd +/tileimage1 { +concat +/components xd +/height xd +/width xd +/imagedata +currentfile +width height mul components mul string +readhexstring pop +def +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +left width div floor width mul +bottom height div floor height mul +translate +top bottom sub height div ceiling cvi +{ +gsave +right left sub width div ceiling cvi +{ +width height 8 matrix +components 1 eq +{ +{ imagedata } +image +} +{ +imagedata +false components +colorimage +} +ifelse +width 0 translate +} +repeat +grestore +0 height translate +} +repeat +} bd +/makepattern where +{ +pop +/tileimage /tileimage2 load def +} +{ +/tileimage /tileimage1 load def +} +ifelse +end +%%EndResource +%%EndProlog + +%%BeginSetup +%%IncludeResource: font Times-Roman + +10.433 setmiterlimit +%%EndSetup + +%%Page: 1 1 +SketchDict begin +newpath +141.733 807.876 m +141.733 765.356 l +340.158 765.356 l +0 0 0 rgb +0.566929 w +0 j +0 J +[] 0 d +S +pusht +340.158 765.356 translate +0 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +/Times-Roman 12 sf +(Schreiboperation fertig) +25 767 T +(Schreibaufforderung) +36 787 T +newpath +147.496 784.968 m +158.835 784.968 l +1 w +S +newpath +164.504 784.968 m +175.842 784.968 l +S +newpath +181.512 784.968 m +192.85 784.968 l +S +newpath +198.52 784.968 m +209.858 784.968 l +S +newpath +232.535 784.968 m +249.543 784.968 l +S +newpath +260.882 784.968 m +266.551 784.968 l +272.22 784.968 l +S +(A) +148 787 T +(B) +166 787 T +(C) +183 787 T +(D) +182 799 T +(E) +200 787 T +(F) +237 787 T +(G) +262 787 T +(H) +262 799 T +newpath +204.189 782.134 m +204.189 779.299 l +S +newpath +215.528 782.134 m +215.528 779.299 l +S +newpath +241.039 782.134 m +241.039 779.299 l +S +newpath +263.717 782.134 m +263.717 779.299 l +S +newpath +269.386 782.134 m +269.386 779.299 l +S +newpath +285.056 782.134 m +285.056 779.299 l +S +newpath +296.395 782.134 m +296.395 779.299 l +S +newpath +307.734 782.134 m +307.734 779.299 l +S +(D) +200 768 T +(A) +211 768 T +(C) +237 768 T +(E) +258 768 T +(F) +268 768 T +(H) +280 768 T +(G) +292 768 T +(B) +303 768 T +newpath +238.205 799.141 m +215.528 810.48 198.52 804.811 195.685 804.811 c +0.283465 w +S +pusht +195.685 804.811 translate +180 rotate +[ ] 0 d +-6 3 m +1 0 l +-6 -3 l +S +popt +newpath +241.039 799.141 m +195.685 835.992 156 796.307 156 796.307 c +S +pusht +156 796.307 translate +-135 rotate +[ ] 0 d +-6 3 m +1 0 l +-6 -3 l +S +popt +(Zeit) +342 769 T +%%PageTrailer +showpage +%%Trailer +end +%%DocumentSuppliedResources: procset Linux-Sketch-Procset 1.0 2 +%%EOF + +%%EndDocument + @endspecial 382 2830 a(Es)f(folgen)h(n)m(un)g(ein)g(paar)g +(Erl\344uterungen)i(zum)d(Diagramm:)382 2943 y(Die)37 +b(zeitlic)m(he)h(Ausdehn)m(ung,)i(mit)d(der)g(die)g(\334b)s(ergab)s(e)g +(v)m(on)g(Daten)m(bl\366)s(c)m(k)m(en)i(an)e(das)382 +3056 y(IO-System)32 b(dargestellt)h(ist,)g(en)m(tspric)m(h)m(t)h(einem) +f(Aufruf)f(v)m(on)g(ll_rw_blo)s(c)m(k\(\).)48 b(Aus)382 +3169 y(der)25 b(Abbildung)g(ist)f(ersic)m(h)m(tlic)m(h,)k(da\377)d(auc) +m(h)g(mehrere)h(Bl\366)s(c)m(k)m(e)f(auf)f(einmal)h(\374b)s(ergeb)s(en) +382 3282 y(w)m(erden)38 b(k)m(\366nnen)g(und)f(da\377)g(Aufrufe)g(v)m +(on)g(ll_rw_blo)s(c)m(k\(\))i(auc)m(h)e(v)m(ersc)m(hieden)i(lang)382 +3395 y(dauern)e(k)m(\366nnen,)h(denn)f(ll_rw_blo)s(c)m(k\(\))g(k)-5 +b(ann)36 b(blo)s(c)m(kiert)h(w)m(erden.)59 b(Der)36 b(Absc)m(hlu\377) +382 3508 y(einer)31 b(Sc)m(hreib)s(op)s(eration)h(ist)e(als)g +(Zeitpunkt)h(dargestellt,)h(der)f(dem)f(Zeitpunkt)i(en)m(t-)382 +3621 y(spric)m(h)m(t,)27 b(zu)d(dem)h(das)f(upto)s(date)h(Bit)f(im)h(k) +m(orresp)s(ondierenden)h(Bu\033er-Head)f(gesetzt)382 +3734 y(wird.)382 3888 y(Zwisc)m(hen)36 b(den)f(Daten)m(bl\366)s(c)m(k)m +(en)i(A,)d(B,)g(C,)h(D)f(und)h(E)g(k)-5 b(ann)35 b(es)f(k)m(eine)h +(Abh\344ngigk)m(eit)382 4001 y(geb)s(en,)43 b(da)d(v)m(or)g(deren)h(Sc) +m(hreibb)s(efehlen)h(k)m(eine)e(Sc)m(hreib)s(op)s(eration)i(abgesc)m +(hlossen)382 4114 y(wurde.)f(F)28 b(k)-5 b(ann)29 b(ab)s(er)f(v)m(on)h +(A)f(und)h(D)g(abh\344ngen,)h(da)f(der)g(Sc)m(hreibb)s(efehl)h(f\374r)e +(F)h(erst)382 4227 y(erteilt)h(wurde,)g(nac)m(hdem)h(im)e(System)g(b)s +(ek)-5 b(ann)m(t)30 b(wurde,)g(da\377)f(A)g(und)g(D)g(v)m +(ollst\344ndig)382 4339 y(auf)37 b(die)h(F)-8 b(estplatte)38 +b(gesc)m(hrieb)s(en)h(wurden.)62 b(Eb)s(enso)38 b(k)-5 +b(ann)37 b(es)g(eine)h(Abh\344ngigk)m(eit)382 4452 y(v)m(on)28 +b(G)e(und)i(H)f(zu)g(A,)g(C)g(und)h(D)f(geb)s(en.)40 +b(Es)27 b(k)-5 b(ann)27 b(ab)s(er)h(k)m(eine)g(Abh\344ngigk)m(eit)g(v)m +(on)g(H)382 4565 y(und)f(G)f(zu)g(E)h(und)g(F)f(geb)s(en.)39 +b(Ob)27 b(diese)f(Abh\344ngigk)m(eit)i(wirklic)m(h)g(existiert,)f(w)m +(ei\377)h(n)m(ur)382 4678 y(der)36 b(Auftraggeb)s(er)f(der)h(Sc)m +(hreib)s(op)s(erationen)i(\(das)d(Filesystem\).)56 b(Auf)34 +b(der)i(Eb)s(ene)382 4791 y(eines)30 b(F)-8 b(estplatten)m(treib)s(ers) +33 b(darf)d(man)h(k)m(eine)g(m\366glic)m(he)h(Abh\344ngigk)m(eit)g(v)m +(erletzen.)382 5068 y Fn(3.3.1.1)103 b(W)-9 b(rite)36 +b(Barriers)382 5281 y Fp(Diese)f(Erk)m(enn)m(tnis)i(erm\366glic)m(h)m +(t)h(es,)e(einen)g(Algorithm)m(us)h(anzugeb)s(en,)g(der)f(Sc)m(hran-) +382 5394 y(k)m(en)25 b(\(write)h(barriers\),)i(\374b)s(er)d(die)g(Sc)m +(hreibanforderungen)k(nic)m(h)m(t)e(v)m(ersc)m(hob)s(en)f(w)m(erden) +1831 5622 y(24)p eop +%%Page: 25 27 +25 26 bop 382 262 a Fl(KAPITEL)31 b(3.)71 b(DRBD)30 b(DESIGN)448 +b(3.3.)71 b(SCHREIBOPERA)-8 b(TIONEN)p 382 299 2989 4 +v 382 539 a Fp(d\374rfen,)31 b(erzeugt.)493 801 y(1.)46 +b(Jeder)30 b(Blo)s(c)m(k,)g(der)f(gesc)m(hrieb)s(en)i(w)m(erden)g(m)m +(u\377,)f(wird)g(zu)f(einer)h(Menge)g(hinzu-)609 914 +y(gef\374gt.)493 1101 y(2.)46 b(Ist)31 b(das)h(Sc)m(hreib)s(en)h(einer) +g(der)f(Bl\366)s(c)m(k)m(e)g(aus)g(der)g(Menge)g(abgesc)m(hlossen,)i +(wird)609 1214 y(die)d(Menge)g(geleert,)g(und)g(eine)g(Sc)m(hrank)m(e)h +(m)m(u\377)f(ausgegeb)s(en)g(w)m(erden.)382 1477 y(W)-8 +b(endet)25 b(man)f(den)g(Algorithm)m(us)h(auf)f(das)f(Beispiel)h(an,)i +(so)d(w)m(erden)i(folgende)g(P)m(ak)m(ete)382 1590 y(\374b)s(er)30 +b(das)h(Netzw)m(erk)g(v)m(ersendet:)393 2152 y @beginspecial +9 @llx 758 @lly 365 @urx 810 @ury 3560 @rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//wire_1.ps +%!PS-Adobe-3.0 EPSF-3.0 +%%For: Philipp Reisner +%%CreationDate: Thu Mar 16 13:00:09 2000 +%%Title: wire_1.ps +%%Creator: Sketch 0.6.5 +%%Pages: 1 +%%BoundingBox: 9 758 365 810 +%%Extensions: CMYK +%%DocumentSuppliedResources: (atend) +%%DocumentNeededResources: font Times-Roman +%%EndComments + +%%BeginProlog +%%BeginResource: procset Linux-Sketch-Procset 1.0 2 +/SketchDict 100 dict def +SketchDict begin +/bd { bind def } bind def +/x { exch } bd +/xd { exch def } bd +/PI 3.14159265358979323846264338327 def +/radgrad { 180 mul PI div } bd +/skstartmatrix matrix currentmatrix def +/tmpmat matrix def +/ISOLatin1Encoding dup where +{ pop pop } +{ [/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand +/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period +/slash /zero /one /two /three /four /five /six /seven /eight /nine /colon +/semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J +/K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash +/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i +/j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright +/asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve +/dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek +/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen +/registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu +/paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright +/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex +/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex +/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve +/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute +/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute +/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute +/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde +/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def +} +ifelse +/arct dup where +{pop pop} +{ +/arct {arcto pop pop pop pop} bd +} +ifelse +/size 0 def +/fontname 0 def +/newfont 0 def +/sf { +/size xd +/fontname xd +fontname findfont +dup /Encoding get StandardEncoding eq +{ +dup +length dict /newfont xd +{ +1 index +/FID ne +{ newfont 3 1 roll put } +{ pop pop } +ifelse +} forall +newfont /Encoding ISOLatin1Encoding put +fontname newfont definefont +} +if +size scalefont setfont +} bd +/pusht {matrix currentmatrix} bd +/popt {setmatrix} bd +/pushc {gsave} bd +/popc {grestore} bd +/rgb {setrgbcolor} bd +/w { setlinewidth } bd +/j { setlinejoin } bd +/J { setlinecap } bd +/d { setdash } bd +/F { eofill } bd +/f { closepath F } bd +/S { +pusht +skstartmatrix setmatrix stroke +popt +} bd +/s { closepath S } bd +/m { moveto } bd +/l { lineto } bd +/c { curveto } bd +/txt { +/tmpmat tmpmat currentmatrix def +dup type /arraytype eq {concat} {translate} ifelse +0 0 m +tmpmat +} bd +/T {txt x show popt} bd +/P {txt x true charpath popt} bd +/TP {txt x dup show 0 0 m true charpath popt} bd +/C {newpath 0 360 arc} bd +/R { +2 copy m +x 2 index l +x 2 index x l +l +closepath +} bd +/ellipse { +dup type /arraytype eq +{ +pusht x concat +0 0 1.0 C +popt +} +{ +pusht 5 1 roll +4 -1 roll concat +newpath +dup 2 eq { +0 0 m +} if +3 1 roll +radgrad x +radgrad x +0 0 1 5 -2 roll +arc +0 ne { closepath } if +popt +} +ifelse +} bd +/radius1 0 def +/radius2 0 def +/factor 0 def +/rect { +dup type /arraytype eq +{ +pusht x concat +0 0 m 1 0 l 1 1 l 0 1 l closepath +popt +} +{ +/radius2 xd +/radius1 xd +pusht x concat +radius1 radius2 div 1 scale +0 radius2 m +0 1 radius2 1 radius2 arct +radius2 radius1 div +dup 1 1 index 0 radius2 arct +0 0 0 radius2 arct +0 0 0 1 radius2 arct +closepath +popt +} +ifelse +} bd +/buf 0 def +/width 0 def +/height 0 def +/skcimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width 3 mul string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +false 3 colorimage +tmpmat setmatrix +} bd +/skgimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +image +tmpmat setmatrix +} bd +/rclip { +4 2 roll m +dup 0 x rlineto +x 0 rlineto +neg 0 x rlineto +closepath +clip +} bd +/skeps { +10 dict begin +/sk_state save def +concat +3 index neg 3 index neg translate +rclip +0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin +10 setmiterlimit [ ] 0 setdash +newpath +/sk_dict_count countdictstack def +/sk_count count 1 sub def +userdict begin +/showpage { } def +/languagelevel where +{ +pop +languagelevel 1 ne +{ +false setstrokeadjust +false setoverprint +} if +} if +} bd +/skepsend { +count sk_count sub { pop } repeat +countdictstack sk_dict_count sub { end } repeat +sk_state restore +end +} bd +/gradidx 0 def +/gradient { +3 mul array +/gradidx 0 def +} bd +/$ { +3 index gradidx 5 -1 roll put +2 index gradidx 1 add 4 -1 roll put +1 index gradidx 2 add 3 -1 roll put +/gradidx gradidx 3 add def +} bd +/! { +3 +{ +dup dup gradidx dup 3 1 roll 3 sub get put +/gradidx gradidx 1 add def +} +repeat +} bd +/gradcolor { +3 mul dup 2 add 1 exch % idx 1 idx+2 +{ +1 index exch % array array i +get % array component +exch % component array +} +for +4 1 roll +} bd +/x0 0 def /y0 0 def /x1 0 def /y1 0 def +/left 0 def /right 0 def /top 0 def /bottom 0 def +/numcolors 0 def +/axial { +/y1 xd /x1 xd /y0 xd /x0 xd +dup length 3 idiv /numcolors xd +pusht exch % ctm array +x0 x1 ne y0 y1 ne or +{ +x0 y0 translate +[x1 x0 sub y1 y0 sub dup neg 2 index 0 0] concat +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +0 gradcolor rgb clippath f +0 1 numcolors 1 sub +{ +dup numcolors div +3 1 roll +gradcolor rgb +exch +bottom right top R f +} +for +} +if +pop +popt +} bd +/r0 0 def /r1 0 def /dr 0 def +/radial { +/r1 xd /r0 xd /y0 xd /x0 xd +/dr r1 r0 sub def +dup length 3 idiv /numcolors xd +pusht exch % ctm array +r0 r1 ne +{ +x0 y0 translate +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +dr 0 gt {numcolors 1 sub}{0} ifelse gradcolor rgb +clippath f +dr 0 gt {numcolors 1 sub -1 0} { 0 1 numcolors 1 sub} ifelse +{ +dup numcolors div dr mul r0 add +3 1 roll +gradcolor rgb +exch +0 0 3 -1 roll C f +} +for +} +if +pop +popt +} bd +/max { +2 copy lt {exch} if pop +} bd +/conical { +pusht 5 1 roll +3 1 roll /y0 xd /x0 xd +x0 y0 translate +radgrad rotate +dup length 3 idiv /numcolors xd +clippath flattenpath pathbbox newpath +4 { abs 4 1 roll} repeat +3 { max } repeat +2 mul +dup scale +0 gradcolor rgb +0 0 1 0 360 arc f +1 1 numcolors 1 sub +{ +dup numcolors div 180 mul +3 1 roll +gradcolor rgb +exch +0 0 moveto +0 0 1 4 -1 roll dup neg arc +closepath f +} +for +pop +popt +} bd +/XStep 0 def /YStep 0 def /imagedata 0 def /components 0 def +/tileimage2 { +exch 4 2 roll +/height xd +/width xd +mark +/components 2 index +/PatternType 1 +/PaintType 1 +/TilingType 1 +/BBox [0 0 width height] +/XStep width +/YStep height +/PaintProc { +begin +XStep YStep 8 +matrix +imagedata +false +components +colorimage +end +} +counttomark 2 div cvi dup dict begin +{ def } repeat +pop currentdict end +dup +/imagedata +4 -1 roll +width height mul mul string +currentfile exch readhexstring pop +put +exch +makepattern +setpattern +clippath +eofill +} bd +/tileimage1 { +concat +/components xd +/height xd +/width xd +/imagedata +currentfile +width height mul components mul string +readhexstring pop +def +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +left width div floor width mul +bottom height div floor height mul +translate +top bottom sub height div ceiling cvi +{ +gsave +right left sub width div ceiling cvi +{ +width height 8 matrix +components 1 eq +{ +{ imagedata } +image +} +{ +imagedata +false components +colorimage +} +ifelse +width 0 translate +} +repeat +grestore +0 height translate +} +repeat +} bd +/makepattern where +{ +pop +/tileimage /tileimage2 load def +} +{ +/tileimage /tileimage1 load def +} +ifelse +end +%%EndResource +%%EndProlog + +%%BeginSetup +%%IncludeResource: font Times-Roman + +10.433 setmiterlimit +%%EndSetup + +%%Page: 1 1 +SketchDict begin +newpath +141.733 796.537 m +141.733 765.356 l +340.158 765.356 l +0 0 0 rgb +0.566929 w +0 j +0 J +[] 0 d +S +pusht +340.158 765.356 translate +0 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +/Times-Roman 12 sf +(Pakete auf dem Netzwerk) +12 773 T +(A) +150 774 T +(B) +167 774 T +(C) +184 774 T +(D) +201 774 T +(E) +218 774 T +(F) +243 774 T +(G) +263 774 T +(H) +280 774 T +(Zeit) +342 769 T +[14.1732 0 0 -14.1732 147.402 785.198] rect +1 w +S +[14.1732 0 0 -14.1732 164.41 785.198] rect +S +[14.1732 0 0 -14.1732 181.418 785.198] rect +S +[14.1732 0 0 -14.1732 198.426 785.198] rect +S +[14.1732 0 0 -14.1732 240.945 785.198] rect +S +[5.6693 0 0 -14.1732 232.441 785.198] rect +gsave +0.697 0.697 0.697 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[14.1732 0 0 -14.1732 260.788 785.198] rect +S +[14.1732 0 0 -14.1732 277.796 785.198] rect +S +[14.1732 0 0 -14.1732 215.433 785.198] rect +S +/Times-Roman 12 sf +(Schranke) +167 799 T +newpath +215.433 802.206 m +232.441 802.206 232.441 796.537 235.276 788.033 c +0.283465 w +S +pusht +235.276 788.033 translate +-71.5651 rotate +[ ] 0 d +-6 3 m +1 0 l +-6 -3 l +S +popt +%%PageTrailer +showpage +%%Trailer +end +%%DocumentSuppliedResources: procset Linux-Sketch-Procset 1.0 2 +%%EOF + +%%EndDocument + @endspecial 382 2386 a(Nun)45 b(k)-5 b(ann)45 b(der)h(Algorithm)m(us)g +(f\374r)f(den)h(Empfang)g(der)g(P)m(ak)m(ete)h(folgenderma\377en)382 +2498 y(v)m(erb)s(essert)30 b(w)m(erden:)493 2761 y(1.)46 +b(Empfange)32 b(ein)e(P)m(ak)m(et.)648 2973 y(\(a\))46 +b(F)-8 b(alls)44 b(das)f(P)m(ak)m(et)i(einen)e(Daten)m(blo)s(c)m(k)i +(en)m(th\344lt,)j(gib)c(den)f(Befehl,)k(den)809 3086 +y(Daten)m(blo)s(c)m(k)42 b(auf)e(die)h(F)-8 b(estplatte)41 +b(zu)g(sc)m(hreib)s(en,)j(und)c(merk)m(e)h(dir)g(den)809 +3199 y(Daten)m(blo)s(c)m(k)32 b(in)e(einer)h(Menge.)643 +3345 y(\(b\))46 b(F)-8 b(alls)43 b(das)f(P)m(ak)m(et)h(eine)g(Sc)m +(hrank)m(e)h(ist,)h(w)m(arte)f(auf)e(den)g(Absc)m(hlu\377)h(der)809 +3458 y(Sc)m(hreib)s(op)s(erationen)30 b(aller)f(Daten)m(bl\366)s(c)m(k) +m(e)g(in)f(der)g(Menge,)h(und)f(leere)g(die)809 3571 +y(Menge)j(ansc)m(hlie\377end.)382 3833 y(Hier)f(no)s(c)m(h)h(ein)g +(Beispiel:)393 4922 y @beginspecial 9 @llx 707 @lly 365 +@urx 820 @ury 3560 @rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//timing_n_wire_2.ps +%!PS-Adobe-3.0 EPSF-3.0 +%%For: Philipp Reisner +%%CreationDate: Mon Apr 17 14:17:40 2000 +%%Title: timing_n_wire_2.ps +%%Creator: Sketch 0.6.5 +%%Pages: 1 +%%BoundingBox: 9 707 365 820 +%%Extensions: CMYK +%%DocumentSuppliedResources: (atend) +%%DocumentNeededResources: font Times-Roman +%%EndComments + +%%BeginProlog +%%BeginResource: procset Linux-Sketch-Procset 1.0 2 +/SketchDict 100 dict def +SketchDict begin +/bd { bind def } bind def +/x { exch } bd +/xd { exch def } bd +/PI 3.14159265358979323846264338327 def +/radgrad { 180 mul PI div } bd +/skstartmatrix matrix currentmatrix def +/tmpmat matrix def +/ISOLatin1Encoding dup where +{ pop pop } +{ [/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand +/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period +/slash /zero /one /two /three /four /five /six /seven /eight /nine /colon +/semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J +/K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash +/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i +/j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright +/asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve +/dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek +/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen +/registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu +/paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright +/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex +/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex +/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve +/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute +/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute +/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute +/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde +/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def +} +ifelse +/arct dup where +{pop pop} +{ +/arct {arcto pop pop pop pop} bd +} +ifelse +/size 0 def +/fontname 0 def +/newfont 0 def +/sf { +/size xd +/fontname xd +fontname findfont +dup /Encoding get StandardEncoding eq +{ +dup +length dict /newfont xd +{ +1 index +/FID ne +{ newfont 3 1 roll put } +{ pop pop } +ifelse +} forall +newfont /Encoding ISOLatin1Encoding put +fontname newfont definefont +} +if +size scalefont setfont +} bd +/pusht {matrix currentmatrix} bd +/popt {setmatrix} bd +/pushc {gsave} bd +/popc {grestore} bd +/rgb {setrgbcolor} bd +/w { setlinewidth } bd +/j { setlinejoin } bd +/J { setlinecap } bd +/d { setdash } bd +/F { eofill } bd +/f { closepath F } bd +/S { +pusht +skstartmatrix setmatrix stroke +popt +} bd +/s { closepath S } bd +/m { moveto } bd +/l { lineto } bd +/c { curveto } bd +/txt { +/tmpmat tmpmat currentmatrix def +dup type /arraytype eq {concat} {translate} ifelse +0 0 m +tmpmat +} bd +/T {txt x show popt} bd +/P {txt x true charpath popt} bd +/TP {txt x dup show 0 0 m true charpath popt} bd +/C {newpath 0 360 arc} bd +/R { +2 copy m +x 2 index l +x 2 index x l +l +closepath +} bd +/ellipse { +dup type /arraytype eq +{ +pusht x concat +0 0 1.0 C +popt +} +{ +pusht 5 1 roll +4 -1 roll concat +newpath +dup 2 eq { +0 0 m +} if +3 1 roll +radgrad x +radgrad x +0 0 1 5 -2 roll +arc +0 ne { closepath } if +popt +} +ifelse +} bd +/radius1 0 def +/radius2 0 def +/factor 0 def +/rect { +dup type /arraytype eq +{ +pusht x concat +0 0 m 1 0 l 1 1 l 0 1 l closepath +popt +} +{ +/radius2 xd +/radius1 xd +pusht x concat +radius1 radius2 div 1 scale +0 radius2 m +0 1 radius2 1 radius2 arct +radius2 radius1 div +dup 1 1 index 0 radius2 arct +0 0 0 radius2 arct +0 0 0 1 radius2 arct +closepath +popt +} +ifelse +} bd +/buf 0 def +/width 0 def +/height 0 def +/skcimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width 3 mul string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +false 3 colorimage +tmpmat setmatrix +} bd +/skgimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +image +tmpmat setmatrix +} bd +/rclip { +4 2 roll m +dup 0 x rlineto +x 0 rlineto +neg 0 x rlineto +closepath +clip +} bd +/skeps { +10 dict begin +/sk_state save def +concat +3 index neg 3 index neg translate +rclip +0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin +10 setmiterlimit [ ] 0 setdash +newpath +/sk_dict_count countdictstack def +/sk_count count 1 sub def +userdict begin +/showpage { } def +/languagelevel where +{ +pop +languagelevel 1 ne +{ +false setstrokeadjust +false setoverprint +} if +} if +} bd +/skepsend { +count sk_count sub { pop } repeat +countdictstack sk_dict_count sub { end } repeat +sk_state restore +end +} bd +/gradidx 0 def +/gradient { +3 mul array +/gradidx 0 def +} bd +/$ { +3 index gradidx 5 -1 roll put +2 index gradidx 1 add 4 -1 roll put +1 index gradidx 2 add 3 -1 roll put +/gradidx gradidx 3 add def +} bd +/! { +3 +{ +dup dup gradidx dup 3 1 roll 3 sub get put +/gradidx gradidx 1 add def +} +repeat +} bd +/gradcolor { +3 mul dup 2 add 1 exch % idx 1 idx+2 +{ +1 index exch % array array i +get % array component +exch % component array +} +for +4 1 roll +} bd +/x0 0 def /y0 0 def /x1 0 def /y1 0 def +/left 0 def /right 0 def /top 0 def /bottom 0 def +/numcolors 0 def +/axial { +/y1 xd /x1 xd /y0 xd /x0 xd +dup length 3 idiv /numcolors xd +pusht exch % ctm array +x0 x1 ne y0 y1 ne or +{ +x0 y0 translate +[x1 x0 sub y1 y0 sub dup neg 2 index 0 0] concat +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +0 gradcolor rgb clippath f +0 1 numcolors 1 sub +{ +dup numcolors div +3 1 roll +gradcolor rgb +exch +bottom right top R f +} +for +} +if +pop +popt +} bd +/r0 0 def /r1 0 def /dr 0 def +/radial { +/r1 xd /r0 xd /y0 xd /x0 xd +/dr r1 r0 sub def +dup length 3 idiv /numcolors xd +pusht exch % ctm array +r0 r1 ne +{ +x0 y0 translate +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +dr 0 gt {numcolors 1 sub}{0} ifelse gradcolor rgb +clippath f +dr 0 gt {numcolors 1 sub -1 0} { 0 1 numcolors 1 sub} ifelse +{ +dup numcolors div dr mul r0 add +3 1 roll +gradcolor rgb +exch +0 0 3 -1 roll C f +} +for +} +if +pop +popt +} bd +/max { +2 copy lt {exch} if pop +} bd +/conical { +pusht 5 1 roll +3 1 roll /y0 xd /x0 xd +x0 y0 translate +radgrad rotate +dup length 3 idiv /numcolors xd +clippath flattenpath pathbbox newpath +4 { abs 4 1 roll} repeat +3 { max } repeat +2 mul +dup scale +0 gradcolor rgb +0 0 1 0 360 arc f +1 1 numcolors 1 sub +{ +dup numcolors div 180 mul +3 1 roll +gradcolor rgb +exch +0 0 moveto +0 0 1 4 -1 roll dup neg arc +closepath f +} +for +pop +popt +} bd +/XStep 0 def /YStep 0 def /imagedata 0 def /components 0 def +/tileimage2 { +exch 4 2 roll +/height xd +/width xd +mark +/components 2 index +/PatternType 1 +/PaintType 1 +/TilingType 1 +/BBox [0 0 width height] +/XStep width +/YStep height +/PaintProc { +begin +XStep YStep 8 +matrix +imagedata +false +components +colorimage +end +} +counttomark 2 div cvi dup dict begin +{ def } repeat +pop currentdict end +dup +/imagedata +4 -1 roll +width height mul mul string +currentfile exch readhexstring pop +put +exch +makepattern +setpattern +clippath +eofill +} bd +/tileimage1 { +concat +/components xd +/height xd +/width xd +/imagedata +currentfile +width height mul components mul string +readhexstring pop +def +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +left width div floor width mul +bottom height div floor height mul +translate +top bottom sub height div ceiling cvi +{ +gsave +right left sub width div ceiling cvi +{ +width height 8 matrix +components 1 eq +{ +{ imagedata } +image +} +{ +imagedata +false components +colorimage +} +ifelse +width 0 translate +} +repeat +grestore +0 height translate +} +repeat +} bd +/makepattern where +{ +pop +/tileimage /tileimage2 load def +} +{ +/tileimage /tileimage1 load def +} +ifelse +end +%%EndResource +%%EndProlog + +%%BeginSetup +%%IncludeResource: font Times-Roman + +10.433 setmiterlimit +%%EndSetup + +%%Page: 1 1 +SketchDict begin +newpath +141.619 745.45 m +141.619 714.269 l +340.044 714.269 l +0 0 0 rgb +0.566929 w +0 j +0 J +[] 0 d +S +pusht +340.044 714.269 translate +0 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +/Times-Roman 12 sf +(Pakete auf dem Netzwerk) +12 722 T +(A) +149 723 T +(B) +167 723 T +(C) +184 723 T +(D) +201 723 T +(E) +218 723 T +(F) +243 723 T +(G) +269 723 T +(H) +286 723 T +(Zeit) +342 718 T +[14.1732 0 0 -14.1732 147.288 734.111] rect +1 w +S +[14.1732 0 0 -14.1732 164.296 734.111] rect +S +[14.1732 0 0 -14.1732 181.304 734.111] rect +S +[14.1732 0 0 -14.1732 198.312 734.111] rect +S +[14.1732 0 0 -14.1732 240.831 734.111] rect +S +[5.6693 0 0 -14.1732 232.327 734.111] rect +gsave +0.697 0.697 0.697 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[5.6693 0 0 -14.1732 257.953 734.174] rect +gsave +0.697 0.697 0.697 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[14.1732 0 0 -14.1732 266.457 734.174] rect +S +[14.1732 0 0 -14.1732 283.465 734.174] rect +S +[14.1732 0 0 -14.1732 215.319 734.111] rect +S +newpath +141.619 810.647 m +141.619 768.127 l +340.044 768.127 l +0.566929 w +S +pusht +340.044 768.127 translate +0 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +/Times-Roman 12 sf +(Schreiboperation fertig) +25 770 T +(Schreibaufforderung) +36 790 T +newpath +147.382 787.739 m +158.721 787.739 l +1 w +S +newpath +164.39 787.739 m +175.728 787.739 l +S +newpath +181.398 787.739 m +192.736 787.739 l +S +newpath +198.406 787.739 m +209.744 787.739 l +S +newpath +232.421 787.739 m +249.429 787.739 l +S +newpath +266.457 788.033 m +272.126 788.033 l +277.795 788.033 l +S +(A) +148 790 T +(B) +166 790 T +(C) +183 790 T +(D) +182 801 T +(E) +200 790 T +(F) +237 790 T +(G) +267 790 T +(H) +267 802 T +newpath +204.075 784.905 m +204.075 782.07 l +S +newpath +215.414 784.905 m +215.414 782.07 l +S +newpath +240.925 784.905 m +240.925 782.07 l +S +newpath +263.603 784.905 m +263.603 782.07 l +S +newpath +269.272 784.905 m +269.272 782.07 l +S +newpath +284.942 784.905 m +284.942 782.07 l +S +newpath +296.281 784.905 m +296.281 782.07 l +S +newpath +307.62 784.905 m +307.62 782.07 l +S +(D) +199 771 T +(A) +211 771 T +(C) +237 771 T +(E) +269 771 T +(F) +256 771 T +(H) +280 771 T +(G) +292 771 T +(B) +303 771 T +newpath +238.091 801.912 m +215.414 813.251 198.406 807.582 195.571 807.582 c +0.283465 w +S +pusht +195.571 807.582 translate +180 rotate +[ ] 0 d +-6 3 m +1 0 l +-6 -3 l +S +popt +newpath +240.925 801.912 m +195.571 838.763 155.886 799.078 155.886 799.078 c +S +pusht +155.886 799.078 translate +-135 rotate +[ ] 0 d +-6 3 m +1 0 l +-6 -3 l +S +popt +(Zeit) +342 772 T +newpath +266.457 799.371 m +257.953 805.041 252.284 802.206 246.615 799.371 c +S +pusht +246.615 799.371 translate +-153.431 rotate +[ ] 0 d +-6 3 m +1 0 l +-6 -3 l +S +popt +%%PageTrailer +showpage +%%Trailer +end +%%DocumentSuppliedResources: procset Linux-Sketch-Procset 1.0 2 +%%EOF + +%%EndDocument + @endspecial 1831 5622 a(25)p eop +%%Page: 26 28 +26 27 bop 382 262 a Fl(KAPITEL)31 b(3.)71 b(DRBD)30 b(DESIGN)641 +b(3.4.)71 b(SYNCHR)m(ONISA)-8 b(TION)p 382 299 2989 4 +v 382 539 a Fj(3.4)130 b(Sync)l(hronisation)382 786 y +Fp(Neb)s(en)20 b(der)h(Replik)-5 b(ation)21 b(der)f(Daten)m(bl\366)s(c) +m(k)m(e,)25 b(die)20 b(Bestandteil)i(der)e(normalen)i(Sc)m(hreib-)382 +899 y(op)s(erationen)36 b(ist,)f(m)m(u\377)g(es)f(auc)m(h)i(die)f +(M\366glic)m(hk)m(eit)h(geb)s(en,)g(den)e(Inhalt)h(der)g(gespie-)382 +1012 y(gelten)c(F)-8 b(estplatten)32 b(wieder)f(in)g(den)g(aktuellen)g +(Zustand)g(zu)g(bringen,)h(w)m(enn)f(w)m(egen)382 1125 +y(des)23 b(Ausfalls)g(einer)i(K)m(omp)s(onen)m(te)h(die)e(F)-8 +b(estplatten)25 b(nic)m(h)m(t)g(mehr)g(die)f(gleic)m(hen)h(Daten)382 +1238 y(en)m(thalten.)382 1395 y(Die)e(o\033ensic)m(h)m(tlic)m(he)k +(L\366sung)d(f\374r)f(das)g(Problem)i(ist)e(es,)i(alle)e(Bl\366)s(c)m +(k)m(e)h(einer)g(der)g(b)s(eiden)382 1508 y(F)-8 b(estplatten)38 +b(auf)e(die)h(andere)h(zu)e(k)m(opieren.)61 b(Diese)36 +b(V)-8 b(organgsw)m(eise)38 b(ist)f(allerdings)382 1621 +y(f\374r)23 b(viele)g(An)m(w)m(endungsf\344lle)j(nic)m(h)m(t)f +(geeignet.)39 b(Bei)23 b(gro\377en)i(P)m(artitionen)g(z.B.)f(\(T)-8 +b(erra-)382 1734 y(b)m(yte\))26 b(w\374rde)g(der)g(K)m(opierv)m(orang)i +(sehr)e(lange)g(dauern,)h(b)s(ei)f(geographisc)m(h)h(v)m(erteilten)382 +1847 y(Knoten)38 b(k)-5 b(ann)37 b(die)g(Not)m(w)m(endigk)m(eit,)k +(derart)d(viele)f(Daten)g(zu)g(transp)s(ortieren,)j(mit)382 +1960 y(hohen)31 b(K)m(osten)g(v)m(erbunden)h(sein.)382 +2245 y Fo(3.4.1)112 b(Sc)m(hnelle)37 b(Sync)m(hronisation)382 +2461 y Fp(Daher)27 b(ist)g(in)g(DRBD)g(no)s(c)m(h)g(zus\344tzlic)m(h)i +(ein)e(v)m(erb)s(essertes)g(Sync)m(hronisationsv)m(erfah-)382 +2574 y(ren)d(v)m(orhanden.)40 b(Dab)s(ei)24 b(w)m(erden)i(n)m(ur)f +(jene)f(Bl\366)s(c)m(k)m(e)h(k)m(opiert,)h(die)f(v)m(er\344ndert)g +(wurden,)382 2687 y(w)m(\344hrend)31 b(die)e(V)-8 b(erbindung)31 +b(zum)e(Knoten)h(mit)g(der)f(gespiegelten)i(F)-8 b(estplatte)30 +b(un)m(ter-)382 2800 y(bro)s(c)m(hen)h(w)m(ar.)382 2957 +y(Daf\374r)j(ist)g(es)f(not)m(w)m(endig,)38 b(genau)d(zu)f(wissen,)h(w) +m(elc)m(he)h(Daten)m(bl\366)s(c)m(k)m(e)g(v)m(om)f(empfan-)382 +3070 y(genden)k(Knoten)g(ordn)m(ungsgem\344\377)h(auf)e(die)g(F)-8 +b(estplatte)39 b(gesc)m(hrieb)s(en)h(wurden.)64 b(In)382 +3183 y(den)31 b(Protok)m(ollen)h(A)e(und)h(B)f(ist)g(ab)s(er)h(eine)g +(solc)m(he)g(Benac)m(hric)m(h)m(tigung)k(nic)m(h)m(t)d(v)m(orge-)382 +3296 y(sehen.)40 b(Daher)27 b(wird)h(ein)f(w)m(eiteres)h(P)m(ak)m(et)g +(in)f(das)g(Protok)m(oll)i(aufgenommen.)41 b(Dieses)382 +3409 y(P)m(ak)m(et)g(wird)e(v)m(om)h(sekund\344ren)g(Knoten)h(an)e(den) +h(prim\344ren)g(gesendet,)j(w)m(enn)d(alle)382 3522 y(Daten)m(bl\366)s +(c)m(k)m(e)c(einer)f(der)f(in)g(Absc)m(hnitt)h(3.3.1.1)g +(eingef\374hrten)g(Menge)f(gesc)m(hrieb)s(en)382 3635 +y(wurden.)41 b(Dieses)30 b(Best\344tigungspak)m(et)i(ist)f(in)f(allen)h +(drei)g(Protok)m(ollen)h(v)m(orhanden.)382 3792 y(Bric)m(h)m(t)j(n)m +(un)f(die)f(V)-8 b(erbindung)35 b(zwisc)m(hen)f(zw)m(ei)g(Knoten)h +(zusammen,)f(wird)g(am)f(sen-)382 3905 y(denden)e(Knoten)f(angenommen,) +i(da\377)e(alle)h(P)m(ak)m(ete,)g(die)f(in)g(no)s(c)m(h)g(nic)m(h)m(t)i +(b)s(est\344tigten)382 4018 y(Mengen)37 b(en)m(thalten)i(sind,)f(no)s +(c)m(h)g(nic)m(h)m(t)g(gesc)m(hrieb)s(en)g(wurden.)61 +b(Diese)37 b(Bl\366)s(c)m(k)m(e)g(und)382 4131 y(alle)29 +b(Bl\366)s(c)m(k)m(e,)h(die,)g(w)m(\344hrend)h(die)e(V)-8 +b(erbindung)31 b(un)m(terbro)s(c)m(hen)g(ist,)e(gesc)m(hrieb)s(en)h(w)m +(er-)382 4244 y(den,)h(w)m(erden)h(in)e(einem)h(Bitfeld)g(markiert.)382 +4401 y(In)f(diesem)h(Bitfeld)g(en)m(tspric)m(h)m(t)i(jedes)d(Bit)h +(einer)g(b)s(estimm)m(ten)h(Datenmenge,)g(die)f(in)382 +4514 y(k)m(einer)g(\034xen)g(Bezieh)m(ung)h(zur)e(Blo)s(c)m +(kgr\366\377e)i(auf)e(dem)h(Ger\344t)f(steh)m(t.)382 +4672 y(W)-8 b(enn)39 b(die)f(K)m(omm)m(unik)-5 b(ation)41 +b(wieder)e(hergestellt)h(ist,)g(l\344uft)e(die)g(Sync)m(hronisation)382 +4785 y(parallel)g(zum)g(normalen)g(Betrieb.)61 b(Die)38 +b(Bandbreite,)i(die)d(der)h(Sync)m(hronisations-)382 +4898 y(proze\377)31 b(maximal)g(b)s(elegen)g(darf,)g(m)m(u\377)g(v)m +(om)g(An)m(w)m(ender)h(k)m(on\034guriert)g(w)m(erden.)382 +5055 y(Die)d(Daten)m(bl\366)s(c)m(k)m(e,)i(die)e(im)g(Zuge)h(der)f +(Sync)m(hronisation)i(v)m(ersendet)e(w)m(erden,)i(stehen)382 +5168 y(au\377erhalb)22 b(des)e(in)g(Absc)m(hnitt)i(3.3.1.1)f(b)s(esc)m +(hrieb)s(enen)g(W)-8 b(rite-Barrier-Mec)m(hanism)m(us.)382 +5281 y(F\374r)47 b(sie)g(wird)h(immer)h(eine)e(Sc)m(hreibb)s +(est\344tigung)j(nac)m(h)f(Protok)m(oll)g(C)e(zur\374c)m(kge-)382 +5394 y(sc)m(hic)m(kt.)61 b(Das)36 b(en)m(tsprec)m(hende)k(Bit)c(im)h +(Bitfeld)h(wird)f(erst)g(dann)g(wieder)h(gel\366sc)m(h)m(t,)1831 +5622 y(26)p eop +%%Page: 27 29 +27 28 bop 382 262 a Fl(KAPITEL)31 b(3.)71 b(DRBD)30 b(DESIGN)641 +b(3.4.)71 b(SYNCHR)m(ONISA)-8 b(TION)p 382 299 2989 4 +v 382 539 a Fp(w)m(enn)37 b(f\374r)f(alle)h(Bl\366)s(c)m(k)m(e,)i(die)d +(v)m(om)h(Bit)f(abgedec)m(kt)i(sind,)g(eine)f(Sc)m(hreibb)s +(est\344tigung)382 652 y(v)m(orliegt.)h(Das)21 b(erm\366glic)m(h)m(t)i +(die)e(F)-8 b(ortsetzung)23 b(eines)e(sc)m(hnellen)h(Sync)m +(hronisationsv)m(or-)382 764 y(ganges)k(nac)m(h)i(einer)e(erneuten)i +(Un)m(terbrec)m(h)m(ung)h(des)d(K)m(omm)m(unik)-5 b(ationsk)g(anals,)30 +b(ohne)382 877 y(da\377)h(eine)f(Un)m(v)m(ollst\344ndigk)m(eit)j(der)e +(Sync)m(hronisation)h(b)s(ef\374rc)m(h)m(tet)g(w)m(erden)g(m)m(u\377.) +382 1171 y Fo(3.4.2)112 b(Datensic)m(herheit)382 1392 +y Fp(V)-8 b(or)36 b(der)h(Sync)m(hronisation)h(en)m(th\344lt)f(die)g +(gespiegelte)g(F)-8 b(estplatte)37 b(einen)g(v)m(eralteten)382 +1505 y(ab)s(er)23 b(k)m(onsisten)m(ten)i(Datenstand,)h(w)m(\344rend)e +(der)g(Sync)m(hronisation)h(ist)e(ihr)h(Filesystem)382 +1618 y(in)k(k)m(einem)h(k)m(onsisten)m(ten)h(Zustand.)41 +b(F\344llt)28 b(n)m(un)h(w)m(\344hrend)h(der)f(Sync)m(hronisation)h +(die)382 1731 y(F)-8 b(estplatte)36 b(des)f(Knotens)g(mit)g(dem)h +(aktuellen)f(Datenstand)h(aus,)g(k)-5 b(ann)35 b(n)m(ur)h(mehr)382 +1844 y(ein)j(Bac)m(kup)g(helfen,)i(denn)e(der)f(Zustand)h(auf)g(der)f +(gespiegelten)i(F)-8 b(estplatte,)42 b(eine)382 1957 +y(Misc)m(h)m(ung)30 b(aus)f(dem)h(v)m(eralteten)h(Zustand)f(und)f(dem)h +(aktuellen)g(Zustand,)g(ist)f(nic)m(h)m(t)382 2069 y(brauc)m(h)m(bar.) +382 2232 y(W\344hrend)36 b(der)f(Sync)m(hronisation)h(bietet)g(ein)f +(Cluster)g(aus)g(zw)m(ei)h(Knoten)g(k)m(eine)f(Si-)382 +2345 y(c)m(herheit.)382 2508 y(Dieses)30 b(Problem)j(k)m(\366nn)m(te)f +(durc)m(h)g(den)f(Einsatz)h(eines)f(Log-Structured-Filesystems)382 +2621 y(gel\366st)k(w)m(erden.)57 b(Es)35 b(m)m(\374\377ten)h(der)g +(Sync)m(hronisationsmec)m(hanism)m(us)j(und)c(das)g(File-)382 +2734 y(system)30 b(eng)g(zusammenarb)s(eiten)j(und)d(z.B.)h(die)f(Sync) +m(hronisation)j(als)d(eine)h(einzige)382 2847 y(T)-8 +b(ransaktion)32 b(auf)e(dem)h(empfangenden)h(Knoten)f(durc)m +(hf\374hren.)1831 5622 y(27)p eop +%%Page: 28 30 +28 29 bop 382 1211 a Fk(Kapitel)62 b(4)382 1676 y Fm(Lin)-6 +b(ux)382 2171 y Fp(Dieses)31 b(Kapitel)i(gibt)g(einen)f(kleinen)h +(\334b)s(erblic)m(k)f(\374b)s(er)g(Ger\344tetreib)s(er)h(un)m(ter)g +(Lin)m(ux)382 2284 y(und)i(bildet)g(die)f(Grundlage)i(f\374r)e(die)h(w) +m(eiterf\374hrenden)i(Kapitel.)53 b(Die)35 b(Informatio-)382 +2397 y(nen)26 b(in)g(diesem)g(Kapitel)h(wurden)f(haupts\344c)m(hlic)m +(h)j(dem)d(Quellco)s(de)h(des)e(Kernels)i(en)m(t-)382 +2510 y(nommen.)39 b(Die)23 b(meisten)g(B\374c)m(her)h([Rus98][BBDK97)q +(][Rub98)q(])f(und)g(Artik)m(el)g([Rub97)q(])382 2622 +y(\374b)s(er)i(den)g(Lin)m(ux-Kernel)j(geb)s(en)d(zw)m(ar)h(einen)g +(guten)f(\334b)s(erblic)m(k)h(\374b)s(er)f(den)g(gesam)m(ten)382 +2735 y(Kernel,)31 b(jedo)s(c)m(h)g(k)m(eine)g(Details)g(\374b)s(er)f +(den)h(Bu\033er-Cac)m(he.)382 3072 y Fj(4.1)130 b(GPL)382 +3324 y Fp(Die)34 b(au\033allendste)g(Eigensc)m(haft)i(des)d(jetzt)h(so) +f(p)s(opul\344ren)i(Betriebssystems)e(Lin)m(ux)382 3437 +y(ist)k(seine)g(Lizenz,)j(die)d(Gn)m(u)h(General)f(Public)i(License.)61 +b(Diese)37 b(Lizenz)h(erm\366glic)m(h)m(t)382 3550 y(einerseits)44 +b(die)g(rasend)h(sc)m(hnelle)f(V)-8 b(erbreitung)46 b(des)e(Systems,)j +(sic)m(hert)e(ab)s(er)e(auc)m(h)382 3663 y(dessen)30 +b(W)-8 b(eiteren)m(t)m(wic)m(klung.)382 3826 y(Die)34 +b(Lizenz)g(r\344um)m(t)h(dem)f(An)m(w)m(ender)i(das)d(Rec)m(h)m(t)i +(ein,)g(die)f(b)s(etro\033ene)g(Soft)m(w)m(are)h(zu)382 +3939 y(mo)s(di\034zieren.)56 b(Wird)35 b(Soft)m(w)m(are,)j(die)e(un)m +(ter)g(den)f(Bestimm)m(ungen)j(der)d(GPL)h(steh)m(t,)382 +4052 y(als)28 b(T)-8 b(eil)28 b(eines)g(gr\366\377eren)h(Pro)s(duktes)g +(o)s(der)e(als)h(eigenst\344ndiges)h(Pro)s(dukt)f(in)g(bin\344rer)382 +4164 y(F)-8 b(orm)39 b(w)m(eitergegeb)s(en,)j(m)m(u\377)c(dem)h +(Empf\344nger)g(der)f(Soft)m(w)m(are)h(der)f(Quellco)s(de)h(zu-)382 +4277 y(g\344nglic)m(h)32 b(gemac)m(h)m(t)h(w)m(erden.)42 +b(Es)31 b(m)m(u\377)g(auc)m(h)h(der)e(Quellco)s(de)i(aller)f(V)-8 +b(er\344nderungen,)382 4390 y(die)33 b(ev)m(en)m(tuell)h(an)f(dem)g +(Pro)s(dukt)g(v)m(orgenommen)i(wurden,)f(an)f(den)g(Ben)m(utzer)h(w)m +(ei-)382 4503 y(tergegeb)s(en)d(w)m(erden.)382 4839 y +Fj(4.2)130 b(Ger\344tetreib)t(er)382 5092 y Fp(Zu)39 +b(den)h(grundlegenden)h(Aufgab)s(en)e(eines)g(Betriebssystems)g +(geh\366rt)h(es,)h(Zugri\033e)382 5205 y(auf)26 b(die)h(v)m +(erf\374gbare)g(Hardw)m(are)h(in)f(geregelten)h(Bahnen)f(zu)f(erlaub)s +(en.)40 b(Lin)m(ux)28 b(bietet)382 5318 y(hier)40 b(grunds\344tzlic)m +(h)h(die)e(M\366glic)m(hk)m(eit)i(f\374r)f(zeic)m(henorien)m(tierte)j +(Ger\344te)c(\(c)m(haracter)1831 5622 y(28)p eop +%%Page: 29 31 +29 30 bop 382 264 a Fl(KAPITEL)31 b(4.)71 b(LINUX)1095 +b(4.2.)71 b(GER\304)-8 b(TETREIBER)p 382 301 2989 4 v +382 539 a Fp(devices\),)31 b(blo)s(c)m(k)m(orien)m(tierte)j(Ger\344te)e +(\(blo)s(c)m(k)f(devices\))g(und)h(Netzw)m(erkk)-5 b(arten)m(treib)s +(er)382 652 y(\(net)m(w)m(ork)32 b(driv)m(ers\).)382 +813 y(Im)41 b(Filesystem)g(sind)g(die)g(Ger\344te)g(durc)m(h)i(sp)s +(ezielle)e(Ein)m(tr\344ge)i(f\374r)e(An)m(w)m(enderpro-)382 +926 y(gramme)d(sic)m(h)m(tbar.)60 b(Diese)37 b(Ein)m(tr\344ge)h(\(sp)s +(ecial)f(\034les\))f(tragen)i(zw)m(ei)f(Nummern,)i(die)382 +1038 y(f\374r)31 b(den)g(Kernel)h(Bedeutung)g(hab)s(en.)43 +b(Die)31 b(erste)g(Nummer)h(iden)m(ti\034ziert)h(den)f(ange-)382 +1151 y(spro)s(c)m(henen)d(T)-8 b(reib)s(er,)30 b(die)e(zw)m(eite)i(das) +e(angespro)s(c)m(hene)i(Ger\344t)e(des)g(T)-8 b(reib)s(ers.)40 +b(So)29 b(ist)382 1264 y(das)35 b(Ger\344t)h(/dev/hda4,)i(die)e(vierte) +g(P)m(artition)h(des)f(ersten)f(IDE-Ger\344tes,)j(f\374r)d(den)382 +1377 y(Kernel)c(durc)m(h)h(das)e(T)-8 b(up)s(el)31 b(\(3,4\))g(iden)m +(ti\034ziert.)382 1538 y(Die)h(erste)g(der)g(b)s(eiden)h(Nummern)f +(\(ma)5 b(jor)33 b(n)m(um)m(b)s(er\))g(wird)g(innerhalb)g(des)f +(Kernels)382 1651 y(v)m(erw)m(endet,)k(um)e(die)f(Einsprungspunkte)i +(des)f(T)-8 b(reib)s(ers)34 b(in)f(einem)h(statisc)m(hen)h(F)-8 +b(eld)382 1764 y(zu)30 b(\034nden.)382 1925 y(Ob)m(w)m(ohl)c(der)e +(Kernel)h(nic)m(h)m(t)h(in)e(einer)g(ob)5 b(jektorien)m(tierten)27 +b(Programmiersprac)m(he)g(im-)382 2038 y(plemen)m(tiert)34 +b(ist,)f(k)-5 b(ann)32 b(man)h(das)f(Design)h(der)f(T)-8 +b(reib)s(er)33 b(ob)5 b(jektorien)m(tiert)35 b(b)s(esc)m(hrei-)382 +2151 y(b)s(en:)633 2336 y(Das)29 b(VFS)989 2303 y Fg(1)1029 +2336 y Fp(-In)m(terface)h(ist)g(die)g(abstrakte)g(Basisklasse)f(aller)h +(T)-8 b(reib)s(er.)41 b(Da)m(v)m(on)633 2449 y(abgeleitet)26 +b(sind)f(die)g(Sprungtab)s(ellen)i(der)f(einzelnen)g(T)-8 +b(reib)s(er,)27 b(da)e(sie)g(die)g(ab-)633 2562 y(strakten)30 +b(F)-8 b(unktionen)32 b(des)e(In)m(terfaces)g(mit)h(reellen)g +(Prozeduren)h(f\374llen.)40 b(Bei)633 2675 y(der)f(Initialisierung)h +(eines)f(T)-8 b(reib)s(ers)40 b(suc)m(h)m(t)g(dieser)f(nac)m(h)h(der)g +(v)m(orhandenen)633 2788 y(Hardw)m(are)f(und)g(erzeugt)g(f\374r)f(jede) +h(gefundene)g(Instanz)f(der)h(Hardw)m(are)g(ein)633 2901 +y(Ob)5 b(jekt)30 b(des)g(T)-8 b(reib)s(ers.)382 3192 +y Fo(4.2.1)112 b(Zeic)m(henorien)m(tierte)35 b(T)-9 b(reib)s(er)382 +3412 y Fp(Das)30 b(VFS-In)m(terface,)h(ist)f(in)h(include/lin)m +(ux/fs.h)h(folgenderma\377en)g(de\034niert:)609 3668 +y Fc(struct)47 b(file_operations)g({)844 3781 y(loff_t)g(\(*llseek\))g +(\(struct)f(file)h(*,)g(loff_t,)g(int\);)844 3893 y(ssize_t)g +(\(*read\))g(\(struct)g(file)f(*,)h(char)g(*,)g(size_t,)g(loff_t)g +(*\);)844 4006 y(ssize_t)g(\(*write\))g(\(struct)f(file)h(*,)g(const)g +(char)g(*,)g(size_t,)1690 4119 y(loff_t)f(*\);)844 4232 +y(int)h(\(*readdir\))g(\(struct)g(file)f(*,)h(void)g(*,)g(filldir_t\);) +844 4345 y(unsigned)g(int)g(\(*poll\))g(\(struct)f(file)h(*,)1878 +4458 y(struct)f(poll_table_struct)h(*\);)844 4571 y(int)g(\(*ioctl\))g +(\(struct)g(inode)f(*,)h(struct)g(file)g(*,)1502 4684 +y(unsigned)g(int,)f(unsigned)h(long\);)844 4797 y(int)g(\(*mmap\))g +(\(struct)g(file)f(*,)h(struct)g(vm_area_struct)g(*\);)844 +4910 y(int)g(\(*open\))g(\(struct)g(inode)f(*,)h(struct)g(file)g(*\);) +844 5023 y(int)g(\(*flush\))g(\(struct)g(file)f(*\);)844 +5135 y(int)h(\(*release\))g(\(struct)g(inode)f(*,)h(struct)g(file)g +(*\);)844 5248 y(int)g(\(*fsync\))g(\(struct)g(file)f(*,)h(struct)g +(dentry)g(*\);)p 382 5308 1196 4 v 486 5362 a Ff(1)520 +5394 y Fe(Virtual)26 b(Filesystem)f(Switc)n(h)1831 5622 +y Fp(29)p eop +%%Page: 30 32 +30 31 bop 382 264 a Fl(KAPITEL)31 b(4.)71 b(LINUX)1095 +b(4.2.)71 b(GER\304)-8 b(TETREIBER)p 382 301 2989 4 v +844 539 a Fc(int)47 b(\(*fasync\))g(\(int,)g(struct)f(file)h(*,)g +(int\);)844 652 y(int)g(\(*check_media_change\))f(\(kdev_t)h(dev\);)844 +764 y(int)g(\(*revalidate\))g(\(kdev_t)f(dev\);)844 877 +y(int)h(\(*lock\))g(\(struct)g(file)f(*,)h(int,)g(struct)g(file_lock)g +(*\);)609 990 y(};)382 1253 y Fp(Zeic)m(henorien)m(tierte)39 +b(T)-8 b(reib)s(er)35 b(k)m(\366nnen)h(op)s(en\(\),)g(release\(\),)h +(read\(\),)g(write\(\),)g(io)s(ctl\(\),)382 1365 y(p)s(oll\(\),)31 +b(llseek\(\),)f(mmap\(\))i(und)e(fasync\(\))h(implemen)m(tieren.)382 +1628 y Fn(op)s(en\(\))46 b Fp(Wird)21 b(aufgerufen,)j(w)m(enn)e(ein)g +(Programm)h(op)s(en\(2\))f(mit)f(dem)h(en)m(tsprec)m(hen-)609 +1741 y(den)38 b(Ger\344teein)m(trag)h(im)f(Filesystem)f(aufruft.)61 +b(V)-8 b(om)38 b(Kernel)g(wird)g(automa-)609 1854 y(tisc)m(h)c(eine)h +(Instanz)e(v)m(om)h(T)m(yp)g(\034le)g(angelegt)h(und)f(mit)g(op)s +(en\(\))g(dem)g(T)-8 b(reib)s(er)609 1967 y(\374b)s(ergeb)s(en.)47 +b(W)-8 b(enn)33 b(der)f(T)-8 b(reib)s(er)34 b(ein)e(Ger\344t,)h(das)g +(v)m(on)f(mehreren)i(Prozessen)609 2079 y(gleic)m(hzeitig)d +(ge\366\033net)d(w)m(erden)i(k)-5 b(ann,)29 b(v)m(erw)m(altet,)i(so)c +(hat)i(er)f(die)h(M\366glic)m(hk)m(eit,)609 2192 y(in)f(\034le->priv)-5 +b(ate_data)30 b(einen)e(Zeiger)g(auf)f(den)h(eigenen)h(K)m(on)m(text)g +(abzulegen,)609 2305 y(der)39 b(genau)g(dem)g(momen)m(tanen)i +(Proze\377)f(und)f(dem)g(angespro)s(c)m(henen)h(Ger\344t)609 +2418 y(zugeh\366rig)28 b(ist.)39 b(Handelt)27 b(es)g(sic)m(h)g(um)f +(ein)h(Ger\344t,)h(das)f(v)m(on)g(n)m(ur)g(einem)g(Proze\377)609 +2531 y(angesteuert)41 b(w)m(erden)h(k)-5 b(ann,)42 b(so)e(k)-5 +b(ann)39 b(op)s(en\(\))i(mit)f(einem)h(en)m(tsprec)m(henden)609 +2644 y(errno-Co)s(de)32 b(b)s(eendet)f(w)m(erden.)382 +2832 y Fn(release\(\))47 b Fp(En)m(tspric)m(h)m(t)31 +b(dem)e(close\(2\))f(im)g(K)m(on)m(text)i(eines)e(An)m(w)m +(enderprogrammes.)382 3019 y Fn(read\(\))46 b Fp(K)m(opiert)32 +b(Daten)f(v)m(om)g(Ger\344t)g(in)f(den)h(A)m(dre\377raum)h(des)e +(Prozesses.)382 3207 y Fn(write\(\))46 b Fp(Sendet)32 +b(Daten)f(v)m(om)f(A)m(dre\377raum)i(des)f(Prozesses)f(zum)h(Ger\344t.) +382 3395 y Fn(mmap\(\))45 b Fp(Mit)29 b(dieser)g(F)-8 +b(unktion)29 b(k)-5 b(ann)29 b(der)g(Proze\377)h(eine)f(Repr\344sen)m +(tation)h(des)e(Ge-)609 3507 y(r\344tes)36 b(in)g(seinen)g(A)m +(dre\377raum)i(ein)m(blenden.)59 b(Dies)35 b(wird)i(z.B.)f(b)s(ei)f +(den)i(neuen)609 3620 y(Graphiktreib)s(ern)32 b(v)m(on)f(Lin)m(ux)g +(2.2.x)f(gen)m(utzt,)i(um)f(dem)g(Proze\377)g(den)g(F)-8 +b(rame-)609 3733 y(bu\033er)38 b(direkt)h(zug\344nglic)m(h)g(zu)f(mac)m +(hen.)65 b(Dab)s(ei)38 b(k)-5 b(ann)38 b(allerdings)h(\374b)s(er)f(das) +609 3846 y(ph)m(ysisc)m(he)23 b(F)-8 b(ormat)24 b(der)e(graphisc)m(hen) +i(Daten)f(nic)m(h)m(t)h(abstrahiert)g(w)m(erden.)39 b(Das)609 +3959 y(VM-Subsystem)46 b(des)h(Kernels)f(bietet)i(f\374r)e(die)g +(Implemen)m(tierung)j(den)e(re-)609 4072 y(map_page_range\(\))34 +b(Aufruf.)609 4185 y(Die)26 b(neuen)h(Soundtreib)s(er)h(hingegen)f +(bieten)g(\374b)s(er)f(mmap\(\))h(die)g(M\366glic)m(hk)m(eit,)609 +4298 y(einen)h(Pu\033er)g(mit)f(dem)h(Proze\377)g(zu)f(teilen,)i(so)s +(da\377)e(das)g(aufw)m(endige)i(K)m(opieren)609 4411 +y(der)i(Daten)g(b)s(ei)f(read\(\))h(o)s(der)g(write\(\))g(en)m(tfallen) +h(k)-5 b(ann.)609 4524 y(Um)39 b(ph)m(ysisc)m(hen)h(Sp)s(eic)m(her)h +(in)e(den)h(A)m(dre\377raum)h(des)e(Prozesses)g(einzublen-)609 +4637 y(den,)e(gibt)e(es)g(leider)h(k)m(eine)g(ma\377gesc)m(hneiderte)h +(F)-8 b(unktion.)56 b(Es)35 b(ist)g(en)m(t)m(w)m(eder)609 +4749 y(m\366glic)m(h,)k(mit)d(Hilfe)f(der)i(VM-Primitiv)m(e)g(die)f(en) +m(tsprec)m(henden)i(P)m(age-T)-8 b(able-)609 4862 y(Ein)m(tr\344ge)41 +b(selbst)e(zu)g(erzeugen,)j(o)s(der)d(ein)g(eigenes)g(VM)g(Ob)5 +b(jekt)38 b(mit)i(einem)609 4975 y(eigenen)32 b(vm_ops->nopage\(\))g +(Handler)f(zu)g(erzeugen.)382 5163 y Fn(p)s(oll\(\))45 +b Fp(Mu\377)29 b(implemen)m(tiert)j(w)m(erden,)f(um)e(Aufrufe)g(v)m(on) +g(p)s(oll\(2\))g(und)h(select\(2\))f(zu)609 5276 y(erm\366glic)m(hen.) +43 b(Diese)30 b(Prozedur)i(m)m(u\377)g(folgende)f(Seman)m(tik)g(hab)s +(en:)1831 5622 y(30)p eop +%%Page: 31 33 +31 32 bop 382 264 a Fl(KAPITEL)31 b(4.)71 b(LINUX)1095 +b(4.2.)71 b(GER\304)-8 b(TETREIBER)p 382 301 2989 4 v +609 539 a Fp(Daten)31 b(v)m(orhanden)359 b(Gibt)25 b(die)h +(zutre\033enden)g(Ereignisse)g(im)f(R\374c)m(kga-)1648 +652 y(b)s(ew)m(ert)32 b(zur\374c)m(k.)609 798 y(k)m(eine)f(Daten)g(v)m +(orhanden)128 b(L\344\377t)42 b(den)f(Proze\377)h(mit)f(p)s(oll_w)m +(ait\(\))i(sc)m(hlafen,)1648 911 y(bis)g(Daten)g(v)m(orhanden)i(sind,)h +(und)d(gibt)g(0)g(zu-)1648 1023 y(r\374c)m(k.)382 1236 +y Fn(io)s(ctl\(\))j Fp(Mit)26 b(Hilfe)f(dieser)h(F)-8 +b(unktion)27 b(k)m(\366nnen)g(Metadaten)g(zwisc)m(hen)g(einem)f +(Proze\377)609 1349 y(und)c(dem)g(Ger\344tetreib)s(er)h(ausgetausc)m(h) +m(t)h(w)m(erden.)39 b(W\344hrend)23 b(z.B.)e(ein)h(T)-8 +b(reib)s(er)609 1462 y(f\374r)32 b(die)g(serielle)h(Sc)m(hnittstelle)g +(mit)g(read\(2\))g(und)f(write\(2\))h(den)f(Datenstrom)609 +1575 y(zug\344nglic)m(h)44 b(mac)m(h)m(t,)j(k)-5 b(ann)42 +b(der)h(Proze\377)g(\374b)s(er)f(den)g(io)s(ctl\(2\))h(Systemruf)f(die) +609 1688 y(Baudrate,)32 b(die)e(Anzahl)h(der)g(Daten)m(bits,)h(etc.)40 +b(einstellen.)382 1950 y(Mit)29 b(Hilfe)f(dieses)h(In)m(terfaces)g(k)m +(\366nnen)h(T)-8 b(reib)s(er)29 b(f\374r)g(zeic)m(henorien)m(tiere)j +(Ger\344te)e(k)m(om-)382 2063 y(plett)36 b(gek)-5 b(apselt)35 +b(w)m(erden.)56 b(Es)35 b(ist)f(daher)i(auc)m(h)g(mit)g(geringem)g +(Aufw)m(and)g(m\366glic)m(h,)382 2176 y(sie)d(zu)h(mo)s(dularisieren.) +52 b(Diese)34 b(Mo)s(dule)g(k)m(\366nnen)h(zur)f(Laufzeit)g(des)g +(Kernels)g(nac)m(h)382 2289 y(Belieb)s(en)d(nac)m(hgeladen)i(und)d(en)m +(tfern)m(t)i(w)m(erden.)382 2582 y Fo(4.2.2)112 b(Blo)s(c)m(k)m(orien)m +(tierte)34 b(Ger\344te)382 2803 y Fp(Das)i(VFS-In)m(terface)i(wird)f +(nic)m(h)m(t)h(n)m(ur)f(f\374r)g(zeic)m(henorien)m(tierte)j(Ger\344te)d +(v)m(erw)m(endet,)382 2916 y(sondern)h(auc)m(h)h(f\374r)f(blo)s(c)m(k)m +(orien)m(tierte)j(Ger\344te)d(und)h(alle)f(anderen)h(Ob)5 +b(jekte,)40 b(die)e(in)382 3029 y(einem)44 b(Filesystem)f(abgelegt)h(w) +m(erden)g(k)m(\366nnen)g(\(FIF)m(Os,)j(Unix-Domain-So)s(c)m(k)m(ets,) +382 3142 y(Files\).)57 b(Es)35 b(w)m(\344re)i(theoretisc)m(h)h +(m\366glic)m(h,)h(ein)d(blo)s(c)m(k)m(orien)m(tiertes)i(Ger\344t)e +(aufbauend)382 3255 y(auf)e(das)h(VFS-In)m(terface)h(zu)f(implemen)m +(tieren)i(und)f(dab)s(ei)f(die)g(read\(\))g(und)g(write\(\))382 +3368 y(F)-8 b(unktionen)48 b(zu)f(implemen)m(tieren.)92 +b(Dieses)46 b(Ger\344t)h(w)m(\344re)h(allerdings)f(f\374r)g(Filesy-)382 +3481 y(steme)d(un)m(brauc)m(h)m(bar,)50 b(da)43 b(diese)h(den)g +(Bu\033er-Cac)m(he)h(ansprec)m(hen)g(und)f(nic)m(h)m(t)h(das)382 +3594 y(VFS-In)m(terface)35 b(des)g(Ger\344tes)g(v)m(erw)m(enden.)55 +b(Die)34 b(k)m(orrekte)i(V)-8 b(organgsw)m(eise)36 b(b)s(esteh)m(t)382 +3707 y(darin,)e(b)s(ei)f(read\(\))h(und)f(write\(\))h(die)f(generisc)m +(hen)i(F)-8 b(unktionen)35 b(blo)s(c)m(k_read\(\))f(und)382 +3820 y(blo)s(c)m(k_write\(\))27 b(anzugeb)s(en.)40 b(Diese)25 +b(F)-8 b(unktionen)26 b(\374b)s(ertragen)g(die)g(Daten)f(v)m(om)h(bzw.) +382 3932 y(in)k(den)h(Bu\033er-Cac)m(he.)382 4222 y Fn(4.2.2.1)103 +b(Bu\033er-Cac)m(he)382 4444 y Fp(Es)40 b(gibt)g(eine)h(ganze)f(Reihe)g +(v)m(on)g(Cac)m(hes)h(un)m(ter)g(Lin)m(ux,)j(do)s(c)m(h)c(der)h +(Bu\033er-Cac)m(he)382 4557 y(ist)27 b(mit)h(blo)s(c)m(k)m(orien)m +(tierten)j(Ger\344ten)d(un)m(w)m(eigerlic)m(h)j(v)m(erbunden.)41 +b(Der)28 b(Bu\033er-Cac)m(he)382 4670 y(v)m(erw)m(altet)k(Daten)m +(bl\366)s(c)m(k)m(e)h(blo)s(c)m(k)m(orien)m(tierter)g(Ger\344te)e(w)m +(\344hrend)i(sie)d(im)g(Sp)s(eic)m(her)i(lie-)382 4782 +y(gen.)61 b(Jedem)39 b(dieser)e(Daten)m(bl\366)s(c)m(k)m(e)i(ist)e +(eine)h(Instanz)f(v)m(om)h(T)m(yp)g(bu\033er_head)g(zu-)382 +4895 y(geordnet,)j(die)d(alle)g(Metadaten)h(zu)f(dem)g(Daten)m(blo)s(c) +m(k)h(en)m(th\344lt.)64 b(Die)38 b(wic)m(h)m(tigsten)382 +5008 y(F)-8 b(elder)31 b(v)m(on)g(bu\033er_head:)609 +5271 y Fc(...)609 5384 y(unsigned)47 b(long)g(b_blocknr;)g(/*)g(block)f +(number)h(*/)1831 5622 y Fp(31)p eop +%%Page: 32 34 +32 33 bop 382 264 a Fl(KAPITEL)31 b(4.)71 b(LINUX)1095 +b(4.2.)71 b(GER\304)-8 b(TETREIBER)p 382 301 2989 4 v +609 539 a Fc(unsigned)47 b(long)g(b_size;)188 b(/*)47 +b(block)f(size)h(*/)609 652 y(kdev_t)g(b_dev;)564 b(/*)47 +b(device)f(\(B_FREE)h(=)g(free\))g(*/)609 764 y(unsigned)g(long)g +(b_state;)141 b(/*)47 b(buffer)f(state)h(bitmap)g(\(see)g(above\))g(*/) +609 877 y(unsigned)g(int)g(b_count;)188 b(/*)47 b(users)f(using)h(this) +g(block)g(*/)609 990 y(void)g(\(*b_end_io\)\(struct)g(buffer_head)f +(*bh,)h(int)g(uptodate\);)609 1103 y(void)g(*b_dev_id;)609 +1216 y(...)382 1465 y Fn(b_blo)s(c)m(knr)d Fp(Die)30 +b(P)m(osition)i(des)e(Blo)s(c)m(k)m(es)h(auf)f(dem)h(Ger\344t.)382 +1650 y Fn(b_size)45 b Fp(Die)f(Gr\366\377e)g(des)f(Blo)s(c)m(k)m(es)h +(in)g(Bytes.)80 b(Alle)43 b(Bl\366)s(c)m(k)m(e)h(eines)g(Ger\344tes,)j +(die)609 1763 y(zu)39 b(einem)h(Zeitpunkt)h(im)e(Sp)s(eic)m(her)h +(sind,)i(hab)s(en)d(die)h(gleic)m(he)g(Gr\366\377e.)67 +b(Die)609 1876 y(Blo)s(c)m(kgr\366\377e)39 b(eines)e(Ger\344tes)h(k)-5 +b(ann)38 b(zur)g(Laufzeit)g(ge\344ndert)h(w)m(erden.)63 +b(Dab)s(ei)609 1989 y(w)m(erden)27 b(alle)f(Bl\366)s(c)m(k)m(e)g(mit)g +(der)f(alten)i(Gr\366\377e)e(aus)h(dem)g(Bu\033er-Cac)m(he)h(en)m +(tfern)m(t.)382 2173 y Fn(b_dev)45 b Fp(Das)30 b(Ger\344t,)h(zu)f(dem)h +(dieser)g(Blo)s(c)m(k)f(geh\366rt.)382 2357 y Fn(b_coun)m(t)45 +b Fp(Referenzz\344hler)31 b(dieses)f(Blo)s(c)m(k)m(es.)382 +2542 y Fn(b_state)47 b Fp(Die)30 b(wic)m(h)m(tigsten)j(Zust\344nde)e +(eines)f(Blo)s(c)m(k)m(es:)609 2749 y(dirt)m(y)267 b(Der)26 +b(Blo)s(c)m(k)g(wurde)g(v)m(er\344ndert)i(und)e(m)m(u\377)g(auf)g(das)f +(Ger\344t)h(zur\374c)m(k-)1066 2862 y(gesc)m(hrieb)s(en)32 +b(w)m(erden.)609 3005 y(upto)s(date)104 b(Der)37 b(Blo)s(c)m(k)g(wurde) +g(gelesen)g(o)s(der)f(gesc)m(hrieb)s(en)i(und)f(en)m(tspric)m(h)m(t) +1066 3118 y(somit)31 b(dem)g(Blo)s(c)m(k)f(des)g(Ger\344tes.)609 +3261 y(lo)s(c)m(k)m(ed)212 b(Die)33 b(Daten)m(\374b)s(ertragung)i(v)m +(om)e(o)s(der)f(zum)h(Ger\344t)f(\034ndet)h(derzeit)1066 +3374 y(statt.)382 3582 y Fn(b_end_io)44 b Fp(Diese)g(F)-8 +b(unktion)45 b(wird)f(nac)m(h)h(dem)f(Absc)m(hlu\377)h(einer)f(IO-Op)s +(eration)609 3694 y(aufgerufen.)382 3879 y Fn(b_dev_id)g +Fp(Dieser)31 b(Zeiger)g(wird)g(der)f(b_end_io)i(F)-8 +b(unktion)32 b(\374b)s(ergeb)s(en.)382 4128 y(Die)c(Aufgab)s(e)h(des)f +(Bu\033er-Cac)m(hes)i(ist)e(es,)g(die)h(Zugri\033e)g(auf)g(das)f +(Ger\344t)h(zu)f(optimie-)382 4241 y(ren)22 b(und)g(den)f(darauf)h +(aufsetzenden)h(Dateisystemen)f(eine)g(einfac)m(h)g(zu)g(handhab)s +(ende)382 4354 y(V)-8 b(erw)m(altung)38 b(der)e(Pu\033ersp)s(eic)m(her) +h(zur)f(V)-8 b(erf\374gung)37 b(zu)f(stellen.)57 b(Der)36 +b(Bu\033er-Cac)m(he)382 4467 y(w)m(\344c)m(hst,)25 b(w)m(enn)e(gen)m +(ug)g(freier)f(Sp)s(eic)m(her)h(v)m(orhanden)g(ist)f(und)g(IO-Op)s +(erationen)h(durc)m(h-)382 4580 y(gef\374hrt)33 b(w)m(erden.)47 +b(Wird)32 b(der)g(ph)m(ysisc)m(he)h(Sp)s(eic)m(her)h(knapp,)f(dann)f +(wird)h(der)f(Bu\033er-)382 4693 y(Cac)m(he)37 b(v)m(erkleinert,)h +(indem)e(Bl\366)s(c)m(k)m(e,)i(die)e(w)m(eder)h(v)m(er\344ndert)g +(wurden)f(\(dirt)m(y\))h(no)s(c)m(h)382 4806 y(referenziert)26 +b(sind,)h(v)m(erw)m(orfen)f(w)m(erden.)40 b(Dateisysteme)26 +b(v)m(erw)m(enden)h(un)m(ter)f(anderem)382 4919 y(die)31 +b(folgenden)g(Prozeduren)h(des)e(Bu\033er-Cac)m(hes:)382 +5168 y Fn(getblk\(\))46 b Fp(Liefert)25 b(einen)f(bu\033er_head.)40 +b(W)-8 b(enn)24 b(der)g(Blo)s(c)m(k)g(sc)m(hon)g(im)g(Bu\033er-Cac)m +(he)609 5281 y(w)m(ar,)31 b(wird)g(der)g(Referenzz\344hler)g(erh\366h)m +(t,)g(w)m(enn)h(nic)m(h)m(t,)g(b)s(ek)m(omm)m(t)f(man)g(einen)609 +5394 y(neuen,)g(der)g(auf)f(einen)h(uninitialisierten)i(Blo)s(c)m(k)d +(zeigt.)1831 5622 y(32)p eop +%%Page: 33 35 +33 34 bop 382 264 a Fl(KAPITEL)31 b(4.)71 b(LINUX)1095 +b(4.2.)71 b(GER\304)-8 b(TETREIBER)p 382 301 2989 4 v +382 539 a Fn(brelse\(\))46 b Fp(Gibt)28 b(einen)h(Blo)s(c)m(k)e(frei.) +40 b(F)-8 b(alls)28 b(der)g(Blo)s(c)m(k)g(nic)m(h)m(t)h(mehr)g +(referenziert)g(wird)609 652 y(und)43 b(er)f(v)m(er\344ndert)i(wurde,)i +(wird)d(der)f(Zeitpunkt)h(festgelegt,)j(zu)c(dem)h(der)609 +764 y(Blo)s(c)m(k)31 b(auf)f(das)g(Ger\344t)h(zur\374c)m(kgesc)m(hrieb) +s(en)h(wird.)382 944 y Fn(ll_rw_blo)s(c)m(k\(\))44 b +Fp(F\374hrt)38 b(eine)f(IO-Op)s(eration)h(\(Lesen)g(o)s(der)f(Sc)m +(hreib)s(en\))h(auf)f(den)609 1057 y(angegeb)s(enen)28 +b(Bl\366)s(c)m(k)m(en)f(aus.)39 b(Diese)26 b(F)-8 b(unktion)27 +b(k)m(ehrt)f(v)m(or)h(dem)f(Absc)m(hlu\377)h(der)609 +1170 y(Op)s(eration)32 b(zur\374c)m(k.)382 1350 y Fn(w)m +(ait_on_bu\033er\(\))45 b Fp(W)-8 b(artet)31 b(auf)g(den)f(Absc)m +(hlu\377)i(einer)f(IO-Op)s(eration.)382 1628 y Fn(4.2.2.2)103 +b(Request-Queue)382 1841 y Fp(Die)35 b(Request-Queue)h(ist)f(ein)g(F)-8 +b(eld)36 b(statisc)m(her)g(Gr\366\377e,)h(in)e(das)g(ll_rw_blo)s(c)m +(k\(\))i(die)382 1954 y(IO-Auftr\344ge)28 b(ein)m(tr\344gt.)41 +b(Beim)27 b(Ein)m(tragen)j(w)m(erden)f(die)e(Auftr\344ge)h(so)f +(geordnet,)i(da\377)382 2067 y(die)42 b(Bew)m(egungen)h(des)f(Sc)m +(hreib-/Lesek)m(opfes)h(der)f(F)-8 b(estplatte)43 b(optimiert)g(w)m +(erden.)382 2180 y(Zur)36 b(Zeit)h(wird)f(der)g(sogenann)m(te)i(Elev)-5 +b(ator-Algorithm)m(us)38 b(implemen)m(tiert.)60 b(F)-8 +b(r\374her)382 2293 y(wurden)39 b(Leseop)s(erationen)i(gegen)m(\374b)s +(er)f(Sc)m(hreib)s(op)s(erationen)h(b)s(ev)m(orzugt,)h(do)s(c)m(h)d(es) +382 2406 y(hat)h(sic)m(h)h(herausgestellt,)j(da\377)d(dadurc)m(h)h(die) +e(Gesam)m(tleistung)i(des)e(Systems)g(her-)382 2519 y(abgesetzt)g +(wurde.)67 b(Jetzt)41 b(w)m(erden)f(Sc)m(hreib-)h(und)e(Leseop)s +(erationen)i(mit)f(gleic)m(her)382 2631 y(Priorit\344t)35 +b(b)s(ehandelt,)i(die)d(Sc)m(hreib)s(op)s(erationen)j(d\374rfen)d +(allerdings)h(n)m(ur)g(66)f(\045)g(der)382 2744 y(Request-Queue)g +(ausf\374llen.)52 b(Das)34 b(letzte)h(Drittel)f(k)-5 +b(ann)34 b(n)m(ur)h(v)m(on)g(Leseop)s(erationen)382 2857 +y(b)s(elegt)c(w)m(erden.)382 3012 y(Die)i(Auftr\344ge,)h(die)g(einen)f +(Ger\344tetreib)s(er)i(b)s(etre\033en,)f(w)m(erden)h(durc)m(h)f(Zeiger) +g(zu)f(ei-)382 3125 y(ner)j(Liste)h(v)m(erk)m(ettet,)i(und)d(die)h +(Abarb)s(eitung)g(dieser)f(Liste)h(wird)f(durc)m(h)h(den)g(Auf-)382 +3238 y(ruf)k(der)g(do_request\(\))h(Prozedur)g(des)f(T)-8 +b(reib)s(ers)42 b(gestartet.)73 b(Die)41 b(Zeiger)g(auf)g(die)382 +3351 y(do_request\(\))g(Prozeduren)h(sind)d(in)h(einem)h(globalen)g(F) +-8 b(eld)41 b(abgelegt,)i(die)d(ma)5 b(jor)382 3464 y(n)m(um)m(b)s(er) +32 b(der)f(T)-8 b(reib)s(er)31 b(gibt)g(die)f(P)m(osition)i(im)f(F)-8 +b(eld)31 b(an.)382 3618 y(Do)s(c)m(h)23 b(leider)h(wurden)g(b)s(ei)e +(der)h(Implemen)m(tierung)j(der)d(Request-Queue)h(die)f(K)m(onzep-)382 +3731 y(te)32 b(nic)m(h)m(t)i(so)d(deutlic)m(h)j(getrenn)m(t)g(wie)e(in) +g(anderen)h(Bereic)m(hen)h(des)e(Kernels.)46 b(So)32 +b(gibt)382 3844 y(es)i(eine)h(Unzahl)g(sp)s(ezieller)f(Eigenheiten)j +(in)d(den)h(einzelnen)h(T)-8 b(reib)s(ern,)37 b(die)e(sic)m(h)f(in)382 +3957 y(der)26 b(einen)h(o)s(der)f(anderen)h(F)-8 b(orm)27 +b(im)f(Quellco)s(de)h(der)f(Request-Queue)g(wieder\034nden,)382 +4070 y(die,)j(w\374rde)f(man)g(den)h(Co)s(de)f(der)g(T)-8 +b(reib)s(er)28 b(streng)h(v)m(on)f(den)g(allgemeinen)i(T)-8 +b(eilen)29 b(des)382 4183 y(Kernels)i(trennen,)g(dort)g(nic)m(h)m(ts)h +(v)m(erloren)g(h\344tten.)382 4338 y(Mit)37 b(Lin)m(ux)i(2.3.38)f(wird) +g(diese)g(Situation)h(n)m(un)f(deutlic)m(h)i(v)m(erb)s(essert.)62 +b(Es)37 b(ist)h(n)m(un)382 4451 y(m\366glic)m(h,)h(die)e +(IO-Auftr\344ge)g(eines)f(Ger\344tes)h(in)f(einer)h(eigenen)g +(Request-Queue)g(zu)382 4563 y(v)m(erw)m(alten.)k(Diese)28 +b(ger\344tesp)s(ezi\034sc)m(he)h(Request-Queue)f(ist)f(in)g(einer)h +(Datenstruktur)382 4676 y(abgelegt,)36 b(die)e(auc)m(h)h(6)f(Zeiger)g +(auf)g(Prozeduren)i(en)m(th\344lt,)g(die)e(die)g(V)-8 +b(erw)m(altung)36 b(der)382 4789 y(IO-Auftr\344ge)31 +b(in)f(der)h(Request-Queue)g(steuern.)382 5067 y Fn(4.2.2.3)103 +b(Blo)s(c)m(kn)m(ummern)382 5281 y Fp(Der)35 b(Bu\033er-Cac)m(he)i +(iden)m(ti\034ziert)h(die)e(v)m(on)f(ihm)h(v)m(erw)m(alteten)i(Bl\366)s +(c)m(k)m(e)e(durc)m(h)g(Num-)382 5394 y(mern.)62 b(W)-8 +b(elc)m(he)38 b(Daten)g(w)m(elc)m(her)h(Nummer)f(zugeordnet)h(w)m +(erden,)i(wird)d(durc)m(h)g(die)1831 5622 y(33)p eop +%%Page: 34 36 +34 35 bop 382 264 a Fl(KAPITEL)31 b(4.)71 b(LINUX)764 +b(4.3.)71 b(P)-8 b(ARALLELA)m(USF\334HR)m(UNG)p 382 301 +2989 4 v 382 539 a Fp(momen)m(tane)29 b(Blo)s(c)m(kgr\366\377e)f +(festgelegt.)40 b(Diese)27 b(Blo)s(c)m(kgr\366\377e)g(k)-5 +b(ann)27 b(jederzeit)h(ge\344ndert)382 652 y(w)m(erden.)78 +b(Bei)42 b(Dateisystemen)h(z.B.)f(ist)g(es)g(b)s(eliebt,)k(den)c(Sup)s +(erblo)s(c)m(k)h(mit)g(einer)382 764 y(Blo)s(c)m(kgr\366\377e)31 +b(v)m(on)f(1K)g(zu)g(sc)m(hreib)s(en,)h(w)m(\344hrend)h(auf)e(alle)g +(anderen)h(Bl\366)s(c)m(k)m(e)g(mit)f(einer)382 877 y(Blo)s(c)m +(kgr\366\377e)h(v)m(on)g(4K)g(zugegri\033en)g(wird.)382 +1024 y(Jedesmal,)36 b(w)m(enn)f(die)f(Blo)s(c)m(kgr\366\377e)h +(ge\344ndert)g(wird,)h(m)m(\374ssen)e(alle)g(Bl\366)s(c)m(k)m(e,)i(die) +e(mo-)382 1137 y(men)m(tan)25 b(im)e(Bu\033er-Cac)m(he)i(sind,)g(aus)e +(dem)h(Bu\033er-Cac)m(he)h(en)m(tfern)m(t)f(w)m(erden,)j(da)c(sic)m(h) +382 1249 y(die)31 b(Bedeutung)g(der)g(Blo)s(c)m(kn)m(ummern)h +(\344ndert.)382 1396 y(In)21 b(den)h(IO-Requests,)h(die)f(die)g +(do_request\(\))h(Prozeduren)g(der)g(T)-8 b(reib)s(er)22 +b(b)s(ek)m(ommen,)382 1509 y(w)m(erden)30 b(die)f(Daten)h(als)e +(Sektoren)i(adressiert,)g(w)m(ob)s(ei)f(jeder)g(Sektor)g(512)h(Bytes)e +(hat.)382 1655 y(W)-8 b(enn)42 b(jedo)s(c)m(h)f(die)g(Gr\366\377e)g +(eines)g(Ger\344tes)h(angegeb)s(en)g(wird,)i(w)m(erden)e(1K-Bl\366)s(c) +m(k)m(e)382 1768 y(v)m(erw)m(endet.)805 2464 y @beginspecial +4 @llx 716 @lly 261 @urx 786 @ury 2570 @rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//blk_sizes.ps +%!PS-Adobe-3.0 EPSF-3.0 +%%For: Philipp Reisner +%%CreationDate: Thu May 11 14:42:19 2000 +%%Title: blk_sizes.ps +%%Creator: Sketch 0.6.5 +%%Pages: 1 +%%BoundingBox: 4 716 261 786 +%%Extensions: CMYK +%%DocumentSuppliedResources: (atend) +%%DocumentNeededResources: font Times-Roman +%%EndComments + +%%BeginProlog +%%BeginResource: procset Linux-Sketch-Procset 1.0 2 +/SketchDict 100 dict def +SketchDict begin +/bd { bind def } bind def +/x { exch } bd +/xd { exch def } bd +/PI 3.14159265358979323846264338327 def +/radgrad { 180 mul PI div } bd +/skstartmatrix matrix currentmatrix def +/tmpmat matrix def +/ISOLatin1Encoding dup where +{ pop pop } +{ [/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand +/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period +/slash /zero /one /two /three /four /five /six /seven /eight /nine /colon +/semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J +/K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash +/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i +/j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright +/asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve +/dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek +/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen +/registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu +/paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright +/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex +/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex +/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve +/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute +/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute +/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute +/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde +/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def +} +ifelse +/arct dup where +{pop pop} +{ +/arct {arcto pop pop pop pop} bd +} +ifelse +/size 0 def +/fontname 0 def +/newfont 0 def +/sf { +/size xd +/fontname xd +fontname findfont +dup /Encoding get StandardEncoding eq +{ +dup +length dict /newfont xd +{ +1 index +/FID ne +{ newfont 3 1 roll put } +{ pop pop } +ifelse +} forall +newfont /Encoding ISOLatin1Encoding put +fontname newfont definefont +} +if +size scalefont setfont +} bd +/pusht {matrix currentmatrix} bd +/popt {setmatrix} bd +/pushc {gsave} bd +/popc {grestore} bd +/rgb {setrgbcolor} bd +/w { setlinewidth } bd +/j { setlinejoin } bd +/J { setlinecap } bd +/d { setdash } bd +/F { eofill } bd +/f { closepath F } bd +/S { +pusht +skstartmatrix setmatrix stroke +popt +} bd +/s { closepath S } bd +/m { moveto } bd +/l { lineto } bd +/c { curveto } bd +/txt { +/tmpmat tmpmat currentmatrix def +dup type /arraytype eq {concat} {translate} ifelse +0 0 m +tmpmat +} bd +/T {txt x show popt} bd +/P {txt x true charpath popt} bd +/TP {txt x dup show 0 0 m true charpath popt} bd +/C {newpath 0 360 arc} bd +/R { +2 copy m +x 2 index l +x 2 index x l +l +closepath +} bd +/ellipse { +dup type /arraytype eq +{ +pusht x concat +0 0 1.0 C +popt +} +{ +pusht 5 1 roll +4 -1 roll concat +newpath +dup 2 eq { +0 0 m +} if +3 1 roll +radgrad x +radgrad x +0 0 1 5 -2 roll +arc +0 ne { closepath } if +popt +} +ifelse +} bd +/radius1 0 def +/radius2 0 def +/factor 0 def +/rect { +dup type /arraytype eq +{ +pusht x concat +0 0 m 1 0 l 1 1 l 0 1 l closepath +popt +} +{ +/radius2 xd +/radius1 xd +pusht x concat +radius1 radius2 div 1 scale +0 radius2 m +0 1 radius2 1 radius2 arct +radius2 radius1 div +dup 1 1 index 0 radius2 arct +0 0 0 radius2 arct +0 0 0 1 radius2 arct +closepath +popt +} +ifelse +} bd +/buf 0 def +/width 0 def +/height 0 def +/skcimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width 3 mul string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +false 3 colorimage +tmpmat setmatrix +} bd +/skgimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +image +tmpmat setmatrix +} bd +/rclip { +4 2 roll m +dup 0 x rlineto +x 0 rlineto +neg 0 x rlineto +closepath +clip +} bd +/skeps { +10 dict begin +/sk_state save def +concat +3 index neg 3 index neg translate +rclip +0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin +10 setmiterlimit [ ] 0 setdash +newpath +/sk_dict_count countdictstack def +/sk_count count 1 sub def +userdict begin +/showpage { } def +/languagelevel where +{ +pop +languagelevel 1 ne +{ +false setstrokeadjust +false setoverprint +} if +} if +} bd +/skepsend { +count sk_count sub { pop } repeat +countdictstack sk_dict_count sub { end } repeat +sk_state restore +end +} bd +/gradidx 0 def +/gradient { +3 mul array +/gradidx 0 def +} bd +/$ { +3 index gradidx 5 -1 roll put +2 index gradidx 1 add 4 -1 roll put +1 index gradidx 2 add 3 -1 roll put +/gradidx gradidx 3 add def +} bd +/! { +3 +{ +dup dup gradidx dup 3 1 roll 3 sub get put +/gradidx gradidx 1 add def +} +repeat +} bd +/gradcolor { +3 mul dup 2 add 1 exch % idx 1 idx+2 +{ +1 index exch % array array i +get % array component +exch % component array +} +for +4 1 roll +} bd +/x0 0 def /y0 0 def /x1 0 def /y1 0 def +/left 0 def /right 0 def /top 0 def /bottom 0 def +/numcolors 0 def +/axial { +/y1 xd /x1 xd /y0 xd /x0 xd +dup length 3 idiv /numcolors xd +pusht exch % ctm array +x0 x1 ne y0 y1 ne or +{ +x0 y0 translate +[x1 x0 sub y1 y0 sub dup neg 2 index 0 0] concat +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +0 gradcolor rgb clippath f +0 1 numcolors 1 sub +{ +dup numcolors div +3 1 roll +gradcolor rgb +exch +bottom right top R f +} +for +} +if +pop +popt +} bd +/r0 0 def /r1 0 def /dr 0 def +/radial { +/r1 xd /r0 xd /y0 xd /x0 xd +/dr r1 r0 sub def +dup length 3 idiv /numcolors xd +pusht exch % ctm array +r0 r1 ne +{ +x0 y0 translate +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +dr 0 gt {numcolors 1 sub}{0} ifelse gradcolor rgb +clippath f +dr 0 gt {numcolors 1 sub -1 0} { 0 1 numcolors 1 sub} ifelse +{ +dup numcolors div dr mul r0 add +3 1 roll +gradcolor rgb +exch +0 0 3 -1 roll C f +} +for +} +if +pop +popt +} bd +/max { +2 copy lt {exch} if pop +} bd +/conical { +pusht 5 1 roll +3 1 roll /y0 xd /x0 xd +x0 y0 translate +radgrad rotate +dup length 3 idiv /numcolors xd +clippath flattenpath pathbbox newpath +4 { abs 4 1 roll} repeat +3 { max } repeat +2 mul +dup scale +0 gradcolor rgb +0 0 1 0 360 arc f +1 1 numcolors 1 sub +{ +dup numcolors div 180 mul +3 1 roll +gradcolor rgb +exch +0 0 moveto +0 0 1 4 -1 roll dup neg arc +closepath f +} +for +pop +popt +} bd +/XStep 0 def /YStep 0 def /imagedata 0 def /components 0 def +/tileimage2 { +exch 4 2 roll +/height xd +/width xd +mark +/components 2 index +/PatternType 1 +/PaintType 1 +/TilingType 1 +/BBox [0 0 width height] +/XStep width +/YStep height +/PaintProc { +begin +XStep YStep 8 +matrix +imagedata +false +components +colorimage +end +} +counttomark 2 div cvi dup dict begin +{ def } repeat +pop currentdict end +dup +/imagedata +4 -1 roll +width height mul mul string +currentfile exch readhexstring pop +put +exch +makepattern +setpattern +clippath +eofill +} bd +/tileimage1 { +concat +/components xd +/height xd +/width xd +/imagedata +currentfile +width height mul components mul string +readhexstring pop +def +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +left width div floor width mul +bottom height div floor height mul +translate +top bottom sub height div ceiling cvi +{ +gsave +right left sub width div ceiling cvi +{ +width height 8 matrix +components 1 eq +{ +{ imagedata } +image +} +{ +imagedata +false components +colorimage +} +ifelse +width 0 translate +} +repeat +grestore +0 height translate +} +repeat +} bd +/makepattern where +{ +pop +/tileimage /tileimage2 load def +} +{ +/tileimage /tileimage1 load def +} +ifelse +end +%%EndResource +%%EndProlog + +%%BeginSetup +%%IncludeResource: font Times-Roman + +10.433 setmiterlimit +%%EndSetup + +%%Page: 1 1 +SketchDict begin +newpath +255.118 737.008 m +56.6929 737.008 l +56.6929 722.835 l +255.118 722.835 l +closepath +0.879 0.879 0.879 rgb +F +255.118 737.008 m +56.6929 737.008 l +56.6929 722.835 l +255.118 722.835 l +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +/Times-Roman 11 sf +(Daten) +150 725 T +newpath +56.6929 742.677 m +255.118 742.677 l +S +newpath +56.6929 745.512 m +56.6929 742.677 l +S +newpath +70.8661 745.512 m +70.8661 742.677 l +S +newpath +85.0394 745.512 m +85.0394 742.677 l +S +newpath +99.2126 745.512 m +99.2126 742.677 l +S +newpath +113.386 745.512 m +113.386 742.677 l +S +newpath +127.559 745.512 m +127.559 742.677 l +S +newpath +141.732 745.512 m +141.732 742.677 l +S +newpath +155.906 745.512 m +155.906 742.677 l +S +newpath +170.079 745.512 m +170.079 742.677 l +S +newpath +184.252 745.512 m +184.252 742.677 l +S +newpath +198.425 745.512 m +198.425 742.677 l +S +newpath +212.598 745.512 m +212.598 742.677 l +S +newpath +226.772 745.512 m +226.772 742.677 l +S +newpath +240.945 745.512 m +240.945 742.677 l +S +newpath +255.118 745.512 m +255.118 742.677 l +S +newpath +56.6929 754.016 m +255.118 754.016 l +S +newpath +56.6929 756.85 m +56.6929 754.016 l +S +newpath +85.0394 756.85 m +85.0394 754.016 l +S +newpath +113.386 756.85 m +113.386 754.016 l +S +newpath +141.732 756.85 m +141.732 754.016 l +S +newpath +170.079 756.85 m +170.079 754.016 l +S +newpath +198.425 756.85 m +198.425 754.016 l +S +newpath +226.772 756.85 m +226.772 754.016 l +S +newpath +255.118 756.85 m +255.118 754.016 l +S +newpath +56.6929 765.354 m +255.118 765.354 l +S +newpath +56.6929 768.189 m +56.6929 765.354 l +S +newpath +113.386 768.189 m +113.386 765.354 l +S +newpath +170.079 768.189 m +170.079 765.354 l +S +newpath +226.772 768.189 m +226.772 765.354 l +S +newpath +56.6929 776.693 m +255.118 776.693 l +S +newpath +56.6929 779.528 m +56.6929 776.693 l +S +newpath +170.079 779.528 m +170.079 776.693 l +S +/Times-Roman 10 sf +(Sektoren) +18 742 T +(1K-Bl\366cke) +7 754 T +(2K-Bl\366cke) +7 765 T +(4K-Bl\366cke) +7 776 T +%%PageTrailer +showpage +%%Trailer +end +%%DocumentSuppliedResources: procset Linux-Sketch-Procset 1.0 2 +%%EOF + +%%EndDocument + @endspecial 382 2800 a Fn(4.2.2.4)103 b(Die)35 b(Rolle)f(des)h(VFS-In) +m(terfaces)382 3005 y Fp(Die)23 b(Prozeduren,)j(die)d(die)h(Br\374c)m +(k)m(e)g(zwisc)m(hen)g(dem)f(VFS-In)m(terface)h(und)f(dem)g(Bu\033er-) +382 3118 y(Cac)m(he)f(bilden,)h(sind)d(f\374r)g(alle)h(blo)s(c)m(k)m +(orien)m(tierten)j(Ger\344te)c(gleic)m(h,)k(n\344mlic)m(h)e(blo)s(c)m +(k_read\(\),)382 3231 y(blo)s(c)m(k_write\(\))45 b(und)f(blo)s(c)m +(k_fsync\(\).)81 b(Diese)44 b(Prozeduren)h(k)m(ommen)g(somit)f(zum)382 +3344 y(Einsatz,)e(w)m(enn)e(ein)f(Proze\377)h(ein)f(blo)s(c)m(k)m +(orien)m(tiertes)j(Ger\344t)d(direkt)g(anspric)m(h)m(t)i(und)382 +3457 y(nic)m(h)m(t)h(den)f(Um)m(w)m(eg)i(\374b)s(er)d(ein)h +(Dateisystem)g(geh)m(t.)73 b(Daher)41 b(m)m(u\377)h(sic)m(h)f(der)g +(Autor)382 3570 y(eines)34 b(Ger\344tetreib)s(ers)i(n)m(ur)f(um)g(die)f +(Implemen)m(tierung)j(v)m(on)e(op)s(en\(\))g(und)g(release\(\))382 +3683 y(der)d(im)g(VFS)g(v)m(ork)m(ommenden)j(Prozeduren)f(k\374mmern.) +46 b(Des)32 b(w)m(eiteren)h(b)s(einhaltet)382 3796 y(das)k(VFS-In)m +(terface)h(zw)m(ei)h(Prozeduren,)i(die)c(n)m(ur)h(v)m(on)g(blo)s(c)m(k) +m(orien)m(tierten)j(Ger\344ten)382 3909 y(gen)m(utzt)29 +b(w)m(erden)g(k)m(\366nnen:)40 b(c)m(hec)m(k_media_c)m(hange\(\))32 +b(und)c(rev)-5 b(alidate\(\).)41 b(Die)28 b(Rolle)382 +4022 y(des)i(VFS)g(in)h(Lin)m(ux)g(v)m(or)g(der)f(V)-8 +b(ersion)31 b(2.3.38)h(ist)e(in)g(Abbildung)h(4.1)g(dargestellt.)382 +4168 y(Da)k(sic)m(h)g(der)g(v)m(on)g(blo)s(c)m(k)m(orien)m(tierten)j +(Ger\344ten)e(und)f(v)m(on)h(zeic)m(henorien)m(tierten)i(Ge-)382 +4281 y(r\344ten)32 b(gemeinsam)h(b)s(en)m(utzte)g(T)-8 +b(eil)33 b(des)f(VFS-In)m(terfaces)g(auf)f(op)s(en\(\))i(und)f +(release\(\))382 4394 y(b)s(esc)m(hr\344nkt,)45 b(hab)s(en)d(sic)m(h)f +(n)m(un)i(die)f(Kernel-En)m(t)m(wic)m(kler)j(dazu)d(durc)m(hgerungen)i +(in)382 4507 y(Zukunft,)28 b(das)e(In)m(terface)i(f\374r)f(blo)s(c)m(k) +m(orien)m(tierte)j(Ger\344te)d(v)m(on)g(dem)h(der)f(zeic)m(henorien-) +382 4620 y(tierten)f(Ger\344te)f(zu)g(trennen.)40 b(Diese)24 +b(T)-8 b(renn)m(ung)27 b(wurde)f(b)s(eginnend)g(mit)f(der)g(V)-8 +b(ersion)382 4732 y(2.3.38)31 b(eingef\374hrt.)382 5045 +y Fj(4.3)130 b(P)l(arallelausf\374hrung)382 5281 y Fp(Neb)s(en)21 +b(der)h(P)m(arallelausf\374hrung,)k(die)c(dadurc)m(h)h(zustande)f(k)m +(omm)m(t,)j(da\377)d(ein)f(Compu-)382 5394 y(ter)33 b(mit)g(mehreren)g +(Prozessoren)h(ausger\374stet)f(ist,)g(gibt)g(es)f(no)s(c)m(h)h(eine)g +(Vielzahl)g(an)1831 5622 y(34)p eop +%%Page: 35 37 +35 36 bop 382 264 a Fl(KAPITEL)31 b(4.)71 b(LINUX)764 +b(4.3.)71 b(P)-8 b(ARALLELA)m(USF\334HR)m(UNG)p 382 301 +2989 4 v 1235 1614 a @beginspecial 135 @llx 659 @lly +289 @urx 799 @ury 1540 @rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//vfs.ps +%!PS-Adobe-3.0 EPSF-3.0 +%%For: Philipp Reisner +%%CreationDate: Wed May 17 13:41:22 2000 +%%Title: vfs.ps +%%Creator: Sketch 0.6.5 +%%Pages: 1 +%%BoundingBox: 135 659 289 799 +%%Extensions: CMYK +%%DocumentSuppliedResources: (atend) +%%DocumentNeededResources: font Times-Roman +%%EndComments + +%%BeginProlog +%%BeginResource: procset Linux-Sketch-Procset 1.0 2 +/SketchDict 100 dict def +SketchDict begin +/bd { bind def } bind def +/x { exch } bd +/xd { exch def } bd +/PI 3.14159265358979323846264338327 def +/radgrad { 180 mul PI div } bd +/skstartmatrix matrix currentmatrix def +/tmpmat matrix def +/ISOLatin1Encoding dup where +{ pop pop } +{ [/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand +/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period +/slash /zero /one /two /three /four /five /six /seven /eight /nine /colon +/semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J +/K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash +/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i +/j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright +/asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve +/dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek +/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen +/registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu +/paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright +/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex +/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex +/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve +/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute +/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute +/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute +/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde +/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def +} +ifelse +/arct dup where +{pop pop} +{ +/arct {arcto pop pop pop pop} bd +} +ifelse +/size 0 def +/fontname 0 def +/newfont 0 def +/sf { +/size xd +/fontname xd +fontname findfont +dup /Encoding get StandardEncoding eq +{ +dup +length dict /newfont xd +{ +1 index +/FID ne +{ newfont 3 1 roll put } +{ pop pop } +ifelse +} forall +newfont /Encoding ISOLatin1Encoding put +fontname newfont definefont +} +if +size scalefont setfont +} bd +/pusht {matrix currentmatrix} bd +/popt {setmatrix} bd +/pushc {gsave} bd +/popc {grestore} bd +/rgb {setrgbcolor} bd +/w { setlinewidth } bd +/j { setlinejoin } bd +/J { setlinecap } bd +/d { setdash } bd +/F { eofill } bd +/f { closepath F } bd +/S { +pusht +skstartmatrix setmatrix stroke +popt +} bd +/s { closepath S } bd +/m { moveto } bd +/l { lineto } bd +/c { curveto } bd +/txt { +/tmpmat tmpmat currentmatrix def +dup type /arraytype eq {concat} {translate} ifelse +0 0 m +tmpmat +} bd +/T {txt x show popt} bd +/P {txt x true charpath popt} bd +/TP {txt x dup show 0 0 m true charpath popt} bd +/C {newpath 0 360 arc} bd +/R { +2 copy m +x 2 index l +x 2 index x l +l +closepath +} bd +/ellipse { +dup type /arraytype eq +{ +pusht x concat +0 0 1.0 C +popt +} +{ +pusht 5 1 roll +4 -1 roll concat +newpath +dup 2 eq { +0 0 m +} if +3 1 roll +radgrad x +radgrad x +0 0 1 5 -2 roll +arc +0 ne { closepath } if +popt +} +ifelse +} bd +/radius1 0 def +/radius2 0 def +/factor 0 def +/rect { +dup type /arraytype eq +{ +pusht x concat +0 0 m 1 0 l 1 1 l 0 1 l closepath +popt +} +{ +/radius2 xd +/radius1 xd +pusht x concat +radius1 radius2 div 1 scale +0 radius2 m +0 1 radius2 1 radius2 arct +radius2 radius1 div +dup 1 1 index 0 radius2 arct +0 0 0 radius2 arct +0 0 0 1 radius2 arct +closepath +popt +} +ifelse +} bd +/buf 0 def +/width 0 def +/height 0 def +/skcimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width 3 mul string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +false 3 colorimage +tmpmat setmatrix +} bd +/skgimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +image +tmpmat setmatrix +} bd +/rclip { +4 2 roll m +dup 0 x rlineto +x 0 rlineto +neg 0 x rlineto +closepath +clip +} bd +/skeps { +10 dict begin +/sk_state save def +concat +3 index neg 3 index neg translate +rclip +0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin +10 setmiterlimit [ ] 0 setdash +newpath +/sk_dict_count countdictstack def +/sk_count count 1 sub def +userdict begin +/showpage { } def +/languagelevel where +{ +pop +languagelevel 1 ne +{ +false setstrokeadjust +false setoverprint +} if +} if +} bd +/skepsend { +count sk_count sub { pop } repeat +countdictstack sk_dict_count sub { end } repeat +sk_state restore +end +} bd +/gradidx 0 def +/gradient { +3 mul array +/gradidx 0 def +} bd +/$ { +3 index gradidx 5 -1 roll put +2 index gradidx 1 add 4 -1 roll put +1 index gradidx 2 add 3 -1 roll put +/gradidx gradidx 3 add def +} bd +/! { +3 +{ +dup dup gradidx dup 3 1 roll 3 sub get put +/gradidx gradidx 1 add def +} +repeat +} bd +/gradcolor { +3 mul dup 2 add 1 exch % idx 1 idx+2 +{ +1 index exch % array array i +get % array component +exch % component array +} +for +4 1 roll +} bd +/x0 0 def /y0 0 def /x1 0 def /y1 0 def +/left 0 def /right 0 def /top 0 def /bottom 0 def +/numcolors 0 def +/axial { +/y1 xd /x1 xd /y0 xd /x0 xd +dup length 3 idiv /numcolors xd +pusht exch % ctm array +x0 x1 ne y0 y1 ne or +{ +x0 y0 translate +[x1 x0 sub y1 y0 sub dup neg 2 index 0 0] concat +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +0 gradcolor rgb clippath f +0 1 numcolors 1 sub +{ +dup numcolors div +3 1 roll +gradcolor rgb +exch +bottom right top R f +} +for +} +if +pop +popt +} bd +/r0 0 def /r1 0 def /dr 0 def +/radial { +/r1 xd /r0 xd /y0 xd /x0 xd +/dr r1 r0 sub def +dup length 3 idiv /numcolors xd +pusht exch % ctm array +r0 r1 ne +{ +x0 y0 translate +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +dr 0 gt {numcolors 1 sub}{0} ifelse gradcolor rgb +clippath f +dr 0 gt {numcolors 1 sub -1 0} { 0 1 numcolors 1 sub} ifelse +{ +dup numcolors div dr mul r0 add +3 1 roll +gradcolor rgb +exch +0 0 3 -1 roll C f +} +for +} +if +pop +popt +} bd +/max { +2 copy lt {exch} if pop +} bd +/conical { +pusht 5 1 roll +3 1 roll /y0 xd /x0 xd +x0 y0 translate +radgrad rotate +dup length 3 idiv /numcolors xd +clippath flattenpath pathbbox newpath +4 { abs 4 1 roll} repeat +3 { max } repeat +2 mul +dup scale +0 gradcolor rgb +0 0 1 0 360 arc f +1 1 numcolors 1 sub +{ +dup numcolors div 180 mul +3 1 roll +gradcolor rgb +exch +0 0 moveto +0 0 1 4 -1 roll dup neg arc +closepath f +} +for +pop +popt +} bd +/XStep 0 def /YStep 0 def /imagedata 0 def /components 0 def +/tileimage2 { +exch 4 2 roll +/height xd +/width xd +mark +/components 2 index +/PatternType 1 +/PaintType 1 +/TilingType 1 +/BBox [0 0 width height] +/XStep width +/YStep height +/PaintProc { +begin +XStep YStep 8 +matrix +imagedata +false +components +colorimage +end +} +counttomark 2 div cvi dup dict begin +{ def } repeat +pop currentdict end +dup +/imagedata +4 -1 roll +width height mul mul string +currentfile exch readhexstring pop +put +exch +makepattern +setpattern +clippath +eofill +} bd +/tileimage1 { +concat +/components xd +/height xd +/width xd +/imagedata +currentfile +width height mul components mul string +readhexstring pop +def +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +left width div floor width mul +bottom height div floor height mul +translate +top bottom sub height div ceiling cvi +{ +gsave +right left sub width div ceiling cvi +{ +width height 8 matrix +components 1 eq +{ +{ imagedata } +image +} +{ +imagedata +false components +colorimage +} +ifelse +width 0 translate +} +repeat +grestore +0 height translate +} +repeat +} bd +/makepattern where +{ +pop +/tileimage /tileimage2 load def +} +{ +/tileimage /tileimage1 load def +} +ifelse +end +%%EndResource +%%EndProlog + +%%BeginSetup +%%IncludeResource: font Times-Roman + +10.433 setmiterlimit +%%EndSetup + +%%Page: 1 1 +SketchDict begin +newpath +172.913 756.85 m +172.913 765.354 l +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +pusht +172.913 765.354 translate +90 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +167.244 765.354 m +167.244 756.85 l +S +pusht +167.244 756.85 translate +-90 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +212.598 728.504 m +198.425 728.504 l +S +pusht +198.425 728.504 translate +180 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +[56.6929 0 0 -28.3464 141.732 751.181] rect +gsave +0.888 0.888 0.888 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[22.6772 0 0 -8.50397 158.74 756.85] rect +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.283465 w +0 j +0 J +[] 0 d +S +newpath +198.425 734.173 m +212.598 734.173 l +1 w +S +pusht +212.598 734.173 translate +0 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +246.614 756.85 m +246.614 765.354 l +S +pusht +246.614 765.354 translate +90 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +246.614 700.157 m +246.614 708.661 l +S +pusht +246.614 708.661 translate +90 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +246.614 737.008 m +246.614 745.512 l +S +pusht +246.614 745.512 translate +90 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +240.945 765.354 m +240.945 756.85 l +S +pusht +240.945 756.85 translate +-90 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +240.945 708.661 m +240.945 700.157 l +S +pusht +240.945 700.157 translate +-90 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +240.945 745.512 m +240.945 737.008 l +S +pusht +240.945 737.008 translate +-90 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +212.598 751.181 m +283.465 751.181 l +283.465 666.142 l +141.732 666.142 l +141.732 694.488 l +277.795 694.488 l +277.795 745.512 l +212.598 745.512 l +212.598 751.181 l +closepath +0.88 0.88 0.88 rgb +F +212.598 751.181 m +283.465 751.181 l +283.465 666.142 l +141.732 666.142 l +141.732 694.488 l +277.795 694.488 l +277.795 745.512 l +212.598 745.512 l +212.598 751.181 l +0 0 0 rgb +S +[56.6929 0 0 -8.50397 212.598 700.157] rect +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.283465 w +0 j +0 J +[] 0 d +S +[22.6772 0 0 -8.50397 232.441 756.85] rect +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.283465 w +0 j +0 J +[] 0 d +S +[141.732 0 0 -28.3465 141.732 793.701] rect +gsave +0.89 0.89 0.89 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[56.6929 0 0 -28.3464 212.598 737.008] rect +gsave +0.89 0.89 0.89 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +/Times-Roman 10 sf +(do_request\(\)) +[1 0 0 0.814962 215.917 693.422] T +(VFS) +[1 0 0 0.814962 234.61 750.115] T +/Times-Roman 11 sf +(Application) +186 776 T +(Buffer) +218 725 T +/Times-Roman 12 sf +(cache) +239 714 T +/Times-Roman 11 sf +(Block device) +183 674 T +(File) +147 737 T +(system) +162 728 T +/Times-Roman 10 sf +(VFS) +[1 0 0 0.814962 160.909 750.115] T +%%PageTrailer +showpage +%%Trailer +end +%%DocumentSuppliedResources: procset Linux-Sketch-Procset 1.0 2 +%%EOF + +%%EndDocument + @endspecial 1076 1810 a Fp(Abbildung)31 b(4.1:)41 b(Rolle)31 +b(des)f(VFS-In)m(terfaces)382 2085 y(v)m(ersc)m(hiedenen)40 +b(Ausf\374hrungsk)m(on)m(texten)g(im)f(Lin)m(ux-Kernel.)67 +b(Da)38 b(der)h(Zugri\033)g(auf)382 2198 y(viele)h(Ressourcen,)i(die)f +(aus)f(mehreren)h(Ausf\374hrungsk)m(on)m(texten)g(v)m(erw)m(endet)h(w)m +(er-)382 2311 y(den,)29 b(nic)m(h)m(t)g(atomar)g(ist,)f(b)s(en\366tigt) +g(man)g(geeignete)h(Mec)m(hanismen,)h(um)e(den)g(Zugri\033)382 +2424 y(zu)i(regeln.)42 b([Russ00)o(])382 2717 y Fo(4.3.1)112 +b(Ausf\374hrungsk)m(on)m(texte)382 2926 y Fn(In)m(terrupts)45 +b Fp(In)m(terrupthandler)g(sind)d(Prozeduren)j(des)d(Betriebssystems,)k +(deren)609 3039 y(Ausf\374hrung)36 b(durc)m(h)h(zur)f(CPU)g(externe)h +(Ereignisse)f(angesto\377en)h(wird.)57 b(Die)609 3152 +y(Ausf\374hrung)26 b(eines)f(In)m(terrupthandlers)j(k)-5 +b(ann)25 b(wiederum)i(v)m(on)f(In)m(terrupts)g(un-)609 +3265 y(terbro)s(c)m(hen)d(w)m(erden;)i(daher)d(m)m(u\377)f(ein)h(In)m +(terrupthandler)h(auc)m(h)f(reen)m(tran)m(t)h(pro-)609 +3377 y(grammiert)37 b(w)m(erden)f(\(es)f(sei)f(denn,)j(er)e(un)m +(terbindet)i(den)e(Aufruf)f(v)m(on)i(In)m(ter-)609 3490 +y(rupthandlern\).)382 3678 y Fn(Bottom)f(Halv)m(es)46 +b Fp(Aktionen,)41 b(die)f(aufgrund)g(eines)f(In)m(terrupts)h +(ausgef\374hrt)f(w)m(er-)609 3791 y(den,)24 b(ab)s(er)d(nic)m(h)m(t)j +(so)d(dringend)i(sind,)g(da\377)f(sie)f(unmittelbar)i(im)f(In)m +(terrupthand-)609 3904 y(ler)g(ausgef\374hrt)h(w)m(erden)g(m)m +(\374ssen,)h(w)m(erden)f(in)f(Bottom)h(Halv)m(es)f(un)m(tergebrac)m(h)m +(t.)609 4017 y(Die)31 b(32)f(Bottom)h(Halv)m(es)f(un)m(ter)h(Lin)m(ux)h +(sind)e(statisc)m(h)h(v)m(ergeb)s(en.)41 b(W)-8 b(enn)31 +b(man)609 4130 y(als)23 b(Autor)h(eines)f(mo)s(dularisierten)i(T)-8 +b(reib)s(ers)24 b(eine)g(Prozedur)h(als)e(Bottom)h(Half)609 +4243 y(ausf\374hren)34 b(lassen)f(will,)i(m)m(u\377)f(man)g(sic)m(h)g +(der)f(T)-8 b(ask-Queue)35 b(\022tq_immediate\021)609 +4355 y(b)s(edienen.)45 b(In)31 b(einem)h(In)m(terrupthandler)i(k)m +(\366nnen)f(b)s(eliebige)f(Bottom)h(Halv)m(es)609 4468 +y(markiert)f(w)m(erden.)44 b(Die)31 b(Ausf\374hrung)g(aller)g +(markierten)i(Bottom)e(Halv)m(es)g(er-)609 4581 y(folgt)k(b)s(ei)g +(jedem)g(Sc)m(heduling-V)-8 b(organg)39 b(und)c(b)s(ei)g(der)g(R\374c)m +(kk)m(ehr)g(v)m(on)h(einem)609 4694 y(Systemruf.)47 b(Die)33 +b(Markierung)g(wird)g(b)s(ei)g(der)f(Ausf\374hrung)h(wieder)h +(gel\366sc)m(h)m(t.)609 4807 y(Bottom)d(Halv)m(es)g(m)m(\374ssen)f(nic) +m(h)m(t)i(reen)m(tran)m(t)h(sein.)609 4920 y(Mit)21 b(der)g(Kernelv)m +(ersion)i(2.3.43)f(w)m(erden)g(die)f(Bottom)h(Halv)m(es)f(durc)m(h)h +(SoftIR)m(Qs)609 5033 y(abgel\366st.)56 b(SoftIR)m(Qs)34 +b(un)m(tersc)m(heiden)k(sic)m(h)e(dadurc)m(h)h(v)m(on)e(den)h(Bottom)f +(Hal-)609 5146 y(v)m(es,)30 b(da\377)g(einzelne)h(SoftIR)m(Qs)e(auf)h +(v)m(ersc)m(hiedenen)i(CPUs)d(gleic)m(hzeitig)j(laufen)609 +5259 y(d\374rfen.)1831 5622 y(35)p eop +%%Page: 36 38 +36 37 bop 382 264 a Fl(KAPITEL)31 b(4.)71 b(LINUX)764 +b(4.3.)71 b(P)-8 b(ARALLELA)m(USF\334HR)m(UNG)p 382 301 +2989 4 v 382 539 a Fn(T)f(ask)35 b(Queues)46 b Fp(Hier)d(k)-5 +b(ann)43 b(man)h(dynamisc)m(h)g(Prozeduren)h(registrieren,)j(die)43 +b(zu)609 652 y(b)s(estimm)m(ten)i(Zeitpunkten)f(ausgef\374hrt)g(w)m +(erden)h(sollen.)80 b(Da)43 b(die)h(Ausf\374h-)609 764 +y(rung)25 b(der)g(T)-8 b(ask-Queues)25 b(im)f(Rahmen)h(der)g(Abarb)s +(eitung)g(der)f(Bottom)i(Halv)m(es)609 877 y(statt\034ndet,)34 +b(gilt)e(das)f(dort)i(Angef\374hrte.)45 b(T)-8 b(ask)32 +b(Queues,)g(die)h(im)e(Kernel)i(zur)609 990 y(V)-8 b(erf\374gung)32 +b(stehen:)609 1203 y(tq_immediate)78 b(Wird)36 b(b)s(ei)f(jeder)h +(Ausf\374hrung)g(der)g(Bottom)g(Halv)m(es)g(abge-)1234 +1316 y(arb)s(eitet.)609 1462 y(tq_timer)262 b(Wird)41 +b(nac)m(h)i(jedem)e(Timerin)m(terrupt)j(abgearb)s(eitet.)74 +b(\(100)1234 1575 y(mal)36 b(pro)f(Sekunde)h(auf)e(i386,)j(1000)e(mal)h +(pro)f(Sekunde)h(auf)1234 1688 y(Alpha\))609 1834 y(tq_sc)m(heduler)109 +b(Wird)31 b(b)s(ei)f(jedem)h(Aufruf)e(des)i(Sc)m(hedulers)h(abgearb)s +(eitet.)382 2046 y Fn(Proze\377)46 b Fp(Ein)37 b(Proze\377)i(k)-5 +b(ann)37 b(en)m(t)m(w)m(eder)j(seinen)d(Programmco)s(de,)k(o)s(der)c +(ab)s(er)g(auc)m(h)609 2159 y(den)27 b(Co)s(de)f(des)g(Betriebssystems) +g(ausf\374hren.)39 b(Im)26 b(ersten)h(F)-8 b(all)26 b(k)-5 +b(ann)27 b(die)f(Aus-)609 2272 y(f\374hrung)32 b(jederzeit)f(un)m +(terbro)s(c)m(hen)i(und)f(mit)f(einem)g(anderen)h(Proze\377)g(fortge-) +609 2385 y(setzt)d(w)m(erden.)42 b(Dies)28 b(ist)h(eine)g(ganz)g +(normale)h(Eigensc)m(haft)h(eines)e(Betriebssy-)609 2498 +y(stems,)h(das)h(pr\344emptiv)m(es)g(Multitasking)g(hat.)609 +2611 y(F\374hrt)22 b(der)g(Proze\377)g(gerade)h(einen)f(T)-8 +b(eil)22 b(des)f(Kernels)h(aus,)h(b)s(e\034ndet)f(er)g(sic)m(h)g(also) +609 2724 y(im)35 b(Kernelk)m(on)m(text,)i(k)-5 b(ann)35 +b(er)f(zw)m(ar)i(durc)m(h)f(einen)g(In)m(terrupt)h(kurzfristig)e(un-) +609 2837 y(terbro)s(c)m(hen)h(w)m(erden;)h(danac)m(h)f(wird)f(er)f +(allerdings)h(w)m(eiter)h(ausgef\374hrt.)49 b(D.h.)609 +2950 y(im)40 b(Kernelk)m(on)m(text)i(ist)e(Lin)m(ux)g(zum)h(heutigen)g +(Zeitpunkt)g(nic)m(h)m(t)g(pr\344em)m(tiv.)609 3062 y(Im)34 +b(Laufe)h(der)g(2.3.x)f(En)m(t)m(wic)m(klung)j(wurden)f(die)e +(M\366glic)m(hk)m(eiten)j(diskutiert,)609 3175 y(auc)m(h)i(den)g +(Kernelk)m(on)m(text)h(pr\344emptiv)f(zu)f(gestalten,)j(es)d(ist)f(ab)s +(er)h(un)m(w)m(ahr-)609 3288 y(sc)m(heinlic)m(h,)33 b(da\377)d(das)h(b) +s(ereits)f(b)s(ei)g(Lin)m(ux)h(2.4.x)g(der)g(F)-8 b(all)31 +b(sein)f(wird.)382 3582 y Fo(4.3.2)112 b(Sync)m(hronisationsprimitiv)m +(e)382 3803 y Fp(Die)35 b(grundlegenden)h(Mec)m(hanismen,)i(aus)c +(denen)h(die)g(h\366heren)h(Sync)m(hronisations-)382 +3916 y(ob)5 b(jekte)30 b(aufgebaut)i(sind:)382 4178 y +Fn(cti\(\)/sti\(\))47 b Fp(Sp)s(erren)24 b(und)g(F)-8 +b(reigeb)s(en)25 b(aller)f(In)m(terrupts.)39 b(Es)23 +b(gibt)h(no)s(c)m(h)g(w)m(eitere)h(V)-8 b(a-)609 4291 +y(rian)m(ten)31 b(dieser)f(K)m(ommandos,)i(die)e(ab)s(er)f(k)m(eine)i +(grunds\344tzlic)m(h)g(andere)g(F)-8 b(unk-)609 4404 +y(tion)31 b(zur)g(V)-8 b(erf\374gung)31 b(stellen.)382 +4592 y Fn(Spinlo)s(c)m(ks)44 b Fp(Ein)32 b(Spinlo)s(c)m(k)g(ist)f(ein)g +(Sync)m(hronisationsob)5 b(jekt,)33 b(das)f(n)m(ur)g(einmal)g(b)s(e-) +609 4705 y(legt)24 b(w)m(erden)i(k)-5 b(ann.)38 b(Ist)23 +b(es)h(b)s(ereits)g(b)s(elegt,)h(wird)g(so)e(lange)i(eine)f(W)-8 +b(artesc)m(hleife)609 4817 y(ausgef\374hrt,)31 b(bis)f(der)h(Spinlo)s +(c)m(k)g(wieder)g(frei)f(ist.)40 b(Ein)31 b(Spinlo)s(c)m(k)g(k)-5 +b(ann)31 b(n)m(ur)g(f\374r)609 4930 y(die)i(Sync)m(hronisation)i(zwisc) +m(hen)f(zw)m(ei)f(CPUs)g(v)m(erw)m(endet)h(w)m(erden.)49 +b(F)-8 b(alls)33 b(ein)609 5043 y(Kernel)27 b(f\374r)e(einen)i +(Computer)g(mit)f(n)m(ur)h(einem)f(Prozessor)g(erzeugt)h(wird,)g(w)m +(er-)609 5156 y(den)k(Spinlo)s(c)m(ks)g(b)s(ei)f(der)h(\334b)s +(ersetzung)f(des)h(Quellco)s(des)g(eliminiert.)1831 5622 +y(36)p eop +%%Page: 37 39 +37 38 bop 382 264 a Fl(KAPITEL)31 b(4.)71 b(LINUX)764 +b(4.3.)71 b(P)-8 b(ARALLELA)m(USF\334HR)m(UNG)p 382 301 +2989 4 v 382 539 a Fn(W)f(ait)36 b(Queues)46 b Fp(Eine)35 +b(W)-8 b(ait-Queue)36 b(bietet)g(zw)m(ei)f(F)-8 b(unktionen:)51 +b(Ein)35 b(Proze\377)g(k)-5 b(ann)609 652 y(mit)28 b(sleep_on\(\))g +(auf)f(ein)h(Ereignis)g(w)m(arten.)41 b(Dab)s(ei)27 b(wird)h(der)f(Sc)m +(heduler)j(auf-)609 764 y(gerufen,)j(und)f(der)g(Proze\377)h(gibt)f +(die)g(CPU)g(ab.)45 b(T)-8 b(ritt)33 b(n)m(un)g(das)e(Ereignis)i(ein,) +609 877 y(so)38 b(k)-5 b(ann)37 b(man)h(alle)h(Prozesse,)h(die)e(in)f +(einer)i(W)-8 b(ait-Queue)39 b(w)m(arten,)i(w)m(ec)m(k)m(en.)609 +990 y(F\374r)f(den)g(gew)m(ec)m(kten)i(Proze\377)f(b)s(edeutet)f(das,)i +(da\377)e(der)g(sleep_on\(\))h(Aufruf)609 1103 y(zur\374c)m(kk)m(ehrt.) +609 1216 y(Sleep_on\(\))29 b(gibt)f(es)f(in)g(zw)m(ei)h(V)-8 +b(arian)m(ten;)31 b(eine)d(l\344\377t)f(den)h(Proze\377)g(im)g(Zustand) +609 1329 y(T)-8 b(ASK_UNINTERR)m(UPTIBLE)22 b(w)m(arten,)i(w)m +(\344hrend)e(sleep_on_in)m(terruptible\(\))609 1442 y(den)36 +b(Proze\377)h(im)e(Zustand)h(T)-8 b(ASK_INTERR)m(UPTIBLE)38 +b(w)m(arten)f(l\344\377t.)56 b(Ein)609 1555 y(Proze\377)37 +b(im)f(ersten)g(der)g(b)s(eiden)g(Zust\344nde)g(reagiert)h(auf)e(k)m +(eine)h(Signale)h(und)609 1668 y(k)-5 b(ann)31 b(daher)h(auc)m(h)g(nic) +m(h)m(t)h(mit)e(dem)g(Kill-K)m(ommando)j(aus)d(dem)h(System)f(en)m(t-) +609 1781 y(fern)m(t)g(w)m(erden.)382 2043 y(Darauf)e(aufbauend)h(gibt)f +(es)g(Semaphore)i(und)e(in)g(neueren)h(V)-8 b(ersionen)30 +b(\(2.3.x\))f(auc)m(h)382 2156 y(eine)f(Sc)m(hreib-)i(und)e(Lesev)-5 +b(arian)m(te)29 b(v)m(on)g(Semaphoren.)41 b(Semaphore)30 +b(k)m(\366nne)e(zur)g(Syn-)382 2269 y(c)m(hronisation)h(v)m(on)f +(Prozessen)h(im)e(Kernelk)m(on)m(text)j(eingesetzt)f(w)m(erden.)41 +b(Semaphore)382 2382 y(k)m(\366nnen)36 b(nat\374rlic)m(h)g(nic)m(h)m(t) +h(in)e(In)m(terrupthandlern)j(und)d(Bottom)h(Halv)m(es)e(eingesetzt)382 +2495 y(w)m(erden,)46 b(da)c(diese)g(au\377erhalb)i(eines)e(Proze\377k)m +(on)m(textes)i(ausgef\374hrt)f(w)m(erden)g(und)382 2608 +y(Semaphore)32 b(einen)f(Proze\377k)m(on)m(text)i(brauc)m(hen.)382 +2770 y(Spinlo)s(c)m(ks)39 b(k)m(\366nnen)h(eb)s(enfalls)f(f\374r)g(die) +g(Sync)m(hronisation)i(zwisc)m(hen)g(Prozessen)e(im)382 +2883 y(Kernelk)m(on)m(text)32 b(eingesetzt)e(w)m(erden.)42 +b(Spinlo)s(c)m(ks)30 b(gibt)g(es)g(b)s(ereits)f(in)h(den)g(2.2.x)g(V)-8 +b(er-)382 2996 y(sionen)39 b(des)g(Kernels)g(in)g(Sc)m(hreib-)i(und)e +(Lesev)-5 b(arian)m(ten.)67 b(Sie)40 b(eignen)f(sic)m(h)h(gut)f(f\374r) +382 3109 y(Sync)m(hronisationsaufgab)s(en,)44 b(b)s(ei)c(denen)h(die)f +(Ressource)f(n)m(ur)i(f\374r)f(kurze)g(Zeit)g(ge-)382 +3222 y(sc)m(h)m(\374tzt)f(w)m(erden)g(m)m(u\377.)62 b(W\344hrend)38 +b(man)g(einen)g(Spinlo)s(c)m(k)g(b)s(esetzt)f(hat,)j(darf)d(man)382 +3335 y(auf)30 b(k)m(einen)h(F)-8 b(all)31 b(den)g(Sc)m(heduler)h +(aufrufen.)382 3498 y(F\374r)37 b(die)g(Sync)m(hronisation)i(zwisc)m +(hen)f(In)m(terrupts)f(und)g(Prozessen)h(im)f(Kernelk)m(on-)382 +3610 y(text)24 b(steh)m(t)h(eine)f(V)-8 b(arian)m(te)26 +b(der)e(Spinlo)s(c)m(ks)g(zur)h(V)-8 b(erf\374gung,)26 +b(die)f(die)f(Ausf\374hrung)g(v)m(on)382 3723 y(In)m(terrupts)j(auf)f +(der)h(lok)-5 b(alen)27 b(CPU)f(v)m(erhindert.)41 b(F)-8 +b(alls)26 b(es)g(sic)m(h)h(um)g(die)f(Sc)m(hreib-)i(und)382 +3836 y(Lesev)-5 b(arian)m(te)40 b(der)e(Spinlo)s(c)m(ks)g(handelt)h +(und)g(man)f(innerhalb)h(des)f(In)m(terrupthand-)382 +3949 y(lers)31 b(n)m(ur)h(lesend)g(auf)f(die)h(Ressource)f(zugreifen)h +(will,)g(k)-5 b(ann)32 b(man)g(dort)g(die)f(normale)382 +4062 y(V)-8 b(arian)m(te)32 b(des)e(Spinlo)s(c)m(ks)h(v)m(erw)m(enden.) +680 4250 y(Innerhalb)25 b(des)e(In)m(terrupthandlers)j(m)m(u\377)f(im)f +(Normalfall)g(eb)s(enfalls)g(die)g(_ir-)680 4363 y(qsa)m(v)m(e\(\))34 +b(V)-8 b(arian)m(te)36 b(der)e(Spinlo)s(c)m(k-Op)s(erationen)i(v)m(erw) +m(endet)g(w)m(erden,)g(denn)680 4476 y(w)m(enn)d(der)g(In)m(terrupt)h +(w)m(\344hrend)f(der)g(Abarb)s(eitung)g(des)f(In)m(terrupthandlers)680 +4588 y(ein)41 b(w)m(eiteres)g(Mal)f(auftritt)1671 4555 +y Fg(2)1711 4588 y Fp(,)j(wird)e(diese)f(un)m(terbro)s(c)m(hen,)45 +b(der)c(In)m(terrupt-)680 4701 y(handler)48 b(no)s(c)m(heinmal)h +(aufgerufen)f(und)f(der)h(erste)f(Aufruf)f(danac)m(h)j(wie-)680 +4814 y(der)43 b(fortgesetzt.)77 b(Im)41 b(Proze\377k)m(on)m(text)k(ist) +d(die)h(_irqsa)m(v)m(e\(\))g(V)-8 b(arian)m(te)44 b(der)680 +4927 y(Spinlo)s(c)m(k-Op)s(erationen)g(not)m(w)m(endig,)k(um)42 +b(die)g(A)m(tomizit\344t)h(zu)f(gew)m(\344hrlei-)680 +5040 y(sten,)33 b(im)f(K)m(on)m(text)h(des)f(In)m(terrupthandlers)i +(wird)f(dadurc)m(h)h(auc)m(h)f(no)s(c)m(h)f(ein)680 5153 +y(Deadlo)s(c)m(k)f(v)m(erhindert.)p 382 5214 1196 4 v +486 5268 a Ff(2)520 5300 y Fe(Das)26 b(ist)g(nat\374rlic)n(h)g(n)n(ur)e +(mit)h(\035ank)n(engetriggerten)h(In)n(terrupts)e(m\366glic)n(h.)1831 +5622 y Fp(37)p eop +%%Page: 38 40 +38 39 bop 382 262 a Fl(KAPITEL)31 b(4.)71 b(LINUX)1451 +b(4.4.)71 b(THREADS)p 382 299 2989 4 v 680 539 a Fp(Handelt)33 +b(es)f(sic)m(h)h(n)m(un)h(um)e(einen)h(Sc)m(heib-)h(und)f(Lese-Spinlo)s +(c)m(k)h(und)f(ist)f(im)680 652 y(In)m(terrupthandler)26 +b(n)m(ur)e(lesender)f(Zugri\033)h(erforderlic)m(h,)i(k)-5 +b(ann)23 b(innerhalb)i(des)680 764 y(In)m(terrupts)31 +b(die)g(normale)g(V)-8 b(arian)m(te)32 b(der)e(Op)s(erationen)i(v)m +(erw)m(endet)g(w)m(erden.)680 877 y(Da)37 b(mehrere)h(Leser)g(auf)f +(einmal)h(erlaubt)g(sind,)g(k)-5 b(ann)38 b(es)e(daher)i(b)s(ei)f +(einer)680 990 y(zw)m(eiten,)25 b(gleic)m(hzeitigen)f(Ausf\374hrung)e +(des)f(In)m(terrupthandlers)j(auf)d(der)h(glei-)680 1103 +y(c)m(hen)31 b(CPU)g(nic)m(h)m(t)h(zu)f(diesem)f(Deadlo)s(c)m(k)h(k)m +(ommen.)382 1439 y Fj(4.4)130 b(Threads)382 1692 y Fp(In)30 +b(vielen)g(anderen)i(Betriebssystemen)e(wurde)h(mit)g(der)g +(Einf\374hrung)g(v)m(on)g(Threads)382 1805 y(der)42 b(Proze\377)g +(derart)h(v)m(er\344ndert,)j(da\377)c(er)f(n)m(ur)i(mehr)f(eine)g +(Umgebung)g(ist,)j(in)c(der)382 1918 y(eine)33 b(b)s(eliebige)h(Zahl)g +(v)m(on)f(Threads)h(laufen)f(k)-5 b(ann.)49 b(Der)33 +b(Proze\377)h(stellt)g(dab)s(ei)f(k)m(eine)382 2031 y(Einheit)40 +b(f\374r)e(den)h(Sc)m(heduler)i(dar,)g(ist)d(ab)s(er)h(no)s(c)m(h)g +(eine)g(Einheit)h(f\374r)e(viele)h(andere)382 2144 y(Subsysteme)h(des)f +(Betriebssystems,)j(wie)d(z.B.)h(f\374r)f(die)h(Sp)s(eic)m(herv)m(erw)m +(altung)j(und)382 2257 y(Filesysteme.)382 2419 y(Da)25 +b(dieser)g(\334b)s(ergang)h(eine)g(einsc)m(hneidende)h(V)-8 +b(er\344nderung)27 b(f\374r)e(ein)g(Betriebssystem)382 +2532 y(darstellt,)35 b(wurde)f(un)m(ter)g(Lin)m(ux)g(ein)g(anderer)g +(Ansatz)f(gew)m(\344hlt.)51 b(Dab)s(ei)33 b(wurde)h(der)382 +2645 y(Sp)s(eic)m(herk)m(on)m(text)i(und)e(der)f(Dateisystemk)m(on)m +(text)i(aus)e(dem)h(Proze\377)g(herausgel\366st,)382 +2758 y(so)s(da\377)39 b(n)m(un)h(Prozesse)g(diese)g(gemeinsam)g(b)s(en) +m(utzen)h(k)m(\366nnen.)69 b(Dies)39 b(spiegelt)h(sic)m(h)382 +2871 y(auc)m(h)35 b(in)f(der)g(Implemen)m(tierung)j(wieder;)f(das)e(In) +m(terface)h(der)f(Systemrufe)g(hat)g(sic)m(h)382 2984 +y(n)m(ur)e(dadurc)m(h)g(v)m(er\344ndert,)h(da\377)f(eine)f(v)m +(erallgemeinerte)j(F)-8 b(orm)32 b(des)e(fork\(2\))h(System-)382 +3097 y(rufes)f(hinzugek)m(ommen)j(ist.)382 3260 y(Mit)g(Hilfe)g(dieser) +h(Kernelerw)m(eiterung)j(wurde)d(eine)g(POSIX-k)m(onforme)h(Threading) +382 3372 y(Library)29 b(gesc)m(ha\033en.)41 b(Diese)28 +b(stellt)g(den)g(Applik)-5 b(ationsprogrammen)31 b(mit)e(einer)f(klei-) +382 3485 y(nen)34 b(Ausnahme)970 3452 y Fg(3)1043 3485 +y Fp(das)f(POSIX-k)m(onforme)i(V)-8 b(erhalten,)36 b(in)d(dem)h +(Threads)g(Bestand-)382 3598 y(teile)d(eines)f(Prozesses)h(sind,)f(zur) +h(V)-8 b(erf\374gung.)382 3891 y Fo(4.4.1)112 b(Kernel-Threads)382 +4113 y Fp(Diese)22 b(Ausk)m(opp)s(elung)g(des)g(Sp)s(eic)m(herk)m(on)m +(textes)j(und)d(des)g(Dateisystemk)m(on)m(textes)h(er-)382 +4226 y(m\366glic)m(h)m(te)33 b(auc)m(h)e(die)f(problemlose)i +(Einf\374hrung)f(v)m(on)g(Kernel-Threads.)42 b(Diese)30 +b(sind)382 4339 y(Prozesse,)47 b(die)c(innerhalb)h(des)f(Kernels)h +(erzeugt)g(w)m(erden)g(k)m(\366nnen,)k(um)43 b(dort)h(b)s(e-)382 +4452 y(stimm)m(te)30 b(Aufgab)s(en)g(zu)f(\374b)s(ernehmen.)42 +b(Da)29 b(sie)g(nie)h(Programmco)s(de)h(im)f(Userspace)382 +4565 y(ausf\374hren,)h(hab)s(en)g(sie)f(auc)m(h)h(k)m(einen)g(Sp)s(eic) +m(herk)m(on)m(text.)p 382 4626 1196 4 v 486 4680 a Ff(3)520 +4712 y Fe(W\344hrend)g(laut)g(POSIX)f(Signale,)k(die)e(an)f(einen)g +(Proze\377)i(adressiert)f(sind,)h(an)f(alle)g(Threads)382 +4803 y(geliefert)j(w)n(erden,)h(wird)e(un)n(ter)f(Lin)n(ux)f(ein)i +(Signal)g(n)n(ur)f(an)h(jenen)f(Thread)h(geliefert,)k(an)33 +b(den)g(es)382 4894 y(adressiert)27 b(wurde.)1831 5622 +y Fp(38)p eop +%%Page: 39 41 +39 40 bop 382 262 a Fl(KAPITEL)31 b(4.)71 b(LINUX)1491 +b(4.5.)71 b(MODULE)p 382 299 2989 4 v 382 539 a Fj(4.5)130 +b(Mo)t(dule)382 791 y Fp(V)-8 b(or)29 b(der)g(V)-8 b(ersion)29 +b(2.0)f(des)h(Lin)m(ux-Kernels)h(k)m(onn)m(ten)g(Ger\344tetreib)s(er)g +(n)m(ur)f(statisc)m(h)g(in)382 904 y(den)k(Kernel)g(eincompiliert)h(w)m +(erden.)48 b(Damals)32 b(w)m(ar)i(es)d(\374blic)m(h,)k(nac)m(h)e(der)g +(erfolgrei-)382 1017 y(c)m(hen)h(Installation)h(des)e(Lin)m +(ux-Systems,)i(den)f(Kernel)h(selbst)e(neu)h(zu)g(compilieren,)382 +1130 y(und)f(dab)s(ei)g(n)m(ur)h(jene)f(Ger\344tetreib)s(er)h(in)f(den) +g(Kernel)h(einzubinden,)h(die)e(man)g(auc)m(h)382 1243 +y(tats\344c)m(hlic)m(h)f(brauc)m(h)m(te.)382 1406 y(Nic)m(h)m(t)24 +b(n)m(ur)h(f\374r)e(den)h(An)m(w)m(ender)h(w)m(ar)f(diese)g(Situation)h +(nic)m(h)m(t)g(zufriedenstellend,)h(auc)m(h)382 1519 +y(w)m(ar)40 b(damals)f(die)h(En)m(t)m(wic)m(klung)i(eines)d(neuen)h +(Ger\344tetreib)s(ers)f(sehr)g(umst\344ndlic)m(h,)382 +1632 y(denn)29 b(die)g(einzige)g(M\366glic)m(hk)m(eit,)i(den)e(T)-8 +b(reib)s(er)29 b(neu)g(zu)g(starten,)g(w)m(ar)h(es,)e(das)h(Zielsy-)382 +1744 y(stem)h(mit)h(dem)g(neuen)g(Kernel)g(neu)g(zu)g(starten.)382 +1907 y(Mit)c(V)-8 b(ersion)28 b(2.0)f(wurde)h(der)g(Kernel)g(um)g +(einen)g(Loader)g(erw)m(eitert,)i(der)d(es)g(erlaubt,)382 +2020 y(in)j(den)h(laufenden)g(Kernel)h(Mo)s(dule)e(einzuf\374gen)i +(bzw.)41 b(zu)30 b(en)m(tfernen.)382 2183 y(Die)37 b(Sc)m(hnittstelle,) +j(der)e(sic)m(h)f(ein)g(Autor)g(eines)g(Mo)s(duls)g(b)s(edienen)g(k)-5 +b(ann,)39 b(ist)d(ab)s(er)382 2296 y(k)m(ein)26 b(F)-8 +b(ramew)m(ork,)28 b(wie)e(das)g(b)s(ei)f(T)-8 b(reib)s(ersc)m +(hnittstellen)29 b(vieler)c(Betriebssysteme)h(der)382 +2409 y(F)-8 b(all)35 b(ist.)53 b(Es)34 b(stehen)h(eine)g(Menge)g +(Prozeduren)i(und)e(Makros)f(zur)g(V)-8 b(erf\374gung,)37 +b(die)382 2522 y(neb)s(en)g(den)f(F)-8 b(unktionen,)40 +b(die)d(sp)s(eziell)f(f\374r)h(Mo)s(dule)f(zur)h(V)-8 +b(erf\374gung)37 b(stehen)g(\(z.B.)382 2634 y +(register_\034lesystem\(\),)30 b(restister_blkdev\(\),)f(usw.\),)f(auc) +m(h)h(eine)f(gute)g(Ausw)m(ahl)g(der)382 2747 y(allgemeinen)k(F)-8 +b(unktionen)32 b(des)e(Kernels)h(aufw)m(eisen.)382 2910 +y(Diese)37 b(Kernelsc)m(hnittstelle)j(ist)e(zwisc)m(hen)g(v)m(ersc)m +(hiedenen)i(V)-8 b(ersionen)39 b(des)e(Kernels)382 3023 +y(nic)m(h)m(t)32 b(bin\344rk)m(ompatib)s(el,)g(man)f(k)-5 +b(ann)30 b(jeo)s(c)m(h)g(Mo)s(dule)g(anderer)h(Kernelv)m(ersionen)h +(la-)382 3136 y(den)26 b(und)g(wird)f(zumindest)i(darauf)f(aufmerksam)f +(gemac)m(h)m(t,)k(da\377)d(dieser)g(V)-8 b(organg)26 +b(zu)382 3249 y(einem)31 b(Systemabsturz)g(f\374hren)g(k)-5 +b(ann.)382 3411 y(Do)s(c)m(h)35 b(b)s(eim)g(V)-8 b(ersuc)m(h,)37 +b(ein)e(Mo)s(dul,)h(das)f(f\374r)f(eine)i(Ein-Prozessor-Masc)m(hine)h +(\374b)s(er-)382 3524 y(setzt)27 b(wurde,)h(in)f(einen)g +(Mehr-Prozessor-Kernel)j(zu)d(laden,)h(wird)f(man)g(leider)h(nic)m(h)m +(t)382 3637 y(gew)m(arn)m(t.)48 b(So)m(w)m(ohl)34 b(diese,)f(als)f(auc) +m(h)h(die)g(umgek)m(ehrte)h(K)m(om)m(bination)h(\(SMP-Mo)s(dul)382 +3750 y(in)30 b(UP-Kernel\))i(ist)e(leider)h(sehr)g(instabil.)1831 +5622 y(39)p eop +%%Page: 40 42 +40 41 bop 382 1211 a Fk(Kapitel)62 b(5)382 1676 y Fm(Implemen)-6 +b(tierung)382 2171 y Fp(Es)33 b(gibt)g(zw)m(ar)h(ein)g(paar)f(w)m +(enige,)i(jedo)s(c)m(h)f(in)f(der)g(Regeln)g(nic)m(h)m(t)i(aktuelle,)f +(Un)m(terla-)382 2284 y(gen,)k(die)e(einem)h(b)s(ei)f(der)g(Implemen)m +(tierung)j(eines)d(T)-8 b(reib)s(ers)37 b(f\374r)f(Lin)m(ux)h(b)s +(ehil\035ic)m(h)382 2397 y(sind.)59 b(Nun)36 b(wurde)h(endlic)m(h)h +(eine)f(Neuau\035age)h(des)e(diesb)s(ez\374glic)m(h)i(b)s(esten)f(Buc)m +(hes)382 2510 y([Rub98])j(angek\374ndigt,)j(die)c(den)h(Lin)m +(ux-Kernel)i(in)d(der)h(V)-8 b(ersion)40 b(2.2.x)f(ab)s(dec)m(k)m(en) +382 2622 y(soll.)h(Es)28 b(wird)h(sic)m(h)g(allerdings)g(erst)f +(herausstellen,)i(ob)f(diese)g(zw)m(eite)g(Au\035age)g(wirk-)382 +2735 y(lic)m(h)i(erh\344ltlic)m(h)h(ist,)f(b)s(ev)m(or)f(die)h(V)-8 +b(ersion)31 b(2.4.x)f(des)h(Lin)m(ux-Kernels)h(fertig)e(ist.)382 +2898 y(Auc)m(h)i(ist)g(das)g(F)-8 b(ramew)m(ork,)34 b(in)e(das)f(sic)m +(h)i(ein)f(T)-8 b(reib)s(er)33 b(eingliedern)g(m)m(u\377,)h(v)m +(erst\344nd-)382 3011 y(lic)m(herw)m(eise)i(auf)e(T)-8 +b(reib)s(er)35 b(ausgeric)m(h)m(tet,)i(die)e(ric)m(h)m(tige)h(Hardw)m +(are)f(ansprec)m(hen,)i(w)m(as)382 3124 y(nic)m(h)m(t)27 +b(zuletzt)f(zu)f(einigen)h(Problemen)h(b)s(ei)e(der)h(Implemen)m +(tierung)i(dieses)d(virtuellen)382 3237 y(Massensp)s(eic)m +(herger\344tes)31 b(f\374hrte.)382 3400 y(Dieses)22 b(Kapitel)i(b)s +(ezieh)m(t)g(sic)m(h)f(auf)g(V)-8 b(ersion)23 b(0.5.3)h(v)m(on)f(DRBD.) +f(Alle)h(v)m(er\366\033en)m(tlic)m(h)m(ten)382 3512 y(V)-8 +b(ersionen)21 b(v)m(on)g(DRBD)f(sind)g(un)m(ter)h(h)m +(ttp://www.complang.tu)m(wien.)q(ac.at/)q(reisner/)q(drb)s(d/)382 +3625 y(erh\344ltlic)m(h.)382 3962 y Fj(5.1)130 b(Struktur)382 +4214 y Fp(Den)33 b(Hauptteil)g(des)f(Programmco)s(des,)j(knapp)e(2500)g +(Zeilen)h(C,)e(bildet)i(ein)f(Mo)s(dul)382 4327 y(f\374r)d(den)i +(Kernel,)g(das)e(ein)h(Blo)s(c)m(kger\344t)h(implemen)m(tiert.)44 +b(Da)31 b(f\374r)g(die)g(K)m(on\034guration)382 4440 +y(Information)46 b(v)m(om)g(An)m(w)m(ender)h(erforderlic)m(h)g(ist)e +(und)g(DRBD)g(auc)m(h)h(auf)f(externe)382 4553 y(Ereignisse)d +(reagieren)g(m)m(u\377,)j(k)-5 b(ann)41 b(das)g(Kernelmo)s(dul,)k(das)c +(aus)g(dem)h(Userspace)382 4666 y(n)m(ur)h(als)e(Blo)s(c)m(kger\344t)i +(sic)m(h)m(tbar)g(ist,)h(\374b)s(er)e(den)g(io)s(ctl\(\))h(Systemruf)e +(Informationen)382 4779 y(en)m(tgegennehmen.)382 4942 +y(Die)g(f\374r)g(den)h(An)m(w)m(ender)h(greifbare)f(Seite)g(der)f(io)s +(ctl\(\))h(Systemrufe)f(ist)g(im)g(drb)s(d-)382 5054 +y(setup)31 b(\(rund)g(350)g(Zeilen\))g(Utilit)m(y)g(implemen)m(tiert.) +43 b(Es)31 b(wird)g(un)m(ter)g(anderem)h(dazu)382 5167 +y(v)m(erw)m(endet,)27 b(die)c(not)m(w)m(endigen)j(IP-A)m(dressen)d(an)h +(das)f(Kernelmo)s(dul)h(w)m(eiterzugeb)s(en.)382 5280 +y(Es)40 b(wurde)g(allerdings)h(so)f(ausgelegt,)j(da\377)e(sic)m(h)f(k)m +(ein)g(f\374r)g(das)g(F)-8 b(unktionieren)42 b(des)382 +5393 y(Ger\344tes)30 b(not)m(w)m(endiger)k(Programm)m(teil)f(im)e(drb)s +(dsetup)f(Utilit)m(y)h(b)s(e\034ndet.)1831 5622 y(40)p +eop +%%Page: 41 43 +41 42 bop 382 262 a Fl(KAPITEL)31 b(5.)71 b(IMPLEMENTIER)m(UNG)495 +b(5.2.)71 b(KERNEL-MODUL)p 382 299 2989 4 v 382 539 a +Fp(Als)29 b(K)m(on)m(trast)j(dazu)e(sei)f(das)h(n)m(b)s(d-clien)m(t)i +(Utilit)m(y)e(v)m(on)g(NBD)2506 506 y Fg(1)2575 539 y +Fp(erw)m(\344hn)m(t.)42 b(Nb)s(d-clien)m(t)382 652 y(baut)21 +b(die)g(TCP/IP-V)-8 b(erbindung)24 b(zum)d(Serv)m(er,)i(der)e(im)g(F)-8 +b(alle)21 b(v)m(on)g(NBD)f(eb)s(enfalls)g(ein)382 764 +y(normales)j(An)m(w)m(endungsprogramm)j(ist,)e(auf)f(und)g(\374b)s +(ergibt)g(die)g(fertige)g(V)-8 b(erbindung)382 877 y(an)30 +b(den)h(Kernel-Co)s(de.)382 1040 y(Da)49 b(drb)s(dsetup)h(n)m(ur)g +(Information)g(w)m(eitergibt,)56 b(wird)50 b(es)f(einfac)m(her)i(sein,) +j(Ro)s(ot-)382 1153 y(Filesystem-Un)m(terst\374tzung)29 +b(in)f(DRBD)f(zu)h(implemen)m(tieren,)j(w)m(enn)e(DRBD)d(in)i(den)382 +1266 y(Lin)m(ux-Kernel)33 b(eingebunden)f(wird.)382 1429 +y(Daneb)s(en)h(gibt)h(es)e(no)s(c)m(h)i(Shell-Skripts,)g(die)g(die)f +(In)m(tegration)h(v)m(on)g(DRBD)e(mit)h(der)382 1542 +y(Cluster-Managemen)m(t-Soft)m(w)m(are)25 b(Heartb)s(eat)c(erm\366glic) +m(hen,)k(so)m(wie)c(eine)g(Benc)m(hmark-)382 1654 y(Applik)-5 +b(ation.)382 1991 y Fj(5.2)130 b(Kernel-Mo)t(dul)382 +2243 y Fp(Als)23 b(T)-8 b(reib)s(er)24 b(m)m(u\377)h(DRBD)d +(nat\374rlic)m(h)k(eine)e(Instanz)f(der)h(\034le_op)s(erations)h(im)e +(System)382 2356 y(registrieren,)40 b(und)d(DRBD)f(m)m(u\377)i(eine)f +(do_request)g(Prozedur)i(dem)e(Bu\033er-Cac)m(he)382 +2469 y(zur)k(V)-8 b(erf\374gung)42 b(stellen.)73 b(W)-8 +b(eiters)41 b(registriert)h(DRBD)e(einen)i(neuen)g(Ein)m(trag)g(im)382 +2582 y(/pro)s(c)25 b(Filesystem,)i(\374b)s(er)e(den)h(sic)m(h)g(der)f +(A)m(dministrator)i(ein)f(Bild)g(\374b)s(er)f(die)h(in)m(ternen)382 +2695 y(Zust\344nde)31 b(der)g(DRBD-Ger\344te)f(v)m(ersc)m(ha\033en)i(k) +-5 b(ann.)382 2988 y Fo(5.2.1)112 b(Bu\033er-Cac)m(he)382 +3210 y Fp(W)-8 b(enn)35 b(der)g(Bu\033er-Cac)m(he)i(Anforderungen)f +(durc)m(h)f(einen)h(Aufruf)e(der)h(do_request)382 3323 +y(Prozedur)i(\374b)s(ergibt,)g(m)m(\374ssen)f(diese)f(m\366glic)m(hst)i +(sc)m(hnell)f(erf\374llt)f(w)m(erden.)57 b(Handelt)382 +3435 y(es)43 b(sic)m(h)i(um)f(eine)g(Au\033orderung)h(zum)f(Lesen)h +(eines)e(Blo)s(c)m(k)m(es,)48 b(m)m(u\377)d(DRBD)e(den)382 +3548 y(Daten)m(transfer)30 b(v)m(on)f(der)h(zugrundeliegenden)h(F)-8 +b(estplatte)30 b(durc)m(hf\374hren.)42 b(Dies)29 b(wird)382 +3661 y(mit)g(Hilfe)g(einer)g(temp)s(or\344ren)h(K)m(opie)h(des)d +(bu\033er_heads)i(erledigt.)41 b(Diese)29 b(Metho)s(de)382 +3774 y(wird)i(auc)m(h)g(b)s(eim)g(ext3)f(Dateisystem)h(v)m(erw)m +(endet.)42 b([T)-8 b(w)m(e98)r(])382 3937 y(Durc)m(h)31 +b(dieses)g(V)-8 b(erhalten)31 b(b)s(e\034nden)g(sind)g(immer)g(n)m(ur)g +(Bl\366)s(c)m(k)m(e)g(des)g(DRBD-Ger\344tes)382 4050 +y(im)48 b(Bu\033er-Cac)m(he,)54 b(Bl\366)s(c)m(k)m(e)48 +b(des)f(ph)m(ysisc)m(hen)i(F)-8 b(estplattenger\344tes)50 +b(liegen)e(nie)g(im)382 4163 y(Bu\033er-Cac)m(he.)382 +4325 y(Bei)41 b(der)g(V)-8 b(erarb)s(eitung)42 b(einer)g(Sc)m +(hreibanforderung)i(m)m(u\377)d(der)h(Daten)m(blo)s(c)m(k)g(aller-)382 +4438 y(dings)23 b(auc)m(h)h(\374b)s(er)f(das)g(Netzw)m(erk)h(v)m +(ersendet)g(w)m(erden.)39 b(Da)23 b(die)g(do_request\(\))h(Proze-)382 +4551 y(dur)f(immer)h(im)g(K)m(on)m(text)g(eines)g(Prozesses)f +(aufgerufen)2297 4518 y Fg(2)2360 4551 y Fp(wird)h(\(vgl.)38 +b(Absc)m(hnitt)24 b(4.3.1)382 4664 y(auf)i(Seite)i(35\),)f(ist)g(das)f +(V)-8 b(ersenden)28 b(des)e(Datenpak)m(etes)i(\374b)s(er)f(die)g(TCP-V) +-8 b(erbindung)382 4777 y(ohne)41 b(w)m(eiteres)h(m\366glic)m(h.)73 +b(Sollte)41 b(der)g(Pu\033ersp)s(eic)m(her)h(des)f(So)s(c)m(k)m(ets)g +(v)m(oll)g(w)m(erden,)382 4890 y(blo)s(c)m(kiert)33 b(der)g(Aufruf)f(v) +m(on)h(so)s(c)m(k_sendmsg\(\),)h(und)f(der)g(Proze\377,)h(der)f(die)g +(Sc)m(hreib-)382 5003 y(op)s(eration)42 b(v)m(erursac)m(h)m(t)h(hat,)h +(wird)e(blo)s(c)m(kiert.)74 b(Diese)41 b(Eigensc)m(haft)h(ist)f(auc)m +(h)h(sehr)p 382 5064 1196 4 v 486 5118 a Ff(1)520 5150 +y Fe(Net)n(w)n(ork)25 b(blo)r(c)n(k)h(device,)g(h)n(ttp://atrey)-6 +b(.k)l(arlin.m\033.cuni.cz/\003pa)n(v)n(el/n)n(b)r(d/n)n(b)r(d.h)n(tml) +486 5209 y Ff(2)520 5241 y Fe(En)n(t)n(w)n(eder)37 b(im)g(K)n(on)n +(text)f(eines)h(Prozesses,)43 b(der)37 b(eine)g(IO-Op)r(eration)g(durc) +n(hf\374hrt,)i(o)r(der)e(im)382 5333 y(K)n(on)n(text)24 +b(des)i(k\035ushd)e(o)r(der)i(kup)r(date)f(Kernel-Threads.)1831 +5622 y Fp(41)p eop +%%Page: 42 44 +42 43 bop 382 262 a Fl(KAPITEL)31 b(5.)71 b(IMPLEMENTIER)m(UNG)495 +b(5.2.)71 b(KERNEL-MODUL)p 382 299 2989 4 v 382 539 a +Fp(hilfreic)m(h,)40 b(w)m(enn)f(das)e(Computersystem,)j(das)d(die)h +(Daten)m(bl\366)s(c)m(k)m(e)h(empf\344ngt,)h(lang-)382 +652 y(samer)d(ist)f(als)h(das)f(sendende)i(System,)g(da)f(in)f(diesem)i +(F)-8 b(all)37 b(eb)s(enfalls)f(der)h(Proze\377)382 764 +y(am)31 b(sendenden)g(System)g(so)f(lange)i(blo)s(c)m(kiert)f(wird,)g +(bis)g(das)f(empfangende)i(System)382 877 y(wieder)f(b)s(ereit)g(ist,)f +(Daten)h(en)m(tgegenzunehmen.)382 1162 y Fn(5.2.1.1)103 +b(Deadlo)s(c)m(k)382 1380 y Fp(Da)40 b(Lin)m(ux)i(eine)f(\034xe)f +(Anzahl)i(an)e(Ein)m(tr\344gen)j(f\374r)d(IO-Anforderungen)i(hat)f +(\(siehe)382 1493 y(4.2.2.2)26 b(auf)e(Seite)i(33\),)h(k)-5 +b(ann)25 b(es)f(zu)h(einem)h(Deadlo)s(c)m(k)f(k)m(ommen,)j(w)m(enn)e +(die)f(Request-)382 1606 y(Queue)31 b(k)m(eine)g(Sc)m +(hreibanforderungen)j(mehr)d(aufnehmen)h(k)-5 b(ann.)382 +1765 y(Kann)21 b(die)g(Request-Queue)f(k)m(eine)h(Sc)m +(hreibanforderungen)j(mehr)d(aufnehmen)3114 1732 y Fg(3)3155 +1765 y Fp(,)h(wird)382 1878 y(der)27 b(Proze\377,)i(dessen)d(Sc)m +(hreibanforderungen)31 b(nic)m(h)m(t)d(mehr)f(Platz)h(hab)s(en,)g +(einfac)m(h)g(so)382 1991 y(lange)43 b(in)f(den)h(Zustand)g(T)-8 +b(ASK_UNINTERR)m(UPTIBLE)44 b(gebrac)m(h)m(t,)j(bis)c(wieder)382 +2104 y(Ein)m(tr\344ge)28 b(frei)e(sind.)39 b(Dieses)25 +b(Sc)m(hema)i(funktioniert)g(mit)f(normalen)i(F)-8 b(estplatten)m +(trei-)382 2217 y(b)s(ern)30 b(ohne)h(Probleme.)382 2376 +y(W)-8 b(enn)41 b(n)m(un)h(alle)f(Ein)m(tr\344ge)i(mit)f(Sc)m +(hreibanforderungen)i(an)d(DRBD)f(b)s(elegt)h(sind,)382 +2489 y(wird)36 b(der)g(Proze\377,)i(der)d(v)m(ersuc)m(h)m(t,)k(die)c +(Anforderungen)i(abzuarb)s(eiten,)h(b)s(eim)e(V)-8 b(er-)382 +2602 y(suc)m(h,)40 b(eine)d(Sc)m(hreibanforderung)k(an)c(den)h(darun)m +(terliegenden)j(F)-8 b(estplatten)m(treib)s(er)382 2715 +y(zu)33 b(senden,)i(blo)s(c)m(kiert.)50 b(Da)33 b(ab)s(er)h(k)m(eine)g +(Sc)m(hreibanforderung)i(abgesc)m(hlossen)e(w)m(er-)382 +2828 y(den)c(k)-5 b(ann,)30 b(ist)g(der)g(Computer)h(derart)f(blo)s(c)m +(kiert,)h(da\377)f(er)g(auc)m(h)h(nic)m(h)m(t)g(mehr)g(herun-)382 +2941 y(tergefahren)h(w)m(erden)f(k)-5 b(ann.)382 3100 +y(Das)29 b(lo)s(op-blo)s(c)m(k-device,)j(das)d(sc)m(hon)i(sehr)e(lange) +i(Bestandteil)g(des)e(Kernels)h(ist,)g(hat)382 3213 y(im)43 +b(Grunde)h(dasselb)s(e)f(Problem.)80 b(Es)43 b(wurde)g(b)s(eim)g(lo)s +(op-blo)s(c)m(k-device)i(dadurc)m(h)382 3326 y(gel\366st,)33 +b(da\377)f(Sc)m(hreibanforderungen)k(des)31 b(lo)s(op-blo)s(c)m +(k-devices)i(und)g(des)e(NBDs)h(n)m(ur)382 3439 y(ein)41 +b(Drittel)h(der)f(Request-Queue)h(b)s(elegen)g(d\374rfen.)73 +b(Es)41 b(handelt)h(sic)m(h)f(um)h(einen)382 3552 y(Sonderfall,)31 +b(der)g(in)g(lin)m(ux/driv)m(ers/blo)s(c)m(k/ll_rw_blo)s(c)m(k.c)j +(fest)c(v)m(erank)m(ert)i(wurde.)382 3711 y(DRBD)40 b(ist)h(bis)g +(jetzt)g(als)g(Mo)s(dul)g(implemen)m(tiert,)47 b(da)41 +b(dies)g(die)h(Installation)g(w)m(e-)382 3824 y(sen)m(tlic)m(h)47 +b(v)m(ereinfac)m(h)m(t.)88 b(Daher)46 b(k)-5 b(ann)46 +b(DRBD)f(k)m(einen)h(eigenen)h(Sonderfall)g(in)e(li-)382 +3937 y(n)m(ux/driv)m(ers/blo)s(c)m(k/ll_rw_blo)s(c)m(k.c)38 +b(hab)s(en.)50 b(Ic)m(h)34 b(hab)s(e)g(mic)m(h)h(dazu)f(en)m(tsc)m +(hlossen,)382 4050 y(bis)40 b(auf)f(w)m(eiteres)j(die)e(Ma)5 +b(jor)40 b(Nummer)g(des)g(net)m(w)m(ork-blo)s(c)m(k-devices)j(zu)d(v)m +(erw)m(en-)382 4163 y(den.)59 b(Dadurc)m(h)38 b(k)m(\366nnen)f(Sc)m +(hreibanforderungen)j(an)c(DRBD)g(n)m(ur)h(ein)g(Drittel)g(der)382 +4276 y(Request-Queue)25 b(b)s(elegen,)h(und)e(es)g(k)-5 +b(ann)24 b(nic)m(h)m(t)i(zu)f(dem)f(erw)m(\344hn)m(ten)j(Deadlo)s(c)m +(k)e(k)m(om-)382 4389 y(men.)382 4548 y(Dadurc)m(h)33 +b(en)m(tsteh)m(t)h(der)e(Nac)m(h)m(teil,)j(da\377)d(NBD)f(und)i(DRBD)e +(nic)m(h)m(t)j(gleic)m(hzeitig)g(v)m(er-)382 4661 y(w)m(endet)46 +b(w)m(erden)g(k)m(\366nnen.)83 b(Der)45 b(V)-8 b(orteil)45 +b(liegt)g(in)g(einer)g(w)m(esen)m(tlic)m(h)i(einfac)m(heren)382 +4774 y(Installation,)31 b(da)g(die)f(Implemen)m(tierung)j(als)e(Mo)s +(dul)f(m\366glic)m(h)i(ist.)382 4933 y(Mit)40 b(Lin)m(ux)i(2.4)f(wird)g +(diese)g(Einsc)m(hr\344nkung)i(aufgehob)s(en)e(w)m(erden)h(k)m +(\366nnen,)j(w)m(eil)382 5046 y(dann)36 b(DRBD)f(seine)h(eigene)g +(Request-Queue)g(hab)s(en)g(k)-5 b(ann)35 b(und)h(die)g(V)-8 +b(erw)m(endung)382 5159 y(einer)31 b(eigenen)g(Ma)5 b(jor)30 +b(Nummer)i(wieder)f(m\366glic)m(h)h(ist.)p 382 5217 1196 +4 v 486 5271 a Ff(3)520 5302 y Fe(Nur)e(66)h(\045)f(der)h +(Request-Queue)d(k)n(\366nnen)h(mit)h(Sc)n(hreibanforderungen)g +(gef\374llt)h(w)n(erden,)h(das)382 5394 y(letzte)26 b(Drittel)g(steh)n +(t)f(immer)f(f\374r)i(Leseanforderungen)g(zur)g(V)-6 +b(erf\374gung.)1831 5622 y Fp(42)p eop +%%Page: 43 45 +43 44 bop 382 262 a Fl(KAPITEL)31 b(5.)71 b(IMPLEMENTIER)m(UNG)495 +b(5.2.)71 b(KERNEL-MODUL)p 382 299 2989 4 v 382 539 a +Fo(5.2.2)112 b(Threads)382 755 y Fp(Am)34 b(Anfang)h(der)g(En)m(t)m +(wic)m(klung)j(wurde)d(v)m(orgesehen,)i(da\377)f(der)f(Empfang)g(v)m +(on)g(Da-)382 868 y(tenpak)m(eten)24 b(durc)m(h)f(einen)g(normalen)h +(Proze\377)g(im)e(Userspace)h(v)m(orgenommen)h(w)m(erden)382 +981 y(sollte.)40 b(Diese)29 b(V)-8 b(organgsw)m(eise)31 +b(h\344tte)f(neb)s(en)f(sc)m(hlec)m(h)m(terer)j(P)m(erformance)f(und)f +(k)m(om-)382 1094 y(plizierterer)i(A)m(dministration)g(v)m(or)f(allem)g +(mit)g(folgendem)g(Problem)h(zu)e(k)-5 b(\344mpfen:)680 +1274 y(Im)20 b(folgenden)i(wird)f(ein)f(Knoten)i(eines)e(Clusters)h(b)s +(estehend)g(aus)f(zw)m(ei)i(Com-)680 1387 y(putern)31 +b(b)s(etrac)m(h)m(tet.)764 1567 y(1.)46 b(Das)29 b(Ger\344t)h(des)g +(Knotens)g(b)s(e\034ndet)g(sic)m(h)g(im)g(prim\344ren)h(Zustand,)f(da-) +880 1680 y(her)43 b(k)-5 b(ann)43 b(eine)g(Applik)-5 +b(ation)43 b(auf)f(das)h(Blo)s(c)m(kger\344t)g(zugreifen.)78 +b(Bei)880 1793 y(der)40 b(Durc)m(hf\374hrung)h(v)m(on)f(Sc)m(hreib)s +(op)s(erationen)i(w)m(erden)e(K)m(opien)h(der)880 1906 +y(Bl\366)s(c)m(k)m(e)h(im)g(Bu\033er-Cac)m(he)h(gesp)s(eic)m(hert.)75 +b(Diese)41 b(Bl\366)s(c)m(k)m(e)h(tragen)g(die)880 2019 +y(Ma)5 b(jor)30 b(Num)m(b)s(er)h(des)f(DRBD-Ger\344tes.)764 +2160 y(2.)46 b(Der)39 b(Zustand)g(des)f(Clusters)g(wird)h(ge\344ndert,) +j(und)d(das)f(b)s(etrac)m(h)m(tete)880 2273 y(Blo)s(c)m(kger\344t)j +(wird)f(v)m(on)g(n)m(un)h(an)f(in)g(der)g(sekund\344ren)g(F)-8 +b(unktion)41 b(v)m(er-)880 2386 y(w)m(endet.)764 2527 +y(3.)46 b(Daten)m(bl\366)s(c)m(k)m(e)35 b(w)m(erden)g(v)m(om)e +(Proze\377)i(im)e(Userspace)g(empfangen)h(und)880 2640 +y(auf)g(die)h(dazugeh\366rige)h(F)-8 b(estplatte)36 b(gesc)m(hrieb)s +(en.)54 b(Dab)s(ei)34 b(w)m(erden)i(sie)880 2753 y(im)28 +b(Bu\033er-Cac)m(he)h(mit)f(der)g(Ma)5 b(jor)28 b(Num)m(b)s(er)g(des)f +(F)-8 b(estplatten)m(treib)s(ers)880 2866 y(gesp)s(eic)m(hert.)764 +3007 y(4.)46 b(Nun)f(wird)h(der)f(Cluster)h(wieder)g(in)g(den)f +(urspr\374nglic)m(hen)j(Zustand)880 3120 y(gebrac)m(h)m(t.)764 +3261 y(5.)e(Wird)21 b(n)m(un)g(v)m(om)h(DRBD-Ger\344t)e(gelesen,)k +(liefert)d(der)g(Bu\033er-Cac)m(he)h(die)880 3374 y(Bl\366)s(c)m(k)m(e) +35 b(aus)g(Punkt)g(1,)g(ob)m(w)m(ohl)i(sie)d(in)h(Punkt)g(3)f(durc)m(h) +i(neue)f(Bl\366)s(c)m(k)m(e)880 3487 y(\374b)s(ersc)m(hrieb)s(en)d +(wurden.)382 3770 y Fn(5.2.2.1)103 b(Empfang)382 3986 +y Fp(Um)45 b(nic)m(h)m(t)i(auf)d(dieses)h(Problem)i(zu)e(sto\377en,)k +(wurde)d(das)f(Empfangen)i(v)m(on)e(Da-)382 4099 y(ten)m(bl\366)s(c)m +(k)m(en)c(zu)f(einem)g(in)m(tegralen)h(Bestandteil)f(v)m(on)g(DRBD,)f +(der)g(im)h(Mo)s(dul)f(als)382 4212 y(Kernel-Thread)33 +b(implemen)m(tiert)g(ist.)382 4370 y(Dieser)21 b(Thread)h(w)m(artet)g +(in)f(so)s(c)m(k_recvmsg\(\),)i(bis)d(ein)h(neuer)h(Daten)m(blo)s(c)m +(k)g(v)m(om)f(Netz-)382 4483 y(w)m(erk)27 b(en)m(tgegengenommen)k(w)m +(erden)d(k)-5 b(ann.)40 b(Danac)m(h)28 b(wird)f(v)m(om)h(Bu\033er-Cac)m +(he)g(Puf-)382 4596 y(fersp)s(eic)m(her)e(f\374r)g(den)g(en)m(tsprec)m +(henden)j(Blo)s(c)m(k)c(angefordert,)j(und)f(die)f(Daten)g(w)m(erden) +382 4709 y(direkt)615 4676 y Fg(4)692 4709 y Fp(in)38 +b(diesem)g(Sp)s(eic)m(her)h(empfangen.)63 b(Bei)38 b(der)g(L\366sung)g +(mit)g(dem)g(Daemon-)382 4822 y(Proze\377)23 b(im)f(Userspace)g +(h\344tten)h(die)f(Daten)g(zuerst)g(in)g(den)h(A)m(dre\377raum)g(des)f +(Daemons)382 4935 y(k)m(opiert)j(w)m(erden)h(m)m(\374ssen,)g(um)f(dann) +g(v)m(on)g(dort)g(wiederum)h(in)e(den)h(Bu\033er-Cac)m(he)h(k)m(o-)382 +5047 y(piert)c(zu)f(w)m(erden.)39 b(Danac)m(h)23 b(wird)f(der)f(Befehl) +h(gegeb)s(en,)h(den)f(Blo)s(c)m(k)f(im)h(Bu\033er-Cac)m(he)382 +5160 y(auf)30 b(die)h(F)-8 b(estplatte)31 b(zu)g(sc)m(hreib)s(en.)p +382 5217 1196 4 v 486 5271 a Ff(4)520 5302 y Fe(W)-6 +b(enn)26 b(die)i(Netzw)n(erkk)l(arte)e(Daten)h(empf\344ngt,)h(w)n +(erden)f(diese)h(zuerst)f(im)g(Pu\033ersp)r(eic)n(her)h(des)382 +5394 y(So)r(c)n(k)n(ets)d(abgelegt)i(und)e(v)n(on)g(dort)g(dann)g(mit)g +(so)r(c)n(k_recvmsg\(\))g(k)n(opiert.)1831 5622 y Fp(43)p +eop +%%Page: 44 46 +44 45 bop 382 262 a Fl(KAPITEL)31 b(5.)71 b(IMPLEMENTIER)m(UNG)495 +b(5.2.)71 b(KERNEL-MODUL)p 382 299 2989 4 v 382 539 a +Fp(Sollte)24 b(DRBD)f(einmal)i(erw)m(eitert)g(w)m(erden,)i(um)d(den)g +(Einsatz)g(v)m(on)g(GFS)f(\374b)s(er)h(DRBD)382 652 y(zu)41 +b(erm\366glic)m(hen,)46 b(so)40 b(m)m(u\377)i(un)m(ter)f(anderem)h +(hier)g(eine)f(\304nderung)g(v)m(orgenommen)382 764 y(w)m(erden.)h +(DRBD)28 b(m)m(\374\377te)j(b)s(eim)e(Empfang)i(v)m(on)f(Daten)m +(bl\366)s(c)m(k)m(en)h(direkt)f(auf)f(die)h(ph)m(y-)382 +877 y(sisc)m(he)21 b(F)-8 b(estplatte)22 b(sc)m(hreib)s(en)g(und)g +(d\374rfte)f(den)h(Blo)s(c)m(k)f(nic)m(h)m(t)h(zuerst)f(im)h +(Bu\033er-Cac)m(he)382 990 y(un)m(terbringen,)30 b(da)d(GFS)g(eb)s +(enfalls)g(auf)f(diese)h(Bl\366)s(c)m(k)m(e)h(des)e(Bu\033er-Cac)m(hes) +j(zugreifen)382 1103 y(w\374rde.)50 b(Ohne)33 b(diese)h(\304nderung)g +(w\374rde)g(auc)m(h)g(jeder)f(Daten)m(blo)s(c)m(k)i(endlos)f(hin)f(und) +382 1216 y(her)e(gesendet)g(w)m(erden.)382 1378 y(Der)45 +b(Thread)h(ist,)j(w)m(enn)e(das)e(DRBD-Ger\344t)g(mit)g(einem)h(P)m +(artnerger\344t)i(v)m(erbun-)382 1490 y(den)g(wurde,)53 +b(mit)48 b(dem)g(ps-K)m(ommando)i(sic)m(h)m(tbar)f(und)f(tr\344gt)g +(z.B.)g(den)g(Namen)382 1603 y(\022drb)s(dd_0\021,)36 +b(w)m(ob)s(ei)f(die)g(Zi\033er)f(immer)h(die)g(Minor)f(Num)m(b)s(er)h +(des)f(Ger\344tes)g(anzeigt,)382 1716 y(zu)c(dem)h(der)g(Thread)g +(geh\366rt.)382 2004 y Fn(5.2.2.2)103 b(Senden)382 2224 +y Fp(W\344hrend)41 b(das)e(Senden)i(der)g(Daten)f(im)g(K)m(on)m(text)i +(jenes)d(Prozesses)h(durc)m(hgef\374hrt)382 2337 y(wird,)27 +b(der)f(den)g(Aufruf)f(der)h(do_request\(\))h(Prozedur)g(v)m(erursac)m +(h)m(t)h(hat,)f(gibt)f(es)f(auc)m(h)382 2450 y(Ereignisse,)k(die)f(das) +g(Senden)h(eines)f(P)m(ak)m(etes)h(ausl\366sen,)g(die)f(allerdings)h +(nic)m(h)m(t)h(inner-)382 2563 y(halb)h(eines)f(Proze\377k)m(on)m +(textes)j(auftreten.)41 b(Beispiele:)518 2821 y Fd(\017)46 +b Fp(Der)e(T)-8 b(reib)s(er)44 b(der)g(F)-8 b(estplatte)44 +b(meldet,)k(da\377)43 b(eine)h(Sc)m(hreib)s(op)s(eration)i(abge-)609 +2933 y(sc)m(hlossen)37 b(ist.)59 b(W)-8 b(enn)37 b(n)m(un)g(dieser)g +(Blo)s(c)m(k)f(in)h(der)g(momen)m(tanen)i(Menge)e(f\374r)609 +3046 y(die)j(Bestimm)m(ung)h(der)e(W)-8 b(rite-Barriers)41 +b(en)m(thalten)g(ist,)h(so)d(m)m(u\377)h(ein)g(W)-8 b(rite-)609 +3159 y(Barrier-P)m(ak)m(et)33 b(gesendet)e(w)m(erden.)518 +3346 y Fd(\017)46 b Fp(Der)e(T)-8 b(reib)s(er)44 b(der)g(F)-8 +b(estplatte)44 b(meldet,)k(da\377)43 b(eine)h(Sc)m(hreib)s(op)s +(eration)i(abge-)609 3459 y(sc)m(hlossen)31 b(ist.)40 +b(W)-8 b(enn)30 b(dieser)h(Blo)s(c)m(k)f(v)m(on)g(einer)h(\334b)s +(ertragung)f(mit)h(Protok)m(oll)609 3571 y(C)j(\(o)s(der)g(dem)g +(Resync)m(hronisationsproze\377\))i(stamm)m(t,)f(m)m(u\377)g(ein)f(W)-8 +b(rite-A)m(c)m(k-)609 3684 y(P)m(ak)m(et)32 b(gesendet)f(w)m(erden.)382 +3942 y(F)-8 b(estplatten)m(treib)s(er)29 b(rufen)d(diesen)h(Callbac)m +(k,)i(\374b)s(er)d(den)h(sie)f(diese)g(Ereignisse)h(signa-)382 +4055 y(lisieren,)f(normalerw)m(eise)h(aus)e(einem)g(Bottom-Half)g(aus)g +(auf,)g(der)g(an)g(den)g(In)m(terrupt,)382 4168 y(den)31 +b(die)f(F)-8 b(estplatte)32 b(b)s(eim)e(Absc)m(hlu\377)h(der)g(Op)s +(eration)g(erzeugt,)g(gek)m(opp)s(elt)h(ist.)40 b(Ein)382 +4280 y(Bottom-Half)c(hat)g(k)m(einen)g(Proze\377k)m(on)m(text,)k(daher) +c(k)m(\366nnen)g(auc)m(h)h(k)m(eine)f(Prozedu-)382 4393 +y(ren,)31 b(die)f(ev)m(en)m(tuell)j(sc)m(hlafen,)e(aufgerufen)g(w)m +(erden.)382 4555 y(Um)25 b(die)g(not)m(w)m(endigen)j(P)m(ak)m(ete)e(do) +s(c)m(h)g(v)m(ersenden)f(zu)g(k)m(\366nnen,)j(gibt)d(es)f(einen)i(zw)m +(eiten)382 4668 y(Kernel-Thread.)44 b(Dieser)31 b(Thread)h(w)m(artet)g +(in)g(der)f(asender_w)m(ait)i(W)-8 b(ait-Queue,)33 b(bis)382 +4781 y(er)k(v)m(on)g(einem)h(Bottom-Half)g(aus)f(gew)m(ec)m(kt)h(wird.) +61 b(Um)37 b(w)m(elc)m(hes)i(Ereignis)e(es)g(sic)m(h)382 +4894 y(handelt)42 b(und)g(w)m(elc)m(he)h(Aktion)e(daher)h(zu)f(setzen)h +(ist,)h(stellt)f(dieser)f(Thread)h(\374b)s(er)382 5006 +y(V)-8 b(ariablen)37 b(fest,)f(die)f(mit)h(den)g(anderen)g(Programm)m +(teilen)j(gemeinsam)d(v)m(erw)m(endet)382 5119 y(w)m(erden.)382 +5281 y(Diese)26 b(Threads)h(sind)f(im)h(System)f(un)m(ter)h(der)g +(Bezeic)m(hn)m(ung)i(\022drb)s(d_asender_X\021)35 b(zu)382 +5394 y(\034nden,)c(w)m(ob)s(ei)g(das)g(X)e(eb)s(enfalls)i(die)f(Minor)h +(Nummer)g(des)f(Ger\344tes)h(wiedergibt.)1831 5622 y(44)p +eop +%%Page: 45 47 +45 46 bop 382 262 a Fl(KAPITEL)31 b(5.)71 b(IMPLEMENTIER)m(UNG)495 +b(5.2.)71 b(KERNEL-MODUL)p 382 299 2989 4 v 382 539 a +Fn(5.2.2.3)103 b(Sync)m(hronisation)382 760 y Fp(F)-8 +b(alls)45 b(neb)s(en)f(der)h(automatisc)m(h)i(durc)m(hgef\374hrten)g +(Replik)-5 b(ation)45 b(der)f(Daten)m(bl\366)s(c)m(k)m(e)382 +873 y(eine)30 b(Sync)m(hronisation)h(wie)f(in)g(Absc)m(hnitt)g(3.4)g +(auf)g(Seite)g(26)f(b)s(esc)m(hrieb)s(en)i(durc)m(hge-)382 +986 y(f\374hrt)g(wird,)g(so)g(wird)g(dies)g(durc)m(h)h(einen)f(eigenen) +h(Kernel-Thread)h(erledigt.)43 b(Dieser)382 1099 y(Thread)26 +b(l\344uft)g(n)m(ur)g(w)m(\344hrend)i(des)d(Sync)m(hronisationsv)m +(organges)j(auf)e(jenem)f(Knoten,)382 1212 y(v)m(on)31 +b(dem)f(aus)h(die)f(Daten)h(v)m(ersendet)h(w)m(erden.)382 +1374 y(Bei)44 b(der)g(\374blic)m(hen)i(V)-8 b(organgsw)m(eise,)49 +b(um)44 b(Daten)h(v)m(on)f(einem)h(Blo)s(c)m(kger\344t)g(zu)f(b)s(e-) +382 1487 y(k)m(ommen,)37 b(wird)e(zuerst)g(der)g(Blo)s(c)m(k)g(v)m(om)g +(Bu\033er-Cac)m(he)i(angefordert)f(und)f(\026)g(falls)382 +1600 y(dieser)g(nic)m(h)m(t)h(aktuell)f(ist)g(\026)g(w)m(erden)h(die)f +(Daten)g(v)m(om)h(Ger\344t)f(mit)g(ll_rw_blo)s(c)m(k\(\))382 +1713 y(eingelesen.)382 1876 y(Eine)43 b(der)h(Anforderungen)g(an)f(den) +g(Sync)m(hronisationsmec)m(hanism)m(us)j(ist,)g(da\377)d(er)382 +1989 y(parallel)38 b(zum)f(Normalb)s(etrieb)i(laufen)e(m)m(u\377.)61 +b(Im)37 b(normalen)h(Betrieb)g(arb)s(eitet)f(al-)382 +2102 y(lerdings)d(ein)f(Dateisystem)g(aktiv)g(mit)g(dem)h(Bu\033er-Cac) +m(he.)50 b(Es)33 b(k)-5 b(ann)34 b(z.B.)f(Bl\366)s(c)m(k)m(e)382 +2215 y(anfordern,)j(sie)d(einlesen,)j(Mo)s(di\034k)-5 +b(ationen)34 b(durc)m(hf\374hren,)j(sie)c(freigeb)s(en)2972 +2182 y Fg(5)3046 2215 y Fp(o)s(der)h(ex-)382 2327 y(plizit)d(das)f +(Zur\374c)m(ksc)m(hreib)s(en)j(v)m(erlangen.)382 2490 +y(W\374rde)i(der)h(Kernel-Thread,)j(der)c(die)g(Sync)m(hronisation)j +(durc)m(hf\374hrt,)g(die)d(\374blic)m(he)382 2603 y(V)-8 +b(organgsw)m(eise)31 b(b)s(eim)e(Einlesen)h(v)m(on)g(Daten)f(an)m(w)m +(enden,)j(w\374rde)e(der)g(Bu\033er-Cac)m(he)382 2716 +y(einfac)m(h)35 b(die)f(A)m(dressen)g(der)g(Bl\366)s(c)m(k)m(e)g(im)g +(Sp)s(eic)m(her)h(auc)m(h)g(an)f(das)g(DRBD-Ger\344t)g(b)s(e-)382 +2829 y(k)-5 b(ann)m(tgeb)s(en,)28 b(und)d(es)g(k)m(\366nn)m(ten)i +(Daten)f(auf)f(die)h(gespiegelte)h(F)-8 b(estplatte)26 +b(gesc)m(hrieb)s(en)382 2942 y(w)m(erden,)32 b(die)f(das)f(Filesystem)g +(no)s(c)m(h)h(gar)g(nic)m(h)m(t)h(sc)m(hreib)s(en)f(will)2607 +2909 y Fg(6)2647 2942 y Fp(.)382 3105 y(Daher)i(m)m(u\377)h(der)f +(Bu\033er-Cac)m(he)i(b)s(eim)e(Einlesen)h(der)f(Daten)g(f\374r)g(die)g +(Sync)m(hronisa-)382 3217 y(tion)k(umgangen)i(w)m(erden.)62 +b(Dab)s(ei)37 b(wird,)j(\344hnlic)m(h)e(wie)g(in)f(5.2.1)g(mit)h(einem) +g(selbst)382 3330 y(erzeugten)32 b(bu\033er_head)f(gearb)s(eitet.)382 +3493 y(Die)c(Implemen)m(tierung)j(des)e(Bitfeldes)f(wurde)h(v)m(om)g +(Rest)f(durc)m(h)h(eine)g(Sprungtab)s(el-)382 3606 y(le)34 +b(k)m(omplett)h(getrenn)m(t.)53 b(Das)33 b(erm\366glic)m(h)m(t,)k +(da\377)e(das)e(Bitfeld)h(durc)m(h)h(andere)g(Imple-)382 +3719 y(men)m(tierungen)g(ersetzt)d(wird.)47 b(So)32 b(k)m(\366nn)m(te)i +(eine)e(Implemen)m(tierung,)k(die)c(mit)h(einem)382 3832 +y(Filesystem)24 b(in)m(tegriert)i(ist,)f(Informationen)g(aus)f(dem)h +(Filesystem)f(heranziehen,)j(um)382 3945 y(den)k(Sync)m(hronisationsv)m +(organg)i(b)s(esser)d(zu)g(steuern.)382 4238 y Fo(5.2.3)112 +b(Datenstrukturen)382 4459 y Fp(Wie)29 b(b)s(ereits)h(erw)m(\344hn)m +(t,)i(greifen)d(die)h(Threads)g(auf)g(einige)g(gemeinsame)h(Ressourcen) +382 4572 y(zu.)72 b(F\374r)41 b(Datenstrukturen)h(wurden)g(aussc)m +(hlie\377lic)m(h)h(Spinlo)s(c)m(ks)e(v)m(erw)m(endet.)74 +b(Da)382 4685 y(die)33 b(Zugri\033e)g(auf)f(diese)h(Datenstrukturen)h +(sehr)e(kurz)h(sind,)g(w)m(\344ren)h(Semaphore)g(zu)382 +4798 y(aufw)m(endig.)p 382 4860 1196 4 v 486 4913 a Ff(5)520 +4945 y Fe(Ein)i(Blo)r(c)n(k,)i(der)e(mo)r(di\034ziert)f(und)f +(freigegeb)r(en)j(wurde,)h(wird)e(sp\344ter)f(durc)n(h)g(k\035ushd)e(o) +r(der)382 5036 y(kup)r(date)25 b(zur\374c)n(kgesc)n(hrieb)r(en.)486 +5096 y Ff(6)520 5128 y Fe(Da)19 b(genau)h(dieser)g(F)-6 +b(ehler)19 b(v)n(om)g(Kernel-Thread)g(f\374r)g(die)h(Sync)n +(hronisation)f(des)h(Soft)n(w)n(are-Raid-)382 5219 y(Subsystems)26 +b(un)n(ter)h(Lin)n(ux)g(gemac)n(h)n(t)g(wird,)j(ist)e(momen)n(tan)e +(\(Lin)n(ux)h(2.2.x\))h(die)h(V)-6 b(erw)n(endung)26 +b(v)n(on)382 5310 y(JFSs)g(auf)g(Soft)n(w)n(are-Raid)g(un)n(ter)f(Lin)n +(ux)g(nic)n(h)n(t)g(m\366glic)n(h.)1831 5622 y Fp(45)p +eop +%%Page: 46 48 +46 47 bop 382 262 a Fl(KAPITEL)31 b(5.)71 b(IMPLEMENTIER)m(UNG)495 +b(5.2.)71 b(KERNEL-MODUL)p 382 299 2989 4 v 382 539 a +Fn(transfer_log)45 b Fp(Im)40 b(transfer_log,)k(das)d(als)f +(Ringpu\033ersp)s(eic)m(her)i(organisiert)g(ist,)609 +652 y(w)m(erden)50 b(Referenzen)e(auf)f(die)i(gesendeten)g(Bl\366)s(c)m +(k)m(e)f(gesp)s(eic)m(hert.)94 b(Eb)s(enso)609 764 y(w)m(erden)42 +b(gesendete)f(write-barriers)i(im)d(transfer_log)i(abgelegt.)72 +b(Wird)40 b(ein)609 877 y(Best\344tigungspak)m(et)34 +b(f\374r)e(ein)h(W)-8 b(rite-Barrier-P)m(ak)m(et)36 b(empfangen,)e(k)m +(\366nnen)f(al-)609 990 y(le)j(Ein)m(tr\344ge)i(im)e(transfer_log,)i +(die)e(v)m(or)g(der)g(dazugeh\366rigen)i(W)-8 b(rite-Barrier)609 +1103 y(liegen,)31 b(freigegeb)s(en)f(w)m(erden.)41 b(Die)30 +b(Menge)f(f\374r)g(die)h(Bestimm)m(ung)h(der)f(W)-8 b(rite-)609 +1216 y(Barriers)28 b(sind)f(all)g(jene)g(Ein)m(tr\344ge,)j(die)e(nac)m +(h)g(der)f(j\374ngsten)h(W)-8 b(rite-Barrier)29 b(ins)609 +1329 y(transfer_log)i(eingetragen)i(wurden.)609 1442 +y(Auf)e(das)f(transfer_log)i(wird)g(somit)f(aus)g(der)g(do_request\(\)) +h(Prozedur,)h(v)m(om)609 1555 y(Empfangs-Thread,)27 b(v)m(om)c +(Sende-Thread)i(und)e(v)m(om)g(K)m(on)m(text)i(eines)e(Bottom-)609 +1668 y(Half)k(aus)g(zugegri\033en.)40 b(Um)27 b(auc)m(h)h(die)g(A)m +(tomizit\344t)g(gegen)m(\374b)s(er)h(dem)f(Bottom-)609 +1781 y(Half)k(gew)m(\344hrleisten)i(zu)e(k)m(\366nnen,)h(m)m(u\377)g +(ein)f(Spinlo)s(c)m(k)h(mit)f(den)g(_irqsa)m(v)m(e\(\))h(/)609 +1894 y(_irqrestore\(\))f(Op)s(erationen)f(eingesetzt)h(w)m(erden.)382 +2081 y Fn(ep)s(o)s(c)m(h_set)46 b Fp(Das)29 b(ep)s(o)s(c)m(h_set)i +(wird)f(b)s(eim)g(Empfang)h(v)m(on)g(Daten)m(bl\366)s(c)m(k)m(en)h(v)m +(erw)m(en-)609 2194 y(det,)d(um)f(dort)g(Referenzen)h(auf)e(die)h +(empfangenen)i(Bl\366)s(c)m(k)m(e)e(abzulegen.)41 b(Wird)609 +2307 y(ein)36 b(W)-8 b(rite-Barrier-P)m(ak)m(et)39 b(empfangen,)g(m)m +(u\377)d(auf)g(die)g(Beendigung)h(der)f(IO-)609 2420 +y(Op)s(erationen)22 b(aller)f(im)f(ep)s(o)s(c)m(h_set)h(en)m(thaltenen) +i(Bl\366)s(c)m(k)m(e)e(gew)m(artet,)j(das)c(ep)s(o)s(c)m(h_set)609 +2533 y(geleert)48 b(und)g(ansc)m(hlie\377end)h(die)e(Best\344tigung)h +(der)g(W)-8 b(rite-Barrier)49 b(an)e(den)609 2646 y(Absender)f +(zur\374c)m(kgesc)m(hic)m(kt)i(w)m(erden.)88 b(Der)46 +b(Sende-Thread)i(m)m(u\377)e(auf)g(das)609 2759 y(ep)s(o)s(c)m(h_set)31 +b(zugreifen,)g(um)f(festzustellen,)g(f\374r)g(w)m(elc)m(he)i(Bl\366)s +(c)m(k)m(e)e(eine)h(Sc)m(hreib-)609 2872 y(b)s(est\344tigung)g +(gesendet)g(w)m(erden)h(k)-5 b(ann.)609 2984 y(Das)45 +b(ep)s(o)s(c)m(h_set)h(m)m(u\377)h(daher)f(v)m(om)g(Empfangs-Thread)i +(und)e(v)m(om)g(Sende-)609 3097 y(Thread)41 b(v)m(erw)m(endet)h(w)m +(erden.)72 b(Ein)40 b(Spinlo)s(c)m(k)h(ist)f(f\374r)g(die)g(Sync)m +(hronisation)609 3210 y(der)31 b(Zugri\033e)g(ausreic)m(hend.)382 +3398 y Fn(sync_log)44 b Fp(Das)29 b(sync_log)g(ist)f(eb)s(enfalls)h +(eine)g(Datenstruktur,)h(die)f(auf)g(der)g(Emp-)609 3511 +y(f\344ngerseite)21 b(v)m(erw)m(endet)i(wird.)37 b(Da)21 +b(Daten)m(bl\366)s(c)m(k)m(e,)j(die)d(v)m(om)g(Sync)m(hronisations-)609 +3624 y(Thread)h(stammen,)h(nic)m(h)m(t)g(am)e(W)-8 b(rite-Barrier)22 +b(Protok)m(oll)h(teilnehmen,)h(w)m(erden)609 3737 y(Referenzen)29 +b(auf)g(diese)g(Bl\366)s(c)m(k)m(e)g(hier)g(gesp)s(eic)m(hert,)i(bis)d +(deren)i(Sc)m(hreibb)s(est\344ti-)609 3850 y(gung)h(an)g(den)f +(Absender)h(zur\374c)m(kgesc)m(hic)m(kt)i(w)m(erden)f(k)-5 +b(ann.)609 3962 y(Das)36 b(sync_log)g(wird)g(eb)s(enfalls)f(v)m(om)h +(Empfangs-Thread)i(und)e(v)m(om)h(Sende-)609 4075 y(Thread)32 +b(v)m(erw)m(endet,)g(daher)f(ist)f(ein)h(normaler)h(Spinlo)s(c)m(k)f +(ausreic)m(hend.)382 4263 y Fn(BitMap)46 b Fp(Das)29 +b(v)m(om)i(sc)m(hnellen)g(Sync)m(hronisationsmec)m(hanism)m(us)i(v)m +(erw)m(endete)f(Bit-)609 4376 y(feld)j(\(siehe)h(Punkt)f(3.4.1)h(auf)f +(Seite)h(26\))f(m)m(u\377)h(v)m(or)g(gleic)m(hzeitigen)i(Zugri\033en) +609 4489 y(aus)28 b(mehreren)h(Proze\377k)m(on)m(texten)h(gesc)m(h)m +(\374tzt)g(w)m(erden,)g(daher)e(wird)h(ein)f(Spin-)609 +4602 y(lo)s(c)m(k)j(v)m(erw)m(endet.)382 4789 y Fn +(need_to_issue_barrier)44 b Fp(V)-8 b(on)46 b(dieser)f(V)-8 +b(ariable)45 b(wird)h(n)m(ur)f(ein)g(einziges)g(Bit)609 +4902 y(v)m(erw)m(endet.)56 b(Ist)34 b(dieses)h(Bit)g(gesetzt,)i(wird)e +(v)m(or)g(dem)h(Senden)f(des)g(n\344c)m(hsten)609 5015 +y(Datenpak)m(etes)48 b(ein)f(W)-8 b(rite-Barrier-P)m(ak)m(et)51 +b(v)m(ersc)m(hic)m(kt.)91 b(Do)s(c)m(h)47 b(der)h(Sende-)609 +5128 y(Thread)j(v)m(ersuc)m(h)m(t)g(eb)s(enfalls,)j(w)m(enn)c(dieses)f +(Bit)h(gesetzt)f(ist,)54 b(das)c(W)-8 b(rite-)609 5241 +y(Barrier-P)m(ak)m(et)39 b(zu)e(v)m(ersc)m(hic)m(k)m(en.)61 +b(Im)36 b(Quellco)s(de)h(sind)g(diese)f(Read-Mo)s(dify-)609 +5354 y(W)-8 b(rite-Zugri\033e)39 b(auf)e(dieses)g(Bit)g(durc)m(h)h +(atomare)g(Op)s(erationen)h(ausgef\374hrt,)1831 5622 +y(46)p eop +%%Page: 47 49 +47 48 bop 382 262 a Fl(KAPITEL)31 b(5.)71 b(IMPLEMENTIER)m(UNG)495 +b(5.2.)71 b(KERNEL-MODUL)p 382 299 2989 4 v 609 539 a +Fp(damit)28 b(ein)f(need_to_issue_barrier)j(Bit)d(nic)m(h)m(t)i(zw)m +(eimal)f(v)m(ersc)m(hic)m(kt)h(w)m(erden)609 652 y(k)-5 +b(ann.)609 764 y(Do)s(c)m(h)34 b(dies)f(ist)g(n)m(ur)h(mehr)g(zu)f +(Dokumen)m(tationszw)m(ec)m(k)m(en)k(im)d(Quelltext)g(v)m(or-)609 +877 y(handen,)d(denn)e(auf)g(das)g(Bit)g(darf)g(erst)g(nac)m(h)h +(Erhalt)g(der)f(send_m)m(utex)i(zuge-)609 990 y(gri\033en)23 +b(w)m(erden,)j(da)d(man)g(das)g(P)m(ak)m(et)h(so)m(wieso)g(senden)f(m)m +(u\377)g(und)h(diese)f(Aktion)609 1103 y(an)31 b(der)f(ric)m(h)m(tigen) +j(Stelle)e(im)g(transfer_log)g(eingetragen)h(w)m(erden)g(m)m(u\377.)382 +1282 y Fn(request.rq_status)46 b Fp(Da)31 b(b)s(ei)g(einer)g(Sc)m +(heibanforderung)k(auf)c(den)g(Absc)m(hlu\377)h(v)m(on)609 +1395 y(zw)m(ei)41 b(Op)s(erationen)g(gew)m(artet)h(w)m(erden)f(m)m +(u\377,)i(wird)e(im)f(Statusfeld)g(des)g(Re-)609 1508 +y(quests)g(festgehalten,)j(w)m(elc)m(he)f(Op)s(eration)f(b)s(ereits)f +(abgesc)m(hlossen)h(ist.)69 b(Die)609 1621 y(Prozedur,)49 +b(die)44 b(dieses)g(F)-8 b(eld)44 b(b)s(earb)s(eitet,)k(liest)c(zuerst) +g(den)g(W)-8 b(ert)44 b(ein)g(und)609 1734 y(sc)m(hreibt)26 +b(ihn)g(ansc)m(hlie\377end)h(zur\374c)m(k.)39 b(W)-8 +b(eil)26 b(es)e(zumindest)i(einen)g(F)-8 b(estplatten-)609 +1847 y(treib)s(er,)28 b(der)e(diese)g(Prozedur)h(\(\374b)s(er)f(den)h +(Callbac)m(k,)h(der)e(den)g(Absc)m(hlu\377)h(einer)609 +1960 y(IO-Op)s(eration)36 b(signalisiert,\))i(aus)d(dem)g(K)m(on)m +(text)i(eines)e(In)m(terrupts)h(aufruft,)609 2073 y(gibt,)28 +b(m)m(\374ssen)f(der)f(Lesezugri\033)h(und)g(der)g(Sc)m(hreibzugri\033) +h(mit)f(einem)g(Spinlo)s(c)m(k)609 2186 y(zusammengefa\377t)32 +b(w)m(erden.)382 2365 y Fn(So)s(c)m(k)m(et)46 b Fp(Da)d(aus)g(mehreren) +i(Proze\377k)m(on)m(texten)2115 2332 y Fg(7)2200 2365 +y Fp(und)f(dem)f(Sende-Thread)i(\374b)s(er)609 2478 y(den)37 +b(So)s(c)m(k)m(et)h(gesendet)f(wird,)j(m)m(u\377)d(die)g(Sendeop)s +(eration)i(mit)e(einem)h(Sema-)609 2591 y(phor)25 b(gesic)m(hert)g(w)m +(erden,)i(da)d(sonst)g(ein)h(zuf\344lliges)f(Gemisc)m(h)h(der)f(Daten)m +(bl\366)s(c)m(k)m(e)609 2704 y(en)m(tsteh)m(t.)609 2816 +y(Dieses)j(Semaphor,)i(mit)e(dem)g(Namen)g(send_m)m(utex,)i(stellt)e +(eb)s(enfalls)g(sic)m(her,)609 2929 y(da\377)34 b(die)g(Ein)m +(tragungen)i(in)e(das)f(transfer_log)h(in)g(genau)g(derselb)s(en)g +(Reihen-)609 3042 y(folge)d(erfolgen,)g(in)f(der)h(auc)m(h)g(die)g +(Daten)m(bl\366)s(c)m(k)m(e)i(v)m(ersendet)e(w)m(erden.)382 +3323 y Fo(5.2.4)112 b(Protok)m(oll)382 3536 y Fp(Da)25 +b(der)g(Lin)m(ux-Kernel)i(auf)d(einer)i(Vielzahl)f(v)m(on)g(Hardw)m +(areplattformen)j(l\344uft,)e(wur-)382 3649 y(de)40 b(v)m(om)h(Anfang)f +(an)g(darauf)h(geac)m(h)m(tet,)k(da\377)40 b(DRBD)g(so)g(implemen)m +(tiert)j(ist,)f(da\377)382 3762 y(DRBD-Ger\344te,)36 +b(die)f(auf)f(un)m(tersc)m(hiedlic)m(hen)k(Hardw)m(areplattformen)g +(laufen,)e(mit-)382 3875 y(einander)e(k)m(omm)m(unizieren)h(k)m +(\366nnen.)47 b(Daher)33 b(wird)g(f\374r)g(die)f(Daten)h(in)g(den)g(P)m +(ak)m(eten)382 3988 y(die)e(Big-Endian-Byteorder)i(v)m(erw)m(endet.)382 +4142 y(Allen)d(P)m(ak)m(eten)j(ist)d(folgender)h(Header)g(gemeinsam:) +609 4371 y Fc(typedef)47 b(struct)g({)609 4484 y(__u32)g(magic;)609 +4597 y(__u16)g(command;)609 4709 y(__u16)g(length;)609 +4822 y(})g(Drbd_Packet;)382 5051 y Fp(Die)21 b(v)m(erw)m(endeten)i +(Daten)m(t)m(yp)s(en)f(sind)e(in)h(den)g(Include-Dateien)h(v)m(on)f +(Lin)m(ux)h(de\034niert,)382 5164 y(w)m(ob)s(ei)31 b(u16)g(b)s +(edeutet,)g(da\377)g(es)f(sic)m(h)h(um)f(ein)h(unsigned)g(in)m(t)g(mit) +g(16)f(Bit)h(handelt.)p 382 5217 1196 4 v 486 5271 a +Ff(7)520 5302 y Fe(Es)21 b(k)n(\366nn)n(ten)d(b)r(eliebig)j(viele)g +(Prozesse)g(das)f(Blo)r(c)n(kger\344t)i(gleic)n(hzeit)f(\366\033nen,)g +(sc)n(hreib)r(en,)h(fsync\(2\))382 5394 y(o)r(der)k(fdatasync\(2\))g +(aufrufen.)1831 5622 y Fp(47)p eop +%%Page: 48 50 +48 49 bop 382 262 a Fl(KAPITEL)31 b(5.)71 b(IMPLEMENTIER)m(UNG)495 +b(5.2.)71 b(KERNEL-MODUL)p 382 299 2989 4 v 382 539 a +Fn(magic)45 b Fp(Es)39 b(handelt)h(sic)m(h)g(dab)s(ei)f(um)h(eine)f(K)m +(onstan)m(te.)69 b(Auf)38 b(der)h(Empfangsseite)609 652 +y(wird)d(diese)f(Zahl)h(immer)g(auf)f(ihre)h(K)m(orrektheit)h(\374b)s +(erpr\374ft.)55 b(Ist)35 b(sie)g(einmal)609 764 y(nic)m(h)m(t)i(k)m +(orrekt)f(v)m(orhanden,)i(wird)e(da)m(v)m(on)h(ausgegangen,)h(da\377)e +(ein)g(F)-8 b(ehler)36 b(im)609 877 y(Programm)c(v)m(orliegt,)g(und)f +(die)f(V)-8 b(erbindung)32 b(wird)f(un)m(terbro)s(c)m(hen.)382 +1064 y Fn(command)44 b Fp(Dieses)33 b(F)-8 b(eld)34 b(dien)m(t)g(dazu,) +h(die)e(F)-8 b(unktion)34 b(der)g(folgenden)g(Daten,)h(also)609 +1177 y(den)27 b(T)m(yp)g(des)f(gesam)m(ten)h(P)m(ak)m(etes,)i +(festzulegen.)40 b(F)-8 b(olgende)28 b(W)-8 b(erte)27 +b(sind)f(m\366g-)609 1290 y(lic)m(h:)57 b(Data,)41 b(Barrier,)g(RecvA)m +(c)m(k,)f(W)-8 b(riteA)m(c)m(k,)42 b(BarrierA)m(c)m(k,)f(Rep)s(ortP)m +(arams,)609 1403 y(BlkSizeChanged)32 b(und)f(CStateChanged.)382 +1590 y Fn(length)45 b Fp(Gibt)31 b(die)g(L\344nge)g(des)f(Daten)m +(teils)i(des)e(P)m(ak)m(etes)i(an.)382 1878 y Fn(5.2.4.1)103 +b(Datenpak)m(et)609 2050 y Fc(typedef)47 b(struct)g({)609 +2163 y(__u64)g(block_nr;)609 2276 y(__u64)g(block_id;)609 +2389 y(})g(Drbd_Data_P;)382 2648 y Fp(Datenpak)m(ete)38 +b(b)s(einhalten)g(die)f(eigen)m(tlic)m(he)i(Nutzinformation.)61 +b(Die)37 b(Daten)g(selbst)382 2761 y(folgen)31 b(diesem)f(Header.)382 +3020 y Fn(blo)s(c)m(k_nr)44 b Fp(Die)30 b(Blo)s(c)m(kn)m(ummer)j(des)d +(Daten)m(blo)s(c)m(k)m(es.)382 3207 y Fn(blo)s(c)m(k_id)44 +b Fp(Mit)31 b(Hilfe)g(dieser)g(64)h(Bits)f(wird)g(einerseits)h(un)m +(tersc)m(hieden,)i(ob)d(es)g(sic)m(h)609 3319 y(um)f(einen)h(Daten)m +(blo)s(c)m(k,)g(der)f(am)g(W)-8 b(rite-Barrier-Protok)m(oll)34 +b(teilnimm)m(t,)d(o)s(der)609 3432 y(einen)k(Blo)s(c)m(k)f(des)g(Sync)m +(hronisationsprozesses)i(handelt.)52 b(Der)34 b(Inhalt)h(dieses)609 +3545 y(F)-8 b(eldes)28 b(wird)g(auc)m(h)h(b)s(ei)e(einem)h +(Best\344tigungspak)m(et)h(wieder)g(zur\374c)m(kgesc)m(hic)m(kt.)609 +3658 y(Bei)42 b(Protok)m(oll)i(C)d(legt)i(hier)f(der)g(sendende)h +(Knoten)f(die)h(A)m(dresse)e(der)i(IO-)609 3771 y(Au\033orderung)38 +b(ab.)61 b(Dadurc)m(h)38 b(k)-5 b(ann)37 b(b)s(eim)g(Empfang)h(des)f +(zugeh\366rigen)h(Be-)609 3884 y(st\344tigungspak)m(etes,)32 +b(das)f(dieses)f(F)-8 b(eld)31 b(eb)s(enfalls)g(hat,)g(der)f(Absc)m +(hlu\377)i(der)f(IO-)609 3997 y(Au\033orderung)h(sc)m(hneller)f(durc)m +(hgef\374hrt)i(w)m(erden.)382 4286 y Fn(5.2.4.2)103 b(W)-9 +b(rite-Barrier-P)m(ak)m(et)609 4457 y Fc(typedef)47 b(struct)g({)609 +4570 y(__u32)g(barrier;)609 4683 y(__u32)g(_fill;)609 +4796 y(})g(Drbd_Barrier_P;)382 5055 y Fp(\334b)s(er)30 +b(dieses)h(P)m(ak)m(et)h(darf)f(k)m(ein)g(Daten)m(blo)s(c)m(k)h(v)m +(ersc)m(hob)s(en)g(w)m(erden.)43 b(Auf)30 b(dem)h(Netz-)382 +5168 y(w)m(erk)24 b(ist)f(dies)g(ohnehin)i(nic)m(h)m(t)f(m\366glic)m +(h,)j(da)c(TCP)i(die)e(Datenpak)m(ete)i(in)f(der)f(ric)m(h)m(tigen)382 +5281 y(Reihenfolge)h(\374b)s(ertr\344gt.)39 b(Do)s(c)m(h)24 +b(im)g(Bu\033er-Cac)m(he)h(m)m(u\377)f(dies)g(erst)f(mit)h(en)m(tsprec) +m(hen-)382 5394 y(den)31 b(Ma\377nahmen)g(sic)m(hergestellt)h(w)m +(erden.)1831 5622 y(48)p eop +%%Page: 49 51 +49 50 bop 382 262 a Fl(KAPITEL)31 b(5.)71 b(IMPLEMENTIER)m(UNG)495 +b(5.2.)71 b(KERNEL-MODUL)p 382 299 2989 4 v 382 539 a +Fn(barrier)44 b Fp(Hierb)s(ei)32 b(handelt)g(es)f(sic)m(h)h(um)f(eine)h +(Nummer)g(zur)g(Iden)m(ti\034zierung)h(dieser)609 652 +y(W)-8 b(rite-Barrier.)74 b(Sie)41 b(ist)f(f\374r)h(die)g(prinzipielle) +i(F)-8 b(unktion)41 b(nic)m(h)m(t)i(not)m(w)m(endig,)609 +764 y(wird)29 b(ab)s(er)f(denno)s(c)m(h)i(v)m(erw)m(endet,)g(um)f(die)g +(k)m(orrekte)f(F)-8 b(unktion)30 b(des)e(Protok)m(oll)609 +877 y(st\344ndig)j(\374b)s(erpr\374fen)g(zu)g(k)m(\366nnen.)382 +1051 y Fn(_\034ll)45 b Fp(Da)21 b(gcc)g(auf)g(64-Bit-Plattformen)j(die) +d(Gr\366\377e)h(des)f(Daten)m(t)m(yp)s(es)h(auf)f(ein)h(Vielfa-)609 +1164 y(c)m(hes)k(v)m(on)f(8)g(Byte)g(au\033\374llt,)i(ist)d(dieses)h(F) +-8 b(eld)26 b(not)m(w)m(endig,)j(damit)d(der)f(Daten)m(t)m(yp)609 +1277 y(auc)m(h)32 b(auf)e(32-Bit-Plattformen)j(die)d(gleic)m(he)i +(Gr\366\377e)f(hat.)382 1546 y Fn(5.2.4.3)103 b(P)m(arameterpak)m(et) +609 1718 y Fc(typedef)47 b(struct)g({)609 1831 y(__u64)g(size;)609 +1944 y(__u32)g(state;)609 2057 y(__u32)g(blksize;)609 +2170 y(__u32)g(protocol;)609 2282 y(__u32)g(version;)609 +2395 y(})g(Drbd_Parameter_P;)382 2602 y Fp(Dieses)29 +b(P)m(ak)m(et)i(wird)f(b)s(ei)f(den)h(K)m(ommandos)h(Rep)s(ortP)m +(arams)g(und)f(BlkSizeChanged)382 2715 y(gesendet.)41 +b(Es)29 b(wird)h(unmittelbar)h(nac)m(h)f(einem)g(erfolgreic)m(hen)h(V) +-8 b(erbindungsaufbau)382 2828 y(ausgetausc)m(h)m(t.)50 +b(Stimmen)34 b(das)f(Protok)m(oll)h(o)s(der)f(die)g(V)-8 +b(ersion)34 b(der)f(b)s(eiden)g(K)m(omm)m(u-)382 2941 +y(nik)-5 b(ationspartner)32 b(nic)m(h)m(t)g(\374b)s(erein,)f(wird)g +(die)g(V)-8 b(erbindung)32 b(sofort)e(un)m(terbro)s(c)m(hen.)382 +3148 y Fn(size)46 b Fp(In)30 b(diesem)h(F)-8 b(eld)31 +b(wird)g(die)f(Gr\366\377e)h(der)g(lok)-5 b(alen)31 b(F)-8 +b(estplatte)31 b(\374b)s(ermittelt.)382 3321 y Fn(state)47 +b Fp(Hier)30 b(wird)h(der)g(Zustand)g(des)f(DRBD-Ger\344tes)g(\374b)s +(ermittelt,)i(en)m(t)m(w)m(eder)h(pri-)609 3434 y(m\344r)f(o)s(der)g +(sekund\344r.)45 b(T)-8 b(re\033en)33 b(zw)m(ei)g(DRBD-Ger\344te,)f +(die)g(sic)m(h)g(im)g(prim\344ren)609 3547 y(Zustand)f(b)s(e\034nden,)g +(aufeinander,)h(wird)f(die)g(V)-8 b(erbindung)32 b(un)m(terbro)s(c)m +(hen.)382 3721 y Fn(blksize)45 b Fp(Die)31 b(momen)m(tane)h(Blo)s(c)m +(kgr\366\377e.)382 3895 y Fn(proto)s(col)45 b Fp(Das)35 +b(Protok)m(oll,)j(mit)e(dem)f(dieses)h(DRBD-Ger\344t)f(die)h(V)-8 +b(erbindung)37 b(b)s(e-)609 4008 y(treib)s(en)31 b(will.)382 +4181 y Fn(v)m(ersion)45 b Fp(Die)30 b(V)-8 b(ersion)31 +b(der)g(DRBD-Implemen)m(tierung.)382 4451 y Fn(5.2.4.4)103 +b(Best\344tigungspak)m(et)609 4622 y Fc(typedef)47 b(struct)g({)609 +4735 y(__u64)g(block_nr;)609 4848 y(__u64)g(block_id;)609 +4961 y(})g(Drbd_BlockAck_P;)382 5168 y Fp(Dieses)39 b(P)m(ak)m(et)h +(wird)g(mit)f(dem)h(K)m(ommando)h(RecvA)m(c)m(k)f(im)f(Protok)m(oll)i +(B)e(und)g(mit)382 5281 y(W)-8 b(riteA)m(c)m(k)35 b(im)f(Protok)m(oll)i +(C)e(v)m(erw)m(endet.)53 b(Die)34 b(b)s(eiden)h(Datenfelder)g(w)m +(erden)g(dab)s(ei)382 5394 y(aus)30 b(dem)h(Datenpak)m(et,)h(auf)e(das) +g(sic)m(h)h(diese)g(Best\344tigung)g(b)s(ezieh)m(t,)h(\374b)s +(ernommen.)1831 5622 y(49)p eop +%%Page: 50 52 +50 51 bop 382 262 a Fl(KAPITEL)31 b(5.)71 b(IMPLEMENTIER)m(UNG)495 +b(5.2.)71 b(KERNEL-MODUL)p 382 299 2989 4 v 382 539 a +Fn(5.2.4.5)103 b(W)-9 b(rite-Barrier-Best\344tigungspak)m(et)609 +710 y Fc(typedef)47 b(struct)g({)609 823 y(__u32)g(barrier;)609 +936 y(__u32)g(set_size;)609 1049 y(})g(Drbd_BarrierAck_P;)382 +1311 y Fp(W)-8 b(enn)35 b(alle)f(Bl\366)s(c)m(k)m(e,)i(die)e(v)m(or)g +(einer)h(W)-8 b(rite-Barrier)36 b(empfangen)f(wurden,)h(auc)m(h)f(ge-) +382 1424 y(sc)m(hrieb)s(en)k(sind,)i(wird)e(dieses)f(P)m(ak)m(et)i(v)m +(ersendet.)65 b(Beide)39 b(Datenfelder)g(dieses)f(P)m(a-)382 +1537 y(k)m(etes)i(tragen)h(nic)m(h)m(t)h(zur)e(prinzipiellen)i(F)-8 +b(unktion)41 b(b)s(ei,)i(w)m(erden)e(ab)s(er)f(f\374r)g(in)m(terne)382 +1650 y(K)m(onsistenz\374b)s(erpr\374fungen)33 b(v)m(erw)m(endet.)382 +1912 y Fn(barrier)44 b Fp(Die)22 b(Nummer,)i(die)e(b)s(eim)f(Erzeugen)i +(dieser)f(W)-8 b(rite-Barrier)23 b(generiert)g(wur-)609 +2025 y(de.)382 2213 y Fn(set_size)46 b Fp(Gibt)24 b(an,)h(wie)f(viele)g +(Bl\366)s(c)m(k)m(e)g(v)m(or)g(dieser)g(W)-8 b(rite-Barrier)25 +b(empfangen)g(wur-)609 2326 y(den.)382 2616 y Fn(5.2.4.6)103 +b(C-Zustandspak)m(et)609 2787 y Fc(typedef)47 b(struct)g({)609 +2900 y(__u32)g(cstate;)609 3013 y(})g(Drbd_CState_P;)382 +3275 y Fp(Die)25 b(einzige)g(V)-8 b(erw)m(endung)27 b(dieses)e(P)m(ak)m +(etes)h(b)s(esteh)m(t)f(darin,)i(dem)e(K)m(omm)m(unik)-5 +b(ations-)382 3388 y(partner)33 b(den)f(Anfang)g(und)g(das)g(Ende)h +(des)e(Sync)m(hronisationsv)m(organges)k(mitzutei-)382 +3501 y(len.)382 3763 y Fn(cstate)47 b Fp(F)-8 b(olgende)32 +b(W)-8 b(erte)31 b(sind)g(m\366glic)m(h:)609 3976 y Fn(SyncingAll)45 +b Fp(Jetzt)31 b(w)m(erden)h(alle)e(Bl\366)s(c)m(k)m(e)h(k)m(opiert.)609 +4122 y Fn(SyncingQuic)m(k)44 b Fp(Jetzt)31 b(b)s(eginn)m(t)h(ein)e(sc)m +(hneller)i(Sync)m(hronisationsv)m(organg.)609 4268 y +Fn(Connected)46 b Fp(Der)31 b(Sync)m(hronisationsv)m(organg)i(ist)d(b)s +(eendet.)382 4558 y Fn(5.2.4.7)103 b(Timeouts)382 4779 +y Fp(Da)25 b(aus)g(dem)h(K)m(on)m(text)g(eines)g(sc)m(hreib)s(enden)g +(Prozesses)g(gesendet)g(wird,)g(wird)g(dieser)382 4892 +y(blo)s(c)m(kiert,)33 b(falls)f(das)g(Senden)h(\374b)s(er)f(den)g(So)s +(c)m(k)m(et)h(blo)s(c)m(kiert.)46 b(Dieser)32 b(F)-8 +b(all)33 b(tritt)f(auc)m(h)382 5005 y(dann)44 b(ein,)i(w)m(enn)e(das)f +(Netzw)m(erk)h(zwisc)m(hen)h(den)e(v)m(erbundenen)i(DRBD-Ger\344ten)382 +5118 y(un)m(terbro)s(c)m(hen)33 b(wurde.)382 5281 y(Damit)21 +b(eine)h(Applik)-5 b(ation)22 b(nic)m(h)m(t)g(angehalten)h(wird,)g +(gibt)f(es)e(eine)i(ob)s(ere)f(Sc)m(hrank)m(e)i(f\374r)382 +5394 y(die)g(Dauer)g(der)g(Sendeop)s(eration.)40 b(V)-8 +b(or)23 b(dem)g(Aufruf)f(v)m(on)h(so)s(c)m(k_sendmsg\(\))g(wird)g(ein) +1831 5622 y(50)p eop +%%Page: 51 53 +51 52 bop 382 262 a Fl(KAPITEL)31 b(5.)71 b(IMPLEMENTIER)m(UNG)495 +b(5.2.)71 b(KERNEL-MODUL)p 382 299 2989 4 v 382 539 a +Fp(Timer)30 b(gestartet.)41 b(L\344uft)30 b(dieser)g(Timer)h(ab)f(b)s +(ev)m(or)f(so)s(c)m(k_sendmsg\(\))i(zur\374c)m(kk)m(ehrt,)382 +652 y(wird)37 b(der)g(Systemruf)g(mit)g(Hilfe)f(eines)h(Signals)h +(abgebro)s(c)m(hen.)61 b(Der)37 b(Proze\377)h(sieh)m(t)382 +764 y(dieses)30 b(Signal)h(nic)m(h)m(t,)h(da)f(es)f(no)s(c)m(h)h +(innerhalb)h(des)e(T)-8 b(reib)s(ers)31 b(wieder)g(gel\366sc)m(h)m(t)h +(wird.)382 916 y(W)-8 b(enn)31 b(ein)g(Timeout)h(aufgetreten)f(ist,)g +(wird)g(der)f(So)s(c)m(k)m(et)i(gesc)m(hlossen,)f(und)g(DRBD)382 +1029 y(setzt)c(den)g(Betrieb)g(im)g(nic)m(h)m(t)h(v)m(erbundenen)h +(Zustand)e(fort.)40 b(Alle)26 b(w)m(eiteren)j(Sc)m(hreib-)382 +1142 y(op)s(erationen)j(w)m(erden)f(im)g(Bitfeld)g(f\374r)f(sp\344tere) +h(Sync)m(hronisation)h(v)m(ermerkt.)382 1293 y(Im)i(F)-8 +b(alle)36 b(v)m(on)e(Protok)m(oll)j(B)d(und)h(C)f(m)m(u\377)i(auc)m(h)g +(f\374r)e(alle)h(im)f(transfer_log)i(en)m(thal-)382 1406 +y(tenen)41 b(Bl\366)s(c)m(k)m(e)g(der)f(Absc)m(hlu\377)h(der)g(IO-Op)s +(eration)g(signalisiert)g(w)m(erden,)j(da)c(nac)m(h)382 +1519 y(dem)c(Sc)m(hlie\377en)i(des)d(So)s(c)m(k)m(ets)h(k)m(eine)h +(Best\344tigungspak)m(ete)g(mehr)g(empfangen)f(w)m(er-)382 +1632 y(den)31 b(k)m(\366nnen.)382 1783 y(Eb)s(enfalls)c(n)m(ur)h +(f\374r)e(Protok)m(oll)j(B)d(und)i(C)f(m)m(u\377)h(die)f(Zeit,)h(die)f +(auf)g(das)f(Ein)m(tre\033en)j(v)m(on)382 1896 y(Best\344tigungspak)m +(eten)45 b(gew)m(artet)f(wird,)j(b)s(egrenzt)d(w)m(erden.)79 +b(Die)43 b(Not)m(w)m(endigk)m(eit)382 2009 y(daf\374r)30 +b(k)-5 b(ann)31 b(am)g(folgenden)g(Beispiel)g(erl\344utert)g(w)m +(erden:)633 2179 y(Die)39 b(Request-Queue)h(k)-5 b(ann)39 +b(k)m(eine)h(w)m(eiteren)h(Sc)m(hreibanforderungen)i(mehr)633 +2292 y(aufnehmen)37 b(und)g(blo)s(c)m(kiert)g(daher)g(alle)g(Prozesse,) +h(die)f(w)m(eitere)g(Sc)m(hreiban-)633 2405 y(forderungen)45 +b(erzeugen)h(w)m(ollen.)83 b(W\344hrend)45 b(n)m(un)g(auf)f(den)h(Absc) +m(hlu\377)g(der)633 2518 y(laufenden)c(IO-Op)s(erationen)g(gew)m(artet) +h(wird,)i(wird)c(das)g(Netzw)m(erk)h(un)m(ter-)633 2631 +y(bro)s(c)m(hen.)56 b(Da)36 b(allerdings)g(k)m(eine)g(neuen)g(IO-Op)s +(erationen)h(erzeugt)f(w)m(erden,)633 2744 y(wird)d(auc)m(h)g(nic)m(h)m +(ts)h(\374b)s(er)e(die)h(TCP-V)-8 b(erbindung)35 b(gesendet,)f(und)f +(die)g(Un)m(ter-)633 2857 y(brec)m(h)m(ung)27 b(der)e(V)-8 +b(erbindung)26 b(bleibt)f(unen)m(tdec)m(kt.)41 b(Das)24 +b(IO-Subsystem)h(bleibt)633 2970 y(allerdings)34 b(blo)s(c)m(kiert,)i +(da)e(die)g(Best\344tigungspak)m(ete,)i(die)e(die)g(aktuellen)h(IO-)633 +3083 y(Op)s(erationen)d(absc)m(hlie\377en)g(w\374rden,)f(nic)m(h)m(t)h +(mehr)f(ein)m(tre\033en)h(k)m(\366nnen.)382 3253 y(F\374r)25 +b(die)h(Implemen)m(tierung)h(des)e(Timeouts)h(b)s(eim)g(Senden)g(ist)f +(genau)h(ein)f(Timer)h(pro)382 3366 y(DRBD-Ger\344t)k(not)m(w)m(endig,) +j(da)e(immer)g(n)m(ur)g(genau)g(ein)g(Proze\377)h(senden)f(k)-5 +b(ann.)382 3517 y(Das)24 b(Timeout)i(f\374r)f(den)g(Empfang)h(v)m(on)f +(Best\344tigungspak)m(eten)i(wurde)f(eb)s(enfalls)e(mit)382 +3630 y(Hilfe)29 b(eines)h(einzigen)h(Timers)f(implemen)m(tiert.)43 +b(Dab)s(ei)30 b(wird)g(der)g(Timer)g(b)s(eim)g(Sen-)382 +3743 y(den)e(eines)g(Datenpak)m(etes)h(zur\374c)m(kgesetzt)g(und)f(ein) +g(Z\344hler)g(\(p)s(ending_cn)m(t\))i(erh\366h)m(t.)382 +3856 y(Wird)i(ein)f(Best\344tigungspak)m(et)j(empfangen,)f(wird)f(der)g +(Z\344hler)g(v)m(erringert)h(und)f(der)382 3969 y(Timer)c(eb)s(enfalls) +e(neu)h(gestartet)h(\(falls)f(der)g(Z\344hler)g(no)s(c)m(h)h(p)s +(ositiv)e(ist\).)39 b(Durc)m(h)28 b(diese)382 4082 y(Implemen)m +(tierung)k(k)-5 b(ann)30 b(zw)m(ar)h(eine)g(einzelne)g(Best\344tigung)g +(l\344nger)g(dauern)f(als)g(der)382 4195 y(W)-8 b(ert)29 +b(des)f(Timeouts,)i(ab)s(er)e(die)h(im)f(obigen)h(Beispiel)g(b)s(esc)m +(hrieb)s(ene)g(Situation)h(wird)382 4308 y(erk)-5 b(ann)m(t.)382 +4581 y Fn(5.2.4.8)103 b(Priorit\344ten)382 4791 y Fp(Im)40 +b(folgendem)i(w)m(erden)h(zw)m(ei)e(DRBD-Ger\344te-P)m(aare)i(auf)e +(einem)g(aus)g(zw)m(ei)h(Kno-)382 4904 y(ten)31 b(b)s(estehenden)i +(Cluster)e(b)s(etrac)m(h)m(tet,)j(b)s(ei)d(denen)h(die)g(prim\344ren)g +(Ger\344te)g(auf)f(den)382 5017 y(jew)m(eils)g(anderen)g(Knoten)h +(liegen)f(\(siehe)f(Abbildung)i(5.1\).)382 5168 y(K)m(omm)m(t)45 +b(es)e(b)s(ei)f(einer)i(solc)m(hen)g(K)m(on\034guration)i(dazu,)h +(da\377)c(das)g(Netzw)m(erk)h(lang-)382 5281 y(samer)39 +b(ist)f(als)g(die)h(F)-8 b(estplatten,)42 b(k)-5 b(ann)39 +b(es)f(zu)g(Timeouts)i(und)e(zum)h(Abbruc)m(h)h(der)382 +5394 y(V)-8 b(erbindung)32 b(k)m(ommen.)1831 5622 y(51)p +eop +%%Page: 52 54 +52 53 bop 382 262 a Fl(KAPITEL)31 b(5.)71 b(IMPLEMENTIER)m(UNG)681 +b(5.3.)71 b(DRBDSETUP)p 382 299 2989 4 v 472 1322 a @beginspecial +104 @llx 677 @lly 441 @urx 782 @ury 3370 @rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//sock_prio.ps +%!PS-Adobe-3.0 EPSF-3.0 +%%For: Philipp Reisner +%%CreationDate: Tue Apr 25 12:26:25 2000 +%%Title: sock_prio.ps +%%Creator: Sketch 0.6.5 +%%Pages: 1 +%%BoundingBox: 104 677 441 782 +%%Extensions: CMYK +%%DocumentSuppliedResources: (atend) +%%DocumentNeededResources: font Times-Roman +%%EndComments + +%%BeginProlog +%%BeginResource: procset Linux-Sketch-Procset 1.0 2 +/SketchDict 100 dict def +SketchDict begin +/bd { bind def } bind def +/x { exch } bd +/xd { exch def } bd +/PI 3.14159265358979323846264338327 def +/radgrad { 180 mul PI div } bd +/skstartmatrix matrix currentmatrix def +/tmpmat matrix def +/ISOLatin1Encoding dup where +{ pop pop } +{ [/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand +/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period +/slash /zero /one /two /three /four /five /six /seven /eight /nine /colon +/semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J +/K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash +/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i +/j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright +/asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve +/dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek +/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen +/registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu +/paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright +/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex +/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex +/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve +/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute +/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute +/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute +/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde +/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def +} +ifelse +/arct dup where +{pop pop} +{ +/arct {arcto pop pop pop pop} bd +} +ifelse +/size 0 def +/fontname 0 def +/newfont 0 def +/sf { +/size xd +/fontname xd +fontname findfont +dup /Encoding get StandardEncoding eq +{ +dup +length dict /newfont xd +{ +1 index +/FID ne +{ newfont 3 1 roll put } +{ pop pop } +ifelse +} forall +newfont /Encoding ISOLatin1Encoding put +fontname newfont definefont +} +if +size scalefont setfont +} bd +/pusht {matrix currentmatrix} bd +/popt {setmatrix} bd +/pushc {gsave} bd +/popc {grestore} bd +/rgb {setrgbcolor} bd +/w { setlinewidth } bd +/j { setlinejoin } bd +/J { setlinecap } bd +/d { setdash } bd +/F { eofill } bd +/f { closepath F } bd +/S { +pusht +skstartmatrix setmatrix stroke +popt +} bd +/s { closepath S } bd +/m { moveto } bd +/l { lineto } bd +/c { curveto } bd +/txt { +/tmpmat tmpmat currentmatrix def +dup type /arraytype eq {concat} {translate} ifelse +0 0 m +tmpmat +} bd +/T {txt x show popt} bd +/P {txt x true charpath popt} bd +/TP {txt x dup show 0 0 m true charpath popt} bd +/C {newpath 0 360 arc} bd +/R { +2 copy m +x 2 index l +x 2 index x l +l +closepath +} bd +/ellipse { +dup type /arraytype eq +{ +pusht x concat +0 0 1.0 C +popt +} +{ +pusht 5 1 roll +4 -1 roll concat +newpath +dup 2 eq { +0 0 m +} if +3 1 roll +radgrad x +radgrad x +0 0 1 5 -2 roll +arc +0 ne { closepath } if +popt +} +ifelse +} bd +/radius1 0 def +/radius2 0 def +/factor 0 def +/rect { +dup type /arraytype eq +{ +pusht x concat +0 0 m 1 0 l 1 1 l 0 1 l closepath +popt +} +{ +/radius2 xd +/radius1 xd +pusht x concat +radius1 radius2 div 1 scale +0 radius2 m +0 1 radius2 1 radius2 arct +radius2 radius1 div +dup 1 1 index 0 radius2 arct +0 0 0 radius2 arct +0 0 0 1 radius2 arct +closepath +popt +} +ifelse +} bd +/buf 0 def +/width 0 def +/height 0 def +/skcimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width 3 mul string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +false 3 colorimage +tmpmat setmatrix +} bd +/skgimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +image +tmpmat setmatrix +} bd +/rclip { +4 2 roll m +dup 0 x rlineto +x 0 rlineto +neg 0 x rlineto +closepath +clip +} bd +/skeps { +10 dict begin +/sk_state save def +concat +3 index neg 3 index neg translate +rclip +0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin +10 setmiterlimit [ ] 0 setdash +newpath +/sk_dict_count countdictstack def +/sk_count count 1 sub def +userdict begin +/showpage { } def +/languagelevel where +{ +pop +languagelevel 1 ne +{ +false setstrokeadjust +false setoverprint +} if +} if +} bd +/skepsend { +count sk_count sub { pop } repeat +countdictstack sk_dict_count sub { end } repeat +sk_state restore +end +} bd +/gradidx 0 def +/gradient { +3 mul array +/gradidx 0 def +} bd +/$ { +3 index gradidx 5 -1 roll put +2 index gradidx 1 add 4 -1 roll put +1 index gradidx 2 add 3 -1 roll put +/gradidx gradidx 3 add def +} bd +/! { +3 +{ +dup dup gradidx dup 3 1 roll 3 sub get put +/gradidx gradidx 1 add def +} +repeat +} bd +/gradcolor { +3 mul dup 2 add 1 exch % idx 1 idx+2 +{ +1 index exch % array array i +get % array component +exch % component array +} +for +4 1 roll +} bd +/x0 0 def /y0 0 def /x1 0 def /y1 0 def +/left 0 def /right 0 def /top 0 def /bottom 0 def +/numcolors 0 def +/axial { +/y1 xd /x1 xd /y0 xd /x0 xd +dup length 3 idiv /numcolors xd +pusht exch % ctm array +x0 x1 ne y0 y1 ne or +{ +x0 y0 translate +[x1 x0 sub y1 y0 sub dup neg 2 index 0 0] concat +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +0 gradcolor rgb clippath f +0 1 numcolors 1 sub +{ +dup numcolors div +3 1 roll +gradcolor rgb +exch +bottom right top R f +} +for +} +if +pop +popt +} bd +/r0 0 def /r1 0 def /dr 0 def +/radial { +/r1 xd /r0 xd /y0 xd /x0 xd +/dr r1 r0 sub def +dup length 3 idiv /numcolors xd +pusht exch % ctm array +r0 r1 ne +{ +x0 y0 translate +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +dr 0 gt {numcolors 1 sub}{0} ifelse gradcolor rgb +clippath f +dr 0 gt {numcolors 1 sub -1 0} { 0 1 numcolors 1 sub} ifelse +{ +dup numcolors div dr mul r0 add +3 1 roll +gradcolor rgb +exch +0 0 3 -1 roll C f +} +for +} +if +pop +popt +} bd +/max { +2 copy lt {exch} if pop +} bd +/conical { +pusht 5 1 roll +3 1 roll /y0 xd /x0 xd +x0 y0 translate +radgrad rotate +dup length 3 idiv /numcolors xd +clippath flattenpath pathbbox newpath +4 { abs 4 1 roll} repeat +3 { max } repeat +2 mul +dup scale +0 gradcolor rgb +0 0 1 0 360 arc f +1 1 numcolors 1 sub +{ +dup numcolors div 180 mul +3 1 roll +gradcolor rgb +exch +0 0 moveto +0 0 1 4 -1 roll dup neg arc +closepath f +} +for +pop +popt +} bd +/XStep 0 def /YStep 0 def /imagedata 0 def /components 0 def +/tileimage2 { +exch 4 2 roll +/height xd +/width xd +mark +/components 2 index +/PatternType 1 +/PaintType 1 +/TilingType 1 +/BBox [0 0 width height] +/XStep width +/YStep height +/PaintProc { +begin +XStep YStep 8 +matrix +imagedata +false +components +colorimage +end +} +counttomark 2 div cvi dup dict begin +{ def } repeat +pop currentdict end +dup +/imagedata +4 -1 roll +width height mul mul string +currentfile exch readhexstring pop +put +exch +makepattern +setpattern +clippath +eofill +} bd +/tileimage1 { +concat +/components xd +/height xd +/width xd +/imagedata +currentfile +width height mul components mul string +readhexstring pop +def +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +left width div floor width mul +bottom height div floor height mul +translate +top bottom sub height div ceiling cvi +{ +gsave +right left sub width div ceiling cvi +{ +width height 8 matrix +components 1 eq +{ +{ imagedata } +image +} +{ +imagedata +false components +colorimage +} +ifelse +width 0 translate +} +repeat +grestore +0 height translate +} +repeat +} bd +/makepattern where +{ +pop +/tileimage /tileimage2 load def +} +{ +/tileimage /tileimage1 load def +} +ifelse +end +%%EndResource +%%EndProlog + +%%BeginSetup +%%IncludeResource: font Times-Roman + +10.433 setmiterlimit +%%EndSetup + +%%Page: 1 1 +SketchDict begin +newpath +306.259 705.827 m +306.259 697.323 l +314.763 701.575 l +306.259 705.827 l +closepath +0.843 0.808 1 rgb +F +[-76.5354 0 0 -2.83466 306.259 702.992] rect +F +newpath +238.227 720 m +238.227 711.496 l +229.723 715.748 l +238.227 720 l +closepath +F +[76.5354 0 0 -2.83466 238.227 717.165] rect +F +newpath +306.259 748.346 m +306.259 739.842 l +314.763 744.094 l +306.259 748.346 l +closepath +F +[-76.5354 0 0 -2.83466 306.259 745.512] rect +F +newpath +238.227 762.52 m +238.227 754.016 l +229.723 758.268 l +238.227 762.52 l +closepath +F +[76.5354 0 0 -2.83466 238.227 759.685] rect +F +[8.50394 0 0 -14.1732 314.763 722.835] rect +0.8 0.8 0.8 rgb +F +[8.50394 0 0 -14.1732 221.219 751.181] rect +F +[51.0236 0 0 -14.1732 314.763 765.354] rect +0.838 0.838 0.838 rgb +F +[51.0236 0 0 -14.1732 178.7 708.661] rect +F +/Times-Roman 11 sf +(IN) +157 754 0 0 0 rgb +T +(IN) +377 740 T +(IN) +157 711 T +(IN) +377 697 T +(OUT) +146 740 T +(OUT) +377 754 T +(OUT) +146 697 T +(OUT) +377 712 T +newpath +243.897 768.189 m +243.897 691.654 l +249.566 688.819 l +252.401 691.654 l +258.07 688.819 l +258.07 768.189 l +252.401 771.024 l +249.566 768.189 l +243.897 771.024 l +243.897 768.189 l +closepath +0.828 0.828 0.828 rgb +F +newpath +286.416 768.189 m +286.416 691.654 l +292.086 688.819 l +294.92 691.654 l +300.59 688.819 l +300.59 768.189 l +294.92 771.024 l +292.086 768.189 l +286.416 771.024 l +286.416 768.189 l +closepath +F +[56.6929 0 0 -14.1732 173.031 765.354] rect +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[56.6929 0 0 -14.1732 173.031 722.835] rect +S +[56.6929 0 0 -14.1732 173.031 708.661] rect +S +[56.6929 0 0 -14.1732 314.763 765.354] rect +S +[56.6929 0 0 -14.1732 314.763 751.181] rect +S +[56.6929 0 0 -14.1732 314.763 722.835] rect +S +[56.6929 0 0 -14.1732 314.763 708.661] rect +S +[56.6929 0 0 -14.1732 173.031 751.181] rect +S +newpath +229.723 701.575 m +248.149 701.575 l +250.983 704.409 l +250.983 727.087 l +253.818 729.921 l +0.992126 w +1 j +S +newpath +229.723 744.094 m +248.149 744.094 l +250.983 741.26 l +250.983 732.756 l +253.818 729.921 l +1 w +0 j +S +newpath +253.818 729.921 m +286.416 729.921 l +0.992126 w +S +pusht +286.416 729.921 translate +0 rotate +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +161.692 779.528 m +263.739 779.528 l +263.739 680.315 l +163.109 680.315 l +0.283465 w +[1.41733 0.283465 0.283465 0.283465 ] 0 d +S +newpath +382.794 779.528 m +280.747 779.528 l +280.747 680.315 l +381.377 680.315 l +S +/Times-Roman 12 sf +(drbd0) +107 754 T +(drbd0) +409 754 T +(drbd1) +107 711 T +(drbd1) +409 711 T +(\(SEC\)) +107 742 T +(\(PRI\)) +409 742 T +(\(PRI\)) +107 699 T +(\(SEC\)) +409 699 T +%%PageTrailer +showpage +%%Trailer +end +%%DocumentSuppliedResources: procset Linux-Sketch-Procset 1.0 2 +%%EOF + +%%EndDocument + @endspecial 1047 1518 a Fp(Abbildung)31 b(5.1:)41 b(Zw)m(ei)31 +b(DRBD-Ger\344te-P)m(aare)382 1793 y(Bei)k(hoher)g(Last)g(ist)g(der)g +(Sendepu\033ersp)s(eic)m(her)i(des)e(So)s(c)m(k)m(ets)g(des)g +(Ger\344tes)g(im)g(pri-)382 1906 y(m\344ren)25 b(Zustand)h(normalerw)m +(eise)h(v)m(oll,)f(w)m(\344hrend)g(der)f(Sendepu\033ersp)s(eic)m(her)i +(des)d(Ge-)382 2019 y(r\344tes)37 b(im)f(sekund\344ren)h(Zustand)h(n)m +(ur)f(gering)g(gef\374llt)g(ist,)h(da)f(Best\344tigungspak)m(ete)382 +2132 y(w)m(esen)m(tlic)m(h)c(kleiner)e(sind)f(als)g(Datenpak)m(ete.)382 +2295 y(Das)39 b(Netzw)m(erksubsystem,)j(in)e(der)f(Abbildung)i(als)e +(grauer)h(v)m(ertik)-5 b(aler)40 b(abgerisse-)382 2408 +y(ner)k(Balk)m(en)g(dargestellt,)k(arb)s(eitet)c(normalerw)m(eise)i +(mit)e(einer)g(einfac)m(hen)h(FIF)m(O-)382 2521 y(Strategie.)d(Die)31 +b(b)s(eiden)f(DRBD-Ger\344te)h(auf)f(einem)i(Knoten)f(stehen)g(b)s(eim) +f(Senden)382 2633 y(in)e(einer)g(K)m(onkurrenzsituation.)43 +b(Das)27 b(prim\344re)i(Ger\344t)g(v)m(ersendet)f(w)m(esen)m(tlic)m(h)j +(mehr)382 2746 y(und)k(gr\366\377ere)h(P)m(ak)m(ete)g(als)f(das)f +(DRBD-Ger\344t)h(im)g(sekund\344ren)g(Zustand.)55 b(Die)34 +b(Be-)382 2859 y(st\344tigungspak)m(ete)42 b(des)e(sekund\344ren)g +(DRBD-Ger\344tes)g(w)m(erden)i(daher)f(v)m(om)f(Netz-)382 +2972 y(w)m(erksubsystem)31 b(l\344nger)g(v)m(erz\366gert.)382 +3135 y(Um)f(diesem)i(Problem)g(en)m(tgegenzu)m(wirk)m(en,)i(wird)e(in)e +(den)h(Ger\344ten)h(im)f(sekund\344ren)382 3248 y(Zustand)23 +b(das)g(TCP_NODELA)-8 b(Y)25 b(Flag)e(des)g(So)s(c)m(k)m(ets)h +(gesetzt,)h(um)e(den)g(Nagle)g(Algo-)382 3361 y(rithm)m(us)685 +3328 y Fg(8)750 3361 y Fp(auszusc)m(halten.)40 b(Abgesehen)25 +b(da)m(v)m(on)g(wird)g(der)g(So)s(c)m(k)m(et)g(mit)f(einer)h +(h\366heren)382 3474 y(Priorit\344t)32 b(v)m(ersehen)f(TC_PRIO_INTERA)m +(CTIVE.)382 3636 y(Dem)98 b(So)s(c)m(k)m(et)h(des)f(prim\344ren)h +(Ger\344tes)g(wird)f(hingegen)i(die)e(Priorit\344t)382 +3749 y(TC_PRIO_BULK)63 b(zugewiesen.)138 b(Die)62 b +(Priorit\344tseinstellungen)j(hab)s(en)e(auf)382 3862 +y(das)40 b(V)-8 b(erhalten)42 b(des)e(Netzw)m(erksubsystems)g +(allerdings)h(n)m(ur)g(dann)g(Ein\035u\377,)j(w)m(enn)382 +3975 y(CONFIG_NET_SCHED)63 b(b)s(ei)e(der)g(Compilierung)j(des)d +(Kernels)g(angegeb)s(en)382 4088 y(wurde.)41 b(Diese)28 +b(Priorit\344t)j(wird)e(auc)m(h)h(im)f(TOS-F)-8 b(eld)30 +b(der)f(IP-P)m(ak)m(ete)i(w)m(eitergereic)m(h)m(t)382 +4201 y(und)g(k)m(\366nn)m(te)g(v)m(on)g(der)g(Netzw)m(erkinfrastruktur) +h(v)m(erw)m(endet)g(w)m(erden.)382 4537 y Fj(5.3)130 +b(Drb)t(dsetup)382 4793 y Fo(5.3.1)112 b(K)m(on\034guration)382 +5015 y Fp(Bev)m(or)25 b(ein)g(DRBD-Ger\344t)g(v)m(erw)m(endet)i(w)m +(erden)f(k)-5 b(ann,)26 b(m)m(u\377)g(es)e(k)m(on\034guriert)j(w)m +(erden.)p 382 5076 1196 4 v 486 5130 a Ff(8)520 5162 +y Fe(Der)35 b(Nagle)h(Algorithm)n(us)e(v)n(erz\366gert)i(kleine)f(P)n +(ak)n(ete)g(\(<MTU\))g(bis)g(zu)g(200ms,)j(um)c(sie)i(zu)382 +5253 y(einem)25 b(gr\366\377eren)i(zusammenzufassen.)1831 +5622 y Fp(52)p eop +%%Page: 53 55 +53 54 bop 382 262 a Fl(KAPITEL)31 b(5.)71 b(IMPLEMENTIER)m(UNG)681 +b(5.3.)71 b(DRBDSETUP)p 382 299 2989 4 v 382 539 a Fn(5.3.1.1)103 +b(Syn)m(tax)382 760 y Fc(drbdsetup)47 b(dev)g(l_dev)f(prot)h +(local_a[:port])g(remote_a[:port])g([options])382 1022 +y Fn(dev)e Fp(Das)30 b(DRBD-Ger\344t,)h(z.B.)g(/dev/n)m(b0.)382 +1210 y Fn(l_dev)45 b Fp(Das)30 b(Ger\344t)h(auf)f(dem)h(DRBD)e(die)i +(Daten)g(ablegen)g(soll.)382 1398 y Fn(prot)45 b Fp(Das)30 +b(Protok)m(oll,)i(das)e(dieses)g(DRBD-Ger\344t)h(v)m(erw)m(enden)h +(soll.)382 1585 y Fn(lo)s(cal_a)46 b Fp(Die)30 b(IP-A)m(dresse)h(des)f +(lok)-5 b(alen)31 b(Netzw)m(erkin)m(terfaces.)382 1773 +y Fn(remote_a)46 b Fp(Die)30 b(IP-A)m(dresse)h(des)f(zw)m(eiten)i +(Computers.)382 2035 y(Diese)38 b(Syn)m(tax)h(steh)m(t)g(zur)g(V)-8 +b(erf\374gung,)42 b(um)d(das)f(DRBD-Ger\344t)h(zu)f(k)m +(on\034gurieren.)382 2148 y(F)-8 b(olgende)32 b(Optionen)g(k)m +(\366nnen)f(dab)s(ei)f(angegeb)s(en)i(w)m(erden:)382 +2410 y Fn(--timeout)i(-t)46 b Fp(Mit)25 b(dieser)g(Option)h(k)-5 +b(ann)25 b(eingestellt)i(w)m(erden,)g(wie)f(lange)g(gew)m(artet)609 +2523 y(wird,)j(bis)f(eine)g(blo)s(c)m(kierte)h(V)-8 b(erbindung)30 +b(abgebro)s(c)m(hen)g(wird.)40 b(Die)28 b(Standard-)609 +2636 y(einstellung)k(b)s(etr\344gt)f(3)f(Sekunden.)382 +2824 y Fn(--sync-rate)k(-r)45 b Fp(Diese)26 b(Option)i(erlaubt)f(es,)g +(den)g(An)m(teil)g(der)g(Bandbreite)h(festzule-)609 2937 +y(gen,)g(der)f(maximal)h(f\374r)f(den)g(Sync)m(hronisationsproze\377)j +(zur)d(V)-8 b(erf\374gung)28 b(steh)m(t.)609 3050 y(Wird)33 +b(die)g(Einstellung)h(nic)m(h)m(t)g(v)m(orgenommen,)h(stehen)e(250KB/s) +g(zur)g(V)-8 b(erf\374-)609 3163 y(gung.)382 3350 y Fn(--skip-sync)32 +b(-k)45 b Fp(Un)m(terbindet)50 b(automatisc)m(hes)f(Starten)f(des)g +(Sync)m(hronisations-)609 3463 y(prozesses.)382 3651 +y Fn(--tl-size)34 b(-s)45 b Fp(Hier)30 b(k)-5 b(ann)30 +b(die)h(Gr\366\377e)f(des)g(transfer_logs)h(festgelegt)f(w)m(erden.)42 +b(Netz-)609 3764 y(w)m(erkv)m(erbindungen)25 b(mit)d(hoher)h +(Bandbreite)g(und)f(langer)h(V)-8 b(erz\366gerung)24 +b(k)m(\366nn-)609 3877 y(ten)k(ein)g(transfer_log)g(v)m(on)g(mehr)g +(als)f(256)h(Ein)m(tr\344gen)h(erfordern.)41 b(Dies)27 +b(ist)g(al-)609 3990 y(lerding)34 b(n)m(ur)g(not)m(w)m(endig,)i(w)m +(enn)e(sic)m(h)f(im)h(Systemlog)f(W)-8 b(arn)m(ungen)35 +b(b)s(ez\374glic)m(h)609 4102 y(eines)c(zu)f(kleinen)h(transfer_logs)g +(b)s(e\034nden.)382 4290 y Fn(--disk-size)i(-d)45 b Fp(Mit)30 +b(dieser)h(Option)h(k)-5 b(ann)30 b(die)h(Gr\366\377e)g(des)f +(DRBD-Ger\344tes)h(ange-)609 4403 y(geb)s(en)36 b(w)m(erden.)58 +b(W)-8 b(enn)36 b(diese)g(Option)g(nic)m(h)m(t)h(angegeb)s(en)g(wird,)h +(nimm)m(t)f(das)609 4516 y(DRBD-Ger\344t)31 b(die)f(Gr\366\377e)h(der)g +(kleineren)g(F)-8 b(estplatte)32 b(an.)609 4629 y(Diese)40 +b(Option)h(mac)m(h)m(t)h(es)e(n)m(un)h(m\366glic)m(h,)j(auf)c(ein)g +(DRBD-Ger\344t)g(zuzugrei-)609 4742 y(fen,)33 b(b)s(ev)m(or)f(no)s(c)m +(h)h(eine)f(V)-8 b(erbindung)34 b(zustandegek)m(ommen)h(ist,)d(da)h +(sonst)f(das)609 4855 y(DRBD-Ger\344t)f(die)f(Gr\366\377e)h(0)f(hat.) +382 5042 y Fn(--do-panic)j(-p)45 b Fp(T)-8 b(ritt)39 +b(b)s(ei)e(einer)i(IO-Op)s(eration)g(auf)e(der)i(lok)-5 +b(alen)38 b(F)-8 b(estplatte)39 b(ein)609 5155 y(F)-8 +b(ehler)41 b(auf,)h(so)d(wird)i(dieser)f(normalerw)m(eise)i(w)m +(eitergegeb)s(en,)i(als)39 b(ob)h(b)s(eim)609 5268 y(Zugri\033)31 +b(auf)f(das)g(DRBD-Ger\344t)h(ein)g(F)-8 b(ehler)31 b(aufgetreten)h(w)m +(\344re.)609 5381 y(Wird)43 b(das)g(DRBD-Ger\344t)f(in)h(einem)h +(HA-Cluster)f(eingesetzt,)k(so)42 b(k)-5 b(ann)43 b(es)1831 +5622 y(53)p eop +%%Page: 54 56 +54 55 bop 382 262 a Fl(KAPITEL)31 b(5.)71 b(IMPLEMENTIER)m(UNG)681 +b(5.3.)71 b(DRBDSETUP)p 382 299 2989 4 v 609 539 a Fp(erw\374nsc)m(h)m +(t)26 b(sein,)f(da\377,)h(w)m(enn)f(so)f(ein)g(F)-8 b(ehler)25 +b(auftritt,)h(der)e(Kernel)h(sofort)e(seine)609 652 y(Aktivit\344ten)31 +b(einstellt)h(und)g(damit)f(einem)h(anderen)g(Knoten)g(im)g(Cluster)f +(die)609 764 y(M\366glic)m(hk)m(eit)23 b(gibt,)h(die)d(Aufgab)s(en)g +(des)g(Knotens)h(mit)f(der)h(defekten)f(F)-8 b(estplatte)609 +877 y(zu)31 b(\374b)s(ernehmen.)382 1140 y(Die)d(Gr\366\377enangab)s +(en)h(k)m(\366nnen)g(mit)f(den)g(Multiplik)-5 b(atoren)29 +b(K)f(\(1024\),)h(M)e Fh(\(2)3059 1107 y Fb(20)3135 1140 +y Fh(\))g Fp(o)s(der)382 1253 y(G)32 b Fh(\(2)565 1220 +y Fb(30)640 1253 y Fh(\))g Fp(v)m(ersehen)h(w)m(erden.)47 +b(Wird)32 b(k)m(ein)g(Multiplik)-5 b(ator)33 b(angegeb)s(en,)h(wird)e +(b)s(ei)g(den)382 1365 y(Argumen)m(ten)26 b(v)m(on)e(--disk-size)g(und) +h(--sync-rate)f(der)g(Multiplik)-5 b(ator)26 b(1024)e(angenom-)382 +1478 y(men.)382 1768 y Fn(5.3.1.2)103 b(V)-9 b(erw)m(endung)382 +1990 y Fp(Die)27 b(DRBD-Ger\344te)h(m)m(\374ssen)g(nat\374rlic)m(h)h +(auf)e(b)s(eiden)g(Knoten)i(k)m(on\034guriert)g(w)m(erden.)382 +2103 y(F)-8 b(alls)22 b(die)g(Knoten)g(mit)g(mehreren)h(Netzw)m(erkk)-5 +b(arten)23 b(ausgestattet)f(sind,)i(m)m(u\377)e(darauf)382 +2216 y(geac)m(h)m(tet)37 b(w)m(erden,)g(da\377)d(die)h(angegeb)s(enen)h +(IP-A)m(dressen)f(in)g(v)m(erbundenen)h(Netzen)382 2328 +y(liegen.)382 2491 y(Nac)m(hdem)i(das)f(DRBD-Ger\344t)h(die)f(K)m +(on\034guration)j(b)s(ek)m(ommen)e(hat,)i(v)m(ersuc)m(h)m(t)f(es,)382 +2604 y(zuerst)32 b(zum)h(P)m(artnerger\344t)i(eine)e(TCP-V)-8 +b(erbindung)35 b(aufzubauen.)47 b(F)-8 b(alls)32 b(dies)g(ab)s(er)382 +2717 y(nic)m(h)m(t)f(funktioniert,)g(w)m(eil)f(an)g(dieser)g(A)m +(dresse)g(k)m(eine)g(V)-8 b(erbindung)31 b(en)m(tgegengenom-)382 +2830 y(men)38 b(wird,)h(w)m(artet)g(DRBD)d(darauf,)k(da\377)d(das)h(P)m +(artnerger\344t)h(v)m(ersuc)m(h)m(t,)i(eine)d(V)-8 b(er-)382 +2943 y(bindung)31 b(aufzubauen.)382 3106 y(F)-8 b(alls)30 +b(das)f(Netzw)m(erk)i(zwisc)m(hen)g(den)f(b)s(eiden)g(Knoten)g +(ausf\344llt,)g(m)m(u\377)h(eines)f(der)g(b)s(ei-)382 +3218 y(den)43 b(Ger\344te)g(neu)f(k)m(on\034guriert)i(w)m(erden,)j +(damit)c(es)f(wieder)i(v)m(ersuc)m(h)m(t,)j(die)c(TCP-)382 +3331 y(V)-8 b(erbindung)32 b(aufzubauen.)382 3625 y Fo(5.3.2)112 +b(Steuerung)38 b(im)e(Betrieb)609 3796 y Fc(drbdsetup)47 +b(dev)g({PRI|SEC|WAIT|REPL})382 4059 y Fn(PRI)e Fp(Mit)34 +b(diesem)g(K)m(ommando)i(k)-5 b(ann)34 b(man)h(das)f(DRBD-Ger\344t)g +(in)g(den)g(prim\344ren)609 4171 y(Zustand)29 b(bringen.)41 +b(Dieses)28 b(K)m(ommando)j(k)-5 b(ann)29 b(so)m(w)m(ohl)g(v)m(or)g +(der)g(K)m(on\034gurati-)609 4284 y(on)i(als)f(auc)m(h)h(danac)m(h)h(v) +m(erw)m(endet)h(w)m(erden.)382 4472 y Fn(SEC)45 b Fp(Dieses)f(K)m +(ommando)i(bringt)e(das)g(DRBD-Ger\344t)g(in)f(den)i(sekund\344ren)f +(Zu-)609 4585 y(stand.)382 4773 y Fn(W)-12 b(AIT)46 b +Fp(Dieses)37 b(K)m(ommando)j(w)m(artet)e(so)f(lange,)j(bis)d(jeglic)m +(her)i(Sync)m(hronisations-)609 4885 y(v)m(organg)f(abgesc)m(hlossen)f +(ist.)59 b(Es)36 b(k)-5 b(ann)37 b(so)m(w)m(ohl)h(auf)e(Ger\344ten)h +(im)g(prim\344ren)609 4998 y(als)26 b(auc)m(h)i(auf)e(Ger\344ten)h(im)f +(sekund\344ren)h(Zustand)g(v)m(erw)m(endet)h(w)m(erden.)41 +b(L\344uft)609 5111 y(k)m(ein)31 b(Sync)m(hronisationsv)m(organg,)j +(wird)c(das)h(K)m(ommando)h(sofort)e(b)s(eendet.)609 +5224 y(Dieses)35 b(K)m(ommando)j(wurde)e(sp)s(eziell)f(f\374r)g(die)h +(In)m(tegration)h(mit)e(dem)h(Heart-)609 5337 y(b)s(eat)31 +b(Cluster-Manager)h(eingef\374hrt.)1831 5622 y(54)p eop +%%Page: 55 57 +55 56 bop 382 262 a Fl(KAPITEL)31 b(5.)71 b(IMPLEMENTIER)m(UNG)528 +b(5.4.)71 b(PERF)m(ORMANCE)p 382 299 2989 4 v 382 539 +a Fn(REPL)45 b Fp(Mit)37 b(diesem)g(K)m(ommando)i(k)-5 +b(ann)36 b(man)i(eine)f(v)m(ollst\344ndige)h(Sync)m(hronisati-)609 +652 y(on)f(v)m(erlangen.)62 b(Es)37 b(m)m(u\377)h(auf)f(dem)g(Ger\344t) +h(im)f(prim\344ren)h(Zustand)g(gegeb)s(en)609 764 y(w)m(erden)29 +b(und)g(wird)f(dann)g(b)s(en\366tigt,)h(w)m(enn)g(eine)f(der)h(F)-8 +b(estplatten)29 b(ausgefallen)609 877 y(ist)40 b(und)g(durc)m(h)i(eine) +e(neue)h(ersetzt)f(wurde.)71 b(W)-8 b(enn)40 b(dieser)h(Knoten)g +(wieder)609 990 y(in)26 b(den)g(Cluster)g(aufgenommen)h(wird,)g +(aktualisiert)g(DRBD)e(mit)g(dem)h(sc)m(hnel-)609 1103 +y(len)d(Sync)m(hronisationsmec)m(hanism)m(us)j(alle)c(Bl\366)s(c)m(k)m +(e,)j(die)d(w)m(\344hrend)i(des)e(Ausfalls)609 1216 y(v)m(er\344ndert) +38 b(wurden.)58 b(Da)36 b(es)g(sic)m(h)g(ab)s(er)g(um)h(eine)f(neue)h +(F)-8 b(estplatte)37 b(handelt,)609 1329 y(ist)31 b(das)g(nic)m(h)m(t)i +(ausreic)m(hend.)46 b(Mit)31 b(Hilfe)g(dieses)g(K)m(ommandos)i(k)-5 +b(ann)31 b(die)h(neue)609 1442 y(F)-8 b(estplatte)34 +b(auf)e(den)h(Datenstand)h(des)e(Clusters)h(gebrac)m(h)m(t)h(w)m +(erden.)49 b(Bei)32 b(der)609 1555 y(Replik)-5 b(ation)32 +b(w)m(erden)h(die)e(Daten)h(v)m(om)g(prim\344ren)g(auf)f(das)g +(sekund\344re)h(Ger\344t)609 1668 y(k)m(opiert.)382 2004 +y Fj(5.4)130 b(P)l(erformance)382 2260 y Fo(5.4.1)112 +b(Durc)m(hsatz)382 2481 y Fp(Da)29 b(DRBD,)f(wie)i(der)f(Lin)m +(ux-Kernel)i(selbst,)e(frei)2112 2448 y Fg(9)2181 2481 +y Fp(zum)g(Herun)m(terladen)i(angeb)s(oten)382 2594 y(wird,)26 +b(k)-5 b(ann)24 b(b)s(ei)f(Messungen)i(der)f(Leistung)h(v)m(on)f(DRBD)f +(auf)h(einige)h(Me\377ergebnisse,)382 2707 y(die)38 b(v)m(on)h(DRBD-An) +m(w)m(endern)g(zur)g(V)-8 b(erf\374gung)39 b(gestellt)f(wurden,)k +(zur\374c)m(kgegri\033en)382 2820 y(w)m(erden.)382 2983 +y(Damit)34 b(diese)g(Leistungsmessungen)h(v)m(ergleic)m(h)m(bar)h +(sind,)e(wurde)h(eine)f(Applik)-5 b(ation)382 3096 y(en)m(t)m(wic)m(k)m +(elt,)35 b(der)c(die)h(Leistung)g(des)f(DRBD-Ger\344tetreib)s(ers)h +(auf)f(der)h(v)m(orhandenen)382 3209 y(Installation)f(automatisc)m(h)h +(b)s(estimm)m(t.)382 3371 y(Diese)c(Applik)-5 b(ation)29 +b(b)s(esteh)m(t)f(aus)g(einem)h(K)m(ommando,)i(das)d(im)g(w)m(esen)m +(tlic)m(hen)j(dd\(1\))382 3484 y(nac)m(hempfunden)42 +b(ist,)g(ab)s(er)d(die)h(erzielte)h(Gesc)m(h)m(windigk)m(eit)h(der)e(K) +m(opierop)s(eration)382 3597 y(ausgeb)s(en)30 b(k)-5 +b(ann,)30 b(und)f(einem)i(Shell-Skript,)g(das)e(folgende)h(Eigensc)m +(haften)i(des)d(v)m(or-)382 3710 y(handenen)j(Clusters)e(b)s(estimm)m +(t:)518 3972 y Fd(\017)46 b Fp(V)-8 b(ersionen)31 b(der)g(Lin)m +(ux-Kernels)518 4160 y Fd(\017)46 b Fp(Prozessorarc)m(hitekturen)518 +4348 y Fd(\017)g Fp(BogoMips-W)-8 b(ert)1227 4315 y Fg(10)1333 +4348 y Fp(der)31 b(Prozessoren)518 4535 y Fd(\017)46 +b Fp(Durc)m(hsatz)32 b(der)e(F)-8 b(estplatten)32 b(b)s(ei)f(sequen)m +(tiellen)g(Sc)m(hreibzugri\033en)518 4723 y Fd(\017)46 +b Fp(Durc)m(hsatz)32 b(der)e(DRBD-Ger\344te,)h(ohne)g(V)-8 +b(erbindung)518 4911 y Fd(\017)46 b Fp(Bandbreite)32 +b(der)f(Netzw)m(erkv)m(erbindung)p 382 4972 1196 4 v +486 5026 a Ff(9)520 5058 y Fe(Die)26 b(Rec)n(h)n(te)f(und)f(P\035ic)n +(h)n(ten)h(des)h(Linzenznehmers)e(sind)i(in)f(der)h(GPL)g(eindeutig)g +(de\034niert.)455 5117 y Ff(10)520 5149 y Fe(Die)h(BogoMips)i(w)n +(erden)e(durc)n(h)e(die)i(Ausf\374hrung)f(einer)h(kurzen)f(Sc)n(hleife) +h(ermittelt.)38 b(Da)27 b(mo-)382 5240 y(derne)g(Prozessoren)j(diese)e +(Sc)n(hleife)h(v)n(ersc)n(hieden)e(gut)h(optimieren)f(k)n(\366nnen,)h +(ist)g(dieser)h(W)-6 b(ert)27 b(k)n(ein)382 5332 y(exakter)e(Indik)l +(ator)g(f\374r)h(die)f(Leistungsf\344higk)n(eit)j(eines)e(Prozessors.) +1831 5622 y Fp(55)p eop +%%Page: 56 58 +56 57 bop 382 262 a Fl(KAPITEL)31 b(5.)71 b(IMPLEMENTIER)m(UNG)528 +b(5.4.)71 b(PERF)m(ORMANCE)p 382 299 2989 4 v 526 2331 +a @beginspecial 50 @llx 50 @lly 374 @urx 276 @ury 3240 +@rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//benchmark/gnuplot/hd-vs-drbd-nv.ps +%!PS-Adobe-2.0 EPSF-2.0 +%%Creator: gnuplot 3.7 patchlevel 0.2 +%%CreationDate: Wed May 17 13:52:06 2000 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 374 276 +%%Orientation: Portrait +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -60 def +/dl {10 mul} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow { currentpoint stroke M + 0 vshift R show } def +/Rshow { currentpoint stroke M + dup stringwidth pop neg vshift R show } def +/Cshow { currentpoint stroke M + dup stringwidth pop -2 div vshift R show } def +/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def +/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } + {pop pop pop Solid {pop []} if 0 setdash} ifelse } def +/BL { stroke userlinewidth 2 mul setlinewidth } def +/AL { stroke userlinewidth 2 div setlinewidth } def +/UL { dup gnulinewidth mul /userlinewidth exch def + 10 mul /udl exch def } def +/PL { stroke userlinewidth setlinewidth } def +/LTb { BL [] 0 0 0 DL } def +/LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def +/LT0 { PL [] 1 0 0 DL } def +/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def +/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def +/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def +/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def +/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def +/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def +/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def +/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def +/Pnt { stroke [] 0 setdash + gsave 1 setlinecap M 0 0 V stroke grestore } def +/Dia { stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt } def +/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt } def +/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke } def +/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt } def +/Star { 2 copy Pls Crs } def +/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill } def +/TriUF { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill } def +/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt } def +/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill } def +/Pent { stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt } def +/PentF { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore } def +/Circle { stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt } def +/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def +/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def +/C1 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath } bind def +/C2 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C3 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C4 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C5 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc } bind def +/C6 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C7 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C8 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C9 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath } bind def +/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C11 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C12 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C13 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C14 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc } bind def +/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } bind def +/Square { dup Rec } bind def +/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def +/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def +/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def +/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def +/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill + Bsquare } bind def +/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def +/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare } bind def +/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare } bind def +/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def +/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare } bind def +/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def +/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def +/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def +/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def +/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def +/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def +/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def +/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def +/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def +/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def +/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def +/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def +/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def +/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def +/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def +/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def +/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def +/DiaE { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke } def +/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke } def +/TriUE { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke } def +/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke } def +/PentE { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore } def +/CircE { stroke [] 0 setdash + hpt 0 360 arc stroke } def +/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def +/DiaW { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke } def +/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke } def +/TriUW { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke } def +/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke } def +/PentW { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore } def +/CircW { stroke [] 0 setdash + hpt 0 360 arc Opaque stroke } def +/BoxFill { gsave Rec 1 setgray fill grestore } def +/Times-Roman reencodeISO def +end +%%EndProlog +gnudict begin +gsave +50 50 translate +0.050 0.050 scale +0 setgray +newpath +(Times-Roman) findfont 180 scalefont setfont +1.000 UL +LTb +1.000 UL +LTa +702 540 M +3780 0 V +1.000 UL +LTb +702 540 M +63 0 V +3717 0 R +-63 0 V +594 540 M +(0) Rshow +1.000 UL +LTa +702 1013 M +3780 0 V +1.000 UL +LTb +702 1013 M +63 0 V +3717 0 R +-63 0 V +-3825 0 R +(2) Rshow +1.000 UL +LTa +702 1485 M +3780 0 V +1.000 UL +LTb +702 1485 M +63 0 V +3717 0 R +-63 0 V +-3825 0 R +(4) Rshow +1.000 UL +LTa +702 1958 M +3780 0 V +1.000 UL +LTb +702 1958 M +63 0 V +3717 0 R +-63 0 V +-3825 0 R +(6) Rshow +1.000 UL +LTa +702 2430 M +3780 0 V +1.000 UL +LTb +702 2430 M +63 0 V +3717 0 R +-63 0 V +-3825 0 R +(8) Rshow +1.000 UL +LTa +702 2903 M +3780 0 V +1.000 UL +LTb +702 2903 M +63 0 V +3717 0 R +-63 0 V +-3825 0 R +(10) Rshow +1.000 UL +LTa +702 3375 M +3780 0 V +1.000 UL +LTb +702 3375 M +63 0 V +3717 0 R +-63 0 V +-3825 0 R +(12) Rshow +1.000 UL +LTa +702 3848 M +3780 0 V +1.000 UL +LTb +702 3848 M +63 0 V +3717 0 R +-63 0 V +-3825 0 R +(14) Rshow +1.000 UL +LTa +702 4320 M +3780 0 V +1.000 UL +LTb +702 4320 M +63 0 V +3717 0 R +-63 0 V +-3825 0 R +(16) Rshow +1.000 UL +LTa +702 540 M +0 3780 V +1.000 UL +LTb +702 540 M +0 63 V +0 3717 R +0 -63 V +702 360 M +(0) Cshow +1.000 UL +LTa +1175 540 M +0 3780 V +1.000 UL +LTb +1175 540 M +0 63 V +0 3717 R +0 -63 V +0 -3897 R +(2) Cshow +1.000 UL +LTa +1647 540 M +0 3780 V +1.000 UL +LTb +1647 540 M +0 63 V +0 3717 R +0 -63 V +0 -3897 R +(4) Cshow +1.000 UL +LTa +2120 540 M +0 3780 V +1.000 UL +LTb +2120 540 M +0 63 V +0 3717 R +0 -63 V +0 -3897 R +(6) Cshow +1.000 UL +LTa +2592 540 M +0 3780 V +1.000 UL +LTb +2592 540 M +0 63 V +0 3717 R +0 -63 V +0 -3897 R +(8) Cshow +1.000 UL +LTa +3065 540 M +0 3780 V +1.000 UL +LTb +3065 540 M +0 63 V +0 3717 R +0 -63 V +0 -3897 R +(10) Cshow +1.000 UL +LTa +3537 540 M +0 3780 V +1.000 UL +LTb +3537 540 M +0 63 V +0 3717 R +0 -63 V +0 -3897 R +(12) Cshow +1.000 UL +LTa +4010 540 M +0 3780 V +1.000 UL +LTb +4010 540 M +0 63 V +0 3717 R +0 -63 V +0 -3897 R +(14) Cshow +1.000 UL +LTa +4482 540 M +0 3780 V +1.000 UL +LTb +4482 540 M +0 63 V +0 3717 R +0 -63 V +0 -3897 R +(16) Cshow +1.000 UL +LTb +702 540 M +3780 0 V +0 3780 V +-3780 0 V +702 540 L +180 2430 M +currentpoint gsave translate 90 rotate 0 0 M +(DRBD nicht verbunden [MB/s]) Cshow +grestore +2592 90 M +(Festplatte [MB/s]) Cshow +1.000 UP +1.000 UL +LT0 +1238 1010 Pls +1236 1003 Pls +3341 2952 Pls +4217 3588 Pls +4432 3890 Pls +3372 2820 Pls +3355 2997 Pls +1763 1646 Pls +1869 1676 Pls +1.000 UP +1.000 UL +LT1 +1229 1022 Pls +1234 1010 Pls +2748 2383 Pls +3294 2692 Pls +3381 2862 Pls +2266 2038 Pls +2299 1972 Pls +1196 1038 Pls +1186 814 Pls +1.000 UL +LT2 +5661 4167 M +(100 %) Rshow +5769 4167 M +495 0 V +702 540 M +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +1.000 UL +LT3 +5661 3987 M +(89 %) Rshow +5769 3987 M +495 0 V +702 540 M +38 34 V +38 34 V +39 35 V +38 34 V +38 34 V +38 34 V +38 34 V +38 34 V +39 35 V +38 34 V +38 34 V +38 34 V +38 34 V +39 35 V +38 34 V +38 34 V +38 34 V +38 34 V +38 34 V +39 35 V +38 34 V +38 34 V +38 34 V +38 34 V +39 35 V +38 34 V +38 34 V +38 34 V +38 34 V +38 35 V +39 34 V +38 34 V +38 34 V +38 34 V +38 34 V +39 35 V +38 34 V +38 34 V +38 34 V +38 34 V +38 35 V +39 34 V +38 34 V +38 34 V +38 34 V +38 34 V +39 35 V +38 34 V +38 34 V +38 34 V +38 34 V +38 35 V +39 34 V +38 34 V +38 34 V +38 34 V +38 34 V +39 35 V +38 34 V +38 34 V +38 34 V +38 34 V +38 35 V +39 34 V +38 34 V +38 34 V +38 34 V +38 34 V +39 35 V +38 34 V +38 34 V +38 34 V +38 34 V +38 35 V +39 34 V +38 34 V +38 34 V +38 34 V +38 35 V +39 34 V +38 34 V +38 34 V +38 34 V +38 34 V +38 35 V +39 34 V +38 34 V +38 34 V +38 34 V +38 35 V +39 34 V +38 34 V +38 34 V +38 34 V +38 34 V +38 35 V +39 34 V +38 34 V +38 34 V +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Times-Roman + +%%EndDocument + @endspecial 778 2527 a Fp(Abbildung)32 b(5.2:)40 b(Durc)m(hsatz)32 +b(v)m(on)f(DRBD)e(ohne)i(V)-8 b(erbindung)518 2786 y +Fd(\017)46 b Fp(Minimal-,)32 b(Durc)m(hsc)m(hnitts-)i(und)d +(Maximalzeit,)i(um)e(ein)h(ICMP-Ping)g(P)m(ak)m(et)609 +2899 y(zwisc)m(hen)h(den)f(b)s(eiden)g(Knoten)h(hin-)f(und)g(zur\374c)m +(kzusc)m(hic)m(k)m(en)j(\(b)s(ei)d(50)g(P)m(ak)m(e-)609 +3011 y(ten\).)518 3191 y Fd(\017)46 b Fp(Durc)m(hsatz)32 +b(aller)f(DRBD-Protok)m(olle.)382 3422 y(Auf)22 b(die)h(Messung)g(des)f +(Durc)m(hsatzes)i(b)s(eim)f(Lesen)h(wurde)f(v)m(erzic)m(h)m(tet,)k(da)c +(die)g(Ergeb-)382 3535 y(nisse)f(durc)m(h)i(den)f(Bu\033er-Cac)m(he,)j +(druc)m(h)e(in)e(F)-8 b(estplatten)24 b(und)f(K)m(on)m(troller)i(in)m +(tegrierte)382 3647 y(Cac)m(hes)31 b(und)g(Read-Ahead)g(des)f(Kernels)h +(stark)f(v)m(erf\344lsc)m(h)m(t)i(w)m(erden.)382 3802 +y(Da)g(Lesezugri\033e)h(immer)f(lok)-5 b(al)32 b(durc)m(hgef\374hrt)i +(w)m(erden,)g(k)-5 b(ann)32 b(da)m(v)m(on)h(ausgegangen)382 +3915 y(w)m(erden,)h(da\377)f(der)g(Durc)m(hsatz)g(im)g(gleic)m(hen)h(V) +-8 b(erh\344ltnis)33 b(zum)g(Durc)m(hsatz)g(der)g(F)-8 +b(est-)382 4028 y(platte)29 b(steh)m(t,)h(wie)f(das)g(b)s(ei)f(Sc)m +(hreibzugri\033en)k(im)d(nic)m(h)m(t)h(v)m(erbundenen)h(Zustand)e(der) +382 4141 y(F)-8 b(all)31 b(ist.)382 4419 y Fn(5.4.1.1)103 +b(Ergebnisse)382 4633 y Fp(Die)30 b(n)m(umerisc)m(hen)j(Ergebnisse)e +(der)g(Messungen)g(sind)f(in)g(Anhang)h(A)f(aufgelistet.)382 +4787 y(Arb)s(eitet)k(DRBD)f(ohne)i(V)-8 b(erbindung,)36 +b(m)m(u\377)f(es)f(also)f(n)m(ur)i(die)f(Sc)m(hreibau\033orderun-)382 +4900 y(gen)26 b(an)g(die)g(lok)-5 b(ale)26 b(F)-8 b(estplatte)26 +b(w)m(eitergeb)s(en,)j(w)m(erden)e(im)f(Durc)m(hsc)m(hnitt)i(89,5)e +(\045)g(des)382 5013 y(Durc)m(hsatzes)40 b(erreic)m(h)m(t,)k(den)39 +b(die)h(F)-8 b(estplatte)40 b(bieten)h(k)-5 b(ann.)67 +b(Die)39 b(Standardab)m(w)m(ei-)382 5126 y(c)m(h)m(ung)32 +b(b)s(etr\344gt)f(n)m(ur)g(1,41)g(\045.)41 b(\(Siehe)31 +b(Abbildung)g(5.2.\))382 5281 y(So)d(ein)g(einfac)m(her)h(und)f +(genereller)h(Zusammenhang)g(zwisc)m(hen)g(dem)f(Durc)m(hsatz)h(der)382 +5394 y(F)-8 b(estplatten)47 b(und)g(des)f(Netzw)m(erk)m(es)h(und)g(dem) +f(resultierenden)i(Durc)m(hsatz)f(eines)1831 5622 y(56)p +eop +%%Page: 57 59 +57 58 bop 382 262 a Fl(KAPITEL)31 b(5.)71 b(IMPLEMENTIER)m(UNG)528 +b(5.4.)71 b(PERF)m(ORMANCE)p 382 299 2989 4 v 526 2331 +a @beginspecial 50 @llx 50 @lly 374 @urx 276 @ury 3240 +@rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//benchmark/gnuplot/all-vs-drbd.ps +%!PS-Adobe-2.0 EPSF-2.0 +%%Creator: gnuplot 3.7 patchlevel 0.2 +%%CreationDate: Wed May 17 13:53:19 2000 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 374 276 +%%Orientation: Portrait +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -60 def +/dl {10 mul} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow { currentpoint stroke M + 0 vshift R show } def +/Rshow { currentpoint stroke M + dup stringwidth pop neg vshift R show } def +/Cshow { currentpoint stroke M + dup stringwidth pop -2 div vshift R show } def +/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def +/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } + {pop pop pop Solid {pop []} if 0 setdash} ifelse } def +/BL { stroke userlinewidth 2 mul setlinewidth } def +/AL { stroke userlinewidth 2 div setlinewidth } def +/UL { dup gnulinewidth mul /userlinewidth exch def + 10 mul /udl exch def } def +/PL { stroke userlinewidth setlinewidth } def +/LTb { BL [] 0 0 0 DL } def +/LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def +/LT0 { PL [] 1 0 0 DL } def +/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def +/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def +/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def +/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def +/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def +/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def +/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def +/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def +/Pnt { stroke [] 0 setdash + gsave 1 setlinecap M 0 0 V stroke grestore } def +/Dia { stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt } def +/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt } def +/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke } def +/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt } def +/Star { 2 copy Pls Crs } def +/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill } def +/TriUF { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill } def +/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt } def +/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill } def +/Pent { stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt } def +/PentF { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore } def +/Circle { stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt } def +/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def +/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def +/C1 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath } bind def +/C2 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C3 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C4 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C5 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc } bind def +/C6 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C7 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C8 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C9 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath } bind def +/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C11 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C12 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C13 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C14 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc } bind def +/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } bind def +/Square { dup Rec } bind def +/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def +/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def +/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def +/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def +/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill + Bsquare } bind def +/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def +/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare } bind def +/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare } bind def +/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def +/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare } bind def +/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def +/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def +/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def +/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def +/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def +/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def +/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def +/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def +/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def +/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def +/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def +/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def +/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def +/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def +/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def +/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def +/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def +/DiaE { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke } def +/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke } def +/TriUE { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke } def +/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke } def +/PentE { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore } def +/CircE { stroke [] 0 setdash + hpt 0 360 arc stroke } def +/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def +/DiaW { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke } def +/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke } def +/TriUW { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke } def +/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke } def +/PentW { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore } def +/CircW { stroke [] 0 setdash + hpt 0 360 arc Opaque stroke } def +/BoxFill { gsave Rec 1 setgray fill grestore } def +/Times-Roman reencodeISO def +end +%%EndProlog +gnudict begin +gsave +50 50 translate +0.050 0.050 scale +0 setgray +newpath +(Times-Roman) findfont 180 scalefont setfont +1.000 UL +LTb +1.000 UL +LTa +702 540 M +3780 0 V +1.000 UL +LTb +702 540 M +63 0 V +3717 0 R +-63 0 V +594 540 M +(0) Rshow +1.000 UL +LTa +702 1296 M +3780 0 V +1.000 UL +LTb +702 1296 M +63 0 V +3717 0 R +-63 0 V +-3825 0 R +(2) Rshow +1.000 UL +LTa +702 2052 M +3780 0 V +1.000 UL +LTb +702 2052 M +63 0 V +3717 0 R +-63 0 V +-3825 0 R +(4) Rshow +1.000 UL +LTa +702 2808 M +3780 0 V +1.000 UL +LTb +702 2808 M +63 0 V +3717 0 R +-63 0 V +-3825 0 R +(6) Rshow +1.000 UL +LTa +702 3564 M +3771 0 V +1.000 UL +LTb +702 3564 M +63 0 V +3717 0 R +-63 0 V +-3825 0 R +(8) Rshow +1.000 UL +LTa +702 4320 M +3780 0 V +1.000 UL +LTb +702 4320 M +63 0 V +3717 0 R +-63 0 V +-3825 0 R +(10) Rshow +1.000 UL +LTa +702 540 M +0 3780 V +1.000 UL +LTb +702 540 M +0 63 V +0 3717 R +0 -63 V +702 360 M +(0) Cshow +1.000 UL +LTa +1458 540 M +0 3780 V +1.000 UL +LTb +1458 540 M +0 63 V +0 3717 R +0 -63 V +0 -3897 R +(2) Cshow +1.000 UL +LTa +2214 540 M +0 3780 V +1.000 UL +LTb +2214 540 M +0 63 V +0 3717 R +0 -63 V +0 -3897 R +(4) Cshow +1.000 UL +LTa +2970 540 M +0 3780 V +1.000 UL +LTb +2970 540 M +0 63 V +0 3717 R +0 -63 V +0 -3897 R +(6) Cshow +1.000 UL +LTa +3726 540 M +0 3780 V +1.000 UL +LTb +3726 540 M +0 63 V +0 3717 R +0 -63 V +0 -3897 R +(8) Cshow +1.000 UL +LTa +4482 540 M +0 2997 V +0 720 R +0 63 V +1.000 UL +LTb +4482 540 M +0 63 V +0 3717 R +0 -63 V +0 -3897 R +(10) Cshow +1.000 UL +LTb +702 540 M +3780 0 V +0 3780 V +-3780 0 V +702 540 L +180 2430 M +currentpoint gsave translate 90 rotate 0 0 M +(DRBD [MB/s]) Cshow +grestore +2592 90 M +(min\(Festplatten,Netzwerk\) [MB/s]) Cshow +1.000 UP +1.000 UL +LT0 +5661 4167 M +(Protokoll A) Rshow +1545 1031 Box +1553 1047 Box +3953 1927 Box +3991 2407 Box +1057 941 Box +3204 2861 Box +3257 3046 Box +1061 805 Box +1061 820 Box +6016 4167 Box +1.000 UP +1.000 UL +LT1 +5661 3987 M +(Protokoll B) Rshow +1545 1028 Circle +1553 1047 Circle +3953 1897 Circle +3991 2309 Circle +1057 933 Circle +3204 2876 Circle +3257 2914 Circle +1061 816 Circle +1061 820 Circle +6016 3987 Circle +1.000 UP +1.000 UL +LT2 +5661 3807 M +(Protokoll C) Rshow +1545 1111 TriU +1553 1099 TriU +3953 1886 TriU +3991 2267 TriU +1057 922 TriU +3204 2540 TriU +3257 2668 TriU +1061 786 TriU +1061 816 TriU +6016 3807 TriU +1.000 UL +LT3 +5661 3627 M +(100 %) Rshow +5769 3627 M +495 0 V +702 540 M +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +38 38 V +38 38 V +38 38 V +39 39 V +38 38 V +38 38 V +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Times-Roman + +%%EndDocument + @endspecial 791 2527 a Fp(Abbildung)31 b(5.3:)41 b(Durc)m(hsatz)32 +b(v)m(on)e(DRBD)g(mit)h(V)-8 b(erbindung.)382 2802 y(DRBD-Ger\344tes)42 +b(im)h(v)m(erbundenen)i(Zustand)e(ist)g(leider)g(nic)m(h)m(t)h(v)m +(orhanden.)79 b(Der)382 2914 y(Durc)m(hsatz)31 b(wird)g(auf)f(jeden)g +(F)-8 b(all)30 b(durc)m(h)i(den)e(Durc)m(hsatz)h(der)g(F)-8 +b(estplatten)31 b(und)g(des)382 3027 y(Netzw)m(erk)m(es)i(b)s(egrenzt.) +46 b(Protok)m(oll)34 b(A)d(erreic)m(h)m(t)j(im)f(Durc)m(hsc)m(hnitt)h +(66,8)e(\045)g(des)g(ma-)382 3140 y(ximal)e(m\366glic)m(hen)i(W)-8 +b(ertes)30 b(mit)g(einer)g(Standardab)m(w)m(eic)m(h)m(ung)36 +b(v)m(on)30 b(11,91)g(\045.)41 b(\(Siehe)382 3253 y(Abbildung)31 +b(5.3.\))382 3416 y(Beim)f(V)-8 b(ergleic)m(h)32 b(der)f(Protok)m(olle) +h(ist)e(erw)m(artungsgem\344\377)j(Protok)m(oll)e(A)f(am)g(sc)m(hnell-) +382 3529 y(sten,)39 b(gefolgt)f(v)m(on)g(Protok)m(oll)g(B)g(und)f(C.)h +(Die)f(Un)m(tersc)m(hiede)j(sind)d(ab)s(er)g(minimal.)382 +3642 y(Protok)m(oll)i(B)f(erreic)m(h)m(t)i(im)e(Durc)m(hsc)m(hnitt)i +(99,98)e(\045)g(des)g(Durc)m(hsatzes)h(v)m(on)f(A)f(und)382 +3755 y(Protok)m(oll)29 b(C)e(97,11)i(\045)e(des)g(Durc)m(hsatzes)i(v)m +(on)f(B.)f(Dies)g(ist)h(darauf)f(zur\374c)m(kzuf\374hren,)382 +3868 y(da\377)34 b(DRBD)f(bis)h(zu)g(42)1217 3835 y Fg(11)1326 +3868 y Fp(Sc)m(hreibau\033orderungen)k(gleic)m(hzeitig)e(b)s(earb)s +(eiten)e(k)-5 b(ann,)382 3980 y(und)35 b(die)g(Latenzzeiten)i(aller)f +(getesteten)f(Netzw)m(erkk)m(on\034gurationen)k(sehr)34 +b(niedrig)382 4093 y(w)m(aren.)382 4256 y(In)28 b(Abbildung)h(5.4)f +(ist)g(eb)s(enfalls)g(erk)m(enn)m(bar,)i(da\377)f(es)e(auc)m(h)i(v)m +(ork)m(omm)m(t,)i(da\377)d(Proto-)382 4369 y(k)m(oll)22 +b(C)f(einen)h(h\366heren)h(Durc)m(hsatz)g(erzielt)f(als)f(Protok)m(oll) +i(A)e(und)h(B.)g(Bei)f(der)h(V)-8 b(erw)m(en-)382 4482 +y(dung)28 b(v)m(on)g(Protok)m(oll)h(C)e(wird)h(am)g(sekund\344ren)g +(Knoten)g(nie)g(v)m(ersuc)m(h)m(t,)i(mehr)e(als)f(42)382 +4595 y(Sc)m(hreibanforderungen)39 b(in)c(Auftrag)g(zu)g(geb)s(en.)55 +b(Der)36 b(F)-8 b(estplatten)m(treib)s(er)37 b(b)s(eginn)m(t)382 +4708 y(ab)s(er)32 b(erst)h(nac)m(h)g(dem)g(Ablauf)f(einer)h +(Zeitspanne,)h(o)s(der)f(w)m(enn)g(die)g(Request-Queue)382 +4821 y(k)m(eine)i(Ein)m(tr\344ge)i(mehr)e(aufnehmen)h(k)-5 +b(ann,)36 b(mit)f(der)g(Abarb)s(eitung)g(der)g(Sc)m(hreiban-)382 +4934 y(forderungen.)64 b(Daher)38 b(wird)g(b)s(ei)g(Protok)m(oll)h(C)f +(die)g(V)-8 b(erarb)s(eitung)39 b(der)f(Sc)m(hreiban-)p +382 4995 1196 4 v 455 5049 a Ff(11)520 5081 y Fe(Ab)26 +b(der)h(Kernelv)n(ersion)g(2.2.13)i(hat)e(die)g(Request-Queue)e(128)j +(Ein)n(tr\344ge.)39 b(W)-6 b(egen)27 b(der)g(in)g(Ab-)382 +5172 y(sc)n(hnitt)c(5.2.1.1)j(\(Seite)e(42\))g(b)r(esc)n(hrieb)r(enen)g +(Gr\374nde)f(k)l(ann)g(DRBD)g(n)n(ur)f(33)j(\045)f(dieser)g(Ein)n +(tr\344ge)h(f\374r)382 5263 y(Sc)n(hreibau\033orderungen)g(v)n(erw)n +(enden.)1831 5622 y Fp(57)p eop +%%Page: 58 60 +58 59 bop 382 262 a Fl(KAPITEL)31 b(5.)71 b(IMPLEMENTIER)m(UNG)528 +b(5.4.)71 b(PERF)m(ORMANCE)p 382 299 2989 4 v 676 2122 +a @beginspecial 50 @llx 50 @lly 338 @urx 251 @ury 2880 +@rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//benchmark/gnuplot/protocol.ps +%!PS-Adobe-2.0 EPSF-2.0 +%%Creator: gnuplot 3.7 patchlevel 0.2 +%%CreationDate: Thu May 11 12:39:27 2000 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 338 251 +%%Orientation: Portrait +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -60 def +/dl {10 mul} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow { currentpoint stroke M + 0 vshift R show } def +/Rshow { currentpoint stroke M + dup stringwidth pop neg vshift R show } def +/Cshow { currentpoint stroke M + dup stringwidth pop -2 div vshift R show } def +/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def +/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } + {pop pop pop Solid {pop []} if 0 setdash} ifelse } def +/BL { stroke userlinewidth 2 mul setlinewidth } def +/AL { stroke userlinewidth 2 div setlinewidth } def +/UL { dup gnulinewidth mul /userlinewidth exch def + 10 mul /udl exch def } def +/PL { stroke userlinewidth setlinewidth } def +/LTb { BL [] 0 0 0 DL } def +/LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def +/LT0 { PL [] 1 0 0 DL } def +/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def +/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def +/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def +/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def +/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def +/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def +/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def +/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def +/Pnt { stroke [] 0 setdash + gsave 1 setlinecap M 0 0 V stroke grestore } def +/Dia { stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt } def +/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt } def +/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke } def +/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt } def +/Star { 2 copy Pls Crs } def +/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill } def +/TriUF { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill } def +/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt } def +/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill } def +/Pent { stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt } def +/PentF { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore } def +/Circle { stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt } def +/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def +/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def +/C1 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath } bind def +/C2 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C3 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C4 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C5 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc } bind def +/C6 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C7 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C8 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C9 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath } bind def +/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C11 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C12 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C13 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C14 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc } bind def +/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } bind def +/Square { dup Rec } bind def +/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def +/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def +/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def +/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def +/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill + Bsquare } bind def +/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def +/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare } bind def +/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare } bind def +/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def +/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare } bind def +/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def +/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def +/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def +/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def +/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def +/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def +/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def +/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def +/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def +/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def +/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def +/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def +/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def +/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def +/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def +/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def +/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def +/DiaE { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke } def +/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke } def +/TriUE { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke } def +/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke } def +/PentE { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore } def +/CircE { stroke [] 0 setdash + hpt 0 360 arc stroke } def +/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def +/DiaW { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke } def +/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke } def +/TriUW { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke } def +/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke } def +/PentW { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore } def +/CircW { stroke [] 0 setdash + hpt 0 360 arc Opaque stroke } def +/BoxFill { gsave Rec 1 setgray fill grestore } def +/Times-Roman reencodeISO def +end +%%EndProlog +gnudict begin +gsave +50 50 translate +0.050 0.050 scale +0 setgray +newpath +(Times-Roman) findfont 180 scalefont setfont +1.000 UL +LTb +702 540 M +63 0 V +4689 0 R +-63 0 V +594 540 M +(0) Rshow +702 950 M +63 0 V +4689 0 R +-63 0 V +594 950 M +(2) Rshow +702 1359 M +63 0 V +4689 0 R +-63 0 V +-4797 0 R +(4) Rshow +702 1769 M +63 0 V +4689 0 R +-63 0 V +-4797 0 R +(6) Rshow +702 2178 M +63 0 V +4689 0 R +-63 0 V +-4797 0 R +(8) Rshow +702 2588 M +63 0 V +4689 0 R +-63 0 V +-4797 0 R +(10) Rshow +702 2997 M +63 0 V +4689 0 R +-63 0 V +-4797 0 R +(12) Rshow +702 3407 M +63 0 V +4689 0 R +-63 0 V +-4797 0 R +(14) Rshow +702 3816 M +63 0 V +4689 0 R +-63 0 V +-4797 0 R +(16) Rshow +1177 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(Festplatte) Cshow +2128 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(DRBD n.v.) Cshow +3078 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(Prot. A) Cshow +4028 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(Prot. B) Cshow +4979 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(Prot. C) Cshow +1.000 UL +LTb +702 540 M +4752 0 V +0 3276 V +-4752 0 V +702 540 L +180 2178 M +currentpoint gsave translate 90 rotate 0 0 M +([MB/s]) Cshow +grestore +3078 90 M +(dd Durchsatz) Cshow +1.000 UP +1.000 UL +LT0 +4635 3663 M +(PentII / PentII / 4,33MB/s) Rshow +4743 3663 M +495 0 V +1177 1005 M +951 -58 V +3078 806 L +950 -2 V +951 45 V +1177 1005 Crs +2128 947 Crs +3078 806 Crs +4028 804 Crs +4979 849 Crs +4990 3663 Crs +1.000 UP +1.000 UL +LT1 +4635 3483 M +(PentII / PentII / 9,7MB/s) Rshow +4743 3483 M +495 0 V +1177 1003 M +951 -62 V +3078 814 L +950 0 V +951 29 V +1177 1003 Box +2128 941 Box +3078 814 Box +4028 814 Box +4979 843 Box +4990 3483 Box +1.000 UP +1.000 UL +LT2 +4635 3303 M +(K6-3 / K6-3 / 8,6MB/s) Rshow +4743 3303 M +495 0 V +1177 2827 M +951 -197 V +3078 1291 L +950 -16 V +951 -6 V +1177 2827 TriU +2128 2630 TriU +3078 1291 TriU +4028 1275 TriU +4979 1269 TriU +4990 3303 TriU +1.000 UP +1.000 UL +LT3 +4635 3123 M +(K6-3 / K6-3 / 8,7MB/s) Rshow +4743 3123 M +495 0 V +1177 3587 M +951 -406 V +3078 1551 L +950 -53 V +951 -22 V +1177 3587 Star +2128 3181 Star +3078 1551 Star +4028 1498 Star +4979 1476 Star +4990 3123 Star +1.000 UP +1.000 UL +LT4 +4635 2943 M +(K6-3 / K6-3 / 0,94MB/s) Rshow +4743 2943 M +495 0 V +1177 3773 M +951 -330 V +3078 757 L +950 -4 V +951 -6 V +1177 3773 TriD +2128 3443 TriD +3078 757 TriD +4028 753 TriD +4979 747 TriD +4990 2943 TriD +1.000 UP +1.000 UL +LT5 +4635 2763 M +(K6-2 / K7 / 11,1MB/s) Rshow +4743 2763 M +495 0 V +-4061 91 R +951 -338 V +950 -719 V +950 8 V +951 -182 V +1177 2854 Dia +2128 2516 Dia +3078 1797 Dia +4028 1805 Dia +4979 1623 Dia +4990 2763 Dia +1.000 UP +1.000 UL +LT6 +4635 2583 M +(K6-2 / K7 / 11,1MB/s) Rshow +4743 2583 M +495 0 V +1177 2839 M +951 -170 V +950 -772 V +950 -71 V +951 -133 V +1177 2839 Pent +2128 2669 Pent +3078 1897 Pent +4028 1826 Pent +4979 1693 Pent +4990 2583 Pent +1.000 UP +1.000 UL +LT7 +4635 2403 M +(AXP / Pent / 0,95MB/s) Rshow +4743 2403 M +495 0 V +1177 1459 M +951 39 V +3078 683 L +950 6 V +951 -16 V +1177 1459 Pls +2128 1498 Pls +3078 683 Pls +4028 689 Pls +4979 673 Pls +4990 2403 Pls +1.000 UP +1.000 UL +LT8 +4635 2223 M +(AXP / Pent / 1,04MB/s) Rshow +4743 2223 M +495 0 V +1177 1551 M +951 -26 V +3078 692 L +950 0 V +951 -3 V +1177 1551 Circle +2128 1525 Circle +3078 692 Circle +4028 692 Circle +4979 689 Circle +4990 2223 Circle +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Times-Roman + +%%EndDocument + @endspecial 609 2313 a Fe(Bei)33 b(der)e(Besc)n(hriftung)h(der)g +(Me\377w)n(erte)h(wurde)e(der)h(Prozessor)h(des)f(prim\344ren)f(Sy-)609 +2405 y(stems)25 b(und)e(des)i(sekund\344ren)f(Systems)g(so)n(wie)i(der) +f(Durc)n(hsatz)f(des)h(Netzw)n(erk)n(es)g(an-)609 2496 +y(gegeb)r(en.)1020 2791 y Fp(Abbildung)31 b(5.4:)41 b(Die)31 +b(Protok)m(olle)h(im)e(V)-8 b(ergleic)m(h)382 3066 y(forderungen)33 +b(in)f(der)h(Request-Queue)f(explizit)h(gestartet,)g(w)m(enn)g +(mindestens)g(32)3296 3033 y Fg(12)382 3179 y Fp(Sc)m +(hreibanforderungen)40 b(no)s(c)m(h)c(nic)m(h)m(t)i(abgesc)m(hlossen)f +(sind.)58 b(W)-8 b(eil)37 b(b)s(ei)f(Protok)m(oll)h(C)382 +3292 y(die)28 b(Abarb)s(eitung)h(der)g(Sc)m(hreibau\033orderung)i(b)s +(ereits)d(fr\374her)g(gestartet)h(wird,)g(k)-5 b(ann)382 +3405 y(Protok)m(oll)43 b(C)e(in)h(einzelnen)h(F\344llen)f(einen)g(b)s +(esseren)f(Durc)m(hsatz)i(als)e(Protok)m(oll)i(B)382 +3518 y(erzielen.)382 3681 y(Aus)j(den)h(im)g(Anhang)h(A)e +(aufgelisteten)i(Daten)f(l\344\377t)g(sic)m(h)h(der)f(T)-8 +b(rend)48 b(ablesen,)382 3794 y(da\377,)41 b(w)m(enn)e(der)g +(sekund\344re)g(Knoten)g(mit)g(der)g(b)s(esseren)f(F)-8 +b(estplatte)40 b(ausgestattet)382 3907 y(ist,)f(DRBD)e(eine)h +(h\366here)h(P)m(erformance)g(erreic)m(h)m(t.)65 b(Dies)37 +b(deutet)h(darauf)g(hin,)i(da\377)382 4020 y(der)g(empfangende)h +(Knoten)f(den)g(Durc)m(hsatz)g(\374b)s(er)g(die)g(Flu\377k)m(on)m +(trolle)h(des)f(TCP-)382 4132 y(Protok)m(olls)28 b(limitiert.)40 +b(Der)27 b(Empfangsproze\377)h(seinerseits)f(k)-5 b(ann,)28 +b(neb)s(en)e(dem)i(Emp-)382 4245 y(fang)44 b(v)m(om)h(Netzw)m(erk,)k(b) +s(eim)44 b(Erzeugen)i(der)f(Sc)m(hreibau\033orderungen)j(und)c(b)s(eim) +382 4358 y(W)-8 b(arten)31 b(auf)f(Absc)m(hlu\377)i(der)e(Sc)m(hreib)s +(op)s(erationen)j(blo)s(c)m(kieren.)382 4521 y(W\374rde)26 +b(man)h(allerdings)g(diese)f(limitierenden)i(F)-8 b(aktoren)27 +b(aussc)m(halten,)h(also)e(auf)g(das)382 4634 y(sofortige)32 +b(Sc)m(hreib)s(en)h(auf)f(die)g(F)-8 b(estplatte)33 b(v)m(erzic)m(h)m +(ten,)i(und)d(das)g(Sc)m(hreib)s(en)h(auf)f(die)382 4747 +y(F)-8 b(estplatte)32 b(async)m(hron)g(durc)m(h)g(die)f +(Kernel-Daemonen)i(erledigen)f(lassen,)f(w)m(\344re)h(die)382 +4860 y(ric)m(h)m(tige)g(Reihenfolge)f(der)g(Sc)m(hreib)s(op)s +(erationen)i(nic)m(h)m(t)f(mehr)f(garan)m(tiert.)p 382 +5010 1196 4 v 455 5063 a Ff(12)520 5095 y Fe(25)26 b(\045)g(v)n(on)f +(128.)1831 5622 y Fp(58)p eop +%%Page: 59 61 +59 60 bop 382 262 a Fl(KAPITEL)31 b(5.)71 b(IMPLEMENTIER)m(UNG)528 +b(5.4.)71 b(PERF)m(ORMANCE)p 382 299 2989 4 v 676 2122 +a @beginspecial 50 @llx 50 @lly 338 @urx 251 @ury 2880 +@rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//benchmark/gnuplot/file-create.ps +%!PS-Adobe-2.0 EPSF-2.0 +%%Creator: gnuplot 3.7 patchlevel 0.2 +%%CreationDate: Thu May 18 11:14:57 2000 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 338 251 +%%Orientation: Portrait +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -60 def +/dl {10 mul} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow { currentpoint stroke M + 0 vshift R show } def +/Rshow { currentpoint stroke M + dup stringwidth pop neg vshift R show } def +/Cshow { currentpoint stroke M + dup stringwidth pop -2 div vshift R show } def +/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def +/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } + {pop pop pop Solid {pop []} if 0 setdash} ifelse } def +/BL { stroke userlinewidth 2 mul setlinewidth } def +/AL { stroke userlinewidth 2 div setlinewidth } def +/UL { dup gnulinewidth mul /userlinewidth exch def + 10 mul /udl exch def } def +/PL { stroke userlinewidth setlinewidth } def +/LTb { BL [] 0 0 0 DL } def +/LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def +/LT0 { PL [] 1 0 0 DL } def +/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def +/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def +/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def +/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def +/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def +/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def +/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def +/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def +/Pnt { stroke [] 0 setdash + gsave 1 setlinecap M 0 0 V stroke grestore } def +/Dia { stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt } def +/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt } def +/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke } def +/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt } def +/Star { 2 copy Pls Crs } def +/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill } def +/TriUF { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill } def +/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt } def +/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill } def +/Pent { stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt } def +/PentF { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore } def +/Circle { stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt } def +/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def +/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def +/C1 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath } bind def +/C2 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C3 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C4 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C5 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc } bind def +/C6 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C7 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C8 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C9 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath } bind def +/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C11 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C12 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C13 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C14 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc } bind def +/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } bind def +/Square { dup Rec } bind def +/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def +/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def +/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def +/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def +/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill + Bsquare } bind def +/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def +/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare } bind def +/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare } bind def +/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def +/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare } bind def +/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def +/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def +/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def +/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def +/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def +/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def +/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def +/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def +/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def +/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def +/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def +/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def +/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def +/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def +/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def +/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def +/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def +/DiaE { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke } def +/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke } def +/TriUE { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke } def +/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke } def +/PentE { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore } def +/CircE { stroke [] 0 setdash + hpt 0 360 arc stroke } def +/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def +/DiaW { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke } def +/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke } def +/TriUW { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke } def +/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke } def +/PentW { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore } def +/CircW { stroke [] 0 setdash + hpt 0 360 arc Opaque stroke } def +/BoxFill { gsave Rec 1 setgray fill grestore } def +/Times-Roman reencodeISO def +end +%%EndProlog +gnudict begin +gsave +50 50 translate +0.050 0.050 scale +0 setgray +newpath +(Times-Roman) findfont 180 scalefont setfont +1.000 UL +LTb +810 540 M +63 0 V +4581 0 R +-63 0 V +702 540 M +(0) Rshow +810 950 M +63 0 V +4581 0 R +-63 0 V +702 950 M +(0.5) Rshow +810 1359 M +63 0 V +4581 0 R +-63 0 V +-4689 0 R +(1) Rshow +810 1769 M +63 0 V +4581 0 R +-63 0 V +-4689 0 R +(1.5) Rshow +810 2178 M +63 0 V +4581 0 R +-63 0 V +-4689 0 R +(2) Rshow +810 2588 M +63 0 V +4581 0 R +-63 0 V +-4689 0 R +(2.5) Rshow +810 2997 M +63 0 V +4581 0 R +-63 0 V +-4689 0 R +(3) Rshow +810 3407 M +63 0 V +4581 0 R +-63 0 V +-4689 0 R +(3.5) Rshow +810 3816 M +63 0 V +4581 0 R +-63 0 V +-4689 0 R +(4) Rshow +1274 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(Festplatte) Cshow +2203 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(DRBD n.v.) Cshow +3132 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(Prot. A) Cshow +4061 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(Prot. B) Cshow +4990 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(Prot. C) Cshow +1.000 UL +LTb +810 540 M +4644 0 V +0 3276 V +-4644 0 V +810 540 L +180 2178 M +currentpoint gsave translate 90 rotate 0 0 M +([MB/s]) Cshow +grestore +3132 90 M +(Erzeugen von 5852 files \(63MB\).) Cshow +1.000 UP +1.000 UL +LT0 +4635 3663 M +(K6-2/ext2/128) Rshow +4743 3663 M +495 0 V +1274 3452 M +2203 1306 L +929 128 V +929 -118 V +929 -34 V +1274 3452 Circle +2203 1306 Circle +3132 1434 Circle +4061 1316 Circle +4990 1282 Circle +4990 3663 Circle +1.000 UP +1.000 UL +LT1 +4635 3483 M +(21064/ext2/128) Rshow +4743 3483 M +495 0 V +1274 1778 M +929 -270 V +929 -108 V +929 -21 V +929 -4 V +1274 1778 Box +2203 1508 Box +3132 1400 Box +4061 1379 Box +4990 1375 Box +4990 3483 Box +1.000 UP +1.000 UL +LT2 +4635 3303 M +(K6-2/ReiserFS/128) Rshow +4743 3303 M +495 0 V +1274 3185 M +929 167 V +3132 1494 L +929 -8 V +929 101 V +1274 3185 TriU +2203 3352 TriU +3132 1494 TriU +4061 1486 TriU +4990 1587 TriU +4990 3303 TriU +1.000 UP +1.000 UL +LT3 +4635 3123 M +(K6-2/ext2/256) Rshow +4743 3123 M +495 0 V +1274 3800 M +929 -342 V +3132 1253 L +929 -49 V +929 -60 V +1274 3800 TriD +2203 3458 TriD +3132 1253 TriD +4061 1204 TriD +4990 1144 TriD +4990 3123 TriD +1.000 UP +1.000 UL +LT4 +4635 2943 M +(21064/ext2/256) Rshow +4743 2943 M +495 0 V +1274 1963 M +929 -18 V +929 -836 V +929 20 V +929 -48 V +1274 1963 Dia +2203 1945 Dia +3132 1109 Dia +4061 1129 Dia +4990 1081 Dia +4990 2943 Dia +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Times-Roman + +%%EndDocument + @endspecial 609 2313 a Fe(21064)28 b(ist)e(der)f(Prozessor)i(v)n(on)e +(Knoten)g(2;)h(K6-2)g(ist)g(der)f(Prozessort)j(v)n(on)d(Knoten1)1114 +2609 y Fp(Abbildung)32 b(5.5:)41 b(DRBD)29 b(und)i(Filesystem)382 +2884 y Fo(5.4.2)112 b(Dateisystem)382 3105 y Fp(Meistens)47 +b(wird)h(ein)g(blo)s(c)m(k)m(orien)m(tiertes)i(Ger\344t)d(in)h +(Zusammenarb)s(eit)h(mit)f(einem)382 3218 y(Dateisystem)43 +b(v)m(erw)m(endet.)82 b(Im)43 b(folgenden)h(wird)g(die)f(Leistung)i(v)m +(on)e(DRBD)g(mit)382 3331 y(Ext2)32 b(und)g(ReiserFS)g(\(siehe)g(auc)m +(h)h(Absc)m(hnitt)g(6.2)f(auf)f(Seite)i(69\))f(un)m(tersuc)m(h)m(t.)47 +b(F\374r)382 3444 y(diese)30 b(Messungen)h(wurde)g(folgende)g +(Installation)g(v)m(erw)m(endet:)p 437 3594 2879 4 v +435 4145 4 552 v 550 4111 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 550 4111 a Fp(Knoten)841 +4111 y + currentpoint grestore moveto + 841 4111 a 598 4145 4 552 v 785 4111 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 785 4111 +a Fp(System)1070 4111 y + currentpoint grestore moveto + 1070 4111 a 925 4145 4 552 v +1123 4111 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1123 4111 a Fp(V)-8 b(ersion)1415 4111 y + currentpoint grestore moveto + +1415 4111 a 1255 4145 4 552 v 1446 4111 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1446 4111 a +Fp(Arc)m(hitektur)1906 4111 y + currentpoint grestore moveto + 1906 4111 a 1571 4145 4 +552 v 1770 4111 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1770 4111 a Fp(BogoMips)2164 4111 y + currentpoint grestore moveto + +2164 4111 a 1922 4145 4 552 v 2099 4111 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2099 4111 a +Fp(F)g(estplatte)2492 4111 y + currentpoint grestore moveto + 2492 4111 a 2227 4145 4 +552 v 2413 4111 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2413 4111 a Fp(DRBD)30 b(n.)40 b(v.)2930 +4111 y + currentpoint grestore moveto + 2930 4111 a 2533 4145 4 552 v 2696 4111 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2696 +4111 a Fp(Prot.)h(A)3006 4111 y + currentpoint grestore moveto + 3006 4111 a 2793 4145 +4 552 v 2956 4111 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2956 4111 a Fp(Prot.)g(B)3262 4111 +y + currentpoint grestore moveto + 3262 4111 a 3053 4145 4 552 v 3217 4111 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 3217 4111 +a Fp(Prot.)g(C)3524 4111 y + currentpoint grestore moveto + 3524 4111 a 3314 4145 4 552 +v 437 4148 2879 4 v 437 4165 V 435 4278 4 113 v 496 4244 +a Fp(1)p 598 4278 V 108 w(Lin)m(ux)p 925 4278 V 101 w(2.2.14)p +1255 4278 V 128 w(i586)p 1571 4278 V 151 w(901,2)p 1922 +4278 V 123 w(11,87)p 2227 4278 V 101 w(11,57)p 2533 4278 +V 100 w(1,75)p 2793 4278 V 101 w(1,74)p 3053 4278 V 100 +w(2,06)p 3314 4278 V 437 4281 2879 4 v 435 4394 4 113 +v 496 4360 a(2)p 598 4394 V 108 w(Lin)m(ux)p 925 4394 +V 101 w(2.2.14)p 1255 4394 V 101 w(alpha)p 1571 4394 +V 100 w(295,69)p 1922 4394 V 124 w(4,16)p 2227 4394 V +145 w(3,74)p 2533 4394 V 123 w(3,54)p 2793 4394 V 101 +w(3,35)p 3053 4394 V 100 w(3,56)p 3314 4394 V 437 4397 +2879 4 v 539 4676 a(Netzw)m(erkbandbreite:)102 b(6,38)31 +b(MB/s)498 b(Datengr\366\377e:)102 b(50)30 b(MB)724 4789 +y(Netzw)m(erklatenz:)102 b(0,1/0,1/0,3)32 b(ms)200 b(DRBD)29 +b(V)-8 b(ersion:)101 b(0.5.5)382 5015 y(In)29 b(Abbildung)i(5.5)f(ist)g +(die)g(Zeit)g(dargestellt,)h(die)f(b)s(en\366tigt)h(wird,)f(um)g(5812)h +(Datein)382 5128 y(mit)g(einer)g(Gesam)m(tgr\366\377e)h(v)m(on)e(63MB)h +(zu)f(erzeugen:)518 5390 y Fd(\017)46 b Fp(Knoten)e(1)e(ist)h(mit)g +(einer)g(IDE-F)-8 b(estplatte)44 b(mit)f(aktiviertem)g(W)-8 +b(rite-Cac)m(he)1831 5622 y(59)p eop +%%Page: 60 62 +60 61 bop 382 262 a Fl(KAPITEL)31 b(5.)71 b(IMPLEMENTIER)m(UNG)528 +b(5.4.)71 b(PERF)m(ORMANCE)p 382 299 2989 4 v 676 2122 +a @beginspecial 50 @llx 50 @lly 338 @urx 251 @ury 2880 +@rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//benchmark/gnuplot/esssA.ps +%!PS-Adobe-2.0 EPSF-2.0 +%%Creator: gnuplot 3.7 patchlevel 0.2 +%%CreationDate: Tue May 9 16:25:21 2000 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 338 251 +%%Orientation: Portrait +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -60 def +/dl {10 mul} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow { currentpoint stroke M + 0 vshift R show } def +/Rshow { currentpoint stroke M + dup stringwidth pop neg vshift R show } def +/Cshow { currentpoint stroke M + dup stringwidth pop -2 div vshift R show } def +/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def +/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } + {pop pop pop Solid {pop []} if 0 setdash} ifelse } def +/BL { stroke userlinewidth 2 mul setlinewidth } def +/AL { stroke userlinewidth 2 div setlinewidth } def +/UL { dup gnulinewidth mul /userlinewidth exch def + 10 mul /udl exch def } def +/PL { stroke userlinewidth setlinewidth } def +/LTb { BL [] 0 0 0 DL } def +/LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def +/LT0 { PL [] 1 0 0 DL } def +/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def +/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def +/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def +/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def +/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def +/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def +/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def +/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def +/Pnt { stroke [] 0 setdash + gsave 1 setlinecap M 0 0 V stroke grestore } def +/Dia { stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt } def +/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt } def +/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke } def +/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt } def +/Star { 2 copy Pls Crs } def +/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill } def +/TriUF { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill } def +/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt } def +/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill } def +/Pent { stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt } def +/PentF { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore } def +/Circle { stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt } def +/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def +/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def +/C1 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath } bind def +/C2 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C3 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C4 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C5 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc } bind def +/C6 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C7 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C8 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C9 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath } bind def +/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C11 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C12 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C13 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C14 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc } bind def +/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } bind def +/Square { dup Rec } bind def +/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def +/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def +/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def +/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def +/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill + Bsquare } bind def +/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def +/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare } bind def +/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare } bind def +/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def +/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare } bind def +/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def +/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def +/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def +/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def +/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def +/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def +/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def +/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def +/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def +/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def +/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def +/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def +/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def +/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def +/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def +/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def +/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def +/DiaE { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke } def +/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke } def +/TriUE { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke } def +/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke } def +/PentE { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore } def +/CircE { stroke [] 0 setdash + hpt 0 360 arc stroke } def +/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def +/DiaW { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke } def +/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke } def +/TriUW { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke } def +/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke } def +/PentW { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore } def +/CircW { stroke [] 0 setdash + hpt 0 360 arc Opaque stroke } def +/BoxFill { gsave Rec 1 setgray fill grestore } def +/Times-Roman reencodeISO def +end +%%EndProlog +gnudict begin +gsave +50 50 translate +0.050 0.050 scale +0 setgray +newpath +(Times-Roman) findfont 180 scalefont setfont +1.000 UL +LTb +702 540 M +63 0 V +4689 0 R +-63 0 V +594 540 M +(0) Rshow +702 950 M +63 0 V +4689 0 R +-63 0 V +594 950 M +(5) Rshow +702 1359 M +63 0 V +4689 0 R +-63 0 V +-4797 0 R +(10) Rshow +702 1769 M +63 0 V +4689 0 R +-63 0 V +-4797 0 R +(15) Rshow +702 2178 M +63 0 V +4689 0 R +-63 0 V +-4797 0 R +(20) Rshow +702 2588 M +63 0 V +4689 0 R +-63 0 V +-4797 0 R +(25) Rshow +702 2997 M +63 0 V +4689 0 R +-63 0 V +-4797 0 R +(30) Rshow +702 3407 M +63 0 V +4689 0 R +-63 0 V +-4797 0 R +(35) Rshow +702 3816 M +63 0 V +4689 0 R +-63 0 V +-4797 0 R +(40) Rshow +1166 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(5) Cshow +1745 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(10) Cshow +2325 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(15) Cshow +2904 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(20) Cshow +3484 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(25) Cshow +4063 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(30) Cshow +4643 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(35) Cshow +5222 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(40) Cshow +1.000 UL +LTb +702 540 M +4752 0 V +0 3276 V +-4752 0 V +702 540 L +180 2178 M +currentpoint gsave translate 90 rotate 0 0 M +(Häufigkeit) Cshow +grestore +3078 90 M +(Anzahl der Blöcke zwischen zwei Schranken) Cshow +1.000 UP +1.000 UL +LT0 +3186 3663 M +(Ext2 4K / Protokoll A) Rshow +3294 3663 M +495 0 V +702 704 M +818 622 L +934 786 L +116 0 V +1166 622 L +116 -82 V +115 246 V +116 0 V +116 -82 V +116 491 V +1861 704 L +116 491 V +2093 622 L +116 246 V +116 901 V +116 -492 V +115 82 V +116 -164 V +116 410 V +116 409 V +116 -327 V +116 245 V +116 -737 V +116 655 V +116 -491 V +116 -246 V +3715 950 L +3831 786 L +116 0 V +116 245 V +116 82 V +116 246 V +116 -328 V +116 246 V +116 164 V +116 82 V +115 -492 V +4990 868 L +116 82 V +116 81 V +5338 868 L +116 2375 V +702 704 Circle +818 622 Circle +934 786 Circle +1050 786 Circle +1166 622 Circle +1282 540 Circle +1397 786 Circle +1513 786 Circle +1629 704 Circle +1745 1195 Circle +1861 704 Circle +1977 1195 Circle +2093 622 Circle +2209 868 Circle +2325 1769 Circle +2441 1277 Circle +2556 1359 Circle +2672 1195 Circle +2788 1605 Circle +2904 2014 Circle +3020 1687 Circle +3136 1932 Circle +3252 1195 Circle +3368 1850 Circle +3484 1359 Circle +3600 1113 Circle +3715 950 Circle +3831 786 Circle +3947 786 Circle +4063 1031 Circle +4179 1113 Circle +4295 1359 Circle +4411 1031 Circle +4527 1277 Circle +4643 1441 Circle +4759 1523 Circle +4874 1031 Circle +4990 868 Circle +5106 950 Circle +5222 1031 Circle +5338 868 Circle +5454 3243 Circle +3541 3663 Circle +1.000 UP +1.000 UL +LT1 +3186 3483 M +(ReiserFS / Protokoll A) Rshow +3294 3483 M +495 0 V +728 3816 M +818 704 L +116 0 V +116 246 V +1166 786 L +116 0 V +1397 540 L +116 410 V +1629 786 L +116 327 V +116 -82 V +116 82 V +116 164 V +116 0 V +116 -164 V +116 246 V +115 328 V +116 327 V +116 -409 V +2904 868 L +116 655 V +116 246 V +3252 950 L +116 327 V +116 -164 V +116 0 V +115 574 V +116 -328 V +116 0 V +116 328 V +116 -328 V +116 164 V +116 246 V +116 -82 V +116 -246 V +116 655 V +4874 1031 L +116 -81 V +116 819 V +116 -574 V +116 328 V +88 2293 V +818 704 Box +934 704 Box +1050 950 Box +1166 786 Box +1282 786 Box +1397 540 Box +1513 950 Box +1629 786 Box +1745 1113 Box +1861 1031 Box +1977 1113 Box +2093 1277 Box +2209 1277 Box +2325 1113 Box +2441 1359 Box +2556 1687 Box +2672 2014 Box +2788 1605 Box +2904 868 Box +3020 1523 Box +3136 1769 Box +3252 950 Box +3368 1277 Box +3484 1113 Box +3600 1113 Box +3715 1687 Box +3831 1359 Box +3947 1359 Box +4063 1687 Box +4179 1359 Box +4295 1523 Box +4411 1769 Box +4527 1687 Box +4643 1441 Box +4759 2096 Box +4874 1031 Box +4990 950 Box +5106 1769 Box +5222 1195 Box +5338 1523 Box +3541 3483 Box +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Times-Roman + +%%EndDocument + @endspecial 1020 2318 a Fp(Abbildung)32 b(5.6:)40 b(Abstand)31 +b(der)g(W)-8 b(rite-Barriers)609 2589 y(ausgestattet.)75 +b(Dieser)41 b(b)s(esc)m(hleunigt)i(Op)s(erationen)g(auf)e(der)h(lok)-5 +b(alen)42 b(F)-8 b(est-)609 2702 y(platte)31 b(und)g(auf)f(DRBD)g(im)h +(nic)m(h)m(t)h(v)m(erbundenen)g(Zustand.)518 2888 y Fd(\017)46 +b Fp(Die)38 b(b)s(este)g(Leistung)h(f\374r)f(Ext2)h(in)f(K)m(om)m +(bination)j(mit)d(Protok)m(oll)i(B)e(und)g(C)609 3001 +y(k)m(onn)m(te)29 b(b)s(eim)f(Sc)m(hreib)s(en)h(auf)f(Knoten)g(2)g +(erzielt)h(w)m(erden.)41 b(Dies)27 b(un)m(termauert)609 +3114 y(die)40 b(These,)i(da\377,)g(w)m(enn)f(das)e(sc)m(hnellere)i +(System)f(im)g(sekund\344ren)g(Zustand)609 3226 y(v)m(erw)m(endet)33 +b(wird,)e(b)s(essere)e(Leistungsergebnisse)j(erzielbar)g(sind.)518 +3412 y Fd(\017)46 b Fp(Mit)34 b(ReiserFS)f(k)-5 b(ann)34 +b(die)g(b)s(este)f(Gesam)m(tleistung)i(v)m(orgewiesen)g(w)m(erden.)52 +b(Es)609 3525 y(m)m(u\377)33 b(allerdings)g(erw)m(\344hn)m(t)h(w)m +(erden,)g(da\377)e(ext)g(mit)g(einer)g(Blo)s(c)m(kgr\366\377e)h(v)m(on) +f(1K)609 3638 y(v)m(erw)m(endet)j(wurde,)f(w)m(\344hrend)h(ReiserFS)e +(eine)g(Blo)s(c)m(kgr\366\377e)h(v)m(on)f(4K)g(v)m(erw)m(en-)609 +3751 y(det.)518 3936 y Fd(\017)46 b Fp(Die)29 b(V)-8 +b(ergr\366\377erung)30 b(der)f(Request-Queue)g(v)m(on)g(128)g(auf)f +(256)h(Ein)m(tr\344ge)h(erh\366h)m(t)609 4049 y(zw)m(ar)45 +b(die)f(Leistung)g(im)g(lok)-5 b(alen)44 b(F)-8 b(all,)48 +b(v)m(ersc)m(hlec)m(h)m(tert)e(allerdings)f(die)f(Lei-)609 +4162 y(stung,)31 b(w)m(enn)g(DRBD)f(die)h(Daten)g(spiegelt.)382 +4449 y Fn(5.4.2.1)103 b(Abstand)35 b(der)f(W)-9 b(rite-Barriers)382 +4668 y Fp(Um)23 b(den)g(Auswirkungen)h(des)f(W)-8 b +(rite-Barrier-Protok)m(olls)27 b(b)s(esser)c(v)m(erstehen)h(zu)f(k)m +(\366n-)382 4781 y(nen,)42 b(wurde)f(auc)m(h)g(die)f(Anzahl)g(der)g +(Bl\366)s(c)m(k)m(e,)i(die)e(zwisc)m(hen)h(zw)m(ei)g(W)-8 +b(rite-Barriers)382 4894 y(v)m(ersendet)34 b(w)m(erden,)g(un)m(tersuc)m +(h)m(t.)51 b(F\374r)32 b(die)h(b)s(eiden)h(Messungen)e(wurden)i(3449)f +(Da-)382 5007 y(teien)g(mit)f(einer)h(Gesam)m(tgr\366\377e)h(v)m(on)e +(24MB)h(erzeugt.)47 b(Beide)32 b(Filesysteme)g(wurden)382 +5120 y(mit)f(einer)g(Blo)s(c)m(kgr\366\377e)g(v)m(on)g(4K)f(b)s(etrieb) +s(en.)382 5281 y(In)38 b(den)i(Abbildungen)g(5.6)f(und)h(5.7)f(ist)g +(das)f(Auftreten)i(der)f(Abst\344nde)g(zwisc)m(hen)382 +5394 y(zw)m(ei)32 b(W)-8 b(rite-Barrier)33 b(P)m(ak)m(eten)g +(dargestellt.)44 b(Bei)31 b(Protok)m(oll)i(A)e(hat)g(ext2)g(33)h(mal)f +(42)1831 5622 y(60)p eop +%%Page: 61 63 +61 62 bop 382 262 a Fl(KAPITEL)31 b(5.)71 b(IMPLEMENTIER)m(UNG)528 +b(5.4.)71 b(PERF)m(ORMANCE)p 382 299 2989 4 v 676 2122 +a @beginspecial 50 @llx 50 @lly 338 @urx 251 @ury 2880 +@rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//benchmark/gnuplot/esssC.ps +%!PS-Adobe-2.0 EPSF-2.0 +%%Creator: gnuplot 3.7 patchlevel 0.2 +%%CreationDate: Tue May 9 16:25:20 2000 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 338 251 +%%Orientation: Portrait +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -60 def +/dl {10 mul} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow { currentpoint stroke M + 0 vshift R show } def +/Rshow { currentpoint stroke M + dup stringwidth pop neg vshift R show } def +/Cshow { currentpoint stroke M + dup stringwidth pop -2 div vshift R show } def +/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def +/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } + {pop pop pop Solid {pop []} if 0 setdash} ifelse } def +/BL { stroke userlinewidth 2 mul setlinewidth } def +/AL { stroke userlinewidth 2 div setlinewidth } def +/UL { dup gnulinewidth mul /userlinewidth exch def + 10 mul /udl exch def } def +/PL { stroke userlinewidth setlinewidth } def +/LTb { BL [] 0 0 0 DL } def +/LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def +/LT0 { PL [] 1 0 0 DL } def +/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def +/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def +/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def +/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def +/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def +/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def +/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def +/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def +/Pnt { stroke [] 0 setdash + gsave 1 setlinecap M 0 0 V stroke grestore } def +/Dia { stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt } def +/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt } def +/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke } def +/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt } def +/Star { 2 copy Pls Crs } def +/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill } def +/TriUF { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill } def +/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt } def +/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill } def +/Pent { stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt } def +/PentF { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore } def +/Circle { stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt } def +/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def +/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def +/C1 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath } bind def +/C2 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C3 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C4 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C5 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc } bind def +/C6 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C7 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C8 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C9 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath } bind def +/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C11 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C12 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C13 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C14 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc } bind def +/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } bind def +/Square { dup Rec } bind def +/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def +/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def +/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def +/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def +/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill + Bsquare } bind def +/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def +/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare } bind def +/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare } bind def +/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def +/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare } bind def +/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def +/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def +/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def +/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def +/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def +/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def +/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def +/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def +/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def +/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def +/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def +/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def +/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def +/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def +/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def +/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def +/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def +/DiaE { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke } def +/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke } def +/TriUE { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke } def +/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke } def +/PentE { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore } def +/CircE { stroke [] 0 setdash + hpt 0 360 arc stroke } def +/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def +/DiaW { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke } def +/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke } def +/TriUW { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke } def +/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke } def +/PentW { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore } def +/CircW { stroke [] 0 setdash + hpt 0 360 arc Opaque stroke } def +/BoxFill { gsave Rec 1 setgray fill grestore } def +/Times-Roman reencodeISO def +end +%%EndProlog +gnudict begin +gsave +50 50 translate +0.050 0.050 scale +0 setgray +newpath +(Times-Roman) findfont 180 scalefont setfont +1.000 UL +LTb +702 540 M +63 0 V +4689 0 R +-63 0 V +594 540 M +(0) Rshow +702 950 M +63 0 V +4689 0 R +-63 0 V +594 950 M +(5) Rshow +702 1359 M +63 0 V +4689 0 R +-63 0 V +-4797 0 R +(10) Rshow +702 1769 M +63 0 V +4689 0 R +-63 0 V +-4797 0 R +(15) Rshow +702 2178 M +63 0 V +4689 0 R +-63 0 V +-4797 0 R +(20) Rshow +702 2588 M +63 0 V +4689 0 R +-63 0 V +-4797 0 R +(25) Rshow +702 2997 M +63 0 V +4689 0 R +-63 0 V +-4797 0 R +(30) Rshow +702 3407 M +63 0 V +4689 0 R +-63 0 V +-4797 0 R +(35) Rshow +702 3816 M +63 0 V +4689 0 R +-63 0 V +-4797 0 R +(40) Rshow +1166 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(5) Cshow +1745 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(10) Cshow +2325 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(15) Cshow +2904 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(20) Cshow +3484 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(25) Cshow +4063 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(30) Cshow +4643 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(35) Cshow +5222 540 M +0 63 V +0 3213 R +0 -63 V +0 -3393 R +(40) Cshow +1.000 UL +LTb +702 540 M +4752 0 V +0 3276 V +-4752 0 V +702 540 L +180 2178 M +currentpoint gsave translate 90 rotate 0 0 M +(Häufigkeit) Cshow +grestore +3078 90 M +(Anzahl der Blöcke zwischen zwei Schranken) Cshow +1.000 UP +1.000 UL +LT0 +3186 3663 M +(Ext2 4K / Protokoll C) Rshow +3294 3663 M +495 0 V +702 622 M +818 540 L +116 0 V +116 0 V +116 0 V +116 82 V +115 -82 V +116 0 V +116 0 V +116 0 V +116 0 V +116 164 V +116 -82 V +116 -82 V +116 0 V +116 82 V +115 0 V +116 -82 V +116 0 V +116 0 V +116 0 V +116 0 V +116 164 V +116 -82 V +116 -82 V +116 82 V +115 0 V +116 0 V +116 82 V +4063 540 L +116 82 V +116 0 V +116 -82 V +116 82 V +116 0 V +116 0 V +115 82 V +116 82 V +5106 622 L +116 409 V +116 82 V +25 2703 V +702 622 Circle +818 540 Circle +934 540 Circle +1050 540 Circle +1166 540 Circle +1282 622 Circle +1397 540 Circle +1513 540 Circle +1629 540 Circle +1745 540 Circle +1861 540 Circle +1977 704 Circle +2093 622 Circle +2209 540 Circle +2325 540 Circle +2441 622 Circle +2556 622 Circle +2672 540 Circle +2788 540 Circle +2904 540 Circle +3020 540 Circle +3136 540 Circle +3252 704 Circle +3368 622 Circle +3484 540 Circle +3600 622 Circle +3715 622 Circle +3831 622 Circle +3947 704 Circle +4063 540 Circle +4179 622 Circle +4295 622 Circle +4411 540 Circle +4527 622 Circle +4643 622 Circle +4759 622 Circle +4874 704 Circle +4990 786 Circle +5106 622 Circle +5222 1031 Circle +5338 1113 Circle +3541 3663 Circle +1.000 UP +1.000 UL +LT1 +3186 3483 M +(ReiserFS / Protokoll C) Rshow +3294 3483 M +495 0 V +702 1113 M +818 786 L +934 704 L +1050 540 L +116 0 V +116 0 V +115 0 V +116 0 V +116 0 V +116 0 V +116 0 V +116 0 V +116 0 V +116 0 V +116 82 V +116 0 V +115 -82 V +116 164 V +116 -82 V +116 82 V +3020 540 L +116 328 V +3252 622 L +116 -82 V +116 82 V +116 0 V +115 164 V +3831 622 L +116 82 V +4063 540 L +116 82 V +116 0 V +116 164 V +116 164 V +4643 622 L +116 655 V +115 -246 V +4990 786 L +116 164 V +5222 786 L +116 573 V +24 2457 V +702 1113 Box +818 786 Box +934 704 Box +1050 540 Box +1166 540 Box +1282 540 Box +1397 540 Box +1513 540 Box +1629 540 Box +1745 540 Box +1861 540 Box +1977 540 Box +2093 540 Box +2209 540 Box +2325 622 Box +2441 622 Box +2556 540 Box +2672 704 Box +2788 622 Box +2904 704 Box +3020 540 Box +3136 868 Box +3252 622 Box +3368 540 Box +3484 622 Box +3600 622 Box +3715 786 Box +3831 622 Box +3947 704 Box +4063 540 Box +4179 622 Box +4295 622 Box +4411 786 Box +4527 950 Box +4643 622 Box +4759 1277 Box +4874 1031 Box +4990 786 Box +5106 950 Box +5222 786 Box +5338 1359 Box +3541 3483 Box +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Times-Roman + +%%EndDocument + @endspecial 1020 2318 a Fp(Abbildung)32 b(5.7:)40 b(Abstand)31 +b(der)g(W)-8 b(rite-Barriers)382 2593 y(Bl\366)s(c)m(k)m(e)41 +b(und)g(ReiserFS)g(49)g(mal)g(42)g(Bl\366)s(c)m(k)m(e)g(ohne)h(W)-8 +b(rite-Barrier)42 b(v)m(ersendet,)j(b)s(ei)382 2706 y(Protok)m(oll)32 +b(C)e(w)m(aren)i(es)e(b)s(ei)g(ext2)g(162)h(und)g(b)s(ei)f(ReiserFS)g +(156.)382 2869 y(Da\377)20 b(mit)h(Protok)m(oll)h(A)e(w)m(esen)m(tlic)m +(h)j(mehr)e(W)-8 b(rite-Barriers)22 b(generiert)f(w)m(erden,)j(k)m(omm) +m(t)382 2982 y(daher,)50 b(da\377)c(die)f(einzelne)i(Sc)m(hreib)s(op)s +(eration)h(deutlic)m(h)f(sc)m(hneller)f(abgesc)m(hlossen)382 +3095 y(wird)31 b(als)f(b)s(ei)g(Protok)m(oll)i(C.)f(\(Siehe)g(Absc)m +(hnitt)g(3.3.1.1)g(auf)g(Seite)g(24\))382 3257 y(Im)e(V)-8 +b(ergleic)m(h)31 b(der)e(Filesysteme)g(ist)g(sic)m(h)m(tbar,)i(da\377)f +(mit)f(ReiserFS)g(\(siehe)g(auc)m(h)i(Ab-)382 3370 y(sc)m(hnitt)46 +b(6.2.3)f(auf)f(Seite)h(70\))g(mehr)h(kurze)f(Abst\344nde)g(zwisc)m +(hen)g(W)-8 b(rite-Barrier-)382 3483 y(P)m(ak)m(eten)28 +b(zustandek)m(ommen)h(als)d(b)s(ei)g(Ext2.)40 b(Der)26 +b(Grund)h(daf\374r)f(d\374rften)h(die)g(Sc)m(hrei-)382 +3596 y(b)s(op)s(erationen)49 b(in)f(das)f(Journal)i(sein.)93 +b(ReiserFS)47 b(m)m(u\377)i(auf)e(den)i(Absc)m(hlu\377)f(der)382 +3709 y(Sc)m(hreib)s(op)s(erationen)33 b(ins)d(Journal)i(w)m(arten,)g(b) +s(ev)m(or)f(es)f(die)h(Aktualisierung)g(der)g(Da-)382 +3822 y(tenstrukturen)j(des)f(Dateisystems)f(v)m(ornehmen)j(darf.)48 +b(Der)33 b(b)s(esonders)f(hohe)i(W)-8 b(ert)382 3935 +y(b)s(eim)25 b(Abstand)g(1)g(k)m(\366nn)m(te)i(v)m(on)e(diesen)h(Sc)m +(hreib)s(op)s(erationen)h(ins)e(Journal)i(stammen.)382 +4048 y(Die)33 b(h\366heren)g(W)-8 b(erte)34 b(b)s(ei)e(Abst\344nden)i +(25)e(bis)h(41)g(k)m(\366nn)m(ten)h(v)m(on)f(Aktualisierungen,)382 +4161 y(die)25 b(mit)h(der)g(n\344c)m(hsten)g(Sc)m(hreib)s(op)s(eration) +i(ins)d(Journal)h(zusammengefasst)g(wurden,)382 4274 +y(stammen.)1831 5622 y(61)p eop +%%Page: 62 64 +62 63 bop 382 1200 a Fk(Kapitel)62 b(6)382 1654 y Fm(HA)72 +b(un)-6 b(ter)72 b(Lin)-6 b(ux)382 2138 y Fp(Neb)s(en)29 +b(DRBD)g(w)m(erden)i(no)s(c)m(h)f(eine)f(Reihe)h(anderer)g(F\344higk)m +(eiten)h(und)f(K)m(omp)s(onen-)382 2250 y(ten)j(b)s(en\366tigt,)i(um)e +(einen)h(HA-Cluster)f(zu)h(implemen)m(tieren.)51 b(Dieses)33 +b(Kapitel)h(gibt)382 2363 y(einen)e(\334b)s(erblic)m(k)g(dar\374b)s +(er,)g(wie)g(sic)m(h)g(DRBD)f(in)h(die)f(anderen,)i(f\374r)f(die)f +(Implemen-)382 2476 y(tierung)g(eines)g(HA-Cluster)f(not)m(w)m +(endigen,)k(K)m(omp)s(onen)m(ten)f(eingliedert.)382 2796 +y Fj(6.1)130 b(Cluster)45 b(Managemen)l(t)382 3038 y +Fp(Die)24 b(w)m(ohl)i(wic)m(h)m(tigste)g(K)m(omp)s(onen)m(te)h(eines)d +(HA-Clusters)g(ist)g(der)h(Cluster-Manager.)382 3151 +y(Dab)s(ei)37 b(handelt)i(es)e(sic)m(h)h(um)g(eine)g(v)m(erteilte)h +(Applik)-5 b(ation,)40 b(die)e(b)s(estimm)m(t,)j(w)m(elc)m(he)382 +3264 y(Knoten)23 b(T)-8 b(eil)22 b(des)g(Clusters)f(sind,)j(und)e(die)g +(zur)g(Laufzeit)g(not)m(w)m(endige)j(K)m(on\034guration)382 +3377 y(der)31 b(Subsysteme)f(v)m(ornimm)m(t,)j(die)d(den)h(Cluster)g +(bilden.)382 3654 y Fo(6.1.1)112 b(Struktur)382 3864 +y Fn(6.1.1.1)103 b(Mem)m(b)s(ership)382 4074 y Fp(Der)35 +b(Cluster-Manager)i(m)m(u\377)f(st\344ndig)f(\374b)s(erpr\374fen,)i(ob) +e(alle)h(am)f(Cluster)h(b)s(eteilig-)382 4187 y(ten)h(Knoten)h(no)s(c)m +(h)f(funktionieren.)61 b(Dies)37 b(wird)g(in)g(der)g(Regel)g(dadurc)m +(h)i(realisiert,)382 4300 y(da\377)g(auf)f(jedem)h(Knoten)g(des)g +(Clusters)f(eine)h(Instanz)g(eines)f(Daemons)h(l\344uft)g(und)382 +4413 y(diese)f(Programme)j(sogenann)m(te)f(Heartb)s(eat-P)m(ak)m(ete)g +(austausc)m(hen.)66 b(Stellen)39 b(diese)382 4526 y(Programme)33 +b(fest,)d(da\377)h(v)m(on)g(einem)g(Knoten)h(k)m(eine)f(Heratb)s(eat-P) +m(ak)m(ete)j(mehr)d(emp-)382 4639 y(fangen)g(w)m(erden,)h(wird)f +(dieser)f(Knoten)i(aus)e(dem)h(Cluster)g(ausgesc)m(hlossen.)382 +4790 y(W)-8 b(erden)21 b(v)m(on)g(einem)h(Knoten)f(wiederum)h(Heartb)s +(eat-P)m(ak)m(ete)h(empfangen,)h(z.B.)c(nac)m(h)382 4903 +y(erfolgreic)m(her)25 b(Reparatur)e(durc)m(h)i(die)e +(Systemadministratoren,)k(so)22 b(wird)i(dieser)f(wie-)382 +5016 y(der)31 b(in)f(den)h(Cluster)g(aufgenommen.)382 +5168 y(W)-8 b(enn)32 b(der)g(Cluster)g(durc)m(h)h(einen)f(Netzw)m(erk) +-5 b(ausfall)32 b(in)g(zw)m(ei)g(Cluster)g(zerf\344llt)g(\(sog.)382 +5281 y(split)k(brain)g(problem\),)j(stellt)d(dies)g(die)g +(Cluster-Managemen)m(t)j(Soft)m(w)m(are)f(v)m(or)e(eine)382 +5394 y(Herausforderung.)42 b(M\366glic)m(he)31 b(L\366sungen:)1831 +5622 y(62)p eop +%%Page: 63 65 +63 64 bop 382 262 a Fl(KAPITEL)31 b(6.)71 b(HA)30 b(UNTER)g(LINUX)187 +b(6.1.)71 b(CLUSTER)31 b(MANA)m(GEMENT)p 382 299 2989 +4 v 518 539 a Fd(\017)46 b Fp(Einf\374hrung)32 b(des)e +(Mehrheitsprinzips)609 652 y(Jener)41 b(T)-8 b(eil-Cluster,)45 +b(der)40 b(\374b)s(er)h(50)f(\045)g(der)h(Stimmen)g(hat,)i(\374b)s +(ernimm)m(t)f(die)609 764 y(Services.)d(F)-8 b(alls)26 +b(der)g(Cluster)g(aus)f(einer)h(ungeraden)h(Anzahl)f(v)m(on)f(Knoten)i +(b)s(e-)609 877 y(steh)m(t,)e(b)s(ek)m(omm)m(t)f(jeder)f(Knoten)g(eine) +g(Stimme,)j(andernfalls)d(m)m(u\377)h(ein)e(Knoten)609 +990 y(zw)m(ei)37 b(Stimmen)h(hab)s(en.)59 b(T)-8 b(ritt)37 +b(der)g(Netzw)m(erk)-5 b(ausfall)37 b(gleic)m(hzeitig)h(mit)f(dem)609 +1103 y(Ausfall)28 b(eines)h(Knotens)h(auf,)f(dann)g(k)-5 +b(ann)29 b(es)f(dazu)h(k)m(ommen,)i(da\377)e(k)m(einer)g(der)609 +1216 y(b)s(eiden)f(T)-8 b(eil-Cluster)29 b(die)e(Mehrheit)h(hat)g(und)g +(daher)g(auc)m(h)g(k)m(einer)g(die)g(Arb)s(eit)609 1329 +y(aufnimm)m(t.)518 1517 y Fd(\017)46 b Fp(Globaler)31 +b(Lo)s(c)m(k)609 1630 y(In)37 b(einem)h(Cluster)f(mit)h(einer)f(Shared) +h(Disk,)h(\374b)s(ernimm)m(t)f(der)g(T)-8 b(eil-Cluster)609 +1742 y(die)31 b(Arb)s(eit,)f(die)h(einen)g(Lo)s(c)m(k)g(auf)f(der)g +(Shared)i(Disk)d(b)s(elegen)i(k)-5 b(ann.)518 1930 y +Fd(\017)46 b Fp(Redundan)m(te)32 b(K)m(omm)m(unik)-5 +b(ationsw)m(ege)609 2043 y(Abgesehen)26 b(v)m(on)g(redundan)m(ter)i +(Auslegung)e(des)g(Netzw)m(erk)m(es)h(sind)e(auc)m(h)i(nic)m(h)m(t)609 +2156 y(IP-basierende)49 b(V)-8 b(erbindungen)49 b(sehr)e(b)s(eliebt,)k +(z.B.)d(serielle)f(Kab)s(el,)52 b(USB.)609 2269 y(Sollte)41 +b(aus)f(irgendeinem)i(Grund)f(das)f(do)s(c)m(h)g(k)m(omplexe)h +(IP-Subsystem)g(des)609 2382 y(Kernels)29 b(nic)m(h)m(t)h(mehr)f +(funktionieren,)h(so)e(ist)g(K)m(omm)m(unik)-5 b(ation)31 +b(\374b)s(er)e(die)f(seri-)609 2495 y(elle)j(V)-8 b(erbindung)32 +b(no)s(c)m(h)f(m\366glic)m(h.)382 2784 y Fn(6.1.1.2)103 +b(Service)382 3006 y Fp(Der)43 b(V)-8 b(orteil)43 b(eines)g +(HA-Clusters)f(f\374r)h(den)g(An)m(w)m(ender)h(ist,)h(da\377)e(ihm)g(b) +s(estimm)m(te)382 3119 y(Services)c(\(o)s(d.)66 b(Applik)-5 +b(ationen\))40 b(p)s(ermanen)m(t)h(zur)e(V)-8 b(erf\374gung)40 +b(stehen.)67 b(Hier)38 b(m)m(u\377)382 3232 y(der)j(Cluster-Manager)h +(eine)g(Sc)m(hnittstelle)g(bieten,)j(so)s(da\377)40 b(er)h(dieses)f +(Service)i(auf)382 3345 y(v)m(ersc)m(hiedenen)34 b(Knoten)f(starten)g +(und)f(stopp)s(en)g(k)-5 b(ann.)46 b(W)-8 b(eiters)32 +b(m)m(u\377)h(der)g(Cluster-)382 3458 y(Manager)38 b(\374b)s(er)f(die)g +(f\374r)g(die)g(Services)g(not)m(w)m(endigen)j(Ressourcen)d(informiert) +i(sein)382 3570 y(und)31 b(feststellen)f(k)m(\366nnen,)i(ob)e(das)h +(Service)f(k)m(orrekt)h(arb)s(eitet.)42 b(Eine)31 b(Ressource,)f(die) +382 3683 y(eigen)m(tlic)m(h)j(jedes)d(Service)h(hat,)f(ist)h(zumindest) +g(eine)g(IP-A)m(dresse.)382 3973 y Fn(6.1.1.3)103 b(\334b)s(ernahme)34 +b(einer)h(IP-A)m(dresse)382 4195 y Fp(Normalerw)m(eise)f(b)s(ek)m(omm)m +(t)f(jede)f(Netzw)m(erkk)-5 b(arte)33 b(eine)f(\034xe)g(IP-A)m(dresse,) +h(die)f(un)m(ter)382 4308 y(anderem)k(auc)m(h)h(v)m(on)f(den)f(Heartb)s +(eat-P)m(ak)m(eten)j(des)d(Cluster-Managers)i(adressiert)382 +4421 y(wird.)382 4583 y(Zus\344tzlic)m(h)31 b(k)-5 b(ann,)31 +b(w)m(enn)g(das)e(optionale)j(F)-8 b(eature)31 b(IP_ALIAS)f(b)s(ei)g +(der)g(Kernelk)m(on-)382 4696 y(\034guration)e(angegeb)s(en)g(wurde,)g +(jede)f(Netzw)m(erkk)-5 b(arte)28 b(eine)f(Reihe)g(v)m(on)g +(zus\344tzlic)m(hen)382 4809 y(IP-A)m(dressen)i(b)s(ek)m(ommen.)41 +b(Diese)28 b(auc)m(h)h(virtuelle)g(IP-A)m(dressen)g(genann)m(ten)h(A)m +(dres-)382 4922 y(sen)35 b(k)m(\366nnen)h(n)m(un)g(v)m(om)g +(Cluster-Manager)g(b)s(eliebig)g(v)m(on)g(einem)f(Knoten)i(zum)e(an-) +382 5035 y(deren)c(v)m(ersc)m(hob)s(en)h(w)m(erden.)382 +5198 y(Da)d(ab)s(er)g(b)s(ei)g(der)g(Daten)m(\374b)s(ertragung)j(auf)d +(Ethernet)h(MA)m(C-A)m(dressen)2902 5165 y Fg(1)2971 +5198 y Fp(v)m(erw)m(endet)p 382 5259 1196 4 v 486 5313 +a Ff(1)520 5345 y Fe(Media)d(A)n(ccess)f(Con)n(trol)1831 +5622 y Fp(63)p eop +%%Page: 64 66 +64 65 bop 382 262 a Fl(KAPITEL)31 b(6.)71 b(HA)30 b(UNTER)g(LINUX)187 +b(6.1.)71 b(CLUSTER)31 b(MANA)m(GEMENT)p 382 299 2989 +4 v 382 539 a Fp(w)m(erden)f(m)m(\374ssen,)g(hat)g(jedes)e(Ger\344t)i +(am)f(Netz)g(einen)h(ARP-Cac)m(he)2725 506 y Fg(2)2766 +539 y Fp(.)39 b(W)-8 b(enn)30 b(ein)f(Ge-)382 652 y(r\344t)e(an)h(ein)f +(anderes)h(Ger\344t)g(im)f(selb)s(en)g(Netz)g(ein)h(P)m(ak)m(et)h +(senden)e(will,)i(m)m(u\377)f(es)f(zuv)m(or)382 764 y(dessen)g(MA)m +(C-A)m(dresse)h(erfragen,)h(indem)f(es)g(ein)f(ARP-Request-P)m(ak)m(et) +i(an)f(alle)f(Ge-)382 877 y(r\344te)36 b(im)g(Netzw)m(erksegmen)m(t)i +(sc)m(hic)m(kt.)58 b(Das)36 b(Ger\344t,)i(das)d(die)i(gesuc)m(h)m(te)g +(IP-A)m(dresse)382 990 y(hat,)43 b(an)m(t)m(w)m(ortet)f(darauf)f(mit)f +(einem)h(ARP-Reply-P)m(ak)m(et,)i(das)d(an)g(den)g(Absender)382 +1103 y(des)31 b(Request-P)m(ak)m(etes)i(geric)m(h)m(tet)h(ist.)43 +b(Die)32 b(so)f(erhaltenen)i(Zuordn)m(ungen)h(zwisc)m(hen)382 +1216 y(IP-A)m(dressen)d(und)g(MA)m(C-A)m(dressen)g(w)m(erden)h(im)e +(ARP-Cac)m(he)i(abgelegt.)382 1379 y(Diese)41 b(ARP-Cac)m(hes)h(in)f +(den)h(anderen)g(Ger\344ten)g(im)g(Netzw)m(erksegmen)m(t)h(sind)e(ein) +382 1492 y(Problem)31 b(b)s(ei)f(der)g(V)-8 b(ersc)m(hiebung)32 +b(v)m(on)e(virtuellen)h(IP-A)m(dressen.)41 b(In)29 b(diesen)i(Cac)m +(hes)382 1605 y(k)-5 b(ann)36 b(nat\374rlic)m(h)h(die)f(MA)m(C-A)m +(dresse,)i(die)e(der)g(IP-A)m(dresse)g(v)m(or)g(der)g(V)-8 +b(ersc)m(hiebung)382 1718 y(zugeordnet)32 b(w)m(ar,)f(en)m(thalten)i +(sein.)382 1880 y(Durc)m(h)27 b(das)f(V)-8 b(ersenden)27 +b(v)m(on)f(ARP-Reply-P)m(ak)m(eten)i(an)e(die)g(Broadcast-A)m(dresse)i +(des)382 1993 y(LAN-Segmen)m(tes)43 b(\(sog.)73 b(gratuitous)43 +b(ARP\))e(k)-5 b(ann)41 b(den)h(ARP-Cac)m(hes)g(der)g(Ger\344-)382 +2106 y(te)f(im)g(Segmen)m(t)h(die)f(neue)g(MA)m(C-A)m(dresse)g +(mitgeteilt)i(w)m(erden.)73 b(Diese)40 b(Metho)s(de)382 +2219 y(geh)m(t)h(urspr\374nglic)m(h)h(auf)d(ein)h(P)m(osting)i +(zur\374c)m(k,)h(das)d(ARP-Sp)s(o)s(o\034ng)g(als)f(Metho)s(de)382 +2332 y(b)s(esc)m(hreibt,)31 b(um)g(in)g(Computersysteme)g(einzubrec)m +(hen.)43 b([Hor98)q(][V)-8 b(ol97)q(])382 2495 y(Dieses)28 +b(ARP-Reply-P)m(ak)m(et)h(m)m(u\377)g(regelm\344\377ig)h(v)m(ersendet)f +(w)m(erden,)h(w)m(ob)s(ei)f(das)f(Zeit-)382 2608 y(in)m(terv)-5 +b(all)32 b(k\374rzer)e(sein)h(m)m(u\377)g(als)f(die)h(Zeit,)g(f\374r)f +(die)h(ein)f(ARP-Cac)m(he)i(seine)e(Ein)m(tr\344ge)382 +2720 y(b)s(eh\344lt.)39 b(Denn)25 b(w)m(enn)g(die)g(Zuordn)m(ung)i(aus) +d(einem)h(der)g(ARP-Cac)m(hes)h(gel\366sc)m(h)m(t)g(wird,)382 +2833 y(das)33 b(b)s(etro\033ene)g(Ger\344t)h(einen)g(ARP-Request)e +(aussendet)i(und)f(das)g(Ger\344t,)h(das)f(die)382 2946 +y(virtuelle)42 b(IP-A)m(dresse)f(zuv)m(or)h(hatte,)i(diese)d(nic)m(h)m +(t)i(ordn)m(ungsgem\344\377)g(en)m(tfern)m(t)g(hat,)382 +3059 y(k)m(\366nn)m(te)30 b(es)e(dazu)h(k)m(ommen,)h(da\377)f(v)m(om)g +(ARP-Subsystem)g(dieses)f(Ger\344tes)h(ein)g(ARP-)382 +3172 y(Reply)h(mit)h(der)f(alten)h(MA)m(C-A)m(dresse)g(zur\374c)m +(kgesendet)h(wird.)382 3462 y Fn(6.1.1.4)103 b(MA)m(C-A)m(dre\377\374b) +s(ernahme)382 3683 y Fp(Eine)22 b(alternativ)m(e)h(Metho)s(de)e(w)m +(\344re)i(es,)g(MA)m(C-A)m(dressen)f(zu)f(\374b)s(ernehmen.)39 +b(Bei)21 b(dieser)382 3796 y(Metho)s(de)28 b(ist)f(die)g(Aussendung)h +(v)m(on)g(ARP-Reply-P)m(ak)m(eten)h(nic)m(h)m(t)g(not)m(w)m(endig,)h +(ab)s(er)382 3909 y(b)s(ei)38 b(normalen)h(Netzw)m(erkk)-5 +b(arten)40 b(f\374hrt)e(dies)g(dazu,)i(da\377)f(die)f(\034xe)g(IP-A)m +(dresse)g(der)382 4022 y(Karte)31 b(nic)m(h)m(t)h(v)m(erl\344\377lic)m +(h)g(erreic)m(h)m(bar)h(ist.)382 4185 y(Diese)26 b(Metho)s(de)h(k)-5 +b(ann)27 b(daher)g(n)m(ur)g(dann)g(zuv)m(erl\344ssig)h(eingesetzt)f(w)m +(erden,)i(w)m(enn)f(f\374r)382 4298 y(jede)41 b(virtuelle)h(IP-A)m +(dresse)f(eine)h(eigene)g(Karte)g(in)f(jedem)g(Knoten)h(des)f(Clusters) +382 4411 y(v)m(orhanden)32 b(ist.)382 4573 y(Die)e(Netzw)m(erkk)-5 +b(arten,)31 b(die)f(auf)g(dem)g(sog.)40 b(T)-8 b(ulip)31 +b(Chip)f(v)m(on)g(DEC)h(basieren,)f(hab)s(en)382 4686 +y(die)39 b(F\344higk)m(eit,)j(auf)c(bis)g(zu)h(14)1501 +4653 y Fg(3)1579 4686 y Fp(zus\344tzlic)m(he)h(MA)m(C-A)m(dressen)f +(reagieren)h(zu)f(k)m(\366n-)382 4799 y(nen.)h(Diese)27 +b(F\344higk)m(eit)i(k)m(\366nn)m(te)g(man)f(ausn)m(\374tzen,)i(um)e(MA) +m(C-A)m(dre\377\374b)s(ernahme)i(f\374r)382 4912 y(bis)35 +b(zu)h(14)g(virtuelle)g(IP-A)m(dressen)g(auf)g(einer)g(einzigen)h(T)-8 +b(ulip-basierten)38 b(Karte)e(zu)382 5025 y(implemen)m(tieren.)p +382 5086 1196 4 v 486 5140 a Ff(2)520 5172 y Fe(A)n(ddress)25 +b(Resolution)h(Proto)r(col)486 5232 y Ff(3)520 5263 y +Fe(Ein)h(T)-6 b(ulip)26 b(Chip)h(k)l(ann)e(16)j(MA)n(C-A)n(dressen,)e +(eine)h(wird)g(f\374r)f(die)h(Broadcastadresse)i(und)c(eine)382 +5355 y(f\374r)h(die)f(\034xe)g(IP-A)n(dresse)g(b)r(en\366tigt.)1831 +5622 y Fp(64)p eop +%%Page: 65 67 +65 66 bop 382 262 a Fl(KAPITEL)31 b(6.)71 b(HA)30 b(UNTER)g(LINUX)187 +b(6.1.)71 b(CLUSTER)31 b(MANA)m(GEMENT)p 382 299 2989 +4 v 382 539 a Fo(6.1.2)112 b(Cluster-Managemen)m(t-Soft)m(w)m(are)382 +757 y Fp(Da)31 b(es)f(lange)i(Zeit)f(\374b)s(erhaupt)h(k)m(eine)g +(fertigen)f(L\366sungen)h(auf)f(diesem)h(Gebiet)f(gab,)382 +870 y(sind)e(zw)m(ei)h(sp)s(ezielle)f(Cluster-Manager)i(auf)e(der)g +(Basis)g(v)m(on)g(Shell-Skripts)h(en)m(tstan-)382 983 +y(den.)48 b(Einer)34 b(v)m(erw)m(endet)h(MA)m(C-A)m(dre\377\374b)s +(ernahme)h([Lew99)q(],)e(w)m(\344hrend)g(der)g(andere)382 +1095 y(ARP-P)m(ak)m(ete)e(v)m(erw)m(endet)g([Hor98)q(].)382 +1380 y Fn(6.1.2.1)103 b(Heartb)s(eat)382 1599 y Fp(Heartb)s(eat)32 +b([Rob00])f(ist)g(ein)h(Cluster-Manager,)h(der)f(\026)f(wie)h(der)g +(Lin)m(ux-Kernel)h(\026)382 1712 y(nac)m(h)e(den)g(Regeln)g(der)f(GPL)h +(frei)g(erh\344ltlic)m(h)h(ist.)382 1871 y(Die)f(K)m(on\034guration)j +(v)m(on)e(Heartb)s(eat)f(wird)h(in)f(K)m(on\034gurations\034les)j(v)m +(orgenommen,)382 1984 y(die)g(im)h(/etc/ha.d/)g(aller)g(Knotenrec)m +(hner)i(abgelegt)e(w)m(erden)h(m)m(\374ssen.)52 b(Heartb)s(eat)382 +2097 y(stellt)30 b(die)h(K)m(onsistenz)h(dieser)e(K)m +(on\034gurations\034les)j(nic)m(h)m(t)f(sic)m(her.)382 +2256 y(Heartb)s(eat)f(bietet)g(wie)g(in)f(den)h(v)m(origen)g(Absc)m +(hnitten)h(b)s(esc)m(hrieb)s(en:)518 2505 y Fd(\017)46 +b Fp(\334b)s(erw)m(ac)m(h)m(ung)33 b(der)e(einzelnen)h(Knoten.)609 +2618 y(Dies)g(k)-5 b(ann)32 b(\374b)s(er)g(mehrere)i(IP-basierte)f +(Netzw)m(erk)m(e)g(o)s(der)f(\374b)s(er)g(serielle)h(V)-8 +b(er-)609 2731 y(bindungen)24 b(erfolgen.)38 b(Solange)24 +b(Heartb)s(eat-P)m(ak)m(ete)g(\374b)s(er)e(eine)h(der)f(m\366glic)m +(hen)609 2844 y(V)-8 b(erbindungen)24 b(ausgetausc)m(h)m(t)f(w)m(erden) +g(k)m(\366nnen,)i(b)s(etrac)m(h)m(ten)f(sic)m(h)e(die)f(Knoten)609 +2957 y(als)30 b(leb)s(endig.)609 3106 y(Aus)21 b(diesem)i(V)-8 +b(erhalten)23 b(k)-5 b(ann)22 b(folgendes)g(Beispiel)g(k)m(onstruiert)h +(w)m(erden:)37 b(Zw)m(ei)609 3219 y(Knoten)23 b(sind)e(mit)h(einem)h +(Ethernetsegmen)m(t)h(und)e(einem)h(seriellen)f(Kab)s(el)g(v)m(er-)609 +3331 y(bunden,)29 b(die)f(Clien)m(ts)g(sind)g(eb)s(enfalls)f(an)h(das)f +(Ethernetsegmen)m(t)j(angesc)m(hlos-)609 3444 y(sen.)57 +b(W)-8 b(enn)36 b(n)m(un)g(die)g(Netzw)m(erkk)-5 b(arte)37 +b(des)f(Knotens,)i(auf)d(dem)h(das)g(Service)609 3557 +y(l\344uft,)i(ausf\344llt,)g(b)s(el\344\377t)f(Heartb)s(eat)g(das)f +(Service)h(auf)f(diesem)h(Knoten,)i(w)m(eil)609 3670 +y(die)29 b(b)s(eiden)g(Knoten)g(immer)h(no)s(c)m(h)f(\374b)s(er)f(das)h +(serielle)g(Kab)s(el)g(k)m(omm)m(unizieren)609 3783 y(k)m(\366nnen.)609 +3932 y(Die)44 b(Heartb)s(eat-P)m(ak)m(ete,)51 b(die)44 +b(v)m(ersendet)h(w)m(erden,)50 b(k)m(\366nnen)45 b(nac)m(h)g(v)m(ersc)m +(hie-)609 4045 y(denen)35 b(Metho)s(den)g(authen)m(ti\034ziert)i(w)m +(erden,)g(so)s(da\377)d(auc)m(h)i(der)e(Betrieb)h(\374b)s(er)609 +4157 y(nic)m(h)m(t)d(v)m(ertrauensw\374rdige)h(Netze)e(m\366glic)m(h)h +(ist.)518 4342 y Fd(\017)46 b Fp(V)-8 b(erw)m(altung)33 +b(ho)s(c)m(h)m(v)m(erf\374gbarer)g(Services.)609 4455 +y(Eine)27 b(laufende)g(Heartb)s(eat-Installation)h(k)-5 +b(ann)26 b(mehrere)h(Services)f(v)m(erw)m(alten,)609 +4568 y(w)m(ob)s(ei)40 b(eine)f(b)s(eliebige)h(Anzahl)g(v)m(on)f +(Services)g(einer)h(virtuellen)g(IP-A)m(dresse)609 4681 +y(zugeordnet)32 b(w)m(erden)g(k)-5 b(ann.)40 b(Abh\344ngigk)m(eiten)32 +b(zwisc)m(hen)g(den)e(einzelnen)i(Ser-)609 4793 y(vices)e(k)m(\366nnen) +i(nic)m(h)m(t)g(de\034niert)g(w)m(erden,)h(do)s(c)m(h)e(w)m(erden)h +(die)f(Services)g(in)g(einer)609 4906 y(de\034nierten)h(Reihenfolge)e +(gestartet,)h(w)m(\344hrend)h(sie)e(in)g(der)g(genau)h(umgek)m(ehr-)609 +5019 y(ten)g(Reihenfolge)g(gestoppt)g(w)m(erden.)609 +5168 y(Die)f(Services)f(w)m(erden)i(\374b)s(er)f(Shell-Skripten,)h(wie) +f(sie)f(auc)m(h)i(v)m(om)e(init)h(Proze\377)609 5281 +y(v)m(erw)m(endet)46 b(w)m(erden,)j(gesteuert,)f(w)m(ob)s(ei)c(auc)m(h) +h(\034xe)f(P)m(arameter)i(\374b)s(ergeb)s(en)609 5394 +y(w)m(erden)32 b(k)m(\366nnen.)1831 5622 y(65)p eop +%%Page: 66 68 +66 67 bop 382 262 a Fl(KAPITEL)31 b(6.)71 b(HA)30 b(UNTER)g(LINUX)187 +b(6.1.)71 b(CLUSTER)31 b(MANA)m(GEMENT)p 382 299 2989 +4 v 609 539 a Fp(Die)26 b(\334b)s(ernahme)g(v)m(on)g(IP-A)m(dressen)h +(wird)f(eb)s(enfalls)f(v)m(on)h(einem)h(Shell)f(Skript)609 +652 y(implemen)m(tiert)33 b(und)e(gliedert)g(sic)m(h)g(so)f(in)h(das)f +(K)m(on\034gurationssc)m(hema)k(ein.)518 828 y Fd(\017)46 +b Fp(\334b)s(erw)m(ac)m(h)m(ung)33 b(der)e(Services)f(ist)g(nic)m(h)m +(t)i(implemen)m(tiert.)609 941 y(Die)j(einzige)h(M\366glic)m(hk)m(eit,) +h(dies)e(zu)g(erreic)m(hen)i(ist)d(der)h(Einsatz)h(eines)f(eigen-)609 +1054 y(st\344ndigen)k(Programmes,)j(das)c(die)g(V)-8 +b(erf\374gbark)m(eit)40 b(des)e(Services)g(\374b)s(erpr\374ft)609 +1167 y(und,)c(falls)f(diese)g(nic)m(h)m(t)h(mehr)g(gegeb)s(en)f(ist,)h +(den)f(lok)-5 b(alen)33 b(Heartb)s(eat-Proze\377)609 +1280 y(mit)g(einem)h(Signal)f(b)s(eendet.)48 b(Dies)32 +b(hat)h(nat\374rlic)m(h)i(den)e(Nac)m(h)m(teil,)i(da\377)e(nic)m(h)m(t) +609 1393 y(n)m(ur)28 b(das)e(ausgefallene)i(Service)f(sondern)g(alle)g +(Services,)h(die)f(auf)g(diesem)g(Kno-)609 1506 y(ten)k(laufen,)g(v)m +(on)f(dem)h(Knoten)h(abgesiedelt)f(w)m(erden.)518 1683 +y Fd(\017)46 b Fp(Dynamisc)m(he)32 b(\304nderung)f(der)g(K)m +(on\034guration.)609 1795 y(Es)20 b(gibt)h(eine)g(K)m +(ommandozeilenoption,)27 b(mit)20 b(der)h(man)g(eine)g(laufende)g +(Heartb)s(eat-)609 1908 y(Instanz)i(dazu)h(b)s(ew)m(egen)g(k)-5 +b(ann,)25 b(ihre)e(K)m(on\034gurationsdateien)k(neu)c(einzulesen.)609 +2021 y(W)-8 b(enn)38 b(dab)s(ei)f(ein)g(Service)h(aus)f(der)g(K)m +(on\034guration)j(en)m(tfern)m(t)f(wurde,)g(k)m(enn)m(t)609 +2134 y(Heartb)s(eat)g(dieses)g(Service)g(nic)m(h)m(t)h(mehr)g(und)f +(sorgt)g(daher)g(nic)m(h)m(t)h(mehr)g(f\374r)609 2247 +y(eine)31 b(ordn)m(ungsgem\344\377e)i(Beendigung.)382 +2466 y(Die)f(bisherige)h(En)m(t)m(wic)m(klung)i(v)m(on)d(Heartb)s(eat)h +(hat)f(sic)m(h)h(auf)e(den)i(Einsatz)g(v)m(on)f(Ser-)382 +2579 y(vices)26 b(b)s(esc)m(hr\344nkt,)i(die)f(ihre)g(Daten)f(en)m(t)m +(w)m(eder)k(selbst)c(replizieren)i(k)m(\366nnen,)g(o)s(der)f(b)s(ei)382 +2692 y(denen)39 b(die)f(Daten)h(mit)g(Hilfe)e(anderer)j(Mec)m(hanismen) +f(repliziert)h(w)m(erden.)65 b(So)39 b(ist)382 2805 y(Heartb)s(eat)31 +b(bis)f(jetzt)g(v)m(or)h(allem)g(mit)g(folgenden)g(Services)g +(eingesetzt)g(w)m(orden:)518 3024 y Fd(\017)46 b Fp(DNS-Serv)m(er)609 +3137 y(Die)34 b(Zonen\034les)h(des)f(DNS-Dienstes)g(m)m(\374ssen)g(b)s +(ei)g(einer)g(\304nderung)h(man)m(uell)609 3250 y(repliziert)d(w)m +(erden.)518 3426 y Fd(\017)46 b Fp(HTTP-Pro)m(xy-Cac)m(he)609 +3539 y(Ein)31 b(Pro)m(xy)f(k)-5 b(ann)30 b(im)g(F)-8 +b(alle)31 b(des)e(V)-8 b(erlustes)30 b(seines)g(Cac)m(he-Inhaltes)i +(seine)e(Ar-)609 3652 y(b)s(eit)45 b(wieder)h(aufnehmen,)k(da)45 +b(er)g(die)h(W)-8 b(eb-Seiten)46 b(wieder)g(v)m(on)g(ihren)f(ur-)609 +3765 y(spr\374nglic)m(hen)33 b(Lok)-5 b(ationen)31 b(holen)g(k)-5 +b(ann.)518 3942 y Fd(\017)46 b Fp(W)-8 b(eb-Serv)m(er)609 +4055 y(Die)23 b(W)-8 b(eb-Seiten)24 b(m)m(\374ssen)f(im)f(F)-8 +b(alle)23 b(einer)g(\304nderung)h(man)m(uell)g(repliziert)f(w)m(er-)609 +4168 y(den,)31 b(z.B.)g(mit)f(rsync.)518 4345 y Fd(\017)46 +b Fp(Lin)m(ux)32 b(Virtual)e(Serv)m(er)i(\(L)-10 b(VS\))609 +4458 y(Der)27 b(Lastaufteiler)h(\(load)g(balancer\))g(eines)f(W)-8 +b(eb-Serv)m(er)28 b(Clusters)f(\(siehe)h(Ab-)609 4570 +y(sc)m(hnitt)39 b(2.2.2)g(auf)f(Seite)g(8\))g(ist)g(ein)g(SPOF)h +(f\374r)f(den)g(ganzen)h(Cluster.)64 b(Der)609 4683 y(Zustand,)33 +b(der)f(f\374r)g(L)-10 b(VS)31 b(v)m(on)i(Bedeutung)g(ist,)e(b)s +(e\034ndet)i(sic)m(h)f(direkt)g(im)g(Ker-)609 4796 y(nel.)41 +b(Man)30 b(nimm)m(t)i(den)f(V)-8 b(erlust)31 b(dieses)f(Zustandes)h(b)s +(eim)f(F)-8 b(ailo)m(v)m(er)32 b(in)f(Kauf.)382 5070 +y Fn(6.1.2.2)103 b(Lin)m(uxF)-9 b(ailSafe)382 5281 y +Fp(Lin)m(uxF)h(ailSa)m(v)m(e)37 b(ist)d(die)g(P)m(ortierung)j(v)m(on)d +(SGIs)f(F)-8 b(ailSa)m(v)m(e)36 b(f\374r)e(IRIX,)f(das)h(eb)s(enfalls) +382 5394 y(un)m(ter)43 b(der)f(GPL)g(v)m(er\366\033en)m(tlic)m(h)m(t)j +(w)m(erden)f(soll.)74 b(Bisher)42 b(ist)g(allerdings)h(no)s(c)m(h)f(k)m +(ein)1831 5622 y(66)p eop +%%Page: 67 69 +67 68 bop 382 262 a Fl(KAPITEL)31 b(6.)71 b(HA)30 b(UNTER)g(LINUX)187 +b(6.1.)71 b(CLUSTER)31 b(MANA)m(GEMENT)p 382 299 2989 +4 v 1164 1447 a @beginspecial 22 @llx 696 @lly 193 @urx +816 @ury 1710 @rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//FailSafe.ps +%!PS-Adobe-3.0 EPSF-3.0 +%%For: Philipp Reisner +%%CreationDate: Tue Apr 4 15:55:26 2000 +%%Title: FailSafe.ps +%%Creator: Sketch 0.6.5 +%%Pages: 1 +%%BoundingBox: 22 696 193 816 +%%Extensions: CMYK +%%DocumentSuppliedResources: (atend) +%%DocumentNeededResources: font Times-Roman +%%EndComments + +%%BeginProlog +%%BeginResource: procset Linux-Sketch-Procset 1.0 2 +/SketchDict 100 dict def +SketchDict begin +/bd { bind def } bind def +/x { exch } bd +/xd { exch def } bd +/PI 3.14159265358979323846264338327 def +/radgrad { 180 mul PI div } bd +/skstartmatrix matrix currentmatrix def +/tmpmat matrix def +/ISOLatin1Encoding dup where +{ pop pop } +{ [/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand +/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period +/slash /zero /one /two /three /four /five /six /seven /eight /nine /colon +/semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J +/K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash +/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i +/j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright +/asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve +/dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek +/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen +/registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu +/paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright +/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex +/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex +/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve +/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute +/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute +/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute +/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde +/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def +} +ifelse +/arct dup where +{pop pop} +{ +/arct {arcto pop pop pop pop} bd +} +ifelse +/size 0 def +/fontname 0 def +/newfont 0 def +/sf { +/size xd +/fontname xd +fontname findfont +dup /Encoding get StandardEncoding eq +{ +dup +length dict /newfont xd +{ +1 index +/FID ne +{ newfont 3 1 roll put } +{ pop pop } +ifelse +} forall +newfont /Encoding ISOLatin1Encoding put +fontname newfont definefont +} +if +size scalefont setfont +} bd +/pusht {matrix currentmatrix} bd +/popt {setmatrix} bd +/pushc {gsave} bd +/popc {grestore} bd +/rgb {setrgbcolor} bd +/w { setlinewidth } bd +/j { setlinejoin } bd +/J { setlinecap } bd +/d { setdash } bd +/F { eofill } bd +/f { closepath F } bd +/S { +pusht +skstartmatrix setmatrix stroke +popt +} bd +/s { closepath S } bd +/m { moveto } bd +/l { lineto } bd +/c { curveto } bd +/txt { +/tmpmat tmpmat currentmatrix def +dup type /arraytype eq {concat} {translate} ifelse +0 0 m +tmpmat +} bd +/T {txt x show popt} bd +/P {txt x true charpath popt} bd +/TP {txt x dup show 0 0 m true charpath popt} bd +/C {newpath 0 360 arc} bd +/R { +2 copy m +x 2 index l +x 2 index x l +l +closepath +} bd +/ellipse { +dup type /arraytype eq +{ +pusht x concat +0 0 1.0 C +popt +} +{ +pusht 5 1 roll +4 -1 roll concat +newpath +dup 2 eq { +0 0 m +} if +3 1 roll +radgrad x +radgrad x +0 0 1 5 -2 roll +arc +0 ne { closepath } if +popt +} +ifelse +} bd +/radius1 0 def +/radius2 0 def +/factor 0 def +/rect { +dup type /arraytype eq +{ +pusht x concat +0 0 m 1 0 l 1 1 l 0 1 l closepath +popt +} +{ +/radius2 xd +/radius1 xd +pusht x concat +radius1 radius2 div 1 scale +0 radius2 m +0 1 radius2 1 radius2 arct +radius2 radius1 div +dup 1 1 index 0 radius2 arct +0 0 0 radius2 arct +0 0 0 1 radius2 arct +closepath +popt +} +ifelse +} bd +/buf 0 def +/width 0 def +/height 0 def +/skcimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width 3 mul string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +false 3 colorimage +tmpmat setmatrix +} bd +/skgimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +image +tmpmat setmatrix +} bd +/rclip { +4 2 roll m +dup 0 x rlineto +x 0 rlineto +neg 0 x rlineto +closepath +clip +} bd +/skeps { +10 dict begin +/sk_state save def +concat +3 index neg 3 index neg translate +rclip +0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin +10 setmiterlimit [ ] 0 setdash +newpath +/sk_dict_count countdictstack def +/sk_count count 1 sub def +userdict begin +/showpage { } def +/languagelevel where +{ +pop +languagelevel 1 ne +{ +false setstrokeadjust +false setoverprint +} if +} if +} bd +/skepsend { +count sk_count sub { pop } repeat +countdictstack sk_dict_count sub { end } repeat +sk_state restore +end +} bd +/gradidx 0 def +/gradient { +3 mul array +/gradidx 0 def +} bd +/$ { +3 index gradidx 5 -1 roll put +2 index gradidx 1 add 4 -1 roll put +1 index gradidx 2 add 3 -1 roll put +/gradidx gradidx 3 add def +} bd +/! { +3 +{ +dup dup gradidx dup 3 1 roll 3 sub get put +/gradidx gradidx 1 add def +} +repeat +} bd +/gradcolor { +3 mul dup 2 add 1 exch % idx 1 idx+2 +{ +1 index exch % array array i +get % array component +exch % component array +} +for +4 1 roll +} bd +/x0 0 def /y0 0 def /x1 0 def /y1 0 def +/left 0 def /right 0 def /top 0 def /bottom 0 def +/numcolors 0 def +/axial { +/y1 xd /x1 xd /y0 xd /x0 xd +dup length 3 idiv /numcolors xd +pusht exch % ctm array +x0 x1 ne y0 y1 ne or +{ +x0 y0 translate +[x1 x0 sub y1 y0 sub dup neg 2 index 0 0] concat +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +0 gradcolor rgb clippath f +0 1 numcolors 1 sub +{ +dup numcolors div +3 1 roll +gradcolor rgb +exch +bottom right top R f +} +for +} +if +pop +popt +} bd +/r0 0 def /r1 0 def /dr 0 def +/radial { +/r1 xd /r0 xd /y0 xd /x0 xd +/dr r1 r0 sub def +dup length 3 idiv /numcolors xd +pusht exch % ctm array +r0 r1 ne +{ +x0 y0 translate +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +dr 0 gt {numcolors 1 sub}{0} ifelse gradcolor rgb +clippath f +dr 0 gt {numcolors 1 sub -1 0} { 0 1 numcolors 1 sub} ifelse +{ +dup numcolors div dr mul r0 add +3 1 roll +gradcolor rgb +exch +0 0 3 -1 roll C f +} +for +} +if +pop +popt +} bd +/max { +2 copy lt {exch} if pop +} bd +/conical { +pusht 5 1 roll +3 1 roll /y0 xd /x0 xd +x0 y0 translate +radgrad rotate +dup length 3 idiv /numcolors xd +clippath flattenpath pathbbox newpath +4 { abs 4 1 roll} repeat +3 { max } repeat +2 mul +dup scale +0 gradcolor rgb +0 0 1 0 360 arc f +1 1 numcolors 1 sub +{ +dup numcolors div 180 mul +3 1 roll +gradcolor rgb +exch +0 0 moveto +0 0 1 4 -1 roll dup neg arc +closepath f +} +for +pop +popt +} bd +/XStep 0 def /YStep 0 def /imagedata 0 def /components 0 def +/tileimage2 { +exch 4 2 roll +/height xd +/width xd +mark +/components 2 index +/PatternType 1 +/PaintType 1 +/TilingType 1 +/BBox [0 0 width height] +/XStep width +/YStep height +/PaintProc { +begin +XStep YStep 8 +matrix +imagedata +false +components +colorimage +end +} +counttomark 2 div cvi dup dict begin +{ def } repeat +pop currentdict end +dup +/imagedata +4 -1 roll +width height mul mul string +currentfile exch readhexstring pop +put +exch +makepattern +setpattern +clippath +eofill +} bd +/tileimage1 { +concat +/components xd +/height xd +/width xd +/imagedata +currentfile +width height mul components mul string +readhexstring pop +def +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +left width div floor width mul +bottom height div floor height mul +translate +top bottom sub height div ceiling cvi +{ +gsave +right left sub width div ceiling cvi +{ +width height 8 matrix +components 1 eq +{ +{ imagedata } +image +} +{ +imagedata +false components +colorimage +} +ifelse +width 0 translate +} +repeat +grestore +0 height translate +} +repeat +} bd +/makepattern where +{ +pop +/tileimage /tileimage2 load def +} +{ +/tileimage /tileimage1 load def +} +ifelse +end +%%EndResource +%%EndProlog + +%%BeginSetup +%%IncludeResource: font Times-Roman + +10.433 setmiterlimit +%%EndSetup + +%%Page: 1 1 +SketchDict begin +[28.3465 0 0 -5.66928 127.559 728.504] ellipse +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[28.3465 0 0 -5.66928 127.559 708.661] 5.38297e-06 3.14159 0 ellipse +0.992126 w +1 J +S +newpath +99.2126 728.504 m +99.2126 708.661 l +1 j +S +newpath +155.906 728.504 m +155.906 708.661 l +0 j +S +/Times-Roman 12 sf +(C) [0.996017 -0.0891609 0 1 116.22 709.145] T +(D) [0.999959 0.0090827 0 1 124.199 708.439] T +(B) [0.992105 0.125414 0 1 132.876 708.467] T +[56.6929 0 0 -19.8425 28.3465 722.835] rect +1 w +0 J +S +[56.6929 0 0 -19.8425 28.3465 748.346] rect +S +[56.6929 0 0 -19.8425 28.3465 773.858] rect +S +[56.6929 0 0 -19.8425 68.0316 810.71] rect +S +[56.6929 0 0 -19.8425 130.394 810.71] rect +S +[56.6929 0 0 -19.8425 99.2126 773.858] rect +S +(CMS) +44 708 T +(GCS) +46 734 T +(SRM) +44 759 T +(CAD) +116 759 T +newpath +68.0316 790.867 m +99.2128 773.859 l +0.283465 w +S +newpath +124.725 790.867 m +127.559 773.859 l +S +newpath +187.087 790.867 m +155.906 773.859 l +S +newpath +130.394 790.867 m +127.559 773.859 l +S +(GUI Tools) +70 796 T +(CLI Tools) +134 796 T +%%PageTrailer +showpage +%%Trailer +end +%%DocumentSuppliedResources: procset Linux-Sketch-Procset 1.0 2 +%%EOF + +%%EndDocument + @endspecial 1078 1643 a Fp(Abbildung)h(6.1:)41 b(Arc)m(hitektur)31 +b(v)m(on)g(F)-8 b(ailSafe)382 1918 y(Quelltext)31 b(v)m(er\366\033en)m +(tlic)m(h)m(t)j(w)m(orden.)382 2081 y(F)-8 b(ailSa)m(v)m(e)32 +b(b)s(esteh)m(t)f(aus)f(folgenden)i(T)-8 b(eilen:)518 +2343 y Fd(\017)46 b Fp(CMS)31 b(\(Cluster)g(Mem)m(b)s(ership)g +(Service\))609 2456 y(Dieses)22 b(Subsystem)h(\374b)s(erw)m(ac)m(h)m(t) +i(alle)e(Knoten)g(durc)m(h)h(das)e(st\344ndige)h(V)-8 +b(ersenden)609 2569 y(v)m(on)31 b(Heartb)s(eat-P)m(ak)m(eten.)518 +2757 y Fd(\017)46 b Fp(GCS)31 b(\(Group)g(Comm)m(unication)i(Service\)) +609 2870 y(Dieses)d(Subsystem)g(baut)g(auf)g(das)g(CMS)f(auf)h(und)h +(stellt)f(den)g(An)m(w)m(endungen)609 2983 y(eine)f(k)m(onsisten)m(te)g +(Sic)m(h)m(t)h(v)m(on)f(Proze\377grupp)s(en)i(zur)d(V)-8 +b(erf\374gung)29 b(und)g(sorgt)g(f\374r)609 3095 y(eine)i(zuv)m +(erl\344ssige)g(Zustellung)h(v)m(on)e(Nac)m(hric)m(h)m(ten.)518 +3283 y Fd(\017)46 b Fp(SRM)30 b(\(System)g(Resource)h(Manager\))609 +3396 y(Der)49 b(SRM)e(baut)i(auf)g(die)f(F)-8 b(unktionalit\344t)51 +b(des)d(GCS)h(auf)f(und)h(v)m(erw)m(altet)609 3509 y(alle)44 +b(clusterw)m(eiten)i(Ressourcen)d(wie:)67 b(Shared)44 +b(Disks,)i(Dateisysteme,)h(IP-)609 3622 y(A)m(dressen,)31 +b(Services)f(und)h(frei)g(de\034nierbare)h(Ressourcen.)518 +3809 y Fd(\017)46 b Fp(CDB)31 b(\(Cluster)g(Con\034guration)h +(Database\))609 3922 y(Diese)22 b(Daten)m(bank)g(hat)g(ein)g +(einheitlic)m(hes)h(In)m(terface)g(f\374r)e(Applik)-5 +b(ationen,)24 b(w)m(\344h-)609 4035 y(rend)31 b(am)g(Bac)m(k)m(end)h(v) +m(ersc)m(hiedene)g(Implemen)m(tierungen)h(v)m(orhanden)f(sind.)609 +4186 y(Diese)39 b(Daten)m(bank)i(wird)e(auf)g(mehreren)i(Knoten)f(des)f +(Clusters)g(redundan)m(t)609 4298 y(abgelegt,)46 b(und,)f(falls)d(ein)g +(Knoten)h(nac)m(h)g(einem)f(Ausfall)f(einen)i(v)m(eralteten)609 +4411 y(Datenstand)38 b(in)g(seiner)f(Daten)m(bank)i(hat,)g(wird)f +(diese)f(k)m(omplett)i(durc)m(h)f(den)609 4524 y(Datenstand)32 +b(einer)f(aktuellen)g(Daten)m(bank)h(ersetzt.)382 4787 +y(F)-8 b(ailSafe)30 b(k)-5 b(ann)29 b(Cluster)h(bis)f(zu)h(16)f(Knoten) +i(v)m(erw)m(alten)g(und)f(bietet)g(un)m(ter)g(anderem)382 +4900 y(folgende)h(F)-8 b(eatures:)518 5162 y Fd(\017)46 +b Fp(Lok)-5 b(ale)28 b(\334b)s(erw)m(ac)m(h)m(ung)i(eines)d(Services,)i +(so)m(w)m(ohl)f(passiv)f(\(z.B.)h(\334b)s(erw)m(ac)m(h)m(ung,)609 +5275 y(ob)33 b(ein)g(Proze\377)h(no)s(c)m(h)f(v)m(orhanden)h(ist\))e +(als)h(auc)m(h)g(aktiv)g(\(z.B.)g(Daten)m(bank)-5 b(ab-)609 +5388 y(frage,)31 b(HTTP-Anfrage,)g(.)15 b(.)g(.)g(\))1831 +5622 y(67)p eop +%%Page: 68 70 +68 69 bop 382 262 a Fl(KAPITEL)31 b(6.)71 b(HA)30 b(UNTER)g(LINUX)187 +b(6.1.)71 b(CLUSTER)31 b(MANA)m(GEMENT)p 382 299 2989 +4 v 518 539 a Fd(\017)46 b Fp(Lok)-5 b(ales)28 b(F)-8 +b(ailo)m(v)m(er,)30 b(w)m(egen)e(F)-8 b(ehler)28 b(in)g(der)f(Soft)m(w) +m(are)i(die)f(das)f(Service)h(an)m(bietet)609 652 y(\(siehe)j(Absc)m +(hnitt)g(2.3.2)g(auf)f(Seite)h(11\))518 825 y Fd(\017)46 +b Fp(F)-8 b(estlegung)32 b(der)f(F)-8 b(ailo)m(v)m(er-Reihenfolge)609 +938 y(F\374r)26 b(ein)g(Service)g(gibt)g(es)g(eine)g(geordnete)h(Liste) +f(an)g(Knoten.)40 b(Ist)25 b(die)h(Ausf\374h-)609 1051 +y(rung)38 b(des)e(Services)h(auf)g(dem)g(ersten)g(Knoten)h(m\366glic)m +(h,)i(so)c(\034ndet)i(sie)e(auc)m(h)609 1164 y(dort)31 +b(statt,)g(andernfalls)g(wird)g(der)f(n\344c)m(hste)i(Knoten)f(der)g +(Liste)g(b)s(etrac)m(h)m(tet.)609 1307 y(Dadurc)m(h)25 +b(ist)e(die)g(Realisierung)h(einer)f(sog.)38 b(Stern-Arc)m(hitektur)26 +b(m\366glic)m(h.)39 b(Da-)609 1420 y(b)s(ei)28 b(ist)g(ein)g(Knoten)i +(des)e(Clusters)g(als)g(Bac)m(kup-Knoten)i(f\374r)e(mehrere)i(andere) +609 1533 y(Knoten)i(und)e(deren)h(Services)g(abgestellt.)518 +1706 y Fd(\017)46 b Fp(Priorit\344ten)32 b(der)f(Services)609 +1819 y(Beispiel:)47 b(Es)34 b(laufen)f(zw)m(ei)i(Services)f(auf)f +(einem)h(Knoten,)h(die)f(b)s(eide)g(ein)g(b)s(e-)609 +1932 y(stimm)m(tes)46 b(Filesystem)e(\(gemeinsame)i(Ressource\))f(b)s +(en\366tigen.)84 b(W)-8 b(enn)45 b(ein)609 2045 y(Service)e(auf)e +(diesem)i(Knoten)f(nic)m(h)m(t)i(mehr)e(gestartet)h(w)m(erden)g(k)-5 +b(ann,)45 b(k)-5 b(ann)609 2158 y(festgelegt)39 b(w)m(erden,)i(ob)e +(dann)f(b)s(eide)g(Services)h(auf)f(einen)g(anderen)h(Knoten)609 +2271 y(migriert)g(w)m(erden)g(o)s(der)f(ob)g(auf)f(das)h(ausgefallene)h +(Service)f(v)m(erzic)m(h)m(tet)i(wird)609 2384 y(und)h(somit)g(das)f +(laufende)h(Service)g(k)m(einer)h(Migration)f(un)m(terzogen)i(w)m +(erden)609 2497 y(m)m(u\377.)518 2670 y Fd(\017)j Fp(W\344hrend)23 +b(der)f(Laufzeit)h(des)e(Clusters)h(k)m(\366nnen)h(Ressourcen)f +(hinzugef\374gt)h(und)609 2783 y(w)m(eggenommen)33 b(w)m(erden.)382 +3052 y Fn(6.1.2.3)103 b(Mon)382 3260 y Fp(Mon)46 b(ist)f(zw)m(ar)i(k)m +(eine)f(Cluster-Managmen)m(t)j(Soft)m(w)m(are,)i(bietet)c(daf\374r)f +(ab)s(er)f(sehr)382 3373 y(\035exible)37 b(M\366glic)m(hk)m(eiten,)j +(Netzw)m(erkinfrastruktur)e(und)f(Dienste)f(im)h(Netzw)m(erk)g(zu)382 +3486 y(\374b)s(erw)m(ac)m(hen,)d(und)e(wird)g(aus)f(diesem)h(Grund)g +(auc)m(h)g(in)g(vielen)f(Artik)m(eln)h(\374b)s(er)g(hohe)382 +3599 y(V)-8 b(erf\374gbark)m(eit)41 b(un)m(ter)f(Lin)m(ux)h(erw)m +(\344hn)m(t.)70 b(Mon)39 b(ist)g(ein)h(Daemon,)i(der)e(in)g(P)m(erl)g +(ge-)382 3711 y(sc)m(hrieb)s(en)32 b(wurde)f(und)g(un)m(ter)h(der)f +(GPL)h(w)m(eitergegeb)s(en)h(wird.)42 b(Im)30 b(folgenden)i(eine)382 +3824 y(kurze)e(Besc)m(hreibung)j(der)d(F)-8 b(eatures:)382 +4030 y Fn(Monitor)45 b Fp(Ein)35 b(Monitor)g(ist)f(ein)h(kleines)g +(Programm,)i(das)d(v)m(om)h(Mon-Proze\377)h(ge-)609 4143 +y(startet)c(wird,)g(eine)f(Ressource)g(\374b)s(erpr\374ft)g(und)h(das)f +(Ergebnis)h(an)f(den)g(Mon-)609 4256 y(Proze\377)c(zur\374c)m +(kliefert.)40 b(Mit)25 b(Mon)h(w)m(erden)g(b)s(ereits)g(eine)g(Anzahl)f +(solc)m(her)i(Pro-)609 4369 y(gramme)34 b(mitgeliefert:)48 +b(ICMP)33 b(ec)m(ho)h(\(ping\),)h(SMTP)-8 b(,)34 b(telnet,)h(FTP)-8 +b(,)34 b(NNTP)-8 b(,)609 4482 y(HTTP)g(,)28 b(POP-3,)h(IMAP)-8 +b(,)26 b(Disk)g(space,)i(LD)m(AP)-8 b(,)28 b(DNS,)f(mSQL,)g(m)m(ySQL,)h +(RPC)609 4595 y(und)j(mehrere)g(SNMP-basierte)h(T)-8 +b(ests.)382 4769 y Fn(Async)m(hrone)34 b(Ereignisse)45 +b Fp(Mon)27 b(k)-5 b(ann)26 b(auc)m(h)h(auf)f(async)m(hrone)i +(Ereignisse)f(reagie-)609 4881 y(ren.)70 b(Die)40 b(Referenzan)m(w)m +(endung)j(f\374r)c(diese)h(F\344higk)m(eit)i(ist)d(das)h(Empfangen)609 +4994 y(und)31 b(die)g(Ausw)m(ertung)g(v)m(on)g(SNMP-T)-8 +b(raps.)382 5168 y Fn(Alert)46 b Fp(Ein)28 b(Alert)f(ist)g(ein)g +(Programm,)i(das)e(eine)h(Meldung)g(an)f(einen)g(Systemadmi-)609 +5281 y(nistrator)g(w)m(eitergeb)s(en)g(k)-5 b(ann.)39 +b(Bereits)26 b(v)m(orhanden)h(sind:)39 b(Email,)27 b(P)m(ager)h(\(via) +609 5394 y(Quic)m(kP)m(age,)33 b(SNPP)e(und)g(Email\))g(und)g(SNMP-T)-8 +b(raps.)1831 5622 y(68)p eop +%%Page: 69 71 +69 70 bop 382 262 a Fl(KAPITEL)31 b(6.)71 b(HA)30 b(UNTER)g(LINUX)725 +b(6.2.)71 b(FILESYSTEME)p 382 299 2989 4 v 382 539 a +Fn(Abh\344ngigk)m(eiten)46 b Fp(Es)34 b(k)m(\366nnen)g(Abh\344ngigk)m +(eiten)i(der)e(Netzw)m(erkressourcen)i(de\034-)609 652 +y(niert)30 b(w)m(erden,)h(so)s(da\377)d(z.B.)h(b)s(eim)h(Ausfall)e +(eines)h(Routers)g(n)m(ur)h(dieser)f(Ausfall)609 764 +y(gemeldet)j(wird)f(und)g(nic)m(h)m(t)h(die)f(Ausf\344lle)f(aller)h +(Dienste,)g(die)g(in)g(den)g(Netzen,)609 877 y(die)c(n)m(ur)g(\374b)s +(er)f(den)h(eb)s(en)f(ausgefallenen)i(Router)e(erreic)m(h)m(bar)j +(sind,)e(angeb)s(oten)609 990 y(w)m(erden.)382 1178 y +Fn(Benac)m(hric)m(h)m(tigung)45 b Fp(Beliebige)28 b(Benac)m(hric)m(h)m +(tigungen)k(k)m(\366nnen)d(an)e(jedes)h(Ereignis)609 +1291 y(gekn)m(\374pft)34 b(w)m(erden.)51 b(So)34 b(ist)f(es)g(auc)m(h)h +(m\366glic)m(h,)i(einen)e(Bereitsc)m(haftsplan)h(mit)609 +1404 y(Mon)28 b(zu)h(realisieren.)41 b(F\344llt)29 b(z.B.)f(eine)h(b)s +(estimm)m(te)g(Ressource)f(zwisc)m(hen)i(8:00)609 1517 +y(und)h(18:00)h(aus,)f(wird)g(an)g(alle)g(P)m(ager)i(der)e(A)m +(dministratoren)i(eine)e(Nac)m(hric)m(h)m(t)609 1630 +y(gesendet.)38 b(T)-8 b(ritt)22 b(der)f(Ausfall)f(in)h(der)g(Nac)m(h)m +(t)h(auf,)h(wird)e(n)m(ur)h(ein)f(A)m(dministrator)609 +1742 y(p)s(er)30 b(P)m(ager)i(b)s(enac)m(hric)m(h)m(tigt.)382 +1930 y Fn(F)-9 b(ron)m(tend)46 b Fp(F\374r)27 b(die)h(A)m +(dministration)h(und)f(Best\344tigung)g(v)m(on)g(Nac)m(hric)m(h)m(ten)i +(stehen)609 2043 y(K)m(ommandozeilen-T)-8 b(o)s(ols)31 +b(und)d(ein)f(W)-8 b(eb-F)g(ron)m(tend)30 b(zur)e(V)-8 +b(erf\374gung.)41 b(Die)27 b(Er-)609 2156 y(stellung)k(w)m(eiterer)h(F) +-8 b(ron)m(tends)32 b(ist)e(v)m(orgesehen.)382 2492 y +Fj(6.2)130 b(Filesysteme)382 2745 y Fp(Ext2)33 b(ist)f(das)g(einzige)h +(der)g(hier)g(v)m(orgestellten)g(Dateisysteme,)h(das)e(momen)m(tan)i +(ein)382 2858 y(Bestandteil)c(v)m(on)g(Lin)m(ux)h(ist.)40 +b(Die)29 b(anderen)i(w)m(erden)g(alle)f(no)s(c)m(h)g(extern)g(v)m(om)g +(Kernel)382 2971 y(w)m(eiteren)m(t)m(wic)m(k)m(elt.)382 +3133 y(Die)c(wic)m(h)m(tigste)j(Eigensc)m(haft,)g(die)d(ein)h +(Dateisystem)g(mitbringen)h(m)m(u\377,)g(um)f(f\374r)f(den)382 +3246 y(Einsatz)c(auf)f(einem)i(HA-Cluster)e(geeignet)i(zu)e(sein,)j +(ist)d(die)g(rasc)m(he)i(Einsatzf\344higk)m(eit)382 3359 +y(nac)m(h)31 b(einem)g(Absturz.)382 3652 y Fo(6.2.1)112 +b(ext2)382 3874 y Fp(Das)33 b(Grundk)m(onzept)i(v)m(on)f(ext2)g +([BBDK97][HHMK94)q(][Rus98])f(ist)g(dem)h(des)f(BSD)382 +3987 y(FFS)28 b(sehr)h(\344hnlic)m(h.)41 b(Das)29 b(Design)f(v)m(on)h +(BSD)g(FFS)f(stamm)m(t)i(aus)e(einer)h(Zeit,)h(als)e(eine)382 +4100 y(K)m(onsistenzpr\374fung)i(des)f(Filesystems)f(aufgrund)h(der)g +(damals)g(\374blic)m(hen)h(Gr\366\377e)f(der)382 4213 +y(F)-8 b(estplatten)32 b(in)e(annehm)m(barer)j(Zeit)e(durc)m +(hgef\374hrt)h(w)m(erden)g(k)m(onn)m(te.)382 4375 y(Mit)d(ext2)g(k)m +(\366nnen)i(theoretisc)m(h)f(Filesysteme)g(mit)f(einer)h(Gr\366\377e)g +(v)m(on)g(bis)f(zu)g(16)g(T)-8 b(er-)382 4488 y(rab)m(yte)41 +b(angelegt)h(w)m(erden.)73 b(Dies)41 b(ergibt)g(sic)m(h)g(daraus,)j +(da\377)d(ext2)g(32)g(Bit)g(f\374r)f(die)382 4601 y(A)m(dressierung)46 +b(der)f(Bl\366)s(c)m(k)m(e)g(v)m(erw)m(endet)i(und)e(mit)g(einer)h +(maximalen)g(Blo)s(c)m(kgr\366\377e)382 4714 y(v)m(on)30 +b(4K)g(arb)s(eiten)h(k)-5 b(ann)29 b Fh(\(2)1348 4681 +y Fb(32)1443 4714 y Fd(\003)19 b Fh(2)1552 4681 y Fb(12)1653 +4714 y Fh(=)25 b(2)1794 4681 y Fb(44)1869 4714 y Fh(\))p +Fp(.)40 b(Ber\374c)m(ksic)m(h)m(tigt)33 b(man)d(jedo)s(c)m(h,)g(da\377) +h(das)382 4827 y(IO-Subsystem)37 b(des)g(Kernels)h(alle)g(Blo)s(c)m(kn) +m(ummern)h(in)e(Sektorn)m(ummern)j(umrec)m(h-)382 4940 +y(net,)32 b(so)f(ist)g(die)g(maximale)i(Gr\366\377e)e(einer)h(P)m +(artition)h(auf)f(32-Bit-Plattformen)h(auf)e(2)382 5053 +y(T)-8 b(erab)m(yte)32 b(b)s(esc)m(hr\344nkt)f Fh(\(2)1301 +5020 y Fb(32)1397 5053 y Fd(\003)20 b Fh(2)1507 5020 +y Fb(9)1573 5053 y Fh(=)25 b(2)1714 5020 y Fb(41)1789 +5053 y Fh(\))p Fp(.)382 5215 y(Nimm)m(t)d(man)g(an,)h(da\377)f(die)g(K) +m(onsistenzpr\374fung)h(pro)f(GB)f(et)m(w)m(a)i(60)e(Sekunden)h +(dauert,)382 5328 y(w\374rde)44 b(die)g(K)m(onsistenzpr\374fung)h +(eines)e(2-TB-Filesystems)h(et)m(w)m(a)g(33)g(Stunden)g(in)1831 +5622 y(69)p eop +%%Page: 70 72 +70 71 bop 382 262 a Fl(KAPITEL)31 b(6.)71 b(HA)30 b(UNTER)g(LINUX)725 +b(6.2.)71 b(FILESYSTEME)p 382 299 2989 4 v 382 539 a +Fp(Anspruc)m(h)31 b(nehmen)1094 506 y Fg(4)1135 539 y +Fp(.)382 701 y(Diese)39 b(Absc)m(h\344tzung)h(soll)f(n)m(ur)g(die)h +(m\366glic)m(he)g(Gr\366\377enordn)m(ung)i(v)m(erdeutlic)m(hen,)h(in) +382 814 y(Wirklic)m(hk)m(eit)23 b(ist)f(die)g(Dauer)h(der)f(K)m +(onsistenzpr\374fung)i(v)m(on)f(der)f(Anzahl)g(der)h(Dateien)382 +927 y(abh\344ngig.)63 b(Bei)37 b(einem)h(Dateisystem,)h(das)f(v)m(oll)f +(mit)h(vielen)g(kleinen)f(Dateien)i(ist,)382 1040 y(k)-5 +b(ann)25 b(die)f(Zeit,)j(die)d(die)h(\334b)s(erpr\374fung)g(eines)g +(Gigab)m(ytes)g(in)g(Anspruc)m(h)g(nimm)m(t,)i(\374b)s(er)382 +1153 y(den)k(angenommenen)h(60)f(Sekunden)g(liegen.)382 +1446 y Fo(6.2.2)112 b(ext3)382 1668 y Fp(Um)23 b(das)g(Problem)i(der)f +(langen)g(K)m(onsistenzpr\374fung)i(zu)e(umgehen,)i(ist)d(ext3)g([T)-8 +b(w)m(e98)s(])382 1781 y(ein)25 b(Journaling-Filesystem.)40 +b(Dab)s(ei)25 b(w)m(erden)h(die)f(b)s(eabsic)m(h)m(tigten)h +(\304nderungen)g(v)m(or)382 1893 y(einer)e(\304nderung)h(der)f +(Metadatenstrukturen)i(im)e(Filesysstem)f(in)h(ein)g(Log)g(gesc)m +(hrei-)382 2006 y(b)s(en.)46 b(Nac)m(h)32 b(der)h(erfolgreic)m(hen)h +(Durc)m(hf\374hrung)g(der)e(\304nderungen)i(wird)e(dies)g(eb)s(en-)382 +2119 y(falls)e(im)g(Log)h(v)m(ermerkt.)382 2282 y(F\344llt)23 +b(der)g(Computer)h(irgendw)m(ann)h(w)m(\344hrend)g(dieser)e(Op)s +(erationen)h(aus,)g(k)-5 b(ann)23 b(durc)m(h)382 2395 +y(erneute)g(Durc)m(hf\374hrung)h(der)e(letzten)g(Aktionen)h(im)f(Log)g +(die)g(K)m(onsistenz)h(des)f(Filesy-)382 2508 y(stems)31 +b(wieder)h(hergestellt)g(w)m(erden,)h(ohne)e(da\377)h(ein)f(aufw)m +(endiger)i(K)m(onsistenzc)m(hec)m(k)382 2621 y(not)m(w)m(endig)g(ist.) +382 2783 y(Ext3)k(wird)h(so)m(w)m(ohl)g(Metadata-Journaling,)k(das)37 +b(n)m(ur)h(die)g(K)m(onsistenz)g(des)f(Datei-)382 2896 +y(systems)i(gew)m(\344hrleisten)i(k)-5 b(ann,)42 b(als)e(auc)m(h)g(v)m +(olles)g(Journaling,)k(b)s(ei)39 b(dem)h(auc)m(h)h(der)382 +3009 y(ric)m(h)m(tige)j(Inhalt)f(aller)g(Dateien)g(im)g(F)-8 +b(alle)43 b(eines)f(Systemabsturzes)h(gew)m(\344hrleistet)382 +3122 y(w)m(erden)32 b(k)-5 b(ann,)30 b(un)m(terst\374tzen.)382 +3285 y(Ext3)g(ist)g(eine)g(Erw)m(eiterung)j(des)d(ext2-Filesystems,)g +(das)g(Log)h(wird)f(in)g(einer)h(Datei)382 3398 y(auf)39 +b(dem)h(ext2-Filesystem)f(abgelegt.)69 b(Jedes)40 b(ext2-Filesystem)g +(k)-5 b(ann)39 b(durc)m(h)i(An-)382 3511 y(legen)35 b(dieser)g +(Logdatei)h(in)f(ein)g(ext3-Dateisystem)g(umgew)m(andelt)i(w)m(erden.) +55 b(Es)35 b(ist)382 3624 y(sogar)30 b(m\366glic)m(h,)j(dieses)d +(sp\344ter)g(wieder)i(mit)e(ext2)h(zu)f(b)s(etreib)s(en.)382 +3786 y(Leider)38 b(b)s(e\034ndet)g(sic)m(h)g(ext3)f(no)s(c)m(h)h(in)f +(einem)h(sehr)f(fr\374hen)h(En)m(t)m(wic)m(klungsstadium,)382 +3899 y(und)31 b(die)f(Aufnahme)h(in)g(den)f(Lin)m(uxk)m(ern)j(ist)d(in) +g(n\344c)m(hster)i(Zeit)f(nic)m(h)m(t)h(zu)e(erw)m(arten.)382 +4192 y Fo(6.2.3)112 b(ReiserFS)382 4414 y Fp(Die)30 b(Lizenz)i(v)m(on)f +(ReiserFS)f([Reis99])g(ist)g(die)h(GPL)g(mit)g(einem)g(Zusatz)2899 +4381 y Fg(5)2939 4414 y Fp(.)382 4577 y(ReiserFS)i(ist)h(ein)f(k)m +(omplett)i(neues)f(Design)g(und)g(w)m(eist)g(k)m(eine)g(\304hnlic)m(hk) +m(eiten)i(zum)382 4690 y(BSD)43 b(FFS)g(auf.)78 b(In)42 +b(der)i(momen)m(tanen)h(Implemen)m(tierung)2551 4657 +y Fg(6)2636 4690 y Fp(w)m(erden)g(32)e(Bit)g(f\374r)p +382 4751 1196 4 v 486 4805 a Ff(4)520 4836 y Fe(Dies)38 +b(ist)g(auc)n(h)f(der)g(Grund,)j(w)n(eshalb)e(das)f(neueste)h(F)-6 +b(eature)37 b(des)g(fsc)n(k.ext2)h(Utilities)g(eine)382 +4928 y(F)-6 b(ortsc)n(hrittsanzeige)27 b(ist.)486 4987 +y Ff(5)520 5019 y Fe(Die)f(Erw)n(eiterung)g(der)g(GPL)g(durc)n(h)e +(Zus\344tze)i(ist)g(in)g(der)f(GPL)h(ausdr\374c)n(klic)n(h)f(v)n(erb)r +(oten.)486 5079 y Ff(6)520 5110 y Fe(Leider)37 b(hab)r(en)e(die)i(En)n +(t)n(wic)n(kler)f(v)n(on)g(ReiserFS)g(sc)n(hon)g(\366fters)h(das)g(La)n +(y)n(out)e(der)h(Daten)g(auf)382 5202 y(der)24 b(F)-6 +b(estplatte)25 b(zwisc)n(hen)g(V)-6 b(ersionen)25 b(ihres)g +(Filesystems)g(ge\344ndert.)34 b(Die)25 b(einzige)h(M\366glic)n(hk)n +(eit,)g(so)382 5293 y(einen)f(V)-6 b(ersionssprung)26 +b(mitzumac)n(hen,)e(w)n(ar)i(die)g(Neuerstellung)g(des)f(Filesystems.) +1831 5622 y Fp(70)p eop +%%Page: 71 73 +71 72 bop 382 262 a Fl(KAPITEL)31 b(6.)71 b(HA)30 b(UNTER)g(LINUX)725 +b(6.2.)71 b(FILESYSTEME)p 382 299 2989 4 v 382 539 a +Fp(Blo)s(c)m(kn)m(ummern)23 b(v)m(erw)m(endet;)k(und)22 +b(es)f(gelten)h(somit)g(die)g(gleic)m(hen)h(Gr\366\377eneinsc)m +(hr\344n-)382 652 y(kungen)31 b(f\374r)f(das)g(gesam)m(te)i(Filesystem) +e(wie)h(b)s(ei)f(ext2.)382 800 y(ReiserFS)k(v)m(erw)m(endet)i(k)m(eine) +f(v)m(orallokierten)i(Ino)s(des,)d(und)h(es)f(w)m(erden)i(Filenamen,) +382 913 y(Directories)d(und)f(die)h(Daten)f(der)h(Files)f(mit)g(Hilfe)g +(v)m(on)g(B*B\344umen)h(v)m(erw)m(altet.)48 b(Es)382 +1026 y(un)m(terst\374tzt)33 b(momen)m(tan)g(n)m(ur)g(4K-Bl\366)s(c)m(k) +m(e,)f(k)-5 b(ann)32 b(ab)s(er)f(kleine)h(Dateien)g(und)g(Datei-)382 +1139 y(enden)f(zusammenlegen.)382 1288 y(W)-8 b(eiters)29 +b(ist)f(ReiserFS)g(mit)h(Metadata-Journaling)j(ausgestattet.)40 +b(Das)29 b(Filesystem)382 1400 y(k)-5 b(ann)26 b(v)m(ergr\366\377ert)i +(w)m(erden)g(w)m(\344hrend)g(es)e(in)h(V)-8 b(erw)m(endung)28 +b(ist.)39 b(V)-8 b(erkleinern)28 b(des)e(File-)382 1513 +y(systems)34 b(ist)g(n)m(ur)h(m\366glic)m(h,)j(w)m(enn)d(das)g +(Filesystem)f(nic)m(h)m(t)i(im)f(System)g(angemeldet)382 +1626 y(ist.)382 1775 y(ReiserFS)29 b(hat)h(gute)h(Chancen,)g(in)f(die)g +(2.4.x)f(V)-8 b(ersionen)31 b(v)m(on)f(Lin)m(ux)h(aufgenommen)382 +1888 y(zu)f(w)m(erden.)382 2160 y Fo(6.2.4)112 b(XFS)382 +2368 y Fp(XFS)25 b(ist)h(jenes)f(Filesystem,)h(mit)g(dem)h(auc)m(h)f +(IRIX)e(v)m(on)i(SGI)f(ausgeliefert)i(wird.)39 b(Die)382 +2481 y(Lin)m(uxp)s(ortierung)29 b(dieses)e(Dateisystems)g(wird)h(n)m +(un)g(un)m(ter)h(der)e(GPL)h(v)m(er\366\033en)m(tlic)m(h)m(t.)382 +2594 y(Die)i(Ec)m(kdaten)i(laut)f(SGI:)518 2800 y Fd(\017)46 +b Fp(64-Bit-Blo)s(c)m(kn)m(ummern)518 2973 y Fd(\017)g +Fp(E\036zien)m(te)33 b(Sp)s(eic)m(herung)f(v)m(on)f(Dateien)g(mit)g +(L\366)s(c)m(hern)518 3147 y Fd(\017)46 b Fp(Journaling)518 +3320 y Fd(\017)g Fp(Blo)s(c)m(kgr\366\377e)31 b(bis)g(256)f(KB)518 +3494 y Fd(\017)46 b Fp(\304nderung)31 b(der)g(Gr\366\377e)g(w)m +(\344hrend)h(es)e(in)g(V)-8 b(erw)m(endung)33 b(ist)518 +3667 y Fd(\017)46 b Fp(V)-8 b(erw)m(endet)33 b(B-B\344ume)518 +3841 y Fd(\017)46 b Fp(Applik)-5 b(ationen)35 b(k)m(\366nnen)g(garan)m +(tierten)i(Durc)m(hsatz)e(b)s(ei)f(Sc)m(hreib-)i(o)s(der)e(Lese-)609 +3954 y(zugri\033en)d(v)m(erlangen)382 4226 y Fo(6.2.5)112 +b(JFS)382 4434 y Fp(Das)24 b(JFS)g(v)m(on)g(IBM)f(wurde)i(v)m(or)f +(kurzem)h(eb)s(enfalls)f(f\374r)f(Lin)m(ux)i(angek\374ndigt,)i(gleic)m +(h-)382 4547 y(zeitig)35 b(wurde)h(auc)m(h)g(der)f(Quelltext)h(un)m +(ter)g(der)f(GPL)g(v)m(er\366\033en)m(tlic)m(h)m(t.)57 +b(Bis)35 b(jetzt)g(ist)382 4660 y(die)c(P)m(ortierung)h(auf)e(Lin)m(ux) +i(allerdings)f(no)s(c)m(h)g(nic)m(h)m(t)h(fertig.)41 +b(Laut)31 b(IBM:)518 4866 y Fd(\017)46 b Fp(64-Bit-Blo)s(c)m(kn)m +(ummern)518 5039 y Fd(\017)g Fp(E\036zien)m(te)33 b(Sp)s(eic)m(herung)f +(v)m(on)f(Dateien)g(mit)g(L\366)s(c)m(hern)518 5213 y +Fd(\017)46 b Fp(Journaling)518 5386 y Fd(\017)g Fp(V)-8 +b(erw)m(endet)33 b(B+B\344ume)1831 5622 y(71)p eop +%%Page: 72 74 +72 73 bop 382 262 a Fl(KAPITEL)31 b(6.)71 b(HA)30 b(UNTER)g(LINUX)725 +b(6.2.)71 b(FILESYSTEME)p 382 299 2989 4 v 382 539 a +Fo(6.2.6)112 b(LinLogFS)382 760 y Fp(LinLogFS)45 b(ist)d(ein)i +(Log-Structured-Filesystem)i(f\374r)c(Lin)m(ux.)80 b(Bei)43 +b(so)g(einem)g(Fi-)382 873 y(lesystem)i(w)m(erden)i(w)m(eder)g(Daten)m +(bl\366)s(c)m(k)m(e)g(no)s(c)m(h)g(Metadaten)f(jemals)f(direkt)h(\374b) +s(er-)382 986 y(sc)m(hrieb)s(en.)70 b(Aktualisierungen)42 +b(w)m(erden)f(durc)m(h)g(Anlegen)g(fortlaufender)g(Segmen-)382 +1099 y(te)36 b(gesp)s(eic)m(hert.)57 b(Auf)35 b(diese)g(Arc)m(hitektur) +i(aufbauend)f(k)-5 b(ann)36 b(man)g(Snapshots)g(und)382 +1212 y(v)m(orhergehende)d(V)-8 b(ersionen)31 b(v)m(on)g(Dateien)g(an)m +(bieten.)382 1374 y(Mit)j(Hilfe)g(v)m(on)g(Snapshots)h(k)-5 +b(ann)34 b(man)g(k)m(onsisten)m(te)i(Bac)m(kups)e(durc)m(hf\374hren,)j +(w)m(\344h-)382 1487 y(rend)31 b(das)f(Filesystem)g(v)m(on)h(laufenden) +g(Applik)-5 b(ationen)32 b(v)m(er\344ndert)g(w)m(erden)g(k)-5 +b(ann.)382 1650 y(Dadurc)m(h,)25 b(da\377)e(die)f(Daten)h(b)s(ei)e +(einer)i(Aktualisierung)g(nic)m(h)m(t)h(\374b)s(ersc)m(hrieb)s(en)f(w)m +(erden,)382 1763 y(k)-5 b(ann)24 b(man)g(auf)f(\344ltere)i(V)-8 +b(ersionen)24 b(einer)g(Datei)h(zugreifen.)39 b(Es)23 +b(handelt)i(sic)m(h)f(um)g(eine)382 1876 y(v)m(erallgemeinerte)33 +b(V)-8 b(ersion)31 b(des)f(\022undelete\021)39 b(K)m(ommandos.)382 +2039 y(Die)24 b(F)-8 b(reigab)s(e)24 b(v)m(on)g(Sp)s(eic)m(her)h +(erfolgt)f(b)s(ei)f(dieser)h(Art)f(v)m(on)h(Dateisystem)g(durc)m(h)h +(einen)382 2151 y(sog.)39 b(Cleaner.)i(Dies)27 b(ist)g(ein)h +(Proze\377,)h(der)f(im)g(Hin)m(tergrund)h(abl\344uft)f(und)f(nac)m(h)i +(Seg-)382 2264 y(men)m(ten)35 b(suc)m(h)m(t,)i(deren)d(Inhalt)g(zum)h +(Gro\377teil)g(v)m(on)f(k)m(einem)h(Snapshot)g(o)s(der)f(k)m(einer)382 +2377 y(alten)j(V)-8 b(ersion)38 b(einer)f(Datei)h(referenziert)g(wird.) +60 b(Solc)m(he)39 b(Segmen)m(te)f(w)m(erden)h(dann)382 +2490 y(freigegeb)s(en,)33 b(und)g(der)g(T)-8 b(eil,)33 +b(der)g(v)m(on)f(ihnen)h(no)s(c)m(h)g(gebrauc)m(h)m(t)i(wird,)e(wird)g +(in)f(neue)382 2603 y(Segmen)m(te)g(gesc)m(hrieb)s(en.)382 +2766 y(Wie)k(ein)g(Journaling-Filesystem)i(b)s(en\366tigt)f(ein)f +(Log-Structured-Filesystem)j(k)m(ei-)382 2879 y(nen)31 +b(K)m(onsistenzc)m(hec)m(k)i(nac)m(h)e(einem)g(Absturz)g(des)f +(Computers.)382 3041 y(Wie)21 b(viele)g(anderen)h(der)f(hier)h(v)m +(orgestellten)g(Dateisysteme)g(b)s(e\034ndet)f(sic)m(h)h(LinLogFS)382 +3154 y(leider)k(eb)s(enfalls)f(no)s(c)m(h)g(im)h(En)m(t)m(wic)m +(klungsstadium,)k(es)24 b(gibt)i(z.B.)f(no)s(c)m(h)h(k)m(einen)g(Clea-) +382 3267 y(ner.)382 3561 y Fo(6.2.7)112 b(GFS)382 3782 +y Fp(Die)26 b(herausragende)i(Eigensc)m(haft)f(v)m(on)f(GFS)g([PBB+99)q +(])g(ist)g(es,)g(da\377)h(ein)f(ph)m(ysisc)m(hes)382 +3895 y(Dateisystem)31 b(v)m(on)h(mehreren)g(angesc)m(hlossenen)h +(Computern)g(gleic)m(hzeitig)g(v)m(erw)m(en-)382 4008 +y(det)e(w)m(erden)g(k)-5 b(ann.)382 4170 y(W)d(eiters)28 +b(k)-5 b(ann)28 b(GFS)f(eb)s(enfalls)h(64-Bit-Blo)s(c)m(kn)m(ummern)i +(v)m(orw)m(eisen,)g(an)e(Journaling)382 4283 y(wird)j(leider)h(no)s(c)m +(h)g(gearb)s(eitet.)43 b(Das)31 b(hei\377t,)h(w)m(enn)g(einer)g(der)f +(Knoten)h(w)m(\344hrend)h(des)382 4396 y(Sc)m(hreib)s(ens)24 +b(abst\374rzt,)i(m)m(u\377)f(das)e(Dateisystem)g(auf)h(allen)g(b)s +(eteiligten)g(Knoten)h(abge-)382 4509 y(meldet)34 b(w)m(erden,)i(ein)e +(K)m(onsistenzc)m(hec)m(k)i(durc)m(hgef\374hrt)f(w)m(erden)g(und)f +(ansc)m(hlie\377end)382 4622 y(das)c(Dateisystem)h(wieder)g(angemeldet) +h(w)m(erden.)1831 5622 y(72)p eop +%%Page: 73 75 +73 74 bop 382 262 a Fl(KAPITEL)31 b(6.)71 b(HA)30 b(UNTER)g(LINUX)437 +b(6.3.)71 b(IMPLEMENTIER)m(UNG)p 382 299 2989 4 v 382 +539 a Fn(6.2.7.1)103 b(\334b)s(ersic)m(h)m(t)p 817 730 +2120 4 v 815 843 4 113 v 866 809 a Fp(Dateisystem)p 1399 +843 V 100 w(Gr\366\377e)31 b(des)f(Quellco)s(des)p 2346 +843 V 219 w(Status)p 2934 843 V 817 846 2120 4 v 817 +862 V 815 975 4 113 v 1024 941 a(ext2)p 1399 975 V 547 +w(150KB)p 2346 975 V 526 w(stabil)p 2934 975 V 817 979 +2120 4 v 815 1092 4 113 v 1024 1058 a(ext3)p 1399 1092 +V 547 w(320KB)p 2346 1092 V 526 w(alpha)p 2934 1092 V +817 1095 2120 4 v 815 1208 4 113 v 933 1174 a(ReiserFS)p +1399 1208 V 454 w(750KB)p 2346 1208 V 547 w(b)s(eta)p +2934 1208 V 817 1211 2120 4 v 815 1324 4 113 v 1020 1290 +a(XFS)p 1399 1324 V 546 w(3.8MB)p 2346 1324 V 529 w(alpha)p +2934 1324 V 817 1327 2120 4 v 815 1440 4 113 v 1031 1406 +a(JFS)p 1399 1440 V 553 w(602KB)p 2346 1440 V 390 w(En)m(t)m(wic)m +(klung)p 2934 1440 V 817 1444 2120 4 v 815 1556 4 113 +v 915 1523 a(LinLogFS)p 1399 1556 V 438 w(580KB)p 2346 +1556 V 390 w(En)m(t)m(wic)m(klung)p 2934 1556 V 817 1560 +2120 4 v 382 1908 a Fj(6.3)130 b(Implemen)l(tierung)382 +2164 y Fo(6.3.1)112 b(Struktur)382 2386 y Fp(Die)28 b(einzige)h +(Clusterinstallation,)h(die)f(bisher)f(ernsthaften)h(T)-8 +b(ests)28 b(un)m(terzogen)i(wur-)382 2499 y(de,)48 b(w)m(ar)d(eine)g +(NFS-Installation.)82 b(W\344hrend)45 b(in)g(letzter)g(Zeit)f(sic)m(h)h +(der)f(Kernel-)382 2612 y(basierende)h(NFS-Serv)m(er)h(als)e(Standard)h +(durc)m(hsetzen)i(k)m(onn)m(te,)i(wurde)c(f\374r)f(diese)382 +2724 y(Installation)31 b(der)f(\344ltere,)i(auf)e(normalen)h +(User-Prozessen)g(basierende)g(NFS-Dienst)382 2837 y(eingesetzt.)64 +b(Dieser)38 b(legt)g(n\344mlic)m(h)i(seinen)e(Zustand)h(in)f(/v)-5 +b(ar/lib/nfs/)38 b(ab.)64 b(Diese)382 2950 y(Zustandsinformation)38 +b(b)s(esteh)m(t)e(aus)g(der)h(Liste)f(der)g(momen)m(tan)i(authen)m +(ti\034zierten)382 3063 y(Clien)m(ts.)46 b(Bei)32 b(der)h(Realisierung) +f(wurden)h(so)m(w)m(ohl)h(das)d(Dateisystem,)i(das)f(NFS)g(ex-)382 +3176 y(p)s(ortiert,)e(als)f(auc)m(h)i(die)f(Dateien,)g(die)g(den)g +(Zustand)g(des)f(NFS-Serv)m(ers)h(b)s(einhalten,)382 +3289 y(auf)g(einem)h(durc)m(h)h(DRBD)e(replizierten)i(Dateisystem)e(un) +m(tergebrac)m(h)m(t.)382 3452 y(Als)35 b(Cluster-Manager)j(k)-5 +b(am)36 b(Heartb)s(eat)g(zum)h(Einsatz.)58 b(Dab)s(ei)36 +b(m)m(u\377te)h(ein)g(Shell-)382 3565 y(Skript)31 b(gesc)m(hrieb)s(en)g +(w)m(erden,)h(das)e(DRBD)g(als)g(Service)h(f\374r)f(Heartb)s(eat)h +(darstellt.)382 3727 y(Wird)22 b(dieses)f(Service)h(v)m(on)g(Heartb)s +(eat)h(gestartet,)h(wird)e(das)g(DRBD-Ger\344t)f(des)h(Kno-)382 +3840 y(tens)27 b(in)g(den)h(prim\344ren)g(Zustand)g(gebrac)m(h)m(t)h +(und)f(das)e(Filesystem)h(auf)g(diesem)h(ange-)382 3953 +y(meldet.)39 b(Da)23 b(in)f(dieser)h(T)-8 b(estserie)24 +b(aussc)m(hlie\377lic)m(h)h(das)d(ext2-Dateisystem)h(v)m(erw)m(endet) +382 4066 y(wurde,)30 b(m)m(u\377)g(v)m(or)f(dem)h(Anmelden)g +(nat\374rlic)m(h)g(ein)g(K)m(onsistenzc)m(hec)m(k)h(auf)e(dem)g(File-) +382 4179 y(system)h(durc)m(hgef\374hrt)i(w)m(erden.)382 +4342 y(Bei)40 b(Aufruf)g(des)g(Service-Skriptes)h(mit)g(dem)f(Stopp-P)m +(arameter,)46 b(wird)41 b(das)f(File-)382 4455 y(system)31 +b(abgemeldet,)i(und)f(das)g(DRBD-Ger\344t)f(wird)h(in)g(den)g +(sekund\344ren)g(Zustand)382 4568 y(gebrac)m(h)m(t.)382 +4730 y(Die)i(K)m(on\034guration)i(des)e(DRBD-Ger\344tes)f(wird)h(durc)m +(h)h(ein)f(w)m(eiteres)h(Skript)f(\374b)s(er-)382 4843 +y(nommen,)27 b(das)d(b)s(ereits)h(b)s(eim)f(Bo)s(otv)m(organg)i +(ausgef\374hrt)f(wird.)39 b(Dieses)24 b(Skript)h(stellt)382 +4956 y(sic)m(her,)37 b(da\377)e(das)g(DRBD-Kernelmo)s(dul)h(geladen)g +(wird,)h(und)e(k)m(on\034guriert)i(die)e(IP-)382 5069 +y(A)m(dressen)c(f\374r)f(die)g(V)-8 b(erbindung.)382 +5232 y(Die)30 b(eigen)m(tlic)m(hen)k(Angab)s(en)d(zur)f(K)m +(on\034guration)j(stehen)e(in)g(einer)g(K)m(on\034gurations-)382 +5345 y(datei,)d(die)g(v)m(on)f(den)g(Skripten)h(eingelesen)g(wird.)40 +b(Diese)27 b(K)m(on\034gurationsdatei)j(ist)d(so)1831 +5622 y(73)p eop +%%Page: 74 76 +74 75 bop 382 262 a Fl(KAPITEL)31 b(6.)71 b(HA)30 b(UNTER)g(LINUX)437 +b(6.3.)71 b(IMPLEMENTIER)m(UNG)p 382 299 2989 4 v 382 +539 a Fp(aufgebaut,)26 b(da\377)e(sie)g(auf)f(b)s(eiden)i(Knoten)f(des) +g(Clusters)g(iden)m(tisc)m(h)i(ist.)38 b(Die)24 b(Skripten)382 +652 y(stellen)33 b(anhand)i(der)e(K)m(on\034gurationsdatei)j(fest,)e(w) +m(elc)m(he)h(Rolle)e(der)g(Knoten)h(\374b)s(er-)382 764 +y(nehmen)k(soll,)h(auf)e(dem)g(sie)g(laufen,)i(und)f(k)m(\366nnen)g(so) +e(die)i(zutre\033enden)g(Angab)s(en)382 877 y(aus)30 +b(der)h(K)m(on\034gurationsdatei)i(lesen.)382 1040 y(W)-8 +b(enn)39 b(der)g(Heimatknoten)h(eines)e(Services)h(wieder)g(ersc)m +(hein)m(t,)k(bringt)c(Heartb)s(eat)382 1153 y(das)29 +b(Service)h(sofort)f(auf)g(diesen)h(zur\374c)m(k.)41 +b(Beim)30 b(Einsatz)g(v)m(on)f(DRBD)g(k)-5 b(ann)29 b(es)g(ab)s(er)382 +1266 y(sein,)c(da\377)e(der)h(Heimatknoten)g(no)s(c)m(h)g(damit)g(b)s +(esc)m(h\344ftigt)g(ist,)g(seinen)g(Datenstand)g(zu)382 +1379 y(aktualisieren.)49 b(In)33 b(diesem)g(F)-8 b(all)34 +b(m)m(u\377)g(das)f(DRBD-Skript)g(den)g(Bo)s(ot-V)-8 +b(organg)35 b(des)382 1492 y(Knotens)j(so)f(lange)g(anhalten,)k(bis)c +(der)g(Sync)m(hronisationsv)m(organg)j(abgesc)m(hlossen)382 +1605 y(ist.)382 1898 y Fo(6.3.2)112 b(Ergebnisse)382 +2119 y Fp(Die)34 b(Absc)m(haltung)h(des)f(aktiv)m(en)g(Serv)m(ers)h +(f\374hrt)f(erw)m(artungsgem\344\377)i(dazu,)g(da\377)e(der)382 +2232 y(zw)m(eite)44 b(Serv)m(er)f(nac)m(h)g(kurzer)g(Zeit)f +(einspringt.)78 b(W)-8 b(enn)43 b(ein)f(Clien)m(t)i(w)m(\344hrend)g +(des)382 2345 y(F)-8 b(ailo)m(v)m(ers)47 b(gerade)f(eine)g(Datei)f(sc)m +(hreibt,)50 b(ist)45 b(diese)h(Datei)f(allerdings)i(nac)m(h)f(dem)382 +2458 y(F)-8 b(ailo)m(v)m(er)32 b(nic)m(h)m(t)g(fehlerfrei)f(v)m +(orhanden.)382 2621 y(Mit)44 b(der)g(sync)m(hronen)1179 +2588 y Fg(7)1263 2621 y Fp(V)-8 b(erw)m(endung)47 b(des)d(Filesystems)f +(k)m(onn)m(te)i(dieses)f(Problem)382 2734 y(b)s(ehob)s(en)33 +b(w)m(erden.)50 b(Da)33 b(b)s(ei)f(diesen)i(T)-8 b(ests)33 +b(nat\374rlic)m(h)h(Protok)m(oll)h(B)e(und)g(C)g(v)m(erw)m(en-)382 +2847 y(det)k(wurde,)j(v)m(erm)m(ute)e(ic)m(h,)i(da\377)d(der)g(F)-8 +b(ehler)38 b(im)g(NFS-Serv)m(er)f(liegt.)61 b(Dieser)37 +b(sollte)382 2959 y(erst)k(dann)g(den)h(Absc)m(hlu\377)f(der)h(Sc)m +(hreib)s(op)s(eration)h(dem)e(Clien)m(t)h(mitteilen,)j(w)m(enn)382 +3072 y(die)34 b(Daten)h(wirklic)m(h)g(auf)f(nic)m(h)m(t)i(\035\374c)m +(h)m(tigen)h(Sp)s(eic)m(her)e(gesc)m(hrieb)s(en)2769 +3039 y Fg(8)2844 3072 y Fp(sind.)52 b(Bei)34 b(der)382 +3185 y(sync)m(hronen)27 b(Durc)m(hf\374hrung)g(aller)f(Sc)m +(hreibzugri\033e)i(geh)m(t)f(nat\374rlic)m(h)g(einiges)f(an)g(P)m(er-) +382 3298 y(formance)31 b(v)m(erloren.)382 3461 y(W)-8 +b(enn)34 b(man)g(auf)g(die)f(sync)m(hrone)i(V)-8 b(erw)m(endung)36 +b(des)d(Filesystems)g(v)m(erzic)m(h)m(tet,)k(k)-5 b(ann)382 +3574 y(die)35 b(Aktualisierung)g(der)g(F)-8 b(estplatte)36 +b(mit)e(dem)h(up)s(date\(8\))h(K)m(ommando)h(gesteuert)382 +3687 y(w)m(erden.)48 b(Mit)33 b(diesem)f(K)m(ommando)j(k)-5 +b(ann)33 b(man)g(steuern,)g(wie)g(lange)g(Daten)m(bl\366)s(c)m(k)m(e,) +382 3800 y(die)27 b(v)m(on)g(einem)h(Filesystem,)f(das)g(mit)g(async)m +(hronen)h(Sc)m(hreib)s(op)s(erationen)i(arb)s(eitet,)382 +3913 y(stammen,)39 b(im)e(Bu\033er-Cac)m(he)h(bleib)s(en)f(d\374rfen,)h +(b)s(ev)m(or)f(sie)f(auf)h(die)f(F)-8 b(estplatte)38 +b(ge-)382 4025 y(sc)m(hrieb)s(en)d(w)m(erden)h(m)m(\374ssen.)52 +b(Die)34 b(Standardeinstellung)j(b)s(etr\344gt)e(5)f(Sekunden)h(f\374r) +382 4138 y(Daten)m(bl\366)s(c)m(k)m(e,)29 b(die)d(Metadaten)h(des)f +(Filesystems)f(en)m(thalten,)k(und)d(30)g(Sekunden)h(f\374r)382 +4251 y(Daten)m(bl\366)s(c)m(k)m(e)32 b(mit)f(Userdaten.)382 +4414 y(Bei)37 b(der)h(Erprobung)h(des)f(ReiserFS-Dateisystems)f(hat)h +(sic)m(h)g(herausgestellt,)i(da\377)382 4527 y(dieses)31 +b(k)m(einen)h(generell)h(sync)m(hronen)g(Betrieb)f(un)m(terst\374tzt)h +(und)f(da\377)g(es)f(in)g(der)h(da-)382 4640 y(mals)e(v)m +(erf\374gbaren)i(V)-8 b(ersion)30 b(auc)m(h)h(die)g(P)m(arameter,)h +(die)f(mit)f(up)s(date\(8\))h(einstellbar)382 4753 y(sind,)f +(ignoriert.)382 4915 y(Der)20 b(V)-8 b(ersuc)m(h,)24 +b(einen)d(ho)s(c)m(h)m(v)m(erf\374gbaren)i(SAMBA-Serv)m(er)e(zu)f +(implemen)m(tieren,)26 b(zeigt)382 5028 y(deutlic)m(h,)g(da\377)e(das)f +(SMB-Protok)m(oll)i(nic)m(h)m(t)f(stateless)f(ist.)38 +b(Bei)23 b(mehreren)i(V)-8 b(ersuc)m(hen,)p 382 5090 +1196 4 v 486 5144 a Ff(7)520 5175 y Fe(Das)26 b(ext2-Filesystem)f(un)n +(terst\374tzt)f(die)i(Option)f(-sync,)g(die)g(b)r(eim)g(moun)n(t-K)n +(ommando)d(ange-)382 5267 y(geb)r(en)k(w)n(erden)f(k)l(ann.)486 +5326 y Ff(8)520 5358 y Fe(Das)h(k)l(ann)f(ein)g(User-Prozess)i(mit)e +(fdatasync\(2\))h(o)r(der)g(fsync\(2\).)1831 5622 y Fp(74)p +eop +%%Page: 75 77 +75 76 bop 382 262 a Fl(KAPITEL)31 b(6.)71 b(HA)30 b(UNTER)g(LINUX)437 +b(6.3.)71 b(IMPLEMENTIER)m(UNG)p 382 299 2989 4 v 382 +539 a Fp(einen)38 b(F)-8 b(ailo)m(v)m(er)39 b(w)m(\344hrend)f(eines)g +(Sc)m(hreibzugri\033s)h(durc)m(hzuf\374hren,)i(ist)c(der)g(Clien)m(t,) +382 652 y(der)31 b(mit)f(Windo)m(ws)h(98)g(installiert)g(w)m(ar,)h +(abgest\374rzt.)382 945 y Fo(6.3.3)112 b(Heartb)s(eat)38 +b(Erw)m(eiterungen)382 1166 y Fp(Im)g(Zuge)g(der)g(Auseinandersetzung)i +(mit)e(Heartb)s(eat)h(wurde)f(auc)m(h)h(deutlic)m(h,)j(da\377)382 +1279 y(f\374r)26 b(einen)h(zuv)m(erl\344ssigen)h(Pro)s(duktionseinsatz) +f(Heartb)s(eat)g(erw)m(eitert)h(w)m(erden)g(m)m(u\377.)382 +1392 y(V)-8 b(or)39 b(allem)g(transien)m(te)g(Netzw)m(erkfehler)h(k)m +(\366nnen)f(mit)g(dem)g(heutigen)2895 1359 y Fg(9)2974 +1392 y Fp(Heartb)s(eat)382 1505 y(zu)30 b(k)-5 b(atastrophalen)32 +b(F)-8 b(ehlern)32 b(f\374hren.)382 1668 y(Hier)e(ein)h(Beispiel,)g(in) +f(dem)h(die)g(T)-8 b(ransaktionseigensc)m(haften)33 b(v)m(erloren)f +(gehen:)493 1930 y(1.)46 b(Es)31 b(handelt)g(sic)m(h)g(um)g(einen)g +(Cluster)g(b)s(estehend)g(aus)f(zw)m(ei)h(Knoten)h(und)f(n)m(ur)609 +2043 y(einer)g(Netzw)m(erkv)m(erbindung.)1423 2660 y + currentpoint currentpoint translate 0.74356 0.74356 scale neg exch +neg exch translate + +1423 2660 a @beginspecial 50 @llx 693 @lly 233 @urx 771 +@ury 1830 @rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//heart-1-1.ps +%!PS-Adobe-3.0 EPSF-3.0 +%%For: Philipp Reisner +%%CreationDate: Thu Apr 13 16:13:03 2000 +%%Title: heart-1-1.ps +%%Creator: Sketch 0.6.5 +%%Pages: 1 +%%BoundingBox: 50 693 233 771 +%%Extensions: CMYK +%%DocumentSuppliedResources: (atend) +%%DocumentNeededResources: font Times-Roman +%%EndComments + +%%BeginProlog +%%BeginResource: procset Linux-Sketch-Procset 1.0 2 +/SketchDict 100 dict def +SketchDict begin +/bd { bind def } bind def +/x { exch } bd +/xd { exch def } bd +/PI 3.14159265358979323846264338327 def +/radgrad { 180 mul PI div } bd +/skstartmatrix matrix currentmatrix def +/tmpmat matrix def +/ISOLatin1Encoding dup where +{ pop pop } +{ [/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand +/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period +/slash /zero /one /two /three /four /five /six /seven /eight /nine /colon +/semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J +/K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash +/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i +/j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright +/asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve +/dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek +/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen +/registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu +/paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright +/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex +/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex +/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve +/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute +/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute +/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute +/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde +/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def +} +ifelse +/arct dup where +{pop pop} +{ +/arct {arcto pop pop pop pop} bd +} +ifelse +/size 0 def +/fontname 0 def +/newfont 0 def +/sf { +/size xd +/fontname xd +fontname findfont +dup /Encoding get StandardEncoding eq +{ +dup +length dict /newfont xd +{ +1 index +/FID ne +{ newfont 3 1 roll put } +{ pop pop } +ifelse +} forall +newfont /Encoding ISOLatin1Encoding put +fontname newfont definefont +} +if +size scalefont setfont +} bd +/pusht {matrix currentmatrix} bd +/popt {setmatrix} bd +/pushc {gsave} bd +/popc {grestore} bd +/rgb {setrgbcolor} bd +/w { setlinewidth } bd +/j { setlinejoin } bd +/J { setlinecap } bd +/d { setdash } bd +/F { eofill } bd +/f { closepath F } bd +/S { +pusht +skstartmatrix setmatrix stroke +popt +} bd +/s { closepath S } bd +/m { moveto } bd +/l { lineto } bd +/c { curveto } bd +/txt { +/tmpmat tmpmat currentmatrix def +dup type /arraytype eq {concat} {translate} ifelse +0 0 m +tmpmat +} bd +/T {txt x show popt} bd +/P {txt x true charpath popt} bd +/TP {txt x dup show 0 0 m true charpath popt} bd +/C {newpath 0 360 arc} bd +/R { +2 copy m +x 2 index l +x 2 index x l +l +closepath +} bd +/ellipse { +dup type /arraytype eq +{ +pusht x concat +0 0 1.0 C +popt +} +{ +pusht 5 1 roll +4 -1 roll concat +newpath +dup 2 eq { +0 0 m +} if +3 1 roll +radgrad x +radgrad x +0 0 1 5 -2 roll +arc +0 ne { closepath } if +popt +} +ifelse +} bd +/radius1 0 def +/radius2 0 def +/factor 0 def +/rect { +dup type /arraytype eq +{ +pusht x concat +0 0 m 1 0 l 1 1 l 0 1 l closepath +popt +} +{ +/radius2 xd +/radius1 xd +pusht x concat +radius1 radius2 div 1 scale +0 radius2 m +0 1 radius2 1 radius2 arct +radius2 radius1 div +dup 1 1 index 0 radius2 arct +0 0 0 radius2 arct +0 0 0 1 radius2 arct +closepath +popt +} +ifelse +} bd +/buf 0 def +/width 0 def +/height 0 def +/skcimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width 3 mul string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +false 3 colorimage +tmpmat setmatrix +} bd +/skgimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +image +tmpmat setmatrix +} bd +/rclip { +4 2 roll m +dup 0 x rlineto +x 0 rlineto +neg 0 x rlineto +closepath +clip +} bd +/skeps { +10 dict begin +/sk_state save def +concat +3 index neg 3 index neg translate +rclip +0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin +10 setmiterlimit [ ] 0 setdash +newpath +/sk_dict_count countdictstack def +/sk_count count 1 sub def +userdict begin +/showpage { } def +/languagelevel where +{ +pop +languagelevel 1 ne +{ +false setstrokeadjust +false setoverprint +} if +} if +} bd +/skepsend { +count sk_count sub { pop } repeat +countdictstack sk_dict_count sub { end } repeat +sk_state restore +end +} bd +/gradidx 0 def +/gradient { +3 mul array +/gradidx 0 def +} bd +/$ { +3 index gradidx 5 -1 roll put +2 index gradidx 1 add 4 -1 roll put +1 index gradidx 2 add 3 -1 roll put +/gradidx gradidx 3 add def +} bd +/! { +3 +{ +dup dup gradidx dup 3 1 roll 3 sub get put +/gradidx gradidx 1 add def +} +repeat +} bd +/gradcolor { +3 mul dup 2 add 1 exch % idx 1 idx+2 +{ +1 index exch % array array i +get % array component +exch % component array +} +for +4 1 roll +} bd +/x0 0 def /y0 0 def /x1 0 def /y1 0 def +/left 0 def /right 0 def /top 0 def /bottom 0 def +/numcolors 0 def +/axial { +/y1 xd /x1 xd /y0 xd /x0 xd +dup length 3 idiv /numcolors xd +pusht exch % ctm array +x0 x1 ne y0 y1 ne or +{ +x0 y0 translate +[x1 x0 sub y1 y0 sub dup neg 2 index 0 0] concat +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +0 gradcolor rgb clippath f +0 1 numcolors 1 sub +{ +dup numcolors div +3 1 roll +gradcolor rgb +exch +bottom right top R f +} +for +} +if +pop +popt +} bd +/r0 0 def /r1 0 def /dr 0 def +/radial { +/r1 xd /r0 xd /y0 xd /x0 xd +/dr r1 r0 sub def +dup length 3 idiv /numcolors xd +pusht exch % ctm array +r0 r1 ne +{ +x0 y0 translate +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +dr 0 gt {numcolors 1 sub}{0} ifelse gradcolor rgb +clippath f +dr 0 gt {numcolors 1 sub -1 0} { 0 1 numcolors 1 sub} ifelse +{ +dup numcolors div dr mul r0 add +3 1 roll +gradcolor rgb +exch +0 0 3 -1 roll C f +} +for +} +if +pop +popt +} bd +/max { +2 copy lt {exch} if pop +} bd +/conical { +pusht 5 1 roll +3 1 roll /y0 xd /x0 xd +x0 y0 translate +radgrad rotate +dup length 3 idiv /numcolors xd +clippath flattenpath pathbbox newpath +4 { abs 4 1 roll} repeat +3 { max } repeat +2 mul +dup scale +0 gradcolor rgb +0 0 1 0 360 arc f +1 1 numcolors 1 sub +{ +dup numcolors div 180 mul +3 1 roll +gradcolor rgb +exch +0 0 moveto +0 0 1 4 -1 roll dup neg arc +closepath f +} +for +pop +popt +} bd +/XStep 0 def /YStep 0 def /imagedata 0 def /components 0 def +/tileimage2 { +exch 4 2 roll +/height xd +/width xd +mark +/components 2 index +/PatternType 1 +/PaintType 1 +/TilingType 1 +/BBox [0 0 width height] +/XStep width +/YStep height +/PaintProc { +begin +XStep YStep 8 +matrix +imagedata +false +components +colorimage +end +} +counttomark 2 div cvi dup dict begin +{ def } repeat +pop currentdict end +dup +/imagedata +4 -1 roll +width height mul mul string +currentfile exch readhexstring pop +put +exch +makepattern +setpattern +clippath +eofill +} bd +/tileimage1 { +concat +/components xd +/height xd +/width xd +/imagedata +currentfile +width height mul components mul string +readhexstring pop +def +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +left width div floor width mul +bottom height div floor height mul +translate +top bottom sub height div ceiling cvi +{ +gsave +right left sub width div ceiling cvi +{ +width height 8 matrix +components 1 eq +{ +{ imagedata } +image +} +{ +imagedata +false components +colorimage +} +ifelse +width 0 translate +} +repeat +grestore +0 height translate +} +repeat +} bd +/makepattern where +{ +pop +/tileimage /tileimage2 load def +} +{ +/tileimage /tileimage1 load def +} +ifelse +end +%%EndResource +%%EndProlog + +%%BeginSetup +%%IncludeResource: font Times-Roman + +10.433 setmiterlimit +%%EndSetup + +%%Page: 1 1 +SketchDict begin +newpath +85.0395 737.009 m +85.0395 722.836 l +141.732 722.836 l +141.732 700.159 l +0.639 0.617 0.97 rgb +4.25197 w +1 j +0 J +[] 0 d +S +[56.6929 0 0 -28.3464 56.6929 765.354] rect +0 0 0 rgb +1 w +0 j +S +[56.6929 0 0 -28.3464 170.079 765.354] rect +S +newpath +85.0394 737.008 m +85.0394 722.835 l +198.425 722.835 l +198.425 737.008 l +S +/Times-Roman 12 sf +(P) +81 748 T +(S) +195 748 T +newpath +141.732 722.835 m +141.732 700.157 l +0.992126 w +S +%%PageTrailer +showpage +%%Trailer +end +%%DocumentSuppliedResources: procset Linux-Sketch-Procset 1.0 2 +%%EOF + +%%EndDocument + @endspecial 1423 2660 a + currentpoint currentpoint translate 1 0.74356 div 1 0.74356 div scale +neg exch neg exch translate + 1423 2660 a 493 2919 a Fp(2.)46 +b(F\344llt)21 b(die)f(Netzw)m(erkv)m(erbindung)k(zum)c(prim\344ren)i +(Serv)m(er)f(temp)s(or\344r)g(aus,)i(\374b)s(er-)609 +3032 y(nimm)m(t)32 b(der)f(andere)g(Knoten)g(das)f(Service.)1423 +3632 y + currentpoint currentpoint translate 0.74356 0.74356 scale neg exch +neg exch translate + 1423 3632 a @beginspecial 50 @llx 693 @lly 233 +@urx 771 @ury 1830 @rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//heart-1-2.ps +%!PS-Adobe-3.0 EPSF-3.0 +%%For: Philipp Reisner +%%CreationDate: Thu Apr 13 16:13:13 2000 +%%Title: heart-1-2.ps +%%Creator: Sketch 0.6.5 +%%Pages: 1 +%%BoundingBox: 50 693 233 771 +%%Extensions: CMYK +%%DocumentSuppliedResources: (atend) +%%DocumentNeededResources: font Times-Roman +%%EndComments + +%%BeginProlog +%%BeginResource: procset Linux-Sketch-Procset 1.0 2 +/SketchDict 100 dict def +SketchDict begin +/bd { bind def } bind def +/x { exch } bd +/xd { exch def } bd +/PI 3.14159265358979323846264338327 def +/radgrad { 180 mul PI div } bd +/skstartmatrix matrix currentmatrix def +/tmpmat matrix def +/ISOLatin1Encoding dup where +{ pop pop } +{ [/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand +/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period +/slash /zero /one /two /three /four /five /six /seven /eight /nine /colon +/semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J +/K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash +/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i +/j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright +/asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve +/dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek +/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen +/registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu +/paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright +/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex +/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex +/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve +/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute +/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute +/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute +/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde +/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def +} +ifelse +/arct dup where +{pop pop} +{ +/arct {arcto pop pop pop pop} bd +} +ifelse +/size 0 def +/fontname 0 def +/newfont 0 def +/sf { +/size xd +/fontname xd +fontname findfont +dup /Encoding get StandardEncoding eq +{ +dup +length dict /newfont xd +{ +1 index +/FID ne +{ newfont 3 1 roll put } +{ pop pop } +ifelse +} forall +newfont /Encoding ISOLatin1Encoding put +fontname newfont definefont +} +if +size scalefont setfont +} bd +/pusht {matrix currentmatrix} bd +/popt {setmatrix} bd +/pushc {gsave} bd +/popc {grestore} bd +/rgb {setrgbcolor} bd +/w { setlinewidth } bd +/j { setlinejoin } bd +/J { setlinecap } bd +/d { setdash } bd +/F { eofill } bd +/f { closepath F } bd +/S { +pusht +skstartmatrix setmatrix stroke +popt +} bd +/s { closepath S } bd +/m { moveto } bd +/l { lineto } bd +/c { curveto } bd +/txt { +/tmpmat tmpmat currentmatrix def +dup type /arraytype eq {concat} {translate} ifelse +0 0 m +tmpmat +} bd +/T {txt x show popt} bd +/P {txt x true charpath popt} bd +/TP {txt x dup show 0 0 m true charpath popt} bd +/C {newpath 0 360 arc} bd +/R { +2 copy m +x 2 index l +x 2 index x l +l +closepath +} bd +/ellipse { +dup type /arraytype eq +{ +pusht x concat +0 0 1.0 C +popt +} +{ +pusht 5 1 roll +4 -1 roll concat +newpath +dup 2 eq { +0 0 m +} if +3 1 roll +radgrad x +radgrad x +0 0 1 5 -2 roll +arc +0 ne { closepath } if +popt +} +ifelse +} bd +/radius1 0 def +/radius2 0 def +/factor 0 def +/rect { +dup type /arraytype eq +{ +pusht x concat +0 0 m 1 0 l 1 1 l 0 1 l closepath +popt +} +{ +/radius2 xd +/radius1 xd +pusht x concat +radius1 radius2 div 1 scale +0 radius2 m +0 1 radius2 1 radius2 arct +radius2 radius1 div +dup 1 1 index 0 radius2 arct +0 0 0 radius2 arct +0 0 0 1 radius2 arct +closepath +popt +} +ifelse +} bd +/buf 0 def +/width 0 def +/height 0 def +/skcimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width 3 mul string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +false 3 colorimage +tmpmat setmatrix +} bd +/skgimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +image +tmpmat setmatrix +} bd +/rclip { +4 2 roll m +dup 0 x rlineto +x 0 rlineto +neg 0 x rlineto +closepath +clip +} bd +/skeps { +10 dict begin +/sk_state save def +concat +3 index neg 3 index neg translate +rclip +0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin +10 setmiterlimit [ ] 0 setdash +newpath +/sk_dict_count countdictstack def +/sk_count count 1 sub def +userdict begin +/showpage { } def +/languagelevel where +{ +pop +languagelevel 1 ne +{ +false setstrokeadjust +false setoverprint +} if +} if +} bd +/skepsend { +count sk_count sub { pop } repeat +countdictstack sk_dict_count sub { end } repeat +sk_state restore +end +} bd +/gradidx 0 def +/gradient { +3 mul array +/gradidx 0 def +} bd +/$ { +3 index gradidx 5 -1 roll put +2 index gradidx 1 add 4 -1 roll put +1 index gradidx 2 add 3 -1 roll put +/gradidx gradidx 3 add def +} bd +/! { +3 +{ +dup dup gradidx dup 3 1 roll 3 sub get put +/gradidx gradidx 1 add def +} +repeat +} bd +/gradcolor { +3 mul dup 2 add 1 exch % idx 1 idx+2 +{ +1 index exch % array array i +get % array component +exch % component array +} +for +4 1 roll +} bd +/x0 0 def /y0 0 def /x1 0 def /y1 0 def +/left 0 def /right 0 def /top 0 def /bottom 0 def +/numcolors 0 def +/axial { +/y1 xd /x1 xd /y0 xd /x0 xd +dup length 3 idiv /numcolors xd +pusht exch % ctm array +x0 x1 ne y0 y1 ne or +{ +x0 y0 translate +[x1 x0 sub y1 y0 sub dup neg 2 index 0 0] concat +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +0 gradcolor rgb clippath f +0 1 numcolors 1 sub +{ +dup numcolors div +3 1 roll +gradcolor rgb +exch +bottom right top R f +} +for +} +if +pop +popt +} bd +/r0 0 def /r1 0 def /dr 0 def +/radial { +/r1 xd /r0 xd /y0 xd /x0 xd +/dr r1 r0 sub def +dup length 3 idiv /numcolors xd +pusht exch % ctm array +r0 r1 ne +{ +x0 y0 translate +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +dr 0 gt {numcolors 1 sub}{0} ifelse gradcolor rgb +clippath f +dr 0 gt {numcolors 1 sub -1 0} { 0 1 numcolors 1 sub} ifelse +{ +dup numcolors div dr mul r0 add +3 1 roll +gradcolor rgb +exch +0 0 3 -1 roll C f +} +for +} +if +pop +popt +} bd +/max { +2 copy lt {exch} if pop +} bd +/conical { +pusht 5 1 roll +3 1 roll /y0 xd /x0 xd +x0 y0 translate +radgrad rotate +dup length 3 idiv /numcolors xd +clippath flattenpath pathbbox newpath +4 { abs 4 1 roll} repeat +3 { max } repeat +2 mul +dup scale +0 gradcolor rgb +0 0 1 0 360 arc f +1 1 numcolors 1 sub +{ +dup numcolors div 180 mul +3 1 roll +gradcolor rgb +exch +0 0 moveto +0 0 1 4 -1 roll dup neg arc +closepath f +} +for +pop +popt +} bd +/XStep 0 def /YStep 0 def /imagedata 0 def /components 0 def +/tileimage2 { +exch 4 2 roll +/height xd +/width xd +mark +/components 2 index +/PatternType 1 +/PaintType 1 +/TilingType 1 +/BBox [0 0 width height] +/XStep width +/YStep height +/PaintProc { +begin +XStep YStep 8 +matrix +imagedata +false +components +colorimage +end +} +counttomark 2 div cvi dup dict begin +{ def } repeat +pop currentdict end +dup +/imagedata +4 -1 roll +width height mul mul string +currentfile exch readhexstring pop +put +exch +makepattern +setpattern +clippath +eofill +} bd +/tileimage1 { +concat +/components xd +/height xd +/width xd +/imagedata +currentfile +width height mul components mul string +readhexstring pop +def +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +left width div floor width mul +bottom height div floor height mul +translate +top bottom sub height div ceiling cvi +{ +gsave +right left sub width div ceiling cvi +{ +width height 8 matrix +components 1 eq +{ +{ imagedata } +image +} +{ +imagedata +false components +colorimage +} +ifelse +width 0 translate +} +repeat +grestore +0 height translate +} +repeat +} bd +/makepattern where +{ +pop +/tileimage /tileimage2 load def +} +{ +/tileimage /tileimage1 load def +} +ifelse +end +%%EndResource +%%EndProlog + +%%BeginSetup +%%IncludeResource: font Times-Roman + +10.433 setmiterlimit +%%EndSetup + +%%Page: 1 1 +SketchDict begin +newpath +198.426 737.009 m +198.426 722.836 l +141.733 722.836 l +141.733 700.159 l +0.639 0.617 0.97 rgb +4.25197 w +1 j +0 J +[] 0 d +S +[56.6929 0 0 -28.3464 56.6929 765.354] rect +0 0 0 rgb +1 w +0 j +S +[56.6929 0 0 -28.3464 170.079 765.354] rect +S +newpath +85.0394 737.008 m +85.0394 722.835 l +198.425 722.835 l +198.425 737.008 l +S +/Times-Roman 12 sf +(P) +81 748 T +(P) +195 748 T +newpath +141.732 722.835 m +141.732 700.157 l +0.992126 w +S +[8.50395 0 0 -8.50395 85.0395 722.836] ellipse +4.8189 w +S +newpath +90.9925 728.789 m +79.0869 716.883 l +1 j +S +[8.50395 0 0 -8.50395 85.0395 722.836] ellipse +1 0 0 rgb +4.25197 w +0 j +S +newpath +90.9925 728.789 m +79.0869 716.883 l +1 j +S +%%PageTrailer +showpage +%%Trailer +end +%%DocumentSuppliedResources: procset Linux-Sketch-Procset 1.0 2 +%%EOF + +%%EndDocument + @endspecial 1423 3632 a + currentpoint currentpoint translate 1 0.74356 div 1 0.74356 div scale +neg exch neg exch translate + 1423 3632 a 493 3890 a Fp(3.)46 +b(Nun)39 b(f\344llt)g(der)h(zw)m(eite)h(Serv)m(er)f(aus.)66 +b(Der)40 b(Cluster)f(k)-5 b(ann)40 b(das)f(Service)g(jetzt)609 +4003 y(nic)m(h)m(t)32 b(mehr)f(an)m(bieten.)1423 4603 +y + currentpoint currentpoint translate 0.74356 0.74356 scale neg exch +neg exch translate + 1423 4603 a @beginspecial 50 @llx 693 @lly 233 @urx +771 @ury 1830 @rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//heart-1-3.ps +%!PS-Adobe-3.0 EPSF-3.0 +%%For: Philipp Reisner +%%CreationDate: Thu Apr 13 16:13:22 2000 +%%Title: heart-1-3.ps +%%Creator: Sketch 0.6.5 +%%Pages: 1 +%%BoundingBox: 50 693 233 771 +%%Extensions: CMYK +%%DocumentSuppliedResources: (atend) +%%DocumentNeededResources: font Times-Roman +%%EndComments + +%%BeginProlog +%%BeginResource: procset Linux-Sketch-Procset 1.0 2 +/SketchDict 100 dict def +SketchDict begin +/bd { bind def } bind def +/x { exch } bd +/xd { exch def } bd +/PI 3.14159265358979323846264338327 def +/radgrad { 180 mul PI div } bd +/skstartmatrix matrix currentmatrix def +/tmpmat matrix def +/ISOLatin1Encoding dup where +{ pop pop } +{ [/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand +/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period +/slash /zero /one /two /three /four /five /six /seven /eight /nine /colon +/semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J +/K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash +/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i +/j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright +/asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve +/dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek +/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen +/registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu +/paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright +/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex +/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex +/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve +/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute +/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute +/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute +/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde +/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def +} +ifelse +/arct dup where +{pop pop} +{ +/arct {arcto pop pop pop pop} bd +} +ifelse +/size 0 def +/fontname 0 def +/newfont 0 def +/sf { +/size xd +/fontname xd +fontname findfont +dup /Encoding get StandardEncoding eq +{ +dup +length dict /newfont xd +{ +1 index +/FID ne +{ newfont 3 1 roll put } +{ pop pop } +ifelse +} forall +newfont /Encoding ISOLatin1Encoding put +fontname newfont definefont +} +if +size scalefont setfont +} bd +/pusht {matrix currentmatrix} bd +/popt {setmatrix} bd +/pushc {gsave} bd +/popc {grestore} bd +/rgb {setrgbcolor} bd +/w { setlinewidth } bd +/j { setlinejoin } bd +/J { setlinecap } bd +/d { setdash } bd +/F { eofill } bd +/f { closepath F } bd +/S { +pusht +skstartmatrix setmatrix stroke +popt +} bd +/s { closepath S } bd +/m { moveto } bd +/l { lineto } bd +/c { curveto } bd +/txt { +/tmpmat tmpmat currentmatrix def +dup type /arraytype eq {concat} {translate} ifelse +0 0 m +tmpmat +} bd +/T {txt x show popt} bd +/P {txt x true charpath popt} bd +/TP {txt x dup show 0 0 m true charpath popt} bd +/C {newpath 0 360 arc} bd +/R { +2 copy m +x 2 index l +x 2 index x l +l +closepath +} bd +/ellipse { +dup type /arraytype eq +{ +pusht x concat +0 0 1.0 C +popt +} +{ +pusht 5 1 roll +4 -1 roll concat +newpath +dup 2 eq { +0 0 m +} if +3 1 roll +radgrad x +radgrad x +0 0 1 5 -2 roll +arc +0 ne { closepath } if +popt +} +ifelse +} bd +/radius1 0 def +/radius2 0 def +/factor 0 def +/rect { +dup type /arraytype eq +{ +pusht x concat +0 0 m 1 0 l 1 1 l 0 1 l closepath +popt +} +{ +/radius2 xd +/radius1 xd +pusht x concat +radius1 radius2 div 1 scale +0 radius2 m +0 1 radius2 1 radius2 arct +radius2 radius1 div +dup 1 1 index 0 radius2 arct +0 0 0 radius2 arct +0 0 0 1 radius2 arct +closepath +popt +} +ifelse +} bd +/buf 0 def +/width 0 def +/height 0 def +/skcimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width 3 mul string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +false 3 colorimage +tmpmat setmatrix +} bd +/skgimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +image +tmpmat setmatrix +} bd +/rclip { +4 2 roll m +dup 0 x rlineto +x 0 rlineto +neg 0 x rlineto +closepath +clip +} bd +/skeps { +10 dict begin +/sk_state save def +concat +3 index neg 3 index neg translate +rclip +0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin +10 setmiterlimit [ ] 0 setdash +newpath +/sk_dict_count countdictstack def +/sk_count count 1 sub def +userdict begin +/showpage { } def +/languagelevel where +{ +pop +languagelevel 1 ne +{ +false setstrokeadjust +false setoverprint +} if +} if +} bd +/skepsend { +count sk_count sub { pop } repeat +countdictstack sk_dict_count sub { end } repeat +sk_state restore +end +} bd +/gradidx 0 def +/gradient { +3 mul array +/gradidx 0 def +} bd +/$ { +3 index gradidx 5 -1 roll put +2 index gradidx 1 add 4 -1 roll put +1 index gradidx 2 add 3 -1 roll put +/gradidx gradidx 3 add def +} bd +/! { +3 +{ +dup dup gradidx dup 3 1 roll 3 sub get put +/gradidx gradidx 1 add def +} +repeat +} bd +/gradcolor { +3 mul dup 2 add 1 exch % idx 1 idx+2 +{ +1 index exch % array array i +get % array component +exch % component array +} +for +4 1 roll +} bd +/x0 0 def /y0 0 def /x1 0 def /y1 0 def +/left 0 def /right 0 def /top 0 def /bottom 0 def +/numcolors 0 def +/axial { +/y1 xd /x1 xd /y0 xd /x0 xd +dup length 3 idiv /numcolors xd +pusht exch % ctm array +x0 x1 ne y0 y1 ne or +{ +x0 y0 translate +[x1 x0 sub y1 y0 sub dup neg 2 index 0 0] concat +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +0 gradcolor rgb clippath f +0 1 numcolors 1 sub +{ +dup numcolors div +3 1 roll +gradcolor rgb +exch +bottom right top R f +} +for +} +if +pop +popt +} bd +/r0 0 def /r1 0 def /dr 0 def +/radial { +/r1 xd /r0 xd /y0 xd /x0 xd +/dr r1 r0 sub def +dup length 3 idiv /numcolors xd +pusht exch % ctm array +r0 r1 ne +{ +x0 y0 translate +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +dr 0 gt {numcolors 1 sub}{0} ifelse gradcolor rgb +clippath f +dr 0 gt {numcolors 1 sub -1 0} { 0 1 numcolors 1 sub} ifelse +{ +dup numcolors div dr mul r0 add +3 1 roll +gradcolor rgb +exch +0 0 3 -1 roll C f +} +for +} +if +pop +popt +} bd +/max { +2 copy lt {exch} if pop +} bd +/conical { +pusht 5 1 roll +3 1 roll /y0 xd /x0 xd +x0 y0 translate +radgrad rotate +dup length 3 idiv /numcolors xd +clippath flattenpath pathbbox newpath +4 { abs 4 1 roll} repeat +3 { max } repeat +2 mul +dup scale +0 gradcolor rgb +0 0 1 0 360 arc f +1 1 numcolors 1 sub +{ +dup numcolors div 180 mul +3 1 roll +gradcolor rgb +exch +0 0 moveto +0 0 1 4 -1 roll dup neg arc +closepath f +} +for +pop +popt +} bd +/XStep 0 def /YStep 0 def /imagedata 0 def /components 0 def +/tileimage2 { +exch 4 2 roll +/height xd +/width xd +mark +/components 2 index +/PatternType 1 +/PaintType 1 +/TilingType 1 +/BBox [0 0 width height] +/XStep width +/YStep height +/PaintProc { +begin +XStep YStep 8 +matrix +imagedata +false +components +colorimage +end +} +counttomark 2 div cvi dup dict begin +{ def } repeat +pop currentdict end +dup +/imagedata +4 -1 roll +width height mul mul string +currentfile exch readhexstring pop +put +exch +makepattern +setpattern +clippath +eofill +} bd +/tileimage1 { +concat +/components xd +/height xd +/width xd +/imagedata +currentfile +width height mul components mul string +readhexstring pop +def +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +left width div floor width mul +bottom height div floor height mul +translate +top bottom sub height div ceiling cvi +{ +gsave +right left sub width div ceiling cvi +{ +width height 8 matrix +components 1 eq +{ +{ imagedata } +image +} +{ +imagedata +false components +colorimage +} +ifelse +width 0 translate +} +repeat +grestore +0 height translate +} +repeat +} bd +/makepattern where +{ +pop +/tileimage /tileimage2 load def +} +{ +/tileimage /tileimage1 load def +} +ifelse +end +%%EndResource +%%EndProlog + +%%BeginSetup +%%IncludeResource: font Times-Roman + +10.433 setmiterlimit +%%EndSetup + +%%Page: 1 1 +SketchDict begin +[56.6929 0 0 -28.3464 56.6929 765.354] rect +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[56.6929 0 0 -28.3464 170.079 765.354] rect +S +newpath +85.0394 737.008 m +85.0394 722.835 l +198.425 722.835 l +198.425 737.008 l +S +/Times-Roman 12 sf +(P) +81 748 T +newpath +141.732 722.835 m +141.732 700.157 l +0.992126 w +S +[8.50395 0 0 -8.50395 85.0395 722.836] ellipse +4.8189 w +S +newpath +90.9925 728.789 m +79.0869 716.883 l +1 j +S +[8.50395 0 0 -8.50395 85.0395 722.836] ellipse +1 0 0 rgb +4.25197 w +0 j +S +newpath +90.9925 728.789 m +79.0869 716.883 l +1 j +S +[8.50395 0 0 -8.50395 198.426 751.182] ellipse +0 0 0 rgb +4.8189 w +0 j +S +newpath +204.378 757.135 m +192.473 745.23 l +1 j +S +[8.50395 0 0 -8.50395 198.426 751.182] ellipse +1 0 0 rgb +4.25197 w +0 j +S +newpath +204.378 757.135 m +192.473 745.23 l +1 j +S +%%PageTrailer +showpage +%%Trailer +end +%%DocumentSuppliedResources: procset Linux-Sketch-Procset 1.0 2 +%%EOF + +%%EndDocument + @endspecial 1423 4603 a + currentpoint currentpoint translate 1 0.74356 div 1 0.74356 div scale +neg exch neg exch translate + 1423 4603 a 493 4861 a Fp(4.)46 +b(Ein)22 b(An)m(w)m(ender,)j(dessen)c(Arb)s(eit)g(durc)m(h)i(den)f(T)-8 +b(otalausfall)22 b(un)m(terbro)s(c)m(hen)i(wur-)609 4974 +y(de,)31 b(b)s(ehebt)g(den)g(temp)s(or\344ren)g(Netzw)m(erk)-5 +b(ausfall.)42 b(Nun)30 b(ist)g(das)g(Service)h(zw)m(ar)609 +5087 y(wieder)k(v)m(erf\374gbar,)h(die)e(V)-8 b(er\344nderungen,)37 +b(die)d(die)g(T)-8 b(ransaktionen)36 b(in)e(Phase)609 +5200 y(2)d(v)m(orgenommen)h(hab)s(en,)f(sind)f(ab)s(er)h(v)m(erloren!)p +382 5262 1196 4 v 486 5315 a Ff(9)520 5347 y Fe(V)-6 +b(ersion)26 b(0.4.7)1831 5622 y Fp(75)p eop +%%Page: 76 78 +76 77 bop 382 262 a Fl(KAPITEL)31 b(6.)71 b(HA)30 b(UNTER)g(LINUX)437 +b(6.3.)71 b(IMPLEMENTIER)m(UNG)p 382 299 2989 4 v 1423 +931 a + currentpoint currentpoint translate 0.74356 0.74356 scale neg exch +neg exch translate + 1423 931 a @beginspecial 50 @llx 693 @lly 233 @urx +771 @ury 1830 @rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//heart-1-4.ps +%!PS-Adobe-3.0 EPSF-3.0 +%%For: Philipp Reisner +%%CreationDate: Thu Apr 13 16:13:32 2000 +%%Title: heart-1-4.ps +%%Creator: Sketch 0.6.5 +%%Pages: 1 +%%BoundingBox: 50 693 233 771 +%%Extensions: CMYK +%%DocumentSuppliedResources: (atend) +%%DocumentNeededResources: font Times-Roman +%%EndComments + +%%BeginProlog +%%BeginResource: procset Linux-Sketch-Procset 1.0 2 +/SketchDict 100 dict def +SketchDict begin +/bd { bind def } bind def +/x { exch } bd +/xd { exch def } bd +/PI 3.14159265358979323846264338327 def +/radgrad { 180 mul PI div } bd +/skstartmatrix matrix currentmatrix def +/tmpmat matrix def +/ISOLatin1Encoding dup where +{ pop pop } +{ [/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand +/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period +/slash /zero /one /two /three /four /five /six /seven /eight /nine /colon +/semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J +/K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash +/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i +/j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright +/asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve +/dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek +/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen +/registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu +/paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright +/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex +/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex +/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve +/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute +/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute +/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute +/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde +/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def +} +ifelse +/arct dup where +{pop pop} +{ +/arct {arcto pop pop pop pop} bd +} +ifelse +/size 0 def +/fontname 0 def +/newfont 0 def +/sf { +/size xd +/fontname xd +fontname findfont +dup /Encoding get StandardEncoding eq +{ +dup +length dict /newfont xd +{ +1 index +/FID ne +{ newfont 3 1 roll put } +{ pop pop } +ifelse +} forall +newfont /Encoding ISOLatin1Encoding put +fontname newfont definefont +} +if +size scalefont setfont +} bd +/pusht {matrix currentmatrix} bd +/popt {setmatrix} bd +/pushc {gsave} bd +/popc {grestore} bd +/rgb {setrgbcolor} bd +/w { setlinewidth } bd +/j { setlinejoin } bd +/J { setlinecap } bd +/d { setdash } bd +/F { eofill } bd +/f { closepath F } bd +/S { +pusht +skstartmatrix setmatrix stroke +popt +} bd +/s { closepath S } bd +/m { moveto } bd +/l { lineto } bd +/c { curveto } bd +/txt { +/tmpmat tmpmat currentmatrix def +dup type /arraytype eq {concat} {translate} ifelse +0 0 m +tmpmat +} bd +/T {txt x show popt} bd +/P {txt x true charpath popt} bd +/TP {txt x dup show 0 0 m true charpath popt} bd +/C {newpath 0 360 arc} bd +/R { +2 copy m +x 2 index l +x 2 index x l +l +closepath +} bd +/ellipse { +dup type /arraytype eq +{ +pusht x concat +0 0 1.0 C +popt +} +{ +pusht 5 1 roll +4 -1 roll concat +newpath +dup 2 eq { +0 0 m +} if +3 1 roll +radgrad x +radgrad x +0 0 1 5 -2 roll +arc +0 ne { closepath } if +popt +} +ifelse +} bd +/radius1 0 def +/radius2 0 def +/factor 0 def +/rect { +dup type /arraytype eq +{ +pusht x concat +0 0 m 1 0 l 1 1 l 0 1 l closepath +popt +} +{ +/radius2 xd +/radius1 xd +pusht x concat +radius1 radius2 div 1 scale +0 radius2 m +0 1 radius2 1 radius2 arct +radius2 radius1 div +dup 1 1 index 0 radius2 arct +0 0 0 radius2 arct +0 0 0 1 radius2 arct +closepath +popt +} +ifelse +} bd +/buf 0 def +/width 0 def +/height 0 def +/skcimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width 3 mul string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +false 3 colorimage +tmpmat setmatrix +} bd +/skgimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +image +tmpmat setmatrix +} bd +/rclip { +4 2 roll m +dup 0 x rlineto +x 0 rlineto +neg 0 x rlineto +closepath +clip +} bd +/skeps { +10 dict begin +/sk_state save def +concat +3 index neg 3 index neg translate +rclip +0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin +10 setmiterlimit [ ] 0 setdash +newpath +/sk_dict_count countdictstack def +/sk_count count 1 sub def +userdict begin +/showpage { } def +/languagelevel where +{ +pop +languagelevel 1 ne +{ +false setstrokeadjust +false setoverprint +} if +} if +} bd +/skepsend { +count sk_count sub { pop } repeat +countdictstack sk_dict_count sub { end } repeat +sk_state restore +end +} bd +/gradidx 0 def +/gradient { +3 mul array +/gradidx 0 def +} bd +/$ { +3 index gradidx 5 -1 roll put +2 index gradidx 1 add 4 -1 roll put +1 index gradidx 2 add 3 -1 roll put +/gradidx gradidx 3 add def +} bd +/! { +3 +{ +dup dup gradidx dup 3 1 roll 3 sub get put +/gradidx gradidx 1 add def +} +repeat +} bd +/gradcolor { +3 mul dup 2 add 1 exch % idx 1 idx+2 +{ +1 index exch % array array i +get % array component +exch % component array +} +for +4 1 roll +} bd +/x0 0 def /y0 0 def /x1 0 def /y1 0 def +/left 0 def /right 0 def /top 0 def /bottom 0 def +/numcolors 0 def +/axial { +/y1 xd /x1 xd /y0 xd /x0 xd +dup length 3 idiv /numcolors xd +pusht exch % ctm array +x0 x1 ne y0 y1 ne or +{ +x0 y0 translate +[x1 x0 sub y1 y0 sub dup neg 2 index 0 0] concat +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +0 gradcolor rgb clippath f +0 1 numcolors 1 sub +{ +dup numcolors div +3 1 roll +gradcolor rgb +exch +bottom right top R f +} +for +} +if +pop +popt +} bd +/r0 0 def /r1 0 def /dr 0 def +/radial { +/r1 xd /r0 xd /y0 xd /x0 xd +/dr r1 r0 sub def +dup length 3 idiv /numcolors xd +pusht exch % ctm array +r0 r1 ne +{ +x0 y0 translate +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +dr 0 gt {numcolors 1 sub}{0} ifelse gradcolor rgb +clippath f +dr 0 gt {numcolors 1 sub -1 0} { 0 1 numcolors 1 sub} ifelse +{ +dup numcolors div dr mul r0 add +3 1 roll +gradcolor rgb +exch +0 0 3 -1 roll C f +} +for +} +if +pop +popt +} bd +/max { +2 copy lt {exch} if pop +} bd +/conical { +pusht 5 1 roll +3 1 roll /y0 xd /x0 xd +x0 y0 translate +radgrad rotate +dup length 3 idiv /numcolors xd +clippath flattenpath pathbbox newpath +4 { abs 4 1 roll} repeat +3 { max } repeat +2 mul +dup scale +0 gradcolor rgb +0 0 1 0 360 arc f +1 1 numcolors 1 sub +{ +dup numcolors div 180 mul +3 1 roll +gradcolor rgb +exch +0 0 moveto +0 0 1 4 -1 roll dup neg arc +closepath f +} +for +pop +popt +} bd +/XStep 0 def /YStep 0 def /imagedata 0 def /components 0 def +/tileimage2 { +exch 4 2 roll +/height xd +/width xd +mark +/components 2 index +/PatternType 1 +/PaintType 1 +/TilingType 1 +/BBox [0 0 width height] +/XStep width +/YStep height +/PaintProc { +begin +XStep YStep 8 +matrix +imagedata +false +components +colorimage +end +} +counttomark 2 div cvi dup dict begin +{ def } repeat +pop currentdict end +dup +/imagedata +4 -1 roll +width height mul mul string +currentfile exch readhexstring pop +put +exch +makepattern +setpattern +clippath +eofill +} bd +/tileimage1 { +concat +/components xd +/height xd +/width xd +/imagedata +currentfile +width height mul components mul string +readhexstring pop +def +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +left width div floor width mul +bottom height div floor height mul +translate +top bottom sub height div ceiling cvi +{ +gsave +right left sub width div ceiling cvi +{ +width height 8 matrix +components 1 eq +{ +{ imagedata } +image +} +{ +imagedata +false components +colorimage +} +ifelse +width 0 translate +} +repeat +grestore +0 height translate +} +repeat +} bd +/makepattern where +{ +pop +/tileimage /tileimage2 load def +} +{ +/tileimage /tileimage1 load def +} +ifelse +end +%%EndResource +%%EndProlog + +%%BeginSetup +%%IncludeResource: font Times-Roman + +10.433 setmiterlimit +%%EndSetup + +%%Page: 1 1 +SketchDict begin +newpath +85.0395 737.009 m +85.0395 722.836 l +141.732 722.836 l +141.732 700.159 l +0.639 0.617 0.97 rgb +4.25197 w +1 j +0 J +[] 0 d +S +[56.6929 0 0 -28.3464 56.6929 765.354] rect +0 0 0 rgb +1 w +0 j +S +[56.6929 0 0 -28.3464 170.079 765.354] rect +S +newpath +85.0394 737.008 m +85.0394 722.835 l +198.425 722.835 l +198.425 737.008 l +S +/Times-Roman 12 sf +(P) +81 748 T +newpath +141.732 722.835 m +141.732 700.157 l +0.992126 w +S +[8.50395 0 0 -8.50395 198.426 751.182] ellipse +4.8189 w +S +newpath +204.378 757.135 m +192.473 745.23 l +1 j +S +[8.50395 0 0 -8.50395 198.426 751.182] ellipse +1 0 0 rgb +4.25197 w +0 j +S +newpath +204.378 757.135 m +192.473 745.23 l +1 j +S +%%PageTrailer +showpage +%%Trailer +end +%%DocumentSuppliedResources: procset Linux-Sketch-Procset 1.0 2 +%%EOF + +%%EndDocument + @endspecial 1423 931 a + currentpoint currentpoint translate 1 0.74356 div 1 0.74356 div scale +neg exch neg exch translate + 1423 931 a 382 1247 a Fp(Um)22 +b(dieses)f(F)-8 b(ehlv)m(erhalten)24 b(zu)e(v)m(erhindern,)k(m)m +(\374\377te)d(Heartb)s(eat)f(auf)g(einem)h(isolierten)382 +1360 y(Serv)m(er)37 b(in)e(einen)i(Zustand)f(\374b)s(ergehen,)j(in)c +(dem)i(k)m(ein)f(Service)g(laufen)g(k)-5 b(ann.)57 b(Die-)382 +1473 y(sen)31 b(Zustand)i(k)-5 b(ann)31 b(Heartb)s(eat)h(erst)g(dann)g +(wieder)g(v)m(erlassen,)h(nac)m(hdem)g(es)e(seinen)382 +1586 y(Datenstand)g(an)g(den)g(aktuellen)g(Datenstand)g(des)f(Clusters) +h(anpassen)g(k)m(onn)m(te.)382 1745 y(Der)f(folgende)h(Zustandsgraph)h +(m)m(\374\377te)g(f\374r)e(jedes)g(Service)h(v)m(orhanden)h(sein:)1286 +2878 y + currentpoint currentpoint translate 0.78741 0.78741 scale neg exch +neg exch translate + 1286 2878 a @beginspecial 94 @llx 647 @lly 274 +@urx 798 @ury 1800 @rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//heartbeat-state.ps +%!PS-Adobe-3.0 EPSF-3.0 +%%For: Philipp Reisner +%%CreationDate: Fri Apr 14 09:54:59 2000 +%%Title: heartbeat-state.ps +%%Creator: Sketch 0.6.5 +%%Pages: 1 +%%BoundingBox: 94 647 274 798 +%%Extensions: CMYK +%%DocumentSuppliedResources: (atend) +%%DocumentNeededResources: font Times-Roman +%%EndComments + +%%BeginProlog +%%BeginResource: procset Linux-Sketch-Procset 1.0 2 +/SketchDict 100 dict def +SketchDict begin +/bd { bind def } bind def +/x { exch } bd +/xd { exch def } bd +/PI 3.14159265358979323846264338327 def +/radgrad { 180 mul PI div } bd +/skstartmatrix matrix currentmatrix def +/tmpmat matrix def +/ISOLatin1Encoding dup where +{ pop pop } +{ [/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand +/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period +/slash /zero /one /two /three /four /five /six /seven /eight /nine /colon +/semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J +/K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash +/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i +/j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright +/asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve +/dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek +/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen +/registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu +/paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright +/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex +/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex +/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve +/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute +/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute +/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute +/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde +/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def +} +ifelse +/arct dup where +{pop pop} +{ +/arct {arcto pop pop pop pop} bd +} +ifelse +/size 0 def +/fontname 0 def +/newfont 0 def +/sf { +/size xd +/fontname xd +fontname findfont +dup /Encoding get StandardEncoding eq +{ +dup +length dict /newfont xd +{ +1 index +/FID ne +{ newfont 3 1 roll put } +{ pop pop } +ifelse +} forall +newfont /Encoding ISOLatin1Encoding put +fontname newfont definefont +} +if +size scalefont setfont +} bd +/pusht {matrix currentmatrix} bd +/popt {setmatrix} bd +/pushc {gsave} bd +/popc {grestore} bd +/rgb {setrgbcolor} bd +/w { setlinewidth } bd +/j { setlinejoin } bd +/J { setlinecap } bd +/d { setdash } bd +/F { eofill } bd +/f { closepath F } bd +/S { +pusht +skstartmatrix setmatrix stroke +popt +} bd +/s { closepath S } bd +/m { moveto } bd +/l { lineto } bd +/c { curveto } bd +/txt { +/tmpmat tmpmat currentmatrix def +dup type /arraytype eq {concat} {translate} ifelse +0 0 m +tmpmat +} bd +/T {txt x show popt} bd +/P {txt x true charpath popt} bd +/TP {txt x dup show 0 0 m true charpath popt} bd +/C {newpath 0 360 arc} bd +/R { +2 copy m +x 2 index l +x 2 index x l +l +closepath +} bd +/ellipse { +dup type /arraytype eq +{ +pusht x concat +0 0 1.0 C +popt +} +{ +pusht 5 1 roll +4 -1 roll concat +newpath +dup 2 eq { +0 0 m +} if +3 1 roll +radgrad x +radgrad x +0 0 1 5 -2 roll +arc +0 ne { closepath } if +popt +} +ifelse +} bd +/radius1 0 def +/radius2 0 def +/factor 0 def +/rect { +dup type /arraytype eq +{ +pusht x concat +0 0 m 1 0 l 1 1 l 0 1 l closepath +popt +} +{ +/radius2 xd +/radius1 xd +pusht x concat +radius1 radius2 div 1 scale +0 radius2 m +0 1 radius2 1 radius2 arct +radius2 radius1 div +dup 1 1 index 0 radius2 arct +0 0 0 radius2 arct +0 0 0 1 radius2 arct +closepath +popt +} +ifelse +} bd +/buf 0 def +/width 0 def +/height 0 def +/skcimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width 3 mul string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +false 3 colorimage +tmpmat setmatrix +} bd +/skgimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +image +tmpmat setmatrix +} bd +/rclip { +4 2 roll m +dup 0 x rlineto +x 0 rlineto +neg 0 x rlineto +closepath +clip +} bd +/skeps { +10 dict begin +/sk_state save def +concat +3 index neg 3 index neg translate +rclip +0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin +10 setmiterlimit [ ] 0 setdash +newpath +/sk_dict_count countdictstack def +/sk_count count 1 sub def +userdict begin +/showpage { } def +/languagelevel where +{ +pop +languagelevel 1 ne +{ +false setstrokeadjust +false setoverprint +} if +} if +} bd +/skepsend { +count sk_count sub { pop } repeat +countdictstack sk_dict_count sub { end } repeat +sk_state restore +end +} bd +/gradidx 0 def +/gradient { +3 mul array +/gradidx 0 def +} bd +/$ { +3 index gradidx 5 -1 roll put +2 index gradidx 1 add 4 -1 roll put +1 index gradidx 2 add 3 -1 roll put +/gradidx gradidx 3 add def +} bd +/! { +3 +{ +dup dup gradidx dup 3 1 roll 3 sub get put +/gradidx gradidx 1 add def +} +repeat +} bd +/gradcolor { +3 mul dup 2 add 1 exch % idx 1 idx+2 +{ +1 index exch % array array i +get % array component +exch % component array +} +for +4 1 roll +} bd +/x0 0 def /y0 0 def /x1 0 def /y1 0 def +/left 0 def /right 0 def /top 0 def /bottom 0 def +/numcolors 0 def +/axial { +/y1 xd /x1 xd /y0 xd /x0 xd +dup length 3 idiv /numcolors xd +pusht exch % ctm array +x0 x1 ne y0 y1 ne or +{ +x0 y0 translate +[x1 x0 sub y1 y0 sub dup neg 2 index 0 0] concat +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +0 gradcolor rgb clippath f +0 1 numcolors 1 sub +{ +dup numcolors div +3 1 roll +gradcolor rgb +exch +bottom right top R f +} +for +} +if +pop +popt +} bd +/r0 0 def /r1 0 def /dr 0 def +/radial { +/r1 xd /r0 xd /y0 xd /x0 xd +/dr r1 r0 sub def +dup length 3 idiv /numcolors xd +pusht exch % ctm array +r0 r1 ne +{ +x0 y0 translate +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +dr 0 gt {numcolors 1 sub}{0} ifelse gradcolor rgb +clippath f +dr 0 gt {numcolors 1 sub -1 0} { 0 1 numcolors 1 sub} ifelse +{ +dup numcolors div dr mul r0 add +3 1 roll +gradcolor rgb +exch +0 0 3 -1 roll C f +} +for +} +if +pop +popt +} bd +/max { +2 copy lt {exch} if pop +} bd +/conical { +pusht 5 1 roll +3 1 roll /y0 xd /x0 xd +x0 y0 translate +radgrad rotate +dup length 3 idiv /numcolors xd +clippath flattenpath pathbbox newpath +4 { abs 4 1 roll} repeat +3 { max } repeat +2 mul +dup scale +0 gradcolor rgb +0 0 1 0 360 arc f +1 1 numcolors 1 sub +{ +dup numcolors div 180 mul +3 1 roll +gradcolor rgb +exch +0 0 moveto +0 0 1 4 -1 roll dup neg arc +closepath f +} +for +pop +popt +} bd +/XStep 0 def /YStep 0 def /imagedata 0 def /components 0 def +/tileimage2 { +exch 4 2 roll +/height xd +/width xd +mark +/components 2 index +/PatternType 1 +/PaintType 1 +/TilingType 1 +/BBox [0 0 width height] +/XStep width +/YStep height +/PaintProc { +begin +XStep YStep 8 +matrix +imagedata +false +components +colorimage +end +} +counttomark 2 div cvi dup dict begin +{ def } repeat +pop currentdict end +dup +/imagedata +4 -1 roll +width height mul mul string +currentfile exch readhexstring pop +put +exch +makepattern +setpattern +clippath +eofill +} bd +/tileimage1 { +concat +/components xd +/height xd +/width xd +/imagedata +currentfile +width height mul components mul string +readhexstring pop +def +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +left width div floor width mul +bottom height div floor height mul +translate +top bottom sub height div ceiling cvi +{ +gsave +right left sub width div ceiling cvi +{ +width height 8 matrix +components 1 eq +{ +{ imagedata } +image +} +{ +imagedata +false components +colorimage +} +ifelse +width 0 translate +} +repeat +grestore +0 height translate +} +repeat +} bd +/makepattern where +{ +pop +/tileimage /tileimage2 load def +} +{ +/tileimage /tileimage1 load def +} +ifelse +end +%%EndResource +%%EndProlog + +%%BeginSetup +%%IncludeResource: font Times-Roman + +10.433 setmiterlimit +%%EndSetup + +%%Page: 1 1 +SketchDict begin +newpath +172.914 680.232 m +137.032 700.157 101.164 680.232 101.164 680.232 c +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +pusht +172.914 680.232 translate +-29.0431 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +[25.5118 0 0 -19.8426 99.2128 697.324] rect +1 1 1 rgb +F +newpath +246.614 748.492 m +245.929 707.454 210.739 686.354 210.739 686.354 c +0 0 0 rgb +S +pusht +210.739 686.354 translate +-149.053 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +189.643 694.713 m +188.958 735.75 153.768 756.85 153.768 756.85 c +S +pusht +189.643 694.713 translate +-89.0437 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +232.261 756.778 m +197.064 735.666 196.386 694.641 196.386 694.641 c +S +pusht +232.261 756.778 translate +30.9563 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +228.638 779.445 m +192.756 799.37 156.888 779.445 156.888 779.445 c +S +pusht +228.638 779.445 translate +-29.0431 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +228.638 762.871 m +192.756 742.946 156.888 762.871 156.888 762.871 c +S +pusht +156.888 762.871 translate +150.947 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +newpath +175.29 686.426 m +140.094 707.538 139.415 748.564 139.415 748.564 c +[5 5 ] 0 d +S +pusht +139.415 748.564 translate +90.9482 rotate +1 dup scale +[ ] 0 d +-4 3 m +2 0 l +-4 -3 l +-4 3 l +F +popt +[22.6772 0 0 -22.6772 249.449 771.024] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[22.6772 0 0 -22.6772 136.063 771.024] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +[11.3386 19.639 19.639 -11.3386 193.267 672.396] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +1 w +0 j +0 J +[] 0 d +S +/Times-Roman 18 sf +(S) +244 766 T +(P) +131 766 T +(W) +184 668 T +[8.50395 0 0 -8.50394 192.756 788.033] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.566929 w +0 j +0 J +[] 0 d +S +[8.50395 0 0 -8.50394 137.032 688.82] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.566929 w +0 j +0 J +[] 0 d +S +[8.50395 0 0 -8.50394 192.756 754.017] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.566929 w +0 j +0 J +[] 0 d +S +[8.50395 0 0 -8.50394 206.929 731.34] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.566929 w +0 j +0 J +[] 0 d +S +[8.50395 0 0 -8.50394 178.583 731.34] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.566929 w +0 j +0 J +[] 0 d +S +[8.50395 0 0 -8.50394 150.236 714.332] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.566929 w +0 j +0 J +[] 0 d +S +[8.50395 0 0 -8.50394 238.111 714.332] ellipse +gsave +1 1 1 rgb +F +grestore +0 0 0 rgb +0.566929 w +0 j +0 J +[] 0 d +S +/Times-Roman 12 sf +(3) +189 785 T +(1) +134 686 T +(4) +189 751 T +(7) +203 728 T +(5) +175 728 T +(2) +147 711 T +(6) +235 711 T +%%PageTrailer +showpage +%%Trailer +end +%%DocumentSuppliedResources: procset Linux-Sketch-Procset 1.0 2 +%%EOF + +%%EndDocument + @endspecial 1286 2878 a + currentpoint currentpoint translate 1 0.78741 div 1 0.78741 div scale +neg exch neg exch translate + 1286 2878 a 382 3194 a Fn(P)i(Primary)45 +b Fp(In)30 b(diesem)g(Zustand)h(l\344uft)g(das)f(Service.)382 +3378 y Fn(S)k(Secondary)45 b Fp(Das)22 b(Service)g(l\344uft)g(nic)m(h)m +(t.)39 b(Der)22 b(Knoten,)j(der)d(das)f(Service)i(an)m(bietet,)609 +3491 y(wird)45 b(\374b)s(erw)m(ac)m(h)m(t,)51 b(und)45 +b(die)g(Daten,)k(die)c(er)f(sc)m(hreibt,)50 b(w)m(erden)c(auf)e(diesen) +609 3604 y(Knoten)32 b(gespiegelt.)382 3787 y Fn(W)j(W)-9 +b(aiting)46 b Fp(Da)35 b(der)f(aktuelle)i(Stand)f(der)g(clusterw)m +(eiten)i(Daten)e(nic)m(h)m(t)h(b)s(ek)-5 b(ann)m(t)609 +3900 y(ist,)43 b(wird)f(v)m(om)f(Knoten,)j(der)d(gerade)h(das)e +(Service)i(an)m(bietet,)j(der)c(aktuelle)609 4013 y(Datenstand)32 +b(b)s(ezogen.)382 4259 y(\334b)s(erg\344nge:)382 4505 +y(1)204 b(W)-8 b(enn)31 b(Heartb)s(eat)g(startet,)f(geh)m(t)i(es)e +(zuerst)h(in)f(den)h(Zustand)g(W)f(\374b)s(er.)382 4688 +y(2)204 b(W)-8 b(enn)36 b(ein)g(Cluster)g(zum)g(ersten)g(Mal)g +(gestartet)g(wird,)i(gehen)e(alle)g(Knoten)631 4801 y(in)c(den)h +(Zustand)g(W.)f(Der)h(A)m(dministrator)h(hat)f(die)f(M\366glic)m(hk)m +(eit,)j(einen)e(der)631 4914 y(Knoten)e(in)f(den)h(Zustand)g(P)g(\374b) +s(erzuf\374hren.)382 5097 y(3)204 b(W)-8 b(enn)40 b(ein)g(anderer)g +(Knoten)h(das)e(Service)h(\374b)s(ernehmen)h(will,)i(geh)m(t)d(dieser) +631 5210 y(Knoten)31 b(in)f(den)h(Zustand)g(S)g(\374b)s(er.)382 +5394 y(4)204 b(Der)30 b(prim\344re)i(Knoten)f(eines)f(Services)h(ist)f +(ausgefallen.)1831 5622 y(76)p eop +%%Page: 77 79 +77 78 bop 382 262 a Fl(KAPITEL)31 b(6.)71 b(HA)30 b(UNTER)g(LINUX)437 +b(6.3.)71 b(IMPLEMENTIER)m(UNG)p 382 299 2989 4 v 382 +539 a Fp(5,)30 b(6)104 b(Der)28 b(Knoten)h(ist)e(v)m(om)i(Netzw)m(erk)g +(isoliert,)g(d.h.)40 b(er)28 b(k)-5 b(ann)28 b(w)m(eder)h(einen)g +(ande-)631 652 y(ren)22 b(Knoten)h(des)e(Clusters,)j(no)s(c)m(h)f +(Netzw)m(erkressourcen,)i(v)m(on)d(denen)h(b)s(ek)-5 +b(ann)m(t)631 764 y(ist,)30 b(da\377)h(sie)f(normalerw)m(eise)i(sic)m +(h)m(tbar)g(sind,)f(erreic)m(hen.)382 952 y(7)204 b(Die)43 +b(Aufsync)m(hronisation)i(des)f(Datenstandes)h(mit)f(dem)g(Datenstand)h +(des)631 1065 y(aktuellen)31 b(prim\344ren)h(Knotens)f(w)m(ar)g +(erfolgreic)m(h.)382 1327 y(Ein)g(w)m(eiteres)g(Beispiel:)493 +1590 y(1.)46 b(Eine)h(K)m(on\034guration)h(mit)e(zw)m(ei)h(Netzw)m +(erkk)-5 b(arten;)55 b(Heartb)s(eat)46 b(sind)g(b)s(eide)609 +1703 y(Netzw)m(erkv)m(erbindungen)34 b(b)s(ek)-5 b(ann)m(t.)1423 +2320 y + currentpoint currentpoint translate 0.74356 0.74356 scale neg exch +neg exch translate + 1423 2320 a @beginspecial 50 @llx 693 @lly 233 +@urx 771 @ury 1830 @rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//heart-2-1.ps +%!PS-Adobe-3.0 EPSF-3.0 +%%For: Philipp Reisner +%%CreationDate: Thu Apr 13 16:21:21 2000 +%%Title: heart-2-1.ps +%%Creator: Sketch 0.6.5 +%%Pages: 1 +%%BoundingBox: 50 693 233 771 +%%Extensions: CMYK +%%DocumentSuppliedResources: (atend) +%%DocumentNeededResources: font Times-Roman +%%EndComments + +%%BeginProlog +%%BeginResource: procset Linux-Sketch-Procset 1.0 2 +/SketchDict 100 dict def +SketchDict begin +/bd { bind def } bind def +/x { exch } bd +/xd { exch def } bd +/PI 3.14159265358979323846264338327 def +/radgrad { 180 mul PI div } bd +/skstartmatrix matrix currentmatrix def +/tmpmat matrix def +/ISOLatin1Encoding dup where +{ pop pop } +{ [/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand +/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period +/slash /zero /one /two /three /four /five /six /seven /eight /nine /colon +/semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J +/K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash +/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i +/j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright +/asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve +/dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek +/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen +/registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu +/paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright +/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex +/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex +/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve +/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute +/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute +/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute +/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde +/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def +} +ifelse +/arct dup where +{pop pop} +{ +/arct {arcto pop pop pop pop} bd +} +ifelse +/size 0 def +/fontname 0 def +/newfont 0 def +/sf { +/size xd +/fontname xd +fontname findfont +dup /Encoding get StandardEncoding eq +{ +dup +length dict /newfont xd +{ +1 index +/FID ne +{ newfont 3 1 roll put } +{ pop pop } +ifelse +} forall +newfont /Encoding ISOLatin1Encoding put +fontname newfont definefont +} +if +size scalefont setfont +} bd +/pusht {matrix currentmatrix} bd +/popt {setmatrix} bd +/pushc {gsave} bd +/popc {grestore} bd +/rgb {setrgbcolor} bd +/w { setlinewidth } bd +/j { setlinejoin } bd +/J { setlinecap } bd +/d { setdash } bd +/F { eofill } bd +/f { closepath F } bd +/S { +pusht +skstartmatrix setmatrix stroke +popt +} bd +/s { closepath S } bd +/m { moveto } bd +/l { lineto } bd +/c { curveto } bd +/txt { +/tmpmat tmpmat currentmatrix def +dup type /arraytype eq {concat} {translate} ifelse +0 0 m +tmpmat +} bd +/T {txt x show popt} bd +/P {txt x true charpath popt} bd +/TP {txt x dup show 0 0 m true charpath popt} bd +/C {newpath 0 360 arc} bd +/R { +2 copy m +x 2 index l +x 2 index x l +l +closepath +} bd +/ellipse { +dup type /arraytype eq +{ +pusht x concat +0 0 1.0 C +popt +} +{ +pusht 5 1 roll +4 -1 roll concat +newpath +dup 2 eq { +0 0 m +} if +3 1 roll +radgrad x +radgrad x +0 0 1 5 -2 roll +arc +0 ne { closepath } if +popt +} +ifelse +} bd +/radius1 0 def +/radius2 0 def +/factor 0 def +/rect { +dup type /arraytype eq +{ +pusht x concat +0 0 m 1 0 l 1 1 l 0 1 l closepath +popt +} +{ +/radius2 xd +/radius1 xd +pusht x concat +radius1 radius2 div 1 scale +0 radius2 m +0 1 radius2 1 radius2 arct +radius2 radius1 div +dup 1 1 index 0 radius2 arct +0 0 0 radius2 arct +0 0 0 1 radius2 arct +closepath +popt +} +ifelse +} bd +/buf 0 def +/width 0 def +/height 0 def +/skcimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width 3 mul string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +false 3 colorimage +tmpmat setmatrix +} bd +/skgimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +image +tmpmat setmatrix +} bd +/rclip { +4 2 roll m +dup 0 x rlineto +x 0 rlineto +neg 0 x rlineto +closepath +clip +} bd +/skeps { +10 dict begin +/sk_state save def +concat +3 index neg 3 index neg translate +rclip +0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin +10 setmiterlimit [ ] 0 setdash +newpath +/sk_dict_count countdictstack def +/sk_count count 1 sub def +userdict begin +/showpage { } def +/languagelevel where +{ +pop +languagelevel 1 ne +{ +false setstrokeadjust +false setoverprint +} if +} if +} bd +/skepsend { +count sk_count sub { pop } repeat +countdictstack sk_dict_count sub { end } repeat +sk_state restore +end +} bd +/gradidx 0 def +/gradient { +3 mul array +/gradidx 0 def +} bd +/$ { +3 index gradidx 5 -1 roll put +2 index gradidx 1 add 4 -1 roll put +1 index gradidx 2 add 3 -1 roll put +/gradidx gradidx 3 add def +} bd +/! { +3 +{ +dup dup gradidx dup 3 1 roll 3 sub get put +/gradidx gradidx 1 add def +} +repeat +} bd +/gradcolor { +3 mul dup 2 add 1 exch % idx 1 idx+2 +{ +1 index exch % array array i +get % array component +exch % component array +} +for +4 1 roll +} bd +/x0 0 def /y0 0 def /x1 0 def /y1 0 def +/left 0 def /right 0 def /top 0 def /bottom 0 def +/numcolors 0 def +/axial { +/y1 xd /x1 xd /y0 xd /x0 xd +dup length 3 idiv /numcolors xd +pusht exch % ctm array +x0 x1 ne y0 y1 ne or +{ +x0 y0 translate +[x1 x0 sub y1 y0 sub dup neg 2 index 0 0] concat +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +0 gradcolor rgb clippath f +0 1 numcolors 1 sub +{ +dup numcolors div +3 1 roll +gradcolor rgb +exch +bottom right top R f +} +for +} +if +pop +popt +} bd +/r0 0 def /r1 0 def /dr 0 def +/radial { +/r1 xd /r0 xd /y0 xd /x0 xd +/dr r1 r0 sub def +dup length 3 idiv /numcolors xd +pusht exch % ctm array +r0 r1 ne +{ +x0 y0 translate +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +dr 0 gt {numcolors 1 sub}{0} ifelse gradcolor rgb +clippath f +dr 0 gt {numcolors 1 sub -1 0} { 0 1 numcolors 1 sub} ifelse +{ +dup numcolors div dr mul r0 add +3 1 roll +gradcolor rgb +exch +0 0 3 -1 roll C f +} +for +} +if +pop +popt +} bd +/max { +2 copy lt {exch} if pop +} bd +/conical { +pusht 5 1 roll +3 1 roll /y0 xd /x0 xd +x0 y0 translate +radgrad rotate +dup length 3 idiv /numcolors xd +clippath flattenpath pathbbox newpath +4 { abs 4 1 roll} repeat +3 { max } repeat +2 mul +dup scale +0 gradcolor rgb +0 0 1 0 360 arc f +1 1 numcolors 1 sub +{ +dup numcolors div 180 mul +3 1 roll +gradcolor rgb +exch +0 0 moveto +0 0 1 4 -1 roll dup neg arc +closepath f +} +for +pop +popt +} bd +/XStep 0 def /YStep 0 def /imagedata 0 def /components 0 def +/tileimage2 { +exch 4 2 roll +/height xd +/width xd +mark +/components 2 index +/PatternType 1 +/PaintType 1 +/TilingType 1 +/BBox [0 0 width height] +/XStep width +/YStep height +/PaintProc { +begin +XStep YStep 8 +matrix +imagedata +false +components +colorimage +end +} +counttomark 2 div cvi dup dict begin +{ def } repeat +pop currentdict end +dup +/imagedata +4 -1 roll +width height mul mul string +currentfile exch readhexstring pop +put +exch +makepattern +setpattern +clippath +eofill +} bd +/tileimage1 { +concat +/components xd +/height xd +/width xd +/imagedata +currentfile +width height mul components mul string +readhexstring pop +def +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +left width div floor width mul +bottom height div floor height mul +translate +top bottom sub height div ceiling cvi +{ +gsave +right left sub width div ceiling cvi +{ +width height 8 matrix +components 1 eq +{ +{ imagedata } +image +} +{ +imagedata +false components +colorimage +} +ifelse +width 0 translate +} +repeat +grestore +0 height translate +} +repeat +} bd +/makepattern where +{ +pop +/tileimage /tileimage2 load def +} +{ +/tileimage /tileimage1 load def +} +ifelse +end +%%EndResource +%%EndProlog + +%%BeginSetup +%%IncludeResource: font Times-Roman + +10.433 setmiterlimit +%%EndSetup + +%%Page: 1 1 +SketchDict begin +newpath +85.0395 737.009 m +85.0395 722.836 l +141.732 722.836 l +141.732 700.159 l +0.639 0.617 0.97 rgb +4.25197 w +1 j +0 J +[] 0 d +S +[56.6929 0 0 -28.3464 56.6929 765.354] rect +0 0 0 rgb +1 w +0 j +S +[56.6929 0 0 -28.3464 170.079 765.354] rect +S +newpath +113.386 751.181 m +170.079 751.181 l +S +newpath +85.0394 737.008 m +85.0394 722.835 l +198.425 722.835 l +198.425 737.008 l +S +/Times-Roman 12 sf +(P) +81 748 T +(S) +195 748 T +newpath +141.732 722.835 m +141.732 700.157 l +0.992126 w +S +%%PageTrailer +showpage +%%Trailer +end +%%DocumentSuppliedResources: procset Linux-Sketch-Procset 1.0 2 +%%EOF + +%%EndDocument + @endspecial 1423 2320 a + currentpoint currentpoint translate 1 0.74356 div 1 0.74356 div scale +neg exch neg exch translate + 1423 2320 a 493 2579 a Fp(2.)46 +b(Da)37 b(die)g(Heartb)s(eat-Instanz)h(auf)f(dem)g(sekund\344ren)h +(Knoten)g(den)f(prim\344ren)609 2691 y(Knoten)26 b(immer)h(no)s(c)m(h)e +(erreic)m(hen)i(k)-5 b(ann,)27 b(k)m(omm)m(t)g(es)d(zu)i(k)m(einem)g(F) +-8 b(ailo)m(v)m(er.)41 b(Das)609 2804 y(Service)31 b(ist)f(nic)m(h)m(t) +i(mehr)f(erreic)m(h)m(bar.)1423 3404 y + currentpoint currentpoint translate 0.74356 0.74356 scale neg exch +neg exch translate + 1423 3404 a @beginspecial +50 @llx 693 @lly 233 @urx 771 @ury 1830 @rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//heart-2-2.ps +%!PS-Adobe-3.0 EPSF-3.0 +%%For: Philipp Reisner +%%CreationDate: Thu Apr 13 16:21:11 2000 +%%Title: heart-2-2.ps +%%Creator: Sketch 0.6.5 +%%Pages: 1 +%%BoundingBox: 50 693 233 771 +%%Extensions: CMYK +%%DocumentSuppliedResources: (atend) +%%DocumentNeededResources: font Times-Roman +%%EndComments + +%%BeginProlog +%%BeginResource: procset Linux-Sketch-Procset 1.0 2 +/SketchDict 100 dict def +SketchDict begin +/bd { bind def } bind def +/x { exch } bd +/xd { exch def } bd +/PI 3.14159265358979323846264338327 def +/radgrad { 180 mul PI div } bd +/skstartmatrix matrix currentmatrix def +/tmpmat matrix def +/ISOLatin1Encoding dup where +{ pop pop } +{ [/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand +/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period +/slash /zero /one /two /three /four /five /six /seven /eight /nine /colon +/semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J +/K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash +/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i +/j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright +/asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve +/dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek +/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen +/registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu +/paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright +/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex +/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex +/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve +/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute +/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute +/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute +/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde +/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def +} +ifelse +/arct dup where +{pop pop} +{ +/arct {arcto pop pop pop pop} bd +} +ifelse +/size 0 def +/fontname 0 def +/newfont 0 def +/sf { +/size xd +/fontname xd +fontname findfont +dup /Encoding get StandardEncoding eq +{ +dup +length dict /newfont xd +{ +1 index +/FID ne +{ newfont 3 1 roll put } +{ pop pop } +ifelse +} forall +newfont /Encoding ISOLatin1Encoding put +fontname newfont definefont +} +if +size scalefont setfont +} bd +/pusht {matrix currentmatrix} bd +/popt {setmatrix} bd +/pushc {gsave} bd +/popc {grestore} bd +/rgb {setrgbcolor} bd +/w { setlinewidth } bd +/j { setlinejoin } bd +/J { setlinecap } bd +/d { setdash } bd +/F { eofill } bd +/f { closepath F } bd +/S { +pusht +skstartmatrix setmatrix stroke +popt +} bd +/s { closepath S } bd +/m { moveto } bd +/l { lineto } bd +/c { curveto } bd +/txt { +/tmpmat tmpmat currentmatrix def +dup type /arraytype eq {concat} {translate} ifelse +0 0 m +tmpmat +} bd +/T {txt x show popt} bd +/P {txt x true charpath popt} bd +/TP {txt x dup show 0 0 m true charpath popt} bd +/C {newpath 0 360 arc} bd +/R { +2 copy m +x 2 index l +x 2 index x l +l +closepath +} bd +/ellipse { +dup type /arraytype eq +{ +pusht x concat +0 0 1.0 C +popt +} +{ +pusht 5 1 roll +4 -1 roll concat +newpath +dup 2 eq { +0 0 m +} if +3 1 roll +radgrad x +radgrad x +0 0 1 5 -2 roll +arc +0 ne { closepath } if +popt +} +ifelse +} bd +/radius1 0 def +/radius2 0 def +/factor 0 def +/rect { +dup type /arraytype eq +{ +pusht x concat +0 0 m 1 0 l 1 1 l 0 1 l closepath +popt +} +{ +/radius2 xd +/radius1 xd +pusht x concat +radius1 radius2 div 1 scale +0 radius2 m +0 1 radius2 1 radius2 arct +radius2 radius1 div +dup 1 1 index 0 radius2 arct +0 0 0 radius2 arct +0 0 0 1 radius2 arct +closepath +popt +} +ifelse +} bd +/buf 0 def +/width 0 def +/height 0 def +/skcimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width 3 mul string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +false 3 colorimage +tmpmat setmatrix +} bd +/skgimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +image +tmpmat setmatrix +} bd +/rclip { +4 2 roll m +dup 0 x rlineto +x 0 rlineto +neg 0 x rlineto +closepath +clip +} bd +/skeps { +10 dict begin +/sk_state save def +concat +3 index neg 3 index neg translate +rclip +0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin +10 setmiterlimit [ ] 0 setdash +newpath +/sk_dict_count countdictstack def +/sk_count count 1 sub def +userdict begin +/showpage { } def +/languagelevel where +{ +pop +languagelevel 1 ne +{ +false setstrokeadjust +false setoverprint +} if +} if +} bd +/skepsend { +count sk_count sub { pop } repeat +countdictstack sk_dict_count sub { end } repeat +sk_state restore +end +} bd +/gradidx 0 def +/gradient { +3 mul array +/gradidx 0 def +} bd +/$ { +3 index gradidx 5 -1 roll put +2 index gradidx 1 add 4 -1 roll put +1 index gradidx 2 add 3 -1 roll put +/gradidx gradidx 3 add def +} bd +/! { +3 +{ +dup dup gradidx dup 3 1 roll 3 sub get put +/gradidx gradidx 1 add def +} +repeat +} bd +/gradcolor { +3 mul dup 2 add 1 exch % idx 1 idx+2 +{ +1 index exch % array array i +get % array component +exch % component array +} +for +4 1 roll +} bd +/x0 0 def /y0 0 def /x1 0 def /y1 0 def +/left 0 def /right 0 def /top 0 def /bottom 0 def +/numcolors 0 def +/axial { +/y1 xd /x1 xd /y0 xd /x0 xd +dup length 3 idiv /numcolors xd +pusht exch % ctm array +x0 x1 ne y0 y1 ne or +{ +x0 y0 translate +[x1 x0 sub y1 y0 sub dup neg 2 index 0 0] concat +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +0 gradcolor rgb clippath f +0 1 numcolors 1 sub +{ +dup numcolors div +3 1 roll +gradcolor rgb +exch +bottom right top R f +} +for +} +if +pop +popt +} bd +/r0 0 def /r1 0 def /dr 0 def +/radial { +/r1 xd /r0 xd /y0 xd /x0 xd +/dr r1 r0 sub def +dup length 3 idiv /numcolors xd +pusht exch % ctm array +r0 r1 ne +{ +x0 y0 translate +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +dr 0 gt {numcolors 1 sub}{0} ifelse gradcolor rgb +clippath f +dr 0 gt {numcolors 1 sub -1 0} { 0 1 numcolors 1 sub} ifelse +{ +dup numcolors div dr mul r0 add +3 1 roll +gradcolor rgb +exch +0 0 3 -1 roll C f +} +for +} +if +pop +popt +} bd +/max { +2 copy lt {exch} if pop +} bd +/conical { +pusht 5 1 roll +3 1 roll /y0 xd /x0 xd +x0 y0 translate +radgrad rotate +dup length 3 idiv /numcolors xd +clippath flattenpath pathbbox newpath +4 { abs 4 1 roll} repeat +3 { max } repeat +2 mul +dup scale +0 gradcolor rgb +0 0 1 0 360 arc f +1 1 numcolors 1 sub +{ +dup numcolors div 180 mul +3 1 roll +gradcolor rgb +exch +0 0 moveto +0 0 1 4 -1 roll dup neg arc +closepath f +} +for +pop +popt +} bd +/XStep 0 def /YStep 0 def /imagedata 0 def /components 0 def +/tileimage2 { +exch 4 2 roll +/height xd +/width xd +mark +/components 2 index +/PatternType 1 +/PaintType 1 +/TilingType 1 +/BBox [0 0 width height] +/XStep width +/YStep height +/PaintProc { +begin +XStep YStep 8 +matrix +imagedata +false +components +colorimage +end +} +counttomark 2 div cvi dup dict begin +{ def } repeat +pop currentdict end +dup +/imagedata +4 -1 roll +width height mul mul string +currentfile exch readhexstring pop +put +exch +makepattern +setpattern +clippath +eofill +} bd +/tileimage1 { +concat +/components xd +/height xd +/width xd +/imagedata +currentfile +width height mul components mul string +readhexstring pop +def +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +left width div floor width mul +bottom height div floor height mul +translate +top bottom sub height div ceiling cvi +{ +gsave +right left sub width div ceiling cvi +{ +width height 8 matrix +components 1 eq +{ +{ imagedata } +image +} +{ +imagedata +false components +colorimage +} +ifelse +width 0 translate +} +repeat +grestore +0 height translate +} +repeat +} bd +/makepattern where +{ +pop +/tileimage /tileimage2 load def +} +{ +/tileimage /tileimage1 load def +} +ifelse +end +%%EndResource +%%EndProlog + +%%BeginSetup +%%IncludeResource: font Times-Roman + +10.433 setmiterlimit +%%EndSetup + +%%Page: 1 1 +SketchDict begin +newpath +93.5434 722.836 m +141.732 722.836 l +141.732 700.159 l +0.639 0.617 0.97 rgb +4.25197 w +1 j +0 J +[] 0 d +S +[56.6929 0 0 -28.3464 56.6929 765.354] rect +0 0 0 rgb +1 w +0 j +S +[56.6929 0 0 -28.3464 170.079 765.354] rect +S +newpath +113.386 751.181 m +170.079 751.181 l +S +newpath +85.0394 737.008 m +85.0394 722.835 l +198.425 722.835 l +198.425 737.008 l +S +/Times-Roman 12 sf +(P) +81 748 T +(S) +195 748 T +newpath +141.732 722.835 m +141.732 700.157 l +0.992126 w +S +[8.50395 0 0 -8.50395 85.0395 722.836] ellipse +4.8189 w +S +newpath +90.9925 728.789 m +79.0869 716.883 l +1 j +S +[8.50395 0 0 -8.50395 85.0395 722.836] ellipse +1 0 0 rgb +4.25197 w +0 j +S +newpath +90.9925 728.789 m +79.0869 716.883 l +1 j +S +%%PageTrailer +showpage +%%Trailer +end +%%DocumentSuppliedResources: procset Linux-Sketch-Procset 1.0 2 +%%EOF + +%%EndDocument + @endspecial 1423 3404 a + currentpoint currentpoint translate 1 0.74356 div 1 0.74356 div scale +neg exch neg exch translate + 1423 3404 a 518 3737 a Fd(\017)46 +b Fp(W\374rde)31 b(man)h(Heartb)s(eat)f(n)m(ur)h(das)f(Clien)m(t-Netzw) +m(erk)i(b)s(ek)-5 b(ann)m(tgeb)s(en,)33 b(w\374rde)609 +3850 y(der)e(F)-8 b(ailo)m(v)m(er)32 b(funktionieren.)1423 +4450 y + currentpoint currentpoint translate 0.74356 0.74356 scale neg exch +neg exch translate + 1423 4450 a @beginspecial 50 @llx 693 @lly 233 +@urx 771 @ury 1830 @rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//heart-2-3.ps +%!PS-Adobe-3.0 EPSF-3.0 +%%For: Philipp Reisner +%%CreationDate: Thu Apr 13 16:24:09 2000 +%%Title: heart-2-3.ps +%%Creator: Sketch 0.6.5 +%%Pages: 1 +%%BoundingBox: 50 693 233 771 +%%Extensions: CMYK +%%DocumentSuppliedResources: (atend) +%%DocumentNeededResources: font Times-Roman +%%EndComments + +%%BeginProlog +%%BeginResource: procset Linux-Sketch-Procset 1.0 2 +/SketchDict 100 dict def +SketchDict begin +/bd { bind def } bind def +/x { exch } bd +/xd { exch def } bd +/PI 3.14159265358979323846264338327 def +/radgrad { 180 mul PI div } bd +/skstartmatrix matrix currentmatrix def +/tmpmat matrix def +/ISOLatin1Encoding dup where +{ pop pop } +{ [/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand +/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period +/slash /zero /one /two /three /four /five /six /seven /eight /nine /colon +/semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J +/K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash +/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i +/j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright +/asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve +/dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek +/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen +/registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu +/paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright +/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex +/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex +/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve +/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute +/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute +/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute +/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde +/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def +} +ifelse +/arct dup where +{pop pop} +{ +/arct {arcto pop pop pop pop} bd +} +ifelse +/size 0 def +/fontname 0 def +/newfont 0 def +/sf { +/size xd +/fontname xd +fontname findfont +dup /Encoding get StandardEncoding eq +{ +dup +length dict /newfont xd +{ +1 index +/FID ne +{ newfont 3 1 roll put } +{ pop pop } +ifelse +} forall +newfont /Encoding ISOLatin1Encoding put +fontname newfont definefont +} +if +size scalefont setfont +} bd +/pusht {matrix currentmatrix} bd +/popt {setmatrix} bd +/pushc {gsave} bd +/popc {grestore} bd +/rgb {setrgbcolor} bd +/w { setlinewidth } bd +/j { setlinejoin } bd +/J { setlinecap } bd +/d { setdash } bd +/F { eofill } bd +/f { closepath F } bd +/S { +pusht +skstartmatrix setmatrix stroke +popt +} bd +/s { closepath S } bd +/m { moveto } bd +/l { lineto } bd +/c { curveto } bd +/txt { +/tmpmat tmpmat currentmatrix def +dup type /arraytype eq {concat} {translate} ifelse +0 0 m +tmpmat +} bd +/T {txt x show popt} bd +/P {txt x true charpath popt} bd +/TP {txt x dup show 0 0 m true charpath popt} bd +/C {newpath 0 360 arc} bd +/R { +2 copy m +x 2 index l +x 2 index x l +l +closepath +} bd +/ellipse { +dup type /arraytype eq +{ +pusht x concat +0 0 1.0 C +popt +} +{ +pusht 5 1 roll +4 -1 roll concat +newpath +dup 2 eq { +0 0 m +} if +3 1 roll +radgrad x +radgrad x +0 0 1 5 -2 roll +arc +0 ne { closepath } if +popt +} +ifelse +} bd +/radius1 0 def +/radius2 0 def +/factor 0 def +/rect { +dup type /arraytype eq +{ +pusht x concat +0 0 m 1 0 l 1 1 l 0 1 l closepath +popt +} +{ +/radius2 xd +/radius1 xd +pusht x concat +radius1 radius2 div 1 scale +0 radius2 m +0 1 radius2 1 radius2 arct +radius2 radius1 div +dup 1 1 index 0 radius2 arct +0 0 0 radius2 arct +0 0 0 1 radius2 arct +closepath +popt +} +ifelse +} bd +/buf 0 def +/width 0 def +/height 0 def +/skcimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width 3 mul string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +false 3 colorimage +tmpmat setmatrix +} bd +/skgimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +image +tmpmat setmatrix +} bd +/rclip { +4 2 roll m +dup 0 x rlineto +x 0 rlineto +neg 0 x rlineto +closepath +clip +} bd +/skeps { +10 dict begin +/sk_state save def +concat +3 index neg 3 index neg translate +rclip +0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin +10 setmiterlimit [ ] 0 setdash +newpath +/sk_dict_count countdictstack def +/sk_count count 1 sub def +userdict begin +/showpage { } def +/languagelevel where +{ +pop +languagelevel 1 ne +{ +false setstrokeadjust +false setoverprint +} if +} if +} bd +/skepsend { +count sk_count sub { pop } repeat +countdictstack sk_dict_count sub { end } repeat +sk_state restore +end +} bd +/gradidx 0 def +/gradient { +3 mul array +/gradidx 0 def +} bd +/$ { +3 index gradidx 5 -1 roll put +2 index gradidx 1 add 4 -1 roll put +1 index gradidx 2 add 3 -1 roll put +/gradidx gradidx 3 add def +} bd +/! { +3 +{ +dup dup gradidx dup 3 1 roll 3 sub get put +/gradidx gradidx 1 add def +} +repeat +} bd +/gradcolor { +3 mul dup 2 add 1 exch % idx 1 idx+2 +{ +1 index exch % array array i +get % array component +exch % component array +} +for +4 1 roll +} bd +/x0 0 def /y0 0 def /x1 0 def /y1 0 def +/left 0 def /right 0 def /top 0 def /bottom 0 def +/numcolors 0 def +/axial { +/y1 xd /x1 xd /y0 xd /x0 xd +dup length 3 idiv /numcolors xd +pusht exch % ctm array +x0 x1 ne y0 y1 ne or +{ +x0 y0 translate +[x1 x0 sub y1 y0 sub dup neg 2 index 0 0] concat +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +0 gradcolor rgb clippath f +0 1 numcolors 1 sub +{ +dup numcolors div +3 1 roll +gradcolor rgb +exch +bottom right top R f +} +for +} +if +pop +popt +} bd +/r0 0 def /r1 0 def /dr 0 def +/radial { +/r1 xd /r0 xd /y0 xd /x0 xd +/dr r1 r0 sub def +dup length 3 idiv /numcolors xd +pusht exch % ctm array +r0 r1 ne +{ +x0 y0 translate +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +dr 0 gt {numcolors 1 sub}{0} ifelse gradcolor rgb +clippath f +dr 0 gt {numcolors 1 sub -1 0} { 0 1 numcolors 1 sub} ifelse +{ +dup numcolors div dr mul r0 add +3 1 roll +gradcolor rgb +exch +0 0 3 -1 roll C f +} +for +} +if +pop +popt +} bd +/max { +2 copy lt {exch} if pop +} bd +/conical { +pusht 5 1 roll +3 1 roll /y0 xd /x0 xd +x0 y0 translate +radgrad rotate +dup length 3 idiv /numcolors xd +clippath flattenpath pathbbox newpath +4 { abs 4 1 roll} repeat +3 { max } repeat +2 mul +dup scale +0 gradcolor rgb +0 0 1 0 360 arc f +1 1 numcolors 1 sub +{ +dup numcolors div 180 mul +3 1 roll +gradcolor rgb +exch +0 0 moveto +0 0 1 4 -1 roll dup neg arc +closepath f +} +for +pop +popt +} bd +/XStep 0 def /YStep 0 def /imagedata 0 def /components 0 def +/tileimage2 { +exch 4 2 roll +/height xd +/width xd +mark +/components 2 index +/PatternType 1 +/PaintType 1 +/TilingType 1 +/BBox [0 0 width height] +/XStep width +/YStep height +/PaintProc { +begin +XStep YStep 8 +matrix +imagedata +false +components +colorimage +end +} +counttomark 2 div cvi dup dict begin +{ def } repeat +pop currentdict end +dup +/imagedata +4 -1 roll +width height mul mul string +currentfile exch readhexstring pop +put +exch +makepattern +setpattern +clippath +eofill +} bd +/tileimage1 { +concat +/components xd +/height xd +/width xd +/imagedata +currentfile +width height mul components mul string +readhexstring pop +def +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +left width div floor width mul +bottom height div floor height mul +translate +top bottom sub height div ceiling cvi +{ +gsave +right left sub width div ceiling cvi +{ +width height 8 matrix +components 1 eq +{ +{ imagedata } +image +} +{ +imagedata +false components +colorimage +} +ifelse +width 0 translate +} +repeat +grestore +0 height translate +} +repeat +} bd +/makepattern where +{ +pop +/tileimage /tileimage2 load def +} +{ +/tileimage /tileimage1 load def +} +ifelse +end +%%EndResource +%%EndProlog + +%%BeginSetup +%%IncludeResource: font Times-Roman + +10.433 setmiterlimit +%%EndSetup + +%%Page: 1 1 +SketchDict begin +newpath +198.425 737.009 m +198.425 722.836 l +141.732 722.836 l +141.732 700.159 l +0.639 0.617 0.97 rgb +4.25197 w +1 j +0 J +[] 0 d +S +[56.6929 0 0 -28.3464 56.6929 765.354] rect +0 0 0 rgb +1 w +0 j +S +[56.6929 0 0 -28.3464 170.079 765.354] rect +S +newpath +113.386 751.181 m +170.079 751.181 l +S +newpath +85.0394 737.008 m +85.0394 722.835 l +198.425 722.835 l +198.425 737.008 l +S +/Times-Roman 12 sf +(P) +81 748 T +(P) +195 748 T +newpath +141.732 722.835 m +141.732 700.157 l +0.992126 w +S +[8.50395 0 0 -8.50395 85.0395 722.836] ellipse +4.8189 w +S +newpath +90.9925 728.789 m +79.0869 716.883 l +1 j +S +[8.50395 0 0 -8.50395 85.0395 722.836] ellipse +1 0 0 rgb +4.25197 w +0 j +S +newpath +90.9925 728.789 m +79.0869 716.883 l +1 j +S +%%PageTrailer +showpage +%%Trailer +end +%%DocumentSuppliedResources: procset Linux-Sketch-Procset 1.0 2 +%%EOF + +%%EndDocument + @endspecial 1423 4450 a + currentpoint currentpoint translate 1 0.74356 div 1 0.74356 div scale +neg exch neg exch translate + 1423 4450 a 693 4734 a Fp(1.)46 +b(Zw)m(ei)32 b(Knoten.)41 b(Heartb)s(eat)31 b(k)m(enn)m(t)h(n)m(ur)f +(das)f(Clien)m(t-Netzw)m(erk.)1523 5313 y + currentpoint currentpoint translate 0.74356 0.74356 scale neg exch +neg exch translate + 1523 5313 a +@beginspecial 50 @llx 693 @lly 233 @urx 771 @ury 1830 +@rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//heart-3-1.ps +%!PS-Adobe-3.0 EPSF-3.0 +%%For: Philipp Reisner +%%CreationDate: Thu Apr 13 16:36:16 2000 +%%Title: heart-3-1.ps +%%Creator: Sketch 0.6.5 +%%Pages: 1 +%%BoundingBox: 50 693 233 771 +%%Extensions: CMYK +%%DocumentSuppliedResources: (atend) +%%DocumentNeededResources: font Times-Roman +%%EndComments + +%%BeginProlog +%%BeginResource: procset Linux-Sketch-Procset 1.0 2 +/SketchDict 100 dict def +SketchDict begin +/bd { bind def } bind def +/x { exch } bd +/xd { exch def } bd +/PI 3.14159265358979323846264338327 def +/radgrad { 180 mul PI div } bd +/skstartmatrix matrix currentmatrix def +/tmpmat matrix def +/ISOLatin1Encoding dup where +{ pop pop } +{ [/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand +/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period +/slash /zero /one /two /three /four /five /six /seven /eight /nine /colon +/semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J +/K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash +/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i +/j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright +/asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve +/dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek +/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen +/registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu +/paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright +/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex +/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex +/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve +/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute +/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute +/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute +/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde +/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def +} +ifelse +/arct dup where +{pop pop} +{ +/arct {arcto pop pop pop pop} bd +} +ifelse +/size 0 def +/fontname 0 def +/newfont 0 def +/sf { +/size xd +/fontname xd +fontname findfont +dup /Encoding get StandardEncoding eq +{ +dup +length dict /newfont xd +{ +1 index +/FID ne +{ newfont 3 1 roll put } +{ pop pop } +ifelse +} forall +newfont /Encoding ISOLatin1Encoding put +fontname newfont definefont +} +if +size scalefont setfont +} bd +/pusht {matrix currentmatrix} bd +/popt {setmatrix} bd +/pushc {gsave} bd +/popc {grestore} bd +/rgb {setrgbcolor} bd +/w { setlinewidth } bd +/j { setlinejoin } bd +/J { setlinecap } bd +/d { setdash } bd +/F { eofill } bd +/f { closepath F } bd +/S { +pusht +skstartmatrix setmatrix stroke +popt +} bd +/s { closepath S } bd +/m { moveto } bd +/l { lineto } bd +/c { curveto } bd +/txt { +/tmpmat tmpmat currentmatrix def +dup type /arraytype eq {concat} {translate} ifelse +0 0 m +tmpmat +} bd +/T {txt x show popt} bd +/P {txt x true charpath popt} bd +/TP {txt x dup show 0 0 m true charpath popt} bd +/C {newpath 0 360 arc} bd +/R { +2 copy m +x 2 index l +x 2 index x l +l +closepath +} bd +/ellipse { +dup type /arraytype eq +{ +pusht x concat +0 0 1.0 C +popt +} +{ +pusht 5 1 roll +4 -1 roll concat +newpath +dup 2 eq { +0 0 m +} if +3 1 roll +radgrad x +radgrad x +0 0 1 5 -2 roll +arc +0 ne { closepath } if +popt +} +ifelse +} bd +/radius1 0 def +/radius2 0 def +/factor 0 def +/rect { +dup type /arraytype eq +{ +pusht x concat +0 0 m 1 0 l 1 1 l 0 1 l closepath +popt +} +{ +/radius2 xd +/radius1 xd +pusht x concat +radius1 radius2 div 1 scale +0 radius2 m +0 1 radius2 1 radius2 arct +radius2 radius1 div +dup 1 1 index 0 radius2 arct +0 0 0 radius2 arct +0 0 0 1 radius2 arct +closepath +popt +} +ifelse +} bd +/buf 0 def +/width 0 def +/height 0 def +/skcimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width 3 mul string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +false 3 colorimage +tmpmat setmatrix +} bd +/skgimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +image +tmpmat setmatrix +} bd +/rclip { +4 2 roll m +dup 0 x rlineto +x 0 rlineto +neg 0 x rlineto +closepath +clip +} bd +/skeps { +10 dict begin +/sk_state save def +concat +3 index neg 3 index neg translate +rclip +0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin +10 setmiterlimit [ ] 0 setdash +newpath +/sk_dict_count countdictstack def +/sk_count count 1 sub def +userdict begin +/showpage { } def +/languagelevel where +{ +pop +languagelevel 1 ne +{ +false setstrokeadjust +false setoverprint +} if +} if +} bd +/skepsend { +count sk_count sub { pop } repeat +countdictstack sk_dict_count sub { end } repeat +sk_state restore +end +} bd +/gradidx 0 def +/gradient { +3 mul array +/gradidx 0 def +} bd +/$ { +3 index gradidx 5 -1 roll put +2 index gradidx 1 add 4 -1 roll put +1 index gradidx 2 add 3 -1 roll put +/gradidx gradidx 3 add def +} bd +/! { +3 +{ +dup dup gradidx dup 3 1 roll 3 sub get put +/gradidx gradidx 1 add def +} +repeat +} bd +/gradcolor { +3 mul dup 2 add 1 exch % idx 1 idx+2 +{ +1 index exch % array array i +get % array component +exch % component array +} +for +4 1 roll +} bd +/x0 0 def /y0 0 def /x1 0 def /y1 0 def +/left 0 def /right 0 def /top 0 def /bottom 0 def +/numcolors 0 def +/axial { +/y1 xd /x1 xd /y0 xd /x0 xd +dup length 3 idiv /numcolors xd +pusht exch % ctm array +x0 x1 ne y0 y1 ne or +{ +x0 y0 translate +[x1 x0 sub y1 y0 sub dup neg 2 index 0 0] concat +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +0 gradcolor rgb clippath f +0 1 numcolors 1 sub +{ +dup numcolors div +3 1 roll +gradcolor rgb +exch +bottom right top R f +} +for +} +if +pop +popt +} bd +/r0 0 def /r1 0 def /dr 0 def +/radial { +/r1 xd /r0 xd /y0 xd /x0 xd +/dr r1 r0 sub def +dup length 3 idiv /numcolors xd +pusht exch % ctm array +r0 r1 ne +{ +x0 y0 translate +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +dr 0 gt {numcolors 1 sub}{0} ifelse gradcolor rgb +clippath f +dr 0 gt {numcolors 1 sub -1 0} { 0 1 numcolors 1 sub} ifelse +{ +dup numcolors div dr mul r0 add +3 1 roll +gradcolor rgb +exch +0 0 3 -1 roll C f +} +for +} +if +pop +popt +} bd +/max { +2 copy lt {exch} if pop +} bd +/conical { +pusht 5 1 roll +3 1 roll /y0 xd /x0 xd +x0 y0 translate +radgrad rotate +dup length 3 idiv /numcolors xd +clippath flattenpath pathbbox newpath +4 { abs 4 1 roll} repeat +3 { max } repeat +2 mul +dup scale +0 gradcolor rgb +0 0 1 0 360 arc f +1 1 numcolors 1 sub +{ +dup numcolors div 180 mul +3 1 roll +gradcolor rgb +exch +0 0 moveto +0 0 1 4 -1 roll dup neg arc +closepath f +} +for +pop +popt +} bd +/XStep 0 def /YStep 0 def /imagedata 0 def /components 0 def +/tileimage2 { +exch 4 2 roll +/height xd +/width xd +mark +/components 2 index +/PatternType 1 +/PaintType 1 +/TilingType 1 +/BBox [0 0 width height] +/XStep width +/YStep height +/PaintProc { +begin +XStep YStep 8 +matrix +imagedata +false +components +colorimage +end +} +counttomark 2 div cvi dup dict begin +{ def } repeat +pop currentdict end +dup +/imagedata +4 -1 roll +width height mul mul string +currentfile exch readhexstring pop +put +exch +makepattern +setpattern +clippath +eofill +} bd +/tileimage1 { +concat +/components xd +/height xd +/width xd +/imagedata +currentfile +width height mul components mul string +readhexstring pop +def +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +left width div floor width mul +bottom height div floor height mul +translate +top bottom sub height div ceiling cvi +{ +gsave +right left sub width div ceiling cvi +{ +width height 8 matrix +components 1 eq +{ +{ imagedata } +image +} +{ +imagedata +false components +colorimage +} +ifelse +width 0 translate +} +repeat +grestore +0 height translate +} +repeat +} bd +/makepattern where +{ +pop +/tileimage /tileimage2 load def +} +{ +/tileimage /tileimage1 load def +} +ifelse +end +%%EndResource +%%EndProlog + +%%BeginSetup +%%IncludeResource: font Times-Roman + +10.433 setmiterlimit +%%EndSetup + +%%Page: 1 1 +SketchDict begin +newpath +85.0395 737.009 m +85.0395 722.836 l +141.732 722.836 l +141.732 700.159 l +0.639 0.617 0.97 rgb +4.25197 w +1 j +0 J +[] 0 d +S +[56.6929 0 0 -28.3464 56.6929 765.354] rect +0 0 0 rgb +1 w +0 j +S +[56.6929 0 0 -28.3464 170.079 765.354] rect +S +newpath +113.386 751.181 m +170.079 751.181 l +S +newpath +85.0394 737.008 m +85.0394 722.835 l +198.425 722.835 l +198.425 737.008 l +S +/Times-Roman 12 sf +(P) +81 748 T +(S) +195 748 T +newpath +141.732 722.835 m +141.732 700.157 l +0.992126 w +S +%%PageTrailer +showpage +%%Trailer +end +%%DocumentSuppliedResources: procset Linux-Sketch-Procset 1.0 2 +%%EOF + +%%EndDocument + @endspecial 1523 5313 a + currentpoint currentpoint translate 1 0.74356 div 1 0.74356 div scale +neg exch neg exch translate + 1523 5313 a 1831 5622 a Fp(77)p +eop +%%Page: 78 80 +78 79 bop 382 262 a Fl(KAPITEL)31 b(6.)71 b(HA)30 b(UNTER)g(LINUX)437 +b(6.3.)71 b(IMPLEMENTIER)m(UNG)p 382 299 2989 4 v 693 +539 a Fp(2.)46 b(Nun)d(k)m(omm)m(t)h(es)e(b)s(eim)g(sekund\344ren)i +(Knoten)f(zu)g(einem)g(temp)s(or\344ren)809 652 y(Netzw)m(erk)-5 +b(ausfall.)41 b(Da)27 b(dieser)g(n)m(un)h(k)m(eine)g(Heartb)s(eat-P)m +(ak)m(ete)h(mehr)f(mit)809 764 y(dem)41 b(prim\344ren)h(Knoten)g +(austausc)m(hen)g(k)-5 b(ann,)43 b(startet)e(Heartb)s(eat)g(die)809 +877 y(Services)35 b(eb)s(enfalls)f(auf)h(diesem)f(Knoten.)54 +b(DRBD)34 b(bric)m(h)m(t)j(die)d(V)-8 b(erbin-)809 990 +y(dung)31 b(ab,)g(da)f(es)g(auf)h(b)s(eiden)f(Knoten)i(im)e +(prim\344ren)i(Zustand)f(ist.)1523 1587 y + currentpoint currentpoint translate 0.74356 0.74356 scale neg exch +neg exch translate + 1523 1587 a +@beginspecial 50 @llx 693 @lly 233 @urx 771 @ury 1830 +@rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//heart-3-2.ps +%!PS-Adobe-3.0 EPSF-3.0 +%%For: Philipp Reisner +%%CreationDate: Thu Apr 13 16:36:06 2000 +%%Title: heart-3-2.ps +%%Creator: Sketch 0.6.5 +%%Pages: 1 +%%BoundingBox: 50 693 233 771 +%%Extensions: CMYK +%%DocumentSuppliedResources: (atend) +%%DocumentNeededResources: font Times-Roman +%%EndComments + +%%BeginProlog +%%BeginResource: procset Linux-Sketch-Procset 1.0 2 +/SketchDict 100 dict def +SketchDict begin +/bd { bind def } bind def +/x { exch } bd +/xd { exch def } bd +/PI 3.14159265358979323846264338327 def +/radgrad { 180 mul PI div } bd +/skstartmatrix matrix currentmatrix def +/tmpmat matrix def +/ISOLatin1Encoding dup where +{ pop pop } +{ [/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand +/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period +/slash /zero /one /two /three /four /five /six /seven /eight /nine /colon +/semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J +/K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash +/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i +/j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright +/asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve +/dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek +/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen +/registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu +/paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright +/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex +/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex +/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve +/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute +/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute +/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute +/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde +/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def +} +ifelse +/arct dup where +{pop pop} +{ +/arct {arcto pop pop pop pop} bd +} +ifelse +/size 0 def +/fontname 0 def +/newfont 0 def +/sf { +/size xd +/fontname xd +fontname findfont +dup /Encoding get StandardEncoding eq +{ +dup +length dict /newfont xd +{ +1 index +/FID ne +{ newfont 3 1 roll put } +{ pop pop } +ifelse +} forall +newfont /Encoding ISOLatin1Encoding put +fontname newfont definefont +} +if +size scalefont setfont +} bd +/pusht {matrix currentmatrix} bd +/popt {setmatrix} bd +/pushc {gsave} bd +/popc {grestore} bd +/rgb {setrgbcolor} bd +/w { setlinewidth } bd +/j { setlinejoin } bd +/J { setlinecap } bd +/d { setdash } bd +/F { eofill } bd +/f { closepath F } bd +/S { +pusht +skstartmatrix setmatrix stroke +popt +} bd +/s { closepath S } bd +/m { moveto } bd +/l { lineto } bd +/c { curveto } bd +/txt { +/tmpmat tmpmat currentmatrix def +dup type /arraytype eq {concat} {translate} ifelse +0 0 m +tmpmat +} bd +/T {txt x show popt} bd +/P {txt x true charpath popt} bd +/TP {txt x dup show 0 0 m true charpath popt} bd +/C {newpath 0 360 arc} bd +/R { +2 copy m +x 2 index l +x 2 index x l +l +closepath +} bd +/ellipse { +dup type /arraytype eq +{ +pusht x concat +0 0 1.0 C +popt +} +{ +pusht 5 1 roll +4 -1 roll concat +newpath +dup 2 eq { +0 0 m +} if +3 1 roll +radgrad x +radgrad x +0 0 1 5 -2 roll +arc +0 ne { closepath } if +popt +} +ifelse +} bd +/radius1 0 def +/radius2 0 def +/factor 0 def +/rect { +dup type /arraytype eq +{ +pusht x concat +0 0 m 1 0 l 1 1 l 0 1 l closepath +popt +} +{ +/radius2 xd +/radius1 xd +pusht x concat +radius1 radius2 div 1 scale +0 radius2 m +0 1 radius2 1 radius2 arct +radius2 radius1 div +dup 1 1 index 0 radius2 arct +0 0 0 radius2 arct +0 0 0 1 radius2 arct +closepath +popt +} +ifelse +} bd +/buf 0 def +/width 0 def +/height 0 def +/skcimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width 3 mul string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +false 3 colorimage +tmpmat setmatrix +} bd +/skgimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +image +tmpmat setmatrix +} bd +/rclip { +4 2 roll m +dup 0 x rlineto +x 0 rlineto +neg 0 x rlineto +closepath +clip +} bd +/skeps { +10 dict begin +/sk_state save def +concat +3 index neg 3 index neg translate +rclip +0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin +10 setmiterlimit [ ] 0 setdash +newpath +/sk_dict_count countdictstack def +/sk_count count 1 sub def +userdict begin +/showpage { } def +/languagelevel where +{ +pop +languagelevel 1 ne +{ +false setstrokeadjust +false setoverprint +} if +} if +} bd +/skepsend { +count sk_count sub { pop } repeat +countdictstack sk_dict_count sub { end } repeat +sk_state restore +end +} bd +/gradidx 0 def +/gradient { +3 mul array +/gradidx 0 def +} bd +/$ { +3 index gradidx 5 -1 roll put +2 index gradidx 1 add 4 -1 roll put +1 index gradidx 2 add 3 -1 roll put +/gradidx gradidx 3 add def +} bd +/! { +3 +{ +dup dup gradidx dup 3 1 roll 3 sub get put +/gradidx gradidx 1 add def +} +repeat +} bd +/gradcolor { +3 mul dup 2 add 1 exch % idx 1 idx+2 +{ +1 index exch % array array i +get % array component +exch % component array +} +for +4 1 roll +} bd +/x0 0 def /y0 0 def /x1 0 def /y1 0 def +/left 0 def /right 0 def /top 0 def /bottom 0 def +/numcolors 0 def +/axial { +/y1 xd /x1 xd /y0 xd /x0 xd +dup length 3 idiv /numcolors xd +pusht exch % ctm array +x0 x1 ne y0 y1 ne or +{ +x0 y0 translate +[x1 x0 sub y1 y0 sub dup neg 2 index 0 0] concat +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +0 gradcolor rgb clippath f +0 1 numcolors 1 sub +{ +dup numcolors div +3 1 roll +gradcolor rgb +exch +bottom right top R f +} +for +} +if +pop +popt +} bd +/r0 0 def /r1 0 def /dr 0 def +/radial { +/r1 xd /r0 xd /y0 xd /x0 xd +/dr r1 r0 sub def +dup length 3 idiv /numcolors xd +pusht exch % ctm array +r0 r1 ne +{ +x0 y0 translate +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +dr 0 gt {numcolors 1 sub}{0} ifelse gradcolor rgb +clippath f +dr 0 gt {numcolors 1 sub -1 0} { 0 1 numcolors 1 sub} ifelse +{ +dup numcolors div dr mul r0 add +3 1 roll +gradcolor rgb +exch +0 0 3 -1 roll C f +} +for +} +if +pop +popt +} bd +/max { +2 copy lt {exch} if pop +} bd +/conical { +pusht 5 1 roll +3 1 roll /y0 xd /x0 xd +x0 y0 translate +radgrad rotate +dup length 3 idiv /numcolors xd +clippath flattenpath pathbbox newpath +4 { abs 4 1 roll} repeat +3 { max } repeat +2 mul +dup scale +0 gradcolor rgb +0 0 1 0 360 arc f +1 1 numcolors 1 sub +{ +dup numcolors div 180 mul +3 1 roll +gradcolor rgb +exch +0 0 moveto +0 0 1 4 -1 roll dup neg arc +closepath f +} +for +pop +popt +} bd +/XStep 0 def /YStep 0 def /imagedata 0 def /components 0 def +/tileimage2 { +exch 4 2 roll +/height xd +/width xd +mark +/components 2 index +/PatternType 1 +/PaintType 1 +/TilingType 1 +/BBox [0 0 width height] +/XStep width +/YStep height +/PaintProc { +begin +XStep YStep 8 +matrix +imagedata +false +components +colorimage +end +} +counttomark 2 div cvi dup dict begin +{ def } repeat +pop currentdict end +dup +/imagedata +4 -1 roll +width height mul mul string +currentfile exch readhexstring pop +put +exch +makepattern +setpattern +clippath +eofill +} bd +/tileimage1 { +concat +/components xd +/height xd +/width xd +/imagedata +currentfile +width height mul components mul string +readhexstring pop +def +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +left width div floor width mul +bottom height div floor height mul +translate +top bottom sub height div ceiling cvi +{ +gsave +right left sub width div ceiling cvi +{ +width height 8 matrix +components 1 eq +{ +{ imagedata } +image +} +{ +imagedata +false components +colorimage +} +ifelse +width 0 translate +} +repeat +grestore +0 height translate +} +repeat +} bd +/makepattern where +{ +pop +/tileimage /tileimage2 load def +} +{ +/tileimage /tileimage1 load def +} +ifelse +end +%%EndResource +%%EndProlog + +%%BeginSetup +%%IncludeResource: font Times-Roman + +10.433 setmiterlimit +%%EndSetup + +%%Page: 1 1 +SketchDict begin +newpath +85.0395 737.009 m +85.0395 722.836 l +141.732 722.836 l +141.732 700.159 l +0.639 0.617 0.97 rgb +4.25197 w +1 j +0 J +[] 0 d +S +[56.6929 0 0 -28.3464 56.6929 765.354] rect +0 0 0 rgb +1 w +0 j +S +[56.6929 0 0 -28.3464 170.079 765.354] rect +S +newpath +85.0394 737.008 m +85.0394 722.835 l +198.425 722.835 l +198.425 737.008 l +S +/Times-Roman 12 sf +(P) +81 748 T +(P) +195 748 T +newpath +141.732 722.835 m +141.732 700.157 l +0.992126 w +S +[8.50395 0 0 -8.50395 198.426 722.836] ellipse +4.8189 w +S +newpath +204.379 728.789 m +192.473 716.883 l +1 j +S +[8.50395 0 0 -8.50395 198.426 722.836] ellipse +1 0 0 rgb +4.25197 w +0 j +S +newpath +204.379 728.789 m +192.473 716.883 l +1 j +S +newpath +113.386 751.182 m +140.315 751.182 l +0 0 0 rgb +1 w +0 j +S +newpath +143.15 751.182 m +170.079 751.182 l +S +newpath +140.315 754.016 m +140.315 748.346 l +0.283465 w +S +newpath +143.15 754.016 m +143.15 748.346 l +S +%%PageTrailer +showpage +%%Trailer +end +%%DocumentSuppliedResources: procset Linux-Sketch-Procset 1.0 2 +%%EOF + +%%EndDocument + @endspecial 1523 1587 a + currentpoint currentpoint translate 1 0.74356 div 1 0.74356 div scale +neg exch neg exch translate + 1523 1587 a 693 1804 a Fp(3.)46 +b(W)-8 b(enn)38 b(der)f(temp)s(or\344re)h(Netzw)m(erk)-5 +b(ausfall)39 b(wieder)f(v)m(ersc)m(h)m(windet,)j(wird)809 +1917 y(v)m(erm)m(utlic)m(h)23 b(nic)m(h)m(ts)f(mehr)g(funktionieren,)i +(da)c(jetzt)h(b)s(eide)g(Knoten)h(ARP-)809 2030 y(P)m(ak)m(ete)47 +b(aussenden,)j(um)c(die)f(virtuelle)h(IP-A)m(dresse)g(auf)f(ihre)h(MA)m +(C-)809 2143 y(A)m(dresse)31 b(abzubilden.)1523 2722 +y + currentpoint currentpoint translate 0.74356 0.74356 scale neg exch +neg exch translate + 1523 2722 a @beginspecial 50 @llx 693 @lly 233 @urx +771 @ury 1830 @rwi @setspecial +%%BeginDocument: /home/philipp/diplomarbeit//heart-3-3.ps +%!PS-Adobe-3.0 EPSF-3.0 +%%For: Philipp Reisner +%%CreationDate: Thu Apr 13 16:35:56 2000 +%%Title: heart-3-3.ps +%%Creator: Sketch 0.6.5 +%%Pages: 1 +%%BoundingBox: 50 693 233 771 +%%Extensions: CMYK +%%DocumentSuppliedResources: (atend) +%%DocumentNeededResources: font Times-Roman +%%EndComments + +%%BeginProlog +%%BeginResource: procset Linux-Sketch-Procset 1.0 2 +/SketchDict 100 dict def +SketchDict begin +/bd { bind def } bind def +/x { exch } bd +/xd { exch def } bd +/PI 3.14159265358979323846264338327 def +/radgrad { 180 mul PI div } bd +/skstartmatrix matrix currentmatrix def +/tmpmat matrix def +/ISOLatin1Encoding dup where +{ pop pop } +{ [/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand +/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period +/slash /zero /one /two /three /four /five /six /seven /eight /nine /colon +/semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J +/K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash +/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i +/j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright +/asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve +/dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek +/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen +/registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu +/paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright +/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex +/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex +/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve +/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute +/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute +/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute +/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde +/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def +} +ifelse +/arct dup where +{pop pop} +{ +/arct {arcto pop pop pop pop} bd +} +ifelse +/size 0 def +/fontname 0 def +/newfont 0 def +/sf { +/size xd +/fontname xd +fontname findfont +dup /Encoding get StandardEncoding eq +{ +dup +length dict /newfont xd +{ +1 index +/FID ne +{ newfont 3 1 roll put } +{ pop pop } +ifelse +} forall +newfont /Encoding ISOLatin1Encoding put +fontname newfont definefont +} +if +size scalefont setfont +} bd +/pusht {matrix currentmatrix} bd +/popt {setmatrix} bd +/pushc {gsave} bd +/popc {grestore} bd +/rgb {setrgbcolor} bd +/w { setlinewidth } bd +/j { setlinejoin } bd +/J { setlinecap } bd +/d { setdash } bd +/F { eofill } bd +/f { closepath F } bd +/S { +pusht +skstartmatrix setmatrix stroke +popt +} bd +/s { closepath S } bd +/m { moveto } bd +/l { lineto } bd +/c { curveto } bd +/txt { +/tmpmat tmpmat currentmatrix def +dup type /arraytype eq {concat} {translate} ifelse +0 0 m +tmpmat +} bd +/T {txt x show popt} bd +/P {txt x true charpath popt} bd +/TP {txt x dup show 0 0 m true charpath popt} bd +/C {newpath 0 360 arc} bd +/R { +2 copy m +x 2 index l +x 2 index x l +l +closepath +} bd +/ellipse { +dup type /arraytype eq +{ +pusht x concat +0 0 1.0 C +popt +} +{ +pusht 5 1 roll +4 -1 roll concat +newpath +dup 2 eq { +0 0 m +} if +3 1 roll +radgrad x +radgrad x +0 0 1 5 -2 roll +arc +0 ne { closepath } if +popt +} +ifelse +} bd +/radius1 0 def +/radius2 0 def +/factor 0 def +/rect { +dup type /arraytype eq +{ +pusht x concat +0 0 m 1 0 l 1 1 l 0 1 l closepath +popt +} +{ +/radius2 xd +/radius1 xd +pusht x concat +radius1 radius2 div 1 scale +0 radius2 m +0 1 radius2 1 radius2 arct +radius2 radius1 div +dup 1 1 index 0 radius2 arct +0 0 0 radius2 arct +0 0 0 1 radius2 arct +closepath +popt +} +ifelse +} bd +/buf 0 def +/width 0 def +/height 0 def +/skcimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width 3 mul string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +false 3 colorimage +tmpmat setmatrix +} bd +/skgimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +image +tmpmat setmatrix +} bd +/rclip { +4 2 roll m +dup 0 x rlineto +x 0 rlineto +neg 0 x rlineto +closepath +clip +} bd +/skeps { +10 dict begin +/sk_state save def +concat +3 index neg 3 index neg translate +rclip +0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin +10 setmiterlimit [ ] 0 setdash +newpath +/sk_dict_count countdictstack def +/sk_count count 1 sub def +userdict begin +/showpage { } def +/languagelevel where +{ +pop +languagelevel 1 ne +{ +false setstrokeadjust +false setoverprint +} if +} if +} bd +/skepsend { +count sk_count sub { pop } repeat +countdictstack sk_dict_count sub { end } repeat +sk_state restore +end +} bd +/gradidx 0 def +/gradient { +3 mul array +/gradidx 0 def +} bd +/$ { +3 index gradidx 5 -1 roll put +2 index gradidx 1 add 4 -1 roll put +1 index gradidx 2 add 3 -1 roll put +/gradidx gradidx 3 add def +} bd +/! { +3 +{ +dup dup gradidx dup 3 1 roll 3 sub get put +/gradidx gradidx 1 add def +} +repeat +} bd +/gradcolor { +3 mul dup 2 add 1 exch % idx 1 idx+2 +{ +1 index exch % array array i +get % array component +exch % component array +} +for +4 1 roll +} bd +/x0 0 def /y0 0 def /x1 0 def /y1 0 def +/left 0 def /right 0 def /top 0 def /bottom 0 def +/numcolors 0 def +/axial { +/y1 xd /x1 xd /y0 xd /x0 xd +dup length 3 idiv /numcolors xd +pusht exch % ctm array +x0 x1 ne y0 y1 ne or +{ +x0 y0 translate +[x1 x0 sub y1 y0 sub dup neg 2 index 0 0] concat +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +0 gradcolor rgb clippath f +0 1 numcolors 1 sub +{ +dup numcolors div +3 1 roll +gradcolor rgb +exch +bottom right top R f +} +for +} +if +pop +popt +} bd +/r0 0 def /r1 0 def /dr 0 def +/radial { +/r1 xd /r0 xd /y0 xd /x0 xd +/dr r1 r0 sub def +dup length 3 idiv /numcolors xd +pusht exch % ctm array +r0 r1 ne +{ +x0 y0 translate +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +dr 0 gt {numcolors 1 sub}{0} ifelse gradcolor rgb +clippath f +dr 0 gt {numcolors 1 sub -1 0} { 0 1 numcolors 1 sub} ifelse +{ +dup numcolors div dr mul r0 add +3 1 roll +gradcolor rgb +exch +0 0 3 -1 roll C f +} +for +} +if +pop +popt +} bd +/max { +2 copy lt {exch} if pop +} bd +/conical { +pusht 5 1 roll +3 1 roll /y0 xd /x0 xd +x0 y0 translate +radgrad rotate +dup length 3 idiv /numcolors xd +clippath flattenpath pathbbox newpath +4 { abs 4 1 roll} repeat +3 { max } repeat +2 mul +dup scale +0 gradcolor rgb +0 0 1 0 360 arc f +1 1 numcolors 1 sub +{ +dup numcolors div 180 mul +3 1 roll +gradcolor rgb +exch +0 0 moveto +0 0 1 4 -1 roll dup neg arc +closepath f +} +for +pop +popt +} bd +/XStep 0 def /YStep 0 def /imagedata 0 def /components 0 def +/tileimage2 { +exch 4 2 roll +/height xd +/width xd +mark +/components 2 index +/PatternType 1 +/PaintType 1 +/TilingType 1 +/BBox [0 0 width height] +/XStep width +/YStep height +/PaintProc { +begin +XStep YStep 8 +matrix +imagedata +false +components +colorimage +end +} +counttomark 2 div cvi dup dict begin +{ def } repeat +pop currentdict end +dup +/imagedata +4 -1 roll +width height mul mul string +currentfile exch readhexstring pop +put +exch +makepattern +setpattern +clippath +eofill +} bd +/tileimage1 { +concat +/components xd +/height xd +/width xd +/imagedata +currentfile +width height mul components mul string +readhexstring pop +def +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +left width div floor width mul +bottom height div floor height mul +translate +top bottom sub height div ceiling cvi +{ +gsave +right left sub width div ceiling cvi +{ +width height 8 matrix +components 1 eq +{ +{ imagedata } +image +} +{ +imagedata +false components +colorimage +} +ifelse +width 0 translate +} +repeat +grestore +0 height translate +} +repeat +} bd +/makepattern where +{ +pop +/tileimage /tileimage2 load def +} +{ +/tileimage /tileimage1 load def +} +ifelse +end +%%EndResource +%%EndProlog + +%%BeginSetup +%%IncludeResource: font Times-Roman + +10.433 setmiterlimit +%%EndSetup + +%%Page: 1 1 +SketchDict begin +newpath +85.0395 737.009 m +85.0395 722.836 l +141.732 722.836 l +141.732 700.159 l +0.639 0.617 0.97 rgb +4.25197 w +1 j +0 J +[] 0 d +S +newpath +198.425 737.007 m +198.425 722.834 l +141.733 722.834 l +141.733 700.157 l +S +[56.6929 0 0 -28.3464 56.6929 765.354] rect +0 0 0 rgb +1 w +0 j +S +[56.6929 0 0 -28.3464 170.079 765.354] rect +S +newpath +85.0394 737.008 m +85.0394 722.835 l +198.425 722.835 l +198.425 737.008 l +S +/Times-Roman 12 sf +(P) +81 748 T +(P) +195 748 T +newpath +141.732 722.835 m +141.732 700.157 l +0.992126 w +S +newpath +113.386 751.182 m +140.315 751.182 l +1 w +S +newpath +143.15 751.182 m +170.079 751.182 l +S +newpath +140.315 754.016 m +140.315 748.346 l +0.283465 w +S +newpath +143.15 754.016 m +143.15 748.346 l +S +%%PageTrailer +showpage +%%Trailer +end +%%DocumentSuppliedResources: procset Linux-Sketch-Procset 1.0 2 +%%EOF + +%%EndDocument + @endspecial 1523 2722 a + currentpoint currentpoint translate 1 0.74356 div 1 0.74356 div scale +neg exch neg exch translate + 1523 2722 a 382 3055 a Fp(Um)f(dieses)h +(Problem)h(zu)f(b)s(eseitigen,)g(m)m(\374\377te)h(Heartb)s(eat)f(eine)g +(Menge)g(v)m(on)g(norma-)382 3168 y(lerw)m(eise)41 b(sic)m(h)m(tbaren)g +(Ressourcen)f(\(wie)g(z.B.)g(Router,)i(Gatew)m(a)m(ys,)h(.)15 +b(.)g(.)g(\))68 b(\374b)s(erw)m(a-)382 3281 y(c)m(hen.)47 +b(Kann)33 b(Heartb)s(eat)f(k)m(eine)h(dieser)g(Ressourcen)f(mehr)h +(erreic)m(hen,)h(m)m(u\377)f(es)f(sic)m(h)382 3394 y(b)s(ei)h(anderen)i +(Knoten)f(des)f(Clusters)h(erkundigen,)i(ob)d(diese)h(no)s(c)m(h)g(die) +g(Ressourcen)382 3507 y(erreic)m(hen)i(k)m(\366nnen.)52 +b(W)-8 b(enn)34 b(diese)g(die)g(Ressourcen)g(no)s(c)m(h)g(sehen)g(k)m +(\366nnen,)i(m)m(u\377)f(der)382 3620 y(Knoten)27 b(da)m(v)m(on)g +(ausgehen,)g(da\377)f(seine)g(Netzw)m(erkk)-5 b(arte)27 +b(o)s(der)f(seine)g(Netzw)m(erk)-5 b(an)m(bin-)382 3732 +y(dung)37 b(ausgefallen)h(ist.)60 b(Alle)37 b(Services)g(m)m(\374ssen)g +(abgegeb)s(en)h(w)m(erden,)i(der)d(Knoten)382 3845 y(k)-5 +b(ann)30 b(ab)s(er)h(die)f(Spiegelung)i(v)m(on)f(Daten)g(w)m(eiterhin)h +(durc)m(hf\374hren.)1831 5622 y(78)p eop +%%Page: 79 81 +79 80 bop 382 1210 a Fk(Kapitel)62 b(7)382 1673 y Fm(Zusammenfassung) +382 2167 y Fp(HA-Cluster,)49 b(die)c(mit)g(dem)g(Prinzip)h(des)f(F)-8 +b(ailo)m(v)m(ers)46 b(arb)s(eiten,)j(k)m(onn)m(ten)e(b)s(ereits)382 +2280 y(fr\374her)35 b(un)m(ter)h(Lin)m(ux)g(implemen)m(tiert)i(w)m +(erden.)55 b(Bis)35 b(jetzt)g(w)m(ar)g(es)g(allerdings)h(nic)m(h)m(t) +382 2393 y(m\366glic)m(h,)49 b(Services)44 b(anzubieten,)49 +b(die)44 b(ihren)g(Datenstand)h(dynamisc)m(h)g(v)m(er\344ndern)382 +2506 y(\(z.B.)25 b(Fileserv)m(er,)h(Daten)m(bankserv)m(er,)h(.)15 +b(.)g(.)g(\),)26 b(da)f(die)f(in)h(Absc)m(hnitt)g(2.3.3.1)g(\(Seite)g +(12\))382 2619 y(v)m(orgestellten)38 b(Shared)g(SCSI-Devices)f(un)m +(ter)h(Lin)m(ux)g(\(no)s(c)m(h\))f(nic)m(h)m(t)i(implemen)m(tiert)382 +2731 y(sind.)382 2893 y(Mit)26 b(DRBD,)f(das)h(das)g(Spiegeln)h(v)m(on) +f(F)-8 b(estplatten)28 b(\374b)s(er)e(IP-basierte)h(Netzw)m(erk)m(e)g +(er-)382 3006 y(laubt,)f(wird)f(die)g(M\366glic)m(hk)m(eit)h(gesc)m +(ha\033en,)h(solc)m(he)e(Services)f(mit)h(einem)g(HA-Cluster)382 +3119 y(un)m(ter)31 b(Lin)m(ux)h(anzubieten.)382 3280 +y(Im)c(Zuge)g(der)g(En)m(t)m(wic)m(klung)k(v)m(on)c(DRBD)f(wurde)i(ein) +f(Algorithm)m(us)i(en)m(t)m(wic)m(k)m(elt,)h(der)382 +3393 y(dem)45 b(Disk-Sc)m(heduler)i(b)s(eim)e(Sc)m(hreib)s(en)i(die)e +(gr\366\377tm\366glic)m(he)j(F)-8 b(reiheit)47 b(einr\344um)m(t,)382 +3506 y(Bl\366)s(c)m(k)m(e)30 b(umzuordnen,)h(dab)s(ei)f(ab)s(er)f(die)g +(Reihenfolge,)i(die)e(das)g(Filesystem)g(v)m(orgibt,)382 +3619 y(nic)m(h)m(t)j(v)m(erletzt)f(\(siehe)g(Absc)m(hnitt)g(3.3.1)g +(auf)g(Seite)g(24\).)382 3780 y(Der)45 b(Durc)m(hsatz)i(eines)e +(DRBD-Ger\344tes)h(wird)g(nat\374rlic)m(h)h(durc)m(h)f(den)g(Durc)m +(hsatz)382 3893 y(der)37 b(b)s(eteiligten)h(F)-8 b(estplatten)38 +b(und)f(den)g(Durc)m(hsatz)h(des)f(Netzw)m(erk)m(es)h(b)s(esc)m +(hr\344nkt.)382 4006 y(In)e(V)-8 b(ersuc)m(hen)38 b(k)m(onn)m(te)g(ein) +f(Durc)m(hsatz)h(zwisc)m(hen)g(50)f(\045)g(und)g(98)g(\045)f(des)h +(maximal)382 4119 y(m\366glic)m(hen)32 b(W)-8 b(ertes)31 +b(erreic)m(h)m(t)i(w)m(erden)e(\(siehe)g(Absc)m(hnitt)g(5.4)g(auf)f +(Seite)h(55\).)382 4280 y(So)m(w)m(ohl)46 b(die)f(Cluster-Managemen)m +(t-Soft)m(w)m(are)k(als)44 b(auc)m(h)i(die)e(neuen)h(Filesysteme)382 +4393 y(stec)m(k)m(en)37 b(no)s(c)m(h)f(in)g(ihren)h(Kindersc)m(h)m +(uhen,)j(do)s(c)m(h)d(die)f(st\344ndig)g(pr\344sen)m(te)h(Nac)m(hfrage) +382 4506 y(nac)m(h)31 b(HA-L\366sungen)g(wird)g(die)g(En)m(t)m(wic)m +(klungen)j(auc)m(h)d(in)g(Zukunft)f(v)m(oran)m(treib)s(en.)382 +4668 y(Da)45 b(PC-Hardw)m(are)i(w)m(esen)m(tlic)m(h)h(billiger)e(ist)f +(und)g(DRBD)f(auc)m(h)i(die)g(k)m(ostspielige)382 4781 +y(Hardw)m(are)32 b(f\374r)e(Shared)i(Disks)d(ersetzt,)j(k)m(\366nn)m +(ten)g(sic)m(h)f(HA-Clustern)g(auf)f(der)h(Basis)382 +4894 y(v)m(on)44 b(Lin)m(ux)g(neue)g(An)m(w)m(endungsgebiete)j +(er\366\033nen,)h(die)43 b(ihnen)i(bisher)e(w)m(egen)i(der)382 +5006 y(hohen)31 b(K)m(osten)g(v)m(erw)m(ehrt)i(w)m(aren.)382 +5168 y(Ob)43 b(sic)m(h)h(DRBD)e(als)h(Alternativ)m(e)i(zu)e(Shared)h +(Disks)e(b)s(ehaupten)j(k)m(\366nnen)f(wird,)382 5281 +y(wird)32 b(sic)m(h)f(no)s(c)m(h)h(herausstellen.)44 +b(Dies)31 b(wird)g(zu)h(einem)g(Gro\377teil)g(da)m(v)m(on)g +(abh\344ngen,)382 5394 y(ob)27 b(DRBD)f(v)m(on)h(den)g(Lin)m +(ux-Distributoren)j(in)c(ihre)i(Distributionen)g(aufgenommen)1831 +5622 y(79)p eop +%%Page: 80 82 +80 81 bop 382 262 a Fl(KAPITEL)31 b(7.)71 b(ZUSAMMENF)-10 +b(ASSUNG)p 382 299 2989 4 v 382 539 a Fp(wird;)40 b(und)d(genau)h(das)e +(zeic)m(hnet)j(sic)m(h)e(b)s(ereits)f(ab.)60 b(DRBD)36 +b(wird)h(als)f(Bestandteil)382 652 y(der)21 b(n\344c)m(hsten)i +(Connectiv)-5 b(a-Lin)m(ux-Distribution)25 b(ersc)m(heinen,)g(und)c +(auc)m(h)i(SuSE)f(zeigt)382 764 y(In)m(teresse.)382 927 +y(Do)s(c)m(h)35 b(DRBD)g(wird)g(sic)m(her)h(nic)m(h)m(t)h(die)e(letzte) +h(in)m(teressan)m(te)h(En)m(t)m(wic)m(klung)h(auf)d(dem)382 +1040 y(Gebiet)45 b(des)f(Clusterings)h(sein.)82 b(V)-8 +b(or)44 b(allem)h(An)m(bieter)h(v)m(on)e(W)-8 b(eb-Applik)j(ationen)382 +1153 y(bauen)26 b(Cluster,)h(b)s(ei)f(denen)g(die)f(Netzw)m(erklast)i +(auf)e(mehrere)i(Knoten)f(v)m(erteilt)h(wird.)382 1266 +y(F\374r)34 b(diesen)g(Cluster-T)m(yp)h(br\344uc)m(h)m(te)h(man)f(ein)f +(v)m(erteiltes)h(Filesystem,)f(das)g(so)m(w)m(ohl)382 +1379 y(Redundanz,)29 b(hohe)g(P)m(erformance,)i(Sp)s(erren)d(v)m(on)g +(Dateien)h(und)f(sim)m(ultanen)i(Zugri\033)382 1492 y(v)m(on)h(allen)g +(Knoten)g(des)f(Clusters)h(aus)f(erlaubt.)1831 5622 y(80)p +eop +%%Page: 81 83 +81 82 bop 382 1199 a Fk(Anhang)60 b(A)382 1652 y Fm(Me\377ergebnisse) +382 2136 y Fp(Die)31 b(Angab)s(en)g(in)g(den)g(Spalten)h(F)-8 +b(estplatte,)32 b(DRBD)e(n.)h(v.,)f(Prot.)43 b(A,)30 +b(Prot.)43 b(B)30 b(und)382 2248 y(Prot.)41 b(C)31 b(sind)f(in)g(MB/s.) +493 2464 y(1.)648 2659 y(\(a\))p 809 2775 2808 4 v 807 +3326 4 552 v 922 3292 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 922 3292 a Fp(Knoten)1213 3292 +y + currentpoint grestore moveto + 1213 3292 a 970 3326 4 552 v 1157 3292 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1157 3292 +a Fp(System)1442 3292 y + currentpoint grestore moveto + 1442 3292 a 1297 3326 4 552 v +1555 3292 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1555 3292 a Fp(V)-8 b(ersion)1847 3292 y + currentpoint grestore moveto + +1847 3292 a 1748 3326 4 552 v 1911 3292 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1911 3292 a +Fp(Arc)m(hitektur)2370 3292 y + currentpoint grestore moveto + 2370 3292 a 2008 3326 4 +552 v 2208 3292 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2208 3292 a Fp(BogoMips)2601 3292 y + currentpoint grestore moveto + +2601 3292 a 2359 3326 4 552 v 2513 3292 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2513 3292 a +Fp(F)g(estplatte)2907 3292 y + currentpoint grestore moveto + 2907 3292 a 2619 3326 4 +552 v 2782 3292 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2782 3292 a Fp(DRBD)30 b(n.)41 b(v.)3300 +3292 y + currentpoint grestore moveto + 3300 3292 a 2880 3326 4 552 v 3020 3292 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 3020 +3292 a Fp(Prot.)g(A)3330 3292 y + currentpoint grestore moveto + 3330 3292 a 3095 3326 +4 552 v 3258 3292 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 3258 3292 a Fp(Prot.)g(B)3564 3292 +y + currentpoint grestore moveto + 3564 3292 a 3355 3326 4 552 v 3518 3292 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 3518 3292 +a Fp(Prot.)g(C)3826 3292 y + currentpoint grestore moveto + 3826 3292 a 3615 3326 4 552 +v 809 3329 2808 4 v 809 3346 V 807 3459 4 113 v 868 3425 +a Fp(1)p 970 3459 V 108 w(Lin)m(ux)p 1297 3459 V 101 +w(2.2.12-20)p 1748 3459 V 101 w(i386)p 2008 3459 V 101 +w(265,42)p 2359 3459 V 100 w(2,27)p 2619 3459 V 101 w(1,99)p +2880 3459 V 100 w(1,3)p 3095 3459 V 100 w(1,29)p 3355 +3459 V 101 w(1,51)p 3615 3459 V 809 3462 2808 4 v 807 +3575 4 113 v 868 3541 a(2)p 970 3575 V 108 w(Lin)m(ux)p +1297 3575 V 101 w(2.2.12-20)p 1748 3575 V 101 w(i386)p +2008 3575 V 101 w(265,42)p 2359 3575 V 100 w(2,23)p 2619 +3575 V 101 w(2,04)p 2880 3575 V 100 w(1,3)p 3095 3575 +V 100 w(1,29)p 3355 3575 V 101 w(1,59)p 3615 3575 V 809 +3578 2808 4 v 859 3818 a(Netzw)m(erkbandbreite:)103 b(4,33)31 +b(MB/s)543 b(Datengr\366\377e:)101 b(10)31 b(MB)1045 +3931 y(Netzw)m(erklatenz:)102 b(0,1/0,8/36,4)32 b(ms)199 +b(DRBD)30 b(V)-8 b(ersion:)100 b(0.5.3)643 4133 y(\(b\))p +809 4249 2854 4 v 807 4800 4 552 v 922 4767 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 922 4767 +a Fp(Knoten)1213 4767 y + currentpoint grestore moveto + 1213 4767 a 970 4800 4 552 v +1157 4767 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1157 4767 a Fp(System)1442 4767 y + currentpoint grestore moveto + 1442 4767 +a 1297 4800 4 552 v 1555 4767 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1555 4767 a Fp(V)-8 b(ersion)1847 +4767 y + currentpoint grestore moveto + 1847 4767 a 1748 4800 4 552 v 1911 4767 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1911 +4767 a Fp(Arc)m(hitektur)2370 4767 y + currentpoint grestore moveto + 2370 4767 a 2008 +4800 4 552 v 2208 4767 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2208 4767 a Fp(BogoMips)2601 +4767 y + currentpoint grestore moveto + 2601 4767 a 2359 4800 4 552 v 2513 4767 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2513 +4767 a Fp(F)g(estplatte)2907 4767 y + currentpoint grestore moveto + 2907 4767 a 2619 +4800 4 552 v 2782 4767 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2782 4767 a Fp(DRBD)30 b(n.)41 +b(v.)3300 4767 y + currentpoint grestore moveto + 3300 4767 a 2880 4800 4 552 v 3043 4767 +a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 3043 4767 a Fp(Prot.)g(A)3353 4767 y + currentpoint grestore moveto + 3353 4767 a 3140 +4800 4 552 v 3303 4767 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 3303 4767 a Fp(Prot.)g(B)3609 +4767 y + currentpoint grestore moveto + 3609 4767 a 3400 4800 4 552 v 3563 4767 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 3563 +4767 a Fp(Prot.)h(C)3871 4767 y + currentpoint grestore moveto + 3871 4767 a 3661 4800 +4 552 v 809 4804 2854 4 v 809 4820 V 807 4933 4 113 v +868 4899 a Fp(1)p 970 4933 V 108 w(Lin)m(ux)p 1297 4933 +V 101 w(2.2.12-20)p 1748 4933 V 101 w(i386)p 2008 4933 +V 101 w(265,42)p 2359 4933 V 100 w(2,26)p 2619 4933 V +101 w(1,96)p 2880 4933 V 100 w(1,34)p 3140 4933 V 100 +w(1,29)p 3400 4933 V 101 w(1,48)p 3661 4933 V 809 4937 +2854 4 v 807 5049 4 113 v 868 5016 a(2)p 970 5049 V 108 +w(Lin)m(ux)p 1297 5049 V 101 w(2.2.12-20)p 1748 5049 +V 101 w(i386)p 2008 5049 V 101 w(265,42)p 2359 5049 V +100 w(2,25)p 2619 5049 V 101 w(1,99)p 2880 5049 V 100 +w(1,31)p 3140 5049 V 123 w(1,3)p 3400 5049 V 123 w(1,49)p +3661 5049 V 809 5053 2854 4 v 859 5293 a(Netzw)m(erkbandbreite:)103 +b(9,7)30 b(MB/s)589 b(Datengr\366\377e:)101 b(100)31 +b(MB)1045 5406 y(Netzw)m(erklatenz:)102 b(0,1/0,8/34,3)32 +b(ms)199 b(DRBD)30 b(V)-8 b(ersion:)100 b(0.5.3)1831 +5622 y(81)p eop +%%Page: 82 84 +82 83 bop 382 262 a Fl(ANHANG)29 b(A.)60 b(ME\337ER)m(GEBNISSE)p +382 299 2989 4 v 493 539 a Fp(2.)648 749 y(\(a\))p 809 +870 2788 4 v 807 1421 4 552 v 922 1387 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 922 1387 a Fp(Knoten)1213 +1387 y + currentpoint grestore moveto + 1213 1387 a 970 1421 4 552 v 1157 1387 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1157 +1387 a Fp(System)1442 1387 y + currentpoint grestore moveto + 1442 1387 a 1297 1421 4 +552 v 1495 1387 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1495 1387 a Fp(V)-8 b(ersion)1787 1387 +y + currentpoint grestore moveto + 1787 1387 a 1627 1421 4 552 v 1818 1387 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1818 1387 +a Fp(Arc)m(hitektur)2278 1387 y + currentpoint grestore moveto + 2278 1387 a 1943 1421 +4 552 v 2142 1387 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2142 1387 a Fp(BogoMips)2536 1387 +y + currentpoint grestore moveto + 2536 1387 a 2294 1421 4 552 v 2448 1387 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2448 1387 +a Fp(F)g(estplatte)2841 1387 y + currentpoint grestore moveto + 2841 1387 a 2554 1421 +4 552 v 2717 1387 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2717 1387 a Fp(DRBD)30 b(n.)40 b(v.)3234 +1387 y + currentpoint grestore moveto + 3234 1387 a 2814 1421 4 552 v 2977 1387 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2977 +1387 a Fp(Prot.)i(A)3287 1387 y + currentpoint grestore moveto + 3287 1387 a 3075 1421 +4 552 v 3238 1387 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 3238 1387 a Fp(Prot.)f(B)3544 1387 +y + currentpoint grestore moveto + 3544 1387 a 3335 1421 4 552 v 3498 1387 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 3498 1387 +a Fp(Prot.)g(C)3806 1387 y + currentpoint grestore moveto + 3806 1387 a 3595 1421 4 552 +v 809 1424 2788 4 v 809 1441 V 807 1554 4 113 v 868 1520 +a Fp(1)p 970 1554 V 108 w(Lin)m(ux)p 1297 1554 V 101 +w(2.2.13)p 1627 1554 V 101 w(alpha)p 1943 1554 V 100 +w(528,48)p 2294 1554 V 101 w(4,49)p 2554 1554 V 100 w(4,68)p +2814 1554 V 123 w(0,7)p 3075 1554 V 123 w(0,73)p 3335 +1554 V 100 w(0,65)p 3595 1554 V 809 1557 2788 4 v 807 +1670 4 113 v 868 1636 a(2)p 970 1670 V 108 w(Lin)m(ux)p +1297 1670 V 101 w(2.2.13)p 1627 1670 V 128 w(i586)p 1943 +1670 V 151 w(47,82)p 2294 1670 V 123 w(2,09)p 2554 1670 +V 100 w(2,11)p 2814 1670 V 101 w(0,95)p 3075 1670 V 100 +w(0,94)p 3335 1670 V 100 w(0,91)p 3595 1670 V 809 1674 +2788 4 v 859 1919 a(Netzw)m(erkbandbreite:)103 b(0,95)31 +b(MB/s)498 b(Datengr\366\377e:)101 b(10)31 b(MB)1045 +2031 y(Netzw)m(erklatenz:)102 b(0,5/0,5/0,8)32 b(ms)199 +b(DRBD)30 b(V)-8 b(ersion:)100 b(0.5.3)643 2244 y(\(b\))p +809 2366 V 807 2917 4 552 v 922 2883 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 922 2883 a Fp(Knoten)1213 +2883 y + currentpoint grestore moveto + 1213 2883 a 970 2917 4 552 v 1157 2883 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1157 +2883 a Fp(System)1442 2883 y + currentpoint grestore moveto + 1442 2883 a 1297 2917 4 +552 v 1495 2883 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1495 2883 a Fp(V)-8 b(ersion)1787 2883 +y + currentpoint grestore moveto + 1787 2883 a 1627 2917 4 552 v 1818 2883 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1818 2883 +a Fp(Arc)m(hitektur)2278 2883 y + currentpoint grestore moveto + 2278 2883 a 1943 2917 +4 552 v 2142 2883 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2142 2883 a Fp(BogoMips)2536 2883 +y + currentpoint grestore moveto + 2536 2883 a 2294 2917 4 552 v 2448 2883 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2448 2883 +a Fp(F)g(estplatte)2841 2883 y + currentpoint grestore moveto + 2841 2883 a 2554 2917 +4 552 v 2717 2883 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2717 2883 a Fp(DRBD)30 b(n.)40 b(v.)3234 +2883 y + currentpoint grestore moveto + 3234 2883 a 2814 2917 4 552 v 2977 2883 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2977 +2883 a Fp(Prot.)i(A)3287 2883 y + currentpoint grestore moveto + 3287 2883 a 3075 2917 +4 552 v 3238 2883 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 3238 2883 a Fp(Prot.)f(B)3544 2883 +y + currentpoint grestore moveto + 3544 2883 a 3335 2917 4 552 v 3498 2883 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 3498 2883 +a Fp(Prot.)g(C)3806 2883 y + currentpoint grestore moveto + 3806 2883 a 3595 2917 4 552 +v 809 2920 2788 4 v 809 2937 V 807 3049 4 113 v 868 3016 +a Fp(1)p 970 3049 V 108 w(Lin)m(ux)p 1297 3049 V 101 +w(2.2.13)p 1627 3049 V 101 w(alpha)p 1943 3049 V 100 +w(528,48)p 2294 3049 V 101 w(4,94)p 2554 3049 V 100 w(4,81)p +2814 3049 V 101 w(0,74)p 3075 3049 V 100 w(0,74)p 3335 +3049 V 100 w(0,73)p 3595 3049 V 809 3053 2788 4 v 807 +3166 4 113 v 868 3132 a(2)p 970 3166 V 108 w(Lin)m(ux)p +1297 3166 V 101 w(2.2.13)p 1627 3166 V 128 w(i586)p 1943 +3166 V 151 w(47,82)p 2294 3166 V 123 w(2,05)p 2554 3166 +V 100 w(1,16)p 2814 3166 V 101 w(0,95)p 3075 3166 V 100 +w(0,94)p 3335 3166 V 100 w(0,93)p 3595 3166 V 809 3169 +2788 4 v 859 3414 a(Netzw)m(erkbandbreite:)103 b(1,04)31 +b(MB/s)498 b(Datengr\366\377e:)101 b(55)31 b(MB)1045 +3527 y(Netzw)m(erklatenz:)102 b(0,5/0,5/0,7)32 b(ms)199 +b(DRBD)30 b(V)-8 b(ersion:)100 b(0.5.3)493 3796 y(3.)648 +4007 y(\(a\))p 809 4128 3009 4 v 807 4679 4 552 v 922 +4645 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 922 4645 a Fp(Knoten)1213 4645 y + currentpoint grestore moveto + 1213 4645 a 970 +4679 4 552 v 1157 4645 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1157 4645 a Fp(System)1442 4645 +y + currentpoint grestore moveto + 1442 4645 a 1297 4679 4 552 v 1588 4645 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1588 4645 +a Fp(V)-8 b(ersion)1880 4645 y + currentpoint grestore moveto + 1880 4645 a 1813 4679 +4 552 v 1976 4645 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1976 4645 a Fp(Arc)m(hitektur)2436 +4645 y + currentpoint grestore moveto + 2436 4645 a 2073 4679 4 552 v 2273 4645 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2273 +4645 a Fp(BogoMips)2666 4645 y + currentpoint grestore moveto + 2666 4645 a 2424 4679 +4 552 v 2601 4645 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2601 4645 a Fp(F)g(estplatte)2995 +4645 y + currentpoint grestore moveto + 2995 4645 a 2730 4679 4 552 v 2915 4645 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2915 +4645 a Fp(DRBD)30 b(n.)41 b(v.)3433 4645 y + currentpoint grestore moveto + 3433 4645 +a 3035 4679 4 552 v 3198 4645 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 3198 4645 a Fp(Prot.)h(A)3508 +4645 y + currentpoint grestore moveto + 3508 4645 a 3296 4679 4 552 v 3459 4645 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 3459 +4645 a Fp(Prot.)f(B)3765 4645 y + currentpoint grestore moveto + 3765 4645 a 3556 4679 +4 552 v 3719 4645 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 3719 4645 a Fp(Prot.)g(C)4027 4645 +y + currentpoint grestore moveto + 4027 4645 a 3816 4679 4 552 v 809 4682 3009 4 v 809 +4699 V 807 4812 4 113 v 868 4778 a Fp(1)p 970 4812 V +108 w(Lin)m(ux)p 1297 4812 V 124 w(2.2.14-9cl)p 1813 +4812 V 124 w(i586)p 2073 4812 V 100 w(897,84)p 2424 4812 +V 101 w(11,17)p 2730 4812 V 100 w(10,21)p 3035 4812 V +101 w(3,67)p 3296 4812 V 100 w(3,59)p 3556 4812 V 100 +w(3,56)p 3816 4812 V 809 4815 3009 4 v 807 4928 4 113 +v 868 4894 a(2)p 970 4928 V 108 w(Lin)m(ux)p 1297 4928 +V 101 w(2.2.14-14cl)p 1813 4928 V 102 w(i586)p 2073 4928 +V 100 w(799,54)p 2424 4928 V 123 w(8,66)p 2730 4928 V +168 w(7,8)p 3035 4928 V 168 w(3,8)p 3296 4928 V 123 w(3,69)p +3556 4928 V 100 w(3,99)p 3816 4928 V 809 4931 3009 4 +v 859 5176 a(Netzw)m(erkbandbreite:)103 b(8,6)30 b(MB/s)544 +b(Datengr\366\377e:)101 b(100)31 b(MB)1045 5289 y(Netzw)m(erklatenz:) +102 b(0,0/0,0/0,3)32 b(ms)199 b(DRBD)30 b(V)-8 b(ersion:)100 +b(0.5.3)1831 5622 y(82)p eop +%%Page: 83 85 +83 84 bop 382 262 a Fl(ANHANG)29 b(A.)60 b(ME\337ER)m(GEBNISSE)p +382 299 2989 4 v 643 539 a Fp(\(b\))p 809 660 2964 4 +v 807 1211 4 552 v 922 1178 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 922 1178 a Fp(Knoten)1213 +1178 y + currentpoint grestore moveto + 1213 1178 a 970 1211 4 552 v 1157 1178 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1157 +1178 a Fp(System)1442 1178 y + currentpoint grestore moveto + 1442 1178 a 1297 1211 4 +552 v 1588 1178 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1588 1178 a Fp(V)-8 b(ersion)1880 1178 +y + currentpoint grestore moveto + 1880 1178 a 1813 1211 4 552 v 1976 1178 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1976 1178 +a Fp(Arc)m(hitektur)2436 1178 y + currentpoint grestore moveto + 2436 1178 a 2073 1211 +4 552 v 2273 1178 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2273 1178 a Fp(BogoMips)2666 1178 +y + currentpoint grestore moveto + 2666 1178 a 2424 1211 4 552 v 2601 1178 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2601 1178 +a Fp(F)g(estplatte)2995 1178 y + currentpoint grestore moveto + 2995 1178 a 2730 1211 +4 552 v 2893 1178 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2893 1178 a Fp(DRBD)30 b(n.)40 b(v.)3410 +1178 y + currentpoint grestore moveto + 3410 1178 a 2990 1211 4 552 v 3153 1178 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 3153 +1178 a Fp(Prot.)h(A)3463 1178 y + currentpoint grestore moveto + 3463 1178 a 3250 1211 +4 552 v 3414 1178 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 3414 1178 a Fp(Prot.)g(B)3720 1178 +y + currentpoint grestore moveto + 3720 1178 a 3511 1211 4 552 v 3674 1178 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 3674 1178 +a Fp(Prot.)g(C)3981 1178 y + currentpoint grestore moveto + 3981 1178 a 3771 1211 4 552 +v 809 1215 2964 4 v 809 1231 V 807 1344 4 113 v 868 1310 +a Fp(1)p 970 1344 V 108 w(Lin)m(ux)p 1297 1344 V 124 +w(2.2.14-9cl)p 1813 1344 V 124 w(i586)p 2073 1344 V 100 +w(897,84)p 2424 1344 V 101 w(14,88)p 2730 1344 V 100 +w(12,9)p 2990 1344 V 101 w(4,94)p 3250 1344 V 100 w(4,68)p +3511 1344 V 100 w(4,57)p 3771 1344 V 809 1348 2964 4 +v 807 1461 4 113 v 868 1427 a(2)p 970 1461 V 108 w(Lin)m(ux)p +1297 1461 V 101 w(2.2.14-14cl)p 1813 1461 V 102 w(i586)p +2073 1461 V 100 w(799,54)p 2424 1461 V 101 w(10,97)p +2730 1461 V 100 w(9,11)p 2990 1461 V 101 w(5,35)p 3250 +1461 V 122 w(5,3)p 3511 1461 V 146 w(5,2)p 3771 1461 +V 809 1464 2964 4 v 859 1710 a(Netzw)m(erkbandbreite:)103 +b(8,7)30 b(MB/s)544 b(Datengr\366\377e:)101 b(100)31 +b(MB)1045 1822 y(Netzw)m(erklatenz:)102 b(0,0/0,0/0,2)32 +b(ms)199 b(DRBD)30 b(V)-8 b(ersion:)100 b(0.5.3)653 2037 +y(\(c\))p 809 2159 3009 4 v 807 2710 4 552 v 922 2676 +a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 922 2676 a Fp(Knoten)1213 2676 y + currentpoint grestore moveto + 1213 2676 a 970 2710 +4 552 v 1157 2676 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1157 2676 a Fp(System)1442 2676 y + currentpoint grestore moveto + +1442 2676 a 1297 2710 4 552 v 1588 2676 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1588 2676 a +Fp(V)-8 b(ersion)1880 2676 y + currentpoint grestore moveto + 1880 2676 a 1813 2710 4 +552 v 1976 2676 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1976 2676 a Fp(Arc)m(hitektur)2436 +2676 y + currentpoint grestore moveto + 2436 2676 a 2073 2710 4 552 v 2273 2676 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2273 +2676 a Fp(BogoMips)2666 2676 y + currentpoint grestore moveto + 2666 2676 a 2424 2710 +4 552 v 2601 2676 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2601 2676 a Fp(F)g(estplatte)2995 +2676 y + currentpoint grestore moveto + 2995 2676 a 2730 2710 4 552 v 2915 2676 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2915 +2676 a Fp(DRBD)30 b(n.)41 b(v.)3433 2676 y + currentpoint grestore moveto + 3433 2676 +a 3035 2710 4 552 v 3198 2676 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 3198 2676 a Fp(Prot.)h(A)3508 +2676 y + currentpoint grestore moveto + 3508 2676 a 3296 2710 4 552 v 3459 2676 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 3459 +2676 a Fp(Prot.)f(B)3765 2676 y + currentpoint grestore moveto + 3765 2676 a 3556 2710 +4 552 v 3719 2676 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 3719 2676 a Fp(Prot.)g(C)4027 2676 +y + currentpoint grestore moveto + 4027 2676 a 3816 2710 4 552 v 809 2713 3009 4 v 809 +2730 V 807 2843 4 113 v 868 2809 a Fp(1)p 970 2843 V +108 w(Lin)m(ux)p 1297 2843 V 124 w(2.2.14-9cl)p 1813 +2843 V 124 w(i586)p 2073 2843 V 100 w(897,84)p 2424 2843 +V 101 w(15,79)p 2730 2843 V 100 w(14,18)p 3035 2843 V +101 w(1,06)p 3296 2843 V 100 w(1,06)p 3556 2843 V 100 +w(1,01)p 3816 2843 V 809 2846 3009 4 v 807 2959 4 113 +v 868 2925 a(2)p 970 2959 V 108 w(Lin)m(ux)p 1297 2959 +V 101 w(2.2.14-14cl)p 1813 2959 V 102 w(i586)p 2073 2959 +V 100 w(799,54)p 2424 2959 V 101 w(11,34)p 2730 2959 +V 123 w(9,83)p 3035 2959 V 123 w(0,87)p 3296 2959 V 100 +w(0,92)p 3556 2959 V 100 w(0,87)p 3816 2959 V 809 2962 +3009 4 v 859 3208 a(Netzw)m(erkbandbreite:)103 b(0,94)31 +b(MB/s)498 b(Datengr\366\377e:)101 b(100)31 b(MB)1045 +3321 y(Netzw)m(erklatenz:)102 b(0,3/0,3/0,5)32 b(ms)199 +b(DRBD)30 b(V)-8 b(ersion:)100 b(0.5.3)493 3592 y(4.)648 +3805 y(\(a\))p 809 3927 2778 4 v 807 4478 4 552 v 922 +4444 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 922 4444 a Fp(Knoten)1213 4444 y + currentpoint grestore moveto + 1213 4444 a 970 +4478 4 552 v 1157 4444 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1157 4444 a Fp(System)1442 4444 +y + currentpoint grestore moveto + 1442 4444 a 1297 4478 4 552 v 1495 4444 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1495 4444 +a Fp(V)-8 b(ersion)1787 4444 y + currentpoint grestore moveto + 1787 4444 a 1627 4478 +4 552 v 1790 4444 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1790 4444 a Fp(Arc)m(hitektur)2250 +4444 y + currentpoint grestore moveto + 2250 4444 a 1888 4478 4 552 v 2087 4444 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2087 +4444 a Fp(BogoMips)2481 4444 y + currentpoint grestore moveto + 2481 4444 a 2238 4478 +4 552 v 2415 4444 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2415 4444 a Fp(F)g(estplatte)2809 +4444 y + currentpoint grestore moveto + 2809 4444 a 2544 4478 4 552 v 2707 4444 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2707 +4444 a Fp(DRBD)30 b(n.)40 b(v.)3224 4444 y + currentpoint grestore moveto + 3224 4444 +a 2804 4478 4 552 v 2967 4444 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2967 4444 a Fp(Prot.)i(A)3277 +4444 y + currentpoint grestore moveto + 3277 4444 a 3065 4478 4 552 v 3228 4444 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 3228 +4444 a Fp(Prot.)f(B)3534 4444 y + currentpoint grestore moveto + 3534 4444 a 3325 4478 +4 552 v 3488 4444 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 3488 4444 a Fp(Prot.)g(C)3796 4444 +y + currentpoint grestore moveto + 3796 4444 a 3585 4478 4 552 v 809 4481 2778 4 v 809 +4498 V 807 4610 4 113 v 868 4577 a Fp(1)p 970 4610 V +108 w(Lin)m(ux)p 1297 4610 V 101 w(2.2.14)p 1627 4610 +V 101 w(i686)p 1888 4610 V 100 w(498,07)p 2238 4610 V +101 w(11,23)p 2544 4610 V 100 w(10,4)p 2804 4610 V 101 +w(6,63)p 3065 4610 V 100 w(6,28)p 3325 4610 V 100 w(5,63)p +3585 4610 V 809 4614 2778 4 v 807 4727 4 113 v 868 4693 +a(2)p 970 4727 V 108 w(Lin)m(ux)p 1297 4727 V 101 w(2.2.14)p +1627 4727 V 101 w(i586)p 1888 4727 V 100 w(466,94)p 2238 +4727 V 123 w(6,76)p 2544 4727 V 123 w(6,06)p 2804 4727 +V 101 w(6,26)p 3065 4727 V 100 w(6,46)p 3325 4727 V 123 +w(5,4)p 3585 4727 V 809 4730 2778 4 v 859 4976 a(Netzw)m +(erkbandbreite:)103 b(11,1)31 b(MB/s)498 b(Datengr\366\377e:)101 +b(100)31 b(MB)1045 5089 y(Netzw)m(erklatenz:)102 b(0,0/0,0/0,2)32 +b(ms)199 b(DRBD)30 b(V)-8 b(ersion:)100 b(0.5.3)643 5303 +y(\(b\))1831 5622 y(83)p eop +%%Page: 84 86 +84 85 bop 382 262 a Fl(ANHANG)29 b(A.)60 b(ME\337ER)m(GEBNISSE)p +382 299 2989 4 v 809 451 2733 4 v 807 1002 4 552 v 922 +968 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 922 968 a Fp(Knoten)1213 968 y + currentpoint grestore moveto + 1213 968 a 970 1002 +4 552 v 1157 968 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1157 968 a Fp(System)1442 968 y + currentpoint grestore moveto + 1442 +968 a 1297 1002 4 552 v 1495 968 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1495 968 a Fp(V)-8 +b(ersion)1787 968 y + currentpoint grestore moveto + 1787 968 a 1627 1002 4 552 v 1790 +968 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 1790 968 a Fp(Arc)m(hitektur)2250 968 y + currentpoint grestore moveto + 2250 968 +a 1888 1002 4 552 v 2087 968 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2087 968 a Fp(BogoMips)2481 +968 y + currentpoint grestore moveto + 2481 968 a 2238 1002 4 552 v 2393 968 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2393 968 +a Fp(F)g(estplatte)2786 968 y + currentpoint grestore moveto + 2786 968 a 2499 1002 4 +552 v 2662 968 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2662 968 a Fp(DRBD)30 b(n.)40 b(v.)3179 +968 y + currentpoint grestore moveto + 3179 968 a 2759 1002 4 552 v 2922 968 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 2922 968 +a Fp(Prot.)h(A)3232 968 y + currentpoint grestore moveto + 3232 968 a 3019 1002 4 552 +v 3182 968 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 3182 968 a Fp(Prot.)h(B)3489 968 y + currentpoint grestore moveto + 3489 +968 a 3280 1002 4 552 v 3443 968 a + gsave currentpoint currentpoint translate 90 neg rotate neg exch neg +exch translate + 3443 968 a Fp(Prot.)f(C)3750 +968 y + currentpoint grestore moveto + 3750 968 a 3540 1002 4 552 v 809 1005 2733 4 v +809 1022 V 807 1134 4 113 v 868 1101 a Fp(1)p 970 1134 +V 108 w(Lin)m(ux)p 1297 1134 V 101 w(2.2.14)p 1627 1134 +V 101 w(i686)p 1888 1134 V 100 w(498,07)p 2238 1134 V +101 w(11,3)p 2499 1134 V 100 w(9,65)p 2759 1134 V 100 +w(6,14)p 3019 1134 V 101 w(6,18)p 3280 1134 V 100 w(5,29)p +3540 1134 V 809 1138 2733 4 v 807 1251 4 113 v 868 1217 +a(2)p 970 1251 V 108 w(Lin)m(ux)p 1297 1251 V 101 w(2.2.14)p +1627 1251 V 101 w(i586)p 1888 1251 V 100 w(466,94)p 2238 +1251 V 101 w(6,62)p 2499 1251 V 100 w(6,34)p 2759 1251 +V 100 w(6,27)p 3019 1251 V 101 w(6,27)p 3280 1251 V 100 +w(6,08)p 3540 1251 V 809 1254 2733 4 v 859 1500 a(Netzw)m +(erkbandbreite:)103 b(11,1)31 b(MB/s)498 b(Datengr\366\377e:)101 +b(100)31 b(MB)1045 1613 y(Netzw)m(erklatenz:)102 b(0,0/0,0/0,2)32 +b(ms)199 b(DRBD)30 b(V)-8 b(ersion:)100 b(0.5.3)1831 +5622 y(84)p eop +%%Page: 85 87 +85 86 bop 382 1247 a Fm(Literaturv)-6 b(erzeic)g(hnis)382 +1726 y Fp([BBDK97])68 b(Mic)m(hael)42 b(Bec)m(k,)i(Harald)e(B\366hme,)j +(Mirk)m(o)d(Dzadzk)-5 b(a,)44 b(Ulric)m(h)e(Kunitz,)857 +1839 y(Rob)s(ert)23 b(Magn)m(us,)j(Dirk)d(V)-8 b(erw)m(orner.)26 +b Fa(Linux-Kernel-Pr)-5 b(o)g(gr)g(ammierung)857 1952 +y(A)n(lgorithmen)24 b(und)g(Struktur)-5 b(en)26 b(der)e(V)-7 +b(ersion)24 b(2.0)p Fp(,)f(4.)f(Au\035age.)g(A)m(ddison)857 +2065 y(W)-8 b(eseley)30 b(Longman,)i(Bonn)f(1997.)382 +2246 y([HHMK94])46 b(Sebastian)34 b(Hetze,)h(Dirk)f(Hohndel,)i(Martin)e +(M\374ller,)h(Olaf)f(Kirc)m(h.)h Fa(Li-)857 2359 y(nuX)48 +b(A)n(nwenderhandbuch)j(und)d(L)-5 b(eitfaden)49 b(f\374r)g(die)g +(Systemverwal-)857 2472 y(tung)p Fp(.)40 b(4.)f(erw)m(eiterte)j(und)e +(aktualisierte)g(Au\035age.)g(LunetIX)g(Softfair)857 +2585 y(1994.)382 2767 y([Hor98])187 b(Simon)132 b(Horman.)g +Fa(Cr)-5 b(e)g(ating)125 b(R)-5 b(e)g(dundant)126 b(Linux)f(Servers.) +857 2880 y Fp(h)m(ttp://www.us.v)m(ergenet.net/lin)m(ux/redun)q(dan)n +(t_lin)n(ux_p)q(ap)s(er-)857 2993 y(/talk/redundan)m(t_lin)m(ux.ps.bz2) +382 3174 y([K)m(op97])173 b(Hermann)44 b(K)m(op)s(etz.)h +Fa(REAL)f(TIME)g(SYSTEMS)f(Design)i(Principles)857 3287 +y(for)g(Distribute)-5 b(d)47 b(Emb)-5 b(e)g(dde)g(d)48 +b(Applic)-5 b(ations)p Fp(.)45 b(Ku)m(wler)i(A)m(cademic)f(Pu-)857 +3400 y(blishers,)30 b(Boston,)h(1997.)382 3582 y([Lew99])174 +b(Phil)21 b(Lewis.)h Fa(A)i(High-A)n(vailability)g(Cluster)g(for)f +(Linux.)g(Linux)h(Journal)p Fp(,)857 3695 y(Issue)f(64,)i(August)f +(1999.)g(Sp)s(ecialized)h(Systems)f(Consultan)m(ts,)i(Seattle.)382 +3877 y([Mil98])202 b(Harald)168 b(Milz.)g Fa(Linux)159 +b(High)g(A)n(vailability)f(HO)n(WTO.)857 3989 y Fp(h)m +(ttp://metalab.unc.edu/pub/Lin)n(ux/ALPHA/lin)n(ux-ha/)q(High-)857 +4102 y(A)-10 b(v)-5 b(ailabilit)m(y-HO)m(WTO.h)m(tml)382 +4284 y([MPI97])158 b Fa(MPI-2:)41 b(Extensions)31 b(to)h(the)h +(Message-Passing)g(Interfac)-5 b(e.)30 b Fp(1997)g(Uni-)857 +4397 y(v)m(ersit)m(y)51 b(of)g(T)-8 b(ennessee,)57 b(Kno)m(xville,)g(T) +-8 b(ennessee.)52 b(h)m(ttp://www.mpi-)857 4510 y(forum.org/do)s +(cs/mpi-20.ps.Z)382 4692 y([P\03498])224 b(Gregory)43 +b(F.)g(P\034ster.)h Fa(In)f(se)-5 b(ar)g(ch)46 b(of)e(Clusters)p +Fp(.)f(Pren)m(tice-Hall)i(PTR,)857 4805 y(Upp)s(er)30 +b(Saddle)h(Riv)m(er)f(1998.)382 4986 y([Reis99])167 b(Hans)20 +b(Reiser.)g Fa(R)-5 b(eiserFS.)20 b Fp(h)m(ttp://www.devlin)m +(ux.com/pro)5 b(ject/reiser-)857 5099 y(fs/res_whol.sh)m(tml)382 +5281 y([Rob00])173 b(Alan)39 b(Rob)s(ertson.)g Fa(High-A)n(vailability) +i(Linux)f(Pr)-5 b(oje)g(ct.)41 b Fp(h)m(ttp://lin)m(ux-)857 +5394 y(ha.org)1831 5622 y(85)p eop +%%Page: 86 88 +86 87 bop 382 262 a Fl(LITERA)-8 b(TUR)e(VERZEICHNIS)667 +b(LITERA)-8 b(TUR)e(VERZEICHNIS)p 382 299 2989 4 v 382 +539 a Fp([PBB+99])76 b(Kenneth)90 b(W.)g(Preslan,)105 +b(Andrew)90 b(P)-8 b(.)90 b(Barry)-8 b(,)105 b(Jonathan)91 +b(E.)857 652 y(Brasso)m(w,)96 b(Gran)m(t)84 b(M.)e(Eric)m(kson,)97 +b(Erling)84 b(Nygaard,)96 b(Christo-)857 764 y(pher)c(J.)g(Sab)s(ol,) +108 b(Stev)m(en)93 b(R.)e(Soltis,)108 b(Da)m(vid)93 b(C.)f(T)-8 +b(eigland)857 877 y(und)93 b(Matthew)h(T.)f(O'Keefe.)h +Fa(A)c(64-bit,)104 b(shar)-5 b(e)g(d)92 b(disk)e(Fi-)857 +990 y(le)69 b(System)f(for)g(Linux)p Fp(.)h(Pro)s(ceedings)i(of)e(the)h +(Sixteen)m(th)i(IEEE)857 1103 y(Mass)51 b(Storage)i(Systems)f(Symp)s +(osium,)58 b(Marc)m(h)53 b(1999.)g(\(Alternativ)857 1216 +y(h)m(ttp://www.global\034lesystem.org/pubs/NASA_GFS_1999.ps\))382 +1404 y([Rub98])168 b(Alessandro)22 b(Rubini.)h Fa(Linux)i(Devic)-5 +b(e)27 b(Drivers.)22 b Fp(O'Reilly)h(&)f(Asso)s(ciates,)857 +1517 y(Inc.)30 b(Sebastop)s(ol)h(1998.)382 1704 y([Rub97])168 +b(Alessandro)29 b(Rubini.)h Fa(The)i(virtual)g(\034lesystem)g(in)f +(Linux)p Fp(.)e(Lin)m(ux)i(Jour-)857 1817 y(nal,)40 b(Issue)d(37,)k(Ma) +m(y)d(1997.)h(Sp)s(ecialized)g(Systems)f(Consultan)m(ts,)j(Se-)857 +1930 y(attle.)382 2118 y([Rus98])182 b(Da)m(vid)251 b(A)f(Rusling.)g +Fa(The)235 b(Linux)f(Kernel.)857 2231 y Fp(h)m(ttp://www.lin)m(uxdo)s +(c.org/LDP/tlk/tlk.h)m(tm)q(l)382 2418 y([Russ00])146 +b(Rust)m(y)172 b(Russel.)f Fa(Linux)163 b(Kernel)g(L)-5 +b(o)g(cking)164 b(HO)n(WTO.)857 2531 y Fp(h)m(ttp://net\034lter.k)m +(ernelnotes.org/unreliab)q(le-gui)q(des/k)m(ern)q(el-)857 +2644 y(lo)s(c)m(king-HO)m(WTO.h)m(tml)382 2832 y([Sha00])190 +b(Ra)m(wn)263 b(Shah.)g Fa(Linux)246 b(clustering)h(c)-5 +b(ornuc)g(opia)p Fp(.)857 2945 y(h)m(ttp://www.lin)m(uxw)m +(orld.com/lw-20)q(00-03/)q(lw-03)q(-clusteri)q(ng.h)n(tml)382 +3132 y([Sta95])205 b(William)34 b(Stallings.)h Fa(Op)-5 +b(er)g(ating)37 b(Systems)p Fp(,)d(second)g(edition.)h(Pren)m(tice-)857 +3245 y(Hall,)30 b(Englew)m(o)s(o)s(d)i(Cli\033s,)e(New)g(Jersey)h +(1995.)382 3433 y([Sun90])185 b(V.)77 b(S.)g(Sunderam.)i +Fa(PVM:)d(A)f(F)-7 b(r)i(amework)77 b(for)e(Par)-5 b(al)5 +b(lel)77 b(Dis-)857 3546 y(tribute)-5 b(d)92 b(Computing.)i +Fp(Journal)h(of)f(Concurrency:)170 b(Practice)857 3659 +y(and)80 b(Exp)s(erience,)93 b(2,)f(4,)g(Seiten)81 b(315-339,)93 +b(Dezem)m(b)s(er)81 b(1990.)857 3771 y(h)m(ttp://www.netlib.org/ncwn/p) +m(vmsystem.ps.)382 3959 y([T)-8 b(w)m(e98])176 b(Stephen)229 +b(C.)f(T)-8 b(w)m(eedie.)231 b Fa(Journaling)215 b(the)f(Li-)857 +4072 y(nux)259 b(ext2fs)g(Filesystem)p Fp(.)277 b(Lin)m(uxExp)s(o)h +(1998.)857 4185 y(ftp://ftp.uk.lin)m(ux.org/pub/lin)m +(ux/sct/fs/jfs/journal-design.ps.gz)382 4373 y([V)-8 +b(ol97])205 b(Y)-8 b(uri)58 b(V)-8 b(olobuev.)60 b Fa(Playing)d(r)-5 +b(e)g(dir)59 b(games)g(wirh)f(ARP)f(and)h(ICMP)p Fp(.)857 +4485 y(h)m(ttp://www.ro)s(otshell.com)382 4673 y([W)-8 +b(eis97])149 b(P)m(eter)34 b(W)-8 b(eiss.)32 b Fa(Dynamische)i(T)-7 +b(r)i(eib)g(er)36 b(unter)f(Linux)p Fp(.)d(IX)g(Magazin,)i(Ja-)857 +4786 y(n)m(uar)d(1997.)g(V)-8 b(erlag)31 b(Heinz)g(Heise,)f(M\374nc)m +(hen.)382 4974 y([W)-8 b(ey96])162 b(P)m(eter)37 b(S.)e(W)-8 +b(eygan)m(t.)37 b Fa(Clusters)h(for)e(High)i(A)n(vailability)p +Fp(.)d(Pren)m(tice)i(Hall)857 5087 y(PTR,)30 b(Englew)m(o)s(o)s(d)i +(Cli\033s,)e(New)g(Jersey)h(1996.)382 5274 y([ZJW99])141 +b(W)-8 b(ensong)24 b(Zhang,)i(Shiy)m(ao)e(Jin,)i(Quan)m(yuan)f(W)-8 +b(u.)24 b Fa(Cr)-5 b(e)g(ating)27 b(Linux)f(Vir-)857 +5387 y(tual)34 b(Servers)p Fp(.)f(Pro)s(ceedings)h(of)e(the)g(5th)h +(Ann)m(ual)g(Lin)m(ux)g(Exp)s(o,)g(pages)1831 5622 y(86)p +eop +%%Page: 87 89 +87 88 bop 382 262 a Fl(LITERA)-8 b(TUR)e(VERZEICHNIS)667 +b(LITERA)-8 b(TUR)e(VERZEICHNIS)p 382 299 2989 4 v 857 +539 a Fp(101-110.)28 b(W)-8 b(eb)s(com,)28 b(T)-8 b(ec)m(hnical)29 +b(Do)s(cumen)m(tation)g(Division.)e(\(Alterna-)857 652 +y(tiv)j(h)m(ttp://www.lin)m(uxvirtualserv)m(er.org/clvs.ps.gz\))1831 +5622 y(87)p eop +%%Trailer +end +userdict /end-hook known{end-hook}if +%%EOF |
