630 likes | 771 Views
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
E N D
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 • DIS-Java-VRML and examples • Dial-a-Behavior Protocol • vrtp components • Future work
Differences • Graphics and networks are usually considered “different disciplines” • Getting them to work together requires understanding both
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
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
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
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
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
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
Key differences: unicast/multicast 1 • individual multicast packets readable by every host workstation on LAN • elimination of duplicate streams reduces bandwidth requirements
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)
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”
Hamming lecture series • First full academic course on Mbone, 1995 • Now archived on a disk server • Wieland Hofhelder’s Mbone Video on Demand
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
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
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!
VRML Overview 3 • Dynamic 3D scene description language with behaviors and animation • Rich set of graphics primitives gives common-denominator file format • Well documented
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
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
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
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
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
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
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
General entity solution Simple Is Good! VRML rendering computation data sharing Java network
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
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)
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.
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
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
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
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
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
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
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
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
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)
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
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.
why not use the full spectrum? peer peer client server audio video DIS behaviors http web browser multi-user worlds
examples in midspectrum peer peer client server audio video DIS behaviors http web browser multi-user worlds group-cached http servers (NCSA) “reliable” multicast
what does desktop look like? • client • looking at someone else’s world • server • showing others your world • peer • scalable behavior interactions • “everything just works”
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
so where does vrtp live? HTML http VRML 97 and other scene graph APIs vrtp
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