A TEFSM-based Framework for QoE Evaluation of OTT Services

Most of the work related to QoE maps objective variables (QoS-related) into a single one that predicts the quality the user perceives. In this paper we present a new approach to model multimedia OTT services, integrating not only the functional aspects of the service but also non-functional variables, which are classified into objective, subjective and business-related. Non-functional metrics might affect the Quality of Service (QoS), Quality of Experience (QoE) and Quality of Business (QoBiz) correspondingly. We also discuss how all these variables can be taken into account to predict the QoE of the service being studied. The functional requirements are modeled into a Timed Extended Finite State Machine (TEFSM), which is augmented with context variables (and their updating functions) representing non-functional requirements related to QoS, QoE and QoBiz. We use these parameters to evaluate the QoE using a trace model derived from the TEFSM previously built.


Introduction
Nowadays, well-known multimedia services like Netflix, Youtube, Spotify or beIN Sports Connect [1] are gaining popularity, since they provide an easy and often cheaper way to access movies and series, video on demand and music respectively.Moreover, other non-multimedia services like Whatsapp or Skype have started to take an important part of the market that has been traditionally occupied by telephony companies; these services are nowadays substitutes for SMSs and phone calls.All the examples presented above share some common characteristics, being the most important when using Internet as the delivery network.Over-The-Top Services (OTT) is the concept that encloses all the given examples.They are characterized by being services offered over Internet, which makes its distribution easier than the methods used by traditional service providers.For example, a movie service like Netflix avoids the installation of a physical network to deliver the content to the users, which lowers the costs of deployment and, therefore, lowering the subscription costs for the customer.However, even when the usage of Internet as the delivery network has the advantage of lowering the complexity and costs of deployment of the service, it also proposes challenges that need to be addressed.Internet was conceived as a best-effort network in the sense that there is no way to ensure the delivery of a message; even when using TCP, we can be sure that the message will arrive its destination, but we cannot be sure how much time it will take.In other words, by using Internet we cannot ensure the quality of the services that rely on Internet as the delivery network.This raises the challenge to ensure quality for OTT services like the ones previously mentioned.In specific, in this work we aim to ensure three main types of quality: the Quality of Experience (QoE) to the user, granting him/her the best service experience; the Quality of Service (QoS), to the service providers avoiding network congestion; and the Quality of Business (QoBiz) to the stakeholders, maximizing the revenues.However, meeting all these objectives may not be an easy task due to the high correlation among the variables.Wolter and Van Moorsel state that the user experience directly affects how much shopping the customer does, and therefore, how much money the business earns [2].Moreover, most of the works surveyed by Schatz et al. state that there exists a direct relationship between QoS and QoE [3], but as Geerts et al. state, QoS is not the only factor that influences the QoE [4].In this paper we propose a framework to estimate QoE of an OTT Service based on the formalism of Extended Finite States Machine with timeouts (TEFSM), representing the functional requirements of the service being modeled.The derived machine is then augmented with non-functional requirementsinserted in the machine as context variablesrepresenting objective, subjective and business parameters.In addition to these parameters, we also provide their corresponding updating functions, showing how the values of these variables should be updated each time a 'functional' transition is executed.We also discuss how to derive the l-equivalent of the TEFSM model, which is used to predict the QoE of the service.As a case of study, we apply these techniques to the beIN Sports Connect Service; a service conceived to stream sports events over Internet to French users.For this service, we derive the corresponding TEFSM and estimate the QoE using the lequivalent model.The rest of the paper is structured as follows.Section 2 presents the preliminary notions and defines the TEFSM concept used along this paper.Section 3 shows how to derive the model on the basis of a user-service interaction.Section 4 discusses the ways to augment the TEFSM with the quality parameters and how they are updated at each TEFSM transition.In this section, we also provide a method for calculating the QoE of the OTT service.Finally, Section 5 has the conclusions and the future work of this research.

Over-The-Top Services
An overview of the Over-The-Top concept was provided in Section 1, but Green et al. have provided a formal definition.They define Over-The-Top Services as "services carried over the networks, delivering value to the customers but without any carrier being involved in planning, selling, provisioning, or servicing them" [5].
As an example of such services, and as a case study, we consider the French OTT service called beIN Sports Connect.This service allows the users to access the beIN Sports channelswhich are usually offered as a premium pack for cable TV subscribersallowing them to watch sports content over Internet.

QoS/QoE/QoBiz
The Quality of Service (QoS) is the metrics that has been evolved during the last few years.Starting from Van Morsel, who defined it as "metrics as availability and performance" [6], it comes to the another definition given by ITU-T in the form of "totality of characteristics of a telecommunications service that bear on its ability to satisfy stated and implied needs of the user of the service" [7].The authors of [8] refer to the QoS as "service features stemming to technical aspects".Typical examples of these features are packet loss, jitter, and delay; however, other parameters related to the service (codecs, compression levels, etc.) are also considered.Despite the fact that there was an effort to give a standard definition of the QoS from the beginning, it was not clear how the user's expectations could be considered within these metrics.For example, Gozdecki et al. proposed (QoE), defining it as the "degree of delight of the user of a service.In the context of communication services, it is influenced by content, network, device, application, user expectations and goals, and context of use" [9].One may notice, that QoE is strictly related to user's expectations towards the service, which makes the metrics very subjective and, therefore, it is not easy to measure it compared with the QoS.The quality metrics described above are in some way related to the user himself/herself.In a similar way, other metrics have been defined form the point of view of the service provider.The Quality of Business (QoBiz) is a concept introduced by Van Moorsel [6], in order to quantify the business revenue from a service offered over the Internet.By definition, QoBiz parameters are "all of those parameters that are expressed in monetary units" [10].Some of them might include (but are not limited to): transactions loss, dollars per transaction, revenue of web site or cost of servers.

Timed Extended Finite State Machines
As usual, objective, subjective, and business parameters values can be collected as the vector  = ( 1 , … ,   ).In this vector, three groups of parameters can be recognized depending on their origin: related to the QoS, related to the QoE, and related to the QoBiz.In order to efficiently evaluate the values of each parameter   ,  ∈ {1 … } we propose to derive a Timed Extended Finite State Machine (TEFSM) that preserves the functional behavior of the OTT service, and, meanwhile, captures  1 , … ,   parameters as corresponding context variables.TEFSM is an extension of the Extended Finite State Machine model (EFSM) [11], which is an ordinary Finite State Machine (FSM) augmented with context variables, input/output parameters, predicates and update functions.More precisely, an extended finite state machine [12]  is a pair (, ) of a set of states  and a set of transitions  between states from , such that each transition  ∈  is a tuple (, , , ,   ,   ,  ′ ), where , ′ ∈  are the initial and final states of a transition;  ∈  is an input with the sets  − of possible input vectors of corresponding input parameter values,  ∈  is an output, where  is the set of outputs (with the sets  − of possible output parameter values); ,   and   are functions, defined over input parameters, and context variables, namely: :  − ×   → {, } is a predicate, where   is a set of context vectors;   :  − ×   →  − is an output parameter update function;   :  − ×   →   is a context update function.A Timed EFSM extends the usual EFSM with a corresponding timeout function Δ:  →  × {ℕ ∪ {∞}} where ℕ denotes the set of nonnegative integers.As an example of a TEFSM, one may turn to Fig. 1, where the corresponding machine is presented and integers 1, 2,..., 8 mark the transitions of the machine.Consider the state 'waiting_for_personal_data'.In this figure there is a transition from this state to the state 'waiting_for_card_data', which triggers under the input validate, constrained by the value of the context variable promo_flag equals to 0. In this case, the output user_payment_form is produced.Also, in this figure, a timeout is used in the transition from 'stream_delivery' to 'check_state': if no input is applied until the timeout expires, the machine moves spontaneously to the state 'check_state'.

Specification of an OTT Service as a TEFSM
In [13], Andrews et al. propose a methodology to "derive hierarchies of Finite States Machines (FSMs) that model subsystems of the Web Applications".Based on this approach, we provide an outline of the methodology used in this work to generate a TEFSM of an OTT service: (1) develop a written description of the service from the point of view of the user; (2) identify the system states using the description.The authors in [13] suggest the partition of the service in order to identify its logical blocks, which are easier to model; and (3) identify the transitions of the system, considering the user interaction with the system.The first step of the methodology presented here is to build a written description of the service being studied.This description will be elaborated in such a way that it should state: (1) functional requirements, describing the behavior of the service from the point of view of the user; and (2) non-functional requirements, considering objective, subjective and business service requirements.

The beIN Sports Connect Service
In order to extract the functional requirements of the service, we turned to beIN Sports website [1] to describe the user's interaction.We can identify two main phases of the service's behavior: service registration (marked as (1), ( 2) and (3) in Fig. 1) and service utilization (marked as (4) in Fig. 1).

Service Registration
Before using the service, a new user must create an account in the site and associate a subscription plan into his/her account.The new customer must connect to the home page [1], which will show him/her the subscription options.In this page, the user can choose one of the three subscription types offered: two where the user has to pay a fee and another used to activate promotional codes to test the service (marked as (1) in Fig. 1).Once the subscription type was chosen, the system shows the registration form and the payment options, the latter being showed only if the user selected a subscription that requires a payment (process (2) in Fig. 1).In the case of the user selected the subscription used to activate a promotional code, a field to introduce this code is shown instead of the payment options.The payment is processed in a third-party server, which requests the user's credit card information and stores it in order to automatically renew the subscription (marked as (3 Fig. 1).Finally, once the payment was successfully processed, the user is redirected to beIN Sports Connect Site, and an active subscription is associated with his/her account.

Service Utilization
A user who already has an account and a subscription associated can go to the home site, log into the site with his/her credentials (marked as (4) in Fig. 1).This action allows him/her to watch the stream online.The multimedia platform is designed to be able to adapt itself to the variable conditions of the network, being able to lower the quality of the video if the network technical variables require it.In fact, if it is not possible to stream an HD version of the video, a lower quality version (stressing less the network) will automatically be streamed to the user, avoiding any freeze of the video.

Generating TEFSM from service description
Once the description has been built, we need to generate the first model of the service.In this case, we will take into account that the user's queries are the TEFSM inputs and the system responses are the machine outputs.In addition, the introduction of timeouts allows us to model the ability of the service to periodically check the QoS values of the network.We reproduce this behavior in the following way: each T time units the system moves from a 'stream_delivery' state to a 'check_stream' state.In this state, the QoS parameter values are measured and the conclusion about the QoS is drawn.If the values of the QoS are not satisfactory, the system moves to a 'stop_stream' state, otherwise the system continues the streaming adapting it to a lower or higher QoS value if it is necessary.The final derived machine for the beIN Sports Connect Service is shown in Fig. 1.Within this model, we can identify the four main processes a new customer needs to accomplish to start using the service, namely: (1) connect to the site and select a subscription plan, (2) provide his/her personal information, (3) provide his/her payment information, and (4) use the service with an active subscription.

Augmenting TEFSM transitions with quality parameters
The model previously built captures the functional requirements of the service, but we still need to introduce the non-functional requirements.In order to include nonfunctional parameters into the FSM, we will introduce the corresponding context variables into the FSM model.Each one of them will represent a single parameter, and its updating function will indicate how and in which transitions these parameters must be updated.

Integrating Objective and Subjective Parameters
In this work we aim to consider not only QoS-related parameters to the QoE evaluation, thus the classical QoS-QoE relationshipsmostly surveyed by Schatz et al. in [3] cannot be used.

Objective Parameters
As we stated in Section 3.2, the system has the ability to check the QoS parameters automatically.In our example, we model the decision of the service in a single QoS-related parameter called 'stream_delivery'.This flag will be set to 1 if the minimal network requirements are met to continue with the streaming and 0 otherwise.We note in Fig. 1 that the machine spontaneously moves to state 'check_stream' each T time units, leaving the 'stream_delivery' state and therefore interrupting the streaming while checking the network status.Any user would not like to see a service interruption to check the technical network conditions, thus the machine needs to be patched to include the ability of checking the network in a parallel way.In this work we do not focus in the TEFSM that allows parallel execution, however, this issue can be solved by introducing a 'stream_and_check' state where the two processes are executed simultaneously.Due this formalism is out of the scope of this work, we leave this analysis for future work.

Subjective Parameters
As Laghari and Connelly state, any subjective factor that influences the QoE should include the user's perception of the service [14].Given that, we consider a subjective variable called 'service_confidence', which represents the 'trust' of a user towards the service.This parameter will be measured using a 3-value scale: 0, 1 and 2, representing, respectively, a user dissatisfied, neutral and satisfied.In addition, considering the meaning of the variable introduced here, the value of the experienced 'trust' of the user will be updated each time the system makes a decision with the stream.In other words, once the execution has reached the state 'check_stream', the system makes a decision whether to continue with the service, executing transition 7 or 8 in Fig. 1.If the system 'decides' to continue with the stream (transition 7), the customer will increase his/her satisfaction with the service, otherwise (transition 8), the customer will low his/her satisfaction.We reflect this behavior in the specification of the updating functions f 4 and f 5 , shown in Table .1.

Integrating Business Parameters
One of the main contributions presented in this work is the inclusion of business parameters into the OTT model.Regarding business metrics, Aaker proposes the Brand Equity Ten as a set of ten variables to measure the value of a brand [15].From this set, we selected the Price premium measurement, defined as the "amount a customer will pay for the brand in comparison with another brand (or set of comparison brands) offering similar benefits".In the same work, Aaker suggests the segmentation of the market in three types of buyers of a brand: non-customers, brand switchers and loyal customers [15].We consider these points by introducing a context variable 'price_premium' into the model using a 3-value scale to measure it: 0, representing a non-customer user; 1, used to exemplify a brand switcher; and 2, symbolizing a loyal customer of the brand.Moreover, following the definition of this variable, we will update its value considering the type of the contract the user selected: a customer who selected a long-commitment subscriptiona one year engagementwill be considered as a loyal customer, otherwise, he/she will be considering a brand switcher.We model this decision of the user in the TEFSM by updating correspondingly the context variable 'price_premium' once he/she has selected the subscription type.This occurs in both transitions that take the user out of the state 'choosing_subscription_or_login' to the state 'waiting_for_personal_data'.In addition, we will also update this parameter if the streaming is stopped due low technical network conditions, lowering the loyalty value in this case.We reflect all these observations in the corresponding updating functions f 1 , f 2 and f 3 , which are specified in Table .2.

QoE Evaluation
At this point, we have built a TEFSM that has been augmented with quality parameters inserted as context variables of the machine.However, before using this model to predict the QoE of the OTT service, we must derive an l-equivalent model from the given TEFSM.

Deriving the l-equivalent of the TEFSM
The model we have built up to this point captures the functional requirements as well as objective, subjective and business parameters.However, it is not possible to clearly identify the final states of the executions paths.To achieve this last goal, we need to unroll the model into its l-equivalent tree-shaped form.This new equivalent TEFSM can be calculated using a process for which we provide the outlines: (1) insert constrains to the loops of the model and fix a desired length l for the height of the tree that will be analyzed; (2) create new paths starting from the root node, considering the constrains introduced; and (3) draw the final l-equivalent model.
In Fig. 2 we provide a single path extracted from the 11-equivalent 1 model derived from Fig. 1.The transitions are remarked in both diagrams using integers from 1 to 8 to enumerate them.This path represents the actions taken by a new customer subscribing to the service: (1) the user connects to the service; (2) he/she chooses a paid subscription and pays for it without making any mistake when introducing the required data (thus loops marked in blue in Fig. 1 are not executed); (3) the user starts to use the service immediately; and (4) the system checks the stream three times, deciding to cut the streaming in the latter due the bad quality of the network at that time.

Evaluating the QoE value in terminal states
With the l-equivalent mode we can proceed to evaluate the QoE.This is done in three steps: (1) define the initial values for the context variables; (2) update their values using the updating functions, simulating the behavior of the user; and (3) calculate the QoE at the leaves of the tree by applying a QoE model that integrates the values of the variables involved.The process presented here does not require the usage of a specific QoE model, making the proposed framework a generic approach to predict the QoE.
In our case study, we used a simple linear model proposed by Sandoval et al. [16].
In this model, fixed values for the weights will be used, taking into account the following observations: (1) due an OTT uses the network as a delivery method, they do not have control over QoS parameters, thus a weight of 0.5 will be used for the QoS-related parameter; (2) due a user who recommends the service generated higher revenues for the company, the service provider would like to keep its customers with high levels of 'service_confidence', assigning a weight of 1 to this variable; and (3) the OTT provider aims to maximize their revenues, giving a high importance to the 'price_premium' variable, thus a value of 1 will be used.
With the linear model and the weights used, we can evaluate the QoE in the three stages A, B and C marked in Fig. 2. The initial vector of values (0,1,1) was constructed with the characteristics of an average new customer: he/she has not used the service yet (stream_flag=0), he/she is indifferent with the service (service_confidence=1) and he/she is a brand switcher (price_premium=1).The results are shown in Table .3. The length of a tree has been calculated by counting the number of transitions executed from the root node.

Conclusions
This work presented a framework based on TEFSM to estimate the QoE of a given OTT Service.Unlike other frameworks, it does not only involve QoS-related service parameters, but also considers the inclusion of subjective and business-related parameters, which can impact in the QoE of the service.The proposed framework starts with the construction of a TEFSM capturing the functional requirements observed from the point of view of the user.The model is then augmented with the parameters in analysis, inserting them as context variables in combination with their updating functions.In order to use this model to evaluate the QoE of the OTT service, an l-equivalent model is derived, showing all the possible combinations of queries/responses of a fixed length l or less.Finally, a QoE model is applied in the leaves of this tree, obtaining a predicted QoE value in the terminal states of the execution.In addition, with this framework, we also presented an example of its utilization with beIN Sports Connect service, analyzing the QoE for a completely new customer of the service.As a future work, we are going to perform more experimentation in order to estimate an optimal value for the length l of the l-equivalent model.

Table . 3
Parameter values and the QoE for the l-equivalent