WO2008104221A1 - Method and apparatus for use in multiplayer server-based gaming - Google Patents

Method and apparatus for use in multiplayer server-based gaming Download PDF

Info

Publication number
WO2008104221A1
WO2008104221A1 PCT/EP2007/051856 EP2007051856W WO2008104221A1 WO 2008104221 A1 WO2008104221 A1 WO 2008104221A1 EP 2007051856 W EP2007051856 W EP 2007051856W WO 2008104221 A1 WO2008104221 A1 WO 2008104221A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
update
gaming
client
clients
Prior art date
Application number
PCT/EP2007/051856
Other languages
French (fr)
Inventor
Zsolt Kenesi
Gábor KISS
János LEVENDOVSZKY
Sándor Molnár
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Priority to PCT/EP2007/051856 priority Critical patent/WO2008104221A1/en
Publication of WO2008104221A1 publication Critical patent/WO2008104221A1/en

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • A63F13/12
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/534Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5526Game data structure
    • A63F2300/5533Game data structure using program state or machine event data, e.g. server keeps track of the state of multiple players on in a multiple player game
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Definitions

  • the present invention relates to a method and apparatus for use in a communications network.
  • Multiplayer network games form a rapidly growing segment of the computer game industry.
  • the popularity of online gaming applications leads to increasing revenues in this market.
  • the world- wide online game market is predicted to grow from USD3.4 billion in 2005 to over USD 13 billion in 2011.
  • North America is expected to challenge the current market leader, Asia, as becoming the leading region for online games.
  • the subscription revenue which is only one part of the online game business, was USD2 billion in 2005 and is expected to grow to USD6.8 billion by 2011.
  • Delay and jitter values depend even in the internet quite much on the location of the nodes.
  • the delay between different regions can be around 100-400ms (lOObyte packets, based on Ping End-to-end Reporting in June 2006).
  • Online game providers typically install servers in different regions to provide acceptable gaming quality. For example, clients connected to Quake3 servers in a 200ms latency 'radius' of Internet in 2001.
  • Delay and jitter can be an even more important issue in mobile networks.
  • the general characteristics and classification of 2G and 3G delays are discussed in 3GPP specifications (TS 22.060 and 23.107). However, the measured delay and jitter varies at different operators based on their system version, configuration, traffic load, etc.
  • the Round Trip Time (RTT) values are typically in the order of 100ms in 2G and in the order of 10ms in 3G networks [M. Busse, B. Lamparter, M. Mauve, and W. Effelsberg. Lightweight QoS-Support for Networked Mobile Gaming. In Proc. of the 3rd Workshop on Network and System Support for Games, NETGAMES 2004, Portland, Oregon, USA, pages 85-92, August 2004].
  • RTT Round Trip Time
  • Mechanisms that are based on prediction are quite complex, and also are decentralized, i.e. running on the client side.
  • Time warping is also complex and it may undermine gaming consistency, e.g. the rolled back game status may be in conflict with the game status already confirmed to the clients.
  • Mechanisms that introduce processing delays are typically not adaptive (a predefined server update period is applied, typically set for LAN environment) or in some games the clients have to set the "connection quality" in a range that is typically not flexible enough for the large delay variations in heterogeneous networks.
  • a method for use in a multiplayer server-based gaming protocol in which each of a plurality of gaming clients is in communication over a network with a gaming server for participating in a common multiplayer network game, the protocol comprising a sequence of update periods in each of at least some of which a gaming update is sent from the server to each of at least some of the clients for updating them on a status of the game, with each client sending a gaming action, if any, to the server in response to receipt of such a gaming update, the gaming action being used at the server to update the status of the game, the network being of a type to produce variations in client-server communication delays, and the method comprising: accessing for each client a function representing a distribution of client-server delays relating to that client, causing a parameter used to determine a duration of the update periods to be updated so as to tend to improve an evaluation relating to a predetermined measure of game quality, the evaluation being dependent upon the functions and the parameter, and causing the functions to be updated based
  • Improving the evaluation may comprise minimising or maximising the evaluation. Whether the evaluation is maximised or minimised depends on the nature of the evaluation. For example, an evaluation of a negative measure of game quality might be minimised, while an evaluation of a positive measure of game quality might be maximised.
  • the evaluation may relate to a likelihood (which may take the form of a probability) that the predetermined measure of game quality is greater or less than a predetermined threshold. Again, the direction over the threshold depends on the nature of the evaluation being made.
  • the function may take the form of a probability density function and/or a probability distribution function.
  • the predetermined measure may comprise an element relating to an idle time for each of the clients in an update period.
  • an idle time for a client in an update period may be considered to relate to the time remaining in that update period after a reply to the gaming update from the client is received at the server.
  • the aim may be to minimise a probability p[max ⁇ ; > A), where ⁇ , represents the idle
  • T represents the parameter
  • Xi represents the client-server delay for client i, where ⁇ (t) represents the probability density function for client i, with F t (t) representing the corresponding probability distribution function, and where ⁇ represents the maximum delay among the clients.
  • the predetermined measure may comprise an element relating to the average idle among the clients in an update period.
  • the predetermined measure may comprise an element relating to the loss among the clients in an update period.
  • the predetermined measure may comprise an element relating to the average loss rate among the clients.
  • the duration of an update period may be determined in dependence upon whether replies to the gaming update for that update period have been received at the server from all the clients to which the gaming update was sent.
  • the duration of an update period may be determined to be the lowest multiple of the base duration that allows replies to the gaming update for that update period to be received at the server from all the clients, at least up to a predetermined maximum multiple.
  • the predetermined maximum multiple is two. Updating the parameter may be performed as part of a recursive optimisation routine, such as a gradient search routine.
  • the optimisation routine may be performed at predetermined intervals.
  • the network node performing the method actually stores the functions.
  • the functions may be stored remotely and accessed from that remote location by the node.
  • the method performed by the node may comprise storing the functions locally.
  • the network node performing the method actually makes measurements of the network delays; this may be performed by another node.
  • the network node performing the method actually performs the updating of the parameter.
  • the network node performing the method actually performs the updating of the functions. It is even possible that the maintenance of the functions is entirely separate from the node, so that it is not even essential to cause the updating of the functions, only to access the functions, maintained independently and remotely, so as to be able to perform the evaluation based on the functions.
  • the function may be modelled using radial basis functions. Updating the function may be performed as part of a radial basis function fitting technique.
  • the function may be updated at predetermined intervals.
  • the parameter may be updated at predetermined intervals.
  • the client-server delay may be determined in dependence upon the time period from sending a gaming update to receiving a gaming action in reply.
  • the network may be of a heterogeneous type.
  • the method may be performed at the server.
  • apparatus for use in a multiplayer server-based gaming protocol in which each of a plurality of gaming clients is in communication over a network with a gaming server for participating in a common multiplayer network game, the protocol comprising a sequence of update periods in each of at least some of which a gaming update is sent from the server to each of at least some of the clients for updating them on a status of the game, with each client sending a gaming action, if any, to the server in response to receipt of such a gaming update, the gaming action being used at the server to update the status of the game, the network being of a type to produce variations in client-server communication delays, and the apparatus comprising: means for accessing for each client a function representing a distribution of client-server delays relating to that client, means for causing a parameter used to determine a duration of the update periods to be updated so as to tend to improve an evaluation relating to a predetermined measure of game quality, the evaluation being dependent upon the functions and the parameter, and means for causing the functions to
  • a program for controlling an apparatus to perform a method according to the first aspect of the present invention or which, when loaded into an apparatus, causes the apparatus to become an apparatus according to the second aspect of the present invention may be carried on a carrier medium.
  • the carrier medium may be a storage medium.
  • the carrier medium may be a transmission medium.
  • an apparatus programmed by a program according to the third aspect of the present invention.
  • a storage medium containing a program according to the third aspect of the present invention there is provided a storage medium containing a program according to the third aspect of the present invention.
  • An embodiment of the present invention has one or more of the following technical advantages over previously-considered approaches.
  • the server update period can be adaptively optimized.
  • the algorithm can find the optimal server update period in case the clients experience different and varying latency to a game server.
  • the game provider can support much more clients from heterogeneous network environment. Therefore, the method can contribute to achieving higher revenues from network games and can further increase the perceived game quality and user satisfaction. Thus, an embodiment of the present invention paves the way towards serving more players which can further increase the business potential of network games.
  • the solution can be implemented on the server side and has the advantage of running only one centralized algorithm, thus it avoids putting unnecessary computational overhead onto the clients.
  • the algorithm has a fast convergence speed.
  • Figure IA illustrates a protocol model based on a period of T
  • Figure IB illustrates a protocol model based on a period up to 2 T
  • Figure 2 illustrates a mechanism of server period time optimization according to an embodiment of the present invention
  • Figure 3 is a block diagram illustrating apparatus according to an embodiment of the present invention.
  • FIG. 4 illustrates quality measures by T server parameter
  • FIG. 5 illustrates quality measures by T server parameter (extended protocol);
  • Figure 6 illustrates a comparison of measurements and model results;
  • Figure 7 illustrates a convergence of the server period time.
  • an embodiment of the present invention provides a novel adaptive game server protocol optimization method to combat network latencies in a heterogeneous network environment.
  • an embodiment of the present invention provides a solution to a technical problem that enables the serving of more players, which in turn can further increase the business potential of network games.
  • a server-side solution according to an embodiment of the present invention can be applied by network operators, as it has the advantage of running a centralized algorithm, thereby avoiding putting unnecessary computational overhead onto the clients.
  • latency compensation is treated as an optimization problem on the server side, tackled by a recursive optimization algorithm.
  • An algorithm has been developed for use in an embodiment of the present invention to find the optimal server update period, i.e. the game status update period is set by the server, subject to the criterion of minimizing the tail probability of the maximal idle time.
  • the loss probability can also be taken into account, i.e. too short an update period for minimizing the idle time can increase the loss of "slow" clients.
  • a sever-based game protocol is considered as a number of arrival processes from the clients (which are characterized by different delays) and periodical updates sent by the server to the clients.
  • the reason for applying a periodical update process has been well discussed in the literature.
  • a server S updates the status of the game periodically, after each update period (the duration of this period is denoted by T) with packets U-il, U- jl (first update to clients C 1 , C, respectively) and U- i2, U-j2 (second update to clients C 1 , C j respectively); • The clients C 1 , C j send new packets (their gaming actions) A-il, A-jl respectively upon receiving updates U-il, U-jl from the server S;
  • the clients C 1 , C j send further packets (their gaming actions) upon receiving further updates U-i2, U-j2 from the server S; • The arrived packets A-il have to wait for a time IT 1 until the next update
  • this waiting time is referred to as the client idle time.
  • the loss can be minimized by increasing T, since there is enough time to receive the packets of each client, even though some of them may have large delays.
  • the idle time IT is also increased, as a client C with a small access delay has to remain idle for a long period, until packets generated by the larger delay clients are received.
  • the protocol in this form does not cope well with heterogeneous clients and a wide variety of delays.
  • an extended protocol in which the server S is able to accept packets arriving from the clients C in a period of length 2 J, and in which the server S is able to send an update U with a period of either J (where the packet of each participant is received within the interval [0, J]), or 2 J (where there are some participants whose packets are received within the interval [J, 2J]).
  • J where the packet of each participant is received within the interval [0, J]
  • 2 J where there are some participants whose packets are received within the interval [J, 2J]
  • J In view of the variable length of update period in the extended protocol, compared to the fixed length of update period of the protocol shown in Figure IA, despite both being controlled by the same basic update period J, for the avoidance of confusion, J will henceforth be referred to as the "update parameter", while the “update period” will refer to the actual length of time between successive updates, which may be J or 2 J in this protocol.
  • the update parameter J can be considered to be a parameter that is used to determine the duration of the update periods.
  • the server S sends an update U after J if the packets of all participants have arrived earlier than J, or sends an update U after 2 J (like U-i2, U-j2 of Figure IB) if there is at least one client packet (like A-jl in Figure IB) received within the interval [J, 2 J].
  • the update period is effectively either J or 2 T, depending on whether replies to a gaming update for a particular update period have been received at the server from all the clients to which the gaming update was sent at the J time point. It is desirable to choose the server update period subject to minimize the probability of the maximal idle time exceeding a certain threshold (which threshold is associated with the "psycho-physically approved quality of the game"). In order to calculate the optimal server update period and the underlying tail distribution, statistical tools from large deviation theory are used.
  • an adaptive on-line algorithm has been developed for use in an embodiment of the present invention that can adjust the server update period by estimating the corresponding delay probability density functions based on past observations.
  • the p.d.f. of the measured delay processes is approximated and the tail probability of the maximal idle time is expressed analytically as a function of the server update parameter.
  • the optimal server update parameter can found by performing, for example, a gradient search on this function. Finding the optimal server update parameter in turn means that the optimal server update period is found, since one is related to the other.
  • an adaptive sever update algorithm can be developed which helps to optimize the sever update period even in the case of clients with unknown and varying latencies.
  • the client C 1 misses an update if the access delay is longer than 2T.
  • the objective is to optimize the server update parameter T in order minimize the probability that the maximum idle time is larger then a predefined quantity A, where A relates to the quality of the game. More precisely, gaming optimization amounts to solving the following problem:
  • T(k + 1) T(k) - ⁇ sgn( ⁇ (T(k)) - ⁇ (T(k - I)) ) (5)
  • the computational process of the algorithm is summarized in Figure 2, while a schematic block diagram of a server 100 for carrying out the algorithm is shown in Figure 3.
  • the server 100 comprises a delay measuring portion 110, a p.d.f. updating portion 120, a parameter updating portion 130, an evaluation portion 140, a parameter storing portion 150, a p.d.f. storing portion 160 and a control portion 170.
  • the various portions 110 to 160 operate under control of the control portion 170.
  • step Sl the delay measuring portion 110 measures the delays, and passes this information to the p.d.f. updating portion 120, which in step S2 uses the information to update the distributions, which are stored in the p.d.f. storing portion
  • step S2 The updating of the distributions runs simultaneously with the game session.
  • P.d.f. estimation in step S2 can make use of Radial Basis Function (RBF) fitting techniques, for example.
  • RBF Radial Basis Function
  • step S2 When a new measurement is taken about the delay of client C; in the course of the game, the corresponding density is updated (step S2).
  • the server update parameter T which is stored in the parameter storing portion 150, is optimized recursively by plugging the updated p.d.f.s into expression (3) and (4) (step S3); this is performed by the evaluation portion 140 in dependence upon information from the parameter storing portion 150 and the p.d.f. storing portion 160.
  • the parameter updating portion 130 of the server 100 can optimize the update parameter (step S4) based on the newly obtained delay information in the course of the game.
  • Recursion (5) is based on a gradient search, which can get stuck in local optima. However, simulations demonstrated that p[max ⁇ ; > ⁇ ) has only one global minimum
  • recursion (5) can be started from many different initial points.
  • an embodiment of the present invention can be considered to be applicable in any situation where there is a base duration for each update period, and an overall duration of each update period is determined to be a multiple of the base duration, typically an integer multiple of the base duration.
  • the integer multiple is determined in advance to be one.
  • the duration of an update period is determined in dependence upon whether replies to the gaming update for that update period have been received at the server from all the clients to which the gaming update was sent.
  • the duration of an update period is determined to be the lowest multiple of the base duration that allows replies to the gaming update for that update period to be received at the server from all the clients, at least up to a predetermined maximum multiple of two in this particular protocol, although the predetermined maximum multiple could be any suitable number.
  • Figures 3 and 4 show the quality measures (loss rate, average idle time and tail probability) as a function of the server update parameter T, in the case of applying the single T protocol ( Figure 4) and the extended 2T protocol ( Figure 5).
  • the quality measures (loss rate, average idle time and tail probability) as a function of the server update parameter T, in the case of applying the single T protocol ( Figure 4) and the extended 2T protocol ( Figure 5).
  • operation of one or more of the above-described components can be controlled by a program operating on the device or apparatus.
  • Such an operating program can be stored on a computer-readable medium, or could, for example, be embodied in a signal such as a downloadable data signal provided from an Internet website.
  • the appended claims are to be interpreted as covering an operating program by itself, or as a record on a carrier, or as a signal, or in any other form.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Pinball Game Machines (AREA)

Abstract

A method is disclosed for use in a multiplayer server-based gaming protocol in which each of a plurality of gaming clients is in communication over a network with a gaming server for participating in a common multiplayer network game. The protocol is one in which a sequence of update periods in each of at least some of which a gaming update is sent from the server to each of at least some of the clients for updating them on a status of the game. In the protocol, each client sends a gaming action, if any, to the server in response to receipt of such a gaming update, the gaming action being used at the server to update the status of the game. The network is of a type to produce variations in client-server communication delays. The disclosed method comprises: accessing (S3) for each client a function representing a distribution of client-server delays relating to that client, updating (S4) a parameter used to determine a duration of the update periods so as to tend to improve an evaluation (performed in S3) relating to a predetermined measure of game quality, the evaluation being dependent upon the functions and the parameter, and updating (S2) the functions based on measurements (S1) of client-server delay in the network.

Description

TITLE OF THE INVENTION
METHOD AND APPARATUS FOR USE IN MULTIPLAYER SERVER-BASED GAMING
BACKGROUND OF THE INVENTION 1. Field of the Invention
The present invention relates to a method and apparatus for use in a communications network.
2. Description of the Related Art
Multiplayer network games form a rapidly growing segment of the computer game industry. The popularity of online gaming applications leads to increasing revenues in this market. The world- wide online game market is predicted to grow from USD3.4 billion in 2005 to over USD 13 billion in 2011. During this time period North America is expected to challenge the current market leader, Asia, as becoming the leading region for online games. The subscription revenue, which is only one part of the online game business, was USD2 billion in 2005 and is expected to grow to USD6.8 billion by 2011.
Additionally, many popular games like first-person shooters and sports or racing games are increasingly played online charge-free. The growth in this market and in the client base indicates a growing demand to access online game services in a heterogeneous network environment. The network operators are also interested in providing good online game access to increase their subscriber base and traffic. As a result, as well as having a clear business potential, the extension of game services to heterogeneous networks also presents a technical challenge due to the wide range of delays associated with clients from different networking environment, e.g., in mobile networks.
Most of the online games (typically First Person Shooter (FPS) and Real Time Strategy (RTS)) support a lot of simultaneous players which requires increasing network and computational resources. These games are typically designed for good network connections, e.g., in a LAN environment. In a LAN environment, the latency is typically small and exhibits homogenous characteristics. However, in heterogeneous network environment the following attributes must be taken into account:
• the clients experience different latency to a game server; • the clients experience different latency in different game sessions;
• the clients experience a large delay variation within a game session.
Delay and jitter values depend even in the internet quite much on the location of the nodes. The delay between different regions can be around 100-400ms (lOObyte packets, based on Ping End-to-end Reporting in June 2006). Online game providers typically install servers in different regions to provide acceptable gaming quality. For example, clients connected to Quake3 servers in a 200ms latency 'radius' of Internet in 2001.
Delay and jitter can be an even more important issue in mobile networks. The general characteristics and classification of 2G and 3G delays are discussed in 3GPP specifications (TS 22.060 and 23.107). However, the measured delay and jitter varies at different operators based on their system version, configuration, traffic load, etc. The Round Trip Time (RTT) values are typically in the order of 100ms in 2G and in the order of 10ms in 3G networks [M. Busse, B. Lamparter, M. Mauve, and W. Effelsberg. Lightweight QoS-Support for Networked Mobile Gaming. In Proc. of the 3rd Workshop on Network and System Support for Games, NETGAMES 2004, Portland, Oregon, USA, pages 85-92, August 2004]. Even though there is a continuous improvement of delay characteristics in mobile networks, the delay variation is still typically higher than in a fixed environment.
There are publications concerning the tolerated delay and jitter for FPS games, for example specifying 139ms as a maximum delay for mobile real-time games in [J. Nichols and M. Claypool. The Effects of Latency on Online Madden NFL Football. In Proc. of the 14th international workshop on Network and operating systems support for digital audio and video, Cork, Ireland, pages 146-151, 2004]. In [T. Henderson. Latency and user behaviour on a multiplayer games server. In Proc. of the 3rd International Workshop on Networked Group Communication (NGC), London, UK, pages 1-13, November 2001] a delay bound of 150ms is defined for Halflife, whereas 300ms delay maximum is given for RTS games, e.g., Age of Empires. In [M. Busse, B. Lamparter, M. Mauve, and W. Effelsberg. Lightweight QoS-Support for Networked Mobile Gaming. In Proc. of the 3rd Workshop on Network and System Support for Games, NETGAMES 2004, Portland, Oregon, USA, pages 85-92, August 2004] a maximum acceptable end-to-end delay was evaluated between 100ms and 200ms.
When extending games to heterogeneous networks, latency and related quantities (such as jitter, packet loss) have long been identified as primary obstacles, which can fundamentally impair the gaming quality [T. Henderson. Latency and user behaviour on a multiplayer games server. In Proc. of the 3rd International Workshop on Networked Group Communication (NGC), London, UK, pages 1-13, November 2001]. In the literature, several research studies have been conducted to analyze the effect of changing network parameters on the quality [A. Chandler and J. Finney. On the Effects of Loose Causal Consistency in Mobile Multiplayer Games. In Proc. of 4th ACM Network and System Support for Games (NetGames), Hawthorne, NY, USA, pages 1- 11, October 2005] [J. Nichols and M. Claypool. The Effects of Latency on Online Madden NFL Football. In Proc. of the 14th international workshop on Network and operating systems support for digital audio and video, Cork, Ireland, pages 146-151, 2004] [T. Henderson. Latency and user behaviour on a multiplayer games server. In Proc. of the 3rd International Workshop on Networked Group Communication (NGC), London, UK, pages 1-13, November 2001].
To combat latencies and ensure tolerable gaming quality and fairness, a number of different latency compensation techniques have been proposed, which can be classified into three major groups (for more details see [A. Chandler and J. Finney. On the Effects of Loose Causal Consistency in Mobile Multiplayer Games. In Proc. of 4th ACM Network and System Support for Games (NetGames), Hawthorne, NY, USA, pages 1- 11, October 2005]):
• Predicting the game status (each client predicts the server response instead of waiting for the status information);
• Applying time warping (the server applies a time-roll-back mechanism to consider game actions which arrive with large delays); and • Introducing processing delays (the server delays the processing of client status information).
The present applicant has appreciated the following problems with the above-mentioned previously-proposed approaches.
Mechanisms that are based on prediction are quite complex, and also are decentralized, i.e. running on the client side.
Time warping is also complex and it may undermine gaming consistency, e.g. the rolled back game status may be in conflict with the game status already confirmed to the clients.
Mechanisms that introduce processing delays are typically not adaptive (a predefined server update period is applied, typically set for LAN environment) or in some games the clients have to set the "connection quality" in a range that is typically not flexible enough for the large delay variations in heterogeneous networks.
It is desirable to address at least some of the above-identified issues.
SUMMARY OF THE INVENTION
According to a first aspect of the present invention there is provided a method for use in a multiplayer server-based gaming protocol in which each of a plurality of gaming clients is in communication over a network with a gaming server for participating in a common multiplayer network game, the protocol comprising a sequence of update periods in each of at least some of which a gaming update is sent from the server to each of at least some of the clients for updating them on a status of the game, with each client sending a gaming action, if any, to the server in response to receipt of such a gaming update, the gaming action being used at the server to update the status of the game, the network being of a type to produce variations in client-server communication delays, and the method comprising: accessing for each client a function representing a distribution of client-server delays relating to that client, causing a parameter used to determine a duration of the update periods to be updated so as to tend to improve an evaluation relating to a predetermined measure of game quality, the evaluation being dependent upon the functions and the parameter, and causing the functions to be updated based on measurements of client-server delay in the network.
Improving the evaluation may comprise minimising or maximising the evaluation. Whether the evaluation is maximised or minimised depends on the nature of the evaluation. For example, an evaluation of a negative measure of game quality might be minimised, while an evaluation of a positive measure of game quality might be maximised.
The evaluation may relate to a likelihood (which may take the form of a probability) that the predetermined measure of game quality is greater or less than a predetermined threshold. Again, the direction over the threshold depends on the nature of the evaluation being made.
The function may take the form of a probability density function and/or a probability distribution function.
The predetermined measure may comprise an element relating to an idle time for each of the clients in an update period. In this respect, an idle time for a client in an update period may be considered to relate to the time remaining in that update period after a reply to the gaming update from the client is received at the server.
The predetermined measure may comprise an element relating to the maximum idle time among the clients in an update period. Improving the evaluation may comprise minimising a likelihood that the predetermined measure of game quality is greater than a predetermined threshold.
The aim may be to minimise a probability p[maxη; > A), where η, represents the idle
time for client i of the plurality of clients, and where A represents the predetermined threshold. The aim may be to tend to minimise the expression
Figure imgf000007_0001
where T represents the parameter, where
Figure imgf000007_0002
Xi represents the client-server delay for client i, where β(t) represents the probability density function for client i, with Ft(t) representing the corresponding probability distribution function, and where ζ represents the maximum delay among the clients.
The predetermined measure may comprise an element relating to the average idle among the clients in an update period.
It may be that a reply to a gaming update received at the server after the end of the update period in which that gaming update was sent is considered as a loss. In this case, the predetermined measure may comprise an element relating to the loss among the clients in an update period. The predetermined measure may comprise an element relating to the average loss rate among the clients.
The parameter may relate to a base duration for each update period, and an overall duration of each update period is determined to be a multiple of the base duration. The duration of each update period may be determined to be an integer multiple of the base duration. The integer multiple may be determined in advance to be one.
The duration of an update period may be determined in dependence upon whether replies to the gaming update for that update period have been received at the server from all the clients to which the gaming update was sent.
The duration of an update period may be determined to be the lowest multiple of the base duration that allows replies to the gaming update for that update period to be received at the server from all the clients, at least up to a predetermined maximum multiple. In one example, the predetermined maximum multiple is two. Updating the parameter may be performed as part of a recursive optimisation routine, such as a gradient search routine.
The optimisation routine may be performed at predetermined intervals.
It is not essential that there is a separate function for each client. It is possible that at least one function relates to, or is shared by, more than one client. This might be the case where several clients share similar delay characteristics.
It is not essential that the network node performing the method actually stores the functions. The functions may be stored remotely and accessed from that remote location by the node. On the other hand, the method performed by the node may comprise storing the functions locally. Likewise, it is not essential that the network node performing the method actually makes measurements of the network delays; this may be performed by another node. Likewise, for example if the parameter is stored remotely, it is not essential that the network node performing the method actually performs the updating of the parameter. Likewise it is not essential that the network node performing the method actually performs the updating of the functions. It is even possible that the maintenance of the functions is entirely separate from the node, so that it is not even essential to cause the updating of the functions, only to access the functions, maintained independently and remotely, so as to be able to perform the evaluation based on the functions.
The function may be modelled using radial basis functions. Updating the function may be performed as part of a radial basis function fitting technique.
The function may be updated at predetermined intervals. The parameter may be updated at predetermined intervals.
The client-server delay may be determined in dependence upon the time period from sending a gaming update to receiving a gaming action in reply.
The network may be of a heterogeneous type. The method may be performed at the server.
According to a second aspect of the present invention there is provided apparatus for use in a multiplayer server-based gaming protocol in which each of a plurality of gaming clients is in communication over a network with a gaming server for participating in a common multiplayer network game, the protocol comprising a sequence of update periods in each of at least some of which a gaming update is sent from the server to each of at least some of the clients for updating them on a status of the game, with each client sending a gaming action, if any, to the server in response to receipt of such a gaming update, the gaming action being used at the server to update the status of the game, the network being of a type to produce variations in client-server communication delays, and the apparatus comprising: means for accessing for each client a function representing a distribution of client-server delays relating to that client, means for causing a parameter used to determine a duration of the update periods to be updated so as to tend to improve an evaluation relating to a predetermined measure of game quality, the evaluation being dependent upon the functions and the parameter, and means for causing the functions to be updated based on measurements of client-server delay in the network.
According to a third aspect of the present invention there is provided a program for controlling an apparatus to perform a method according to the first aspect of the present invention or which, when loaded into an apparatus, causes the apparatus to become an apparatus according to the second aspect of the present invention. The program may be carried on a carrier medium. The carrier medium may be a storage medium. The carrier medium may be a transmission medium.
According to a fourth aspect of the present invention there is provided an apparatus programmed by a program according to the third aspect of the present invention.
According to a fifth aspect of the present invention there is provided a storage medium containing a program according to the third aspect of the present invention. An embodiment of the present invention has one or more of the following technical advantages over previously-considered approaches.
Based on this model the server update period can be adaptively optimized. The algorithm can find the optimal server update period in case the clients experience different and varying latency to a game server.
The game provider can support much more clients from heterogeneous network environment. Therefore, the method can contribute to achieving higher revenues from network games and can further increase the perceived game quality and user satisfaction. Thus, an embodiment of the present invention paves the way towards serving more players which can further increase the business potential of network games.
The solution can be implemented on the server side and has the advantage of running only one centralized algorithm, thus it avoids putting unnecessary computational overhead onto the clients.
The algorithm has a fast convergence speed.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure IA illustrates a protocol model based on a period of T;
Figure IB illustrates a protocol model based on a period up to 2 T;
Figure 2 illustrates a mechanism of server period time optimization according to an embodiment of the present invention;
Figure 3 is a block diagram illustrating apparatus according to an embodiment of the present invention;
Figure 4 illustrates quality measures by T server parameter;
Figure 5 illustrates quality measures by T server parameter (extended protocol); Figure 6 illustrates a comparison of measurements and model results; and
Figure 7 illustrates a convergence of the server period time.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Before describing an embodiment of the present invention in detail, an overview will first be provided.
In order to make game playing feasible for clients accessing the game via different networks, an embodiment of the present invention provides a novel adaptive game server protocol optimization method to combat network latencies in a heterogeneous network environment. Thus, an embodiment of the present invention provides a solution to a technical problem that enables the serving of more players, which in turn can further increase the business potential of network games.
A server-side solution according to an embodiment of the present invention can be applied by network operators, as it has the advantage of running a centralized algorithm, thereby avoiding putting unnecessary computational overhead onto the clients.
To realise an embodiment of the present invention, latency compensation is treated as an optimization problem on the server side, tackled by a recursive optimization algorithm. An algorithm has been developed for use in an embodiment of the present invention to find the optimal server update period, i.e. the game status update period is set by the server, subject to the criterion of minimizing the tail probability of the maximal idle time. The loss probability can also be taken into account, i.e. too short an update period for minimizing the idle time can increase the loss of "slow" clients.
By recursively updating the delay p.d.f. (Probability Density Function) estimations with the measured delays, an adaptive sever update algorithm has been developed which helps to optimize the sever update period even in the case of clients with unknown or varying latencies. In this way, the gaming quality can be improved and even heterogeneous clients can enjoy rather similar gaming experiences. An embodiment of the present invention will now be described in more detail.
A sever-based game protocol is considered as a number of arrival processes from the clients (which are characterized by different delays) and periodical updates sent by the server to the clients. The reason for applying a periodical update process has been well discussed in the literature.
One protocol is described as follows with reference to Figure IA:
• There is a client population C1, where i = 1, ..., N;
• A server S updates the status of the game periodically, after each update period (the duration of this period is denoted by T) with packets U-il, U- jl (first update to clients C1, C, respectively) and U- i2, U-j2 (second update to clients C1, Cj respectively); • The clients C1, Cj send new packets (their gaming actions) A-il, A-jl respectively upon receiving updates U-il, U-jl from the server S;
• A packet (client action) like A-jl arriving at the server S from the client Cj after an interval of τ, from the sending of the last update U-jl, which is longer than the update period T, is discarded and regarded as a loss, whereas a packet like A-il arriving at the server S from the client C1 after an interval X1 from the sending of the last update U-il, which is within the update period T, is not regarded as a loss;
• The clients C1, Cj send further packets (their gaming actions) upon receiving further updates U-i2, U-j2 from the server S; • The arrived packets A-il have to wait for a time IT1 until the next update
U-i2 to be validated, and this waiting time is referred to as the client idle time.
It is desirable to choose an optimal value for T that guarantees an acceptable quality for each client participating in the game, despite the different network latencies.
It can readily be seen that the loss can be minimized by increasing T, since there is enough time to receive the packets of each client, even though some of them may have large delays. However, in this case the idle time IT is also increased, as a client C with a small access delay has to remain idle for a long period, until packets generated by the larger delay clients are received. As a result, the protocol in this form does not cope well with heterogeneous clients and a wide variety of delays.
Thus, an extended protocol is introduced in which the server S is able to accept packets arriving from the clients C in a period of length 2 J, and in which the server S is able to send an update U with a period of either J (where the packet of each participant is received within the interval [0, J]), or 2 J (where there are some participants whose packets are received within the interval [J, 2J]). With this extension, the loss can be further decreased, but "fast" clients do not suffer from large idle periods.
In view of the variable length of update period in the extended protocol, compared to the fixed length of update period of the protocol shown in Figure IA, despite both being controlled by the same basic update period J, for the avoidance of confusion, J will henceforth be referred to as the "update parameter", while the "update period" will refer to the actual length of time between successive updates, which may be J or 2 J in this protocol. The update parameter J can be considered to be a parameter that is used to determine the duration of the update periods.
This extension, which is illustrated in Figure IB, differs from the basic algorithm as follows:
• A packet (client action) A arriving at the server S later than 2 J is discarded and regarded as a loss;
• The server S sends an update U after J if the packets of all participants have arrived earlier than J, or sends an update U after 2 J (like U-i2, U-j2 of Figure IB) if there is at least one client packet (like A-jl in Figure IB) received within the interval [J, 2 J]. Thus the update period is effectively either J or 2 T, depending on whether replies to a gaming update for a particular update period have been received at the server from all the clients to which the gaming update was sent at the J time point. It is desirable to choose the server update period subject to minimize the probability of the maximal idle time exceeding a certain threshold (which threshold is associated with the "psycho-physically approved quality of the game"). In order to calculate the optimal server update period and the underlying tail distribution, statistical tools from large deviation theory are used.
Furthermore, an adaptive on-line algorithm has been developed for use in an embodiment of the present invention that can adjust the server update period by estimating the corresponding delay probability density functions based on past observations.
In the forthcoming mathematical treatment, the p.d.f. of the measured delay processes is approximated and the tail probability of the maximal idle time is expressed analytically as a function of the server update parameter. The optimal server update parameter can found by performing, for example, a gradient search on this function. Finding the optimal server update parameter in turn means that the optimal server update period is found, since one is related to the other.
In this way, an adaptive sever update algorithm can be developed which helps to optimize the sever update period even in the case of clients with unknown and varying latencies.
A formal model and optimization algorithm will now be described for finding specific T for clients with heterogeneous network environments in the case of the extended protocol described above with reference to Figure IB.
To model the gaming problem the following notations are introduced:
• the server S works in a synchronous fashion and the state-update parameter is denoted by T;
• there is a client population C1, where i = 1, ..., N and each client C1 accesses the server with a random delay denoted by τ,, where i = 1, ..., N', where N' denotes the subset of clients C1 whose delay is smaller than 2T; • f,(t) denotes the probability density function of random variable X1 (the delay of client C1), whereas F,(t) is the corresponding probability distribution function;
• random variable ξ represents the maximum delay among the clients, i.e. ζ:= max, X1;
• the idle time for client C1 within a server update period is denoted by η,.
In order to develop an analytical model the following assumptions have been made:
• f,(t, with i = 1, ...,7V, are known (later this assumption will be relaxed by devising adaptive schemes based on measurements);
• The client C1 misses an update if the access delay is longer than 2T.
With this assumption the idle time for client C1 is given as:
Figure imgf000015_0001
The objective is to optimize the server update parameter T in order minimize the probability that the maximum idle time is larger then a predefined quantity A, where A relates to the quality of the game. More precisely, gaming optimization amounts to solving the following problem:
Figure imgf000015_0002
Furthermore, the p(η; > A) probability can be expanded as follows (for more details, see the Appendix):
Pk > A) =
Figure imgf000016_0001
This formula will be denoted in the following description by ψ(τ(k)). It can be seen that this formula, which amounts to an evaluation relating to a predetermined measure of the game quality, does indeed depend on T (and on the distribution functions); which prompts the perception of p(maxη; > A) as a function of T denoted by p(maxη; > A) =
ψ(τ(k)) . In this way, optimizing the update parameter on the server reduces to a search problem tackled by the following recursion:
T(k + 1) = T(k) - Δ sgn( Ψ(T(k)) - Ψ(T(k - I)) ) (5)
It is to be noted that, if the density functions are known, then finding optimal T is an off-line task that can be carried out prior to the game. Thus any search technique drawn from the tools of classical optimization theory can be used. However, in reality the densities/^ for i = 1, ..., TV are not known a priori, which prompts the application of an adaptive technique based on the observed delays during the game session.
As mentioned earlier, one may consider not only the tail probability of the maximal idle time as the quality measure of the game but also the average idle time and the loss rate. These measures can easily be included into the optimization process, e.g. as constraints.
The server update optimization algorithm will now be described.
The computational process of the algorithm is summarized in Figure 2, while a schematic block diagram of a server 100 for carrying out the algorithm is shown in Figure 3. The server 100 comprises a delay measuring portion 110, a p.d.f. updating portion 120, a parameter updating portion 130, an evaluation portion 140, a parameter storing portion 150, a p.d.f. storing portion 160 and a control portion 170. The various portions 110 to 160 operate under control of the control portion 170.
To evaluate equation (4) in step S3, described below, the evaluation portion 140 requires an estimation of the distributions, which in turn requires measurements of the delays. Therefore, in step Sl, the delay measuring portion 110 measures the delays, and passes this information to the p.d.f. updating portion 120, which in step S2 uses the information to update the distributions, which are stored in the p.d.f. storing portion
160. The updating of the distributions runs simultaneously with the game session. P.d.f. estimation in step S2 can make use of Radial Basis Function (RBF) fitting techniques, for example.
When a new measurement is taken about the delay of client C; in the course of the game, the corresponding density is updated (step S2). Performing recursion in each new measurement, the server update parameter T, which is stored in the parameter storing portion 150, is optimized recursively by plugging the updated p.d.f.s into expression (3) and (4) (step S3); this is performed by the evaluation portion 140 in dependence upon information from the parameter storing portion 150 and the p.d.f. storing portion 160. In this way, the parameter updating portion 130 of the server 100 can optimize the update parameter (step S4) based on the newly obtained delay information in the course of the game.
Recursion (5) is based on a gradient search, which can get stuck in local optima. However, simulations demonstrated that p[maxη; > λ) has only one global minimum
(see the Appendix below). Furthermore, in order to avoid stopping in local minima, recursion (5) can be started from many different initial points.
The simulation results clearly demonstrated that using a predefined or non-adaptive server update period (40ms is currently implemented in most of gaming servers [M. Busse, B. Lamparter, M. Mauve, and W. Effelsberg. Lightweight QoS-Support for Networked Mobile Gaming. In Proc. of the 3rd Workshop on Network and System Support for Games, NETGAMES 2004, Portland, Oregon, USA, pages 85-92, August 2004]) can be far from the optimal update period as an adaptive update period optimization is needed to handle the various latencies being typical in heterogeneous network environment.
Simulations also show that the optimal sever update period can be achieved with a fast convergence speed (see the Appendix below).
Although a formal model and optimization algorithm has been described above for the case of the extended protocol described above with reference to Figure IB, it will be appreciated that the same or a similar approach can be taken with other gaming protocols, for example that described above with reference to Figure IA or other similar types of protocol.
In this respect, an embodiment of the present invention can be considered to be applicable in any situation where there is a base duration for each update period, and an overall duration of each update period is determined to be a multiple of the base duration, typically an integer multiple of the base duration. In the protocol described with reference to Figure IA, the integer multiple is determined in advance to be one. In the protocol described with reference to Figure IB, the duration of an update period is determined in dependence upon whether replies to the gaming update for that update period have been received at the server from all the clients to which the gaming update was sent. More particularly, in the Figure IB protocol, the duration of an update period is determined to be the lowest multiple of the base duration that allows replies to the gaming update for that update period to be received at the server from all the clients, at least up to a predetermined maximum multiple of two in this particular protocol, although the predetermined maximum multiple could be any suitable number.
It should be noted that it is possible to detect that a device is operating according to an embodiment of the present invention by use of a stochastic testing program that generates access delays in a random pre-designed fashion, and by identifying the statistics of the server update strategy. Appendix
Simulation results
Figures 3 and 4 show the quality measures (loss rate, average idle time and tail probability) as a function of the server update parameter T, in the case of applying the single T protocol (Figure 4) and the extended 2T protocol (Figure 5). In the simulated case, there are three clients with RTT values measured in Internet with lOObyte packets participating in the game.
Detailed description of the model
Figure imgf000019_0001
Figure imgf000020_0001
Figure imgf000021_0001
Performance analysis
Extensive simulations have been carried out to test the performance of the server optimization method. The delay distribution functions were estimated by making more than 60000 measurements. Figure 6 depicts the calculated tail probabilities against the measured ones as a function of the server update parameter T.
The approximation with the union bound is denoted by Modi, whereas the tail calculated by assuming client delay independence is denoted by Mod2. (Union bound is a known method to calculate the distribution of the maximum of the probability variables. Besides applying union bound, there is another method to calculate the p.d.f. of the maximum of probability variables, based on the assumption that the probability variables - here client delays - are independent.) As demonstrated by the Figure 6, the quality measure (tail probability of the maximal delay) has indeed a sharp minimum with respect to the server update parameter T. Furthermore, one can see that even though both Modi and Mod2 upper bound the real tail, the minimum values of the curves more or less coincide which implies that this optimization provides nearly the exact optimum.
As was mentioned before, the server update period can be optimized adaptively. Figure
7 shows the convergence of adaptive server update period optimization running on 500 length ping sequence for three different cases: 3 users with mean delay of 106ms (case 1), 173ms (case 2) and 60ms (case 3). As exhibited by the curves, the server update period has quite fast convergence speed as the optimal T is reached within approximately 10- 15 sec (100 measurements).
It will be appreciated that operation of one or more of the above-described components can be controlled by a program operating on the device or apparatus. Such an operating program can be stored on a computer-readable medium, or could, for example, be embodied in a signal such as a downloadable data signal provided from an Internet website. The appended claims are to be interpreted as covering an operating program by itself, or as a record on a carrier, or as a signal, or in any other form.
It will also be appreciated by the person of skill in the art that various modifications may be made to the above-described embodiments without departing from the scope of the present invention as defined by the appended claims. In particular, it will be appreciated that, although described in relation to a Universal Mobile Telecommunications System having an IP Multimedia Subsystem, the present invention is also applicable to other types of network.

Claims

WHAT IS CLAIMED IS:
1. A method for use in a multiplayer server-based gaming protocol in which each of a plurality of gaming clients is in communication over a network with a gaming server for participating in a common multiplayer network game, the protocol comprising a sequence of update periods in each of at least some of which a gaming update is sent from the server to each of at least some of the clients for updating them on a status of the game, with each client sending a gaming action, if any, to the server in response to receipt of such a gaming update, the gaming action being used at the server to update the status of the game, the network being of a type to produce variations in client-server communication delays, and the method comprising: accessing for each client a function representing a distribution of client-server delays relating to that client, causing a parameter used to determine a duration of the update periods to be updated so as to tend to improve an evaluation relating to a predetermined measure of game quality, the evaluation being dependent upon the functions and the parameter, and causing the functions to be updated based on measurements of client-server delay in the network.
2. A method as claimed in any preceding claim, wherein improving the evaluation comprises minimising or maximising the evaluation, depending on the nature of the predetermined measure.
3. A method as claimed in any preceding claim, wherein improving the evaluation comprises minimising or maximising a likelihood that the predetermined measure of game quality is greater or less than a predetermined threshold, depending on the nature of the predetermined measure.
4. A method as claimed in claim 3, wherein the likelihood is a probability.
5. A method as claimed in any preceding claim, wherein the function comprises a probability density function and/or a probability distribution function.
6. A method as claimed in any preceding claim, wherein the predetermined measure comprises an element relating to an idle time for each of the clients in an update period, where an idle time for a client in an update period relates to the time remaining in that update period after a reply to the gaming update from the client is received at the server.
7. A method as claimed in claim 6, wherein the predetermined measure comprises an element relating to the maximum idle time among the clients in an update period.
8. A method as claimed in claim 7, wherein improving the evaluation comprises minimising a likelihood that the predetermined measure of game quality is greater than a predetermined thresho Id.
9. A method as claimed in claim 8, comprising updating the parameter so as to tend to minimise a probability p[maxη; > A), where η, represents the idle time for client
i of the plurality of clients, and where A represents the predetermined threshold.
10. A method as claimed in claim 9, comprising updating the parameter so as to tend to minimise the expression
Figure imgf000024_0002
where T represents the parameter, where
Figure imgf000024_0001
Xi represents the client-server delay for client i, where β(t) represents the probability density function for client i, with Ft(t) representing the corresponding probability distribution function, and where ξ represents the maximum delay among the clients.
11. A method as claimed in any one of claims 6 to 10, wherein the predetermined measure comprises an element relating to the average idle among the clients in an update period.
12. A method as claimed in any preceding claim, wherein a reply to a gaming update received at the server after the end of the update period in which that gaming update was sent is considered as a loss, and wherein the predetermined measure comprises an element relating to the loss among the clients in an update period.
13. A method as claimed in claim 12, wherein the predetermined measure comprises an element relating to the average loss rate among the clients.
14. A method as claimed in any preceding claim, wherein the parameter relates to a base duration for each update period, and an overall duration of each update period is determined to be a multiple of the base duration.
15. A method as claimed in claim 14, wherein the duration of each update period is determined to be an integer multiple of the base duration.
16. A method as claimed in claim 15, wherein the integer multiple is determined in advance to be one.
17. A method as claimed in any one of claims 1 to 15, wherein the duration of an update period is determined in dependence upon whether replies to the gaming update for that update period have been received at the server from all the clients to which the gaming update was sent.
18. A method as claimed in claim 17, when dependent on claim 14, wherein the duration of an update period is determined to be the lowest multiple of the base duration that allows replies to the gaming update for that update period to be received at the server from all the clients, at least up to a predetermined maximum multiple.
19. A method as claimed in claim 18, wherein the predetermined maximum multiple is two.
20. A method as claimed in any preceding claim, wherein updating the parameter is performed as part of a recursive optimisation routine.
21. A method as claimed in claim 20, wherein the recursive optimisation routine is a gradient search routine.
22. A method as claimed in claim 20 or 21, comprising performing the optimisation routine at predetermined intervals.
23. A method as claimed in any preceding claim, wherein at least one function relates to more than one client.
24. A method as claimed in any preceding claim, comprising storing the function.
25. A method as claimed in any preceding claim, comprising updating the parameter.
26. A method as claimed in any preceding claim, comprising updating the functions.
27. A method as claimed in any preceding claim, wherein the function is modelled using radial basis functions, and wherein updating the function is performed as part of a radial basis function fitting technique.
28. A method as claimed in any preceding claim, comprising updating the function at predetermined intervals.
29. A method as claimed in any preceding claim, comprising updating the parameter at predetermined intervals.
30. A method as claimed in any preceding claim, wherein the client-server delay is determined in dependence upon the time period from sending a gaming update to receiving a gaming action in reply.
31. A method as claimed in any preceding claim, wherein the network is of a heterogeneous type.
32. A method as claimed in any preceding claim, wherein the method is performed at the server.
33. Apparatus for use in a multiplayer server-based gaming protocol in which each of a plurality of gaming clients is in communication over a network with a gaming server for participating in a common multiplayer network game, the protocol comprising a sequence of update periods in each of at least some of which a gaming update is sent from the server to each of at least some of the clients for updating them on a status of the game, with each client sending a gaming action, if any, to the server in response to receipt of such a gaming update, the gaming action being used at the server to update the status of the game, the network being of a type to produce variations in client-server communication delays, and the apparatus comprising: means for accessing for each client a function representing a distribution of client-server delays relating to that client, means for causing a parameter used to determine a duration of the update periods to be updated so as to tend to improve an evaluation relating to a predetermined measure of game quality, the evaluation being dependent upon the functions and the parameter, and means for causing the functions to be updated based on measurements of client-server delay in the network.
34. A program for controlling an apparatus to perform a method as claimed in any one of claims 1 to 32.
35. A program which, when loaded into an apparatus, causes the apparatus to become an apparatus as claimed in claim 33.
36. A program as claimed in claim 34 or 35, carried on a carrier medium.
37. A program as claimed in claim 36, wherein the carrier medium is a storage medium.
38. A program as claimed in claim 36, wherein the carrier medium is a transmission medium.
39. An apparatus programmed by a program as claimed in any one of claims 34 to
38.
40. A storage medium containing a program as claimed in any one of claims 34 to
37.
PCT/EP2007/051856 2007-02-27 2007-02-27 Method and apparatus for use in multiplayer server-based gaming WO2008104221A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2007/051856 WO2008104221A1 (en) 2007-02-27 2007-02-27 Method and apparatus for use in multiplayer server-based gaming

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2007/051856 WO2008104221A1 (en) 2007-02-27 2007-02-27 Method and apparatus for use in multiplayer server-based gaming

Publications (1)

Publication Number Publication Date
WO2008104221A1 true WO2008104221A1 (en) 2008-09-04

Family

ID=38657216

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2007/051856 WO2008104221A1 (en) 2007-02-27 2007-02-27 Method and apparatus for use in multiplayer server-based gaming

Country Status (1)

Country Link
WO (1) WO2008104221A1 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019195167A3 (en) * 2018-04-02 2019-11-21 Google Llc Detecting and compensating for display lag in gaming systems
US10898812B2 (en) 2018-04-02 2021-01-26 Google Llc Methods, devices, and systems for interactive cloud gaming
CN112511256A (en) * 2020-11-24 2021-03-16 高小翎 Robust synchronization method for dynamic delay optimization in online game
CN113082723A (en) * 2021-03-24 2021-07-09 杭州电魂网络科技股份有限公司 Game server rolling updating method, device, electronic equipment and medium
US11110348B2 (en) 2018-04-10 2021-09-07 Google Llc Memory management in gaming rendering
US11140207B2 (en) 2017-12-21 2021-10-05 Google Llc Network impairment simulation framework for verification of real time interactive media streaming systems
US11305186B2 (en) 2016-05-19 2022-04-19 Google Llc Methods and systems for facilitating participation in a game session
US11369873B2 (en) 2018-03-22 2022-06-28 Google Llc Methods and systems for rendering and encoding content for online interactive gaming sessions
WO2022163439A1 (en) * 2021-01-29 2022-08-04 国立研究開発法人産業技術総合研究所 Virtual space sharing system, virtual space sharing method, and virtual space sharing program
US11662051B2 (en) 2018-11-16 2023-05-30 Google Llc Shadow tracking of real-time interactive simulations for complex system analysis
US11684849B2 (en) 2017-10-10 2023-06-27 Google Llc Distributed sample-based game profiling with game metadata and metrics and gaming API platform supporting third-party content
US11872476B2 (en) 2018-04-02 2024-01-16 Google Llc Input device for an electronic system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996025989A2 (en) * 1995-02-24 1996-08-29 Velocity, Inc. Method and apparatus for minimizing the impact of network delays
US5820463A (en) * 1996-02-06 1998-10-13 Bell Atlantic Network Services, Inc. Method and apparatus for multi-player gaming over a network
US20060135258A1 (en) * 2004-12-17 2006-06-22 Nokia Corporation System, network entity, client and method for facilitating fairness in a multiplayer game
WO2007011590A2 (en) * 2005-07-14 2007-01-25 Gemini Mobile Technology, Inc. Protocol optimization for wireless networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996025989A2 (en) * 1995-02-24 1996-08-29 Velocity, Inc. Method and apparatus for minimizing the impact of network delays
US5820463A (en) * 1996-02-06 1998-10-13 Bell Atlantic Network Services, Inc. Method and apparatus for multi-player gaming over a network
US20060135258A1 (en) * 2004-12-17 2006-06-22 Nokia Corporation System, network entity, client and method for facilitating fairness in a multiplayer game
WO2007011590A2 (en) * 2005-07-14 2007-01-25 Gemini Mobile Technology, Inc. Protocol optimization for wireless networks

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11305186B2 (en) 2016-05-19 2022-04-19 Google Llc Methods and systems for facilitating participation in a game session
US11684849B2 (en) 2017-10-10 2023-06-27 Google Llc Distributed sample-based game profiling with game metadata and metrics and gaming API platform supporting third-party content
US11140207B2 (en) 2017-12-21 2021-10-05 Google Llc Network impairment simulation framework for verification of real time interactive media streaming systems
US11369873B2 (en) 2018-03-22 2022-06-28 Google Llc Methods and systems for rendering and encoding content for online interactive gaming sessions
US10898812B2 (en) 2018-04-02 2021-01-26 Google Llc Methods, devices, and systems for interactive cloud gaming
US11872476B2 (en) 2018-04-02 2024-01-16 Google Llc Input device for an electronic system
US11077364B2 (en) 2018-04-02 2021-08-03 Google Llc Resolution-based scaling of real-time interactive graphics
WO2019195167A3 (en) * 2018-04-02 2019-11-21 Google Llc Detecting and compensating for display lag in gaming systems
US11110348B2 (en) 2018-04-10 2021-09-07 Google Llc Memory management in gaming rendering
US11662051B2 (en) 2018-11-16 2023-05-30 Google Llc Shadow tracking of real-time interactive simulations for complex system analysis
CN112511256A (en) * 2020-11-24 2021-03-16 高小翎 Robust synchronization method for dynamic delay optimization in online game
WO2022163439A1 (en) * 2021-01-29 2022-08-04 国立研究開発法人産業技術総合研究所 Virtual space sharing system, virtual space sharing method, and virtual space sharing program
CN113082723A (en) * 2021-03-24 2021-07-09 杭州电魂网络科技股份有限公司 Game server rolling updating method, device, electronic equipment and medium

Similar Documents

Publication Publication Date Title
WO2008104221A1 (en) Method and apparatus for use in multiplayer server-based gaming
EP1876758B1 (en) Method for probing the peer-to-peer quality of service (QOS)
US9154396B2 (en) Passive measurement of available link bandwidth
CN108429701B (en) Network acceleration system
US9781474B2 (en) Content playback information estimation apparatus and method and program
de Morais et al. Application of active queue management for real-time adaptive video streaming
JP2006518138A (en) A method for tracking multicast audience size
Kua et al. Adaptive Chunklets and AQM for higher-performance content streaming
US11616730B1 (en) System and method for adapting transmission rate computation by a content transmitter
CN112383791B (en) Media data processing method and device, electronic equipment and storage medium
US20230231810A1 (en) System and method for adapting transmission rate computation by a content transmitter
Saldana et al. Online FPS games: effect of router buffer and multiplexing techniques on subjective quality estimators
Villa et al. Improving fairness for adaptive http video streaming
Abdallah et al. A cross-layer controller for adaptive video streaming over IEEE 802.11 networks
Park et al. Client-side rate adaptation scheme for HTTP adaptive streaming based on playout buffer model
Liu et al. Probabilistic chunk scheduling approach in parallel multiple-server dash
Zhang et al. An online learning based path selection for multipath real‐time video transmission in overlay network
Ben Ameur et al. Performance evaluation of TcpHas: TCP for HTTP adaptive streaming
Kenesi et al. Optimizing multiplayer gaming protocols for heterogeneous network environment
Chung Modified CUBIC Congestion Avoidance for Multi-side Parallel Downloading over Lossy Networks
Hiranandani et al. User throughput-based quality of experience evaluation for in flight video streaming
Shende et al. Cross-layer Network Bandwidth Estimation for Low-latency Live ABR Streaming
Park et al. Queueing theoretic approach to playout buffer model for HTTP Adaptive Streaming
Mone et al. Testbed based analysis of Linux queue disciplines over Internet traffic mix
van der Hooft et al. Clustering‐based quality selection heuristics for HTTP adaptive streaming over cache networks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07712345

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07712345

Country of ref document: EP

Kind code of ref document: A1