home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-01-16 | 92.0 KB | 5,190 lines |
- Newsgroups: comp.sources.misc
- From: youki-k@is.aist-nara.ac.jp (Youki Kadobayashi)
- Subject: v41i091: wwfs - WorldWide File System, Part06/22
- Message-ID: <1994Jan17.021201.8809@sparky.sterling.com>
- X-Md4-Signature: d0b9781bbeb1f9010ff1e34fc139bfea
- Sender: kent@sparky.sterling.com (Kent Landfield)
- Organization: Sterling Software
- Date: Mon, 17 Jan 1994 02:12:01 GMT
- Approved: kent@sparky.sterling.com
-
- Submitted-by: youki-k@is.aist-nara.ac.jp (Youki Kadobayashi)
- Posting-number: Volume 41, Issue 91
- Archive-name: wwfs/part06
- Environment: UNIX, inet
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then feed it
- # into a shell via "sh file" or similar. To overwrite existing files,
- # type "sh file -c".
- # Contents: doc/wwftp.ps mule/mule.el-diff wwalk/wwalk
- # Wrapped by kent@sparky on Sun Jan 16 17:48:23 1994
- PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin:$PATH ; export PATH
- echo If this archive is complete, you will see the following message:
- echo ' "shar: End of archive 6 (of 22)."'
- if test -f 'doc/wwftp.ps' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'doc/wwftp.ps'\"
- else
- echo shar: Extracting \"'doc/wwftp.ps'\" \(67804 characters\)
- sed "s/^X//" >'doc/wwftp.ps' <<'END_OF_FILE'
- X%!PS-Adobe-2.0
- X%%Creator: /usr/local/tex/dvi2ps-1.7j
- X%%Title: wwftp.dvi
- X%%Pages: (atend)
- X%%BoundingBox: 0 0 595 842
- X%%DocumentPaperSizes: A4
- X%%Orientation: Portrait
- X%%EndComments
- X%%BeginFile: /usr/local/lib/dvi2ps/tex.ps.nopack
- X%
- X/TeXDict 200 dict def
- XTeXDict begin
- X/inch {
- X72 mul
- X} bind def
- X/largepaperarray [
- X/letter /legal /11x17
- X/b4 /b5 /a5 /a4 /a3
- X] def
- X/smallpaperarray [
- X/note dup where {
- Xpop
- X}{
- Xpop /lettersmall dup where {
- Xpop
- X}{
- Xpop /letter
- X} ifelse
- X} ifelse
- X/legal /11x17
- X/b4 /b5 /a5
- X/a4small dup where {
- Xpop
- X}{
- Xpop /note dup where {
- Xpop
- X}{
- Xpop /a4
- X} ifelse
- X} ifelse
- X/a3
- X] def
- X/setpaper {
- Xdup where papertray and {
- Xexch get exec
- X} if
- X} bind def
- X/trayarray [
- X/lettertray /legaltray /11x17tray
- X/b4tray /b5tray /a5tray /a4tray /a3tray
- X] def
- X/settray {
- Xdup statusdict exch known {
- X{
- Xstatusdict begin load exec end
- X} stopped {
- X$error /newerror get {
- X$error /errorname get /rangecheck eq {
- X(Tray not found, using default tray.) print flush
- X/papertray false def
- X}{
- Xhandleerror
- X} ifelse
- X$error /newerror false put
- X} if
- X} if
- X}{
- Xpop
- X} ifelse
- X} bind def
- X/papertray true def
- X/widtharray [
- X8.5 inch 8.5 inch 11 inch
- X9.84 inch 6.93 inch
- X5.83 inch 8.27 inch 11.69 inch
- X] def
- X/heightarray [
- X11 inch 14 inch 17 inch
- X13.9 inch 9.84 inch
- X8.27 inch 11.69 inch 16.54 inch
- X] def
- X/xoffset 0 def
- X/yoffset 0 def
- X/landscape false def
- X/pagesetup {
- Xdup widtharray exch get /paperwidth exch def
- Xdup heightarray exch get /paperheight exch def
- Xdup trayarray exch get settray
- Xlarge {largepaperarray}{smallpaperarray} ifelse
- Xexch get setpaper
- X} bind def
- X/@letter {0 pagesetup} def
- X/@legal {1 pagesetup} def
- X/@tabloid {2 pagesetup} def
- X/@b4 {3 pagesetup} def
- X/@b5 {4 pagesetup} def
- X/@a5 {5 pagesetup} def
- X/@a4 {6 pagesetup} def
- X/@a3 {7 pagesetup} def
- X/@landscape {/landscape true def} bind def
- X/@manualfeed {
- Xstatusdict /manualfeed known {
- Xstatusdict /manualfeed true put
- Xstatusdict /manualfeedtimeout 120 put
- X} if
- X} bind def
- X/@large {
- X/large true def
- X} bind def
- X/@small {
- X/large false def
- X} bind def
- X/@envelope {
- X/xoffset 4.28 inch def
- X/yoffset 1.5 inch def
- X@letter
- X} bind def
- X/COPIES {
- X/#copies exch def
- X} bind def
- X/NF {
- X/newname exch def
- X/fsize exch def
- X/corr exch def
- Xnewname 7 dict def
- Xnewname load begin
- X/FontType 3 def
- X/FontMatrix [corr 0 0 corr neg 0 0] def
- X/FontBBox [0 0 1 1] def
- X/BitMaps fsize array def
- X/BuildChar /CharBuilder load def
- X/Encoding 256 array def
- X0 1 255 {Encoding exch /.notdef put} for
- Xend
- Xnewname newname load definefont pop
- X} bind def
- X/ch-image {ch-data 0 get} bind def
- X/ch-width {ch-data 1 get} bind def
- X/ch-height {ch-data 2 get} bind def
- X/ch-xoff {ch-data 3 get} bind def
- X/ch-yoff {ch-data 4 get} bind def
- X/ch-tfmw {ch-data 5 get} bind def
- X/CharBuilder {
- X/ch-code exch def
- X/font-dict exch def
- X/ch-data font-dict /BitMaps get ch-code get def
- Xch-data null eq not {
- Xch-tfmw 0
- Xch-xoff neg ch-yoff neg ch-width ch-xoff sub ch-height ch-yoff sub
- Xsetcachedevice
- Xch-width ch-height true [1 0 0 1 ch-xoff ch-yoff]
- X{ch-image} imagemask
- X} if
- X} bind def
- X/LWF {
- X/lw-v exch def
- X/lw-h exch def
- Xfindfont [lw-h 0 0 lw-v 0 0] makefont def
- X} bind def
- X/LWFX {
- X/lw-v exch def
- X/lw-h exch def
- X/savecurfont currentfont def
- Xfindfont dup setfont
- X[
- X( ) stringwidth pop dup lw-h exch div
- Xexch lw-v exch div 0 0 3 -1 roll
- X0 0
- X] makefont def
- Xsavecurfont setfont
- X} bind def
- X/LWJF /LWF load def
- X/SF /setfont load def
- X/s3 3 string def
- X/D {
- X/ch-code exch def
- Xdup 0 get
- Xlength 2 lt {
- Xpop [ <00> 1 1 0 0 8.00 ]
- X} if
- X/ch-data exch def
- Xcurrentfont /BitMaps get ch-code ch-data put
- Xcurrentfont /Encoding get ch-code
- Xdup s3 cvs cvn
- Xput
- X} bind def
- X/BP {
- X/SaveImage save def
- Xxoffset yoffset translate
- X72 72
- Xlandscape {
- Xexch translate
- X90 rotate
- X}{
- Xpaperheight exch sub translate
- X} ifelse
- X72 Resolution div dup neg scale
- X0 0 moveto
- X} bind def
- X/EP {
- Xshowpage
- XSaveImage restore
- X} bind def
- X/START {
- X/Resolution exch def
- X} bind def
- X/END /end load def
- X/l /lineto load def
- X/p /moveto load def
- X/r {
- X0 rmoveto
- X} def
- X/s /show load def
- X/ru {
- X/dy exch neg def
- X/dx exch def
- X/x currentpoint /y exch def def
- Xnewpath x y moveto
- Xdx 0 rlineto
- X0 dy rlineto
- Xdx neg 0 rlineto
- Xclosepath fill
- Xx y moveto
- X} bind def
- X/@SpecialDefaults {
- X/hsi paperwidth inch def
- X/vsi paperheight inch def
- X/hof 0 def
- X/vof 0 def
- X/hsc 1 def
- X/vsc 1 def
- X/rotat 0 def
- X/CLIP false def
- X/BBOX false def
- X/EPSF false def
- X} bind def
- X/@hsize {/hsi exch def /CLIP true def} bind def
- X/@vsize {/vsi exch def /CLIP true def} bind def
- X/@hoffset {/hof exch def} bind def
- X/@voffset {/vof exch def} bind def
- X/@hscale {/hsc exch def} bind def
- X/@vscale {/vsc exch def} bind def
- X/@rotation {/rotat exch def} bind def
- X/@bbox {
- X/ury exch def
- X/urx exch def
- X/lly exch def
- X/llx exch def
- X/BBOX true def
- X} bind def
- X/@epsf {
- X/hsi 0 def
- X/vsi 0 def
- X/EPSF true def
- X} bind def
- X/@setclipper {
- XCLIP {
- Xnewpath 0 0 moveto hsi 0 rlineto 0 vsi rlineto hsi neg 0 rlineto
- Xclosepath clip
- X} if
- X} bind def
- X/@beginspecial {
- X/SpecialSave save def
- Xcurrentpoint transform initgraphics itransform translate
- Xdup scale
- Xlandscape {90 rotate} if
- X@SpecialDefaults
- X@MacSetUp
- X} bind def
- X/@setspecial {
- Xhof vof translate
- XEPSF BBOX and {
- Xhsi 0 eq {
- Xvsi 0 eq {
- Xhsc vsc
- X}{
- Xvsi ury lly sub div dup
- X}ifelse
- X}{
- Xvsi 0 eq {
- Xhsi urx llx sub div dup
- X}{
- Xhsi urx llx sub div vsi ury lly sub div
- X} ifelse
- X} ifelse
- Xscale
- Xllx neg ury neg translate
- Xnewpath
- Xllx lly moveto
- Xurx llx sub 0 rlineto
- X0 ury lly sub rlineto
- Xllx urx sub 0 rlineto
- Xclosepath clip
- Xnewpath
- X}{
- X@setclipper hsc vsc scale rotat rotate
- X} ifelse
- Xend
- X/letter {} def /note {} def /legal {} def /11x17
- X/b4 {} def /b5 {} def /a5 {} def /a4 {} def /a3 {} def
- X/showpage {} def /copypage {} def /erasepage {} def
- X} bind def
- X/@MacSetUp {
- Xuserdict /md known {
- Xuserdict /md get type /dicttype eq {
- X/MacDrwgs true def
- Xmd /txpose known {
- Xmd /txpose {pxs pys neg scale} put
- X} if
- Xmd /cp known {
- Xmd /cp {pop pop pm restore} put
- X} if
- X} if
- X} if
- X} bind def
- X/@push {
- X/SpecialSave save def
- Xcurrentpoint translate
- Xdup scale
- Xnewpath
- X} bind def
- X/@pop {
- XSpecialSave restore
- X} bind def
- X/@pn
- X/setlinewidth load
- Xdef
- X/@pt {
- Xmoveto currentpoint currentlinewidth 2 div 0 360 arc fill
- X} bind def
- X/@ln {
- Xmoveto lineto stroke
- X} bind def
- X/@ar {
- Xmatrix currentmatrix
- X7 -2 roll moveto
- Xcurrentpoint translate
- Xnewpath
- X5 -2 roll scale
- X0 0 1 6 -2 roll arc
- Xsetmatrix
- X} bind def
- X/@wh {1 setgray} bind def
- X/@sh {0.75 setgray} bind def
- X/@bk {0 setgray} bind def
- X/@RGB {setrgbcolor} bind def
- X/@HSB {sethsbcolor} bind def
- X/@CMYK {setcmykcolor} bind def
- Xend
- X/@endspecial {
- Xclear
- XTeXDict begin
- XSpecialSave restore
- X} bind def
- X%%EndFile
- X%%EndProlog
- X%%BeginSetup
- X%%PaperSize: A4
- X%%Feature: *ManualFeed False
- X%%Feature: *Resolution 400
- XTeXDict begin
- X@large
- X@a4
- X400 START
- X1.000 80 /f26 NF
- Xf26 SF
- X[<FFFC000600007FFC0006000007C0000F00000380000F00000180000F00000180001F000000C0001F800000C0001F800000C0
- X 003F800000C0003F80000060007EC0000060007CC0000060007CC000006000F8C000003000F86000003000F86000003001F0
- X 6000003001F06000001803F03000001803E03000001803E03000001807C03000000C07C01800000C07C01800000C0F801800
- X 000C0F80180000061F800C0000061F000C0000061F000C0000063F000C0000033E00060000033E00060000037C0006000003
- X 7C0006000001FC0007000001F8000FC0007FF800FFFC003FF8007FFC> 48 38 -2 0 44.469] 78 D
- X[<003FC0000001FFF8000003F03F00000FC00F80001F8003E0001F0001F0003E0000F8003E00007C007C00003E007C00001F00
- X FC00001F80FC00000F80FC00000FC0FC000007E0FC000007E0FC000003F0FC000003F0FC000003F07E000001F87E000001F8
- X 7E000001F83E000001F83F000000F83F000000F81F800000F81F800000F80F800000F807C00000F803E00000F803E00001F0
- X 01F00001F000F80001E0003C0003E0001F0007C0000F800F800003F03F000000FFFC0000001FE000> 40 38 -3 0 42.217] 79 D
- X1.000 16 /f27 NF
- Xf27 SF
- X[<00F80003FE000FFF801FFFC03FFFE03FFFE07FFFF07FFFF0FFFFF8FFFFF8FFFFF8FFFFF8FFFFF8FFFFF8FFFFF87FFFF07FFF
- X F03FFFE03FFFE01FFFC00FFF8003FE0000F800> 24 23 -3 -2 27.673] 15 D
- X/f69 /Times-Roman 33.208 -33.208 LWF
- X/f70 /Times-Roman 38.743 -38.743 LWF
- X/f72 /Times-Roman 44.277 -44.277 LWF
- X/f74 /Times-Roman 49.812 -49.812 LWF
- X/f77 /Times-Bold 49.812 -49.812 LWF
- X/f80 /Times-Roman 55.347 -55.347 LWF
- X/f81 /Times-Italic 55.347 -55.347 LWF
- X/f82 /Times-BoldItalic 55.347 -55.347 LWF
- X/f84 /Courier 55.347 -55.347 LWF
- X/f92 /Times-Roman 66.416 -66.416 LWF
- X/f95 /Times-Bold 66.416 -66.416 LWF
- X/f96 /Courier 66.416 -66.416 LWF
- X/f99 /Times-Bold 79.699 -79.699 LWF
- X/f101 /Times-Bold 95.750 -95.750 LWF
- X1.000 121 /f104 NF
- Xf104 SF
- X[<FFFFE000FFFFFC000F003E000F000F800F0007C00F0003C00F0001E00F0001F00F0000F00F0000F00F0000F80F0000F80F00
- X 00F80F0000F80F0000F80F0000F80F0000F80F0000F80F0000F00F0000F00F0001E00F0001E00F0003C00F0007800F000F00
- X 0F003E00FFFFFC00FFFFE000> 32 28 -2 0 34.561] 100 D
- X[<FFF0FFF00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00
- X 0F00FFF0FFF0> 16 28 -2 0 16.727] 105 D
- X[<FFC00300FFC007001E0007000C000F000C001F000C001F000C003F000C007B000C007B000C00F3000C01E3000C01E3000C03
- X C3000C0783000C0783000C0F03000C1E03000C1E03000C3C03000C7803000C7803000CF003000DE003000DE003000FC00300
- X 0F800780FF803FF0FF003FF0> 32 28 -2 0 33.946] 110 D
- X[<001F8000007FF00000F0380003C01C0003800E0007800600070003000F0003000F0003000F0003000F0003000F0003000F00
- X 03000F0003000F0003000F0003000F0003000F0003000F0003000F0003000F0003000F0003000F0003000F0003000F000300
- X 0F000780FFF03FF0FFF03FF0> 32 28 -2 0 33.946] 117 D
- X[<FFC01FFCFFC01FFC1F800FC007800F8003800F0001801F0000C03E0000E03C00006078000030F8000038F000001DE000000F
- X E0000007C00000078000000F8000001F8000001FC000003CC000007C600000F8700000F0380001F0180003E00C0003C00E00
- X 07C01F807FF03FF07FF03FF0> 32 28 -1 0 33.946] 120 D
- X/f105 /Courier 44.277 -44.277 LWF
- X%%EndSetup
- X
- X%%Page: 1 1
- XBP
- Xf101 SF
- X197 493 p (WWFTP:)s
- X24 r (A)s
- X24 r (\256lesystem-oriented)s
- X24 r (\256le)s
- X24 r (transfer)s
- X24 r (pr)s
- X-1 r (otocol)s
- Xf92 SF
- X1014 653 p (Y)s
- X-6 r (ouki)s
- X16 r (Kadobayashi)s
- Xf96 SF
- X817 731 p (youki@ics.osaka-u.ac.jp)s
- Xf92 SF
- X952 808 p (WWFS)s
- X17 r (Research)s
- X16 r (Group)s
- X593 886 p (Department)s
- X17 r (of)s
- X17 r (Information)s
- X16 r (and)s
- X17 r (Computer)s
- X16 r (Sciences)s
- X1043 963 p (Osaka)s
- X17 r (University)s
- X895 1041 p (T)s
- X-4 r (oyonaka)s
- X16 r (560,)s
- X16 r (Osaka,)s
- X17 r (Japan)s
- X1050 1195 p (WWFS-TR-93-1)s
- X1047 1324 p (January)s
- X17 r (28,)s
- X16 r (1993)s
- Xf77 SF
- X1182 1524 p (Abstract)s
- Xf74 SF
- X313 1615 p (Recent)s
- X14 r (research)s
- X14 r (efforts)s
- X14 r (in)s
- X14 r (the)s
- X14 r (WWFS)s
- X14 r (Research)s
- X14 r (Group)s
- X15 r (at)s
- X14 r (Osaka)s
- X14 r (University)s
- X14 r (have)s
- X14 r (revealed)s
- X14 r (that)s
- X15 r (mere)s
- X238 1676 p (aggregation)s
- X14 r (of)s
- X14 r (existing)s
- X15 r (protocols)s
- X14 r (cannot)s
- X14 r (improve)s
- X14 r (usability)s
- X14 r (of)s
- X14 r (the)s
- X14 r (\256lesystem)s
- X14 r (any)s
- X14 r (further)s
- X-2 r (.)s
- X21 r (Our)s
- X14 r (NFS-FTP)s
- X238 1737 p (gateway)s
- X12 r (software)s
- X13 r (demonstrated)s
- X12 r (that)s
- X12 r (FTP)s
- X12 r (has)s
- X12 r (several)s
- X12 r (design)s
- X12 r (\257aws)s
- X12 r (when)s
- X13 r (viewed)s
- X12 r (as)s
- X12 r (a)s
- X12 r (\256lesystem)s
- X12 r (transport)s
- X238 1798 p (protocol.)s
- X313 1859 p (This)s
- X16 r (paper)s
- X17 r (presents)s
- X16 r (WWFTP)s
- X-4 r (,)s
- X15 r (a)s
- X16 r (new)s
- X17 r (\256le)s
- X16 r (transfer)s
- X16 r (protocol)s
- X17 r (speci\256cally)s
- X16 r (designed)s
- X16 r (for)s
- X17 r (multi-stage)s
- X16 r (\256le)s
- X238 1919 p (server)s
- X14 r (software.)s
- X18 r (WWFTP)s
- X13 r (supports)s
- X14 r (ef\256cient)s
- X12 r (\256le)s
- X13 r (transfer)s
- X13 r (over)s
- X13 r (high-speed)s
- X14 r (networks)s
- X13 r (and)s
- X13 r (long-delay)s
- X13 r (com-)s
- X238 1980 p (munication)s
- X12 r (lines,)s
- X12 r (while)s
- X12 r (supporting)s
- X12 r (archive)s
- X12 r (replication,)s
- X12 r (seamless)s
- X12 r (integration)s
- X11 r (with)s
- X12 r (distributed)s
- X12 r (\256le)s
- X12 r (systems)s
- X238 2041 p (and)s
- X13 r (direct)s
- X12 r (interaction)s
- X13 r (with)s
- X12 r (user)s
- X13 r (at)s
- X12 r (a)s
- X13 r (terminal.)s
- Xf99 SF
- X100 2228 p (1)s
- X80 r (Intr)s
- X-1 r (oduction)s
- Xf80 SF
- X100 2351 p (The)s
- X20 r (WWFS)s
- X19 r (\(W)s
- X-3 r (orldW)s
- X-2 r (ide)s
- X18 r (File)s
- X20 r (System\))s
- X19 r (Research)s
- X20 r (Group)s
- X20 r (at)s
- X19 r (Osaka)s
- X20 r (University)s
- X19 r (conducts)s
- X20 r (research)s
- X20 r (on)s
- X19 r (large)s
- X100 2417 p (scale)s
- X15 r (distributed)s
- X15 r (\256le)s
- X15 r (system,)s
- X15 r (with)s
- X15 r (particular)s
- X14 r (emphasis)s
- X15 r (on)s
- X15 r (multi-stage)s
- X15 r (storage)s
- X15 r (architecture[1],)s
- X15 r (optimization)s
- X100 2484 p (of)s
- X14 r (networked)s
- X14 r (resource)s
- X14 r (access[2],)s
- X13 r (and)s
- X14 r (seamless)s
- X14 r (integration)s
- X14 r (with)s
- X14 r (other)s
- X14 r (information)s
- X13 r (services[3].)s
- X183 2550 p (The)s
- X15 r (author)s
- X15 r (has)s
- X14 r (designed)s
- X15 r (and)s
- X15 r (implemented)s
- X15 r (Cluster)s
- X14 r (Server)s
- X15 r (\(CS\),)s
- X15 r (an)s
- X15 r (user-level)s
- X13 r (NFS[4])s
- X15 r (server)s
- X15 r (that)s
- X15 r (func-)s
- X100 2617 p (tions)s
- X10 r (as)s
- X10 r (an)s
- X11 r (NFS-FTP)s
- X10 r (gateway)s
- X10 r (with)s
- X10 r (caching)s
- X10 r (mechanism)s
- X10 r (on)s
- X11 r (a)s
- X10 r (per-\256le)s
- X9 r (basis)s
- X10 r (\(Figure)s
- X10 r (1\).)s
- X17 r (CS)s
- X11 r (enables)s
- X10 r (transparent)s
- X100 2683 p (access)s
- X14 r (to)s
- X14 r (Internet)s
- X14 r (FTP)s
- X13 r (archives,)s
- X14 r (while)s
- X14 r (achieving)s
- X14 r (simplicity)s
- X-3 r (,)s
- X13 r (scalability)s
- X-3 r (,)s
- X13 r (and)s
- X14 r (compatibility)s
- X-2 r (.)s
- X183 2750 p (For)s
- X16 r (more)s
- X16 r (than)s
- X17 r (10)s
- X16 r (months,)s
- X17 r (Cluster)s
- X16 r (Server)s
- X16 r (has)s
- X16 r (been)s
- X16 r (thoroughly)s
- X16 r (tested,)s
- X17 r (improved)s
- X16 r (and)s
- X17 r (re\256ned)s
- X16 r (for)s
- X16 r (better)s
- X100 2816 p (reliability)s
- X-3 r (,)s
- X13 r (performance)s
- X13 r (and)s
- X13 r (usability)s
- X-3 r (.)s
- X17 r (As)s
- X13 r (the)s
- X13 r (re\256nement)s
- X14 r (progress,)s
- X13 r (it)s
- X13 r (became)s
- X13 r (clear)s
- X13 r (that)s
- X13 r (mere)s
- X13 r (aggregation)s
- X13 r (of)s
- X100 2882 p (existing)s
- X15 r (protocols)s
- X15 r (cannot)s
- X15 r (improve)s
- X15 r (usability)s
- X15 r (of)s
- X15 r (the)s
- X15 r (\256lesystem)s
- X15 r (any)s
- X16 r (further)s
- X-3 r (.)s
- X22 r (Moreover)s
- X-2 r (,)s
- X15 r (close)s
- X15 r (examination)s
- X15 r (of)s
- X100 2949 p (FTP)s
- X14 r (has)s
- X13 r (revealed)s
- X14 r (that)s
- X13 r (it)s
- X14 r (is)s
- X13 r (inappropriate)s
- X14 r (for)s
- X13 r (the)s
- X14 r (\256lesystem)s
- X13 r (transport)s
- X14 r (layer)s
- X13 r (over)s
- X14 r (the)s
- X14 r (Internet,)s
- X13 r (although)s
- X14 r (it)s
- X13 r (can)s
- X100 3015 p (be)s
- X14 r (used)s
- X14 r (as)s
- X14 r (a)s
- X13 r (last)s
- X14 r (resort.)s
- X183 3082 p (This)s
- X13 r (paper)s
- X13 r (is)s
- X12 r (structured)s
- X13 r (as)s
- X13 r (follows:)s
- X18 r (Section)s
- X13 r (2)s
- X13 r (describes)s
- X12 r (major)s
- X13 r (drawbacks)s
- X13 r (of)s
- X13 r (FTP)s
- X13 r (from)s
- X13 r (the)s
- X12 r (viewpoint)s
- X13 r (of)s
- X100 3148 p (\256lesystem)s
- X15 r (transport)s
- X15 r (protocol.)s
- X21 r (Section)s
- X15 r (3)s
- X15 r (presents)s
- X15 r (my)s
- X14 r (FTP)s
- X15 r (replacement)s
- X15 r (named)s
- X15 r (WWFTP)s
- X15 r (that)s
- X14 r (is)s
- X15 r (speci\256cally)s
- X100 3214 p (designed)s
- X16 r (for)s
- X16 r (WWFS,)s
- X16 r (then)s
- X16 r (describes)s
- X16 r (its)s
- X16 r (design)s
- X15 r (rationale,)s
- X17 r (and)s
- X16 r (discuss)s
- X16 r (the)s
- X16 r (bene\256t)s
- X16 r (of)s
- X16 r (adopting)s
- X15 r (the)s
- X16 r (protocol.)s
- X100 3281 p (Section)s
- X14 r (4)s
- X14 r (contains)s
- X14 r (directions)s
- X13 r (of)s
- X14 r (future)s
- X14 r (work.)s
- X18 r (Section)s
- X14 r (5)s
- X14 r (summarizes)s
- X14 r (this)s
- X14 r (paper)s
- X-2 r (.)s
- Xf99 SF
- X100 3467 p (2)s
- X80 r (Experiences)s
- X20 r (with)s
- X20 r (NFS-FTP)s
- X19 r (gateway)s
- Xf80 SF
- X100 3591 p (CS,)s
- X17 r (a)s
- X17 r (daemon)s
- X17 r (process,)s
- X17 r (must)s
- X17 r (be)s
- X17 r (run)s
- X17 r (on)s
- X16 r (each)s
- X17 r (cluster)s
- X-1 r (,)s
- X17 r (that)s
- X16 r (talks)s
- X17 r (NFS)s
- X17 r (protocol)s
- X17 r (for)s
- X17 r (intra-cluster)s
- X17 r (activity)s
- X17 r (and)s
- X100 3657 p (FTP)s
- X15 r (for)s
- X15 r (inter-cluster)s
- X14 r (activity)s
- X-3 r (,)s
- X14 r (hence)s
- X15 r (playing)s
- X15 r (the)s
- X15 r (role)s
- X15 r (of)s
- X15 r (NFS-FTP)s
- X15 r (gateway)s
- X-3 r (.)s
- X21 r (Thus)s
- X15 r (users)s
- X15 r (on)s
- X15 r (client)s
- X14 r (machines)s
- X100 3724 p (can)s
- X14 r (mount)s
- X14 r (CS)s
- X14 r (as)s
- X13 r (an)s
- X14 r (NFS)s
- X14 r (server)s
- X-1 r (,)s
- X13 r (so)s
- X13 r (that)s
- X14 r (they)s
- X14 r (can)s
- X14 r (access)s
- X14 r (anonymous)s
- X14 r (ftp)s
- X13 r (servers)s
- X14 r (transparently)s
- X-2 r (.)s
- X1261 3946 p (1)s
- XEP
- X
- X%%Page: 2 2
- XBP
- X675 260 p 1.000 @beginspecial
- X@epsf
- X1.000000 @vscale
- X1.000000 @hscale
- X131.000000 504.000000 347.000000 649.000000 @bbox
- X@setspecial
- X%%BeginDocument: protostack.eps
- X%!PS-Adobe-2.0 EPSF-1.2
- X%%DocumentFonts: Helvetica
- X%%BoundingBox: 131 504 347 649
- X%%EndComments
- X
- X50 dict begin
- X
- X/arrowHeight 8 def
- X/arrowWidth 4 def
- X/none null def
- X/numGraphicParameters 17 def
- X/stringLimit 65535 def
- X
- X/Begin {
- Xsave
- XnumGraphicParameters dict begin
- X} def
- X
- X/End {
- Xend
- Xrestore
- X} def
- X
- X/SetB {
- Xdup type /nulltype eq {
- Xpop
- Xfalse /brushRightArrow idef
- Xfalse /brushLeftArrow idef
- Xtrue /brushNone idef
- X} {
- X/brushDashOffset idef
- X/brushDashArray idef
- X0 ne /brushRightArrow idef
- X0 ne /brushLeftArrow idef
- X/brushWidth idef
- Xfalse /brushNone idef
- X} ifelse
- X} def
- X
- X/SetCFg {
- X/fgblue idef
- X/fggreen idef
- X/fgred idef
- X} def
- X
- X/SetCBg {
- X/bgblue idef
- X/bggreen idef
- X/bgred idef
- X} def
- X
- X/SetF {
- X/printSize idef
- X/printFont idef
- X} def
- X
- X/SetP {
- Xdup type /nulltype eq {
- Xpop true /patternNone idef
- X} {
- X/patternGrayLevel idef
- XpatternGrayLevel -1 eq {
- X/patternString idef
- X} if
- Xfalse /patternNone idef
- X} ifelse
- X} def
- X
- X/BSpl {
- X0 begin
- Xstorexyn
- Xnewpath
- Xn 1 gt {
- X0 0 0 0 0 0 1 1 true subspline
- Xn 2 gt {
- X0 0 0 0 1 1 2 2 false subspline
- X1 1 n 3 sub {
- X/i exch def
- Xi 1 sub dup i dup i 1 add dup i 2 add dup false subspline
- X} for
- Xn 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline
- X} if
- Xn 2 sub dup n 1 sub dup 2 copy 2 copy false subspline
- XpatternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
- XbrushNone not { istroke } if
- X0 0 1 1 leftarrow
- Xn 2 sub dup n 1 sub dup rightarrow
- X} if
- Xend
- X} dup 0 4 dict put def
- X
- X/Circ {
- Xnewpath
- X0 360 arc
- XpatternNone not { ifill } if
- XbrushNone not { istroke } if
- X} def
- X
- X/CBSpl {
- X0 begin
- Xdup 2 gt {
- Xstorexyn
- Xnewpath
- Xn 1 sub dup 0 0 1 1 2 2 true subspline
- X1 1 n 3 sub {
- X/i exch def
- Xi 1 sub dup i dup i 1 add dup i 2 add dup false subspline
- X} for
- Xn 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline
- Xn 2 sub dup n 1 sub dup 0 0 1 1 false subspline
- XpatternNone not { ifill } if
- XbrushNone not { istroke } if
- X} {
- XPoly
- X} ifelse
- Xend
- X} dup 0 4 dict put def
- X
- X
- X/RRect { CBSpl } def
- X
- X/Elli {
- X0 begin
- Xnewpath
- X4 2 roll
- Xtranslate
- Xscale
- X0 0 1 0 360 arc
- XpatternNone not { ifill } if
- XbrushNone not { istroke } if
- Xend
- X} dup 0 1 dict put def
- X
- X/Line {
- X0 begin
- X2 storexyn
- Xnewpath
- Xx 0 get y 0 get moveto
- Xx 1 get y 1 get lineto
- XbrushNone not { istroke } if
- X0 0 1 1 leftarrow
- X0 0 1 1 rightarrow
- Xend
- X} dup 0 4 dict put def
- X
- X/MLine {
- X0 begin
- Xstorexyn
- Xnewpath
- Xn 1 gt {
- Xx 0 get y 0 get moveto
- X1 1 n 1 sub {
- X/i exch def
- Xx i get y i get lineto
- X} for
- XpatternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
- XbrushNone not { istroke } if
- X0 0 1 1 leftarrow
- Xn 2 sub dup n 1 sub dup rightarrow
- X} if
- Xend
- X} dup 0 4 dict put def
- X
- X/Poly {
- X3 1 roll
- Xnewpath
- Xmoveto
- X-1 add
- X{ lineto } repeat
- Xclosepath
- XpatternNone not { ifill } if
- XbrushNone not { istroke } if
- X} def
- X
- X/Rect {
- X0 begin
- X/t exch def
- X/r exch def
- X/b exch def
- X/l exch def
- Xnewpath
- Xl b moveto
- Xl t lineto
- Xr t lineto
- Xr b lineto
- Xclosepath
- XpatternNone not { ifill } if
- XbrushNone not { istroke } if
- Xend
- X} dup 0 4 dict put def
- X
- X/WhiteBg 1 def
- X/HollowBg 0 def
- X/Text { ishow } def
- X
- X/idef {
- Xdup where { pop pop pop } { exch def } ifelse
- X} def
- X
- X/ifill {
- X0 begin
- Xgsave
- XpatternGrayLevel -1 ne {
- Xfgred bgred fgred sub patternGrayLevel mul add
- Xfggreen bggreen fggreen sub patternGrayLevel mul add
- Xfgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor
- Xeofill
- X} {
- Xeoclip
- XoriginalCTM setmatrix
- Xpathbbox /t exch def /r exch def /b exch def /l exch def
- X/w r l sub ceiling cvi def
- X/h t b sub ceiling cvi def
- X/imageByteWidth w 8 div ceiling cvi def
- X/imageHeight h def
- Xbgred bggreen bgblue setrgbcolor
- Xeofill
- Xfgred fggreen fgblue setrgbcolor
- Xw 0 gt h 0 gt and {
- Xl b translate w h scale
- Xw h true [w 0 0 h neg 0 h] { patternproc } imagemask
- X} if
- X} ifelse
- Xgrestore
- Xend
- X} dup 0 8 dict put def
- X
- X/istroke {
- Xgsave
- XbrushDashOffset -1 eq {
- X[] 0 setdash
- X1 setgray
- X} {
- XbrushDashArray brushDashOffset setdash
- Xfgred fggreen fgblue setrgbcolor
- X} ifelse
- XbrushWidth setlinewidth
- XoriginalCTM setmatrix
- Xstroke
- Xgrestore
- X} def
- X
- X/xdescender {
- Xbegin 0
- XFontType 0 eq
- X{ FDepVector dup length 1 sub get xdescender }
- X{ [FontBBox] 1 get } ifelse
- XFontMatrix transform exch pop end
- X} def
- X/ishow {
- X0 begin
- Xgsave
- Xfgred fggreen fgblue setrgbcolor
- XWhiteBg eq /drawBg exch def
- X/fontDict printFont findfont printSize scalefont dup setfont def
- X/descender fontDict xdescender def
- X/vertoffset 0 descender sub printSize sub printFont /Courier ne
- XprintFont /Courier-Bold ne and { 1 add } if def {
- XdrawBg {
- Xnewpath 0 vertoffset descender add moveto
- Xdup stringwidth pop dup 0 rlineto
- X0 printSize rlineto 0 exch sub 0 rlineto
- Xclosepath currentgray 1 setgray fill setgray } if
- X0 vertoffset moveto show
- X/vertoffset vertoffset printSize sub def
- X} forall
- Xgrestore
- Xend
- X} dup 0 4 dict put def
- X
- X/patternproc {
- X0 begin
- X/patternByteLength patternString length def
- X/patternHeight patternByteLength 8 mul sqrt cvi def
- X/patternWidth patternHeight def
- X/patternByteWidth patternWidth 8 idiv def
- X/imageByteMaxLength imageByteWidth imageHeight mul
- XstringLimit patternByteWidth sub min def
- X/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv
- XpatternHeight mul patternHeight max def
- X/imageHeight imageHeight imageMaxHeight sub store
- X/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def
- X0 1 imageMaxHeight 1 sub {
- X/y exch def
- X/patternRow y patternByteWidth mul patternByteLength mod def
- X/patternRowString patternString patternRow patternByteWidth getinterval def
- X/imageRow y imageByteWidth mul def
- X0 patternByteWidth imageByteWidth 1 sub {
- X/x exch def
- XimageString imageRow x add patternRowString putinterval
- X} for
- X} for
- XimageString
- Xend
- X} dup 0 12 dict put def
- X
- X/min {
- Xdup 3 2 roll dup 4 3 roll lt { exch } if pop
- X} def
- X
- X/max {
- Xdup 3 2 roll dup 4 3 roll gt { exch } if pop
- X} def
- X
- X/arrowhead {
- X0 begin
- Xtransform originalCTM itransform
- X/taily exch def
- X/tailx exch def
- Xtransform originalCTM itransform
- X/tipy exch def
- X/tipx exch def
- X/dy tipy taily sub def
- X/dx tipx tailx sub def
- X/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def
- Xgsave
- XoriginalCTM setmatrix
- Xtipx tipy translate
- Xangle rotate
- Xnewpath
- X0 0 moveto
- XarrowHeight neg arrowWidth 2 div lineto
- XarrowHeight neg arrowWidth 2 div neg lineto
- Xclosepath
- XpatternNone not {
- XoriginalCTM setmatrix
- X/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul
- XarrowWidth div def
- X/padtail brushWidth 2 div def
- Xtipx tipy translate
- Xangle rotate
- Xpadtip 0 translate
- XarrowHeight padtip add padtail add arrowHeight div dup scale
- Xarrowheadpath
- Xifill
- X} if
- XbrushNone not {
- XoriginalCTM setmatrix
- Xtipx tipy translate
- Xangle rotate
- Xarrowheadpath
- Xistroke
- X} if
- Xgrestore
- Xend
- X} dup 0 9 dict put def
- X
- X/arrowheadpath {
- Xnewpath
- X0 0 moveto
- XarrowHeight neg arrowWidth 2 div lineto
- XarrowHeight neg arrowWidth 2 div neg lineto
- Xclosepath
- X} def
- X
- X/leftarrow {
- X0 begin
- Xy exch get /taily exch def
- Xx exch get /tailx exch def
- Xy exch get /tipy exch def
- Xx exch get /tipx exch def
- XbrushLeftArrow { tipx tipy tailx taily arrowhead } if
- Xend
- X} dup 0 4 dict put def
- X
- X/rightarrow {
- X0 begin
- Xy exch get /tipy exch def
- Xx exch get /tipx exch def
- Xy exch get /taily exch def
- Xx exch get /tailx exch def
- XbrushRightArrow { tipx tipy tailx taily arrowhead } if
- Xend
- X} dup 0 4 dict put def
- X
- X/midpoint {
- X0 begin
- X/y1 exch def
- X/x1 exch def
- X/y0 exch def
- X/x0 exch def
- Xx0 x1 add 2 div
- Xy0 y1 add 2 div
- Xend
- X} dup 0 4 dict put def
- X
- X/thirdpoint {
- X0 begin
- X/y1 exch def
- X/x1 exch def
- X/y0 exch def
- X/x0 exch def
- Xx0 2 mul x1 add 3 div
- Xy0 2 mul y1 add 3 div
- Xend
- X} dup 0 4 dict put def
- X
- X/subspline {
- X0 begin
- X/movetoNeeded exch def
- Xy exch get /y3 exch def
- Xx exch get /x3 exch def
- Xy exch get /y2 exch def
- Xx exch get /x2 exch def
- Xy exch get /y1 exch def
- Xx exch get /x1 exch def
- Xy exch get /y0 exch def
- Xx exch get /x0 exch def
- Xx1 y1 x2 y2 thirdpoint
- X/p1y exch def
- X/p1x exch def
- Xx2 y2 x1 y1 thirdpoint
- X/p2y exch def
- X/p2x exch def
- Xx1 y1 x0 y0 thirdpoint
- Xp1x p1y midpoint
- X/p0y exch def
- X/p0x exch def
- Xx2 y2 x3 y3 thirdpoint
- Xp2x p2y midpoint
- X/p3y exch def
- X/p3x exch def
- XmovetoNeeded { p0x p0y moveto } if
- Xp1x p1y p2x p2y p3x p3y curveto
- Xend
- X} dup 0 17 dict put def
- X
- X/storexyn {
- X/n exch def
- X/y n array def
- X/x n array def
- Xn 1 sub -1 0 {
- X/i exch def
- Xy i 3 2 roll put
- Xx i 3 2 roll put
- X} for
- X} def
- X
- X%%EndProlog
- X
- X%I Idraw 9 Grid 4
- X
- X
- XBegin
- X%I b u
- X%I cfg u
- X%I cbg u
- X%I f u
- X%I k u
- X%I p u
- X%I t
- X[ .757895 0 0 .757895 0 0 ] concat
- X/originalCTM matrix currentmatrix def
- X
- XBegin %I Rect
- X%I b 65535
- X1 0 0 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X1 SetP
- X%I t
- X[ .8 0 0 .8 227.5 290.2 ] concat
- X%I
- X120 575 175 597 Rect
- XEnd
- X
- XBegin %I Rect
- X%I b 65535
- X1 0 0 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X1 SetP
- X%I t
- X[ .8 0 0 .8 227.5 272.2 ] concat
- X%I
- X120 575 175 597 Rect
- XEnd
- X
- XBegin %I Rect
- X%I b 65535
- X1 0 0 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X1 SetP
- X%I t
- X[ .8 0 0 .8 227.5 254.2 ] concat
- X%I
- X120 575 175 597 Rect
- XEnd
- X
- XBegin %I Rect
- X%I b 65535
- X1 0 0 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X1 SetP
- X%I t
- X[ .8 0 0 .8 81.5 290.2 ] concat
- X%I
- X120 575 175 597 Rect
- XEnd
- X
- XBegin %I Rect
- X%I b 65535
- X1 0 0 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X1 SetP
- X%I t
- X[ .8 0 0 .8 81.5 308.2 ] concat
- X%I
- X120 575 175 597 Rect
- XEnd
- X
- XBegin %I Rect
- X%I b 65535
- X1 0 0 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X1 SetP
- X%I t
- X[ .8 0 0 .8 81.5 272.2 ] concat
- X%I
- X120 575 175 597 Rect
- XEnd
- X
- XBegin %I Rect
- X%I b 65535
- X1 0 0 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X1 SetP
- X%I t
- X[ .8 0 0 .8 81.5 254.2 ] concat
- X%I
- X120 575 175 597 Rect
- XEnd
- X
- XBegin %I Rect
- X%I b 65535
- X1 0 0 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X1 SetP
- X%I t
- X[ .8 0 0 .8 81.5 326.2 ] concat
- X%I
- X120 575 175 597 Rect
- XEnd
- X
- XBegin %I Text
- X%I cfg Black
- X0 0 0 SetCFg
- X%I f *-helvetica-medium-r-*-120-*
- X/Helvetica 12 SetF
- X%I t
- X[ 1 0 0 1 187 798.13 ] concat
- X%I
- X[
- X(NFS)
- X] WhiteBg Text
- XEnd
- X
- XBegin %I Text
- X%I cfg Black
- X0 0 0 SetCFg
- X%I f *-helvetica-medium-r-*-120-*
- X/Helvetica 12 SetF
- X%I t
- X[ 1 0 0 1 187 780.315 ] concat
- X%I
- X[
- X(RPC)
- X] WhiteBg Text
- XEnd
- X
- XBegin %I Text
- X%I cfg Black
- X0 0 0 SetCFg
- X%I f *-helvetica-medium-r-*-120-*
- X/Helvetica 12 SetF
- X%I t
- X[ 1 0 0 1 187 762.13 ] concat
- X%I
- X[
- X(XDR)
- X] WhiteBg Text
- XEnd
- X
- XBegin %I Text
- X%I cfg Black
- X0 0 0 SetCFg
- X%I f *-helvetica-medium-r-*-120-*
- X/Helvetica 12 SetF
- X%I t
- X[ 1 0 0 1 187 744.371 ] concat
- X%I
- X[
- X(UDP)
- X] WhiteBg Text
- XEnd
- X
- XBegin %I Text
- X%I cfg Black
- X0 0 0 SetCFg
- X%I f *-helvetica-medium-r-*-120-*
- X/Helvetica 12 SetF
- X%I t
- X[ 1 0 0 1 187 726.371 ] concat
- X%I
- X[
- X(IP)
- X] WhiteBg Text
- XEnd
- X
- XBegin %I Text
- X%I cfg Black
- X0 0 0 SetCFg
- X%I f *-helvetica-medium-r-*-120-*
- X/Helvetica 12 SetF
- X%I t
- X[ 1 0 0 1 399.5 850 ] concat
- X%I
- X[
- X(file server)
- X] WhiteBg Text
- XEnd
- X
- XBegin %I Text
- X%I cfg Black
- X0 0 0 SetCFg
- X%I f *-helvetica-medium-r-*-120-*
- X/Helvetica 12 SetF
- X%I t
- X[ 1 0 0 1 182 850 ] concat
- X%I
- X[
- X(client)
- X] WhiteBg Text
- XEnd
- X
- XBegin %I Line
- X%I b 65535
- X1 0 1 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X< ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
- X ffffffff > -1 SetP
- X%I t
- X[ 1 0 0 1 47 224 ] concat
- X%I
- X153 465 153 487 Line
- XEnd
- X
- XBegin %I Line
- X%I b 65535
- X1 0 1 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X< ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
- X ffffffff > -1 SetP
- X%I t
- X[ 1 0 0 1 34.5 224 ] concat
- X%I
- X252 465 252 487 Line
- XEnd
- X
- XBegin %I Text
- X%I cfg Black
- X0 0 0 SetCFg
- X%I f *-helvetica-medium-r-*-120-*
- X/Helvetica 12 SetF
- X%I t
- X[ 1 0 0 1 197 681.258 ] concat
- X%I
- X[
- X(physical network)
- X] WhiteBg Text
- XEnd
- X
- XBegin %I Text
- X%I cfg Black
- X0 0 0 SetCFg
- X%I f *-helvetica-medium-r-*-120-*
- X/Helvetica 12 SetF
- X%I t
- X[ 1 0 0 1 334 744.371 ] concat
- X%I
- X[
- X(TCP)
- X] WhiteBg Text
- XEnd
- X
- XBegin %I Text
- X%I cfg Black
- X0 0 0 SetCFg
- X%I f *-helvetica-medium-r-*-120-*
- X/Helvetica 12 SetF
- X%I t
- X[ 1 0 0 1 334 762.13 ] concat
- X%I
- X[
- X(FTP)
- X] WhiteBg Text
- XEnd
- X
- XBegin %I Text
- X%I cfg Black
- X0 0 0 SetCFg
- X%I f *-helvetica-medium-r-*-120-*
- X/Helvetica 12 SetF
- X%I t
- X[ 1 0 0 1 334 726.371 ] concat
- X%I
- X[
- X(IP)
- X] WhiteBg Text
- XEnd
- X
- XBegin %I Text
- X%I cfg Black
- X0 0 0 SetCFg
- X%I f *-helvetica-medium-r-*-120-*
- X/Helvetica 12 SetF
- X%I t
- X[ 1 0 0 1 282.5 850 ] concat
- X%I
- X[
- X(cluster server)
- X] WhiteBg Text
- XEnd
- X
- XBegin %I Line
- X%I b 65535
- X1 1 1 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X< ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
- X ffffffff > -1 SetP
- X%I t
- X[ .825478 0 0 1.29138 141.106 50.4179 ] concat
- X%I
- X353 608 353 558 Line
- XEnd
- X
- XBegin %I Line
- X%I b 65535
- X1 1 1 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X< ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
- X ffffffff > -1 SetP
- X%I t
- X[ 1 0 0 1 122 217 ] concat
- X%I
- X78 588 78 623 Line
- XEnd
- X
- XBegin %I BSpl
- X%I b 65535
- X1 1 1 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X< ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
- X ffffffff > -1 SetP
- X%I t
- X[ 1 0 0 1 101 214 ] concat
- X%I 4
- X188 598
- X188 623
- X243 623
- X243 558
- X4 BSpl
- XEnd
- X
- XBegin %I Rect
- X%I b 65535
- X1 0 0 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X1 SetP
- X%I t
- X[ .8 0 0 .8 170 290.2 ] concat
- X%I
- X120 575 175 597 Rect
- XEnd
- X
- XBegin %I Rect
- X%I b 65535
- X1 0 0 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X1 SetP
- X%I t
- X[ .8 0 0 .8 170 308.2 ] concat
- X%I
- X120 575 175 597 Rect
- XEnd
- X
- XBegin %I Rect
- X%I b 65535
- X1 0 0 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X1 SetP
- X%I t
- X[ .8 0 0 .8 170 272.2 ] concat
- X%I
- X120 575 175 597 Rect
- XEnd
- X
- XBegin %I Rect
- X%I b 65535
- X1 0 0 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X1 SetP
- X%I t
- X[ .8 0 0 .8 170 254.2 ] concat
- X%I
- X120 575 175 597 Rect
- XEnd
- X
- XBegin %I Rect
- X%I b 65535
- X1 0 0 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X1 SetP
- X%I t
- X[ .8 0 0 .8 170 326.2 ] concat
- X%I
- X120 575 175 597 Rect
- XEnd
- X
- XBegin %I Line
- X%I b 65535
- X1 0 0 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X< ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
- X ffffffff > -1 SetP
- X%I t
- X[ .5 0 0 .5 150 567.5 ] concat
- X%I
- X101 242 272 242 Line
- XEnd
- X
- XBegin %I Text
- X%I cfg Black
- X0 0 0 SetCFg
- X%I f *-helvetica-medium-r-*-120-*
- X/Helvetica 12 SetF
- X%I t
- X[ 1 0 0 1 275 798.13 ] concat
- X%I
- X[
- X(NFS)
- X] WhiteBg Text
- XEnd
- X
- XBegin %I Text
- X%I cfg Black
- X0 0 0 SetCFg
- X%I f *-helvetica-medium-r-*-120-*
- X/Helvetica 12 SetF
- X%I t
- X[ 1 0 0 1 275 780.315 ] concat
- X%I
- X[
- X(RPC)
- X] WhiteBg Text
- XEnd
- X
- XBegin %I Text
- X%I cfg Black
- X0 0 0 SetCFg
- X%I f *-helvetica-medium-r-*-120-*
- X/Helvetica 12 SetF
- X%I t
- X[ 1 0 0 1 275 762.13 ] concat
- X%I
- X[
- X(XDR)
- X] WhiteBg Text
- XEnd
- X
- XBegin %I Text
- X%I cfg Black
- X0 0 0 SetCFg
- X%I f *-helvetica-medium-r-*-120-*
- X/Helvetica 12 SetF
- X%I t
- X[ 1 0 0 1 275 744.371 ] concat
- X%I
- X[
- X(UDP)
- X] WhiteBg Text
- XEnd
- X
- XBegin %I Text
- X%I cfg Black
- X0 0 0 SetCFg
- X%I f *-helvetica-medium-r-*-120-*
- X/Helvetica 12 SetF
- X%I t
- X[ 1 0 0 1 275 726.371 ] concat
- X%I
- X[
- X(IP)
- X] WhiteBg Text
- XEnd
- X
- XBegin %I Line
- X%I b 65535
- X1 0 1 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X< ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
- X ffffffff > -1 SetP
- X%I t
- X[ 1 0 0 1 193 224 ] concat
- X%I
- X153 465 153 487 Line
- XEnd
- X
- XBegin %I Line
- X%I b 65535
- X1 0 1 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X< ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
- X ffffffff > -1 SetP
- X%I t
- X[ 1 0 0 1 180.5 224 ] concat
- X%I
- X252 465 252 487 Line
- XEnd
- X
- XBegin %I Text
- X%I cfg Black
- X0 0 0 SetCFg
- X%I f *-helvetica-medium-r-*-120-*
- X/Helvetica 12 SetF
- X%I t
- X[ 1 0 0 1 343 681.258 ] concat
- X%I
- X[
- X(physical network)
- X] WhiteBg Text
- XEnd
- X
- XBegin %I Line
- X%I b 65535
- X1 0 0 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X< ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
- X ffffffff > -1 SetP
- X%I t
- X[ .5 0 0 .5 296 567.5 ] concat
- X%I
- X101 242 272 242 Line
- XEnd
- X
- XBegin %I Rect
- X%I b 65535
- X1 0 0 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X1 SetP
- X%I t
- X[ .8 0 0 .8 314.5 290.2 ] concat
- X%I
- X120 575 175 597 Rect
- XEnd
- X
- XBegin %I Rect
- X%I b 65535
- X1 0 0 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X1 SetP
- X%I t
- X[ .8 0 0 .8 314.5 272.2 ] concat
- X%I
- X120 575 175 597 Rect
- XEnd
- X
- XBegin %I Rect
- X%I b 65535
- X1 0 0 [] 0 SetB
- X%I cfg Black
- X0 0 0 SetCFg
- X%I cbg White
- X1 1 1 SetCBg
- X%I p
- X1 SetP
- X%I t
- X[ .8 0 0 .8 314.5 254.2 ] concat
- X%I
- X120 575 175 597 Rect
- XEnd
- X
- XBegin %I Text
- X%I cfg Black
- X0 0 0 SetCFg
- X%I f *-helvetica-medium-r-*-120-*
- X/Helvetica 12 SetF
- X%I t
- X[ 1 0 0 1 421 744.371 ] concat
- X%I
- X[
- X(TCP)
- X] WhiteBg Text
- XEnd
- X
- XBegin %I Text
- X%I cfg Black
- X0 0 0 SetCFg
- X%I f *-helvetica-medium-r-*-120-*
- X/Helvetica 12 SetF
- X%I t
- X[ 1 0 0 1 421 762.13 ] concat
- X%I
- X[
- X(FTP)
- X] WhiteBg Text
- XEnd
- X
- XBegin %I Text
- X%I cfg Black
- X0 0 0 SetCFg
- X%I f *-helvetica-medium-r-*-120-*
- X/Helvetica 12 SetF
- X%I t
- X[ 1 0 0 1 421 726.371 ] concat
- X%I
- X[
- X(IP)
- X] WhiteBg Text
- XEnd
- X
- XEnd %I eop
- X
- Xshowpage
- X
- X
- Xend
- X%%EndDocument
- X@endspecial
- Xf80 SF
- X100 1243 p (Figure)s
- X12 r (1:)s
- Xf82 SF
- X17 r (Protocol)s
- X11 r (stack)s
- X12 r (of)s
- X11 r (the)s
- X12 r (CS,)s
- X12 r (an)s
- X11 r (user-level)s
- X12 r (NFS)s
- X11 r (server)s
- X12 r (that)s
- X11 r (functions)s
- X12 r (as)s
- X11 r (an)s
- X12 r (NFS-FTP)s
- X11 r (gateway)s
- X12 r (with)s
- X100 1309 p (caching)s
- X14 r (mechanism)s
- X14 r (on)s
- X14 r (a)s
- X13 r (per-\256le)s
- X14 r (basis.)s
- Xf84 SF
- X100 1477 p (-rw-r\320\261)s
- X66 r (1)s
- X34 r (6229)s
- X166 r (ftp)s
- X365 r (626)s
- X33 r (Nov)s
- X67 r (5)s
- X33 r (20:14)s
- X33 r (README)s
- X100 1544 p (-rw-r\320\261)s
- X66 r (1)s
- X34 r (6229)s
- X166 r (ftp)s
- X265 r (283749)s
- X34 r (Oct)s
- X66 r (4)s
- X33 r (06:58)s
- X33 r (jus-osaka92.ps)s
- X100 1610 p (-rw-r\320\261)s
- X66 r (1)s
- X34 r (6229)s
- X166 r (ftp)s
- X299 r (94444)s
- X33 r (Aug)s
- X33 r (26)s
- X33 r (04:51)s
- X33 r (project.ps)s
- Xf80 SF
- X100 1787 p (Figure)s
- X14 r (2:)s
- Xf82 SF
- X19 r (An)s
- X14 r (example)s
- X14 r (illustrating)s
- X15 r (LIST)s
- X14 r (output,)s
- X14 r (that)s
- X14 r (have)s
- X14 r (been)s
- X14 r (commonly)s
- X15 r (observed)s
- X14 r (on)s
- Xf104 SF
- X14 r (unix)s
- Xf82 SF
- X14 r (ftp)s
- X14 r (servers)s
- Xf80 SF
- X(.)s
- X100 1854 p (Although)s
- X11 r (these)s
- X10 r (\256les)s
- X11 r (seem)s
- X11 r (to)s
- X10 r (be)s
- X11 r (accessible,)s
- X12 r (it)s
- X10 r (cannot)s
- X11 r (be)s
- X11 r (determined)s
- X10 r (unless)s
- X11 r (client)s
- X11 r (actually)s
- X10 r (attempts)s
- X11 r (to)s
- X11 r (retrieve)s
- X100 1920 p (it,)s
- X14 r (since)s
- X14 r (clients)s
- X14 r (have)s
- X13 r (no)s
- X14 r (means)s
- X14 r (to)s
- X14 r (acquire)s
- X14 r (the)s
- X14 r (user)s
- Xf104 SF
- X13 r (id)s
- Xf80 SF
- X14 r (and)s
- X14 r (group)s
- Xf104 SF
- X14 r (id)s
- Xf80 SF
- X14 r (of)s
- X14 r (anonymous)s
- X13 r (ftp)s
- X14 r (session.)s
- X183 2098 p (I)s
- X15 r (have)s
- X15 r (adopted)s
- X15 r (NFS)s
- X15 r (as)s
- X15 r (primary)s
- X15 r (client-side)s
- X15 r (protocol,)s
- X15 r (since)s
- X15 r (it)s
- X15 r (is)s
- X15 r (the)s
- X15 r (industrial)s
- X15 r (standard)s
- X14 r (protocol)s
- X15 r (for)s
- X15 r (dis-)s
- X100 2164 p (tributed)s
- X12 r (\256le)s
- X12 r (system.)s
- X18 r (Likewise,)s
- X12 r (I)s
- X12 r (have)s
- X12 r (chosen)s
- X12 r (FTP)s
- X12 r (as)s
- X12 r (server-side)s
- X11 r (protocol)s
- X12 r (since)s
- X12 r (FTP)s
- X13 r (is)s
- X12 r (the)s
- X12 r (Internet-standard)s
- X100 2231 p (\256le)s
- X12 r (transfer)s
- X13 r (protocol,)s
- X12 r (and)s
- X12 r (since)s
- X13 r (FTP)s
- X12 r (has)s
- X12 r (been)s
- X12 r (widely)s
- X13 r (used)s
- X12 r (in)s
- X12 r (the)s
- X12 r (Internet)s
- X13 r (as)s
- X12 r (the)s
- X12 r (primary)s
- X13 r (means)s
- X12 r (of)s
- X12 r (accessing)s
- X100 2297 p (public)s
- X14 r (Internet)s
- X14 r (archives.)s
- X183 2364 p (However)s
- X-1 r (,)s
- X17 r (in)s
- X18 r (the)s
- X17 r (course)s
- X17 r (of)s
- X18 r (implementing)s
- X17 r (CS,)s
- X18 r (the)s
- X17 r (author)s
- X18 r (has)s
- X17 r (found)s
- X18 r (that)s
- X17 r (FTP)s
- X17 r (has)s
- X18 r (several)s
- X17 r (design)s
- X18 r (\257aws)s
- X100 2430 p (when)s
- X15 r (viewed)s
- X15 r (as)s
- X16 r (a)s
- X15 r (\256lesystem)s
- X15 r (transport)s
- X15 r (protocol,)s
- X16 r (hence)s
- X15 r (making)s
- X15 r (it)s
- X15 r (dif\256cult)s
- X15 r (to)s
- X15 r (access)s
- X15 r (FTP)s
- X15 r (servers)s
- X15 r (from)s
- X16 r (pro-)s
- X100 2497 p (grams.)s
- X18 r (Although)s
- X14 r (RFC)s
- X14 r (959[5])s
- X14 r (declares)s
- X14 r (objectives)s
- X14 r (of)s
- X13 r (FTP)s
- X14 r (include:)s
- Xf81 SF
- X19 r (2\))s
- X14 r (to)s
- X13 r (encourage)s
- X14 r (indir)s
- X-1 r (ect)s
- X13 r (or)s
- X14 r (implicit)s
- X14 r (\(via)s
- X100 2563 p (pr)s
- X-1 r (ograms\))s
- X12 r (use)s
- X13 r (of)s
- X13 r (r)s
- X-1 r (emote)s
- X13 r (computers,)s
- X13 r (3\))s
- X13 r (to)s
- X13 r (shield)s
- X13 r (a)s
- X13 r (user)s
- X14 r (fr)s
- X-1 r (om)s
- X12 r (variations)s
- X13 r (in)s
- X13 r (\256le)s
- X13 r (storage)s
- X13 r (systems)s
- X13 r (among)s
- X14 r (hosts)s
- Xf80 SF
- X100 2629 p (\(RFC)s
- X14 r (959,)s
- X14 r (section)s
- X14 r (1\),)s
- X13 r (it)s
- X14 r (fails)s
- X14 r (to)s
- X14 r (attain)s
- X14 r (either)s
- X-2 r (,)s
- X13 r (as)s
- X14 r (described)s
- X14 r (below)s
- X-3 r (.)s
- Xf95 SF
- X100 2787 p (Format)s
- X17 r (of)s
- X16 r (LIST)s
- X17 r (output)s
- X16 r (is)s
- X17 r (not)s
- X17 r (de\256ned)s
- Xf80 SF
- X100 2891 p (RFC)s
- X11 r (959)s
- X11 r (only)s
- X11 r (de\256nes)s
- X11 r (that)s
- X12 r (LIST)s
- X11 r (command)s
- X11 r (causes)s
- X11 r (a)s
- X11 r (list)s
- X11 r (to)s
- X11 r (be)s
- X11 r (sent)s
- X12 r (from)s
- X11 r (the)s
- X11 r (server)s
- X11 r (to)s
- X11 r (the)s
- X11 r (passive)s
- X11 r (data)s
- X11 r (transfer)s
- X100 2957 p (process)s
- X14 r (such)s
- X13 r (as)s
- X14 r (the)s
- X13 r (ftp)s
- X14 r (client)s
- X13 r (\(RFC)s
- X14 r (959,)s
- X13 r (section)s
- X14 r (4.1.3\);)s
- X13 r (the)s
- X14 r (ambiguity)s
- X13 r (in)s
- X14 r (the)s
- X13 r (protocol)s
- X14 r (speci\256cation)s
- X14 r (has)s
- X13 r (lead)s
- X100 3024 p (to)s
- X15 r (the)s
- X15 r (diversity)s
- X15 r (of)s
- X16 r (LIST)s
- X15 r (output)s
- X15 r (observed)s
- X15 r (on)s
- X15 r (existing)s
- X15 r (ftp)s
- X15 r (implementations.)s
- X23 r (Although)s
- X15 r (virtually)s
- X15 r (all)s
- Xf104 SF
- X15 r (unix)s
- Xf80 SF
- X15 r (ftp)s
- X100 3090 p (servers)s
- X16 r (adopts)s
- X15 r (\252ls\272)s
- X16 r (output,)s
- X16 r (ftp)s
- X15 r (servers)s
- X16 r (running)s
- X16 r (on)s
- X15 r (other)s
- X16 r (operating)s
- X16 r (systems)s
- X15 r (do)s
- X16 r (not,)s
- X16 r (consequently)s
- X15 r (hindering)s
- X100 3157 p (the)s
- X14 r (use)s
- X14 r (of)s
- X14 r (ftp)s
- X13 r (agents,)s
- X14 r (such)s
- X14 r (as)s
- X14 r (the)s
- X14 r (CS.)s
- Xf95 SF
- X100 3315 p (The)s
- X17 r (\252ls\272)s
- X16 r (output)s
- X17 r (does)s
- X16 r (not)s
- X17 r (map)s
- X17 r (cleanly)s
- X16 r (to)s
- X17 r (NFS)s
- Xf80 SF
- X100 3418 p (The)s
- X13 r (inability)s
- X14 r (to)s
- X13 r (interpret)s
- X14 r (LIST)s
- X13 r (output)s
- X14 r (means)s
- X13 r (that)s
- X14 r (NFS-FTP)s
- X13 r (gateway)s
- X14 r (cannot)s
- X13 r (presume)s
- X14 r (accessibility)s
- X13 r (of)s
- X14 r (a)s
- X13 r (\256le.)s
- X100 3485 p (This)s
- X12 r (problem)s
- X13 r (can)s
- X12 r (be)s
- X13 r (mitigated)s
- X12 r (by)s
- X13 r (adopting)s
- X12 r (\252ls\272)s
- X12 r (for)s
- X13 r (LIST)s
- X12 r (output,)s
- X13 r (but)s
- X13 r (the)s
- X12 r (fundamental)s
- X12 r (problem)s
- X13 r (still)s
- X12 r (remains)s
- X100 3551 p (\(Figure)s
- X12 r (2\).)s
- X18 r (Although)s
- X12 r (\252ls\272)s
- X12 r (output)s
- X13 r (contains)s
- X12 r (rudimentary)s
- X12 r (access)s
- X12 r (control)s
- X12 r (information,)s
- X13 r (it)s
- X12 r (is)s
- X12 r (meaningful)s
- X12 r (as)s
- X12 r (far)s
- X13 r (as)s
- X100 3618 p (clients)s
- X15 r (can)s
- X16 r (acquire)s
- X15 r (current)s
- X16 r (user)s
- Xf104 SF
- X15 r (id)s
- Xf80 SF
- X16 r (and)s
- X15 r (group)s
- Xf104 SF
- X16 r (id)s
- Xf80 SF
- X15 r (somehow)s
- X-2 r (,)s
- X15 r (that)s
- X15 r (unfortunately)s
- X16 r (have)s
- X15 r (been)s
- X16 r (absent)s
- X15 r (from)s
- X16 r (FTP)s
- X100 3684 p (protocol)s
- X14 r (speci\256cation.)s
- X1261 3946 p (2)s
- XEP
- X
- X%%Page: 3 3
- XBP
- Xf95 SF
- X100 260 p (Server)s
- X17 r (r)s
- X-1 r (esponse)s
- X16 r (is)s
- X17 r (not)s
- X16 r (machine-readable)s
- Xf80 SF
- X100 364 p (The)s
- X15 r (fundamental)s
- X15 r (problem)s
- X16 r (of)s
- X15 r (FTP)s
- X15 r (protocol)s
- X15 r (speci\256cation)s
- X16 r (is)s
- X15 r (that)s
- X15 r (it)s
- X15 r (speci\256es)s
- X16 r (only)s
- X15 r (semantic)s
- X15 r (details)s
- X15 r (of)s
- X16 r (opera-)s
- X100 430 p (tions,)s
- X17 r (not)s
- X17 r (syntactic)s
- X16 r (details,)s
- X17 r (hence)s
- X17 r (blocking)s
- X16 r (the)s
- X17 r (use)s
- X16 r (of)s
- X17 r (ftp)s
- X16 r (agents)s
- X17 r (in)s
- X16 r (general,)s
- X17 r (although)s
- X17 r (RFC)s
- X16 r (959)s
- X17 r (states)s
- X16 r (that)s
- Xf81 SF
- X100 497 p (FTP)s
- X-6 r (,)s
- X17 r (though)s
- X18 r (usable)s
- X18 r (dir)s
- X-1 r (ectly)s
- X17 r (by)s
- X18 r (a)s
- X18 r (user)s
- X17 r (at)s
- X18 r (a)s
- X18 r (terminal,)s
- X19 r (is)s
- X18 r (designed)s
- X18 r (mainly)s
- X18 r (for)s
- X18 r (use)s
- X18 r (by)s
- X18 r (pr)s
- X-1 r (ograms)s
- Xf80 SF
- X17 r (\(RFC)s
- X18 r (959,)s
- X100 563 p (section)s
- X17 r (1\).)s
- X27 r (That)s
- X17 r (style)s
- X16 r (of)s
- X17 r (speci\256cation)s
- X17 r (might)s
- X16 r (have)s
- X17 r (been)s
- X17 r (successful)s
- X17 r (to)s
- X16 r (settle)s
- X17 r (the)s
- X17 r (dispute)s
- X16 r (over)s
- X17 r (hairy)s
- X17 r (details,)s
- X100 629 p (but)s
- X14 r (it)s
- X15 r (also)s
- X14 r (had)s
- X15 r (the)s
- X14 r (effect)s
- X14 r (of)s
- X14 r (deferring)s
- X15 r (the)s
- X14 r (speci\256cation)s
- X14 r (to)s
- X15 r (each)s
- X14 r (implementation,)s
- X15 r (yielding)s
- X14 r (diversity)s
- X15 r (in)s
- X14 r (server)s
- X100 696 p (messages,)s
- X14 r (which)s
- X14 r (is)s
- X14 r (virtually)s
- X13 r (impossible)s
- X14 r (to)s
- X14 r (parse)s
- X14 r (mechanically)s
- X-3 r (.)s
- Xf95 SF
- X100 854 p (Control)s
- X15 r (connection)s
- X17 r (deemed)s
- X17 r (expensive)s
- Xf80 SF
- X100 957 p (The)s
- X18 r (design)s
- X17 r (decision)s
- X18 r (of)s
- X18 r (one)s
- X17 r (control)s
- X18 r (connection)s
- X18 r (for)s
- X17 r (one)s
- X18 r (data)s
- X18 r (connection)s
- X18 r (\(RFC)s
- X17 r (959,)s
- X19 r (section)s
- X18 r (5.2\))s
- X17 r (might)s
- X18 r (be)s
- X100 1024 p (appropriate)s
- X12 r (for)s
- X12 r (ordinary)s
- X13 r (FTP)s
- X12 r (clients,)s
- X13 r (and)s
- X12 r (it)s
- X12 r (seems)s
- X12 r (to)s
- X13 r (be)s
- X12 r (desirable)s
- X12 r (in)s
- X12 r (that)s
- X13 r (resulting)s
- X12 r (protocol)s
- X12 r (would)s
- X12 r (be)s
- X13 r (simple)s
- X100 1090 p (and)s
- X17 r (easily)s
- X16 r (implemented.)s
- X27 r (It)s
- X17 r (does)s
- X16 r (not)s
- X17 r (meet)s
- X17 r (the)s
- X16 r (requirement)s
- X17 r (of)s
- X17 r (CS)s
- X16 r (however)s
- X-1 r (,)s
- X16 r (since)s
- X17 r (CS)s
- X17 r (perform)s
- X16 r (parallel)s
- X17 r (\256le)s
- X100 1157 p (transfer)s
- X10 r (upon)s
- X9 r (request)s
- X10 r (of)s
- X9 r (multiple)s
- X10 r (users.)s
- X17 r (Also,)s
- X10 r (parallel)s
- X10 r (\256le)s
- X9 r (transfer)s
- X10 r (will)s
- X10 r (become)s
- X9 r (attractive)s
- X10 r (in)s
- X9 r (Gigabit)s
- X10 r (networks)s
- X100 1223 p (because)s
- X11 r (round)s
- X11 r (trip)s
- X12 r (time)s
- X11 r (is)s
- X11 r (more)s
- X11 r (expensive)s
- X11 r (than)s
- X11 r (bandwidth;)s
- X12 r (clients)s
- X12 r (can)s
- X11 r (gain)s
- X11 r (better)s
- X11 r (performance)s
- X11 r (if)s
- X11 r (they)s
- X12 r (could)s
- X100 1290 p (request)s
- X14 r (multiple)s
- X14 r (\256les)s
- X14 r (without)s
- X13 r (establishing)s
- X14 r (control)s
- X14 r (connection)s
- X14 r (for)s
- X14 r (each)s
- X14 r (\256le.)s
- Xf95 SF
- X100 1448 p (Command-response)s
- X15 r (cycle)s
- X17 r (is)s
- X17 r (expensive)s
- Xf80 SF
- X100 1551 p (On)s
- X13 r (communication)s
- X14 r (lines)s
- X13 r (with)s
- X14 r (large)s
- X12 r (transmission)s
- X14 r (delays,)s
- X13 r (a)s
- X14 r (server-client)s
- X12 r (request-response)s
- X14 r (cycle)s
- X13 r (become)s
- X14 r (the)s
- X100 1618 p (performance)s
- X11 r (bottleneck.)s
- X18 r (A)s
- X11 r (FTP)s
- X12 r (login)s
- X11 r (session)s
- X11 r (requires)s
- X12 r (two)s
- X11 r (server)s
- X11 r (responses)s
- X12 r (\(i.e.,)s
- X12 r (for)s
- X11 r (USER)s
- X11 r (and)s
- X12 r (P)s
- X-5 r (ASS\),)s
- X11 r (that)s
- X100 1684 p (results)s
- X15 r (in)s
- X15 r (820)s
- X15 r (milliseconds)s
- X15 r (of)s
- X15 r (delay)s
- X14 r (on)s
- X15 r (a)s
- X15 r (communication)s
- X15 r (line)s
- X15 r (with)s
- X15 r (410)s
- X15 r (milliseconds)s
- X15 r (for)s
- X15 r (each)s
- X15 r (server)s
- X-1 r (-client)s
- X100 1751 p (round)s
- X14 r (trip)s
- Xf70 SF
- X320 1730 p (1)s
- Xf80 SF
- X342 1751 p (.)s
- X20 r (RFC)s
- X15 r (959)s
- X14 r (states)s
- X14 r (that)s
- X14 r (the)s
- X15 r (user)s
- X14 r (should)s
- X14 r (wait)s
- X15 r (for)s
- X14 r (a)s
- X14 r (reply)s
- X14 r (from)s
- X15 r (the)s
- X14 r (server)s
- X-1 r (,)s
- X13 r (consequently)s
- X15 r (prohibiting)s
- X100 1817 p (us)s
- X14 r (to)s
- X14 r (minimize)s
- X14 r (round)s
- X13 r (trip)s
- X14 r (delay)s
- X14 r (\(RFC)s
- X14 r (959,)s
- X14 r (Section)s
- X14 r (5.4\).)s
- Xf95 SF
- X100 1975 p (Cannot)s
- X17 r (ensur)s
- X-1 r (e)s
- X16 r (identity)s
- Xf80 SF
- X100 2079 p (It)s
- X15 r (is)s
- X14 r (sometimes)s
- X15 r (necessary)s
- X14 r (to)s
- X15 r (ensure)s
- X14 r (identity)s
- X15 r (of)s
- X14 r (two)s
- X15 r (\256les)s
- X14 r (in)s
- X15 r (distant)s
- X14 r (servers)s
- X15 r (so)s
- X14 r (that)s
- X15 r (consistency)s
- X15 r (between)s
- X14 r (any)s
- X100 2145 p (two)s
- X20 r (servers)s
- X19 r (can)s
- X20 r (be)s
- X20 r (maintained.)s
- X36 r (Some)s
- X20 r (kind)s
- X19 r (of)s
- X20 r (global)s
- X20 r (version)s
- X19 r (control)s
- X20 r (mechanism)s
- X20 r (can)s
- X20 r (be)s
- X19 r (useful)s
- X20 r (for)s
- X20 r (this)s
- X100 2211 p (purpose,)s
- X18 r (but)s
- X17 r (considering)s
- X17 r (the)s
- X17 r (dif\256culty)s
- X17 r (to)s
- X17 r (achieve)s
- X17 r (global)s
- X17 r (coordination)s
- X17 r (across)s
- X17 r (the)s
- X18 r (faulty)s
- X17 r (Internet,)s
- X18 r (it)s
- X17 r (would)s
- X100 2278 p (be)s
- X16 r (desirable)s
- X16 r (to)s
- X17 r (implement)s
- X16 r (cheaper)s
- X16 r (method)s
- X16 r (of)s
- X16 r (checking)s
- X16 r (identity)s
- X-2 r (,)s
- X16 r (rather)s
- X16 r (than)s
- X16 r (transferring)s
- X16 r (an)s
- X16 r (entire)s
- X16 r (\256le)s
- X17 r (and)s
- X100 2344 p (comparing)s
- X14 r (the)s
- X14 r (two.)s
- Xf95 SF
- X100 2502 p (Clients)s
- X17 r (cannot)s
- X16 r (know)s
- X17 r (what')s
- X-2 r (s)s
- X16 r (new)s
- Xf80 SF
- X100 2606 p (It)s
- X12 r (is)s
- X11 r (crucial)s
- X12 r (for)s
- X12 r (NFS-FTP)s
- X12 r (gateway)s
- X11 r (such)s
- X12 r (as)s
- X12 r (the)s
- X11 r (CS)s
- X12 r (to)s
- X12 r (cache)s
- X12 r (transferred)s
- X11 r (directories)s
- X12 r (and)s
- X12 r (\256les)s
- X12 r (so)s
- X11 r (that)s
- X12 r (server)s
- X12 r (can)s
- X100 2672 p (quickly)s
- X16 r (reply)s
- X16 r (to)s
- X16 r (frequently)s
- X16 r (accessed)s
- X17 r (information.)s
- X25 r (It)s
- X16 r (is)s
- X16 r (also)s
- X16 r (crucial)s
- X16 r (to)s
- X16 r (maintain)s
- X17 r (cache)s
- X16 r (consistency)s
- X-3 r (,)s
- X16 r (though)s
- X100 2739 p (it)s
- X15 r (is)s
- X15 r (theoretically)s
- X16 r (impossible)s
- X15 r (to)s
- X15 r (achieve)s
- X15 r (complete)s
- X15 r (cache)s
- X16 r (consistency)s
- X-3 r (,)s
- X15 r (given)s
- X15 r (the)s
- X15 r (large)s
- X14 r (transmission)s
- X15 r (delay)s
- X16 r (in)s
- X100 2805 p (the)s
- X16 r (Internet.)s
- X24 r (Due)s
- X16 r (to)s
- X16 r (its)s
- X16 r (simple)s
- X16 r (and)s
- X15 r (easily)s
- X16 r (implemented)s
- X16 r (protocol)s
- X16 r (design,)s
- X16 r (FTP)s
- X16 r (does)s
- X16 r (not)s
- X16 r (provide)s
- X15 r (any)s
- X16 r (means)s
- X100 2872 p (to)s
- X15 r (know)s
- X14 r (what)s
- X15 r (\256les)s
- X14 r (and/or)s
- X15 r (directories)s
- X14 r (was)s
- X15 r (modi\256ed)s
- X14 r (since)s
- X15 r (last)s
- X15 r (access,)s
- X14 r (thereby)s
- X15 r (impeding)s
- X14 r (the)s
- X15 r (CS)s
- X15 r (to)s
- X14 r (maintain)s
- X100 2938 p (cache)s
- X14 r (consistency)s
- X-3 r (.)s
- Xf95 SF
- X100 3096 p (File)s
- X17 r (transfer)s
- X16 r (cannot)s
- X17 r (be)s
- X16 r (restarted)s
- Xf80 SF
- X100 3200 p (Possibly)s
- X12 r (due)s
- X13 r (to)s
- X12 r (historical)s
- X12 r (reasons,)s
- X13 r (FTP)s
- X12 r (does)s
- X13 r (not)s
- X12 r (support)s
- X12 r (\256le)s
- X13 r (transfer)s
- X12 r (restart)s
- X12 r (in)s
- X12 r (the)s
- X13 r (bytestream)s
- X12 r (mode,)s
- X13 r (though)s
- X100 3266 p (the)s
- X12 r (feature)s
- X12 r (is)s
- X13 r (required)s
- X12 r (in)s
- X12 r (record)s
- X13 r (structure)s
- X12 r (mode)s
- X12 r (and)s
- X12 r (page)s
- X13 r (structure)s
- X12 r (mode)s
- X12 r (\(RFC)s
- X12 r (959,)s
- X13 r (section)s
- X12 r (3.5\),)s
- X13 r (that)s
- X12 r (are)s
- X12 r (no)s
- X100 3333 p (longer)s
- X12 r (implemented)s
- X12 r (in)s
- X12 r (virtually)s
- X12 r (all)s
- Xf104 SF
- X11 r (unix)s
- Xf84 SF
- X12 r (ftpd)s
- Xf80 SF
- X12 r (implementations.)s
- X18 r (File)s
- X12 r (transfer)s
- X12 r (restart)s
- X12 r (is)s
- X12 r (an)s
- X12 r (essential)s
- X11 r (feature)s
- X100 3399 p (in)s
- X14 r (the)s
- X14 r (evolving)s
- X14 r (Internet,)s
- X14 r (where)s
- X14 r (interim)s
- X14 r (gateway)s
- X13 r (shutdown,)s
- X14 r (routing)s
- X14 r (problems)s
- X14 r (and)s
- X14 r (clogging)s
- X14 r (communication)s
- X100 3465 p (lines)s
- X14 r (are)s
- X14 r (observed)s
- X14 r (almost)s
- X13 r (every)s
- X14 r (month.)s
- X100 3513 p 940 2 ru
- Xf69 SF
- X160 3550 p (1)s
- Xf72 SF
- X180 3565 p (measured)s
- X13 r (on)s
- X13 r (Osaka)s
- X12 r (University)s
- X13 r (campus)s
- X13 r (network)s
- X13 r (and)s
- X13 r (WIDE)s
- X13 r (Internet)s
- X13 r (backbone)s
- X13 r (network)s
- X13 r (between)s
- Xf105 SF
- X13 r (raicho)s
- Xf72 SF
- X12 r (and)s
- Xf105 SF
- X13 r (jp-gate)s
- Xf72 SF
- X13 r (using)s
- Xf105 SF
- X100 3618 p (traceroute)s
- Xf72 SF
- X(.)s
- Xf80 SF
- X1261 3946 p (3)s
- XEP
- X
- X%%Page: 4 4
- XBP
- Xf95 SF
- X100 260 p (Data)s
- X17 r (str)s
- X-1 r (eam)s
- X16 r (is)s
- X17 r (not)s
- X16 r (compressed)s
- Xf80 SF
- X100 364 p (While)s
- X10 r (most)s
- X10 r (FTP)s
- X10 r (administrator)s
- X10 r (have)s
- X10 r (been)s
- X9 r (attempting)s
- X10 r (to)s
- X10 r (compress)s
- X10 r (every)s
- X10 r (\256les)s
- X10 r (on)s
- X10 r (their)s
- X10 r (archives,)s
- X11 r (it)s
- X9 r (will)s
- X10 r (become)s
- X100 430 p (more)s
- X13 r (popular)s
- X13 r (to)s
- X13 r (put)s
- X13 r (\256les)s
- X13 r (on)s
- X13 r (the)s
- Xf81 SF
- X13 r (as-is)s
- Xf80 SF
- X13 r (basis,)s
- X13 r (as)s
- X13 r (the)s
- X13 r (global)s
- X13 r (\256lesystems)s
- X13 r (facilitate)s
- X13 r (information)s
- X13 r (sharing)s
- X14 r (between)s
- X100 497 p (distant)s
- X19 r (sites,)s
- X20 r (and)s
- X19 r (as)s
- X19 r (mass)s
- X19 r (storage)s
- X19 r (devices)s
- X18 r (gets)s
- X19 r (cheaper)s
- X-2 r (.)s
- X33 r (Therefore,)s
- X20 r (it)s
- X19 r (would)s
- X19 r (be)s
- X19 r (desirable)s
- X19 r (to)s
- X19 r (support)s
- X18 r (on-)s
- X100 563 p (the-\257y)s
- X15 r (compression)s
- X15 r (of)s
- X15 r (data)s
- X15 r (stream,)s
- X15 r (which)s
- X15 r (is)s
- X15 r (not)s
- X15 r (proposed)s
- X15 r (in)s
- X15 r (the)s
- X15 r (FTP)s
- X15 r (protocol)s
- X15 r (speci\256cation,)s
- X15 r (though)s
- X15 r (some)s
- X100 629 p (implementation)s
- X14 r (does)s
- X14 r (\(e.g.,)s
- Xf84 SF
- X14 r (wuarchive)s
- X33 r (ftpd)s
- Xf80 SF
- X(\).)s
- Xf99 SF
- X100 816 p (3)s
- X80 r (WWFTP:)s
- X20 r (FTP)s
- X20 r (r)s
- X-1 r (eplacement)s
- X19 r (for)s
- X20 r (WWFS)s
- Xf80 SF
- X100 939 p (As)s
- X10 r (described)s
- X10 r (in)s
- X10 r (the)s
- X10 r (previous)s
- X10 r (section,)s
- X10 r (FTP)s
- X10 r (has)s
- X10 r (several)s
- X10 r (design)s
- X10 r (\257aws;)s
- X11 r (some)s
- X10 r (of)s
- X10 r (them)s
- X10 r (can)s
- X10 r (be)s
- X10 r (addressed)s
- X9 r (by)s
- Xf81 SF
- X10 r (ad)s
- X10 r (hoc)s
- Xf80 SF
- X100 1006 p (implementation)s
- X13 r (techniques,)s
- X12 r (but)s
- X13 r (some)s
- X13 r (of)s
- X12 r (them)s
- X13 r (suggests)s
- X12 r (that)s
- X13 r (drastic)s
- X13 r (modi\256cation)s
- X12 r (is)s
- X13 r (necessary)s
- X-3 r (.)s
- X17 r (Furthermore,)s
- X100 1072 p (the)s
- X18 r (use)s
- X19 r (of)s
- X18 r (FTP)s
- X19 r (as)s
- X18 r (a)s
- X18 r (\256lesystem)s
- X19 r (transport)s
- X18 r (protocol)s
- X19 r (is)s
- X18 r (far)s
- X19 r (different)s
- X17 r (from)s
- X18 r (its)s
- X19 r (primary)s
- X18 r (goal,)s
- X20 r (that)s
- X18 r (necessitates)s
- X100 1139 p (the)s
- X18 r (design)s
- X18 r (and)s
- X18 r (implementation)s
- X18 r (of)s
- X18 r (a)s
- X18 r (new)s
- X18 r (protocol.)s
- X31 r (In)s
- X18 r (this)s
- X18 r (section)s
- X18 r (I)s
- X18 r (describe)s
- X18 r (my)s
- X18 r (solution)s
- X18 r (to)s
- X18 r (the)s
- X18 r (problem)s
- X100 1205 p (discussed)s
- X13 r (earlier)s
- X-1 r (,)s
- X12 r (and)s
- X12 r (the)s
- X13 r (design)s
- X13 r (rationale)s
- X13 r (of)s
- X12 r (WWFTP)s
- X-5 r (,)s
- X12 r (my)s
- X13 r (new)s
- X13 r (\256lesystem)s
- X12 r (transport)s
- X13 r (protocol)s
- X13 r (for)s
- X13 r (large)s
- X12 r (scale)s
- X100 1271 p (distributed)s
- X15 r (\256lesystems.)s
- X21 r (WWFTP)s
- X15 r (is)s
- X14 r (modelled)s
- X15 r (after)s
- X15 r (FTP)s
- X-5 r (,)s
- X13 r (as)s
- X15 r (the)s
- X15 r (name)s
- X15 r (suggests.)s
- X21 r (T)s
- X-3 r (opics)s
- X14 r (are)s
- X14 r (discussed)s
- X15 r (in)s
- X15 r (the)s
- X100 1338 p (same)s
- X14 r (sequence)s
- X14 r (with)s
- X14 r (the)s
- X13 r (previous)s
- X14 r (section.)s
- Xf95 SF
- X100 1496 p (3.1)s
- X66 r (Machine-readable)s
- X16 r (server)s
- X16 r (response)s
- Xf80 SF
- X100 1599 p (WWFTP)s
- X14 r (protocol)s
- X14 r (speci\256cation)s
- X14 r (de\256nes)s
- X14 r (syntax)s
- X14 r (and)s
- X13 r (semantics)s
- X14 r (of)s
- X14 r (LIST)s
- X14 r (output,)s
- X14 r (so)s
- X14 r (that)s
- X14 r (users)s
- X14 r (can)s
- X14 r (be)s
- X14 r (shielded)s
- X100 1666 p (from)s
- X16 r (variations)s
- X15 r (in)s
- X16 r (\256le)s
- X16 r (systems)s
- X15 r (among)s
- X16 r (different)s
- X14 r (operating)s
- X16 r (systems.)s
- X24 r (Furthermore,)s
- X16 r (the)s
- X16 r (LIST)s
- X15 r (output)s
- X16 r (is)s
- X15 r (orga-)s
- X100 1732 p (nized)s
- X14 r (for)s
- X14 r (clients)s
- X14 r (to)s
- X13 r (easily)s
- X14 r (determine)s
- X14 r (the)s
- X14 r (accessibility)s
- X14 r (of)s
- X14 r (a)s
- X13 r (\256le.)s
- X183 1799 p (The)s
- X16 r (format)s
- X16 r (of)s
- X15 r (server)s
- X16 r (response)s
- X16 r (is)s
- X16 r (designed)s
- X16 r (for)s
- X16 r (machine-readability)s
- X15 r (where)s
- X16 r (appropriate,)s
- X17 r (thus)s
- X15 r (alleviating)s
- X100 1865 p (the)s
- X11 r (need)s
- X10 r (to)s
- X11 r (use)s
- X10 r (regular-expression)s
- X10 r (pattern)s
- X10 r (matcher)s
- X11 r (and)s
- X10 r (other)s
- X11 r (tricky)s
- X11 r (techniques)s
- X10 r (that)s
- X11 r (depend)s
- X10 r (on)s
- X11 r (speci\256c)s
- Xf84 SF
- X10 r (ftpd)s
- Xf80 SF
- X100 1932 p (implementation.)s
- Xf95 SF
- X100 2090 p (3.2)s
- X66 r (Shared)s
- X16 r (control)s
- X15 r (connection)s
- Xf80 SF
- X100 2193 p (WWFTP)s
- X13 r (introduced)s
- X13 r (session)s
- Xf104 SF
- X13 r (id)s
- Xf80 SF
- X13 r (and)s
- X13 r (session)s
- Xf104 SF
- X13 r (id)s
- Xf80 SF
- X13 r (speci\256er)s
- X-2 r (,)s
- X13 r (that)s
- X13 r (enables)s
- X12 r (sharing)s
- X13 r (of)s
- X13 r (control)s
- X13 r (connection.)s
- X18 r (Shared)s
- X100 2260 p (control)s
- X12 r (connection)s
- X11 r (reduces)s
- X12 r (the)s
- X11 r (average)s
- X12 r (initial)s
- X11 r (delay)s
- X12 r (for)s
- X12 r (parallel)s
- X11 r (\256le)s
- X12 r (transfer)s
- X-1 r (,)s
- X11 r (that)s
- X11 r (hopefully)s
- X12 r (results)s
- X11 r (in)s
- X12 r (shorter)s
- X100 2326 p (request-response)s
- X14 r (time)s
- X14 r (and)s
- X14 r (better)s
- X13 r (throughput)s
- X14 r (in)s
- X14 r (the)s
- X14 r (CS.)s
- X183 2392 p (Session)s
- Xf104 SF
- X11 r (id)s
- Xf80 SF
- X11 r (speci\256er)s
- X10 r (binds)s
- X11 r (a)s
- X11 r (session)s
- Xf104 SF
- X11 r (id)s
- Xf80 SF
- X11 r (with)s
- X10 r (an)s
- X11 r (object,)s
- X12 r (so)s
- X11 r (that)s
- X10 r (server)s
- X11 r (and)s
- X11 r (client)s
- X11 r (can)s
- X11 r (later)s
- X10 r (mention)s
- X11 r (ongoing)s
- X100 2459 p (activities)s
- X15 r (\(e.g.)s
- X20 r (ongoing)s
- X15 r (\256le)s
- X14 r (transfer\))s
- X15 r (concisely)s
- X-3 r (.)s
- X20 r (Session)s
- Xf104 SF
- X14 r (id)s
- Xf80 SF
- X15 r (is)s
- X14 r (assigned)s
- X15 r (only)s
- X14 r (by)s
- X15 r (WWFTP)s
- X14 r (server)s
- X-1 r (,)s
- X14 r (so)s
- X14 r (that)s
- X15 r (the)s
- X100 2525 p (state)s
- X16 r (information)s
- X17 r (maintained)s
- X16 r (by)s
- X16 r (the)s
- X16 r (server)s
- X17 r (is)s
- X16 r (limited)s
- X16 r (to)s
- X17 r (the)s
- X16 r (ongoing)s
- X16 r (activities.)s
- X26 r (Clients)s
- X16 r (are)s
- X16 r (not)s
- X17 r (allowed)s
- X16 r (to)s
- X100 2592 p (assign)s
- X11 r (session)s
- Xf104 SF
- X10 r (id)s
- Xf80 SF
- X(s)s
- X11 r (since)s
- X11 r (possible)s
- X10 r (misconduct)s
- X11 r (of)s
- X11 r (client)s
- X10 r (might)s
- X11 r (result)s
- X11 r (in)s
- X10 r (the)s
- X11 r (limitless)s
- X11 r (assignment)s
- X11 r (of)s
- X10 r (unused)s
- X11 r (ses-)s
- X100 2658 p (sion)s
- Xf104 SF
- X14 r (id)s
- Xf80 SF
- X(s,)s
- X14 r (that)s
- X13 r (signi\256cantly)s
- X14 r (increases)s
- X14 r (the)s
- X14 r (state)s
- X14 r (information)s
- X13 r (maintained)s
- X14 r (by)s
- X14 r (the)s
- X14 r (server)s
- X-1 r (,)s
- X13 r (leading)s
- X13 r (to)s
- X14 r (the)s
- X14 r (memory)s
- X100 2725 p (leakage.)s
- X183 2791 p (Clients)s
- X20 r (must)s
- X19 r (maintain)s
- X20 r (the)s
- Xf104 SF
- X19 r (id)s
- Xf80 SF
- X(-to-object)s
- X20 r (bindings)s
- X19 r (while)s
- X20 r (the)s
- X19 r (corresponding)s
- X20 r (session)s
- X19 r (is)s
- X20 r (in)s
- X20 r (progress,)s
- X21 r (and)s
- X100 2857 p (they)s
- X12 r (must)s
- X12 r (free)s
- X12 r (a)s
- X13 r (binding)s
- X12 r (when)s
- X12 r (the)s
- X12 r (server)s
- X12 r (declares)s
- X12 r (it)s
- X13 r (is)s
- X12 r (no)s
- X12 r (longer)s
- X12 r (necessary)s
- X-3 r (.)s
- X17 r (Such)s
- X12 r (binding)s
- X13 r (mechanism)s
- X12 r (might)s
- X100 2924 p (add)s
- X15 r (extra)s
- X15 r (complexity)s
- X15 r (to)s
- X15 r (client)s
- X15 r (programs,)s
- X15 r (but)s
- X15 r (the)s
- X15 r (cost)s
- X15 r (of)s
- X15 r (binding)s
- X15 r (mechanism)s
- X14 r (is)s
- X15 r (inevitable)s
- X15 r (in)s
- X15 r (protocols)s
- X15 r (that)s
- X100 2990 p (embrace)s
- X16 r (parallelism.)s
- X24 r (The)s
- X15 r (extraneous)s
- X16 r (code)s
- X16 r (that)s
- X15 r (manages)s
- X16 r (parallel)s
- X16 r (sessions)s
- X15 r (can)s
- X16 r (be)s
- X16 r (minimized)s
- X15 r (by)s
- X16 r (providing)s
- X100 3057 p (WWFTP)s
- X14 r (client)s
- X14 r (library)s
- X-3 r (,)s
- X13 r (that)s
- X14 r (encapsulates)s
- X14 r (the)s
- X13 r (complexity)s
- X-2 r (.)s
- Xf95 SF
- X100 3215 p (3.3)s
- X66 r (Consecutive)s
- X17 r (commands/responses)s
- Xf80 SF
- X100 3318 p (WWFTP)s
- X13 r (protocol)s
- X14 r (speci\256cation)s
- X13 r (allows)s
- X14 r (consecutive)s
- X13 r (commands)s
- X14 r (to)s
- X13 r (be)s
- X14 r (sent)s
- X13 r (at)s
- X14 r (a)s
- X13 r (time)s
- X14 r (so)s
- X13 r (that)s
- X14 r (request-response)s
- X100 3385 p (cycle)s
- X20 r (can)s
- X20 r (be)s
- X20 r (minimized.)s
- X37 r (Also,)s
- X21 r (every)s
- X20 r (response)s
- X20 r (from)s
- X20 r (WWFTP)s
- X20 r (server)s
- X20 r (contains)s
- X20 r (unique)s
- X20 r (response)s
- X20 r (number)s
- X100 3451 p (within)s
- X20 r (current)s
- X19 r (control)s
- X20 r (connection,)s
- X21 r (that)s
- X19 r (indicates)s
- X20 r (correspondence)s
- X20 r (with)s
- X19 r (requests,)s
- X21 r (hence)s
- X20 r (clients)s
- X19 r (can)s
- X20 r (easily)s
- X100 3518 p (keep)s
- X13 r (track)s
- X13 r (of)s
- X14 r (relationship)s
- X13 r (between)s
- X13 r (requests)s
- X13 r (and)s
- X13 r (responses,)s
- X14 r (that)s
- X13 r (eventually)s
- X13 r (will)s
- X13 r (encourage)s
- X14 r (clients)s
- X13 r (minimize)s
- X100 3584 p (the)s
- X14 r (net)s
- X14 r (effect)s
- X13 r (of)s
- X13 r (round)s
- X14 r (trip)s
- X14 r (delay)s
- X-3 r (.)s
- X1261 3946 p (4)s
- XEP
- X
- X%%Page: 5 5
- XBP
- Xf95 SF
- X100 260 p (3.4)s
- X66 r (Identity)s
- X17 r (check)s
- X17 r (algorithm)s
- Xf80 SF
- X100 364 p (An)s
- Xf26 SF
- X15 r (O)s
- Xf80 SF
- X1 r (\(log)s
- Xf26 SF
- X9 r (N)s
- Xf80 SF
- X6 r (\))s
- X15 r (algorithm)s
- X15 r (is)s
- X15 r (adopted)s
- X14 r (to)s
- X15 r (compare)s
- X15 r (large)s
- X13 r (replicated)s
- X15 r (\256les)s
- X15 r ([6],)s
- X15 r (that)s
- X14 r (alleviates)s
- X15 r (the)s
- X15 r (need)s
- X15 r (to)s
- X14 r (transfer)s
- X100 430 p (an)s
- X14 r (entire)s
- X14 r (\256le)s
- X14 r (contents)s
- X13 r (and)s
- X14 r (the)s
- X14 r (need)s
- X14 r (to)s
- X14 r (maintain)s
- X14 r (consistency)s
- X13 r (among)s
- X14 r (distant)s
- X14 r (sites.)s
- X183 497 p (The)s
- X14 r (algorithm)s
- X15 r (is)s
- X14 r (also)s
- X14 r (used)s
- X14 r (to)s
- X15 r (compute)s
- X14 r (32-bit)s
- X14 r (version)s
- X14 r (signature)s
- X15 r (for)s
- X14 r (each)s
- X14 r (directory)s
- X14 r (and)s
- X15 r (each)s
- X14 r (\256le,)s
- X14 r (so)s
- X15 r (that)s
- X100 563 p (clients)s
- X18 r (can)s
- X18 r (distinguish)s
- X18 r (which)s
- X17 r (directory)s
- X18 r (was)s
- X18 r (modi\256ed)s
- X18 r (since)s
- X18 r (last)s
- X18 r (access)s
- X18 r (by)s
- X18 r (comparing)s
- X17 r (the)s
- X18 r (newly)s
- X18 r (obtained)s
- X100 629 p (version)s
- X14 r (signature)s
- X14 r (with)s
- X14 r (cached)s
- X14 r (one.)s
- X19 r (V)s
- X-5 r (ersion)s
- X13 r (signature)s
- X14 r (of)s
- X14 r (\256les)s
- X14 r (are)s
- X14 r (generated)s
- X14 r (from)s
- X14 r (their)s
- X14 r (contents,)s
- X14 r (and)s
- X14 r (that)s
- X14 r (of)s
- X100 696 p (directories)s
- X14 r (are)s
- X14 r (generated)s
- X14 r (from)s
- X14 r (version)s
- X14 r (signatures)s
- X14 r (of)s
- X14 r (\256les)s
- X14 r (in)s
- X14 r (the)s
- X14 r (directory)s
- X-3 r (,)s
- X13 r (thereby)s
- X14 r (avoiding)s
- X14 r (heuristic)s
- X14 r (use)s
- X14 r (of)s
- X100 762 p (\256le)s
- X14 r (attributes)s
- X14 r (intended)s
- X14 r (for)s
- X13 r (other)s
- X14 r (purpose,)s
- X14 r (such)s
- X14 r (as)s
- X14 r (time)s
- X14 r (stamp)s
- X13 r (and)s
- X14 r (\256le)s
- X14 r (size.)s
- Xf95 SF
- X100 920 p (3.5)s
- X66 r (File)s
- X17 r (transfer)s
- X17 r (options)s
- Xf80 SF
- X100 1024 p (WWFTP)s
- X13 r (protocol)s
- X13 r (speci\256cation)s
- X13 r (requires)s
- X13 r (that)s
- X12 r (every)s
- X13 r (implementation)s
- X13 r (of)s
- X13 r (WWFTP)s
- X13 r (should)s
- X13 r (support)s
- X13 r (\256le)s
- X13 r (transfer)s
- X100 1090 p (restart.)s
- X23 r (Also,)s
- X16 r (the)s
- X16 r (speci\256cation)s
- X15 r (requires)s
- X16 r (that)s
- X15 r (compressed)s
- X16 r (data)s
- X15 r (stream)s
- X16 r (should)s
- X15 r (be)s
- X16 r (supported)s
- X16 r (as)s
- X15 r (a)s
- X16 r (\256le)s
- X15 r (transfer)s
- X100 1157 p (option.)s
- Xf95 SF
- X100 1315 p (3.6)s
- X66 r (Multi-stage)s
- X17 r (data)s
- X17 r (transfer)s
- Xf80 SF
- X100 1418 p (WWFTP)s
- X16 r (attempts)s
- X17 r (to)s
- X16 r (support)s
- X16 r (multi-stage)s
- X16 r (data)s
- X17 r (transfer)s
- X-2 r (,)s
- X16 r (where)s
- X16 r (several)s
- X17 r (CSs)s
- X16 r (are)s
- X16 r (organized)s
- X16 r (hierarchically)s
- X16 r (so)s
- X100 1485 p (that)s
- X15 r (cached)s
- X16 r (\256les)s
- X15 r (and)s
- X16 r (directories)s
- X15 r (can)s
- X16 r (be)s
- X15 r (shared)s
- X16 r (among)s
- X15 r (CSs.)s
- X24 r (T)s
- X-3 r (o)s
- X14 r (minimize)s
- X16 r (the)s
- X15 r (propagation)s
- X16 r (delay)s
- X15 r (caused)s
- X16 r (by)s
- X100 1551 p (each)s
- X10 r (CS,)s
- X11 r (WWFTP)s
- X10 r (protocol)s
- X11 r (speci\256cation)s
- X10 r (requires)s
- X10 r (support)s
- X11 r (for)s
- X10 r (relayed)s
- X11 r (data)s
- X10 r (stream)s
- X10 r (and)s
- X11 r (bypassed)s
- X10 r (reply)s
- X-2 r (.)s
- X16 r (These)s
- X100 1618 p (mechanisms)s
- X17 r (are)s
- X18 r (intended)s
- X17 r (as)s
- X18 r (a)s
- X17 r (remedy)s
- X18 r (for)s
- X17 r (the)s
- X18 r (current)s
- X17 r (Internet)s
- X18 r (protocol)s
- X17 r (suite,)s
- X19 r (where)s
- X17 r (ubiquitous)s
- X18 r (multicast)s
- X100 1684 p (protocol)s
- X14 r (has)s
- X14 r (been)s
- X14 r (lacking)s
- X13 r (from)s
- X14 r (the)s
- X14 r (standard.)s
- Xf95 SF
- X100 1842 p (3.7)s
- X66 r (Human-readable)s
- X16 r (protocol)s
- Xf80 SF
- X100 1946 p (I)s
- X11 r (have)s
- X11 r (chosen)s
- X11 r (FTP)s
- X10 r (as)s
- X11 r (its)s
- X11 r (starting)s
- X11 r (point)s
- X11 r (and)s
- X11 r (have)s
- X11 r (avoided)s
- X11 r (the)s
- X10 r (use)s
- X11 r (of)s
- X11 r (RPC[7],)s
- X12 r (primarily)s
- X11 r (because)s
- X10 r (clients)s
- X11 r (should)s
- X100 2012 p (be)s
- X14 r (easily)s
- X14 r (implemented)s
- X15 r (with)s
- X14 r (interpretive)s
- X14 r (languages)s
- X14 r (such)s
- X15 r (as)s
- X14 r (T)s
- X-3 r (cl)s
- X13 r (and)s
- X14 r (perl.)s
- X20 r (Another)s
- X14 r (reason)s
- X15 r (I)s
- X14 r (have)s
- X14 r (abandoned)s
- X100 2079 p (the)s
- X12 r (idea)s
- X12 r (of)s
- X12 r (using)s
- X12 r (RPC)s
- X12 r (is)s
- X12 r (that)s
- X12 r (the)s
- X12 r (performance)s
- X12 r (of)s
- X12 r (RPC)s
- X12 r (is)s
- X12 r (inherently)s
- X12 r (bound)s
- X12 r (to)s
- X12 r (round)s
- X12 r (trip)s
- X12 r (delay)s
- X12 r (and)s
- X12 r (exploiting)s
- X100 2145 p (parallelism)s
- X15 r (in)s
- X16 r (RPC)s
- X15 r (involves)s
- X15 r (touchy)s
- X16 r (combination)s
- X15 r (of)s
- X15 r (RPC)s
- X16 r (and)s
- X15 r (thread)s
- X15 r (library)s
- X-2 r (,)s
- X14 r (including)s
- X16 r (modi\256cation)s
- X15 r (to)s
- X15 r (the)s
- X100 2211 p (RPC)s
- X14 r (stub)s
- X14 r (generator)s
- X-2 r (,)s
- X13 r (that)s
- X14 r (is)s
- X14 r (not)s
- X14 r (directly)s
- X14 r (related)s
- X13 r (to)s
- X14 r (my)s
- X14 r (goal.)s
- X183 2278 p (Being)s
- X13 r (FTP)s
- X13 r (derivative)s
- X13 r (gives)s
- X13 r (several)s
- X12 r (bene\256ts;)s
- X14 r (existing)s
- Xf84 SF
- X12 r (ftp)s
- Xf80 SF
- X13 r (implementation)s
- X13 r (can)s
- X13 r (be)s
- X13 r (reused,)s
- X13 r (and)s
- Xf84 SF
- X13 r (telnet)s
- Xf80 SF
- X100 2344 p (can)s
- X11 r (be)s
- X11 r (used)s
- X11 r (for)s
- X12 r (debugging.)s
- X17 r (Although)s
- X11 r (WWFTP)s
- X11 r (is)s
- X11 r (\256lesystem-oriented,)s
- X12 r (its)s
- X11 r (input/output)s
- X11 r (characters)s
- X12 r (are)s
- X11 r (limited)s
- X100 2411 p (to)s
- X15 r (ASCII)s
- X15 r (and)s
- X16 r (its)s
- X15 r (output)s
- X15 r (is)s
- X15 r (mostly)s
- X16 r (human-readable)s
- X15 r (so)s
- X15 r (that)s
- X15 r (users)s
- X16 r (can)s
- X15 r (easily)s
- X15 r (interface)s
- X16 r (with)s
- X15 r (WWFTP)s
- X15 r (servers)s
- X100 2477 p (via)s
- Xf84 SF
- X14 r (telnet)s
- Xf80 SF
- X(.)s
- Xf99 SF
- X100 2664 p (4)s
- X80 r (Status)s
- X20 r (and)s
- X20 r (Futur)s
- X-1 r (e)s
- X19 r (work)s
- Xf80 SF
- X100 2787 p (WWFTP)s
- X15 r (protocol)s
- X15 r (speci\256cation)s
- X15 r (is)s
- X15 r (currently)s
- X15 r (being)s
- X15 r (reviewed)s
- X15 r (and)s
- X15 r (improved.)s
- X22 r (Design)s
- X15 r (and)s
- X15 r (implementation)s
- X15 r (of)s
- X100 2853 p (multi-threaded)s
- X15 r (\256le)s
- X16 r (server)s
- X15 r (software)s
- X15 r (is)s
- X15 r (in)s
- X16 r (progress.)s
- X22 r (CS)s
- X15 r (will)s
- X16 r (implement)s
- X15 r (WWFTP)s
- X15 r (protocol)s
- X15 r (in)s
- X16 r (the)s
- X15 r (next)s
- X15 r (major)s
- X100 2920 p (release.)s
- X183 2986 p (Since)s
- X12 r (WWFTP)s
- X12 r (is)s
- X11 r (primarily)s
- X12 r (designed)s
- X12 r (for)s
- X12 r (WWFS,)s
- X12 r (the)s
- X12 r (protocol)s
- X11 r (speci\256cation)s
- X12 r (does)s
- X12 r (not)s
- X12 r (de\256ne)s
- X12 r (write)s
- X12 r (opera-)s
- X100 3053 p (tion)s
- X13 r (at)s
- X12 r (all.)s
- X18 r (However)s
- X-1 r (,)s
- X12 r (it)s
- X13 r (can)s
- X12 r (be)s
- X13 r (extended)s
- X12 r (to)s
- X13 r (supercede)s
- X13 r (FTP)s
- X12 r (in)s
- X13 r (its)s
- X13 r (functionality)s
- X-3 r (,)s
- X12 r (thereby)s
- X13 r (replacing)s
- X12 r (FTP)s
- X13 r (clients)s
- X100 3119 p (with)s
- X14 r (WWFTP)s
- X14 r (clients.)s
- Xf99 SF
- X100 3305 p (5)s
- X80 r (Conclusion)s
- Xf80 SF
- X100 3429 p (FTP)s
- X14 r (has)s
- X15 r (several)s
- X14 r (shortcomings)s
- X15 r (from)s
- X14 r (the)s
- X15 r (viewpoint)s
- X14 r (of)s
- X15 r (\256lesystem)s
- X14 r (transport)s
- X14 r (protocol,)s
- X15 r (that)s
- X15 r (necessitates)s
- X14 r (a)s
- X14 r (new)s
- X100 3495 p (protocol)s
- X19 r (supporting)s
- X19 r (\256lesystem)s
- X19 r (semantics)s
- X19 r (and)s
- X19 r (interaction)s
- X19 r (of)s
- X19 r (computer-based)s
- X18 r (agents.)s
- X34 r (The)s
- X19 r (author)s
- X19 r (has)s
- X20 r (de-)s
- X100 3562 p (signed)s
- X14 r (a)s
- X14 r (new)s
- X14 r (protocol)s
- X13 r (called)s
- X14 r (WWFTP)s
- X-5 r (,)s
- X13 r (that)s
- X14 r (has)s
- X14 r (the)s
- X13 r (following)s
- X14 r (advantages)s
- X14 r (over)s
- X14 r (FTP:)s
- Xf27 SF
- X183 3672 p (\017)s
- Xf81 SF
- X28 r (Support)s
- X13 r (for)s
- X12 r (computer-based)s
- X12 r (agents.)s
- Xf80 SF
- X18 r (Machine-readable)s
- X13 r (server)s
- X13 r (response)s
- X13 r (facilitates)s
- X12 r (implementation)s
- X13 r (of)s
- X238 3739 p (NFS-WWFTP)s
- X14 r (gateway)s
- X14 r (software.)s
- X1261 3946 p (5)s
- XEP
- X
- X%%Page: 6 6
- XBP
- Xf27 SF
- X183 260 p (\017)s
- Xf81 SF
- X28 r (Support)s
- X20 r (for)s
- X20 r (high-speed)s
- X21 r (networks)s
- X20 r (and)s
- X20 r (long-delay)s
- X21 r (communication)s
- X20 r (lines.)s
- Xf80 SF
- X38 r (Response)s
- X20 r (identi\256er)s
- X20 r (helps)s
- X238 327 p (clients)s
- X14 r (to)s
- X14 r (exploit)s
- X14 r (parallelism)s
- X14 r (in)s
- X14 r (the)s
- X13 r (\256le)s
- X14 r (transfer)s
- X-2 r (.)s
- Xf27 SF
- X183 437 p (\017)s
- Xf81 SF
- X28 r (Support)s
- X14 r (for)s
- X13 r (ar)s
- X-1 r (chive)s
- X13 r (r)s
- X-1 r (eplication.)s
- Xf80 SF
- X18 r (32-bit)s
- X13 r (version)s
- X14 r (signature)s
- X14 r (enables)s
- X14 r (ef\256cient)s
- X13 r (update)s
- X14 r (of)s
- X13 r (replicated)s
- X14 r (infor-)s
- X238 504 p (mation.)s
- Xf27 SF
- X183 614 p (\017)s
- Xf81 SF
- X28 r (Support)s
- X19 r (for)s
- X19 r (multi-stage)s
- X19 r (data)s
- X19 r (transfer)s
- X-6 r (.)s
- Xf80 SF
- X33 r (Relayed)s
- X19 r (data)s
- X19 r (stream)s
- X19 r (and)s
- X19 r (bypassed)s
- X19 r (reply)s
- X19 r (assist)s
- X19 r (architecting)s
- X238 681 p (multi-stage)s
- X14 r (\256le)s
- X14 r (servers)s
- X14 r (on)s
- X14 r (top)s
- X14 r (of)s
- X13 r (the)s
- X14 r (standard)s
- X14 r (Internet)s
- X14 r (protocols.)s
- Xf99 SF
- X100 867 p (References)s
- Xf80 SF
- X100 991 p ([1])s
- X28 r (Y)s
- X-5 r (ouki)s
- X14 r (Kadobayashi,)s
- X15 r (Suguru)s
- X15 r (Y)s
- X-4 r (amaguchi,)s
- X14 r (and)s
- X15 r (Hideo)s
- X15 r (Miyahara.)s
- X24 r (WWFS:)s
- X14 r (A)s
- X15 r (framework)s
- X15 r (for)s
- X15 r (distributing)s
- X192 1057 p (information)s
- X15 r (in)s
- X14 r (the)s
- X15 r (Internet)s
- X15 r (environment.)s
- X23 r (In)s
- Xf81 SF
- X14 r (Pr)s
- X-1 r (oceedings)s
- X14 r (of)s
- X14 r (the)s
- X15 r (seventh)s
- X15 r (IEEE)s
- X14 r (Region)s
- X15 r (10)s
- X15 r (International)s
- X192 1123 p (Confer)s
- X-1 r (ence)s
- X13 r (TENCON'92)s
- Xf80 SF
- X(,)s
- X14 r (pages)s
- X14 r (227\261231,)s
- X14 r (November)s
- X13 r (1992.)s
- X100 1234 p ([2])s
- X28 r (Y)s
- X-5 r (ouki)s
- X14 r (Kadobayashi.)s
- Xf81 SF
- X24 r (WWFS)s
- X15 r (Refer)s
- X-1 r (ence)s
- X14 r (Manual)s
- Xf80 SF
- X(.)s
- X23 r (WWFS)s
- X15 r (Research)s
- X15 r (Group,)s
- X16 r (Department)s
- X14 r (of)s
- X15 r (Information)s
- X192 1301 p (&)s
- X14 r (Computer)s
- X14 r (Sciences,)s
- X14 r (Osaka)s
- X14 r (University)s
- X-3 r (,)s
- X13 r (January)s
- X14 r (1993.)s
- X100 1411 p ([3])s
- X28 r (Y)s
- X-5 r (ouki)s
- X12 r (Kadobayashi.)s
- X19 r (Beyond)s
- X13 r (global)s
- X13 r (\256le)s
- X14 r (systems:)s
- X18 r (the)s
- X13 r (WWFS)s
- X13 r (approach.)s
- X19 r (T)s
- X-3 r (echnical)s
- X12 r (Report)s
- X13 r (WWFS-TR-)s
- X192 1478 p (93-2,)s
- X18 r (WWFS)s
- X18 r (Research)s
- X17 r (Group,)s
- X18 r (Department)s
- X17 r (of)s
- X17 r (Information)s
- X18 r (&)s
- X17 r (Computer)s
- X17 r (Sciences,)s
- X18 r (Osaka)s
- X18 r (University)s
- X-3 r (,)s
- X192 1544 p (January)s
- X14 r (1993.)s
- X100 1655 p ([4])s
- X28 r (Sun)s
- X14 r (Microsystems.)s
- X19 r (NFS:)s
- X14 r (Network)s
- X14 r (File)s
- X14 r (System)s
- X14 r (protocol)s
- X14 r (speci\256cation.)s
- X20 r (RFC)s
- X13 r (1094,)s
- X14 r (March)s
- X14 r (1989.)s
- X100 1765 p ([5])s
- X28 r (J.)s
- X13 r (Postel)s
- X13 r (and)s
- X14 r (J.)s
- X13 r (Reynolds.)s
- X19 r (File)s
- X14 r (Transfer)s
- X13 r (Protocol.)s
- X19 r (RFC)s
- X13 r (959,)s
- X14 r (Information)s
- X13 r (Sciences)s
- X14 r (Institute,)s
- X13 r (University)s
- X192 1832 p (of)s
- X14 r (Southern)s
- X14 r (California,)s
- X14 r (October)s
- X14 r (1985.)s
- X100 1943 p ([6])s
- X28 r (W)s
- X-4 r (.)s
- X13 r (Kent)s
- X14 r (Fuchs,)s
- X15 r (Kun-Lung)s
- X14 r (W)s
- X-1 r (u,)s
- X13 r (and)s
- X14 r (Jacob)s
- X15 r (A.)s
- X14 r (Abraham.)s
- X22 r (Comparison)s
- X14 r (and)s
- X14 r (diagnosis)s
- X15 r (of)s
- X14 r (large)s
- X13 r (replicated)s
- X192 2009 p (\256les.)s
- Xf81 SF
- X20 r (IEEE)s
- X14 r (T)s
- X-2 r (ransactions)s
- X13 r (on)s
- X14 r (Softwar)s
- X-1 r (e)s
- X12 r (Engineering)s
- Xf80 SF
- X(,)s
- X14 r (SE-13\(1\),)s
- X14 r (January)s
- X14 r (1987.)s
- X100 2120 p ([7])s
- X28 r (Sun)s
- X17 r (Microsystems.)s
- X33 r (RPC:)s
- X17 r (Remote)s
- X17 r (Procedure)s
- X17 r (Call)s
- X18 r (protocol)s
- X17 r (speci\256cation)s
- X17 r (version)s
- X18 r (2.)s
- X32 r (RFC)s
- X18 r (1057,)s
- X18 r (June)s
- X192 2186 p (1988.)s
- X1261 3946 p (6)s
- XEP
- X%%Trailer
- X%%Pages: 6
- XEND
- X%%EOF
- END_OF_FILE
- if test 67804 -ne `wc -c <'doc/wwftp.ps'`; then
- echo shar: \"'doc/wwftp.ps'\" unpacked with wrong size!
- fi
- # end of 'doc/wwftp.ps'
- fi
- if test -f 'mule/mule.el-diff' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'mule/mule.el-diff'\"
- else
- echo shar: Extracting \"'mule/mule.el-diff'\" \(854 characters\)
- sed "s/^X//" >'mule/mule.el-diff' <<'END_OF_FILE'
- X*** mule.el-ORG Mon Jun 21 12:25:49 1993
- X--- mule.el Sun Jun 27 08:43:30 1993
- X***************
- X*** 654,659 ****
- X--- 654,662 ----
- X (prog1 (not (eq (default-value 'file-coding-system) file-coding-system))
- X (setq-default file-coding-system coding-system))))
- X
- X+ (defvar insert-file-contents-access-hook nil
- X+ "A hook function to make the file accessible before inserting file.")
- X+
- X (defvar insert-file-contents-pre-hook nil
- X "A hook function to decide coding-system used for reading.
- X
- X***************
- X*** 703,708 ****
- X--- 706,713 ----
- X (let (return-val)
- X (condition-case err
- X (progn
- X+ (if insert-file-contents-access-hook
- X+ (funcall insert-file-contents-access-hook filename visit))
- X (setq coding-system
- X (cond (insert-file-contents-pre-hook
- X (funcall insert-file-contents-pre-hook filename visit))
- END_OF_FILE
- if test 854 -ne `wc -c <'mule/mule.el-diff'`; then
- echo shar: \"'mule/mule.el-diff'\" unpacked with wrong size!
- fi
- # end of 'mule/mule.el-diff'
- fi
- if test -f 'wwalk/wwalk' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'wwalk/wwalk'\"
- else
- echo shar: Extracting \"'wwalk/wwalk'\" \(17712 characters\)
- sed "s/^X//" >'wwalk/wwalk' <<'END_OF_FILE'
- X#!/usr/local/bin/wish -f
- X#
- X# wwalk - walk around the cyberspace with your favorite sneaker.
- X# translation: visual interface for your filesystem.
- X#
- X#
- X# WorldWide File System
- X# Copyright (c) 1992,1993 Youki Kadobayashi
- X# Copyright (c) 1992,1993 Osaka University
- X# All rights reserved.
- X#
- X# Permission to use, copy, modify and distribute this software and its
- X# documentation is hereby granted, provided that the following conditions
- X# are met:
- X# 1. Both the copyright notice and this permission notice appear in
- X# all copies of the software, derivative works or modified versions,
- X# and any portions thereof, and that both notices appear in
- X# supporting documentation.
- X# 2. All advertising materials mentioning features or use of this software
- X# must display the following acknowledgement:
- X# This product includes software developed by the Osaka University
- X# and its contributors.
- X# 3. Neither the name of the University nor the names of its contributors
- X# may be used to endorse or promote products derived from this software
- X# without specific prior written permission.
- X#
- X# THIS SOFTWARE IS PROVIDED BY THE DEVELOPER ``AS IS'' AND OSAKA
- X# UNIVERSITY DISCLAIMS ANY LIABILITY OF ANY KIND FOR ANY DAMAGES
- X# WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
- X#
- X# Osaka University requests users of this software to return to
- X#
- X# Youki Kadobayashi
- X# Department of Information and Computer Sciences
- X# Osaka University, Toyonaka 560, Osaka, Japan
- X#
- X# any improvements or extensions that they make and grant Osaka
- X# University the rights to redistribute these changes.
- X
- X# $Header: wwalk[109.0] Wed Nov 24 03:50:32 1993 youki-k@is.aist-nara.ac.jp saved $
- X#
- X
- X#
- X# Configure widgets and arrange them.
- X#
- X
- Xframe .menu
- X
- Xmenubutton .menu.file -text "File" -menu .menu.file.m
- Xmenu .menu.file.m
- X.menu.file.m add command -label "view" -accel "v"\
- X -command "catch {getpath; op.view}"
- X.menu.file.m add command -label "edit"\
- X -command "catch {getpath; op.edit}"
- X.menu.file.m add command -label "head"\
- X -command "catch {getpath; op.head}"
- X.menu.file.m add command -label "tail"\
- X -command "catch {getpath; op.tail}"
- X.menu.file.m add command -label "remove"\
- X -command "getpath; op.remove"
- X
- Xmenubutton .menu.arc -text "Archive" -menu .menu.arc.m
- Xmenu .menu.arc.m
- X.menu.arc.m add command -label "contents" -accel "?"\
- X -command "catch {getpath; op.contents}"
- X.menu.arc.m add command -label "archive"\
- X -command "catch {getpath; op.archive}"
- X.menu.arc.m add command -label "un-archive"\
- X -command "getpath; op.unarchive"
- X.menu.arc.m add command -label "destination" \
- X -command "getpath; dest.reply"
- X.menu.arc.m disable "destination"
- Xset cooperative {"archive" "un-archive"}
- X
- Xmenubutton .menu.dir -text "Directory" -menu .menu.dir.m
- Xmenu .menu.dir.m
- X.menu.dir.m add command -label "compress" \
- X -command "catch {getpath; op.compressdir}"
- X.menu.dir.m add command -label "uncompress" \
- X -command "catch {getpath; op.uncompressdir}"
- X
- Xmenubutton .menu.font -text "Font" -menu .menu.font.m
- Xmenu .menu.font.m
- X.menu.font.m add radio -label "fixed" -variable font -value fixed
- X.menu.font.m add radio -label "a14" -variable font -value a14
- X.menu.font.m add radio -label "a18" -variable font -value a18
- X.menu.font.m add radio -label "a24" -variable font -value a24
- X.menu.font.m invoke "fixed"
- X
- Xmenubutton .menu.view -text "View" -menu .menu.view.m
- Xmenu .menu.view.m
- X.menu.view.m add command -label "home" -command "op.home" -accel "~"
- X.menu.view.m add command -label "WWFS" -command "op.mntdir"
- X.menu.view.m add command -label "update" -command "op.update"
- X.menu.view.m add sep
- X.menu.view.m add radio -label "List all" -variable globpat -value "{*,.*}"
- X.menu.view.m add radio -label "Hide dot files" -variable globpat -value "*"
- X.menu.view.m invoke "Hide dot files"
- X.menu.view.m entryconfigure "List all" -command "op.update"
- X.menu.view.m entryconfigure "Hide dot files" -command "op.update"
- X
- Xmenubutton .menu.quit -text "Quit" -menu .menu.quit.m
- Xmenu .menu.quit.m
- X.menu.quit.m add command -label "Quit" -command "rename send {}; destroy ."
- X
- Xpack append .menu .menu.file left .menu.arc left .menu.dir \
- X left .menu.view left .menu.font left .menu.quit left
- Xtk_menus . .menu.file .menu.arc .menu.dir \
- X .menu.view .menu.font .menu.quit
- X
- Xframe .b
- Xbutton .b.up -padx 60 -text "<<<" -command "parent"
- Xbutton .b.down -padx 60 -text ">>>" -command "child"
- Xpack append .b .b.up {left filly} .b.down {right filly}
- X
- X# create a status line.
- X
- Xlabel .msg
- X.msg configure -textvariable status -foreground red -relief raised
- X
- X# Create a scrollbar on the right side of the main window and a listbox
- X# on the left side.
- X
- Xframe .fa
- Xscrollbar .fa.scroll -command ".fa.list yview"
- Xlistbox .fa.list -yscroll ".fa.scroll set" -relief raised -geometry 20x20
- Xpack append .fa .fa.scroll {right filly} .fa.list {left expand fill}
- X
- Xframe .fb
- Xscrollbar .fb.scroll -command ".fb.list yview"
- Xlistbox .fb.list -yscroll ".fb.scroll set" -relief raised -geometry 20x20
- Xpack append .fb .fb.scroll {right filly} .fb.list {left expand fill}
- X
- Xpack append . .menu {top fillx} .b {top fillx} .msg {bottom fillx} \
- X .fa {left fill} .fb {right fill}
- X
- X#
- X# Utility routines
- X#
- X
- Xproc notify {text} {
- X # Update the status line; accomplished by assignment.
- X global status
- X set status $text
- X after 1000 {set status ""}
- X}
- X
- Xproc stick {text} {
- X # Stick a message on the status line.
- X global status
- X set status $text
- X}
- X
- Xproc unstick {} {
- X global status
- X set status " "
- X}
- X
- Xset serial 0
- Xproc new_window_name {} {
- X global serial
- X set serial [expr 1+$serial]
- X return .w$serial
- X}
- X
- Xproc dialog {text buttons} {
- X set w [new_window_name]
- X toplevel $w -class Dialog
- X wm geometry $w +300+400
- X wm title $w "!"
- X
- X frame $w.sel
- X set i 1
- X foreach arg [concat $buttons] {
- X button $w.sel.$i -text [lindex $arg 0] \
- X -command "[lindex $arg 1]; destroy $w"
- X pack append $w.sel $w.sel.$i {left expand fillx}
- X set i [expr $i+1]
- X }
- X $w.sel.1 configure -fg Bisque -bg Black
- X bind $w <KeyPress-Return> "$w.sel.1 invoke"
- X message $w.msg -aspect 700 -borderwidth 30 \
- X -font -*-times-medium-r-normal--*-180* -text $text
- X pack append $w $w.msg {top expand} $w.sel {bottom fillx}
- X}
- X
- Xproc cancel {} { }
- X
- Xproc getfilename {text trigger} {
- X set w [new_window_name]
- X toplevel $w
- X
- X message $w.msg -aspect 700 -font -*-times-medium-r-normal--*-180* \
- X -text $text
- X entry $w.entry -relief sunken
- X bind.entry $w.entry
- X
- X frame $w.sel
- X button $w.sel.1 -text OK \
- X -command "$trigger \[$w.entry get\]; destroy $w"
- X button $w.sel.2 -text Cancel \
- X -command "destroy $w"
- X bind $w.entry <KeyPress-Return> "$w.sel.1 invoke"
- X focus $w.entry
- X pack append $w.sel \
- X $w.sel.1 {left expand fillx} $w.sel.2 {left expand fillx}
- X pack append $w $w.msg {top expand} $w.entry {pady 10 fillx} \
- X $w.sel {bottom fillx}
- X}
- X
- Xproc parent {} {
- X # one level up
- X global dotdot dir revdir
- X if {[string compare $dotdot ""] != 0} {
- X set revdir $revdir/[file tail $dir]
- X set dir [file dirname $dir]
- X set dotdot [file dirname $dir]
- X if {[string compare $dotdot "/"] == 0} {
- X set dotdot ""
- X }
- X browse .fa $dotdot
- X browse .fb $dir
- X }
- X}
- X
- Xproc child {} {
- X # one level down
- X global dotdot dir revdir
- X if {[string compare $revdir "/"] != 0} {
- X set dotdot $dir
- X set dir $dir/[file tail $revdir]
- X set revdir [file dirname $revdir]
- X browse .fa $dotdot
- X browse .fb $dir
- X }
- X}
- X
- Xproc browse {w dir} {
- X # display contents of the given directory
- X global globpat
- X $w.list yview 0
- X $w.list delete 0 end
- X cd "/$dir"
- X foreach i [lsort [glob -nocomplain $globpat]] {
- X if [file isdirectory $i] {
- X $w.list insert end "$i/"
- X } else {
- X $w.list insert end $i
- X }
- X }
- X return $dir
- X}
- X
- Xproc nowbusy {w} {
- X $w.list yview 0
- X $w.list delete 0 end
- X $w.list insert end "Listing..."
- X}
- X
- Xproc open_menu {} {
- X .menu.file post
- X}
- Xproc getpath {} {
- X .menu.file unpost
- X
- X global pathname filename
- X global dotdot dir
- X set pathname {}
- X set filename {}
- X if {[catch "selection get" i] != 0} {
- X notify "Please select directory or file."
- X error ""
- X }
- X set i [string trimright $i "/"]
- X if [llength [.fa.list curselection]] {
- X set pathname "$dotdot/$i"
- X set filename $i
- X }
- X if [llength [.fb.list curselection]] {
- X set pathname "$dir/$i"
- X set filename $i
- X }
- X set files [selection get]
- X if {[llength $files] > 1} {
- X notify "Sorry, multiple selection is not implemented."
- X error ""
- X }
- X}
- X
- Xproc to_tx {str} {
- X # Execute a command then display its result on this terminal.
- X # Beware: this function blocks the whole application.
- X #
- X # There was a terminal emulator called "Tx" in ancient days,
- X # where you could let Tx evaluate any Tcl command with "\33"
- X # prefix, thus I could execute any terminal-oriented command
- X # without being bothered by blockage, thusly:
- X #
- X # proc to_tx {str} {
- X # puts stdout "\33insert \"$str\\n\"\n"
- X # }
- X #
- X # However, we are living in the state-of-the-art world after all.
- X # Would you like to go retrospective? At least I do not.
- X # Could someone devise new, secure, and smart way?
- X
- X exec echo $str > /dev/tty
- X}
- X
- Xproc to_window {str} {
- X # Execute a command then display its result on a newly created window.
- X # This proc is only suitable for non-interactive commands.
- X set w [new_window_name]
- X toplevel $w
- X wm title $w $pathname
- X button $w.dismiss -text "Dismiss" -command "destroy $w"
- X bind $w <KeyPress-Return> "destroy $w"
- X message $w.msg -aspect 400 -font $font -text [eval $str]
- X pack append $w $w.msg {expand fill} \
- X $w.dismiss {bottom fillx}
- X}
- X
- X#
- X# File operations
- X#
- X
- Xproc op.view {} {
- X # Preview that file.
- X global pathname filename tmpdir
- X
- X case "$pathname" in \
- X "*.Z" {
- X set zcatfile [string range $filename 0 [expr [string length $filename]-3]]
- X stick "Uncompressing \"$zcatfile\"..."
- X exec zcat $pathname > $tmpdir/$zcatfile
- X unstick
- X set filename $zcatfile
- X set pathname $tmpdir/$filename
- X op.view
- X } \
- X {*.gif *.GIF *.jpg *.JPG *.tiff} {
- X stick "Opening \"$filename\"..."
- X [exec xv $pathname &]
- X unstick
- X } \
- X {*.eps *.EPS *.ps *.PS} {
- X stick "Opening \"$filename\"..."
- X [exec ghostview $pathname &]
- X unstick
- X } \
- X default {
- X [exec $viewer $pathname &]
- X }
- X}
- X
- Xproc op.edit {} {
- X # Edit that file.
- X global pathname editor
- X if {[file isfile "$pathname"]} {
- X [exec $editor $pathname &]
- X } else {
- X notify "Sorry, no DIRED yet."
- X # This is not true if your $editor==emacs..
- X }
- X}
- X
- Xproc op.head {} {
- X global pathname
- X case "$pathname" in \
- X {*.Z *.z} { to_tx "zcat $pathname | head -20" } \
- X default { to_tx "head -20 $pathname" }
- X}
- X
- Xproc op.tail {} {
- X global pathname
- X case "$pathname" in \
- X {*.Z *.z} { to_tx "zcat $pathname | tail -20" } \
- X default { to_tx "tail -20 $pathname" }
- X}
- X
- Xproc op.remove {} {
- X global pathname
- X dialog "Remove $pathname?" \
- X {{"OK" "global pathname; doit.remove $pathname"}
- X {"Cancel" cancel}}
- X}
- X
- Xproc doit.remove {pathname} {
- X to_tx "rm $pathname"
- X}
- X
- X#
- X# Directory operations
- X#
- X
- Xproc op.compressdir {} {global pathname; to_tx "compressdir $pathname"}
- X
- Xproc op.uncompressdir {} {global pathname; to_tx "uncompressdir $pathname"}
- X
- X#
- X# Archive operations
- X#
- X
- Xproc op.archive {} {
- X global pathname
- X getfilename "Enter archive name" doit.archive
- X}
- X
- Xproc doit.archive {archive} {
- X global pathname command
- X case "$archive" in \
- X "*.tar" {
- X set command "tar cvf \$dest/$archive $pathname"
- X } \
- X "*.tar.Z" {
- X set command "tar cvf - $pathname | compress > \$dest/$archive"
- X } \
- X "*.shar" {
- X set command "shar $pathname > \$dest/$archive"
- X } \
- X "*.shar.Z" {
- X set command "shar $pathname | compress > \$dest/$archive"
- X } \
- X default {
- X notify "I don't know how to create $archive"
- X set command ""
- X error ""
- X return
- X }
- X # Request other wwalks to ask user for destination directory.
- X dest.request "archive_here"
- X}
- X
- Xproc op.unarchive {} {
- X global pathname command
- X case "$pathname" in \
- X "*.tar" {
- X set command "cd \$dest; tar xvf $pathname"
- X } \
- X "*.tar.Z" {
- X set command "cd \$dest; zcat $pathname | tar xvf -"
- X } \
- X "*.shar" {
- X set command "cd \$dest; unshar $pathname"
- X } \
- X "*.shar.Z" {
- X set command "cd \$dest; zcat $pathname | unshar"
- X } \
- X default {
- X notify "I don't know how to extract from $pathname"
- X set command ""
- X }
- X # Request other wwalks to ask user for destination directory.
- X dest.request "unarchive_here"
- X}
- X
- Xproc op.contents {} {
- X global pathname
- X case "$pathname" in \
- X "*.tar" { to_tx "tar tvf $pathname" } \
- X "*.tar.Z" { to_tx "zcat $pathname | tar tvf -" } \
- X "*.shar" { to_tx "egrep '(x -|^echo)' $pathname" } \
- X "*.shar.Z" { to_tx "zcat $pathname | egrep '(x -|^echo)'" } \
- X default { to_tx "file $pathname" }
- X}
- X
- X# View menu
- X
- Xproc op.update {} {
- X global dotdot dir
- X browse .fa $dotdot
- X browse .fb $dir
- X}
- X
- Xproc op.home {} {
- X global dotdot dir home
- X set dir $home
- X set dotdot [file dirname $dir]
- X op.update
- X}
- X
- Xproc op.mntdir {} {
- X global dotdot dir mntdir
- X set dir $mntdir
- X set dotdot [file dirname $dir]
- X op.update
- X}
- X
- X#
- X# Procs to collaborate with other wwalks
- X#
- X
- Xproc talk.hello {id} {
- X global self_id
- X if {[winfo id .] == $id} {
- X return "no"
- X }
- X return "ok"
- X}
- X
- Xproc talk.tellme {id msg new_title} {
- X global sender_id dest_msg cooperative
- X set sender_id $id
- X set dest_msg $msg
- X foreach i $cooperative {
- X .menu.arc.m disable $i
- X }
- X .menu.arc.m enable "destination"
- X .menu.arc.m entryconfigure "destination" -label "$dest_msg"
- X wm title . "$new_title"
- X}
- X
- Xproc talk.thanx {} {
- X global title dest_msg cooperative
- X foreach i $cooperative {
- X .menu.arc.m enable $i
- X }
- X .menu.arc.m entryconfigure "$dest_msg" -label "destination"
- X .menu.arc.m disable "destination"
- X wm title . $title
- X}
- X
- Xproc broadcast {cmd} {
- X global self_id
- X foreach interp [winfo interps] {
- X # even attempts to talk itself, but it works.
- X if {[string match "wwalk*" $interp]} {
- X set reply [send $interp talk.hello [winfo id .]]
- X if {[string compare $reply "ok"] == 0} {
- X#puts stdout "send $interp $cmd\n"
- X eval "send \"$interp\" $cmd"
- X }
- X }
- X }
- X}
- X
- Xproc dest.request {msg} {
- X global hostname pathname self_id
- X .fa.list config -bg Black -fg Bisque
- X .fb.list config -bg Black -fg Bisque
- X set title "\{${hostname}:${pathname}-->\${hostname}\}"
- X broadcast "talk.tellme [winfo id .] $msg $title"
- X}
- X
- Xproc dest.hereis {id dest} {
- X global self_id command
- X if {[winfo id .] == $id} {
- X .fa.list config -bg Bisque -fg Black
- X .fb.list config -bg Bisque -fg Black
- X broadcast "talk.thanx"
- X # puts stdout "\33set dest \"$dest\"\n"
- X puts stdout "set dest \"$dest\"\n"
- X to_tx "$command"
- X }
- X}
- X
- Xproc dest.reply {} {
- X global sender_id pathname
- X broadcast "dest.hereis $sender_id \{$pathname\}"
- X}
- X
- X#
- X# Main
- X#
- X
- X# Where shall I start walking from?
- Xif $argc>0 {
- X set dir [lindex $argv 0]
- X} else {
- X # chop pwd
- X set dir [string trim [exec pwd]]
- X}
- X
- X# Miscellaneous setup
- Xset self_id [winfo id .]
- Xset home [exec csh -c "echo -n ~"]
- Xset hostname [string trim [exec hostname]]
- Xset i [string first "." $hostname]
- Xif {$i > 0} {
- X set hostname [string range $hostname 0 [expr $i-1]]
- X}
- X
- X# Read ".wwalkrc"
- Xif [file exists "/usr/local/lib/wwalkrc"] {
- X set rcfile "/usr/local/lib/wwalkrc"
- X}
- Xif [file exists "$home/.wwalkrc"] {
- X set rcfile "$home/.wwalkrc"
- X}
- Xif [llength $rcfile] {
- X puts stdout "Reading startup script from $rcfile..."
- X source $rcfile
- X}
- X
- Xset title "wwalk - $hostname"
- Xwm title . $title
- X# Full pathname of the selected file.
- Xset pathname ""
- X# Filename of the selected file.
- Xset filename ""
- X# Reversed directory -- used for stepping up/down.
- Xset revdir "/"
- X# Globbing pattern.
- Xset globpat "*"
- Xset dotdot [file dirname $dir]
- X
- Xbrowse .fa $dotdot
- Xif {[string compare $dir "/"] != 0} {
- X browse .fb $dir
- X}
- X
- X#
- X# Set up bindings for the browser.
- X#
- X
- Xbind .fa.list <Double-1> {
- X set i [selection get]
- X set i [string trimright $i "/"]
- X set revdir "/"
- X if [file isfile "$dotdot/$i"] {
- X if {[set name [wwmounted "$dotdot/$i"]] != 0} {
- X puts $so "RETR $name\n"
- X stick "Retrieving \"$name\"..."
- X }
- X open_menu
- X } else {
- X if {[set name [wwmounted "$dotdot/$i"]] != 0} {
- X puts $so "LIST $name/.\n"
- X stick "Listing \"$name\"..."
- X nowbusy .fb
- X set dir $dotdot/$i
- X } else {
- X set dir [browse .fb $dotdot/$i]
- X }
- X }
- X}
- Xbind .fb.list <Double-1> {
- X set i [selection get]
- X set i [string trimright $i "/"]
- X set revdir "/"
- X if [file isfile $dir/$i] {
- X if {[set name [wwmounted "$dir/$i"]] != 0} {
- X puts $so "RETR $name\n"
- X stick "Retrieving \"$name\"..."
- X }
- X open_menu
- X } else {
- X if {[set name [wwmounted "$dir/$i"]] != 0} {
- X puts $so "LIST $name/.\n"
- X stick "Listing \"$name\"..."
- X nowbusy .fb
- X set dotdot [browse .fa $dir]
- X set dir $dir/$i
- X } else {
- X set dotdot [browse .fa $dir]
- X set dir [browse .fb $dir/$i]
- X }
- X }
- X}
- X
- Xbind .msg <Any-Enter> {
- X .msg configure -foreground gold
- X}
- Xbind .msg <Any-Leave> {
- X .msg configure -foreground red
- X}
- Xbind .msg <Any-ButtonPress> {
- X set status ""
- X}
- X
- X#
- X# WWUIP client code starts here...
- X#
- X
- Xset mntlen [expr [string length $mntdir]-1]
- X
- Xproc wwmounted {name} {
- X global mntdir
- X global mntlen
- X if {[string compare $mntdir [string range $name 0 $mntlen]] == 0} {
- X return [string range $name [expr $mntlen+1] end]
- X } else {
- X return 0
- X }
- X}
- X
- Xproc get_line {type fid} {
- X global status so # ignore fid...
- X global nameof typeof
- X global dotdot dir revdir
- X
- X set ret [gets $so line]
- X if {$ret < 0} {
- X close $so
- X }
- X#puts stdout "wwuip: $line"
- X
- X set ret [string range $line 0 2]
- X set mark [string range $line 3 3]
- X set id [string range $line 4 6]
- X if {$ret == 220} {
- X set objtype [string range $line 8 10]
- X set objname [string range $line 12 end]
- X#puts stdout "objtype: \"$objtype\""
- X#puts stdout "objname: \"$objname\""
- X set typeof($id) $objtype
- X set nameof($id) $objname
- X }
- X if {[string compare $mark "."] != 0} {
- X return
- X }
- X
- X case $typeof($id) in \
- X "dir" {
- X browse .fa $dotdot
- X browse .fb $dir
- X unstick
- X }
- X unset nameof($id)
- X}
- X
- Xif {[catch "connect $cshost 8002" so] != 0} {
- X puts stdout "Cannot connect to that host."
- X puts stdout "$so"
- X set so 0
- X} else {
- X filehandler $so r get_line
- X}
- X
- END_OF_FILE
- if test 17712 -ne `wc -c <'wwalk/wwalk'`; then
- echo shar: \"'wwalk/wwalk'\" unpacked with wrong size!
- fi
- chmod +x 'wwalk/wwalk'
- # end of 'wwalk/wwalk'
- fi
- echo shar: End of archive 6 \(of 22\).
- cp /dev/null ark6isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 22 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still must unpack the following archives:
- echo " " ${MISSING}
- fi
- exit 0
- exit 0 # Just in case...
-