models.ps
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:131k
源码类别:

通讯编程

开发平台:

Visual C++

  1. none SetP %I p n
  2. %I t
  3. [ 0.5 -0 -0 0.5 79.5 460.5 ] concat
  4. %I
  5. 218 273 170 223 Line
  6. %I 2
  7. End
  8. Begin %I Line
  9. %I b 65535
  10. 1 0 0 [] 0 SetB
  11. %I cfg Black
  12. 0 0 0 SetCFg
  13. %I cbg White
  14. 1 1 1 SetCBg
  15. none SetP %I p n
  16. %I t
  17. [ 0.5 -0 -0 0.5 79.5 460.5 ] concat
  18. %I
  19. 170 224 266 173 Line
  20. %I 2
  21. End
  22. Begin %I Elli
  23. %I b 61680
  24. 1 0 0 [4 4 4 4] 0 SetB
  25. %I cfg Black
  26. 0 0 0 SetCFg
  27. %I cbg White
  28. 1 1 1 SetCBg
  29. %I p
  30. 1 SetP
  31. %I t
  32. [ 1 -0 -0 1 104 551 ] concat
  33. %I
  34. 156 165 20 20 Elli
  35. End
  36. Begin %I Elli
  37. %I b 61680
  38. 1 0 0 [4 4 4 4] 0 SetB
  39. %I cfg Black
  40. 0 0 0 SetCFg
  41. %I cbg White
  42. 1 1 1 SetCBg
  43. %I p
  44. 1 SetP
  45. %I t
  46. [ 1 -0 -0 1 248 479 ] concat
  47. %I
  48. 156 165 20 20 Elli
  49. End
  50. End %I eop
  51. showpage
  52. end
  53. %%EndDocument
  54.  endTexFig
  55.  551 1339 a Fj(Figure)15 b(1:)20 b(N-Lev)o(el)c(Hierarc)o(hical)h(La)o
  56. (y)o(out)30 1476 y(graph,)h(most)f(\top-lev)o(el")i(edges)f((i.e.)28
  57. b(one)18 b(that)f(w)o(as)h(part)f(of)g(the)i(original)g(graph))e(are)h
  58. (t)o(ypically)30 1533 y(longer)h(than)f(the)g(second-lev)o(el)i(edges,)
  59. f(while)h(the)e(second-lev)o(el)i(edges)f(are)f(t)o(ypically)i(longer)e
  60. (than)30 1589 y(third-lev)o(el)f(edges.)j(Figure)c(1)f(depicts)h(the)f
  61. (la)o(y)o(out)g(of)g(a)g(pure)g(hierarc)o(hical)i(graph.)101
  62. 1646 y(In)c(the)g(hierarc)o(hical)i(mo)q(dels,)e(it)g(is)h(p)q(ossible)
  63. g(to)f(de14ne)g(a)g(routing)g(p)q(olicy)h(based)f(on)g(the)g
  64. (principle)30 1702 y(that)f(routes)f(b)q(et)o(w)o(een)i(no)q(des)g
  65. (within)h(the)e(same)g(domain)h(should)g(sta)o(y)e(en)o(tirely)j
  66. (within)f(that)f(domain.)30 1758 y(W)l(e)e(augmen)o(t)g(the)h(edges)f
  67. (with)h(a)f(routing)h(p)q(olicy)h(w)o(eigh)o(t,)e(in)i(addition)f(to)f
  68. (the)g(Euclidean)j(edge)e(length,)30 1815 y(to)k(use)h(in)h
  69. (constructing)f(p)q(olicy-based)i(shortest)c(paths.)22
  70. b(Because)16 b(of)f(the)h(w)o(a)o(y)f(\domains")g(are)h(laid)30
  71. 1871 y(out)h(in)i(this)f(metho)q(d,)g(there)g(is)g(a)g(close)g
  72. (relationship)h(b)q(et)o(w)o(een)f(the)g(p)q(olicy)i(w)o(eigh)o(ts)d
  73. (and)h(the)g(edge)30 1928 y(lengths.)30 2048 y Fc(T)l(ransit-Stub)30
  74. 2134 y Fj(Our)23 b(T)l(ransit-Stub)g(mo)q(del)g(pro)q(duces)g(hierarc)o
  75. (hical)h(graphs)e(in)h(a)f(di13eren)o(t)g(w)o(a)o(y)l(,)h(b)o(y)f
  76. (comp)q(osing)30 2190 y(in)o(terconnected)d(transit)e(and)h(stub)g
  77. (domains.)28 b((See)18 b(Figure)f(2.))27 b(W)l(e)18
  78. b(14rst)f(construct)h(a)f(connected)30 2247 y(random)h(graph)f
  79. ((using)i(an)o(y)e(one)h(of)g(the)g(metho)q(ds)g(discussed)i
  80. (earlier);)f(eac)o(h)f(no)q(de)h(in)g(that)e(graph)30
  81. 2303 y(represen)o(ts)g(an)f(en)o(tire)h(transit)f(domain.)25
  82. b(Eac)o(h)16 b(no)q(de)h(in)h(that)e(graph)g(is)h(then)g(replaced)h(b)o
  83. (y)e(another)30 2359 y(connected)f(random)e(graph,)h(represen)o(ting)g
  84. (the)g(bac)o(kb)q(one)h(top)q(ology)e(of)h(one)g(transit)g(domain.)19
  85. b(Next,)30 2416 y(for)d(eac)o(h)i(no)q(de)f(in)h(eac)o(h)g(transit)e
  86. (domain,)i(w)o(e)f(generate)g(a)f(n)o(um)o(b)q(er)i(of)f(connected)h
  87. (random)e(graphs)30 2472 y(represen)o(ting)21 b(the)g(stub)g(domains)f
  88. (attac)o(hed)g(to)g(that)g(no)q(de.)37 b(Finally)l(,)23
  89. b(w)o(e)d(add)h(some)f(n)o(um)o(b)q(er)h(of)30 2529 y(additional)e
  90. (edges)e(b)q(et)o(w)o(een)h(pairs)f(of)g(no)q(des,)h(one)g(from)e(a)h
  91. (transit)g(domain)h(and)f(one)h(from)e(a)h(stub,)30 2585
  92. y(or)g(one)h(from)f(eac)o(h)h(of)g(t)o(w)o(o)e(di13eren)o(t)i(stub)g
  93. (domains.)29 b(Clearly)l(,)19 b(if)f(the)g(random)f(graphs)h(generated)
  94. 30 2642 y(are)f(all)h(connected,)g(this)f(construction)g(results)h(in)f
  95. (a)g(connected)h(graph.)25 b(W)l(e)17 b(note)g(that)f(Doar)g(and)30
  96. 2698 y(Leslie)j(prop)q(osed)d(a)h(graph)f(mo)q(del)h(that)f(has)h(a)f
  97. (similar)i(hierarc)o(hical)g(structure)e(to)g(our)g(mo)q(del,)i(but)30
  98. 2755 y(is)e(more)e(limited)k(in)e(scop)q(e)f([1].)101
  99. 2811 y(The)g(size)h(of)f(the)g(graph)g((n)o(um)o(b)q(er)g(of)g(no)q
  100. (des))g(and)g(distribution)i(of)e(no)q(des)h(b)q(et)o(w)o(een)f
  101. (transit)g(and)919 2940 y(3)p eop
  102. %%Page: 4 4
  103. 4 3 bop 195 266 a
  104.  23207797 11840716 0 0 39205928 19931873 startTexFig
  105.  195 266 a
  106. %%BeginDocument: domainstruct.eps
  107. %Magnification: 1.00
  108. /MyAppDict 100 dict dup begin def
  109. /$F2psDict 200 dict def
  110. $F2psDict begin
  111. $F2psDict /mtrx matrix put
  112. /col-1 {0 setgray} bind def
  113. /col0 {0.000 0.000 0.000 srgb} bind def
  114. /col1 {0.000 0.000 1.000 srgb} bind def
  115. /col2 {0.000 1.000 0.000 srgb} bind def
  116. /col3 {0.000 1.000 1.000 srgb} bind def
  117. /col4 {1.000 0.000 0.000 srgb} bind def
  118. /col5 {1.000 0.000 1.000 srgb} bind def
  119. /col6 {1.000 1.000 0.000 srgb} bind def
  120. /col7 {1.000 1.000 1.000 srgb} bind def
  121. /col8 {0.000 0.000 0.560 srgb} bind def
  122. /col9 {0.000 0.000 0.690 srgb} bind def
  123. /col10 {0.000 0.000 0.820 srgb} bind def
  124. /col11 {0.530 0.810 1.000 srgb} bind def
  125. /col12 {0.000 0.560 0.000 srgb} bind def
  126. /col13 {0.000 0.690 0.000 srgb} bind def
  127. /col14 {0.000 0.820 0.000 srgb} bind def
  128. /col15 {0.000 0.560 0.560 srgb} bind def
  129. /col16 {0.000 0.690 0.690 srgb} bind def
  130. /col17 {0.000 0.820 0.820 srgb} bind def
  131. /col18 {0.560 0.000 0.000 srgb} bind def
  132. /col19 {0.690 0.000 0.000 srgb} bind def
  133. /col20 {0.820 0.000 0.000 srgb} bind def
  134. /col21 {0.560 0.000 0.560 srgb} bind def
  135. /col22 {0.690 0.000 0.690 srgb} bind def
  136. /col23 {0.820 0.000 0.820 srgb} bind def
  137. /col24 {0.500 0.190 0.000 srgb} bind def
  138. /col25 {0.630 0.250 0.000 srgb} bind def
  139. /col26 {0.750 0.380 0.000 srgb} bind def
  140. /col27 {1.000 0.500 0.500 srgb} bind def
  141. /col28 {1.000 0.630 0.630 srgb} bind def
  142. /col29 {1.000 0.750 0.750 srgb} bind def
  143. /col30 {1.000 0.880 0.880 srgb} bind def
  144. /col31 {1.000 0.840 0.000 srgb} bind def
  145. end
  146. save
  147. -17.0 349.0 translate
  148. 1 -1 scale
  149. .9 .9 scale % to make patterns same scale as in xfig
  150. % This junk string is used by the show operators
  151. /PATsstr 1 string def
  152. /PATawidthshow {  % cx cy cchar rx ry string
  153.   % Loop over each character in the string
  154.   {  % cx cy cchar rx ry char
  155.     % Show the character
  156.     dup % cx cy cchar rx ry char char
  157.     PATsstr dup 0 4 -1 roll put % cx cy cchar rx ry char (char)
  158.     false charpath % cx cy cchar rx ry char
  159.     /clip load PATdraw
  160.     % Move past the character (charpath modified the
  161.     % current point)
  162.     currentpoint % cx cy cchar rx ry char x y
  163.     newpath
  164.     moveto % cx cy cchar rx ry char
  165.     % Reposition by cx,cy if the character in the string is cchar
  166.     3 index eq { % cx cy cchar rx ry
  167.       4 index 4 index rmoveto
  168.     } if
  169.     % Reposition all characters by rx ry
  170.     2 copy rmoveto % cx cy cchar rx ry
  171.   } forall
  172.   pop pop pop pop pop % -
  173.   currentpoint
  174.   newpath
  175.   moveto
  176. } bind def
  177. /PATcg {
  178.   7 dict dup begin
  179.     /lw currentlinewidth def
  180.     /lc currentlinecap def
  181.     /lj currentlinejoin def
  182.     /ml currentmiterlimit def
  183.     /ds [ currentdash ] def
  184.     /cc [ currentrgbcolor ] def
  185.     /cm matrix currentmatrix def
  186.   end
  187. } bind def
  188. % PATdraw - calculates the boundaries of the object and
  189. % fills it with the current pattern
  190. /PATdraw { % proc
  191.   save exch
  192.     PATpcalc % proc nw nh px py
  193.     5 -1 roll exec % nw nh px py
  194.     newpath
  195.     PATfill % -
  196.   restore
  197. } bind def
  198. % PATfill - performs the tiling for the shape
  199. /PATfill { % nw nh px py PATfill -
  200.   PATDict /CurrentPattern get dup begin
  201.     setfont
  202.     % Set the coordinate system to Pattern Space
  203.     PatternGState PATsg
  204.     % Set the color for uncolored pattezns
  205.     PaintType 2 eq { PATDict /PColor get PATsc } if
  206.     % Create the string for showing
  207.     3 index string % nw nh px py str
  208.     % Loop for each of the pattern sources
  209.     0 1 Multi 1 sub { % nw nh px py str source
  210. % Move to the starting location
  211. 3 index 3 index % nw nh px py str source px py
  212. moveto % nw nh px py str source
  213. % For multiple sources, set the appropriate color
  214. Multi 1 ne { dup PC exch get PATsc } if
  215. % Set the appropriate string for the source
  216. 0 1 7 index 1 sub { 2 index exch 2 index put } for pop
  217. % Loop over the number of vertical cells
  218. 3 index  % nw nh px py str nh
  219. { % nw nh px py str
  220.   currentpoint % nw nh px py str cx cy
  221.   2 index show % nw nh px py str cx cy
  222.   YStep add moveto % nw nh px py str
  223. } repeat % nw nh px py str
  224.     } for
  225.     5 { pop } repeat
  226.   end
  227. } bind def
  228. % PATkshow - kshow with the current pattezn
  229. /PATkshow { % proc string
  230.   exch bind % string proc
  231.   1 index 0 get % string proc char
  232.   % Loop over all but the last character in the string
  233.   0 1 4 index length 2 sub {
  234. % string proc char idx
  235.     % Find the n+1th character in the string
  236.     3 index exch 1 add get % string proe char char+1
  237.     exch 2 copy % strinq proc char+1 char char+1 char
  238.     % Now show the nth character
  239.     PATsstr dup 0 4 -1 roll put % string proc chr+1 chr chr+1 (chr)
  240.     false charpath % string proc char+1 char char+1
  241.     /clip load PATdraw
  242.     % Move past the character (charpath modified the current point)
  243.     currentpoint newpath moveto
  244.     % Execute the user proc (should consume char and char+1)
  245.     mark 3 1 roll % string proc char+1 mark char char+1
  246.     4 index exec % string proc char+1 mark...
  247.     cleartomark % string proc char+1
  248.   } for
  249.   % Now display the last character
  250.   PATsstr dup 0 4 -1 roll put % string proc (char+1)
  251.   false charpath % string proc
  252.   /clip load PATdraw
  253.   neewath
  254.   pop pop % -
  255. } bind def
  256. % PATmp - the makepattern equivalent
  257. /PATmp { % patdict patmtx PATmp patinstance
  258.   exch dup length 7 add % We will add 6 new entries plus 1 FID
  259.   dict copy % Create a new dictionary
  260.   begin
  261.     % Matrix to install when painting the pattern
  262.     TilingType PATtcalc
  263.     /PatternGState PATcg def
  264.     PatternGState /cm 3 -1 roll put
  265.     % Check for multi pattern sources (Level 1 fast color patterns)
  266.     currentdict /Multi known not { /Multi 1 def } if
  267.     % Font dictionary definitions
  268.     /FontType 3 def
  269.     % Create a dummy encoding vector
  270.     /Encoding 256 array def
  271.     3 string 0 1 255 {
  272.       Encoding exch dup 3 index cvs cvn put } for pop
  273.     /FontMatrix matrix def
  274.     /FontBBox BBox def
  275.     /BuildChar {
  276. mark 3 1 roll % mark dict char
  277. exch begin
  278. Multi 1 ne {PaintData exch get}{pop} ifelse  % mark [paintdata]
  279.   PaintType 2 eq Multi 1 ne or
  280.   { XStep 0 FontBBox aload pop setcachedevice }
  281.   { XStep 0 setcharwidth } ifelse
  282.   currentdict % mark [paintdata] dict
  283.   /PaintProc load % mark [paintdata] dict paintproc
  284. end
  285. gsave
  286.   false PATredef exec true PATredef
  287. grestore
  288. cleartomark % -
  289.     } bind def
  290.     currentdict
  291.   end % newdict
  292.   /foo exch % /foo newlict
  293.   definefont % newfont
  294. } bind def
  295. % PATpcalc - calculates the starting point and width/height
  296. % of the tile fill for the shape
  297. /PATpcalc { % - PATpcalc nw nh px py
  298.   PATDict /CurrentPattern get begin
  299.     gsave
  300. % Set up the coordinate system to Pattern Space
  301. % and lock down pattern
  302. PatternGState /cm get setmatrix
  303. BBox aload pop pop pop translate
  304. % Determine the bounding box of the shape
  305. pathbbox % llx lly urx ury
  306.     grestore
  307.     % Determine (nw, nh) the # of cells to paint width and height
  308.     PatHeight div ceiling % llx lly urx qh
  309.     4 1 roll % qh llx lly urx
  310.     PatWidth div ceiling % qh llx lly qw
  311.     4 1 roll % qw qh llx lly
  312.     PatHeight div floor % qw qh llx ph
  313.     4 1 roll % ph qw qh llx
  314.     PatWidth div floor % ph qw qh pw
  315.     4 1 roll % pw ph qw qh
  316.     2 index sub cvi abs % pw ph qs qh-ph
  317.     exch 3 index sub cvi abs exch % pw ph nw=qw-pw nh=qh-ph
  318.     % Determine the starting point of the pattern fill
  319.     %(px, py)
  320.     4 2 roll % nw nh pw ph
  321.     PatHeight mul % nw nh pw py
  322.     exch % nw nh py pw
  323.     PatWidth mul exch % nw nh px py
  324.   end
  325. } bind def
  326. % Save the original routines so that we can use them later on
  327. /oldfill /fill load def
  328. /oldeofill /eofill load def
  329. /oldstroke /stroke load def
  330. /oldshow /show load def
  331. /oldashow /ashow load def
  332. /oldwidthshow /widthshow load def
  333. /oldawidthshow /awidthshow load def
  334. /oldkshow /kshow load def
  335. % These defs are necessary so that subsequent procs don't bind in
  336. % the originals
  337. /fill    { oldfill } bind def
  338. /eofill    { oldeofill } bind def
  339. /stroke    { oldstroke } bind def
  340. /show    { oldshow } bind def
  341. /ashow    { oldashow } bind def
  342. /widthshow { oldwidthshow } bind def
  343. /awidthshow { oldawidthshow } bind def
  344. /kshow     { oldkshow } bind def
  345. /PATredef {
  346.   MyAppDict begin
  347.     {
  348.     /fill { /clip load PATdraw newpath } bind def
  349.     /eofill { /eoclip load PATdraw newpath } bind def
  350.     /stroke { PATstroke } bind def
  351.     /show { 0 0 null 0 0 6 -1 roll PATawidthshow } bind def
  352.     /ashow { 0 0 null 6 3 roll PATawidthshow }
  353.     bind def
  354.     /widthshow { 0 0 3 -1 roll PATawidthshow }
  355.     bind def
  356.     /awidthshow { PATawidthshow } bind def
  357.     /kshow { PATkshow } bind def
  358.   } {
  359.     /fill   { oldfill } bind def
  360.     /eofill { oldeofill } bind def
  361.     /stroke { oldstroke } bind def
  362.     /show   { oldshow } bind def
  363.     /ashow  { oldashow } bind def
  364.     /widthshow { oldwidthshow } bind def
  365.     /awidthshow { oldawidthshow } bind def
  366.     /kshow  { oldkshow } bind def
  367.     } ifelse
  368.   end
  369. } bind def
  370. false PATredef
  371. % Conditionally define setcmykcolor if not available
  372. /setcmykcolor where { pop } {
  373.   /setcmykcolor {
  374.     1 sub 4 1 roll
  375.     3 {
  376. 3 index add neg dup 0 lt { pop 0 } if 3 1 roll
  377.     } repeat
  378.     setrgbcolor - pop
  379.   } bind def
  380. } ifelse
  381. /PATsc { % colorarray
  382.   aload length % c1 ... cn length
  383.     dup 1 eq { pop setgray } { 3 eq { setrgbcolor } { setcmykcolor
  384.   } ifelse } ifelse
  385. } bind def
  386. /PATsg { % dict
  387.   begin
  388.     lw setlinewidth
  389.     lc setlinecap
  390.     lj setlinejoin
  391.     ml setmiterlimit
  392.     ds aload pop setdash
  393.     cc aload pop setrgbcolor
  394.     cm setmatrix
  395.   end
  396. } bind def
  397. /PATDict 3 dict def
  398. /PATsp {
  399.   true PATredef
  400.   PATDict begin
  401.     /CurrentPattern exch def
  402.     % If it's an uncolored pattern, save the color
  403.     CurrentPattern /PaintType get 2 eq {
  404.       /PColor exch def
  405.     } if
  406.     /CColor [ currentrgbcolor ] def
  407.   end
  408. } bind def
  409. % PATstroke - stroke with the current pattern
  410. /PATstroke {
  411.   countdictstack
  412.   save
  413.   mark
  414.   {
  415.     currentpoint strokepath moveto
  416.     PATpcalc % proc nw nh px py
  417.     clip newpath PATfill
  418.     } stopped {
  419. (*** PATstroke Warning: Path is too complex, stroking
  420.   with gray) =
  421.     cleartomark
  422.     restore
  423.     countdictstack exch sub dup 0 gt
  424. { { end } repeat } { pop } ifelse
  425.     gsave 0.5 setgray oldstroke grestore
  426.   } { pop restore pop } ifelse
  427.   newpath
  428. } bind def
  429. /PATtcalc { % modmtx tilingtype PATtcalc tilematrix
  430.   % Note: tiling types 2 and 3 are not supported
  431.   gsave
  432.     exch concat % tilingtype
  433.     matrix currentmatrix exch % cmtx tilingtype
  434.     % Tiling type 1 and 3: constant spacing
  435.     2 ne {
  436. % Distort the pattern so that it occupies
  437. % an integral number of device pixels
  438. dup 4 get exch dup 5 get exch % tx ty cmtx
  439. XStep 0 dtransform
  440. round exch round exch % tx ty cmtx dx.x dx.y
  441. XStep div exch XStep div exch % tx ty cmtx a b
  442. 0 YStep dtransform
  443. round exch round exch % tx ty cmtx a b dy.x dy.y
  444. YStep div exch YStep div exch % tx ty cmtx a b c d
  445. 7 -3 roll astore % { a b c d tx ty }
  446.     } if
  447.   grestore
  448. } bind def
  449. /PATusp {
  450.   false PATredef
  451.   PATDict begin
  452.     CColor PATsc
  453.   end
  454. } bind def
  455. % this is the pattern fill program from the Second edition Reference Manual
  456. % with changes to call the above pattern fill
  457. % left30
  458. 11 dict begin
  459. /PaintType 1 def
  460. /PatternType 1 def
  461. /TilingType 1 def
  462. /BBox [0 0 1 1] def
  463. /XStep 1 def
  464. /YStep 1 def
  465. /PatWidth 1 def
  466. /PatHeight 1 def
  467. /Multi 2 def
  468. /PaintData [
  469.   { clippath } bind
  470.   { 32 16 true [ 32 0 0 -16 0 16 ]
  471. {<c000c000300030000c000c000300030000c000c000300030
  472. 000c000c00030003c000c000300030000c000c0003000300
  473. 00c000c000300030000c000c00030003>}
  474.      imagemask } bind
  475. ] def
  476. /PaintProc {
  477. pop
  478. exec fill
  479. } def
  480. currentdict
  481. end
  482. /P1 exch def
  483. 1.1111 1.1111 scale %restore scale
  484. /cp {closepath} bind def
  485. /ef {eofill} bind def
  486. /gr {grestore} bind def
  487. /gs {gsave} bind def
  488. /sa {save} bind def
  489. /rs {restore} bind def
  490. /l {lineto} bind def
  491. /m {moveto} bind def
  492. /rm {rmoveto} bind def
  493. /n {newpath} bind def
  494. /s {stroke} bind def
  495. /sh {show} bind def
  496. /slc {setlinecap} bind def
  497. /slj {setlinejoin} bind def
  498. /slw {setlinewidth} bind def
  499. /srgb {setrgbcolor} bind def
  500. /rot {rotate} bind def
  501. /sc {scale} bind def
  502. /sd {setdash} bind def
  503. /ff {findfont} bind def
  504. /sf {setfont} bind def
  505. /scf {scalefont} bind def
  506. /sw {stringwidth} bind def
  507. /tr {translate} bind def
  508. /tnt {dup dup currentrgbcolor
  509.   4 -2 roll dup 1 exch sub 3 -1 roll mul add
  510.   4 -2 roll dup 1 exch sub 3 -1 roll mul add
  511.   4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
  512.   bind def
  513. /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
  514.   4 -2 roll mul srgb} bind def
  515.  /DrawEllipse {
  516. /endangle exch def
  517. /startangle exch def
  518. /yrad exch def
  519. /xrad exch def
  520. /y exch def
  521. /x exch def
  522. /savematrix mtrx currentmatrix def
  523. x y tr xrad yrad sc 0 0 1 startangle endangle arc
  524. closepath
  525. savematrix setmatrix
  526. } def
  527. /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
  528. /$F2psEnd {$F2psEnteredState restore end} def
  529. $F2psBegin
  530. 10 setmiterlimit
  531. n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
  532.  0.06000 0.06000 sc
  533. 7.500 slw
  534. % Ellipse
  535. n 3075 3000 1500 675 0 360 DrawEllipse gs col-1 s gr
  536. % Ellipse
  537. n 2925 1275 600 225 0 360 DrawEllipse gs col-1 s gr
  538. % Ellipse
  539. n 975 1800 225 450 0 360 DrawEllipse gs col-1 s gr
  540. % Ellipse
  541. n 525 3525 225 375 0 360 DrawEllipse gs col-1 s gr
  542. % Ellipse
  543. n 2775 4500 375 225 0 360 DrawEllipse gs col-1 s gr
  544. % Ellipse
  545. n 5025 4650 739 739 0 360 DrawEllipse gs col-1 s gr
  546. % Ellipse
  547. n 5925 2175 480 480 0 360 DrawEllipse gs col-1 s gr
  548. % Ellipse
  549. n 8175 1800 600 225 0 360 DrawEllipse gs col-1 s gr
  550. % Ellipse
  551. n 9525 2475 450 225 0 360 DrawEllipse gs col-1 s gr
  552. % Ellipse
  553. n 9300 4350 525 225 0 360 DrawEllipse gs col-1 s gr
  554. % Ellipse
  555. n 9675 3450 525 225 0 360 DrawEllipse gs col-1 s gr
  556. % Ellipse
  557. n 3075 3000 1500 675 0 360 DrawEllipse gs 0.50 setgray ef gr gs col-1 s gr
  558. % Ellipse
  559. n 8100 3225 645 645 0 360 DrawEllipse gs 0.50 setgray ef gr gs col-1 s gr
  560. % Ellipse
  561. n 975 1950 75 75 0 360 DrawEllipse gs 0.50 setgray ef gr gs col-1 s gr
  562. % Ellipse
  563. n 2925 1275 75 75 0 360 DrawEllipse gs 0.50 setgray ef gr gs col-1 s gr
  564. % Ellipse
  565. n 525 3525 75 75 0 360 DrawEllipse gs 0.50 setgray ef gr gs col-1 s gr
  566. % Ellipse
  567. n 975 4800 75 75 0 360 DrawEllipse gs 0.50 setgray ef gr gs col-1 s gr
  568. % Ellipse
  569. n 2775 4425 75 75 0 360 DrawEllipse gs 0.50 setgray ef gr gs col-1 s gr
  570. % Ellipse
  571. n 4575 4350 75 75 0 360 DrawEllipse gs 0.50 setgray ef gr gs col-1 s gr
  572. % Ellipse
  573. n 5025 4200 75 75 0 360 DrawEllipse gs 0.50 setgray ef gr gs col-1 s gr
  574. % Ellipse
  575. n 5325 4725 75 75 0 360 DrawEllipse gs 0.50 setgray ef gr gs col-1 s gr
  576. % Ellipse
  577. n 4800 4875 75 75 0 360 DrawEllipse gs 0.50 setgray ef gr gs col-1 s gr
  578. % Ellipse
  579. n 5100 5175 75 75 0 360 DrawEllipse gs 0.50 setgray ef gr gs col-1 s gr
  580. % Ellipse
  581. n 5700 1950 75 75 0 360 DrawEllipse gs 0.50 setgray ef gr gs col-1 s gr
  582. % Ellipse
  583. n 6150 2025 75 75 0 360 DrawEllipse gs 0.50 setgray ef gr gs col-1 s gr
  584. % Ellipse
  585. n 5850 2325 75 75 0 360 DrawEllipse gs 0.50 setgray ef gr gs col-1 s gr
  586. % Ellipse
  587. n 7950 1800 75 75 0 360 DrawEllipse gs 0.50 setgray ef gr gs col-1 s gr
  588. % Ellipse
  589. n 9375 2475 75 75 0 360 DrawEllipse gs 0.50 setgray ef gr gs col-1 s gr
  590. % Ellipse
  591. n 9525 3450 75 75 0 360 DrawEllipse gs 0.50 setgray ef gr gs col-1 s gr
  592. % Ellipse
  593. n 9150 4275 75 75 0 360 DrawEllipse gs 0.50 setgray ef gr gs col-1 s gr
  594. % Ellipse
  595. n 2550 2625 75 75 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def
  596. 15.00 15.00 sc P1 [16 0 0 -8 165.00 170.00]  PATmp PATsp ef gr PATusp gs col-1 s gr
  597. % Ellipse
  598. n 2025 3150 75 75 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def
  599. 15.00 15.00 sc P1 [16 0 0 -8 130.00 205.00]  PATmp PATsp ef gr PATusp gs col-1 s gr
  600. % Ellipse
  601. n 2775 3450 75 75 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def
  602. 15.00 15.00 sc P1 [16 0 0 -8 180.00 225.00]  PATmp PATsp ef gr PATusp gs col-1 s gr
  603. % Ellipse
  604. n 3600 3375 75 75 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def
  605. 15.00 15.00 sc P1 [16 0 0 -8 235.00 220.00]  PATmp PATsp ef gr PATusp gs col-1 s gr
  606. % Ellipse
  607. n 3900 2700 75 75 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def
  608. 15.00 15.00 sc P1 [16 0 0 -8 255.00 175.00]  PATmp PATsp ef gr PATusp gs col-1 s gr
  609. % Ellipse
  610. n 7875 2925 75 75 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def
  611. 15.00 15.00 sc P1 [16 0 0 -8 520.00 190.00]  PATmp PATsp ef gr PATusp gs col-1 s gr
  612. % Ellipse
  613. n 8475 3075 75 75 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def
  614. 15.00 15.00 sc P1 [16 0 0 -8 560.00 200.00]  PATmp PATsp ef gr PATusp gs col-1 s gr
  615. % Ellipse
  616. n 8100 3525 75 75 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def
  617. 15.00 15.00 sc P1 [16 0 0 -8 535.00 230.00]  PATmp PATsp ef gr PATusp gs col-1 s gr
  618. % Ellipse
  619. n 5475 4350 75 75 0 360 DrawEllipse gs 0.50 setgray ef gr gs col-1 s gr
  620. % Ellipse
  621. n 1125 4800 450 225 0 360 DrawEllipse gs col-1 s gr
  622. % Polyline
  623. n 975 1875 m 1050 1575 l gs 0.50 setgray ef gr gs col-1 s gr 
  624. % Polyline
  625. n 900 1950 m 825 1650 l gs 0.50 setgray ef gr gs col-1 s gr 
  626. % Polyline
  627. n 3000 1275 m 3300 1275 l gs 0.50 setgray ef gr gs col-1 s gr 
  628. % Polyline
  629. n 2850 1275 m 2475 1275 l gs 0.50 setgray ef gr gs col-1 s gr 
  630. % Polyline
  631. n 525 3450 m 450 3300 l gs 0.50 setgray ef gr gs col-1 s gr 
  632. % Polyline
  633. n 525 3600 m 450 3750 l gs 0.50 setgray ef gr gs col-1 s gr 
  634. % Polyline
  635. n 1050 4800 m 1350 4800 l gs 0.50 setgray ef gr gs col-1 s gr 
  636. % Polyline
  637. n 975 4725 m 2775 3450 l gs 0.50 setgray ef gr gs col-1 s gr 
  638. % Polyline
  639. n 3525 3450 m 2775 4350 l gs 0.50 setgray ef gr gs col-1 s gr 
  640. % Polyline
  641. n 2625 2700 m 3525 3300 l gs 0.50 setgray ef gr gs col-1 s gr 
  642. % Polyline
  643. n 2625 2625 m 3825 2700 l gs 0.50 setgray ef gr gs col-1 s gr 
  644. % Polyline
  645. n 3900 2775 m 3675 3300 l gs 0.50 setgray ef gr gs col-1 s gr 
  646. % Polyline
  647. n 2100 3075 m 2550 2625 l gs 0.50 setgray ef gr gs col-1 s gr 
  648. % Polyline
  649. n 2100 3225 m 2775 3450 l gs 0.50 setgray ef gr gs col-1 s gr 
  650. % Polyline
  651. n 2850 3450 m 3525 3375 l gs 0.50 setgray ef gr gs col-1 s gr 
  652. % Polyline
  653. n 1050 2025 m 2025 3150 l gs 0.50 setgray ef gr gs col-1 s gr 
  654. % Polyline
  655. n 600 3525 m 2025 3150 l gs 0.50 setgray ef gr gs col-1 s gr 
  656. % Polyline
  657. n 2925 1350 m 2550 2625 l gs 0.50 setgray ef gr gs col-1 s gr 
  658. % Polyline
  659. n 3975 2700 m 5850 2325 l gs 0.50 setgray ef gr gs col-1 s gr 
  660. % Polyline
  661. n 5925 2325 m 6075 2100 l gs 0.50 setgray ef gr gs col-1 s gr 
  662. % Polyline
  663. n 6075 2025 m 5700 1950 l gs 0.50 setgray ef gr gs col-1 s gr 
  664. % Polyline
  665. n 5700 2025 m 5850 2250 l gs 0.50 setgray ef gr gs col-1 s gr 
  666. % Polyline
  667. n 8025 1800 m 8400 1800 l gs 0.50 setgray ef gr gs col-1 s gr 
  668. % Polyline
  669. n 7950 1875 m 7875 2850 l gs 0.50 setgray ef gr gs col-1 s gr 
  670. % Polyline
  671. n 7950 2925 m 8400 3075 l gs 0.50 setgray ef gr gs col-1 s gr 
  672. % Polyline
  673. n 8475 3150 m 8175 3525 l gs 0.50 setgray ef gr gs col-1 s gr 
  674. % Polyline
  675. n 8025 3450 m 7875 2925 l gs 0.50 setgray ef gr gs col-1 s gr 
  676. % Polyline
  677. n 9300 2475 m 8475 3075 l 8550 3000 l gs 0.50 setgray ef gr gs col-1 s gr 
  678. % Polyline
  679. n 9450 2475 m 9675 2400 l gs 0.50 setgray ef gr gs col-1 s gr 
  680. % Polyline
  681. n 9450 2475 m 9675 2625 l gs 0.50 setgray ef gr gs col-1 s gr 
  682. % Polyline
  683. n 9600 3375 m 9825 3300 l gs 0.50 setgray ef gr gs col-1 s gr 
  684. % Polyline
  685. n 9600 3450 m 9900 3525 l gs 0.50 setgray ef gr gs col-1 s gr 
  686. % Polyline
  687. n 9450 3450 m 8550 3075 l gs 0.50 setgray ef gr gs col-1 s gr 
  688. % Polyline
  689. n 8175 3525 m 9150 4275 l gs 0.50 setgray ef gr gs col-1 s gr 
  690. % Polyline
  691. n 9225 4275 m 9450 4275 l gs 0.50 setgray ef gr gs col-1 s gr 
  692. % Polyline
  693. n 5925 2400 m 7875 2925 l gs 0.50 setgray ef gr gs col-1 s gr 
  694. % Polyline
  695. n 3975 2775 m 8025 3525 l gs 0.50 setgray ef gr gs col-1 s gr 
  696. % Polyline
  697. n 3675 3450 m 4500 4275 l gs 0.50 setgray ef gr gs col-1 s gr 
  698. % Polyline
  699. n 4650 4350 m 5025 4200 l gs 0.50 setgray ef gr gs col-1 s gr 
  700. % Polyline
  701. n 5100 4275 m 5325 4725 l gs 0.50 setgray ef gr gs col-1 s gr 
  702. % Polyline
  703. n 5250 4725 m 4875 4875 l gs 0.50 setgray ef gr gs col-1 s gr 
  704. % Polyline
  705. n 4800 4800 m 5025 4275 l gs 0.50 setgray ef gr gs col-1 s gr 
  706. % Polyline
  707. n 4575 4425 m 4800 4875 l gs 0.50 setgray ef gr gs col-1 s gr 
  708. % Polyline
  709. n 4800 4950 m 5025 5175 l gs 0.50 setgray ef gr gs col-1 s gr 
  710. % Polyline
  711. n 5100 4200 m 5400 4350 l gs 0.50 setgray ef gr gs col-1 s gr 
  712. % Polyline
  713.  [66.7] 0 sd
  714. n 5550 4350 m 9075 4275 l gs 0.50 setgray ef gr gs col-1 s gr  [] 0 sd
  715. % Polyline
  716. gs  clippath
  717. 2620 4927 m 2690 4825 l 2676 4948 l 2733 4796 l 2677 4775 l  cp clip
  718. n 2475 5400 m 2700 4800 l gs 0.50 setgray ef gr gs col-1 s gr gr
  719. % arrowhead
  720. n 2620 4927 m 2690 4825 l 2676 4948 l  col-1 s
  721. % Polyline
  722. gs  clippath
  723. 4050 5027 m 4173 5030 l 4063 5086 l 4221 5051 l 4208 4992 l  cp clip
  724. n 2475 5400 m 4200 5025 l gs 0.50 setgray ef gr gs col-1 s gr gr
  725. % arrowhead
  726. n 4050 5027 m 4173 5030 l 4063 5086 l  col-1 s
  727. % Polyline
  728. gs  clippath
  729. 1771 5113 m 1674 5036 l 1796 5059 l 1649 4991 l 1624 5046 l  cp clip
  730. n 2475 5400 m 1650 5025 l gs 0.50 setgray ef gr gs col-1 s gr gr
  731. % arrowhead
  732. n 1771 5113 m 1674 5036 l 1796 5059 l  col-1 s
  733. % Polyline
  734. gs  clippath
  735. 7531 2407 m 7562 2526 l 7478 2435 l 7556 2578 l 7609 2549 l  cp clip
  736. n 5175 975 m 7125 1725 l 7575 2550 l gs col-1 s gr gr
  737. % arrowhead
  738. n 7531 2407 m 7562 2526 l 7478 2435 l  col-1 s
  739. % Polyline
  740. gs  clippath
  741. 6591 1749 m 6473 1785 l 6560 1698 l 6422 1782 l 6453 1833 l  cp clip
  742. n 7800 975 m 6450 1800 l gs col-1 s gr gr
  743. % arrowhead
  744. n 6591 1749 m 6473 1785 l 6560 1698 l  col-1 s
  745. % Polyline
  746. gs  clippath
  747. 7208 4550 m 7144 4444 l 7250 4508 l 7136 4393 l 7093 4436 l  cp clip
  748. n 7500 4800 m 7125 4425 l gs col-1 s gr gr
  749. % arrowhead
  750. n 7208 4550 m 7144 4444 l 7250 4508 l  col-1 s
  751. % Polyline
  752. gs  clippath
  753. 4235 2223 m 4140 2303 l 4187 2188 l 4092 2320 l 4141 2355 l  cp clip
  754. n 5100 975 m 4125 2325 l gs col-1 s gr gr
  755. % arrowhead
  756. n 4235 2223 m 4140 2303 l 4187 2188 l  col-1 s
  757. % Polyline
  758. n 2700 4425 m 2550 4500 l gs col-1 s gr 
  759. % Polyline
  760. n 2850 4425 m 3075 4575 l gs col-1 s gr 
  761. /Times-Roman ff 240.00 scf sf
  762. 2175 5775 m
  763. gs 1 -1 sc (Stub Domains) col-1 sh gr
  764. /Times-Roman ff 240.00 scf sf
  765. 6975 5025 m
  766. gs 1 -1 sc (Stub-Stub edge) col-1 sh gr
  767. /Times-Roman ff 240.00 scf sf
  768. 4575 900 m
  769. gs 1 -1 sc (Transit Domains) col-1 sh gr
  770. /Times-Roman ff 240.00 scf sf
  771. 7275 900 m
  772. gs 1 -1 sc (Multi-homed Stub) col-1 sh gr
  773. $F2psEnd
  774. rs
  775. end
  776. %%EndDocument
  777.  endTexFig
  778.  518 1114 a Fj(Figure)15 b(2:)20 b(T)l(ransit-Stub)c(Domain)f
  779. (Structure)30 1250 y(stub)g(domains)h(is)g(con)o(trolled)g(b)o(y)f(the)
  780. g(follo)o(wing)h(parameters:)337 1338 y Fc(P)o(arameter)274
  781. b(Meaning)i(Example)p 312 1356 1237 2 v 440 1396 a Fi(T)159
  782. b Fj(#)15 b(transit)g(domains)335 b(6)431 1452 y Fi(N)468
  783. 1459 y Fg(t)626 1452 y Fj((a)o(vg))14 b(no)q(des/transit)h(domain)152
  784. b(15)436 1509 y Fi(K)f Fj((a)o(vg))14 b(stub)h(domains/transit)g(no)q
  785. (de)51 b(12)429 1565 y Fi(N)466 1572 y Fg(s)626 1565
  786. y Fj((a)o(vg))14 b(no)q(des/stub)i(domain)197 b(8)p
  787. 312 1584 V 626 1623 a(total)15 b(no)q(des)478 b(8730)30
  788. 1712 y(As)15 b(the)g(table)h(sho)o(ws,)e(it)i(is)f(not)g(di16cult)i
  789. (to)d(generate)h(rather)g(large)g(graphs)g(with)h(this)f(metho)q(d.)101
  790. 1768 y(Note)h(that)g(the)h(parameters)f(giv)o(en)i(are)e(a)o(v)o
  791. (erages.)24 b(In)17 b(our)g(implemen)o(tation,)h(w)o(e)f(\randomize")
  792. 30 1824 y(the)e(n)o(um)o(b)q(ers)h(of)f(no)q(des)g(in)h(the)g(transit)e
  793. (domains)i(while)h(preserving)f(the)f(a)o(v)o(erage.)101
  794. 1881 y(The)d(v)m(alues)h(of)e Fi(K)k Fj(and)d Fi(N)547
  795. 1888 y Fg(s)576 1881 y Fj(for)f(eac)o(h)h(transit)g(no)q(de)g(and)g
  796. (stub)g(domain)g(are)g(similarly)h(randomized.)30 1937
  797. y(Our)22 b(implemen)o(tation)h(also)f(allo)o(ws)f(di13eren)o(t)h
  798. (random)f(graph)h(metho)q(ds)g(and)f(parameters)g(to)g(b)q(e)30
  799. 1994 y(plugged)16 b(in)g(to)f(construct)g(transit)f(and)i(stub)f
  800. (domain)h(subgraphs)f(with)h(di13eren)o(t)f(c)o(haracteristics.)101
  801. 2050 y(Once)20 b(the)g(complete)h(graph)e(is)h(constructed,)h(in)o
  802. (teger)f(edge)g(w)o(eigh)o(ts)g(are)f(assigned)i(in)f(suc)o(h)g(a)30
  803. 2107 y(w)o(a)o(y)13 b(that)g(the)h(follo)o(wing)g(routing)g(c)o
  804. (haracteristics)g(are)f(exhibited)j(when)f(the)e(edge)h(w)o(eigh)o(ts)g
  805. (are)f(used)30 2163 y(b)o(y)19 b(a)g(shortest)f(path)h(algorithm:)27
  806. b(The)19 b(routing)g(c)o(haracteristics)h(of)e(the)h(curren)o(t)g(In)o
  807. (ternet)g(can)g(b)q(e)30 2220 y(summarized)d(b)o(y)f(the)g(follo)o
  808. (wing)h(general)g(principles:)98 2312 y Fe(17)23 b
  809. Fj(The)12 b(path)g(connecting)i(t)o(w)o(o)c(no)q(des)j(in)g(the)g(same)
  810. f(domain)g(sta)o(ys)g(en)o(tirely)h(within)g(that)f(domain.)98
  811. 2405 y Fe(17)23 b Fj(The)c(shortest)f(path)h(connecting)h(no)q(de)g
  812. Fi(u)f Fj(in)h(stub)g(domain)f Fi(U)24 b Fj(to)19 b(no)q(de)g
  813. Fi(v)i Fj(in)f(another)f(stub)144 2461 y(domain)14 b
  814. Fi(V)24 b Fj(go)q(es)15 b(from)e Fi(U)20 b Fj(through)14
  815. b(one)g(or)g(more)g(transit)g(domains)h(to)f Fi(V)c Fj(,)k(and)g(do)q
  816. (es)h(not)f(pass)144 2518 y(through)g(an)o(y)h(other)g(stub)g(domains.)
  817. 98 2611 y Fe(17)23 b Fj(In)11 b(case)g(t)o(w)o(o)e(stub)i(domains)g
  818. (are)f(connected)i(directly)g(via)f(a)f(stub-stub)h(edge,)g(the)g(path)
  819. g(b)q(et)o(w)o(een)144 2667 y(t)o(w)o(o)i(no)q(des)j(on)f(the)g(t)o(w)o
  820. (o)e(domains)j Fb(may)j Fj((but)c(need)g(not))g(go)f(along)h(that)f
  821. (edge)h(and)h(a)o(v)o(oid)e(an)o(y)144 2724 y(transit)g(domains.)101
  822. 2816 y(The)h(edge)h(w)o(eigh)o(ts)e(to)h(b)q(e)h(calculated)g(and)g
  823. (assigned)g(are:)919 2940 y(4)p eop
  824. %%Page: 5 5
  825. 5 4 bop 426 305 a Fi(W)469 312 y Fg(tt)553 305 y Fj(W)l(eigh)o(t)16
  826. b(of)e(a)h(transit-transit)g(in)o(terdomain)h(edge)426
  827. 362 y Fi(W)469 369 y Fg(ts)553 362 y Fj(W)l(eigh)o(t)g(of)e(a)h
  828. (transit-stub)g(in)o(terdomain)h(edge)426 418 y Fi(W)469
  829. 425 y Fg(ss)553 418 y Fj(W)l(eigh)o(t)g(of)e(a)h(stub-stub)h(in)o
  830. (terdomain)g(edge)30 508 y(Note)d(that)g(all)h(edges)f(of)g(the)h(same)
  831. f(t)o(yp)q(e)g(are)g(giv)o(en)h(the)f(same)g(w)o(eigh)o(t.)19
  832. b(Also,)14 b(all)g Fb(intr)n(a)p Fj(domain)g(edges)30
  833. 565 y(are)k(giv)o(en)i(unit)f(edge)g(w)o(eigh)o(t.)30
  834. b(By)19 b(making)g(the)g(w)o(eigh)o(ts)f(of)g(the)h Fb(inter)p
  835. Fj(domain)g(edges)g(su16cien)o(tly)30 621 y(large,)d(w)o(e)g(guaran)o
  836. (tee)f(that)h(the)g(path)g(b)q(et)o(w)o(een)g(an)o(y)g(t)o(w)o(o)f(no)q
  837. (des)h(in)h(the)f(same)g(domain)h(will)h(remain)30 677
  838. y(within)e(that)f(domain.)101 734 y(In)e(calculating)i(the)e(w)o(eigh)o
  839. (ts)g(of)g(the)g(in)o(terdomain)h(edges,)f(the)g(follo)o(wing)h(quan)o
  840. (tities,)g(tak)o(en)f(from)30 790 y(the)i(constructed)h(graph,)e(are)h
  841. (used:)302 880 y Fc(P)o(arameter)433 b(Meaning)p 278
  842. 899 1305 2 v 377 938 a Fi(D)415 945 y Fa(top)592 938
  843. y Fj(Diameter)15 b(of)g(transit-domain)g(connectivit)o(y)i(graph)396
  844. 995 y Fi(D)434 1002 y Fg(t)592 995 y Fj(Maxim)o(um)e(diameter)h(of)e
  845. (an)o(y)h(transit)g(domain)h(graph)394 1051 y Fi(D)432
  846. 1058 y Fg(s)592 1051 y Fj(Maxim)o(um)f(diameter)h(of)e(an)o(y)h(stub)h
  847. (domain)f(graph)p 278 1070 V 101 1143 a(The)g(follo)o(wing)h(constrain)
  848. o(ts)f(guaran)o(tee)f(the)h(desired)i(lo)q(calit)o(y)f(c)o
  849. (haracteristics:)117 1233 y Fc(Constrain)o(t)676 b(Result)p
  850. 59 1251 1743 2 v 130 1291 a Fj(2)p Fi(W)196 1298 y Fg(ss)243
  851. 1291 y Fi(>)13 b(D)329 1298 y Fg(s)443 1291 y Fj(In)o(tra-stub)i
  852. (preferred)g(o)o(v)o(er)g(an)o(y)f(In)o(ter-stub)i(path)135
  853. 1347 y(2)p Fi(W)201 1354 y Fg(tt)241 1347 y Fi(>)d(D)327
  854. 1354 y Fg(t)443 1347 y Fj(In)o(tra-transit)h(preferred)i(o)o(v)o(er)e
  855. (an)o(y)h(In)o(ter-transit)g(path)84 1404 y(2)p Fi(W)150
  856. 1411 y Fg(ts)193 1404 y Fi(>)e(D)279 1411 y Fa(top)331
  857. 1404 y Fi(W)374 1411 y Fg(tt)412 1404 y Fj(+)d(()p Fi(D)513
  858. 1411 y Fa(top)575 1404 y Fj(+)h(1))p Fi(D)700 1411 y
  859. Fg(t)443 1460 y Fj(No)k(shortcut)f(via)i(a)f(stub)g(no)q(de)h
  860. (connected)g(to)f(an)o(y)f(pair)i(of)f(transit)g(no)q(des)84
  861. 1517 y(2)p Fi(W)150 1524 y Fg(ss)197 1517 y Fi(>)e Fj(2)p
  862. Fi(D)306 1524 y Fg(s)334 1517 y Fj(+)d(2)p Fi(W)445 1524
  863. y Fg(ts)486 1517 y Fj(+)g Fi(D)569 1524 y Fa(top)621
  864. 1517 y Fi(W)664 1524 y Fg(tt)702 1517 y Fj(+)h Fi(D)786
  865. 1524 y Fa(top)838 1517 y Fi(D)876 1524 y Fg(t)443 1573
  866. y Fj(Ev)o(ery)k(all-transit)g(path)h(preferred)f(o)o(v)o(er)f(an)o(y)h
  867. (path)g(with)h(three)f(stubs)84 1630 y Fi(W)127 1637
  868. y Fg(ss)174 1630 y Fe(31)e Fj(2)p Fi(W)288 1637 y Fg(ts)329
  869. 1630 y Fj(+)d Fi(17)51 b Fj(Direct)15 b(connection)h(b)q(et)o(w)o
  870. (een)g(2)f(stubs)g(ma)o(y)f(b)q(e)i(preferred)g(sometimes.)30
  871. 1720 y(By)f(assigning)h(the)g(follo)o(wing)f(v)m(alues,)h(the)g(ab)q(o)
  872. o(v)o(e)f(constrain)o(ts)f(are)h(satis14ed:)534 1822
  873. y Fi(W)577 1829 y Fg(tt)646 1822 y Fj(:=)41 b Fe(d)p
  874. Fi(D)793 1829 y Fg(t)808 1822 y Fi(=)p Fj(2)o Fe(e)530
  875. 1891 y Fi(W)573 1898 y Fg(ts)646 1891 y Fj(:=)g Fe(d)p
  876. Fi(D)793 1898 y Fa(top)845 1891 y Fi(W)888 1898 y Fg(tt)916
  877. 1891 y Fi(=)p Fj(2)o Fe(e)11 b Fj(+)f Fe(d)p Fj(()p
  878. Fi(D)1113 1898 y Fa(top)1175 1891 y Fj(+)g(1))p Fi(D)1299
  879. 1898 y Fg(t)1313 1891 y Fe(e)526 1960 y Fi(W)569 1967
  880. y Fg(ss)646 1960 y Fj(:=)41 b Fi(D)773 1967 y Fg(s)801
  881. 1960 y Fj(+)11 b(2)p Fi(W)913 1967 y Fg(ts)101 2062 y
  882. Fj(The)i(domains)h(in)g(transit-stub)f(graphs)g(are)g(placed)h(in)g
  883. (the)g(plane)g(in)g(suc)o(h)g(a)f(w)o(a)o(y)f(that)g(they)i(ma)o(y)30
  884. 2118 y(o)o(v)o(erlap)f(one)g(another.)19 b(The)14 b(same)e(scale)i(is)g
  885. (used)g(throughout)e(the)i(construction)f(pro)q(cess;)h(it)f(is)h(com-)
  886. 30 2175 y(puted)f(from)f(the)h(parameters)f(giv)o(en)h(to)f(the)h
  887. (graph)g(construction)g(routine.)19 b(The)13 b(pro)q(cess)g(is)g
  888. (depicted)30 2231 y(sc)o(hematically)h(in)f(Figure)f(3.)19
  889. b(A)12 b(top-lev)o(el)i(graph)e(determines)h(the)f(lo)q(cation)h(and)g
  890. (connectivit)o(y)g(of)f(the)30 2288 y(transit)j(domains;)g(that)f(is,)i
  891. (eac)o(h)f(no)q(de)h(of)f(the)g(top-lev)o(el)h(graph)f(corresp)q(onds)h
  892. (to)e(a)h(transit)g(domain.)30 2344 y(Eac)o(h)21 b(no)q(de)g(of)f(the)h
  893. (top-lev)o(el)h(graph)e(is)i(then)f(replaced)h(b)o(y)e(a)h(complete)g
  894. (transit)f(domain)i(graph,)30 2400 y(whose)d(scale)h((as)e(a)g
  895. (fraction)h(of)g(the)g(total)f(length)i(of)f(a)f(side)i(of)f(the)g
  896. (unit)h(square))e(is)i(determined)30 2457 y(b)o(y)c(the)h(parameter)e
  897. Fb(tr)n(ansfr)n(ac)h Fj(of)g(the)g(program.)22 b(Stub)17
  898. b(domains)g(are)f(created)g(with)h(a)f(scale)h(that)e(is)30
  899. 2513 y(some)e(fraction)h(of)f(the)h(global)g(scale;)h(this)f(fraction)g
  900. (is)g(again)g(a)f(program)g((compile-time))i(parameter)30
  901. 2570 y Fb(stubfr)n(ac)p Fj(.)k(Eac)o(h)14 b(stub)h(domain)f(is)h
  902. (placed)g(within)h(a)d(certain)i(distance)g(of)f(the)g(transit)g(no)q
  903. (de)h(to)e(whic)o(h)30 2626 y(it)h(is)g(attac)o(hed;)g(no)f(stub)h(no)q
  904. (de)g(is)h(more)e(than)h(the)g(scale)g(of)f(the)h(stub)g(domain)g(a)o
  905. (w)o(a)o(y)e(from)h(its)h(transit)30 2683 y(no)q(de.)20
  906. b(Th)o(us,)12 b(in)h(transit-stub)g(graphs,)f(p)q(olicy)i(and)f
  907. (length-based)g(edge)g(w)o(eigh)o(ts)f(of)g(paths)h(ma)o(y)e(ha)o(v)o
  908. (e)30 2739 y(little)17 b(to)d(do)h(with)h(eac)o(h)f(other.)919
  909. 2940 y(5)p eop
  910. %%Page: 6 6
  911. 6 5 bop 484 266 a
  912.  14077296 15787623 11182899 22497361 25260195 38284984 startTexFig
  913.  484 266 a
  914. %%BeginDocument: tslayfig.ps
  915. /arrowhead {
  916. 0 begin
  917. transform originalCTM itransform
  918. /taily exch def
  919. /tailx exch def
  920. transform originalCTM itransform
  921. /tipy exch def
  922. /tipx exch def
  923. /dy tipy taily sub def
  924. /dx tipx tailx sub def
  925. /angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def
  926. gsave
  927. originalCTM setmatrix
  928. tipx tipy translate
  929. angle rotate
  930. newpath
  931. arrowHeight neg arrowWidth 2 div moveto
  932. 0 0 lineto
  933. arrowHeight neg arrowWidth 2 div neg lineto
  934. patternNone not {
  935. originalCTM setmatrix
  936. /padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul
  937. arrowWidth div def
  938. /padtail brushWidth 2 div def
  939. tipx tipy translate
  940. angle rotate
  941. padtip 0 translate
  942. arrowHeight padtip add padtail add arrowHeight div dup scale
  943. arrowheadpath
  944. ifill
  945. } if
  946. brushNone not {
  947. originalCTM setmatrix
  948. tipx tipy translate
  949. angle rotate
  950. arrowheadpath
  951. istroke
  952. } if
  953. grestore
  954. end
  955. } dup 0 9 dict put def
  956. /arrowheadpath {
  957. newpath
  958. arrowHeight neg arrowWidth 2 div moveto
  959. 0 0 lineto
  960. arrowHeight neg arrowWidth 2 div neg lineto
  961. } def
  962. /leftarrow {
  963. 0 begin
  964. y exch get /taily exch def
  965. x exch get /tailx exch def
  966. y exch get /tipy exch def
  967. x exch get /tipx exch def
  968. brushLeftArrow { tipx tipy tailx taily arrowhead } if
  969. end
  970. } dup 0 4 dict put def
  971. /rightarrow {
  972. 0 begin
  973. y exch get /tipy exch def
  974. x exch get /tipx exch def
  975. y exch get /taily exch def
  976. x exch get /tailx exch def
  977. brushRightArrow { tipx tipy tailx taily arrowhead } if
  978. end
  979. } dup 0 4 dict put def
  980. /arrowHeight 10 def
  981. /arrowWidth 5 def
  982. /IdrawDict 51 dict def
  983. IdrawDict begin
  984. /reencodeISO {
  985. dup dup findfont dup length dict begin
  986. { 1 index /FID ne { def }{ pop pop } ifelse } forall
  987. /Encoding ISOLatin1Encoding def
  988. currentdict end definefont
  989. } def
  990. /ISOLatin1Encoding [
  991. /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
  992. /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
  993. /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
  994. /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
  995. /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
  996. /parenleft/parenright/asterisk/plus/comma/minus/period/slash
  997. /zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon
  998. /less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N
  999. /O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright
  1000. /asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m
  1001. /n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde
  1002. /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
  1003. /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
  1004. /.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve
  1005. /dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut
  1006. /ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar
  1007. /section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot
  1008. /hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
  1009. /acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine
  1010. /guillemotright/onequarter/onehalf/threequarters/questiondown
  1011. /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
  1012. /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
  1013. /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
  1014. /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute
  1015. /Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
  1016. /aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave
  1017. /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex
  1018. /otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis
  1019. /yacute/thorn/ydieresis
  1020. ] def
  1021. /Times-Italic reencodeISO def
  1022. /none null def
  1023. /numGraphicParameters 17 def
  1024. /stringLimit 65535 def
  1025. /Begin {
  1026. save
  1027. numGraphicParameters dict begin
  1028. } def
  1029. /End {
  1030. end
  1031. restore
  1032. } def
  1033. /SetB {
  1034. dup type /nulltype eq {
  1035. pop
  1036. false /brushRightArrow idef
  1037. false /brushLeftArrow idef
  1038. true /brushNone idef
  1039. } {
  1040. /brushDashOffset idef
  1041. /brushDashArray idef
  1042. 0 ne /brushRightArrow idef
  1043. 0 ne /brushLeftArrow idef
  1044. /brushWidth idef
  1045. false /brushNone idef
  1046. } ifelse
  1047. } def
  1048. /SetCFg {
  1049. /fgblue idef
  1050. /fggreen idef
  1051. /fgred idef
  1052. } def
  1053. /SetCBg {
  1054. /bgblue idef
  1055. /bggreen idef
  1056. /bgred idef
  1057. } def
  1058. /SetF {
  1059. /printSize idef
  1060. /printFont idef
  1061. } def
  1062. /SetP {
  1063. dup type /nulltype eq {
  1064. pop true /patternNone idef
  1065. } {
  1066. dup -1 eq {
  1067. /patternGrayLevel idef
  1068. /patternString idef
  1069. } {
  1070. /patternGrayLevel idef
  1071. } ifelse
  1072. false /patternNone idef
  1073. } ifelse
  1074. } def
  1075. /BSpl {
  1076. 0 begin
  1077. storexyn
  1078. newpath
  1079. n 1 gt {
  1080. 0 0 0 0 0 0 1 1 true subspline
  1081. n 2 gt {
  1082. 0 0 0 0 1 1 2 2 false subspline
  1083. 1 1 n 3 sub {
  1084. /i exch def
  1085. i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
  1086. } for
  1087. n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline
  1088. } if
  1089. n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline
  1090. patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
  1091. brushNone not { istroke } if
  1092. 0 0 1 1 leftarrow
  1093. n 2 sub dup n 1 sub dup rightarrow
  1094. } if
  1095. end
  1096. } dup 0 4 dict put def
  1097. /Circ {
  1098. newpath
  1099. 0 360 arc
  1100. patternNone not { ifill } if
  1101. brushNone not { istroke } if
  1102. } def
  1103. /CBSpl {
  1104. 0 begin
  1105. dup 2 gt {
  1106. storexyn
  1107. newpath
  1108. n 1 sub dup 0 0 1 1 2 2 true subspline
  1109. 1 1 n 3 sub {
  1110. /i exch def
  1111. i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
  1112. } for
  1113. n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline
  1114. n 2 sub dup n 1 sub dup 0 0 1 1 false subspline
  1115. patternNone not { ifill } if
  1116. brushNone not { istroke } if
  1117. } {
  1118. Poly
  1119. } ifelse
  1120. end
  1121. } dup 0 4 dict put def
  1122. /Elli {
  1123. 0 begin
  1124. newpath
  1125. 4 2 roll
  1126. translate
  1127. scale
  1128. 0 0 1 0 360 arc
  1129. patternNone not { ifill } if
  1130. brushNone not { istroke } if
  1131. end
  1132. } dup 0 1 dict put def
  1133. /Line {
  1134. 0 begin
  1135. 2 storexyn
  1136. newpath
  1137. x 0 get y 0 get moveto
  1138. x 1 get y 1 get lineto
  1139. brushNone not { istroke } if
  1140. 0 0 1 1 leftarrow
  1141. 0 0 1 1 rightarrow
  1142. end
  1143. } dup 0 4 dict put def
  1144. /MLine {
  1145. 0 begin
  1146. storexyn
  1147. newpath
  1148. n 1 gt {
  1149. x 0 get y 0 get moveto
  1150. 1 1 n 1 sub {
  1151. /i exch def
  1152. x i get y i get lineto
  1153. } for
  1154. patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
  1155. brushNone not { istroke } if
  1156. 0 0 1 1 leftarrow
  1157. n 2 sub dup n 1 sub dup rightarrow
  1158. } if
  1159. end
  1160. } dup 0 4 dict put def
  1161. /Poly {
  1162. 3 1 roll
  1163. newpath
  1164. moveto
  1165. -1 add
  1166. { lineto } repeat
  1167. closepath
  1168. patternNone not { ifill } if
  1169. brushNone not { istroke } if
  1170. } def
  1171. /Rect {
  1172. 0 begin
  1173. /t exch def
  1174. /r exch def
  1175. /b exch def
  1176. /l exch def
  1177. newpath
  1178. l b moveto
  1179. l t lineto
  1180. r t lineto
  1181. r b lineto
  1182. closepath
  1183. patternNone not { ifill } if
  1184. brushNone not { istroke } if
  1185. end
  1186. } dup 0 4 dict put def
  1187. /Text {
  1188. ishow
  1189. } def
  1190. /idef {
  1191. dup where { pop pop pop } { exch def } ifelse
  1192. } def
  1193. /ifill {
  1194. 0 begin
  1195. gsave
  1196. patternGrayLevel -1 ne {
  1197. fgred bgred fgred sub patternGrayLevel mul add
  1198. fggreen bggreen fggreen sub patternGrayLevel mul add
  1199. fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor
  1200. eofill
  1201. } {
  1202. eoclip
  1203. originalCTM setmatrix
  1204. pathbbox /t exch def /r exch def /b exch def /l exch def
  1205. /w r l sub ceiling cvi def
  1206. /h t b sub ceiling cvi def
  1207. /imageByteWidth w 8 div ceiling cvi def
  1208. /imageHeight h def
  1209. bgred bggreen bgblue setrgbcolor
  1210. eofill
  1211. fgred fggreen fgblue setrgbcolor
  1212. w 0 gt h 0 gt and {
  1213. l w add b translate w neg h scale
  1214. w h true [w 0 0 h neg 0 h] { patternproc } imagemask
  1215. } if
  1216. } ifelse
  1217. grestore
  1218. end
  1219. } dup 0 8 dict put def
  1220. /istroke {
  1221. gsave
  1222. brushDashOffset -1 eq {
  1223. [] 0 setdash
  1224. 1 setgray
  1225. } {
  1226. brushDashArray brushDashOffset setdash
  1227. fgred fggreen fgblue setrgbcolor
  1228. } ifelse
  1229. brushWidth setlinewidth
  1230. originalCTM setmatrix
  1231. stroke
  1232. grestore
  1233. } def
  1234. /ishow {
  1235. 0 begin
  1236. gsave
  1237. fgred fggreen fgblue setrgbcolor
  1238. /fontDict printFont printSize scalefont dup setfont def
  1239. /descender fontDict begin 0 [FontBBox] 1 get FontMatrix end
  1240. transform exch pop def
  1241. /vertoffset 1 printSize sub descender sub def {
  1242. 0 vertoffset moveto show
  1243. /vertoffset vertoffset printSize sub def
  1244. } forall
  1245. grestore
  1246. end
  1247. } dup 0 3 dict put def
  1248. /patternproc {
  1249. 0 begin
  1250. /patternByteLength patternString length def
  1251. /patternHeight patternByteLength 8 mul sqrt cvi def
  1252. /patternWidth patternHeight def
  1253. /patternByteWidth patternWidth 8 idiv def
  1254. /imageByteMaxLength imageByteWidth imageHeight mul
  1255. stringLimit patternByteWidth sub min def
  1256. /imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv
  1257. patternHeight mul patternHeight max def
  1258. /imageHeight imageHeight imageMaxHeight sub store
  1259. /imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def
  1260. 0 1 imageMaxHeight 1 sub {
  1261. /y exch def
  1262. /patternRow y patternByteWidth mul patternByteLength mod def
  1263. /patternRowString patternString patternRow patternByteWidth getinterval def
  1264. /imageRow y imageByteWidth mul def
  1265. 0 patternByteWidth imageByteWidth 1 sub {
  1266. /x exch def
  1267. imageString imageRow x add patternRowString putinterval
  1268. } for
  1269. } for
  1270. imageString
  1271. end
  1272. } dup 0 12 dict put def
  1273. /min {
  1274. dup 3 2 roll dup 4 3 roll lt { exch } if pop
  1275. } def
  1276. /max {
  1277. dup 3 2 roll dup 4 3 roll gt { exch } if pop
  1278. } def
  1279. /midpoint {
  1280. 0 begin
  1281. /y1 exch def
  1282. /x1 exch def
  1283. /y0 exch def
  1284. /x0 exch def
  1285. x0 x1 add 2 div
  1286. y0 y1 add 2 div
  1287. end
  1288. } dup 0 4 dict put def
  1289. /thirdpoint {
  1290. 0 begin
  1291. /y1 exch def
  1292. /x1 exch def
  1293. /y0 exch def
  1294. /x0 exch def
  1295. x0 2 mul x1 add 3 div
  1296. y0 2 mul y1 add 3 div
  1297. end
  1298. } dup 0 4 dict put def
  1299. /subspline {
  1300. 0 begin
  1301. /movetoNeeded exch def
  1302. y exch get /y3 exch def
  1303. x exch get /x3 exch def
  1304. y exch get /y2 exch def
  1305. x exch get /x2 exch def
  1306. y exch get /y1 exch def
  1307. x exch get /x1 exch def
  1308. y exch get /y0 exch def
  1309. x exch get /x0 exch def
  1310. x1 y1 x2 y2 thirdpoint
  1311. /p1y exch def
  1312. /p1x exch def
  1313. x2 y2 x1 y1 thirdpoint
  1314. /p2y exch def
  1315. /p2x exch def
  1316. x1 y1 x0 y0 thirdpoint
  1317. p1x p1y midpoint
  1318. /p0y exch def
  1319. /p0x exch def
  1320. x2 y2 x3 y3 thirdpoint
  1321. p2x p2y midpoint
  1322. /p3y exch def
  1323. /p3x exch def
  1324. movetoNeeded { p0x p0y moveto } if
  1325. p1x p1y p2x p2y p3x p3y curveto
  1326. end
  1327. } dup 0 17 dict put def
  1328. /storexyn {
  1329. /n exch def
  1330. /y n array def
  1331. /x n array def
  1332. n 1 sub -1 0 {
  1333. /i exch def
  1334. y i 3 2 roll put
  1335. x i 3 2 roll put
  1336. } for
  1337. } def
  1338. /SSten {
  1339. fgred fggreen fgblue setrgbcolor
  1340. dup true exch 1 0 0 -1 0 6 -1 roll matrix astore
  1341. } def
  1342. /FSten {
  1343. dup 3 -1 roll dup 4 1 roll exch
  1344. newpath
  1345. 0 0 moveto
  1346. dup 0 exch lineto
  1347. exch dup 3 1 roll exch lineto
  1348. 0 lineto
  1349. closepath
  1350. bgred bggreen bgblue setrgbcolor
  1351. eofill
  1352. SSten
  1353. } def
  1354. /Rast {
  1355. exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore
  1356. } def
  1357. %I Idraw 10 Grid 8 8 
  1358. Begin
  1359. %I b u
  1360. %I cfg u
  1361. %I cbg u
  1362. %I f u
  1363. %I p u
  1364. %I t
  1365. [ 0.796717 0 0 0.796717 0 0 ] concat
  1366. /originalCTM matrix currentmatrix def
  1367. Begin %I Line
  1368. %I b 65535
  1369. 2 0 0 [] 0 SetB
  1370. %I cfg Black
  1371. 0 0 0 SetCFg
  1372. %I cbg White
  1373. 1 1 1 SetCBg
  1374. %I p
  1375. 1 SetP
  1376. %I t
  1377. [ 1 -0 -0 1 82 209 ] concat
  1378. %I
  1379. 238 287 310 351 Line
  1380. %I 1
  1381. End
  1382. Begin %I Line
  1383. %I b 65535
  1384. 2 0 0 [] 0 SetB
  1385. %I cfg Black
  1386. 0 0 0 SetCFg
  1387. %I cbg White
  1388. 1 1 1 SetCBg
  1389. %I p
  1390. 1 SetP
  1391. %I t
  1392. [ 1 -0 -0 1 82 209 ] concat
  1393. %I
  1394. 366 479 310 351 Line
  1395. %I 1
  1396. End
  1397. Begin %I Rect
  1398. %I b 65535
  1399. 1 0 0 [] 0 SetB
  1400. %I cfg Black
  1401. 0 0 0 SetCFg
  1402. %I cbg White
  1403. 1 1 1 SetCBg
  1404. none SetP %I p n
  1405. %I t
  1406. [ 1 -0 -0 1 90 105 ] concat
  1407. %I
  1408. 182 359 278 455 Rect
  1409. End
  1410. Begin %I Rect
  1411. %I b 65535
  1412. 1 0 0 [] 0 SetB
  1413. %I cfg Black
  1414. 0 0 0 SetCFg
  1415. %I cbg White
  1416. 1 1 1 SetCBg
  1417. none SetP %I p n
  1418. %I t
  1419. [ 1 -0 -0 1 82 209 ] concat
  1420. %I
  1421. 182 359 278 455 Rect
  1422. End
  1423. Begin %I Rect
  1424. %I b 65535
  1425. 2 0 0 [] 0 SetB
  1426. %I cfg Black
  1427. 0 0 0 SetCFg
  1428. %I cbg White
  1429. 1 1 1 SetCBg
  1430. %I p
  1431. < 88 44 22 11 88 44 22 11 > -1 SetP
  1432. %I t
  1433. [ 1 -0 -0 1 162 153 ] concat
  1434. %I
  1435. 182 359 278 455 Rect
  1436. End
  1437. Begin %I Elli
  1438. %I b 65535
  1439. 1 0 0 [] 0 SetB
  1440. %I cfg Black
  1441. 0 0 0 SetCFg
  1442. %I cbg White
  1443. 1 1 1 SetCBg
  1444. %I p
  1445. 0 SetP
  1446. %I t
  1447. [ 0.5 -0 -0 0.5 224 457.5 ] concat
  1448. %I
  1449. 176 317 7 7 Elli
  1450. End
  1451. Begin %I Elli
  1452. %I b 65535
  1453. 1 0 0 [] 0 SetB
  1454. %I cfg Black
  1455. 0 0 0 SetCFg
  1456. %I cbg White
  1457. 1 1 1 SetCBg
  1458. %I p
  1459. 0 SetP
  1460. %I t
  1461. [ 0.5 -0 -0 0.5 360 529.5 ] concat
  1462. %I
  1463. 176 317 7 7 Elli
  1464. End
  1465. Begin %I Elli
  1466. %I b 65535
  1467. 1 0 0 [] 0 SetB
  1468. %I cfg Black
  1469. 0 0 0 SetCFg
  1470. %I cbg White
  1471. 1 1 1 SetCBg
  1472. %I p
  1473. 0 SetP
  1474. %I t
  1475. [ 0.5 -0 -0 0.5 232 337.5 ] concat
  1476. %I
  1477. 176 317 7 7 Elli
  1478. End
  1479. Begin %I Elli
  1480. %I b 65535
  1481. 1 0 0 [] 0 SetB
  1482. %I cfg Black
  1483. 0 0 0 SetCFg
  1484. %I cbg White
  1485. 1 1 1 SetCBg
  1486. %I p
  1487. 0 SetP
  1488. %I t
  1489. [ 0.5 -0 -0 0.5 168 529.5 ] concat
  1490. %I
  1491. 176 317 7 7 Elli
  1492. End
  1493. Begin %I Rect
  1494. %I b 65535
  1495. 2 0 0 [] 0 SetB
  1496. %I cfg Black
  1497. 0 0 0 SetCFg
  1498. %I cbg White
  1499. 1 1 1 SetCBg
  1500. none SetP %I p n
  1501. %I t
  1502. [ 1 -0 -0 1 82 209 ] concat
  1503. %I
  1504. 134 255 398 519 Rect
  1505. End
  1506. Begin %I Rect
  1507. %I b 65535
  1508. 1 0 0 [] 0 SetB
  1509. %I cfg Black
  1510. 0 0 0 SetCFg
  1511. %I cbg White
  1512. 1 1 1 SetCBg
  1513. none SetP %I p n
  1514. %I t
  1515. [ 1 -0 -0 1 34 273 ] concat
  1516. %I
  1517. 182 359 278 455 Rect
  1518. End
  1519. Begin %I Rect
  1520. %I b 65535
  1521. 1 0 0 [] 0 SetB
  1522. %I cfg Black
  1523. 0 0 0 SetCFg
  1524. %I cbg White
  1525. 1 1 1 SetCBg
  1526. none SetP %I p n
  1527. %I t
  1528. [ 1 -0 -0 1 202 273 ] concat
  1529. %I
  1530. 182 359 278 455 Rect
  1531. End
  1532. Begin %I Line
  1533. %I b 65535
  1534. 2 0 0 [] 0 SetB
  1535. %I cfg Black
  1536. 0 0 0 SetCFg
  1537. %I cbg White
  1538. 1 1 1 SetCBg
  1539. %I p
  1540. 1 SetP
  1541. %I t
  1542. [ 1 -0 -0 1 82 209 ] concat
  1543. %I
  1544. 174 479 366 479 Line
  1545. %I 1
  1546. End
  1547. Begin %I Line
  1548. %I b 65535
  1549. 2 0 0 [] 0 SetB
  1550. %I cfg Black
  1551. 0 0 0 SetCFg
  1552. %I cbg White
  1553. 1 1 1 SetCBg
  1554. %I p
  1555. 1 SetP
  1556. %I t
  1557. [ 1 -0 -0 1 82 209 ] concat
  1558. %I
  1559. 366 479 230 407 Line
  1560. %I 1
  1561. End
  1562. Begin %I Line
  1563. %I b 65535
  1564. 2 0 0 [] 0 SetB
  1565. %I cfg Black
  1566. 0 0 0 SetCFg
  1567. %I cbg White
  1568. 1 1 1 SetCBg
  1569. %I p
  1570. 1 SetP
  1571. %I t
  1572. [ 1 -0 -0 1 82 209 ] concat
  1573. %I
  1574. 174 479 238 287 Line
  1575. %I 1
  1576. End
  1577. Begin %I Elli
  1578. %I b 65535
  1579. 1 0 0 [] 0 SetB
  1580. %I cfg Black
  1581. 0 0 0 SetCFg
  1582. %I cbg White
  1583. 1 1 1 SetCBg
  1584. %I p
  1585. 0 SetP
  1586. %I t
  1587. [ 0.5 -0 -0 0.5 176 401.5 ] concat
  1588. %I
  1589. 176 317 7 7 Elli
  1590. End
  1591. Begin %I Rect
  1592. %I b 65535
  1593. 1 0 0 [] 0 SetB
  1594. %I cfg Black
  1595. 0 0 0 SetCFg
  1596. %I cbg White
  1597. 1 1 1 SetCBg
  1598. none SetP %I p n
  1599. %I t
  1600. [ 1 -0 -0 1 34 153 ] concat
  1601. %I
  1602. 182 359 278 455 Rect
  1603. End
  1604. Begin %I Line
  1605. %I b 65535
  1606. 2 0 0 [] 0 SetB
  1607. %I cfg Black
  1608. 0 0 0 SetCFg
  1609. %I cbg White
  1610. 1 1 1 SetCBg
  1611. %I p
  1612. 1 SetP
  1613. %I t
  1614. [ 1 -0 -0 1 82 209 ] concat
  1615. %I
  1616. 182 351 238 287 Line
  1617. %I 1
  1618. End
  1619. Begin %I Line
  1620. %I b 65535
  1621. 2 0 0 [] 0 SetB
  1622. %I cfg Black
  1623. 0 0 0 SetCFg
  1624. %I cbg White
  1625. 1 1 1 SetCBg
  1626. %I p
  1627. 1 SetP
  1628. %I t
  1629. [ 1 -0 -0 1 82 209 ] concat
  1630. %I
  1631. 230 407 182 351 Line
  1632. %I 1
  1633. End
  1634. Begin %I Elli
  1635. %I b 65535
  1636. 1 0 0 [] 0 SetB
  1637. %I cfg Black
  1638. 0 0 0 SetCFg
  1639. %I cbg White
  1640. 1 1 1 SetCBg
  1641. %I p
  1642. 0 SetP
  1643. %I t
  1644. [ 0.5 -0 -0 0.5 264 441.5 ] concat
  1645. %I
  1646. 176 317 7 7 Elli
  1647. End
  1648. Begin %I Elli
  1649. %I b 65535
  1650. 1 0 0 [] 0 SetB
  1651. %I cfg Black
  1652. 0 0 0 SetCFg
  1653. %I cbg White
  1654. 1 1 1 SetCBg
  1655. %I p
  1656. 0 SetP
  1657. %I t
  1658. [ 0.5 -0 -0 0.5 336 425.5 ] concat
  1659. %I
  1660. 176 317 7 7 Elli
  1661. End
  1662. Begin %I Elli
  1663. %I b 65535
  1664. 1 0 0 [] 0 SetB
  1665. %I cfg Black
  1666. 0 0 0 SetCFg
  1667. %I cbg White
  1668. 1 1 1 SetCBg
  1669. %I p
  1670. 0 SetP
  1671. %I t
  1672. [ 0.5 -0 -0 0.5 272 385.5 ] concat
  1673. %I
  1674. 176 317 7 7 Elli
  1675. End
  1676. Begin %I Line
  1677. %I b 65535
  1678. 1 0 0 [] 0 SetB
  1679. %I cfg Black
  1680. 0 0 0 SetCFg
  1681. %I cbg White
  1682. 1 1 1 SetCBg
  1683. none SetP %I p n
  1684. %I t
  1685. [ 1 -0 -0 1 82 209 ] concat
  1686. %I
  1687. 278 335 342 375 Line
  1688. %I 1
  1689. End
  1690. Begin %I Line
  1691. %I b 65535
  1692. 1 0 0 [] 0 SetB
  1693. %I cfg Black
  1694. 0 0 0 SetCFg
  1695. %I cbg White
  1696. 1 1 1 SetCBg
  1697. none SetP %I p n
  1698. %I t
  1699. [ 1 -0 -0 1 82 209 ] concat
  1700. %I
  1701. 270 391 342 375 Line
  1702. %I 1
  1703. End
  1704. Begin %I Line
  1705. %I b 65535
  1706. 1 1 1 [] 0 SetB
  1707. %I cfg Black
  1708. 0 0 0 SetCFg
  1709. %I cbg White
  1710. 1 1 1 SetCBg
  1711. %I p
  1712. 0 SetP
  1713. %I t
  1714. [ 1 -0 -0 1 82 173.5 ] concat
  1715. %I
  1716. 134 275 398 275 Line
  1717. %I 1
  1718. End
  1719. Begin %I Text
  1720. %I cfg Black
  1721. 0 0 0 SetCFg
  1722. %I f *-times-medium-i-*-120-*
  1723. Times-Italic 12 SetF
  1724. %I t
  1725. [ 1 0 0 1 336 444 ] concat
  1726. %I
  1727. [
  1728. (Scale)
  1729. ] Text
  1730. End
  1731. Begin %I Text
  1732. %I cfg Black
  1733. 0 0 0 SetCFg
  1734. %I f *-times-medium-i-*-120-*
  1735. Times-Italic 12 SetF
  1736. %I t
  1737. [ 1 0 0 1 280 476 ] concat
  1738. %I
  1739. [
  1740. (transfrac*Scale)
  1741. ] Text
  1742. End
  1743. Begin %I Text
  1744. %I cfg Black
  1745. 0 0 0 SetCFg
  1746. %I f *-times-medium-i-*-120-*
  1747. Times-Italic 12 SetF
  1748. %I t
  1749. [ 1 0 0 1 400 476 ] concat
  1750. %I
  1751. [
  1752. (stubfrac*Scale)
  1753. ] Text
  1754. End
  1755. Begin %I Line
  1756. %I b 65535
  1757. 1 1 1 [] 0 SetB
  1758. %I cfg Black
  1759. 0 0 0 SetCFg
  1760. %I cbg White
  1761. 1 1 1 SetCBg
  1762. %I p
  1763. 0 SetP
  1764. %I t
  1765. [ 0.5 -0 -0 0.5 229.5 423.5 ] concat
  1766. %I
  1767. 351 113 479 113 Line
  1768. %I 2
  1769. End
  1770. Begin %I Line
  1771. %I b 65535
  1772. 1 1 1 [] 0 SetB
  1773. %I cfg Black
  1774. 0 0 0 SetCFg
  1775. %I cbg White
  1776. 1 1 1 SetCBg
  1777. %I p
  1778. 0 SetP
  1779. %I t
  1780. [ 0.5 -0 -0 0.5 229 423.5 ] concat
  1781. %I
  1782. 95 113 271 113 Line
  1783. %I 2
  1784. End
  1785. Begin %I Rect
  1786. %I b 61680
  1787. 1 0 0 [4 4 4 4] 0 SetB
  1788. %I cfg Black
  1789. 0 0 0 SetCFg
  1790. %I cbg White
  1791. 1 1 1 SetCBg
  1792. %I p
  1793. 0.75 SetP
  1794. %I t
  1795. [ 1 -0 -0 1 136.5 254 ] concat
  1796. %I
  1797. 262 232 334 304 Rect
  1798. End
  1799. Begin %I Elli
  1800. %I b 65535
  1801. 1 0 0 [] 0 SetB
  1802. %I cfg Black
  1803. 0 0 0 SetCFg
  1804. %I cbg White
  1805. 1 1 1 SetCBg
  1806. %I p
  1807. 0 SetP
  1808. %I t
  1809. [ 0.5 -0 -0 0.5 328 369.5 ] concat
  1810. %I
  1811. 176 317 7 7 Elli
  1812. End
  1813. Begin %I Line
  1814. %I b 65535
  1815. 1 0 0 [] 0 SetB
  1816. %I cfg Black
  1817. 0 0 0 SetCFg
  1818. %I cbg White
  1819. 1 1 1 SetCBg
  1820. none SetP %I p n
  1821. %I t
  1822. [ 1 -0 -0 1 82 209 ] concat
  1823. %I
  1824. 342 375 334 319 Line
  1825. %I 1
  1826. End
  1827. Begin %I Line
  1828. %I b 65535
  1829. 1 0 0 [] 0 SetB
  1830. %I cfg Black
  1831. 0 0 0 SetCFg
  1832. %I cbg White
  1833. 1 1 1 SetCBg
  1834. none SetP %I p n
  1835. %I t
  1836. [ 1 -0 -0 1 82 209 ] concat
  1837. %I
  1838. 334 319 278 335 Line
  1839. %I 1
  1840. End
  1841. Begin %I Rect
  1842. %I b 61680
  1843. 1 0 0 [4 4 4 4] 0 SetB
  1844. %I cfg Black
  1845. 0 0 0 SetCFg
  1846. %I cbg White
  1847. 1 1 1 SetCBg
  1848. %I p
  1849. 0 SetP
  1850. %I t
  1851. [ 0.5 -0 -0 0.5 223 385.5 ] concat
  1852. %I
  1853. 431 314 438 321 Rect
  1854. End
  1855. Begin %I Rect
  1856. %I b 61680
  1857. 1 0 0 [4 4 4 4] 0 SetB
  1858. %I cfg Black
  1859. 0 0 0 SetCFg
  1860. %I cbg White
  1861. 1 1 1 SetCBg
  1862. %I p
  1863. 0 SetP
  1864. %I t
  1865. [ 0.5 -0 -0 0.5 239 377.5 ] concat
  1866. %I
  1867. 431 314 438 321 Rect
  1868. End
  1869. Begin %I Rect
  1870. %I b 61680
  1871. 1 0 0 [4 4 4 4] 0 SetB
  1872. %I cfg Black
  1873. 0 0 0 SetCFg
  1874. %I cbg White
  1875. 1 1 1 SetCBg
  1876. %I p
  1877. 0 SetP
  1878. %I t
  1879. [ 0.5 -0 -0 0.5 215 361.5 ] concat
  1880. %I
  1881. 431 314 438 321 Rect
  1882. End
  1883. Begin %I Rect
  1884. %I b 61680
  1885. 1 0 0 [4 4 4 4] 0 SetB
  1886. %I cfg Black
  1887. 0 0 0 SetCFg
  1888. %I cbg White
  1889. 1 1 1 SetCBg
  1890. %I p
  1891. 0 SetP
  1892. %I t
  1893. [ 0.5 -0 -0 0.5 191 361.5 ] concat
  1894. %I
  1895. 431 314 438 321 Rect
  1896. End
  1897. Begin %I Rect
  1898. %I b 61680
  1899. 1 0 0 [4 4 4 4] 0 SetB
  1900. %I cfg Black
  1901. 0 0 0 SetCFg
  1902. %I cbg White
  1903. 1 1 1 SetCBg
  1904. %I p
  1905. 0 SetP
  1906. %I t
  1907. [ 0.5 -0 -0 0.5 191 385.5 ] concat
  1908. %I
  1909. 431 314 438 321 Rect
  1910. End
  1911. Begin %I Rect
  1912. %I b 65535
  1913. 1 0 0 [] 0 SetB
  1914. %I cfg Black
  1915. 0 0 0 SetCFg
  1916. %I cbg White
  1917. 1 1 1 SetCBg
  1918. %I p
  1919. 0 SetP
  1920. %I t
  1921. [ 0.5 -0 -0 0.5 239 337.5 ] concat
  1922. %I
  1923. 431 314 438 321 Rect
  1924. End
  1925. Begin %I Line
  1926. %I b 65535
  1927. 1 0 0 [] 0 SetB
  1928. %I cfg Black
  1929. 0 0 0 SetCFg
  1930. %I cbg White
  1931. 1 1 1 SetCBg
  1932. %I p
  1933. 0 SetP
  1934. %I t
  1935. [ 0.5 -0 -0 0.5 232.5 423.5 ] concat
  1936. %I
  1937. 351 241 415 241 Line
  1938. %I 2
  1939. End
  1940. Begin %I Line
  1941. %I b 65535
  1942. 1 0 0 [] 0 SetB
  1943. %I cfg Black
  1944. 0 0 0 SetCFg
  1945. %I cbg White
  1946. 1 1 1 SetCBg
  1947. %I p
  1948. 0 SetP
  1949. %I t
  1950. [ 0.5 -0 -0 0.5 232.5 423.5 ] concat
  1951. %I
  1952. 415 241 447 225 Line
  1953. %I 2
  1954. End
  1955. Begin %I Line
  1956. %I b 65535
  1957. 1 0 0 [] 0 SetB
  1958. %I cfg Black
  1959. 0 0 0 SetCFg
  1960. %I cbg White
  1961. 1 1 1 SetCBg
  1962. %I p
  1963. 0 SetP
  1964. %I t
  1965. [ 0.5 -0 -0 0.5 232.5 423.5 ] concat
  1966. %I
  1967. 447 225 447 145 Line
  1968. %I 2
  1969. End
  1970. Begin %I Line
  1971. %I b 65535
  1972. 1 0 0 [] 0 SetB
  1973. %I cfg Black
  1974. 0 0 0 SetCFg
  1975. %I cbg White
  1976. 1 1 1 SetCBg
  1977. %I p
  1978. 0 SetP
  1979. %I t
  1980. [ 0.5 -0 -0 0.5 232.5 423.5 ] concat
  1981. %I
  1982. 351 193 447 145 Line
  1983. %I 2
  1984. End
  1985. Begin %I Line
  1986. %I b 65535
  1987. 1 0 0 [] 0 SetB
  1988. %I cfg Black
  1989. 0 0 0 SetCFg
  1990. %I cbg White
  1991. 1 1 1 SetCBg
  1992. %I p
  1993. 0 SetP
  1994. %I t
  1995. [ 0.5 -0 -0 0.5 232.5 423.5 ] concat
  1996. %I
  1997. 367 209 351 241 Line
  1998. %I 2
  1999. End
  2000. Begin %I Line
  2001. %I b 65535
  2002. 1 0 0 [] 0 SetB
  2003. %I cfg Black
  2004. 0 0 0 SetCFg
  2005. %I cbg White
  2006. 1 1 1 SetCBg
  2007. %I p
  2008. 0 SetP
  2009. %I t
  2010. [ 0.5 -0 -0 0.5 232.5 423.5 ] concat
  2011. %I
  2012. 415 241 399 193 Line
  2013. %I 2
  2014. End
  2015. Begin %I Line
  2016. %I b 65535
  2017. 1 0 0 [] 0 SetB
  2018. %I cfg Black
  2019. 0 0 0 SetCFg
  2020. %I cbg White
  2021. 1 1 1 SetCBg
  2022. %I p
  2023. 0 SetP
  2024. %I t
  2025. [ 0.5 -0 -0 0.5 232.5 423.5 ] concat
  2026. %I
  2027. 351 193 447 225 Line
  2028. %I 2
  2029. End
  2030. End %I eop
  2031. showpage
  2032. end
  2033. %%EndDocument
  2034.  endTexFig
  2035.  628 1364 a Fj(Figure)15 b(3:)20 b(T)l(ransit)15 b(Stub)h(La)o(y)o(out)
  2036. 30 1501 y Fl(References)30 1603 y Fj([1])22 b(Matthew)15
  2037. b(Doar)h(and)h(Ian)g(Leslie.)26 b(Ho)o(w)16 b(bad)h(is)g(naiv)o(e)g(m)o
  2038. (ulticast)g(routing?)33 b(In)18 b Fb(Pr)n(o)n(c)n(e)n(e)n(dings)d(of)
  2039. 101 1659 y(IEEE)g(INF)o(OCOM)f('93)p Fj(,)h(pages)g(82{89,)f(1993.)30
  2040. 1753 y([2])22 b(Bernard)d(M.)f(W)l(axman.)30 b(Routing)19
  2041. b(of)f(m)o(ultip)q(oin)o(t)i(connections.)32 b Fb(IEEE)19
  2042. b(Journal)g(on)h(Sele)n(cte)n(d)101 1809 y(A)o(r)n(e)n(as)15
  2043. b(in)h(Communic)n(ations)p Fj(,)e(6(9):1617{1)o(622,)d(1988.)30
  2044. 1903 y([3])22 b(Liming)c(W)l(ei)g(and)f(Deb)q(orah)g(Estrin.)25
  2045. b(The)18 b(trade-o13s)d(of)i(m)o(ulticast)g(trees)g(and)g
  2046. (algorithms.)25 b(In)101 1960 y Fb(International)15 b(Confer)n(enc)n(e)
  2047. f(on)i(Computer)h(Communic)n(ations)e(and)i(Networks)p
  2048. Fj(,)d(August)h(1994.)919 2940 y(6)p eop
  2049. %%Trailer
  2050. end
  2051. userdict /end-hook known{end-hook}if
  2052. %%EOF