%!PS-Adobe-3.0 %%Title: (genbbb/wwww A4) %%Creator: (Microsoft Word: LaserWriter 8 8.1.1) %%CreationDate: (10:32 AM Tuesday, April 26, 1994) %%For: (Oliver McBryan) %%Pages: 12 %%DocumentFonts: Palatino-Bold Palatino-Roman Palatino-Italic Courier %%DocumentNeededFonts: Palatino-Bold Palatino-Roman Palatino-Italic Courier %%DocumentSuppliedFonts: %%DocumentData: Clean7Bit %%PageOrder: Ascend %%Orientation: Portrait %ADO_PaperArea: -30 -29 812 566 %ADO_ImageableArea: 0 0 781 538 %%EndComments /md 182 dict def md begin /currentpacking where {pop /sc_oldpacking currentpacking def true setpacking}if %%BeginFile: adobe_psp_basic %%Copyright: Copyright 1990-1993 Adobe Systems Incorporated. All Rights Reserved. /bd{bind def}bind def /xdf{exch def}bd /xs{exch store}bd /ld{load def}bd /Z{0 def}bd /T/true /F/false /:L/lineto /lw/setlinewidth /:M/moveto /rl/rlineto /rm/rmoveto /:C/curveto /:T/translate /:K/closepath /:mf/makefont /gS/gsave /gR/grestore /np/newpath 14{ld}repeat /$m matrix def /av 81 def /por true def /normland false def /psb-nosave{}bd /pse-nosave{}bd /us Z /psb{/us save store}bd /pse{us restore}bd /level2 /languagelevel where { pop languagelevel 2 ge }{ false }ifelse def /featurecleanup { stopped cleartomark countdictstack exch sub dup 0 gt { {end}repeat }{ pop }ifelse }bd /noload Z /startnoload { {/noload save store}if }bd /endnoload { {noload restore}if }bd level2 startnoload /setjob { statusdict/jobname 3 -1 roll put }bd /setcopies { userdict/#copies 3 -1 roll put }bd level2 endnoload level2 not startnoload /setjob { 1 dict begin/JobName xdf currentdict end setuserparams }bd /setcopies { 1 dict begin/NumCopies xdf currentdict end setpagedevice }bd level2 not endnoload /pm Z /mT Z /sD Z /realshowpage Z /initializepage { /pm save store mT concat }bd /endp { pm restore showpage }def /$c/DeviceRGB def /rectclip where { pop/rC/rectclip ld }{ /rC { np 4 2 roll :M 1 index 0 rl 0 exch rl neg 0 rl :K clip np }bd }ifelse /rectfill where { pop/rF/rectfill ld }{ /rF { gS np 4 2 roll :M 1 index 0 rl 0 exch rl neg 0 rl fill gR }bd }ifelse /rectstroke where { pop/rS/rectstroke ld }{ /rS { gS np 4 2 roll :M 1 index 0 rl 0 exch rl neg 0 rl :K stroke gR }bd }ifelse %%EndFile %%BeginFile: adobe_psp_colorspace_level1 %%Copyright: Copyright 1991-1993 Adobe Systems Incorporated. All Rights Reserved. /G/setgray ld /:F/setrgbcolor ld %%EndFile %%BeginFile: adobe_psp_uniform_graphics %%Copyright: Copyright 1990-1993 Adobe Systems Incorporated. All Rights Reserved. /@a { np :M 0 rl :L 0 exch rl 0 rl :L fill }bd /@b { np :M 0 rl 0 exch rl :L 0 rl 0 exch rl fill }bd /arct where { pop }{ /arct { arcto pop pop pop pop }bd }ifelse /x1 Z /x2 Z /y1 Z /y2 Z /rad Z /@q { /rad xs /y2 xs /x2 xs /y1 xs /x1 xs np x2 x1 add 2 div y1 :M x2 y1 x2 y2 rad arct x2 y2 x1 y2 rad arct x1 y2 x1 y1 rad arct x1 y1 x2 y1 rad arct fill }bd /@s { /rad xs /y2 xs /x2 xs /y1 xs /x1 xs np x2 x1 add 2 div y1 :M x2 y1 x2 y2 rad arct x2 y2 x1 y2 rad arct x1 y2 x1 y1 rad arct x1 y1 x2 y1 rad arct :K stroke }bd /@i { np 0 360 arc fill }bd /@j { gS np :T scale 0 0 .5 0 360 arc fill gR }bd /@e { np 0 360 arc :K stroke }bd /@f { np $m currentmatrix pop :T scale 0 0 .5 0 360 arc :K $m setmatrix stroke }bd /@k { gS np :T 0 0 :M 0 0 5 2 roll arc fill gR }bd /@l { gS np :T 0 0 :M scale 0 0 .5 5 -2 roll arc fill gR }bd /@m { np arc stroke }bd /@n { np $m currentmatrix pop :T scale 0 0 .5 5 -2 roll arc $m setmatrix stroke }bd %%EndFile %%BeginFile: adobe_psp_basic_text %%Copyright: Copyright 1990-1993 Adobe Systems Incorporated. All Rights Reserved. /S/show ld /A{ 0.0 exch ashow }bd /R{ 0.0 exch 32 exch widthshow }bd /W{ 0.0 3 1 roll widthshow }bd /J{ 0.0 32 4 2 roll 0.0 exch awidthshow }bd /V{ 0.0 4 1 roll 0.0 exch awidthshow }bd /fcflg true def /fc{ fcflg{ vmstatus exch sub 50000 lt{ (%%[ Warning: Running out of memory ]%%\r)print flush/fcflg false store }if pop }if }bd /$f[1 0 0 -1 0 0]def /:ff{$f :mf}bd /MacEncoding StandardEncoding 256 array copy def MacEncoding 39/quotesingle put MacEncoding 96/grave put /Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute /agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave /ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde/oacute /ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex/udieresis /dagger/degree/cent/sterling/section/bullet/paragraph/germandbls /registered/copyright/trademark/acute/dieresis/notequal/AE/Oslash /infinity/plusminus/lessequal/greaterequal/yen/mu/partialdiff/summation /product/pi/integral/ordfeminine/ordmasculine/Omega/ae/oslash /questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta/guillemotleft /guillemotright/ellipsis/space/Agrave/Atilde/Otilde/OE/oe /endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide/lozenge /ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright/fi/fl /daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand /Acircumflex/Ecircumflex/Aacute/Edieresis/Egrave/Iacute/Icircumflex/Idieresis/Igrave /Oacute/Ocircumflex/apple/Ograve/Uacute/Ucircumflex/Ugrave/dotlessi/circumflex/tilde /macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron MacEncoding 128 128 getinterval astore pop level2 startnoload /copyfontdict { findfont dup length dict begin { 1 index/FID ne{def}{pop pop}ifelse }forall }bd level2 endnoload level2 not startnoload /copyfontdict { findfont dup length dict copy begin }bd level2 not endnoload md/fontname known not{ /fontname/customfont def }if /Encoding Z /:mre { copyfontdict /Encoding MacEncoding def fontname currentdict end definefont :ff def }bd /:bsr { copyfontdict /Encoding Encoding 256 array copy def Encoding dup }bd /pd{put dup}bd /:esr { pop pop fontname currentdict end definefont :ff def }bd /scf { scalefont def }bd /scf-non { $m scale :mf setfont }bd /ps Z /fz{/ps xs}bd /sf/setfont ld /cF/currentfont ld /mbf { /makeblendedfont where { pop makeblendedfont /ABlend exch definefont }{ pop }ifelse def }def %%EndFile %%BeginFile: adobe_psp_derived_styles %%Copyright: Copyright 1990-1993 Adobe Systems Incorporated. All Rights Reserved. /wi version(23.0)eq { { gS 0 0 0 0 rC stringwidth gR }bind }{ /stringwidth load }ifelse def /$o 1. def /gl{$o G}bd /ms{:M S}bd /condensedmtx[.82 0 0 1 0 0]def /:mc { condensedmtx :mf def }bd /extendedmtx[1.18 0 0 1 0 0]def /:me { extendedmtx :mf def }bd /basefont Z /basefonto Z /dxa Z /dxb Z /dxc Z /dxd Z /dsdx2 Z /bfproc Z /:fbase { dup/FontType get 0 eq{ dup length dict begin dup{1 index/FID ne 2 index/UniqueID ne and{def}{pop pop}ifelse}forall /FDepVector exch/FDepVector get[exch/:fbase load forall]def }/bfproc load ifelse /customfont currentdict end definefont }bd /:mo { /bfproc{ dup dup length 2 add dict begin { 1 index/FID ne 2 index/UniqueID ne and{def}{pop pop}ifelse }forall /PaintType 2 def /StrokeWidth .012 0 FontMatrix idtransform pop def /customfont currentdict end definefont 8 dict begin /basefonto xdf /basefont xdf /FontType 3 def /FontMatrix[1 0 0 1 0 0]def /FontBBox[0 0 1 1]def /Encoding StandardEncoding def /BuildChar { exch begin basefont setfont ( )dup 0 4 -1 roll put dup wi setcharwidth 0 0 :M gS gl dup show gR basefonto setfont show end }def }store :fbase }bd /:mso { /bfproc{ 7 dict begin /basefont xdf /FontType 3 def /FontMatrix[1 0 0 1 0 0]def /FontBBox[0 0 1 1]def /Encoding StandardEncoding def /BuildChar { exch begin sD begin /dxa 1 ps div def basefont setfont ( )dup 0 4 -1 roll put dup wi 1 index 0 ne { exch dxa add exch }if setcharwidth dup 0 0 ms dup dxa 0 ms dup dxa dxa ms dup 0 dxa ms gl dxa 2. div dup ms end end }def }store :fbase }bd /:ms { /bfproc{ dup dup length 2 add dict begin { 1 index/FID ne 2 index/UniqueID ne and{def}{pop pop}ifelse }forall /PaintType 2 def /StrokeWidth .012 0 FontMatrix idtransform pop def /customfont currentdict end definefont 8 dict begin /basefonto xdf /basefont xdf /FontType 3 def /FontMatrix[1 0 0 1 0 0]def /FontBBox[0 0 1 1]def /Encoding StandardEncoding def /BuildChar { exch begin sD begin /dxb .05 def basefont setfont ( )dup 0 4 -1 roll put dup wi exch dup 0 ne { dxb add }if exch setcharwidth dup dxb .01 add 0 ms 0 dxb :T gS gl dup 0 0 ms gR basefonto setfont 0 0 ms end end }def }store :fbase }bd /:mss { /bfproc{ 7 dict begin /basefont xdf /FontType 3 def /FontMatrix[1 0 0 1 0 0]def /FontBBox[0 0 1 1]def /Encoding StandardEncoding def /BuildChar { exch begin sD begin /dxc 1 ps div def /dsdx2 .05 dxc 2 div add def basefont setfont ( )dup 0 4 -1 roll put dup wi exch dup 0 ne { dsdx2 add }if exch setcharwidth dup dsdx2 .01 add 0 ms 0 .05 dxc 2 div sub :T dup 0 0 ms dup dxc 0 ms dup dxc dxc ms dup 0 dxc ms gl dxc 2 div dup ms end end }def }store :fbase }bd /:msb { /bfproc{ 7 dict begin /basefont xdf /FontType 3 def /FontMatrix[1 0 0 1 0 0]def /FontBBox[0 0 1 1]def /Encoding StandardEncoding def /BuildChar { exch begin sD begin /dxd .03 def basefont setfont ( )dup 0 4 -1 roll put dup wi 1 index 0 ne { exch dxd add exch }if setcharwidth dup 0 0 ms dup dxd 0 ms dup dxd dxd ms 0 dxd ms end end }def }store :fbase }bd /italicmtx[1 0 -.212557 1 0 0]def /:mi { italicmtx :mf def }bd /:v { [exch dup/FontMatrix get exch dup/FontInfo known { /FontInfo get dup/UnderlinePosition known { dup/UnderlinePosition get 2 index 0 3 1 roll transform exch pop }{ .1 }ifelse 3 1 roll dup/UnderlineThickness known { /UnderlineThickness get exch 0 3 1 roll transform exch pop abs }{ pop pop .067 }ifelse }{ pop pop .1 .067 }ifelse ] }bd /$t Z /$p Z /$s Z /:p { aload pop 2 index mul/$t xs 1 index mul/$p xs .012 mul/$s xs }bd /:m {gS 0 $p rm $t lw 0 rl stroke gR }bd /:n { gS 0 $p rm $t lw 0 rl gS gl stroke gR strokepath $s lw /setstrokeadjust where{pop currentstrokeadjust true setstrokeadjust stroke setstrokeadjust }{ stroke }ifelse gR }bd /:o {gS 0 $p rm $t 2 div dup rm $t lw dup 0 rl stroke gR :n }bd %%EndFile /currentpacking where {pop sc_oldpacking setpacking}if end % md %%EndProlog %%BeginSetup md begin countdictstack [ {%stopped %%BeginFeature: *ManualFeed False 1 dict dup /ManualFeed false put setpagedevice %%EndFeature }featurecleanup countdictstack [ {%stopped %%BeginFeature: *PageSize A4Small 2 dict dup /PageSize [595 842] put dup /ImagingBBox null put setpagedevice %%EndFeature }featurecleanup (Oliver McBryan)setjob /pT[1 0 0 -1 29 812]def/mT[1 0 0 -1 29 812]def /sD 16 dict def 300 level2{1 dict dup/WaitTimeout 4 -1 roll put setuserparams}{statusdict/waittimeout 3 -1 roll put}ifelse %%IncludeFont: Palatino-Bold %%IncludeFont: Palatino-Roman %%IncludeFont: Palatino-Italic %%IncludeFont: Courier /f0_1/Palatino-Bold :mre /f0_14 f0_1 14 scf /f0_12 f0_1 12 scf /f0_11 f0_1 11 scf /f1_1/Palatino-Roman :mre /f1_14 f1_1 14 scf /f1_12 f1_1 12 scf /f1_11 f1_1 11 scf /f1_10 f1_1 10 scf /f1_9 f1_1 9 scf /f2_1 f1_1 :v def /f3_1 f0_1 :v def /f4_1/Palatino-Italic :mre /f4_11 f4_1 11 scf /f4_9 f4_1 9 scf /f5_1/Courier :mre /f5_11 f5_1 11 scf /Courier findfont[10 0 0 -10 0 0]:mf setfont %%EndSetup %%Page: 1 1 %%BeginPageSetup initializepage (Oliver McBryan; page: 1 of 12)setjob %%EndPageSetup gS 0 0 538 781 rC 111 72 :M f0_14 sf -.226(GENVL and WWWW: Tools for Taming the Web)A f1_14 sf 0 -3 rm -.157(*)A 0 3 rm f1_9 sf 0 -8 rm (\240)S 0 8 rm 214 118 :M f1_12 sf .979 .098(Oliver A. McBryan)J 195 132 :M .908 .091(Dept. of Computer Science)J 204 146 :M 1.345 .134(University of Colorado)J 216 160 :M .445 .044(Boulder, CO 80309.)J 177 188 :M 1.778 .178(Email: mcbryan@cs.colorado.edu)J 119 201 :M f1_10 sf .197 .02(WWW: http://www.cs.colorado.edu/home/mcbryan/Home.html)J 242 258 :M f0_14 sf -.233(Abstract)A 115 292 :M f1_12 sf 3.131 .313(A fundamental problem with the World Wide Web is the)J 79 306 :M 4.227 .423(enormous number of resources available and the difficulty of)J 79 320 :M 1.471 .147(locating and tracking everything. In this paper we will discuss two)J 79 334 :M 1.286 .129(tools, GENVL and WWWW, designed to deal in different ways with)J 79 348 :M 1.966 .197(resource location on the WWW.)J 115 368 :M 4.268 .427(GENVL is an interactive user-driven hierarchical virtual)J 79 382 :M 2.13 .213(library system for cataloguing Web resources. The real power of)J 79 396 :M 3.676 .368(GENVL comes from the built-in recursion which is the key to)J 79 410 :M 1.872 .187(extendibility and to avoiding the generation of massive linear lists.)J 79 424 :M .801 .08(GENVL has been accessed 112,000 times in 4 months.)J 115 444 :M 2.023 .202(WWWW - the WWW Worm - is a resource location tool. It)J 79 458 :M 1.897 .19(is intended to locate almost all of the WWW-addressable resources)J 79 472 :M 2.568 .257(on the Internet, and provide a powerful search interface to those)J 79 486 :M 1.597 .16(resources. Searches can be performed on document titles, reference)J 79 500 :M 2.701 .27(hypertext, or within the components of the URL name strings of)J 79 514 :M 3.291 .329(documents - for example to locate all mpeg movies in Finland.)J 79 528 :M .936 .094(WWWW has been accessed 60,000 times in 45 days.)J 115 548 :M 1.829 .183(In the paper we discuss the design of GENVL and WWWW,)J 79 562 :M 2.226 .223(the tools needed to make them work, and difficulties encountered)J 79 576 :M 1.816 .182(with using underlying WWW facilities.)J 79 596 :M 12 f2_1 :p 68.328 :m 1.166(Keywords:)A 4.392 .439( WWW, virtual library, internet, resource location,)J 79 610 :M .998 .1(bulletin board, search service.)J -4125 -4125 -1 1 -4123 -4125 1 -4125 -4126 @a 43 685.24 -.24 .24 186.24 685 .24 43 685 @a 43 698 :M f1_9 sf .113 .011(* )J f1_10 sf 0 3 rm .488 .049(Research supported in part by NSF Grand Challenges Applications Group grant ASC-9217394 and)J 0 -3 rm 43 713 :M -.015(by NASA HPCC Group Grant NAG5-2218.)A 43 722 :M f1_9 sf .824 .082(\240 )J f1_10 sf 0 3 rm 2.646 .265(To appear in Proceedings of the First International World Wide Web Conference, ed. O.)J 0 -3 rm 43 737 :M .742 .074(Nierstrasz, CERN, Geneva, May 1994.)J endp %%Page: 2 2 %%BeginPageSetup initializepage (Oliver McBryan; page: 2 of 12)setjob %%EndPageSetup -29 -30 :T gS 29 30 538 781 rC 220 80 :M f0_14 sf (TABLE OF CONTENTS)S 72 102 :M f0_12 sf .708 .071(1. Introduction)J 156 102 :M (......................................................................................................)S 155 102 :M ( )S 463 102 :M (1)S 72 128 :M (2. GENVL)S 129 128 :M (...............................................................................................................)S 128 128 :M ( )S 463 128 :M (2)S 108 149 :M f1_11 sf .195 .019(2.1. Overview)J 177 149 :M .253(...............................................................................................)A 176 149 :M .25 .025( )J 463 149 :M (2)S 144 165 :M f1_10 sf 1.317 .132(2.1.1. Related Work)J 237 165 :M .507(...........................................................................)A 235 165 :M ( )S 463 165 :M (2)S 108 182 :M f1_11 sf .286 .029(2.2. GENVL Virtual Libraries)J 252 182 :M .254(......................................................................)A 251 182 :M .25 .025( )J 463 182 :M (3)S 108 200 :M .518 .052(2.3. GENVL Entries)J 207 200 :M .253(.....................................................................................)A 205 200 :M .25 .025( )J 463 200 :M (4)S 108 218 :M .719 .072(2.4. GENVL Operations)J 228 218 :M .253(..............................................................................)A 226 218 :M .25 .025( )J 463 218 :M (4)S 108 236 :M 1.851 .185(2.5. Other Features.......................................................................................)J 201 236 :M .25 .025( )J 463 236 :M (5)S 108 254 :M -.002(2.6. GENVL Implementation)A 249 254 :M .254(.......................................................................)A 247 254 :M .25 .025( )J 463 254 :M (5)S 72 277 :M f0_12 sf 5 .5(3. WWWW)J 141 277 :M (...........................................................................................................)S 140 277 :M ( )S 463 277 :M (6)S 108 298 :M f1_11 sf .195 .019(3.1. Overview)J 177 298 :M .253(...............................................................................................)A 176 298 :M .25 .025( )J 463 298 :M (6)S 144 314 :M f1_10 sf 1.317 .132(3.1.1. Related Work)J 237 314 :M .507(...........................................................................)A 235 314 :M ( )S 463 314 :M (6)S 108 331 :M f1_11 sf .277 .028(3.2. WWWW Resource Location)J 267 331 :M .254(.................................................................)A 265 331 :M .25 .025( )J 463 331 :M (6)S 144 347 :M f1_10 sf 1.183 .118(3.2.1. Archive format:)J 246 347 :M .507(........................................................................)A 244 347 :M ( )S 463 347 :M (7)S 144 362 :M 1.434 .143(3.2.2. Ensuring that WWWW is Well-Behaved)J 360 362 :M .515(..................................)A 359 362 :M ( )S 463 362 :M (8)S 108 379 :M f1_11 sf 1.459 .146(3.3. WWWW Search Engine.........................................................................)J 243 379 :M .25 .025( )J 463 379 :M (8)S 72 402 :M f0_12 sf .082 .008(4. Conclusions.......................................................................................................)J 153 402 :M ( )S 463 402 :M (9)S 72 428 :M (References..............................................................................................................)S 132 428 :M ( )S 463 428 :M (9)S endp %%Page: 3 3 %%BeginPageSetup initializepage (Oliver McBryan; page: 3 of 12)setjob %%EndPageSetup -29 -30 :T gS 29 30 538 781 rC 287 802 :M f1_12 sf (- 1 -)S 140 102 :M f0_14 sf -.226(GENVL and WWWW: Tools for Taming the Web)A f1_14 sf 0 -3 rm -.157(*)A 0 3 rm f1_9 sf 0 -8 rm (\240)S 0 8 rm 250 143 :M f1_11 sf .046 .005(Oliver A. McBryan)J 232 155 :M .138 .014(Dept. of Computer Science)J 241 167 :M .176 .018(University of Colorado)J 249 179 :M .858 .086(Boulder, CO 80309.)J 217 203 :M -.014(Email: mcbryan@cs.colorado.edu)A 134 215 :M -.01(WWW: http://www.cs.colorado.edu/home/mcbryan/Home.html)A 72 281 :M f0_11 sf 11 f3_1 :p 76 :m .614 .061(1. Introduction)J 108 309 :M f1_11 sf .07 .007(A fundamental problem with the World Wide Web \(WWW\) is the enormous number)J 72 321 :M 1.449 .145(of resources available and the difficulty of locating and tracking everything. Manually)J 72 333 :M .144 .014(generated archives are extremely laborious to develop, and are intrinsically non-scalable. In)J 72 345 :M .227 .023(this paper we will describe two tools, GENVL and WWWW, designed to deal with resource)J 72 357 :M .116 .012(location on the WWW.)J 108 375 :M .802 .08(GENVL \(GENerate Virtual Library\) is an interactive hierarchical virtual library for)J 72 387 :M .279 .028(cataloguing Web resources by subject area. GENVL has been in operation for some months)J 72 399 :M .185 .019(and outside users have by now added hundreds of interesting entries and created dozens of)J 72 411 :M -.067(new sub virtual libraries.)A 108 429 :M .425 .042(GENVL derives its power from the built-in recursion which is the key to scalability,)J 72 441 :M 1.248 .125(extendibility and to avoiding the generation of massive linear lists. Operations are also)J 72 453 :M -.069(provided for editing and moving entries thereby allowing users and moderators to reorganize)A 72 465 :M 1.209 .121(data as appropriate.)J 108 483 :M .559 .056(WWWW - the WWW Worm - is a resource location tool. It is intended to locate all)J 72 495 :M .143 .014(of the WWW-addressable resources on the Internet, and provide a powerful search interface)J 72 507 :M 1.111 .111(to those resources. The system consists of two parts: one that locates resources, and the)J 72 519 :M -.014(other which provides the search interface.)A 108 537 :M .883 .088(The resource locator is run periodically to create a reference database. The search)J 72 549 :M .857 .086(client provides fast access to the database. Searches can be performed on titles, reference)J 72 561 :M -.01(hypertext, or within the components of URL name strings.)A 108 579 :M .267 .027(Both GENVL and WWWW are experiencing very heavy demand. Usage is typically)J 72 591 :M .133 .013(in the range of 1,500 acceses per day for each program, and it appears from user's comments)J 72 603 :M .271 .027(that both services are quite appreciated.)J 108 621 :M 1.163 .116(Section 2 discusses GENVL in detail, while section 3 focuses on WWWW. While)J 72 633 :M .701 .07(these tools are unrelated we have found useful ways to couple them. The GENVL virtual)J 72 645 :M .071 .007(library pages include a pointer to WWWW so that a user who cannot locate a resource in the)J 72 657 :M .367 .037(virtual library can try a keyword search for it. Also a user finding that WWWW is not able)J 72 669 :M .891 .089(to locate a page known to exist \(perhaps the user's home page\) may add that page to the)J 72 681 :M .048 .005(WWWW knowledge base by posting it to a specific GENVL virtual library.)J -4096 -4095 -1 1 -4094 -4095 1 -4096 -4096 @a 72 715.24 -.24 .24 215.24 715 .24 72 715 @a 72 728 :M f1_9 sf .113 .011(* )J f1_10 sf 0 3 rm .488 .049(Research supported in part by NSF Grand Challenges Applications Group grant ASC-9217394 and)J 0 -3 rm 72 743 :M -.015(by NASA HPCC Group Grant NAG5-2218.)A 72 752 :M f1_9 sf .656(\240)A f1_10 sf 0 3 rm 2.521 .252( To appear in Proceedings of the First International World Wide Web Conference, ed. O.)J 0 -3 rm 72 767 :M .742 .074(Nierstrasz, CERN, Geneva, May 1994.)J endp %%Page: 4 4 %%BeginPageSetup initializepage (Oliver McBryan; page: 4 of 12)setjob %%EndPageSetup -29 -30 :T gS 29 30 538 781 rC 287 802 :M f1_12 sf (- 2 -)S 72 81 :M f0_11 sf 11 f3_1 :p 53 :m .991 .099(2. GENVL)J 72 125 :M 70 :m .573 .057(2.1. Overview)J 108 149 :M f1_11 sf 1.757 .176(GENVL is an interactive hierarchical system for cataloguing Web resources. A)J 72 161 :M .963 .096("Virtual Library" \(VL below\) is a catalogue of Web resources in an area of interest. Each)J 72 173 :M 2.22 .222(resource in the catalogue appears as a hypertext item in a summary list of that VL.)J 72 185 :M .042 .004(Resources listed can be one of:)J 108 203 :M -.063(o Further Virtual Libraries)A 108 221 :M -.012(o Titles, usually containing URL pointers)A 108 239 :M -.029(o Reports inputted by the user, usually including URL pointers.)A 72 257 :M 1.665 .167(This tool was previously called GENBBB \()J f0_11 sf .679(GEN)A f1_11 sf 1.109 .111(eric )J f0_11 sf .597(B)A f1_11 sf 1.547 .155(ulletin )J f0_11 sf .597(B)A f1_11 sf 1.373 .137(oard )J f0_11 sf .597(B)A f1_11 sf 1.477 .148(uilder\). The term)J 72 269 :M .615 .061("Bulletin Board" had been chosen here to provide analogy to conventional bulletin boards.)J 72 281 :M -.042(However modern parlance would suggest the term "Virtual Library" instead. We will use the)A 72 293 :M -.03(latter term throughout this paper.)A 108 311 :M .587 .059(Each VL is visible on the WWW as an HTML hypertext document. Commands are)J 72 323 :M 1.121 .112(provided to add and delete each of the three basic types of resource. In addition newly)J 72 335 :M .583 .058(created VL's allow a user-supplied inlined image and introductory description of purpose,)J 72 347 :M .503 .05(which default to those of its parent. GENVL has been in operation for several months and)J 72 359 :M .24 .024(outside users have by now added hundreds of interesting entries and created dozens of sub)J 72 371 :M .071 .007(bulletin boards. Most of the current GENVL tree structure has evolved completely naturally)J 72 383 :M -.024(through user additions. The power of GENVL comes from the built-in recursion which is the)A 72 395 :M .039 .004(key to scalability, extendibility and to avoiding the generation of massive linear lists.)J 108 413 :M .608 .061(GENVL supports WAIS search on its hierarchy. It also provides a global resources)J 72 425 :M -.014(list at every level, recording all resources at and below that level in a time-ordered list, useful)A 72 437 :M 1.695 .169(for quickly spotting new additions to the system. We will describe GENVL, the tools)J 72 449 :M -.046(needed to make it work, and difficulties encountered with using underlying WWW facilities.)A 108 467 :M .426 .043(GENVL is located at the URL location:)J 126 485 :M f0_11 sf -.012(http://www.cs.colorado.edu/homes/mcbryan/public_html/bb/summary.html)A 72 503 :M f1_11 sf .02 .002(which is the summary page of the root GENVL virtual library. This page has been described)J 72 515 :M .273 .027(elsewhere as )J f4_11 sf .347 .035("The Mother-of-all Bulletin Boards")J f1_11 sf .275 .027(. GENVL requires Forms support for adding)J 72 527 :M .519 .052(new postings, and therefore users with MacMosaic can only read entries, but not post new)J 72 539 :M .337 .034(ones. Mosaic 2.0 and similar clients can both read and post.)J 108 557 :M 1.672 .167(GENVL has received 112,003 accesses as of April 22, covering about a 4 month)J 72 569 :M .618 .062(period. The vast majority of these accesses have been to read rather than add materials to)J 72 581 :M .068(GENVL.)A 72 608 :M f0_11 sf 101 :m 1.094 .109(2.1.1. Related Work)J 108 630 :M f1_11 sf .764 .076(There are a large number of manually maintained virtual libraries available on the)J 72 642 :M .401 .04(WWW. Some of these are subject-oriented such as [1] while others are service oriented, for)J 72 654 :M 1.645 .164(example [2]. Many VL are specific to a single subject, for example a list of Computer)J 72 666 :M .224 .022(Science Departments [3]. See [4] for a collection of pointers to virtual libraries.)J 108 684 :M 1.581 .158(Most of the well-known WWW VL are maintained and updated by one person.)J 72 696 :M .495 .049(Because information is not inserted directly by information providers these systems do not)J 72 708 :M .082 .008(scale well to an Internet with millions of computers. Furthermore, most of these systems are)J 72 720 :M 1.107 .111(not hierarchical, which also severely impacts scalability. One approach to user-supplied)J 72 732 :M 1.237 .124(information is represented by Martijn Koster's ALIWEB [5], which relies on each WWW)J 72 744 :M -.026(server to provide information on resources it maintains.)A endp %%Page: 5 5 %%BeginPageSetup initializepage (Oliver McBryan; page: 5 of 12)setjob %%EndPageSetup -29 -30 :T gS 29 30 538 781 rC 287 802 :M f1_12 sf (- 3 -)S 108 81 :M f1_11 sf 2.096 .21(GENVL is oriented towards allowing others to update VL information, and is)J 72 93 :M 1.702 .17(explicitly highly hierarchical, thereby improving scalability. Some maintenance is still)J 72 105 :M 1.342 .134(required, for example to correct submission syntax errors and occasionally to relocate a)J 72 117 :M .672 .067(submission to a more appropriate place. GENVL takes inspiration from Eric Ebina's early)J 72 129 :M .248 .025(demonstration, Free for All [6], of Forms capabilities in NCSA Mosaic.)J 72 163 :M f0_11 sf 11 f3_1 :p 148.999 :m .474 .047(2.2. GENVL Virtual Libraries)J 108 187 :M f1_11 sf .537 .054(GENVL represents a general tree of VL's. A VL contains a set of resource postings,)J 72 199 :M .023 .002(where a posting may be either an atomic entry \(called an )J f4_11 sf (entry)S f1_11 sf .023 .002( below\) or a pointer to another)J 72 211 :M .904 .09(VL created by GENVL \(called a )J f4_11 sf .289(sub-VL)A f1_11 sf .9 .09( below\). Every posting is referenced by a posting)J 72 223 :M .793 .079(title which describes the posting. To be interesting, a title should include a reference to a)J 72 235 :M .806 .081(URL, thereby pointing to information somewhere on the WWW. In the case that GENVL)J 72 247 :M .696 .07(creates a sub VL, it automatically associates the sub VL title with a URL that points to the)J 72 259 :M (new VL.)S 108 277 :M .977 .098(A VL is displayed to an HTML viewer such as Mosaic as an alphabetically sorted)J 72 289 :M .911 .091(list of posting titles called the VL Summary Page. Clicking hypertext in any posting title)J 72 301 :M .806 .081(leads to the corresponding information. Titles of sub-VL are preceded by an asterisk and)J 72 313 :M .291 .029(are displayed in bold type to distinguish them from ordinary postings. Each posting title is)J 72 325 :M .792 .079(preceded by an integer sequence number, which is used later in requests to edit, move or)J 72 337 :M .639 .064(delete that posting. This last point is an awkward feature, but the user interface provided)J 72 349 :M .937 .094(by Mosaic provides little by way of point and click capabilities for such operations. One)J 72 361 :M .714 .071(could conceivably use the ISMAP feature, although it would be very inefficient given that)J 72 373 :M -.113(pages are continually changing.)A 108 391 :M .518 .052(Each VL has several associated characteristics which are shown in Table 1. When a)J 72 403 :M .942 .094(new VL is created, GENVL supplies a Form \(requires Mosaic 2.0 or an equivalent WWW)J 72 415 :M .206 .021(client\) to fill out. The user can supply a pointer to a GIF file to be used as the image for that)J 72 427 :M .561 .056(VL, and a statement of purpose to be placed in the header of the VL, in addition to the VL)J 72 439 :M .816 .082(title. The statement of purpose might summarize the goals for that VL, any ground rules)J 72 451 :M .181 .018(and the name of a moderator. If no image is supplied the VL image defaults to the image of)J 72 463 :M 1.125 .112(its parent VL, while the statement of purpose defaults to nothing. The creator may also)J 72 475 :M .398 .04(specify that a VL is only to allow creation of sub-VL - i.e. no entries may be posted. This is)J 72 487 :M .234 .023(done by toggling the Create-Only bit. As an example, a VL entitled )J f4_11 sf .502 .05("University Departments)J 72 499 :M .172(Worldwide")A f1_11 sf .559 .056( might allow only creation of sub-VL with Department titles such as )J f4_11 sf .198("Computer)A 72 511 :M .656(Science")A f1_11 sf 2.316 .232(. Each such sub-VL would then allow atomic entries to be posted, such as)J 72 523 :M f4_11 sf .235 .023("University of Colorado Computer Science")J f1_11 sf (.)S 108 541 :M 1.406 .141(Each VL records the name and email address of the creator and a user-supplied)J 72 553 :M 1.489 .149(password. Only the title field is required, with all other characteristics being optional.)J 72 565 :M .904 .09(However if a VL is created without a password then anyone can delete it. If a password)J 72 577 :M .781 .078(has been specified, it can be deleted only by a user who specifies that password. When a)J 72 589 :M .386 .039(VL is deleted, all postings to the VL - including both entries and sub-VL - are deleted, even)J 72 601 :M .183 .018(though the creator of the VL may not have the passwords of the posted entries. Therefore it)J 72 613 :M .326 .033(is important that VL be assigned a password to protect from abuse.)J 180 647 :M f0_11 sf .612 .061(Table 1: Characteristics associated with a VL)J -1 -1 111 635 1 1 110 634 @b -1 -1 111 635 1 1 110 634 @b 111 635 -1 1 478 634 1 111 634 @a -1 -1 479 635 1 1 478 634 @b -1 -1 479 635 1 1 478 634 @b -1 -1 111 653 1 1 110 635 @b -1 -1 479 653 1 1 478 635 @b 115 663 :M f1_11 sf (Title)S 223 663 :M -.002(Used on the Summary Page and in all Reports)A -1 -1 111 654 1 1 110 653 @b 111 654 -1 1 218 653 1 111 653 @a -1 -1 219 654 1 1 218 653 @b 219 654 -1 1 478 653 1 219 653 @a -1 -1 479 654 1 1 478 653 @b -1 -1 111 666 1 1 110 654 @b -1 -1 219 666 1 1 218 654 @b -1 -1 479 666 1 1 478 654 @b 115 676 :M -.575(Image)A 223 676 :M -.002(Used on the Summary Page and in all Reports)A -1 -1 111 667 1 1 110 666 @b 111 667 -1 1 218 666 1 111 666 @a -1 -1 219 667 1 1 218 666 @b 219 667 -1 1 478 666 1 219 666 @a -1 -1 479 667 1 1 478 666 @b -1 -1 111 679 1 1 110 667 @b -1 -1 219 679 1 1 218 667 @b -1 -1 479 679 1 1 478 667 @b 115 689 :M -.026(Purpose)A 223 689 :M -.044(A description included in the Summary Page.)A -1 -1 111 680 1 1 110 679 @b 111 680 -1 1 218 679 1 111 679 @a -1 -1 219 680 1 1 218 679 @b 219 680 -1 1 478 679 1 219 679 @a -1 -1 479 680 1 1 478 679 @b -1 -1 111 692 1 1 110 680 @b -1 -1 219 692 1 1 218 680 @b -1 -1 479 692 1 1 478 680 @b 115 702 :M .404 .04(Create-Only Bit)J 223 702 :M .289 .029(If set, allows only addition of sub VL's to this VL)J -1 -1 111 693 1 1 110 692 @b 111 693 -1 1 218 692 1 111 692 @a -1 -1 219 693 1 1 218 692 @b 219 693 -1 1 478 692 1 219 692 @a -1 -1 479 693 1 1 478 692 @b -1 -1 111 705 1 1 110 693 @b -1 -1 219 705 1 1 218 693 @b -1 -1 479 705 1 1 478 693 @b 115 715 :M -.104(Author)A 223 715 :M -.027(Name of the person adding the entry)A -1 -1 111 706 1 1 110 705 @b 111 706 -1 1 218 705 1 111 705 @a -1 -1 219 706 1 1 218 705 @b 219 706 -1 1 478 705 1 219 705 @a -1 -1 479 706 1 1 478 705 @b -1 -1 111 718 1 1 110 706 @b -1 -1 219 718 1 1 218 706 @b -1 -1 479 718 1 1 478 706 @b 115 728 :M -.082(Email)A 223 728 :M .065 .007(Email address of the person adding the entry)J -1 -1 111 719 1 1 110 718 @b 111 719 -1 1 218 718 1 111 718 @a -1 -1 219 719 1 1 218 718 @b 219 719 -1 1 478 718 1 219 718 @a -1 -1 479 719 1 1 478 718 @b -1 -1 111 731 1 1 110 719 @b -1 -1 219 731 1 1 218 719 @b -1 -1 479 731 1 1 478 719 @b 115 741 :M .185(Password)A 223 741 :M .069 .007(Password supplied by the person adding the entry)J -1 -1 111 732 1 1 110 731 @b 111 732 -1 1 218 731 1 111 731 @a -1 -1 219 732 1 1 218 731 @b 219 732 -1 1 478 731 1 219 731 @a -1 -1 479 732 1 1 478 731 @b -1 -1 111 744 1 1 110 732 @b -1 -1 111 745 1 1 110 744 @b -1 -1 111 745 1 1 110 744 @b 111 745 -1 1 218 744 1 111 744 @a -1 -1 219 744 1 1 218 732 @b -1 -1 219 745 1 1 218 744 @b 219 745 -1 1 478 744 1 219 744 @a -1 -1 479 744 1 1 478 732 @b -1 -1 479 745 1 1 478 744 @b -1 -1 479 745 1 1 478 744 @b endp %%Page: 6 6 %%BeginPageSetup initializepage (Oliver McBryan; page: 6 of 12)setjob %%EndPageSetup -29 -30 :T gS 29 30 538 781 rC 287 802 :M f1_12 sf (- 4 -)S 72 81 :M f0_11 sf 11 f3_1 :p 101 :m .882 .088(2.3. GENVL Entries)J 108 105 :M f1_11 sf .458 .046(An entry in a VL is defined as a VL posting that is not a sub-VL. Entries are of two)J 72 117 :M .202(types:)A 108 135 :M .547 .055(1. Pointers:)J 180 135 :M .123 .012(A title is supplied which contains a URL reference.)J 108 153 :M .716 .072(2. Reports:)J 180 153 :M .307 .031(A title and a short report are supplied.)J 72 171 :M .204 .02(In the case of reports, the user inputs the report on the supplied Form and GENVL arranges)J 72 183 :M .184 .018(to store the report and create a link from the title to the report. If the title already contains a)J 72 195 :M .627 .063(URL pointer, then GENVL detects this and adds an additional pointer to the report. Thus)J 72 207 :M -.006(such entries will typically have at least two pointers. Furthermore a report will often include)A 72 219 :M .466 .047(further URL's within its text. When adding a report it is possible to specify a GIF image to)J 72 231 :M .209 .021(be included in the report heading in place of the default image which is the VL image of the)J 72 243 :M .903 .09(current VL. Finally, entries are also associated with the users name, email address and a)J 72 255 :M 1.426 .143(supplied password, with the same implications as in the case of a VL - except that if a)J 72 267 :M .058 .006(password is omitted, only that single entry could be deleted by others.)J 108 285 :M .343 .034(Thus an entry in a VL has associated characteristics as described in Table 2:)J 166 319 :M f0_11 sf .594 .059(Table 2: Characteristics associated with a VL Entry)J -1 -1 115 307 1 1 114 306 @b -1 -1 115 307 1 1 114 306 @b 115 307 -1 1 478 306 1 115 306 @a -1 -1 479 307 1 1 478 306 @b -1 -1 479 307 1 1 478 306 @b -1 -1 115 325 1 1 114 307 @b -1 -1 479 325 1 1 478 307 @b 122 335 :M f1_11 sf (Title)S 216 335 :M .098 .01(Used to provide a hypertext reference to the entry)J -1 -1 115 326 1 1 114 325 @b 115 326 -1 1 208 325 1 115 325 @a -1 -1 209 326 1 1 208 325 @b 209 326 -1 1 478 325 1 209 325 @a -1 -1 479 326 1 1 478 325 @b -1 -1 115 338 1 1 114 326 @b -1 -1 209 338 1 1 208 326 @b -1 -1 479 338 1 1 478 326 @b 122 348 :M -.575(Image)A 216 348 :M -.046(A user supplied inlined image used in a report)A -1 -1 115 339 1 1 114 338 @b 115 339 -1 1 208 338 1 115 338 @a -1 -1 209 339 1 1 208 338 @b 209 339 -1 1 478 338 1 209 338 @a -1 -1 479 339 1 1 478 338 @b -1 -1 115 351 1 1 114 339 @b -1 -1 209 351 1 1 208 339 @b -1 -1 479 351 1 1 478 339 @b 122 361 :M .09(Type)A 216 361 :M .062 .006(Specifies whether a Pointer or a Report)J -1 -1 115 352 1 1 114 351 @b 115 352 -1 1 208 351 1 115 351 @a -1 -1 209 352 1 1 208 351 @b 209 352 -1 1 478 351 1 209 351 @a -1 -1 479 352 1 1 478 351 @b -1 -1 115 364 1 1 114 352 @b -1 -1 209 364 1 1 208 352 @b -1 -1 479 364 1 1 478 352 @b 122 374 :M -.031(Report)A 216 374 :M .18 .018(Contains the report in the case Type=Report)J -1 -1 115 365 1 1 114 364 @b 115 365 -1 1 208 364 1 115 364 @a -1 -1 209 365 1 1 208 364 @b 209 365 -1 1 478 364 1 209 364 @a -1 -1 479 365 1 1 478 364 @b -1 -1 115 377 1 1 114 365 @b -1 -1 209 377 1 1 208 365 @b -1 -1 479 377 1 1 478 365 @b 122 387 :M -.104(Author)A 216 387 :M -.027(Name of the person adding the entry)A -1 -1 115 378 1 1 114 377 @b 115 378 -1 1 208 377 1 115 377 @a -1 -1 209 378 1 1 208 377 @b 209 378 -1 1 478 377 1 209 377 @a -1 -1 479 378 1 1 478 377 @b -1 -1 115 390 1 1 114 378 @b -1 -1 209 390 1 1 208 378 @b -1 -1 479 390 1 1 478 378 @b 122 400 :M -.082(Email)A 216 400 :M .097 .01(Email address of the person adding an entry)J -1 -1 115 391 1 1 114 390 @b 115 391 -1 1 208 390 1 115 390 @a -1 -1 209 391 1 1 208 390 @b 209 391 -1 1 478 390 1 209 390 @a -1 -1 479 391 1 1 478 390 @b -1 -1 115 403 1 1 114 391 @b -1 -1 209 403 1 1 208 391 @b -1 -1 479 403 1 1 478 391 @b 122 413 :M .185(Password)A 216 413 :M .1 .01(Password supplied by the person adding an entry)J -1 -1 115 404 1 1 114 403 @b 115 404 -1 1 208 403 1 115 403 @a -1 -1 209 404 1 1 208 403 @b 209 404 -1 1 478 403 1 209 403 @a -1 -1 479 404 1 1 478 403 @b -1 -1 115 416 1 1 114 404 @b -1 -1 115 417 1 1 114 416 @b -1 -1 115 417 1 1 114 416 @b 115 417 -1 1 208 416 1 115 416 @a -1 -1 209 416 1 1 208 404 @b -1 -1 209 417 1 1 208 416 @b 209 417 -1 1 478 416 1 209 416 @a -1 -1 479 416 1 1 478 404 @b -1 -1 479 417 1 1 478 416 @b -1 -1 479 417 1 1 478 416 @b 72 466 :M f0_11 sf 122.001 :m .872 .087(2.4. GENVL Operations)J 108 490 :M f1_11 sf 1.398 .14(Each VL supports a set of modification operations that are accessed through the)J 72 502 :M 1.775 .177(Add/Change/Delete key at the top of the VL Summary page. It is possible to add a)J 72 514 :M .662 .066(pointer \(Point command\), add a list of pointers \(Pointers command\), input a report \(Input)J 72 526 :M .403 .04(command\), create a sub-VL \(Create command\) or delete one or more previous postings. In)J 72 538 :M .466 .047(addition one can edit a previously created entry, and copy or move a posting to a different)J 72 550 :M 1.158 .116(location on the global VL tree. The Pointers command allows lists already generated or)J 72 562 :M .033 .003(available elsewhere to be incorporated into GENVL.)J 236 596 :M f0_11 sf .65 .065(Table 3: VL Operations)J -1 -1 106 584 1 1 105 583 @b -1 -1 106 584 1 1 105 583 @b 106 584 -1 1 487 583 1 106 583 @a -1 -1 488 584 1 1 487 583 @b -1 -1 488 584 1 1 487 583 @b -1 -1 106 602 1 1 105 584 @b -1 -1 488 602 1 1 487 584 @b 113 612 :M f1_11 sf .043(Point)A 185 612 :M -.004(Add an entry by providing a one-line hypertext description)A -1 -1 106 603 1 1 105 602 @b 106 603 -1 1 177 602 1 106 602 @a -1 -1 178 603 1 1 177 602 @b 178 603 -1 1 487 602 1 178 602 @a -1 -1 488 603 1 1 487 602 @b -1 -1 106 615 1 1 105 603 @b -1 -1 178 615 1 1 177 603 @b -1 -1 488 615 1 1 487 603 @b 113 625 :M -.014(Pointers)A 185 625 :M .243 .024(Add entries by as a list of one-line hypertext descriptions)J -1 -1 106 616 1 1 105 615 @b 106 616 -1 1 177 615 1 106 615 @a -1 -1 178 616 1 1 177 615 @b 178 616 -1 1 487 615 1 178 615 @a -1 -1 488 616 1 1 487 615 @b -1 -1 106 628 1 1 105 616 @b -1 -1 178 628 1 1 177 616 @b -1 -1 488 628 1 1 487 616 @b 113 638 :M -.233(Input)A 185 638 :M .021 .002(Add an entry by inputting text which will be pointed to)J -1 -1 106 629 1 1 105 628 @b 106 629 -1 1 177 628 1 106 628 @a -1 -1 178 629 1 1 177 628 @b 178 629 -1 1 487 628 1 178 628 @a -1 -1 488 629 1 1 487 628 @b -1 -1 106 641 1 1 105 629 @b -1 -1 178 641 1 1 177 629 @b -1 -1 488 641 1 1 487 629 @b 113 651 :M .048(Create)A 185 651 :M .331 .033(Create a sub VL)J -1 -1 106 642 1 1 105 641 @b 106 642 -1 1 177 641 1 106 641 @a -1 -1 178 642 1 1 177 641 @b 178 642 -1 1 487 641 1 178 641 @a -1 -1 488 642 1 1 487 641 @b -1 -1 106 654 1 1 105 642 @b -1 -1 178 654 1 1 177 642 @b -1 -1 488 654 1 1 487 642 @b 113 664 :M -.019(Delete)A 185 664 :M -.032(Delete one or more VL entries or sub VL)A -1 -1 106 655 1 1 105 654 @b 106 655 -1 1 177 654 1 106 654 @a -1 -1 178 655 1 1 177 654 @b 178 655 -1 1 487 654 1 178 654 @a -1 -1 488 655 1 1 487 654 @b -1 -1 106 667 1 1 105 655 @b -1 -1 178 667 1 1 177 655 @b -1 -1 488 667 1 1 487 655 @b 113 677 :M .259(Edit)A 185 677 :M .049 .005(Change the contents of a VL entry)J -1 -1 106 668 1 1 105 667 @b 106 668 -1 1 177 667 1 106 667 @a -1 -1 178 668 1 1 177 667 @b 178 668 -1 1 487 667 1 178 667 @a -1 -1 488 668 1 1 487 667 @b -1 -1 106 680 1 1 105 668 @b -1 -1 178 680 1 1 177 668 @b -1 -1 488 680 1 1 487 668 @b 113 690 :M .157(Copy)A 185 690 :M .329 .033(Copy a VL entry to a different VL location)J -1 -1 106 681 1 1 105 680 @b 106 681 -1 1 177 680 1 106 680 @a -1 -1 178 681 1 1 177 680 @b 178 681 -1 1 487 680 1 178 680 @a -1 -1 488 681 1 1 487 680 @b -1 -1 106 693 1 1 105 681 @b -1 -1 178 693 1 1 177 681 @b -1 -1 488 693 1 1 487 681 @b 113 703 :M -.296(Move)A 185 703 :M .216 .022(Move a VL entry to a different VL location)J -1 -1 106 694 1 1 105 693 @b 106 694 -1 1 177 693 1 106 693 @a -1 -1 178 694 1 1 177 693 @b 178 694 -1 1 487 693 1 178 693 @a -1 -1 488 694 1 1 487 693 @b -1 -1 106 706 1 1 105 694 @b -1 -1 106 707 1 1 105 706 @b -1 -1 106 707 1 1 105 706 @b 106 707 -1 1 177 706 1 106 706 @a -1 -1 178 706 1 1 177 694 @b -1 -1 178 707 1 1 177 706 @b 178 707 -1 1 487 706 1 178 706 @a -1 -1 488 706 1 1 487 694 @b -1 -1 488 707 1 1 487 706 @b -1 -1 488 707 1 1 487 706 @b 108 740 :M .194 .019(All of these operations require WWW Forms support and do not currently work as a)J 72 752 :M 1.565 .156(result on MacMosaic 1.x although they do work with Mosaic 2.0 and with many other)J 72 764 :M .232 .023(clients such as Lynx.)J endp %%Page: 7 7 %%BeginPageSetup initializepage (Oliver McBryan; page: 7 of 12)setjob %%EndPageSetup -29 -30 :T gS 29 30 538 781 rC 287 802 :M f1_12 sf (- 5 -)S 72 81 :M f0_11 sf 11 f3_1 :p 98 :m 1.191 .119(2.5. Other Features)J 108 105 :M f1_11 sf .499 .05(GENVL supports several methods for accessing information other than through the)J 72 117 :M .507 .051(VL interface. GENVL supports a WAIS server, which indexes all information in the global)J 72 129 :M .1 .01(VL tree. Thus keyword searches on topics of interest are easily performed.)J 108 147 :M 1.249 .125(Each VL in GENVL also supports a global list of all VL postings within that VL.)J 72 159 :M .389 .039(This is a recursive listing which includes all sub-VL of the VL. The list is presented in time)J 72 171 :M .498 .05(order with most recent additions first, providing a simple way to monitor additions to any)J 72 183 :M .384 .038(topic without having to traverse parts of a tree. In particular, the global list at the top level)J 72 195 :M -.02(lists all entries anywhere on the tree.)A 108 213 :M .243 .024(Each VL summary also provides pointers that move to the parent VL and to the root)J 72 225 :M -.035(VL of the tree, providing further useful ways to move around in the tree.)A 72 259 :M f0_11 sf 146 :m .554 .055(2.6. GENVL Implementation)J 108 283 :M f1_11 sf .51 .051(GENVL uses a file system directory structure to implement the tree structure of the)J 72 295 :M .205 .021(VL hierarchy. Each VL in GENVL is stored in a separate directory, a subdirectory of the VL)J 72 307 :M 1.813 .181(that created it. Each such directory contains a file )J f4_11 sf .627(summary.html)A f1_11 sf 2.229 .223( which describes all)J 72 319 :M .785 .078(postings in that VL, and which is the main access point from WWW to that VL. The root)J 72 331 :M .032 .003(directory therefore contains the root summary page, which is at address:)J 108 349 :M f0_11 sf -.012(http://www.cs.colorado.edu/homes/mcbryan/public_html/bb/summary.html)A 72 367 :M f1_11 sf .981 .098(and in turn provides access to all other VL. Each VL directory also contains a file called)J 72 379 :M f4_11 sf .126(makevl)A f1_11 sf .441 .044( which will be used later to create sub directories and install starting summaries and)J 72 391 :M .158 .016(other configuration data for any new sub-VL that are created.)J 108 409 :M .401 .04(Each VL posting is represented by an access file )J f4_11 sf .126(num.pass)A f1_11 sf .317 .032( where )J f4_11 sf .165(num)A f1_11 sf .388 .039( is the numeric)J 72 421 :M .543 .054(sequence number of the posting in the VL. File )J f4_11 sf .184(num.pass)A f1_11 sf .658 .066( records the title, author, author's)J 72 433 :M .334 .033(email and password of the posting. Each posting that includes a report will also have a file)J 72 445 :M .64 .064(called )J f4_11 sf .191(num.html)A f1_11 sf .582 .058( containing the user-supplied text of the report. Finally if posting )J f4_11 sf .239(num)A f1_11 sf .271 .027( is a)J 72 457 :M .384 .038(sub-VL, then there will be a corresponding subdirectory called )J f4_11 sf .133(num)A f1_11 sf .349 .035( which will contain that)J 72 469 :M .092(sub-VL.)A 108 487 :M .788 .079(The sequence number num is also used to delete postings by simply removing the)J 72 499 :M 2.859 .286(corresponding )J f4_11 sf .494(num.pass)A f1_11 sf .427 .043(, )J f4_11 sf .516(num.html)A f1_11 sf .898 .09( files or )J f4_11 sf .645(num)A f1_11 sf 1.779 .178( directory. Following every posting or)J 72 511 :M .628 .063(deletion, the summary file of the VL is rewritten and a copy of it is returned to the WWW)J 72 523 :M .659 .066(client. Each VL uses a locking system to ensure that two or more users cannot post to the)J 72 535 :M .409 .041(same VL simultaneously. Locking is tied to the assignment of sequence numbers. As soon)J 72 547 :M .135 .013(as a new sequence number is assigned the VL is unlocked, allowing others to begin postings)J 72 559 :M -.022(even while the first person is still composing a posting.)A 108 577 :M .557 .056(The global hierarchical history for a VL is stored in a separate file )J f4_11 sf .259(SUMMARY.html)A 72 589 :M f1_11 sf .299 .03(in each VL directory. Because a change to a VL affects the global summary of all parent VL)J 72 601 :M 1.139 .114(directories, it is not practical to update all of these for each posting. A separate process)J 72 613 :M .187 .019(scans the VL tree and updates all )J f4_11 sf .081(SUMMARY.html)A f1_11 sf .2 .02( files every 10 minutes. The WAIS search)J 72 625 :M -.004(service works similarly, with the WAIS indexer run from a separate process.)A endp %%Page: 8 8 %%BeginPageSetup initializepage (Oliver McBryan; page: 8 of 12)setjob %%EndPageSetup -29 -30 :T gS 29 30 538 781 rC 287 802 :M f1_12 sf (- 6 -)S 72 111 :M f0_11 sf 11 f3_1 :p 56 :m .625 .063(3. WWWW)J 72 155 :M 70 :m .573 .057(3.1. Overview)J 108 179 :M f1_11 sf .559 .056(WWWW - the WWW Worm - is a resource location tool. It is intended to locate all)J 72 191 :M .036 .004(of the WWW-addressable resources on the Internet, and provide a powerful user interface to)J 72 203 :M .436 .044(those resources. The system consists of two parts: one that locates resources, and the other)J 72 215 :M -.033(which provides the user interface.)A 108 233 :M .394 .039(A program, wwww, scours the Internet locating all web resources - HTML files and)J 72 245 :M .806 .081(more general URL's. It builds a database of these, which is currently over 110,000 entries)J 72 257 :M .187 .019(\(early March '94\). Each HTML file found is indexed with the title string used in there. Each)J 72 269 :M .225 .023(URL referenced in an HTML file is indexed by a\) the clickable hypertext associated with the)J 72 281 :M .602 .06(URL b\) the name of the HTML file referencing the URL and c\) the title of the latter HTML)J 72 293 :M .747 .075(file. Inlined images are a special case as they often appear standalone in text; in that case)J 72 305 :M 2.178 .218(they are associated with the containing HTML and its title. Inlined images that are)J 72 317 :M -.004(contained within clickable hypertext references are indexed also by that reference.)A 108 335 :M 1.456 .146(WWWW.html is a WWW accessible page \("client" might be a better description\))J 72 347 :M 1.295 .13(which provides access to the WWWW database. It provides direct access to the lists of)J 72 359 :M .266 .027(URL's, where each is displayed with its title or reference text. More importantly it provides)J 72 371 :M 1.666 .167(access to a URL-wise search server which can perform keyword searches for URL's or)J 72 383 :M 1.093 .109(classes of URL's. Searches can be performed on titles, reference hypertext, or within the)J 72 395 :M 1.845 .185(URL name strings of documents - for example to locate all MPEG movies in Finland.)J 72 407 :M .072 .007(Sample searches are provided, ready to be submitted with a mouse click.)J 108 425 :M 1.026 .103(In this paper we discuss the design of WWWW, procedures used to ensure it is a)J 72 437 :M .332 .033(well-behaved Internet process, and optimization issues. We will describe the search engine)J 72 449 :M .315 .032(\(which is still evolving\) and why available search engines such as WAIS appeared less than)J 72 461 :M .087 .009(ideal. We also discuss some additions to the HTTP protocols which would allow much more)J 72 473 :M .201 .02(powerful use of tools such as WWWW. WWWW can be found at:)J 168 491 :M f0_11 sf .02(http://www.cs.colorado.edu/home/mcbryan/WWWW.html.)A 72 509 :M f1_11 sf 1.607 .161(WWWW requires Forms support for running the search engine, and therefore will not)J 72 521 :M .012 .001(currently work on MacMosaic 1.x.)J 108 539 :M 1.038 .104(WWWW has received 61,488 accesses as of April 22, 1994 covering a period of 46)J 72 551 :M .499 .05(days, for an average of about 1,500 accesses per day.)J 72 578 :M 11 f2_1 :p 97 :m .633 .063(3.1.1. Related Work)J 108 600 :M .305 .03(There are currently a considerable number of WWW robots and search engines. For)J 72 612 :M .981 .098(pointers to these we refer to M. Kostner [7] and to the CUI Search Engines catalogue [8].)J 72 624 :M .675 .068(Some examples of other robots are represented by [9-11]. New robots are appearing at an)J 72 636 :M .402 .04(astonishing rate. Internet search services has been an active research area for years and we)J 72 648 :M 1.721 .172(do not attempt to survey all of that work here. A good reference is [12] which has a)J 72 660 :M .787 .079(comprehensive survey of resource discovery methods. Examples of such services include)J 72 672 :M .853 .085(WHOIS [13], X.500 [14], archie [15], WAIS [16] and Netfind [17-18].)J 72 706 :M f0_11 sf 11 f3_1 :p 162 :m .725 .072(3.2. WWWW Resource Location)J 108 730 :M f1_11 sf 1.618 .162(The resource location part of WWWW is a program wwww which searches the)J 72 742 :M 1.224 .122(WWW for URL's and records them in an archive. From the set of all URL's we select a)J 72 754 :M .73 .073(distinguished sub-category: an HTML URL \(abbreviated to HTML below\) is a URL which)J 72 766 :M .086 .009(represents an HTML file, i.e. has the extension )J f4_11 sf .023(.html)A f1_11 sf .077 .008(. The wwww program is run as:)J endp %%Page: 9 9 %%BeginPageSetup initializepage (Oliver McBryan; page: 9 of 12)setjob %%EndPageSetup -29 -30 :T gS 29 30 538 781 rC 287 802 :M f1_12 sf (- 7 -)S 164 81 :M f0_11 sf .277 .028(wwww archive levels HTML1 HTML2 .... > new-archive .)J 72 99 :M f1_11 sf .212 .021(Here )J f4_11 sf .229 .023(archive )J f1_11 sf .2 .02( denotes an archive generated in a previous run and )J f4_11 sf .048(levels)A f1_11 sf .172 .017( is a recursion depth.)J 72 111 :M 1.195 .119(WWWW reads each of the files represented by the URL's )J f4_11 sf .512(HTM1)A f1_11 sf .301 .03(, )J f4_11 sf .512(HTM2)A f1_11 sf .873 .087(, ... and applies)J 72 123 :M .323 .032(itself recursively to any HTML references found within these files. The recursion continues)J 72 135 :M .321 .032(to a depth of )J f4_11 sf .11(levels)A f1_11 sf (.)S 108 153 :M .27 .027(When wwww opens an HTML, it reads and records the HTML title field required at)J 72 165 :M 2.034 .203(the head of every such document. The title text is then associated with that HTML.)J 72 177 :M .428 .043(Whenever wwww encounters a URL within an opened HTML file, it reads and records the)J 72 189 :M 2.445 .245(accompanying hypertext anchor. The hypertext and the containing HTML are then)J 72 201 :M .735 .073(associated with that URL.)J 108 219 :M 1.245 .124(On completely processing an HTML document, wwww marks it as read so as to)J 72 231 :M .663 .066(avoid visiting it again from some other HTML reference. This greatly improves efficiency)J 72 243 :M -.061(while decreasing the impact wwww might otherwise place on the network.)A 108 261 :M 1.205 .12(The program wwww uses UNIX sockets to open HTML documents and includes)J 72 273 :M .361 .036(several attempts to read an HTML if the first one fails. It also detects and records apparent)J 72 285 :M .385 .038(syntax errors in HTML documents, such as missing end quotes and right angle brackets, or)J 72 297 :M 2.01 .201(absence of a title. Due to a variety of commonly occurring errors, there are literally)J 72 309 :M 1.926 .193(thousands of bad HTML files. Making wwww robust against such files was a major)J 72 321 :M -.22(challenge.)A 72 348 :M 11 f2_1 :p 107 :m .57 .057(3.2.1. Archive format:)J 108 370 :M .939 .094(The WWWW archive file records all of the resources located in a previous search.)J 72 382 :M .244 .024(The WWWW archive format is a list of URL references which can be in one of the following)J 72 394 :M -.026(forms:)A 212 428 :M f0_11 sf .28 .028(Table 4: WWWW Archive Format)J -1 -1 185 416 1 1 184 415 @b -1 -1 185 416 1 1 184 415 @b 185 416 -1 1 408 415 1 185 415 @a -1 -1 409 416 1 1 408 415 @b -1 -1 409 416 1 1 408 415 @b -1 -1 185 434 1 1 184 416 @b -1 -1 409 434 1 1 408 416 @b 192 444 :M f1_11 sf (T)S 214 444 :M (HTML)S 279 444 :M (Title)S -1 -1 185 435 1 1 184 434 @b 185 435 -1 1 213 434 1 185 434 @a -1 -1 214 435 1 1 213 434 @b 214 435 -1 1 278 434 1 214 434 @a -1 -1 279 435 1 1 278 434 @b 279 435 -1 1 343 434 1 279 434 @a -1 -1 344 435 1 1 343 434 @b 344 435 -1 1 408 434 1 344 434 @a -1 -1 409 435 1 1 408 434 @b -1 -1 185 447 1 1 184 435 @b -1 -1 409 447 1 1 408 435 @b 192 457 :M (R)S 214 457 :M .188(URL)A 279 457 :M (HTML)S 344 457 :M -.212(Reference)A -1 -1 185 448 1 1 184 447 @b 185 448 -1 1 213 447 1 185 447 @a -1 -1 214 448 1 1 213 447 @b 214 448 -1 1 278 447 1 214 447 @a -1 -1 279 448 1 1 278 447 @b 279 448 -1 1 343 447 1 279 447 @a -1 -1 344 448 1 1 343 447 @b 344 448 -1 1 408 447 1 344 447 @a -1 -1 409 448 1 1 408 447 @b -1 -1 185 460 1 1 184 448 @b -1 -1 409 460 1 1 408 448 @b 192 470 :M (I)S 214 470 :M .188(URL)A 279 470 :M (HTML)S 344 470 :M -.212(Reference)A -1 -1 185 461 1 1 184 460 @b 185 461 -1 1 213 460 1 185 460 @a -1 -1 214 461 1 1 213 460 @b 214 461 -1 1 278 460 1 214 460 @a -1 -1 279 461 1 1 278 460 @b 279 461 -1 1 343 460 1 279 460 @a -1 -1 344 461 1 1 343 460 @b 344 461 -1 1 408 460 1 344 460 @a -1 -1 409 461 1 1 408 460 @b -1 -1 185 473 1 1 184 461 @b -1 -1 409 473 1 1 408 461 @b 192 483 :M (C)S 214 483 :M (HTML)S -1 -1 185 474 1 1 184 473 @b 185 474 -1 1 213 473 1 185 473 @a -1 -1 214 474 1 1 213 473 @b 214 474 -1 1 278 473 1 214 473 @a -1 -1 279 474 1 1 278 473 @b 279 474 -1 1 343 473 1 279 473 @a -1 -1 344 474 1 1 343 473 @b 344 474 -1 1 408 473 1 344 473 @a -1 -1 409 474 1 1 408 473 @b -1 -1 185 486 1 1 184 474 @b -1 -1 185 487 1 1 184 486 @b -1 -1 185 487 1 1 184 486 @b 185 487 -1 1 213 486 1 185 486 @a -1 -1 214 487 1 1 213 486 @b 214 487 -1 1 278 486 1 214 486 @a -1 -1 279 487 1 1 278 486 @b 279 487 -1 1 343 486 1 279 486 @a -1 -1 344 487 1 1 343 486 @b 344 487 -1 1 408 486 1 344 486 @a -1 -1 409 486 1 1 408 474 @b -1 -1 409 487 1 1 408 486 @b -1 -1 409 487 1 1 408 486 @b 108 520 :M -.025(The T lines denote an HTML file encountered and opened for reading during a search)A 72 532 :M .861 .086(and the second argument is then the URL of the HTML. The remainder of the line is the)J 72 544 :M .101 .01(Title as taken from the )J f4_11 sf .03(