A Model for the Aggregation of QoS in WS Compositions Involving ...

0 downloads 0 Views 299KB Size Report
Web Service Business Process Execution Language (WS-BPEL, the successor of .... the split-condition be to start always two of the five tasks. The result is a set ...
A Model for the Aggregation of QoS in WS Compositions Involving Redundant Services Michael C. Jaeger, Hendrik Ladner Berlin University of Technology Institute of Telecommunication Systems Formal Models, Logics and Programming (FLP), Sek. FR6-10, Franklinstrasse 28/29 D-10587 Berlin, Germany [email protected] [email protected] ABSTRACT: A composition arranges available services resulting in a defined flow of tasks. A discovery process identifies the suitable candidate services for a composition. A subsequent selection process chooses the optimal candidate for each task. The selection process can consider different quality-of-service (QoS) categories of the individual services to optimise the quality of the whole composition. The result is a quality-optimised assignment of candidates to each task. In this work, we discuss the case how already identified candidates, which a selection process originally has separated out, can improve a composition w.r.t. particular QoS categories. To realise this improvement, redundant arrangements involve the alternative candidates in order to supplement the originally assigned service. We formed these redundant arrangements on the basis of our previously introduced compositions patterns. The contribution of this work is a computational model that allows the aggregation of the QoS for the composition when these arrangements are applied. This work presents extensions and refinements to our previous work [jaeger etal 05] where the basic concepts of this computational model were already discussed. Categories and Subject Descriptors D.2 [Software Engineering]; Software quality management D.2.11 [Software Architechture]; H.5.2 [Online Information Services]: Web-based services General Terms Web services, Quality-of-service, Web service providers, ServiceOriented- Architecture (SOA) Keywords: Web service quality, Quality aggregation, Software quality Received 28 Oct. 2005; Revised 15 Dec. 2005; Accepted 16 Jan. 2006 1. Introduction A Web service composition represents an arrangement of individual services that form a new, more complex service. Its creation process consists of several steps. At first, the designer of the composition defines a control flow of individual tasks. The composition designer can use so called flow languages to define the flow. Currently, the Web Service Business Process Execution Language (WS-BPEL, the successor of BPEL4WS) represents a popular flow language [OASIS 05]. Based on a functional description of each task, a discovery service identifies suitable service candidates. To facilitate the discovery, the literature has already discussed different approaches; most of them involve a centralised registry of services. The specification for Universal Data, Discovery and Integration (UDDI) represents such a repository [UDDI 03]. Very briefly explained, a service provider advertises his services at the registry. Then, a service requester can query the registry according to his functional requirements. If services are available, the registry will return the interface description and the location of matching services [booth etal 03].

services execute quicker than others, or the invocation of a particular service is more expensive. A composition designer can express preferences as QoS criteria for choosing the optimal candidate among the discovered services. The individual candidates must provide a QoS as such that their aggregation results in an overall QoS that meets the requirements of the designer. In this paper we consider the case that a composition has been set up with chosen services for each task. Our goal is to improve the QoS of the composition without performing a new discovery and selection processes. Instead, we propose to identify the weak points in the composition w.r.t. particular QoS categories. Then we propose to redundantly add candidate services in order to improve the categories. Based on this scenario we will present a computational model to aggregate the resulting QoS for the composition itself and with involving the redundant arrangements. The paper is organised in the following way: we start with giving a brief introduction about processing QoS in compositions and explain the computational model to aggregate the QoS in compositions (see section 2). In a subsequent section 3 we propose different approaches for identifying the weak points in the composition. Then, in section 4 we explain how to improve the weak points. The paper will end with a presentation of the related work and our conclusions. 2. QoS in Web Service Compositions We propose to use different QoS categories to define requirements, which serve as preference criteria for available candidates. Zeng et al. [zengetal 04] or Menasce [menasce 02] have already introduced different QoS categories for this purpose. From these we have chosen the following four to provide a more demonstrative discussion and examples. Please note that our proposal will also support more QoS categories. Each category has an increasing or a decreasing direction. For an increasing direction, a higher value indicates a better quality, for decreasing directions vice versa: •

Execution Time (Decreasing). The execution time defines the time needed to execute the service. In this paper, we presume that the values of individual services result in the overall execution time of the composition. For our calculation we consider the worst/maximal execution time as relevant.



Cost (Decreasing). The cost represents the amount of resources needed to use a service. For the calculation of the composition we presume that the resources are spent once a service is invoked.



Reputation (Increasing). The concept of reputation represents a ranking given by users of the service, like the auction platform ebay allows clients to rank the behaviour of other clients [zengetal 04]. Since the reputation of an individual service can be considered as the average ranking of individual users, we regard the average of the individual values as the aggregated reputation of a composition. For aggregating the reputation different ideas are possible and thus different aggregation rules are possible. We refer to the idea that the reputation represents the mean average of the ranks given by individual users. Thus for the composition, the aggregation of reputation values should represent the average of the individual services. Other definitions, for example to consider only the worst reputation values, are also possible but would result in different aggregation rules.



Availability (Increasing). The availability denotes the probability that the invocation of the service performs

After all, an execution engine uses the flow description in conjunction with the interface description and the location of the found services to execute the composition. An execution engine can also provide the composition as a new composed Web service for invocation by third parties. In addition to the discovery, the designer of the composition can express preference criteria referring to different quality of service (QoS) categories. A discovery process might return a set of suitable candidates for an individual task. They show the same functional behaviour but may not provide the same QoS. For example, some

Journal of Digital Information Management

q Volume 4 Number 1 q March 2006

44

successfully and delivers a result within the promised QoS of other categories. In order to select candidates for tasks in a composition based on their individual QoS, a method is necessary to calculate the QoS of the whole composition. We have introduced an aggregation method to calculate the QoS of the composition based on the QoS of the individual services [jaeger etal 04]. This model presumes that the composition can be modelled with predefined structures. As allowed structures, seven basic structural elements called composition patterns (see Figure 1) are identified: ·

Sequence of service executions. A sequence can either prescribe a specific order in which the services have to be executed or the services can be executed in an arbitrary order. For the aggregation model, we regard the order of the executions as not relevant.

·

Loop. The execution of a service or a composition of services is repeated for a certain amount of times.

·

XOR-split followed by an XOR-join. In a parallel arrangement only one task is started. Thus, the synchronising operation only waits for the started task.

·

AND-split followed by an AND-join. From a parallel arrangement all tasks are started, and all tasks are required to finish for synchronisation.

·

AND-split followed by a m-out-of-n-join. From a parallel arrangement all n tasks are started, but less m < n tasks are required to finish for synchronisation.

·

OR-split followed by OR-join. In a parallel arrangement a subset of the available tasks is started, and all of the started tasks are required to finish for synchronisation. For example, from four available services, the run-time environment starts always three of them that must also finish successfully.

·

OR-split followed by a m-out-of-n-join. In a parallel arrangement a subset of n tasks of all are started, and m < n tasks are required to finish for synchronisation. For example, from four available services, the run-time environment starts always three of them of which two must finish successfully.

Using these elements, we aggregate the QoS for each category and for each pattern element. Following this approach, we have defined the aggregation rules for each QoS category and for each composition element.

to view the aggregation process in the following from a microperspective. Then, the algorithm must not consider the whole graph at once from a global perspective, but rather only local composition patterns, which have been differentiated accordingly into sequential and parallel service executions.

Figure 2 Step-by-step aggregation Based on this model, we have defined different aggregation rules covering different numerical QoS categories. We have summarised the aggregation schemes in tables 1 and 2 for execution time and cost. Regarding the availability and reputation, the aggregation rules are defined in a similar manner and are given in our previous work [jaegeretal04]. The following notation is used: k is the number of services, l is the assumed number of repetitions in the loop, x k is a given value for each service, and K is the set containing all x k . The variable x k represents the aggregated value. In the previous work, we have used n as the variable referring to the individual services that collided with “the m-out-n-join”-constructs from the description of the composition patterns. To address the OR splits, an aggregation model must know which paths are taken into account for this split. To determine the upper and lower bound for QoS values all combinations of possible splits must be considered. This results in the set C (K) containing all possible combinations of the tasks. To simplify the notation in the tables we define that for an aggregation operation applied to the elements of C (K) :

f (C (K)) := f ({x : x = f (S),∀S ∈ C (K)}) This definition presumes that the routing condition for the OR-split is known at design time. Consider the following example: in an ORsplit, five tasks are arranged in parallel: K = {x1 , x 2 , x 3 , x 4 , x 5 }. Let the split-condition be to start always two of the five tasks. The result is a set containing all combinations of the relevant tasks:

C (K) =

Figure 1 Composition patterns to computer the aggregation of QoS

{{x1, x 2 },{x1, x 3 },{x1, x 4 },...,{x 4 , x 5 }}

In our previous work, we have given a definition about the power set of services K . We have realised that our new proposal, which represents a specialisation compared to the original one, matches more closely the structural occurrences in Web service compositions.

2.1 Aggregation Rules The proposed composition patterns anticipate a representation using directed graphs that specify the order in which an execution environment invokes the involved services. To perform the aggregation, an algorithm step wisely collapses the graph into a single node by alternately aggregating simple sequences and parallel service executions (see Figure 2). Puschner and Schedel have proposed this approach in 1997 already to compute the execution times when developing real-time software based on individual components [puschner etal 97]. The approach enables an algorithm

Journal of Digital Information Management

Table 1 Aggregation of the minimum and maximum execution time

q Volume 4 Number 1 q March 2006

45

2.3 The Selection of Services A selection process identifies the best assignment of candidates for the tasks of the composition due to some preference criteria represented by different QoS categories of the individual services. A selection process must perform, if the service discovery returns more than one candidate for each task. An algorithm must evaluate different combinations from a global perspective to identify the optimal assignment, i.e. it cannot evaluate the candidates of each task individually. A small example clarifies the problem: consider the parallel tasks 4 and 5 shown in Figure 2. Let the optimisation goal be to identify the quickest and cheapest composition. Also, a quicker service is usually more costly cost and execution time form a trade-off couple. In the case that even the quickest candidate for task 4 executes longer than any of the candidates for task 5, the optimal assignment for the task 5 is the cheapest service. This example shows the possible impact of assigning services to individual tasks.

Figure 2 Step-by-step aggregation 2.2 Aggregation of Mean Values The difference between aggregation during design time and run time lies in the nature of the computed values: The QoS aggregation during design time delivers properly upper and lower limits of a QoS category. During run time, monitoring can also capture the distribution of the individual service executions in conditional branches. We propose to apply the distribution as a weight to the individual services which results in an extrapolation of values in parallel structures. For the aggregation of mean values, the weighted mean is considered. We distinguish between the weight of each service in the split operation

gi and the weight of each service in the join operation h i . To deliver useful aggregation results, the sum of the weight factors

∑ ni=1 gi and ∑ ni=1 h i must each be equal to 1. In previous work, we did not define the constraint for both weight factors. The aggregation rules for mean execution time, mean cost and mean reputation are given in table 3. At this point, we take the opportunity to explain the limitation for the aggregation of mean execution time listed in Table 1: an appropriate approximation for the composition patterns four, five, six and seven (all parallel patterns except the XOR-XOR combination) cannot be given. Consider the following example: let there be three services in a parallel AND-AND arrangement. In this case, the distribution for the split and join condition does not matter. We assume that all the services execute either in 3 or 7 seconds - each by a probability of 50%. The aggregation for this parallel arrangement would result in the value 5. Considering the setup, it is quite likely (at a probability of 75%) that at least one of the services would need 7 seconds, so the mean for the aggregation should result in a value closer to 7 than the value 5. This example shows that for the execution time, the distribution of the provided QoS must be taken into account in parallel arrangements with a synchronising join involving more than one service. In previous work we have applied this consideration only to patterns 4 and 6. The average mean of the given mean values would lead to a useless calculation. Thus we can only refer to the maximum execution time or propose to monitor the execution time of the entire pattern.

Table 3. Aggregation of mean execution time and mean cost

Journal of Digital Information Management

To optimise the composition or to meet constraints due to particular QoS categories, an algorithm must evaluate possible combinations. If more than one QoS category is relevant, a selection algorithm can apply weights to represent a priority. The result of the selection is an assignment of the optimal service to the tasks considering different factors. In doing so, the selection process sorts out other candidates that would not supplement the composition regarding the relevant criteria. 3. Finding Weak Points For our improvements, we assume that a composition with assigned services and sorted out candidates exists. By our approach, we supplement the weak point of the composition with a specific arrangement. The idea of an arrangement supplementing the original candidate has two motivations: •

A better candidate for the weak point does not exist. However, we can form a replacement structure including the sorted out candidates. Each individual candidate would not improve the QoS of the composition. Instead, the combination of chosen candidates and alternatives would do.



Keeping the original candidate in the composition has the advantage that the QoS of at least some categories keep their level. For example, the execution time cannot get worse if the original candidate stays in the composition.

Before this replacement can take place, a method must exist that identifies the weak point. Analogously to the QoS-based selection of candidates, the identification of the weak point in the composition must consider the composition structure. For example, let a parallel arrangement contain one service having an execution time of 10 units. The arrangement has in parallel a sequence of two tasks that show an execution time of 5 and 8 units, added together 13 units. An algorithm that would just pick the worst value, the task showing the 10 units, does not identify the true weak point. As a conclusion we define the weak point of a composition as the service that has the biggest impact on the composition w.r.t. one particular QoS category. In this example, we regard the task showing the 8 units as the weak point. Compared to the other task with 5 units, we presume that the higher the QoS value is, the higher is the potential for optimisation. Additionally, we presume that the different QoS categories do not regularly show a proportional correlation with other QoS categories: the weak point referring to the execution time may not represent the weak point referring to the availability. Identifying the weak point referring to some particular QoS category must involve the arrangement - as we have explained in the previous example. In detail the weak point w.r.t particular QoS categories show the following dependency on the arrangement: For the execution time a specific algorithm must evaluate the weak point. However, the cost represents an exception in our discussion, because adding redundantly services will always raise the cost. Thus, we do not consider the cost for optimisation. Regarding the reputation we have defined that the aggregation calculates the mean of the given values. Thus, the identification of the weak point in the composition does not involve the structure and is represented by

q Volume 4 Number 1 q March 2006

46

the candidate showing the worst value. And since the availability involves all invoked services, their arrangement is not relevant. An algorithm searching for the weak point of availability must identify the service showing the worst value. Thus, considering the reputation and the availability the algorithm can choose the service showing the worst value. Since we do not consider the cost for improvements, only the search for the weak point of the execution time needs a special coverage. For this step, we propose two approaches: •

·

This simple approach evaluates all involved services. In each step, the execution time of one service is set to the lowest unit possible (e.g. 1 millisecond). Then, the QoS of the composition is aggregated. The step showing the largest improvement identifies the weakest point in the composition. For this search, we presume that a service showing a large value relative to the others has also the largest potential for optimisation. However, this strategy represents an approximation and thus does not guarantee to find the optimal result. Please note that with a growing number of tasks, this approach will likely identify the wrong weak point due to the problem explained for parallel arrangements. For the case that the brute-force approach does identify the weak point efficiently, we propose also a branch-andbound-based algorithm. The idea for this algorithm uses the effect that in parallel-join arrangements (composition patterns 4-7) only the branch showing the highest execution time is relevant. The algorithm can ignore other branches showing a lower execution time, because an optimisation in this part of the composition will not lead to any improvements. This approach models the composition as a tree of sub-compositions with nodes representing composition patterns and leaves representing tasks. In any parallel arrangement, the algorithm will identify one branch as the worst and bound the others. In a sequence or in a loop, the algorithm will choose the sub-composition or the candidate showing the largest execution time. Thus, the algorithm will end at one particular task representing the weak point according to its structural arrangement.

analyse their resulting QoS. Figure 3 outlines the replacement patterns. In this figure, the original service is denoted as “OS”, the alternative candidates are labelled “AC”.

Figure 3 Replacement patterns Additional Alternative Candidate This arrangement will improve the execution time if the alternative candidate provides a quicker execution time than the original candidate. The cost will rise by the cost of the additionally executed task. As previously mentioned the reputation can be reduced if the alternative service offers a lower reputation than the original one. The availability will improve because every additionally invoked service raises the probability for the successful execution of the arrangement. Based on the aggregation rules the resulting QoS x r of each category has the following characteristics:

4. Improvements on the Found Weak Points Our proposal provides a replacement of the service representing a weak point with an arrangement that consists of the original service and additional candidates. For this case, we presume that the previous selection process has carried out available alternative candidates that meet the functional requirements. If no other candidates are available, an discovery process must reveal new candidates. A redundant arrangement will increase the cost, because the invocation of additional services will always add the cost for their invocation. The cost represents a special QoS category that forms a trade-off couple with the other categories: usually a higher quality results in a higher cost. In order to optimise the cost, an algorithm would replace the weak points with a cheaper service. However, we assume that this “improvement” reduces the quality and thus we do not consider optimising the cost. For the redundant arrangements we propose three replacement patterns based on the composition patterns: in all three arrangements, the original service is set into a parallel arrangement consisting of an AND-split followed by an “1 service out of n-services join”. Since our improvement optimises the QoS and not the functional characteristics of the weak point, we do not need to consider a specific result of the added services. Thus, the join condition will synchronise only the first finishing service. For the other part of the parallel arrangement we consider three sub-structures (see Figure 3): 1. the best alternative candidate is put into an redundant AND-split with an 1-out-of-n-join arrangement (Replacement Pattern No. 1, RP1) 2. an AND-split followed by an 1-out-of-join that synchronises the quickest ( RP2 ) of the alternative candidates and 3. an XOR split followed by an XOR join ( RP3 ). In the following subsections we will discuss the three different approaches and

Journal of Digital Information Management

And-1/n This replacement pattern arranges the original service in a parallel structure containing the alternative candidates in a parallel ANDsplit with 1-out-of-n-join structure. Both joining elements will synchronise upon the first candidate has finished. This arrangement will reduce the execution time if one of the alternative candidates provides a quicker execution time than the original service. The cost will rise by the sum of all additionally executed tasks. Like before, the reputation can be reduced if an additional candidate offers a lower reputation. And, the availability will improve because every additionally invoked service raises the probability for the successful execution of the arrangement:

XOR-XOR Different from the previous replacement structure this structure invokes only one of the available alternative candidates. We assume that the probability for executing the individual candidates is equally partitioned. Thus, the execution time will improve if the selected candidate executes quicker. For a high number of executions, the cost will raise by the mean value of the individual cost. Again, the reputation may lower for this arrangement if alternative candidates show a lower reputation than the original service:

q Volume 4 Number 1 q March 2006

47

The result of our evaluations reveals that the three replacement structures improve the different QoS categories differently. A complete analysis cannot be given due to spatial limitations. A comprehensive discussion about the results of the simulations is available in [ladner 2005]. To give an impression, the diagram in Figure 5 outlines which results are achieved from simulations based on the proposed calculation model: In this diagram, the resulting execution time and cost are shown with different numbers of replacement patterns are applied. For the simulation, compositions with 15 tasks were generated and then the number of replacement patterns was increased. From this diagram, two main issues can be

4.1 Evaluation A comparison of the three approaches reveals that the three replacement structures improve the different QoS categories differently. Due to spatial limitations we cannot give an argumentation based on our mathematical model about which replacement pattern results in which QoS. We have implemented a simulation environment that compares the resulting QoS using the different replacements patterns. Table 4 shows the results of this comparison for a repeated simulation of compositions consisting of 10 tasks with 11 candidates each and randomly generated QoS values. Due to spatial limitations we have listed only the results for the RP3 and RP2 patterns. From this table we can see that the application of the RP2 pattern results in an improvement of the response time. And, this pattern has the worst effect on the cost. Both patterns show a very similar effect on improving reputation and availability. Since the reputation results from the mean values of the involved alternative candidates, the reputation gets slightly worse, because the previously sorted out candidates usually show a worse quality. Figure 4 shows a comparison of using the two proposed algorithms for the identification of the weak points. The diagram shows the resulting execution time (left y-axis) and cost (right y-axis) for both, the brute force and the pattern-based search. The x-axis shows an increasing number of applied redundant patterns in compositions of 15 tasks. We can see that the pattern-based search results in a lower execution time very quickly, because it identifies more efficiently the true weak points. The results of both search methods meet at 15 applied redundant patterns, because the composition consists of 15 tasks. For the resulting cost, the pattern-based search performs also better, because for a rising number of tasks that are replaced this search method does not identify any further weak points and thus does not add more candidates.

ReplacementPattern

RP3, XOR-XOR RP3, XOR-XOR RP3, XOR-XOR RP2, AND-1/n RP2, AND-1/n RP2, AND-1/n

No. of Candidates

0 2 3 0 2 3

Max Cost

1082.18 1450.75 1447.86 1082.18 1811.91 2175.47

observed: 1. both RP1 and RP2 result in a similar degree of optimisation for the execution time as RP3 , but result in 50% higher cost compared to RP3 and 2. if about the half of the tasks is covered with replacement patterns, the improvement regarding the resulting QoS of the composition declines. From the results of such simulations, we have derived a qualitative summary that indicates the change of the QoS w.r.t the particular QoS categories. This summary is shown in Table 5. From this table we can conclude that RP2 can improve the execution time and the availability most. However, from all the replacement patterns this pattern will also have the worst effect on the cost. The replacement patterns RP1 and RP3 show a very similar possible effect on improving execution time and availability. The difference between RP1 and RP3 is that the for RP3 the best candidate must not be identified. Thus, this replacement pattern will show an improvement of particular QoS categories based on the average of the involved services but will not raise the cost as much as for the

RP2 . Since the reputation results from the mean values of the involved alternative candidates, we cannot conclude whether the reputation will become better or worse for all three replacement patterns. RP1 , Add Cand. Max Exec Time Cost Reputation Availability

+ o

+

RP2 , And-1/n

RP3 , XOR-Split

++ — o

+ o

++

+

Table 5. Summary: Qualitative Characteristics of Replacement Patterns

Max Exec Time

19322.11 17755.56 17983.94 19322.11 17542.81 17542.81

Reputation

4.53 4.28 4.21 4.53 4.27 4.19

Availability

0.96743 0.97725 0.97705 0.96743 0.97750 0.97750

Table 4 Example result from the software simulation

Figure 4. Comparison of methods to identify the weak points

Journal of Digital Information Management

Figure 5. Comparison of replacement patterns with regard to execution time and cost

q Volume 4 Number 1 q March 2006

48

5. Related Work The work of Puschner and Schedel about calculating the execution time for software architectures represents our foundation for the aggregation of QoS in Web service compositions [puschner et al 97]. Since our composition model plays in the field of Web service compositions, we have adopted this principleand build our patterns onto the workflow patterns by van der Aalst et al. [aalst et al 03]. Different authors, e.g. Menasce or Zeng et al., have also discussed which QoS categories might be considered in Web service compositions [menasce 02, zeng etal 04]. Their contribution has been taken up to determine the relevant categories for our work. If needed, the chosen categories can be extended without affecting the discussed general approaches. Using QoS statements as the main criteria for the selection of Web services is an already known idea, at the time when the Web services were emerging and the concept of Web service composition was presented, as found in the work of Hull [hull et al 03]. Regarding the aggregations of QoS, different other approaches exist that perform the aggregation of execution time or the cost or other similar QoS characteristics. Examples are the work of Lee [lee 2003] or the work of Zeng [zeng et al 04]. The difference to our proposed aggregation model is that the structured elements provide the basis to define additional aggregation rules covering additional QoS characteristics in a straightforward way. More over, compared with the work of Lee, our proposed aggregation method is more accurate in terms of the resulting QoS, because we consider more structural elements. The limitation of our approach, which also applies to the work of Lee, lies in the presumption that the composition can be modelled with structured elements. Kiepuszewski et al. have discussed this issue with structural limitation of such a model [kiepuszewski et al 00]: the authors have identified arbitrary structures that can be transformed into a structured model and also discussed structures for which a transformation into a structured model is impossible. The identification of weak points is very similar to the critical path problem found many times in the literature. Many solution approaches exist already for this problem. However, since the aggregation of QoS values shows a feasible computational effort, we regard our pattern-based search as a preferable solution: the pattern-based search builds on the same data-structure like the pattern-based aggregation. This allows a straightforward implementation, as we have done already to realise our simulation software. Improving the QoS of a service with redundant arrangements has been an issue so far for service providers [ludwig 03]. However, we were not able to identify a model that covers redundant arrangements when aggregating the QoS of Web service compositions. 6. Conclusions We have given an evaluation about methods for optimising a composition with existing alternative candidates. All our proposed replacement structures will raise the cost. However, all can improve the execution time and the availability. In addition to the evaluation, the paper has explained how to identify the weak point in a composition w.r.t. particular QoS categories. Especially for the execution time, we have proposed two algorithms that show different implementation complexity and different computational effort. Since the cost of the composition rises in all discussed cases, the replacement patterns cannot be applied in solutions were the cost is strictly limited to the amount needed for the original composition. We have implemented a simulation tool that generates example compositions and random candidates to evaluate possible replacements. As the next step we plan to further analyse the results from this tool. These results could give a quantitative statement about in which applications the replacement patterns improve specific QoS categories most. References [1] Wil, M.P. van der Aalst, Arthur, H.M. ter Hofstede, B. Kiepuszewski, A.P. Barros (2003). Workflow Patterns. Distributed and Parallel Databases 14 (3) 5–51.

Journal of Digital Information Management

[2] Arkin, Assaf et al. (2005). OASIS WS-BPEL TC. WS-BPEL Specification Editors Draft. http://www.oasis-open.org/committees/ download.php/12791/wsbpel-specification-draft-May-20-2005.html [3] Booth, David. Haas, Hugo. McCabe, Francis. Newcomer, Eric Champion, Michael. Ferris, Chrisand. Orchard, David (2004). Web Services Architecture. http://www.w3c.org/TR/ws-arch/, February. [4] Richard Hull, Michael Benedikt, Vassilis Christophides, and Jianwan Su (2003). E-Services: A Look Behind the Curtain. In Proceedings of the 22nd ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems (PODS’03), San Diego, USA, June 2003. ACM Press. [5] Jaeger, Michael C. Rojec-Goldmann, Gregorand. Mühl, Gero (2004). QoS Aggregation for Service Composition using Workflow Patterns. In: Proceedings of the 8th International Enterprise Distributed Object Computing Conference (EDOC’04), p.149–159, Monterey, California, IEEE Press. [6] Jaeger, Michael C. Ladner, Hendrik (2005). Improving the QoS of WS Compositions based on Redundant Services. In: Proceedings of the 2005 International Conference on Next generation Web Services Practices (NWeSP’05), p. 189-196, Seoul, South-Korea, August IEEE Press. [7] Kiepuszewski, Bartek. ter Hofstede, Arthur H. M. Bussler, Christoph (2000). On Structured Workflow Modelling. Proceedings of the 12th International Conference on Advanced Information Systems Engineering (CAiSE’00), p. 431-445, Stockholm, Sweden, Springer Press. [8] Ladner, Hendrik (2005). Methoden zur Optimierung der Dienstgüte von Web Service Kompositionen, Diploma Thesis (in German), Faculty of Electrical Engineering and Computer Science, Berlin University of Technology, October. [9] Lee, Juhnyoung (2003). Matching Algorithms for Composing Business Process Solutions with Web Services. In: Proceedings of the 4th International Conference on E-Commerce and Web Technologies (ECWEB 03), p. 393-402, Prague, Czechoslovakia, October. Springer Press. [10] Ludwig, Heiko (2003). Web Services QoS: External SLAs and Internal Policies Or: How do we deliver what we promise? Keynote Speech at the WISE Workshop on Web Services Quality, December. [11] Menasce, Daniel A (2002). QoS Issues in Web Services, IEEE Internet Computing, 72–75. [12] Puschner, Peter. Schedl, Anton (1997). Computing Maximum Task Execution Times - A Graph-Based Approach. Journal of RealTime Systems, 13(1) 67–91, July. [13] UDDI Spec Technical Committee (2003). UDDI Version 3.0.1. http://uddi.org/pubs/uddi-v3.0.1-20031014.pdf [14] Zeng, Liangzhao, Benatallah, Boualem. Anne H.H. Ngu, Marlon, Dumas Kalagnanam, Jayant. Chang, Henry (2004). QoS-Aware Middleware for Web Services Composition. IEEE Transactions on Software Transactions, 30 (5) 311–327, May. Short Author Biography Michael C. Jaeger is a graduate research assistant at the faculty of electric engineering and computer science of the Berlin University of Technology. He is affiliated with the research group for Formal Models, Logic and Programming of Prof. Dr. Bernd Mahr. His interests are focused on the trading of services and quality-of-service aspects in service compositions. He has received a German diploma degree of computer engineering from the Berlin University of Technology in 2001. He is member of the IEEE and the German Society of Informatics. Hendrik Ladner has recently graduated in computer engineering at the faculty of electric engineering and computer science of the Berlin University of Technology as well. As a graduate student, he has contributed to the research efforts of the research group for Formal Models, Logic and Programming of Prof. Dr. Bernd Mahr. He received his diploma in October 2005. After his graduation, he has started to work for an internationally operating consulting company.

q Volume 4 Number 1 q March 2006

49

Suggest Documents