and runs on Windows and UNIX compatible operating systems to incorporate ... Server, Peer-to-Peer, Network Monitoring, and Plug-in Kernel. Client, Server ...
ATLAS-II: Scalable and Self-tunable Network Framework for Networked Virtual Environments ∗
Seunghyun Han and Mingyu Lim Information & Communications University 58-4 Hwaam-dong, Yusung-ku Taejon 305-348, Korea +82-42-866-6163
{dennis, cats}@icu.ac.kr
ABSTRACT A networked virtual environment (NVE) is a software system through which people who are geographically dispersed over the world can interact with each other by sharing in terms of space, presence, time. Advance of current mobile communication environment and haptic devices make it possible that users can interact with each other within heterogeneous environments. To support users to collaborate in heterogeneous environments, ATLAS-II focuses on two broad concepts. The first one is selftunability over reconfigurability, which implies that a system automatically configures itself based on current execution environment. The second is personalized information filtering, which implies that disseminated events or information is filtered out based on human heuristics, application semantics, user preferences and current system status in order to increase scalability without degrading interactive performance of users. We are currently prototyping ATLAS-II with respect to the selftunability and personalized information filtering. ATLAS-II is originally designed to NVEs, however, it is not limited to NVE but can be extended to pervasive computing environments.
Keywords Networked Virtual Environment (NVE), Personalized Information Filtering, Self-tunable System, Pervasive Computing.
1. INTRODUCTION A networked virtual environment (NVE) is a software system through which people who are geographically dispersed all over the world can interact with each other by sharing in terms of space, presence, time, etc [10]. As NVE grows in size, especially in terms of number of users and network latency, a key aspect to consider is scalability for interactive performance because a large numbers of objects likely impose a heavy burden especially on the network and computational resources. Another aspect is
extensibility or dynamic reconfigurability for improving adaptability of system at runtime with component-based system design, plug-ins functionality and service discovery mechanisms. Existing systems have focused on improving scalability in NVEs. A key design issue in them is to reduce message exchange as much as possible in terms of number and size without harming the shared context and interactive performance. They have proposed various solutions to the scalability issues in terms of interest management [1, 4, 5, 6, 12, 14], communication architecture [3, 14], data replication [17], and concurrency control [22]. ATLAS [10] is an ongoing project to support scalability in NVEs in terms of the four scalability issues. ATLAS is written in Java and C++ and runs on Windows and UNIX compatible operating systems to incorporate with the various requirements of viewers or applications. ATLAS does not define application specific policies or semantics but provides mechanisms supported by various managers. Another research stream is to build universal platform [2] to support cross-platform infrastructure with inherent capabilities for dynamic extensibility at run-time with componentbased system design and register-callback mechanism [8, 16, 21]. Through which, available system functionality, such as new message filtering schemes or new virtual world objects, can be enriched without halting servers or peers. However, current systems, including ATLAS, assume unified execution environment among users. Consequently, the design criterion molds all the mechanism and processes to the particularities of a system. Advance in mobile communication environment and haptic devices make it possible that users can interact with each other within heterogeneous environments. For instance, mobile users with handheld devices such as PDA can interact with users who equipped with CAVE-like devices in a virtual world. To enable such an environment to work, not only be systems dynamically reconfigured, but also information should be efficiently filtered out based on current executing context and interests of users because mobile users cannot handle all the events generated in the virtual world. To accomplish its goals, ATLAS-II focuses on two broad concepts. The first one is self-tunability over reconfigurability, which implies that a system automatically configures itself based on current execution environment. The second is context-aware personalized information filtering and services, which implies that disseminated events or information is filtered out based on user’s
∗
The research reported herein is supported in part by Digital Media Lab., Korea.
interests or current execution context. Both of the techniques can enable users to interact within heterogeneous embodied environments. We are currently prototyping ATLAS-II incorporating with the above two concepts. The rest of the paper is organized as follows. In section 2, we present our envisioned scenario what we are trying to create. In section 3, we discuss systems which support reconfigurability and relevant filtering schemes. In section 4, we describe design considerations of ATLAS-II which supports self-tenability and personalized information filtering and its detailed design. Conclusion with future work follows in Section 5
2. ENVISIONED SCENARIOS In this section, we present our envisioned scenario which represents what we expect to create through our research. Dennis and his fellows are designing new automobile with virtual collaborative engineering tool integrated with ATLAS-II. Dennis is taking part in the design meeting with his mobile device on subway because he is on business trip while his fellows are taking part in equipped with haptic devices, such as virtual design table, with wired communication. Dennis’s palm device can not handle all the events generated by his fellows with haptic devices because the limitation of device’s computational power and network bandwidth. When ATLAS-II detects that palm device is overwhelmed by events generated by Dennis’s fellows, it dynamically changes event filter to reduce the overwhelming incoming events without reducing interactive performance of Dennis. With the dynamically changed event filter, Dennis can design new automobile with his fellows keeping with minimal interactive performance. The scenario shows how ATLAS-II will support users within networked heterogeneous networked virtual environment with self-tunability and context-aware information filtering without degrading interactive performance of the users.
3. RELATED WORKS In this section, we discuss existing systems which support dynamic extensibility and relevant filtering schemes which increase scalability by reducing irrelevant messages without degrading interactive performance of users in order to meet the requirements of the scenario described in section 2.
3.1 Dynamically Extensible Systems The capabilities of the Virtual Reality Modeling Language (VRML) provide building large-scale virtual world on the Web. However, underlying network supports, such as HTTP, DIS, etc., are insufficient for large-scale virtual environments (LSVE). Virtual Reality Transfer Protocol (VRTP) [2] aims to provide the necessary infrastructure to support for LSVE with multi-user capabilities. It is composed of five main components, Client, Server, Peer-to-Peer, Network Monitoring, and Plug-in Kernel. Client, Server, Peer-to-Peer, and Network Monitoring components aim to provide consistent view sharing among geographically distributed users. However, Plug-in Kernel takes into consideration to provide the common base infrastructure for any system, so called Universal Platform (UP).
UP in VRTP is incurred by Bamboo [21] which consists of a small flexible kernel that allows dynamic code management of a system, in terms of loading and unloading segments of executable code. Bamboo is a typical event-based system which works with predefined events and corresponding event handlers which are abstraction for the handling of system. The event handler utilizes the callback handler in that notification of the occurrence of an event is given to registered parties via callback mechanism. The Java Adaptive Dynamic Environment (JADE) [16] is an embodiment of the UP defined in VRTP. It provides a minimal application kernel which enables components to be dynamically extensible at runtime. As name implies, it adopts Java as implementation language. The main building blocks are Module which has minimal interfaces to be manageable by the kernel, and ModuleManager which supports a set of operations to manage modules. The JADE kernel is basically a ModuleManager containing particular mechanisms to support dynamic extensibility. It provides several helper objects, such as ResourceLocator, Compiler and ReloadPolicy. ResourceLocator not only retrieves classes or libraries from any location, but also dynamically links them to the kernel at run-time. Compiler parses an input source and interprets semantically its contents in order to configure system during runtime or booting up. ReloadPolicy is for reloading a Module which is ready to be used by kernel. NPSNET-V [8] is another framework which is intended to provide a supporting platform for extensible virtual environments. It is based on Java platform. Applications constructed using the NPSNET-V consists of a federation of loosely coupled modules arranged in a strict containment hierarchy like file system directory structure. NPSNET-V uses XML-based configuration and serialization mechanism for initial application bootstrapping, persistent storage of world components, and transferring component state between applications over the network. MASSIVE-III [18] uses explicit event objects to represent all proposed changes to the shared virtual world. It assumes that all the generated events are passed to a certain well-known event pipe and event filters are encapsulated in it. By dynamically changing the event filters, it could support dynamic extensibility of system. Bamboo and JADE systems mainly focus on general platform to support extensibility, which implies that they do not address or provide scalable solutions or mechanisms for NVEs, such as how to filter out irrelevant messages, how to control consistent view of a virtual world, how to construct communication architecture of system. NPSNET and MASSIVE systems provide some scalable solutions with general platform in their early works, however, they do not cover all four aspects of scalability considerations described in section 1. Another issue to address is that how to integrate currently available standalone viewers or VR systems in order to collaborate each other. They have their own properties, types, and events. To make different systems collaborate, it is essential to provide functionality to mask the different types, or events in a graceful way. However, above systems do not address the mechanisms.
3.2 Relevant Filtering Schemes Various relevant filtering techniques have been proposed to increase scalability by reducing the number of messages
exchanged among users by limiting the scope that messages are bounded into. They can be divided into a proximity based approach and a class based approach. Most of them leverage application semantics as well as human heuristics. Proximity based filtering mechanisms leverage human heuristics that human can not recognize objects or interactions far from them. They are mainly divided into region-based filtering and aura-based filtering. NPSNET [14] and SPLINE [1] are exemplary systems using the region-based filtering mechanism. They divide a virtual world into several regions and assign a separate multicast address to each region. They improve the scalability by bounding update messages within a region. In aurabased filtering, each user has its own ‘aura’ that represents its interests. When auras collide, a connection between them is established and update messages are exchanged through the connection. MASSIVE systems [4] adopt this filtering mechanism. Class-based filtering schemes leverage application semantics, for instance, in military simulation, infantrymen are grouped into a platoon and they are not interested in communications among flight squadron in the sky. In class-based filtering, the classes of all objects that will participate in a virtual world are predefined. Objects in a virtual world are classified based on these classes. Users register their interests with corresponding classes before participating in the world and thus receive messages only from the objects of the registered classes. Those filtering schemes or systems assume homogeneous execution environment among participants in a controlled manner. Consequently, the design criterion molds all the mechanism and processes to the particularities of a system. However, fundamentally, heterogeneity arises in different forms such as variety of computing resources including not only computing power and available memory, and network capabilities, but also users’ preferences. Thus, traditional filtering schemes may incur unexpected results. To overcome the limitation of the current schemes, adaptive filtering schemes are proposed to meet the requirements of heterogeneous environments. VELVET [15] is a NVE architecture which allows real time adaptation according to the local client needs in heterogeneous environments. It basically uses two level proximity based filtering schemes. First, it uses region-based (or locale-based) filtering by dividing a virtual world into several locales and messages are bounded into corresponding locales. Second, it uses aura-based filtering by defining publishing area and subscribing area. By supporting heterogeneous execution environments of users, it defines Parallel Virtual World (PVW) for a given user, in which objects are placed according to the metric chosen by that user. The attributes of the metric could be network traffic, the number of users, etc. with the PVW and metrics, a user may elect to unilaterally reduce or increase his/her own view of the world without prejudice to any other user at any point in time in order to adapt its execution environment. Though it considers several factors in the metric, the solution is limited to just restrict its subscribing area. As the number of users increase, it could not gracefully handle the situation because if the size of the subscribing area is too small, interactive performance of users may be degraded. Switchboard Architecture [20] copes with the heterogeneous execution environments arisen from the divers participating nodes and from individual users’ preferences by defining system-wide
policies. It expresses linear equations with the policies and user preferences to form mathematical model. It defines different dimensions of shared information as variables. The variables take on discrete values within a certain range. The Cartesian product of the possible values could be n-dimensional search space. With the user preference and policies, SA maps corresponding values to the user. However, this approach gives heavy load on server because as the number of heterogeneous nodes increase and the preferences of users become diverse, computational overhead incurred by processing shared information as much as ndimensional search space become larger. It may degrade scalability of the system.
4. ATLAS-II ATLAS-II aims to provide generic network support for NVEs. It is an extension of currently available ATLAS, which is a scalable network framework for NVEs, to meet the requirements of the scenario described in section 2.
4.1 Design Considerations In this subsection, we present two major design concepts of ATLAS-II to support smooth collaboration among users in heterogeneous environments.
4.1.1 Self-tunability Self-tunability implies that a system automatically configures itself based on current execution context without or minimal intervention of administrators or individual users. Existing approaches mainly focus on dynamic extensibility which provides base framework to dynamically plug-in components at runtime. However, it is essential to automatically configure itself based on the states of current execution environment or preferences of user in order to enable collaboration in heterogeneous environments. We use resource monitoring component which traces resource usages as well as service configuration manager which aims to dynamically load/or unload services based on current states of system and policies.
4.1.2 Personalized Information Filtering Information is classified into spatial, temporal and user interest constraints. Current available information cannot be available in tomorrow or even ten minutes later, which is called temporal constraint of information. History information can be built with accumulation of long-term temporal information. With the information, we could extract user preferences. Information available or valuable in a place can not be valuable in other place, which is called spatial constraints of information. Another characteristic of information is that a piece of information could be valuable but it is not important information to other users, which is called personality of information. We can build personalized information by leveraging spatial, temporal personality constraints of information. We can leverage two more factors to filter out information. First one is human heuristic, for instance, in a virtual community; users often tend to move to and crowd in specific places with their own interests and to interact with those whom have similar interests. We have experience to design user interest group based filter [6] using the human heuristic.
The second is application semantic information. For instance, in the scenario in section 2, a mobile user has physically limited resources to express his/her intentions compared to users who use haptic devices with wired communication channel. Users with haptic devices do not need to disseminate all the information to the mobile user because the device of mobile user cannot digest all the information. Instead, only filtered events can be disseminated to the mobile user with consideration of current resource characteristics of the mobile user. We could also classify level of filters and gradually adapt the level of filters within keeping minimal interactive performance of users in the context of application.
4.2 System Architecture Figure 1 shows that the overall system architecture of ATLAS-II. ATLAS-II provides not only basic components, components in blue box, which enable consistent view sharing among participants with scalable manner in terms of concurrency control, interest management, data distribution management and communication architecture, but also extended components, components in red box, for self-tunable itself. Components or services in dotted green box are represented to newly plugged components.
management, it is possible to extend ATLAS-II basic socket classes for providing various communication protocols such as reliable multicast. With those components, ATLAS-II provides several communication architectures such as client/server, peer/server, and hybrid architecture. With several integration experiences with other standalone graphic applications and ATLAS-I, we identify that it is important to integrate systems without modification of their original source codes. To support it, ATLAS-I provides a veneer layer which intermediates between ATLAS-I and applications based on various graphics and UI models. The veneer layer mainly performs transformation between application events and ATLAS-I events. Event Coordinator and Event Mapper components in ATLAS-II are extensions of the veneer layer in ATLAS-I. Event Coordinator parses application-events/ATLAS-events mapping pairs described in EventMap file, which is supplied by application designer, in bootstrapping phase. The information of the event pairs is registered in Event Mapper component. Application events are converted to ATLAS-II events through Event Mapper at runtime. The ATLAS managers and services are not limited to support NVEs, but extended to support pervasive computing environment. For instance, Location manager could be plugged to keep track of position of nomadic users in a smart space.
4.2.2 Supporting Self-tunability Service Description Manager (SDM) is a helper component that parses an input source and interprets semantically its contents. XML can be one of strong candidates of Service description language. When a system boots up or receives service reconfiguration event or the Resource Monitor (RM) detects symptom of performance degradation, the SDM is activated and initiate self-tuning process.
Figure 1. ATLAS-II System Architecture
4.2.1 ATLAS-II Basics ATLAS-II is an event-based system where all the actions occurred in a virtual world is encapsulated into ATLAS events. Managers and service objects are event handlers which process incoming events as well as route the events to other corresponding event handler. An ATLAS manager is not only container object but also process events with its basic functionality. ATLAS events are represented as XML because it provides interoperability and extensibility which does not imply that events are transmitted as XML document format. Pre-described events are parsed and attribute values are just packed to message before sending events. All the event and corresponding handler pair information must be registered in Event Manager in order to receive events from other peers or servers. Primary duties of the communication manager are creation and deletion of communication channels, and message transmission. It provides several communication methods such as unicast, multicast, and broadcast. Since we abstract a raw socket interface to facilitate easy communication channel
Figure 2. ATLAS-II Bootstrapping Sequences Service Configuration Manager (SCM) is heart to support selftunability of ATLAS-II. With extracted reconfiguration information through SDM, SCM performs self-tuning process with Resource Discovery Manager (RDM) and RM. RDM first searches target service object which is already available in local machine, otherwise, it searches through external peers or servers described in service description object. After initiating target object, it registers the object and corresponding events to proper ATLAS manager. However, initial self-tuning policies should be provided by system designer. During runtime, a system can learn
resource usage by resource monitors and behavior patterns of application by SCM. With the information, ATLAS-II can automatically tune itself. Figure 2 shows that the bootstrapping sequences of ATLAS-II.
4.2.3 Supporting Personalized Information Filtering Information filtering schemes are plugged as service objects. It is hard to provide personalized information filtering without application semantics, human heuristics, and preferences of users. Another factor to consider is current status of system/or environment. A peer (system) can give hints about her status to server or other peers to reduce information stream forwarded to her. We model information filtering with respect to those factors. Figure 3 shows that the filtering model.
prioritize the event types by their importance. For instance, concurrency control events have higher priority than interest events because if the loss of concurrency control event may break consistent state of the virtual world. Based on the priorities of each event type, we can filter out events which have lower priority than higher priority. The event prioritization is application dependent so that it should be pre-defined when application design. To dynamically filter out events in heterogeneous environments, we leverage current system status. A device (or peer) can not handle more than certain number of events in a certain time. When incoming events overwhelm computational threshold, it send feedback information to servers or (peers) to regulate outgoing event stream based on user preferences. Detailed filtering mechanism is described in [7].
5. CONCLUDING REMARKS Advance of current mobile communication environment and haptic devices make it possible that users can interact with each other within heterogeneous environments. To support users to collaborate in heterogeneous environments, ATLAS-II focuses on self-tunability and personalized information filtering. To accomplish those goals, we not only restructure ATLAS to enable system to self-tune itself, but also create information filtering model. With the model, we describe adaptive filtering scheme for collaborative application in heterogeneous environments. Figure 3. Information Filtering Model In ATLAS-II, changes of context or virtual world state are represented as events. To enable collaboration in heterogeneous environments, we use human heuristics, user preference, application semantics as well as current system status information. We first leverage spatial constraint from human heuristics. A user has limited field of view in a virtual world. We assume that each user or object has its own interest area (IA) so that the user can only notice objects or users in his/her interest area. It is a basic concept of proximity based filtering. The size of the interest area is not fixed but flexibly changed based on its execution environment, for instance, a device with high network capability and computational power can have large IA but low-end devices, such as mobile devices with low network capability and computational power, may have small size of IA. But we restrict that the size of IA cannot be smaller than a certain threshold value because if the size of the IA is below certain threshold value can not interact with other users. However, low-end devices can not handle all the events generated in its IA when the number of users or objects increases in its IA. The overwhelmed events in the mobile device can give heavy burdens not only on the device but also on network. To eradicate the overwhelmed events, we leverage human heuristics and application context information.
Our research focuses are not limited to NVEs but moving toward pervasive computing environments [9, 19]. In pervasive computing environment, where a user may interact with dozens or hundreds of devices, user attention [19] becomes a scarce resource because it is unreasonable to enforce users to manually configure and manage those devices especially when the devices and their executing environments are dynamically changing over time. Self-tunability and personalized information filtering, which are main research themes in ATLAS-II, are essential in those environments. We are currently prototyping ATLAS-II with respect to the selftunability and personalized information filtering.
6. REFERENCES [1] Barrus, J., Waters, R. and Anderson, D. Locales: Supporting Large Multiuser Virtual Environments. IEEE Computer Graphics and Applications, November 1996, 16(6):50-57.
[2] Brutzman, D., Zyda, M., Watsen, K. and Macedonia, M. Virtual Reality Transfer Protocol (vrtp) Design Rationale. Workshops on Enabling Technology: Infrastructure for Collaborative Enterprises (WET ICE): Sharing a Distributed Virtual Reality, MIT, June, 1997.
From another sense of human heuristics, people focus more on objects of high interest than those of low interest. Another factor is that people tend to interact more frequently with people with similar interests than those with different interests. With the level of interests on objects, events can be filtered out.
[3] Frécon, E., Greenhalgh, C. and Stenius, M. The DiveBone-
In the sense of application semantics, event types in collaborative application can be characterized by their purpose. We classify the event types in collaborative applications into interest, concurrency control, data distribution, and session control events. We can
[4] Greenhalgh, C.M. Awareness Management in the MASSIVE
An Application-Level Network Architecture for InternetBased CVEs. ACM Symposium on Virtual Reality Software and Technology, University College London UK, December 1999. Sytsems, Distributed Systems Engineering, Vol. 5, No. 3, September 198, 129-137.
[5] Hagsand, O. Interactive Multiuser VEs in the DIVE system. IEEE Multimedia, Spring 1996, 30-39.
[6] Han, S., Lim, M. and Lee, D. Scalable Interest Management Using Interest Group based Filtering for Large Networked Virtual Environments. ACM Symposium on Virtual Reality Software and Technology, Korea, October 2000, 103-108.
[7] Han, S. An Adaptive Information Filtering for Collaborative
[15] Oliveira, J. and Georganas, N. VELVET: An Adaptive Hybrid Architecture for Very Large Virtual EnvironmenTs, IEEE International Conference on Communications, No. 1, April 2002, 2491-2495.
[16] Oliveira, M., Crowcroft, J. and Slater, M. Component Framework Infrastructure for Virtual Environments. ACM Collaborative Virtual Environments, 2000, 139-146.
CDSN
[17] Park, S., Lee, D., Lim, M. and Yu, C. Scalable Data
[8] Kapolka, A., McGregor, D. and Capps, M. A Unified
Management Using User-Based Caching and Prefetching in Distributed Virtual Environments. ACM Symposium on Virtual Reality Software and Technology, Canada, November 2001, 221-226.
Applications in Heterogeneous Technical Report, 2002.
Environments,
Component Framework for Dynamically Extensible Virtual Environments. ACM Collaborative Virtual Environments, Bonn, Germany, September 2002, 64-71.
[9] Kindberg, T. and Barton, J. A Web-based nomadic computing system. Computer Networks, Elsevier, Vol. 35, No. 4, March 2001, 443-456.
[10] Lee, D., Lim M. and Han, S. ATLAS – A Scalable Network Framework for Distributed Virtual Environments. ACM Collaborative Virtual Environments, Bonn, Germany, September 2002, 47-54.
[11] Lee, E., Lee. D., Han, S. and Hyun, S.J. Prediction-based
[18] Purbrick, J. and Greenhalgh, C. An Extensible Event-based Infrastructure for Networked Virtual Worlds, IEEE Virtual Reality 2002, March 2002, 15-21.
[19] Santyanarayana, M. Pervasive Computing: Vision and Challenges. IEEE Personal Communications, August 2001, 10-17.
[20] Trefftz, H., Marsic, I., and Zyda, M. Handling Heterogeneity in Netsworked Virtual Environments, IEEE Virtual Reality 2002, Orlando, FL, March 2002, 7-14.
Concurrency Control for A Large Scale Networked Virtual Environment Supporting Various Navigation Speeds. ACM Symposium on Virtual Reality Software and Technology, Canada, November 2001, 227-232.
[21] Watsen, K. and Zyda, M. Bamboo-A Portable System for
[12] Lim, M. and Lee, D. Improving Scalability Using Sub-
[22] Yang, J. and Lee, D. Scalable Prediction Based Concurrency
Regions in Distributed Virtual Environments. International Conference on Artificial Reality and Telexistence, Tokyo Japan, December 1999, 179-184.
Control for Distributed Virtual Environments. IEEE Virtual Reality 2000, New Brunswick NJ USA, March 2000, 151158.
[13] Macedonia. M. and Zyda, M. A Taxonomy for Networked Virtual Environments. IEEE Multimedia, January-March 1997, 4(1):48-56.
[14] Macedonia, M., Zyda, M., Pratt, D., David, R., Barham, P. and Zeswitz, S. NPSNET: A Network Software Architecture for Large Scale Virtual Environments. Presence, Vol. 3, No.4, Fall 1994, 265-287.
Dynamically Extensible, Real-time, Networked, Virtual Environments. Virtual Reality Annual International Symposium, Atlanta Georgia, 1998, 252-259.