vrtp - Naval Postgraduate School
Download
Report
Transcript vrtp - Naval Postgraduate School
Presentation to University College London,
January 14, 1999
Internetworked 3D Graphics and
virtual reality transfer protocol (vrtp)
Don Brutzman
Naval Postgraduate School
[email protected]
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
Correspondence: OSI & IP
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
Typical unicast / broadcast
packet stream paths
Example multicast routers
connecting streams
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”
All media networked to all
hosts is now possible...
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
VRML
Java
rendering
computation
data sharing
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
DIS-Java-VRML Data Flow
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
Dial-a-behavior protocol:
defining over-the-wire formats
protocol guru
Protocol
Definition
Interface
(XML DTD)
Grammar parser
builds replacement
protocol manager
Multiplayer
AOIM - Area of
networked
Interest
Application
Managers
Data Units
(XML-tagged data)
Shared 3D
VRML Worlds
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?
client
server
http
web browser
multi-user worlds
peer
peer
audio
video
DIS behaviors
examples in midspectrum
peer
peer
client
server
http
web browser
multi-user worlds
group-cached http
servers (NCSA)
audio
video
DIS behaviors
“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
vrtp
and other
scene graph APIs
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
vrtp IS...
a framework for combining essential best-ofbreed 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
vrtp working group
http://devo.stl.nps.navy.mil/~brutzman/vrtp
Bamboo: plugin architecture
“universal platform” (Java/C++/ACE)
Kent Watsen Ph.D. project
• dynamically extendible C++ runtime environment
• lightweight kernel linking core mechanisms common to
networked virtual environments
• API toolkit for programmers
• designed based on plugins
• ACE networking API
• Java Native Interface
• http://www.npsnet.nps.navy.mil/npsnet/Bamboo.html
Large-scale multicast work
Howard Abrams Ph.D. project
• Area-of-interest management (AOIM) research project
intended for millions of users & entities
• Octree approach includes combination of regions and
individual multicast addresses for every user
• Each user subscribes/unsubscribes to addresses of
interest as needed to support the shared simulation
• Display shows multicast adds/drops of a very large
number of simulated entities
3D worlds Server component:
Apache and QuICk
Apache http server: http://www.apache.org
QuICk: Mike Capps Ph.D. project
•
•
•
•
Quality of heterogenous representations
Importance of scene nodes
Cost of rendering representations
High-fidelity user experience despite wide range of
geometry loaded and/or culled
• Decide retrieval of other geometry
• Provide persistence of locally owned geometry
• Local entity to (n-entity + scene) collision detection
People + technology
Large scale and “big as the Web”
means everyone AND everything
This is a people process just as much as a
technical process
Computer geeks get in trouble when we
apply technical solutions to people problems
(or vice versa)
Easy is important
The right answer has to be easy or
people won’t bother doing it
“Easy as building a web page” is a
meaningful metric for easy enough
Until networked graphics are that
easy, growth won’t scale with
Web...
All information ...
Information overload is already norm
People have easy access to more
information than any world leader
ever did until a few decades ago
Scientific / information visualization plus
hyperlinked 3D space can display and link
all media
Web3D Consortium
http://www.web3d.org
All information...
interconnected
What does it mean when anyone can
create/join/ignore/compete with any
stream of information?
No one really knows
We will learn by doing it
This is way cool!
• and cool is a quantitative term!
Time to close: next steps
Build lots of internetworked worlds
Experimentation is crucial, we are
exploring undiscovered country
Process is as important as product
Identify real bottlenecks to scaling up
Foundation for cyberspace
Combination of technical, political,
economic, social factors brings us
to a new plateau:
we can now begin to build large-scale
networked virtual environments,
connecting everyone to
everything.
Contact
Don Brutzman
[email protected]
http://www.stl.nps.navy.mil/~brutzman
Code UW/Br, Naval Postgraduate School
Monterey California 93943-5000 USA
831.656.2149 voice
831.656.3679
fax