Cesar Martinez Internetworked Virtual Reality October 2002 Cesar Martinez Internetworked Virtual Reality October 2002 A Distributed Architecture for Supporting Scalable Persistence and Interoperability in Collaborative Virtual Environments Jason Leigh, Andrew Johnson,Thomas DeFanti CavernCavern
Issues. Human factors. Networking. Database Representative CVR Scenarios. Collaborative Design and Engineering – NCSA - Caterpillar. Collaborative Training - SIMNET. Collaborative Scientific Visualization. CASA. CALVIN. NICE Collaborative Virtual Reality
Requirements of CVR. Avatars. Interfaces for Collaborative Manipulation and Visualization. Audio/Video Teleconferencing. Support of various Data Characteristics. Scalable and Flexible Topological Construction. Synchronous and Asynchronous Collaboration. Persistence in collaborative Virtual Reality. Interoperability with Heterogeneous Systems. Application with Specific Servers
CAVERNsoft is the collaborative VR middleware to facilitate the construction of persistent CVEs within CAVERN. It was conceived to create a common software middleware with which heterogeneous applications may communicate with VR applications CAVERN
The Information Request Broker (IRB) is the nucleus of all CAVERN-based client and server applications. An IRB is an autonomous repository of persistent data driven by a database, and accessible by a variety of networking interfaces. The Information Request Broker (IRB)
The IRB Interface
IRB Topologies
Channel Properties Channel properties allow clients to specify the networking service desired for data delivery. Clients may specify reliable TCP, or unreliable UDP and multicast. In addition to connection reliability clients may specify Quality of Service (QoS) requirements e.g.: desired bandwidth, latency, and jitter of the data stream.
Link Properties Link properties allow clients to specify the actions taken when local and remote keys are linked. This includes being able to choose between active and passive updates and being able to select the initial and subsequent synchronization behavior.
Key Properties Keys may be defined at a client's personal IRB or at a remote IRB provided the client has the necessary permissions. Keys may either be transient or persistent. Persistent keys are keys that will be stored in the IRB's datastore so that when a client or server re-launches, the data will still be retrievable by specifying the same key identifier.
Asynchronous Triggering of Events New Incoming Data Event IRB Connection Broken Event QoS Desviation Event
Programming Example
CAVERNsoft G Newest and Improve Version of CAVERN API These capabilities work across SGI, Linux, FreeBSD, Solaris and Win32 platforms (Windows 9x, NT, 2000).
CAVERNsoft G (Low level modules ). TCP, UDP, multicast, HTTP classes.. UDP reflector and multicast bridge class.. TCP reflector.. Remote procedure call classes.. 32 and 64 bit remote file I/O classes.. Client/Server database classes.. Parallel socket TCP classes.. Parallel socket 32 and 64 bit remote file I/O classes.. 32 and 64 bit remote file I/O classes using parallel sockets. Cross-platform data conversions.. Mutual exclusion and threading classes.. Network performance monitoring abilities
CAVERNsoft G (Higher level modules ). Use the CAVE library and Iris Performer.. Audio streaming.. Basic avatar classes without graphics.. Performer articulated avatars.. Performer navigation and collision detection.. Performer menus.. Performer Pick and Move. Performer NetDCS. Collaborative widget interface.. Collaborative framework for animating data sets.. LIMBO- basic collaborative framework for building simple collaborative environments.