vrtp research update don brutzman naval postgraduate school [email protected] february 7, 2000
TRANSCRIPT
vrtp Research Updatevrtp Research Update
Don BrutzmanNaval Postgraduate School
February 7, 2000
presentation outlinepresentation 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 protocolvirtual 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 researchvrtp 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?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 componentsBamboo 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
•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 •Mozilla http://www.mozilla.org
Client 3D scene graphsClient 3D scene graphs
Clients for teleconferencingClients for teleconferencing
•University College London (UCL) tools
•sdr, vic, rat, wbd, nte•www-mice.cs.ucl.ac.uk/multimedia/software
ServersServers
•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-peerMulticast 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-vrmldis-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 browsersSimple is good!
Example scene: AUV in beach tanksExample scene: AUV in beach tanks
tracing entity behavior data in 3Dtracing entity behavior data in 3D
Capture the Flag demoCapture 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 protocoldial-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
packet-redefinition architecturepacket-redefinition architecture
Protocol Protocol Definition Definition InterfaceInterface
Grammar Grammar parser builds parser builds replacement replacement
protocol protocol managermanager
MultiplayMultiplayer er
networkenetworked d
ApplicatioApplication Data n Data UnitsUnits
protocol protocol guruguru
SOIM - SOIM - Streams of Streams of
Interest Interest ManagersManagers
Shared 3D Shared 3D WorldsWorlds
XML
dial-a-behavior example 1dial-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 2dial-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 excerptdabp 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 Many XML tools are available
Note that Note that validating validating XML tools XML tools
don’t permit don’t permit construction construction
of invalidof invalidtagsetstagsets
dial-a-behavior dial-a-behavior protocol is protocol is
part of vrtp’s part of vrtp’s streaming streaming
behaviors stackbehaviors stack
Eye-test charts Eye-test charts also availablealso available
Network monitoring & RTPNetwork 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
Network monitoring & RTPNetwork monitoring & RTP
outlookoutlook
•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
contactcontact
Don Brutzman
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