Adobe Shockwave spares online shoppers the burden of downloading specific software solely dedicated to running one application on their computer. In.
Accessibility and Scalability in Collaborative eCommerce Environments Michel Khoury, Shervin Shirmohammadi Distributed Collaborative Virtual Environment Research Laboratory (DISCOVER) School of Information Technology and Engineering (SITE), University of Ottawa, Canada {mkhoury | shervin } @discover.uottawa.ca
Abstract The Much advancement has lately occurred in eCommerce systems’ interfaces. Product specifications listings combined with pictures is no longer considered the benchmark for eCommerce interfaces. Albeit commercial websites haven’t ventured in these developments, academic research has tried, through this progression, to mimic the real-life shopping experience. Shopping in real-life is a social experience with other components attached to it: customers consult with experts and shop in groups benefiting from others’ opinions. These aspects, when lacking, can lead to reduction in sales. In this paper, we build on a collaborative eCommerce system. The system adopts concepts from virtual environments, allowing customers to interact with three-dimensional models of the items of interests in the virtual shop, as well as share those items with other customers or ask for expert opinions, in real-time. Our system addresses accessibility, by using Macromedia Shockwave, a widely deployed player, and therefore avoids the need of unusual plug-ins, such as VRML viewers. The system also addresses scalability, by using a peer-to-peer communications architecture to support a number of geographically dispersed users on the Internet simultaneously.
1. Introduction Lately, eCommerce applications have increased at a large rate. Almost every major shop (e.g. Best Buy, IKEA, etc.) now has an eCommerce-enabled website displaying the products it sells in real-life. Most of the present commercial eCommerce systems resemble catalogues through which customers browse, trying to emulate real-life shopping experience. These schemes often consist of product specifications and few pictures, reducing the quality of customers’ experience. Shopping in real-life has other components attached to it: Customers consult with each other and with experts about products and usually shop in groups benefiting from each others’
experiences and opinions. These aspects, when lacking, can lead to reduction in sales. We therefore argue to combine the virtual market with a social place, where the customers participate in should change their role: from consumers to people, who want to satisfy their wide range of needs through shopping. The purchase of goods is only one of them; social interaction, learning, or excitements are others. To mitigate this problem, we proposed the idea of Collaborative Virtual Environments (CVE) in a weboriented system [1]. With the creation of a virtual shopping mall, simulations of the actual shopping environments and user interactions can be achieved to a great extent. The presented research in the paper allows customers to interact with three-dimensional (3D) models of the items of interests in the virtual shop, in real-time. It should be mentioned that this type of technology is intended to be a complementary tool to the already existing virtual, and is not meant to replace those systems. While such systems have many design aspects, there are two major concerns in their design and implementation: accessibility and scalability. Accessibility, according to the World Wide Web Consortium [2], is mostly targeted towards allowing people with disabilities to browse the internet easily, accessibility usually refers to the extent a web page can be viewed by the maximum number of people without enduring some modification, generally in terms of downloadable plug-ins or, less frequently, assistive devices. By using Adobe Shockwave, a largely accessible player which is already deployed on 50% of internet-enabled PCs [3], we avoid the need of non-standard plug-ins or software at the client side: Other similar VR-based eCommerce systems require VRML or Java 3D plug-ins [1]. In parallel to the Shockwave implementation, our system is implemented in .NET v3.0. The major benefit provided by this new framework is its compatibility with 3D graphics, a feature that was not available in older versions. Another characteristic of the proposed system is its unique approach to supporting scalability. Scalability is a property of a system’s possesses, which indicates its ability to either handle growing
amounts of workload in a graceful manner, or to be readily enlarged [4]. Understanding that collaborative shopping might lead to an increase in the number of customers shopping simultaneously, scalability is an inevitable issue to tackle. Contrary to the conventional client-server paradigm in the current schemes, a peer-to-peer architecture is proposed in this research, where all peers jointly provide resources and services and contribute in solving this problem. To the best of our knowledge, no other work considers group shopping from the perspective that is shown here, nor does it use P2P technology for its enabling infrastructure. 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, while section 5 briefly presents the performance results. Finally, section 6 concludes the paper.
2. Previous Work Cultivating 3D technology would lead to a richer experience than using 2D technology, such as shared whiteboards [5], since 3D representation more closely emulates many shopping items such as furniture and consumer electronics much better than 2D representation. The coupling of CVE with eCommerce 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 eCommerce. 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 user-interface 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 customer’s avatar moves in the virtual shop and the customer looks for virtual items before selecting them for viewing in 3D. The navigation process preceding the item viewing can be cumbersome and inefficient as the time used while traveling between shops cannot be considered as effective 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 plug-ins 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 today’s eCommerce systems. Other research has been conducted on enhancing eCommerce in collaborative eCommunities 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. Another topic of interest in our research is the optimal selection of peers in a P2P network. Different results provided by different researches, mainly [9] and [12] determine the node-to-node delay’s importance in a peer-to-peer network. Section 3.3 in this paper discusses this problem thoroughly. 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. Knutson et al. propose an approach based on area of interest management to support massively multiplayer online games on peer-to-peer overlays [6]. Similarly, MOPAR [7] proposes a hybrid peerto-peer architecture that benefits from distributed hash tables to create a hierarchy of the connected peers, while using unstructured peer-to-peer for message exchange. Hu and Liao propose a mathematical approach to solve the scalability problem [8]. Their method uses the locality of user interest and is based on the mathematical construct of Voronoi diagram. Another peer-to-peer architecture for networked games is presented in [9]. Authors use proxies and end-systems to provide different communication services based on locality and quality of connection. Although the designs presented in the above work answer the scalability problem in different ways, 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. In massively multiplayer online games (MMOG), 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 eCommerce system where shoppers’ groups are usually much smaller than MMOG. In eCommerce 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. To
accommodate this, we construct peer-to-peer networks between a group of peers. Even though eCommerce systems open bounds for more friends to shop together, it’s hard to conceive that more than a dozen people will be in the same group at a given time.
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 hasn’t been implemented yet.
3.2 Design
3. 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.
3.1. Overview While browsing the virtual shop catalogue on a simple HTML-based webpage, the online shopper has the choice of enabling the 3D collaboration mode. Figure 1 on the next page shows a screen shot of the designed prototype (in Shockwave) with the options available for the shopper. On the left of the screen, the user can see a list of the friends/experts that he 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 Multi User Server. 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: (1) 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. (2) With the keyboard arrows, the user can manipulate the object with preset rotation values. 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
The standard Multi User Server 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 Multi User Server which goes beyond the scope of our research. What we intend to achieve is optimal scalability within one Multi User Server. The Multi User Server supports multiple Shockwave files and databases in its backbone. Users’ profiles (username and password) are currently saved at the Multi User Server separately from the virtual shop. In other words, there isn’t database coordination yet between the server of the eCommerce system and the Multi User Server, which requires users to register for both services separately. This can be a burden for users but can be beneficiary in allowing decoupling between the eCommerce application server and the Shockwave Multi User Server. An integration system can later be added to couple the databases of the two subsystems, if needed. In the .NET implementation, the overhead implied by the Multi User Server can be overcome. The server needed can be as simple as the application requires without the extra features of the Multi User Server. The other benefit of the aforementioned technology is the ease of programming in a wellestablished programming language and environment. One of the downfalls of .NET however remains its lack of portability across platforms other than Windows; hence we opted for the decision to pursue an implementation in both technologies. After a successful login, the user is subject to a set of commands allowed: (1) he can rotate the 3D model along the two axes X and Z; (2) he can invite online users that he can see online. The rotation is limited to the X and Z axes for ease of manipulation. 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. 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.
Figure 1 – Screen shot of the initiator's client 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. To prevent chaos in the collaboration session, 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 request. No care is taken regarding the problem of starvation i.e. repeated rejects to pass ownership; we assume peers are friends shopping together.
3.3. ALM Tree Management 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 Multi User Server to establish a peer-to-peer connection with the initiator. The initiator however
stays connected to the Multi User Server, 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”. Once the initiator invites a friend to join the group, the information about this client is propagated through the tree. Assumption that invitation is almost always accepted. 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 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 (1) where n is equal to the number of nodes at the first two levels of the ALM tree. This is illustrated in figure 2, where user “u1” is the initiator and user “u4” is connecting to the session. “1” represents the “hello” message, while “2” and “3” are the CTM and GA respectively. “4” is the connecting message to the peer selected. We propose this method in contrast with an initiator-based method where each node in the upper two levels of the ALM tree sends a CTM message to the joining node. The joining node replies by an
acknowledgement to all. Then, each CTM-sending node calculates the NTN time it took the joining node to respond. After this calculation, a message with the different NTN times is sent to the initiator by each of the remaining nodes, which are all children or grandchildren of the initiator. The initiator compares the times and sends a message to the node with the smaller NTN period. This node then sends a “GoAhead” message to the joining peer. Figure 3 is an illustration of the second method.
MX 2004, version 10.1. The programming language used is one specific to Director and is called Lingo.
Figure 3 - Message exchange between nodes (2nd method)
Figure 2 - Message exchange between nodes (1st method) Here, user “u1” is also the initiator and user “u4” is joining the tree. The total cost, in the worst case scenario where the initiator is not the node with the least NTN time) of this method is: C = n + n + (n – 1) + 1 + 1 = 3n + 1 (2) 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 3 levels (i.e. 2 messages to be sent maximum). The reason for the maximum path of 3 levels is to ensure that NTN delay values are within the required 200 ms [9] for real-time collaboration. These constraints are set due to the real-time and multi-user interaction nature of CVEs. Research by Mauve et al. [10] suggests that 200 ms end-to-end delay is an acceptable delay in such environments. Subsequent work in [9] shows that in a typical ALM scenario, this 200 ms 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. In the next section, we will see the impact of the other Director’s (the Shockwave editor) constraint [11] on the scalability of our system.
4. Implementation We implemented our design in Macromedia Director
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 hardcore 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 ObjectOriented Programming, and both Director and Lingo communities recommend it as a programming paradigm for users. On the server side, we use the Multi User Server that is provided by Macromedia. The capabilities of Multi User Server were found to be adequate for our system. One of the limitations set by Director is the number of connections allowed by each peer, set to 16 [11]. Taking into consideration that we allow only the first two levels of the ALM tree to connect to joining nodes as discussed in the previous section to satisfy the network constraints, this brings the total number of possible nodes in our framework to: 1 (root) + 16 (1st level) x 15 (2nd level) = 241 nodes.
5. Performance Evaluation Performance evaluation is not completely pertinent for the workshop. However, we will go over a very basic sample that merely serves as a proof of concept. Our early tests concentrated on two aspects: (1) the networking aspects of the simulation and (2) a comparison between the graphical rendering of Shockwave and WPF. The latter aspect is completely ignored in this paper. For message delay evaluation, we performed tests between home Internet users on three different networks in the Ottawa-Gatineau area in Canada. The
testing scenario is as follows: the initiator (N1) is connected to the second node (N2), which in turn is connected to the third node (N3); the initiator starts a timer then sends 150 messages to the ALM-tree. Each node will forward the message to its children and send an acknowledgement of receipt for the parent. The parent will also forward this acknowledgement to its parent until reaching the initiator node. Once all acknowledgement messages reach the initiator, the timer is stopped and the NTN delay is equivalent to half the time at the timer. The average delays for a message to reach level 1 and level 2 were 78.77 and 158.11 ms respectively, to give an average of 118.44 ms. These results satisfy the constraint of 200ms delay, and a third level is probably possible as suggested by [9]. At level 1, the results show that even the conservative constraint of 100ms delay is satisfied. Moreover, the results obtained when we ran the same tests on the a single network, were significantly better than the ones on different ones which leads us to believe that 3-level trees can easily be supported if nodes are running on the same network.
6. Conclusion 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 and .NET technologies to implement a CVE, and uses a peerto-peer infrastructure to interconnect the peers in the shopping group. Our design ensures that the group is always connected to the central server through the initiator of the collaboration session; this allows the addition of other online users to the group. Our performance evaluation results showed that our system architecture supports up to 241 nodes while supporting a 3-level ALM tree while respecting the 200ms-delay constraint for networked CVEs. 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. 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 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.
7. 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] Caldwell, Chisholm, Slatin, Vanderheiden, Web Content Accessibility Guidelines 2.0; W3C Working Draft 27 April 2006 http://www.w3.org/TR/2006/WDWCAG20-20060427/ [3] Adobe Systems: http://www.adobe.com/products/ player_census/shockwaveplayer/ [4] Bondi, “Characteristics of scalability and their impact on performance”, 2nd International Workshop on Software and performance, Ont., Canada, 2000, pp. 195 - 203 [5] Shirmohammadi, de Oliveira, Georganas, “AppletBased Multimedia Telecollaboration: A Network-Centric Approach”, IEEE Multimedia Magazine, 1998, 5(2):64-73 [6] Knutsson, Lu, Xu, Hopkins, “Peer-to-Peer Support for Massively Multiplayer Games”, INFOCOMM’04, ACM, 2004, pp. 96-107 [7] Yu, Vuong, “MOPAR: A Mobile Peer-to-Peer Overlay Architecture for Interest Management of Massively Multiplayer Online Games”, NOSSDAV’05, ACM, 2005, pp. 99-104 [8] Hu, Liao, “Scalable Peer-to-Peer Networked Virtual Environment”, SIGCOMM’04 Workshops, ACM, 2004, pp. 129-133 [9] Shirmohammadi, Diabi, Lacombe, "A Peer-to-Peer Communication Architecture for Networked Games", Future Play 2005, Michigan State U., USA, October 2005 [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. 9398 [13] Shen, Shirmohammadi, Desmarais, Georganas, Kerr, "Enhancing e-Commerce with Intelligent Agents in Collaborative e-Communities", IEEE Conference on Enterprise Computing, E-Commerce and E-Services, San Francisco, CA, U.S.A, IEEE, June 2006