3. LA PANDILLA COMO CONSTRUCCIÓN SOCIAL
3.4. CONFORMACIÓN DE TERRITORIOS
This section will summarise the work. Firstly by looking at the goals of this work. Then by giving a summary of the contents and achievements of the chapters. Finally, summarise the achievement of the goals.
9.2.1
Goals
The goals are as stated in the introductory chapter. The first stage of this work was to develop an understanding of MUVE traffic. This understanding was then used to design a traffic management system that is able to make use of network resources to meet user needs and adapt to network conditions. The following goals were identified and met:
1. Through analysis of related work to contribute to the understanding of Multi User Virtual Environment’s traffic, placing MUVEs into context.
2. Measurement and experimentation to contribute to the understanding of Multi User Virtual Environment’s traffic.
3. To design adaptive congestion control for MUVE which:
(a) Adapts to changes in network conditions at time-scales appropriate for application utility and network stability.
(b) Competes fairly with TCP and other Internet traffic and is therefor able to receive an appropriate share of network resources.
4. To implement adaptive congestion control system in a modified Second Life client, allowing it to be used with OpenSim and Second Life servers.
5. To evaluate the implementation and the design, by comparing with standard SL behaviour and standard TCP fair behaviour.
9.2.2
Summary of Chapters
The topic of this dissertation is the traffic of Multi User Virtual Environments (MUVEs) and MUVEs are systems which simulate environments that are similar to the real world, which the user interacts with through an avatar. The goal of creating an adaptive traffic management system that meets the need of MUVEs has been described. There are differences between MUVE traffic and other network traffic that require them to have their own traffic management system and not to use the TCP one. This chapter lays out the rest of the document.
Chapter 2 describes the Internet. The design of the Internet as a packet switched network using a layered system where each layer use the services provided by the layer below and provides services to the layer above. The function of routers is to forward packets to their destination and the problem of congestion where packets are lost when too many are sent onto the network was described. The IP protocol is used to transport the packets on the Internet using a number of different lower layer protocols. The majority of the packets on the Internet use TCP as their transport layer protocol. TCP provides a reliable, in order, byte stream abstraction. Reliable protocols can cause congestion collapse where packets are lost and then re-sent causing more congestion, to the point where all of the packets are resends. TCP is congestion controlled which prevents the congestion collapse of the Internet and allows different connections to fairly share the available bandwidth.
The mechanism of congestion control is described where congestion is detected and the congestion control system adjusts in response. TCP uses a window to control the number of packets that are outstanding on the network, where packet loss is used as an indication of congestion. The window is increased additively in the absence of congestion reduced by half in the presence of congestion. The reliable nature of TCP means that when packets are lost they must be re-sent before the application can get access to the data after the lost part. This makes TCP not appropriate for MUVEs as they require to get information about avatar movement promptly.
The key points of this chapter are the understanding of the Internet, TCP and congestion control. This contributes to goals 3a and 3b of designing the traffic management system that is able to coexist with other Internet traffic.
Chapter 3 describes the methodology used for undertaking this work and the tools used. The process used when undertaking the work is described. TCP and its congestion control was investigated followed by DCCP and then MUVEs generally were investigated and Second Life in particular and then an adaptive traffic management system was design, implemented and tested.
The methods of packet capture that were used are described. A user space implementation of DCCP that was created is described. DCCP is a transport level protocol that provides congestion control, without reliability and does not require in order delivery of data to user space. An analysis program that was created to analyse DCCP and Second Life packets, is described, this program can generate statistics from the traces. The netem queue discipline that was used to change network conditions on the test network was described.
Chapter 4 describes MUVEs. MUVEs simulate an environment that is similar to the real world, that users can become immersed in. The simulated environment is similar to the real world in that the physics simulated is consistent with the real world. In this document MUVE does not refer to games. The history of MUVEs is described and MUVEs are compared to multi player games.
The MUVE Second Life, which this document focuses on, is described in detail. The user controls the avatar which is simulated by the server for the island the avatar is on. Second Life uses an application level protocol transported using the UDP transport level protocol. The packets between machines are arranged into connection like constructs called circuits, where the packets have sequence numbers that are used to detect loss. There are a number of different types of packets that are used for different purposes. Second Life has a system to control the rate that packets are sent to the client from the server. The rate value is calculated at the client and sent to the server, this rate calculation system is not TCP fair. It has an additive increase and the additive decrease adaptation mechanism, this means that it won’t compete fairly with TCP or be able to converge with other implementations of its self.
The requirements that Second Life would have on a traffic management system are, that it must allow the timely delivery of packets, adapt to network conditions and allow the system to allocate sufficient bandwidth to different channels. The adaptation system must use congestion control that is TCP fair.
Key points of this chapter are a review of the literature regarding MUVEs and Second Life. This contributes to goal 1, of understanding MUVE traffic from the literature. This chapter describes MUVEs as have the five properties of: Realistic, Persistence, Mutability of environment, User control over objectives, 3D, Avatar and Distributed. The user control of objectives differentiate games from MUVEs. The environment of MUVEs is not predefined which is also different from games.
Chapter 5 describes the investigation of traffic of Second Life. The areas investigated were the relationship between the avatars actions and the traffic, the organization of the packets into circuits and channels in those circuits and the global levels of traffic. The traffic of a group of thirty users in a lab using Second Life was captured and analysed. From this it was determined that it was possible to have a lab of users using Second Life simultaneously and that it was possible for this situation to no use more bandwidth than its fair share. There is a relationship between the
activity undertaken and the environment it is undertaken in and the traffic generated by Second Life. The Second Life throttles control the amount of bandwidth used by Second Life. The majority of the packets are not full segments. This leads to the conclusion that a system which produces a rate which is TCP fair could be integrated into the Second Life client to make its traffic TCP fair.
Second Life traffic can be decomposed into channels which contain packets with different functions and require different amounts of bandwidth and have different packet size distributions. Avatar control packets are a small proportion of the total traffic (less than 10 Kbps) but have a disproportionate effect on system usability. This part of the chapter achieves goal 2 of learning about Second Life traffic from measurement.
To further investigate Second Life’s traffic a series of controlled experiments were performed where a single user performed a set action for ten minutes on two different islands in Second Life with different throttle settings and net- work conditions. The client was modified to allow the difference between the client’s estimate of the avatars position and the positions it receives from the server. The results of this work were consistent with previous studies. This is discussed in section 5.3.2. The throttle and state of the cache have an effect on the traffic and accuracy of the avatar’s position. This part of the chapter achieves goal 2, of learning about Second Life traffic from experimentation. This chapter further contributes to goal 1.
Chapter 6 describes the design of an adaptive traffic management system for Second Life, based on a modified client connecting to the existing Second Life servers. The name of this modified client is Mongoose. The different types of network or network conditions that a user might experience where it would be necessary for Second Life to use less traffic are described and that using more bandwidth would allow for a better user experience where network conditions allow.
The Second Life throttle adaptation system was compared to TCP’s congestion control system. TCP congestion control was described and TCP fair behaviour defined. The formula that gives long term bandwidth utilization of a network limited TCP connection is given. The operation of Second Life’s throttle adaptation system was described and the region where Second Life is TCP fair presented.
The different types of congestion control that could be used were discussed. There are window based and rate based congestion control systems, window based system control the number of packets, or bytes, from a connection on the network and rate based system control the rate at which packets, or bytes, are sent out on to the network. The design of only modifying only the client limited Mongoose to using a rate based system. The value used by the congestion control system can be calculated using two methods, a window tracking system where a window is maintained and its value changed in reaction to congestion and non congestion, and equation based where a value is calculated based on statistics for the recent history of the connection. Window tracking systems adapt to changes in the network conditions more quickly than equation based systems.
The structure of the Second Life client is described as well as the process of its operation. The modifications that were performed in the creation of the Mongoose client are described. Mongoose uses the same RTT calculation as the Second Life client. The parts that process the sequence numbers of incoming packets and the part that performs the update to the throttle value were modified. The key point of this chapter is a design of an adaptive congestion control system for MUVEs achieving goals 3a and 3b of adapting to network conditions and competing fairly with TCP. This chapter also describes the implementation of this system achieving goal 4.
Chapter 7 presents an evaluation of the mongoose client. The throttle values calculated by the client were com- pared to the TCP fair values and the Second Life client’s throttle values. This showed that window tracking system implemented in Second Life was able to produce a TCP fair rate. TFRC values were calculated from loss values extracted from the traces and these were compared to the TCP fair rate and Mongoose throttle values. Simulations of window tracking and equation based systems were performed that showed the equation based systems adapt more slowly to changes in network conditions than window tracking systems. Experiments where the loss rate was changed during a session were performed with the Mongoose client: these were consistent with the simulations. The affect of the throttle value on bandwidth utilization was evaluated and found to be working as well as the Second Life client. The bandwidth utilization was compared with TCP fair and found to be TCP fair. This chapter describes the evaluation of the designed system achieving goal 5.
Chapter 8 presents an evaluation of the traffic of the OpenSim server. The types and sizes of packets were investigated as well as the amount of TCP and UDP packets and bytes. The activities of Standing, Walking, Flying and Teleporting were investigated. The traffic produced by the OpenSim server was compared to that of the Second
Life server. The behaviour of the Second Life client with the OpenSim server under different network conditions was investigated. The throttle value calculated by the standard Second Life client is, like the Second Life server, not TCP fair. The Mongoose client was evaluated with the OpenSim server: it was found that it calculated a TCP fair rate.
The bandwidth used by the server per user and per channel was investigated. In addition the source of the throttle system was investigated. This investigation lead to the conclusion that its throttle system throttles each channel to the amount of bandwidth it is asked to by the client, which results in the total bandwidth used being less than the total throttle value. A modified version of the OpenSim server was created which allowed channels to use the bandwidth not used by other channels. The Mongoose client was evaluated with the modified OpenSim server. The throttle value sent from the client and the bandwidth usage by the server are TCP fair.
9.2.3
Summary
The goal of understanding MUVE traffic by analysing the literature has been accomplished. The literature is described in chapters 4 and 5. The context into which the MUVE traffic fits is described in chapter 2. The properties of the Internet have been described giving context for the properties of MUVE traffic. The properties of MUVE traffic have been described including their design and communication structure. This gives an understanding of the traffic of MUVEs and their control systems.
Measurement has been used to aid in the understanding of Second Life and OpenSim traffic. The measurement of Second Life is described in chapter 5. A live session of Second Life traffic was captured. This observation gave information about the nature of Second Life traffic, informing the experimental investigation. Experimentation has been used to further our understanding of Second Life traffic. This experimentation is described in chapter 5. The number of islands used in this experimentation was two. Each island is different so a larger number of islands would have given more information. OpenSim is also a MUVE, its traffic is similar to but different from that of Second Life. The measurement of OpenSim is described in chapter 8.
The goal of designing an adaptive congestion control system that competes fairly with TCP has been completed in that it reacts to network conditions in the same way as TCP. This system has been implemented and evaluated. The system could be further tested with a larger number of network conditions. The design of the window tracking system is based on the system used by TCP.
The goal of designing an adaptive congestion control system that adapts at the appropriate time scale has been accomplished. A modified client with the existing server limited the frequency with which the rate could be changed makes the system change its rate less often than it would otherwise need to.
The goal of implementing the designed adaptive traffic management system has been completed. This is described in chapter 6. This design has been implemented and evaluated achieving the goal of evaluating the implemented traffic management system, this is described in chapter 7. The Mongoose client has also been evaluated with the OpenSim server. The problem of the OpenSim server limiting the traffic more than the throttle value sent from the client has been fixed.
The properties of MUVEs have been investigated and the network requirements discovered. A traffic management system for Second Life and OpenSim has been designed, implemented and evaluated. The goals of this work have been achieved.