From: darrell@cse.ucsc.edu (Darrell Long)
Newsgroups: ieee.tcos
Subject: jade.ps (Jade project description)
Date: 7 Oct 1992 18:28:21 GMT
Organization: University of California, Santa Cruz (CE/CIS Boards)
Distribution: ieee
NNTP-Posting-Host: cypress.ucsc.edu

%!PS-Adobe-2.0
%%Creator: dvips 5.479 Copyright 1986-92 Radical Eye Software
%%Title: jade.dvi
%%Pages: 2 1
%%BoundingBox: 0 0 612 792
%%DocumentFonts: Times-Roman Times-Bold Times-Italic
%%EndComments
%DVIPSCommandLine: dvips -o jade.ps jade
%%BeginProcSet: tex.pro
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N}
B /TR{translate}N /isls false N /vsize 11 72 mul N /@rigin{isls{[0 -1 1 0 0 0]
concat}if 72 Resolution div 72 VResolution div neg scale isls{Resolution hsize
-72 div mul 0 TR}if Resolution VResolution vsize -72 div 1 add mul TR matrix
currentmatrix dup dup 4 get round 4 exch put dup dup 5 get round 5 exch put
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
/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]{ch-image}imagemask restore}B /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{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 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 /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{SS restore}B end
%%EndProcSet
%%BeginProcSet: texps.pro
TeXDict begin /rf{655360 div mul 7227 div Resolution mul /PixPerEm X findfont
dup length 1 add dict /nn X{1 index /FID ne{nn 3 1 roll put}{pop pop}ifelse}
forall nn /Encoding get 1 0 1 255{2 index exch get /.notdef ne{1 add}if}for
dict begin 0 1 255{255 exch sub 2 copy get 3 index 2 index get 1000 mul
PixPerEm div def pop}for pop pop nn /Metrics currentdict put end{/foo setfont}
2 array copy cvx dup 0 nn dup definefont[PixPerEm 0 0 PixPerEm VResolution mul
Resolution div neg 0 0]makefont dup /nn X put N}N /ObliqueSlant{dup sin S cos
div neg}B /SlantFont{/foo X[1 0 foo 1 0 0]TransFont}N /ExtendFont{/foo X 3 2
roll[S{foo div}forall]3 1 roll[foo 0 0 1 0 0]TransFont}N /TransFont{S findfont
S makefont dup length dict /nn X{1 index /FID ne{nn 3 1 roll put}{pop pop}
ifelse}forall dup nn definefont pop}N end
%%EndProcSet
TeXDict begin 40258437 52099154 1000 300 300 @start /Fa [ 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 10 14 17 21 21 35 32 14 14 14 21 28 10 14 10 12 21 21 21
21 21 21 21 21 21 21 14 14 28 28 28 21 38 25 25 28 30 25 25
30 30 14 18 28 23 35 28 30 25 30 25 21 23 30 25 35 25 23 23
16 12 16 18 21 14 21 21 18 21 18 12 21 21 12 12 18 12 30 21
21 21 21 16 16 12 21 18 28 18 18 16 17 11 17 22 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16
21 21 7 21 21 21 21 9 23 21 14 14 21 21 0 21 21 21 10 0 22
15 14 23 23 21 37 42 0 21 0 14 14 14 14 14 14 14 14 0 14 14
0 14 14 14 37 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 37 0 11 0 0 0
0 23 30 39 13 0 0 0 0 0 28 0 0 0 12 0 0 12 21 28 21 0 0 0 0
] /Times-Italic 1000 655360 rf /Fb [ 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 17 28 25 25 50
41 17 17 17 25 28 12 17 12 14 25 25 25 25 25 25 25 25 25 25
17 17 28 28 28 25 46 36 33 36 36 33 30 39 39 19 25 39 33 47
36 39 30 39 36 28 33 36 36 50 36 36 33 17 14 17 29 25 17 25
28 22 28 22 17 25 28 14 17 28 14 41 28 25 28 28 22 19 17 28
25 36 25 25 22 20 11 20 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17 25 25 8 25 25 25 25
14 25 25 17 17 28 28 0 25 25 25 12 0 27 17 17 25 25 25 50 50
0 25 0 17 17 17 17 17 17 17 17 0 17 17 0 17 17 17 50 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 50 0 15 0 0 0 0 33 39 50 16 0 0 0
0 0 36 0 0 0 14 0 0 14 25 36 28 0 0 0 0 ] /Times-Bold 1000
786432 rf /Fc [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 10 14 17 21 21 35 32 14 14 14 21 23 10
14 10 12 21 21 21 21 21 21 21 21 21 21 12 12 23 23 23 18 38
30 28 28 30 25 23 30 30 14 16 30 25 37 30 30 23 30 28 23 25
30 30 39 30 30 25 14 12 14 19 21 14 18 21 18 21 18 14 21 21
12 12 21 12 32 21 21 21 21 14 16 12 21 21 30 21 21 18 20 8
20 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 14 21 21 7 21 21 21 21 7 18 21 14 14 23 23 0
21 21 21 10 0 19 15 14 18 18 21 42 42 0 18 0 14 14 14 14 14
14 14 14 0 14 14 0 14 14 14 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 37 0 11 0 0 0 0 25 30 37 13 0 0 0 0 0 28 0 0 0 12 0 0 12
21 30 21 0 0 0 0 ] /Times-Roman 1000 655360 rf /Fd [ 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15
19 32 29 29 58 48 19 19 19 29 33 15 19 15 16 29 29 29 29 29
29 29 29 29 29 19 19 33 33 33 29 54 42 39 42 42 39 36 45 45
23 29 45 39 55 42 45 36 45 42 32 39 42 42 58 42 42 39 19 16
19 34 29 19 29 32 26 32 26 19 29 32 16 19 32 16 48 32 29 32
32 26 23 19 32 29 42 29 29 26 23 13 23 30 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 29 29
10 29 29 29 29 16 29 29 19 19 32 32 0 29 29 29 15 0 31 20 19
29 29 29 58 58 0 29 0 19 19 19 19 19 19 19 19 0 19 19 0 19
19 19 58 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 58 0 17 0 0 0 0 39
45 58 19 0 0 0 0 0 42 0 0 0 16 0 0 16 29 42 32 0 0 0 0 ] /Times-Bold
1000 917504 rf /Fe [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 12 17 20 25 25 41 39 17 17 17 25
28 12 17 12 14 25 25 25 25 25 25 25 25 25 25 14 14 28 28 28
22 46 36 33 33 36 30 28 36 36 17 19 36 30 44 36 36 28 36 33
28 30 36 36 47 36 36 30 17 14 17 23 25 17 22 25 22 25 22 17
25 25 14 14 25 14 39 25 25 25 25 17 19 14 25 25 36 25 25 22
24 10 24 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 17 25 25 8 25 25 25 25 9 22 25 17 17 28
28 0 25 25 25 12 0 23 17 17 22 22 25 50 50 0 22 0 17 17 17
17 17 17 17 17 0 17 17 0 17 17 17 50 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 44 0 14 0 0 0 0 30 36 44 15 0 0 0 0 0 33 0 0 0 14
0 0 14 25 36 25 0 0 0 0 ] /Times-Roman 1000 786432 rf /Ff [
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 18 23 29 35 35 59 55 23 23 23 35 40 18 23 18 20 35 35 35
35 35 35 35 35 35 35 20 20 40 40 40 31 65 51 47 47 51 43 39
51 51 23 27 51 43 63 51 51 39 51 47 39 43 51 51 67 51 51 43
23 20 23 33 35 23 31 35 31 35 31 23 35 35 20 20 35 20 55 35
35 35 35 23 27 20 35 35 51 35 35 31 34 14 34 38 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23
35 35 12 35 35 35 35 13 31 35 23 23 39 39 0 35 35 35 18 0 32
25 23 31 31 35 71 71 0 31 0 23 23 23 23 23 23 23 23 0 23 23
0 23 23 23 71 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 63 0 19 0 0 0
0 43 51 63 22 0 0 0 0 0 47 0 0 0 20 0 0 20 35 51 35 0 0 0 0
] /Times-Roman 1000 1114112 rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 300
TeXDict begin

%%EndSetup
%%Page: 1 1
bop 672 286 a Ff(The)19 b(Jade)g(File)e(System)632 407 y Fe(Herman)12
b(C.)h(Rao,)g(Larry)f(L.)i(Peterson)0 570 y Fd(Personnel)g(and)h(Contact)0
670 y Fc(Herman)c(ChungHwa)f(Rao)0 720 y(Bell)g(Laboratories)0
770 y(Murray)g(Hill,)f(NJ.)0 820 y(herman@ulysses.att.com)0
919 y(Larry)i(L.)g(Peterson)0 969 y(Department)f(of)g(Computer)g(Science)0
1019 y(University)f(of)h(Arizona)0 1069 y(llp@cs.arizona.edu)0
1228 y Fd(Pr)o(oject)k(Description)0 1328 y Fc(Jade)c(is)f(an)g(internet)f
(\256le)h(system)h(that)e(provides)h(a)g(uniform)f(way)0 1378
y(to)j(name)i(and)f(access)h(\256les)f(in)g(an)g(internet)e(environment.)19
b(The)0 1428 y(main)9 b(emphasis)g(in)g(this)f(work)g(has)h(been)g(on)g
(issues)g(of)g(scalabil-)0 1478 y(ity)m(.)23 b(More)14 b(precisely)m(,)g(we)g
(recognize)f(four)g(characteristics)h(of)0 1528 y(scalability:)g(size,)e
(wide)e(area,)i(autonomy)m(,)f(and)g(heterogeneity)m(.)0 1577
y(Owing)i(to)g(size)i(and)f(wide)g(area,)i(techniques)e(such)g(as)h(broad-)0
1627 y(casting,)f(central)f(control,)f(and)h(central)g(resources,)i(which)e
(are)0 1677 y(widely)8 b(adopted)h(by)g(local)g(area)h(network)f(\256le)g
(systems,)h(are)g(not)0 1727 y(adequate)j(for)e(an)h(internet)f(\256le)h
(system.)21 b(An)11 b(internet)g(\256le)h(sys-)0 1777 y(tem)e(must)g(also)g
(support)f(the)h(notion)e(of)i(autonomy)f(because)j(an)0 1827
y(internet)d(is)g(made)i(up)e(by)g(a)i(collection)d(of)h(independent)g(or)o
(gani-)0 1876 y(zations.)16 b(Finally)m(,)11 b(heterogeneity)e(is)i(the)f
(nature)h(of)f(an)h(internet)0 1926 y(\256le)i(system)g(not)f(only)f(because)
j(of)e(its)g(size,)j(but)c(also)i(because)0 1976 y(of)d(the)g(autonomy)f(of)h
(the)h(or)o(ganizations)e(in)h(an)g(internet.)42 2030 y(Jade)h(is)f(a)g
(logical)g(system)g(that)g(integrates)g(a)g(heterogeneous)0
2080 y(collection)15 b(of)h(existing)f(\256le)i(systems.)34
b(It)15 b(does)i(not)e(provide)0 2130 y(any)d(storage)g(of)f(its)g(own;)h(it)
e(only)h(maps)i(\256le)f(names)g(onto)f(\256les)0 2179 y(that)g(are)i(stored)
e(in)g(existing)f(\256le)i(systems.)20 b(These)13 b(underlying)0
2229 y(\256le)g(systems)g(may)g(be)f(heterogeneous)h(in)e(the)i(sense)g(that)
f(they)0 2279 y(support)7 b(dif)o(ferent)h(\256le)g(access)j(protocols)c(for)
h(communications)0 2329 y(between)k(\256le)h(servers)f(and)g(their)f(users.)
21 b(The)13 b(access)h(protocol)0 2379 y(not)d(only)g(provides)g(the)h(key)g
(to)f(access)j(\256le)e(systems,)h(but)e(also)0 2429 y(hides)i(the)g
(heterogeneity)f(of)h(the)g(operating)f(systems)h(and)h(the)0
2478 y(architectures)c(of)g(the)h(hosts)e(where)i(\256le)f(systems)h(are)g
(located.)42 2532 y(Because)c(of)g(autonomy)m(,)g(Jade)g(is)g(designed)g
(under)g(the)g(restric-)0 2582 y(tion)j(that)g(the)h(underlying)e(\256le)j
(systems)f(may)h(not)e(be)i(modi\256ed)0 2632 y(in)7 b(software)g(nor)g
(changed)g(in)g(administration.)12 b(The)c(underlying)996 570
y(\256le)j(systems)g(treat)g(an)h(instance)f(of)f(the)h(Jade)h(File)f(System)
g(as)h(a)996 619 y(regular)e(\256le)g(system)h(user)f(without)f(any)h
(special)h(privilege.)1037 671 y(Rather)c(than)f(providing)f(a)i(global)f
(name)i(space,)h(Jade)e(permits)996 721 y(each)15 b(user)g(to)f(de\256ne)h(a)
g(private)e(name)j(space.)29 b(A)14 b(given)g(user)996 771
y(has)j(the)g(same)i(view)e(of)g(heterogeneous,)i(internet-wide)d(\256le)996
821 y(systems,)g(regardless)f(of)f(what)g(machine)h(he)g(or)f(she)h(is)f
(using.)996 870 y(In)j(other)g(words,)i(Jade)f(is)g(partitioned)d(into)h(a)i
(collection)e(of)996 920 y(per)o(-user)n(,)c(autonomous,)e(logical)g(\256le)h
(systems,)h(each)g(of)f(which)996 970 y(consists)h(of)h(a)g(set)g(of)f
(physical)h(\256le)f(systems)i(and)f(a)g(dedicated)996 1020
y(logical)6 b(name)j(space.)15 b(W)n(ith)7 b(the)g(per)o(-user)h(approach,)g
(Jade)h(fully)996 1070 y(decentralizes)15 b(the)f(construction)f(and)i
(maintenance)g(of)f(name)996 1120 y(spaces)d(from)g(system)f(administrators)f
(to)h(individual)e(users.)1037 1171 y(T)m(o)17 b(facilitate)e(\256le)h
(sharing,)h(Jade)g(allows)f(one)g(logical)f(\256le)996 1221
y(system)10 b(to)f(be)h(mounted)f(into)f(another)h(Jade)i(\256le)f(system,)g
(in)f(the)996 1271 y(same)j(way)e(that)g(a)h(physical)f(\256le)h(system)g
(can)g(be)g(mounted)e(into)996 1321 y(a)i(Jade)h(\256le)g(system.)18
b(This)11 b(allows)f(each)i(user)g(to)e(transparently)996 1371
y(name)h(and)f(access)j(\256les)d(through)f(another)h(user)r(')n(s)f(name)j
(space.)1037 1422 y(T)m(o)17 b(support)f(a)h(variety)f(of)h(access)i
(paradigms)e(and)g(to)f(en-)996 1472 y(courage)8 b(collaboration)d(among)j
(users,)h(Jade)f(re\256nes)h(the)e(mount)996 1522 y(operation)f(provided)h
(by)g(Unix-like)f(\256le)h(systems)i(to)e(allow)g(mul-)996
1572 y(tiple)g(\256le)i(systems,)h(either)e(logical)f(or)h(physical,)h(to)f
(be)h(mounted)996 1622 y(under)k(a)i(single)e(directory)m(.)26
b(This)14 b(feature)h(is)e(called)i(the)f(mul-)996 1672 y(tiple)f(mount.)25
b(W)n(ith)14 b(the)f(multiple)g(mount,)h(users)h(are)f(able)h(to)996
1721 y(group)8 b(\256les)i(from)f(dif)o(ferent)g(\256le)h(systems)g(under)f
(one)g(directory)996 1771 y(and)f(transparently)f(locate)i(\256les)f
(replicated)g(on)g(several)h(\256le)f(sys-)996 1821 y(tems.)14
b(Moreover)n(,)9 b(a)e(set)h(of)f(users)g(are)h(able)f(to)g(share)h(a)f
(collection)996 1871 y(of)12 b(\256les)h(stored)f(on)g(dif)o(ferent)g(\256le)
h(systems)g(without)e(worrying)996 1921 y(about)e(interference)i(from)f(one)g
(another)n(.)1037 1972 y(Jade)h(employs)e(whole)g(\256le)g(caching.)16
b(Opening)8 b(a)i(\256le)g(causes)996 2022 y(it)f(to)g(be)h(cached)i(in)d
(its)g(entirety)m(,)h(on)f(some)i(nearby)f(disk.)15 b(Reads)996
2072 y(and)i(writes)g(are)h(directed)f(to)g(the)g(cached)i(copy)e(without)e
(in-)996 2122 y(volving)c(the)i(original)f(servers.)25 b(The)14
b(valid)f(cached)h(copy)f(can)996 2172 y(be)i(used)h(for)e(further)g(opens)i
(as)f(well.)30 b(Because)16 b(of)f(the)g(high)996 2222 y(cost)h(of)g
(accessing)h(remote)g(servers,)i(complete)d(\256le)h(caching)996
2271 y(is)12 b(needed)h(to)f(reduce)h(the)g(network)e(traf)o(\256c;)j(it)e
(is)g(essential)h(for)996 2321 y(good)c(performance)i(in)f(an)h(internet.)996
2451 y Fb(Status)996 2532 y Fc(A)16 b(prototype)f(of)h(Jade)i(has)f(been)g
(implemented)f(to)g(examine)996 2582 y(and)11 b(validate)g(its)g(design.)19
b(The)12 b(prototype)e(consists)h(interfaces)996 2632 y(to)j(the)g(Unix)g
(File)g(System,)i(the)f(Sun)f(Network)g(File)g(System,)p eop
%%Page: 2 2
bop 0 154 a Fc(and)11 b(the)g(File)g(T)o(ransfer)g(Protocol.)17
b(W)m(e)11 b(are)h(currently)e(working)0 203 y(on)f(the)h(implementation)f
(of)g(the)h(interface)g(to)f(the)h(Andrew)g(File)0 253 y(System.)0
393 y Fd(Refer)o(ences)0 486 y Fc([1])20 b(C.)13 b(H.)g(Rao)f(and)g(L.)i(L.)f
(Peterson,)g(\252Accessing)h(\256les)e(in)g(an)69 535 y(internet:)h(The)e
(Jade)g(\256le)g(system,\272)g(T)m(ech.)h(Rep.)e(90-30)f(\(re-)69
585 y(vised\),)k(Department)f(of)g(Computer)f(Science,)j(University)69
635 y(of)9 b(Arizona,)g(1990.)k(Submitted)7 b(to)i(IEEE)h(T)o(ransactions)f
(on)69 685 y(Software)h(Engineering.)0 768 y([2])20 b(C.)10
b(H.)g(Rao,)g Fa(The)g(Jade)g(File)f(System)p Fc(.)14 b(PhD)c(thesis,)f
(Depart-)69 818 y(ment)18 b(of)f(Computer)g(Science,)k(University)16
b(of)h(Arizona,)69 868 y(1991.)0 951 y([3])j(C.)10 b(H.)h(Rao,)g(\252T)m
(owards)g(a)f(national)f(collaboratory:)k(An)d(in-)69 1000
y(ternet)d(\256le)g(system,\272)i(in)e Fa(Pr)n(oceedings)h(of)e(the)h(Second)
h(Inter)o(-)69 1050 y(national)h(Confer)n(ence)j(on)f(System)g(Integration)p
Fc(,)f(pp.)h(489\261)69 1100 y(498,)f(1992.)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF