A User-Controlled Priority Selection Strategy for ... - CiteSeerX

0 downloads 0 Views 187KB Size Report
Email: j.murphy@ucd.ie ... that the user will be allowed some degree of control regarding ... Halflife engine, has over 19.5 million legal owners with an average of ...
A User-Controlled Priority Selection Strategy for Multiplayer Games Brian Carrig

David Denieffe

John Murphy

School of Engineering Institute of Technology, Carlow Kilkenny Road, Carlow, Ireland Email: [email protected]

School of Engineering Institute of Technology, Carlow Kilkenny Road, Carlow, Ireland Email: [email protected]

School of Computer Science and Informatics University College Dublin, Belfield Dublin 4, Ireland Email: [email protected]

Abstract— Future Quality of Service (QoS) aware networks, such as those based on the Differentiated Services (DiffServ) architecture, will provide users with the opportunity to assign a priority to the traffic they receive and generate. Different priorities will entail different per-byte or per-packet charges. To aid users operating within such an environment, a priority selection strategy is required. In this paper, we propose a priority selection strategy based on the concept of Consumer Surplus (CS), which is the positive difference between utility or the user’s willingness-to-pay and cost. We then evaluate this strategy in a networking scenario where a user is involved in a multiplayer Counterstrike game, in which different priorities may be assigned to the downstream traffic. A utility curve, applicable to a First Person Shooter (FPS) game like Counterstrike, is presented. Using simulation results we show that for varied traffic loads, the CS strategy offers comparable application performance to that of always selecting the highest priority, but at a reduced cost to the user.

I. I NTRODUCTION Today the ”best effort” Internet service model is still predominant, having served the network well since its inception in the early 1970s. However, applications with tight lower bounds on delay, delay jitter and packet loss, such as interactive voice and video or multiplayer gaming can experience difficulties. Over the past decade much research has been carried out on the best way to modify the existing Internet architecture so that it can have an awareness of the Quality of Service (QoS) requirements of individual traffic flows or aggregates. The IETF has developed two major QoS architectures, the Integrated Services (IntServ) [1] architecture and the Differentiated Services (DiffServ) [2] architecture. IntServ provides absolute guarantees for end-to-end QoS through explicit reservation of resources. However, it requires that all intermediary routers on a path have IntServ capability and that they maintain per-flow state information. This causes scalability issues and has led to the development of DiffServ. Instead of classifying on a per-flow basis, DiffServ classifies individual packets into aggregate classes, depending on the value of the codepoint in the packet’s IP header. While this lends greatly to the scalability of DiffServ, it operates at a much coarser level of granularity and only relative QoS assurances can be provided. DiffServ would entail much operational changes to the network but unlike IntServ, these changes can be made in an incremental fashion.

In DiffServ-based networking environments, it is feasible that the user will be allowed some degree of control regarding the packet-level QoS applied to her traffic, although possibly within the constraints of a particular service profile. If a user is given the freedom to assign a priority to the traffic she generates and receives, then she will need to formulate a strategy for priority selection. Such a strategy may be as simple as always selecting the lowest priority level available, in order to minimise cost. Or something more complex, performed by an agent, similar to that contained in [3]. Interactive multiplayer networked games are an example of a QoS-sensitive application. Although it can be difficult to correctly identify games traffic on the network [4], it is known that the volume of games traffic on the Internet has been steadily increasing in recent years [5]. The First Person Shooter (FPS) game, Counterstrike, a modification of the Halflife engine, has over 19.5 million legal owners with an average of over 85,000 simultaneous players playing at any one point in time [6]. FPS games, like Counterstrike, are particularly sensitive to network latency. In many cases, delay can be the difference between winning and losing [7]. Despite the widespread lack of QoS mechanisms on the Internet today and the massive popularity of networked games, surveys such as the one detailed in [8], indicate that gamers are indeed sensitive to the QoS they receive while playing. In this paper, we introduce a novel priority selection strategy based on the concept of Consumer Surplus (CS). This is a microeconomics term, describing the difference between the utility, or satisfaction, to the user of a particular good or service and the cost of the good or service. It is generally held that users will behave in a manner that maximises their CS. The users monitor the QoS provided by the different classes and choose the priority level that is best suited to meeting their needs. In microeconomics the utility a user receives from a good directly corresponds to their willingness to pay. The priority level which offers the maximum CS is the one the user chooses to transmit and receive data on. In the next section we provide an overview of related research. This is followed by section 3, which details the proposed CS priority selection strategy. Section 4 defines the testing scenarios and section 5 presents the experiment results, comparing the CS

strategy with other applicable strategies. The paper concludes with a discussion of the main contributions of the paper and some ideas for future work. II. R ELATED W ORK QoS for IP networks has been the subject of much Internet research for the past decade, yet a large portion of IP networks still do not employ any QoS mechanisms. Service providers largely over-provision the backbones of their networks in order to provide adequate QoS to their customers [9]. This practice is likely to continue while core bandwidth remains inexpensive. Two IETF standards have been proposed since the early nineties. These are the Integrated Services(IntServ) architecture and the Differentiated Services (DiffServ) architecture. Both IntServ and DiffServ operate at the packet-level, without concern for the lower levels. However, the deployment of IntServ has been hindered by scalability concerns and slow adoption by end and intermediary systems. DiffServ on the other hand, has a number of open issues relating to the reservation or allocation of resources and administrative complexity. Several other proposals for service differentiation also exist, such as those covered in [10], [11], [12]. With few exceptions, proposals require additional pricing controls to limit abuse, even if these prices are only applied during periods of congestion. Though there is a concentration of work on pricing (see [13] for an overview of the field), much of the focus is on how providers might best optimize their revenue. Reference [14], provides an analytical model for service differentiation across a range of queuing disciplines, it is concluded that Priority Queuing (PQ) is more efficient economically than either First In, First Out (FIFO) or Generalised Processor Sharing (GPS) queue schedulers. Indeed, the use of a GPS scheduler for service differentiation purposes may result in less revenue being accrued by the provider than in a flat network. This follows on from work in [15] where a utility function is used to describe the sensitivity of users to network delay. The concept of utility itself is an economics term, adequately described in [16]. It is a measure of the satisfaction derived by the consumer of a particular good or service. The assumption is that rational beings will always behave in a way that maximises their utility, allowing for budgetary constraints. The maximum amount of money a user is willing to exchange for a service can be said to be equal to the utility of that service. It is for this reason that utility is often expressed in the form of a monetary unit. The use of a utility function allows users to directly compare the service level offered by different networks, or indeed, multiple services classes within the one network. In an extensive analysis of a range of popular on-line multiplayer games [17], the authors observed that the traffic from FPS games is highly predictable. The same characteristics, such as the transmission of large, highly periodic bursts of small UDP packets and the requirement for low-latency point-to-point communication is observed for all games of this class. This is largely due to the synchronous nature of current game designs, the uniform requirement for high levels

Fig. 1.

DSL Network Components (from DSL Forum)

of interactivity and the phenomenon of narrowest last mile link saturation among players. The finding that this aggregate traffic can be generalised and in fact is almost linear with the number of players involved is supported in [18]. The contribution of the access network to the delay experienced by gamers is discussed in [19]. The delay introduced by the access network is of primary importance to gamers, as they typically choose game servers residing close to their geographical location. Although due to issues such as a disparity between geographical location and network topology, poor server selection mechanisms and a shortage of servers in some areas, this is often not the case. The paper concludes that end-to-end delay is the most important parameter for games traffic and that service differentiation is required if multiple services are to be run over the same last mile link. The sensitivity of Quake 3 gamers to latency is estimated in [20] although the conclusion that most Quake 3 gamers prefer roundtrip times of below 150ms has been vigorously argued against by gamers on the Slashdot forum [21]. In [22], a more empirical approach to measuring the sensitivity of Quake 3 players to delay is taken and though the sample size is small, the results largely agree with [20]. However, in an evaluation of Unreal Tournament, users indicated that roundtrip delays of greater than 60ms were considered ”disturbing” [23]. In one study of Internet and WAN latency [24], it was discovered that roundtrip times between sites could vary between a few milliseconds to over 2 seconds, with no significant correlation between latency, geographical distance and the number of hops. III. CS P RIORITY SELECTION STRATEGY This paper considers a scenario where a user involved in a multiplayer Counterstrike game may choose the priority of the downstream traffic received from the game server. She indicates the priority to be received by marking her upstream traffic to the server. The networking setup is analogous to many residential DSL networks in operation today such as that illustrated in Figure 1. The user may deploy a number of priority selection strategies to maximise her satisfaction. For example, a user may always choose the lowest priority in order to minimise cost. On the other hand, the user may always select the highest priority in order to minimise delay, irrespective of the cost incurred. The user may even randomly assign priorities to her

traffic. However it is our contention that an intelligent priority selection strategy should be used, one based on the difference between the utility derived from playing the game with low delay and the cost incurred from doing so. In this paper we propose a utility-based algorithm that calculates the utility of the game to the user based on the roundtrip delay time experienced by packets. It also actively monitors the delay experienced on other traffic classes and based both on this and the per-byte or per-packet costs of the traffic classes, actively decides which priority level the user should assign to her traffic. The delay is measured using an Exponentially Weighted Moving Average (EWMA) of the roundtrip time as shown in (1). The use of an EWMA helps smooth temporary fluctuations in delay, while still giving precedence to the most recent delay value. Di is the average after the ith sample; Mi is the ith measurement and α is 0.94. This is decay value is commonly used in stock market analysis, providing sufficient smoothing for volatile series of data points. Measurements are taken both from the application traffic generated and received on the current traffic class, as well as measurements from additional packets taken on each of the other available classes. These additional measurements incur an additional charge for the user with no corresponding increase in satisfaction, so the number of measurements taken should be far less than that generated by the application traffic. Di = αDi−1 + (1 − α)Mi

(1)

The delay measurements for all classes are inserted into a continuous piecewise linear function, as shown in Figure 2. The utility for the user is considered excellent at roundtrip delays below 50ms. Where the roundtrip delay value for packet i, Di , is less than 50ms, a maximum utility value of Umax or 1.0 is returned. This value decreases linearly for delay values above 50ms and once the delay exceeds 100ms; no utility is obtained by the user. This is captured in (2), where Dmax is the maximum acceptable roundtrip time and Dth is the threshold below which maximum utility is obtained. The use of 50ms and 100ms as values for Dth and Dmax respectively, is speculative rather than authoritative. Its use is intended to represent a delay-sensitive user. Users who are less sensitive to delay may require larger values for Dth and Dmax .   Umax , ), (Dmax − Di )( UDmax Ui (Di ) = th  0,

Di ≤ Dth Dth < Di ≤ Dmax Di > Dmax (2)

CS i = Ui (Di ) − Ci

(3)

To factor in the cost of the different traffic classes we apply (3). This metric is the utility minus the cost, also known as the consumer surplus. As mentioned in section 2, utility and cost are considered directly comparable metrics. Periodically, the CS from each of the available traffic classes is calculated and the class returning the maximum value selected. Where cost is

Fig. 2.

User utility function for Counterstrike traffic

applied by the network on a per-byte, rather than a per-packet basis, the mean packet size should be used in calculations. IV. S IMULATION SETUP The following experiments were carried out using the NS-2 simulator [25] with a Halflife (Counterstrike is a modification of the original Halflife engine) traffic generator module [26]. This traffic generator has been modified on both server and client side to facilitate the use of the priority selection algorithm discussed in section 3. In the simulation, a user communicates with a Counterstrike server located outside of the access network. The user’s last mile link is well provisioned but the aggregate section of the regional access network may experience congestion on downstream links. These links connect the Broadband Remote Access Server (BRAS) to the DSL Access Modules (DSLAMs) located in the various local exchanges. A 24:1 ratio is provided to the users sharing it, in line with the provisioning of many residential DSL networks. The background traffic on the aggregate link is generated using NS-2’s exponential traffic sources. For simplicity, there are only two available priority levels, or traffic classes, Best Effort (BE) and High Priority (HP). The queuing mechanism is a straight-forward priority queue, traffic in the BE queue is only served when the HP queue is empty and both queues are FIFO tail-drop queues. The background traffic generated may range from light to heavy. No background traffic is transmitted at high priority. HP traffic incurs a cost of 0.4 units per-packet and BE traffic incurs a cost of 0.2 units per-packet. Since the maximum utility obtainable is 1.0 per-packet received, there is sufficient motivation for users to avail of either traffic class. The cost of HP traffic has been set at double the cost of BE traffic, to discourage the user from always availing of the higher priority class. The user may employ four different strategies. She may mark all her traffic as BE in order to minimize cost, she may mark all her traffic as HP to minimize delay or she may randomly assign a marking to her traffic. Alternatively, she may employ the CS priority selection strategy outlined in section 3, to mark her traffic. The disadvantage of the latter option is that the user must generate extra traffic, thereby incurring an additional cost, to monitor the delay on the traffic class she is not using. To do so, she transmits an echo-request

TABLE I S IMULATION RESULTS

Roundtrip Delay Experienced by Gamers 160

140

Background Traffic Light 16224.30 15970.90 16637.60 13907.40

Heavy 12102.52 1057.66 -6026.80 13884.10

120

Varied 15125.60 10362.90 4157.23 13893.46

Roundtrip delay in milliseconds

Strategy Outcome CS Random Always LP Always HP

CS HP LP

100

80

60

40

every 500ms of similar size to the packets being generated by the Counterstrike application server. The strategy outcomes are compared for the three different scenarios of light, heavy and varied loads of background traffic.

20

0 2000

Fig. 3.

2200

2400 2600 Simulation Time in Seconds

2800

3000

Roundtrip delay times for various strategies

V. S IMULATION RESULTS Table I shows the results obtained when the CS strategy is compared to the other available strategies. The best result for each network loading is highlighted in bold and the worst result for each strategy is given in italics. As can be expected the static priority selection strategies perform well when traffic is either light or heavy for the duration of the simulation. They do not perform as well when the traffic varies, as it does in the final simulation. In all simulations, one of the static priority selection strategies is the worst strategy. When the background traffic varies, the CS strategy is the best available strategy despite the extra cost incurred in monitoring the other available traffic class. The CS strategy is always within 13% of the best strategy, regardless of the loading on the network. It always outperforms the worst strategy by at least 14% and in one case represents a nearly 150% improvement over the worst strategy. It is worth noting that, although the random priority selection strategy returns reasonable results, it would have performed much worse had jitter been included as an input metric when deriving utility. In Figure 3, the measured roundtrip delay for the CS strategy is shown alongside that of the cost and delay minimizing strategies, for the varied load simulation. The spikes in delay represent changes in the network loading. As can be seen, for the CS strategy, there is an initial jump in roundtrip delay time, after which the delay is reduced as the algorithm switches to the higher priority traffic class. VI. C ONCLUSIONS future, it is probable that users will have a choice of priority levels or traffic classes to choose from. Users may have to actively indicate their desired service level by marking their application traffic. In such an environment a priority selection strategy may prove beneficial to users. In this paper, we have proposed a priority selection strategy based on Consumer Surplus (CS), a microeconomics term describing the positive difference between the amount the user is willing to pay (utility) and the actual cost. In a set of experiments we have compared the results from using this strategy with several other possible priority selection strategies. We have done so across

a range of traffic loads, within a realistic representation of a residential broadband access network. We have shown results for users involved in a multiplayer Counterstrike game. Online multiplayer games have demanding QoS requirements and are increasing in popularity. It was found that the CS algorithm proposed is a viable strategy for choosing the priority level in a future QoS-aware network. For all simulations it was within 14% of the best strategy and when the network loading was varied during the course of the simulation, it proved to be the best strategy. The strategy is not without its weaknesses. Users must incur the cost of monitoring the other available traffic classes. Though the frequency of the measurements may be reduced, there is a consequent loss of accuracy in doing so. Furthermore, although the strategy proved useful for networks with varied traffic loads, the user is using previous network state information to influence her current traffic class choices. This is not guaranteed to be accurate and indeed, it is possible to envision scenarios, however unlikely, where this would result in poorer application performance. Excepting the case of networks where feedback regarding the present network state may be conveyed to the user, the user has little choice but to rely on this information. The strategy would be applicable not only to heterogeneous IP networks with multiple traffic classes but also one where networks are logically separated, with pricing alone used to prevent congestion as outlined in [11]. VII. F UTURE WORK The research presented here has a number of interesting avenues open to exploration. Although we have considered a packet-level QoS solution for wired networks, it has not yet been tested in any wireless networking scenarios. In future work we hope to investigate the applicability of the strategy to wireless networks and for a range of other applications such as interactive voice and video. We will also seek to explore the effect of increasing the number of traffic classes available to the user, as well as that of running multiple services over the last-mile link to the customer’s premises.

Anther issue not considered in this work is the effect of relative delay. Users may be willing to tolerate a high absolute delay, provided the delay difference between users is low. Work in [27] suggests that users are more concerned with absolute delay when playing games but this may be due to a lack of feedback regarding the absolute delay times of other users ACKNOWLEDGMENT The support of the Irish Research Council for Science Engineering and Technology (IRCSET) Embark Initiative is gratefully acknowledged. R EFERENCES [1] R. Braden, D. Clark, and S. Shenker, “Integrated services in the internet architecture,” IETF RFC 1633, 1994. [2] S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, and W. Weiss, “An architecture for differentiated service,” IETF RFC 2475, 1998. [3] C. Courcoubetis, G. D. Stamoulis, C. Manolakis, and F. P. Kelly, “An intelligent agent for optimizing qos-for-money in priced abr connections,” Tech. Rep. TR98-0218, Telecommunications Systems, 1998. [4] S. Zander, T. Nguyen, and G. Armitage, “Automated traffic classification and application identification using machine learning,” in LCN ’05: Proceedings of the The IEEE Conference on Local Computer Networks, (Washington, DC, USA), pp. 250–257, IEEE Computer Society, 2005. [5] S. Joyce, “Traffic on the internet — a study of internet games.” http: //citeseer.ist.psu.edu/joyce00traffic.html, 2000. [6] Wikipedia, “Counter-strike.” http://en.wikipedia.org/wiki/ Counter-Strike. [7] C. Schaefer, T. Enderes, H. Ritter, and M. Zitterbart, “Subjective quality assessment for multiplayer real-time games,” in NetGames ’02: Proceedings of the 1st workshop on Network and system support for games, (New York, NY, USA), pp. 74–78, ACM Press, 2002. [8] T. Henderson and S. Bhatti, “Networked games: a qos-sensitive application for qos-insensitive users?,” in RIPQoS ’03: Proceedings of the ACM SIGCOMM workshop on Revisiting IP QoS, (New York, NY, USA), pp. 141–147, ACM Press, 2003. [9] C. Fraleigh, F. Tobagi, and C. Diot, “Provisioning ip backbone networks to support latency sensitive traffic,” in IEEE INFOCOM, IEEE, 2003. [10] M. May, J.-C. Bolot, C. Diot, and A. Jean-Marie, “1-bit schemes for service discrimination in the internet: Analysis and evaluation,” Tech. Rep. RR-3238, INRIA, 1997. [11] A. M. Odlyzko, “Paris metro pricing for the internet,” in ACM Conference on Electronic Commerce, pp. 140–147, 1999.

[12] B. Gaidioz and P. Primet, “Eds: A new scalable service differentiation architecture for internet,” in ISCC ’02: Proceedings of the Seventh International Symposium on Computers and Communications (ISCC’02), (Washington, DC, USA), p. 777, IEEE Computer Society, 2002. [13] B. Tuffin, “Charging the internet without bandwidth reservation: An overview and bibliography of mathematical approaches.,” J. Inf. Sci. Eng., vol. 19, no. 5, pp. 765–786, 2003. [14] Y. Hayel, D. Ros, and B. Tuffin, “Less-than-best-effort services: Pricing and scheduling,” in IEEE INFOCOM 2004, vol. 1, 2003. [15] M. Mandjes, “Pricing strategies under heterogeneous service requirements,” Comput. Networks, vol. 42, no. 2, pp. 231–249, 2003. [16] H. R. Varian, Intermediate Microeconomics, a modern approach. New York, USA: Norton, 6th ed., 2003. [17] W. chang Feng, F. Chang, W. chi Feng, and J. Walpole, “A traffic characterization of popular on-line games,” IEEE/ACM Trans. Netw., vol. 13, no. 3, pp. 488–500, 2005. [18] J. Farber, “Traffic modelling for fast action network games,” Multimedia Tools Appl., vol. 23, no. 1, pp. 31–46, 2004. [19] T. Jehaes, D. D. Vleeschauwer, T. Coppens, B. V. Doorselaer, E. Deckers, W. Naudts, K. Spruyt, and R. Smets, “Access network delay in networked games,” in NetGames ’03: Proceedings of the 2nd workshop on Network and system support for games, (New York, NY, USA), pp. 63–71, ACM Press, 2003. [20] G. Armitage, “An experimental estimation of latency sensitivity in multiplayer quake 3,” in ICON’03: The 11th IEEE International Conference on Networks, pp. 137–141, 2003. [21] Slashdot, “How fast too slow? a study of quake pings.” http:// slashdot.org/articles/01/05/24/2044233.shtml, 2001. [22] S. Zander and G. Armitage, “Empirically measuring the qos sensitivity of interactive online game players,” in ATNAC’04: Australian Telecommunications Networks and Applications Conference, 2004. [23] P. Quax, P. Monsieurs, W. Lamotte, D. D. Vleeschauwer, and N. Degrande, “Objective and subjective evaluation of the influence of small amounts of delay and jitter on a recent first person shooter game,” in NetGames ’04: Proceedings of 3rd ACM SIGCOMM workshop on Network and system support for games, (New York, NY, USA), pp. 152– 156, ACM Press, 2004. [24] G. Ballintijn and M. van Steen, “Characterizing internet performance to support wide-area application development,” SIGOPS Oper. Syst. Rev., vol. 34, no. 4, pp. 41–47, 2000. [25] N. v2 Simulator. http://www.isi.edu/nsnam/ns. [26] T. Lang, G. Armitage, P. Branch, and H. Choo, “A synthetic traffic model for half-life,” in ATNAC’03: Australian Telecommunications Networks and Applications Conference, 2003. [27] T. Henderson, “The effects of relative delay on networked games.” http://www.cs.darthmouth.edu/˜tristan/pubs/ thesis.pdf, 2003.

Suggest Documents