Digital Media

Moshell - Spring 98

Lecture 12: Graphics Internetworking,
or - Shared Virtual Worlds

Chapter 4 in Dodsworth - A special chapter by Don Brutzman

This chapter lays out many ideas about shared virtual worlds, and so I thought we'd upgrade it from a cultural reading to a formal technical lecture. I'm going to try to make it a very query-intensive lecture, as I believe it to be both meaty and comprehensible to you folks. So - GO READ THE CHAPTER with these queries in hand. Be ready for class on Tuesday 16th.
 

Connectivity


Query 12.1: In the TCP/IP protocal stack (subset of the overall OSI model), a transport layer code module (such as a TCP resource) receiving an IP packet knows what kind of network layer the packet arrived by (IP vs. some other mysterious beast.) True or false? Note that the book doesn't answer this question; it's an OPINION question (but it does have a correct answer!)

Query 12.2: Explain why multicast is essential to efficiently implement three and more-player CU-see me sessions.

Query 12.3: Explain why Brutzman asserts that PC and Macintosh systems need better implementations of multitasking before multicast will be well supported by these systems.

Query 12.4: Mbone (Multicast Backbone) uses special software called mrouters, which talk to each other via "tunnels" using the RTP protocol rather than TCP..  Does the mrouter software have to physically occupy the router computer? Why or why not? (See figure 4.4)

Query 12.5:How is the 'time to live' parameter used to control the scope of an Mbone multicast?

Query 12.6: 64 kbps is described as providing 1/4-size normal video at 5 frames per second (One assumes this means 1/4 of 262 x 300 video, approximately, or 131 x 150.) The compression technique is not mentioned but one assumes H.261 or something similar. What frame rate would Mbone provide at 200 kbps with full size video?
 

Content

"The Internet is our supercomputer; the Web is our database."

How to access all this? "Such a challenge is a good match for interactive 3D computer graphics."

Preemptive protocols were exemplified by HTML push/pull technologies implemented by Netscape in its frantic rush to stay ahead of Microsoft. Rather than negotiating, they tried to establish the de facto standard (a page right out of Microsoft's playbook.) Brutzman calls this "coopting standardization through market share."

According to IETF (Internet Engineering Task Force), two or more independent implementations are required to validate the performance of any proposed new standard.

(We briefly looked at some ways to simulate push by doing pull, using repetetive HTML.)

Virtual Environments are not defined by Brutzman, but he implies that they are "characterized by human operators interacting with dynamic world models of truly realistic sophistication and complexity." For me, this makes VE synonymous with "large system", which is too broad. For me, VE must involve free motion through a 3d interactive simulation space, as he says in his second paragraph.

What's needed for effective VR? Brutzman says

Distributed Interactive Simulation (DIS). Child of SIMNET, the Army's armor team training system.

Entity State Protocal Data Unit (PDU) encapsulates position and orientation, velocity (linear and angular) and acceleration (linear and angular.)

Query 12.7: (This query and the following one can only be answered after the lecture, unless you have other sources of the information.) Explain the problem which DIS was intended to solve.

Query 12.8: Explain how DIS uses "ghosts" or Remote Entity Approximations and extrapolation, or Dead Reckoning, to minimize the bandwidth requirement for shared virtual worlds.

Query 12.9: It's often informative to consider the opposite of an idea. If you didn't use DIS-style dead reckoning, what would be an alternative strategy for representing a shared physical reality, on two different computers running the same simulation software?

Such a system actually exists; it's called DIVE (Distributed Interactive Virtual Environment) and was built at the Swedish Institute of Computer Science (SICS).

Query 12.10: What are the principal artifacts or errors that one would expect to see in a DIS-based distributed virtual word, versus a high-bandwidth shared object implementation?
 

Large Scale Virtual-World Internetworking

Four key communications elements are required, sez Brutzman:
  The greatest need is application-layer networking.

To date, most such work has been military, or chaotic low-end game-hacks.

NPS (Naval Postgraduate School) is considering "dial-a-protocol", permitting dynamic modifications to the protocol specification.

Brutzman then lists a number of elements in the soup, including CGI, Java, Agents, Linda/tuplespace, MUDS and Tcl. He then comes to VRML.

VRML, a topic close to us all here at UCF.... but not to be explained here except to say that VRML represents graphical objects in a hierarchical model called a scene graph. Brutzman suggests the need for a VRML transport protocol (vrtp) and a Cyberspace multicast backbone (Cbone.)

One of our alumni, Michael Myjak, is currently working with Brutzman in a startup company to develop these things.

Economics us a bulleted list of stuff I don't want to worry about. Mostly seems valid though.

Applications he's considering: Live 3d stadium. Hmmm...coming already. You've seen the virtual first-down line? Education? Let's just get them up to the point of using word processors reliably, first. Military? Of course.

Virtual Worlds as Experimental Laboratories: Robot operational planning for underwater vehicles; distributed CAVEs for NASA.
 

Principles

1. When something is easy, people do it. Example: Making web pages.
2. When something is challenging, people will pay others to do it. ISPs, CSPs (commerce service providers, a new name for web hosting companies.)
3. When something is too difficult, nobody will do it. Overly complex standardization efforts, e. g. the recent attempt to standardize protocols for educational use.

Well, that's enough for today.
 

Back to previous lecture
Forward to next lecture
Back to the Index
Back to the Syllabus