310 likes | 416 Views
vrtp Research Update. Don Brutzman Naval Postgraduate School brutzman@nps.navy.mil. February 7, 2000. presentation outline. virtual reality transfer protocol (vrtp) bamboo & component architecture clients: 3D scene graphs dis-java-vrml dial-a-behavior protocol network monitoring
E N D
vrtp Research Update Don Brutzman Naval Postgraduate School brutzman@nps.navy.mil February 7, 2000
presentation outline • virtual reality transfer protocol (vrtp) • bamboo & component architecture • clients: 3D scene graphs • dis-java-vrml • dial-a-behavior protocol • network monitoring • outlook
virtual reality transfer protocol • Enable large-scale virtual environments • Provide network functionality via URLs • because scene authors understand that • Make networking “easy” for 3D graphics • Supports many shared goals with Brown & National Tele-Immersion Initiative (NTII) • http://www.web3D.org/WorkingGroups/vrtp
vrtp goals for collaborative research • Implement general shared-behavior streaming mechanism for NTII • Internetworked 3D graphics everywhere • Design framework for Web-wide networked software architecture • Provide mega content and connectivity for shared network experiences
what is needed on desktop? • client • looking at someone else’s world • server • showing others your world • peer-to-peer multicast • scalable behavior interactions • network monitoring • so that “everything just works” • repeatable experimental environment
Bamboo plugin components • Hook it all together • Dynamically extensible • Kernel with callbacks • Add plugins at runtime • C++ and Java • Examining XPCOM • http://www.npsnet.nps.navy.mil/Bamboo
Client 3D scene graphs • VRML 97 used for development • Future: • Java3D • Extensible 3D (X3D) • Fahrenheit Scene Graph • Brown/NPS networked scene graph (NSG) • Possible 2D browsers (for other apps): • Amaya http://www.w3.org/Amaya • Mozillahttp://www.mozilla.org
Clients for teleconferencing • University College London (UCL) tools • sdr, vic, rat, wbd, nte • www-mice.cs.ucl.ac.uk/multimedia/software
Servers • Apache • http://www.apache.org • Jigsaw • http://www.w3.org/Jigsaw • Currently all components are separate installs, automatic installation / update will be needed
Multicast peer-to-peer • Multicast Backbone (MBone) • Multicast relay if not on MBone • Behavior streams: many-to-many traffic • Sensitive to latency and jitter • more so than audio or video • DIS: exemplar for dial-a-behavior protocol
dis-java-vrml • VRML scene graph for entities • Java for computation, network • IEEE Distributed Interactive Simulation (DIS) Protocol: exemplar streamed behaviors • Well defined, physically based • Multicast networking • Open source, web browsers Simple is good!
Capture the Flag demo • 6 tanks, 6 helicopters, referee for 2 flags • Multicast peer-to-peer, no server • Collision detection among entities, shots • Terrain following locally by each entity • 45 x 55 Km2 terrain, Fort Irwin California • from Digital Elevation Model (DEM) database • Runs across Multicast Backbone (MBone) • Have almost reached design goal: fun!
dial-a-behavior protocol • Objectives • Let applications customize protocols quickly • Interpret new packet protocols at runtime • General over-the-wire packet format • Payloads defined using XML tags • Java implementation in progress • C++ XML parsers also available • Used in vrtp streaming stack
Grammar parser builds replacement protocol manager SOIM - Streams of Interest Managers Shared 3D Worlds packet-redefinition architecture protocol guru Protocol Definition Interface XML Multiplayer networked Application Data Units
dial-a-behavior example 1 • Write new protocol to carry a shared state variable of type “unsigned byte” • Traditional approach is to write custom code, compile, link with app, debug • Tedious, error prone, and especially difficult at runtime
dial-a-behavior example 2 • dabp describes packet layout using XML • dabp then parses, validates, and provides typed objects holding payload contents • can access individual fields, update fields, serialize for network transmission • ability to modify at runtime enables before-and-after testing • if desired, add tags for content handlers
dabp example XML excerpt <?xml version="1.0"?> <!DOCTYPE PROTOCOL_DESCRIPTION SYSTEM "file:////vrtp/dabp/protocols/protocol_description.dtd"> <PROTOCOL_DESCRIPTION> <FIELD_PRIMITIVE> <FIELD_NAME>arrayCount</FIELD_NAME> <FIELD_TYPE>org.web3d.vrtp.datatypes.UnsignedByte </FIELD_TYPE> <FIELD_DEFAULT>5</FIELD_DEFAULT> </FIELD_PRIMITIVE> <!-- etc. --> </PROTOCOL_DESCRIPTION>
Many XML tools are available Note that validating XML tools don’t permit construction of invalid tagsets
dial-a-behavior protocol is part of vrtp’s streaming behaviors stack
Network monitoring & RTP • NPS thesis work by Francisco Afonso • graduates September 1999 • Uses Java Media Framework (JMF) 2.0 • supports Real-time Transport Protocol (RTP) • needed for native interface calls (e.g. IGMP) • Provided comments to Sun JMF group, IETF Monitoring Information Base (MIB) • Source now available via vrtp home page • http:www.web3D.org/WorkingGroups/vrtp
outlook • X3D activity has preempted some efforts • nevertheless vrtp work proceeds steadily on multiple component implementations • will work on URLs second half 1999, first vrtp implementation by SIGGRAPH 2000 • good matchup to CRCG research efforts, collaboration is mutually beneficial • plenty of research and thesis projects
contact Don Brutzman brutzman@nps.navy.mil http://web.nps.navy.mil/~brutzman Code UW/Br, Naval Postgraduate School Monterey California 93943-5000 USA +1.831.656.2149 voice +1.831.656.3679 fax