• Aucun résultat trouvé

R elated W ork

2.2 Collaborative Virtual Environments

Over the past decades many CVE systems have been developed (Appendix B figure B.1) and found their origins in the military simulation [15][16], educational research and entertainment environment. Notably early CVEs are SIMNET[15], Rendezvous[17] and Habitat[18].

Habitat is a multi-participant online virtual environment, a cyberspace.

[19]

An extended list of CVE systems and certain extensions of the CVE systems is given in appendix B “Frameworks”. Note that the given list is far from complete as many additions have been made in neighbouring fields such as rendering, compression, telemedicine, human computer interaction, etc, all contributing to the CVE research area. This is because a CVE in itself is a support tool, providing the means to “work together”(figure 2.3) and therefore depends on all kinds of research areas.

The base components for a CVE were established quite early on and have stayed in essence the same over time. This is presented in figure 2.4 as separate “manager” modules. For each user/-client connection a session needs to be established and maintained, therefore a session manager is needed. The whole virtual environment can be seen as users accessing simultaneously a database and only take the information out of it which is of “interest” for them through a Data Manager and visualized to their local client device. TheInterest managerwhich incorporates strategies to

Shared space User 1

User 2 User ...

User n

Figure 2.3:Abstract view what a CVE offers.

filter, aggregate and optimize the data generally determines which data is important for the user to have. Since we’re dealing with multiple possible interactions and mutations to the data, which is shared among the clients, a Concurrency Manager is needed. At a lower level, events routed between the sender and recipients need to be handled, therefore an Event Manager is needed and at the lowest level there is the Communication Manager for handling all incoming and outgoing traffic (handling different types of events with certain requirements E.g. Transmission Control Protocol (TCP)/User Datagram Protocol (UDP) streams, buffering, packet control etc.).

Communication

Figure 2.4:Common CVE Management modules

Where the first CVE used broadcasting but was abandoned fairly quickly due to congestion and later approaches switched to utilize the Multicast principle [20]–[24], which is fine for univer-sity and basically any LAN environment, however for normal consumers who are connected to the Internet,Multicastis not being routed by most of their Internet Service Providers (ISPs)[25].

Techniques to circumvent this are the use of Multicast protocols, for example Distance Vec-tor Multicast Routing Protocol (DVMRP), Multicast Extensions to OSPF (Open Shortest Path First) (MOSPF), Protocol Independent Multicast - Dense Mode (PIM-DM) and Protocol Indepen-dent Multicast - Sparse Mode (PIM-SM). However for these to work the routers between the server and clients still need to be configured to support the protocols or tunnelling. There are also the backbones Abilene, MBone (albeit both are retired)and the current Internet2 Network backbone (United States only), however these are also primarily targeted at universities and are less relevant to heterogeneous environments and consumer connected devices. The way an CVE operates depends heavily on the type of network, as where our focus is the consumer connec-tion over Internet and therefore Multicast becomes more difficult to apply, but not impossible as commercial applications such as “Onlive”1and “Gaikai”2have proven. However even with the launch of Internet protocol version 6 (IPv6) in 2011 and 2012, 3 (major websites and providers switch permanently to IPv6, while still being backwards compatible with Internet protocol

ver-1Onlive web-linkhttp://www.onlive.com/

2Gaikai web-linkhttp://www.gaikai.com/

3IPv6 web-linkhttp://www.worldipv6day.org/andhttp://ipv6.com/

sion 4 (IPv4), but newer websites may only be available by IPv6), which has Multicast embedded as a standard, the chances are slim that a proper Multicast scheme can be used without striking major deals with ISPs [26] and still have to fall back on the use of tunnels[27]. In figure 2.5 three basic types of routing schemes are given, which have been used by most CVEs. Broadcasting, one to all, is still used for internal LAN environments and mostly for service discovery/an-nouncements, Multicast, one to many, uses the UDP and is favoured for use on video and audio streaming and the last one Unicast, one to one, is the most prominent used method for exchange of data currently on the global Internet infrastructure.

Server

Client

Broadcast Multicast Unicast

Server-network

Figure 2.5:Basic communication types, Broadcast[28], Multicast[29] and Unicast[30].

Starting from 1997 newly developed CVE systems started to provide multiple combinations com-munication architectures to overcome the limitation of Multicast on Internet. Mainly by using Peer to Peer approaches[31]–[35], which are solely Unicast connection between the clients and several strategies have been researched in creating hybrid systems[36]. Figure 2.6 shows com-mon examples of some basic communication architectures. The server-network construction if often used in combination with multicasting. Clients connected to a server may either reside within a LAN or a Virtual Private Network (VPN), where the connection between the servers provides connection to other grouped clients. The database between the server is fully repli-cated, as this provides the fastest interaction response for the clients within one group. This reduces the amount of data being send over the network and provides less delay for clients, since they are connected to a nearby server. The client-server set-up is possibly the most basic set-up, but is still one of the most used set-ups for Massive Multi-player Games as it provides full control over the data. Whereas Peer-to-peer utilized a shared distributed database among its peers, which provides updates to only those users who might need it and is often used with an Application Layer Multicast Protocol on top[25], [37]. Note that the deployment of these basic communication architectures also depend on the scale, the infrastructure and type of CVE.

Server

Client

Broadcast Multicast Unicast

Server-network Client - Server Peer to Peer

Figure 2.6:Basic network communication architectures.

The main reasons why we are concerned with communication types and architectures are the limitations of network infrastructures and end devices [38]. The Communication Manager can

be seen as the titan Atlas holding up the “virtual” world. Every packet send over the network takes its time to be “put” on the network, to be received by its recipient and processed again. On a single device with a single user everything can be handled easily sequential. Having two users on one device (with each their own input devices) already increases the complexity and the need for managing the input, however on one device the input received would still be instantaneously and can be seen as sequentially. Put a network between the input devices lag and jitter are introduced. Lag is the time it takes for a packet to arrive, often measured by the Round Trip Time (RTT). Whereas jitter is the variation in transmission time due to different routing across the network, packet corruption/loss and resend or network congestion. Network congestion occurs when the network cannot handle the amount of data being send, data would be lost and might need to be resend (e.g. TCP congestion control).