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.
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?
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
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?
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.
Well, that's enough for today.
Back to previous
lecture
Forward to
next lecture
Back to the Index
Back to the
Syllabus