Database Reference
In-Depth Information
Fig. 8.3
Data flow graphs
the start point of the composite service. S
e
represents the end point. The data items
transferred between these abstract application services form a set D
Df
data
i
;1
i
d
g
.
A set of k
n
concrete application services
f
s
n1
;s
n2
;:::;s
nk
n
g
is available to
execute the abstract service S
n
. A concrete application service can be executed
on several virtual machines, databases and network services. After mapping each
abstract service to a concrete application service, VM UCSs and Database UCSs
need to be selected for each application service. Network UCSs need to be selected
for each data transfer in the data-flow graph. Assume each VM can only execute
one application service at a time. A late application service can only execute on
the VM after the former application services finish their executions. To sum up, any
solution to a composition problem in cloud computing includes: (1) Map the abstract
application services to concrete application services and corresponding UCSs (VM,
database and network services). (2) Schedule the execution order of the application
services. This execution order is a topological sort [
114
] of the data-flow graph, i.e.
a total ordering of the nodes in the DAG that obeys the precedence constraints.
QoS Model
QoS attributes contains (1) ascending QoS attributes, i.e. a higher value is better;
(2) descending QoS attributes, i.e. a smaller value is better; (3) equal QoS attributes,
i.e. no ordering but only equality, e.g. security protocol should be X.509. Four
QoS attributes are considered in this work: response time, price, availability
and reputation. Among them, time and price belong to the descending attributes
while availability and reputation belong to the ascending attributes. Vector
Q
D
Q
1
;Q
2
;Q
3
;Q
4
denotes all the available QoS attributes. Q
i
;1
i
4 represents
time, price, availability and reputation.
QoS values of an application service consist of three parts: execution, network
and storage QoSs. Existing QoS models in SOC [
238
] only consider the execution
QoSs.
Execution QoS
refers to the QoS value for executing an application service in