From: shapiro@yoko.inria.fr (Marc Shapiro)
Newsgroups: comp.os.research
Subject: post-doc position available
Date: 13 Oct 92 13:08:34 GMT
Article-I.D.: darkstar.1bia6tINNmaf
Organization: INRIA -- Institut National de Recherche en Informatique et Automatique -- Rocquencourt, France
NNTP-Posting-Host: ftp.cse.ucsc.edu
Originator: osr@ftp

A post-doctoral position may be available in the SOR group at INRIA
Rocquencourt (near Paris), as part of the Esprit Basic Research
Project ``Broadcast''.  This new project will be doing research in the
area of large-scale distributed systems, covering the whole ground
from paradigms, algorithms, and architectures, all the way to actual
systems.  Broadcast comprises several groups in Europe: Ecole
Polytechnique Federale de Lausanne CH, IMAG Grenoble FR, INESC Lisboa
PT, INRIA Rocquencourt FR, IRISA Rennes FR, University of Bologna IT,
University of Newcastle-upon-Tyne UK, and University of Twente NL.

INRIA's main task within Broadcast is to design a reference mechanism
(for identifying mobile objects) and its associated distributed
garbage collector.  Preliminary work is well advanced; see for
instance ``Robust, Distributed References and Acyclic Garbage
Collection,'' Shapiro, Dickman, Plainfosse, Symposium on Principles of
Distributed Computing, Vancouver (Canada), August 1992 (available by
FTP from ftp.inria.fr as INRIA/publication/SOR/RDRAGC:podc92.ps.Z).
An implementation of this design is under way.  There is a lot of
interesting fundamental and practical work left to do, that will be
the responsibility of the post-doc: verifying the algorithms,
extending them to large-scale distributed systems, garbage-collecting
cycles, etc.

Students with experience in distributed systems, operating systems,
reliable systems, and/or garbage collection, are invited to send their
resume to me.  Applicants are not required to master the French
language at the time of their application.

A brief introduction and bibliography of our group follows (in
PostScript).

						Marc Shapiro

M. Shapiro, INRIA, B.P. 105 Rocquencourt, 78153 Le Chesnay Cedex, France.
Tel.: +33(1)39-63-53-25; fax: +33(1)39-63-53-30; e-mail: marc.shapiro@inria.fr

%!PS-Adobe-2.0
%%Creator: dvips 5.47 Copyright 1986-91 Radical Eye Software
%%Title: SOR.dvi
%%Pages: 4 1
%%BoundingBox: 0 0 596 843
%%EndComments
%%BeginProcSet: makefonts.pro
/TransformFont{30 dict begin /Proc exch def /TransformMatrix exch def
/BaseName exch def /NewName exch def /BaseFontDict BaseName findfont
TransformMatrix makefont def /NewFont BaseFontDict maxlength dict def
BaseFontDict{exch dup /FID ne{dup /Encoding eq{exch dup length array copy
NewFont 3 1 roll put}{exch NewFont 3 1 roll put}ifelse}{pop pop}ifelse}forall
NewFont /FontName NewName put NewFont Proc NewName NewFont definefont pop end}
def /ObliqueFont{20 dict begin /Angle exch def[1 0 Angle sin Angle cos div 1 0
0]{pop}TransformFont end}def /SmallCapsFont{11 dict dup 3 1 roll begin
findfont dup 1000 scalefont /BaseFont-L exch def 800 scalefont /BaseFont-S
exch def /FontType 3 def /FontMatrix[.001 0 0 .001 0 0]def /FontBBox
BaseFont-L /FontBBox get def /Encoding BaseFont-L /Encoding get def /TmpString
1 string def /IsLowerCase{dup(a)0 get ge exch(z)0 get le and}def /ToUpperCase{
dup IsLowerCase{(a)0 get sub(A)0 get add}if}def /BuildChar{exch begin
BaseFont-L setfont dup IsLowerCase{BaseFont-S setfont ToUpperCase}if TmpString
0 3 -1 roll put TmpString stringwidth setcharwidth 0 0 moveto TmpString show
end}def end definefont pop}def /CondensedFont{20 dict begin /LineThickening
exch def /WidthNarrowing exch def[WidthNarrowing 0 0 1 0 0]{dup /StrokeWidth
get LineThickening mul /StrokeWidth exch put}TransformFont end}def
/ReducedFont{20 dict begin /reduction exch def[reduction 0 0 reduction 0 0]{
pop}TransformFont end}def
%%EndProcSet
%%BeginProcSet: texc.pro
/TeXDict 200 dict def TeXDict begin /N /def load def /B{bind def}N /S /exch
load def /X{S N}B /TR /translate load N /isls false N /vsize 10 N /@rigin{
isls{[0 1 -1 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
Resolution VResolution vsize neg mul TR matrix currentmatrix dup dup 4 get
round 4 exch put dup dup 5 get round 5 exch put setmatrix}N /@letter{/vsize 10
N}B /@landscape{/isls true N /vsize -1 N}B /@a4{/vsize 10.6929133858 N}B /@a3{
/vsize 15.5531 N}B /@ledger{/vsize 16 N}B /@legal{/vsize 13 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 /IE 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 IE N end dup{/foo setfont}2
array copy cvx N load 0 nn put /ctr 0 N[}B /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 dup definefont
setfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup
length 4 sub get}B /ch-xoff{128 ch-data dup length 3 sub get sub}B /ch-yoff{
ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B
/ch-image{ch-data dup 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 /sf 0 N /CharBuilder{save 3 1 roll S
dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0
ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice
ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]/id ch-image N
/rw ch-width 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 dup 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 dup gp add /gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw
cp 2 copy get dup 0 eq{pop 1}{dup 255 eq{pop 254}{dup dup add 255 and S 1 and
or}ifelse}ifelse put 1 adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255
eq{pop 127}{dup 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}bind{adv 1 chg nd}bind{1 add chg}bind{1 add chg nd}bind{adv lsh}bind{
adv lsh nd}bind{adv rsh}bind{adv rsh nd}bind{1 add adv}bind{/rc X nd}bind{1
add set}bind{1 add clr}bind{adv 2 chg}bind{adv 2 chg nd}bind{pop nd}bind]N /D{
/cc X dup type /stringtype ne{]}if nn /base get cc ctr put nn /BitMaps get S
ctr S sf 1 ne{dup dup length 1 sub dup 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}N /eop{clear SI restore showpage userdict /eop-hook
known{eop-hook}if}N /@start{userdict /start-hook known{start-hook}if
/VResolution X /Resolution X 1000 div /DVImag X /IE 256 array N 0 1 255{IE S 1
string dup 0 3 index put cvn put}for}N /p /show load N /RMat[1 0 0 -1 0 0]N
/BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
statusdict begin /product where{pop product dup length 7 ge{0 7 getinterval
(Display)eq}{pop false}ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale
rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex
ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /a{moveto}B
/delta 0 N /tail{dup /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{clear SS restore}B end
%%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 false N /BBcalc false N
/p 3 def}B /@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{
@scaleunit div /vsc X}B /@hsize{/hs X /CLIP true N}B /@vsize{/vs X /CLIP true
N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{10 div /rwi X}
B /@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X /BBcalc true N}B
/magscale true def end /@MacSetUp{userdict /md known{userdict /md get type
/dicttype eq{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}N /psfts{S 65536 div N}N /startTexFig{/psf$SavedState save
N userdict maxlength dict begin /magscale false 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}N /@setspecial{CLIP{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 BBcalc{rwi urx llx sub div dup scale llx neg lly neg
TR}if /showpage{}N /erasepage{}N /copypage{}N newpath}N /@endspecial{grestore
clear 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 1000 300 300 @start /Fa 57 122 df<126012E012F0127012301210120805
07759914>18 D<1206120E121C12381230126012800707739914>I<1218123CA2121C1208A312
10122012401280060B78990C>39 D<130CA35BA45BA4B512F8A238006000A25BA4485AA490C7FC
15187A941D>43 D<121812381278123812081210A21220A212401280050B7D830C>I<EAFF80A2
130009037D880E>I<1230127812F0126005047C830C>I<14081418A21430A21460A214C0A2EB01
80EB0300A21306A25BA25B5BA25BA25BA2485A48C7FCA21206A25AA25AA25A5AA25A5A15257F9B
14>I<137CEA0186EA03031206000C1380121CA21238A338700700A4EAE00EA35BA213185BEA60
606C5A001FC7FC11187C9714>I<1308131813301370EA01F0EA0E70EA00E0A4EA01C0A4EA0380
A4EA0700A45AEAFFF00D187C9714>I<137CEA0186EA020300041380138312081210A338110700
1212EA0C0EC65A13305BEA01800002C7FC120CEA10011220EA3C06EA67FEEAC1FCEA80F011187D
9714>I<131FEB6080EA0180EA03031206000EC7FC5A12181238EA39F0EA7218EA740CEA780E12
7012F012E0A35BA2EA60385BEA30C0EA1F8011187C9714>54 D<133E13C138010080000213C012
06A2380E0180380703001386EA03CCEA01F07FEA067C487EEA180E487E1260A2EAC006A2EA600C
5BEA3070EA0FC012187D9714>56 D<137CEA0186EA0703120E000C1380121C1238A3130714005B
EA1817EA0C27EA07CEEA000E130C131C1318EAE0305BEA80C0EAC380003EC7FC11187C9714>I<
1206120F121E120C1200A81230127812F0126008107C8F0C>I<14201460A214E01301A2EB0270
A213041308A21310A21320A213401380EBFFF038010038A212025AA2120C121C38FF01FF181A7E
991D>65 D<3803FFF83800700E1406140713E0A43801C00E141C143814703803FFE0EB80701438
141CEA0700A4000E1338A2147014E0381C03C0B51200181A7D991B>I<EB0F82EB7062EBC01638
03801E3807000C120E5A121800381308123000701300A25AA41420A314401260148038300100EA
1006EA0C18EA03E0171A7A991B>I<3803FFF83800700E80809038E00180A315C0EA01C0A43903
800380A3150048485AA2140E140C000E131C5C5C5C381C0380D8FFFEC7FC1A1A7D991D>I<0003
B5FC380070071403140113E0A43801C080A313C13803FF001381A3EA0702EB0004A21408120E14
18141014304813E0B5FC181A7D991A>I<EB0FC1EB3021EBC0133801800F38070006120E120C5A
00381304123000701300A25AA3EB07FEEB0070A4006013E0A27EEA1801380C0640EA03F8181A7A
991E>71 D<3801FF8038003800A35BA45BA4485AA4485AA448C7FCA4120EEAFFE0111A7E990F>
73 D<EBFFC0EB0E00A35BA45BA45BA45BA4EA61C012E15B12830047C7FC123C121A7C9914>I<38
03FF8038007000A35BA4485AA4485AA448C7FC1410A21420120E1460144014C0381C0380B5FC14
1A7D9918>76 D<D803F8EB1FC0D80078EB3C00A2155C01B85BA290389C0138A239011C0270A214
04140800025C1410A214200004EB41C0A21481A239080F0380A2130EEA180C003849C7FC39FF08
3FF0221A7D9922>I<3903F007F839007801C0EC0080A290389C0100A3138E38010E0213061307
A238020384A3EB01C4000413C8A2EB00E8A24813F01470A2121800381320B4FC1D1A7D991D>I<
EB1F80EB70603801C030380300180006131C000E130C5A0018130E123812301270A248131CA314
38A21430147014E014C03860018038700300EA3806EA1C1CEA07E0171A7A991D>I<3803FFF838
00701C1406140713E0A43801C00EA2141C143838038070EBFF80EB8000A248C7FCA4120EA45AEA
FFC0181A7D991A>I<3803FFF03800701C140E140713E0A43801C00E141C143814E03803FF80EB
80C014601470EA0700A4000E13E0A214E114E248136238FFC03C181A7D991C>82
D<EB3F10EB60903801807013004813201206A31400120713C0EA03F8EA01FEEA007FEB0F801303
1301A21220A238600300A21306EA700CEAC818EA87E0141A7D9916>I<383FFFFC38381C0C0020
1304124013381280A338007000A45BA4485AA4485AA41207EAFFF8161A79991B>I<387FE0FF38
0E00381410A2481320A4481340A4481380A438E00100A31302A25BEA60085BEA3860EA0F80181A
78991D>I<3AFF87FC3FC03A3C00E00600001C1404A201015B130301025B01041330152001085B
A201105BA2D920E1C7FCA2EB40E2A2EB80E4121DEB00E8001E13F85C001C5BA200185BA2221A78
9926>87 D<EA03CCEA0E2EEA181C123812301270EAE038A4EAC072A3EA60F2EA6134EA1E180F10
7C8F14>97 D<127E120EA35AA45AA2EA3BC0EA3C301278EA7018A3EAE038A4EAC070136013E0EA
60C0EA6380EA1E000D1A7C9912>I<EA01F0EA0608EA0C18EA1838EA3010EA7000126012E0A413
081310EA6020EA30C0EA1F000D107C8F12>I<EB1F801303A3EB0700A4130EA2EA03CEEA0E2EEA
181C123812301270485AA4EAC072A3EA60F2EA6134EA1E18111A7C9914>I<EA01E0EA0618EA1C
08123812701310EAFFE0EAE000A41308EA60101320EA30C0EA1F000D107C8F12>I<1307EB1980
131BEB3B001330A21370A4EA07FFEA00E0A5485AA5485AA548C7FCA3126612E412CC1270112181
990C>I<13F338038B8038060700120E120C121CEA380EA4EA301CA3EA183C5BEA07B8EA0038A2
5B1260EAE0E0EAC1C0007FC7FC11177E8F12>I<EA1F801203A348C7FCA4120EA2137CEA0F86EA
1E07A2121CA2EA380EA35B00701380A21338EB3900EAE019EA600E111A7E9914>I<1203120712
061200A61238124C124E128E129CA2121C1238A212701272A212E212E41264123808197C980C>
I<130C130E130C1300A613E0EA0130EA02381204A3EA0070A413E0A4EA01C0A4EA03801263EAE7
0012CE12780F2081980C>I<EA1F801203A3EA0700A4120EA2130E1313EA1C2713431380EA1F00
123CEA3F80EA39C0EA38E0EA70E2A313E4EAE064EA6038101A7E9912>I<123F1207A3120EA412
1CA41238A41270A412E4A412681230081A7D990A>I<38307C1E38598663399E0783801403129C
A239380E0700A3140ED8701C1340A2141C158038E0380C39601807001A107C8F1F>I<EA307CEA
5986EA9E07A2129CA2EA380EA35B00701380A21338EB3900EAE019EA600E11107C8F16>I<EA01
F0EA0618EA0C0CEA180E12301270126012E0A2130C131C13181330EA6060EA30C0EA1F000F107C
8F14>I<EA030F380590C0EA09E0EBC060A3380380E0A4380701C0148013031400EA0E8E137890
C7FCA25AA4B4FC1317808F14>I<EA30F0EA5918EA9E38EA9C181300A25AA45AA45A12600D107C
8F10>114 D<EA03E0EA04301208EA18701360EA1C00EA1F8013C0EA0FE01200136012E0A2EA80
C0EA4180EA3E000C107D8F10>I<1206120EA45AA2EAFFC0EA1C005AA45AA412E1A312E2126412
380A177C960D>I<EA3806EA4C07EA4E0E128E129CA2EA1C1C1238A3EA7039A3EA3079EA389AEA
0F0C10107C8F15>I<EA3818EA4C1C124EEA8E0C129CA2EA1C081238A3EA7010A21320EA3040EA
18C0EA0F000E107C8F12>I<38380C30384C0E38EA4E1C008E1318129CA2381C38101238A33870
7020A2144012303818B880380F0F0015107C8F19>I<EA078F3808D180EA10F3EA20E1EBE000A2
EA01C0A4EA0382A212C3EAE784EAC588EA78F011107E8F12>I<EA3806EA4C07EA4E0E128E129C
A2EA1C1C1238A3EA7038A3EA3078EA38F0EA0F7012001360EA60E0EAE1C0EAC180EA4700123C10
177C8F13>I E /Fb 7 116 df<B612E015FE6F7E3A03FC007FE0ED0FF06F7E82150382A65E4B5A
A2ED1FE0ED7FC090B500FEC7FC15F09038FC00FC157F6F7EA26F7E82A582A3170716F8150F0307
130EB539F003FE1C923801FFF89238003FF030297DA834>82 D<EB1FF8EBFFFE3803F01F3907E0
3F80EA0FC0EA1F80003FEB1F00007F130E90C8FCA25AA77EA27F003FEB01C0121F390FC0038039
07E007003803F01E3800FFFCEB1FE01A1B7E9A1F>99 D<EB3FE03801FFF83803F07E3807C01FD8
0F801380001F130F003F14C0EA7F00140715E05AA290B5FCA290C8FCA37EA36C6C13E0121F390F
C001C03907E003803903F81F003800FFFEEB1FF01B1B7E9A20>101 D<EB07F0EB3FFCEBFE3E38
01F87F120313F01207143E1400A7B512C0A33807F000B3A3387FFF80A3182A7EA915>I<38FFC0
7F9038C1FFC09038C787E0390FCE03F013D88113F0A213E0B03AFFFE3FFF80A3211B7D9A26>
110 D<38FFC1F0EBC7FCEBCE3E380FD87FA213F0143E141CEBE000B0B5FCA3181B7E9A1C>114
D<3803FE30380FFFF0EA1E03EA380048137012F0A27E6C1300EAFFE0EA7FFEEBFF806C13E06C13
F0000713F8C6FCEB03FC13000060137C00E0133C7E14387E6C137038FF01E038F7FFC000C11300
161B7E9A1B>I E /Fc 1 16 df<EA03C0EA0FF0EA1FF8EA3FFCEA7FFEA2B5FCA4EA7FFEA2EA3F
FCEA1FF8EA0FF0EA03C010107E9115>15 D E /Fd 19 118 df<EA03CCEA063C120CEA181CEA38
3812301270A2EAE070A413E212C0A2EA61E4EA6264EA3C380F127B9115>97
D<123F1207A2120EA45AA4EA39C0EA3E60EA3830A2EA7038A4EAE070A3136013E0EAC0C012C1EA
6180EA6300123C0D1D7B9C13>I<EA01F0EA0708120CEA181CEA3838EA30001270A25AA5130813
10EA6020EA30C0EA1F000E127B9113>I<EA01E0EA0710120CEA1808EA381012701360EA7F80EA
E000A51308EA60101320EA30C0EA1F000D127B9113>101 D<EB03C0EB0670130CEB1C601400A2
5BA53803FF8038007000A55BA5485AA5485AA390C7FCA25A12C612E65A12781425819C0D>I<13
F3EA018FEA030FEA0607EA0E0E120C121CA2EA381CA413381230A2EA187813F0EA0F701200A213
E0A2EAC0C012E1EAC300127E101A7D9113>I<EA0FC01201A2485AA448C7FCA4EA0E78138CEA0F
0E120E121CA4485AA35B00701380A21370EB7100EAE032EA601C111D7D9C15>I<EA01801203EA
0100C7FCA7121C12261247A2128EA2120E5AA35AA21271A31272A2123C091C7C9B0D>I<130613
0E13061300A713F0EA01181202A2EA0438A21200A21370A413E0A4EA01C0A4EA0380A2EAC30012
E712CE12780F24819B0D>I<EA0FC01201A2485AA448C7FCA4EA0E0F1311EB23801343381C8300
1380001DC7FC121EEA3F80EA39C0EA38E0A2EA70E2A313E4EAE064EA6038111D7D9C13>I<EA1F
801203A2EA0700A4120EA45AA45AA45AA412E4A412681238091D7C9C0B>I<393C1E0780392663
18C0394683A0E0384703C0008E1380A2120EA2391C0701C0A3EC0380D8380E1388A2EC07081510
39701C032039300C01C01D127C9122>I<EA3C3CEA2646EA4687EA4707128EA2120EA2EA1C0EA3
5B00381340A21338148038701900EA300E12127C9117>I<EA01E0EA0718EA0C0C12181238EA30
0E1270A2EAE01CA31318133813301360EA60C0EA3180EA1E000F127B9115>I<EA07873804D980
3808E0C0A23811C0E0A21201A2380381C0A31480EA070314005B1306EA0E8C137090C7FCA25AA4
123CB47E131A7F9115>I<EA3C3CEA26C2EA4687EA4707EA8E061300120EA25AA45AA45A123010
127C9112>114 D<EA01F0EA0608120C131CEA1818EA1C00121F13C0EA0FF01207EA00781338EA
603012E012C0EA8060EA60C0EA1F000E127D9111>I<13C01201A3EA0380A4EAFFE0EA0700A312
0EA45AA4EA3840A31380EA1900120E0B1A7D990E>I<EA1E03EA27071247A2EA870EA2120EA248
5AA438383880A21218EB3900EA1C59EA078E11127C9116>I E /Fe 27 120
df<127812FCA4127806067D850D>46 D<EA0FF0EA303CEA601EEAF01F12F8A21270EA003E133C
137013E0EA01C01380A2EA0300A5C7FCA4EA0780EA0FC0A4EA0780101D7D9C17>63
D<B6FCA2380FC01F1407801580A21401EBC181A2EC8000A213C313FFA213C313C1A401C0C7FCA6
B5FCA2191C7E9B1E>70 D<39FFFC07FFA2390FC000E0EC01C0EC0380EC06005C14385C5CEBC1C0
13C3EBC7E013CFEBFBF0EBF3F813E1EBC0FC80147E80EC1F8015C0140FEC07E015F039FFFC3FFF
A2201C7E9B25>75 D<B5FCA2EA0FC0AF1403A31407A21406140E141E147EB512FEA2181C7E9B1D
>I<EB3FE03801F07C3803C01E390F800F80391F0007C0001E1303003E14E0007E14F0007C1301
A200FC14F8A8007C14F0007E1303A2003E14E0003F13076C14C0390F800F803903C01E003801F0
7C38003FE01D1C7D9B24>79 D<B512F814FE390FC03F80140FEC07C015E0A515C0A2EC0F80EC3F
00EBFFFC01C0C7FCABEAFFFCA21B1C7E9B21>I<3807F820381FFEE0EA3C07EA7801EA700012F0
1460A26C130012FEEAFFE0EA7FFE6C7E1480000F13C06C13E0EA007FEB03F01301130012C0A214
E07E38F001C0EAFC0338EFFF00EA83FC141C7D9B1B>83 D<EA0FF8EA1C1E383E0F80130714C012
1C1200137FEA07E7EA1F07123C127C12F8A3EA780B383E13F8EA0FE115127F9117>97
D<B4FCA2121FA9EB3F80EBE1E0EB8070EB0078143CA2143EA6143CA21478EB8070381EC1E0381C
3F00171D7F9C1B>I<EA03FCEA0E0EEA1C1F123C1278130E00F8C7FCA61278EB0180123C381C03
00EA0E0EEA03F811127E9115>I<EB0FF0A21301A9EA01F9EA0F07EA1C03EA3C011278A212F8A6
1278A2123CEA1C03380F0FFEEA03F9171D7E9C1B>I<EA01FCEA0F07381C0380383C01C0127814
E012F8A2B5FC00F8C7FCA31278007C1360123C6C13C0380F03803801FC0013127F9116>I<3803
F8F0380E0F38121E381C0730003C1380A4001C1300EA1E0FEA0E0EEA1BF80010C7FC1218A2EA1F
FF14C06C13E04813F0387801F838F00078A300701370007813F0381E03C03807FF00151B7F9118
>103 D<121E123FA4121EC7FCA6B4FCA2121FAEEAFFE0A20B1E7F9D0E>105
D<137813FCA413781300A6EA03FCA2EA007CB2127012F8137813F0EA70E0EA1F800E26839D0F>
I<B4FCA2121FA9EB0FF8A2EB0380EB0700130C5B137013F87F13BC133E7F7F1480EB07C0EB03E0
38FFC7FCA2161D7F9C19>I<B4FCA2121FB3A7EAFFE0A20B1D7F9C0E>I<39FF0FC07E903831E18F
3A1F40F20780D980FC13C0A2EB00F8AB3AFFE7FF3FF8A225127F9128>I<38FF0FC0EB31E0381F
40F0EB80F8A21300AB38FFE7FFA218127F911B>I<EA01FC380F0780381C01C0003C13E0387800
F0A200F813F8A6007813F0A2383C01E0381E03C0380F07803801FC0015127F9118>I<EAFE3E13
47381E8F80A3381F070090C7FCAAEAFFF0A211127F9114>114 D<EA1FD8EA3078EA601812E0A2
EAF000EAFF80EA7FE013F0EA1FF8EA07FCEA007CEAC01CA212E01318EAF830EACFC00E127E9113
>I<1203A45AA25AA2EA3FFC12FFEA1F00A9130CA4EA0F08EA0798EA03F00E1A7F9913>I<38FF07
F8A2EA1F00AC1301120F380786FFEA01F818127F911B>I<38FFC1FCA2381F0060EB80E0000F13
C013C03807C180A23803E300A2EA01F6A213FE6C5AA21378A2133016127F9119>I<39FF8FF8FE
A2391F03E030A201831370000FEBF0601386D807C613C0EBCEF8EBEC790003EB7D80EBF83D0001
EB3F00A2497E0000131EEBE00EA21F127F9122>I E /Ff 8 117 df<12E0A303037C820C>46
D<EA0FC0EA3FF0EA7FF8EA7038EA401C1200A213FC120F123FEA781C12E0A3EAF07CEA7FFC13DC
EA3F1C0E127E9114>97 D<13FC12011203EA0700120EA7EAFFE0A2EA0E00B00E1D809C0D>102
D<12F0A41200A71270B2041D7E9C0A>105 D<EAE3E0EAEFF0EAFFF8EAF83CEAF01C12E0AD0E12
7D9115>110 D<EAE3E0EAEFF0EAFFF8EAF87CEAF01CEAE01E130EA6131CEAF03CEAF87CEAFFF8
EAEFF0EAE3C0EAE000A80F1A7D9115>112 D<EAE38012E712EFEAFC005A5AA25AAB09127D910E>
114 D<121CA6EAFFE0A2EA1C00AC1320EA1FF0120FEA07C00C187F970F>116
D E /Fg 72 123 df<137E3801C180EA0301380703C0120EEB018090C7FCA5B512C0EA0E01B038
7F87F8151D809C17>12 D<90383F07E03901C09C18380380F0D80701133C000E13E00100131892
C7FCA5B612FC390E00E01CB03A7FC7FCFF80211D809C23>14 D<12E0A212F012701238120C1204
06077B9C15>18 D<121CA2123C1238127012C012800607779C15>I<EA6060EAF0F0EAF8F8EA68
68EA0808A3EA1010A2EA2020EA4040EA80800D0C7F9C15>34 D<126012F012F812681208A31210
A2122012401280050C7C9C0C>39 D<13401380EA0100120212065AA25AA25AA212701260A312E0
AC1260A312701230A27EA27EA27E12027EEA008013400A2A7D9E10>I<7E12407E7E12187EA27E
A27EA213801201A313C0AC1380A312031300A21206A25AA25A12105A5A5A0A2A7E9E10>I<1306
ADB612E0A2D80006C7FCAD1B1C7E9720>43 D<126012F0A212701210A41220A212401280040C7C
830C>I<EAFFE0A20B0280890E>I<126012F0A2126004047C830C>I<130113031306A3130CA313
18A31330A31360A213C0A3EA0180A3EA0300A31206A25AA35AA35AA35AA35AA210297E9E15>I<
EA03C0EA0C30EA1818EA300CA2EA700EEA6006A2EAE007ADEA6006A2EA700EEA300CA2EA1818EA
0C30EA07E0101D7E9B15>I<12035A123F12C71207B3A4EA0F80EAFFF80D1C7C9B15>I<EA07C0EA
1830EA201CEA400C130EEAF00F12F81307A21270EA000F130EA2131CA213381370136013C0EA01
80EA0300EA0601120C1218EA1002EA3FFE127F12FF101C7E9B15>I<EA07E0EA1830EA201CA2EA
781E130E131E1238EA001CA2131813301360EA07E0EA0030131CA2130E130FA2127012F8A3EAF0
0EEA401C1220EA1830EA07E0101D7E9B15>I<130CA2131C133CA2135C13DC139CEA011C120312
021204120C1208121012301220124012C0B512C038001C00A73801FFC0121C7F9B15>I<EA300C
EA3FF813F013C0EA2000A6EA23E0EA2430EA2818EA301CEA200E1200130FA3126012F0A3EA800E
EA401E131CEA2038EA1870EA07C0101D7E9B15>I<13F0EA030CEA0604EA0C0EEA181E1230130C
EA7000A21260EAE3E0EAE430EAE818EAF00C130EEAE0061307A51260A2EA7006EA300E130CEA18
18EA0C30EA03E0101D7E9B15>I<1240387FFF801400A2EA4002485AA25B485AA25B1360134013
C0A212015BA21203A41207A66CC7FC111D7E9B15>I<EA03E0EA0C30EA1008EA200C13061260A3
1270EA780CEA3E08EA3FB0EA1FE0EA07F013F8EA18FCEA307EEA601E130FEAC0071303A4EA6002
1304EA300CEA1C10EA07E0101D7E9B15>I<EA03C0EA0C30EA1818EA300C1270EA600EEAE006A2
1307A51260EA700F1230EA1817EA0C27EA07C7EA0006A2130EEA300C12781318EA7010EA2030EA
30C0EA0F80101D7E9B15>I<126012F0A212601200AA126012F0A2126004127C910C>I<126012F0
A212601200AA126012F0A212701210A41220A212401280041A7C910C>I<1306A3130FA3EB1780
A3EB23C0A3EB41E0A3EB80F0A200017FEB0078EBFFF83803007C0002133CA20006133E0004131E
A2000C131F121E39FF80FFF01C1D7F9C1F>65 D<B512C0380F00F01438143C141C141EA4141C14
3C1478EB01F0EBFFE0EB0078143C141E140E140FA5141EA2143C1478B512E0181C7E9B1D>I<90
381F8080EBE0613801801938070007000E13035A14015A00781300A2127000F01400A800701480
1278A212386CEB0100A26C13026C5B380180083800E030EB1FC0191E7E9C1E>I<B512C0380F00
F0143C140E80A2EC038015C01401A215E0A815C0A21403158014071500140E5C1470B512C01B1C
7E9B20>I<B512FC380F003C140C1404A214061402A213021400A3130613FE13061302A3140113
001402A31406A2140C143CB512FC181C7E9B1C>I<B512F8380F007814181408A2140C1404A213
021400A3130613FE13061302A490C7FCA77FEAFFF8161C7E9B1B>I<90381F8080EBE061380180
1938070007000E13035A14015A00781300A2127000F01400A6ECFFF0EC0F80007013071278A212
387EA27E6C130B380180113800E06090381F80001C1E7E9C21>I<39FFF3FFC0390F003C00ACEB
FFFCEB003CAD39FFF3FFC01A1C7E9B1F>I<EAFFF0EA0F00B3A8EAFFF00C1C7F9B0F>I<39FFF03F
E0390F000F00140C14085C5C5C5C49C7FC13025B130E131F132FEB27801347EB83C0EB01E0A26D
7E80147880A280141F158039FFF07FF01C1C7E9B20>75 D<EAFFF8EA0F8090C7FCB01408A31418
A2141014301470EB01F0B5FC151C7E9B1A>I<B46CEBFF80000FECF800A2390BC00178A33809E0
02A23808F004A3EB7808A3EB3C10A3EB1E20A3EB0F40A2EB0780A3EB0300121C3AFF8307FF8021
1C7E9B26>I<EB3F80EBE0E03803803848487E000E7F487F003C148000381303007814C0A20070
130100F014E0A8007014C000781303A200381480003C1307001C14006C130E6C5B6C6C5A3800E0
E0EB3F801B1E7E9C20>79 D<B51280380F00E01478143C141C141EA5141C143C147814E0EBFF80
90C7FCACEAFFF0171C7E9B1C>I<B5FC380F01E0EB007880141C141EA4141C143C5CEB01E001FF
C7FCEB03C0EB00E0801478A61510A21438EC3C2038FFF01CC7EA07C01C1D7E9B1F>82
D<3807E080EA1C19EA3005EA7003EA600112E01300A36C13007E127CEA7FC0EA3FF8EA1FFEEA07
FFC61380130FEB07C0130313011280A300C01380A238E00300EAD002EACC0CEA83F8121E7E9C17
>I<007FB512C038700F010060130000401440A200C014201280A300001400B1497E3803FFFC1B
1C7F9B1E>I<3AFFE0FFE0FF3A1F001F003C001E011E13186C011F1310A3D807801420EC2780A2
D803C01440EC43C0A213E00001903881E080A33A00F100F100A3017913FA017A137AA2013E137C
013C133CA301181318A3281D7F9B2B>87 D<12FEA212C0B3B312FEA207297C9E0C>91
D<EA0808EA1010EA2020EA4040A2EA8080A3EAB0B0EAF8F8EA7878EA30300D0C7A9C15>I<12FE
A21206B3B312FEA20729809E0C>I<EA1FC0EA3070EA78387F12301200A2EA01FCEA0F1C123812
70126000E01340A3EA603C38304E80381F870012127E9115>97 D<12FC121CAA137CEA1D86EA1E
03381C018014C0130014E0A614C013011480381E0300EA1906EA10F8131D7F9C17>I<EA07E0EA
0C30EA18781230EA7030EA600012E0A61260EA70041230EA1808EA0C30EA07C00E127E9112>I<
133F1307AAEA03E7EA0C17EA180F487E1270126012E0A61260127012306C5AEA0C373807C7E013
1D7E9C17>I<EA03E0EA0C30EA1818EA300CEA700EEA600612E0EAFFFEEAE000A41260EA700212
30EA1804EA0C18EA03E00F127F9112>I<13F8EA018CEA071E1206EA0E0C1300A6EAFFE0EA0E00
B0EA7FE00F1D809C0D>I<EB03803803C4C0EA0C38001C138038181800EA381CA4EA1818EA1C38
EA0C30EA13C00010C7FC12307EEA1FF813FF1480EA3003386001C0EAC000A33860018038300300
EA1C0EEA07F8121C7F9215>I<12FC121CAA137C1387EA1D03001E1380121CAD38FF9FF0141D7F
9C17>I<1218123CA21218C7FCA712FC121CB0EAFF80091D7F9C0C>I<13C0EA01E0A2EA00C01300
A7EA0FE01200B3A21260EAF0C012F1EA6180EA3E000B25839C0D>I<12FC121CAAEB3FC0EB0F00
130C13085B5B5B13E0121DEA1E70EA1C781338133C131C7F130F148038FF9FE0131D7F9C16>I<
12FC121CB3A9EAFF80091D7F9C0C>I<39FC7E07E0391C838838391D019018001EEBE01C001C13
C0AD3AFF8FF8FF8021127F9124>I<EAFC7CEA1C87EA1D03001E1380121CAD38FF9FF014127F91
17>I<EA03F0EA0E1CEA1806487E00701380EA600100E013C0A600601380EA700300301300EA18
06EA0E1CEA03F012127F9115>I<EAFC7CEA1D86EA1E03381C018014C0130014E0A6EB01C0A214
80381E0300EA1D06EA1CF890C7FCA7B47E131A7F9117>I<EA03C1EA0C33EA180BEA300FEA7007
A212E0A612601270EA300F1218EA0C37EA07C7EA0007A7EB3FE0131A7E9116>I<EAFCE0EA1D30
EA1E78A2EA1C301300ACEAFFC00D127F9110>I<EA1F90EA3070EA4030EAC010A212E0EAF800EA
7F80EA3FE0EA0FF0EA00F8EA8038131812C0A2EAE010EAD060EA8FC00D127F9110>I<1204A412
0CA2121C123CEAFFE0EA1C00A91310A5120CEA0E20EA03C00C1A7F9910>I<38FC1F80EA1C03AD
1307120CEA0E1B3803E3F014127F9117>I<38FF07E0383C0380381C0100A2EA0E02A26C5AA3EA
0388A213D8EA01D0A2EA00E0A3134013127F9116>I<39FF3FCFE0393C0F0380381C0701150013
0B000E1382A21311000713C4A213203803A0E8A2EBC06800011370A2EB8030000013201B127F91
1E>I<387F8FF0380F03801400EA0702EA0384EA01C813D8EA00F01370137813F8139CEA010E12
02EA060738040380381E07C038FF0FF81512809116>I<38FF07E0383C0380381C0100A2EA0E02
A26C5AA3EA0388A213D8EA01D0A2EA00E0A31340A25BA212F000F1C7FC12F31266123C131A7F91
16>I<EA7FFCEA70381260EA407013F013E0EA41C012031380EA0700EA0F04120E121CEA3C0CEA
380812701338EAFFF80E127F9112>I E /Fh 82 125 df<EBFC7C380183C63807078E00061304
000E1300A6B512F0380E0700AE387F0FF0171A809916>11 D<13FCEA0182EA0703EA0607EA0E02
90C7FCA5B5FCEA0E07AE387F0FE0131A809915>I<90387E1F803901C17040390703C0600006EB
80E0000E14401500A5B612E0380E0380AE397F8FE3FC1E1A809920>14 D<12E0A212F012381218
120C120406077C9913>18 D<121CA2123C1270126012C012800607789913>I<EA60C0EAF1E0EA
F9F0EA68D0EA0810A3EA1020A2EA2040EAC1800C0B7F9913>34 D<126012F012F812681208A312
10A2122012C0050B7D990B>39 D<1380EA010012025A120C120812185AA35AA412E0AA1260A47E
A37E1208120C12047E7EEA008009267D9B0F>I<7E12407E7E12181208120C7EA37EA41380AA13
00A41206A35A1208121812105A5A5A09267E9B0F>I<130CACB61280A2D8000CC7FCAC191A7E95
1E>43 D<126012F0A212701210A31220A212401280040B7D830B>I<EAFFC0A20A0280880D>I<12
6012F0A2126004047D830B>I<1304130C1318A31330A31360A313C0A3EA0180A3EA0300A31206
A35AA35AA35AA35AA35AA20E257E9B13>I<EA0780EA1860EA3030A2EA6018A2EAE01CACEA6018
A2EA7038EA3030EA1860EA07800E187E9713>I<12035AB4FC1207B3A2EAFFF00C187D9713>I<EA
0F80EA1060EA2030EA4038EA803CEAC01C12E01240EA003C1338A21370136013C0EA0180130012
02EA040412081210EA3008EA3FF8127F12FF0E187E9713>I<EA0F80EA10E0EA2070EA6078EA70
381220EA00781370A2136013C0EA0F80EA00E013701338133CA212E0A212C0EA40381370EA30E0
EA0F800E187E9713>I<1330A2137013F0A2EA0170120312021204120C12081210123012201240
12C0B5FCEA0070A6EA07FF10187F9713>I<EA3018EA3FF013E013C0EA2000A5EA27C0EA3860EA
2030EA00381318131CA2124012E0A2EA8018EA40381330EA30E0EA0F800E187E9713>I<EA01E0
EA0610EA0C18EA1838123013001270126012E0EAE7C0EAE860EAF030131812E0131CA31260A2EA
701812301330EA1860EA07C00E187E9713>I<1240EA7FFE13FCA2EA4008EA8010A21320EA0040
A213801201A213005AA45AA612020F197E9813>I<EA0780EA1860EA3030EA20181260A3EA7010
EA3C30EA3E60EA0F80EA07C0EA19F0EA30F8EA6038EA401CEAC00CA4EA6008EA2010EA1860EA0F
C00E187E9713>I<EA0780EA1860EA30301270EA601812E0A2131CA31260133C1230EA185CEA0F
9CEA001C1318A21338EA70301360EA6040EA2180EA1F000E187E9713>I<126012F0A212601200
A8126012F0A2126004107D8F0B>I<137F380180C03806003000081308487F38203E0213E13841
C081384380710083EB7080EA8700A6EA838012433941C0F1003820E131EB3E1E6CC8FC7E0006EB
03803901803E0038007FE0191A7E991E>64 D<130CA3131EA2133F1327A2EB4380A3EB81C0A348
C67EA213FF38020070A20006137800041338A2487FA2001C131EB4EBFFC01A1A7F991D>I<B5FC
380E01C0EB00E014701478A514F014E0EB03C0380FFF80380E01E0EB00701478143CA514381478
14F0EB01E0B51280161A7E991B>I<EB3F023801C0C63803002E000E131E48130E14065A007813
021270A200F01300A600701302A21278003813047E14087E000313303801C0C038003F00171A7E
991C>I<B5FC380E01C0EB00E014301438141CA2140EA2140FA8140EA2141E141C1438A21470EB
01C0B51200181A7E991D>I<B512F0380E00701430141014181408A3EB0400A3130CEA0FFCEA0E
0C1304A3EB0004A21408A3141814381470B512F0161A7E991A>I<B512E0EA0E00146014201430
1410A3EB0400A3130CEA0FFCEA0E0C1304A390C7FCA8EAFFF0141A7E9919>I<EB3F023801C0C6
3803002E000E131E48130E14065A007813021270A200F090C7FCA5903801FFC03970000E00A212
7812387EA27E000313163801C06638003F821A1A7E991E>I<38FFE7FF380E0070AB380FFFF038
0E0070AC38FFE7FF181A7E991D>I<EAFFE0EA0E00B3A6EAFFE00B1A7F990E>I<EA1FFCEA00E0B3
124012E0A2EA41C0EA6180EA1E000E1A7D9914>I<39FFE07F80390E001E00141814105C5C5C49
C7FC13025B5B131C132E134E1387380F0380120E6D7E6D7EA21470A28080143E39FFE0FF80191A
7E991E>I<EAFFF0000EC7FCB01420A314601440A214C01303B5FC131A7E9918>I<B4EB03FC000F
14C0A2380B8005A33809C009A33808E011A3EB7021A2EB3841A3EB1C81A3EB0F01A31306121C39
FF861FFC1E1A7E9923>I<38FE01FF380F00381410EA0B80A2EA09C0EA08E0A21370A21338131C
A2130EA21307EB0390A2EB01D0A2EB00F01470A21430121C38FF8010181A7E991D>I<137F3801
C1C038070070000E7F487F003C131E0038130E0078130F00707F00F01480A80078EB0F00A20038
130E003C131E001C131C6C5B6C5B3801C1C0D8007FC7FC191A7E991E>I<B5FC380E03C0EB00E0
1470A21478A41470A214E0EB03C0380FFF00000EC7FCABEAFFE0151A7E991A>I<EAFFFC380E07
80EB01C06D7E80A55C495AEB0780D80FFCC7FCEA0E067F6D7E80A380A31580EB00F0EC710038FF
E03E191A7E991C>82 D<EA0FC2EA1836EA200EEA600612C01302A3EAE0001270127EEA3FE0EA1F
F8EA07FCEA003E130E130713031280A3EAC0021306EAE004EAD818EA87E0101A7E9915>I<007F
B5FC38701C0700401301A200C0148000801300A300001400B13803FFE0191A7F991C>I<38FFE1
FF380E00381410B20006132012076C1340EA01803800C180EB3E00181A7E991D>I<39FF801FC0
391E000F00001C13066C1304A26C5BA36C6C5AA2EBC03000011320A26C6C5AA3EB7080A20139C7
FCA3131EA3130CA21A1A7F991D>I<387FC0FF380F003C6C1330EB8020000313603801C0406D5A
EA00E10171C7FC137A133C131C131EA21317EB27801343EB41C0EB81E0EA010014700002137848
1338000C7F001E133E39FF80FFC01A1A7F991D>88 D<39FF801FE0391E000700000E1306000F13
046C5B13806C6C5A00011330EBE0206C6C5A1370EB78801338011DC7FC131F130EAAEBFFE01B1A
7F991D>I<387FFFC0387803801270386007001240130E5BA2C65AA25B5BA2485AA2485A380700
40A2120EA24813C04813801301EA70031307B5FC121A7E9917>I<12FEA212C0B3AF12FEA20725
7D9B0B>I<EA1830EA2040EA4080A2EA8100A3EAB160EAF9F01278EA30600C0B7B9913>I<12FEA2
1206B3AF12FEA20725809B0B>I<1218123C126612C3128108057B9813>I<EA3F80EA70C013E0EA
20701200A2EA07F0EA1C701230127012E01371A213F1EA71FBEA1E3C10107E8F13>97
D<12FC121CA913F8EA1F0EEA1E07381C0380130114C0A6EB03801400EA1E07EA1B0CEA10F0121A
7F9915>I<EA07F8EA0C1C1238EA3008EA70005AA61270EA3004EA3808EA0C18EA07E00E107F8F
11>I<137E130EA9EA03CEEA0C3EEA380E1230127012E0A612601270EA381EEA1C2E3807CFC012
1A7F9915>I<EA07C0EA1C30EA30181270EA600C12E0EAFFFCEAE000A41260EA3004EA3808EA0C
18EA07E00E107F8F11>I<EA01F0EA0318EA0738EA0E101300A6EAFFC0EA0E00AEEA7FE00D1A80
990C>I<EA0FCEEA1873EA3030EA7038A4EA3030EA1860EA2FC0EA200012601270EA3FF013FCEA
1FFEEA600FEAC003A4EA6006EA381CEA07E010187F8F13>I<12FC121CA913F8EA1D0CEA1E0EA2
121CAB38FF9FC0121A7F9915>I<1218123CA21218C7FCA612FC121CAEEAFF80091A80990A>I<EA
0180EA03C0A2EA0180C7FCA6EA0FC01201B21241EAE180EAE300127E0A2182990C>I<12FC121C
A9EB3F80EB1E00131813105B5BEA1DC0EA1FE0121C1370137813387F131E131F38FF3FC0121A7F
9914>I<12FC121CB3A6EAFF80091A80990A>I<38FC7C1F391D8E6380391E0781C0A2001C1301AB
39FF9FE7F81D107F8F20>I<EAFCF8EA1D0CEA1E0EA2121CAB38FF9FC012107F8F15>I<EA07E0EA
1C38EA300CEA700EEA6006EAE007A6EA6006EA700EEA381CEA1C38EA07E010107F8F13>I<EAFC
F8EA1F0EEA1E07381C0380A2EB01C0A6EB03801400EA1E07EA1F0CEA1CF090C7FCA6B47E12177F
8F15>I<EA03C2EA0C26EA381EEA300E127012E0A61270A2EA381EEA1C2EEA07CEEA000EA6EB7F
C012177F8F14>I<EAFCE0EA1D70121E1320EA1C00ABEAFFC00C107F8F0F>I<EA1F20EA60E0EA40
2012C0A2EAF000127FEA3FC0EA1FE0EA00F0EA8070133012C01320EAF040EA8F800C107F8F0F>
I<1204A3120CA2121C123CEAFFC0EA1C00A81320A5EA0E40EA03800B177F960F>I<EAFC7EEA1C
0EAC131EEA0C2E3807CFC012107F8F15>I<38FF1F80383C0600EA1C04A2EA1E0CEA0E08A26C5A
A21390EA03A0A2EA01C0A36C5A11107F8F14>I<39FF3F9F80393C0E070000381306381C160413
17001E130C380E23081488000F13983807419014D03803C1E01380A200015BEB004019107F8F1C
>I<38FF3F80383C1C00EA1C18EA0E106C5A13606C5A12017F1203EA0270487E1208EA181CEA38
1E38FC3FC012107F8F14>I<38FF1F80383C0600EA1C04A2EA1E0CEA0E08A26C5AA21390EA03A0
A2EA01C0A36C5AA248C7FCA212E112E212E4127811177F8F14>I<EA7FF8EA6070124013E0EA41
C0A2EA0380EA0700A2EA0E08121CA2EA381012701330EAFFF00D107F8F11>I<B512C012018089
13>I<B712F82501808926>I E /Fi 28 122 df<13801203120F12F31203B3A9EA07C0EAFFFE0F
217CA018>49 D<EA03F0EA0C1CEA100700201380384003C0A2008013E012F0EAF801A3EA200312
0014C0A2EB07801400130E5B13185B5B5B485A90C7FC000213205A5A00181360481340383FFFC0
5AB5FC13217EA018>I<137EEA01C138030080380601C0EA0E03121C381801800038C7FCA21278
1270A2EAF0F8EAF30CEAF4067F00F81380EB01C012F014E0A51270A3003813C0A238180380001C
1300EA0C06EA070CEA01F013227EA018>54 D<EA01F0EA060C487EEA1807383803801270A238F0
01C0A314E0A5127013031238EA1805120CEA0619EA03E1380001C0A3EB0380A200301300EA7807
1306EA700CEA20186C5AEA0FC013227EA018>57 D<B512F8380F800E0007EB0780EC03C015E014
0115F0A515E01403EC07C0EC0F80EC3E00EBFFFE9038800780EC03C0EC01E015F0140015F8A6EC
01F0A2EC03E0EC07C0000FEB0F00B512FC1D227EA123>66 D<B512F0380F801E00071307EC03C0
1401EC00E015F01578A2157C153CA3153EA9153CA2157C1578A215F015E01401EC03C0EC070000
0F131EB512F81F227EA125>68 D<3803FFF038001F007FB3A6127012F8A2130EEAF01EEA401C6C
5AEA1870EA07C014237EA119>74 D<B512F0380F803C0007130FEC078015C0140315E0A615C014
071580EC0F00143CEBFFF00180C7FCAE487EEAFFFC1B227EA121>80 D<39FFFC07FF390FC000F8
6C4813701520B3A5000314407FA2000114806C7E9038600100EB3006EB1C08EB03F020237EA125
>85 D<EA0FE0EA1838EA3C0C130EEA18071200A313FFEA07C7EA1E07123C1278127000F01308A3
130FEA7817383C2390380FC1E015157E9418>97 D<120E12FE121E120EAB131FEB61C0EB806038
0F0030000E1338143C141C141EA7141C143C1438000F1370380C8060EB41C038083F0017237FA2
1B>I<EA01FEEA0703380C0780121C383803000078C7FC127012F0A712700078134012386C1380
380C0100EA0706EA01F812157E9416>I<14E0130F13011300ABEA01F8EA0704EA0C02EA1C01EA
38001278127012F0A7127012781238EA1801EA0C0238070CF03801F0FE17237EA21B>I<EA01FC
EA0707380C0380381C01C01238007813E0EA700012F0B5FC00F0C7FCA512700078132012386C13
406C138038070300EA00FC13157F9416>I<133C13C6EA018F1203130FEA0700A9EAFFF8EA0700
B21380EA7FF8102380A20F>I<14703801F19838071E18EA0E0E381C0700A2003C1380A4001C13
00A2EA0E0EEA0F1CEA19F00010C7FCA21218A2EA1FFE380FFFC014E0383800F000601330004013
1812C0A300601330A2003813E0380E03803803FE0015217F9518>I<120E12FE121E120EABEB1F
80EB60C0EB80E0380F0070A2120EAF38FFE7FF18237FA21B>I<121C123EA3121CC7FCA8120E12
FE121E120EB1EAFFC00A227FA10E>I<EA01C0EA03E0A3EA01C0C7FCA8EA01E0120F12011200B3
A51260EAF0C0EAF1801261EA3E000B2C82A10F>I<120E12FE121E120EB3ADEAFFE00B237FA20E>
108 D<380E1F8038FE60C0381E80E0380F0070A2120EAF38FFE7FF18157F941B>110
D<EA01FCEA0707380C0180381800C0003813E0481370A200F01378A700701370007813F0003813
E0381C01C0380E038038070700EA01FC15157F9418>I<EA0E1F38FE61C0380E8060380F007000
0E1338143C141C141EA7143CA21438000F1370380E80E0EB41C0EB3F0090C7FCA9EAFFE0171F7F
941B>I<EA0E3CEAFE46EA1E8FEA0F0F13061300120EAD120FEAFFF010157F9413>114
D<EA0F88EA3078EA601812C01308A212E0EAF000EA7F80EA3FE0EA0FF0EA01F8EA003CEA801C13
0CA212C01308EAE018EAD030EA8FC00E157E9413>I<1202A41206A3120E121E123EEAFFF8EA0E
00AB1304A6EA07081203EA01F00E1F7F9E13>I<000E137038FE07F0EA1E00000E1370AD14F0A2
38060170380382783800FC7F18157F941B>I<38FFC1FE381E0078000E13301420A26C1340A238
038080A33801C100A2EA00E2A31374A21338A31310A25BA35B12F05B12F10043C7FC123C171F7F
941A>121 D E /Fj 18 122 df<12E07E7E127C123C7E7EEA07801203EA00C01360133013100C
0D79B121>18 D<137013F01201EA03E013C0EA0780EA0F00121E121C12305A5A5A0C0D72B121>
I<127812FCA212FEA2127A1202A51204A31208A212101220A2124007147AB112>39
D<EC3FC0903801C038903807000E011CEB0380496D7E01F0EB00F04848147848488049141C0007
151E48C87EA2001EED0780A248ED03C0A2007C16E0A200781501A200F816F0AB007CED03E0A400
3C16C0003E1507001E1680A26CED0F00A26C6C141E6C6C5CA26C6C5C6C6C5C0138EB01C06D495A
0107010EC7FC903801E0789038003FC02C337CB134>79 D<B6FC15F03907E001FC0003EB003EED
0F806F7E6F7E150182150082A65E15015E4B5A4B5A4BC7FC153CEC01F090B5C8FC9038E001F0EC
007C151E6F7E1507826F7EAB1708A21501A2486C903800F010B56C1370EE3860C9EA0F802D327C
B031>82 D<90387F80203801FFE03907C07860380F001C001EEB06E04813030038130100781300
1270156012F0A21520A37E1500127C127E7E13C0EA1FF86CB47E6C13F86C7FC613FF010F138001
0013C0EC1FE01407EC03F01401140015F8A26C1478A57E15706C14F015E07E6CEB01C000ECEB03
8000C7EB070038C1F01E38807FFCEB0FF01D337CB125>I<13FE380303C0380C00E00010137080
003C133C003E131C141EA21208C7FCA3EB0FFEEBFC1EEA03E0EA0F80EA1F00123E123C127C4814
04A3143EA21278007C135E6CEB8F08390F0307F03903FC03E01E1F7D9E21>97
D<EA078012FFA2120F1207AFEB81FCEB860790388801C090389000E001A0137001C01378491338
153CA2151EA2151FA9151E153E153CA215786D1370012013F0EC01E039061803809038060F0038
0401F820327EB125>I<EC01E0143FA214031401AFEB1F81EBF0613801C01938078005380F0003
120E001E13015AA2127C127812F8A91278A27EA2121C001E1303000E13056C130939038011F039
00E061FFEB3F8120327DB125>100 D<EB3F80EBE0E0380380383807003C000E7F121E001C7F12
3C127C00781480140712F8A2B6FC00F8C8FCA61278127C123C15807E000EEB0100000F1302EA07
803801C00C3800F030EB1FC0191F7E9E1D>I<120FEA1F80A4EA0F00C7FCABEA078012FFA2120F
1207B3A6EA0FC0EAFFF8A20D307EAF12>105 D<131E133FA4131E1300AB131FEA01FFA2EA001F
130FB3B0EA200E12F8131E131CEA7038EA6070EA1FC0103E83AF14>I<260780FEEB1FC03BFF83
078060F0903A8C03C180783B0F9001E2003CD807A013E4DA00F47F01C013F8A2495BB3A2486C48
6C133F3CFFFC1FFF83FFF0A2341F7E9E38>109 D<380781FC38FF860790388803C0390F9001E0
3907A000F001C013785B153CA2153E151E151FA9153EA2153C157C15786D13F013A0EC01E09038
9803809038860F00EB81F80180C7FCAB487EEAFFFCA2202D7E9E25>112
D<380783E038FF8C18EB907C120FEA07A0EBC0381400A35BB3487EEAFFFEA2161F7E9E19>114
D<3801FC10380E0330381800F048137048133012E01410A37E6C1300127EEA3FF06CB4FC6C13C0
000313E038003FF0EB01F813006C133CA2141C7EA27E14186C1338143000CC136038C301C03880
FE00161F7E9E1A>I<1340A513C0A31201A212031207120F381FFFE0B5FC3803C000B01410A800
01132013E000001340EB78C0EB1F00142C7FAB19>I<3AFFF801FF80A23A0FC0007C006C481338
6D133000031420A26C6C5BA27F00005CA2D97801C7FCA2137CEB3C02A26D5AA2131F6D5AA2EB07
90A214D0EB03E0A26D5AA36D5AA249C8FCA31302A25B1270EAF80C13085BEA7030EA3040EA1F80
212D7F9E23>121 D E end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 300
TeXDict begin @a4
%%EndSetup
%%Page: 1 1
bop 581 369 a Fj(Syst)n(\022)-31 b(emes)20 b(d'Ob)t(jets)h(R)n(\023)-31
b(epartis)577 490 y Fi(Pro)s(ject)16 b(Description)g(and)h(Bibliograph)o(y)
723 588 y(Up)q(date)g(of)f(16)h(June)f(1992)p 321 721 1314
2 v 320 766 2 46 v 346 753 a Fh(\\Syst)o(\022)-18 b(emes)14
b(d'Ob)r(jets)f(R)o(\023)-18 b(epartis")15 b(\(Distributed)g(Ob)r(ject-Supp)q
(ort)f(Systems\))p 1633 766 V 320 812 V 346 798 a(INRIA)e(\(Institut)i
(National)h(de)e(Rec)o(herc)o(he)h(en)f(Informatique)i(et)e(Automatique\))p
1633 812 V 320 858 V 346 844 a(B.P)m(.)f(105)p 1633 858 V 320
903 V 346 890 a(78153)i(Ro)q(cquencourt)h(C)o(\023)-18 b(edex,)13
b(F)m(rance)p 1633 903 V 320 949 V 346 935 a(tel.)k(+33)c(\(1\))g
(39-63-55-11)435 b(F)m(ax.)17 b(+33)c(\(1\))g(39-63-53-30)p
1633 949 V 321 951 1314 2 v 320 996 2 46 v 346 983 a(Principal)j(In)o(v)o
(estigator)51 b(Marc)14 b(Shapiro)156 b(marc.shapiro@inria)q(.fr)p
1633 996 V 320 1042 V 346 1028 a(Senior)14 b(Researc)o(her)116
b(Mesaac)14 b(Makpangou)52 b(mesaac.makpangou@inri)q(a.fr)p
1633 1042 V 320 1088 V 346 1074 a(Graduate)14 b(Studen)o(ts)97
b(Pierre)14 b(Collet)169 b(pierre.collet@inri)q(a.fr)p 1633
1088 V 320 1133 V 759 1120 a(Julien)15 b(Maisonneuv)o(e)54
b(julien.maisonneu)q(v)o(e@i)q(nri)q(a.fr)p 1633 1133 V 320
1179 V 759 1165 a(Da)o(vid)15 b(Plainfoss)o(\023)-18 b(e)105
b(da)o(vid.plain)q(fosse@in)q(ria)q(.fr)p 1633 1179 V 320 1225
V 759 1211 a(Mic)o(hel)15 b(Ru\016n)156 b(mic)o(hel.ru\016n@inri)q(a.fr)p
1633 1225 V 320 1270 V 759 1257 a(Herv)o(\023)-18 b(e)13 b(Soulard)145
b(herv)o(e.soulard@inri)q(a.fr)p 1633 1270 V 320 1316 V 346
1302 a(Visitor)300 b(Daniel)15 b(Edelson)132 b(daniel.edelson)q(@in)q(ria)q
(.fr)p 1633 1316 V 321 1318 1314 2 v 324 1378 a Fg(\(Man)o(y)14
b(of)f(the)i(references)i(are)e(a)o(v)n(ailable)d(b)o(y)h(anon)o(ymous)g(FTP)
h(on)g Ff(ftp.inria.fr)p Fg(;)f(see)262 1428 y(last)g(page.\))324
1477 y(Ob)r(ject-based)20 b(systems)e(are)h(of)f(ev)o(er)h(increasing)g(imp)q
(ortance,)f(but)g(are)h(not)f(w)o(ell)262 1527 y(supp)q(orted)k(b)o(y)f
(existing)g(op)q(erating)g(systems.)40 b(Our)22 b(pro)r(ject,)h(\\Syst)o
(\022)-20 b(emes)22 b(d'Ob)r(jets)262 1577 y(R)o(\023)-20 b(epartis")18
b(\(Distributed)h(Ob)r(ject-Supp)q(ort)h(Systems\))e(studies)h(e\016cien)o(t)
g(OS)g(supp)q(ort)262 1627 y([2)o(,)13 b(16])g(for)h(implem)o(en)o(ting,)d
(using,)i(migrating,)d(and)k(storing)g(ob)r(jects.)324 1677
y(Our)j(main)e(ob)r(jectiv)o(es)j(are:)25 b(k)o(ernel)18 b(design)f(and)g
(e\016cien)o(t)h(ob)r(ject-supp)q(ort)g(mec)o(h-)262 1726 y(anisms)c([18)o
(];)i(to)q(ols)f(for)h(fragmen)o(ted)f(ob)r(jects)i(and)e(distributed)i
(abstractions)f([9].)23 b(W)m(e)262 1776 y(also)9 b(ha)o(v)o(e)g(done)h(w)o
(ork)g(on)f(structuring)i(op)q(erating)f(systems,)g(esp)q(ecially)g(virtual)f
(memory)262 1826 y(supp)q(ort)14 b([1],)e(and)i(OS)g(supp)q(ort)h(for)f
(distributed)g(garbage)g(collection)f([17)o(,)h(22)o(,)f(19].)262
1932 y Fe(Previous)d(w)o(ork.)41 b Fg(The)11 b(SOS)g(system)g(supp)q(orts)h
(b)q(oth)e(fragmen)o(ted)g(and)h(lo)q(cal)e(ob)r(jects)262
1982 y([5)o(,)14 b(21)o(],)g(ob)r(ject)h(migration,)d(p)q(ersisten)o(t)k(ob)r
(jects)g([20)o(],)e(dynamic)f(linking)g([3)o(],)h(and)g(arbi-)262
2032 y(trarily)g(complex)g(user-de\014ned)j(ob)r(jects)g(\(written)f(in)f
(C++)g(or)h(F)o(OG\).)e(A)i(v)o(ery)f(simple)262 2082 y(ob)r(ject)f(mo)q(del)
f(based)i(on)f(\\prerequisites")h(and)f(\\reinitializers")g(allo)o(ws)f(a)h
(run-time)f(to)262 2131 y(main)o(tain)8 b(t)o(yp)q(e)k(safet)o(y)m(.)17
b(SOS)12 b(system)f(services)i(are)f(F)o(Os.)18 b(They)12 b(include:)17
b(a)11 b(distributed)262 2181 y(ob)r(ject)k(manager)e([5],)g(a)i(user-cen)o
(tered)j(name)13 b(service)j([7)o(,)f(12)o(],)f(a)g(storage)h(service)i([20)o
(],)262 2231 y(a)c(comm)o(unication)e(service)k([11)o(,)e(10].)324
2281 y(COOL)i(\(a)g(join)o(t)f(pro)r(ject)h(with)g(Chorus-syst)o(\022)-20
b(emes)16 b(for)e(SEPT\))i(is)e(also)h(an)f(e\016cien)o(t)262
2331 y(ob)r(ject-supp)q(ort)e(OS.)g(The)g(ob)r(ject)g(manager)e(is)h
(implemen)o(ted)e(as)j(a)f(k)o(ernel)h(serv)o(er)h(ab)q(o)o(v)o(e)262
2380 y(the)h(Chorus)g(micro-k)o(ernel)f([5)o(,)g(6].)k(COOL)d(w)o(as)g(dev)o
(elop)q(ed)g(sp)q(eci\014cally)g(for)g(the)g(SEPT)262 2430
y(\\Cidre")f(application)g(of)g(in)o(telligen)o(t)g(circulating)g(do)q(cumen)
o(ts.)262 2536 y Fe(F)l(ragmen)o(ted)e(Ob)s(jects.)40 b Fg(\\F)m(ragmen)o
(ted)11 b(Ob)r(jects")j(\(F)o(Os\))g([7)o(,)e(8,)g(14)o(])g(are)h(a)f(k)o(ey)
h(con-)262 2586 y(cept)i(for)f(structuring)h(distributed)g(systems)f(as)h(ob)
r(jects.)20 b(The)15 b(abstract)g(view)f(of)f(a)h(F)o(O)262
2636 y(is)h(a)h(single,)f(shared)i(ob)r(ject;)g(its)e(distribution)h(is)f
(hidden)h(to)g(clien)o(ts.)24 b(In)15 b(the)i(concrete)262
2686 y(view,)12 b(the)j(F)o(O)e(designer)i(con)o(trols)e(the)h(distribution)f
(of)g(data)g(and)h(function)f(and)g(of)g(the)262 2736 y(comm)o(uni)o(cation)e
(b)q(et)o(w)o(een)k(its)f(fragmen)o(ts.)324 2785 y(F)o(O)i(programming)d(is)j
(eased)h(b)o(y)g(using)f(the)g(F)o(OG)h(language)e([4)o(],)h(an)g(extension)h
(of)262 2835 y(C++,)c(and)h(b)o(y)g(BO)o(AR,)f(a)h(to)q(olb)q(o)o(x)f(of)g
(prede\014ned)j(F)o(Os.)967 2960 y(1)p eop
%%Page: 2 2
bop 324 195 a Fg(BO)o(AR)14 b([9])g(is)g(a)g(library)g(of)g(pre-de\014ned,)h
(univ)o(ersally-useful)f(distributed)h(abstrac-)262 245 y(tions.)i(BO)o(AR)12
b(pro)o(vides)h(the)g(designer)g(of)f(a)g(distributed)h(service)g(with)f
(pre-de\014ned)i(F)o(O)262 295 y(t)o(yp)q(es,)k(encapsulating)f(v)n(arious)f
(implemen)o(tatio)o(ns)f(of)h(commonly)e(used)j(abstractions,)262
345 y(necessary)e(for)f(structuring)h(distributed)f(applications.)262
452 y Fe(Soul.)39 b Fg(Our)19 b(new)f(pro)r(ject)h(Soul)f([18)o(])f(is)h(in)f
Fd(high)i(p)n(erformanc)n(e)g(supp)n(ort)f(for)g(obje)n(cts)p
Fg(.)262 502 y(This)h(pro)r(ject)h(\(whic)o(h)g(is)f(co-ordinated)g(with)g
(Chorus-syst)o(\022)-20 b(emes')20 b(COOL-2)f(pro)r(ject\))262
552 y(comprises)13 b(the)i(follo)o(wing)c(items:)324 635 y
Fc(\017)20 b Fg(Kernel)e(abstractions)e(for)g(ob)r(ject)h(supp)q(ort:)24
b(a)16 b(uniform)e(in)o(terface)j(to)f(all)f(k)o(ernel)365
685 y(resources;)h(grouping)c(an)o(y)h(n)o(um)o(b)q(er)f(of)h(resources)i(in)
o(to)e(a)f(single)h(resource;)i(up)q(call)365 735 y(ho)q(oks)f(for)g
(managing)d(ob)r(jects)k(according)f(to)f(high-lev)o(el)g(seman)o(tics.)324
818 y Fc(\017)20 b Fg(High-p)q(erformance,)c(primitiv)o(e)f(mec)o(hanisms)g
(adapted)i(to)f(ob)r(ject-orien)o(ted)i(ap-)365 868 y(plications)9
b(and)g(subsystems:)17 b(system-supp)q(orted,)11 b(garbage-collected)f
(references)365 917 y(that)16 b(can)f(b)q(e)h(stored)g(or)f(sen)o(t)h(in)f
(messages;)g(simple,)f(e\016cien)o(t)h(cross-con)o(text)i(in-)365
967 y(v)o(o)q(cation.)324 1050 y(T)m(o)11 b(supp)q(ort)i(naming,)d(binding)i
(and)g(lo)q(cation,)f(w)o(e)h(prop)q(ose)h(ligh)o(t)o(w)o(eigh)o(t,)e
(\014ne-grain)262 1100 y Fd(r)n(efer)n(enc)n(es)p Fg(,)18 b(the)i(OS)f(equiv)
n(alen)o(t)f(of)g(p)q(oin)o(ters.)34 b(A)19 b(reference)i(is)e(a)g(sequence)i
(of)d Fd(links)262 1150 y Fg(b)q(ound)12 b(in)o(to)g(a)g Fd(chain)p
Fg(.)18 b(An)13 b(individual)d(link)i(con)o(tains)g(a)g(few)h(b)o(ytes)g(of)f
(opaque)h(data)f(and)262 1200 y(a)h(a)h(few)g(assem)o(bly)e(instructions)j
(that)f(in)o(terpret)h(the)f(data.)324 1249 y(T)m(o)h(ease)h(the)h(managemen)
o(t)c(of)i(distributed)h(and/or)g(p)q(ersisten)o(t)h(shared)g(data,)e(ref-)
262 1299 y(erences)g([19)o(])e(supp)q(ort)g(distributed)h(garbage)f
(collection)g([17)o(,)f(22].)17 b(The)c(GC)g(proto)q(col)g(is)262
1349 y(a)i(conserv)n(ativ)o(e,)i(fault-toleran)o(t)d(v)n(arian)o(t)h(of)g
(reference)k(coun)o(ting,)c(augmen)o(ted)g(to)h(deal)262 1399
y(with)d(cyclic)h(garbage.)324 1449 y(A)h(straigh)o(tforw)o(ard)g(presen)o
(tation)h(proto)q(col)f(is)g(used)i(to)e(pass)h(references,)i(with)d(no)262
1499 y(message,)i(system)g(call,)f(or)h(k)o(ernel)h(o)o(v)o(erhead.)28
b(Occasionally)m(,)16 b(longer-than-necessary)262 1548 y(c)o(hains)d(will)e
(form.)16 b(These)e(are)g(short-circuited)g(in)f(a)f(lazy)h(fashion)f(b)o(y)h
(the)h(binding)e(and)262 1598 y(lo)q(cation)g(proto)q(col.)262
1706 y Fe(KitLog.)40 b Fg(T)m(o)12 b(supp)q(ort)h(services)h(requiring)f(a)f
(history)h(of)f(ev)o(en)o(ts)h(\(e.g.)f(fault)g(tolerance)262
1756 y(and)k(debugging\),)h(w)o(e)h(ha)o(v)o(e)f(implem)o(en)o(ted)e(a)i
(generic,)i(ob)r(ject-based)f(logging)d(service)262 1806 y(called)c(Kitlog)g
([)p Fe(?)p Fg(,)f Fe(?)p Fg(].)17 b(Kitlog)10 b(supp)q(orts)k(m)o(ultiple)9
b(logical)h(logs,)h(m)o(ultiplexed)f(and)i(repli-)262 1855
y(cated)i(across)i(m)o(ultiple)11 b(ph)o(ysical)j(devices.)20
b(Kitlog)13 b(enables)i(an)f(application)f(to)h(con\014g-)262
1905 y(ure)f(its)g(o)o(wn)g(logical)f(logs)g(to)h(its)g(needs,)h(without)f
(pa)o(ying)f(the)i(price)g(of)e(services)j(it)e(do)q(es)262
1955 y(not)i(use.)23 b(W)m(e)15 b(are)h(curren)o(tly)g(implemen)o(ting)c(a)j
(log-structured)h(\014le)g(system)f(on)g(top)g(of)262 2005
y(Kitlog.)262 2136 y Fb(References)281 2219 y Fh([1])20 b(V.)10
b(Abrossimo)o(v,)i(M.)e(Rozier,)i(and)f(M.)f(Shapiro.)15 b(Generic)d(virtual)
g(memory)f(managemen)o(t)342 2264 y(for)k(op)q(erating)j(system)e(k)o
(ernels.)26 b(In)15 b Fa(Pr)n(o)n(c.)h(12th)e(A)o(CM)j(Symp.)e(on)g(Op)n(er)n
(ating)f(Systems)342 2310 y(Principles)p Fh(,)c(Litc)o(h\014eld)15
b(P)o(ark)f(AZ)f(\(USA\),)f(Decem)o(b)q(er)i(1989.)f(A)o(CM)f(SIGOPS.)281
2372 y([2])20 b(Roland)k(Balter,)h(Jean-Pierre)d(Ban^)-19 b(atre,)25
b(Ban^)-19 b(atre)23 b(Mic)o(hel,)i(Yv)o(es)d(Desw)o(arte,)j(Sac)o(ha)342
2418 y(Krak)o(o)o(wiak,)18 b(Jean-Pierre)g(V)m(erjus,)f(Marc)g(Rozier,)h(and)
f(Marc)g(Shapiro.)30 b Fa(Construction)342 2464 y(des)16 b(Syst)o(\022)-19
b(emes)15 b(d'Exploitatio)o(n)f(R)o(\023)-19 b(ep)n(artis)p
Fh(.)25 b(Num)o(b)q(er)17 b(9)g(in)g(Collection)i(Didactique.)g(IN-)342
2509 y(RIA,)12 b(Ro)q(cquencourt)j(\(F)m(rance\),)e(April)h(1991.)k(ISBN)13
b(2-7261-0691-9.)281 2571 y([3])20 b(Philipp)q(e)e(Gautron)d(and)g(Marc)g
(Shapiro.)24 b(Tw)o(o)14 b(extensions)i(to)f(C++:)k(A)14 b(dynamic)j(link)342
2617 y(editor)h(and)g(inner)h(data.)31 b(In)17 b Fa(Pr)n(o)n(c)n(e)n(e)n
(dings)e(and)h(additional)f(p)n(ap)n(ers,)i(C++)i(Workshop)p
Fh(,)342 2663 y(Berk)o(eley)m(,)14 b(CA)e(\(USA\),)g(No)o(v)o(em)o(b)q(er)i
(1987.)f(USENIX.)281 2725 y([4])20 b(Yv)o(on)14 b(Gourhan)o(t)h(and)g(Marc)f
(Shapiro.)22 b(F)o(OG/C++:)c(a)c(fragmen)o(ted-ob)r(ject)h(generator.)342
2771 y(In)d Fa(C++)i(Confer)n(enc)n(e)p Fh(,)c(pages)j(63{74,)g(San)g(F)m
(rancisco,)g(CA)e(\(USA\),)h(April)h(1990.)g(Usenix.)967 2960
y Fg(2)p eop
%%Page: 3 3
bop 281 195 a Fh([5])20 b(Sabine)c(Hab)q(ert.)k Fa(Gestion)12
b(d'Objets)h(et)h(Migr)n(ation)f(dans)g(les)h(Syst)o(\022)-19
b(emes)13 b(R)o(\023)-19 b(ep)n(artis)p Fh(.)18 b(PhD)342 241
y(thesis,)c(Univ)o(ersit)o(\023)-18 b(e)14 b(P)o(aris)g(VI,)e(P)o(aris)i(\(F)
m(rance\),)f(Decem)o(b)q(er)h(1989.)281 298 y([6])20 b(Sabine)d(Hab)q(ert,)e
(Laurence)h(Mosseri,)g(and)g(V)m(adim)f(Abrossimo)o(v.)24 b(COOL:)14
b(Kernel)i(sup-)342 343 y(p)q(ort)g(for)f(ob)r(ject-orien)o(ted)h(en)o
(vironmen)o(ts.)26 b(In)15 b Fa(Joint)g(ECOOP/OOPSLA)h(Confer)n(enc)n(e)p
Fh(,)342 389 y(Otta)o(w)o(a)d(\(Canada\),)g(Octob)q(er)g(1990.)281
446 y([7])20 b(Mesaac)14 b(Makpangou,)h(Yv)o(on)f(Gourhan)o(t,)g(Jean-Pierre)
h(Le)e(Narzul,)h(and)g(Marc)g(Shapiro.)342 492 y(Structuring)d(distributed)h
(applicatio)q(ns)g(as)e(fragmen)o(ted)g(ob)r(jects.)h(Rapp)q(ort)g(de)e(Rec)o
(herc)o(he)342 538 y(1404,)17 b(Institut)g(National)h(de)e(la)h(Rec)o(herc)o
(he)g(en)f(Informatique)h(et)f(Automatique,)i(Ro)q(c-)342 583
y(quencourt)c(\(F)m(rance\),)f(Jan)o(uary)h(1991.)281 640 y([8])20
b(Mesaac)14 b(Makpangou,)h(Yv)o(on)f(Gourhan)o(t,)g(Jean-Pierre)h(Le)e
(Narzul,)h(and)g(Marc)g(Shapiro.)342 686 y(F)m(ragmen)o(ted)c(ob)r(jects)g
(for)e(distributed)k(abstractions.)h(In)c(Casa)o(v)n(an)o(t)h(and)f(Singhal,)
k(editors,)342 732 y Fa(R)n(e)n(adings)e(in)i(Distribute)n(d)e(Computing)h
(Systems)p Fh(.)f(Computer)j(So)q(ciet)o(y)g(Press,)f(1992.)281
789 y([9])20 b(Mesaac)d(Makpangou,)j(Yv)o(on)d(Gourhan)o(t,)h(and)g(Marc)f
(Shapiro.)30 b(BO)o(AR:)16 b(A)g(library)j(of)342 834 y(fragmen)o(ted)11
b(ob)r(ject)f(t)o(yp)q(es)h(for)f(distributed)i(abstractions.)j(In)10
b Fa(Pr)n(o)n(c.)g(of)g(the)h(Internation)o(al)342 880 y(Workshop)j(on)h
(Obje)n(ct-Orientatio)o(n)d(in)j(Op)n(er)n(ating)f(Systems)p
Fh(,)f(P)o(aolo)j(Alto,)g(CA)e(\(USA\),)342 926 y(Octob)q(er)f(1991.)262
983 y([10])20 b(Mesaac)13 b(Makpangou)h(and)f(Marc)g(Shapiro.)k(The)12
b(SOS)h(ob)r(ject-orien)o(ted)h(comm)o(unication)342 1028 y(service.)19
b(In)14 b Fa(Pr)n(o)n(c.)f(9th)g(Int.)g(Conf.)g(on)h(Computer)f(Communic)n
(ation)p Fh(,)d(T)m(el)k(Aviv)g(\(Israel\),)342 1074 y(Octob)q(er{No)o(v)o
(em)o(b)q(er)g(1988.)262 1131 y([11])20 b(Mesaac)c(Mounc)o(hili)i(Makpangou.)
25 b Fa(Pr)n(oto)n(c)n(oles)13 b(de)i(c)n(ommunic)n(ation)e(et)i(pr)n(o)n(gr)
n(ammation)342 1177 y(p)n(ar)g(objets)e(:)20 b(l'exemple)14
b(de)g(SOS)p Fh(.)21 b(PhD)16 b(thesis,)f(Univ)o(ersit)o(\023)-18
b(e)17 b(P)o(aris)e(VI,)f(P)o(aris)i(\(F)m(rance\),)342 1222
y(F)m(ebruary)e(1989.)262 1279 y([12])20 b(J.P)m(.)10 b(Le)h(Narzul)h(and)f
(M.)g(Shapiro.)k(Un)c(service)h(de)g(nommage)f(p)q(our)h(un)g(syst)o(\022)-18
b(eme)11 b(\022)-19 b(a)11 b(ob)r(jets)342 1325 y(r)o(\023)-18
b(epartis.)18 b(In)13 b Fa(A)n(ctes)f(Convention)f(Unix)h(89)p
Fh(,)g(pages)i(73{82,)f(P)o(aris,)h(Marc)o(h)f(1989.)g(AFUU.)262
1382 y([13])20 b(Mic)o(hel)f(Ru\016n.)28 b(Kitlog:)e(a)17 b(generic)h
(logging)h(service.)29 b(Rapp)q(ort)18 b(de)f(Rec)o(herc)o(he)h(1678,)342
1428 y(Institut)11 b(National)i(de)d(la)h(Rec)o(herc)o(he)h(en)e
(Informatique)i(et)e(Automatique,)i(Ro)q(cquencourt)342 1473
y(\(F)m(rance\),)h(Ma)o(y)g(1992.)262 1530 y([14])20 b(Marc)d(Shapiro.)30
b(Structure)18 b(and)f(encapsulation)j(in)e(distributed)h(systems:)25
b(the)17 b(Pro)o(xy)342 1576 y(Principle.)g(In)11 b Fa(Pr)n(o)n(c.)h(6th)f
(Intl.)g(Conf.)h(on)f(Distribute)n(d)f(Computing)g(Systems)p
Fh(,)g(pages)i(198{)342 1622 y(204,)h(Cam)o(bridge,)h(Mass.)f(\(USA\),)f(Ma)o
(y)i(1986.)f(IEEE.)262 1679 y([15])20 b(Marc)d(Shapiro.)31
b(Protot)o(yping)19 b(a)e(distributed)i(ob)r(ject-orien)o(ted)g(OS)e(on)g
(Unix.)29 b(In)17 b(Eu-)342 1725 y(gene)h(Spa\013ord,)i(editor,)f
Fa(Workshop)d(on)i(Exp)n(erienc)n(es)d(with)i(Building)f(Distribute)n(d)f
(and)342 1770 y(Multipr)n(o)n(c)n(essor)10 b(Systems)p Fh(,)f(Ft.)i
(Lauderdale)i(FL)f(\(USA\),)e(Octob)q(er)i(1989.)g(USENIX.)i(Also)342
1816 y(a)o(v)n(ailable)i(as)d(Rapp)q(ort)h(de)f(Rec)o(herc)o(he)h(INRIA)f
(no.)g(1082.)262 1873 y([16])20 b(Marc)e(Shapiro.)32 b(Ob)r(ject-supp)q(ort)
19 b(op)q(erating)g(systems.)31 b(In)17 b Fa(Workshop)f(on)h(Op)n(er)n(ating)
342 1919 y(Systems)d(and)h(Obje)n(ct)g(Orientation)f(at)h(ECOOP/OOPSLA)i
(1990)p Fh(,)d(Otta)o(w)o(a)h(\(Canada\),)342 1964 y(Octob)q(er)e(1990.)262
2021 y([17])20 b(Marc)9 b(Shapiro.)k(A)8 b(fault-toleran)o(t,)k(scalable,)f
(lo)o(w-o)o(v)o(erhead)g(garbage)f(detection)g(proto)q(col.)342
2067 y(In)j Fa(T)m(enth)g(Symp.)f(on)h(R)n(eliable)f(Distribute)n(d)f
(Systems)p Fh(,)g(Pisa)j(\(Italy\),)f(Octob)q(er)g(1991.)262
2124 y([18])20 b(Marc)d(Shapiro.)28 b(Soul:)d(An)16 b(ob)r(ject-orien)o(ted)i
(OS)e(framew)o(ork)g(for)g(ob)r(ject)h(supp)q(ort.)27 b(In)342
2170 y Fa(Workshop)14 b(on)g(Op)n(er)n(ating)g(Systems)f(for)i(the)f
(Nineties)f(and)h(Beyond)p Fh(,)f(Dagstuhl)j(Castle,)342 2215
y(German)o(y)m(,)d(July)h(1991.)f(Springer-V)m(erlag.)262 2272
y([19])20 b(Marc)d(Shapiro,)j(P)o(eter)d(Dic)o(kman,)j(and)d(Da)o(vid)i
(Plainfoss)o(\023)-18 b(e.)31 b(Robust,)19 b(distributed)h(ref-)342
2318 y(erences)f(and)g(acyclic)h(garbage)f(collection.)36 b(In)18
b Fa(Symp.)f(on)h(Principles)e(of)i(Distribute)n(d)342 2364
y(Computing)p Fh(,)11 b(V)m(ancouv)o(er)j(\(Canada\),)f(August)g(1992.)h(A)o
(CM.)262 2421 y([20])20 b(Marc)14 b(Shapiro,)h(Philipp)q(e)i(Gautron,)d(and)g
(Laurence)h(Mosseri.)20 b(P)o(ersistence)15 b(and)f(migra-)342
2466 y(tion)g(for)f(C++)f(ob)r(jects.)17 b(In)c Fa(ECOOP'89)p
Fh(,)g(Nottingham)h(\(GB\),)f(July)h(1989.)262 2523 y([21])20
b(Marc)13 b(Shapiro,)h(Yv)o(on)f(Gourhan)o(t,)h(Sabine)g(Hab)q(ert,)f
(Laurence)g(Mosseri,)h(Mic)o(hel)g(Ru\016n,)342 2569 y(and)h(C)o(\023)-18
b(eline)15 b(V)m(alot.)21 b(SOS:)14 b(An)g(ob)r(ject-orien)o(ted)h(op)q
(erating)h(system)f(|)f(assessmen)o(t)h(and)342 2615 y(p)q(ersp)q(ectiv)o
(es.)k Fa(Computing)12 b(Systems)p Fh(,)f(2\(7\),)h(1989.)262
2672 y([22])20 b(Marc)9 b(Shapiro,)j(Olivier)f(Grub)q(er,)f(and)g(Da)o(vid)g
(Plainfoss)o(\023)-18 b(e.)13 b(A)8 b(garbage)j(detection)f(proto)q(col)342
2717 y(for)17 b(a)g(realistic)j(distributed)g(ob)r(ject-supp)q(ort)e(system.)
30 b(Rapp)q(ort)19 b(de)e(Rec)o(herc)o(he)h(1320,)342 2763
y(Institut)11 b(National)i(de)d(la)h(Rec)o(herc)o(he)h(en)e(Informatique)i
(et)e(Automatique,)i(Ro)q(cquencourt)342 2809 y(\(F)m(rance\),)h(No)o(v)o(em)
o(b)q(er)g(1990.)967 2960 y Fg(3)p eop
%%Page: 4 4
bop 338 3661 a @beginspecial -150 @hoffset 105 @voffset @setspecial
%%BeginDocument: info-ftp.ps

/$a2psdict 100 dict def
$a2psdict begin
/inch {72 mul} bind def
/landscape false def
/twinpage false def
/sheetheight 11.64 inch def
/sheetwidth 8.27 inch def
/margin 1.2 inch def
/noborder true def
/noheader true def
/headersize 0.0 def
/bodyfontsize 9 def
/lines 82 def
/columns 93 def
/date (Jul 20 1992 09:22:15) def



/accentvec [
  8#241 /exclamdown
  8#242 /cent
  8#243 /sterling
  8#244 /currency
  8#245 /yen
  8#246 /brokenbar
  8#247 /section
  8#250 /dieresis
  8#251 /copyright
  8#252 /ordfeminine
  8#253 /guillemotleft
  8#254 /logicalnot
  8#255 /hyphen
  8#256 /registered
  8#257 /macron
  8#260 /degree
  8#261 /plusminus
  8#262 /twosuperior
  8#263 /threesuperior
  8#264 /acute
  8#265 /mu
  8#266 /paragraph
  8#267 /periodcentered
  8#270 /cedilla
  8#271 /onesuperior
  8#272 /ordmasculine
  8#273 /guillemotright
  8#274 /onequarter
  8#275 /onehalf
  8#276 /threequarters
  8#277 /questiondown
  8#300 /Agrave
  8#301 /Aacute
  8#302 /Acircumflex
  8#303 /Atilde
  8#304 /Adieresis
  8#305 /Aring
  8#306 /AE
  8#307 /Ccedilla
  8#310 /Egrave
  8#311 /Eacute
  8#312 /Ecircumflex
  8#313 /Edieresis
  8#314 /Igrave
  8#315 /Iacute
  8#316 /Icircumflex
  8#317 /Idieresis
  8#320 /Eth
  8#321 /Ntilde
  8#322 /Ograve
  8#323 /Oacute
  8#324 /Ocircumflex
  8#325 /Otilde
  8#326 /Odieresis
  8#327 /multiply
  8#331 /Ugrave
  8#332 /Uacute
  8#333 /Ucircumflex
  8#334 /Udieresis
  8#335 /Yacute
  8#336 /Thorn
  8#340 /agrave
  8#341 /aacute
  8#342 /acircumflex
  8#343 /atilde
  8#344 /adieresis
  8#345 /aring
  8#346 /ae
  8#347 /ccedilla
  8#350 /egrave
  8#351 /eacute
  8#352 /ecircumflex
  8#353 /edieresis
  8#354 /igrave
  8#355 /iacute
  8#356 /icircumflex
  8#357 /idieresis
  8#360 /eth
  8#361 /ntilde
  8#362 /ograve
  8#363 /oacute
  8#364 /ocircumflex
  8#365 /otilde
  8#366 /odieresis
  8#367 /divide
  8#370 /oslash
  8#371 /ugrave
  8#372 /uacute
  8#373 /ucircumflex
  8#374 /udieresis
  8#375 /yacute
  8#376 /thorn
  8#377 /ydieresis
] def

/reencodedict 12 dict def
/ReEncode
{ reencodedict begin
  /newfontname exch def
  /oldfontname exch def
  /oldfontdict oldfontname findfont def
  /newfont oldfontdict maxlength dict def
  oldfontdict
  { exch dup /FID ne
    { dup /Encoding eq
      { exch dup length array copy
          newfont 3 1 roll put }
      { exch newfont 3 1 roll put }
      ifelse
    }
    { pop pop }
    ifelse
  } forall
  newfont /FontName newfontname put
  accentvec aload pop
  accentvec length 2 idiv
  { newfont /Encoding get 3 1 roll put}
  repeat
  newfontname newfont definefont pop
  end
} def


/xdef {exch def} bind def
/getfont {exch findfont exch scalefont} bind def


   landscape
   { /filenamefontsize 12 def }
   { /filenamefontsize 16 def }
ifelse
/datefontsize filenamefontsize 0.8 mul def
/headermargin filenamefontsize 0.25 mul def
/bodymargin bodyfontsize 0.7 mul def

/filenamefontname /Helvetica-Bold def
/stdfilenamefont filenamefontname filenamefontsize getfont def
/datefont /Helvetica datefontsize getfont def
/Courier /Courier-FA ReEncode
/bodyfont /Courier-FA bodyfontsize getfont def

/pagewidth
   bodyfont setfont (0) stringwidth pop columns mul bodymargin dup add add
   def
/pageheight
   bodyfontsize lines mul bodymargin dup add add headersize add
   def

/rightmargin margin 3 div def
/leftmargin margin 2 mul 3 div def
/topmargin margin twinpage {3} {2} ifelse div def
landscape
{  % Landscape format
   /uppery rightmargin pageheight add bodymargin add def
   /sheetnumbery sheetwidth leftmargin pageheight add datefontsize add sub def
   twinpage
   {  % Two logical pages
      /upperx [ topmargin			% upperx for left page
		dup 2 mul pagewidth add		% upperx for right page
	      ] def
      /sheetnumberx sheetheight topmargin sub def
   }
   {  /upperx [ topmargin dup ] def
      /sheetnumberx sheetheight topmargin sub datefontsize sub def
   }
   ifelse
}
{  % Portrait format
   /uppery topmargin pageheight add def
   /upperx [ leftmargin dup ] def
   /sheetnumberx sheetwidth rightmargin sub datefontsize sub def
   /sheetnumbery
	 sheetheight 
	 topmargin pageheight add datefontsize add headermargin add
      sub
      def

}
ifelse

/pnum 12 string def
/empty 12 string def

/datewidth date stringwidth pop def
/filenameroom
         pagewidth
	 filenamefontsize 4 mul datewidth add (Page 999) stringwidth pop add
      sub
   def


/startdoc
    { /sheetside 0 def			% sheet side that contains current page
      /sheet 1 def			% sheet number
   } bind def

/newfile
    { cleanup
      /filename xdef
      /filenamewidth filename stringwidth pop def
      /filenamefont
	 filenamewidth filenameroom gt
	 {
	       filenamefontname
	       filenamefontsize filenameroom mul filenamewidth div
	    getfont
	 }
	 {  stdfilenamefont }
	 ifelse
	 def
      /pagenum 1 def
    } bind def

/printpage
    { /sheetside 0 def
      twinpage
      {  noborder not
	    { sheetnumber }
	 if
      }
      {  noheader noborder not and
	    { sheetnumber }
	 if
      }
      ifelse
      showpage 
      /sheet sheet 1 add def
    } bind def

/cleanup
    { twinpage sheetside 1 eq and
         { printpage }
      if
    } bind def

/startpage
    { sheetside 0 eq
	{ % /pagesave save def
	  landscape
	    { sheetwidth 0 inch translate	% new coordinates system origin
	      90 rotate				% landscape format
	    } if
	} if
      noborder not { printborder } if
      noheader not { printheader } if
	 upperx sheetside get  bodymargin  add
	    uppery
	    bodymargin bodyfontsize add  noheader {0} {headersize} ifelse  add
	 sub
      moveto
      bodyfont setfont
    } bind def

/printheader
    { upperx sheetside get  uppery headersize sub 1 add  moveto
      datefont setfont
      gsave
        datefontsize headermargin rmoveto
	date show					% date/hour
      grestore
      gsave
	pagenum pnum cvs pop
	   pagewidth (Page 999) stringwidth pop sub
	   headermargin
	rmoveto
        (Page ) show pnum show				% page number
      grestore
      empty pnum copy pop
      gsave
        filenamefont setfont
	      filenameroom filename stringwidth pop sub 2 div datewidth add
	      bodymargin 2 mul 
	   add 
	   headermargin
	rmoveto
        filename show						% file name
      grestore
    } bind def

/printborder 
    { upperx sheetside get uppery moveto
      gsave					% print the four sides
        pagewidth 0 rlineto			% of the square
        0 pageheight neg rlineto
        pagewidth neg 0 rlineto
        closepath stroke
      grestore
      noheader not
         { 0 headersize neg rmoveto pagewidth 0 rlineto stroke }
      if
    } bind def

/endpage
   { /pagenum pagenum 1 add def
     twinpage  sheetside 0 eq  and
        { /sheetside 1 def }
        { printpage }
     ifelse
   } bind def

/sheetnumber
    { sheetnumberx sheetnumbery moveto
      datefont setfont
      sheet pnum cvs
	 dup stringwidth pop (0) stringwidth pop sub neg 0 rmoveto show
      empty pnum copy pop
    } bind def

/s  { gsave
        show
      grestore
      0 bodyfontsize neg rmoveto
    } bind def

/docsave save def
startdoc
(info-ftp) newfile
/sheet 1 def
startpage
(  -*- text -*-) s
( ) s
( Publications of the INRIA/SOR group available by anonymous FTP:) s
(         Host:      ftp.inria.fr [128.93.1.26]) s
(         Login:     ftp) s
(         Password:  your own e-mail address) s
(         Directory: INRIA/publication/SOR) s
( The papers are in compressed 300dpi Postscript.  A fuller bibliography will) s
( be found in the intro paper.  Hardcopy versions of all the SOR papers) s
( can be ordered by sending e-mail to Nelly Maloisel <nelly@sor.inria.fr>.) s
( The papers are listed most recent first.) s
( ) s
( SOR.ps.Z                Short intro to the SOR group \(periodically updated\).) s
( ) s
( README                  This file.) s
( ) s
( Kitlog:srds.ps.Z        "Kitlog: a Generic Logging Service". Michel Ruffin) s
(                         Eleventh Symposium on Reliable Distributed Systems \(SRDS\),) s
(                         Houston TX \(USA\), Oct 1992.) s
( ) s
( RDRAGC:podc92.ps.Z      "Robust, Distributed References and Acyclic) s
(                         Garbage Collection". Marc Shapiro, Peter) s
(                         Dickman, David Plainfoss\\'e.  Symposium on) s
(                         Principles of Distributed Computing, Vancouver) s
(                         \(Canada\), August 1992.) s
( ) s
( Kitlog:rr1678.ps.Z      "Kitlog: A Generic Logging Service". Michel Ruffin.) s
(                         Rapport de Recherche INRIA No 1678. May 1992.) s
( ) s
( FO:ieeebook92.ps.Z      "Fragmented Objects for Distributed Abstractions".) s
(                         Makpangou, Gourhant, Le Narzul, Shapiro.  In ``Advances) s
(                         in Distributed Systems'', IEEE, to appear 1992.) s
( ) s
( BOAR:i-wooos91.ps.Z     "BOAR: A Library of Fragmented Object Types for) s
(                         Distributed Abstractions". Makpangou, Gourhant,) s
(                         Shapiro, International Workshop on Object Orientation) s
(                         in Operating Systems \(I-WOOOS\), Palo Alto CA \(USA\),) s
(                         Oct. 1991.) s
( ) s
( DGC:rds91.ps.Z          "A Fault-Tolerant, Scalable, Low-Overhead Distributed) s
(                         Garbage Detection Protocol", Shapiro, Tenth Symposium) s
(                         on Reliable Distributed Systems \(SRDS-10\), 30 Sept.--2) s
(                         Oct.\\ 1991, Pisa, Italy.) s
(                         [A simplified version of DGC:rr1320.ps.Z]) s
( ) s
( SOUL:osninetiesb91.ps.Z "Soul: An object-oriented OS framework for object) s
(                         support". Shapiro. Workshop on Operating Systems for) s
(                         the Nineties and Beyond, Dagstuhl Castle, Germany, July) s
(                         1991.) s
( ) s
( OF:rr1404.ps.Z          "Structuring distributed applications as fragmented) s
(                         objects". Makpangou, Gourhant, Le Narzul, Shapiro.) s
(                         Rapport de Recherche INRIA, Jan. 1991.) s
(                         [Superseded by FO:ieeebook92.ps.Z]) s
( ) s
( DGC:rr1320.ps.Z         "A garbage detection protocol for a realistic) s
(                         distributed object-support system". Shapiro, Gruber,) s
(                         Plainfoss\\'e. Rapport de Recherche INRIA, Nov. 1990.) s
(                         [See also DGC:rds91.ps.Z]) s
( ) s
( COOL:ecoop-oopsla90.ps.Z "COOL: Kernel support for Object-oriented) s
(                         environments" Habert, Mosseri, Abrossimov.  Joint) s
(                         ECOOP/OOPSLA Conference, Ottawa 1990.) s
( ) s
( OSOS:wooos90.ps.Z       "Object-support operating systems". Shapiro.  Workshop) s
(                         on Operating Systems and Object Orientation, Ottawa) s
(                         1990.) s
( ) s
( FOG:UsenixC++90.ps.Z    "FOG/C++: a fragmented-object generator".  Gourhant,) s
(                         Shapiro. Usenix C++ Workshop San Francisco 1990.) s
(                         [See also FO:ieeebook92.ps.Z]) s
( ) s
( GVM:12sosp89.ps.Z       "Generic Virtual Memory Management in Operating Systems) s
(                         Kernels".  Abrossimov, Rozier, Shapiro, 12th ACM) s
(                         Symposium on Operating Systems Principles, Phoenix AZ) s
(                         \(USA\), December 1989.  Appears in Operating Systems) s
(                         Review 23\(5\), pp. 123--136.) s
( ) s
( SOS:computing-systems--fall89.ps.Z "SOS: An object-oriented operating system) s
(                         --- assessment and perspectives". Shapiro et al.) s
(                         Computing Systems 2\(4\), Fall 1989.) s
( ) s
endpage
startpage
( PrsC++:ecoop89.ps.Z     "Persistence and migration for C++ objects".  Shapiro,) s
(                         Gautron, Mosseri. ECOOP, Nottingham GB, 1989.) s
( ) s
endpage

cleanup
docsave restore end
%%EndDocument
 @endspecial 967 2960 a Fg(4)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF