Sei sulla pagina 1di 4

A Peer-to-Peer Collaborative Virtual Environment for E-Commerce

Michel Khoury, Xiaojun Shen, Shervin Shirmohammadi


Distributed Collaborative Virtual Environment Research Laboratory (DISCOVER) School of Information Technology and Engineering (SITE), University of Ottawa Ottawa, Canada {mkhoury | shen | shervin} @discover.uottawa.ca
Abstract The current e-commerce systems consist of a catalogue which online customers browse through, trying to emulate the real-life shopping experience. These customers, most of the times, are exposed to the product specifications in addition to some pictures and sometimes, animations. They do not undergo the same experience they would in reality: people often shop in groups and share opinions among each other and with product experts about items they browse before committing to purchase. All the pre-purchase experience is heavily undermined in the current electronic shopping emulation, potentially leading to reduced purchasing. However, this experience can be enhanced through Collaborative Virtual Environments (CVE). In this paper, we present a web-based e- commerce system where customers can collaboratively experience shopping with their online friends in real-time, and share the interaction with three dimensional virtual models of the items they are considering to buy available in the virtual shop. The system considers accessibility, a concern for any e-commerce application trying to attract as many customers as possible, and hence uses Macromedia Shockwave at the client side: a widely deployed free player. This differentiates our system from similar VR-based ecommerce systems that require VRML plug-ins or other nonstandard software at the client side. Another characteristic of the proposed system is its unique approach to supporting scalability. Realizing that collaborative shopping might lead to an increase in the number of shoppers browsing products simultaneously, scalability is an inevitable issue to deal with. We propose a peerto-peer (P2P) architecture, where all peers provide resources and contribute in handling the scalability problem. The paper therefore focuses on two aspects: collaborative virtual environments in an e-commerce environment, and the application of peer-to-peer networking to such systems. Proof of concept and performance evaluations are also presented.

wide exposure internet offers. In contrast with traditional commercial stores, e-commerce created opportunity for stores to solely exist on the internet. Through channels such as e-bay, virtual stores can have an internet presence lowering all overhead present for real-life businesses. The businesses described above all share a similar way of displaying their products to their customers. Most of them provide online shoppers with a catalogue through which these customers browse to find what they seek. Online catalogues usually consist of products specifications along with few pictures and rarely videos. This emulation of the real-life shopping experience lacks many aspects which real-life customers heavily rely on before committing to purchase. The experience lacking is a subset of the social factor: shoppers usually shop in groups, exchange opinions and ask for experts judgments when they need it. The lack of all these pre-purchase facets might ultimately be reducing a larger potential of sales. We proposed the idea of Collaborative Virtual Environments (CVE) in a web-oriented system [1]. The creation of virtual shopping malls can enhance the social factor problem and increase interactions between users. The research we present in this paper allows customers to interact in realtime, with three-dimensional (3D) models of items of interests in the virtual shop. We perceive this technology as a complementary tool to already existing e-commerce enabled websites such as FutureShop and Canadian Tire. While such systems have many design aspects, there are two major concerns in their design and implementation: accessibility and scalability. A websites accessibility can be perceived as the level to which it can be accessed by a maximum number of users without having to download plug-ins and external software. The Shockwave technology, originating from Macromedia and recently adopted by Adobe, provides a freely downloadable player that is currently available on 50% of internet-enabled PCs [2]. Other CVE-based e-commerce systems require VRML or Java 3D plug-ins [1]. Scalability on the other hand, is a property reflecting a systems capability to handle growing workload in a graceful manner [3]. One criticism of current e-commerce systems is their undermining of the social experience leading to reduction in sales. Therefore, the addition of the CVE environment and

E-commerce; Peer-to-peer; Collaborative virtual environments

I. INTRODUCTION Nowadays, almost every major store has engaged in electronic selling of its products. E-commerce enabled websites try to display all products the store carries in real-life with the stock availability of each, creating inventory accessibility for the shoppers at the tip of their fingers. E-commerce has also been perceived as a cutting cost initiative by smaller businesses, which pushed them to adopt this concept for the

828 0840-7789/07/$25.00 2007 IEEE

the social experience it carries with it will likely increase the number of online shoppers, hence the importance of scalability. In our research, we propose a peer-to-peer architecture to support the increasing number of users in our system: all peers contribute by providing resources and the services for the system. To the best of our knowledge, no other work uses P2P technology as an infrastructure to collaborative group shopping from the perspective shown here. The rest of this paper is organized as follows: after discussing the previous work in section 2, we present our design in Section 3. Section 4 discusses our implementation and proof-of-concept. Finally, section 5 concludes the paper. II. PREVIOUS WORK

e-commerce systems. Other research has been conducted on enhancing e-commerce in collaborative e-communities through intelligent agents [13]. Although such research also aims at improving the social experience, it does not target the user interface directly and can be seen complementary to our efforts in this research. Contrary to the first topic (collaborative group shopping), peer-to-peer networked CVEs have received more attention form the research community, though mostly in the area of gaming. Several designs such as [5], [6], [7] and [8] have tackled the scalability problem, we find that our approach answers the problem at a completely different level since the requirements of online shopping and online games are not the same. Massively multiplayer online games (MMOG) have the characteristic of attracting multiple players on a single or multiple games. Designs often target the scalability problem on a single game with a large number of users. This however is not the case we face in a collaborative item browsing session in an e-commerce system where shoppers groups are usually much smaller than MMOG. In e-commerce systems, we are dealing with groups of a handful of people shopping together. In other words, in such environments we have many groups of people, but each group consists of very few people, say less than a dozen discussing and shopping together for the same item. This is in contrast to the MMOG scenario, and hence requires its own P2P protocol and design. To accommodate this, we construct peer-to-peer networks between peers. Even though e-commerce systems open bounds for more friends to shop together, its hard to conceive that more than a dozen people will be in the same group at a given time. III. A PEER-TO-PEER FRAMEWORK FOR CVE This section gives an overview of the user interaction and the P2P protocol within the CVE prototype. We discuss the system design and then we describe the construction and maintenance of the application-layer multicasting (ALM) tree for the P2P overlay upon the joining and leaving of peers participating in the collaboration session. A. Overview The shopping process in our system is explained below: while browsing the virtual shop catalogue on a simple HTMLbased webpage, the online shopper has the choice of going into the 3D first-person perspective, i.e., enable the collaboration mode. This choice is offered next to each item in the catalogue. By choosing to enter the 3D first-person perspective, the user sees a new window pop up on his screen. In this new window, the Shockwave player loads the 3D representation and collaboration system. Once this is loaded, the user is asked to login to the Multi User Server (MUS) using his username and password. If the login succeeds, the user is then taken to the main scene where he can interact with the 3D model of the item he selected. The model should automatically be retrieved from the database of the MUS. This file has to be in a specific Shockwave format (.w3d). Many 3D graphic applications such as 3ds MAX have features to export files to Shockwave-friendly formats such as .w3d. Third party converters are also available.

One approach to introduce group shopping to e-commerce systems is by utilizing techniques used in existing groupware. An example would be the usage of Collaborative Virtual Environments, where users can navigate in a computer generated 3D world, see and talk with each other, and interact with objects and one another in real time. Cultivating 3D technology would lead to a richer experience than using 2D technology, such as shared whiteboards [4], since 3D representation more closely emulates many shopping items such as furniture, equipment, consumer electronics, shoes, cars, etc., much better than 2D representation. The coupling of CVE with e-commerce is not a common practice yet, although the research for it has begun a while ago. The vCOM system [1] was the first of very few systems to introduce the concept of ecommerce in a collaborative virtual world. However, the industry has acknowledged this concept, and is now seriously looking at collaborative e-commerce. For example, WebSphere Commerce Business Edition from IBM provides features of real-time collaboration among a group of buyers or sellers such that they could share documents, discuss a contract and negotiate terms in a private electronic workspace. Although an important step, this is still far from the real-world experience, due to the limitations of interacting in a 2D environment. With respect to our work, we are only interested in the userinterface design (including virtual reality) and the accessibility aspects of the system. The system in [1] emulates a virtual shopping mall, in which customers can navigate from one store to the other. The customers avatar moves in the virtual shop and the customer can look for virtual items before selecting them for viewing in the first-person perspective. The navigation process preceding the item viewing can be cumbersome and inefficient as the time used while traveling from one web shop to the other is not really necessary and cannot be considered as efficient use of shopping time. vCOM is presented on the user interface through plug-ins that are not widely used: both VRML and Java3D plug-ins are rarely found on regular internet users PCs. In addition, both VRML plugins and Java3D consume significant computing resources for graphics rendering causing performance problems for the browsers. We find that our approach, by using a widespread player such as Adobe Shockwave spares online shoppers the burden of downloading specific software solely dedicated to running one application on their computer. In addition to that, the system presented in [1] does not address the issue of scalability, which happens to be a major component in todays

829

The 3D first-person perspective (also referred to as the collaboration mode) can be divided into three areas: On the left of the screen, the user can see a list of the friends/experts that the user has previously added to his account. More people can be added or deleted there. Underneath that list, the Online Clients list is only available for the initiator since he is the only one able to see online users through the connection upheld with the MUS. The initiator can select one online client at a time and invite him to the session by clicking on Invite on the bottom left. An invitation command, with an optional editable message (e.g. hey, look at these headphones that have just come out) is sent to the invitee(s). When an online client joins the collaboration session, his name is taken off the Online Clients list and added to the list of users in the collaboration session. Other clients in the collaboration session can see the addition of a new user to the session. On the right-hand side of the screen, we see the chatting window displaying all the messages that have been sent by the users with the username preceding the message. Under the messages list, we see the 3D model of the item the shoppers are browsing. There are two ways to manipulate the 3D object: With the mouse, the user is allowed to hold the left mouse button while moving the 3D model. Depending on the mouse variation, the object rotates. With the keyboard arrows, the user can manipulate the object with preset rotation values.

and Z; (2) he can invite online users that he can see online. Once the user invites other users, these users join the application-layer multicasting (ALM) tree to which the initiator is the root. In the next section, we will see how the invited user is added to the tree and how users join and leave the tree while maintaining the tree structure. Once the session has more than one user, anyone has the ability of broadcasting a message to all other peers. This is the implementation of the idea sharing while browsing a selected item. Although the peer that is sending the message might not be connected to all other peers, the message is relayed by other peers to ensure that all peers receive the message. Similarly to text messages, rotation actions on the item by the initiator of the session are also propagated along the ALM tree. For example, when the initiator rotates the item 10 degrees along the Z axis, the action is propagated so the item rotates by the same angle on the screen of all peers. When a new user joins the session, it requests the current status of the item model from its parent in the ALM tree. For example, Alice logs in and rotates the 3D item by 90 degrees along the X axis; then she decides to invite Bob to join her in the session. It is essential for Bob to receive current status of the 3D item (at the same 90 degree angle) to be able to continue the interaction session with Alice, otherwise every action from that point on will result in an inconsistency between the two environments, essentially a 90 degrees difference. To prevent chaos in the collaboration session between users, we add a semaphore to determine ownership of items. Initially, the session initiator has ownership of the item. When one of the peers wants to manipulate the item, he has to request ownership first. The ownership request is propagated along the ALM tree, but is of interest only to the item owner at that time. The owner has the choice to grant or decline the ownership request. The response is sent back to the requester. No special care is taken regarding the problem of starvation i.e. when an owner repeatedly rejects the ownership requests sent by a certain peer. For this, we assume that all peers connected are friends shopping together. C. ALM Tree Management As aforementioned, the initiator of the collaboration session shall be the root of the ALM tree. This initiator, by definition, is the first user to initiate the collaboration session by inviting online friends. Upon acceptance of the invitation, this friend will break the connection with the MUS to establish a peer-topeer connection with the initiator. The initiator however stays connected to the MUS, which means that the initiator is the only user able to invite other clients to join the session. As is common in the context of ALM trees, we will be referring to a user as a node. An assumption is made that in most cases, when the initiator invites a client, its more likely that this client will accept this invitation. This assumption led us to implement our design so that once the initiator invites a friend to join the group (or the ALM tree), the information about this client is propagated through the tree. Each node at the first two levels, (each level accounts for a depth of one branch) in the ALM tree sends a hello message to the joining node. In our

Both manipulations above will move the 3D object along two axes (X and Z). Rotation along the Y axis is not integrated since it will only complicate the user interface experience. Finally, at the bottom of the screen, a text input field is displayed where the user can type messages that will be broadcasted to all users after he clicks the Send button. Audio conferencing can also be done although it hasnt been implemented yet and is in the works. B. Design The standard MUS server offers the possibility of having up to 50 simultaneous client connections. By tweaking the configuration file, the number of simultaneous connections can be increased to as many as 2000. This limit can be increased by having server farms of MUS which goes beyond the scope of our research. What we intend to achieve is optimal scalability within one MUS. MUS supports multiple Shockwave files and databases in its backbone. Users profiles (username and password) are currently saved at the MUS separately from the virtual shop. In other words, there isnt database coordination yet between the server of the e-commerce system and the MUS, which requires users to register for both services separately as it can be seen in figure 4. This can be a burden for users but can be beneficiary in allowing decoupling between the e-commerce application server and the Shockwave MUS. An integration system can later be added to couple the databases of the two subsystems, if needed. After a successful login, the Shockwave player loads the file from the MUS. The user is subject to a set of commands allowed: (1) he can rotate the 3D model along the two axes X

830

implementation, we require a handshaking protocol before creating a peer-to-peer connection. For this, the joining node sends a ConnectToMe (CTM) message to all nodes that initially sent the hello message. The receiving nodes reply with an ackknowledge message. The joining node then measures the node-to-node (NTN) delay with each node by calculating the difference between the receipt time of the acknowledge message and the time the CTM message was sent. After this calculation, the joining node sends a GoAhead (GA) message to the node with the least NTN time. The total cost C for the joining of one node can be calculated: C = 3n + 1 ~ O (n) (1) where n is equal to the number of nodes at the first two levels of the ALM tree. Earlier in this section, we said that only the nodes at the two first levels of the ALM tree can connect to a joining node. This is done to ensure that, when another peer requests ownership of the 3D object, the longest path to cover the entire tree is no more than 4 levels (i.e. 3 messages to be sent maximum). The reason for the maximum path of 4 levels is to ensure that NTN delay values are within the required 200 msec [8] for real-time collaboration. This constraint has been set by different studies regarding the networking constraints of a CVE over the internet. They constraints are set due to the real-time and multi-user interaction nature of CVEs. Research in [9] and [10] suggest that 200 msec end-to-end delay is an acceptable delay in such environments. Subsequent work in [8] shows that in a typical ALM scenario, this 200 msec delay translates roughly into a tree with a depth of no more than 3 levels. This can only be achieved by redrawing the ALM tree. For example, if the requesting root is on the third level (i.e. not directly connected to the root), a connection with the root is established. IV. IMPLEMENTATION Shockwave doesnt provide a wide range of development environments to use. We implemented our design in Macromedia Director MX 2004, version 10.1. The programming language used is one specific to Director and is called Lingo. Lingo is a high-level programming language that was initially created to allow non-experts in programming to use the functionality of Director from a high level and without the need of being hardcode programmers. However, this comes at the expense of not allowing the programmer to deal with the low-level details of graphics or networking. Lingo supports Object-Oriented Programming. On the server side, we use the MUS by Macromedia. The capabilities of MUS were found to be adequate for our system. One of the limitations set by Director is the number of peer-topeer connections allowed by each peer: Director allows up to 16 peer-to-peer connections per peer [11]. V. CONCLUSION AND FUTURE WORK We proposed a novel framework supporting accessibility and scalability for the purpose of collaborative shopping over the internet. Our scheme takes advantage of the Shockwave

technology to implement a CVE, and uses a peer-to-peer infrastructure to interconnect the peers in the shopping group. Our design ensures that the group is always connected to the MUS central server through the initiator of the collaboration session; this allows the addition of other online users to the group. Our future work will improve the ALM tree management. In that context, nodes leaving the system are a process to look at. When a certain node leaves the system, a deterministic algorithm needs to be present so children of the leaving node do not loose the connection with the collaboration session. Leaving can be divided into (1) graceful leave and (2) nongraceful leave. This component is not yet implemented in our prototype. At the moment, our CVE simply consists of a 3D world. This means that it touches into vision, one of the five common human senses. We will consider extending our infrastructure to cover the sense of hearing through audio support. With the introduction of haptics into the world of e-commerce [12] and the various haptic compression techniques available allowing the transmission of haptic data over the internet, other senses such as touch, smell and thermoception can also be covered. REFERENCES
[1] Shen, Radakrishnan, Georganas, vCOM: Electronic commerce in a collaborative virtual world, Electronic Commerce Research and Applications 1 (2002), ELSEVIER, 2002, pp. 281-300 [2] Adobe: http://www.adobe.com/products/player_census/shockwaveplayer [3] Bondi, Characteristics of scalability and their impact on performance, Proceedings of the 2nd international workshop on Software and performance, Ottawa, Ontario, Canada, 2000, pp. 195 - 203 [4] Shirmohammadi, de Oliveira, Georganas, Applet-Based Multimedia Telecollaboration: A Network-Centric Approach, IEEE Multimedia Magazine, 1998, 5(2):64-73 [5] Knutsson, Lu, Xu, Hopkins, Peer-to-Peer Support for Massively Multiplayer Games, INFOCOMM04, ACM, 2004, pp. 96-107 [6] Yu, Vuong, MOPAR: A Mobile Peer-to-Peer Overlay Architecture for Interest Management of Massively Multiplayer Online Games, NOSSDAV05, ACM, 2005, pp. 99-104 [7] Hu, Liao, Scalable Peer-to-Peer Networked Virtual Environment, SIGCOMM04 Workshops, ACM, 2004, pp. 129-133 [8] Shirmohammadi, Diabi, Lacombe, "A Peer-to-Peer Communication Architecture for Networked Games", Proc. Future Play 2005, Michigan State U., USA, October 2005 [9] Park, Kenyon, "Effects of Network Characteristics on Human Performance in a Collaborative Virtual Environment", IEEE International Conference on Virtual Reality (VR'99), Houston, Texas, March 1999. [10] Mauve, Fischer, Widmer, "A generic proxy system for networked computer games", Netgames 2002, Braunschweig, Germany, 2002. [11] Director Documentation, Product Manual, Using Director: http://livedocs.macromedia.com/director/mx2004/release_update_en/wwhelp/ wwhimpl/js/html/wwhelp.htm?href=02_part_.htm [12] El-Far, Shen, Georganas, Applying Unison, a Generic Framework for Hapto-Visual Application Development, to an E-Commerce Application, Haptic Audio Visual Environments and their Applications, Ottawa, ON, Canada, October 2004, IEEE, 2004, pp. 93-98 [13] Shen, Shirmohammadi, Desmarais, Georganas, Kerr, "Enhancing eCommerce with Intelligent Agents in Collaborative e-Communities", Proc. IEEE Conference on Enterprise Computing, E-Commerce and EServices, San Francisco, CA, U.S.A, IEEE, June 2006

831

Potrebbero piacerti anche