summaryrefslogtreecommitdiffstats
path: root/Bachelor/BSc-Arbeit/mat_bsc_arbeit/reisner01.ps
diff options
context:
space:
mode:
authorSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
committerSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
commit33613a85afc4b1481367fbe92a17ee59c240250b (patch)
tree670b842326116b376b505ec2263878912fca97e2 /Bachelor/BSc-Arbeit/mat_bsc_arbeit/reisner01.ps
downloadStudium-master.tar.gz
Studium-master.tar.bz2
add new repoHEADmaster
Diffstat (limited to 'Bachelor/BSc-Arbeit/mat_bsc_arbeit/reisner01.ps')
-rw-r--r--Bachelor/BSc-Arbeit/mat_bsc_arbeit/reisner01.ps30395
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