Transcript Services

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:
[email protected]
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