Introduction
A distributed virtual environment (DVE) is a software system that allows users in a network to interact with each other by sharing a common view of their states. As users are geographically distributed over large networks like the Internet and the number of users increases, scalability is a key aspect to consider for real-time interaction. Various solutions have been proposed to improve the scalability in DVE systems but they are either focused on only specific aspects or customized to a target application. In this paper, we classify the approaches for improving scalability of DVE into five categories: communication architecture, interest management, concurrency control, data replication, and load distribution. We then propose a scalable network framework for DVEs, ATLAS. Incorporated with our various scalable schemes, ATLAS meets the scalability of a system as a whole. The integration experiences of ATLAS with several virtual reality systems ensure the versatility of the proposed solution.
ATLAS
ATLAS is a scalable network framework for distributed virtual environments. It provides various scalable schemes in all four scalability aspects described above, not restricted to specific ones. For meeting various DVE application requirements, these schemes are provided to system developers as APIs. Intending to support various applications, ATLAS introduces an intermediate layer playing a role of routing and transforming messages between ATLAS and applications. We have succeeded to integrate ATLAS with several applications, which ensures the versatility of the proposed solution.
- The overview of ATLAS can be found in
- D. Lee, M. Lim, S. Han, and K. Lee, "ATLAS-A Scalable Network Framework for Distributed Virtual Environments," Presence: Teleoperators and Virtual Environments, January 2006. (accepted)
- D. Lee, M. Lim, and S. Han, "ATLAS - A Scalable Network Framework for Distributed Virtual Environments," ACM Collaborative Virtual Environments(CVE2002), Bonn Germany, September-October, 2002, pp.47-54.
Our research topics is in Research areas.
Main Components
- Communication manager
- The communication manager is responsible for creation and deletion of communication channels, and message transmission. For channel management, the manager owns a channel list which holds channels currently being open.
- Event manager
- The event manager mediates events between the communication manager and high-level components, such as the session manager and the region manager. After unmarshalling the network message to ATLAS event, the event manager extracts the event information from the event, then checks the type and event ID field of the event to find an appropriate handler. The event is delivered to the chosen handler which has been registered to the event manager to handle the event. When a high-level manager send an event, the event manager selects channels corresponding to the destinations of the event, marshalls the event to a low-level network message and passes it to the communication manager.
- Session manager
- A session in ATLAS implies a basic unit which is an independent virtual world. The session manager provides users with the interfaces for entering or leaving its virtual world and membership management, and defines specific rules applied to the session. ATLAS also supports multiple sessions. For dynamic management of sessions, the multi-session manager holding reference list of session managers provides users with the interfaces for initiation, termination, selection, join, leave, creation and deletion of sessions.
- Region manager
- The region manager plays a major role of keeping a consistent state or view among users who participate in a virtual world. For this, it keeps track of all states information including dynamic objects and users in a region or partial information of neighboring regions. The region manager also contributes to scalability problems including interest management, concurrency control, data replication, and load distribution schemes as components.
Scalability Issues in ATLAS
- Communication architecture
- Since a DVE provides users with a shared context by exchanging their states with each other, how to reduce communication overhead is a key design consideration. Depending on how the communication is coordinated, the communication architecture can be characterized as client/server, peer/peer, and peer/server model.
- Interest management
- Though the computing powers and rendering speed are rapidly increasing, network resources still remain very expensive compared with computational resources. To overcome the limitations of the network resources, various relevance-filtering mechanisms should be considered. Since users need not receive all update messages related to the whole world, they instead receive only messages which they are interested in. The interest management is divided into two methods according to the fidelity of capability of message filtering: dividing a virtual world into several regions and localizing the area of interest of the participants.
- Concurrency control
- Shared information in DVEs is often replicated at each user's site to provide acceptable interactive performance, especially where users are geographically distributed over large networks like the Internet. Replication enables users to locally access and update the data. On the other hand, the cost of replication is to maintain synchroniztion among replicas in the presence of multiple concurrent updates, which eventually lead to inconsistent views among users. As communication delay increases, the probability of conflicts between operations does as much. Therefore, concurrency control is required to maintain synchronization among replicas. Approaches to concurerncy control have been broadly categorized into pessimistic, optimistic and prediction scheme.
- Data replication
- For supporting real time interaction in DVEs, it is common to replicate virtual world data from the server at the client. Each client then updates its replicated data by local changes or notification of remote changes. As the size of the virtual world increases, it becomes significant transmission overhead increasing initial download delay of the virtual world data, especially when to replicate a whole virtual world to the client. To reduce the overhead, several on-demand transmission (partial-replication) techniques are devised. In these techniques, instead of downloading the whole virtual world objects into the clients’ machines, copied are only objects that the user needs. A key aspect in partial replication is how to efficiently replicate the required data lest that user’s immersion in virtual world be disturbed for the loss of data. For efficient replication, two schemes are used together in general - prioritized transfer of objects, and a caching and prefetching techniques.
- Load distribution
- Sometimes scalability issues cannot overcome the limit of physical capability of a server, which brings the requirement of multiple servers. What we should consider here is how to distribute different loads among servers in order to make the whole system efficient and scalable.
