probability matrix may be obtained from the infinites-
imal generator matrix, which is called the embedded
Markov chain matrix. Each i j
th
element of this ma-
trix may be obtained as the ratio of the corresponding
element of the infinitesimal generator matrix to the
sum of all the elements except the ii
th
element in the
corresponding row of the infinitesimal generator ma-
trix. The ii
th
element of the embedded Markov chain
matrix is always zero. The embedded Markov chain
matrix P for our trip-planner example corresponding
to the infinitesimal generator matrix is shown in Fig-
ure 6.
In general, every functionality has more than one, and
often many candidate services that can effectively perform
the task, which brings us back to the service selection prob-
lem.
The representation of the service domain in our work has
been done as a multi-tier acyclic graph, where each tier rep-
resents a certain functionality and is populated by the set of
simple services that possess the capability to perform the
respective functionality. The size of this set is dynamic in
nature and is characterized by frequent entry of new service
instances, as well as upgrade and departure of existing ones.
The left panel of figure 2 shows a simple example of this
representation. Services B , C , that are on the same tier, rep-
resent functionally equivalent services. The same holds for
services D , E , F , as well as G, H . The work-flow is from
top to bottom, never from bottom to top and hence there are
no cycles. Thus a service at a certain level ‘calls’ one of
the services at the level immediately below it, and subse-
quently this called service calls one of the services from the
next level, and so on. In this way, a composite service gets
formed. An example of this service domain representation
(the ‘trip-planner’ example) is shown on the right panel of
figure 2.
A variable called ‘coupling’, as mentioned earlier, is as-
signed between each service at a certain level to each and
every service at the next immediate level. The coupling
C
ij
, depends upon factors such as business relationships
between the providers of services i, and j , ease of plug-
in between the two services, and other miscellaneous fac-
tors. A high value of C
ij
indicates a high degree of cou-
pling between i, and j . For example, assuming the services
in our trip-planner example, ‘TravelPedia’ and ‘HoteloCity’
are provided by the same parent organization. It would be
expected therefore that there would be a high value of cou-
pling between the two. The value of coupling between ser-
vices ranges from 1 to ∞. A value of 1 indicates ordinary
interaction with no special bonding between the services,
whereas higher values indicate better bonding.
For each service in the domain, there is a service com-
pletion rate which is the rate at which the respective service
completes the requests. The service completion rate of ser-
vice i, µ
i
may be calculated as follows:
µ
i
=
no. of service requests completed by service i
total time
(1)
Subsequently, a transition rate (λ
ij
) between a calling ser-
vice i, and the called service j may be calculated as:
λ
ij
= C
ij
· µ
i
(2)
where C
ij
is the coupling between services i, and j , and µ
i
is the service completion rate of service i. The transition
rates are indicated by dotted arrows between services in the
left panel of figure 2.
Besides these transition rate values, there is a ‘failure
rate’ (λ
j→fail
) from each service j in the domain to the
‘fail’ state. The independent failure rate of each service j
may be expressed as follows,
λ
j→fail
=
no. of times service j fails
total up time
(3)
There is correspondingly a ‘recovery rate’ (λ
fail→j
)
from the fail state to each service j in the domain. The
recovery rate may be calculated as follows,
λ
fail→j
=
no. of times service j recovers from failure
total down-time
(4)
The ‘calling’ behavior of services at each level in the
domain is assumed to be unaffected by the service selec-
tions prior to it in the domain, i.e. by the service selections
at the function levels above it. The service domain may
thus be represented as a Continuous Time Markov Chain
(CTMC) [6]. This is done by first representing the service
domain as a Stochastic Petri-Net [1], and then converting
the same to the equivalent CTMC representation. A detailed
description of the conversion of a normal representation of
the system to the equivalent CTMC representation is given
in [14].
The motive behind representing the service domain as
a CTMC is to take advantage of the various analysis proce-
dures meant for the latter, and in effect to come up with use-
ful results regarding the reliability of the system. The transi-
tion rates between states in the CTMC may be expressed in
the form of a matrix called the infinitesimal generator ma-
trix . The value of the ij
th
element of this matrix is equal
to the value of the rate of transition from the i
th
state to the
j
th
state of the CTMC. The sum of the elements in each row
of this matrix is always zero. Therefore the ii
th
element in
each row is the negative of the summation of the other ele-
ments in the row. The infinitesimal generator matrix for our
trip-planner example whose coupling values between ser-
vices and service completion rate values are shown in figure
3 is shown below in equation (5):
−2.01.01.0 0 0 0 0 0 0
0 −8.1 0 2.42.92.6 0 0 0.2
00−12.32.65.04.6 0 0 0.1
0 0 0 −5.75 0 0 1.93.80.05
0 0 0 0 −13.4 0 7.0 6.1 0.3
0 0 0 0 0 −5.38 2.23.10.08
0.8 0 0 0 0 0 −1.0 0 0.2
1.4 0 0 0 0 0 0 −1.70.3
00.70.50.009 0.002 1.10.06 0.7 −3.07
(5)
For example, the transition rate value from service BestHo-
domain as a Stochastic Petri-Net [10], and then converting the same to the equivalent
CTMC representation. A detailed description of the conversion of a normal representa-
tion of the system to the equivalent CTMC representation is given in [11].
The motive behind representing the service domain as a CTMC is to take advantage
of the various analysis procedures meant for the latter, and in effect to come up with
useful results regarding the reliability of the system. The transition rates between states
TravelPedia
FlightsCheap
EasyHotels
BestHotels
HoteloCity
PaymentGate
EasyPay
Log in/out
TravelPedia
FlightsCheap
EasyHotels
BestHotels
HoteloCity
PaymentGate
EasyPay
1.0 1.0
--
-- -- --
1.4 1.7
2.1 1.9
1.5
1.4
2.7
2.2
1.1
1.7
1.2
1.9
-- --
--
--
-- -- -- --
-- -- -- --
--
-- -- -- --
--
-- -- --
--
-- -- -- -- -- -- --
--
-- -- -- --
--
-- --
--
--
--
--
--
--
Log in/out
--
1.0
1.0
Failure rate Recovery rate
Completion rate
0.8
1.7
3.2
1.4
1.4
1.8
2.4
1.0
0.002
1.1
0.7
0.009
0.06
--
0.7
0.5
0.2
0.3
0.08
0.2
0.3
--
0.05
TravelPedia
FlightsCheap
EasyHotels
BestHotels
HoteloCity
PaymentGate
EasyPay
0.08
Log in/Log out
(b)
Fig. 3: (a) Coupling values, (b) Initial failure, recovery, and service completion rate
values
in the CTMC may be expressed in the form of a matrix called the infinitesimal generator
matrix . The value of the ij
th
element of this matrix is equal to the value of the rate of
transition from the i
th
state to the j
th
state of the CTMC. The sum of the elements in
each row of this matrix is always zero. Therefore the ii
th
element in each row is the
negative of the summation of the other elements in the row. The infinitesimal generator
matrix for our trip-planner example whose coupling values between services and service
completion rate values are shown in figure 3 is shown below in equation (6):
I GM =
−2.01.01.0 0 0 0 0 0 0
0 −8.02 0 2.38 2.89 2.55 0 0 0.2
00−12.32 2.64 5.04 4.56 0 0 0.08
0 0 0 −5.79 0 0 1.96 3.78 0.05
0 0 0 0 −13.42 0 7.04 6.08 0.3
0 0 0 0 0 −5.32.16 3.06 0.08
0.8 0 0 0 0 0 −1.0 0 0.2
1.4 0 0 0 0 0 0 −1.70.3
00.70.50.009 0.002 1.10.06 0.7 −3.071
(6)
For example, the transition rate value from service BestHotels to EasyPay is calculated
using equation (2) as follows (shown in bold in the matrix):
λ = C oupl ing
BestHotels−EasyP ay
∗ compl etionRate
BestHotels
=1.9 ∗ 3.2=6.08
The last column and row (9th from left and top) correspond to the fail state and its
elements are simply obtained from the table in figure 3(b) as the initial failure and
recovery rate values respectively.
A number of analysis techniques require that the transition values between the dif-
ferent states of a CTMC be expressed as a probability. To take advantage of these tech-
niques, an approximate transition probability matrix may be obtained from the infinites-
imal generator matrix, which is called the embedded Markov chain matrix. Each ij
th
element of this matrix may be obtained as the ratio of the corresponding element of the
infinitesimal generator matrix to the sum of all the elements except the ii
th
element in
the corresponding row of the infinitesimal generator matrix. The ii
th
element of this
matrix is always zero. The embedded Markov chain matrix P for our trip-planner ex-
ample corresponding to the infinitesimal generator matrix is shown below in equation
(7):
P =
00.50.5 0 0 0 0 0 0
0 0 0 0.297 0.36 0.318 0 0 0.025
0 0 0 0.214 0.409 0.37 0 0 0.007
0 0 0 0 0 0 0.339 0.653 0.008
0 0 0 0 0 0 0.525 0.453 0.022
0 0 0 0 0 0 0.408 0.577 0.015
0.8 0 0 0 0 0 0 0 0.2
0.824 0 0 0 0 0 0 0 0.176
00.228 0.163 0.003 0.001 0.357 0.02 0.228 0
(7)
For example, the element in the embedded Markov chain matrix corresponding to the
element in bold in the IGM is calculated as follows:
P =
6.08
7.04 + 6.08 + 0.3
=0.453
4 Calculating the reliability in terms of ‘failure distance’
The coupling between services is an expression of the bonding that exists between in-
teracting services in the domain. The higher the value of this coupling, more tightly
are the services bound to each other. In such a scenario, we feel that the ‘tendency to
fail’ of a service that is ‘called’ by another should be in some way dependent upon the
reliability of the calling service. Thus, a service that is tightly coupled with another
of low reliability should have a greater tendency to fail than one that is not as tightly
coupled and vice-versa. To capture this relationship, we propose the procedure of reg-
ularly revising the failure-rates of individual services according to equation (4). In this
equation, the failure-distance (which will be elaborated upon subsequently) of services
that call the service in question is in the denominator. Therefore, a calling service that
has a higher failure distance (i.e. better reliability) will tend to reduce the failure-rate
of the concerned service. Further, the coupling value is placed in the numerator so that
the effect is proportional to the degree of coupling. The revised values of failure-rate
are then used to calculate a new set of failure-distance values. This process is repeated
every time a new service request is made. This, thus caters to our higher level goal of
Figure 6: Embedded Markov Chain Matrix.
As an example, the element in the embedded
Markov chain matrix corresponding to the element in
bold in the IGM is calculated as follows:
P =
6.08
7.04 + 6.08 + 0.3
= 0.453
4 RELIABILITY IN TERMS OF
‘FAILURE DISTANCE’
The CTMC representation of the service domain is
utilized to calculate the reliability values. More pre-
cisely, the CTMC representation is used to find the
‘failure distance’ of individual services, and this fail-
ure distance is regarded as an expression of reliability.
The larger the failure distance of a service, the higher
is its reliability.
It would be worthwhile to mention at this point
that the failure distance of a service is measured as the
‘number of transitions’ that the system would need to
go through before converging to the ‘fail’ state, given
that it starts at the service in question. The larger the
number of transitions, the larger the failure distance.
This would be further elaborated upon, in the subse-
quent portion.
The CTMC representation of the service domain
which is used to calculate the failure distance includes
the infinitesimal generator matrix (shown in Figure 5
for our example) which consists of the transition rate
values between every pair of ‘invoking’ and ‘invoked’
services in the domain. Another important component
of the CTMC representation is the probability vector.
The elements in the probability vector correspond to
the various states of the CTMC representation. Each
element in the vector represents the probability that
the system exists in the corresponding state at a cer-
tain stage. Thus initially, when number of transitions,
t = 0, the probability vector may be represented as π
0
,
where
π
0
= {p
0
1
, p
0
2
, p
0
3
, . . . , p
0
n
} (5)
p
0
i
(i = 1, 2, . . . , n) are the values representing the
probability that the system initially is in state i. Fur-
thermore, after the first transition, t = 1,
π
1
= π
0
· P (6)
where P is the embedded Markov chain matrix
(shown in Figure 6 for our example). As mentioned
earlier, the embedded Markov chain matrix consists
of the transition probability values from each state
in the system to every other state. It is analogous
to the transition probability matrix of a discrete time
Markov chain (Norris, 1998).
Thus, if we continue multiplying the probability
vector with the embedded Markov chain matrix P,
we will eventually arrive at a probability vector, π
s
,
which remains constant, i.e. it does not change with
further multiplication with P.
π
1
= π
0
· P ⇒ π
2
= π
1
· P ⇒ ···π
s
= π
s
· P (7)
π
s
is called the equilibrium probability vector.
Each element in this vector represents the probabil-
ity of the system being in the corresponding state at
equilibrium.
We will now show that the equilibrium probabil-
ity vector is the same as the left-hand eigenvector of
matrix P corresponding to the unit eigenvalue (Greub,
1981). If e
T
i
is the left-hand eigenvector of a matrix
P corresponding to the eigenvalue λ
i
, then we know
that
λ
i
· e
T
i
= e
T
i
· P (8)
when λ
i
= 1, i.e. the unit eigenvalue, then
e
T
i
= e
T
i
· P (9)
Observing equations (7) and (9) together,
e
T
i
= e
T
i
· P ⇔ π
s
= π
s
· P ⇒ e
T
i
= π
s
The equilibrium probability vector may thus be eas-
ily calculated as the left hand eigenvector (normal-
ized to sum to 1) corresponding to the unit eigenvalue,
of the embedded Markov chain matrix of the CTMC
representation of any service domain. The equilib-
rium probability vector for our trip-planner example
is shown below:
WEBIST 2010 - 6th International Conference on Web Information Systems and Technologies
34