The subject matter of the invention concerns user experience estimations of interactive services in mobile networks.
The deployment of the novel network technologies, such as LTE and 5G, makes interactive services to be ever more present in everyday life. For instance, interactive services involving Augmented Reality (AR)/Virtual Reality (VR), mobile gaming, real-time multimedia, remote-controlling and supervising machines (ex. drones, surgery, vehicles). That is, interactive over the top (OTT) services are those services deployable on a given computing device, where the user is communicating, participating, and/or consuming the service over the network. Testing the quality of such interactive OTT services is a complicated task. Such services are built in different ways and, thus, each has unique requirements for hardware, software, and network, but also users may interact with them in a variety of ways and conditions. Measuring the user experience of an interactive OTT service is, therefore, a complicated task. Simply, there are a multitude of influencing factors contributing to the user experience. However, one key problem is the abundance of interactive OTT services, since each would require individual tailor-made quality testing solutions. Take the cloud gaming applications as an example. Therein, each application may be using its own gaming platform, servers, and clients, its own streaming application protocol, using variety of combinations for transport protocol, and support variety of audio/video codecs and resolutions. Thus, each cloud gaming application would require its own solution for testing network impact on interactivity, which is complicated and redundant process.
Typical quality testing tools, require access to specific information of the users' devices as well as access to the bitstream exchanged between the service and the user. Such quality testing tools are becoming increasingly problematic as performing automatic quality testing using user's data can be against user agreements and also made very difficult by the vendor of the operating system in the device. In addition, service developers are encrypting their traffic, meaning that the required data may not be available. Operators and regulators usually have a network centric view on their Quality of Experience (QoE) and Quality of Service (QoS) testing, meaning the network's influence on the quality is what matters for them. This leads to the need of generic OTT interactive service testing, where the focus is on analyzing the OTT service's network traffic behaviour. Each interactive OTT service uses a specific Internet Protocol (IP) for data exchange within the service nodes which shapes the network communication. Then, the communication and the data exchange have a specific pattern, such as the amount of network packets exchanged during a window of time, the size of the network packets, and the sending/receiving frequency of the packets. The protocols and the configuration of the data exchange depends on the type of the interactive OTT service, which typically can be highly interactive such as real time (e.g., voice/video conversational services, interactive control, cloud gaming), less interactive such as semi real time (e.g., social media), or minimally interactive such as non-real time (e.g., download/upload for later usage, record voice messages). The transport protocols on top of IP, as well as the shape and frequency of the data exchanged within the service is open information which is possible to be monitored and analysed with network sniffing tools.
Network testing tools using generic testing techniques, which are in the scope of the present application, would analyse and group the OTT services based on the utilized communication protocols, shape, and exchange frequency of the data within the service. The scope of the generic testing techniques is to understand how the network condition affects the communication between the client and the server. For instance, the communication within the service is different when the user has a static location, as opposed to when the user is on the move and consuming the service, such as in a vehicle. Upon learning the traffic patterns per OTT service, as well as the impact of the network conditions, it would be possible to create a generic testing technique that emulates the network traffic packet pattern of the service. That is, create a testing setup resembling a real OTT service's client and server, and start a data exchange (e.g., by using pre-defined network stimuli) that emulates the real network traffic packet pattern of the OTT service. However, the generic testing technique needs to be adaptive in order to be able to modify the shape of the emulated network. For instance, modify the emulated traffic patterns based on the selected OTT service, its network requirements, and the network conditions.
The literature concerning QoE has covered multiple areas involving interactive OTT services. QoE has been evaluated in video streaming applications [1], [12-16], voice over IP [2], [16-17], mixed reality [3], autonomous vehicles [4], and video games [5, 6, 18]. The cited papers identify a set of service and network performance metrics that impact the user experience and evaluate it. As an evaluation criterion, papers describe uses of multiple approaches involving mathematical and machine learning models.
The study [4] proposes a taxonomy to understand the QoE aspect related to interactive services. The taxonomy differentiates and categorizes influencing factors, interaction performance metrics, and quality features in four layers. The influencing factors are data related to the physical and network component of the service, as well as metrics related to the specific application and its logical components. The study [4] gives an example of modeling the QoE for autonomous vehicles, covering complex communication between the vehicle and service's servers, directly among vehicles, but also between the vehicle and road infrastructure. Thus, there are several different network links per vehicle that support simultaneous communication. For instance, the vehicle can be remotely controlled from distance where the vehicle streams heavy video in uplink, while receiving light remote control stream in downlink. Therefore, the quality of the network communication is of the utmost importance for successful operation of the service. Some of the considered network performance metrics are RTT, jitter, packet loss, bandwidth, and radio signal measurements (RSSI, RSRP, RSRQ, etc.). 3GPP defines network quality requirements for remote-controlled operations, where the one way delay of the video stream should be around 150 ms on a 1 Gbps link, while the remote-control stream should have 10 ms RTT on a 1 Mbps link [7].
Video streaming applications can be generally divided into adaptive and real-time. The first one, adaptive video streaming applications, covers streaming pre-recorded videos. That is because video frames are buffered at the client's device before they are played on the screen. The term adaptive refers to the way servers detect quality/performance of the client's network access and processing abilities in real-time, adjusting the media quality accordingly. YOUTUBE® and NETFLIX® are examples of adaptive video streaming services. The server encodes the video content at multiple bit rates, while the user's client feedback tells the server to switch between streaming the different encodings depending on available resources. The adaptation is based on spatial (adapt the number of streamed pixels), temporal (adapt the number of streamed frames), and compression (adapt the quantization parameter) [1]. The studies [1], [14,15] surveys the QoE modeling for adaptive video streaming applications. The QoE models are heavily based on application performance metric, such as rebuffering frequency and its duration, frame rate, bit rate, codec, resolution, quantization parameter, and memory.
The real-time video streaming applications send live video to the clients. Twitch and live-TV stations are examples of such applications. As opposed to the adaptive video streaming, real-time services put greater emphasis on the network-related performance metrics regarding QoE [12-13]. Due to buffering capabilities and nature of TCP as a transport layer protocol, adaptive streaming applications do not suffer from video data loss. Unlike adaptive streaming, the real-time video streaming applications QoE is impacted by delay, jitter, packet loss, and bandwidth [12-13].
Video gaming is another interactive real-time service and there are several studies that perform subjective tests to evaluate gaming QoE. The studies [6], [13], looks at parameters such as PSNR, bitrate, and frames per second and maps them into QoE. These are performance metrics that require access to the actual data that is being exchanged between the gaming client and the gaming server. For instance, PSNR requires comparison between the, on client side, actually displayed video frames and server-side representative version of original video frames with no distortions. PSNR can illustrate the quality degradation caused by blockiness and the spatial fidelity of the video. Frame rate is a metric that illustrates how many frames are displayed per second. The study [6] calculates the QoE with a non-linear mathematical function based on the video quality (PSNR), reactiveness (frame rate), and positive effect (combination of PSNR and frame rate). In order to evaluate the performance of the QoE model, the studies [6], performs subjective tests by gathering 21 participants to play two video games, while measuring their user
experience. The studies by [5], uses different sets of performance metrics, such as jitter, delay, and packet loss in order to evaluate the video game QoE. The study performs experiments by having 22 participants playing three different games—Fortnite, Overwatch, and CS:GO. First, the study [5] shows the difference between online games and cloud games with respect to delay, observing that cloud games are more impacted than online games. Then, the study [5] looks at the relationships between jitter and packet loss, as well as between delay and packet loss. It concludes that when packet loss is added, additionally adding jitter will not affect the user experience. However, adding packet losses on top of adding delay impacts the user experience. The study [5] then uses a non-linear mathematical function to model delay, jitter, and packet loss with respect to the recorded subjective scores from the 22 participants. It should be noted that all prior art referring to video gaming QoE does not address the interactivity component of the gaming QoE.
The study [8] proposes a generic quality testing tool for video games. A generic quality testing tool means that the traffic pattern of the service is being modeled, but not the actual service. The study proposes one static traffic pattern, which is artificially created to cover the following phases of the video game: initial phase, highly interactive, sustainable, and trailing phase. The study claims that the difference among the phases is in the required bandwidth. During the network communication between a video game client and server, the study considers the following parameters: Packet rate, packet size, packet delay budget (if exceeded the packet is considered lost), and test duration. Based on such parameters, the study [8] extracts the bandwidth, RTT, jitter, and packet loss values. The study then uses an s-shaped logistic function per packet RTT. The study [8] then multiplies the logistic function with linear functions for the other parameters, in order to create multi-parameter function for measuring gaming interactivity.
The study [4] proposed general guidelines and a high-level QoE model for interactive services, having autonomous vehicles as a use-case. Besides stressing the importance of the cellular network and the network performance metrics in the context of QoE, the study does not define how the network traffic looks like for a general interactive service. Consequently, the study [4] doesn't discuss the impact of the network conditions and mobility on the traffic patterns. Thus, the study [4] neglects the opportunity to create a generic testing tool based on the traffic patterns, but rather proposes a way to evaluate QoE during the run-time of the interactive service itself by measuring different performance metrics in real-time. There is, also, no discussion on the importance of subjective tests for evaluating the QoE, but rather the study [4] develops a strategy for objectively evaluating the QoE. Thus, there are no guidelines for conducting subjective tests or a taxonomy on how to perform subjective tests for interactive services.
There are several models and techniques in evaluating QoE for video streaming applications. As discussed in the studies [1], [12-15] the models regarding video streaming applications use application specific metrics—requiring access to the video frames and the memory of the client's device. However, such models do not consider understanding the effect of the application specific metrics on the network traffic packet pattern in order to emulate it. In addition, none of these models address the interactivity QoE component of the service.
The study [8] proposes a generic quality testing tool for video gaming. As mentioned, the study proposes a single traffic pattern for gaming and then uses TWAMP to stream the traffic pattern from a client to a server. TWAMP is a protocol that sends data packets from one place to another and then back again with the purpose of measuring network performance metrics. However, TWAMP and, thus, the study [8] does not support adapting the traffic pattern for asymmetrical number of packets. That is, if a packet is sent at time t0 from the client, the same packet will be reflected to the client from the server at time tn, where n considers the time over network and processing time at the server. Thus, there is the same amount of packets going from the client to the server (also called upload traffic) and from the server to the client (called download traffic). However, a real video game simply does not work like that—where, for instance, a cloud-based FPS video game would send significantly more packets in downlink as opposed to the uplink, and that is a feature missing in the study [8]. Then, the cloud-based FPS video game would be streaming 120 frames per second (fps), which corresponds to streaming bursts of packets every 8 milliseconds. There is also other type of packets and bursts exchanged at other rates, and the distribution over time window defines a packet train. How many packets and/or bursts of packets are within one packet train, their sizes, as well as the waiting times between the packets and/or between the bursts of packets may be different in uplink and downlink. Such adaptation of the traffic is also not considered in the study [8]
Another major drawback of the study [8] is the understanding of how user experience is affected by the network performance metrics (e.g., RTT, jitter, packet loss). The study [8] does not perform any form of subjective tests to collect the user experience, but yet they claim to measure it. Ideally, functions such as in [8] consists of static variables which are supposed to be tuned with respect to the subjective scoring from real participants in order to determine the shape of the curve. The tuning algorithm should be based on the idea that the solution obtained for a given problem (e.g., gaming interactivity) moves towards the best solution considering, for example, root mean squared error (RMSE) or correlation (R) metrics [9]. However, the study [8] does not record any measurement values for user experience, making it impossible to tune the static parameters within the s-shaped function and determine the optimal shape of the curve. Thus, the function, its optimization, and the measured gaming interactivity value in the study [8] is misleading as the parameter tuning is based on false assumption and there is no baseline to evaluate the function validity.
Moreover, user experience formula in the study [8] considers multiplying the individual functions for each of the metrics, using an s-shaped function multiplied with two linear functions and due to several reasons, it is unlikely a linear function represents the subjective QoE.
As discussed above, one key problem in predicting network performance of an OTT service is that each OTT application would require its own solution for testing network impact on user experiences, which is a complicated and redundant process.
A solution for the problem would be creating generic and adaptive quality testing technique for the existing and the upcoming interactive OTT services. A generic and adaptive quality testing solution would enable mobile network operators to perform any network operational activity (e.g., troubleshoot, optimize, performance/user experience evaluation) for the most challenging conditions (e.g., high demanding bandwidth, extreme low latencies) created by the interactive OTT services. Thus, one objective of the present application is to create a generic and adaptive quality testing technique for interactive OTT services.
In comparison to the study [8], the uniqueness of the present application is related to the use of subjective tests in order to understand the relationship between the user experience and the traffic patterns considering the network conditions. Typically, there are multiple network conditions and phenomena that affect the user experience in mobile networks—such as cell load, interference, doppler effect, handover, etc. For instance, a high cell load will create large RTT and jitter. Thus, such network conditions are reflected in the measurement of RTT, bandwidth, jitter, and packet loss.
One uniqueness of the present application is the discovery of the way network conditions impact the network traffic packet pattern between the client and the server. For instance, the network traffic packet pattern will be different when the user plays a video game while travelling in a vehicle or train, as opposed to playing at home. Similarly, the network traffic packet pattern will look differently when there is presence or absence of cell load, interferences, doppler effect, handover, etc. Correspondingly, the present application proposes a method to dynamically adapt the emulated traffic pattern between the client and the server according to the measured network conditions. Such adaptation will then allow to measure the metrics to the same values as the service would have experienced.
The previous section discusses the prior art, while the following section distinguishes the subject matter of the present application in comparison to each of the individual cited studies. There are several directions when explaining the uniqueness of the present application, including: subjective testing of interactive services; emulating and dynamically adapting an interactive service traffic pattern; estimating a user experience score for the emulated interactive service. In the following, drawback of the prior art is presented together with arguments on the uniqueness of the present approach.
In contrast to [8], which does not use subjective user experience, the present application builds a user experience function based on subjective tests.
Also in contrast to [8], the present application defines the size of the packets and/or bursts of packets within a packet train, duration of a packet train, waiting times within a packet train and between trains, waiting times at the server, as well as the amount of packet trains streamed in uplink and downlink.
Further contrast to [8] which multiplies the individual functions (mostly linear) for each of the metrics, the present application takes the position that there are non-linear dependencies among two specific metrics, RTT and packet loss, and just a normal multiplication of their respective two functions will lead to false results. Thus, the present application proposes a way to specifically model RTT and packet loss in a way to reflect the collected user experience from the subjective tests.
The present application also contemplates that a network condition and/or a set of network conditions, which describe similar network quality, determines a specific emulated traffic pattern. For each emulated traffic pattern, the measured metrics represents how the real service perceives the network, and consequently leads to a more accurate estimation of the user experience score. In the present application, user experience is collected from subjective testing and mapped to the traffic patterns, which is an approach that distinguishes the subject matter of the present application from the rest of the QoE models. Thus, the present application is unique in this regard.
Similar arguments hold true for the QoE models on video streaming [1], [12-15] and video gaming presented by the studies [5, 6, 18]. The models [5, 6, 18] conduct subjective testing with participants playing real games, however, they only match the recorded user experience to the objective network performance metrics with the sole purpose of estimating the user experience, while completely ignoring the analysis of the network traffic packet pattern. In addition, none of the mentioned QoE models for video streaming ([1], [12-15]) and gaming ([6], [18]) do address the interactive component.
The present application argues that it is not obvious for a skilled person in the area to combine the two approaches—evaluate the QoE of an interactive service and create an adaptive emulating network traffic packet pattern out of which the user experience is estimated. This is because the cited papers on QoE in interactive OTT services [1, 4, 5, 6, 8, 12-15, 18] fail in covering the following areas:
Similarly, the cited studies regarding the creation of artificial network traffic packet pattern [8] fail to cover the following areas:
The subject matter of the present application concerns methods and systems for measuring user experience in interactive services. One method describes the procedures to measure user experience of an interactive OTT service. One system represents a software tool that can be used to measure user experience of an interactive OTT service. The aforementioned method is applicable to any interactive OTT service. The aforementioned system presented in the present application covers an example of one interactive OTT service—cloud mobile gaming service. The method presented in the present application has four main components:
A combination of those four components is the basis of the aforementioned method presented in the present application. The subjective testing covers experiments for an interactive OTT service, where users are recruited to use the service during a window of time, after which the users answer questions related to their experience and quality of the service. In parallel with the subjective tests, the method consists of artificially injecting network disturbances on the network link between the client and the server. For instance, adding larger RTTs, jitter, and packet losses, where their combination form network condition profiles.
The method records the network traffic exchanged between the client and the server tests with an aim of understanding its patterns. The network traffic packet pattern may be impacted by several sources, including:
Then, the key feature of the proposed method is finding a correlation between the network condition profiles and the recorded network traffic packet patterns, as well as between the network condition profiles and the user experience. That is, a certain combination of the network condition profile will impact the user experience and the network traffic packet pattern in a unique way. The final step of the method is creating a mathematical model for estimating the user experience. The mathematical model is calibrated by considering the collected subjective user experience scores from the users and the network conditions profiles. Then, the model expects values for the network conditions profiles as input in order to estimate the user experience.
The aforementioned system contemplated in the present application incorporates the resulting model from the presented method into a software tool that is capable of emulating the traffic pattern of an interactive OTT service, having a cloud gaming service as a use-case. That is, deploying the software tool on a client (acting as a gaming client—e.g., a mobile phone) and a server (acting as a gaming server—e.g., a Steam-link streaming server). The software tool deployed on the client is able to send/receive network packets to/from the server, thereby emulating typical communication between a cloud game client and a cloud game server. While emulating the communication, the tool is able to measure network-related performance metrics, as described in the above method—packet loss, delay, and jitter. The uniqueness of the proposed system lies in its ability to dynamically adapt the emulating network traffic packet pattern. This serves two use cases:
In the first case, the adaptability concerns dynamically modifying the network traffic packet pattern based on the measured network condition while the tool is emulating the cloud gaming service. For instance, the traffic pattern will have different shape when the client (e.g., mobile phone) is experiencing poor mobile network in comparison to normal mobile network conditions.
In the second case, the tool enables manually adapting the network traffic packet pattern, to use in the dynamic adaptation of traffic pattern, based on the OTT service requirements. That is, manually changing the configuration of the network traffic packet pattern, such as its packet sizes, sending frequency, respond time, network protocols, etc.
The system presented in the present application, while emulating the cloud gaming service, is then able to utilize the calibrated mathematical formula from the proposed method in order to translate, in real-time, the measured network-related performance metrics into a user experience score estimate for the cloud gaming service.
The benefits of the method and the system concerns both mobile network operators and OTT service developers. The mobile network operators would benefit from using the proposed method and system for measuring the impact of their network on the user experience of particular applications, as well as optimizing their network accordingly. This optimization improves the network and avoids churn and also attracts new customers. For instance, mobile operators may use the system to measure the user experience of mobile cloud gaming service on a public train journey from A to B to troubleshoot at which points of the journey their network underperforms. For this purpose, the client part of the software tool must be deployed on a device with central processing unit (CPU) capabilities and be physically present on the train. The client tool will then communicate with the server part (deployed somewhere on the internet) to emulate the OTT service, measure the network conditions, adapt the emulated traffic, and estimate the user experience score.
The OTT service developers may benefit by improving the service. Examples:
The subject matter of the present application may be best explained through the attached drawings in which:
In the following description, for the purposes of explanation, numerous specific details are set forth to provide a thorough understanding of the present invention. It will be apparent, however, that the present invention may be practiced without these specific details.
One network performance metric of interest for the present application is round trip time (RTT). RTT is measured in the following way:
The RTT cannot be measured for packets only sent in one direction, i.e., when there is no packets sent in the opposing direction.
Another network performance metric of interest for the present application is per direction trip time, one way trip time (OWTT). OWTT requires synchronized clocks on client and server.
OWTT is measured in the following way for the uplink (from client to server):
WTT is measured in the following way for the downlink (from server to client):
Another network performance metric of interest for the present application is Downlink (DL) and uplink (UL) throughput. Downlink would represent the packets going from the server 118 to the client 110, such as the packet train 113/114. Uplink would be the opposite way, for instance the packet train 111/112. It is possible to measure both DL and UL throughput at the client 110 with the following procedure:
Another network performance metric of interest for the present application is jitter. Jitter describes the change in trip delay, delay variations (DV). Jitter is typically measured as change in two consecutive delay measurements designated IPDV for inter-packet delay variations, or the delta to the shortest delay in a time window, designated PDV for packet delay variations. Jitter can be measured per direction and/or for the round trip, and does not require synchronized clocks.
In the following,
Similarly, the corresponding jitter types can be measured on the train level where the timestamps for the train are on sending sides the timestamp for the first packet in the train, t1, and on the receiving side is the timestamp for the last packet in the train, ty.
Base delay represents the minimum time the service delivers a packet under close to ideal conditions. On
Random jitter is frequent changes, typically many times per second, to the delay often caused by variations in load (usage of the network from other entities and/or services) and emphasized by communication systems using timeslots and radio links. The random jitter is characterized by delay changes of less than 50 ms. Random jitter is experienced in an interactive service in two ways, the average is experienced as an increase of the base delay, and the variations itself increases the difficulty to accurately and consistently perceive and interact with the service.
Jitter spikes may be characterized by delay changes lasting greater than a first predetermined length of time and at a frequency of less than once per a second predetermined length of time and is typically only occurring at most once per second. In one embodiment jitter spikes arc characterized by delay changes greater or equal to 50 ms and a frequency of happening less often than once per second. In mobile access networks, jitter spikes are often observed in not so good radio conditions when reaching the border between cells with short disruptions in the network access link, amplified by possible load and reduced radio resources in “outer” cell coverage.
Another network performance metric considered in the present application is packet loss. It is measured per packet train in the receiving end of the server (UL packet loss) and in the receiving end of the client (DL packet loss). Any packet not received before packets from the next (subsequent) train, or before a settable timeout is set, is considered lost.
The above-mentioned network metrics and/or their statistics can be used to define a network condition and/or estimating the user experience.
There are several combinations of causes for possible poor network performance, reflected through the OWTT, RTT, throughput, jitters, and packet loss. Starting from the gaming server 118 on
3GPP is a standardization body for cellular mobile networks which has already defined acceptable ranges for various network performance metrics in multiple interactive services, including gaming, video streaming, AR/VR, remote controlling, etc [1, 2, 3, 4, 5, 6]. For instance, the target network performance values for gaming are <50 ms one way trip time (OWTT), <10{circumflex over ( )}-3 packet error rate, and >1 Gbps data speed [7]. The scope of the present application is to evaluate how the network performance impacts the gamer's user experience. In particular, the aim can be to setup a gaming infrastructure as illustrated on
The experimental setup consists of three main modules—the game service 130, the network 140, and the gamer 150. The game service module 130 consists of two laptops, one for the CS:GO server 131, running a dedicated CS:GO game server, and the other one for the cloud gaming server 132. The gamer module 150 consists of cell phone 154, which is running the cloud game client configured for 120 Hz refresh rate and verified to achieve stability when no network degradation is applied. It is configured to use surround sound. Then, the gamer module 150 consists of Xbox One gamepad 153 connected to one of the USB-hub ports of the USB-C multiport adapter and used by the gamer/users as input device to play the CS:GO match. The gamer also has a wireless surround headphone 152, wirelessly connected to one of the USB-hub ports of the USB-C multiport adaptor. It has been used to provide the surround audio playback for gamer/user. The last piece of equipment in the Gamer Module 150 is the Tablet PC 155 which displays a questionnaire to be answered by the gamer right after a CS:GO session (match round). All the user equipment (152, 153, 154, 155) is interconnected via USB-C multiport adapter 151, which is also used to provide the cell phone with ethernet connectivity. The network module 140 represent the network links between the game service 130 and the gamer 150, including the network router 141. The network router 141 is responsible for delivering communication between the Game Service Module 120 and Gamer Module 150 as well as provide internet access (using 4G LTE network) for account authentication. The Network Module 140 consists of three laptops (142, 143, 144) all with dual ethernet connections to pass network traffic, and all installed with the NetEm software for artificially tweaking the performance of the network links between the client and the server.
The Game Service Module 130 and the Gamer Module 150 are using service Steam Remote Play through their software named SteamLink. In particular, the Cloud Gaming Local Streaming PC server 132 executes CS:GO game client, streamed later to the Phone client 154 using the SteamLink client application. SteamLink is one of the most popular gaming platforms for remote play as of today.
The three laptops (142, 143, 144) have the NetEm software installed with the following configuration:
The laptop 131, besides the CS:GO server, is also running a setup control center software which is developed to automate the whole process of the experiments. The setup control center software has the following functionalities, listed in no particular order:
Table 3, seen in
During the real test, each participant 202 had 29 unique test conditions 205 to play which were loaded in a randomized manner. Each of the 29 test conditions contain a unique set of network disturbances (shown on Table 1), which are imposed on the network communication. A single network condition is applied throughout the whole game match, which has a duration of 90 seconds. Between changing test conditions, participants were allowed to take breaks and even stop the test if they felt like doing so. Each participant answered a post-match questionnaire 207 after each of match sequences (questionnaire shown on Table 2, seen in
During the game matches, network traffic logs were recorded 208 which describe the communication between the video game client and the server. The logs are analysed in post processing 208 in order to determine the network traffic packet patterns observed for the 29 network conditions individually for an average participant. As a result, it was observed that the network traffic packet patterns differ from condition to condition, meaning that the network conditions have influence on the characteristics of the network communication between the video game client and server. These characteristics of the network traffic 209 are illustrated on
At the conclusion of the 29 game matches, each participant then answers an after-test feedback questionnaire 210, which captures the final thoughts of the participant about the games as well as possible fatigue and tiredness after the experiments.
2.3. Results from the Subjective Experiments
Then, statistics of the dataset is computed 302, which includes grouping the subjective answers by the participants per network condition, which are 29 conditions in total. The statistics are used to find correlation and inter-dependencies among network conditions and participants' answers 304. For instance,
The research flow on
The process begins by analysing each question from the Table 2 (
The process on
Combinations of mathematical functions are used to estimate the quality of experience (QoE) of the cloud-based video game. For example, if the combination is a product of each of the mathematical functions, and there is one such mathemathical function per metric, and there are N number of network metrics, then there will be a product of N network metric functions. Building on that concept of a product of all per network metric functions, first, each of the network conditions profiles are fitted and calibrated into individual symmetrical sigmoid functions, a variant of network metric functions, towards the recorded scores of the participants. Second, in a preferred embodiment, the overall QoE score as part of the present application is defined by the multiplication of these symmetrical sigmoidal functions. It is noted here that while QoE is the subjective metric that is estimated in this embodiment, it is understood that one may instead build a mathematical function specific to one of the other subjective metrics represented in Table 2.
The selection of sigmoid function per network metric as well as their multiplication to determine the QoE score is based on the following:
The following (1) sigmoidal curve is used for calibration on the four network conditions profiles:
Such sigmoidal curve per network metric results in having coefficients per metric which can be generically referred to as bMetric, cMetric and dMetric. And to simplify as often as possible the value of dMetric could be set to 0 for some metrics.
The process starts by fitting the recorded participants' QoE scores into (1) for each of the four network condition profiles [RTT], [PL], [Random Jitter], [Spiky jitter]. The static parameters b and c are, thus, calibrated per profile in order to yield a set of functions that when multiplied together produces the best accuracy score when estimating the recorded QoE scores.
RTT Sigmoid. Regarding the [RTT] network condition profile, the following sigmoid function is applied:
RTT is a metric which exemplifies when the dMetric coefficient can be set to 0 and eliminated from the function.
Similar process is applied for the other three network condition profiles. At the end this process, the overall QoE is defined as multiplication of the four individual sigmoidal functions, one per each network condition profile:
QoE (rtt, pl, stdevnj, spikesizesj)=FRTT(rtt)*FPL(pl, rtt)*FRJ(stdevrj)*FSJ(spikesizesj) (3)
PL Sigmoid. Extensive testing and evaluations showed that the complex non-linear interdependency between the two network condition profiles [RTT] and [PL] cannot be accounted for just by the multiplication of the two sigmoid functions, for PL and for RTT, but rather only by a 2D function for PL that takes as second variable the RTT:
FPL(pl, rtt) (4)
Several approaches have been experimented, such as simple linear interpolation/extrapolation around and in between the round-trip delay values for which packet loss data was available or more complex 2D curve fitting. However, the solution which proved to meet both the statistical performance requirements and showed minimal number of coefficients (to avoid over-training) has the sigmoidal function for packet loss also being dependent on RTT, and is defined by:
Where actually b and c have been manually studied to fit a sigmoid for the group of PL conditions changing with round-trip time, respectively FPL
Iterative tests showed that a straightforward implementation of the sigmoid function in (5) resulted in inconsistencies (higher scores for worsening conditions) and a half exponential showed to be the best fit.
Applying curve fitting of PL towards changes in b and c over RTT resulted in two functions:
And consequently, it yielded the following PL function, which describes the PL effect at different RTT values:
Random Jitter Sigmoid. The simplified symmetrical sigmoid didn't capture that the RJ did not reach “0” as the lowest score, but rather flattened out at a higher value. Therefore, a full sigmoid was required, and it proved to work well with minimal number of coefficient possible:
Spiky Jitter Sigmoid. The curve fitting for the spike jitter using the simple symmetrical sigmoid showed good statistical performance, and no inconsistency in the output (QoE) score and derivative when compared with measured data.
The coefficients of the static parameters after the calibration, for the formula (3), are presented in Table 4, seen in
While Table 4 presents specific values for the various coefficients, it is understood that slight variations from these coefficients may also work well. In some embodiments, varying the coefficient values buy ±5% or even ±10% may provide acceptable results.
Furthermore, instead of formula (3) above, the formula can be extended to take into account other parameters, and these additional parameters can also be represented in the formula in the form of additional sigmoidal functions. For instance, parameters directed to resolution and framerate may also be used, in which case formula (3) would be modified as follows to formula (11):
QoE (rtt, pl, stdevnj, spikesizesj, resolution, framerate)=FRTT(rtt)*FPL(pl, rtt)*FRJ(stdevrj)*FSJ(spikesizesj)*FRES(resolution)*FFFR(framerate) (11)
It is understood that in some embodiments, not all of the individual sigmoidal function may be used, and so other combinations of the above-mentioned, and even other, sigmoidal functions are possible. However, the sigmoidal functions corresponding to FRTT and FPL are likely to be included in any formulas due to their impact on user experience.
Each of the sigmoidal functions has a value between 0 and 1, and so both formula (3) and formula (11) return a value between 0 to 1. And both formulas have a value of 1 when the metrics shows no network degradation. But the subjective test uses an ACR (Absolute Category Rating) scale in the range 1 to 5, and so the formula's QoE value may then be adjusted as follows: Adjusted Score=1+4*QoE to bring the adjusted value in line with the ACR range of 1 to 5.
As a practical matter, however, the QoE score is also affected by resolution, frame rate and other factors (e.g., the game, controller type, physical screen size, etc.). As a consequence, the average subjective scores invariably are under 5, even when there is no network degradation, since user experience is affected by the aforementioned resolution and framerate experienced by the user. On the ACR scale we may then obtain a modified Adjusted Score=1+(QoE*k*4) where k is a scalar for the subjective score with those metrics showing no degradations. And it is this k that can be handled by extending the function with more sigmoids, such as the aforementioned FRES and FFR.
Also, while function (3) specifically pertains to the QoE estimate, it is understood that the form of this function, as well as that of function (11) immediately above, can also be used to estimate the results from any of the other subjective questions listed in Table 2. Thus, generally speaking, the form of the above functions is applicable to estimating any “user experience metric” (UEM) and so is not limited to estimating only QoE. It is understood, then, that the aforementioned parameters rtt, pl, etc. are relevant to estimating all of the various user experience metrics.
Table 5, seen in
During the experiments with the gamers, the game traffic patterns was recorded and analysed, shown on
but also the time Δ between the network packets, as well as between the packet trains. That is, within the packet train 0, there is Δ0, Δ1, Δ2, and Δ3 waiting time between the packets P0, P1, P2, and P3 respectively. The communication is followed by a response from the server with packet train 1, with packets P4, P5, P6, and P7, with the corresponding sending times and waiting time Δ between the packets. The unique part of the present application is the realization that the network conditions during the communication between the client and the server have a direct impact on the characteristics of the network traffic, as discussed with
and the waiting times Δ between the packets and packet trains. Thus, each network condition will result in that the network traffic has a unique pattern.
Additionally,
Finally,
The results shown in
Once the interactive OTT service type is selected, for instance a cloud-based video game service, the software tool attempts to connect to a server 402 and sends dummy network packets 403 in order to measure the current network conditions. The results from the network measurements during the dummy packet streaming will determine which of the pre-defined network traffic patterns will be emulated between the client and the server 404. For instance,
The process of emulation begins by pressing a button 405 in the software tool. The button initiates the streaming of network packets during a window of time 406 according to the pre-defined network traffic packet pattern. Such process is similar to the description in
During the network communication between the client and the server, the client measures the network conditions through network metrics, such as RTT, packet loss, and jitter 407. The measured network metrics are then used for two key processes: (1) estimating the user experience using the network metrics are input to the mathematical formula 408, as described on
For instance, considering
The traffic pattern adaptation to the network conditions considers two aspects:
For example, the number of adaptations per direction can consider the following:
Similarly, for example, the adaptation pace can consider the following:
Based on the above-mentioned considerations, a set of 5 to 10 traffic patterns and a measurement time window of 10 seconds is reasonable for emulating the cloud gaming traffic with the purpose of estimating the user experience.
During the time window, a 40 ms (or 100 ms as mentioned above) packet pattern is used repeatedly when emulating cloud gaming traffic running 120 frames per second. Within each time window, a decision on the adaptation is made before the time window end is reached, typically 1 to 2 seconds before the end of the time window to handle any network connection disruptions at the end of the time window. The decision is based on the network condition as determined from the metrics measured on the received packet trains since the time window start, or directly decided from the measured network metrics during the time window.
The information for the server to use in deciding, or information decided by the client, as to which packet pattern to use in next time window is carried in the packet payload from the client to the server so the server knows what to send to the client to properly emulate the service traffic under the most recent network conditions.
At the end of the time window, the measured metrics are used to estimate the user experience (based on the formulas above) and typically stored to file together with metrics, time of the day, geolocation, as well as presented on the display to the user running the test. Optionally the result, and metrics and time of day and geolocation, can be forwarded in the packet payload to the opposing side for cloud storage and post processing.
Priority is claimed to U.S. Provisional Patent Application No. 63/430,300 filed Dec. 5, 2022, and to U.S. Provisional Patent Application No. 63/437,333 filed Jan. 5, 2023. The contents of the aforementioned applications are incorporated by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
63437333 | Jan 2023 | US | |
63430300 | Dec 2022 | US |