# Presentation: 446513

## SWoF

- Glenn Bresnahan
- Boston University
- Scientific Computing and Visualization

## Background – Distributed VR

**Multi-person, multi-site shared virtual space**
**Navigation**
**Avatar representation**
**Telephony**

- Scientific Computing and Visualization

## DAFFIE Example

- Navigation client

- Telephony gen.

- event server

- Sound player

- Render server

- Video broadcaster

- Video director

- Renderer (viewer)

- Starfish

- Telephony generator

- Video player

- Sound player

- Chair

- Skater

- Butterfly

- Proximity detector

- Scientific Computing and Visualization

## DAFFIE Message routing

- client

- event server

- client

- client

- proxy

- client

- proxy

- client

- client

- client

- client

- client

- Scientific Computing and Visualization

## VR/AG Bridging

**Interconnect VR and AG spaces**
**VR image display over AG**
**Bridge audio in both directions**
**Provide interactivity for AG participants**
**AG navigation**
**AG interaction tools**
**Couple external a/v to both AG and VR**

- Scientific Computing and Visualization

## VR/AG Bridging

**Boston**
**Cyberarts**
**Festival**
**SC Global**

**FOR MORE INFO...**

_**[http://scv.bu.edu/hipart/GoGrid/](http://scv.bu.edu/hipart/GoGrid/)**_

- Scientific Computing and Visualization

## VR/AG Bridging

- view
- renderer

- audio
- renderer

- AG node

- navigation

- video
- bridge

- DAFFIE

- Multicast

- viewer

- AG
- audio

- AG node

- Scientific Computing and Visualization

## Tiled Display Wall

**Benefits**
**Low cost**
**Scalable**
**Multi-use**
**Passive stereo**
**Construction**
**Linux cluster display driver**
**Inexpensive LCD projectors**
**Cheap polarizing filters**

- Scientific Computing and Visualization

## Tiled Display Wall

**Prototype configuration**
**2x2 stereo array (8 projectors)**
**4 Linux display nodes + one control node**
**Fast Ethernet interconnect**
**Final configuration**
**4x3 stereo array (2 x 9.4 Mpixel)**
**24 Linux display nodes + one control node**
**52 Linux compute nodes**
**Myrinet interconnect**

- Scientific Computing and Visualization

## Application Architecture

** **

- App thread

- App thread

- App thread

- App thread

**...**

- Services
- (timing, streaming, file sharing)

- Message Transport

- Event Messaging

- Scientific Computing and Visualization

## DAFFIE VR Protocol

**Compound objects**
**Geometry**
**Transformation**
**Audio hook**
**Video texture map**
**Component ownership/object locking**
**Request ownership**
**Broadcast changes**
**Release ownership**
**Ownership transfer**
**Real and effective ownership**

- Scientific Computing and Visualization

## Messaging API

**Multithreaded, non-blocking**
**Dynamic join and leave**
**Point-to-point and broadcast messages**
**Polled or callback (active messages)**
**Subscription based receive**
**Low level services**
**Registration, timing, synchronization, query**

- Scientific Computing and Visualization

## Service Discovery

**Client registration/identification**
**Class (Viewer, Audio, Video, Agent)**
**Species (video: source, broadcaster, sink, processor)**
**Instance (video: stream-name)**
**ID**
**Hostname**
**Client location services**
**Service request/acknowledgement**

- Scientific Computing and Visualization

## Client Services

**Streaming**
**Data chunking **
**Bandwidth management**
**Dynamic tuning**
**File sharing**
**File servers**
**Conditional upload/download**

- Scientific Computing and Visualization