Scalable Network Support for 3D Virtual Shopping Mall


Published on

Published in: Education, Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Scalable Network Support for 3D Virtual Shopping Mall

  1. 1. Scalable Network Support for 3D Virtual Shopping Mall Seunghyun Han(1), Mingyu Lim(1), Dongman Lee(1), Hea Dong Kim(2), Bon Ki Koo(2), Sung Ye Kim(2), and Byoung Tae Choi(2) (1) Dept. of Engineering, ICU, 58-4, Hwaam-Dong, Yuseong-Gu, Daejeon, 305-732, Korea (2) Software Laboratory Virtual Reality Division, ETRI,161 Gajeong-Dong, Yuseong-Gu, Daejeon, 305-350, Korea {dennis, cats, dlee}, {hdkim, bkkoo, inside, btchoi} As the Internet is rapidly deployed and computational power increases, Web-based electronic commercebecomes popular. A typical presentation of the static 2D text and image information does not attract users asmuch as in a real life one because it gives users a very limited opportunity to manipulate or observe products. Inthis paper, we propose a scalable network support for 3D virtual shopping malls which mainly focuses onscalability and accessibility. A large numbers of users and objects likely impose a heavy burden especially on thenetwork and computational resources. To improve scalability, we use an inter-region interaction scheme and userinterest group based filtering which exploits application semantics. For ubiquity of access in the Internet, clientsof the proposed system run on a Web browser using Java, VRML, and ActiveX control technology.1. Introduction As the Internet is rapidly deployed and computational power increases, electronic commerce(e-commerce) using the Web becomes popular. A typical presentation of the information isdone using static 2D texts and images. However, the 2D-based presentation does not attractusers as much as in a real life one because it gives users a very limited opportunity tomanipulate or browse products. To allow e-commerce users to experience as close as possibleto real life shopping, a 3D virtual shopping mall is introduced which allows users to interactwith each other and manipuate objects in a cyber space. One of key aspects to consider fordesigning a 3D virtual shopping mall system is scalability for interactive performancebecause there exist a large numbers of users and objects and they likely impose a heavyburden on the network and computational resources especially when the users are crowded ina small area. Another aspect is universal accessibility which enables users to access ashopping mall anywhere without any preparatory job, such as downloading and installation ofextra dedicated softwares, as long as the client is connected to the Internet. There have been several approaches for a 3D virtual shopping mall. Among them areVRCommerce [13] and @mart [1]. VRCommerce is based on the Web and VRML [11]. Itadopts ‘room’, ‘door’ and ‘hallways’ concepts which exploit shopping malls in a real world.When a user approaches to a door, the door automatically senses the user and downloadsworld data of the room. Users can interact and manipulate objects in the room. This approachreduces the number of events by limiting a field of views of users to a room. It, however, isnot scalable when many users are crowded in a specific room or place because every eventgenerated by a user is propagated to all the nearby users even when they are not interested init. @mart in Active Worlds exploits progressive loading based on spatial constraint of a userto increase scalability with a dedicated browser. It exploits a field of view of users to filter outunrelevent events. A user just receives the events generated in its field of view, so called aura[4], and other events generated by other users who are not within its aura are filtered out toreduce communication overheads of users. This approach, however, does not providescalability when many users are crowded in a small space because a user should receive all
  2. 2. events generated by others nearby even though he is not interested in them. These imposecommunications overheads on the users. To overcome the limitation of existing systems, we propose a scalable 3D virtual shoppingmall system. The proposed system is based on ATLAS [7] which is a scalable networkframework to support NVEs. To improve scalability, we supports two schemes: a inter-regioninteraction scheme [8] and user interest group based filtering [6]. In the former, a regionmanager selects only a subset of users from the neighboring regions whose members havehigh possibility of interaction with users in the current region. This enables users in the regionto receive update messages from only the users whom they are interested in the neighboringregions. The user interest group based filtering extends the filtering even further. It allowsusers with the same interest to dynamically form a group and exchange data with high fidelityamong them. However, data is transmitted either sporadically or little to other users. It couldfilter out irrelevant data to be transmitted. For universal access, our client supports VRMLand Java that allow users to easily access a virtual shopping mall anywhere using a standardWeb browser, not a dedicated browser. This paper is organized as follows. Section 2 discusses the existing systems. In section 3,we describe design considerations to build a scalable 3D virtual shopping mall system andthen the design details of the proposed system. Section 4 presents the implementationdetails of the proposed system. Finally, conclusion and future work follow in section 5.2. Related Works In this section, we describe the existing 3D virtual shopping mall systems for providingusers with interactive environments for e-commerce.2.1 VRCommerce VRCommerce [13] provides tools to design 3D VRML mall and virtual stores on a Webbrowser. Users can interact with other users, and manipulate objects in a virtual shoppingmall. VRCommerce focuses on communication overheads incurred by large world datadistribution as well as integration of independently designed virtual shops to a large shoppingmall. It uses ‘room’, ‘door’ and ‘hallways’ concepts which are the artifacts of real world shoppingmalls. A shopping mall is composed of several separated rooms and hallways which link therooms. Using door, users can enter a room for shopping. When a user approaches to a door, itloads a related room data by predicting the user may enter the room. This approach canreduce large world data distribution overheads by dividing world into smaller regions anddistributing them if needed. It also reduces the number of events by limiting the boundary ofevents delivery to a room. It, however, does not provide a scalable solution when many usersare crowded in a small region because users have to receive events that they are not interestedin.2.2 Active World Active World [1] provides toolkits to build interactive virtual community. @mart in ActiveWorlds is an exemplary world which shows how the toolkit can be used to build a 3D virtualshopping mall. Users can get 2D information on objects by clicking them, but Active Worlddoes not allow users to manipulate them. For improving interactive performance, it leveragesa field of views of users to progressively load dynamic objects in a world, which reducesinitial world data distribution. It also uses proximity based filtering in which each user has itsown field of view, so called aura [4], and only receives events generated in its aura. Otherevents generated by users who are not within its aura is filtered out and thus the number ofmessages to maintain a consistent state with other users is reduced. This approach is not scalable because when, many users are crowded in a small space, a usershould receive all the events generated by others nearby even though he is not interested in
  3. 3. them. Active World has limited accessibility since it requires its own world data format and adedicated viewer.3. The Proposed System In this section, we discuss key design issues that should be considered for a 3D virtualshopping mall system and then we present the proposed system in detail.3.1 Design Consideration3.1.1 Scalability Interactive performace is one of key factors in multi-user interactive systems such as a 3Dvirtual shopping mall. To support acceptable performance as the number of users increases,various relevant filtering schemes have been proposed [2, 4, 9]. The existing filteringmechanisms are mostly based on location proximity or object types (classes or organizations)by which participants are classified before starting a session. These approaches are notscalable because a user should receive all the messages generated by others nearby eventhough he is not interested in them. To overcome this, we first leverage application semanticsto filter out irrelevant events. User interest group based filtering and inter-region interactionscheme adopts application semantics based on proximity of users as well as interest of users.These schemes will be explained in detail in Section 3.5. Secondly, we divide the roles of servers. A Web server is used for static scene datadistribution, and a server dedicated for shopping mall support, which will be detailedexplained in the next section, is for dynmaic data distribution and consistency management ofvirtual worlds.3.1.2 Accessibility When users are asked to download and intall an extra software for accessing the service thatthey want, it may eschew a user to access the service. To make a virtual shopping mall moreaccessible, the mall should be accessed via a standard Web browser. We use Java, VRML,and ActiveX to enable users to access a shopping mall with a standard Web browser. EAI isused to mediate between network module and client viewer. This enables users to easilyaccess a 3D virtual shopping mall anywhere as long as a client machine is connected to theInternet.3.2 System Architecture The proposed virtual shopping mall system is based on a client/server model. The systemis composed of three main components, a VS server, a Web server, and clients as shown inFigure 1. ATLAS VS Web Server Roles: Product Session Management Consistency Management World Rules Concurrency Control World Data ATLAS Client Interaction events EA for consistent view VRML Viewer Static data distribution Web Web Figure 1. Overall System Architecture
  4. 4. A VS server not only performs user management but also keeps up with the consistentstate of virtual world objects. We use ATLAS [7] as a network framework to build ascalable VS server. ATLAS will be explained in detail in Section 4.2. A Web server distributes virtual world data, avatar information, product information, andrule description file which defines dynamic objects in a virtual world for concurrencycontrol among users. A client application consists of a client module which enablescommunication to a VS server and a VRML viewer [10] which enables a user to navigatein a virtual world. The event exchange between ATLAS client and a viewer is performed via ExternalAuthoring Interface (EAI) [3] and additional interfaces which RTV viewer [10] provides.3.3 Session Management A session implies an independent virtual shopping mall in which users can navigate,interact with each other, and purchase products. To satisfy various requirements of users,we support multiple sessions. A session is coupled with a Web server to distribute its ownshopping mall data. The states of users who participate in different sessions should not beshared not only to protect privacy of the users, but also to prevent events propagation.However, users in different sessions can interact with each other in the control of themulti-session management. For dynamic management of sessions, it is required to providean interface for new session configuration. ATLAS VS server provides the dynamicsession configuration service, such as adding, deleting, and updating session information.3.4 Concurrency Management In a 3D virtual shopping mall system, users share the same view to interact with eachother. The shared information is often replicated at each user’s site to provide acceptableinteractive performance, especially where users are geographically distributed over largenetworks like the Internet. Here concurrency management is required to resolve conflictsof concurrent access to objects in a virtual world. The proposed system takes optimistic concurrency control instead of strong one such aslocking since interactive performance is highly required and partial, temporalinconsistency among users is acceptable in highly interactive applications such as a virtualshopping mall. A user manipulates a target object immediately after he/she requests anownership instead of waiting for the ownership to arrive. If the ownership request isdenied, the target object is deactivated immediately. This causes temporary inconsistencyamong users but it increases interactive performance.3.5 Interest Management Interest management mainly focuses on how to reduce the number of messages or eventswithout degrading interactive performance of users. It manages interests of users andkeeps track of intormation on the users who participate in a region and its neighboringregion. In this system, we use two interest management schemes, called inter-regioninteraction [8] and user interest group based filtering [6]. In a real world shopping mall, not only can people perceive the objects near themfrequently than those far from them, but also focus more on objects of high interest thanthose of low interest. The user interest group based filtering exploits this. With thefiltering, a user expresses its interests to objects in the shopping mall. Users who share thesame interest create an interest group and the users exchange update messages with highfidelity, that is, every update message is sent to the others. Update messages are sent withlow fidelity data to the users who do not share the interest, that is, every update message isnot sent. In order to solve deterioration of interactive performance due to region partition [9], weapply the inter-region interaction management scheme based on sub regions to a virtual
  5. 5. shopping mall system. Based on distance and viewing direction, a user receives onlymessages from only users in its neighboring regions whom it is interested in instead of allusers. The inter-region interaction scheme can reduce the number of messages, which thensupport interactive performance in large-scale NVEs.4. Implementation The proposed system is based on ATLAS, which is our scalable network framework. Itconsists of two parts: a server module and a client module. We first describe ATLAS andthen the implementation details of the proposed system.4.1 Implementation Environment The proposed system is written in Java language to enable users to access a virtual shoppingmall with Web browser. We use VRML [11], which is a graphic standard language, to build a3D shopping mall scene without any extensions. A VRML viewer, which is also compatiblewith X3D [14], is written in C++ and built as an ActiveX control to transparently workwith Internet Explorer. To mediate events, we use External Authoring Interface (EAI) [3]and additioanl interfaces which the viewer provides.4.2 ATLAS ATLAS is a scalable network framework for networked virtual environments. It is anongoing project to support scalability in NVEs in terms of four scalability issues:communication architecture, interest management, concurrency control, and datadistribution. ATLAS is written in Java and C++ and runs on Windows and Unixcompatible operating systems to incorporate with the various requirements of viewers orapplications. ATLAS does not define application specific policies or semantics butprovides mechanisms supported by various managers. ATLAS managers are divided intotwo groups, high level managers group and low level managers group. High level managers aim to provide NVE specific interfaces in the considerations ofscalability. It includes session manager, region manager, interest manager, concurrencymanager, and data distribution manager. Session manager provides interfaces for membership management, and defines session-specific rules applied to the session. Region managers play a major role to provideconsisent states among users who participate in a virtual whold. Region manager keepstrack of all states information including dynamic objects and users in the region or partialinformation of neighboring regions. Interest manager provides several filteringmechanisms including not only basic proximity based filterings but also user interestgroup based filtering to filter out irrelevant events to users. Concurrency managermaintains synchronization of dynamic objects in a virtual world. Data distributionmanagement aims to efficiently distribute virtual world data to clients to meet therequirements of application demands. Low level managers have duties for communications among ATLAS peers and servers. Itis mainly composed of communication manager and event manager. Event managermediates events delivery between communication manager and high level managers.Primary duty of communication manager is channel management, which includes channelcreation, deletion and event transmissions. Detailed description of ATLAS is found in [7].4.3 Server Module VS server consists of multi-session manager, session manager, region manager, interestmanager, concurrency manager, and data manager as high-level components andcommunication manager and event manager as low-level components. High-level managersinherit CAtlasHandler interface in order to process ATLAS events.
  6. 6. They must be registered to event manager with a target event types which they process.Event manager has duties to pack byte array, which is received by communication manager,to ATLAS events and route events to appropriate registered managers. Communicationmanager holds the references of channel lists. It creates a new channel when a new userjoins a session or deletes the channel when the user leave the session. Figure 2 shows the overall internal architecture of ATLAS VS server. Each component isdescribed in detail in the following sub-sections. Figure 2. Internal Architecutre of ATLAS VS server4.3.1 Session Manager Session manager provides users with the interfaces for entering or leaving a virtualshopping mall and membership management, and defines specific rules applied to thesession. Since we assume that a virtual shopping mall is divided into several logicalregions, the session manager holds the references to the region managers that managelogical regions. It also supports multiple sessions. For dynamic management of sessions,the multi-session manager holding reference list of session managers provides users withthe interfaces for initiation, termination, selection, join, leave, creation and deletion ofsessions. To enter a virtual shopping mall, users query the multi-session manager aboutinformation on available sessions, and select a session among several sessions maintainedby the ATLAS server. Receiving a login request from a user, the session manager verifies the user with his/hername and password. It then informs the user of regions in it, among which the user entersa default region. After receiving information on other users and objects in the region, theuser can interact with them.4.3.2 Consistency Manager A virtual shopping mall is divided into several logical regions and we maintain consistentstates of regions. Region manager plays a major role of keeping consistent states or viewamong users who participate in the shopping mall. For this, it keeps track of all statesinformation including dynamic objects and users in a region or partial information ofneighboring regions. Figure 3. Event Flows in ATLAS Region Manager
  7. 7. Region manager, interest manager, data manager, and concurrency control manager areincorportate with consistency manager to keep up with consistent states of a region. Allthe events, which change virtual world states, are reflected to users who participate only inthe region after processing registered filterings or concurrency control mechanisms.Detailed explanations about scalable filtering and concurrency control schemes aredescribed in following sections. Figure 3 illustrates a basic structure and event flows inregion manager.4.3.3 Interest Manager A primary role of interest manager is to filter out irrelevant events. We use interestgroup based filtering and inter-region interaction scheme. With the user interest groupbased filtering, a user expresses its interests to objects in the shopping mall. The usersends all the interest events which are generated in a local host to the correspondingregion manager where the user participates. Region manager maintains group informationin User Table, and interest manager refers the table. When an interest event, for instance UIG_USER_MOVED, comes in, interest managerchecks if the event results in creation, join, or leave of group based on interest of users inthe User Table and proximity. It determines group of users to distribute the event withhigh-fidelity. It distributes the event to the group based on fidelity level, and checks thelevel of low fidelity to determine event distribution to the other users who are notmembers of the group. In some case, user may wish only to receive interaction dataoccurred in its participating group. It could be also enabled by regulating the level of lowfidelity to zero. Figure 4 shows the users’ interactions under user interest group basedfiltering. Figure 4. Data Tramsmissions with UIGB filtering scheme To characterize users’ interests in neighboring regions, a region is logically divided intoseveral sub-regions. Whenever ATLAS server receives position messages from users, itupdates them per user in the User Table. A region manager in the server then determineseach user’s interest in its neighboring regions, and then selectively forwards receivingmessages to users in the neighboring regions according to each user’s interest in them. Figure 5 shows a part of data transmissions with inter-region interaction scheme in avirtual shopping mall. RM1, RM2, RM3, and RM4 are region managers which managesfrom region1 to region4 respectively. There are nine users represented as U1, U2, and soon. When RM2 receives a position message from U4, it first forwards the message to otherusers in region2. RM2 then determines interests of other users in the neighboring regionsof region2, region1 and region4. For region1, since U4 belongs to sub-region which is farfrom region1, only U1 is interested in U4, not U2 and U3. For region4, all users, U8 andU9 are interested in U4, because U4 belongs to sub-region which is adjacent to region4.As a result, RM2 forwards U4’s update message to U1 in region1, and to U8 and U9 inregion4.
  8. 8. Figure 5. Data Tramsmissions with Inter-region Interaction Scheme 4.3.4 Concurrency Management VRML adopts a single machine event model which implies that it does not provide anysynchronization or concurrency control mechanism for interactions among users in thelanguage. It supports EAI which enables a client system to extract states of virtual worldobjects or generated event types. It, however, is not designed to consider distributedenvironments. In the propsed system, we use EAI and additional interfaces to enableinteractions in distributed environments. We define object and event handling rules to provide concurrency control for virtualshopping mall objects. An event handling rule consists of a predefined action name, anode name which is defined in VRML world file using DEF, and a field in the node thatcan be modified when an event is generated. Each virtual shopping mall has its ownhandling rule. We describe the handling rules in the world description file which isdistributed by Web server. This makes it possible to reuse existing VRML data withoutmodification. Shopping mall providers simply write a rule file instead of building an entirescene. Figure 6 shows an event handling rule for concurrency control as an example. Event Handling Rule ActionName NodeName NodeTypeEventField FieldType [FieldValue] –[Action] Action Names Action Names Field – BUY, TRANS, ROTATE, TRANSROT, DECDB, etc. Example BUY Pooh TouchSensor isActive SFBool Figure 6. Event Handling Rule for Concurrency Control When a user joins a session, which is a virtual shopping mall, ATLAS client receives thehandling rules. The ATLAS client parses the rules and get objects and fields referencesfrom VRML viewer. When a user triggers an event on the defined object, ATLAS clientsends ownership request event. Concurrency manager checks Object Table whether theobject is already occupied by other users. If other user does not have ownership,concurrency manager sends ownership grant event to the client and object occupied eventto the other client in order to prevent other clients to manipulating the objects, otherwise,it sends ownership denied event to the client. If a user finishes manipulating the object, itsends ownership release event to concurrency manager. It sets the object state in theObject Table as free, and sends ownership released event to the other clients to activatethe object.
  9. 9. 4.4 Client Module Our virtual shopping mall client is run on Internet Explorer. It consists of VRML viewerand ATLAS client. The VRML viewer, which is provided by Real Time Visual company[10], not only supports VRML, but also supports X3D format. It is written in C++ andbuilt as ActiveX control to cope with Internet Explorer. It downloads VRML form ofshopping mall scene data from Web server, and generates scene gragph. ATLAS client is written in Java and provided as Java Applet. It is composed of ATLASmanagers which are counterparts of ATLAS VS server. Not only does it providesfunctionality for communication with ATLAS server, but also mediates event delivery tothe viewer. To mediate viewer with ATLAS client, we abstract EAI to higher levelinterfaces because EAI is too low level interface to access VRML scene. Those interfaces is primarily aimed to provide concurrent access for virtual world objectsand view synchronization among clients. It is called veneer layer interface in ATLASterms. The veneer layer converts ATLAS events to VRML events and vice versa. ATLAS client provides a user with an interface for selecting an avatar type and a sessionfrom a list of avatar types and sessions before joining a shopping mall. Once the user joinsa session, the viewer downloads the shopping mall scene data for a given session from thecorresponding Web server and initiates a navigation mini-map. Then, the user cannavigate the shopping mall, manipulate products, and interact with other users via achatting tool. Figure 7 shows our prototype system where a user navigates in a virtual shopping mall. Figure 7. Navigation in 3D Virtual Shopping Mall5. Conclusions In this paper, we propose a scalable 3D virtual shopping mall system which uses ATLASas a network framework and RTV VRML viewer. The proposed system is based on aclient/server communication architecture. The system is composed of three maincomponents, ATLAS server, Web servers, and clients. Web servers are used for static scenedata distribution, and ATLAS server is dedicated for dynmaic data distribution andconsistency management of virtual worlds. To build a scalable system, we exploit the inter-region interaction and user interest group based filtering schemes which are provided bythe ATLAS network framework. The filtering schemes leverage application semanticsbased on proximity of users to filter out irrelevant events without degrading interactiveperformance of the users. The client of the proposed system is composed of a java versionof ATLAS client and a VRML viewer based on ActiveX control and runs on Internetbrowser to provide universal accessibility. We use event handling rules which definedynamic objects in a virtual shopping mall. It enables to reuse existing VRML worlds, andenable users to manipulate virtual products in a shopping mall. The current system provides multiple shopping malls with ATLAS server to adoptvarious requirements of users. Even though scalable filtering schemes are used in the
  10. 10. proposed system, they do not overcome physical limitations, such as processing powerand the number of connections. We currently work on developing a scalable and adaptiveload balancing algorithm. In this, an overloaded server performs a load balancing locallyif most of its neighbor servers are not heavily loaded. Otherwise, it conducts loadbalancing with more servers beyond its neighboring servers.References[1] ActiveWorlds Corp., Active Worlds, see at[2] J.W. Barrus, R.C. Waters, and D.B. Anderson, Locales: Supporting Large Multiuser Virtual Environments, IEEE Computer Graphics and Applications, Nov. 1996, 16(6), pp. 50-57.[3] R. Carey, G. Bell, and C. Marrin, ISO/IEC 14772-2:2001, The Virtual Reality Modeling Language (VRML) - Part 2: External authoring interface (EAI), see at[4] C. Greenhalgh, and S. Benford, Virtual Reality Teleconferencing: Implementation and Experience, European Conference on Computer Supported Cooperative Work, Stockholm North-Holland, Sep. 1995.[5] O. Hagsand, Interactive Multiuser VEs in the DIVE system, IEEE Multimedia, Spring 1996, pp. 30-39.[6] S. Han, M. Lim, and D. Lee, Scalable Interest Management Using Interest Group based Filtering for Large networked Virtual Environments, ACM Symposium on Virtual Reality Software and Technology (VRST00), Oct. 2000, pp. 103-108.[7] D. Lee, M. Lim, and S. Han, ATLAS – A Scalable Network Framework for Distributed Virtual Environments, ACM Collaborative Virtual Environments 2002 (CVE02), Sep. 2002.[8] M. Lim, and D. Lee, Improving Scalability Using Sub-Regions In Distributed Virtual Environments, ICAT99, Dec. 1999, pp.179-184.[9] M. Macedonia, M. Zyda, D. Pratt, R. David, P. Barham, and S. Zeswitz, NPSNET: A Network Software Architecture for Large Scale Virtual Environments, Presence, Vol. 3, No. 4, Sep. 1994, pp. 265-287.[10] Real Time Visual Co., X3dbrowser, see at[11] The Virtual Reality Modeling Language - Part 1: Functional specification and UTF-8 encoding, ISO/IEC 14772-1:1998.[12] J. Yang, and D. Lee, Scalable Prediction Based Concurrency Control for Distributed Virtual Environments, IEEE VR’00, Mar. 2000, pp.151-158.[13] VRCommerce, see at http://[14] X3D Working Group, International Standard ISO/IEC draft, see at