vrtp is being developed to provide client, server, multicast streaming & network-monitoring capabilities
in support of internetworked 3D graphics and large-scale virtual environments (LSVEs).
Since 1995 we have actively collaborated with a number of researchers on the specifics of vrtp architectural design. Currently four Ph.D. students and several master's students are working on components expected to become part of vrtp.
We applied to become a Web 3D Consortium Working Group in January 1998, and our charter was approved in February 1998. We have established the vrtp mail list and hypermail archive at the www.web3D.org site.
Our primary motivation to open up participation in vrtp development is to execute vrtp implementation quickly and thoroughly. We want to to maximize the network abilities of shared 3D worlds. We will also want to keep pace with the subsequent explosion of network demand by large-scale interconnected 3D virtual environments.
|vrtp working group||Web site|| ||Interim update page||vrtp.zip, vrtp.tar.gz|
|DIS-Java-VRML||Web site||relative link (if installed locally)||Interim update page||Most recent download|
|Real-time Transport Protocol (RTP) Monitor||Web site||relative link (if installed locally)||Interim update page|| Most recent downloads
|Dial a Behavior Protocol (DABP)||Available soon|
|Recursive Ray Acoustics (RRA) Sonar Algorithm||Web site||relative link (if installed locally)||No interim updates||Most recent download|
The Bamboo plugin architecture is not yet integrated in any way, but is our goal componentization architecture. Bamboo is available via the Bamboo web site.
Concurrent related work: Extensible 3D (X3D) Specification Task Group. It has delayed some of our efforts in vrtp, but promises even greater eventual impact. Both efforts are proceeding in parallel with excellent progress.
Answering these important questions will first be addressed via vrtp mail list discussion.
Basically we are building network connectivity for cyberspace, optimized for live 3D and scalable with the Web.
Caveat surfer: many parts of this effort have a long way to go! There is a lot of heavy-duty detail and behind-the-scenes work going on. It is not a good project to join in order to do a little quick hacking (at least not yet). It is a good project to join if you are interested in contributing to a serious long-term effort that integrates 3D graphics with internetworking. You might take a look at the DIS-Java-VRML working group if you want to see how these efforts can grow.
Graphics Internetworking: Bottlenecks and BreakthroughsDon Brutzman
Chapter four, Digital Illusions, Clark Dodsworth editor,
Addison-Wesley, Reading Massachusetts, August 1997.
Although networking is considered to be
"different" than computer graphics, network considerations are integral to
large-scale interactive three-dimensional (3D) graphics. Graphics and
networks are now two interlocking halves of a greater whole: distributed
virtual environments. New capabilities, new applications and new ideas
abound in this rich intersection of critical technologies. Our ultimate
goal is to use networked interactive 3D graphics to take full advantage of
all computation, content and people resources available on the Internet.
Network breakthroughs repeatedly remove bottlenecks and provide new opportunities. A pattern appears as we attempt to scale up in capability and capacity without limit: every old bottleneck broken reveals another. Understanding the bottlenecks, the corresponding solutions and potential upper bounds to growth permits us to develop effective networked graphics. When we overcome current bottlenecks, "effectively networked graphics" will simply mean "applications."
Internetworked graphics can be examined from the perspectives of connectivity, content, interaction, economics, applications and personal impacts. Internetworking refers to the ability to seamlessly interconnect multiple dissimilar networks globally. Connectivity has numerous dimensions including capacity, bandwidth, protocols and the many-to-many capabilities of multicasting. Content equals the World Wide Web and includes any type of information, dataset or data stream that might be used in the graphics environment. Interaction implies minimal latency, a sense of presence, and the ability to both access and modify content. The economics of networked graphics environments is developing rapidly and principal forces can be identified. Applications drive infrastructure development and are the most exciting part of networked graphics. Finally, the personal impacts which accompany these developments range from trivial to profound as high-quality interactive internetworked computer graphics become the norm on all computers.
| || Just as the functionality of ftp, telnet and gopher were integrated
in http to support HTML,
we are integrating and optimizing protocols for client, server, peer-to-peer and network monitoring in vrtp
to support VRML.
Combining and optimizing existing protocols is a well-understood challenge, not a leap of faith. It is also becoming clear that such functionality can be used for other 3D scene-graph APIs in addition to VRML.
| || |
| || For a long time, many of our conversations with people about VE networking ended up in the same
frustrating question: "are you discussing client-server OR
We now realize this is a false dichotomy. A full spectrum of functionality exists between client-server and peer-to-peer. vrtp must support this entire spectrum well.
| || |
|Client||looking at someone else's live 3D world|
|Server||showing other people your live 3D world|
|Peer-to-Peer|| for scalable behavior interactions |
between numerous interacting worlds
|Monitoring|| so that everything just works. why? because
nobody really knows the state of the Internet
|Plugin Kernel|| Bamboo plugin architecture for |
Java and C++ dynamic class loading
|vrtp is:||vrtp is not:|
Here are a matched set of simple and detailed architecture diagrams which show how the various vrtp components fit together.
Primary paths for dataflow are mostly vertical, up & down the columns in the diagram.
3D client functionality is in the orange box for a variety of 3D scene graphs. Multicast streaming, server and monitoring components are in the yellow, green and blue box columns.
The light-blue "universal platform" box indicates that vrtp will be implemented in both Java and C++ (via Bamboo plugins), enabling interoperability with all platforms of interest.
| ||(Larger diagrams can also be seen side by side.)|| |
A major piece of work accomplished in 1998 was the design of the vrtp streaming behaviors component.
From the bottom up: behaviors arrive as multicast packets over the wire, are subscribed to via the Area of Interest Manager (AOIM), are buffered in a separate thread, have Real-time Transport Protocol headers examined for synchronization, packet contents are decoded using the XML-based dial-a-behavior protocol, then the entity dispatcher sends events to the 3D scene graph.
| || || |
Prototype implementation of this functionality has been produced during implementation of the DIS-Java-VRML software distribution.
We intend to use Bamboo as the plugin architecture which will selectively load & dynamically connect vrtp components on the desktop at runtime.
| || ||
Bamboo is a collection of the core
mechanisms common to networked VEs. It is an API toolkit
for serious programmers. It has a dynamically extendible
runtime environment. Bamboo is based on OpenGL++, which
implies OpenGL, C++, and STL (standard template library).
OpenGL++ is a multi-platform (SGI, PC, Macintosh, etc.)
visualization toolkit that contains the best of Performer and
Inventor. Bamboo sits along-side rather than on top of
OpenGL++. Bamboo is designed based on plug-ins.
The Bamboo web site has additional detail, mailing list information and the latest set of distributions.
Brutzman, Don, Zyda, Mike, Watsen, Kent and Macedonia, Mike, "virtual reality transfer protocol (vrtp) Design Rationale," Workshops on Enabling Technology: Infrastructure for Collaborative Enterprises (WET ICE): Sharing a Distributed Virtual Reality, Massachusetts Institute of Technology, Cambridge Massachusetts, June 18-20 1997. Available in .pdf, along with the WET ICE workshop presentation slides in .pdf and PowerPoint.
The DIS-Java-VRML Working Group is developing a free software library, written in Java and interoperable with both DIS and VRML. This has been our prototype for developing vrtp streaming stack functionality. Primary code contributors are Don McGregor and Don Brutzman of NPS. It solves a number of important technical tasks, including multicast connectivity into a web browser.
The DIS-Java-VRML Annotated References document provides an extensive list of additional technical references.
Brutzman, Don, "Graphics Internetworking: Bottlenecks and Breakthroughs," chapter, Digital Illusions, Clark Dodsworth editor, Addison-Wesley, Reading Massachusetts, to appear 1997. Available at www.stl.nps.navy.mil/~brutzman/vrml/breakthroughs.html
Rhyne, Theresa-Marie, Barton, Bob, Macedonia, Mike and Brutzman, Don, "Beyond Bottlenecks and Roadblocks: Internetworked Computer Graphics," SIGGRAPH/SIGCOMM 97 and SIGGRAPH 98 tutorial. Available at www.crcg.edu/events/sig98/course.html
Don McGregor's dial-a-behavior protocol (DBP) alpha implementation will be publicly available in February 1999.
Brutzman, Don, Zyda, Mike and Macedonia, Mike, "Cyberspace Backbone (CBone) Design Rationale," 15th DIS Workshop on Standards for the Interoperability of Distributed Simulations, Institute for Simulation and Training, Orlando Florida, September 16-20 1996, paper 96-15-99. Available in PostScript with presentation slides in PostScript and PowerPoint.
In December 1998 we commenced global multicast behavior streams as part of DIS-Java-VRML MBone testing. We are establishing this continuous test program as a preliminary CBone.
Macedonia, Michael R., Zyda, Michael J., Pratt, David R., Brutzman, Donald P., and Barham, Paul T., "Exploiting Reality with Multicast Groups," IEEE Computer Graphics and Applications, vol. 15 no. 5, September 1995, pp. 38-45. Available at www.npsnet.nps.navy.mil/npsnet/publications/IEEECGA.ps.Z
Macedonia, Michael R. "A Network Software Architecture for Large Scale Virtual Environments" Ph.D. Disertation, Naval Postgraduate School, Monterey, California, June 1995. (PDF)
Brutzman, Donald P., Macedonia, Michael R. and Zyda, Michael J., "Internetwork Infrastructure Requirements for Virtual Environments," First Annual Symposium of the Virtual Reality Modeling Language (VRML 95), sponsored by ACM SIGGRAPH, San Diego California, December 14-15, 1995. Available at www.stl.nps.navy.mil/~brutzman/vrml/vrml_95.ps with slides at www.stl.nps.navy.mil/~brutzman/vrml/vrml_95.slides.ps
Brutzman, Donald P., Macedonia, Michael R. and Zyda, Michael J., "Internetwork Infrastructure Requirements for Virtual Environments," NII 2000 Forum of the Computer Science and Telecommunications Board, National Research Council, Washington DC, May 23-24 1995. Unpublished invitational workshop. Available at ftp://taurus.cs.nps.navy.mil/pub/auv/brutzman/nii_2000.ps.Z or nii_2000.txt
Brutzman, Don, Pesce, Mark, Bell, Gavin, van Dam, Andy and AbiEzzi, Salim, "VRML: Prelude and Future," Proceedings, Association for Computing Machinery (ACM) Special Interest Group on Computer Graphics (SIGGRAPH 96), New Orleans Lousiana, August 4-9 1996. Available at www.stl.nps.navy.mil/~brutzman/vrml/siggraph96panel.html
More Web 3D technologies based on scene graphs are also appearing, including Java3D, Fahrenheit and VRML-NG. The vrtp project will track and support them. Hopefully, interoperability of all these important efforts can be maximized through Web 3D Consortium coordination efforts.
The Uniform Resource Locator (URL) for this home page is