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