868
IEEE SYSTEMS JOURNAL, VOL. 8, NO. 3, SEPTEMBER 2014
A Trust Service-Oriented Scheduling Model for Workflow Applications in Cloud Computing WenAn Tan, Yong Sun, Ling Xia Li, GuangZhen Lu, and Tong Wang
Abstract—Cloud services have been utilized in large-scale distributed environments. As an effective service aggregation methodology, workflow technology has been used to construct composite services. Efficient and dependable workflow scheduling (WFS) is crucial for integrating enterprise systems. While WFS has been widely studied, WFS-related algorithms are mainly focused on optimizing execution time or cost. However, in cloud computing environment, WFS is up against the threats of the inherent uncertainty and unreliability to the applications. Therefore, trust service-oriented strategies must be considered in WFS. As a result, this paper proposes a trust service-oriented workflow scheduling algorithm. The scheduling algorithm adopts a trust metric that combines direct trust and recommendation trust. In addition, we provide balance policies to enable users to balance different requirements, including time, cost, and trust. A case study was conducted to illustrate the value of the proposed algorithm. The experimental results show that the proposed approach is effective and feasible. Index Terms—Cloud computing, enterprise systems (ES), fuzzy sets, industrial information integration engineering, trust, workflow scheduling (WFS).
I. I NTRODUCTION
E
NTERPRISE SYSTEMS (ES) are being challenged by increased complexity and growing needs for systems integration to meet manufacturing and service industry requirements [1], [2]. Due to increasing competition and economic globalization, ES are being required to integrate extended enterprises in various industry-specific environments in the supply chain environment [3], [4]. As a result, the integration of various ES is being conducted in many large enterprises [5]–[13]. Cloud computing, which aims to aggregate and share a large pool of cloud services, is a promising technique for Manuscript received December 18, 2008; revised February 7, 2013; accepted February 2, 2013. Date of publication June 26, 2013; date of current version August 21, 2014. This work was supported in part by the National Natural Science Foundation of China under Grants 60874120, 61272036, and 71132008, by the Innovation Program of Shanghai Municipal Education Commission under Grant 11ZZ188, by the Changjiang Scholar Program of the Ministry of Education of China, and by the U.S. National Science Foundation under Grant 1044845. W. Tan is with the Nanjing University of Aeronautics and Astronautics, Nanjing 210016, China, and also with the Shanghai Second Polytechnic University, Shanghai 100044, China (e-mail:
[email protected]). Y. Sun and G. Lu are with the Nanjing University of Aeronautics and Astronautics, Nanjing 210016, China (e-mail:
[email protected]). L. X. Li is with the Old Dominion University, Norfolk, VA 23529 USA (e-mail:
[email protected]). T. Wang is with the Shanghai Second Polytechnic University, Shanghai 100044, China. Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org. Digital Object Identifier 10.1109/JSYST.2013.2260072
systems integration [14]–[17]. So far, cloud computing has been successfully used to integrate various services for governments, businesses, and industries. Cloud computing can be defined as a new style of collaborative environment in which dynamically scalable and virtualized resources are provided as a service over the Internet [18], [19]. Due to the heterogeneous problems in data formats, structures, and semantics, it is hard to integrate cloud services into a composite service for supporting collaborative business process [20], [21]. Typically, the service workflow is deployed as the aggregation of services to facilitate the requirements and automation of large-scale distributed systems [22]–[25]. A workflow application has become a standard solution for managing complicated processes in many business organizations [26]–[33]. These workflow applications consist of multiple tasks which can be executed by a series of similar cloud services at different levels of quality. Workflow scheduling (WFS) is defined as the allocation of workflow tasks to suitable cloud services. As an effective service method for integration, WFS has attracted a lot of attention from both researchers and practitioners in recent years. A number of scheduling algorithms have been developed to satisfy industrial requirements in many large-scale systems. Currently, most of these algorithms are focused on minimizing their execution time or cost on commercial cloud service platforms. However, most of the existing commercial cloud services are owned and operated by geographically distributed and heterogeneous organizations and enterprises in a cloud computing environment [34]. The inherent uncertainty and unreliability of large-scale distributed systems often pose threats to the operation of workflow applications [35]–[37]. For example, cloud services sometimes may be offline unexpectedly due to power outage or other reasons. Scheduling complex tasks on dependable services becomes even more important in large-scale network [38]. As the autonomous requirement of each participating service provider, the network is a failure-prone environment. Different service providers without interaction before may cause failure to the execution of a composite service [39]. Trust between service providers is essential to collaborative business process [40]. To be effective, WFS needs to consider the trust factor in addition to time and cost factors. Optimizing both time and cost for the trust service-oriented workflow scheduling (TWFS) model is an NP-hard problem. WFS usually requires certain policies like LOSS, GAIN, and deadline-Markov Decision Process (MDP) to balance different and conflicting requirements such as time, cost, and trust at the same time in the cloud environment [48]–[50].
1932-8184 © 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
TAN et al.: TRUST SERVICE-ORIENTED SCHEDULING MODEL FOR WORKFLOW APPLICATIONS
In this paper, we develop specific scheduling strategies to effectively optimize time, cost, and trust factors in ES. In order to address the problem of WFS in an optimal and reliable way, a TWFS model is proposed to meet the requirements of ES integration. The rest of this paper is organized as follows. We discuss the related work about WFS and trust calculation in Section II. The WFS model, multiobjective optimization, and fuzzy methods are presented in Section III. In Section IV, a TWFS model is proposed, followed by a discussion on the scheduling algorithm in Section V. A case study was conducted to illustrate the value of the proposed algorithm in Section VI. The experimental results are presented in Section VII, followed by the conclusion. II. R ELATED W ORK A. Trust Computing Trust plays an important part in e-commerce. Thus, building trust is also essential for cloud service providers. In general, customers are given the opportunity to provide feedback along with a rating to the service provider after each transaction. In this case, positive feedback rate can be calculated as R = P/(P + N ), where P is the number of positive ratings and N is the number of negative ratings from the buyers. Another way of calculating positive feedback rate considers a central authority model where ratings are supplied by different users [41]. However, the user ratings may be incorrect for some reasons. In the area of distributed information sharing networks, considerable amount of research work has been done to share and distribute information with trustworthy participating peers. For example, the PowerTrust model proposed by Zhou and Hwang computed the local trust value based on the feedback of successful transactions [42]. The EigenTrust algorithm computed the global trust value of a given peer based on the trust value of local successful transactions by using binary rating model [43]. A trust model proposed by Jøsang et al. calculated subjective rating by using the Dempster–Shafer belief theory [44]. A WFS model was proposed to optimize execution time and reliability on heterogeneous systems [45]. Technically, the aforementioned trust aggregation approaches can be categorized as direct trust. With the increasing presence of services on the Internet, researchers have developed a collaborative filtering (CF) model for predicting QoS values to make service recommendations. As a strategy that predicts user needs or interests, recommendation has been widely deployed for service selection in many well-known commercial systems and health care information systems [46], [47]. A major approach used in recommendation systems is CF where a user is given recommendation based on the ratings of other users who are similar with the given user in some aspects. Recommendation systems have been helpful and successful for service composition and selection. A trust value is easy to calculate for service selection and composition. Nevertheless, so far, there are only few studies considering the trust factor in workflow applications. As cloud services may fail unexpectedly from time to time and cause the trust issue for workflow applications in cloud computing environments, trust service-oriented strategies must be considered
869
in WFS. In this paper, a scheduling algorithm is proposed to adopt a general trust metric that combines direct trust and recommendation trust. B. WFS In the community grid, services are freely shared by different organizations. Typically, best effort-based scheduling is adopted to minimize the execution time without considering other factors such as the monetary cost of accessing resources and the satisfaction level associated with various users’ QoS. Best effort-based scheduling typically uses relatively simple methods such heterogeneous earliest-finish-time algorithm, min-min algorithm, and max-min algorithm. This type of scheduling is mainly focused on time or cost optimization without considering other factors. Compared with the traditional distributed computing system, a cloud computing system has a cost saving benefit in various aspects. As service contracts are signed by users and service providers, cloud service providers have an obligation to adopt a series of marketing and technical strategies to ensure the successful fulfillment of service contracts while maintaining their profits and satisfying the requirement of the users. Thus, workflow execution costs must be considered for scheduling based on the user’s QoS constraints. In [48], scheduling workflow model with budget, denoted as constraint LOSS and GAIN strategy, is to start from an assignment which has good performance under either of the two optimization criteria and, then, to swap tasks between services in order to optimize as much as possible for the other criterion. The two strategies are mainly focused on cost and time. In practice, they need to iteratively adjust time to find a good solution. A cost-based WFS algorithm, denoted as deadline-MDP, was proposed by Yu et al. to minimize the execution cost while meeting the deadline [49], [50]. The algorithm was implemented by distributing the deadline over each task partition [49], [50]. Another deadline-MDP algorithm was developed by Yuan et al. who use a backward method to create a new algorithm called deadline bottom level (DBL) [51]. Specifically, the workflow deadline is segmented into the time intervals of all tasks. All tasks in each bottom level have the same subdeadline, but the starting time of a task in each level is determined by the maximum finishing time of its predecessors, rather than the finishing time of its parent group which is adopted by deadline top level (DTL). The DBL algorithm can considerably improve the average performance of DTL. Although DBL and DTL are very simple and relatively effective, the temporal relationships may be partially changed. As a result, workflow applications with shorter deadline constraints cannot be optimized effectively. The compromised-time-cost model accommodates instance-intensive cost-constrained workflow by compromising execution time and cost with the deadline [52]. Overall, the aforementioned three algorithms aim to minimize the total execution cost while meeting the deadline. In summary, the aforementioned WFS algorithms are mainly focused on minimizing execution time or cost and do not consider the critical influence of uncertainty and unreliability in large-scale distributed systems. Unfortunately, in cloud
870
IEEE SYSTEMS JOURNAL, VOL. 8, NO. 3, SEPTEMBER 2014
computing environments, many discrete events lead to failures of a workflow application. Thus, ES are strongly expected to aggregate and share trustworthy services in cloud computing environments. From this perspective, we made an effort to develop a TWFS model in order to balance different and conflicting requirements of enterprises. III. S YSTEM M ODELS In this section, we provide a brief overview of basic terms related to the scope of this paper, including WFS model, fuzzy modeling, and multiobjective modeling. In addition, we discuss the problem related to the TWFS models. A. WFS Model If enterprise users submit their requirements for integration with the workflow application requiring maximum QoS constraints, the WFS planner will return the results to users and allow users to choose the most suitable schedule and confirm the information. Finally, ES start to execute the workflow according to the conventional information. In the context of cloud computing, a wide range of integrated systems can be represented as workflows which can be modeled as directed acyclic graphs (DAGs) [53]. The following model provides an effective way to map the node (or task) to service. Definition 1: Let W = {T, E} denote a workflow which consists of a set of tasks T = {T1 , . . . , Ti , . . . , Tn } and a set of dependences among the tasks; tasks are sometimes also called nodes. E = {T1 , T2 , . . . , Ti , Tj , . . . , Tn−1 , Tn }, and Ti is the parent task of Tj , where Tj , Tj ∈ T . A child task cannot be executed until all of its parent tasks have been completed. Definition 2: In a workflow DAG, we call a task which does not have any parent tasks an entry task and denote it as Tentry , while a task which does not have any child tasks is called an exit task, denoted as Texit . Definition 3: Let m be the total number of candidate services. There are a set of sij (where 1 ≤ i ≤ n, 1 ≤ j ≤ mi ) which are available for the task. Services have varied processing capability delivered at different prices and time. We denote tij as the sum of processing time and data transmission time and cij as the sum of service price and data transmission cost for processing ti on service sij . Definition 4: The minimum time to complete the schedule is the length of the critical path from the entry node of workflow to the exit node. In symbols EF = ES + Di
(1a)
LS = LF − Di
(1b)
Slack = LF − EF
(1c)
where ES represents the earliest start time, EF is the earliest finish time, LS denotes the latest start time, LF is the latest finish time, the slack for a task is the difference between its latest finish time and its earliest finish time, and Di is the estimated duration of the task Ti . Each task with zero slack is on a critical path through the workflow DAGs.
Fig. 1.
Membership function for objective.
B. Fuzzy Model Using max-min as the operator [54], [55], the membership function of objectives is formulated by separating every objective into its maximum and minimum values [56]. The linear membership functions for optimization goal (Zk , Zl ) are given as follows: ⎧ ⎪ zk ≤ zkmin ⎨ 1,max zk −zk (x) (2) u(x) = zkmin ≤ zk ≤ zkmax min , z max −zk ⎪ ⎩ k 0, zkmax ≤ zk ⎧ zl ≤ zlmin ⎪ ⎨ 0, zl (x)−zlmin u(x) = (3) zlmin ≤ zl ≤ zlmax max min , ⎪ ⎩ zl −zl 1, zlmax ≤ zl where zkmax and zkmin can be computed through solving the multiobjective problem as a single objective in each time. zkmax is the maximum value of zk (x), and zkmin is the minimum value of zk (x), as shown in Fig. 1. C. Multiobjective Model The workflow planning problem is a multiobjective optimization problem in which groups of conflicting objectives are simultaneously optimized [57]. Definition 5: In order to formulate this model, the notations are defined as follows: D time constraint (deadline); B cost constraint (budget); T r trust constraint; time of the jth service assigned for the ith task; tij xij if the jth service is assigned for the ith task, then xij = 1; else, xij = 0; n number of all tasks; mi number of services available for the ith task. Definition 6: Mathematically, a typical model for WFS in the service cloud can be described as follows: Minimize:
Z1 =
mi n i=1 j=1
xij cij
(4a)
TAN et al.: TRUST SERVICE-ORIENTED SCHEDULING MODEL FOR WORKFLOW APPLICATIONS
Minimize: Maximize:
Z2 = Z3 =
mi n i=1 j=1 mi n
xij tij
(4b)
xij trji
(4c)
Fig. 2. Data structure of mapping tasks.
i=1 j=1
subject to:
871
Z1 ≤ B Z2 ≤ D Z3 ≥ T r
(4d)
where Zi is the object or criteria for minimization like time, cost, etc. Xd is the set of feasible solutions that satisfy the set of system and policy constraints. The optimization of the workflow is to map every Ti onto some Sji in order to achieve minimum execution cost and time while meeting the constraints of trust.
where the trust value of a service is initialized to 1/2. RT (Si ) is the recommendation trust value of the ith service. RT (Si ) is the weighted sum of ratings by others, where the weight corresponds to the similarity between the active user and each of the other users. To describe the prediction algorithm formally, let S be the set of services being rated, n be the number of users, Si be the set of services rated by user i, and vij be the rating given by user i to the jth service. Next, let average vi be the average rating by user i as given by 1 ∗ vij . (8) avg(vi ) = |Si | j∈Si
IV. TWFS M ODEL Based on the aforementioned discussion, the present work considers the WFS problem as a fuzzy multiobjective problem which is subject to time, cost, and trust constraints. The problem formulation proposed here considers three different objectives related to trust, time, and cost. A. Member Function for Trust Evaluation In a large-scale distributed system, many discrete events could lead to the failures of a workflow application. Therefore, we present a trust service-oriented scheduling algorithm which considers the reliability of a service for workflow execution. A general trust metric that combines direct trust and recommendation trust is defined as follows: T r(Si ) = wi ∗ DT (Si ) + (1 − wi ) ∗ RT (Si )
(5)
where DT (Si ) is a direct trust of the ith service by the experiences which is based on the history of using the service by the users. RT (Si ) is a recommendation trust of the ith service by other users. wi is the weight of direct trust and recommendation trust for the ith service, which can be computed as follows: wi = 1 −
1 ek
(6)
where k is the number of times that the ith service is used by the service client and wi is adaptively changing with the value of k. For a more frequently used service, higher weights should be assigned for the direct trust evaluation. For example, if wi = 0, it means that the client never uses the ith service, so T r(Si ) depends completely on the recommendation trust evaluation. DT (Si ) is established through observations on whether the previous interactions among the services are successful used. The observation is often described by two variables: ni , denoting the number of successful interactions, and Ni , denoting the total number of interactions for the ith service. The direct trust value can be calculated as DT (Si ) =
ni + 1 Ni + 2
(7)
The weight wai reflects the similarity between user a and user i. Based on these, we can define the predicted rating of the active user a for service j as (n is the number of users) n w (v − v i ) nai ij . (9) RT (Sj ) = avg(va ) + i=1 i=1 |wai | The weights for the users are calculated by the Pearson correlation coefficient (PCC) which is widely used to compute the degree of similar relationship between two variables. The similarity between users a and i would be computed as follows: j∈S (vaj − v a )(vij − v i ) wai = (10) 2 (v − v )2 (v − v ) aj a ij i j∈S where S = Sa ∩ Sb is the subset of services which have been used by both users a and i. Using max-min as the operator, the membership function for the trust evaluation of the service is formulated as follows: UTi (trx ) =
i trxi − trmin , i i trmax − trmin
i i if trmin ≤ trxi ≤ trmax
(11a) i trmin
UTi (trx ) = 0,
if
trxi
(11b)
UTi (trx ) = 1,
i if trmax = trxi
(11c)
=
where trxi is the trust value for the service selected for the ith i is the max value of trust for the service available for task, trmax i is the min value of trust for the service. the ith task, and trmin B. Member Function for Execution Time There is a set of services in which sij (where 1 ≤ i ≤ n,1 ≤ j ≤ mi ) is capable of executing the task. The linked list data structure is employed to solve the problem of mapping task Ti onto sij , as shown in Fig. 2. In the linked list, we store each service in a node that contains three elements such as time, cost, feedback value and a reference to the next node in the list, and the list of services is sorted in a descending way based on the value of time.
872
IEEE SYSTEMS JOURNAL, VOL. 8, NO. 3, SEPTEMBER 2014
Using max-min as the operator, the membership function for execution time is formulated as follows: UTi (tx ) =
timax − tix , i tmax − timin
UTi (tx ) = 0, UTi (cx ) = 1,
if
timin ≤ tix ≤ timax (12a)
if timax = tix if timin = tix
(12b) (12c)
where tix is the time for the service selected for the ith task, timax is the max value of time for the service available for the ith task, and timin is the min value of time for the service available for the ith task. Member function indicates that the closer the value of tix is to timin , the better the selected service is, and the more the objective is satisfied. C. Membership Function for Execution Cost Similar to the membership function of execution time, the membership function for the execution cost of the ith task can be defined as follows: UTi (cx ) =
cimax − cix , i cmax − cimin
UTi (cx ) = 0, UTi (cx ) = 1, where cix
if cimin ≤ cix ≤ cimax (13a) if if
cimax = cix cimin = cix
(13b) (13c)
is the cost for the service selected for the ith task, cimax
is the max value of cost for the service available for the ith task, and cimin is the min value of cost for the service available for the ith task. The time and cost are conflicting requirements. According to the analysis of the membership function for execution cost, the list of services is stored in a descending order based on the time. In contrast, the list is in an ascending order based on the cost. The equation of the membership function for cost indicates that, if the value of cix is high, the membership value is low. On the other hand, if the value of cimin is low, the higher membership value is assigned, the better the selected service is, and the more the objective is satisfied. V. M ODEL A LGORITHM WFS require policies to strike a balance for the different requirements. For example, enterprise may expect to save budget but have longer time, or aim to minimize the execution time of schedule. In order to satisfy the multiple criteria simultaneously, a compromise should be made to find a suitable solution. Using max-min as the operator, the aforementioned fuzzy model can be converted to the following crisp model as: M axmize λi
(14a)
UTi (tx ) ≥ λi
(14b)
UTi (cx ) ≥ λi
(14c)
UTi (trx ) ≥ λi
(14d)
tx ≥ 0, cx ≥ 0, trx ≥ 0
(14e)
λi ∈ [0, 1], I = 1, . . . , n
(14f)
The degree of overall satisfaction is the minimum of all the aforementioned membership values. The fuzzy decision may be considered as the choice that satisfies all of the objectives. Therefore, the fuzzy decision for overall satisfaction is given as follows: λij = min {UTi (tx ), UTi (cx ), UTi (trx )} .
(15)
The selection of services for WFS is the maximum of all degrees of satisfaction. We define the selection decision as follows: λik = max{λij }
(16)
where k means the kth service which has the maximum of degrees of satisfaction for the ith task, so the kth service is mapping on the ith task. The approaches used in [55] do not consider the relative importance of objectives. In the max-min model, the weights of objectives are equal. However, the relative importance of objectives is often different. The selection model can be formulated by the weighted arithmetic mean operator Maximize U ∗ W T wt + wc + wtr = 1,
(17a) for wt , wc , wtr ∈ [0, 1] (17b)
where W is the weight vector containing wt , wc , and wtr values; wt means the weight of time, wc is the weight of cost, and wtr denotes the weight of trust in the model. UT is the vector of service membership values, which is including UTi (tx ), UTi (cx ), and UTi (trx ). From the aforementioned analysis, the TWFS model is stated in Algorithm 1. Algorithm 1 TWFS Input: request processing time, cost, and trust value Output: A workflow schedule strategy for Enterprise Information Systems 1: request processing time, cost, and trust value from available service ∀Ti ∈ T 2: repeat 3: compute the indegrees for ∀Ti ∈ T 4: while !stack.isEmpty() do 5: forall s in available services of the ith task do 6: compute λk = max{ 2j=0 UZTji (x) ∗ wj } 7: end for 8: Mapping service Sk onto the ith task 9: forall edge e in adjacent do 10: vertices of the ith task 11: vertex w = e.dest 12: if w.indegree == 0 then 13: insert w into stack 14 end if 15: end for 16: end while 17: until all tasks have been scheduled
TAN et al.: TRUST SERVICE-ORIENTED SCHEDULING MODEL FOR WORKFLOW APPLICATIONS
873
TABLE III S AMPLE OF S ERVICE L IST
Fig. 3.
Sample DAG of the workflow application.
TABLE I S AMPLE OF THE R ATINGS OF E NTERPRISES FOR C LOUD S ERVICES
B. Mapping Task Onto Suitable Services TABLE II E NTERPRISE U SER -BASED P EARSON C ORRELATION
VI. C ASE S TUDY In this section, a case study is used to illustrate the value of the proposed algorithm. The algorithm is explained using an example of workflow applications described in Fig. 3. A. Trust Evaluation for Candidate Services To illustrate the value of trust evaluation, we consider the following example based on the ratings of Table I. Example: An enterprise needs to evaluate the candidate service A for the ith tasks in the example workflow application that the enterprise has not yet used. The blank in Table I means that a user’s rating is missing, and it is treated as if it equals that user’s average rating. The similarities between the pairs of enterprises in the example are computed by PCC, which is given in Table II. The predicted rating would be calculated as follows: n w (v − v i ) nai ij RT (Sj ) = avg(va ) + i=1 i=1 |wai | = 3.5 + ≈ 5.
−0.66 ∗ 0.75 + 0.4 ∗ 1.75 + 3.6 ∗ 0.92 0.66 + 0.84 + 0.92 (18)
Each task in the workflow can be executed by a series of similar cloud services at different levels of quality. All candidate cloud services are in the service list of the ith task. For example, {(5,3,3),(10,2,4),(20,1,5)} is a candidate service list for the 6th task. Table III shows the service list of each task for this workflow example. Service selection and service ranking are based on the objective functions for cost, time, and trust, respectively. The steps of service selection are described in the following steps. Step 1: Using max-min operator, compute the vectors of (UTi (tx ), UTi (cx ), UTi (trx )) for the ith task 6 6 t6max =3, t6min = 3; c6max = 20, c6min = 5; trmax = 5, trmin =3
20−5 3−3 3−3 UT16 = = (1 0 0) 20−5 3−1 5−3
20−10 3−2 5−3 2 1 1 = UT26 = 20−5 3−1 5−3 3 2
20−20 3−1 4−3 1 UT26 = = 01 . 20−5 3−1 5−3 2
Step 2: Compute max of U ∗ W T of execution time and cost for the ith task U ∗ W T = (UTi (tx ) UTi (cx ) UTi (trx )) ∗ (wt wc wtr )T . Step 3: If λix is max, then six is selected, therefore mapping the ith task onto the xth service. In various situations, users often have different preferences for service selection, and the relative importance of their objectives is often different. In this paper, we set a typical weight vector value to illustrate the value of the proposed algorithm. Case 1: Give W = (1/3 1/3 1/3) to the set of (wt wc wtr ) for test. The weights of objectives are equal, which means that
874
IEEE SYSTEMS JOURNAL, VOL. 8, NO. 3, SEPTEMBER 2014
the user aims at reaching a compromise for all objectives ⎞⎛ ⎞ ⎛ ⎞ ⎛ 1 ⎞ ⎛ 1 0 0 1/3 1/3 U T6 ⎝ UT2 ⎠ =⎝ 2/3 1/2 1 ⎠ ⎝ 1/3 ⎠ =⎝ 13/18 ⎠. (19) 6 3 U T6 0 1 1/2 1/3 1/2
TABLE IV O PTIMUM S OLUTION FOR THE W ORKFLOW
In this case, the most suitable service for the 6th task is the service s26 , which is supported by UT26 > UT16 and UT26 > UT36 . The results indicate that the solution enables users to compromise for different requirements. Case 2: Assuming W = (1, 0, 0), the weight of time is the most important, which means that enterprise users aim at optimizing a single objective of execution time ⎞⎛ ⎞ ⎛ ⎞ ⎛ 1 ⎞ ⎛ 1 0 0 1 1 UT6 ⎝ UT2 ⎠ = ⎝ 2/3 1/2 1 ⎠ ⎝ 0 ⎠ = ⎝ 2/3 ⎠ . (20) 6 3 0 1 1/2 0 0 U T6 In this case, the service s16 is selected based on matrix computation. As shown in Table III, the service s16 is the most optimized choice for execution time. Case 3: Assume W = (0, 1, 0), focusing on minimizing execution cost for service selection. Similar to Case 2, the service s36 is selected ⎞⎛ ⎞ ⎛ ⎞ ⎛ 1 ⎞ ⎛ 1 0 0 0 0 UT6 ⎝ UT2 ⎠ = ⎝ 2/3 1/2 1 ⎠ ⎝ 1 ⎠ = ⎝ 1/2 ⎠ . (21) 6 0 1 1/2 0 1 UT36 Case 4: Assuming W = (0 0 1), we aim to get the maximum of the trust value. The most trustworthy service is selected based on the member function for trust evaluation ⎞⎛ ⎞ ⎛ ⎞ ⎛ 1 ⎞ ⎛ 1 0 0 0 0 UT6 ⎝ UT2 ⎠ = ⎝ 2/3 1/2 1 ⎠ ⎝ 0 ⎠ = ⎝ 1 ⎠ . (22) 6 0 1 1/2 1 1/2 UT36 The other tasks in the workflow are scheduled by the same way as the 6th task. The solution for the example WFS is shown in Table IV. By performing the topological sorting, we can get the sequence order list as follows: 1 5 4 8 3 2 6 7 11 10 9 14 12 13 15 16; the critical path is 1 2 6 7 10 14 15 16, and the execution time of the WFS is 76. VII. E XPERIMENTS A. Setting of the Experiments To evaluate the proposed scheduling model, we consider time and cost as key factors in the comparison with other WFS strategies: minimum critical path (MCP), greedy cost, and DBL. MCP sorts services by their time and selects the service with the minimum time for the corresponding task. On the contrary, the greedy-cost approach sorts services by their cost and selects the service with the minimum cost. For DBL, all tasks are partitioned into bottom level groups by using a backward method. In our experiment, DAGs are randomly generated with different scales and structures. The expected time for each service is randomly generated from a uniform distribution in the interval [10], [60]. To simplify the problem, the corresponding cost of each service is defined by the equation cost = 360/time.
All the algorithms are coded in Java and performed on an Advanced Micro Device (AMD) Athlon II Dual-Core M300 with a 2.00-GHz processor and 2-GB RAM which uses the operating system Window XP. B. Weight of Impact Algorithm 2 Computing the Weight for TWFS Input: A workflow graph Output: A workflow schedule strategy for EISs 1: wt = 0.5; wc = 0.5//wt : weight of time, wc : weight of cost; the initial value of weights is equal 0.5 2: while executionTime