Scalable QoE Prediction for Service Composition
Natalia Kushik and Nina
Yevtushenko
Department of Information Technologies, Tomsk State University, Tomsk, Russia
Keywords: Service (Composition), QoE Estimation/Prediction, Logic Network/Circuit.
Abstract: In this paper, we present an approach for scalable QoE estimation/prediction of a composition of given
services. The approach relies on using logic circuits/networks for the QoE prediction. Given two logic
circuits that predict the QoE values of two service components, we propose a method for synthesizing the
resulting logic circuit that predicts the QoE of the overall service composition. As the complexity of this
resulting circuit significantly depends on the complexity of an implementation of a MIN function, we
present an experimental evaluation of the complexity of the corresponding circuit.
1 INTRODUCTION
The number of services designed for various
purposes increases rapidly, and almost all of them
are developed for improving or simplifying human
life. As an example of the service one can consider a
multimedia service, that delivers some video/audio
traffic to an end-user, or a web service that allows to
book a hotel or to buy some products online, etc. As
all these services are developed “for people”, the
Quality of Experience metrics (QoE) remains the
most common metrics to evaluate their quality.
The QoE is used to measure the end-user
satisfaction with a given service and thus, the
problem of its evaluation remains one of the most
challenging problems in the artificial intelligence
area. The reason is that in order to evaluate the QoE,
it is necessary to ‘guess’ how much an end-user
would like or dislike a given service. This problem
is often solved with the use of various self-adaptive
models that can accept service parameter values as
inputs and return the QoE value as an output. If a
model behaves in a wrong way for some newly
emerged input/output pairs, the model can be trained
by itself or by an external ‘teacher’ that could be a
service provider. Most popular self-adaptive models
are decision trees (see, for example, Mitchell, 1997;
Pokhrel, J., Mallouli, W., and Montes de Oca, E.,
2013), neural networks (Ahmed et al., 2012; Al-
Masri and Mahmoud Qusay, 2009), fuzzy logic
formulae (Lin et al., 2005; Torres et al., 2011), and
logic circuits (Kushik et al., 2014). All these models
have their own advantages, as well as the known
drawbacks. Most common criteria that a researcher
or a service provider should take into account are the
QoE prediction ability of the model and the
scalability of the “teaching” process. It has been
previously shown that the approach proposed by
Kushik et al. in 2014 allows to adequately predict
the end-user satisfaction with a given service, and, at
the same time, to perform the model adaptation in a
scalable way (Kushik et al., 2014). This approach is
based on logic networks, in particular,
combinational circuits, for the QoE prediction. The
initial logic network is derived based on statistical
data that are gathered from experts, developers
and/or end-users who agreed to provide a feedback
about the service quality. The circuit accepts the
service parameter values encoded as Boolean
vectors and outputs the Boolean vector that
corresponds to the encoded QoE value. The circuit is
a self-learning machine, i.e., when new statistical
data appear the circuit is checked for having the
corresponding behaviour and if the behaviour does
not correspond to newly emerged data the circuit is
resynthesized. Such resynthesis can be efficiently
performed using various tools (see, for example,
Berkeley Logic Synthesis and Verification Group,
ABC).
Once the QoE of a given circuit is carefully
estimated, one can use this service not only as a
single self-sufficient entity, but also as a part of a
‘big’ service composition. In this case, the problem
arises of predicting the QoE of this composition. It is
well known, that even if the service components
have the high QoE value for a given statistical
16
Kushik N. and Yevtushenko N..
Scalable QoE Prediction for Service Composition.
DOI: 10.5220/0005524600160026
In Proceedings of the 2nd International Workshop on Emerging Software as a Service and Analytics (ESaaSA-2015), pages 16-26
ISBN: 978-989-758-110-6
Copyright
c
2015 SCITEPRESS (Science and Technology Publications, Lda.)
pattern, the QoE of the composition is not
necessarily high for this pattern. Therefore, the
composition QoE value has to be effectively
predicted. Given two service components, and two
logic circuits for predicting component QoE values,
we propose a technique how to synthesize the
resulting logic circuit that predicts the QoE of the
service composition. The technique relies on
scalable operations over logic networks, such as
introducing additional inputs and connecting nodes
in the circuit to combine particular circuit parts. We
introduce a special circuit implementation of the
minimum function that outputs a minimal integer of
two integers. This circuit is further used as a part of
the resulting logic network that predicts the QoE
value of the service composition. The algorithm
provided in the paper takes into account the fact that
the user satisfaction can be only decreased in the
service composition. The reason is that if a user is
not satisfied with a given service component, his/her
satisfaction cannot be increased with the use of the
other components, i.e., our approach assumes the
worst-case scenario. We notice, that this scenario
supports the scalability of the approach, since we are
not interested in the composition details, i.e.,
compositional patterns, differently from predicting
some objective service parameter values (see for
example, Zheng et al., 2013). Furthermore, we
discuss how the proposed QoE estimation technique
can be adapted to the case when the composition
QoE is calculated not as the minimum function but
as more complex mathematical formula.
Therefore, the main contribution of this paper is
an approach for estimating the QoE of the service
composition, when the QoE of each service
component is calculated by a corresponding logic
circuit. We also provide the preliminary
experimental evaluation for a proposed approach
addressing the complexity of parts of the resulting
circuit. These experimental results clearly show the
approach scalability.
The rest of the paper is organized as follows.
Section 2 contains the preliminaries. A running
example for a service composition and its QoE
prediction is given in Section 3. A scalable approach
for estimating the QoE of the service composition as
well as the experimental evaluation of the
complexity of the overall circuit are given in Section
4. A discussion on possible extensions of the
proposed approach is presented in Section 5. Section
6 concludes the paper.
2 PRELIMINARIES
In our normal human life, we are surrounded by
services. Those can be web services that represent
specific software designed to support interoperable
machine-to-machine interaction over a network
(Booth et al., 2004) or multimedia services that are
used to deliver a multimedia traffic to an end-user
(Pokhrel, J., Wehbi, B., Morais, A., Cavalli, A., and
Allilaire, E., 2013). One can consider other types of
services, not directly related to Computer Sciences
area, such as cleaning service, delivery service,
booking service, etc. Anyway, all these services are
developed to improve or to simplify the human life
quality and thus, not a single service is left without
evaluating the quality of this service. There exist
various metrics to evaluate the service quality where
the most known seems to be the Quality of Service
(QoS) metrics. The QoS can be defined as a vector
with components which are values of given
attributes (parameters) that can be objectively
measured (Kondratyeva et al. 2013). We mention
that there have been performed a lot of research and
some interesting contributions have been made
regarding the estimation of the QoS for a composite
service (El Hadad et al., 2010; Zheng et al., 2013).
However, the most interesting metrics to
estimate the service quality is the Quality of
Experience (QoE) that represents a user satisfaction
(see, for example, Winckler et al., 2013). In spite of
the fact that the QoE is more difficult to evaluate,
this metrics is more close to the adequate description
of the service quality, since the main purpose of
each service is to satisfy an end-user. In other words,
the algorithm for the QoE evaluation has to be
adapted to a human’s brain in order to ‘predict’ what
a user likes/dislikes. That is the reason why different
self-adaptive models and algorithms are now used
for this purpose. The advantage of a self-adaptive
model is that it can be learnt or trained by a ‘teacher’
or by itself according to the feedback from people
who use the service. As usual, an initial
model/machine is derived based on some statistical
data that contain a number of user/expert opinions
about the service. Afterwards, the model can
‘predict’ the user satisfaction of the service for the
given values of service parameters. The more
statistical data are gathered the better is the
‘prediction’. Moreover, as the model is self-
adaptive, when new statistical data appear for which
the model does not behave in an appropriate way,
the model is adjusted to these new data and this
process is the model training.
Various self-adaptive models can be used for the
ScalableQoEPredictionforServiceComposition
17
QoE prediction of the service. One of short surveys
of these models can be found in (Kondratyeva et al.
2013). In particular, Kondratyeva et al. discuss three
most popular self-adaptive models that are used to
predict the QoE value for web services. We briefly
sketch this survey to provide an overview of the use
of self-adaptive models for the QoE prediction.
Almost all self-adaptive models rely on pre/post
conditions that can be expressed in terms of IF-
THEN operator. The first group of machine learning
algorithms is based on a Decision Tree (Mitchell,
1997; Pokhrel, J., Mallouli, W., and Montes de Oca,
E., 2013) that can be described for a web service as a
tree which nodes correspond to service parameters
(attributes) while edges are marked with different
parameter values (scores). Each tree level
corresponds to a single service parameter which can
be evaluated by scores that label outgoing edges.
The leaves of the tree correspond to different values
of the user satisfaction. The decision tree can be
derived based on IF-THEN conditions where a path
labelling each branch of the tree to a node with a
given QoE value corresponds to the conjunction of
conditions under IF operator. The decision tree can
be learnt based on deriving IF-THEN conditions by
adding additional paths. As usual, such pre/post
conditions are derived based on experimental results
or following some expert opinions. The decision tree
provides an algorithm for evaluating the user
satisfaction if and only if it is completely specified.
Those paths in the tree that are not specified by the
conditions have to be somehow augmented in order
to predict the user satisfaction in this undefined
situation. Thus, the purpose of specifying undefined
paths is to “guess” what a user would like or dislike
under appropriate conditions. The complexity of the
completely specified tree is exponential w.r.t. the
number of quality parameters. Other self-adaptive
models, such as neural networks and fuzzy logic
formulae are known to be more compact. Neural
networks are widely used for solving various
problems in the artificial intelligent area. Such
networks are used in the “machine learning sense”
and all the neurons of the network are assumed to be
artificial and can be modified by a “teacher” in a
given way. Neurons are connected to each other and
these connections also can be trained. Usually neural
networks without feedbacks are considered and in
this case, the network can be divided into levels.
Usually, for each neuron there exists a formula that
calculates its output according to weighted inputs
that is used when coming to the next level via
weighted edges. A neural network can accept values
of input (QoS/QoE) parameters and depending on
the neuron definition and on the weight of
distributed connections the network produces the
output (the QoE value) (Al-Masri and Mahmoud
Qusay, 2009) by changing states from level to level.
At the initial step, the network connections are set
based on the initial statistical data, i.e., on the set of
given input/output pairs. A network learning process
consists of modifying weighted connections (or a set
of nodes) of the network based on new knowledge
(more statistical data, for example). In other words,
when new statistical data appear the network can be
learnt how to modify its connections and possibly,
nodes in order to have the correct behaviour. A good
alternative to artificial neural networks is a fuzzy
logic that was introduced by Lotfi A. Zadeh (Zadeh,
1965) in 1965 and can be also considered for
modelling a human behaviour. Similar to a decision
tree, a fuzzy model can be built based on a set of IF-
THEN conditions that can be combined taking into
account how disjunction and conjunction are defined
for fuzzy sets. The fuzzy logic model can be learnt
by changing membership degree of each parameter
to the service, i.e., the weight of linguistic values for
quality parameters in the resulting fuzzy formula, as
well as by changing the relative importance of each
quality parameter.
In 2014, Kushik et al. have proposed another
self-adaptive model that can be used to predict the
QoE value with a given service. Moreover, the
proposed approach has been compared with the one,
based on using fuzzy logic formulae, and the former
has shown the higher scalability (Kushik et al.,
2014). This approach is based on analyzing and
training of logic networks/circuits that can be
effectively performed using the tools developed for
logic synthesis and verification. In this paper, we
extend the approach proposed by Kushik et al. to the
case when a service under investigation is a
composition of ‘smaller’ services, such that the
corresponding logic circuits for the service
components are known in advance. Furthermore, we
address the methods for deriving such logic circuits
for various service types and propose a technique for
the efficient QoE estimation for a composite service
using the same logic synthesis ‘apparatus’. That is
the reason why we further briefly sketch the
necessary definitions related to the logic synthesis.
We mention that these definitions are mostly taken
from (Kushik et al., 2014).
Definition 1. A logic network (circuit) consists
of logic gates. Each logic gate has input (-s) and a
single output. Outputs of some gates are connected
to inputs of the others. The inputs of some gates that
are not connected to any other gate output are
ESaaSA2015-WorkshoponEmergingSoftwareasaServiceandAnalytics
18
claimed to be primary inputs while the outputs of
some gates are claimed as primary outputs. In this
paper, we consider combinational circuits, i.e.,
feedback-free circuits which have no latches.
Each gate implements a Boolean function. Most
common 2-input gates are
AND/OR/XOR/NAND/NOR/XNOR that implement
conjunction/disjunction/xor and their inversions.
There are also 1-input gates such as NOT/BUFF that
implement the inversion and the equality function,
correspondingly.
Figure 1: A circuit S.
As an example, consider a combinational circuit in
Fig. 1 with a set X = {x
0
, x
1
, x
2
, x
3
} of inputs, a set Z
= {z
0
, z
1
} of outputs and 11 AND and NOT gates
(AIG nodes); the latter are taken in bold.
Definition 2. By definition, a logic circuit
implements or represents a system of Boolean
functions. A circuit accepts a Boolean vector as an
input and produces a Boolean vector as an output
according to the corresponding system of Boolean
functions. Each logic circuit can be described by a
Look-up-Table (LUT). A LUT contains a set of
input/output pairs of a given circuit: if for the input i
the circuit produces an output o, then the pair i/o is
included into the LUT.
A LUT can be used as the specification when
deriving a logic network that implements the system
of Boolean functions, and there exist a number of
methods how to synthesize a logic network that
implements a given system of functions. In this
paper, we use the ABC tool (Berkeley Logic
Synthesis and Verification Group, ABC) to design a
circuit for a given LUT. For this purpose, such LUT
is described in a special form; in this paper, we use
the PLA format.
As in this paper we focus on using logic
networks to evaluate/predict the QoE of a given
service, we further briefly sketch the algorithms
proposed in (Kushik et al., 2014) for deriving and
training these circuits. In order to derive the initial
circuit С, one uses statistical data gathered from
service experts, from the automatic evaluation of
service parameters and/or from end-users, who have
experience of using the service. These statistical data
are encoded as Boolean vectors of appropriate
length, and this set of input/output vectors is written
in the PLA format. The circuit C that evaluates the
QoE value is then designed from a system of
partially specified Boolean functions. The
corresponding procedure is given as Algorithm 1.
Algorithm 1 for deriving an initial logic
circuit to evaluate the QoE value
Inputs: Service parameters p
1
, p
2
, …, p
k
with
nonnegative (unsigned) integer values bounded
by
1
p
M ,
2
p
M , …,
k
p
M ; maximal value of the
QoE
QoE
M ;
Statistical data, i.e., feedbacks from users U
1
,
…, U
r
represented as a list of patterns p
1
_value,
p
2
_value, …, p
k
_value, UserSatisfaction_value.
Output: a logic circuit C
1. Determine the number of primary inputs
and primary outputs of C:
The number of primary inputs equals
k
i
p
i
M
1
2
[log] while the number of primary
outputs equals ]log
2
QoE
M [.
2. Derive a LUT
2.1 For each user U
i
, i {1,, r}, convert
his/her statistic scores p
1
_value, p
2
_value, …,
p
k
_value, UserSatisfaction_value into Boolean
vectors and add the corresponding lines to the
LUT.
3. Synthesize the circuit C from a system of
partial Boolean functions and Return C.
ScalableQoEPredictionforServiceComposition
19
The circuit C has to be self-adaptive, i.e., when a
new end-user agrees to leave his/her feedback about
the service quality the circuit behavior has to be
modeled under a corresponding input i and if the
result produced by the circuit differs significantly
from the expected then the circuit has to be
resynthesized. To evaluate the difference between
the circuit output and the user satisfaction value
Kushik et al. introduced some value that represents
a confidence interval, i.e., the QoE(W) produced by
the circuit C has to belong to the interval
[UserSatisfaction_value , UserSatisfaction_value
+ ]. If this fact does not hold, i.e., |QoE(W)
UserSatisfaction_value| > then the circuit C is
resynthesized. The corresponding procedure taken
from (Kushik et al., 2014), is presented as Algorithm
2.
Algorithm 2 for learning / training the logic
circuit that evaluates / ‘predicts’ the QoE
value for a service
Inputs: QoE parameters p
1
, p
2
, …, p
k
with
nonnegative values bounded by
1
p
M ,
2
p
M , …,
k
p
M ; maximal value of the QoE
QoE
M ;
The circuit C that evaluates the QoE value for a
service W;
A new user feedback p
1
_value, p
2
_value, …,
p
k
_value, UserSatisfaction_value;
Maximal difference for corresponding
confidence interval.
Output: a modified logic circuit C
1. Integers p
1
_value, p
2
_value, …, p
k
_value,
UserSatisfaction_value are converted into
Boolean vectors v_p1, v_p2, …, v_pk, v_us.
2. The output QoE(W) of the circuit C is
computed for the input v_p1, v_p2, …, v_pk.
3. If | QoE(W) - UserSatisfaction_value | > then
3.1 If the line v_p1, v_p2, …, v_pk is
specified as input in the LUT, then change the
corresponding output into v_us,
Otherwise
Add the new line v_p1, v_p2, …, v_pk, v_us
to the LUT.
3.2 Synthesize the new circuit C; assign C =
C and Return C.
In this paper, we propose an approach how a circuit
that predicts the QoE of a composite service can be
derived under the assumption that the QoE of the
service components are given. These circuits can be
derived using Algorithm 1 and effectively trained by
applying Algorithm 2. The approach proposed in the
paper is illustrated by a running example.
3 A RUNNING EXAMPLE
In this paper, we consider a given web service as a
running example. In particular, we rely on the
example of vacation planner service that is taken
from (Kondratyeva et al., 2013). This service offers
a user an opportunity to purchase flight tickets and
to book an accommodation at the destination point.
A user submits traveling dates and the planner
proposes a number of available options for flight
tickets and hotel rooms. If the user and the planner
agree on the flight ticket and the hotel room then the
vacation is successfully booked. Otherwise, the
vacation is not reserved. The list of crucial service
parameters that significantly affect the QoE is as
follows: the execution time, service availability and
service popularity. In other words, the QoE of the
vacation planner significantly depends on the
component values of the vector t, a, p, where t
denotes the execution time, a – the availability and p
– the popularity.
As the vacation planner is designed as a
composition of a flight booking and a hotel booking
services, the QoE of this composite service can be
calculated based on the QoE of the flight booking
and the QoE of the hotel booking services. Given the
flight booking service, in the running example, we
consider that the execution time t and its popularity
p are the crucial parameters for most users. Let
Table 1 contain the statistical data gathered from the
users and/or experts A, B, C, and D.
Table 1: Statistical data gathered for the flight booking
service.
User identifier t p QoE
A 3 0.3 3
B 1 0.9 5
C 3 0.2 1
D 2 0.5 4
Similar to the flight booking service, in this paper,
we consider the availability a to be a crucial
parameter for the second component of the vacation
planner. In other words, once a user has agreed on
all the flights details, he/she is redirected to a hotel
booking service that has to be necessarily available
at the moment. If this service is not available the
user’s QoE goes immediately down. The
corresponding statistical data left by experts and/or
some users E and F of the hotel booking service are
shown in Table 2.
Given the statistical data for the service
components, we consider that the QoE of the
composite service is always the minimal value for
ESaaSA2015-WorkshoponEmergingSoftwareasaServiceandAnalytics
20
Table 2: Statistical data gathered for the hotel booking
service.
User identifier a QoE
E 0.9 5
F 0.6 4
all possible values of the vector t, a, p. The latter
means, that in order to predict the QoE of the
vacation planner, one should consider the worst
users’ opinions. The reason is that if a user is not
satisfied with a given service component, he/her
satisfaction cannot be increased with the use of other
components. In the running example, in order to
consider the statistical data for the vacation planner
one should concatenate the data given in Tables 1
and 2, correspondingly. The resulting statistical data
are given in Table 3.
Table 3: Statistical data for the vacation planner.
t p a QoE
3 0.3 0.9 3
1 0.9 0.9 5
3 0.2 0.9 1
2 0.5 0.9 4
3 0.3 0.6 3
1 0.9 0.6 4
3 0.2 0.6 1
2 0.5 0.6 4
Table 3 contains eight lines; each line represents a
vector t, a, p, QoE where the QoE is the minimal
value taken from the vectors t, a, QoE (Table 1)
and p, QoE (Table 2).
Consider two logic circuits C
1
and C
2
designed
for predicting the QoE of the flight booking and the
hotel booking services, correspondingly. We further
discuss how one can build a logic circuit that
predicts the QoE value of the vacation planner.
4 SCALABLE APPROACH FOR
ESTIMATING THE QoE OF A
COMPOSITE SERVICE
In this section, an approach for automatic
evaluation/‘prediction’ of the QoE value for a
composite service is proposed. Without loss of
generality, we consider two service components S
1
and S
2
that are somehow combined when designing
the composite service S
1
@ S
2
, where @ is a
composition operator. If the number k of service
components is greater than two, this approach can be
applied iteratively, i.e. first, the QoE of the service
S
1
@ S
2
is estimated, then, the QoE of the service (S
1
@ S
2
) @ S
3
is estimated, etc. At the final step, the
QoE is predicted for the service (S
1
@ … @ S
k - 1
) @
S
k
. The question about communicative and
associative properties of the composition operator is
out of the scope of this paper.
Given two composite services S
1
and S
2
, consider
two logic circuits C
1
and C
2
that predict their QoE
values, correspondingly. These circuits can be
derived as proposed in (Kushik et al., 2014). We
provide an algorithm for designing a logic circuit C
1
@ C
2
that predicts the QoE value of the composition
S
1
@ S
2
.
4.1 Deriving a Logic Circuit for
Predicting the QoE of a Composite
Service
In this section, we provide an algorithm (Algorithm
3) for designing a logic circuit C
1
@ C
2
. At the first
step, the set of inputs of this circuit is determined. In
fact, this set contains all the inputs that correspond
to S
1
service parameters and S
2
service parameters.
In other words, the set of inputs for C
1
@ C
2
is the
union of the sets of inputs for C
1
and C
2
, If the sets
of S
1
and S
2
parameters do not intersect, the set of
inputs for C
1
@ C
2
is the set of inputs for C
1
plus
inputs of C
2
.
At the second step, the special circuit C
min
for
implementing a minimum function is designed. This
circuit will be used to choose between two QoE
values produced by the circuits C
1
and C
2
. As
mentioned above, we always rely on the minimal
value of the two QoE values, considering that the
user satisfaction can be only decreased for a
composite service. Each circuit C
1
or C
2
produces
the Boolean vector of corresponding length. These
vectors correspond to integers I
1
and I
2
that
represent the QoE values for the service components
S
1
and S
2
. The MIN function is used to choose the
minimum value of I
1
and I
2
; if these values coincide
then the QoE of the composite service equals I
1
= I
2
.
The corresponding circuit that implements this
function has the number of inputs that is the sum of
outputs of circuits C
1
and C
2
. Hereafter, in the paper,
we consider that the QoE is measured within the
Mean Opinion Score (MOS) scale (ITU-T, 2006)
and thus, outputs of each circuit encode integers of
the set {1, 2, 3, 4, 5}, i.e., the number of outputs of
each circuit C
1
and C
2
equals three.
At the final step of the algorithm, the outputs of
the circuits C
1
and C
2
are connected to the inputs of
the circuit C
min
, and the resulting circuit is returned.
A scheme that illustrates the procedure for
ScalableQoEPredictionforServiceComposition
21
deriving the circuit C
1
@ C
2
for evaluating the QoE
of the composed service is shown in Fig. 2. The
items of the set P correspond to Boolean vectors
which represent the values of parameters p
1
, p
2
, …,
p
k
of the service S
1
whereas the items of the set Q
correspond to Boolean vectors which represent the
values of parameters q
1
, q
2
, …, q
l
of the service S
2
.
The set
P
Q
corresponds to the Boolean vectors,
which represent the same parameters of services S
1
and S
2
. Therefore, the set
P P \ PQ
denotes the
set of Boolean vectors for parameters of S
1
that are
not shared with S
2
while the set
Q Q \ P
Q
denotes the set of Boolean vectors for parameters of
S
2
that are not shared with S
1
.
Algorithm 3 for deriving a circuit C
1
@ C
2
Inputs: Service components S
1
and S
2
.
S
1
has the set P = {p
1
, p
2
, …, p
k
}of parameters;
each p
i
parameter value is bounded an integer
M
p
i
.
S
2
has the set Q = {q
1
, q
2
, …, q
l
} of parameters;
each q
i
parameter value is bounded an integer
M
q
i
.
The circuit C
1
has
]log
2
M
p
i
[
i1
k
inputs and
three outputs; the circuit C
2
has
]log
2
M
q
i
[
i1
l
inputs and three outputs.
Output: a logic circuit C
1
@ C
2
.
1. Determine the number of primary inputs of
C
1
@ C
2
:
The number of primary inputs equals
(
]log
2
M
p
i
[
i1
k
+
]log
2
M
q
i
[
i1
l
)
]log
2
M
g
i
[
i1
t
for all g
i
that belong to the
P
Q
, where |
P
Q
| = t. The number of
primary outputs of the circuit of C
1
@ C
2
equals
three.
2. Design the circuit C
min
. This circuit has six
inputs i
1
, i
2
, i
6
, and returns the minimal value
of two integers I(i
1
i
2
i
3
) and I(i
4
i
5
i
6
).
3. Synthesize the circuit C = C
1
@ C
2
identifying inputs which correspond to the same
parameters of services S
1
and S
2
; the outputs of
C
1
are connected to inputs i
1
, i
2
, i
3
of C
min
while
the outputs of C
2
being connected to the inputs i
4
,
i
5
, i
6
of C
min
,
Return C.
The circuit C
min
in Fig. 2 is used to compute the
minimal value of the two QoE values computed by
the circuits C
1
and C
2
for the services S
1
and S
2
,
correspondingly. The set I of C
min
denotes the set of
Boolean vectors representing the QoE of the
composite service of S
1
and S
2
.
By construction of the circuit C
1
@ C
2
using
Algorithm 3, the following proposition holds.
Proposition 1. Given a composite service S
1
@
S
2
and two statistical patterns p
1
_value, p
2
_value, …,
p
k
_value, S
1
_UserSatisfaction_value, and q
1
_value,
p
2
_value, …, q
l
_value, S
2
_UserSatisfaction_value.
Algorithm 3 produces the output C = C
1
@ C
2
such
that the output o of the circuit C corresponds to the
minimum of the integers S
1
_UserSatisfaction_value
and S
2
_UserSatisfaction_value.
Figure 2: A scheme to derive the circuit C
1
@ C
2
, where
P
P \ P
Q
and.
Q
Q \ P
Q
.
We notice that the complexity of Algorithm 3 is
polynomial as it is mostly ‘hidden’ in Step 3. The
arithmetic evaluation of the number of primary
inputs and outputs (Step 1) of the circuit C
1
@ C
2
can be performed in ‘no time’ while the circuit C
min
can be derived just once for various service
components S
1
and S
2
. Therefore, the complexity of
Algorithm 3 can be estimated as the number of
operations required to connect each output of circuit
ESaaSA2015-WorkshoponEmergingSoftwareasaServiceandAnalytics
22
C
1
(or C
2
) to a corresponding input of the circuit
C
min
, and these operations are very scalable. The
latter proves the scalability of the overall approach.
As mentioned above, the proposed approach to
estimate the QoE of a composite service can be also
applied when there exist more than two component
services. For example, when evaluating the QoE of
the service S that is represented as composition (S
1
@ S
2
) @ S
3
of three services, one can apply the
proposed approach iteratively. At the first step, the
QoE of the composition S
1
@ S
2
is predicted by the
circuit C
1
@ C
2
. At the second step, the circuit C =
(C
1
@ C
2
) is combined with the circuit C
3
using
again Algorithm 3. Let the set R correspond to
Boolean vectors which represent the values of
parameters r
1
, r
2
, …, r
m
of the service S
3
. In this
case, the set of inputs of the circuit (C
1
@ C
2
) @ C
3
is the union of the sets P, Q, and R of the circuit
components. After the first application of Algorithm
3, the union W of the sets P and Q is obtained, i.e.,
W P
Q
. After the second Algorithm 3
application, the circuit C = (C
1
@ C
2
) @ C
3
is
obtained, and the set of its inputs is
W
R
. A
scheme that illustrates the procedure for deriving the
circuit (C
1
@ C
2
) @ C
3
when evaluating the QoE of
the composed service is shown in Fig. 3.
Figure 3: A scheme to derive the circuit (C
1
@ C
2
) @ C
3
,
where
W W
\
W
R
and.
R
R
\
W R
.
4.2 Designing a Logic Circuit C
min
by
ABC
The complexity of the circuit C = C
1
@ C
2
significantly depends on the complexity of the
circuit C
min
. We have derived this logic network
using the software tool ABC (Berkeley Logic
Synthesis and Verification Group, ABC). For this
purpose, we have derived a LUT for a corresponding
MIN function. This LUT contains 64 lines, as the
circuit has 6 inputs. The corresponding LUT is
partially presented in Table 4. The circuit C
min
has
significant input values that correspond to pairs (j, k)
of integers, j, k {1, 2, 3, 4, 5}. Other pairs with
integers 0, 6, 7 are so-called Dont Care (DNC)
inputs, and as the circuit is used to compute the
minimum of two integers, for these pairs, we define
the output as the corresponding minimal value,
extending the input domain of the corresponding
MIN function.
We have run the ABC tool against the LUT that
Table 4: A LUT for the circuit Cmin.
x
1
x
2
x
3
x
4
x
5
x
6
MIN
000 000 000
000 001 000
000 010 000
000 011 000
001 110 001
001 111 001
010 000 000
010 001 001
010 010 010
010 011 010
010 100 010
010 101 010
010 110 010
100 000 000
100 001 001
100 010 010
100 011 011
100 100 100
100 101 100
100 110 100
110 100 100
110 101 101
110 110 110
111 100 100
111 101 101
111 110 110
111 111 111
ScalableQoEPredictionforServiceComposition
23
is partially represented in Table 4. For this purpose,
we have presented the set on input/output vectors in
the PLA format. The resulting circuit C
min
designed
by the ABC has 40 AIG nodes (gates).
We mention that the size of the circuit C
min
is
essentially related to the scalability of the proposed
approach and the circuit C
min
came out to be very
compact and thus, can be effectively combined with
the circuits C
1
and C
2
. Moreover, the size of C
min
is
very close to the size of the circuits that can be
obtained when predicting the quality of some ‘real
life’ services. As an example, the reader can address
the experimental results for multimedia services
presented in (Kushik et al., 2014), where the size of
the circuit with two service parameters, namely jitter
and packet loss, was 154 AIG nodes.
Nevertheless, as various services are designed
for different purposes and, therefore, have different
crucial parameters, we note that further experimental
research is needed to estimate the efficiency of the
proposed approach.
6 DISCUSSION ON
APPLICABILITY OF THE
APPROACH
In this section, we briefly discuss how the proposed
approach for the composite service QoE evaluation
can be more rigorously implemented. In the previous
sections, we considered the worst case scenario
when the QoE value is the minimal value of QoE
over all component services. However, this
assumption is very strict and not realistic in many
cases. More often, the QoE of the composite service
significantly depends on the structure of the
composite service and can be estimated as a special
formula taken into consideration the service
composition pattern. As usual, a linear combination
of the two variables QoE
1
and QoE
2
(or more if there
are more component services) that represent the QoE
values of the services C
1
and C
2
can be considered as
the simplest case. In this case, following the
technique proposed in the paper, one should derive a
logic circuit C
formula
that substitutes the C
min
one and
implements a corresponding linear combination.
Consider a circuit C
formula
that returns the Boolean
vector o = (o
1
o
2
o
3
) that corresponds to the integer
that is calculated with a formula
1
I(i
1
i
2
i
3
) + α
2
I(i
4
i
5
i
6
)). The coefficients α
1
and α
2
can been taken
from various domains, however, in order to simplify
the logic synthesis procedure they should be
normalized as integer values. A modified scheme
that illustrates the procedure for deriving the circuit
C
1
@ C
2
such that the QoE of the overall circuit is
computed as the linear combination
1
I(i
1
i
2
i
3
) + α
2
I(i
4
i
5
i
6
)), is shown in Fig. 4.
The circuit C
formula
that computes the linear
combination
1
I(i
1
i
2
i
3
) + α
2
I(i
4
i
5
i
6
)) in the circuit
C
1
@ C
2
, can be implemented in different ways.
Nevertheless, this implementation is reduced to
implementing two arithmetical multiplications and
one addition.
Figure 4: A modified scheme to derive the circuit C
1
@
C
2
, where
P
P \ P
Q
and.
Q Q \ PQ
.
In this case, the most scalable implementation can be
achieved when the coefficients α
1
and α
2
are integers
that represent the powers of two, namely, there exist
x > 0 and y > 0, such that α
1
= 2
x
and α
2
= 2
y
. This
fact simplifies the multiplication procedure. Indeed,
the circuit that performs such multiplication can be
implemented as a shift register that shifts the inputs
i
1
i
2
i
3
and i
4
i
5
i
6
by x and y bits, correspondingly.
Therefore, such linear combinations preserve the
scalability of the proposed approach. However, the
use of different coefficients can reduce the approach
scalability. This drawback can be overcome by
considering α
1
and α
2
as external inputs of the
C
formula
. Similar to Section 4, the circuits can be
constructed not for two but for bigger number of
service components. More general types of the
circuit C
formula
that implement some specific
ESaaSA2015-WorkshoponEmergingSoftwareasaServiceandAnalytics
24
functions that compute the QoE value of the
composite service and take into account the
compositional pattern as well as the component QoE
values need additional research and are left as future
work.
6 CONCLUSIONS
In this paper, we have proposed an approach for
scalable QoE prediction of a composite service. The
approach relies on logic circuits that are designed to
predict the QoE values of the service components.
The algorithm provided in the paper returns the logic
circuit that predicts the QoE value of a composite
service taking into account the fact that the user
satisfaction can be only decreased in the service
composition. Therefore, a MIN function can be
effectively used to decide between the two QoE
values of the service components. We have
estimated the complexity of the resulting circuit that
predicts the QoE of the composite service.
Preliminary experimental results show the scalability
of the proposed approach. More experiments with
different services considering different service
parameters are planned as a future work.
We also notice that despite the fact that using the
worst-case scenario provides a scalable approach for
the QoE composition estimation, in many realistic
cases, the internal composition structure, i.e.,
compositional patterns have to be taken into
account. The reason is that the degradation of the
QoE in one component can affect the QoE of other
components in different ways. On the other hand, a
user satisfaction within a composite service cannot
rely only of the values of the service component
parameters, it also depends on the network traffic,
the properties of the computer of the user, additional
user parameters such as his/her mood, etc. The
approach proposed in the paper does not take into
account the above issues, and this study is also
remained for the future work.
ACKNOWLEDGEMENTS
The authors gratefully acknowledge the scientific
support of the research group lead by Prof. Ana
Cavalli (TELECOM SudParis, France) that initiated
the study of the QoE estimation and was
significantly involved in the first steps of using the
logic synthesis techniques for the service analysis
issues. The authors are pleased to provide novel
contributions to this area based on these first steps
that have been made together.
The authors also mention that this work is
partially supported by RFBR grant 14-08-31640
мол_а (Russia).
REFERENCES
Ahmed, S., Begum, M., Hasan Siddiqui, F., Abul Kashem,
M., 2012. Dynamic Web Service Discovery Model
Basedon Artificial Neural Network with QoS Support.
International Journal of Scientific & Engineering
Research Volume 3, Issue 3, pp. 1-7.
Al-Masri, E., Mahmoud Qusay, H., 2009. Discovering the
Best Web Service: A Neural Network-based Solution.
SMC 2009, pp. 4250-4255.
Berkeley Logic Synthesis and Verification Group, ABC:
A System for Sequential Synthesis and Verification,
url: http://www.eecs.berkeley.edu/~alanmi/abc/.
Booth, D., Haas, H., McCabe, F., Newcomer, E.,
Champion, M., Ferris, C., Orchard, D., 2004. Web
services architecture. W3C Working Group Note, W3C
Technical Reports and Publications, url:
http://www.w3.org/TR/ws-arch/.
El Hadad, J., Manouvrier, M., Rukoz, M., 2010. TQoS:
Transactional and QoS-Aware Selection Algorithm for
Automatic Web Service Composition. IEEE
Transactions on Services Computing, vol. 3, issue. 1,
pp. 73-85.
Kondratyeva, O., Kushik, N., Cavalli, A., Yevtushenko N.,
2013. Evaluating Web Service Quality using Finite
State Models. In Proc. of QSIC 2013.
Kushik, N., Pokhrel J., Yevtushenko N., Cavalli A.R.,
Mallouli W., 2014. QoE Prediction for Multimedia
Services: Comparing Fuzzy and Logic Network
Approaches. International Journal of Organizational
and Collective Intelligence, 4(3), pp. 44-65.
Lin, M., Xie, J., Guo, H., Wang, H., 2005. Solving QoS-
driven web service dynamic composition as fuzzy
constraint satisfaction. EEE 2005, pp. 9-14.
Mitchell, T.M., 1997. Machine learning. McGraw Hill
series in computer science, McGraw-Hill.
Pokhrel, J., Mallouli, W., Montes de Oca, E., 2013. QoE
Prediction and Self-Learning Mechanisms. Technical
report on the PIMI Project.
Pokhrel, J., Wehbi, B., Morais, A., Cavalli, A., Allilaire,
E., 2013. Estimation of QoE of video traffic using a
fuzzy expert system. In Proc. of CCNC, pp. 224-229.
Torres, R., Astudillo, H., Salas, R., 2011. Self-Adaptive
Fuzzy QoS-Driven Web Service Discovery. In IEEE
SCC 2011, pp. 64-71.
ITU-T, 2006. Mean opinion Score (MOS) terminology.
Recommendation P.800.1.
Winckler, M.A., Bach, C., Bernhaupt, R., 2013.
Identifying user experience dimensions for mobile
incident reporting in urban contexts. IEEE
Transactions on Communications, vol. 56, no. 2, pp.
40-82.
ScalableQoEPredictionforServiceComposition
25
Zadeh, L.A., 1965. Fuzzy sets. Information and Control, 8
(3), pp. 338–353.
Zheng, H., Zhao, W., Yang, J., Bouguettaya, A., 2013.
QoS analysis for web service compositions with
complex structures. IEEE Transactions on Services
Computing, vol. 6, issue. 3, pp. 373 - 386.
ESaaSA2015-WorkshoponEmergingSoftwareasaServiceandAnalytics
26