X /newproc proc1 length proc2 length add array def
X newproc 0 proc1 putinterval
X newproc proc1 length proc2 putinterval
X newproc cvx
X} bind def
X/ngrayt 256 array def
X/nredt 256 array def
X/nbluet 256 array def
X/ngreent 256 array def
X /gryt FMLOCAL
X /blut FMLOCAL
X /grnt FMLOCAL
X /redt FMLOCAL
X /indx FMLOCAL
X /cynu FMLOCAL
X /magu FMLOCAL
X /yelu FMLOCAL
X /k FMLOCAL
X /u FMLOCAL
X/colorsetup {
X currentcolortransfer
X /gryt exch def
X /blut exch def
X /grnt exch def
X /redt exch def
X 0 1 255 {
X /indx exch def
X /cynu 1 red indx get 255 div sub def
X /magu 1 green indx get 255 div sub def
X /yelu 1 blue indx get 255 div sub def
X /k cynu magu min yelu min def
X /u k currentundercolorremoval exec def
X nredt indx 1 0 cynu u sub max sub redt exec put
X ngreent indx 1 0 magu u sub max sub grnt exec put
X nbluet indx 1 0 yelu u sub max sub blut exec put
X ngrayt indx 1 k currentblackgeneration exec sub gryt exec put
X } for
X {255 mul cvi nredt exch get}
X {255 mul cvi ngreent exch get}
X {255 mul cvi nbluet exch get}
X {255 mul cvi ngrayt exch get}
X setcolortransfer
X {pop 0} setundercolorremoval
X {} setblackgeneration
X } bind def
X /tran FMLOCAL
X/fakecolorsetup {
X /tran 256 string def
X 0 1 255 {/indx exch def
X tran indx
X red indx get 77 mul
X green indx get 151 mul
X blue indx get 28 mul
X add add 256 idiv put} for
X currenttransfer
X {255 mul cvi tran exch get 255.0 div}
X exch Fmcc settransfer
X} bind def
X/BITMAPCOLOR {
X /d 8 def
X gsave
X translate rotate scale /h exch def /w exch def
X /bitmapsave save def
X colorsetup
X /is w d wbytes string def
X /cf currentfile def
X w h d [w 0 0 h neg 0 h]
X {cf is readhexstring pop} {is} {is} true 3 colorimage
X bitmapsave restore
X grestore
X } bind def
X/BITMAPCOLORc {
X /d 8 def
X gsave
X translate rotate scale /h exch def /w exch def
X /lb w d wbytes def
X sl lb lt {lb ms} if
X /bitmapsave save def
X colorsetup
X /is im 0 lb getinterval def
X ws 0 lb getinterval is copy pop
X /cf currentfile def
X w h d [w 0 0 h neg 0 h]
X {ip} {is} {is} true 3 colorimage
X bitmapsave restore
X grestore
X } bind def
X/BITMAPTRUECOLORc {
X gsave
X translate rotate scale /h exch def /w exch def
X /bitmapsave save def
X
X /is w string def
X
X ws 0 w getinterval is copy pop
X /cf currentfile def
X w h 8 [w 0 0 h neg 0 h]
X {ip} {gip} {bip} true 3 colorimage
X bitmapsave restore
X grestore
X } bind def
X/BITMAPTRUECOLOR {
X gsave
X translate rotate scale /h exch def /w exch def
X /bitmapsave save def
X /is w string def
X /gis w string def
X /bis w string def
X /cf currentfile def
X w h 8 [w 0 0 h neg 0 h]
X { cf is readhexstring pop }
X { cf gis readhexstring pop }
X { cf bis readhexstring pop }
X true 3 colorimage
X bitmapsave restore
X grestore
X } bind def
X/BITMAPTRUEGRAYc {
X gsave
X translate rotate scale /h exch def /w exch def
X /bitmapsave save def
X
X /is w string def
X
X ws 0 w getinterval is copy pop
X /cf currentfile def
X w h 8 [w 0 0 h neg 0 h]
X {ip gip bip w gray} image
X bitmapsave restore
X grestore
X } bind def
X/ww FMLOCAL
X/r FMLOCAL
X/g FMLOCAL
X/b FMLOCAL
X/i FMLOCAL
X/gray {
X /ww exch def
X /b exch def
X /g exch def
X /r exch def
X 0 1 ww 1 sub { /i exch def r i get .299 mul g i get .587 mul
X b i get .114 mul add add r i 3 -1 roll floor cvi put } for
X r
X } bind def
X/BITMAPTRUEGRAY {
X gsave
X translate rotate scale /h exch def /w exch def
X /bitmapsave save def
X /is w string def
X /gis w string def
X /bis w string def
X /cf currentfile def
X w h 8 [w 0 0 h neg 0 h]
X { cf is readhexstring pop
X cf gis readhexstring pop
X cf bis readhexstring pop w gray} image
X bitmapsave restore
X grestore
X } bind def
X/BITMAPGRAY {
X 8 {fakecolorsetup} COMMONBITMAP
X } bind def
X/BITMAPGRAYc {
X 8 {fakecolorsetup} COMMONBITMAPc
X } bind def
X/ENDBITMAP {
X } bind def
Xend
X /ALDsave FMLOCAL
X /ALDmatrix matrix def ALDmatrix currentmatrix pop
X/StartALD {
X /ALDsave save def
X savematrix
X ALDmatrix setmatrix
X } bind def
X/InALD {
X restorematrix
X } bind def
X/DoneALD {
X ALDsave restore
X } bind def
X%%EndProlog
X%%BeginSetup
X(3.0) FMVERSION
X1 1 612 792 0 1 9 FMDOCUMENT
X0 0 /Times-Italic FMFONTDEFINE
X1 0 /Times-Bold FMFONTDEFINE
X2 0 /Times-Roman FMFONTDEFINE
X3 0 /Helvetica FMFONTDEFINE
X4 0 /Helvetica-Bold FMFONTDEFINE
X32 FMFILLS
X0 0 FMFILL
X1 0.1 FMFILL
X2 0.3 FMFILL
X3 0.5 FMFILL
X4 0.7 FMFILL
X5 0.9 FMFILL
X6 0.97 FMFILL
X7 1 FMFILL
X8 <0f1e3c78f0e1c387> FMFILL
X9 <0f87c3e1f0783c1e> FMFILL
X10 <cccccccccccccccc> FMFILL
X11 <ffff0000ffff0000> FMFILL
X12 <8142241818244281> FMFILL
X13 <03060c183060c081> FMFILL
X14 <8040201008040201> FMFILL
X16 1 FMFILL
X17 0.9 FMFILL
X18 0.7 FMFILL
X19 0.5 FMFILL
X20 0.3 FMFILL
X21 0.1 FMFILL
X22 0.03 FMFILL
X23 0 FMFILL
X24 <f0e1c3870f1e3c78> FMFILL
X25 <f0783c1e0f87c3e1> FMFILL
X26 <3333333333333333> FMFILL
X27 <0000ffff0000ffff> FMFILL
X28 <7ebddbe7e7dbbd7e> FMFILL
X29 <fcf9f3e7cf9f3f7e> FMFILL
X30 <7fbfdfeff7fbfdfe> FMFILL
X%%EndSetup
X%%Page: "1" 1
X%%BeginPaperSize: Letter
X%%EndPaperSize
X612 792 0 FMBEGINPAGE
X72 63 540 567 R
X7 X
X0 K
XV
X0 12 Q
X0 X
X(School of Computer Science) 238.21 559 T
X(Carnegie Mellon University) 238.71 545 T
X(Pittsbur) 215.11 531 T
X(gh, Pennsylvania 15213-3890) 253.32 531 T
X1 F
X(Abstract) 283.69 481 T
X2 10 Q
X0.47 (The Alex filesystem provides users and applications transparent read access to files in Internet anony-) 99 456.33 P
X0.5 (mous FTP sites. Today there are thousands of anonymous FTP sites with a total of a few million files) 99 444.33 P
X0.01 (and roughly a terabyte of data. The standard approach to accessing these files involves logging in to the) 99 432.33 P
X0.38 (remote machine. This means that an application can not access remote files and that users do not have) 99 420.33 P
X0.37 (any of their aliases or local tools available when connected to a remote site. Users who want to use an) 99 408.33 P
X0.2 (application on a remote file must first manually make a local copy of the file. Not only is this inconve-) 99 396.33 P
X0.51 (nient, it creates two more problems. First, there is no mechanism for automatically updating this local) 99 384.33 P
X0.78 (copy when the remote file changes. The users must keep track of where they get their files from and) 99 372.33 P
X-0.18 (check to see if there are updates, and then fetch these. Second, many different users at the same site may) 99 360.33 P
X(have made copies of the same remote file, thus wasting disk space.) 99 348.33 T
X0.08 (Alex addresses the problems with the above approach while maintaining compatibility with the existing) 99 328.33 P
X0.22 (FTP protocol so that the large collection of currently available files can be accessed. To get reasonable) 99 316.33 P
X1.27 (performance, long term file caching must be used. Thus consistency must be addressed. Traditional) 99 304.33 P
X-0.19 (solutions to the cache consistency problem do not work in the Internet FTP domain: callbacks are not an) 99 292.33 P
X0.05 (option as the FTP protocol has no provisions for this, and polling over the Internet is slow. Fortunately,) 99 280.33 P
X0.08 (the usage of these files is also not traditional and lends itself to a new approach. Alex relaxes file cache) 99 268.33 P
X0.08 (consistency semantics, on a per file basis, and uses special caching algorithms that take into account the) 99 256.33 P
X0.12 (properties of the files and of the network. This approach allows a simple stateless filesystem to scale to) 99 244.33 P
X(the size of the Internet.) 99 232.33 T
X2 8 Q
X0.31 (This research was sponsored in part by The Defense Advanced Research Projects Agency) 99 155.67 P
X0.31 (, Information Science and T) 389.52 155.67 P
X0.31 (echnology) 479.69 155.67 P
X1.46 (Of) 99 145.67 P
X1.46 (\336ce, under the title \322Research on Parallel Computing\323, ARP) 107.29 145.67 P
X1.46 (A Order No. 7330, issued by DARP) 310.59 145.67 P
X1.46 (A/CMO under Contract) 434.12 145.67 P
X0.19 (MDA972-90-C-0035 and in part by the National Science Foundation under grant number ECD-8907068. The views and conclu-) 99 135.67 P
X0.24 (sions contained in this document are those of the author and should not be interpreted as representing the of) 99 125.67 P
X0.24 (\336cial policies, either) 447.44 125.67 P
X(expressed or implied, of the U.S. Government.) 99 115.67 T
X117 576 477 720 R
X7 X
XV
X1 14 Q
X0 X
X(Alex - a Global Filesystem) 218.88 672.67 T
X0 12 Q
X(V) 266.3 646 T
X(incent Cate) 272.74 646 T
X(vac@cs.cmu.edu) 256.52 620 T
XFMENDPAGE
X%%EndPage: "1" 2
X%%Page: "2" 2
X612 792 0 FMBEGINPAGE
X81 738 522 748.01 R
X7 X
X0 K
XV
X81 45 522 55.01 R
XV
X90 72 522 720 R
XV
X1 12 Q
X0 X
X(1. Introduction) 267.35 712 T
X2 10 Q
X0.71 (T) 90 683.33 P
X0.71 (oday it is possible to access a tremendous amount of data in FTP archives on the Internet. However) 95.41 683.33 P
X0.71 (, the) 504.08 683.33 P
X0.79 (current method of accessing this data is primitive. Users must run the FTP program and then login to the) 90 671.33 P
X0.2 (remote machine. Once they have done this, they can not use any of their local tools or aliases. Applications) 90 659.33 P
X0.2 (on a user) 90 647.33 P
X0.2 (\325) 126.86 647.33 P
X0.2 (s machine can not access \336les on remote machines, the user must manually copy them \336rst. If the) 129.64 647.33 P
X0.03 (remote \336le changes the user must \336nd out somehow and make another copy) 90 635.33 P
X0.03 (. Since each user is making cop-) 392.78 635.33 P
X0.24 (ies, there may be many copies of a \336le at a given site. Since a user can not easily tell if their own copy of a) 90 623.33 P
X0.35 (\336le is out of date they may use an old version of a \336le. Thus the existing mechanism is cumbersome, slow) 90 611.33 P
X0.35 (,) 519.5 611.33 P
X(inef) 90 599.33 T
X(\336cient, and provides only limited access to remote data.) 105.36 599.33 T
X0.29 (T) 90 575.33 P
X0.29 (o address this problem, and to explore some ideas about wide area \336lesystems, I am designing and imple-) 95.41 575.33 P
X0.13 (menting a \336lesystem called) 90 563.33 P
X1 F
X0.13 (Alex) 202.13 563.33 P
X2 F
X0.13 (. The goal of this system is to let users access \336les in FTP sites all over the) 221.56 563.33 P
X1.05 (world just as they access \336les on their local system. Ideally) 90 551.33 P
X1.05 (, both the way it is used and its performance) 336.04 551.33 P
X(should match that of a local \336lesystem.) 90 539.33 T
X0.05 (Providing transparent access to remote sites requires solutions to the problems of naming, heterogeneity and) 90 515.33 P
X0.11 (performance. While caching is the key to performance, this leads to the additional problem of cache consis-) 90 503.33 P
X(tency) 90 491.33 T
X(. I will describe how these problems are addressed in Alex.) 111 491.33 T
X2.02 (The name) 90 467.33 P
X1 F
X2.02 (Alex) 136.22 467.33 P
X2 F
X2.02 ( comes from the ancient Library of Alexandria. Alexandria gathered information from) 155.65 467.33 P
X(around the world into one easy to access location. Alex does an analogous thing in a very modern way) 90 455.33 T
X(.) 498.77 455.33 T
X-0.18 (In this paper) 90 431.33 P
X-0.18 (, I describe the Alex architecture, how users interact with it, and what they need to understand to) 139.21 431.33 P
X0.82 (use it. I then describe the current NFS server implementation. After this I discuss related systems. Next I) 90 419.33 P
X-0.11 (describe some of the useful and novel applications that can be built on top of this \336lesystem. I conclude with) 90 407.33 P
X(the current status of Alex, some conclusions, and my research agenda.) 90 395.33 T
X1 12 Q
X(2. User View of Alex) 253.88 346 T
X2 10 Q
X0.41 (One of my goals was to make Alex easy to use and think about. The hope is to provide a tool with a clean) 90 317.33 P
X(and simple abstraction.) 90 305.33 T
X1 12 Q
X(2.1. Standard Filesystem Interface) 90 274 T
X2 10 Q
X0.17 (T) 90 245.33 P
X0.17 (o a user or application, Alex is just a normal \336lesystem. Any command that works on local \336les will work) 95.41 245.33 P
X0.03 (on Alex \336les. Since Alex is a \336lesystem, nothing needs to be recompiled and no libraries are changed. Thus,) 90 233.33 P
X(users can apply all of their existing skills and tools for using \336les.) 90 221.33 T
X1 12 Q
X(2.2. Naming) 90 190 T
X2 10 Q
X0.21 (The user sees a \336lesystem with a hierarchical global name space. At the top level \050) 90 161.33 P
X1 F
X0.21 (/alex) 422.85 161.33 P
X2 F
X0.21 (\051 there are top-level) 442.84 161.33 P
X0.17 (Internet domains like \322) 90 149.33 P
X1 F
X0.17 (edu) 182.4 149.33 P
X2 F
X0.17 (\323, \322) 197.95 149.33 P
X1 F
X0.17 (com) 212 149.33 P
X2 F
X0.17 (\323, \322) 229.76 149.33 P
X1 F
X0.17 (uk) 243.8 149.33 P
X2 F
X0.17 (\323, and \322) 254.92 149.33 P
X1 F
X0.17 (jp) 286.07 149.33 P
X2 F
X0.17 (\323. Each component of the hostname becomes a directory) 294.95 149.33 P
X0.04 (name as shown in Figure 1. Then the remote path is added at the end. If the user does a \322) 90 137.33 P
X1 F
X0.04 (ls /alex/edu/berke-) 444.02 137.33 P
X0.88 (ley) 90 125.33 P
X2 F
X0.88 (\323 he sees some machine names such as \322) 102.21 125.33 P
X1 F
X0.88 (ucbvax) 271.31 125.33 P
X2 F
X0.88 (\323 and \322) 301.86 125.33 P
X1 F
X0.88 (sprite) 331.91 125.33 P
X2 F
X0.88 (\323 and some directories on) 356.34 125.33 P
X1 F
X0.88 (berkeley) 465.36 125.33 P
X0.88 (.edu) 501.45 125.33 P
X2 F
X0.88 (.) 519.5 125.33 P
X0.57 (From the \322) 90 113.33 P
X1 F
X0.57 (ls) 134.45 113.33 P
X2 F
X0.57 (\323 it is not clear what is where. Alex paths do not use any special characters to delineating the) 141.12 113.33 P
X(host name.) 90 101.33 T
XFMENDPAGE
X%%EndPage: "2" 3
X%%Page: "3" 3
X612 792 0 FMBEGINPAGE
X81 738 522 748.01 R
X7 X
X0 K
XV
X81 45 522 55.01 R
XV
X90 72 522 720 R
XV
X1 12 Q
X0 X
X(2.3. Contr) 90 506 T
X(ol of Consistency) 141.42 506 T
X2 10 Q
X0.03 (By default, the system guarantees to the user that the only updates that might not yet be reflected locally are) 90 477.33 P
X0.01 (ones that have happened in the last 10% of the reported age of the file. For example, if the user sees a file as) 90 465.33 P
X0.03 (being 10 hours old the system promises that the data given to the user will be at most 1 hour stale. If a file is) 90 453.33 P
X0.06 (shown as being last modified 10 days ago, the file may be up to 1 day stale. There is a maximum of 1 month) 90 441.33 P
X0.05 (and a minimum of 5 minutes. The user can override these rules and ask for an update of any directory at any) 90 429.33 P
X(time.) 90 417.33 T
X1 12 Q
X(3. Alex Implementation) 245.87 368 T
X2 10 Q
X0.62 (As shown in Figure 2, Alex is currently implemented as an NFS server) 90 339.33 P
X0.62 (. Alex uses the FTP protocol [Pos-) 380.31 339.33 P
X0.09 (tel85] to talk to Internet FTP sites. Machines on the local area net use the NFS protocol [Nowicki89] to talk) 90 327.33 P
X0.18 (to the Alex server) 90 315.33 P
X0.18 (. NFS was chosen because it makes it trivial to add Alex to a wide range of machines. On) 161.31 315.33 P
X0.61 (most machines, adding Alex just involves using a simple command called mount. It is so easy) 90 303.33 P
X0.61 (, that a user) 474.1 303.33 P
X1.07 (who has none of my software, and is just talking with me on the phone, can start using Alex in about a) 90 291.33 P
X1.19 (minute. AFS [Howard87] scales to more clients per server but for the expected number of simultaneous) 90 279.33 P
X0.38 (users it was felt that NFS would work \336ne. Another motivation for choosing NFS was that it is simple and) 90 267.33 P
X0.71 (stateless. Because NFS is stateless it is \336ne if Alex dies and restarts \050for example, during installation of a) 90 255.33 P
X(new version of the server\051. Since this takes only a couple of seconds, none of the clients notice.) 90 243.33 T
X1 12 Q
X(3.1. Backgr) 90 212 T
X(ound) 148.08 212 T
X2 10 Q
X0.01 (A few important characteristics of the Alex domain motivated my design choices. Key to the Alex approach) 90 183.33 P
X0.2 (is using existing FTP sites without any change to the FTP protocol. This determines a number of aspects of) 90 171.33 P
X(the domain.) 90 159.33 T
X0.92 (FTP) 90 135.33 P
X0.92 (, like AFS [Howard87], gives us whole \336le transfer) 106.11 135.33 P
X0.92 (. The FTP protocol does not do callbacks as does) 317.76 135.33 P
X0.54 (AFS. Thus, Alex is fully responsible for checking the consistency of its cache with the FTP site. The FTP) 90 123.33 P
X0.01 (protocol returns directory information as a unit \050not one \336le at a time\051. This, like whole \336le transfer) 90 111.33 P
X0.01 (, reduces) 486.47 111.33 P
X0.04 (the number of times you pay the network latency cost. This is a big performance win in a wide area network) 90 99.33 P
X(as big as the Internet.) 90 87.33 T
X90 72 522 720 C
X99.6 558 512.4 710 C
X99.6 558 512.4 710 R
X7 X
X0 K
XV
X108.6 583 504.6 691 R
X5 X
XV
X0.5 H
X2 Z
X7 X
XN
X225.6 610 396.6 637 R
XV
X0 X
XN
X153.6 655 252.6 682 R
X7 X
XV
X0 X
XN
X378.6 655 459.6 682 R
X7 X
XV
X0 X
XN
X3 12 Q
X(ftp.cse.ucsc.edu) 161.34 664.26 T
X(/alex/edu/ucsc/cse/ftp/pub/tr) 233.34 621.63 T
X(FTP Host) 135.6 639.63 T
X(Remote Name) 418.29 639.63 T
X(Alex Name) 274.95 594.63 T
X(/pub/tr) 394.01 664.26 T
X252.82 646.36 260.33 637 249 640.96 250.91 643.66 4 Y
XV
X234.6 655 250.92 643.65 2 L
XN
X379.74 640.7 368.33 637 376.05 646.19 377.9 643.45 4 Y
XV
X395.34 655 377.91 643.44 2 L
XN
X1 10 Q
X(Figure 1. Example Alex Name) 243.6 566 T
X90 72 522 720 C
X0 0 612 792 C
XFMENDPAGE
X%%EndPage: "3" 4
X%%Page: "4" 4
X612 792 0 FMBEGINPAGE
X81 738 522 748.01 R
X7 X
X0 K
XV
X81 45 522 55.01 R
XV
X90 72 522 720 R
XV
X2 10 Q
X0 X
X-0.12 (Also important are characteristics of the domain FTP operates in. This domain is truly heterogeneous. While) 90 452.33 P
X0.15 (FTP hides some of this it also exposes plenty) 90 440.33 P
X0.15 (. Both the syntax for specifying names and the directory infor-) 270.99 440.33 P
X0.03 (mation returned varies among the dif) 90 428.33 P
X0.03 (ferent types of FTP sites. Another problem is that a noticeable percent-) 237.94 428.33 P
X(age of the FTP sites are either down or inaccessible at any one time.) 90 416.33 T
X0.65 (The type of data stored in FTP sites and the access patterns for this data are dif) 90 392.33 P
X0.65 (ferent from that of normal) 415.03 392.33 P
X0.13 (user \336les. The \336les change much less often than do normal \336les. Another important aspect of this domain is) 90 380.33 P
X(that users frequently tolerate using stale copies of \336les.) 90 368.33 T
X1 12 Q
X(3.2. Naming) 90 337 T
X2 10 Q
X0.27 (A path name in Alex has three parts. The \336rst is \322/alex\323. The second part is an Internet host name, with the) 90 308.33 P
X0.78 (most signi\336cant piece \336rst \050such as \322edu\323\051 and the \322.\323s replaced by \322/\323s. The third part is the path on the) 90 296.33 P
X0.38 (remote machine relative to the ftp starting directory on that machine. An example path is) 90 284.33 P
X1 F
X0.38 (/alex/edu/berke-) 453.15 284.33 P
X(ley/pub/virus.patch) 90 272.33 T
X2 F
X(.) 172.48 272.33 T
X0.06 (T) 90 248.33 P
X0.06 (o resolve a name Alex \336rst matches with the longest matching hostname it knows about, in a fashion simi-) 95.41 248.33 P
X0.04 (lar to Sprite\325) 90 236.33 P
X0.04 (s pre\336x tables [W) 139.9 236.33 P
X0.04 (elch86]. Next, it sees if the rest of the path works. If it does not, Alex will cre-) 209.78 236.33 P
X0.29 (ate a possible hostname and call a nameserver) 90 224.33 P
X0.29 (. This approach seems to work almost everywhere. However) 275.52 224.33 P
X0.29 (,) 519.5 224.33 P
X-0.17 (there is an ambiguity in the above name in that) 90 212.33 P
X1 F
X-0.17 (pub) 278.23 212.33 P
X2 F
X-0.17 ( is a directory on) 294.9 212.33 P
X1 F
X-0.17 (berkeley) 363.75 212.33 P
X-0.17 (.edu) 399.84 212.33 P
X2 F
X-0.17 ( and there is a) 417.89 212.33 P
X1 F
X-0.17 (pub.berke-) 475.08 212.33 P
X0.01 (ley) 90 200.33 P
X0.01 (.edu) 101.66 200.33 P
X2 F
X0.01 ( \050which both map onto the same name in Alex\051. Fortunately this does not happen often, in fact, pub.-) 119.71 200.33 P
X(berkeley) 90 188.33 T
X(.edu is the only site found so far for which this does not work \050and it does allow FTP anyway\051.) 123.76 188.33 T
X-0.25 (One problem with this type of naming is that a user who has set up his account to search the current directory) 90 164.33 P
X-0.18 (for commands before other places such as \322/bin\323 gets very poor performance at times. For example, if such a) 90 152.33 P
X0.13 (user wants to run \322ls\323 while in /alex/edu/berkeley the shell will check to see if there is a /alex/edu/berkeley/) 90 140.33 P
X0.04 (ls. This causes the Alex server to check for a host called \322ls.berkeley) 90 128.33 P
X0.04 (.edu\323 \050assuming there was no \322ls\323 \336le\051.) 364.64 128.33 P
X0.12 (Doing this takes a call to a remote nameserver) 90 116.33 P
X0.12 (, which is expensive. As long as they know this, users can set) 275.43 116.33 P
X(up their search path to avoid this problem \050they should also change their path for security reasons\051.) 90 104.33 T
X90 72 522 720 C
X90 459 522 720 C
X89.49 459 522.51 720 R
X7 X
X0 K
XV
X90 450 157.57 90 255.92 602 G
X4 H
X2 Z
X4 X
X90 450 157.57 90 255.92 602 A
X1 14 Q
X0 X
X(Alex NFS Server) 296.49 583.62 T
X(Machines on Local Ar) 162.53 541.94 T
X(ea Net) 294.81 541.94 T
X( Internet FTP Sites) 389.62 511.62 T
X270.23 650.01 260.48 657 272.46 656.23 271.34 653.12 4 Y
X1 X
XV
X298.05 647.18 307.79 640.18 295.82 640.95 296.93 644.06 4 Y
XV
X271.35 653.12 296.95 644.06 2 L
X1 H
X0 Z
XN
X380.27 640.24 368.48 638 377.3 646.15 378.78 643.2 4 Y
XV
X428.7 671.76 440.48 674 431.67 665.85 430.18 668.81 4 Y
XV
X378.79 643.2 430.19 668.81 2 L
XN
X278.37 592.12 266.88 588.66 274.78 597.68 276.58 594.9 4 Y
XV
X297.7 612.19 309.19 615.65 301.29 606.63 299.49 609.41 4 Y
XV
X276.58 594.9 299.5 609.4 2 L
XN
X378.18 612.94 368.48 620.01 380.45 619.15 379.31 616.04 4 Y
XV
X457.78 591.07 467.48 584.01 455.51 584.86 456.64 587.97 4 Y
XV
X379.33 616.04 456.66 587.96 2 L
XN
X479.17 653.46 501.4 653.01 501.4 617.4 479.17 619.32 4 Y
X4 X
XV
X0.25 H
X2 Z
X0 X
XN
X501.4 653.01 512.45 655.9 512.45 627.79 501.4 617.4 4 Y
X3 X
XV
X0 X
XN
X512.45 655.9 491.43 656 479.17 653.46 501.4 653.01 4 Y