Service Composition and Selection in Service Oriented Network Architecture (SONATE) 26th October 2010 M. Rahamatullah Khondoker University of Kaiserslautern Department of Computer Science Integrated Communication Systems ICSY http://www.icsy.de Outline Motivation for SONATE Overview of SONATE Concepts and Terminologies Building Blocks Workflows Framework Service Composition Service Selection Conclusions and Outlook Discussion M. Rahamatullah Khondoker, University of Kaiserslautern 2 Problem Statement It is hard to integrate new mechanisms into the current Internet Because: Many implicit dependencies (i.e. tight coupling) between existing mechanisms The problem is not limited to specific protocols or mechanisms It is an architectural issue! M. Rahamatullah Khondoker, University of Kaiserslautern 3 Motivation for SONATE A Future Network architecture should be flexible: Long term flexibility: Support evolution of networks Short term flexibility Dynamically adapt to requirements and constraints M. Rahamatullah Khondoker, University of Kaiserslautern 4 Long Term Flexibility Enable: stepwise introduction of new functionality Easy introduction of new functionality without depending on agreements with vendors / providers Reasons: Enable utilization of highly specific or experimental functionality Reduce time to market Opportunity for small companies to provide (network-) services Of course standardization is still required Solution: Loose Coupling M. Rahamatullah Khondoker, University of Kaiserslautern 5 Short Term Flexibility Requirements of current application, e.g. Different behaviour for regular and emergency phone calls Current network constraints, e.g. Mobile or wired network access A Network may require authentication when prioritization is requested Capabilities of currently involved nodes Adapt to supported functionality. This is important to utilize new functionality. Solution: Dynamic Adaptation M. Rahamatullah Khondoker, University of Kaiserslautern 6 SONATE Concepts Building Blocks Functionality is provided by self-contained building blocks (BB) Micro-protocols (e.g. flow-control, retransmission or a video codec) Other functionality (e.g. monitoring or lookup services) BB have generic and well-defined interfaces Effects, Ports, etc. Effects, Ports, etc. Effects, Ports, etc. Effects, Ports, etc. Description (XML) BB Code M. Rahamatullah Khondoker, University of Kaiserslautern 8 Services A Service Can be seen as a set of visible effects of the underlying implementation of a protocol or mechanism Hides implementation mechanisms Examples of effects • Reliable transmission, Addressing, Security, Routing, Loss Detection, Loss Reduction, Loop Avoidance, Connection Management, etc. M. Rahamatullah Khondoker, University of Kaiserslautern 9 Workflow Interaction of Services is defined by a workflow description Order of Services Possible data exchange Descriptions can be changed easier than code Placement of a functionality is not fixed M. Rahamatullah Khondoker, University of Kaiserslautern 10 Workflow Interaction of Services is defined by a workflow description Order of Services Possible data exchange Descriptions can be changed easier than code Placement of a functionality is not fixed Loose coupling achieved by: Building blocks & Workflow-Descriptions Foster long term flexibility M. Rahamatullah Khondoker, University of Kaiserslautern 11 SONATE Framework Workflow processing Management of services To Application From Application Msg1 Msg2 Msg3 receive Workflow Engine send From previous node Msg1’ Msg2’ Msg3’ To successor node Timer, Events, debugging support, … Shared Data Structures Physical or virtual link Physical or virtual link Repository of building blocks M. Rahamatullah Khondoker, University of Kaiserslautern 12 Service Composition Create workflow descriptions Application: Requirements Network: Constraints Select services to be used Compose (connect) services Adapt to (current) requirements and constraints M. Rahamatullah Khondoker, University of Kaiserslautern … Service Composition 13 Signal Workflows Be independent of Service Composition algorithms Intermediate nodes may alter workflows, i.e. act as gateways provide feedback, i.e. request different behavior Functional Composition Functional Composition Framework Framework Msgs Initiator Framework Msgs Next Node M. Rahamatullah Khondoker, University of Kaiserslautern Msgs Msgs Gateway Node 14 Signal Workflows Be independent of Service Composition algorithms Intermediate nodes may alter workflows, i.e. act as gateways provide feedback, i.e. request different behavior Dynamic adaption achieved by: Functional Composition Functional Composition Service Composition & Processing of Workflow-Descriptions Foster short term flexibility Framework Framework Msgs Initiator Framework Msgs Next Node M. Rahamatullah Khondoker, University of Kaiserslautern Msgs Msgs Gateway Node 15 Service Selection Service Selection Service Composition Approaches Manually (supported by tools) Templates (predefined structure, delayed completion) Genetic algorithms (automatic but time consuming process) Compose few coarse grain modules / partial workflows Compose fine grained building blocks M. Rahamatullah Khondoker, University of Kaiserslautern 17 Service Selection Composition approaches differ according to Tradeoff: When to perform vs. Information availability • Design time: General requirements and protocols are known • Deployment time: General application requirements and system constraints are known • Run time: User requirements and available resources are known Flexibility Effort for calculation It is unlikely that one approach is always optimal M. Rahamatullah Khondoker, University of Kaiserslautern 18 Service Selection Process Application Requirements Network Abstraction API Access to Service Provider Selected Service Service Broker Requirements Offerings Conventional Compound Template M. Rahamatullah Khondoker, University of Kaiserslautern … Service Providers TCP/IP UDP/IP SCTP/IP … S&C 19 Requirements: Service Selection Service Description For comparing application requirements and offered services Service Selection Methodology For getting suitable services For getting the best service M. Rahamatullah Khondoker, University of Kaiserslautern 20 Service Selection: Service Description Used to determine for a requested service Which offered services are suitable (i.e. fulfills all compulsory requirements) Which suitable service is optimal (i.e. compare properties of service) Describe services using two types of properties Mandatory properties, attributes using absolute values • <PropID, lower-bound, upper-bound> • Examples: compare MTU size, average Bandwidth, Costs, … Optional properties, attributes using absolute values • <PropID, rating> rating [-9,9] • Examples: decide to increase security vs. reduce delay M. Rahamatullah Khondoker, University of Kaiserslautern 21 Service Selection: Methodology Service Selection Methodology For getting an optimal service, optimization of optional properties is required For example, security and delay of similar services We need Multiple Criteria Decision Analysis (MCDA) • Several algorithms (MAUT, AHP, ELECTRE III, Evamix) exist for doing this Where as no other MCDA methods allow interdependence of different criteria, AHP does that We used Analytic Hierarchy Process (AHP) • Checking consistency of evaluation measures • Reduces biased behavior in decision making process AHP must be adapted for automatic service selection M. Rahamatullah Khondoker, University of Kaiserslautern 22 Service Selection: AHP Moderately Less Absolutely Less -9 -7 -5 Moderately More Equal -3 -1 or 1 3 5 Absolutely More 9 7 Fig. Pairwise comparison scale Fig. Analytic Hierarchy Process (AHP) M. Rahamatullah Khondoker, University of Kaiserslautern 23 Service Selection: Usage of AHP AHP in service description and selection Input • A set of effects Requirements • Pairwise priority assignment • Calculate one priority for each effect Offers • Pairwise priority assignment This requires a mapping mechanism which cannot be done by AHP • Calculate one priority for each effect Output • A service with the highest priority value M. Rahamatullah Khondoker, University of Kaiserslautern 24 Service Selection The priority assigned in requirements needs to be mapped to the offered services Pairwise prioritization of services per effect The mapping must be generic The mapping should be monotonic A linear mapping of measured values to prioritization is not adequate An approach for mapping is proposed to use monotonic interpolation/extrapolation Priority 9 Hints Measured value +/- 1 -9 Measured value of offers Fig. Values in terms of hints M. Rahamatullah Khondoker, University of Kaiserslautern 25 Example: AHP in Service Selection Application Requirements Offerings M. Rahamatullah Khondoker, University of Kaiserslautern 26 Summary and Outlook Summary SONATE as a flexible network architecture Service Description Service Selection • Analytic Hierarchy Process (AHP) Outlook Service Composition Challenges M. Rahamatullah Khondoker, University of Kaiserslautern 27 Thanks for your attention Any questions, comments or concerns? Discussion Questions? Assuming that more than one services provide the same functionality. In that case, we need mechanisms for rating those services to select the most appropriate one. How to do rating of composed services? • Which time is suitable for rating a composed service Design time, deployment time or runtime? • Do we have enough information to aggregate properties at that time? For example, delay and security of a service M. Rahamatullah Khondoker, University of Kaiserslautern 29 Discussion Questions? Assuming that a service, Reliable transmission, can be offered as a coarse-grained service or it can also be offered by following services Error detection Order preservation Error control Data flow limiting Which grained of service is better? Coarse-grained or finegrained. Why? M. Rahamatullah Khondoker, University of Kaiserslautern 30 Discussion Questions? Services might be dependent on each other. These dependency information can be written statically or can be obtained dynamically by analysing their semantics. Which way of obtaining dependency is better? Why? What properties to be in the service description so that dependency information can be obtained automatically? M. Rahamatullah Khondoker, University of Kaiserslautern 31 Discussion Questions? Where to place services? End-to-end, every node, or in the middle boxes? M. Rahamatullah Khondoker, University of Kaiserslautern 32 Discussion Questions? How to deal with heterogeneous services? M. Rahamatullah Khondoker, University of Kaiserslautern 33 M. Rahamatullah Khondoker, M.Sc. Integrated Communication Systems ICSY University of Kaiserslautern Department of Computer Science P.O. Box 3049 D-67653 Kaiserslautern Phone: Fax: +49 (0)631 205-26 43 +49 (0)631 205-30 56 Email: Internet: khondoker@informatik.uni-kl.de http://www.icsy.de Analytic Hierarchy Process (AHP): step 1 The Analytical Hierarchy Process by Thomas Saaty A. Car A Car B Car C Price 13100 11200 9500 MPG 18 23 29 Interior Deluxe Above Average Standard Body 4-Door Mid-size 2-Door Sport 2-door compact Radio AM/FM, tape AM/FM AM Engine 6-cylinder 4-cylinder turbo 4-cylinder Ref: This example is taken from the slides of Dr. S. Tom Foster, Jr. and Dr. Gerald LaCava M. Rahamatullah Khondoker, University of Kaiserslautern 35 Analytic Hierarchy Process (AHP): step 2 B. Hierarchy of Decisions Select the best car Price MPG Comfort Style Car A Car B Car C Car A Car B Car C Car A Car B Car C Car A Car B Car C Ref: This example is taken from the slides of Dr. S. Tom Foster, Jr. and Dr. Gerald LaCava M. Rahamatullah Khondoker, University of Kaiserslautern 36 Analytic Hierarchy Process (AHP): step 3 C. 1. 2. 3. 4. 5. Establish Priorities The priorities The priorities The priorities The priorities The priorities of the four criteria in terms of the overall goal. of the three cars in terms of the purchase-price criterion. of the three cars in terms of the MPG criterion. of the three cars in terms of the comfort criterion. of the three cars in terms of the style criterion. Ref: This example is taken from the slides of Dr. S. Tom Foster, Jr. and Dr. Gerald LaCava M. Rahamatullah Khondoker, University of Kaiserslautern 37 Analytic Hierarchy Process (AHP): step 4 D. Pairwise Comparison Scale Verbal Judgement of Preference Extremely Preferred Very strong to extremely Very strongly preferred Strongly to very strongly Strongly preferred Moderately to strongly Moderately preferred Equally to moderately Equally preferred Numerical Rating 9 8 7 6 5 4 3 2 1 Ref: This example is taken from the slides of Dr. S. Tom Foster, Jr. and Dr. Gerald LaCava M. Rahamatullah Khondoker, University of Kaiserslautern 38 Analytic Hierarchy Process (AHP): step 5 E. Pairwise comparison matrix showing preferences for the three cars in terms of comfort Comfort Car A Car B Car C Car A 1 2 8 Car B 0,5 1 6 Car C 0,125 0,166666667 1 Ref: This example is taken from the slides of Dr. S. Tom Foster, Jr. and Dr. Gerald LaCava M. Rahamatullah Khondoker, University of Kaiserslautern 39 Analytic Hierarchy Process (AHP): step 6 F. Synthesizing Judgments Comfort Car A Car A 1 Car B 0,5 Car C 0,125 1,625 Car B 2 1 0,166666667 3,166666667 Car C 8 6 1 15 Car A 0,615384615 0,307692308 0,076923077 1 Car B 0,631578947 0,315789474 0,052631579 1 Car C 0,533333 0,4 0,066667 1 Priority Vector for Comfort Comfort Car A Car A 0,615384615 Car B 0,307692308 Car C 0,076923077 Car B 0,631578947 0,315789474 0,052631579 Car C 0,533333 0,593432 0,4 0,341161 0,066667 0,065407 Comfort Car A Car B Car C Car A Car B Car C 0,593 0,341 0,065 Sum the columns in the pairwise comparison matrix. Divide elements by the column totals. Sum the rows. The priority vector for the cars with respect to comfort. Ref: This example is taken from the slides of Dr. S. Tom Foster, Jr. and Dr. Gerald LaCava M. Rahamatullah Khondoker, University of Kaiserslautern 40 Analytic Hierarchy Process (AHP): step 7 G. Other Pairwise Comparisons Price Car A Car A 1 Car B 3 Car C 4 Car B 0,33333333 1 2 Car C 0,25 0,5 1 Priority Vectors 0,123 0,32 0,557 MPG Car A Car B Car C Car A 1 4 6 Car B 0,25 1 3 Car C 0,166667 0,333333 1 0,087 0,274 0,639 Style Car A Car B Car C Car A 1 3 0,25 Car B 0,33333333 1 0,142857143 Car C 4 7 1 0,265 0,655 0,08 Ref: This example is taken from the slides of Dr. S. Tom Foster, Jr. and Dr. Gerald LaCava M. Rahamatullah Khondoker, University of Kaiserslautern 41 Analytic Hierarchy Process (AHP): step 8 H. Pairwise comparison matrix for the four criteria in the car selection problem. Criterion Price MPG Comfort Style Price 1 3 2 2 MPG 0,333333333 1 0,25 0,25 Comfort 0,5 4 1 0,5 Style 0,5 4 2 1 I. Priorities for the overall goal. Price 0,398 MPG 0,085 Comfort 0,218 Style 0,299 Ref: This example is taken from the slides of Dr. S. Tom Foster, Jr. and Dr. Gerald LaCava M. Rahamatullah Khondoker, University of Kaiserslautern 42 Analytic Hierarchy Process (AHP): step 9 J. Developing an overall priority ranking. Criterion Car A Alternative Car B Car C Price 0,123 0,32 0,557 MPG 0,087 0,274 0,639 Comfort 0,593 0,341 0,065 Style 0,265 0,655 0,08 Overall car A priority = .398(0.123)+0.085(0.087)+).218(0.593)+0.299(0.265)=.265 Overall car B priority = .398(0.320)+0.085(0.274)+).218(0.341)+0.299(0.655)=.421 Overall car C priority = .398(0.557)+0.085(0.639)+).218(0.066)+0.299(0.080)=.314 Ref: This example is taken from the slides of Dr. S. Tom Foster, Jr. and Dr. Gerald LaCava M. Rahamatullah Khondoker, University of Kaiserslautern 43 Analytic Hierarchy Process (AHP): step 10 K. Final AHP Ranking of Alternatives Car B Car C Car A 0,421 0,314 0,265 1 Dr. LaCava's Mid-life Crisis Maserati! Ref: This example is taken from the slides of Dr. S. Tom Foster, Jr. and Dr. Gerald LaCava M. Rahamatullah Khondoker, University of Kaiserslautern 44