home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume41 / wwfs / part06 < prev    next >
Encoding:
Text File  |  1994-01-16  |  92.0 KB  |  5,190 lines

  1. Newsgroups: comp.sources.misc
  2. From: youki-k@is.aist-nara.ac.jp (Youki Kadobayashi)
  3. Subject: v41i091:  wwfs - WorldWide File System, Part06/22
  4. Message-ID: <1994Jan17.021201.8809@sparky.sterling.com>
  5. X-Md4-Signature: d0b9781bbeb1f9010ff1e34fc139bfea
  6. Sender: kent@sparky.sterling.com (Kent Landfield)
  7. Organization: Sterling Software
  8. Date: Mon, 17 Jan 1994 02:12:01 GMT
  9. Approved: kent@sparky.sterling.com
  10.  
  11. Submitted-by: youki-k@is.aist-nara.ac.jp (Youki Kadobayashi)
  12. Posting-number: Volume 41, Issue 91
  13. Archive-name: wwfs/part06
  14. Environment: UNIX, inet
  15.  
  16. #! /bin/sh
  17. # This is a shell archive.  Remove anything before this line, then feed it
  18. # into a shell via "sh file" or similar.  To overwrite existing files,
  19. # type "sh file -c".
  20. # Contents:  doc/wwftp.ps mule/mule.el-diff wwalk/wwalk
  21. # Wrapped by kent@sparky on Sun Jan 16 17:48:23 1994
  22. PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin:$PATH ; export PATH
  23. echo If this archive is complete, you will see the following message:
  24. echo '          "shar: End of archive 6 (of 22)."'
  25. if test -f 'doc/wwftp.ps' -a "${1}" != "-c" ; then 
  26.   echo shar: Will not clobber existing file \"'doc/wwftp.ps'\"
  27. else
  28.   echo shar: Extracting \"'doc/wwftp.ps'\" \(67804 characters\)
  29.   sed "s/^X//" >'doc/wwftp.ps' <<'END_OF_FILE'
  30. X%!PS-Adobe-2.0
  31. X%%Creator: /usr/local/tex/dvi2ps-1.7j
  32. X%%Title: wwftp.dvi
  33. X%%Pages: (atend)
  34. X%%BoundingBox: 0 0 595 842
  35. X%%DocumentPaperSizes: A4
  36. X%%Orientation: Portrait
  37. X%%EndComments
  38. X%%BeginFile: /usr/local/lib/dvi2ps/tex.ps.nopack
  39. X%
  40. X/TeXDict 200 dict def
  41. XTeXDict begin
  42. X/inch {
  43. X72 mul
  44. X} bind def
  45. X/largepaperarray [
  46. X/letter /legal /11x17
  47. X/b4 /b5 /a5 /a4 /a3
  48. X] def
  49. X/smallpaperarray [
  50. X/note dup where {
  51. Xpop
  52. X}{
  53. Xpop /lettersmall dup where {
  54. Xpop
  55. X}{
  56. Xpop /letter
  57. X} ifelse
  58. X} ifelse
  59. X/legal /11x17
  60. X/b4 /b5 /a5
  61. X/a4small dup where {
  62. Xpop
  63. X}{
  64. Xpop /note dup where {
  65. Xpop
  66. X}{
  67. Xpop /a4
  68. X} ifelse
  69. X} ifelse
  70. X/a3
  71. X] def
  72. X/setpaper {
  73. Xdup where papertray and {
  74. Xexch get exec
  75. X} if
  76. X} bind def
  77. X/trayarray [
  78. X/lettertray /legaltray /11x17tray
  79. X/b4tray /b5tray /a5tray /a4tray /a3tray
  80. X] def
  81. X/settray {
  82. Xdup statusdict exch known {
  83. X{
  84. Xstatusdict begin load exec end
  85. X} stopped {
  86. X$error /newerror get {
  87. X$error /errorname get /rangecheck eq {
  88. X(Tray not found, using default tray.) print flush
  89. X/papertray false def
  90. X}{
  91. Xhandleerror
  92. X} ifelse
  93. X$error /newerror false put
  94. X} if
  95. X} if
  96. X}{
  97. Xpop
  98. X} ifelse
  99. X} bind def
  100. X/papertray true def
  101. X/widtharray  [
  102. X8.5 inch 8.5 inch 11 inch
  103. X9.84 inch 6.93 inch
  104. X5.83 inch 8.27 inch 11.69 inch
  105. X] def
  106. X/heightarray [
  107. X11 inch 14 inch 17 inch
  108. X13.9 inch 9.84 inch
  109. X8.27 inch 11.69 inch 16.54 inch
  110. X] def
  111. X/xoffset 0 def
  112. X/yoffset 0 def
  113. X/landscape false def
  114. X/pagesetup {
  115. Xdup widtharray exch get /paperwidth exch def
  116. Xdup heightarray exch get /paperheight exch def
  117. Xdup trayarray exch get settray
  118. Xlarge {largepaperarray}{smallpaperarray} ifelse
  119. Xexch get setpaper
  120. X} bind def
  121. X/@letter {0 pagesetup} def
  122. X/@legal {1 pagesetup} def
  123. X/@tabloid {2 pagesetup} def
  124. X/@b4 {3 pagesetup} def
  125. X/@b5 {4 pagesetup} def
  126. X/@a5 {5 pagesetup} def
  127. X/@a4 {6 pagesetup} def
  128. X/@a3 {7 pagesetup} def
  129. X/@landscape {/landscape true def} bind def
  130. X/@manualfeed {
  131. Xstatusdict /manualfeed known {
  132. Xstatusdict /manualfeed true put
  133. Xstatusdict /manualfeedtimeout 120 put
  134. X} if
  135. X} bind def
  136. X/@large {
  137. X/large true def
  138. X} bind def
  139. X/@small {
  140. X/large false def
  141. X} bind def
  142. X/@envelope {
  143. X/xoffset 4.28 inch def
  144. X/yoffset 1.5 inch def
  145. X@letter
  146. X} bind def
  147. X/COPIES    {
  148. X/#copies exch def
  149. X} bind def
  150. X/NF {
  151. X/newname exch def
  152. X/fsize exch def
  153. X/corr exch def
  154. Xnewname 7 dict def
  155. Xnewname load begin
  156. X/FontType 3 def
  157. X/FontMatrix [corr 0 0 corr neg 0 0] def
  158. X/FontBBox [0 0 1 1] def
  159. X/BitMaps fsize array def
  160. X/BuildChar /CharBuilder load def
  161. X/Encoding 256 array def
  162. X0 1 255 {Encoding exch /.notdef put} for
  163. Xend
  164. Xnewname newname load definefont pop
  165. X} bind def
  166. X/ch-image {ch-data 0 get} bind def
  167. X/ch-width {ch-data 1 get} bind def
  168. X/ch-height {ch-data 2 get} bind def
  169. X/ch-xoff {ch-data 3 get} bind def
  170. X/ch-yoff {ch-data 4 get} bind def
  171. X/ch-tfmw {ch-data 5 get} bind def
  172. X/CharBuilder {
  173. X/ch-code exch def
  174. X/font-dict exch def
  175. X/ch-data font-dict /BitMaps get ch-code get def
  176. Xch-data null eq not {
  177. Xch-tfmw 0
  178. Xch-xoff neg  ch-yoff neg ch-width ch-xoff sub ch-height ch-yoff sub
  179. Xsetcachedevice
  180. Xch-width ch-height true [1 0  0 1  ch-xoff ch-yoff]
  181. X{ch-image} imagemask
  182. X} if
  183. X} bind def
  184. X/LWF {
  185. X/lw-v exch def
  186. X/lw-h exch def
  187. Xfindfont [lw-h 0 0 lw-v 0 0] makefont def
  188. X} bind def
  189. X/LWFX {
  190. X/lw-v exch def
  191. X/lw-h exch def
  192. X/savecurfont currentfont def
  193. Xfindfont dup setfont
  194. X[
  195. X( ) stringwidth pop dup lw-h exch div
  196. Xexch lw-v exch div 0 0 3 -1 roll
  197. X0 0
  198. X] makefont def
  199. Xsavecurfont setfont
  200. X} bind def
  201. X/LWJF /LWF load def
  202. X/SF /setfont load def
  203. X/s3 3 string def
  204. X/D {
  205. X/ch-code exch def
  206. Xdup 0 get
  207. Xlength 2 lt {
  208. Xpop [ <00> 1 1 0 0 8.00 ]
  209. X} if
  210. X/ch-data exch def
  211. Xcurrentfont /BitMaps get ch-code ch-data put
  212. Xcurrentfont /Encoding get ch-code
  213. Xdup s3 cvs cvn
  214. Xput
  215. X} bind def
  216. X/BP {
  217. X/SaveImage save def
  218. Xxoffset yoffset translate
  219. X72 72
  220. Xlandscape {
  221. Xexch translate
  222. X90 rotate
  223. X}{
  224. Xpaperheight exch sub translate
  225. X} ifelse
  226. X72 Resolution div dup neg scale
  227. X0 0 moveto
  228. X} bind def
  229. X/EP {
  230. Xshowpage 
  231. XSaveImage restore
  232. X} bind def
  233. X/START {
  234. X/Resolution exch def
  235. X} bind def
  236. X/END /end load def
  237. X/l /lineto load def
  238. X/p /moveto load def
  239. X/r {
  240. X0 rmoveto
  241. X} def
  242. X/s /show load def
  243. X/ru {
  244. X/dy exch neg def
  245. X/dx exch def
  246. X/x currentpoint /y exch def def
  247. Xnewpath x y moveto
  248. Xdx 0 rlineto
  249. X0 dy rlineto
  250. Xdx neg 0 rlineto
  251. Xclosepath fill
  252. Xx y moveto
  253. X} bind def
  254. X/@SpecialDefaults {
  255. X/hsi paperwidth inch def
  256. X/vsi paperheight inch def
  257. X/hof 0 def
  258. X/vof 0 def
  259. X/hsc 1 def
  260. X/vsc 1 def
  261. X/rotat 0 def
  262. X/CLIP false def
  263. X/BBOX false def
  264. X/EPSF false def
  265. X} bind def
  266. X/@hsize {/hsi exch def /CLIP true def} bind def
  267. X/@vsize {/vsi exch def /CLIP true def} bind def
  268. X/@hoffset {/hof exch def} bind def
  269. X/@voffset {/vof exch def} bind def
  270. X/@hscale {/hsc exch def} bind def
  271. X/@vscale {/vsc exch def} bind def
  272. X/@rotation {/rotat exch def} bind def
  273. X/@bbox {
  274. X/ury exch def
  275. X/urx exch def
  276. X/lly exch def
  277. X/llx exch def
  278. X/BBOX true def
  279. X} bind def
  280. X/@epsf {
  281. X/hsi 0 def
  282. X/vsi 0 def
  283. X/EPSF true def
  284. X} bind def
  285. X/@setclipper {
  286. XCLIP {
  287. Xnewpath 0 0 moveto hsi 0 rlineto 0 vsi rlineto hsi neg 0 rlineto
  288. Xclosepath clip
  289. X} if
  290. X} bind def
  291. X/@beginspecial {
  292. X/SpecialSave save def
  293. Xcurrentpoint transform initgraphics itransform translate
  294. Xdup scale
  295. Xlandscape {90 rotate} if
  296. X@SpecialDefaults
  297. X@MacSetUp
  298. X} bind def
  299. X/@setspecial {
  300. Xhof vof translate
  301. XEPSF BBOX and {
  302. Xhsi 0 eq {
  303. Xvsi 0 eq {
  304. Xhsc vsc
  305. X}{
  306. Xvsi ury lly sub div dup
  307. X}ifelse
  308. X}{
  309. Xvsi 0 eq {
  310. Xhsi urx llx sub div dup
  311. X}{
  312. Xhsi urx llx sub div vsi ury lly sub div
  313. X} ifelse
  314. X} ifelse
  315. Xscale
  316. Xllx neg ury neg translate
  317. Xnewpath
  318. Xllx lly moveto
  319. Xurx llx sub 0 rlineto
  320. X0 ury lly sub rlineto
  321. Xllx urx sub 0 rlineto
  322. Xclosepath clip
  323. Xnewpath
  324. X}{
  325. X@setclipper hsc vsc scale rotat rotate
  326. X} ifelse
  327. Xend
  328. X/letter {} def /note {} def /legal {} def /11x17
  329. X/b4 {} def /b5 {} def /a5 {} def /a4 {} def /a3 {} def
  330. X/showpage {} def /copypage {} def /erasepage {} def
  331. X} bind def
  332. X/@MacSetUp {
  333. Xuserdict /md known {
  334. Xuserdict /md get type /dicttype eq {
  335. X/MacDrwgs true def
  336. Xmd /txpose known {
  337. Xmd /txpose {pxs pys neg scale} put
  338. X} if
  339. Xmd /cp known {
  340. Xmd /cp {pop pop pm restore} put
  341. X} if
  342. X} if
  343. X} if
  344. X} bind def
  345. X/@push {
  346. X/SpecialSave save def
  347. Xcurrentpoint translate
  348. Xdup scale
  349. Xnewpath
  350. X} bind def
  351. X/@pop {
  352. XSpecialSave restore
  353. X} bind def
  354. X/@pn
  355. X/setlinewidth load
  356. Xdef
  357. X/@pt {
  358. Xmoveto currentpoint currentlinewidth 2 div 0 360 arc fill
  359. X} bind def
  360. X/@ln {
  361. Xmoveto lineto stroke
  362. X} bind def
  363. X/@ar {
  364. Xmatrix currentmatrix
  365. X7 -2 roll moveto
  366. Xcurrentpoint translate
  367. Xnewpath
  368. X5 -2 roll scale
  369. X0 0 1 6 -2 roll arc
  370. Xsetmatrix
  371. X} bind def
  372. X/@wh {1 setgray} bind def
  373. X/@sh {0.75 setgray} bind def
  374. X/@bk {0 setgray} bind def
  375. X/@RGB {setrgbcolor} bind def
  376. X/@HSB {sethsbcolor} bind def
  377. X/@CMYK {setcmykcolor} bind def
  378. Xend
  379. X/@endspecial {
  380. Xclear
  381. XTeXDict begin
  382. XSpecialSave restore
  383. X} bind def
  384. X%%EndFile
  385. X%%EndProlog
  386. X%%BeginSetup
  387. X%%PaperSize: A4
  388. X%%Feature: *ManualFeed False
  389. X%%Feature: *Resolution 400
  390. XTeXDict begin
  391. X@large
  392. X@a4
  393. X400 START
  394. X1.000 80 /f26 NF
  395. Xf26 SF
  396. X[<FFFC000600007FFC0006000007C0000F00000380000F00000180000F00000180001F000000C0001F800000C0001F800000C0
  397. X  003F800000C0003F80000060007EC0000060007CC0000060007CC000006000F8C000003000F86000003000F86000003001F0
  398. X  6000003001F06000001803F03000001803E03000001803E03000001807C03000000C07C01800000C07C01800000C0F801800
  399. X  000C0F80180000061F800C0000061F000C0000061F000C0000063F000C0000033E00060000033E00060000037C0006000003
  400. X  7C0006000001FC0007000001F8000FC0007FF800FFFC003FF8007FFC> 48 38 -2 0 44.469] 78 D
  401. X[<003FC0000001FFF8000003F03F00000FC00F80001F8003E0001F0001F0003E0000F8003E00007C007C00003E007C00001F00
  402. X  FC00001F80FC00000F80FC00000FC0FC000007E0FC000007E0FC000003F0FC000003F0FC000003F07E000001F87E000001F8
  403. X  7E000001F83E000001F83F000000F83F000000F81F800000F81F800000F80F800000F807C00000F803E00000F803E00001F0
  404. X  01F00001F000F80001E0003C0003E0001F0007C0000F800F800003F03F000000FFFC0000001FE000> 40 38 -3 0 42.217] 79 D
  405. X1.000 16 /f27 NF
  406. Xf27 SF
  407. X[<00F80003FE000FFF801FFFC03FFFE03FFFE07FFFF07FFFF0FFFFF8FFFFF8FFFFF8FFFFF8FFFFF8FFFFF8FFFFF87FFFF07FFF
  408. X  F03FFFE03FFFE01FFFC00FFF8003FE0000F800> 24 23 -3 -2 27.673] 15 D
  409. X/f69 /Times-Roman 33.208 -33.208 LWF
  410. X/f70 /Times-Roman 38.743 -38.743 LWF
  411. X/f72 /Times-Roman 44.277 -44.277 LWF
  412. X/f74 /Times-Roman 49.812 -49.812 LWF
  413. X/f77 /Times-Bold 49.812 -49.812 LWF
  414. X/f80 /Times-Roman 55.347 -55.347 LWF
  415. X/f81 /Times-Italic 55.347 -55.347 LWF
  416. X/f82 /Times-BoldItalic 55.347 -55.347 LWF
  417. X/f84 /Courier 55.347 -55.347 LWF
  418. X/f92 /Times-Roman 66.416 -66.416 LWF
  419. X/f95 /Times-Bold 66.416 -66.416 LWF
  420. X/f96 /Courier 66.416 -66.416 LWF
  421. X/f99 /Times-Bold 79.699 -79.699 LWF
  422. X/f101 /Times-Bold 95.750 -95.750 LWF
  423. X1.000 121 /f104 NF
  424. Xf104 SF
  425. X[<FFFFE000FFFFFC000F003E000F000F800F0007C00F0003C00F0001E00F0001F00F0000F00F0000F00F0000F80F0000F80F00
  426. X  00F80F0000F80F0000F80F0000F80F0000F80F0000F80F0000F00F0000F00F0001E00F0001E00F0003C00F0007800F000F00
  427. X  0F003E00FFFFFC00FFFFE000> 32 28 -2 0 34.561] 100 D
  428. X[<FFF0FFF00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00
  429. X  0F00FFF0FFF0> 16 28 -2 0 16.727] 105 D
  430. X[<FFC00300FFC007001E0007000C000F000C001F000C001F000C003F000C007B000C007B000C00F3000C01E3000C01E3000C03
  431. X  C3000C0783000C0783000C0F03000C1E03000C1E03000C3C03000C7803000C7803000CF003000DE003000DE003000FC00300
  432. X  0F800780FF803FF0FF003FF0> 32 28 -2 0 33.946] 110 D
  433. X[<001F8000007FF00000F0380003C01C0003800E0007800600070003000F0003000F0003000F0003000F0003000F0003000F00
  434. X  03000F0003000F0003000F0003000F0003000F0003000F0003000F0003000F0003000F0003000F0003000F0003000F000300
  435. X  0F000780FFF03FF0FFF03FF0> 32 28 -2 0 33.946] 117 D
  436. X[<FFC01FFCFFC01FFC1F800FC007800F8003800F0001801F0000C03E0000E03C00006078000030F8000038F000001DE000000F
  437. X  E0000007C00000078000000F8000001F8000001FC000003CC000007C600000F8700000F0380001F0180003E00C0003C00E00
  438. X  07C01F807FF03FF07FF03FF0> 32 28 -1 0 33.946] 120 D
  439. X/f105 /Courier 44.277 -44.277 LWF
  440. X%%EndSetup
  441. X
  442. X%%Page: 1 1
  443. XBP
  444. Xf101 SF
  445. X197 493 p (WWFTP:)s
  446. X24 r (A)s
  447. X24 r (\256lesystem-oriented)s
  448. X24 r (\256le)s
  449. X24 r (transfer)s
  450. X24 r (pr)s
  451. X-1 r (otocol)s
  452. Xf92 SF
  453. X1014 653 p (Y)s
  454. X-6 r (ouki)s
  455. X16 r (Kadobayashi)s
  456. Xf96 SF
  457. X817 731 p (youki@ics.osaka-u.ac.jp)s
  458. Xf92 SF
  459. X952 808 p (WWFS)s
  460. X17 r (Research)s
  461. X16 r (Group)s
  462. X593 886 p (Department)s
  463. X17 r (of)s
  464. X17 r (Information)s
  465. X16 r (and)s
  466. X17 r (Computer)s
  467. X16 r (Sciences)s
  468. X1043 963 p (Osaka)s
  469. X17 r (University)s
  470. X895 1041 p (T)s
  471. X-4 r (oyonaka)s
  472. X16 r (560,)s
  473. X16 r (Osaka,)s
  474. X17 r (Japan)s
  475. X1050 1195 p (WWFS-TR-93-1)s
  476. X1047 1324 p (January)s
  477. X17 r (28,)s
  478. X16 r (1993)s
  479. Xf77 SF
  480. X1182 1524 p (Abstract)s
  481. Xf74 SF
  482. X313 1615 p (Recent)s
  483. X14 r (research)s
  484. X14 r (efforts)s
  485. X14 r (in)s
  486. X14 r (the)s
  487. X14 r (WWFS)s
  488. X14 r (Research)s
  489. X14 r (Group)s
  490. X15 r (at)s
  491. X14 r (Osaka)s
  492. X14 r (University)s
  493. X14 r (have)s
  494. X14 r (revealed)s
  495. X14 r (that)s
  496. X15 r (mere)s
  497. X238 1676 p (aggregation)s
  498. X14 r (of)s
  499. X14 r (existing)s
  500. X15 r (protocols)s
  501. X14 r (cannot)s
  502. X14 r (improve)s
  503. X14 r (usability)s
  504. X14 r (of)s
  505. X14 r (the)s
  506. X14 r (\256lesystem)s
  507. X14 r (any)s
  508. X14 r (further)s
  509. X-2 r (.)s
  510. X21 r (Our)s
  511. X14 r (NFS-FTP)s
  512. X238 1737 p (gateway)s
  513. X12 r (software)s
  514. X13 r (demonstrated)s
  515. X12 r (that)s
  516. X12 r (FTP)s
  517. X12 r (has)s
  518. X12 r (several)s
  519. X12 r (design)s
  520. X12 r (\257aws)s
  521. X12 r (when)s
  522. X13 r (viewed)s
  523. X12 r (as)s
  524. X12 r (a)s
  525. X12 r (\256lesystem)s
  526. X12 r (transport)s
  527. X238 1798 p (protocol.)s
  528. X313 1859 p (This)s
  529. X16 r (paper)s
  530. X17 r (presents)s
  531. X16 r (WWFTP)s
  532. X-4 r (,)s
  533. X15 r (a)s
  534. X16 r (new)s
  535. X17 r (\256le)s
  536. X16 r (transfer)s
  537. X16 r (protocol)s
  538. X17 r (speci\256cally)s
  539. X16 r (designed)s
  540. X16 r (for)s
  541. X17 r (multi-stage)s
  542. X16 r (\256le)s
  543. X238 1919 p (server)s
  544. X14 r (software.)s
  545. X18 r (WWFTP)s
  546. X13 r (supports)s
  547. X14 r (ef\256cient)s
  548. X12 r (\256le)s
  549. X13 r (transfer)s
  550. X13 r (over)s
  551. X13 r (high-speed)s
  552. X14 r (networks)s
  553. X13 r (and)s
  554. X13 r (long-delay)s
  555. X13 r (com-)s
  556. X238 1980 p (munication)s
  557. X12 r (lines,)s
  558. X12 r (while)s
  559. X12 r (supporting)s
  560. X12 r (archive)s
  561. X12 r (replication,)s
  562. X12 r (seamless)s
  563. X12 r (integration)s
  564. X11 r (with)s
  565. X12 r (distributed)s
  566. X12 r (\256le)s
  567. X12 r (systems)s
  568. X238 2041 p (and)s
  569. X13 r (direct)s
  570. X12 r (interaction)s
  571. X13 r (with)s
  572. X12 r (user)s
  573. X13 r (at)s
  574. X12 r (a)s
  575. X13 r (terminal.)s
  576. Xf99 SF
  577. X100 2228 p (1)s
  578. X80 r (Intr)s
  579. X-1 r (oduction)s
  580. Xf80 SF
  581. X100 2351 p (The)s
  582. X20 r (WWFS)s
  583. X19 r (\(W)s
  584. X-3 r (orldW)s
  585. X-2 r (ide)s
  586. X18 r (File)s
  587. X20 r (System\))s
  588. X19 r (Research)s
  589. X20 r (Group)s
  590. X20 r (at)s
  591. X19 r (Osaka)s
  592. X20 r (University)s
  593. X19 r (conducts)s
  594. X20 r (research)s
  595. X20 r (on)s
  596. X19 r (large)s
  597. X100 2417 p (scale)s
  598. X15 r (distributed)s
  599. X15 r (\256le)s
  600. X15 r (system,)s
  601. X15 r (with)s
  602. X15 r (particular)s
  603. X14 r (emphasis)s
  604. X15 r (on)s
  605. X15 r (multi-stage)s
  606. X15 r (storage)s
  607. X15 r (architecture[1],)s
  608. X15 r (optimization)s
  609. X100 2484 p (of)s
  610. X14 r (networked)s
  611. X14 r (resource)s
  612. X14 r (access[2],)s
  613. X13 r (and)s
  614. X14 r (seamless)s
  615. X14 r (integration)s
  616. X14 r (with)s
  617. X14 r (other)s
  618. X14 r (information)s
  619. X13 r (services[3].)s
  620. X183 2550 p (The)s
  621. X15 r (author)s
  622. X15 r (has)s
  623. X14 r (designed)s
  624. X15 r (and)s
  625. X15 r (implemented)s
  626. X15 r (Cluster)s
  627. X14 r (Server)s
  628. X15 r (\(CS\),)s
  629. X15 r (an)s
  630. X15 r (user-level)s
  631. X13 r (NFS[4])s
  632. X15 r (server)s
  633. X15 r (that)s
  634. X15 r (func-)s
  635. X100 2617 p (tions)s
  636. X10 r (as)s
  637. X10 r (an)s
  638. X11 r (NFS-FTP)s
  639. X10 r (gateway)s
  640. X10 r (with)s
  641. X10 r (caching)s
  642. X10 r (mechanism)s
  643. X10 r (on)s
  644. X11 r (a)s
  645. X10 r (per-\256le)s
  646. X9 r (basis)s
  647. X10 r (\(Figure)s
  648. X10 r (1\).)s
  649. X17 r (CS)s
  650. X11 r (enables)s
  651. X10 r (transparent)s
  652. X100 2683 p (access)s
  653. X14 r (to)s
  654. X14 r (Internet)s
  655. X14 r (FTP)s
  656. X13 r (archives,)s
  657. X14 r (while)s
  658. X14 r (achieving)s
  659. X14 r (simplicity)s
  660. X-3 r (,)s
  661. X13 r (scalability)s
  662. X-3 r (,)s
  663. X13 r (and)s
  664. X14 r (compatibility)s
  665. X-2 r (.)s
  666. X183 2750 p (For)s
  667. X16 r (more)s
  668. X16 r (than)s
  669. X17 r (10)s
  670. X16 r (months,)s
  671. X17 r (Cluster)s
  672. X16 r (Server)s
  673. X16 r (has)s
  674. X16 r (been)s
  675. X16 r (thoroughly)s
  676. X16 r (tested,)s
  677. X17 r (improved)s
  678. X16 r (and)s
  679. X17 r (re\256ned)s
  680. X16 r (for)s
  681. X16 r (better)s
  682. X100 2816 p (reliability)s
  683. X-3 r (,)s
  684. X13 r (performance)s
  685. X13 r (and)s
  686. X13 r (usability)s
  687. X-3 r (.)s
  688. X17 r (As)s
  689. X13 r (the)s
  690. X13 r (re\256nement)s
  691. X14 r (progress,)s
  692. X13 r (it)s
  693. X13 r (became)s
  694. X13 r (clear)s
  695. X13 r (that)s
  696. X13 r (mere)s
  697. X13 r (aggregation)s
  698. X13 r (of)s
  699. X100 2882 p (existing)s
  700. X15 r (protocols)s
  701. X15 r (cannot)s
  702. X15 r (improve)s
  703. X15 r (usability)s
  704. X15 r (of)s
  705. X15 r (the)s
  706. X15 r (\256lesystem)s
  707. X15 r (any)s
  708. X16 r (further)s
  709. X-3 r (.)s
  710. X22 r (Moreover)s
  711. X-2 r (,)s
  712. X15 r (close)s
  713. X15 r (examination)s
  714. X15 r (of)s
  715. X100 2949 p (FTP)s
  716. X14 r (has)s
  717. X13 r (revealed)s
  718. X14 r (that)s
  719. X13 r (it)s
  720. X14 r (is)s
  721. X13 r (inappropriate)s
  722. X14 r (for)s
  723. X13 r (the)s
  724. X14 r (\256lesystem)s
  725. X13 r (transport)s
  726. X14 r (layer)s
  727. X13 r (over)s
  728. X14 r (the)s
  729. X14 r (Internet,)s
  730. X13 r (although)s
  731. X14 r (it)s
  732. X13 r (can)s
  733. X100 3015 p (be)s
  734. X14 r (used)s
  735. X14 r (as)s
  736. X14 r (a)s
  737. X13 r (last)s
  738. X14 r (resort.)s
  739. X183 3082 p (This)s
  740. X13 r (paper)s
  741. X13 r (is)s
  742. X12 r (structured)s
  743. X13 r (as)s
  744. X13 r (follows:)s
  745. X18 r (Section)s
  746. X13 r (2)s
  747. X13 r (describes)s
  748. X12 r (major)s
  749. X13 r (drawbacks)s
  750. X13 r (of)s
  751. X13 r (FTP)s
  752. X13 r (from)s
  753. X13 r (the)s
  754. X12 r (viewpoint)s
  755. X13 r (of)s
  756. X100 3148 p (\256lesystem)s
  757. X15 r (transport)s
  758. X15 r (protocol.)s
  759. X21 r (Section)s
  760. X15 r (3)s
  761. X15 r (presents)s
  762. X15 r (my)s
  763. X14 r (FTP)s
  764. X15 r (replacement)s
  765. X15 r (named)s
  766. X15 r (WWFTP)s
  767. X15 r (that)s
  768. X14 r (is)s
  769. X15 r (speci\256cally)s
  770. X100 3214 p (designed)s
  771. X16 r (for)s
  772. X16 r (WWFS,)s
  773. X16 r (then)s
  774. X16 r (describes)s
  775. X16 r (its)s
  776. X16 r (design)s
  777. X15 r (rationale,)s
  778. X17 r (and)s
  779. X16 r (discuss)s
  780. X16 r (the)s
  781. X16 r (bene\256t)s
  782. X16 r (of)s
  783. X16 r (adopting)s
  784. X15 r (the)s
  785. X16 r (protocol.)s
  786. X100 3281 p (Section)s
  787. X14 r (4)s
  788. X14 r (contains)s
  789. X14 r (directions)s
  790. X13 r (of)s
  791. X14 r (future)s
  792. X14 r (work.)s
  793. X18 r (Section)s
  794. X14 r (5)s
  795. X14 r (summarizes)s
  796. X14 r (this)s
  797. X14 r (paper)s
  798. X-2 r (.)s
  799. Xf99 SF
  800. X100 3467 p (2)s
  801. X80 r (Experiences)s
  802. X20 r (with)s
  803. X20 r (NFS-FTP)s
  804. X19 r (gateway)s
  805. Xf80 SF
  806. X100 3591 p (CS,)s
  807. X17 r (a)s
  808. X17 r (daemon)s
  809. X17 r (process,)s
  810. X17 r (must)s
  811. X17 r (be)s
  812. X17 r (run)s
  813. X17 r (on)s
  814. X16 r (each)s
  815. X17 r (cluster)s
  816. X-1 r (,)s
  817. X17 r (that)s
  818. X16 r (talks)s
  819. X17 r (NFS)s
  820. X17 r (protocol)s
  821. X17 r (for)s
  822. X17 r (intra-cluster)s
  823. X17 r (activity)s
  824. X17 r (and)s
  825. X100 3657 p (FTP)s
  826. X15 r (for)s
  827. X15 r (inter-cluster)s
  828. X14 r (activity)s
  829. X-3 r (,)s
  830. X14 r (hence)s
  831. X15 r (playing)s
  832. X15 r (the)s
  833. X15 r (role)s
  834. X15 r (of)s
  835. X15 r (NFS-FTP)s
  836. X15 r (gateway)s
  837. X-3 r (.)s
  838. X21 r (Thus)s
  839. X15 r (users)s
  840. X15 r (on)s
  841. X15 r (client)s
  842. X14 r (machines)s
  843. X100 3724 p (can)s
  844. X14 r (mount)s
  845. X14 r (CS)s
  846. X14 r (as)s
  847. X13 r (an)s
  848. X14 r (NFS)s
  849. X14 r (server)s
  850. X-1 r (,)s
  851. X13 r (so)s
  852. X13 r (that)s
  853. X14 r (they)s
  854. X14 r (can)s
  855. X14 r (access)s
  856. X14 r (anonymous)s
  857. X14 r (ftp)s
  858. X13 r (servers)s
  859. X14 r (transparently)s
  860. X-2 r (.)s
  861. X1261 3946 p (1)s
  862. XEP
  863. X
  864. X%%Page: 2 2
  865. XBP
  866. X675 260 p 1.000 @beginspecial
  867. X@epsf
  868. X1.000000 @vscale
  869. X1.000000 @hscale
  870. X131.000000 504.000000 347.000000 649.000000 @bbox
  871. X@setspecial
  872. X%%BeginDocument: protostack.eps
  873. X%!PS-Adobe-2.0 EPSF-1.2
  874. X%%DocumentFonts: Helvetica
  875. X%%BoundingBox: 131 504 347 649
  876. X%%EndComments
  877. X
  878. X50 dict begin
  879. X
  880. X/arrowHeight 8 def
  881. X/arrowWidth 4 def
  882. X/none null def
  883. X/numGraphicParameters 17 def
  884. X/stringLimit 65535 def
  885. X
  886. X/Begin {
  887. Xsave
  888. XnumGraphicParameters dict begin
  889. X} def
  890. X
  891. X/End {
  892. Xend
  893. Xrestore
  894. X} def
  895. X
  896. X/SetB {
  897. Xdup type /nulltype eq {
  898. Xpop
  899. Xfalse /brushRightArrow idef
  900. Xfalse /brushLeftArrow idef
  901. Xtrue /brushNone idef
  902. X} {
  903. X/brushDashOffset idef
  904. X/brushDashArray idef
  905. X0 ne /brushRightArrow idef
  906. X0 ne /brushLeftArrow idef
  907. X/brushWidth idef
  908. Xfalse /brushNone idef
  909. X} ifelse
  910. X} def
  911. X
  912. X/SetCFg {
  913. X/fgblue idef
  914. X/fggreen idef
  915. X/fgred idef
  916. X} def
  917. X
  918. X/SetCBg {
  919. X/bgblue idef
  920. X/bggreen idef
  921. X/bgred idef
  922. X} def
  923. X
  924. X/SetF {
  925. X/printSize idef
  926. X/printFont idef
  927. X} def
  928. X
  929. X/SetP {
  930. Xdup type /nulltype eq {
  931. Xpop true /patternNone idef
  932. X} {
  933. X/patternGrayLevel idef
  934. XpatternGrayLevel -1 eq {
  935. X/patternString idef
  936. X} if
  937. Xfalse /patternNone idef
  938. X} ifelse
  939. X} def
  940. X
  941. X/BSpl {
  942. X0 begin
  943. Xstorexyn
  944. Xnewpath
  945. Xn 1 gt {
  946. X0 0 0 0 0 0 1 1 true subspline
  947. Xn 2 gt {
  948. X0 0 0 0 1 1 2 2 false subspline
  949. X1 1 n 3 sub {
  950. X/i exch def
  951. Xi 1 sub dup i dup i 1 add dup i 2 add dup false subspline
  952. X} for
  953. Xn 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline
  954. X} if
  955. Xn 2 sub dup n 1 sub dup 2 copy 2 copy false subspline
  956. XpatternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
  957. XbrushNone not { istroke } if
  958. X0 0 1 1 leftarrow
  959. Xn 2 sub dup n 1 sub dup rightarrow
  960. X} if
  961. Xend
  962. X} dup 0 4 dict put def
  963. X
  964. X/Circ {
  965. Xnewpath
  966. X0 360 arc
  967. XpatternNone not { ifill } if
  968. XbrushNone not { istroke } if
  969. X} def
  970. X
  971. X/CBSpl {
  972. X0 begin
  973. Xdup 2 gt {
  974. Xstorexyn
  975. Xnewpath
  976. Xn 1 sub dup 0 0 1 1 2 2 true subspline
  977. X1 1 n 3 sub {
  978. X/i exch def
  979. Xi 1 sub dup i dup i 1 add dup i 2 add dup false subspline
  980. X} for
  981. Xn 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline
  982. Xn 2 sub dup n 1 sub dup 0 0 1 1 false subspline
  983. XpatternNone not { ifill } if
  984. XbrushNone not { istroke } if
  985. X} {
  986. XPoly
  987. X} ifelse
  988. Xend
  989. X} dup 0 4 dict put def
  990. X
  991. X
  992. X/RRect { CBSpl } def
  993. X
  994. X/Elli {
  995. X0 begin
  996. Xnewpath
  997. X4 2 roll
  998. Xtranslate
  999. Xscale
  1000. X0 0 1 0 360 arc
  1001. XpatternNone not { ifill } if
  1002. XbrushNone not { istroke } if
  1003. Xend
  1004. X} dup 0 1 dict put def
  1005. X
  1006. X/Line {
  1007. X0 begin
  1008. X2 storexyn
  1009. Xnewpath
  1010. Xx 0 get y 0 get moveto
  1011. Xx 1 get y 1 get lineto
  1012. XbrushNone not { istroke } if
  1013. X0 0 1 1 leftarrow
  1014. X0 0 1 1 rightarrow
  1015. Xend
  1016. X} dup 0 4 dict put def
  1017. X
  1018. X/MLine {
  1019. X0 begin
  1020. Xstorexyn
  1021. Xnewpath
  1022. Xn 1 gt {
  1023. Xx 0 get y 0 get moveto
  1024. X1 1 n 1 sub {
  1025. X/i exch def
  1026. Xx i get y i get lineto
  1027. X} for
  1028. XpatternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
  1029. XbrushNone not { istroke } if
  1030. X0 0 1 1 leftarrow
  1031. Xn 2 sub dup n 1 sub dup rightarrow
  1032. X} if
  1033. Xend
  1034. X} dup 0 4 dict put def
  1035. X
  1036. X/Poly {
  1037. X3 1 roll
  1038. Xnewpath
  1039. Xmoveto
  1040. X-1 add
  1041. X{ lineto } repeat
  1042. Xclosepath
  1043. XpatternNone not { ifill } if
  1044. XbrushNone not { istroke } if
  1045. X} def
  1046. X
  1047. X/Rect {
  1048. X0 begin
  1049. X/t exch def
  1050. X/r exch def
  1051. X/b exch def
  1052. X/l exch def
  1053. Xnewpath
  1054. Xl b moveto
  1055. Xl t lineto
  1056. Xr t lineto
  1057. Xr b lineto
  1058. Xclosepath
  1059. XpatternNone not { ifill } if
  1060. XbrushNone not { istroke } if
  1061. Xend
  1062. X} dup 0 4 dict put def
  1063. X
  1064. X/WhiteBg 1 def
  1065. X/HollowBg 0 def
  1066. X/Text { ishow } def
  1067. X
  1068. X/idef {
  1069. Xdup where { pop pop pop } { exch def } ifelse
  1070. X} def
  1071. X
  1072. X/ifill {
  1073. X0 begin
  1074. Xgsave
  1075. XpatternGrayLevel -1 ne {
  1076. Xfgred bgred fgred sub patternGrayLevel mul add
  1077. Xfggreen bggreen fggreen sub patternGrayLevel mul add
  1078. Xfgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor
  1079. Xeofill
  1080. X} {
  1081. Xeoclip
  1082. XoriginalCTM setmatrix
  1083. Xpathbbox /t exch def /r exch def /b exch def /l exch def
  1084. X/w r l sub ceiling cvi def
  1085. X/h t b sub ceiling cvi def
  1086. X/imageByteWidth w 8 div ceiling cvi def
  1087. X/imageHeight h def
  1088. Xbgred bggreen bgblue setrgbcolor
  1089. Xeofill
  1090. Xfgred fggreen fgblue setrgbcolor
  1091. Xw 0 gt h 0 gt and {
  1092. Xl b translate w h scale
  1093. Xw h true [w 0 0 h neg 0 h] { patternproc } imagemask
  1094. X} if
  1095. X} ifelse
  1096. Xgrestore
  1097. Xend
  1098. X} dup 0 8 dict put def
  1099. X
  1100. X/istroke {
  1101. Xgsave
  1102. XbrushDashOffset -1 eq {
  1103. X[] 0 setdash
  1104. X1 setgray
  1105. X} {
  1106. XbrushDashArray brushDashOffset setdash
  1107. Xfgred fggreen fgblue setrgbcolor
  1108. X} ifelse
  1109. XbrushWidth setlinewidth
  1110. XoriginalCTM setmatrix
  1111. Xstroke
  1112. Xgrestore
  1113. X} def
  1114. X
  1115. X/xdescender {
  1116. Xbegin 0
  1117. XFontType 0 eq
  1118. X{ FDepVector dup length 1 sub get xdescender }
  1119. X{ [FontBBox] 1 get } ifelse
  1120. XFontMatrix transform exch pop end
  1121. X} def
  1122. X/ishow {
  1123. X0 begin
  1124. Xgsave
  1125. Xfgred fggreen fgblue setrgbcolor
  1126. XWhiteBg eq /drawBg exch def
  1127. X/fontDict printFont findfont printSize scalefont dup setfont def
  1128. X/descender fontDict xdescender def
  1129. X/vertoffset 0 descender sub printSize sub printFont /Courier ne
  1130. XprintFont /Courier-Bold ne and { 1 add } if def {
  1131. XdrawBg {
  1132. Xnewpath 0 vertoffset descender add moveto
  1133. Xdup stringwidth pop dup 0 rlineto
  1134. X0 printSize rlineto 0 exch sub 0 rlineto
  1135. Xclosepath currentgray 1 setgray fill    setgray } if
  1136. X0 vertoffset moveto show
  1137. X/vertoffset vertoffset printSize sub def
  1138. X} forall
  1139. Xgrestore
  1140. Xend
  1141. X} dup 0 4 dict put def
  1142. X
  1143. X/patternproc {
  1144. X0 begin
  1145. X/patternByteLength patternString length def
  1146. X/patternHeight patternByteLength 8 mul sqrt cvi def
  1147. X/patternWidth patternHeight def
  1148. X/patternByteWidth patternWidth 8 idiv def
  1149. X/imageByteMaxLength imageByteWidth imageHeight mul
  1150. XstringLimit patternByteWidth sub min def
  1151. X/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv
  1152. XpatternHeight mul patternHeight max def
  1153. X/imageHeight imageHeight imageMaxHeight sub store
  1154. X/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def
  1155. X0 1 imageMaxHeight 1 sub {
  1156. X/y exch def
  1157. X/patternRow y patternByteWidth mul patternByteLength mod def
  1158. X/patternRowString patternString patternRow patternByteWidth getinterval def
  1159. X/imageRow y imageByteWidth mul def
  1160. X0 patternByteWidth imageByteWidth 1 sub {
  1161. X/x exch def
  1162. XimageString imageRow x add patternRowString putinterval
  1163. X} for
  1164. X} for
  1165. XimageString
  1166. Xend
  1167. X} dup 0 12 dict put def
  1168. X
  1169. X/min {
  1170. Xdup 3 2 roll dup 4 3 roll lt { exch } if pop
  1171. X} def
  1172. X
  1173. X/max {
  1174. Xdup 3 2 roll dup 4 3 roll gt { exch } if pop
  1175. X} def
  1176. X
  1177. X/arrowhead {
  1178. X0 begin
  1179. Xtransform originalCTM itransform
  1180. X/taily exch def
  1181. X/tailx exch def
  1182. Xtransform originalCTM itransform
  1183. X/tipy exch def
  1184. X/tipx exch def
  1185. X/dy tipy taily sub def
  1186. X/dx tipx tailx sub def
  1187. X/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def
  1188. Xgsave
  1189. XoriginalCTM setmatrix
  1190. Xtipx tipy translate
  1191. Xangle rotate
  1192. Xnewpath
  1193. X0 0 moveto
  1194. XarrowHeight neg arrowWidth 2 div lineto
  1195. XarrowHeight neg arrowWidth 2 div neg lineto
  1196. Xclosepath
  1197. XpatternNone not {
  1198. XoriginalCTM setmatrix
  1199. X/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul
  1200. XarrowWidth div def
  1201. X/padtail brushWidth 2 div def
  1202. Xtipx tipy translate
  1203. Xangle rotate
  1204. Xpadtip 0 translate
  1205. XarrowHeight padtip add padtail add arrowHeight div dup scale
  1206. Xarrowheadpath
  1207. Xifill
  1208. X} if
  1209. XbrushNone not {
  1210. XoriginalCTM setmatrix
  1211. Xtipx tipy translate
  1212. Xangle rotate
  1213. Xarrowheadpath
  1214. Xistroke
  1215. X} if
  1216. Xgrestore
  1217. Xend
  1218. X} dup 0 9 dict put def
  1219. X
  1220. X/arrowheadpath {
  1221. Xnewpath
  1222. X0 0 moveto
  1223. XarrowHeight neg arrowWidth 2 div lineto
  1224. XarrowHeight neg arrowWidth 2 div neg lineto
  1225. Xclosepath
  1226. X} def
  1227. X
  1228. X/leftarrow {
  1229. X0 begin
  1230. Xy exch get /taily exch def
  1231. Xx exch get /tailx exch def
  1232. Xy exch get /tipy exch def
  1233. Xx exch get /tipx exch def
  1234. XbrushLeftArrow { tipx tipy tailx taily arrowhead } if
  1235. Xend
  1236. X} dup 0 4 dict put def
  1237. X
  1238. X/rightarrow {
  1239. X0 begin
  1240. Xy exch get /tipy exch def
  1241. Xx exch get /tipx exch def
  1242. Xy exch get /taily exch def
  1243. Xx exch get /tailx exch def
  1244. XbrushRightArrow { tipx tipy tailx taily arrowhead } if
  1245. Xend
  1246. X} dup 0 4 dict put def
  1247. X
  1248. X/midpoint {
  1249. X0 begin
  1250. X/y1 exch def
  1251. X/x1 exch def
  1252. X/y0 exch def
  1253. X/x0 exch def
  1254. Xx0 x1 add 2 div
  1255. Xy0 y1 add 2 div
  1256. Xend
  1257. X} dup 0 4 dict put def
  1258. X
  1259. X/thirdpoint {
  1260. X0 begin
  1261. X/y1 exch def
  1262. X/x1 exch def
  1263. X/y0 exch def
  1264. X/x0 exch def
  1265. Xx0 2 mul x1 add 3 div
  1266. Xy0 2 mul y1 add 3 div
  1267. Xend
  1268. X} dup 0 4 dict put def
  1269. X
  1270. X/subspline {
  1271. X0 begin
  1272. X/movetoNeeded exch def
  1273. Xy exch get /y3 exch def
  1274. Xx exch get /x3 exch def
  1275. Xy exch get /y2 exch def
  1276. Xx exch get /x2 exch def
  1277. Xy exch get /y1 exch def
  1278. Xx exch get /x1 exch def
  1279. Xy exch get /y0 exch def
  1280. Xx exch get /x0 exch def
  1281. Xx1 y1 x2 y2 thirdpoint
  1282. X/p1y exch def
  1283. X/p1x exch def
  1284. Xx2 y2 x1 y1 thirdpoint
  1285. X/p2y exch def
  1286. X/p2x exch def
  1287. Xx1 y1 x0 y0 thirdpoint
  1288. Xp1x p1y midpoint
  1289. X/p0y exch def
  1290. X/p0x exch def
  1291. Xx2 y2 x3 y3 thirdpoint
  1292. Xp2x p2y midpoint
  1293. X/p3y exch def
  1294. X/p3x exch def
  1295. XmovetoNeeded { p0x p0y moveto } if
  1296. Xp1x p1y p2x p2y p3x p3y curveto
  1297. Xend
  1298. X} dup 0 17 dict put def
  1299. X
  1300. X/storexyn {
  1301. X/n exch def
  1302. X/y n array def
  1303. X/x n array def
  1304. Xn 1 sub -1 0 {
  1305. X/i exch def
  1306. Xy i 3 2 roll put
  1307. Xx i 3 2 roll put
  1308. X} for
  1309. X} def
  1310. X
  1311. X%%EndProlog
  1312. X
  1313. X%I Idraw 9 Grid 4 
  1314. X
  1315. X
  1316. XBegin
  1317. X%I b u
  1318. X%I cfg u
  1319. X%I cbg u
  1320. X%I f u
  1321. X%I k u
  1322. X%I p u
  1323. X%I t
  1324. X[ .757895 0 0 .757895 0 0 ] concat
  1325. X/originalCTM matrix currentmatrix def
  1326. X
  1327. XBegin %I Rect
  1328. X%I b 65535
  1329. X1 0 0 [] 0 SetB
  1330. X%I cfg Black
  1331. X0 0 0 SetCFg
  1332. X%I cbg White
  1333. X1 1 1 SetCBg
  1334. X%I p
  1335. X1 SetP
  1336. X%I t
  1337. X[ .8 0 0 .8 227.5 290.2 ] concat
  1338. X%I
  1339. X120 575 175 597 Rect
  1340. XEnd
  1341. X
  1342. XBegin %I Rect
  1343. X%I b 65535
  1344. X1 0 0 [] 0 SetB
  1345. X%I cfg Black
  1346. X0 0 0 SetCFg
  1347. X%I cbg White
  1348. X1 1 1 SetCBg
  1349. X%I p
  1350. X1 SetP
  1351. X%I t
  1352. X[ .8 0 0 .8 227.5 272.2 ] concat
  1353. X%I
  1354. X120 575 175 597 Rect
  1355. XEnd
  1356. X
  1357. XBegin %I Rect
  1358. X%I b 65535
  1359. X1 0 0 [] 0 SetB
  1360. X%I cfg Black
  1361. X0 0 0 SetCFg
  1362. X%I cbg White
  1363. X1 1 1 SetCBg
  1364. X%I p
  1365. X1 SetP
  1366. X%I t
  1367. X[ .8 0 0 .8 227.5 254.2 ] concat
  1368. X%I
  1369. X120 575 175 597 Rect
  1370. XEnd
  1371. X
  1372. XBegin %I Rect
  1373. X%I b 65535
  1374. X1 0 0 [] 0 SetB
  1375. X%I cfg Black
  1376. X0 0 0 SetCFg
  1377. X%I cbg White
  1378. X1 1 1 SetCBg
  1379. X%I p
  1380. X1 SetP
  1381. X%I t
  1382. X[ .8 0 0 .8 81.5 290.2 ] concat
  1383. X%I
  1384. X120 575 175 597 Rect
  1385. XEnd
  1386. X
  1387. XBegin %I Rect
  1388. X%I b 65535
  1389. X1 0 0 [] 0 SetB
  1390. X%I cfg Black
  1391. X0 0 0 SetCFg
  1392. X%I cbg White
  1393. X1 1 1 SetCBg
  1394. X%I p
  1395. X1 SetP
  1396. X%I t
  1397. X[ .8 0 0 .8 81.5 308.2 ] concat
  1398. X%I
  1399. X120 575 175 597 Rect
  1400. XEnd
  1401. X
  1402. XBegin %I Rect
  1403. X%I b 65535
  1404. X1 0 0 [] 0 SetB
  1405. X%I cfg Black
  1406. X0 0 0 SetCFg
  1407. X%I cbg White
  1408. X1 1 1 SetCBg
  1409. X%I p
  1410. X1 SetP
  1411. X%I t
  1412. X[ .8 0 0 .8 81.5 272.2 ] concat
  1413. X%I
  1414. X120 575 175 597 Rect
  1415. XEnd
  1416. X
  1417. XBegin %I Rect
  1418. X%I b 65535
  1419. X1 0 0 [] 0 SetB
  1420. X%I cfg Black
  1421. X0 0 0 SetCFg
  1422. X%I cbg White
  1423. X1 1 1 SetCBg
  1424. X%I p
  1425. X1 SetP
  1426. X%I t
  1427. X[ .8 0 0 .8 81.5 254.2 ] concat
  1428. X%I
  1429. X120 575 175 597 Rect
  1430. XEnd
  1431. X
  1432. XBegin %I Rect
  1433. X%I b 65535
  1434. X1 0 0 [] 0 SetB
  1435. X%I cfg Black
  1436. X0 0 0 SetCFg
  1437. X%I cbg White
  1438. X1 1 1 SetCBg
  1439. X%I p
  1440. X1 SetP
  1441. X%I t
  1442. X[ .8 0 0 .8 81.5 326.2 ] concat
  1443. X%I
  1444. X120 575 175 597 Rect
  1445. XEnd
  1446. X
  1447. XBegin %I Text
  1448. X%I cfg Black
  1449. X0 0 0 SetCFg
  1450. X%I f *-helvetica-medium-r-*-120-*
  1451. X/Helvetica 12 SetF
  1452. X%I t
  1453. X[ 1 0 0 1 187 798.13 ] concat
  1454. X%I
  1455. X[
  1456. X(NFS)
  1457. X] WhiteBg Text
  1458. XEnd
  1459. X
  1460. XBegin %I Text
  1461. X%I cfg Black
  1462. X0 0 0 SetCFg
  1463. X%I f *-helvetica-medium-r-*-120-*
  1464. X/Helvetica 12 SetF
  1465. X%I t
  1466. X[ 1 0 0 1 187 780.315 ] concat
  1467. X%I
  1468. X[
  1469. X(RPC)
  1470. X] WhiteBg Text
  1471. XEnd
  1472. X
  1473. XBegin %I Text
  1474. X%I cfg Black
  1475. X0 0 0 SetCFg
  1476. X%I f *-helvetica-medium-r-*-120-*
  1477. X/Helvetica 12 SetF
  1478. X%I t
  1479. X[ 1 0 0 1 187 762.13 ] concat
  1480. X%I
  1481. X[
  1482. X(XDR)
  1483. X] WhiteBg Text
  1484. XEnd
  1485. X
  1486. XBegin %I Text
  1487. X%I cfg Black
  1488. X0 0 0 SetCFg
  1489. X%I f *-helvetica-medium-r-*-120-*
  1490. X/Helvetica 12 SetF
  1491. X%I t
  1492. X[ 1 0 0 1 187 744.371 ] concat
  1493. X%I
  1494. X[
  1495. X(UDP)
  1496. X] WhiteBg Text
  1497. XEnd
  1498. X
  1499. XBegin %I Text
  1500. X%I cfg Black
  1501. X0 0 0 SetCFg
  1502. X%I f *-helvetica-medium-r-*-120-*
  1503. X/Helvetica 12 SetF
  1504. X%I t
  1505. X[ 1 0 0 1 187 726.371 ] concat
  1506. X%I
  1507. X[
  1508. X(IP)
  1509. X] WhiteBg Text
  1510. XEnd
  1511. X
  1512. XBegin %I Text
  1513. X%I cfg Black
  1514. X0 0 0 SetCFg
  1515. X%I f *-helvetica-medium-r-*-120-*
  1516. X/Helvetica 12 SetF
  1517. X%I t
  1518. X[ 1 0 0 1 399.5 850 ] concat
  1519. X%I
  1520. X[
  1521. X(file server)
  1522. X] WhiteBg Text
  1523. XEnd
  1524. X
  1525. XBegin %I Text
  1526. X%I cfg Black
  1527. X0 0 0 SetCFg
  1528. X%I f *-helvetica-medium-r-*-120-*
  1529. X/Helvetica 12 SetF
  1530. X%I t
  1531. X[ 1 0 0 1 182 850 ] concat
  1532. X%I
  1533. X[
  1534. X(client)
  1535. X] WhiteBg Text
  1536. XEnd
  1537. X
  1538. XBegin %I Line
  1539. X%I b 65535
  1540. X1 0 1 [] 0 SetB
  1541. X%I cfg Black
  1542. X0 0 0 SetCFg
  1543. X%I cbg White
  1544. X1 1 1 SetCBg
  1545. X%I p
  1546. X< ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
  1547. X  ffffffff > -1 SetP
  1548. X%I t
  1549. X[ 1 0 0 1 47 224 ] concat
  1550. X%I
  1551. X153 465 153 487 Line
  1552. XEnd
  1553. X
  1554. XBegin %I Line
  1555. X%I b 65535
  1556. X1 0 1 [] 0 SetB
  1557. X%I cfg Black
  1558. X0 0 0 SetCFg
  1559. X%I cbg White
  1560. X1 1 1 SetCBg
  1561. X%I p
  1562. X< ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
  1563. X  ffffffff > -1 SetP
  1564. X%I t
  1565. X[ 1 0 0 1 34.5 224 ] concat
  1566. X%I
  1567. X252 465 252 487 Line
  1568. XEnd
  1569. X
  1570. XBegin %I Text
  1571. X%I cfg Black
  1572. X0 0 0 SetCFg
  1573. X%I f *-helvetica-medium-r-*-120-*
  1574. X/Helvetica 12 SetF
  1575. X%I t
  1576. X[ 1 0 0 1 197 681.258 ] concat
  1577. X%I
  1578. X[
  1579. X(physical network)
  1580. X] WhiteBg Text
  1581. XEnd
  1582. X
  1583. XBegin %I Text
  1584. X%I cfg Black
  1585. X0 0 0 SetCFg
  1586. X%I f *-helvetica-medium-r-*-120-*
  1587. X/Helvetica 12 SetF
  1588. X%I t
  1589. X[ 1 0 0 1 334 744.371 ] concat
  1590. X%I
  1591. X[
  1592. X(TCP)
  1593. X] WhiteBg Text
  1594. XEnd
  1595. X
  1596. XBegin %I Text
  1597. X%I cfg Black
  1598. X0 0 0 SetCFg
  1599. X%I f *-helvetica-medium-r-*-120-*
  1600. X/Helvetica 12 SetF
  1601. X%I t
  1602. X[ 1 0 0 1 334 762.13 ] concat
  1603. X%I
  1604. X[
  1605. X(FTP)
  1606. X] WhiteBg Text
  1607. XEnd
  1608. X
  1609. XBegin %I Text
  1610. X%I cfg Black
  1611. X0 0 0 SetCFg
  1612. X%I f *-helvetica-medium-r-*-120-*
  1613. X/Helvetica 12 SetF
  1614. X%I t
  1615. X[ 1 0 0 1 334 726.371 ] concat
  1616. X%I
  1617. X[
  1618. X(IP)
  1619. X] WhiteBg Text
  1620. XEnd
  1621. X
  1622. XBegin %I Text
  1623. X%I cfg Black
  1624. X0 0 0 SetCFg
  1625. X%I f *-helvetica-medium-r-*-120-*
  1626. X/Helvetica 12 SetF
  1627. X%I t
  1628. X[ 1 0 0 1 282.5 850 ] concat
  1629. X%I
  1630. X[
  1631. X(cluster server)
  1632. X] WhiteBg Text
  1633. XEnd
  1634. X
  1635. XBegin %I Line
  1636. X%I b 65535
  1637. X1 1 1 [] 0 SetB
  1638. X%I cfg Black
  1639. X0 0 0 SetCFg
  1640. X%I cbg White
  1641. X1 1 1 SetCBg
  1642. X%I p
  1643. X< ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
  1644. X  ffffffff > -1 SetP
  1645. X%I t
  1646. X[ .825478 0 0 1.29138 141.106 50.4179 ] concat
  1647. X%I
  1648. X353 608 353 558 Line
  1649. XEnd
  1650. X
  1651. XBegin %I Line
  1652. X%I b 65535
  1653. X1 1 1 [] 0 SetB
  1654. X%I cfg Black
  1655. X0 0 0 SetCFg
  1656. X%I cbg White
  1657. X1 1 1 SetCBg
  1658. X%I p
  1659. X< ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
  1660. X  ffffffff > -1 SetP
  1661. X%I t
  1662. X[ 1 0 0 1 122 217 ] concat
  1663. X%I
  1664. X78 588 78 623 Line
  1665. XEnd
  1666. X
  1667. XBegin %I BSpl
  1668. X%I b 65535
  1669. X1 1 1 [] 0 SetB
  1670. X%I cfg Black
  1671. X0 0 0 SetCFg
  1672. X%I cbg White
  1673. X1 1 1 SetCBg
  1674. X%I p
  1675. X< ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
  1676. X  ffffffff > -1 SetP
  1677. X%I t
  1678. X[ 1 0 0 1 101 214 ] concat
  1679. X%I 4
  1680. X188 598
  1681. X188 623
  1682. X243 623
  1683. X243 558
  1684. X4 BSpl
  1685. XEnd
  1686. X
  1687. XBegin %I Rect
  1688. X%I b 65535
  1689. X1 0 0 [] 0 SetB
  1690. X%I cfg Black
  1691. X0 0 0 SetCFg
  1692. X%I cbg White
  1693. X1 1 1 SetCBg
  1694. X%I p
  1695. X1 SetP
  1696. X%I t
  1697. X[ .8 0 0 .8 170 290.2 ] concat
  1698. X%I
  1699. X120 575 175 597 Rect
  1700. XEnd
  1701. X
  1702. XBegin %I Rect
  1703. X%I b 65535
  1704. X1 0 0 [] 0 SetB
  1705. X%I cfg Black
  1706. X0 0 0 SetCFg
  1707. X%I cbg White
  1708. X1 1 1 SetCBg
  1709. X%I p
  1710. X1 SetP
  1711. X%I t
  1712. X[ .8 0 0 .8 170 308.2 ] concat
  1713. X%I
  1714. X120 575 175 597 Rect
  1715. XEnd
  1716. X
  1717. XBegin %I Rect
  1718. X%I b 65535
  1719. X1 0 0 [] 0 SetB
  1720. X%I cfg Black
  1721. X0 0 0 SetCFg
  1722. X%I cbg White
  1723. X1 1 1 SetCBg
  1724. X%I p
  1725. X1 SetP
  1726. X%I t
  1727. X[ .8 0 0 .8 170 272.2 ] concat
  1728. X%I
  1729. X120 575 175 597 Rect
  1730. XEnd
  1731. X
  1732. XBegin %I Rect
  1733. X%I b 65535
  1734. X1 0 0 [] 0 SetB
  1735. X%I cfg Black
  1736. X0 0 0 SetCFg
  1737. X%I cbg White
  1738. X1 1 1 SetCBg
  1739. X%I p
  1740. X1 SetP
  1741. X%I t
  1742. X[ .8 0 0 .8 170 254.2 ] concat
  1743. X%I
  1744. X120 575 175 597 Rect
  1745. XEnd
  1746. X
  1747. XBegin %I Rect
  1748. X%I b 65535
  1749. X1 0 0 [] 0 SetB
  1750. X%I cfg Black
  1751. X0 0 0 SetCFg
  1752. X%I cbg White
  1753. X1 1 1 SetCBg
  1754. X%I p
  1755. X1 SetP
  1756. X%I t
  1757. X[ .8 0 0 .8 170 326.2 ] concat
  1758. X%I
  1759. X120 575 175 597 Rect
  1760. XEnd
  1761. X
  1762. XBegin %I Line
  1763. X%I b 65535
  1764. X1 0 0 [] 0 SetB
  1765. X%I cfg Black
  1766. X0 0 0 SetCFg
  1767. X%I cbg White
  1768. X1 1 1 SetCBg
  1769. X%I p
  1770. X< ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
  1771. X  ffffffff > -1 SetP
  1772. X%I t
  1773. X[ .5 0 0 .5 150 567.5 ] concat
  1774. X%I
  1775. X101 242 272 242 Line
  1776. XEnd
  1777. X
  1778. XBegin %I Text
  1779. X%I cfg Black
  1780. X0 0 0 SetCFg
  1781. X%I f *-helvetica-medium-r-*-120-*
  1782. X/Helvetica 12 SetF
  1783. X%I t
  1784. X[ 1 0 0 1 275 798.13 ] concat
  1785. X%I
  1786. X[
  1787. X(NFS)
  1788. X] WhiteBg Text
  1789. XEnd
  1790. X
  1791. XBegin %I Text
  1792. X%I cfg Black
  1793. X0 0 0 SetCFg
  1794. X%I f *-helvetica-medium-r-*-120-*
  1795. X/Helvetica 12 SetF
  1796. X%I t
  1797. X[ 1 0 0 1 275 780.315 ] concat
  1798. X%I
  1799. X[
  1800. X(RPC)
  1801. X] WhiteBg Text
  1802. XEnd
  1803. X
  1804. XBegin %I Text
  1805. X%I cfg Black
  1806. X0 0 0 SetCFg
  1807. X%I f *-helvetica-medium-r-*-120-*
  1808. X/Helvetica 12 SetF
  1809. X%I t
  1810. X[ 1 0 0 1 275 762.13 ] concat
  1811. X%I
  1812. X[
  1813. X(XDR)
  1814. X] WhiteBg Text
  1815. XEnd
  1816. X
  1817. XBegin %I Text
  1818. X%I cfg Black
  1819. X0 0 0 SetCFg
  1820. X%I f *-helvetica-medium-r-*-120-*
  1821. X/Helvetica 12 SetF
  1822. X%I t
  1823. X[ 1 0 0 1 275 744.371 ] concat
  1824. X%I
  1825. X[
  1826. X(UDP)
  1827. X] WhiteBg Text
  1828. XEnd
  1829. X
  1830. XBegin %I Text
  1831. X%I cfg Black
  1832. X0 0 0 SetCFg
  1833. X%I f *-helvetica-medium-r-*-120-*
  1834. X/Helvetica 12 SetF
  1835. X%I t
  1836. X[ 1 0 0 1 275 726.371 ] concat
  1837. X%I
  1838. X[
  1839. X(IP)
  1840. X] WhiteBg Text
  1841. XEnd
  1842. X
  1843. XBegin %I Line
  1844. X%I b 65535
  1845. X1 0 1 [] 0 SetB
  1846. X%I cfg Black
  1847. X0 0 0 SetCFg
  1848. X%I cbg White
  1849. X1 1 1 SetCBg
  1850. X%I p
  1851. X< ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
  1852. X  ffffffff > -1 SetP
  1853. X%I t
  1854. X[ 1 0 0 1 193 224 ] concat
  1855. X%I
  1856. X153 465 153 487 Line
  1857. XEnd
  1858. X
  1859. XBegin %I Line
  1860. X%I b 65535
  1861. X1 0 1 [] 0 SetB
  1862. X%I cfg Black
  1863. X0 0 0 SetCFg
  1864. X%I cbg White
  1865. X1 1 1 SetCBg
  1866. X%I p
  1867. X< ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
  1868. X  ffffffff > -1 SetP
  1869. X%I t
  1870. X[ 1 0 0 1 180.5 224 ] concat
  1871. X%I
  1872. X252 465 252 487 Line
  1873. XEnd
  1874. X
  1875. XBegin %I Text
  1876. X%I cfg Black
  1877. X0 0 0 SetCFg
  1878. X%I f *-helvetica-medium-r-*-120-*
  1879. X/Helvetica 12 SetF
  1880. X%I t
  1881. X[ 1 0 0 1 343 681.258 ] concat
  1882. X%I
  1883. X[
  1884. X(physical network)
  1885. X] WhiteBg Text
  1886. XEnd
  1887. X
  1888. XBegin %I Line
  1889. X%I b 65535
  1890. X1 0 0 [] 0 SetB
  1891. X%I cfg Black
  1892. X0 0 0 SetCFg
  1893. X%I cbg White
  1894. X1 1 1 SetCBg
  1895. X%I p
  1896. X< ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
  1897. X  ffffffff > -1 SetP
  1898. X%I t
  1899. X[ .5 0 0 .5 296 567.5 ] concat
  1900. X%I
  1901. X101 242 272 242 Line
  1902. XEnd
  1903. X
  1904. XBegin %I Rect
  1905. X%I b 65535
  1906. X1 0 0 [] 0 SetB
  1907. X%I cfg Black
  1908. X0 0 0 SetCFg
  1909. X%I cbg White
  1910. X1 1 1 SetCBg
  1911. X%I p
  1912. X1 SetP
  1913. X%I t
  1914. X[ .8 0 0 .8 314.5 290.2 ] concat
  1915. X%I
  1916. X120 575 175 597 Rect
  1917. XEnd
  1918. X
  1919. XBegin %I Rect
  1920. X%I b 65535
  1921. X1 0 0 [] 0 SetB
  1922. X%I cfg Black
  1923. X0 0 0 SetCFg
  1924. X%I cbg White
  1925. X1 1 1 SetCBg
  1926. X%I p
  1927. X1 SetP
  1928. X%I t
  1929. X[ .8 0 0 .8 314.5 272.2 ] concat
  1930. X%I
  1931. X120 575 175 597 Rect
  1932. XEnd
  1933. X
  1934. XBegin %I Rect
  1935. X%I b 65535
  1936. X1 0 0 [] 0 SetB
  1937. X%I cfg Black
  1938. X0 0 0 SetCFg
  1939. X%I cbg White
  1940. X1 1 1 SetCBg
  1941. X%I p
  1942. X1 SetP
  1943. X%I t
  1944. X[ .8 0 0 .8 314.5 254.2 ] concat
  1945. X%I
  1946. X120 575 175 597 Rect
  1947. XEnd
  1948. X
  1949. XBegin %I Text
  1950. X%I cfg Black
  1951. X0 0 0 SetCFg
  1952. X%I f *-helvetica-medium-r-*-120-*
  1953. X/Helvetica 12 SetF
  1954. X%I t
  1955. X[ 1 0 0 1 421 744.371 ] concat
  1956. X%I
  1957. X[
  1958. X(TCP)
  1959. X] WhiteBg Text
  1960. XEnd
  1961. X
  1962. XBegin %I Text
  1963. X%I cfg Black
  1964. X0 0 0 SetCFg
  1965. X%I f *-helvetica-medium-r-*-120-*
  1966. X/Helvetica 12 SetF
  1967. X%I t
  1968. X[ 1 0 0 1 421 762.13 ] concat
  1969. X%I
  1970. X[
  1971. X(FTP)
  1972. X] WhiteBg Text
  1973. XEnd
  1974. X
  1975. XBegin %I Text
  1976. X%I cfg Black
  1977. X0 0 0 SetCFg
  1978. X%I f *-helvetica-medium-r-*-120-*
  1979. X/Helvetica 12 SetF
  1980. X%I t
  1981. X[ 1 0 0 1 421 726.371 ] concat
  1982. X%I
  1983. X[
  1984. X(IP)
  1985. X] WhiteBg Text
  1986. XEnd
  1987. X
  1988. XEnd %I eop
  1989. X
  1990. Xshowpage
  1991. X
  1992. X
  1993. Xend
  1994. X%%EndDocument
  1995. X@endspecial
  1996. Xf80 SF
  1997. X100 1243 p (Figure)s
  1998. X12 r (1:)s
  1999. Xf82 SF
  2000. X17 r (Protocol)s
  2001. X11 r (stack)s
  2002. X12 r (of)s
  2003. X11 r (the)s
  2004. X12 r (CS,)s
  2005. X12 r (an)s
  2006. X11 r (user-level)s
  2007. X12 r (NFS)s
  2008. X11 r (server)s
  2009. X12 r (that)s
  2010. X11 r (functions)s
  2011. X12 r (as)s
  2012. X11 r (an)s
  2013. X12 r (NFS-FTP)s
  2014. X11 r (gateway)s
  2015. X12 r (with)s
  2016. X100 1309 p (caching)s
  2017. X14 r (mechanism)s
  2018. X14 r (on)s
  2019. X14 r (a)s
  2020. X13 r (per-\256le)s
  2021. X14 r (basis.)s
  2022. Xf84 SF
  2023. X100 1477 p (-rw-r\320\261)s
  2024. X66 r (1)s
  2025. X34 r (6229)s
  2026. X166 r (ftp)s
  2027. X365 r (626)s
  2028. X33 r (Nov)s
  2029. X67 r (5)s
  2030. X33 r (20:14)s
  2031. X33 r (README)s
  2032. X100 1544 p (-rw-r\320\261)s
  2033. X66 r (1)s
  2034. X34 r (6229)s
  2035. X166 r (ftp)s
  2036. X265 r (283749)s
  2037. X34 r (Oct)s
  2038. X66 r (4)s
  2039. X33 r (06:58)s
  2040. X33 r (jus-osaka92.ps)s
  2041. X100 1610 p (-rw-r\320\261)s
  2042. X66 r (1)s
  2043. X34 r (6229)s
  2044. X166 r (ftp)s
  2045. X299 r (94444)s
  2046. X33 r (Aug)s
  2047. X33 r (26)s
  2048. X33 r (04:51)s
  2049. X33 r (project.ps)s
  2050. Xf80 SF
  2051. X100 1787 p (Figure)s
  2052. X14 r (2:)s
  2053. Xf82 SF
  2054. X19 r (An)s
  2055. X14 r (example)s
  2056. X14 r (illustrating)s
  2057. X15 r (LIST)s
  2058. X14 r (output,)s
  2059. X14 r (that)s
  2060. X14 r (have)s
  2061. X14 r (been)s
  2062. X14 r (commonly)s
  2063. X15 r (observed)s
  2064. X14 r (on)s
  2065. Xf104 SF
  2066. X14 r (unix)s
  2067. Xf82 SF
  2068. X14 r (ftp)s
  2069. X14 r (servers)s
  2070. Xf80 SF
  2071. X(.)s
  2072. X100 1854 p (Although)s
  2073. X11 r (these)s
  2074. X10 r (\256les)s
  2075. X11 r (seem)s
  2076. X11 r (to)s
  2077. X10 r (be)s
  2078. X11 r (accessible,)s
  2079. X12 r (it)s
  2080. X10 r (cannot)s
  2081. X11 r (be)s
  2082. X11 r (determined)s
  2083. X10 r (unless)s
  2084. X11 r (client)s
  2085. X11 r (actually)s
  2086. X10 r (attempts)s
  2087. X11 r (to)s
  2088. X11 r (retrieve)s
  2089. X100 1920 p (it,)s
  2090. X14 r (since)s
  2091. X14 r (clients)s
  2092. X14 r (have)s
  2093. X13 r (no)s
  2094. X14 r (means)s
  2095. X14 r (to)s
  2096. X14 r (acquire)s
  2097. X14 r (the)s
  2098. X14 r (user)s
  2099. Xf104 SF
  2100. X13 r (id)s
  2101. Xf80 SF
  2102. X14 r (and)s
  2103. X14 r (group)s
  2104. Xf104 SF
  2105. X14 r (id)s
  2106. Xf80 SF
  2107. X14 r (of)s
  2108. X14 r (anonymous)s
  2109. X13 r (ftp)s
  2110. X14 r (session.)s
  2111. X183 2098 p (I)s
  2112. X15 r (have)s
  2113. X15 r (adopted)s
  2114. X15 r (NFS)s
  2115. X15 r (as)s
  2116. X15 r (primary)s
  2117. X15 r (client-side)s
  2118. X15 r (protocol,)s
  2119. X15 r (since)s
  2120. X15 r (it)s
  2121. X15 r (is)s
  2122. X15 r (the)s
  2123. X15 r (industrial)s
  2124. X15 r (standard)s
  2125. X14 r (protocol)s
  2126. X15 r (for)s
  2127. X15 r (dis-)s
  2128. X100 2164 p (tributed)s
  2129. X12 r (\256le)s
  2130. X12 r (system.)s
  2131. X18 r (Likewise,)s
  2132. X12 r (I)s
  2133. X12 r (have)s
  2134. X12 r (chosen)s
  2135. X12 r (FTP)s
  2136. X12 r (as)s
  2137. X12 r (server-side)s
  2138. X11 r (protocol)s
  2139. X12 r (since)s
  2140. X12 r (FTP)s
  2141. X13 r (is)s
  2142. X12 r (the)s
  2143. X12 r (Internet-standard)s
  2144. X100 2231 p (\256le)s
  2145. X12 r (transfer)s
  2146. X13 r (protocol,)s
  2147. X12 r (and)s
  2148. X12 r (since)s
  2149. X13 r (FTP)s
  2150. X12 r (has)s
  2151. X12 r (been)s
  2152. X12 r (widely)s
  2153. X13 r (used)s
  2154. X12 r (in)s
  2155. X12 r (the)s
  2156. X12 r (Internet)s
  2157. X13 r (as)s
  2158. X12 r (the)s
  2159. X12 r (primary)s
  2160. X13 r (means)s
  2161. X12 r (of)s
  2162. X12 r (accessing)s
  2163. X100 2297 p (public)s
  2164. X14 r (Internet)s
  2165. X14 r (archives.)s
  2166. X183 2364 p (However)s
  2167. X-1 r (,)s
  2168. X17 r (in)s
  2169. X18 r (the)s
  2170. X17 r (course)s
  2171. X17 r (of)s
  2172. X18 r (implementing)s
  2173. X17 r (CS,)s
  2174. X18 r (the)s
  2175. X17 r (author)s
  2176. X18 r (has)s
  2177. X17 r (found)s
  2178. X18 r (that)s
  2179. X17 r (FTP)s
  2180. X17 r (has)s
  2181. X18 r (several)s
  2182. X17 r (design)s
  2183. X18 r (\257aws)s
  2184. X100 2430 p (when)s
  2185. X15 r (viewed)s
  2186. X15 r (as)s
  2187. X16 r (a)s
  2188. X15 r (\256lesystem)s
  2189. X15 r (transport)s
  2190. X15 r (protocol,)s
  2191. X16 r (hence)s
  2192. X15 r (making)s
  2193. X15 r (it)s
  2194. X15 r (dif\256cult)s
  2195. X15 r (to)s
  2196. X15 r (access)s
  2197. X15 r (FTP)s
  2198. X15 r (servers)s
  2199. X15 r (from)s
  2200. X16 r (pro-)s
  2201. X100 2497 p (grams.)s
  2202. X18 r (Although)s
  2203. X14 r (RFC)s
  2204. X14 r (959[5])s
  2205. X14 r (declares)s
  2206. X14 r (objectives)s
  2207. X14 r (of)s
  2208. X13 r (FTP)s
  2209. X14 r (include:)s
  2210. Xf81 SF
  2211. X19 r (2\))s
  2212. X14 r (to)s
  2213. X13 r (encourage)s
  2214. X14 r (indir)s
  2215. X-1 r (ect)s
  2216. X13 r (or)s
  2217. X14 r (implicit)s
  2218. X14 r (\(via)s
  2219. X100 2563 p (pr)s
  2220. X-1 r (ograms\))s
  2221. X12 r (use)s
  2222. X13 r (of)s
  2223. X13 r (r)s
  2224. X-1 r (emote)s
  2225. X13 r (computers,)s
  2226. X13 r (3\))s
  2227. X13 r (to)s
  2228. X13 r (shield)s
  2229. X13 r (a)s
  2230. X13 r (user)s
  2231. X14 r (fr)s
  2232. X-1 r (om)s
  2233. X12 r (variations)s
  2234. X13 r (in)s
  2235. X13 r (\256le)s
  2236. X13 r (storage)s
  2237. X13 r (systems)s
  2238. X13 r (among)s
  2239. X14 r (hosts)s
  2240. Xf80 SF
  2241. X100 2629 p (\(RFC)s
  2242. X14 r (959,)s
  2243. X14 r (section)s
  2244. X14 r (1\),)s
  2245. X13 r (it)s
  2246. X14 r (fails)s
  2247. X14 r (to)s
  2248. X14 r (attain)s
  2249. X14 r (either)s
  2250. X-2 r (,)s
  2251. X13 r (as)s
  2252. X14 r (described)s
  2253. X14 r (below)s
  2254. X-3 r (.)s
  2255. Xf95 SF
  2256. X100 2787 p (Format)s
  2257. X17 r (of)s
  2258. X16 r (LIST)s
  2259. X17 r (output)s
  2260. X16 r (is)s
  2261. X17 r (not)s
  2262. X17 r (de\256ned)s
  2263. Xf80 SF
  2264. X100 2891 p (RFC)s
  2265. X11 r (959)s
  2266. X11 r (only)s
  2267. X11 r (de\256nes)s
  2268. X11 r (that)s
  2269. X12 r (LIST)s
  2270. X11 r (command)s
  2271. X11 r (causes)s
  2272. X11 r (a)s
  2273. X11 r (list)s
  2274. X11 r (to)s
  2275. X11 r (be)s
  2276. X11 r (sent)s
  2277. X12 r (from)s
  2278. X11 r (the)s
  2279. X11 r (server)s
  2280. X11 r (to)s
  2281. X11 r (the)s
  2282. X11 r (passive)s
  2283. X11 r (data)s
  2284. X11 r (transfer)s
  2285. X100 2957 p (process)s
  2286. X14 r (such)s
  2287. X13 r (as)s
  2288. X14 r (the)s
  2289. X13 r (ftp)s
  2290. X14 r (client)s
  2291. X13 r (\(RFC)s
  2292. X14 r (959,)s
  2293. X13 r (section)s
  2294. X14 r (4.1.3\);)s
  2295. X13 r (the)s
  2296. X14 r (ambiguity)s
  2297. X13 r (in)s
  2298. X14 r (the)s
  2299. X13 r (protocol)s
  2300. X14 r (speci\256cation)s
  2301. X14 r (has)s
  2302. X13 r (lead)s
  2303. X100 3024 p (to)s
  2304. X15 r (the)s
  2305. X15 r (diversity)s
  2306. X15 r (of)s
  2307. X16 r (LIST)s
  2308. X15 r (output)s
  2309. X15 r (observed)s
  2310. X15 r (on)s
  2311. X15 r (existing)s
  2312. X15 r (ftp)s
  2313. X15 r (implementations.)s
  2314. X23 r (Although)s
  2315. X15 r (virtually)s
  2316. X15 r (all)s
  2317. Xf104 SF
  2318. X15 r (unix)s
  2319. Xf80 SF
  2320. X15 r (ftp)s
  2321. X100 3090 p (servers)s
  2322. X16 r (adopts)s
  2323. X15 r (\252ls\272)s
  2324. X16 r (output,)s
  2325. X16 r (ftp)s
  2326. X15 r (servers)s
  2327. X16 r (running)s
  2328. X16 r (on)s
  2329. X15 r (other)s
  2330. X16 r (operating)s
  2331. X16 r (systems)s
  2332. X15 r (do)s
  2333. X16 r (not,)s
  2334. X16 r (consequently)s
  2335. X15 r (hindering)s
  2336. X100 3157 p (the)s
  2337. X14 r (use)s
  2338. X14 r (of)s
  2339. X14 r (ftp)s
  2340. X13 r (agents,)s
  2341. X14 r (such)s
  2342. X14 r (as)s
  2343. X14 r (the)s
  2344. X14 r (CS.)s
  2345. Xf95 SF
  2346. X100 3315 p (The)s
  2347. X17 r (\252ls\272)s
  2348. X16 r (output)s
  2349. X17 r (does)s
  2350. X16 r (not)s
  2351. X17 r (map)s
  2352. X17 r (cleanly)s
  2353. X16 r (to)s
  2354. X17 r (NFS)s
  2355. Xf80 SF
  2356. X100 3418 p (The)s
  2357. X13 r (inability)s
  2358. X14 r (to)s
  2359. X13 r (interpret)s
  2360. X14 r (LIST)s
  2361. X13 r (output)s
  2362. X14 r (means)s
  2363. X13 r (that)s
  2364. X14 r (NFS-FTP)s
  2365. X13 r (gateway)s
  2366. X14 r (cannot)s
  2367. X13 r (presume)s
  2368. X14 r (accessibility)s
  2369. X13 r (of)s
  2370. X14 r (a)s
  2371. X13 r (\256le.)s
  2372. X100 3485 p (This)s
  2373. X12 r (problem)s
  2374. X13 r (can)s
  2375. X12 r (be)s
  2376. X13 r (mitigated)s
  2377. X12 r (by)s
  2378. X13 r (adopting)s
  2379. X12 r (\252ls\272)s
  2380. X12 r (for)s
  2381. X13 r (LIST)s
  2382. X12 r (output,)s
  2383. X13 r (but)s
  2384. X13 r (the)s
  2385. X12 r (fundamental)s
  2386. X12 r (problem)s
  2387. X13 r (still)s
  2388. X12 r (remains)s
  2389. X100 3551 p (\(Figure)s
  2390. X12 r (2\).)s
  2391. X18 r (Although)s
  2392. X12 r (\252ls\272)s
  2393. X12 r (output)s
  2394. X13 r (contains)s
  2395. X12 r (rudimentary)s
  2396. X12 r (access)s
  2397. X12 r (control)s
  2398. X12 r (information,)s
  2399. X13 r (it)s
  2400. X12 r (is)s
  2401. X12 r (meaningful)s
  2402. X12 r (as)s
  2403. X12 r (far)s
  2404. X13 r (as)s
  2405. X100 3618 p (clients)s
  2406. X15 r (can)s
  2407. X16 r (acquire)s
  2408. X15 r (current)s
  2409. X16 r (user)s
  2410. Xf104 SF
  2411. X15 r (id)s
  2412. Xf80 SF
  2413. X16 r (and)s
  2414. X15 r (group)s
  2415. Xf104 SF
  2416. X16 r (id)s
  2417. Xf80 SF
  2418. X15 r (somehow)s
  2419. X-2 r (,)s
  2420. X15 r (that)s
  2421. X15 r (unfortunately)s
  2422. X16 r (have)s
  2423. X15 r (been)s
  2424. X16 r (absent)s
  2425. X15 r (from)s
  2426. X16 r (FTP)s
  2427. X100 3684 p (protocol)s
  2428. X14 r (speci\256cation.)s
  2429. X1261 3946 p (2)s
  2430. XEP
  2431. X
  2432. X%%Page: 3 3
  2433. XBP
  2434. Xf95 SF
  2435. X100 260 p (Server)s
  2436. X17 r (r)s
  2437. X-1 r (esponse)s
  2438. X16 r (is)s
  2439. X17 r (not)s
  2440. X16 r (machine-readable)s
  2441. Xf80 SF
  2442. X100 364 p (The)s
  2443. X15 r (fundamental)s
  2444. X15 r (problem)s
  2445. X16 r (of)s
  2446. X15 r (FTP)s
  2447. X15 r (protocol)s
  2448. X15 r (speci\256cation)s
  2449. X16 r (is)s
  2450. X15 r (that)s
  2451. X15 r (it)s
  2452. X15 r (speci\256es)s
  2453. X16 r (only)s
  2454. X15 r (semantic)s
  2455. X15 r (details)s
  2456. X15 r (of)s
  2457. X16 r (opera-)s
  2458. X100 430 p (tions,)s
  2459. X17 r (not)s
  2460. X17 r (syntactic)s
  2461. X16 r (details,)s
  2462. X17 r (hence)s
  2463. X17 r (blocking)s
  2464. X16 r (the)s
  2465. X17 r (use)s
  2466. X16 r (of)s
  2467. X17 r (ftp)s
  2468. X16 r (agents)s
  2469. X17 r (in)s
  2470. X16 r (general,)s
  2471. X17 r (although)s
  2472. X17 r (RFC)s
  2473. X16 r (959)s
  2474. X17 r (states)s
  2475. X16 r (that)s
  2476. Xf81 SF
  2477. X100 497 p (FTP)s
  2478. X-6 r (,)s
  2479. X17 r (though)s
  2480. X18 r (usable)s
  2481. X18 r (dir)s
  2482. X-1 r (ectly)s
  2483. X17 r (by)s
  2484. X18 r (a)s
  2485. X18 r (user)s
  2486. X17 r (at)s
  2487. X18 r (a)s
  2488. X18 r (terminal,)s
  2489. X19 r (is)s
  2490. X18 r (designed)s
  2491. X18 r (mainly)s
  2492. X18 r (for)s
  2493. X18 r (use)s
  2494. X18 r (by)s
  2495. X18 r (pr)s
  2496. X-1 r (ograms)s
  2497. Xf80 SF
  2498. X17 r (\(RFC)s
  2499. X18 r (959,)s
  2500. X100 563 p (section)s
  2501. X17 r (1\).)s
  2502. X27 r (That)s
  2503. X17 r (style)s
  2504. X16 r (of)s
  2505. X17 r (speci\256cation)s
  2506. X17 r (might)s
  2507. X16 r (have)s
  2508. X17 r (been)s
  2509. X17 r (successful)s
  2510. X17 r (to)s
  2511. X16 r (settle)s
  2512. X17 r (the)s
  2513. X17 r (dispute)s
  2514. X16 r (over)s
  2515. X17 r (hairy)s
  2516. X17 r (details,)s
  2517. X100 629 p (but)s
  2518. X14 r (it)s
  2519. X15 r (also)s
  2520. X14 r (had)s
  2521. X15 r (the)s
  2522. X14 r (effect)s
  2523. X14 r (of)s
  2524. X14 r (deferring)s
  2525. X15 r (the)s
  2526. X14 r (speci\256cation)s
  2527. X14 r (to)s
  2528. X15 r (each)s
  2529. X14 r (implementation,)s
  2530. X15 r (yielding)s
  2531. X14 r (diversity)s
  2532. X15 r (in)s
  2533. X14 r (server)s
  2534. X100 696 p (messages,)s
  2535. X14 r (which)s
  2536. X14 r (is)s
  2537. X14 r (virtually)s
  2538. X13 r (impossible)s
  2539. X14 r (to)s
  2540. X14 r (parse)s
  2541. X14 r (mechanically)s
  2542. X-3 r (.)s
  2543. Xf95 SF
  2544. X100 854 p (Control)s
  2545. X15 r (connection)s
  2546. X17 r (deemed)s
  2547. X17 r (expensive)s
  2548. Xf80 SF
  2549. X100 957 p (The)s
  2550. X18 r (design)s
  2551. X17 r (decision)s
  2552. X18 r (of)s
  2553. X18 r (one)s
  2554. X17 r (control)s
  2555. X18 r (connection)s
  2556. X18 r (for)s
  2557. X17 r (one)s
  2558. X18 r (data)s
  2559. X18 r (connection)s
  2560. X18 r (\(RFC)s
  2561. X17 r (959,)s
  2562. X19 r (section)s
  2563. X18 r (5.2\))s
  2564. X17 r (might)s
  2565. X18 r (be)s
  2566. X100 1024 p (appropriate)s
  2567. X12 r (for)s
  2568. X12 r (ordinary)s
  2569. X13 r (FTP)s
  2570. X12 r (clients,)s
  2571. X13 r (and)s
  2572. X12 r (it)s
  2573. X12 r (seems)s
  2574. X12 r (to)s
  2575. X13 r (be)s
  2576. X12 r (desirable)s
  2577. X12 r (in)s
  2578. X12 r (that)s
  2579. X13 r (resulting)s
  2580. X12 r (protocol)s
  2581. X12 r (would)s
  2582. X12 r (be)s
  2583. X13 r (simple)s
  2584. X100 1090 p (and)s
  2585. X17 r (easily)s
  2586. X16 r (implemented.)s
  2587. X27 r (It)s
  2588. X17 r (does)s
  2589. X16 r (not)s
  2590. X17 r (meet)s
  2591. X17 r (the)s
  2592. X16 r (requirement)s
  2593. X17 r (of)s
  2594. X17 r (CS)s
  2595. X16 r (however)s
  2596. X-1 r (,)s
  2597. X16 r (since)s
  2598. X17 r (CS)s
  2599. X17 r (perform)s
  2600. X16 r (parallel)s
  2601. X17 r (\256le)s
  2602. X100 1157 p (transfer)s
  2603. X10 r (upon)s
  2604. X9 r (request)s
  2605. X10 r (of)s
  2606. X9 r (multiple)s
  2607. X10 r (users.)s
  2608. X17 r (Also,)s
  2609. X10 r (parallel)s
  2610. X10 r (\256le)s
  2611. X9 r (transfer)s
  2612. X10 r (will)s
  2613. X10 r (become)s
  2614. X9 r (attractive)s
  2615. X10 r (in)s
  2616. X9 r (Gigabit)s
  2617. X10 r (networks)s
  2618. X100 1223 p (because)s
  2619. X11 r (round)s
  2620. X11 r (trip)s
  2621. X12 r (time)s
  2622. X11 r (is)s
  2623. X11 r (more)s
  2624. X11 r (expensive)s
  2625. X11 r (than)s
  2626. X11 r (bandwidth;)s
  2627. X12 r (clients)s
  2628. X12 r (can)s
  2629. X11 r (gain)s
  2630. X11 r (better)s
  2631. X11 r (performance)s
  2632. X11 r (if)s
  2633. X11 r (they)s
  2634. X12 r (could)s
  2635. X100 1290 p (request)s
  2636. X14 r (multiple)s
  2637. X14 r (\256les)s
  2638. X14 r (without)s
  2639. X13 r (establishing)s
  2640. X14 r (control)s
  2641. X14 r (connection)s
  2642. X14 r (for)s
  2643. X14 r (each)s
  2644. X14 r (\256le.)s
  2645. Xf95 SF
  2646. X100 1448 p (Command-response)s
  2647. X15 r (cycle)s
  2648. X17 r (is)s
  2649. X17 r (expensive)s
  2650. Xf80 SF
  2651. X100 1551 p (On)s
  2652. X13 r (communication)s
  2653. X14 r (lines)s
  2654. X13 r (with)s
  2655. X14 r (large)s
  2656. X12 r (transmission)s
  2657. X14 r (delays,)s
  2658. X13 r (a)s
  2659. X14 r (server-client)s
  2660. X12 r (request-response)s
  2661. X14 r (cycle)s
  2662. X13 r (become)s
  2663. X14 r (the)s
  2664. X100 1618 p (performance)s
  2665. X11 r (bottleneck.)s
  2666. X18 r (A)s
  2667. X11 r (FTP)s
  2668. X12 r (login)s
  2669. X11 r (session)s
  2670. X11 r (requires)s
  2671. X12 r (two)s
  2672. X11 r (server)s
  2673. X11 r (responses)s
  2674. X12 r (\(i.e.,)s
  2675. X12 r (for)s
  2676. X11 r (USER)s
  2677. X11 r (and)s
  2678. X12 r (P)s
  2679. X-5 r (ASS\),)s
  2680. X11 r (that)s
  2681. X100 1684 p (results)s
  2682. X15 r (in)s
  2683. X15 r (820)s
  2684. X15 r (milliseconds)s
  2685. X15 r (of)s
  2686. X15 r (delay)s
  2687. X14 r (on)s
  2688. X15 r (a)s
  2689. X15 r (communication)s
  2690. X15 r (line)s
  2691. X15 r (with)s
  2692. X15 r (410)s
  2693. X15 r (milliseconds)s
  2694. X15 r (for)s
  2695. X15 r (each)s
  2696. X15 r (server)s
  2697. X-1 r (-client)s
  2698. X100 1751 p (round)s
  2699. X14 r (trip)s
  2700. Xf70 SF
  2701. X320 1730 p (1)s
  2702. Xf80 SF
  2703. X342 1751 p (.)s
  2704. X20 r (RFC)s
  2705. X15 r (959)s
  2706. X14 r (states)s
  2707. X14 r (that)s
  2708. X14 r (the)s
  2709. X15 r (user)s
  2710. X14 r (should)s
  2711. X14 r (wait)s
  2712. X15 r (for)s
  2713. X14 r (a)s
  2714. X14 r (reply)s
  2715. X14 r (from)s
  2716. X15 r (the)s
  2717. X14 r (server)s
  2718. X-1 r (,)s
  2719. X13 r (consequently)s
  2720. X15 r (prohibiting)s
  2721. X100 1817 p (us)s
  2722. X14 r (to)s
  2723. X14 r (minimize)s
  2724. X14 r (round)s
  2725. X13 r (trip)s
  2726. X14 r (delay)s
  2727. X14 r (\(RFC)s
  2728. X14 r (959,)s
  2729. X14 r (Section)s
  2730. X14 r (5.4\).)s
  2731. Xf95 SF
  2732. X100 1975 p (Cannot)s
  2733. X17 r (ensur)s
  2734. X-1 r (e)s
  2735. X16 r (identity)s
  2736. Xf80 SF
  2737. X100 2079 p (It)s
  2738. X15 r (is)s
  2739. X14 r (sometimes)s
  2740. X15 r (necessary)s
  2741. X14 r (to)s
  2742. X15 r (ensure)s
  2743. X14 r (identity)s
  2744. X15 r (of)s
  2745. X14 r (two)s
  2746. X15 r (\256les)s
  2747. X14 r (in)s
  2748. X15 r (distant)s
  2749. X14 r (servers)s
  2750. X15 r (so)s
  2751. X14 r (that)s
  2752. X15 r (consistency)s
  2753. X15 r (between)s
  2754. X14 r (any)s
  2755. X100 2145 p (two)s
  2756. X20 r (servers)s
  2757. X19 r (can)s
  2758. X20 r (be)s
  2759. X20 r (maintained.)s
  2760. X36 r (Some)s
  2761. X20 r (kind)s
  2762. X19 r (of)s
  2763. X20 r (global)s
  2764. X20 r (version)s
  2765. X19 r (control)s
  2766. X20 r (mechanism)s
  2767. X20 r (can)s
  2768. X20 r (be)s
  2769. X19 r (useful)s
  2770. X20 r (for)s
  2771. X20 r (this)s
  2772. X100 2211 p (purpose,)s
  2773. X18 r (but)s
  2774. X17 r (considering)s
  2775. X17 r (the)s
  2776. X17 r (dif\256culty)s
  2777. X17 r (to)s
  2778. X17 r (achieve)s
  2779. X17 r (global)s
  2780. X17 r (coordination)s
  2781. X17 r (across)s
  2782. X17 r (the)s
  2783. X18 r (faulty)s
  2784. X17 r (Internet,)s
  2785. X18 r (it)s
  2786. X17 r (would)s
  2787. X100 2278 p (be)s
  2788. X16 r (desirable)s
  2789. X16 r (to)s
  2790. X17 r (implement)s
  2791. X16 r (cheaper)s
  2792. X16 r (method)s
  2793. X16 r (of)s
  2794. X16 r (checking)s
  2795. X16 r (identity)s
  2796. X-2 r (,)s
  2797. X16 r (rather)s
  2798. X16 r (than)s
  2799. X16 r (transferring)s
  2800. X16 r (an)s
  2801. X16 r (entire)s
  2802. X16 r (\256le)s
  2803. X17 r (and)s
  2804. X100 2344 p (comparing)s
  2805. X14 r (the)s
  2806. X14 r (two.)s
  2807. Xf95 SF
  2808. X100 2502 p (Clients)s
  2809. X17 r (cannot)s
  2810. X16 r (know)s
  2811. X17 r (what')s
  2812. X-2 r (s)s
  2813. X16 r (new)s
  2814. Xf80 SF
  2815. X100 2606 p (It)s
  2816. X12 r (is)s
  2817. X11 r (crucial)s
  2818. X12 r (for)s
  2819. X12 r (NFS-FTP)s
  2820. X12 r (gateway)s
  2821. X11 r (such)s
  2822. X12 r (as)s
  2823. X12 r (the)s
  2824. X11 r (CS)s
  2825. X12 r (to)s
  2826. X12 r (cache)s
  2827. X12 r (transferred)s
  2828. X11 r (directories)s
  2829. X12 r (and)s
  2830. X12 r (\256les)s
  2831. X12 r (so)s
  2832. X11 r (that)s
  2833. X12 r (server)s
  2834. X12 r (can)s
  2835. X100 2672 p (quickly)s
  2836. X16 r (reply)s
  2837. X16 r (to)s
  2838. X16 r (frequently)s
  2839. X16 r (accessed)s
  2840. X17 r (information.)s
  2841. X25 r (It)s
  2842. X16 r (is)s
  2843. X16 r (also)s
  2844. X16 r (crucial)s
  2845. X16 r (to)s
  2846. X16 r (maintain)s
  2847. X17 r (cache)s
  2848. X16 r (consistency)s
  2849. X-3 r (,)s
  2850. X16 r (though)s
  2851. X100 2739 p (it)s
  2852. X15 r (is)s
  2853. X15 r (theoretically)s
  2854. X16 r (impossible)s
  2855. X15 r (to)s
  2856. X15 r (achieve)s
  2857. X15 r (complete)s
  2858. X15 r (cache)s
  2859. X16 r (consistency)s
  2860. X-3 r (,)s
  2861. X15 r (given)s
  2862. X15 r (the)s
  2863. X15 r (large)s
  2864. X14 r (transmission)s
  2865. X15 r (delay)s
  2866. X16 r (in)s
  2867. X100 2805 p (the)s
  2868. X16 r (Internet.)s
  2869. X24 r (Due)s
  2870. X16 r (to)s
  2871. X16 r (its)s
  2872. X16 r (simple)s
  2873. X16 r (and)s
  2874. X15 r (easily)s
  2875. X16 r (implemented)s
  2876. X16 r (protocol)s
  2877. X16 r (design,)s
  2878. X16 r (FTP)s
  2879. X16 r (does)s
  2880. X16 r (not)s
  2881. X16 r (provide)s
  2882. X15 r (any)s
  2883. X16 r (means)s
  2884. X100 2872 p (to)s
  2885. X15 r (know)s
  2886. X14 r (what)s
  2887. X15 r (\256les)s
  2888. X14 r (and/or)s
  2889. X15 r (directories)s
  2890. X14 r (was)s
  2891. X15 r (modi\256ed)s
  2892. X14 r (since)s
  2893. X15 r (last)s
  2894. X15 r (access,)s
  2895. X14 r (thereby)s
  2896. X15 r (impeding)s
  2897. X14 r (the)s
  2898. X15 r (CS)s
  2899. X15 r (to)s
  2900. X14 r (maintain)s
  2901. X100 2938 p (cache)s
  2902. X14 r (consistency)s
  2903. X-3 r (.)s
  2904. Xf95 SF
  2905. X100 3096 p (File)s
  2906. X17 r (transfer)s
  2907. X16 r (cannot)s
  2908. X17 r (be)s
  2909. X16 r (restarted)s
  2910. Xf80 SF
  2911. X100 3200 p (Possibly)s
  2912. X12 r (due)s
  2913. X13 r (to)s
  2914. X12 r (historical)s
  2915. X12 r (reasons,)s
  2916. X13 r (FTP)s
  2917. X12 r (does)s
  2918. X13 r (not)s
  2919. X12 r (support)s
  2920. X12 r (\256le)s
  2921. X13 r (transfer)s
  2922. X12 r (restart)s
  2923. X12 r (in)s
  2924. X12 r (the)s
  2925. X13 r (bytestream)s
  2926. X12 r (mode,)s
  2927. X13 r (though)s
  2928. X100 3266 p (the)s
  2929. X12 r (feature)s
  2930. X12 r (is)s
  2931. X13 r (required)s
  2932. X12 r (in)s
  2933. X12 r (record)s
  2934. X13 r (structure)s
  2935. X12 r (mode)s
  2936. X12 r (and)s
  2937. X12 r (page)s
  2938. X13 r (structure)s
  2939. X12 r (mode)s
  2940. X12 r (\(RFC)s
  2941. X12 r (959,)s
  2942. X13 r (section)s
  2943. X12 r (3.5\),)s
  2944. X13 r (that)s
  2945. X12 r (are)s
  2946. X12 r (no)s
  2947. X100 3333 p (longer)s
  2948. X12 r (implemented)s
  2949. X12 r (in)s
  2950. X12 r (virtually)s
  2951. X12 r (all)s
  2952. Xf104 SF
  2953. X11 r (unix)s
  2954. Xf84 SF
  2955. X12 r (ftpd)s
  2956. Xf80 SF
  2957. X12 r (implementations.)s
  2958. X18 r (File)s
  2959. X12 r (transfer)s
  2960. X12 r (restart)s
  2961. X12 r (is)s
  2962. X12 r (an)s
  2963. X12 r (essential)s
  2964. X11 r (feature)s
  2965. X100 3399 p (in)s
  2966. X14 r (the)s
  2967. X14 r (evolving)s
  2968. X14 r (Internet,)s
  2969. X14 r (where)s
  2970. X14 r (interim)s
  2971. X14 r (gateway)s
  2972. X13 r (shutdown,)s
  2973. X14 r (routing)s
  2974. X14 r (problems)s
  2975. X14 r (and)s
  2976. X14 r (clogging)s
  2977. X14 r (communication)s
  2978. X100 3465 p (lines)s
  2979. X14 r (are)s
  2980. X14 r (observed)s
  2981. X14 r (almost)s
  2982. X13 r (every)s
  2983. X14 r (month.)s
  2984. X100 3513 p 940 2 ru
  2985. Xf69 SF
  2986. X160 3550 p (1)s
  2987. Xf72 SF
  2988. X180 3565 p (measured)s
  2989. X13 r (on)s
  2990. X13 r (Osaka)s
  2991. X12 r (University)s
  2992. X13 r (campus)s
  2993. X13 r (network)s
  2994. X13 r (and)s
  2995. X13 r (WIDE)s
  2996. X13 r (Internet)s
  2997. X13 r (backbone)s
  2998. X13 r (network)s
  2999. X13 r (between)s
  3000. Xf105 SF
  3001. X13 r (raicho)s
  3002. Xf72 SF
  3003. X12 r (and)s
  3004. Xf105 SF
  3005. X13 r (jp-gate)s
  3006. Xf72 SF
  3007. X13 r (using)s
  3008. Xf105 SF
  3009. X100 3618 p (traceroute)s
  3010. Xf72 SF
  3011. X(.)s
  3012. Xf80 SF
  3013. X1261 3946 p (3)s
  3014. XEP
  3015. X
  3016. X%%Page: 4 4
  3017. XBP
  3018. Xf95 SF
  3019. X100 260 p (Data)s
  3020. X17 r (str)s
  3021. X-1 r (eam)s
  3022. X16 r (is)s
  3023. X17 r (not)s
  3024. X16 r (compressed)s
  3025. Xf80 SF
  3026. X100 364 p (While)s
  3027. X10 r (most)s
  3028. X10 r (FTP)s
  3029. X10 r (administrator)s
  3030. X10 r (have)s
  3031. X10 r (been)s
  3032. X9 r (attempting)s
  3033. X10 r (to)s
  3034. X10 r (compress)s
  3035. X10 r (every)s
  3036. X10 r (\256les)s
  3037. X10 r (on)s
  3038. X10 r (their)s
  3039. X10 r (archives,)s
  3040. X11 r (it)s
  3041. X9 r (will)s
  3042. X10 r (become)s
  3043. X100 430 p (more)s
  3044. X13 r (popular)s
  3045. X13 r (to)s
  3046. X13 r (put)s
  3047. X13 r (\256les)s
  3048. X13 r (on)s
  3049. X13 r (the)s
  3050. Xf81 SF
  3051. X13 r (as-is)s
  3052. Xf80 SF
  3053. X13 r (basis,)s
  3054. X13 r (as)s
  3055. X13 r (the)s
  3056. X13 r (global)s
  3057. X13 r (\256lesystems)s
  3058. X13 r (facilitate)s
  3059. X13 r (information)s
  3060. X13 r (sharing)s
  3061. X14 r (between)s
  3062. X100 497 p (distant)s
  3063. X19 r (sites,)s
  3064. X20 r (and)s
  3065. X19 r (as)s
  3066. X19 r (mass)s
  3067. X19 r (storage)s
  3068. X19 r (devices)s
  3069. X18 r (gets)s
  3070. X19 r (cheaper)s
  3071. X-2 r (.)s
  3072. X33 r (Therefore,)s
  3073. X20 r (it)s
  3074. X19 r (would)s
  3075. X19 r (be)s
  3076. X19 r (desirable)s
  3077. X19 r (to)s
  3078. X19 r (support)s
  3079. X18 r (on-)s
  3080. X100 563 p (the-\257y)s
  3081. X15 r (compression)s
  3082. X15 r (of)s
  3083. X15 r (data)s
  3084. X15 r (stream,)s
  3085. X15 r (which)s
  3086. X15 r (is)s
  3087. X15 r (not)s
  3088. X15 r (proposed)s
  3089. X15 r (in)s
  3090. X15 r (the)s
  3091. X15 r (FTP)s
  3092. X15 r (protocol)s
  3093. X15 r (speci\256cation,)s
  3094. X15 r (though)s
  3095. X15 r (some)s
  3096. X100 629 p (implementation)s
  3097. X14 r (does)s
  3098. X14 r (\(e.g.,)s
  3099. Xf84 SF
  3100. X14 r (wuarchive)s
  3101. X33 r (ftpd)s
  3102. Xf80 SF
  3103. X(\).)s
  3104. Xf99 SF
  3105. X100 816 p (3)s
  3106. X80 r (WWFTP:)s
  3107. X20 r (FTP)s
  3108. X20 r (r)s
  3109. X-1 r (eplacement)s
  3110. X19 r (for)s
  3111. X20 r (WWFS)s
  3112. Xf80 SF
  3113. X100 939 p (As)s
  3114. X10 r (described)s
  3115. X10 r (in)s
  3116. X10 r (the)s
  3117. X10 r (previous)s
  3118. X10 r (section,)s
  3119. X10 r (FTP)s
  3120. X10 r (has)s
  3121. X10 r (several)s
  3122. X10 r (design)s
  3123. X10 r (\257aws;)s
  3124. X11 r (some)s
  3125. X10 r (of)s
  3126. X10 r (them)s
  3127. X10 r (can)s
  3128. X10 r (be)s
  3129. X10 r (addressed)s
  3130. X9 r (by)s
  3131. Xf81 SF
  3132. X10 r (ad)s
  3133. X10 r (hoc)s
  3134. Xf80 SF
  3135. X100 1006 p (implementation)s
  3136. X13 r (techniques,)s
  3137. X12 r (but)s
  3138. X13 r (some)s
  3139. X13 r (of)s
  3140. X12 r (them)s
  3141. X13 r (suggests)s
  3142. X12 r (that)s
  3143. X13 r (drastic)s
  3144. X13 r (modi\256cation)s
  3145. X12 r (is)s
  3146. X13 r (necessary)s
  3147. X-3 r (.)s
  3148. X17 r (Furthermore,)s
  3149. X100 1072 p (the)s
  3150. X18 r (use)s
  3151. X19 r (of)s
  3152. X18 r (FTP)s
  3153. X19 r (as)s
  3154. X18 r (a)s
  3155. X18 r (\256lesystem)s
  3156. X19 r (transport)s
  3157. X18 r (protocol)s
  3158. X19 r (is)s
  3159. X18 r (far)s
  3160. X19 r (different)s
  3161. X17 r (from)s
  3162. X18 r (its)s
  3163. X19 r (primary)s
  3164. X18 r (goal,)s
  3165. X20 r (that)s
  3166. X18 r (necessitates)s
  3167. X100 1139 p (the)s
  3168. X18 r (design)s
  3169. X18 r (and)s
  3170. X18 r (implementation)s
  3171. X18 r (of)s
  3172. X18 r (a)s
  3173. X18 r (new)s
  3174. X18 r (protocol.)s
  3175. X31 r (In)s
  3176. X18 r (this)s
  3177. X18 r (section)s
  3178. X18 r (I)s
  3179. X18 r (describe)s
  3180. X18 r (my)s
  3181. X18 r (solution)s
  3182. X18 r (to)s
  3183. X18 r (the)s
  3184. X18 r (problem)s
  3185. X100 1205 p (discussed)s
  3186. X13 r (earlier)s
  3187. X-1 r (,)s
  3188. X12 r (and)s
  3189. X12 r (the)s
  3190. X13 r (design)s
  3191. X13 r (rationale)s
  3192. X13 r (of)s
  3193. X12 r (WWFTP)s
  3194. X-5 r (,)s
  3195. X12 r (my)s
  3196. X13 r (new)s
  3197. X13 r (\256lesystem)s
  3198. X12 r (transport)s
  3199. X13 r (protocol)s
  3200. X13 r (for)s
  3201. X13 r (large)s
  3202. X12 r (scale)s
  3203. X100 1271 p (distributed)s
  3204. X15 r (\256lesystems.)s
  3205. X21 r (WWFTP)s
  3206. X15 r (is)s
  3207. X14 r (modelled)s
  3208. X15 r (after)s
  3209. X15 r (FTP)s
  3210. X-5 r (,)s
  3211. X13 r (as)s
  3212. X15 r (the)s
  3213. X15 r (name)s
  3214. X15 r (suggests.)s
  3215. X21 r (T)s
  3216. X-3 r (opics)s
  3217. X14 r (are)s
  3218. X14 r (discussed)s
  3219. X15 r (in)s
  3220. X15 r (the)s
  3221. X100 1338 p (same)s
  3222. X14 r (sequence)s
  3223. X14 r (with)s
  3224. X14 r (the)s
  3225. X13 r (previous)s
  3226. X14 r (section.)s
  3227. Xf95 SF
  3228. X100 1496 p (3.1)s
  3229. X66 r (Machine-readable)s
  3230. X16 r (server)s
  3231. X16 r (response)s
  3232. Xf80 SF
  3233. X100 1599 p (WWFTP)s
  3234. X14 r (protocol)s
  3235. X14 r (speci\256cation)s
  3236. X14 r (de\256nes)s
  3237. X14 r (syntax)s
  3238. X14 r (and)s
  3239. X13 r (semantics)s
  3240. X14 r (of)s
  3241. X14 r (LIST)s
  3242. X14 r (output,)s
  3243. X14 r (so)s
  3244. X14 r (that)s
  3245. X14 r (users)s
  3246. X14 r (can)s
  3247. X14 r (be)s
  3248. X14 r (shielded)s
  3249. X100 1666 p (from)s
  3250. X16 r (variations)s
  3251. X15 r (in)s
  3252. X16 r (\256le)s
  3253. X16 r (systems)s
  3254. X15 r (among)s
  3255. X16 r (different)s
  3256. X14 r (operating)s
  3257. X16 r (systems.)s
  3258. X24 r (Furthermore,)s
  3259. X16 r (the)s
  3260. X16 r (LIST)s
  3261. X15 r (output)s
  3262. X16 r (is)s
  3263. X15 r (orga-)s
  3264. X100 1732 p (nized)s
  3265. X14 r (for)s
  3266. X14 r (clients)s
  3267. X14 r (to)s
  3268. X13 r (easily)s
  3269. X14 r (determine)s
  3270. X14 r (the)s
  3271. X14 r (accessibility)s
  3272. X14 r (of)s
  3273. X14 r (a)s
  3274. X13 r (\256le.)s
  3275. X183 1799 p (The)s
  3276. X16 r (format)s
  3277. X16 r (of)s
  3278. X15 r (server)s
  3279. X16 r (response)s
  3280. X16 r (is)s
  3281. X16 r (designed)s
  3282. X16 r (for)s
  3283. X16 r (machine-readability)s
  3284. X15 r (where)s
  3285. X16 r (appropriate,)s
  3286. X17 r (thus)s
  3287. X15 r (alleviating)s
  3288. X100 1865 p (the)s
  3289. X11 r (need)s
  3290. X10 r (to)s
  3291. X11 r (use)s
  3292. X10 r (regular-expression)s
  3293. X10 r (pattern)s
  3294. X10 r (matcher)s
  3295. X11 r (and)s
  3296. X10 r (other)s
  3297. X11 r (tricky)s
  3298. X11 r (techniques)s
  3299. X10 r (that)s
  3300. X11 r (depend)s
  3301. X10 r (on)s
  3302. X11 r (speci\256c)s
  3303. Xf84 SF
  3304. X10 r (ftpd)s
  3305. Xf80 SF
  3306. X100 1932 p (implementation.)s
  3307. Xf95 SF
  3308. X100 2090 p (3.2)s
  3309. X66 r (Shared)s
  3310. X16 r (control)s
  3311. X15 r (connection)s
  3312. Xf80 SF
  3313. X100 2193 p (WWFTP)s
  3314. X13 r (introduced)s
  3315. X13 r (session)s
  3316. Xf104 SF
  3317. X13 r (id)s
  3318. Xf80 SF
  3319. X13 r (and)s
  3320. X13 r (session)s
  3321. Xf104 SF
  3322. X13 r (id)s
  3323. Xf80 SF
  3324. X13 r (speci\256er)s
  3325. X-2 r (,)s
  3326. X13 r (that)s
  3327. X13 r (enables)s
  3328. X12 r (sharing)s
  3329. X13 r (of)s
  3330. X13 r (control)s
  3331. X13 r (connection.)s
  3332. X18 r (Shared)s
  3333. X100 2260 p (control)s
  3334. X12 r (connection)s
  3335. X11 r (reduces)s
  3336. X12 r (the)s
  3337. X11 r (average)s
  3338. X12 r (initial)s
  3339. X11 r (delay)s
  3340. X12 r (for)s
  3341. X12 r (parallel)s
  3342. X11 r (\256le)s
  3343. X12 r (transfer)s
  3344. X-1 r (,)s
  3345. X11 r (that)s
  3346. X11 r (hopefully)s
  3347. X12 r (results)s
  3348. X11 r (in)s
  3349. X12 r (shorter)s
  3350. X100 2326 p (request-response)s
  3351. X14 r (time)s
  3352. X14 r (and)s
  3353. X14 r (better)s
  3354. X13 r (throughput)s
  3355. X14 r (in)s
  3356. X14 r (the)s
  3357. X14 r (CS.)s
  3358. X183 2392 p (Session)s
  3359. Xf104 SF
  3360. X11 r (id)s
  3361. Xf80 SF
  3362. X11 r (speci\256er)s
  3363. X10 r (binds)s
  3364. X11 r (a)s
  3365. X11 r (session)s
  3366. Xf104 SF
  3367. X11 r (id)s
  3368. Xf80 SF
  3369. X11 r (with)s
  3370. X10 r (an)s
  3371. X11 r (object,)s
  3372. X12 r (so)s
  3373. X11 r (that)s
  3374. X10 r (server)s
  3375. X11 r (and)s
  3376. X11 r (client)s
  3377. X11 r (can)s
  3378. X11 r (later)s
  3379. X10 r (mention)s
  3380. X11 r (ongoing)s
  3381. X100 2459 p (activities)s
  3382. X15 r (\(e.g.)s
  3383. X20 r (ongoing)s
  3384. X15 r (\256le)s
  3385. X14 r (transfer\))s
  3386. X15 r (concisely)s
  3387. X-3 r (.)s
  3388. X20 r (Session)s
  3389. Xf104 SF
  3390. X14 r (id)s
  3391. Xf80 SF
  3392. X15 r (is)s
  3393. X14 r (assigned)s
  3394. X15 r (only)s
  3395. X14 r (by)s
  3396. X15 r (WWFTP)s
  3397. X14 r (server)s
  3398. X-1 r (,)s
  3399. X14 r (so)s
  3400. X14 r (that)s
  3401. X15 r (the)s
  3402. X100 2525 p (state)s
  3403. X16 r (information)s
  3404. X17 r (maintained)s
  3405. X16 r (by)s
  3406. X16 r (the)s
  3407. X16 r (server)s
  3408. X17 r (is)s
  3409. X16 r (limited)s
  3410. X16 r (to)s
  3411. X17 r (the)s
  3412. X16 r (ongoing)s
  3413. X16 r (activities.)s
  3414. X26 r (Clients)s
  3415. X16 r (are)s
  3416. X16 r (not)s
  3417. X17 r (allowed)s
  3418. X16 r (to)s
  3419. X100 2592 p (assign)s
  3420. X11 r (session)s
  3421. Xf104 SF
  3422. X10 r (id)s
  3423. Xf80 SF
  3424. X(s)s
  3425. X11 r (since)s
  3426. X11 r (possible)s
  3427. X10 r (misconduct)s
  3428. X11 r (of)s
  3429. X11 r (client)s
  3430. X10 r (might)s
  3431. X11 r (result)s
  3432. X11 r (in)s
  3433. X10 r (the)s
  3434. X11 r (limitless)s
  3435. X11 r (assignment)s
  3436. X11 r (of)s
  3437. X10 r (unused)s
  3438. X11 r (ses-)s
  3439. X100 2658 p (sion)s
  3440. Xf104 SF
  3441. X14 r (id)s
  3442. Xf80 SF
  3443. X(s,)s
  3444. X14 r (that)s
  3445. X13 r (signi\256cantly)s
  3446. X14 r (increases)s
  3447. X14 r (the)s
  3448. X14 r (state)s
  3449. X14 r (information)s
  3450. X13 r (maintained)s
  3451. X14 r (by)s
  3452. X14 r (the)s
  3453. X14 r (server)s
  3454. X-1 r (,)s
  3455. X13 r (leading)s
  3456. X13 r (to)s
  3457. X14 r (the)s
  3458. X14 r (memory)s
  3459. X100 2725 p (leakage.)s
  3460. X183 2791 p (Clients)s
  3461. X20 r (must)s
  3462. X19 r (maintain)s
  3463. X20 r (the)s
  3464. Xf104 SF
  3465. X19 r (id)s
  3466. Xf80 SF
  3467. X(-to-object)s
  3468. X20 r (bindings)s
  3469. X19 r (while)s
  3470. X20 r (the)s
  3471. X19 r (corresponding)s
  3472. X20 r (session)s
  3473. X19 r (is)s
  3474. X20 r (in)s
  3475. X20 r (progress,)s
  3476. X21 r (and)s
  3477. X100 2857 p (they)s
  3478. X12 r (must)s
  3479. X12 r (free)s
  3480. X12 r (a)s
  3481. X13 r (binding)s
  3482. X12 r (when)s
  3483. X12 r (the)s
  3484. X12 r (server)s
  3485. X12 r (declares)s
  3486. X12 r (it)s
  3487. X13 r (is)s
  3488. X12 r (no)s
  3489. X12 r (longer)s
  3490. X12 r (necessary)s
  3491. X-3 r (.)s
  3492. X17 r (Such)s
  3493. X12 r (binding)s
  3494. X13 r (mechanism)s
  3495. X12 r (might)s
  3496. X100 2924 p (add)s
  3497. X15 r (extra)s
  3498. X15 r (complexity)s
  3499. X15 r (to)s
  3500. X15 r (client)s
  3501. X15 r (programs,)s
  3502. X15 r (but)s
  3503. X15 r (the)s
  3504. X15 r (cost)s
  3505. X15 r (of)s
  3506. X15 r (binding)s
  3507. X15 r (mechanism)s
  3508. X14 r (is)s
  3509. X15 r (inevitable)s
  3510. X15 r (in)s
  3511. X15 r (protocols)s
  3512. X15 r (that)s
  3513. X100 2990 p (embrace)s
  3514. X16 r (parallelism.)s
  3515. X24 r (The)s
  3516. X15 r (extraneous)s
  3517. X16 r (code)s
  3518. X16 r (that)s
  3519. X15 r (manages)s
  3520. X16 r (parallel)s
  3521. X16 r (sessions)s
  3522. X15 r (can)s
  3523. X16 r (be)s
  3524. X16 r (minimized)s
  3525. X15 r (by)s
  3526. X16 r (providing)s
  3527. X100 3057 p (WWFTP)s
  3528. X14 r (client)s
  3529. X14 r (library)s
  3530. X-3 r (,)s
  3531. X13 r (that)s
  3532. X14 r (encapsulates)s
  3533. X14 r (the)s
  3534. X13 r (complexity)s
  3535. X-2 r (.)s
  3536. Xf95 SF
  3537. X100 3215 p (3.3)s
  3538. X66 r (Consecutive)s
  3539. X17 r (commands/responses)s
  3540. Xf80 SF
  3541. X100 3318 p (WWFTP)s
  3542. X13 r (protocol)s
  3543. X14 r (speci\256cation)s
  3544. X13 r (allows)s
  3545. X14 r (consecutive)s
  3546. X13 r (commands)s
  3547. X14 r (to)s
  3548. X13 r (be)s
  3549. X14 r (sent)s
  3550. X13 r (at)s
  3551. X14 r (a)s
  3552. X13 r (time)s
  3553. X14 r (so)s
  3554. X13 r (that)s
  3555. X14 r (request-response)s
  3556. X100 3385 p (cycle)s
  3557. X20 r (can)s
  3558. X20 r (be)s
  3559. X20 r (minimized.)s
  3560. X37 r (Also,)s
  3561. X21 r (every)s
  3562. X20 r (response)s
  3563. X20 r (from)s
  3564. X20 r (WWFTP)s
  3565. X20 r (server)s
  3566. X20 r (contains)s
  3567. X20 r (unique)s
  3568. X20 r (response)s
  3569. X20 r (number)s
  3570. X100 3451 p (within)s
  3571. X20 r (current)s
  3572. X19 r (control)s
  3573. X20 r (connection,)s
  3574. X21 r (that)s
  3575. X19 r (indicates)s
  3576. X20 r (correspondence)s
  3577. X20 r (with)s
  3578. X19 r (requests,)s
  3579. X21 r (hence)s
  3580. X20 r (clients)s
  3581. X19 r (can)s
  3582. X20 r (easily)s
  3583. X100 3518 p (keep)s
  3584. X13 r (track)s
  3585. X13 r (of)s
  3586. X14 r (relationship)s
  3587. X13 r (between)s
  3588. X13 r (requests)s
  3589. X13 r (and)s
  3590. X13 r (responses,)s
  3591. X14 r (that)s
  3592. X13 r (eventually)s
  3593. X13 r (will)s
  3594. X13 r (encourage)s
  3595. X14 r (clients)s
  3596. X13 r (minimize)s
  3597. X100 3584 p (the)s
  3598. X14 r (net)s
  3599. X14 r (effect)s
  3600. X13 r (of)s
  3601. X13 r (round)s
  3602. X14 r (trip)s
  3603. X14 r (delay)s
  3604. X-3 r (.)s
  3605. X1261 3946 p (4)s
  3606. XEP
  3607. X
  3608. X%%Page: 5 5
  3609. XBP
  3610. Xf95 SF
  3611. X100 260 p (3.4)s
  3612. X66 r (Identity)s
  3613. X17 r (check)s
  3614. X17 r (algorithm)s
  3615. Xf80 SF
  3616. X100 364 p (An)s
  3617. Xf26 SF
  3618. X15 r (O)s
  3619. Xf80 SF
  3620. X1 r (\(log)s
  3621. Xf26 SF
  3622. X9 r (N)s
  3623. Xf80 SF
  3624. X6 r (\))s
  3625. X15 r (algorithm)s
  3626. X15 r (is)s
  3627. X15 r (adopted)s
  3628. X14 r (to)s
  3629. X15 r (compare)s
  3630. X15 r (large)s
  3631. X13 r (replicated)s
  3632. X15 r (\256les)s
  3633. X15 r ([6],)s
  3634. X15 r (that)s
  3635. X14 r (alleviates)s
  3636. X15 r (the)s
  3637. X15 r (need)s
  3638. X15 r (to)s
  3639. X14 r (transfer)s
  3640. X100 430 p (an)s
  3641. X14 r (entire)s
  3642. X14 r (\256le)s
  3643. X14 r (contents)s
  3644. X13 r (and)s
  3645. X14 r (the)s
  3646. X14 r (need)s
  3647. X14 r (to)s
  3648. X14 r (maintain)s
  3649. X14 r (consistency)s
  3650. X13 r (among)s
  3651. X14 r (distant)s
  3652. X14 r (sites.)s
  3653. X183 497 p (The)s
  3654. X14 r (algorithm)s
  3655. X15 r (is)s
  3656. X14 r (also)s
  3657. X14 r (used)s
  3658. X14 r (to)s
  3659. X15 r (compute)s
  3660. X14 r (32-bit)s
  3661. X14 r (version)s
  3662. X14 r (signature)s
  3663. X15 r (for)s
  3664. X14 r (each)s
  3665. X14 r (directory)s
  3666. X14 r (and)s
  3667. X15 r (each)s
  3668. X14 r (\256le,)s
  3669. X14 r (so)s
  3670. X15 r (that)s
  3671. X100 563 p (clients)s
  3672. X18 r (can)s
  3673. X18 r (distinguish)s
  3674. X18 r (which)s
  3675. X17 r (directory)s
  3676. X18 r (was)s
  3677. X18 r (modi\256ed)s
  3678. X18 r (since)s
  3679. X18 r (last)s
  3680. X18 r (access)s
  3681. X18 r (by)s
  3682. X18 r (comparing)s
  3683. X17 r (the)s
  3684. X18 r (newly)s
  3685. X18 r (obtained)s
  3686. X100 629 p (version)s
  3687. X14 r (signature)s
  3688. X14 r (with)s
  3689. X14 r (cached)s
  3690. X14 r (one.)s
  3691. X19 r (V)s
  3692. X-5 r (ersion)s
  3693. X13 r (signature)s
  3694. X14 r (of)s
  3695. X14 r (\256les)s
  3696. X14 r (are)s
  3697. X14 r (generated)s
  3698. X14 r (from)s
  3699. X14 r (their)s
  3700. X14 r (contents,)s
  3701. X14 r (and)s
  3702. X14 r (that)s
  3703. X14 r (of)s
  3704. X100 696 p (directories)s
  3705. X14 r (are)s
  3706. X14 r (generated)s
  3707. X14 r (from)s
  3708. X14 r (version)s
  3709. X14 r (signatures)s
  3710. X14 r (of)s
  3711. X14 r (\256les)s
  3712. X14 r (in)s
  3713. X14 r (the)s
  3714. X14 r (directory)s
  3715. X-3 r (,)s
  3716. X13 r (thereby)s
  3717. X14 r (avoiding)s
  3718. X14 r (heuristic)s
  3719. X14 r (use)s
  3720. X14 r (of)s
  3721. X100 762 p (\256le)s
  3722. X14 r (attributes)s
  3723. X14 r (intended)s
  3724. X14 r (for)s
  3725. X13 r (other)s
  3726. X14 r (purpose,)s
  3727. X14 r (such)s
  3728. X14 r (as)s
  3729. X14 r (time)s
  3730. X14 r (stamp)s
  3731. X13 r (and)s
  3732. X14 r (\256le)s
  3733. X14 r (size.)s
  3734. Xf95 SF
  3735. X100 920 p (3.5)s
  3736. X66 r (File)s
  3737. X17 r (transfer)s
  3738. X17 r (options)s
  3739. Xf80 SF
  3740. X100 1024 p (WWFTP)s
  3741. X13 r (protocol)s
  3742. X13 r (speci\256cation)s
  3743. X13 r (requires)s
  3744. X13 r (that)s
  3745. X12 r (every)s
  3746. X13 r (implementation)s
  3747. X13 r (of)s
  3748. X13 r (WWFTP)s
  3749. X13 r (should)s
  3750. X13 r (support)s
  3751. X13 r (\256le)s
  3752. X13 r (transfer)s
  3753. X100 1090 p (restart.)s
  3754. X23 r (Also,)s
  3755. X16 r (the)s
  3756. X16 r (speci\256cation)s
  3757. X15 r (requires)s
  3758. X16 r (that)s
  3759. X15 r (compressed)s
  3760. X16 r (data)s
  3761. X15 r (stream)s
  3762. X16 r (should)s
  3763. X15 r (be)s
  3764. X16 r (supported)s
  3765. X16 r (as)s
  3766. X15 r (a)s
  3767. X16 r (\256le)s
  3768. X15 r (transfer)s
  3769. X100 1157 p (option.)s
  3770. Xf95 SF
  3771. X100 1315 p (3.6)s
  3772. X66 r (Multi-stage)s
  3773. X17 r (data)s
  3774. X17 r (transfer)s
  3775. Xf80 SF
  3776. X100 1418 p (WWFTP)s
  3777. X16 r (attempts)s
  3778. X17 r (to)s
  3779. X16 r (support)s
  3780. X16 r (multi-stage)s
  3781. X16 r (data)s
  3782. X17 r (transfer)s
  3783. X-2 r (,)s
  3784. X16 r (where)s
  3785. X16 r (several)s
  3786. X17 r (CSs)s
  3787. X16 r (are)s
  3788. X16 r (organized)s
  3789. X16 r (hierarchically)s
  3790. X16 r (so)s
  3791. X100 1485 p (that)s
  3792. X15 r (cached)s
  3793. X16 r (\256les)s
  3794. X15 r (and)s
  3795. X16 r (directories)s
  3796. X15 r (can)s
  3797. X16 r (be)s
  3798. X15 r (shared)s
  3799. X16 r (among)s
  3800. X15 r (CSs.)s
  3801. X24 r (T)s
  3802. X-3 r (o)s
  3803. X14 r (minimize)s
  3804. X16 r (the)s
  3805. X15 r (propagation)s
  3806. X16 r (delay)s
  3807. X15 r (caused)s
  3808. X16 r (by)s
  3809. X100 1551 p (each)s
  3810. X10 r (CS,)s
  3811. X11 r (WWFTP)s
  3812. X10 r (protocol)s
  3813. X11 r (speci\256cation)s
  3814. X10 r (requires)s
  3815. X10 r (support)s
  3816. X11 r (for)s
  3817. X10 r (relayed)s
  3818. X11 r (data)s
  3819. X10 r (stream)s
  3820. X10 r (and)s
  3821. X11 r (bypassed)s
  3822. X10 r (reply)s
  3823. X-2 r (.)s
  3824. X16 r (These)s
  3825. X100 1618 p (mechanisms)s
  3826. X17 r (are)s
  3827. X18 r (intended)s
  3828. X17 r (as)s
  3829. X18 r (a)s
  3830. X17 r (remedy)s
  3831. X18 r (for)s
  3832. X17 r (the)s
  3833. X18 r (current)s
  3834. X17 r (Internet)s
  3835. X18 r (protocol)s
  3836. X17 r (suite,)s
  3837. X19 r (where)s
  3838. X17 r (ubiquitous)s
  3839. X18 r (multicast)s
  3840. X100 1684 p (protocol)s
  3841. X14 r (has)s
  3842. X14 r (been)s
  3843. X14 r (lacking)s
  3844. X13 r (from)s
  3845. X14 r (the)s
  3846. X14 r (standard.)s
  3847. Xf95 SF
  3848. X100 1842 p (3.7)s
  3849. X66 r (Human-readable)s
  3850. X16 r (protocol)s
  3851. Xf80 SF
  3852. X100 1946 p (I)s
  3853. X11 r (have)s
  3854. X11 r (chosen)s
  3855. X11 r (FTP)s
  3856. X10 r (as)s
  3857. X11 r (its)s
  3858. X11 r (starting)s
  3859. X11 r (point)s
  3860. X11 r (and)s
  3861. X11 r (have)s
  3862. X11 r (avoided)s
  3863. X11 r (the)s
  3864. X10 r (use)s
  3865. X11 r (of)s
  3866. X11 r (RPC[7],)s
  3867. X12 r (primarily)s
  3868. X11 r (because)s
  3869. X10 r (clients)s
  3870. X11 r (should)s
  3871. X100 2012 p (be)s
  3872. X14 r (easily)s
  3873. X14 r (implemented)s
  3874. X15 r (with)s
  3875. X14 r (interpretive)s
  3876. X14 r (languages)s
  3877. X14 r (such)s
  3878. X15 r (as)s
  3879. X14 r (T)s
  3880. X-3 r (cl)s
  3881. X13 r (and)s
  3882. X14 r (perl.)s
  3883. X20 r (Another)s
  3884. X14 r (reason)s
  3885. X15 r (I)s
  3886. X14 r (have)s
  3887. X14 r (abandoned)s
  3888. X100 2079 p (the)s
  3889. X12 r (idea)s
  3890. X12 r (of)s
  3891. X12 r (using)s
  3892. X12 r (RPC)s
  3893. X12 r (is)s
  3894. X12 r (that)s
  3895. X12 r (the)s
  3896. X12 r (performance)s
  3897. X12 r (of)s
  3898. X12 r (RPC)s
  3899. X12 r (is)s
  3900. X12 r (inherently)s
  3901. X12 r (bound)s
  3902. X12 r (to)s
  3903. X12 r (round)s
  3904. X12 r (trip)s
  3905. X12 r (delay)s
  3906. X12 r (and)s
  3907. X12 r (exploiting)s
  3908. X100 2145 p (parallelism)s
  3909. X15 r (in)s
  3910. X16 r (RPC)s
  3911. X15 r (involves)s
  3912. X15 r (touchy)s
  3913. X16 r (combination)s
  3914. X15 r (of)s
  3915. X15 r (RPC)s
  3916. X16 r (and)s
  3917. X15 r (thread)s
  3918. X15 r (library)s
  3919. X-2 r (,)s
  3920. X14 r (including)s
  3921. X16 r (modi\256cation)s
  3922. X15 r (to)s
  3923. X15 r (the)s
  3924. X100 2211 p (RPC)s
  3925. X14 r (stub)s
  3926. X14 r (generator)s
  3927. X-2 r (,)s
  3928. X13 r (that)s
  3929. X14 r (is)s
  3930. X14 r (not)s
  3931. X14 r (directly)s
  3932. X14 r (related)s
  3933. X13 r (to)s
  3934. X14 r (my)s
  3935. X14 r (goal.)s
  3936. X183 2278 p (Being)s
  3937. X13 r (FTP)s
  3938. X13 r (derivative)s
  3939. X13 r (gives)s
  3940. X13 r (several)s
  3941. X12 r (bene\256ts;)s
  3942. X14 r (existing)s
  3943. Xf84 SF
  3944. X12 r (ftp)s
  3945. Xf80 SF
  3946. X13 r (implementation)s
  3947. X13 r (can)s
  3948. X13 r (be)s
  3949. X13 r (reused,)s
  3950. X13 r (and)s
  3951. Xf84 SF
  3952. X13 r (telnet)s
  3953. Xf80 SF
  3954. X100 2344 p (can)s
  3955. X11 r (be)s
  3956. X11 r (used)s
  3957. X11 r (for)s
  3958. X12 r (debugging.)s
  3959. X17 r (Although)s
  3960. X11 r (WWFTP)s
  3961. X11 r (is)s
  3962. X11 r (\256lesystem-oriented,)s
  3963. X12 r (its)s
  3964. X11 r (input/output)s
  3965. X11 r (characters)s
  3966. X12 r (are)s
  3967. X11 r (limited)s
  3968. X100 2411 p (to)s
  3969. X15 r (ASCII)s
  3970. X15 r (and)s
  3971. X16 r (its)s
  3972. X15 r (output)s
  3973. X15 r (is)s
  3974. X15 r (mostly)s
  3975. X16 r (human-readable)s
  3976. X15 r (so)s
  3977. X15 r (that)s
  3978. X15 r (users)s
  3979. X16 r (can)s
  3980. X15 r (easily)s
  3981. X15 r (interface)s
  3982. X16 r (with)s
  3983. X15 r (WWFTP)s
  3984. X15 r (servers)s
  3985. X100 2477 p (via)s
  3986. Xf84 SF
  3987. X14 r (telnet)s
  3988. Xf80 SF
  3989. X(.)s
  3990. Xf99 SF
  3991. X100 2664 p (4)s
  3992. X80 r (Status)s
  3993. X20 r (and)s
  3994. X20 r (Futur)s
  3995. X-1 r (e)s
  3996. X19 r (work)s
  3997. Xf80 SF
  3998. X100 2787 p (WWFTP)s
  3999. X15 r (protocol)s
  4000. X15 r (speci\256cation)s
  4001. X15 r (is)s
  4002. X15 r (currently)s
  4003. X15 r (being)s
  4004. X15 r (reviewed)s
  4005. X15 r (and)s
  4006. X15 r (improved.)s
  4007. X22 r (Design)s
  4008. X15 r (and)s
  4009. X15 r (implementation)s
  4010. X15 r (of)s
  4011. X100 2853 p (multi-threaded)s
  4012. X15 r (\256le)s
  4013. X16 r (server)s
  4014. X15 r (software)s
  4015. X15 r (is)s
  4016. X15 r (in)s
  4017. X16 r (progress.)s
  4018. X22 r (CS)s
  4019. X15 r (will)s
  4020. X16 r (implement)s
  4021. X15 r (WWFTP)s
  4022. X15 r (protocol)s
  4023. X15 r (in)s
  4024. X16 r (the)s
  4025. X15 r (next)s
  4026. X15 r (major)s
  4027. X100 2920 p (release.)s
  4028. X183 2986 p (Since)s
  4029. X12 r (WWFTP)s
  4030. X12 r (is)s
  4031. X11 r (primarily)s
  4032. X12 r (designed)s
  4033. X12 r (for)s
  4034. X12 r (WWFS,)s
  4035. X12 r (the)s
  4036. X12 r (protocol)s
  4037. X11 r (speci\256cation)s
  4038. X12 r (does)s
  4039. X12 r (not)s
  4040. X12 r (de\256ne)s
  4041. X12 r (write)s
  4042. X12 r (opera-)s
  4043. X100 3053 p (tion)s
  4044. X13 r (at)s
  4045. X12 r (all.)s
  4046. X18 r (However)s
  4047. X-1 r (,)s
  4048. X12 r (it)s
  4049. X13 r (can)s
  4050. X12 r (be)s
  4051. X13 r (extended)s
  4052. X12 r (to)s
  4053. X13 r (supercede)s
  4054. X13 r (FTP)s
  4055. X12 r (in)s
  4056. X13 r (its)s
  4057. X13 r (functionality)s
  4058. X-3 r (,)s
  4059. X12 r (thereby)s
  4060. X13 r (replacing)s
  4061. X12 r (FTP)s
  4062. X13 r (clients)s
  4063. X100 3119 p (with)s
  4064. X14 r (WWFTP)s
  4065. X14 r (clients.)s
  4066. Xf99 SF
  4067. X100 3305 p (5)s
  4068. X80 r (Conclusion)s
  4069. Xf80 SF
  4070. X100 3429 p (FTP)s
  4071. X14 r (has)s
  4072. X15 r (several)s
  4073. X14 r (shortcomings)s
  4074. X15 r (from)s
  4075. X14 r (the)s
  4076. X15 r (viewpoint)s
  4077. X14 r (of)s
  4078. X15 r (\256lesystem)s
  4079. X14 r (transport)s
  4080. X14 r (protocol,)s
  4081. X15 r (that)s
  4082. X15 r (necessitates)s
  4083. X14 r (a)s
  4084. X14 r (new)s
  4085. X100 3495 p (protocol)s
  4086. X19 r (supporting)s
  4087. X19 r (\256lesystem)s
  4088. X19 r (semantics)s
  4089. X19 r (and)s
  4090. X19 r (interaction)s
  4091. X19 r (of)s
  4092. X19 r (computer-based)s
  4093. X18 r (agents.)s
  4094. X34 r (The)s
  4095. X19 r (author)s
  4096. X19 r (has)s
  4097. X20 r (de-)s
  4098. X100 3562 p (signed)s
  4099. X14 r (a)s
  4100. X14 r (new)s
  4101. X14 r (protocol)s
  4102. X13 r (called)s
  4103. X14 r (WWFTP)s
  4104. X-5 r (,)s
  4105. X13 r (that)s
  4106. X14 r (has)s
  4107. X14 r (the)s
  4108. X13 r (following)s
  4109. X14 r (advantages)s
  4110. X14 r (over)s
  4111. X14 r (FTP:)s
  4112. Xf27 SF
  4113. X183 3672 p (\017)s
  4114. Xf81 SF
  4115. X28 r (Support)s
  4116. X13 r (for)s
  4117. X12 r (computer-based)s
  4118. X12 r (agents.)s
  4119. Xf80 SF
  4120. X18 r (Machine-readable)s
  4121. X13 r (server)s
  4122. X13 r (response)s
  4123. X13 r (facilitates)s
  4124. X12 r (implementation)s
  4125. X13 r (of)s
  4126. X238 3739 p (NFS-WWFTP)s
  4127. X14 r (gateway)s
  4128. X14 r (software.)s
  4129. X1261 3946 p (5)s
  4130. XEP
  4131. X
  4132. X%%Page: 6 6
  4133. XBP
  4134. Xf27 SF
  4135. X183 260 p (\017)s
  4136. Xf81 SF
  4137. X28 r (Support)s
  4138. X20 r (for)s
  4139. X20 r (high-speed)s
  4140. X21 r (networks)s
  4141. X20 r (and)s
  4142. X20 r (long-delay)s
  4143. X21 r (communication)s
  4144. X20 r (lines.)s
  4145. Xf80 SF
  4146. X38 r (Response)s
  4147. X20 r (identi\256er)s
  4148. X20 r (helps)s
  4149. X238 327 p (clients)s
  4150. X14 r (to)s
  4151. X14 r (exploit)s
  4152. X14 r (parallelism)s
  4153. X14 r (in)s
  4154. X14 r (the)s
  4155. X13 r (\256le)s
  4156. X14 r (transfer)s
  4157. X-2 r (.)s
  4158. Xf27 SF
  4159. X183 437 p (\017)s
  4160. Xf81 SF
  4161. X28 r (Support)s
  4162. X14 r (for)s
  4163. X13 r (ar)s
  4164. X-1 r (chive)s
  4165. X13 r (r)s
  4166. X-1 r (eplication.)s
  4167. Xf80 SF
  4168. X18 r (32-bit)s
  4169. X13 r (version)s
  4170. X14 r (signature)s
  4171. X14 r (enables)s
  4172. X14 r (ef\256cient)s
  4173. X13 r (update)s
  4174. X14 r (of)s
  4175. X13 r (replicated)s
  4176. X14 r (infor-)s
  4177. X238 504 p (mation.)s
  4178. Xf27 SF
  4179. X183 614 p (\017)s
  4180. Xf81 SF
  4181. X28 r (Support)s
  4182. X19 r (for)s
  4183. X19 r (multi-stage)s
  4184. X19 r (data)s
  4185. X19 r (transfer)s
  4186. X-6 r (.)s
  4187. Xf80 SF
  4188. X33 r (Relayed)s
  4189. X19 r (data)s
  4190. X19 r (stream)s
  4191. X19 r (and)s
  4192. X19 r (bypassed)s
  4193. X19 r (reply)s
  4194. X19 r (assist)s
  4195. X19 r (architecting)s
  4196. X238 681 p (multi-stage)s
  4197. X14 r (\256le)s
  4198. X14 r (servers)s
  4199. X14 r (on)s
  4200. X14 r (top)s
  4201. X14 r (of)s
  4202. X13 r (the)s
  4203. X14 r (standard)s
  4204. X14 r (Internet)s
  4205. X14 r (protocols.)s
  4206. Xf99 SF
  4207. X100 867 p (References)s
  4208. Xf80 SF
  4209. X100 991 p ([1])s
  4210. X28 r (Y)s
  4211. X-5 r (ouki)s
  4212. X14 r (Kadobayashi,)s
  4213. X15 r (Suguru)s
  4214. X15 r (Y)s
  4215. X-4 r (amaguchi,)s
  4216. X14 r (and)s
  4217. X15 r (Hideo)s
  4218. X15 r (Miyahara.)s
  4219. X24 r (WWFS:)s
  4220. X14 r (A)s
  4221. X15 r (framework)s
  4222. X15 r (for)s
  4223. X15 r (distributing)s
  4224. X192 1057 p (information)s
  4225. X15 r (in)s
  4226. X14 r (the)s
  4227. X15 r (Internet)s
  4228. X15 r (environment.)s
  4229. X23 r (In)s
  4230. Xf81 SF
  4231. X14 r (Pr)s
  4232. X-1 r (oceedings)s
  4233. X14 r (of)s
  4234. X14 r (the)s
  4235. X15 r (seventh)s
  4236. X15 r (IEEE)s
  4237. X14 r (Region)s
  4238. X15 r (10)s
  4239. X15 r (International)s
  4240. X192 1123 p (Confer)s
  4241. X-1 r (ence)s
  4242. X13 r (TENCON'92)s
  4243. Xf80 SF
  4244. X(,)s
  4245. X14 r (pages)s
  4246. X14 r (227\261231,)s
  4247. X14 r (November)s
  4248. X13 r (1992.)s
  4249. X100 1234 p ([2])s
  4250. X28 r (Y)s
  4251. X-5 r (ouki)s
  4252. X14 r (Kadobayashi.)s
  4253. Xf81 SF
  4254. X24 r (WWFS)s
  4255. X15 r (Refer)s
  4256. X-1 r (ence)s
  4257. X14 r (Manual)s
  4258. Xf80 SF
  4259. X(.)s
  4260. X23 r (WWFS)s
  4261. X15 r (Research)s
  4262. X15 r (Group,)s
  4263. X16 r (Department)s
  4264. X14 r (of)s
  4265. X15 r (Information)s
  4266. X192 1301 p (&)s
  4267. X14 r (Computer)s
  4268. X14 r (Sciences,)s
  4269. X14 r (Osaka)s
  4270. X14 r (University)s
  4271. X-3 r (,)s
  4272. X13 r (January)s
  4273. X14 r (1993.)s
  4274. X100 1411 p ([3])s
  4275. X28 r (Y)s
  4276. X-5 r (ouki)s
  4277. X12 r (Kadobayashi.)s
  4278. X19 r (Beyond)s
  4279. X13 r (global)s
  4280. X13 r (\256le)s
  4281. X14 r (systems:)s
  4282. X18 r (the)s
  4283. X13 r (WWFS)s
  4284. X13 r (approach.)s
  4285. X19 r (T)s
  4286. X-3 r (echnical)s
  4287. X12 r (Report)s
  4288. X13 r (WWFS-TR-)s
  4289. X192 1478 p (93-2,)s
  4290. X18 r (WWFS)s
  4291. X18 r (Research)s
  4292. X17 r (Group,)s
  4293. X18 r (Department)s
  4294. X17 r (of)s
  4295. X17 r (Information)s
  4296. X18 r (&)s
  4297. X17 r (Computer)s
  4298. X17 r (Sciences,)s
  4299. X18 r (Osaka)s
  4300. X18 r (University)s
  4301. X-3 r (,)s
  4302. X192 1544 p (January)s
  4303. X14 r (1993.)s
  4304. X100 1655 p ([4])s
  4305. X28 r (Sun)s
  4306. X14 r (Microsystems.)s
  4307. X19 r (NFS:)s
  4308. X14 r (Network)s
  4309. X14 r (File)s
  4310. X14 r (System)s
  4311. X14 r (protocol)s
  4312. X14 r (speci\256cation.)s
  4313. X20 r (RFC)s
  4314. X13 r (1094,)s
  4315. X14 r (March)s
  4316. X14 r (1989.)s
  4317. X100 1765 p ([5])s
  4318. X28 r (J.)s
  4319. X13 r (Postel)s
  4320. X13 r (and)s
  4321. X14 r (J.)s
  4322. X13 r (Reynolds.)s
  4323. X19 r (File)s
  4324. X14 r (Transfer)s
  4325. X13 r (Protocol.)s
  4326. X19 r (RFC)s
  4327. X13 r (959,)s
  4328. X14 r (Information)s
  4329. X13 r (Sciences)s
  4330. X14 r (Institute,)s
  4331. X13 r (University)s
  4332. X192 1832 p (of)s
  4333. X14 r (Southern)s
  4334. X14 r (California,)s
  4335. X14 r (October)s
  4336. X14 r (1985.)s
  4337. X100 1943 p ([6])s
  4338. X28 r (W)s
  4339. X-4 r (.)s
  4340. X13 r (Kent)s
  4341. X14 r (Fuchs,)s
  4342. X15 r (Kun-Lung)s
  4343. X14 r (W)s
  4344. X-1 r (u,)s
  4345. X13 r (and)s
  4346. X14 r (Jacob)s
  4347. X15 r (A.)s
  4348. X14 r (Abraham.)s
  4349. X22 r (Comparison)s
  4350. X14 r (and)s
  4351. X14 r (diagnosis)s
  4352. X15 r (of)s
  4353. X14 r (large)s
  4354. X13 r (replicated)s
  4355. X192 2009 p (\256les.)s
  4356. Xf81 SF
  4357. X20 r (IEEE)s
  4358. X14 r (T)s
  4359. X-2 r (ransactions)s
  4360. X13 r (on)s
  4361. X14 r (Softwar)s
  4362. X-1 r (e)s
  4363. X12 r (Engineering)s
  4364. Xf80 SF
  4365. X(,)s
  4366. X14 r (SE-13\(1\),)s
  4367. X14 r (January)s
  4368. X14 r (1987.)s
  4369. X100 2120 p ([7])s
  4370. X28 r (Sun)s
  4371. X17 r (Microsystems.)s
  4372. X33 r (RPC:)s
  4373. X17 r (Remote)s
  4374. X17 r (Procedure)s
  4375. X17 r (Call)s
  4376. X18 r (protocol)s
  4377. X17 r (speci\256cation)s
  4378. X17 r (version)s
  4379. X18 r (2.)s
  4380. X32 r (RFC)s
  4381. X18 r (1057,)s
  4382. X18 r (June)s
  4383. X192 2186 p (1988.)s
  4384. X1261 3946 p (6)s
  4385. XEP
  4386. X%%Trailer
  4387. X%%Pages: 6
  4388. XEND
  4389. X%%EOF
  4390. END_OF_FILE
  4391.   if test 67804 -ne `wc -c <'doc/wwftp.ps'`; then
  4392.     echo shar: \"'doc/wwftp.ps'\" unpacked with wrong size!
  4393.   fi
  4394.   # end of 'doc/wwftp.ps'
  4395. fi
  4396. if test -f 'mule/mule.el-diff' -a "${1}" != "-c" ; then 
  4397.   echo shar: Will not clobber existing file \"'mule/mule.el-diff'\"
  4398. else
  4399.   echo shar: Extracting \"'mule/mule.el-diff'\" \(854 characters\)
  4400.   sed "s/^X//" >'mule/mule.el-diff' <<'END_OF_FILE'
  4401. X*** mule.el-ORG    Mon Jun 21 12:25:49 1993
  4402. X--- mule.el    Sun Jun 27 08:43:30 1993
  4403. X***************
  4404. X*** 654,659 ****
  4405. X--- 654,662 ----
  4406. X      (prog1 (not (eq (default-value 'file-coding-system) file-coding-system))
  4407. X        (setq-default file-coding-system coding-system))))
  4408. X  
  4409. X+ (defvar insert-file-contents-access-hook nil
  4410. X+   "A hook function to make the file accessible before inserting file.")
  4411. X+ 
  4412. X  (defvar insert-file-contents-pre-hook nil
  4413. X    "A hook function to decide coding-system used for reading.
  4414. X  
  4415. X***************
  4416. X*** 703,708 ****
  4417. X--- 706,713 ----
  4418. X    (let (return-val)
  4419. X      (condition-case err
  4420. X      (progn
  4421. X+       (if insert-file-contents-access-hook
  4422. X+           (funcall insert-file-contents-access-hook filename visit))
  4423. X        (setq coding-system
  4424. X          (cond (insert-file-contents-pre-hook
  4425. X                 (funcall insert-file-contents-pre-hook filename visit))
  4426. END_OF_FILE
  4427.   if test 854 -ne `wc -c <'mule/mule.el-diff'`; then
  4428.     echo shar: \"'mule/mule.el-diff'\" unpacked with wrong size!
  4429.   fi
  4430.   # end of 'mule/mule.el-diff'
  4431. fi
  4432. if test -f 'wwalk/wwalk' -a "${1}" != "-c" ; then 
  4433.   echo shar: Will not clobber existing file \"'wwalk/wwalk'\"
  4434. else
  4435.   echo shar: Extracting \"'wwalk/wwalk'\" \(17712 characters\)
  4436.   sed "s/^X//" >'wwalk/wwalk' <<'END_OF_FILE'
  4437. X#!/usr/local/bin/wish -f
  4438. X#
  4439. X# wwalk - walk around the cyberspace with your favorite sneaker.
  4440. X#         translation: visual interface for your filesystem.
  4441. X#
  4442. X# 
  4443. X# WorldWide File System
  4444. X# Copyright (c) 1992,1993 Youki Kadobayashi
  4445. X# Copyright (c) 1992,1993 Osaka University
  4446. X# All rights reserved.
  4447. X#
  4448. X# Permission to use, copy, modify and distribute this software and its
  4449. X# documentation is hereby granted, provided that the following conditions
  4450. X# are met:
  4451. X# 1. Both the copyright notice and this permission notice appear in
  4452. X#    all copies of the software, derivative works or modified versions,
  4453. X#    and any portions thereof, and that both notices appear in
  4454. X#    supporting documentation.
  4455. X# 2. All advertising materials mentioning features or use of this software
  4456. X#    must display the following acknowledgement:
  4457. X#      This product includes software developed by the Osaka University
  4458. X#      and its contributors.
  4459. X# 3. Neither the name of the University nor the names of its contributors
  4460. X#    may be used to endorse or promote products derived from this software
  4461. X#    without specific prior written permission.
  4462. X#
  4463. X# THIS SOFTWARE IS PROVIDED BY THE DEVELOPER ``AS IS'' AND OSAKA
  4464. X# UNIVERSITY DISCLAIMS ANY LIABILITY OF ANY KIND FOR ANY DAMAGES
  4465. X# WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
  4466. X#
  4467. X# Osaka University requests users of this software to return to
  4468. X#
  4469. X#  Youki Kadobayashi
  4470. X#  Department of Information and Computer Sciences
  4471. X#  Osaka University, Toyonaka 560, Osaka, Japan
  4472. X#
  4473. X# any improvements or extensions that they make and grant Osaka
  4474. X# University the rights to redistribute these changes.
  4475. X
  4476. X# $Header: wwalk[109.0] Wed Nov 24 03:50:32 1993 youki-k@is.aist-nara.ac.jp saved $
  4477. X#
  4478. X
  4479. X#
  4480. X# Configure widgets and arrange them.
  4481. X#
  4482. X
  4483. Xframe .menu
  4484. X
  4485. Xmenubutton .menu.file -text "File" -menu .menu.file.m
  4486. Xmenu .menu.file.m
  4487. X.menu.file.m add command -label "view" -accel "v"\
  4488. X        -command "catch {getpath; op.view}"
  4489. X.menu.file.m add command -label "edit"\
  4490. X        -command "catch {getpath; op.edit}"
  4491. X.menu.file.m add command -label "head"\
  4492. X        -command "catch {getpath; op.head}"
  4493. X.menu.file.m add command -label "tail"\
  4494. X        -command "catch {getpath; op.tail}"
  4495. X.menu.file.m add command -label "remove"\
  4496. X        -command "getpath; op.remove"
  4497. X
  4498. Xmenubutton .menu.arc -text "Archive" -menu .menu.arc.m
  4499. Xmenu .menu.arc.m
  4500. X.menu.arc.m add command -label "contents" -accel "?"\
  4501. X        -command "catch {getpath; op.contents}"
  4502. X.menu.arc.m add command -label "archive"\
  4503. X        -command "catch {getpath; op.archive}"
  4504. X.menu.arc.m add command -label "un-archive"\
  4505. X        -command "getpath; op.unarchive"
  4506. X.menu.arc.m add command -label "destination" \
  4507. X        -command "getpath; dest.reply"
  4508. X.menu.arc.m disable "destination"
  4509. Xset cooperative {"archive" "un-archive"}
  4510. X
  4511. Xmenubutton .menu.dir -text "Directory" -menu .menu.dir.m
  4512. Xmenu .menu.dir.m
  4513. X.menu.dir.m add command -label "compress" \
  4514. X        -command "catch {getpath; op.compressdir}"
  4515. X.menu.dir.m add command -label "uncompress" \
  4516. X        -command "catch {getpath; op.uncompressdir}"
  4517. X
  4518. Xmenubutton .menu.font -text "Font" -menu .menu.font.m
  4519. Xmenu .menu.font.m
  4520. X.menu.font.m add radio -label "fixed" -variable font -value fixed
  4521. X.menu.font.m add radio -label "a14"   -variable font -value a14
  4522. X.menu.font.m add radio -label "a18"   -variable font -value a18
  4523. X.menu.font.m add radio -label "a24"   -variable font -value a24
  4524. X.menu.font.m invoke "fixed"
  4525. X
  4526. Xmenubutton .menu.view -text "View" -menu .menu.view.m
  4527. Xmenu .menu.view.m
  4528. X.menu.view.m add command -label "home" -command "op.home" -accel "~"
  4529. X.menu.view.m add command -label "WWFS" -command "op.mntdir"
  4530. X.menu.view.m add command -label "update" -command "op.update"
  4531. X.menu.view.m add sep
  4532. X.menu.view.m add radio -label "List all" -variable globpat -value "{*,.*}"
  4533. X.menu.view.m add radio -label "Hide dot files" -variable globpat -value "*"
  4534. X.menu.view.m invoke "Hide dot files"
  4535. X.menu.view.m entryconfigure "List all" -command "op.update"
  4536. X.menu.view.m entryconfigure "Hide dot files" -command "op.update"
  4537. X
  4538. Xmenubutton .menu.quit -text "Quit" -menu .menu.quit.m
  4539. Xmenu .menu.quit.m
  4540. X.menu.quit.m add command -label "Quit" -command "rename send {}; destroy ."
  4541. X
  4542. Xpack append .menu .menu.file left .menu.arc left .menu.dir \
  4543. X        left .menu.view left .menu.font left .menu.quit left
  4544. Xtk_menus . .menu.file .menu.arc .menu.dir \
  4545. X        .menu.view .menu.font .menu.quit
  4546. X
  4547. Xframe .b
  4548. Xbutton .b.up -padx 60 -text "<<<" -command "parent"
  4549. Xbutton .b.down -padx 60 -text ">>>" -command "child"
  4550. Xpack append .b .b.up {left filly} .b.down {right filly}
  4551. X
  4552. X# create a status line.
  4553. X
  4554. Xlabel .msg
  4555. X.msg configure -textvariable status -foreground red -relief raised
  4556. X
  4557. X# Create a scrollbar on the right side of the main window and a listbox
  4558. X# on the left side.
  4559. X
  4560. Xframe .fa
  4561. Xscrollbar .fa.scroll -command ".fa.list yview"
  4562. Xlistbox .fa.list -yscroll ".fa.scroll set" -relief raised -geometry 20x20
  4563. Xpack append .fa .fa.scroll {right filly} .fa.list {left expand fill}
  4564. X
  4565. Xframe .fb
  4566. Xscrollbar .fb.scroll -command ".fb.list yview"
  4567. Xlistbox .fb.list -yscroll ".fb.scroll set" -relief raised -geometry 20x20
  4568. Xpack append .fb .fb.scroll {right filly} .fb.list {left expand fill}
  4569. X
  4570. Xpack append . .menu {top fillx} .b {top fillx} .msg {bottom fillx} \
  4571. X    .fa {left fill} .fb {right fill}
  4572. X
  4573. X#
  4574. X# Utility routines
  4575. X#
  4576. X
  4577. Xproc notify {text} {
  4578. X    # Update the status line; accomplished by assignment.
  4579. X    global status
  4580. X    set status $text
  4581. X    after 1000 {set status ""}
  4582. X}
  4583. X
  4584. Xproc stick {text} {
  4585. X    # Stick a message on the status line.
  4586. X    global status
  4587. X    set status $text
  4588. X}
  4589. X
  4590. Xproc unstick {} {
  4591. X    global status
  4592. X    set status " "
  4593. X}
  4594. X
  4595. Xset serial 0
  4596. Xproc new_window_name {} {
  4597. X    global serial
  4598. X    set serial [expr 1+$serial]
  4599. X    return .w$serial
  4600. X}
  4601. X
  4602. Xproc dialog {text buttons} {
  4603. X    set w [new_window_name]
  4604. X    toplevel $w -class Dialog
  4605. X    wm geometry $w +300+400
  4606. X    wm title $w "!"
  4607. X
  4608. X    frame $w.sel
  4609. X    set i 1
  4610. X    foreach arg [concat $buttons] {
  4611. X        button $w.sel.$i -text [lindex $arg 0] \
  4612. X            -command "[lindex $arg 1]; destroy $w"
  4613. X        pack append $w.sel $w.sel.$i {left expand fillx}
  4614. X        set i [expr $i+1]
  4615. X    }
  4616. X    $w.sel.1 configure -fg Bisque -bg Black
  4617. X    bind $w <KeyPress-Return> "$w.sel.1 invoke"
  4618. X    message $w.msg -aspect 700 -borderwidth 30 \
  4619. X        -font -*-times-medium-r-normal--*-180* -text $text
  4620. X    pack append $w $w.msg {top expand} $w.sel {bottom fillx}
  4621. X}
  4622. X
  4623. Xproc cancel {} { }
  4624. X
  4625. Xproc getfilename {text trigger} {
  4626. X    set w [new_window_name]
  4627. X    toplevel $w
  4628. X
  4629. X    message    $w.msg -aspect 700 -font -*-times-medium-r-normal--*-180* \
  4630. X        -text $text
  4631. X    entry $w.entry -relief sunken
  4632. X    bind.entry $w.entry
  4633. X
  4634. X    frame $w.sel
  4635. X    button $w.sel.1 -text OK \
  4636. X        -command "$trigger \[$w.entry get\]; destroy $w"
  4637. X    button $w.sel.2 -text Cancel \
  4638. X        -command "destroy $w"
  4639. X    bind $w.entry <KeyPress-Return> "$w.sel.1 invoke"
  4640. X    focus $w.entry
  4641. X    pack append $w.sel \
  4642. X        $w.sel.1 {left expand fillx} $w.sel.2 {left expand fillx}
  4643. X    pack append $w $w.msg {top expand} $w.entry {pady 10 fillx} \
  4644. X        $w.sel {bottom fillx}
  4645. X}
  4646. X
  4647. Xproc parent {} {
  4648. X    # one level up
  4649. X    global dotdot dir revdir
  4650. X    if {[string compare $dotdot ""] != 0} {
  4651. X        set revdir $revdir/[file tail $dir]
  4652. X        set dir [file dirname $dir]
  4653. X        set dotdot [file dirname $dir]
  4654. X        if {[string compare $dotdot "/"] == 0} {
  4655. X            set dotdot ""
  4656. X        }
  4657. X        browse .fa $dotdot
  4658. X        browse .fb $dir
  4659. X    }
  4660. X}
  4661. X
  4662. Xproc child {} {
  4663. X    # one level down
  4664. X    global dotdot dir revdir
  4665. X    if {[string compare $revdir "/"] != 0} {
  4666. X        set dotdot $dir
  4667. X        set dir $dir/[file tail $revdir]
  4668. X        set revdir [file dirname $revdir]
  4669. X        browse .fa $dotdot
  4670. X        browse .fb $dir
  4671. X    }
  4672. X}
  4673. X
  4674. Xproc browse {w dir} {
  4675. X    # display contents of the given directory
  4676. X    global globpat
  4677. X    $w.list yview 0
  4678. X    $w.list delete 0 end
  4679. X    cd "/$dir"
  4680. X    foreach i [lsort [glob -nocomplain $globpat]] {
  4681. X        if [file isdirectory $i] {
  4682. X            $w.list insert end "$i/"
  4683. X        } else {
  4684. X            $w.list insert end $i
  4685. X        }
  4686. X    }
  4687. X    return $dir
  4688. X}
  4689. X
  4690. Xproc nowbusy {w} {
  4691. X    $w.list yview 0
  4692. X    $w.list delete 0 end
  4693. X    $w.list insert end "Listing..."
  4694. X}
  4695. X
  4696. Xproc open_menu {} {
  4697. X    .menu.file post
  4698. X}
  4699. Xproc getpath {} {
  4700. X    .menu.file unpost
  4701. X
  4702. X    global pathname filename
  4703. X    global dotdot dir
  4704. X    set pathname {}
  4705. X    set filename {}
  4706. X    if {[catch "selection get" i] != 0} {
  4707. X        notify "Please select directory or file."
  4708. X        error ""
  4709. X    }
  4710. X    set i [string trimright $i "/"]
  4711. X    if [llength [.fa.list curselection]] {
  4712. X        set pathname "$dotdot/$i"
  4713. X        set filename $i
  4714. X    }
  4715. X    if [llength [.fb.list curselection]] {
  4716. X        set pathname "$dir/$i"
  4717. X        set filename $i
  4718. X    }
  4719. X    set files [selection get]
  4720. X    if {[llength $files] > 1} {
  4721. X        notify "Sorry, multiple selection is not implemented."
  4722. X        error ""
  4723. X    }
  4724. X}
  4725. X
  4726. Xproc to_tx {str} {
  4727. X    # Execute a command then display its result on this terminal.
  4728. X    # Beware: this function blocks the whole application.
  4729. X    #
  4730. X    # There was a terminal emulator called "Tx" in ancient days,
  4731. X    # where you could let Tx evaluate any Tcl command with "\33"
  4732. X    # prefix, thus I could execute any terminal-oriented command
  4733. X    # without being bothered by blockage, thusly:
  4734. X    #
  4735. X    # proc to_tx {str} {
  4736. X    #       puts stdout "\33insert \"$str\\n\"\n"
  4737. X    # }
  4738. X    #
  4739. X    # However, we are living in the state-of-the-art world after all.
  4740. X    # Would you like to go retrospective? At least I do not.
  4741. X    # Could someone devise new, secure, and smart way?
  4742. X
  4743. X    exec echo $str > /dev/tty
  4744. X}
  4745. X
  4746. Xproc to_window {str} {
  4747. X    # Execute a command then display its result on a newly created window.
  4748. X    # This proc is only suitable for non-interactive commands.
  4749. X    set w [new_window_name]
  4750. X    toplevel $w
  4751. X    wm title $w $pathname
  4752. X    button $w.dismiss -text "Dismiss" -command "destroy $w"
  4753. X    bind $w <KeyPress-Return> "destroy $w"
  4754. X    message $w.msg -aspect 400 -font $font -text [eval $str]
  4755. X    pack append $w $w.msg {expand fill} \
  4756. X            $w.dismiss {bottom fillx}
  4757. X}
  4758. X
  4759. X#
  4760. X# File operations
  4761. X#
  4762. X
  4763. Xproc op.view {}    {
  4764. X    # Preview that file.
  4765. X    global pathname filename tmpdir
  4766. X
  4767. X    case "$pathname" in \
  4768. X    "*.Z" {
  4769. X        set zcatfile [string range $filename 0 [expr [string length $filename]-3]]
  4770. X        stick "Uncompressing \"$zcatfile\"..."
  4771. X        exec zcat $pathname > $tmpdir/$zcatfile
  4772. X        unstick
  4773. X        set filename $zcatfile
  4774. X        set pathname $tmpdir/$filename
  4775. X        op.view
  4776. X    } \
  4777. X    {*.gif *.GIF *.jpg *.JPG *.tiff} {
  4778. X        stick "Opening \"$filename\"..."
  4779. X        [exec xv $pathname &]
  4780. X        unstick
  4781. X    } \
  4782. X    {*.eps *.EPS *.ps *.PS} {
  4783. X        stick "Opening \"$filename\"..."
  4784. X        [exec ghostview $pathname &]
  4785. X        unstick
  4786. X    } \
  4787. X    default {
  4788. X        [exec $viewer $pathname &]
  4789. X    }
  4790. X}
  4791. X
  4792. Xproc op.edit {}    {
  4793. X    # Edit that file.
  4794. X    global pathname editor
  4795. X    if {[file isfile "$pathname"]} {
  4796. X        [exec $editor $pathname &]
  4797. X    } else {
  4798. X        notify "Sorry, no DIRED yet."
  4799. X        # This is not true if your $editor==emacs..
  4800. X    }
  4801. X}
  4802. X
  4803. Xproc op.head {} {
  4804. X    global pathname
  4805. X    case "$pathname" in \
  4806. X    {*.Z *.z}    { to_tx "zcat $pathname | head -20" } \
  4807. X    default        { to_tx "head -20 $pathname" }
  4808. X}
  4809. X
  4810. Xproc op.tail {} {
  4811. X    global pathname
  4812. X    case "$pathname" in \
  4813. X    {*.Z *.z}    { to_tx "zcat $pathname | tail -20" } \
  4814. X    default        { to_tx "tail -20 $pathname" }
  4815. X}
  4816. X
  4817. Xproc op.remove {} {
  4818. X    global pathname
  4819. X    dialog "Remove $pathname?" \
  4820. X        {{"OK" "global pathname; doit.remove $pathname"}
  4821. X         {"Cancel" cancel}}
  4822. X}
  4823. X
  4824. Xproc doit.remove {pathname} {
  4825. X    to_tx "rm $pathname"
  4826. X}
  4827. X
  4828. X#
  4829. X# Directory operations
  4830. X#
  4831. X
  4832. Xproc op.compressdir {} {global pathname; to_tx "compressdir $pathname"}
  4833. X
  4834. Xproc op.uncompressdir {} {global pathname; to_tx "uncompressdir $pathname"}
  4835. X
  4836. X#
  4837. X# Archive operations
  4838. X#
  4839. X
  4840. Xproc op.archive {} {
  4841. X    global pathname
  4842. X    getfilename "Enter archive name" doit.archive
  4843. X}
  4844. X
  4845. Xproc doit.archive {archive} {
  4846. X    global pathname command
  4847. X    case "$archive" in \
  4848. X    "*.tar"    {
  4849. X        set command "tar cvf \$dest/$archive $pathname"
  4850. X    } \
  4851. X    "*.tar.Z" {
  4852. X        set command "tar cvf - $pathname | compress > \$dest/$archive"
  4853. X    } \
  4854. X    "*.shar" {
  4855. X        set command "shar $pathname > \$dest/$archive"
  4856. X    } \
  4857. X    "*.shar.Z" {
  4858. X        set command "shar $pathname | compress > \$dest/$archive"
  4859. X    } \
  4860. X    default {
  4861. X        notify "I don't know how to create $archive"
  4862. X        set command ""
  4863. X        error ""
  4864. X        return
  4865. X    }
  4866. X    # Request other wwalks to ask user for destination directory.
  4867. X    dest.request "archive_here"
  4868. X}
  4869. X
  4870. Xproc op.unarchive {} {
  4871. X    global pathname command
  4872. X    case "$pathname" in \
  4873. X    "*.tar" {
  4874. X        set command "cd \$dest; tar xvf $pathname"
  4875. X    } \
  4876. X    "*.tar.Z" {
  4877. X        set command "cd \$dest; zcat $pathname | tar xvf -"
  4878. X    } \
  4879. X    "*.shar" {
  4880. X        set command "cd \$dest; unshar $pathname"
  4881. X    } \
  4882. X    "*.shar.Z" {
  4883. X        set command "cd \$dest; zcat $pathname | unshar"
  4884. X    } \
  4885. X    default {
  4886. X        notify "I don't know how to extract from $pathname"
  4887. X        set command ""
  4888. X    }
  4889. X    # Request other wwalks to ask user for destination directory.
  4890. X    dest.request "unarchive_here"
  4891. X}
  4892. X
  4893. Xproc op.contents {} {
  4894. X    global pathname
  4895. X    case "$pathname" in \
  4896. X    "*.tar"        { to_tx "tar tvf $pathname" } \
  4897. X    "*.tar.Z"    { to_tx "zcat $pathname | tar tvf -" } \
  4898. X    "*.shar"    { to_tx "egrep '(x -|^echo)' $pathname" } \
  4899. X    "*.shar.Z"    { to_tx "zcat $pathname | egrep '(x -|^echo)'" } \
  4900. X    default        { to_tx "file $pathname" }
  4901. X}
  4902. X
  4903. X# View menu
  4904. X
  4905. Xproc op.update {} {
  4906. X    global dotdot dir
  4907. X    browse .fa $dotdot
  4908. X    browse .fb $dir
  4909. X}
  4910. X
  4911. Xproc op.home {} {
  4912. X    global dotdot dir home
  4913. X    set dir $home
  4914. X    set dotdot [file dirname $dir]
  4915. X    op.update
  4916. X}
  4917. X
  4918. Xproc op.mntdir {} {
  4919. X    global dotdot dir mntdir
  4920. X    set dir $mntdir
  4921. X    set dotdot [file dirname $dir]
  4922. X    op.update
  4923. X}
  4924. X
  4925. X#
  4926. X# Procs to collaborate with other wwalks
  4927. X#
  4928. X
  4929. Xproc talk.hello {id} {
  4930. X    global self_id
  4931. X    if {[winfo id .] == $id} {
  4932. X        return "no"
  4933. X    }
  4934. X    return "ok"
  4935. X}
  4936. X
  4937. Xproc talk.tellme {id msg new_title} {
  4938. X    global sender_id dest_msg cooperative
  4939. X    set sender_id $id
  4940. X    set dest_msg $msg
  4941. X    foreach i $cooperative {
  4942. X        .menu.arc.m disable $i
  4943. X    }
  4944. X    .menu.arc.m enable "destination"
  4945. X    .menu.arc.m entryconfigure "destination" -label "$dest_msg"
  4946. X    wm title . "$new_title"
  4947. X}
  4948. X
  4949. Xproc talk.thanx {} {
  4950. X    global title dest_msg cooperative
  4951. X    foreach i $cooperative {
  4952. X        .menu.arc.m enable $i
  4953. X    }
  4954. X    .menu.arc.m entryconfigure "$dest_msg" -label "destination"
  4955. X    .menu.arc.m disable "destination"
  4956. X    wm title . $title
  4957. X}
  4958. X
  4959. Xproc broadcast {cmd} {
  4960. X    global self_id
  4961. X    foreach interp [winfo interps] {
  4962. X        # even attempts to talk itself, but it works.
  4963. X        if {[string match "wwalk*" $interp]} {
  4964. X            set reply [send $interp talk.hello [winfo id .]]
  4965. X            if {[string compare $reply "ok"] == 0} {
  4966. X#puts stdout "send $interp $cmd\n"
  4967. X                eval "send \"$interp\" $cmd"
  4968. X            }
  4969. X        }
  4970. X    }
  4971. X}
  4972. X
  4973. Xproc dest.request {msg} {
  4974. X    global hostname pathname self_id
  4975. X    .fa.list config -bg Black -fg Bisque
  4976. X    .fb.list config -bg Black -fg Bisque
  4977. X    set title "\{${hostname}:${pathname}-->\${hostname}\}"
  4978. X    broadcast "talk.tellme [winfo id .] $msg $title"
  4979. X}
  4980. X
  4981. Xproc dest.hereis {id dest} {
  4982. X    global self_id command
  4983. X    if {[winfo id .] == $id} {
  4984. X        .fa.list config -bg Bisque -fg Black
  4985. X        .fb.list config -bg Bisque -fg Black
  4986. X        broadcast "talk.thanx"
  4987. X        # puts stdout "\33set dest \"$dest\"\n"
  4988. X        puts stdout "set dest \"$dest\"\n"
  4989. X        to_tx "$command"
  4990. X    }
  4991. X}
  4992. X
  4993. Xproc dest.reply {} {
  4994. X    global sender_id pathname
  4995. X    broadcast "dest.hereis $sender_id \{$pathname\}"
  4996. X}
  4997. X
  4998. X#
  4999. X# Main
  5000. X#
  5001. X
  5002. X# Where shall I start walking from?
  5003. Xif $argc>0 {
  5004. X    set dir [lindex $argv 0]
  5005. X} else {
  5006. X    # chop pwd
  5007. X    set dir [string trim [exec pwd]]
  5008. X}
  5009. X
  5010. X# Miscellaneous setup
  5011. Xset self_id [winfo id .]
  5012. Xset home [exec csh -c "echo -n ~"]
  5013. Xset hostname [string trim [exec hostname]]
  5014. Xset i [string first "." $hostname]
  5015. Xif {$i > 0} {
  5016. X    set hostname [string range $hostname 0 [expr $i-1]]
  5017. X}
  5018. X
  5019. X# Read ".wwalkrc"
  5020. Xif [file exists "/usr/local/lib/wwalkrc"] {
  5021. X    set rcfile "/usr/local/lib/wwalkrc"
  5022. X}
  5023. Xif [file exists "$home/.wwalkrc"] {
  5024. X    set rcfile "$home/.wwalkrc"
  5025. X}
  5026. Xif [llength $rcfile] {
  5027. X    puts stdout "Reading startup script from $rcfile..."
  5028. X    source $rcfile
  5029. X}
  5030. X
  5031. Xset title "wwalk - $hostname"
  5032. Xwm title . $title
  5033. X# Full pathname of the selected file.
  5034. Xset pathname ""
  5035. X# Filename of the selected file.
  5036. Xset filename ""
  5037. X# Reversed directory -- used for stepping up/down.
  5038. Xset revdir "/"
  5039. X# Globbing pattern.
  5040. Xset globpat "*"
  5041. Xset dotdot [file dirname $dir]
  5042. X
  5043. Xbrowse .fa $dotdot
  5044. Xif {[string compare $dir "/"] != 0} {
  5045. X    browse .fb $dir
  5046. X}
  5047. X
  5048. X#
  5049. X# Set up bindings for the browser.
  5050. X#
  5051. X
  5052. Xbind .fa.list <Double-1> {
  5053. X    set i [selection get]
  5054. X    set i [string trimright $i "/"]
  5055. X    set revdir "/"
  5056. X    if [file isfile "$dotdot/$i"] {
  5057. X        if {[set name [wwmounted "$dotdot/$i"]] != 0} {
  5058. X            puts $so "RETR $name\n"
  5059. X            stick "Retrieving  \"$name\"..."
  5060. X        }
  5061. X        open_menu
  5062. X    } else {
  5063. X        if {[set name [wwmounted "$dotdot/$i"]] != 0} {
  5064. X            puts $so "LIST $name/.\n"
  5065. X            stick "Listing \"$name\"..."
  5066. X            nowbusy .fb
  5067. X            set dir $dotdot/$i
  5068. X        } else {
  5069. X            set dir [browse .fb $dotdot/$i]
  5070. X        }
  5071. X    }
  5072. X}
  5073. Xbind .fb.list <Double-1> {
  5074. X    set i [selection get]
  5075. X    set i [string trimright $i "/"]
  5076. X    set revdir "/"
  5077. X    if [file isfile $dir/$i] {
  5078. X        if {[set name [wwmounted "$dir/$i"]] != 0} {
  5079. X            puts $so "RETR $name\n"
  5080. X            stick "Retrieving  \"$name\"..."
  5081. X        }
  5082. X        open_menu
  5083. X    } else {
  5084. X        if {[set name [wwmounted "$dir/$i"]] != 0} {
  5085. X            puts $so "LIST $name/.\n"
  5086. X            stick "Listing \"$name\"..."
  5087. X            nowbusy .fb
  5088. X            set dotdot [browse .fa $dir]
  5089. X            set dir $dir/$i
  5090. X        } else {
  5091. X            set dotdot [browse .fa $dir]
  5092. X            set dir [browse .fb $dir/$i]
  5093. X        }
  5094. X    }
  5095. X}
  5096. X
  5097. Xbind .msg <Any-Enter> {
  5098. X    .msg configure -foreground gold
  5099. X}
  5100. Xbind .msg <Any-Leave> {
  5101. X    .msg configure -foreground red
  5102. X}
  5103. Xbind .msg <Any-ButtonPress> {
  5104. X    set status ""
  5105. X}
  5106. X
  5107. X#
  5108. X# WWUIP client code starts here...
  5109. X#
  5110. X
  5111. Xset mntlen [expr [string length $mntdir]-1]
  5112. X
  5113. Xproc wwmounted {name} {
  5114. X    global mntdir
  5115. X    global mntlen
  5116. X    if {[string compare $mntdir [string range $name 0 $mntlen]] == 0} {
  5117. X        return [string range $name [expr $mntlen+1] end]
  5118. X    } else {
  5119. X        return 0
  5120. X    }
  5121. X}
  5122. X
  5123. Xproc get_line {type fid} {
  5124. X    global status so            # ignore fid...
  5125. X    global nameof typeof
  5126. X    global dotdot dir revdir
  5127. X
  5128. X    set ret [gets $so line]
  5129. X    if {$ret < 0} {
  5130. X        close $so
  5131. X    }
  5132. X#puts stdout "wwuip: $line"
  5133. X
  5134. X    set ret [string range $line 0 2]
  5135. X    set mark [string range $line 3 3]
  5136. X    set id [string range $line 4 6]
  5137. X    if {$ret == 220} {
  5138. X        set objtype [string range $line 8 10]
  5139. X        set objname [string range $line 12 end]
  5140. X#puts stdout "objtype: \"$objtype\""
  5141. X#puts stdout "objname: \"$objname\""
  5142. X        set typeof($id) $objtype
  5143. X        set nameof($id) $objname
  5144. X    }
  5145. X    if {[string compare $mark "."] != 0} {
  5146. X        return
  5147. X    }
  5148. X
  5149. X    case $typeof($id) in \
  5150. X    "dir"    {
  5151. X        browse .fa $dotdot
  5152. X        browse .fb $dir
  5153. X        unstick
  5154. X    }
  5155. X    unset nameof($id)
  5156. X}
  5157. X
  5158. Xif {[catch "connect $cshost 8002" so] != 0} {
  5159. X    puts stdout "Cannot connect to that host."
  5160. X    puts stdout "$so"
  5161. X    set so 0
  5162. X} else {
  5163. X    filehandler $so r get_line
  5164. X}
  5165. X
  5166. END_OF_FILE
  5167.   if test 17712 -ne `wc -c <'wwalk/wwalk'`; then
  5168.     echo shar: \"'wwalk/wwalk'\" unpacked with wrong size!
  5169.   fi
  5170.   chmod +x 'wwalk/wwalk'
  5171.   # end of 'wwalk/wwalk'
  5172. fi
  5173. echo shar: End of archive 6 \(of 22\).
  5174. cp /dev/null ark6isdone
  5175. MISSING=""
  5176. 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
  5177.     if test ! -f ark${I}isdone ; then
  5178.     MISSING="${MISSING} ${I}"
  5179.     fi
  5180. done
  5181. if test "${MISSING}" = "" ; then
  5182.     echo You have unpacked all 22 archives.
  5183.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  5184. else
  5185.     echo You still must unpack the following archives:
  5186.     echo "        " ${MISSING}
  5187. fi
  5188. exit 0
  5189. exit 0 # Just in case...
  5190.