idnits 2.17.1 draft-brownlee-svg-rfc-05.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a Security Considerations section. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 152 has weird spacing: '...he list below...' == Line 153 has weird spacing: '...eft,and their...' == Line 156 has weird spacing: '...bset of the S...' -- The document date (June 25, 2014) is 3591 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. Checking references for intended status: Informational ---------------------------------------------------------------------------- == Missing Reference: 'SVG' is mentioned on line 77, but not defined Summary: 1 error (**), 0 flaws (~~), 5 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group N. Brownlee 3 Internet-Draft The University of Auckland 4 Intended status: Informational IAB 5 Expires: December 27, 2014 6 June 25, 2014 8 SVG Drawings for RFCs: SVG 1.2 RFC 9 draft-brownlee-svg-rfc-05 11 Abstract 13 This document specifies SVG 1.2 RFC - an SVG profile for use in 14 diagrams that may appear in RFCs - and considers some of the issues 15 concerning the creation and use of such diagrams. 17 Status of This Memo 19 This Internet-Draft is submitted in full conformance with the 20 provisions of BCP 78 and BCP 79. 22 Internet-Drafts are working documents of the Internet Engineering 23 Task Force (IETF). Note that other groups may also distribute 24 working documents as Internet-Drafts. The list of current Internet- 25 Drafts is at http://datatracker.ietf.org/drafts/current/. 27 Internet-Drafts are draft documents valid for a maximum of six months 28 and may be updated, replaced, or obsoleted by other documents at any 29 time. It is inappropriate to use Internet-Drafts as reference 30 material or to cite them other than as "work in progress." 32 This Internet-Draft will expire on December 27, 2014. 34 Copyright Notice 36 Copyright (c) 2014 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents 41 (http://trustee.ietf.org/license-info) in effect on the date of 42 publication of this document. Please review these documents 43 carefully, as they describe your rights and restrictions with respect 44 to this document. Code Components extracted from this document must 45 include Simplified BSD License text as described in Section 4.e of 46 the Trust Legal Provisions and are provided without warranty as 47 described in the Simplified BSD License. 49 Table of Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 52 2. SVG 1.2 RFC: An SVG profile for RFCs . . . . . . . . . . . . 2 53 2.1. Elements and attributes allowed in SVG 1.2 RFC . . . . . 4 54 3. How to create SVG drawings . . . . . . . . . . . . . . . . . 6 55 4. Meta-language for diagrams common in RFCs . . . . . . . . . . 6 56 4.1. Packet Layout Diagrams . . . . . . . . . . . . . . . . . 7 57 4.2. Sequence Diagrams (1) . . . . . . . . . . . . . . . . . . 8 58 4.3. Sequence Diagrams (2) . . . . . . . . . . . . . . . . . . 10 59 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 60 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 61 7. Revision History [RFC Editor please delete] . . . . . . . . . 13 62 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 63 8.1. Normative References . . . . . . . . . . . . . . . . . . 13 64 8.2. Informative References . . . . . . . . . . . . . . . . . 14 65 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 67 1. Introduction 69 Over the last two years the RFC Editor has worked with the Internet 70 community to develop specifications for changes in the format of 71 RFCs. An outline of the resulting specifications was published as 72 [RFC6949] in May 2013. Since then a Design Team has been working 73 with the RFC Editor to flesh out those specifications. One aspect of 74 the changes is to allow line drawings in RFCs; [RFC6949] says 76 "Graphics may include ASCII art and a more complex form to be 77 defined, such as SVG line art [SVG]. Color and grayscale will not 78 be accepted. RFCs must correctly display in monochromatic black- 79 and-white to allow for monochrome displays, black-and- white 80 printing, and support for visual disabilities." 82 SVG (Scalable Vector Graphics) has been developed by W3C, the World 83 Wide Web Consortium; its current standard is SVG 1.1 Full 84 [W3C.REC-SVG11-20110816]. This document defines SVG 1.2 RFC, an SVG 85 profile (i.e. a subset of SVG) that is suitable for RFC line 86 drawings. 88 Note that in RFCs, the text provides normative descriptions of 89 protocols, systems, etc. Diagrams may be used to help explain 90 concepts more clearly, but they are informative, not normative. 92 2. SVG 1.2 RFC: An SVG profile for RFCs 94 As a starting point for SVG 1.2 RFC, the Design Team decided to use 95 SVG 1.2 Tiny [W3C.REC-SVGTiny12-20081222]. SVG 1.2 Tiny is an SVG 96 subset intended to be implemented on small, mobile devices such as 97 cellphones and smartphones. That should allow RFCs to be rendered 98 well on such devices, especially those that have small screens. 99 However, RFCs are self-contained documents that do not change once 100 they are published. The use of SVG drawings in RFCs is intended to 101 allow authors to create drawings that are simple to produce, and 102 easier to understand than our traditional 'ASCII Art' ones. In 103 short, we are also trying to improve access to the content in RFCs, 104 so SVG drawings need to be kept as simple as possible. 106 SVG can provide a complete User Interface, but within RFCs, all we 107 need are simple diagrams that do not change once the RFC is 108 published. Therefore, SVG RFC does not allow anything from the 109 following sections in SVG Tiny 1.2 [W3C.REC-SVGTiny12-20081222]: 111 12 Multimedia 112 13 Interactivity 113 15 Scripting 114 16 Animation 115 18 Metadata 116 19 Extensibility 118 Note that SVG Tiny 1.2 elements may have many properties or 119 attributes that are needed to support aspects of the above sections. 120 Those are not allowed in SVG 1.2 RFC. 122 Considering the other sections in SVG Tiny 1.2 123 [W3C.REC-SVGTiny12-20081222]: 125 9 Basic Shapes 126 10 Text 127 Everything in these sections is allowed in SVG 1.2 RFC. 129 11 Painting: Filling, Stroking, Colors and Paint Servers 130 Anything relating to 'color' is not allowed in SVG 1.2 RFC, 131 everything else is allowed. This is a requirement documented in 132 [RFC6949]. 134 14 Linking 135 SVG Tiny 1.2 allows internationalized IRIs in references. In 136 SVG 1.2 RFC such links must be ASCII only. That should not 137 cause problems, since one can just use the URI form of any IRI. 138 Authors should try to use links only to URIs that are long-term 139 stable. 141 17 Fonts 142 SVG 1.2 RFC only allows 'serif', 'sans-serif' and 'monospace' 143 generic font families from the WebFonts facility, described in 144 CSS 2.1, [W3C.REC-CSS2-20110607], section 15, Fonts. In 145 particular, the SVG 'font' element is not allowed. 147 2.1. Elements and attributes allowed in SVG 1.2 RFC 149 Elements, properties and attributes selected for SVG 1.2 RFC from 150 [W3C.REC-SVGTiny12-20081222]. 152 In the list below, elements and properties are listed on the 153 left,and their allowed values are given in parentheses on the 154 right. 155 , the list of allowed colours, is a black-and-white 156 subset of the SVG colour names. 158 Elements: 160 svg (version, baseProfile=tiny, width, viewBox, 161 preserveAspectRatio, snapshotTime) 162 g 163 defs 164 title 165 desc 166 use (x, y, xlink:href) 168 rect (x, y, width, height, rx, ry) 169 circle (cx, cy, r) 170 ellipse (cx, cy, rx, ry) 171 line (x1, y1, x2, y2) 172 polyline (points) 173 polygon (points) 175 text (x, y, rotate) 176 tspan 177 textArea (x, y, width, height, auto) 178 tbreak 180 solidcolor 181 linearGradient (gradientUnits, x1, y1, x2, y2) 182 radialGradient (gradientUnits, cx, cy, r) 183 stop (offset) 185 Properties: (most allow inherit as a value) 187 stroke 188 stroke-width 189 stroke-linecap (butt, round, square) 190 stroke-linejoin (miter, round, bevel) 191 stroke-mitrelimit 192 stroke-dasharray 193 stroke-dashoffset 194 stroke-opacity 195 vector-effect (non-scaling-stroke, none) 196 viewport-fill (none, currentColor) 197 viewport-fill-opacity 199 display (inline, block, list-item, run-in, compact, 200 marker, table, inline-table, table-row-group, 201 table-header-group, table-footer-group, 202 table-row, table-column-group, 203 table-column, table-cell, table-caption, 204 none) 205 visibility (visible, hidden, collapse) 206 color-rendering (auto, optimizeSpeed, optimizeQuality) 207 shape-rendering (auto, optimizeSpeed, crispEdges, 208 geometricPrecision) 209 text-rendering (auto, optimizeSpeed, optimizeLegibility, 210 geometricPrecision) 211 buffered-rendering (auto, dynamic, static) 213 (black, grey, darkgrey, dimgrey, lightgrey, 214 gray, darkgray, dimgray, lightgray, white) 215 opacity 216 solid-opacity 217 solid-color (currentColor, ) 218 color (currentColor, ) 220 stop-color (currentColor, ) 221 stop-opacity 223 line-increment (auto) 224 text-align (start,end, center) 225 display-align (auto, before, center, after) 227 font-size 228 font-family (serif, sans-serif, monospace) 229 font-weight (normal, bold, bolder, lighter) 230 font-style (normal, italic, oblique) 231 font-variant (normal, small-caps) 232 direction (ltr, rtl) 233 unicode-bidi (normal, embed, bidi-override) 234 text-anchor (start, middle, end) 235 fill (none, black or grey) 236 fill-rule (nonzero, evenodd) 237 fill-opacity 239 3. How to create SVG drawings 241 Many drawing packages can be used to create SVG drawings, for example 242 Open Source packages Inkscape and Dia. Be aware that such packages 243 may use SVG elements or attributes that are not allowed in SVG 1.2 244 RFC. 246 - For example, the 'marker' attribute is often used to place symbols 247 such as arrowheads on lines, but 'marker' is not allowed in SVG 1.2 248 Tiny or SVG 1.2 RFC. In such cases one has to draw the arrowhead 249 in another, simpler way. 251 - SVG clip paths are used to define a shape; objects outside that 252 shape become invisible. The 'clipPath' elemnt is not allowed in 253 SVG 1.2 Tiny or SVG 1.2 RFC. 255 Diagrams produced with these packages may contain elements, their 256 attributes or properties, or values of attributes or properties that 257 are not allowed in SVG 1.2 RFC. We will need to provide a tool to 258 strip out anything that is not allowed in SVG 1.2 RFC, or to replace 259 disallowed values, e.g. 'sans-serif' for 'Sans' as values for 'font- 260 family'. Experience with a simple test version a tool for this has 261 shown that such deletion and replacement can be effective for making 262 SVG files from drawing packages conform to SVG 1.2 RFC, without 263 visibly changing the diagrams they produce. 265 The tool described above can also be used by Authors simply to check 266 that their diagrams conform to SVG 1.2 RFC. To help with this, if 267 visible changes do occur, the tool should produce a list of non- 268 allowed keywords and the context in which they were found. 270 Another way to create SVG drawings is to write programs to draw them. 271 For example, using python and its svgwrite module is a pleasant 272 environment (for those who like writing code). 274 4. Meta-language for diagrams common in RFCs 276 One of the long-term goals for RFCs is to make them more accessible, 277 e.g. to sight-impaired readers. For diagrams, it would be useful for 278 authors to provide alternative forms of the diagram, so that voice- 279 reading software could be used to 'talk through' the diagram. Simply 280 reading the SVG code for a complex diagram seems unlikely to work. 282 This section presents a few examples of possible meta-languages which 283 could be used to create the kinds of diagrams that are most common in 284 RFCs. Note that they are merely examples, they do not imply that 285 these particular experimental languages might be more widely 286 implemented or used. Instead, they seem to show that designing meta- 287 languages simple enough to serve as audible representations of 288 complex diagrams is difficult indeed! 290 The SVG diagrams produced from the following examples can be seen at 291 https://www.cs.auckland.ac.nz/~nevil/SVG_RFC_1.2/ 292 along with an html version of this draft that includes the svg 293 diagrams. 295 4.1. Packet Layout Diagrams 297 Example: Figure 3 from RFC 793. 299 In these examples the first line specifies the generated SVG 300 filename. The scale factor determines the size of the SVG drawing; 301 it needs to be set so that the drawing fits nicely into the final 302 document. 304 'packet;' starts the packet description; it's followed by a 305 description of the fields in each row. 307 info; 308 output "tcp-header.svg", scale 0.65; 310 packet; 311 row 0; 312 field "Source Port", 0 to 15; 313 field "Destination Port", 16 to 31; 314 row 1; 315 field "Sequence Number", 0 to 31; 316 row 2; 317 field "Acknowledgement Number", 0 to 31; 318 row 3; 319 field "Data Offset", 0 to 3; 320 field "Reserved", 4 to 9; 321 field "Urg", 10 to 10, fsize 14; # 14 px font so the flags fit 322 field "Ack", 11 to 11, fsize 14; 323 field "Psh", 12 to 12, fsize 14; 324 field "Rst", 13 to 13, fsize 14; 325 field "Syn", 14 to 14, fsize 14; 326 field "Fin", 15 to 15, fsize 14; 327 field "Window", 16 to 31; 328 row 4; 329 field "Checksum", 0 to 15; 330 field "Urgent Pointer", 16 to 31; 331 row 5; 332 field "Options", 0 to 23; 333 field "Padding", 24 to 31; 334 row 6; 335 field "Data", 0 to 31; 337 4.2. Sequence Diagrams (1) 339 Example: Figure 6 from draft-loreto-httpbis-trusted-proxy20-00. 341 In this example, columns are vertical lines with a text header above 342 them. There are three columns, and columns 1 and 2 are spaced 250 343 pixels apart. 345 The rest of the file describes objects to be drawn; most of them are 346 plines (polylines) from one column to another, but object 3 only 347 extends across to 0.3 of the distance between columns 1 and 2. 349 info; 350 output "httpbis-proxy20-fig6.svg", scale 0.9; 352 #Thu, 30 Jan 14 (NZDT) 354 #Figure 6 of draft-loreto-httpbis-trusted-proxy20-00.txt 355 column 1 width 250; # columns have vertical line to bottom 356 text above "user-agent"; 358 column 2 width 250; 359 text "Proxy"; 361 column 3; # Last col 362 text "Server"; 364 object 1; # Only need polylines 365 pline 1 to 2, arrowhead at end; 366 text above "(1) TLS ClientHello"; 367 text below "(ALPN ProtocolName: http)"; 369 object 2; 370 pline 1 to 2, arrowhead at start; 371 text above "(2) TLS Error"; 372 text below "(Proxy Cert)"; 374 object 3; 375 pline 1 to 1.3, down, back to 1, arrowhead at end; 376 text seg 2 centre "(inform user of the SecureProxy)"; 378 object 4; 379 pline 1 to 2, arrowhead at end; 380 text above "(3) TLS ClientHello"; 382 object 5; 383 pline 1 to 2, arrowhead at start; 384 text above "(4) ServerHello"; 386 object 6; 387 blank 1 to 2; 389 object 7; 390 block 1 to 2, objects 8 to 15, colour "grey"; 391 text above "HTTP2.0"; 393 object 8; 394 pline 1 to 2, arrowhead at end; 395 text seg 1 centre "(5) stream(X) GET"; 397 object 9; 398 pline 2 to 3, arrowhead at end; 399 text seg 1 above "(6) TLS ClientHello"; 401 object 10; 402 pline 2 to 3, arrowhead at start; 403 text seg 1 above "TLS ServerHello"; 405 object 11; 406 blank 2 to 3; 408 object 12; 409 block 2 to 3, objects 13 to 15, colour "grey"; 410 text seg 1 above "HTTP2.0"; 412 object 13; 413 pline 2 to 3, arrowhead at end; 414 text seg 1 centre "(7) stream(Z) GET"; 416 object 14; 417 pline 2 to 3, arrowhead at start; 418 text seg 1 centre "(8) stream(Z) 200 OK"; 420 object 15; 421 pline 1 to 2, arrowhead at start; 422 text seg 1 centre "(9) stream(X) 200 OK"; 424 4.3. Sequence Diagrams (2) 426 Example: Figure 3 from RFC 4321 428 This example uses (x,y) coordinates to specify points in in plines. 429 For these, the x units are columns and the y units are lines 430 (positive means 'down the diagram'). 432 both x and y may be absolute, e.g. 4.3, or relative, e.g. +1.5). 433 For the first point of a pline, relative means 'relative to the 434 starting point of the previous pline,' for other points in a pline it 435 means 'relative to the last point.' 437 Note that column 1 is drawn in white, i.e. nothing is drawn for it. 438 It's simply used to make a blank area where objects 8 and 9 can place 439 text. For both those objects a pline is used to specify the text's 440 position. 442 Last, the metalanguage allows simple macros, introduced by 'define 443 foo = '. These make it easier to re-use definitions, for example of 444 line types. 446 info; 447 output "rfc4321-fig3.svg", scale 0.9; 449 # Sat, 5 Apr 14 (NZDT) 450 #Figure 3 of RFC 4321 452 define hw = width 110; # Hop width 454 column 1 width 130, colour "white"; # No heading or vertical line 456 column 2 hw; text above "UAC"; 458 column 3 hw; text "P1"; 460 column 4 hw; text "P2"; 462 column 5 hw; text "P3"; 464 column 6 hw; text "UAS"; 466 define tgrey = colour "lightgrey" width 5; # Thick grey 467 define ahe = arrowhead at end; 469 object 1; 470 pline 1.8 471 to 2.3 tgrey, to (2.4,+0), to (2.6,+1.5), to (2.7,+0) ahe, 472 to 3.3 tgrey, to (3.4,+0), to (3.6,+1.5), to (3.7,+0) ahe, 473 to 4.3 tgrey, to (4.4,+0), to (4.6,+1.5), to (4.7,+0) ahe, 474 to 5.3 tgrey, to (5.4,+0), to (5.6,+1.5), to (5.7,+0) ahe, 475 to 6.3 tgrey; 477 object 2; 478 pline (1.8,+10) to 2.3 tgrey; 480 object 3; 481 pline (3.3,+2) 482 to 2.85 tgrey, to (2.7,+0) tgrey, 483 to (2.5,+0), to (2.25,+1.5), to (2.0,+0) ahe; 484 text seg 2 centre "408"; 486 object 4; 487 pline (4.3,+1.5) 488 to 3.9 tgrey, to (3.7,+0) tgrey, 489 to (3.5,+0), to (3.3,+1.5), to (3.1,+0) ahe, 490 to 2.9 tgrey, to (2.7,+0) tgrey, 491 to (2.5,+0), to (2.25,+1.5), to (2.0,+0) ahe; 492 text seg 2 centre "408"; 493 text seg 7 centre "408"; 495 object 5; 496 pline (5.3,+1.5) 497 to 4.9 tgrey, to (4.7,+0) tgrey, 498 to (4.5,+0), to (4.3,+1.5), to (4.1,+0) ahe, 499 to 3.9 tgrey, to (3.7,+0) tgrey, 500 to (3.5,+0), to (3.3,+1.5), to (3.1,+0) ahe, 501 to 2.9 tgrey, to (2.7,+0) tgrey, 502 to (2.5,+0), to (2.25,+1.5), to (2.0,+0) ahe; 503 text seg 2 centre "408"; 504 text seg 7 centre "408"; 505 text seg 12 centre "408"; 507 object 6; 508 pline (6.3,+1.5) 509 to 5.9 tgrey, to (5.7,+0) tgrey, 510 to (5.5,+0), to (5.3,+1.5), to (5.1,+0) ahe; 511 to 4.9 tgrey, to (4.7,+0) tgrey, 512 to (4.5,+0), to (4.3,+1.5), to (4.1,+0) ahe; 513 to 3.9 tgrey, to (3.7,+0) tgrey, 514 to (3.5,+0), to (3.3,+1.5), to (3.1,+0) ahe; 515 to 2.9 tgrey, to (2.7,+0) tgrey, 516 to (2.5,+0), to (2.25,+1.5), to (2.0,+0) ahe; 517 text seg 2 centre "408"; 518 text seg 7 centre "408"; 519 text seg 12 centre "408"; 520 text seg 17 centre "408"; 522 object 7: 523 pline (1.63,4.1) to (1.73,+0); 525 object 8; 526 pline (1.68,4.1) to (+0,14) arrowhead at end; 527 text centre "64*T1"; 529 object 9; 530 pline (1.2,13.1) to (1.5,+0) colour "white"; 531 text centre "(timeout)"; 533 5. IANA Considerations 535 This document does not create a new registry nor does it register any 536 values in existing registries; no IANA action is required. 538 6. Acknowledgements 540 Thanks to the Design Team members for their helpful comments and 541 suggestions for SVG 1.2 RFC. 543 7. Revision History [RFC Editor please delete] 545 version -05, 25 Jun 14: 546 Improved section on 'how to create SVG drawings' by adding some 547 text about which elements aren't allowed in SVG 1.2 RFC. 548 Added more text describing the tool for checking, stripping out or 549 replacing incompatible elements and attributes from an SVG file. 551 version -04, 30 Apr 14: 552 Fixed typos, used full references for two of the w3c refs - each 553 had an author name using UTF8 characters. 554 Moved the Elements and Attributes appendix up earlier to make it 555 sub-section 2.1. 556 Disclaimer added to the Meta-languages section. 558 version -03, 14 Apr 14: 559 Added two more example diagrams; a simple packet layout, and a 560 diagram that uses lots of diagonal lines. 562 version -02, 12 Feb 14: 563 Added metalanguage example to make time-sequence drawings. 565 version -01, 11 Feb 14: 566 Allow links to 'long-term stable URIs' 567 Link URIs must be ASCII only 568 Need for tools to check SVG 1.2 RFC compatibility and to strip 569 'unnecessary' attributes explicitly stated. 570 Statement that drawings can't be normative removed; Postscript- 571 only RFCs already exist. 572 Added most attributes and elements to the Appendix. 574 version -00, 29 Jan 14: 575 Initial version, using content from Nevil's 576 emails to the Design Team. 578 8. References 580 8.1. Normative References 582 [RFC6949] Flanagan, H. and N. Brownlee, "RFC Series Format 583 Requirements and Future Development", RFC 6949, May 2013. 585 [W3C.REC-SVGTiny12-20081222] 586 Andersson, O., Berjon, R., Dahlstrom, E., Emmons, A., 587 Ferraiolo, J., Grasso, A., Hardy, V., Hayman, S., Jackson, 588 D., Lilley, C., McCormack, C., Neumann, A., Northway, C., 589 Quint, A., Ramani, N., Schepers, D., and A. Shellshear, 590 "Scalable Vector Graphics (SVG) Tiny 1.2 Specification", 591 World Wide Web Consortium Recommendation REC- 592 SVGTiny12-20081222, December 2008, 593 . 595 [W3C.REC-CSS2-20110607] 596 Bos, B., Celik, T., Hickson, I., and H. Lie, "Cascading 597 Style Sheets Level 2 Revision 1 (CSS 2.1) Specification", 598 World Wide Web Consortium Recommendation REC- 599 CSS2-20110607, June 2011, 600 . 602 8.2. Informative References 604 [W3C.REC-SVG11-20110816] 605 Dahlstrom, E., Dengler, P., Grasso, A., Lilley, C., 606 McCormack, C., Schepers, D., Watt, J., Ferraiolo, J., 607 Fujisawa, J., and D. Jackson, "Scalable Vector Graphics 608 (SVG) 1.1 (Second Edition)", World Wide Web Consortium 609 Recommendation REC-SVG11-20110816, August 2011, 610 . 612 Authors' Addresses 614 Nevil Brownlee 615 The University of Auckland 617 Email: n.brownlee@auckland.ac.nz 619 Internet Architecture Board 621 Email: iab@iab.org