Skip navigation, to content.

2006 Rochester Computational Science and Education Conference

A Reliable and Robust Software Architecture for Distributed Collaborative Visualization

Authors: Amin Ghadersohi 1, 2, Mark L. Green 4, Dave Pape 3, Russ Miller 1, 2, 4

  1. SUNY-Buffalo, Center for Computational Research
  2. SUNY-Buffalo, Department of Computer Science & Engineering
  3. SUNY-Buffalo, Department of Media Study
  4. Hauptman-Woodward Medical Research Institute, Buffalo NY

Abstract

Distributed visualization frameworks that can integrate different data sources and support collaboration among multiple participants have become increasingly important because of effectively changing the way people work together. An attractive feature of these environments is the ability for multiple people to share the same visual representation of objects and freely maneuver around the virtual world. Such collaborative environments allow the participants to interact with each other via verbal communication and virtual physical interaction. In this research, we discuss and analyze the motivations, requirements, and challenges that define this problem. We describe and illustrate our solution software architecture for a collaborative distributed virtual environment, with focus on the management of a distributed data store and providing an extensible, easy to use API both for the purposes of integrating new data with the distributed database and the visualization of the data in the distributed environment. By decoupling the locking mechanism, necessary for consistency, from the data itself, the database can be distributed to multiple servers, providing scalable performance, while minimizing the workload of a single node that provides consistency. Our system achieves reliability and robustness by employing a modular design that allows for a very intuitive breakdown of the architecture into 'layers' and 'tiers' and in order to provide a cutting edge graphics programming interface, we employ the OpenSceneGraph API for the graphics layer of the architecture.