310 likes | 418 Vues
This presentation by Don Brutzman at the Naval Postgraduate School discusses the Virtual Reality Transfer Protocol (Vrtp), focusing on its architecture with components like Bamboo. Key topics include client-server interactions using 3D scene graphs, network monitoring, and a dial-a-behavior protocol for improved network functionality. The presentation aims to simplify networking for 3D graphics, support collaboration with initiatives like NTII, and demonstrate applications using multicast peer-to-peer networking. The goal is to enable large-scale virtual environments, making networking seamless for enhanced user experience.
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