380 likes | 566 Views
Don Brutzman Naval Postgraduate School brutzman@nps.navy.mil. VRML and large-scale networking. VRML Consortium Summit 7-8 NOV 97. Presentation overview. This is my trimmed-down presentation on “VRML + Java + Networking” New points relevant to our summit are highlighted in green throughout
E N D
Don Brutzman Naval Postgraduate School brutzman@nps.navy.mil VRML and large-scale networking VRML Consortium Summit 7-8 NOV 97
Presentation overview • This is my trimmed-down presentation on “VRML + Java + Networking” • New points relevant to our summit are highlighted in green throughout • Summary conclusions • don’t “fix” VRML 97, it works • large-scale virtual environments now possible • network research/experimentation in progress
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! • Stable and compliant browsers are still biggest need - BUT recent release of CosmoPlayer 2 appears to fix that. Thank you, thank you, thank you!
VRML Overview 3 • Dynamic 3D scene description language with behaviors and animation • Rich set of graphics primitives gives common-denominator file format • Well documented, ISO standard • 20 year history of fracture and incompatibility in 3D graphics means we have every reason to fail. • We can continue to defy those odds.
VRML Overview 4 • Web-capable similar to HTML: authors can insert/add objects to scene (Inline node) or replace entire scene (Anchor node) • Interpolator animation and interaction • Script nodes for Java and JavaScript • Any kind of animation is possible • First law of engineering: if it ain’t broke, don’t fix it
VRML Overview 5 • Open technology, developed by working group, ISO standardization • VRML Repository OUT OF DATE • http://www.sdsc.edu/vrml • VRML Consortium page SUCKS (long after a great setup by Rikk Carey)http://www.vrml.org how about volunteers for web page? • Working groups: losing juice?
Java • Numerous desirable attributes for the LSVE application domain • cross-platform, portable code • recompilation not required • network support • VRML compatibility • minor problems exist, can work around • serious programming, examples help
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 • it works
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 • a good fit
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 • Cosmo Player still has me so pissed off • now has me so happy!!
Simple is Good! General entity solution VRML rendering computation data sharing Java network
Four key network components for LSVEs rationale for vrtp • 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 = Web • 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 hardware 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
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 (just-in-time Java gets ~80% C++ speed)
DIS-Java-VRML Data Flow intended message: it’s pretty simple
Goals: DIS-Java-VRML WG • Complete freely available Java/C++ implementations of DIS protocol • Easily stolen examples • Produce recommended practices for mapping between DIS & VRML • Utilities: record/playback, viewers etc. • Math libraries and physics libraries
DIS-Java-VRML WG admin following the usual keys to success (which not all working groups have done) • Open membership • www.stl.nps.navy.mil/dis-java-vrml • Meeting 21 November • Archived mail list • VRML Consortium www.vrml.org
DIS Testing • Build testbed lab at NPS • 5-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 • slowww but steady progress
Test results crucial • 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
Internet-wide VRML animation Putting physically realistic entities (meaning real physics, F=ma) all interacting together on a live 3D Web
Dial-a-behavior protocol • We are building a DIS-like data protocol, modifiable on-the-fly, that will allow rapid development of networkcommunications tuned forapplications • large-scale multicast • Public domain software written in Java • Virtual Reality Modeling Language (VRML) compatible and scalable
Why dial-a-behavior protocol • DIS entity state protocols hard to modify due to hard-coding, slow standards process • Entity interaction protocols are a crucial network capability that need better testing • Formal grammars and agents can provide a rapid modify/test/revise methodology • Support testing and experimental results!
Grammar parser builds replacement protocol manager Multiplayer networked Application Data Units AOIM - Area of Interest Managers Shared 3D VRML Worlds protocol-redefinition architecture driven by application needs Protocol Definition Interface
large-scale virtual environments • LSVEs are now possible • interactive 3D graphics using VRML • fully internetworked (need a vrtp) • extendible in every direction • scales with the World Wide Web • that means as easy as building a home page • details details: http://www.stl.nps.navy.mil/~brutzman/vrml/breakthroughs.html
multicast networking crucial • many-many communications, blah blah • still pretty complicated, slowly improving • filter packets at network interface card • Global MBone “works,” also built in IPv6 • partition network traffic (Macedonia) • spatial, temporal, functional, your choice • exploiting reality to better use network • experimentation & testing are essential
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 many-many behavior interactions • “everything just works”
what else is on desktop? • client • looking at someone else’s world • server • showing others your world • peer • scalable many-many behavior interactions • “everything just works” means that network monitor capabilities are needed nobody! does this yet (even net gods)
so where does virtual reality transfer protocol (vrtp) live? HTML http vrtp VRML 2.0
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 • a push to change VRML, just support it
vrtp IS... • a framework for combining essential best-of-breed protocols • a combination of existing software • a way to give user scenes easy access to a full spectrum of network capabilities • URL extensions: client/server/multicast • easy to use • all about simplification & streamlining • intended to best support networked VRML
VRML Symposia in Monterey sponsored by ACM SIGGRAPH and SIGCOMM in cooperation with VRMLC VRML 97 Symposium 500 attendees (sellout) www.sdsc.edu/vrml97 VRML 98 Symposium February 16-19 Mon-Thurs breakeven 400, cap 900 ece.uwaterloo.ca/vrml98
VRML 98 February 16-19 Monterey • Monday & Tuesday • Tutorials and working groups • SGI Cosmo dinner at Aquarium • Wednesday & Thursday • 17 papers (44 submissions) • 4 panels, to be determined • Exhibitor booths (not World Movers...) • Design show, Demo SIG • Sponsorships available • Add a day for VRMLC + web designers??
Contact Don Brutzman brutzman@nps.navy.mil http://www.stl.nps.navy.mil/~brutzman Code UW/Br, Naval Postgraduate School Monterey California 93943-5000 USA 408.656.2149 voice 408.656.3679 fax