Cavern A Distributed Architecture for Supporting Scalable Persistence and Interoperability in Collaborative Virtual Environments Jason Leigh, Andrew Johnson,Thomas DeFanti Cesar Martinez Internetworked Virtual Reality October 2002
Collaborative Virtual Reality Issues . Human factors . Networking . Database Representative CVR Scenarios . Collaborative Design and Engineering – NCSA - Caterpillar . Collaborative Training - SIMNET . Collaborative Scientific Visualization . CASA . CALVIN . NICE
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
CAVERN 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
The Information Request Broker (IRB) 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.
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
CAVERNsoft G2 - 2000 . Newest and Improve Version of CAVERN API http://www.evl.uic.edu/cavern/cavernG2 . These capabilities work across SGI, Linux, FreeBSD, Solaris and Win32 platforms (Windows 9x, NT, 2000).
CAVERNsoft G2 - 2000 (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 G2 - 2000 (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.