Most of the existent games consist of multiple players, connected over a network, collaborating and competing in a virtual world. In this world, each player typically controls a single virtual entity. Communication between players can be achieved by sharing entity state information, such as positioning using synchronisation messages. These messages are periodically transmitted across the connecting network, and update the remote state of the virtual entity, which is the state replicated on other players’ computers. If the games are using the Internet as a connecting network, latency, jitter, and packet loss, can have a significant impact upon the service experienced by application user (end-user). More specifically, latency or delay can by introduced by various types of delays, such as propagation, serialisation, and queuing delays. Jitter is the variation in latency experienced by consecutive packets. Not all of the packets in a given flow will take the same path through the network. The time taken to traverse different routes is likely to vary due to factors such as their different physical distance, the number of hops, or physical link properties. On lower bandwidth links, which have a greater serialization delay, variation in packet lengths can introduce jitter. The size distribution and arrival patterns of other traffic flows on shared links may influence the queuing delay experienced by packets in one particular flow and is, in itself, a source of jitter. There are a number of different points on the network where packets may be lost. At the physical layer, all links experience some rate of data corruption, known as the bit error rate (BER). This may be caused by a high signal-to-noise ratio (SNR) during digital to analog conversion processes, which causes erroneous encoding or decoding of data, or it may be caused by faulty hardware. Forward error correction (FEC) is sometimes used at the link layer to recover from one- or two-bit errors. A cyclic redundancy check (CRC) may be applied to detect whether or not errors are included in the frame. Occasionally, transient congestion, with the subsequent queuing of packets, is so severe that it causes the routing queue buffer to overflow. When this occurs, newly arriving packets will be dropped until there is sufficient space in the buffer to place new packets. On other occasions, dynamic routing changes or route flapping may result in a temporarily incomplete network path, which causes losses.
The current Internet model provides only a single level of service, known as best effort (BE) delivery of data. In this model, the network will attempt to route traffic as quickly as possible to its destination, but provides no guarantees that those packets will traverse the same path across the network, arrive in the same order, or even arrive at all. Streaming and interactive applications (often referred to as nonelastic applications) require upper bounds to be placed on delay and jitter to facilitate smooth delivery. Packet loss and corruption must be also bounded to ensure adequate subjective quality, as it may not be possible to retransmit packets within the required time frame. How the required level of service might best be provided to the multitude of applications in use on the Internet has been the subject of extensive study for over a decade. When discussing the motivation for quality of service (QoS) in communications networks, it is important to define the term “quality of service.” The International Telecommunication Union (ITU) Telecommunication Standardization Sector (ITU-T) describes the term “quality of service” as “The collective effect of service performance which determines the degree of satisfaction of a user of the service” (ITU-T, 1994). When this definition is used, it can be clearly seen that QoS is something that can only be correctly determined by the user of a service, as it relates to the user’s expectation of service quality.
Key Terms in this Chapter
Packet-Loss: Packet loss occurs when one or more packets of data travelling across a computer network fail to reach their destination.
Latency: A time delay between the moment something is initiated and the moment its first effect begins.
Jitter: Jitter is an unwanted variation of one or more characteristics. Jitter may be seen in characteristics such as the interval between successive moments, or the amplitude, frequency, or phase of successive cycles.
Quality of Experience (QoE): QoE is a higher-layer more abstract term than QoS. It is used in reference to the user’s perception of QoS, which may differ greatly depending on a vast number of subjective criteria.
First Person Shooter (FPS): An FPS game is a type of action game where the player views everything from a first-person perspective. Such video games are typically characterized by a high level of violence, and a focus on the use of handheld ranged weapons. The objective is to shoot and destroy objects or other players. Examples include Quake, Counter Strike and Unreal Tournament.
ITU-T E-Model: A mathematical model recommended by ITU-T to be used in assessing the speech/voice quality.
Quality of Service (QoS): A term used to describe performance criteria within a network. The criteria is quite varied, ranging from a loss rate below a given percentage or a bounded delay. BE is generally the term used when there is no specified QoS.
Best Effort (BE): BE denotes “best effort” service delivery, the prevalent level of service offered by the Internet. It is analogous to the postal system and does not provide guarantees for timeliness, order or delivery itself.
Mean Opinion Score (MOS): MOS provides a numerical indication of the perceived quality of received media after compression and/or transmission. The MOS is expressed as a single number in the range 1 to 5, where 1 is lowest perceived quality and 5 is the highest perceived quality.