1 / 63

Presentation to University College London, January 14, 1999

Internetworked 3D Graphics and virtual reality transfer protocol (vrtp) Don Brutzman Naval Postgraduate School brutzman@nps.navy.mil. Presentation to University College London, January 14, 1999. Goal outcomes. Network capabilities for multicast Describe internetworked 3D graphics

dyre
Download Presentation

Presentation to University College London, January 14, 1999

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Internetworked 3D Graphics and virtual reality transfer protocol (vrtp) Don Brutzman Naval Postgraduate School brutzman@nps.navy.mil Presentation to University College London, January 14, 1999

  2. Goal outcomes • Network capabilities for multicast • Describe internetworked 3D graphics • DIS-Java-VRML and examples • Dial-a-Behavior Protocol • vrtp components • Future work

  3. Differences • Graphics and networks are usually considered “different disciplines” • Getting them to work together requires understanding both

  4. Correspondence: OSI & IP

  5. Application Layer interfaces • Sockets • one-one or many-many, reliable or unreliable • Uniform Resource Locators (URLs) • query servers, access scripts & databases • Various virtual world toolkit libraries • no single winner, your mileage may vary • Kent Watsen working on Bamboo plugin architecture http:/npsnet.nps.navy.mil/Bamboo

  6. Transport Layer • Host-host byte stream or datagram communication between applications • reliable delivery connection-oriented TCP • unreliable delivery connectionless UDP • experimental “reliable multicast” (not yet) • “Reliable” has numerous simultaneous competing tradeoffs • Basic goal remains simple: exchange datagrams end-to-end with other hosts

  7. Data Link/Physical Layer • Exchanges network-specific data frames with other similar devices • Includes capability to screen multicast packets by port number at hardware level

  8. Unicast and Broadcast • Unicast: point to point between hosts • reliable (TCP) or unreliable (UDP) • examples: e-mail, http request • Broadcast: all hosts on a LAN • cannot be “ignored” and so costs cycles • goes away in next-generation IPv6

  9. Multicast • Class D internet addresses • 224.0.0.0 through 239.255.255.255 • Distributed over MBone topology • native multicast support in routers • otherwise a “tunnel” can encapsulate multicast inside unicast packet headers • can be confined to a LAN

  10. Multicast Backbone = MBone • Virtual network topology over Internet • Thousands of subnets connected • Slow steady sustained growth • Software tools for various platforms • audio, video, whiteboard, DIS etc. • Christophe has long been a major contributor  • doesn’t matter what data is sent

  11. Typical unicast / broadcast packet stream paths

  12. Example multicast routers connecting streams

  13. Key differences: unicast/multicast 1 • individual multicast packets readable by every host workstation on LAN • elimination of duplicate streams reduces bandwidth requirements

  14. Key difference: unicast/multicast 2 • workstations screen unwanted multicast packets at the hardware level, eliminating unnecessary computational burden on applications • (analogy: culling unwanted network traffic in hardware, not software)

  15. Getting connected • Price of admission: making the effort • read our paper, MBone books available also • need system administrator or other champion • Multiplatform software • expect complete interoperability, high quality • free, strong development community support • No one is “in charge”

  16. All media networked to all hosts is now possible...

  17. Hamming lecture series • First full academic course on Mbone, 1995 • Now archived on a disk server • Wieland Hofhelder’s Mbone Video on Demand

  18. Hamming lecture series 2 • Will evaluate at NPS and put online • once it “works,” technically • and pedagogically • http://devo.stl.nps.navy.mil/~auv/hamming

  19. VRML Overview 1 • Virtual Reality Modeling Language • Began in earnest at SIGGRAPH 94 • VRML 2.0 stable since SIGGRAPH 96 • VRML 97 is ISO-approved version of 2.0 • 3D Web browsers freely available for (most) all computing platforms • Web-wide dynamic 3D graphics

  20. VRML Overview 2 • Large-scale internetworked 3D worlds are now possible • Scaling up is both technical challenge and “people” challenge • VRML is what we’ve been waiting for!

  21. VRML Overview 3 • Dynamic 3D scene description language with behaviors and animation • Rich set of graphics primitives gives common-denominator file format • Well documented

  22. VRML Overview 4 • Web-capable similar to HTML: authors can insert/add objects to scene (Inline node) or replace entire scene (Anchor node) • Interpolators enable simple animation and interaction • Script nodes for Java and JavaScript

  23. VRML Overview 5 • Open technology, developed by (lots of) working groups, ISO standardization stable • Web3D Consortium: http://www.web3d.org VRML Repository http://www.sdsc.edu/vrml • hello world • kelp forest exhibit

  24. Extensible 3D (X3D) • Third-generation VRML scene graph • File format for geometry and behaviors • API: XML’s Document Object Model (DOM) • but NOT another entry in the “war of the APIs” • Demos LA, SIGGRAPH 99 Wed. April 11 • Demos Monterey, Web3D 2000, Feb 21-14 • Meet first Friday of each month at SRI

  25. Java • Numerous desirable attributes for the LSVE application domain • cross-platform, portable code • recompilation not required • network support • VRML compatibility • minor problems exist, no showstoppers • performance is satisfactory

  26. Integrating Java + VRML 1 • Class libraries specified for Java-VRML interface • Script nodes encapsulate Java objects embeddable in the VRML scene • ROUTEs link Java object fields/eventIns/ eventOuts to 3D node fields

  27. Integrating Java + VRML 2 • Java objects can query (and interact with) browser as well as Web • createVRMLFromString method enables Java objects to generate arbitrary VRML geometry • Collaboration with Sun: Java3D-VRML class loader

  28. Integrating Java + VRML 3 • See Annex C of VRML Specification for Java Script Authoring Interface (JSAI) • External Authoring Interface (EAI) is draft work in progress which provides alternate Java-VRML-browser methodology • See CACM reference paper on VRML + Java

  29. General entity solution Simple Is Good! VRML rendering computation data sharing Java network

  30. Potential of LSVEs • Serve as archive & interaction medium • Combine massive & dissimilar data sets, streams of every type, and models that recreate reality • Provide context and links between isolated mountains of content • LSVEs might impact all walks of life

  31. Outline: Interactivity • Four key network components for Large-Scale Virtual Environments • DIS-Java-VRML working group, testing • dial-a-behavior protocol • virtual reality transfer protocol (vrtp)

  32. Four key network components for LSVEs • Light-weight interactions • Short state/event messages via multicast • Network pointers • URLs to information resources • Heavy-weight objects • reliable client-server response • Real-time streams - audio, video etc.

  33. IEEE standard DIS protocol • Large-scale multicast applications • Truly many-many communications • Single entity bandwidth ranges from 230..15,000 bps (bits per second) • Latency & jitter compensated by timestamps & dead reckoning • Example behavior/interaction protocol

  34. DIS-Java-VRML • Networking is the key bottleneck, not • 3D graphics rendering • We think we can create virtual worlds • open standards • portable and scalable • physics-based • easy as building a web page • DIS-Java-VRML web site examples

  35. Java used for DIS library • Can be used to animate VRML scenes via Script nodes • Multicast capable (using JDK 1.1+) • Available: Netscape, Internet Explorer • Portability across platforms enables scaling up to many users • Initial performance is adequate

  36. DIS-Java-VRML Data Flow

  37. Goals: DIS-Java-VRML WG • Freely available Java/C++ implementations of DIS protocol Easily stolen examples • Produce recommended practices for mapping between DIS & VRML • Utilities: record/playback, viewers etc. • Open membership: • www.stl.nps.navy.mil/dis-java-vrml

  38. DIS Testing • Build testbed lab at NPS • 10 Linux boxes, masters student • Round-the-clock exercises • statistics, toolset development • Low bandwidth going global on MBone • Emphasis on end-user results • Other sites welcome to collaborate

  39. Test results • Determine pertinent parameters and corresponding values/distributions • Large-Scale Multicast Applications (LSMA) IETF working group requirements • IRTF Reliable Multicast RG • Walk-before-run exercise complexity • Build awareness what LSMAs look like

  40. Dial-a-behavior protocol • Don McGregor Ph.D. project • We are building a DIS-like data protocol, modifiable on-the-fly, that will allow rapid development of network communications tuned for large-scale multicast applications • Public domain software written in Java/XML • Virtual Reality Modeling Language (VRML) compatible and scalable

  41. Terms • XML: eXtensible Markup Language • generalized markup, SGML subset • DTD: Document Type Definition • http://www.ucc.ie/xml/ • Parser: API that can read/write/reflect XML • DOM: Document Object Model • http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001

  42. Grammar parser builds replacement protocol manager AOIM - Area of Interest Managers Dial-a-behavior protocol: defining over-the-wire formats protocol guru (XML DTD) Protocol Definition Interface Multiplayer networked Application Data Units Shared 3D VRML Worlds (XML-tagged data)

  43. Packet contents • Payload fields delimited/defined by XML tags • Payload fields have following attributes: • abstract type • bitsize • default values • semantics = object handler (optional, can be in DTD) • XML tags (and thus the protocol) are defined by a Document Type Definition (DTD) file • DTDs (and hence the protocol) redefinable at runtime, without stop/compile/restart

  44. use client/server or peer-peer? • troublesome cul de sac: many conversations always seem to end up here • must we choose only one? • client/server: browsers, http, object request • peer-peer: DIS PDU, other MBone streams • realization: networking is not bipolar, rather a spectrum of functionality. Use all of it well.

  45. why not use the full spectrum? peer peer client server audio video DIS behaviors http web browser multi-user worlds

  46. examples in midspectrum peer peer client server audio video DIS behaviors http web browser multi-user worlds group-cached http servers (NCSA) “reliable” multicast

  47. what does desktop look like? • client • looking at someone else’s world • server • showing others your world • peer • scalable behavior interactions • “everything just works”

  48. what else is on desktop? • client • looking at someone else’s world • server • showing others your world • peer • scalable behavior interactions • “everything just works” means that network monitor capabilities are needed

  49. so where does vrtp live? HTML http VRML 97 and other scene graph APIs vrtp

  50. vrtp IS NOT... • possible using just http • yet another transport protocol • a competitor to existing protocols • a step in an untested direction • about adding complexity • hard for users to understand

More Related