University of Kaiserslautern, Germany Department of Computer Science Integrated Communication Systems ICSY SONATE Euro-NF PhD Course.

Slides:



Advertisements
Similar presentations
Omniran TG 1 Cooperation for OmniRAN P802.1CF Max Riegel, NSN (Chair OmniRAN TG)
Advertisements

Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
PROTOCOLS AND ARCHITECTURE Lesson 2 NETS2150/2850.
1 EE 400 Asynchronous Transfer Mode (ATM) Abdullah AL-Harthi.
Protocols and the TCP/IP Suite
In-Band Flow Establishment for End-to-End QoS in RDRN Saravanan Radhakrishnan.
Computer Network Architecture and Programming
Computer Networks Transport Layer. Topics F Introduction  F Connection Issues F TCP.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
WXES2106 Network Technology Semester /2005 Chapter 8 Intermediate TCP CCNA2: Module 10.
COE 342: Data & Computer Communications (T042) Dr. Marwan Abu-Amara Chapter 2: Protocols and Architecture.
1 Networking Basics: A Review Carey Williamson iCORE Professor Department of Computer Science University of Calgary.
Gursharan Singh Tatla Transport Layer 16-May
1 Introducing the Specifications of the Metro Ethernet Forum.
What Can IP Do? Deliver datagrams to hosts – The IP address in a datagram header identify a host IP treats a computer as an endpoint of communication Best.
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
Christopher Bednarz Justin Jones Prof. Xiang ECE 4986 Fall Department of Electrical and Computer Engineering University.
University of Kaiserslautern Department of Computer Science Integrated Communication Systems ICSY Variable Application Requirements.
1 Chapter Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
Paul Mueller Integrated Communication Systems Lab Dept. of Computer Science University of Kaiserslautern Paul Ehrlich Bld. 34, D Kaiserslautern,
Chapter 17 Networking Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
1 Semester 2 Module 10 Intermediate TCP/IP Yuda college of business James Chen
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
Protocol Architectures. Simple Protocol Architecture Not an actual architecture, but a model for how they work Similar to “pseudocode,” used for teaching.
Protocols and the TCP/IP Suite
RTS Meeting 8th July 2009 Introduction Middleware AUTOSAR Conclusion.
Operating Systems Lesson 10. Networking Communications protocol is the set of standard rules for ◦ Data representation ◦ Signaling ◦ Authentication ◦
M3UA Patrick Sharp.
PhD Topic Template Based Composition PhD Course 5 th March – 9 th March 2012, Kaiserslautern.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
William Stallings Data and Computer Communications 7 th Edition Data Communications and Networks Overview Protocols and Architecture.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Introduction Slide 1 A Communications Model Source: generates.
Chapter Three Network Protocols By JD McGuire ARP Address Resolution Protocol Address Resolution Protocol The core protocol in the TCP/IP suite that.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
University of the Western Cape Chapter 12: The Transport Layer.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 2.5 Internetworking Chapter 25 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
CSP Implementing a network 1 Implementing a network Lecturer: Smilen Dimitrov Cross-sensorial processing – MED7.
Component frameworks Roy Kensmil. Historical trens in software development. ABSTRACT INTERACTIONS COMPONENT BUS COMPONENT GLUE THIRD-PARTY BINDING.
IPSec IPSec provides the capability to secure communications across a LAN, across private and public wide area networks (WANs) and across the Internet.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
Computer Security Workshops Networking 101. Reasons To Know Networking In Regard to Computer Security To understand the flow of information on the Internet.
OS Services And Networking Support Juan Wang Qi Pan Department of Computer Science Southeastern University August 1999.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
William Stallings Data and Computer Communications
CHAPTER 4 PROTOCOLS AND THE TCP/IP SUITE Acknowledgement: The Slides Were Provided By Cory Beard, William Stallings For Their Textbook “Wireless Communication.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Protocols and Architecture Slide 1 Use of Standard Protocols.
Introduction to Active Directory
Internet Protocol Storage Area Networks (IP SAN)
3/10/2016 Subject Name: Computer Networks - II Subject Code: 10CS64 Prepared By: Madhuleena Das Department: Computer Science & Engineering Date :
K. Salah1 Security Protocols in the Internet IPSec.
Communication Networks NETW 501 Tutorial 2
IST 201 Chapter 11 Lecture 2. Ports Used by TCP & UDP Keep track of different types of transmissions crossing the network simultaneously. Combination.
Computer Networking A Top-Down Approach Featuring the Internet Introduction Jaypee Institute of Information Technology.
Chapter 9: Transport Layer
Instructor Materials Chapter 9: Transport Layer
5. End-to-end protocols (part 1)
UNIT-V Transport Layer protocols for Ad Hoc Wireless Networks
Module 4 Remote Login.
Understand the OSI Model Part 2
Understanding the OSI Reference Model
Protocols and the TCP/IP Suite
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Layering & protocol stacks Johan Lukkien
Protocols and the TCP/IP Suite
Computer Networking A Top-Down Approach Featuring the Internet
Exceptions and networking
Presentation transcript:

University of Kaiserslautern, Germany Department of Computer Science Integrated Communication Systems ICSY SONATE Euro-NF PhD Course University of Kaiserslautern 06 March 2012 Dr. Bernd Reuther

2 Bernd Reuther, University of Kaiserslautern Outline  Project Beyond-IP  Project DANCE  Motivation  Terminology: Service, …  Abstraction of communication protocols  SONATE  Problem statement and goals  Overview of Basic Concepts  Building Block Interface  Service Selection  Service Composition

 Considered Problem  Approach  Conclusion Project Beyond-IP

4 Bernd Reuther, University of Kaiserslautern Considered Problem  ATM (Asynchronous Transfer Mode) a “new” technology with many new properties  Several service classes (CBR,VBR,UBR,ABR)  Bandwidth reservation  Virtual Channels in Virtual Paths on top of physical infrastructure  Connection oriented  New address types for hosts and services  Applications were design for TCP/IP  ATM was used as “just another Layer-2 technology” → Nearly no application was able to utilize ATM features

5 Bernd Reuther, University of Kaiserslautern Approach  A common interface for accessing TCP/IP as well as ATM networks  Superset of the BSD socket API  A layer on top of ATM emulating TCP/IP behavior  A protocol for reliable transfer like TCP  Emulating TCP and UDP behavior Transparent connection establishment for UDP behavior A Protocol for emulating TCP Halfclose Rebuild Nagles Algorithm for TCP behavior Interception of socket options and manage parameters  An extension of the socket API for QoS request  Use if ATM is available  Ignore if IP is used  Mapping of addresses using DNS, and a proprietary approach for port-numbers  Protocol selection: use ATM if available locally and the remote site has registered an ATM-Address with DNS

6 Bernd Reuther, University of Kaiserslautern Conclusion  Achievement:  Running native TCP/IP application on top of ATM possible  But:  Several proprietary protocols required  Still not all ATM features supported  No motivation to create native ATM applications  Imitate functionality of “standard” protocols is no appropriate evolution path  No incentive for application developers to support “new protocols”  Is costly because of emulating “all specific details” of old protocols

 Motivation  Terminology: Service, …  Abstraction of communication protocols  Application of the SOA paradigm  Service description  Brokering and configuration of services Project DANCE

8 Bernd Reuther, University of Kaiserslautern Project DANCE  Generalize Problem of Beyond-IP Project:  New (transport) protocols require adaption of applications  Without users (applications) there is no incentive for innovation!

9 Bernd Reuther, University of Kaiserslautern Innovation within Transport and Network Protocols  Innovation in the Internet  New Applications  New Network-Technologies  Few innovation within transport and network protocols  Extensions were possible only if they are transparent for users and other systems  Alternatives are available  The problem is to implement new developments in practice and not the development itself! Applications Transport and Network Protocols Network Technologies Innovation is the implementation of new technical or organizational developments* (Schumpeter, 1934) * Original cite is German: Innovation ist die Durchsetzung einer technischen oder organisatorischen Neuerung.

10 Bernd Reuther, University of Kaiserslautern Considered Problem  Why is it so hard to implement new technical developments of transport and network protocols?  Precondition: Benefit of new development > effort of implementation  Problem: enormous effort is required  Tight coupling of applications and transport protocols  Limited availability of new protocols

11 Bernd Reuther, University of Kaiserslautern Reason 1: Tight Coupling  Today application are tightly coupled to protocols  Because of the BSD Socket Interface, e.g.: Specification of the protocol type Address types are not transparent (e.g. port numbers) Connection less and connection oriented behavior is not transparent Protocol options (TCP_NODELAY, TCP Window Scaling)  Because of application logic, e.g.: When taking into account the Maxium Transfer Unit (MTU) for UDP/IP When using TCP „halfclose“ for End-of-File signaling  Applications have to be adapted to new protocols! Reality: few applications support “new protocols”

12 Bernd Reuther, University of Kaiserslautern  Application design  Protocol independent BSD Socket API  Selection of protocols by applications  Protocol options (and thus optimization) not applicable  Middleware provides abstraction of communication protocols  Specialized for certain application classes, many MW exists  Technically usually part of applications Application Avoid tight coupling today? Application Middleware Communication System Middleware

13 Bernd Reuther, University of Kaiserslautern Reason 2: Limited Availability  Some functionalities are not available everywhere  Stepwise introduction of for example: IPv6 Explicit Congestion Notification (ECN) SCTP, UDPLite, DCCP,...  Limitations exist even for established functionality Blocking UDP or ports ≠ 80 NATs are blocking server  Applications must decide which (new) protocols may be used! Reality: use commonly available protocols, e.g. TCP Port 80 or HTTP

14 Bernd Reuther, University of Kaiserslautern Goal of DANCE Applications should benefit of new technical developments in networks, without the need to adapt applications. Steps:  Achieve abstraction of protocols: „Use communication services instead of protocols “  Autonomous selection and configuration of Transport Service Provider (TSP) at runtime Transport Service Provider (TSP) = protocol stack (OSI terminology)

Common terms:  Service, Mechanisms, Techniques “Our” terms:  Service Elements  Service Description  Communication Services Terminology

16 Bernd Reuther, University of Kaiserslautern Services, Mechanisms, Techniques Service (the visible effects) Mechanisms (algorithms / protocols) Code (bits & bytes) implement Example: reliable transfer of a byte stream Example: TCP Example: Linux Kernel-Modul for TCP A „service“ denotes an abstraction level (like in the ISO/OSI model). abstraction

17 Bernd Reuther, University of Kaiserslautern Service Roles Ambiguous use of the term “service” in informatics  Service instance  Algorithms and resources  Service result  Immaterial benefit  Abstraction of Mechanisms  Interface  Defines communication

18 Bernd Reuther, University of Kaiserslautern Service Description  Mapping between Mechanism and Service  Approaches for descriptions  Mechanisms + Interface resulting in a unique service  Service + Interface may by implemented by several mechanisms → need to select appropriate mechanisms Mechanisms Services 1 n

19 Bernd Reuther, University of Kaiserslautern Communication service The major benefit of a communication service is the transport of data. Describe a communication service by: Type of data to be transported Endpoint entities involved Properties of data exchange Assume: There is one generic interface for all communication services

 Key-functionality  1. Service description  2. Brokering and configuration of services  3. Interface Project DANCE Abstraction of communication protocols

21 Bernd Reuther, University of Kaiserslautern Interface Principles Application Protocol Stack BSD Socket API data control BSD Socket Interface Application Protocol Stack Broker SOCS SPI Requirements Offerings data control SOCS API Service Oriented View

22 Bernd Reuther, University of Kaiserslautern b) Service brokering 3 3 SOA-Paradigm  Support of three key functionalities Service User Service Provider Service Broker a) Service description c) Interface

23 Bernd Reuther, University of Kaiserslautern A service oriented Approach for Abstraction of Communication Protocols in the Internet 1.Description of offered services 2.Description of requested services 3.Broker result 4.Configuration of TSP 5.Utilization

24 Bernd Reuther, University of Kaiserslautern Key-Functionality: Service description Service User Service Provider Service Broker a) Service description

25 Bernd Reuther, University of Kaiserslautern Steps of Service Brokering Set of all appropriate Service offerings Ordered list of Service offerings Mandatory requirements Wanted requirements Set of all Service offerings Set of all available Service offerings Service usage Preconditions+ dynamic data

26 Bernd Reuther, University of Kaiserslautern Service Description  A communication service S is defined as a set of properties E i : S = {E 1,..., E n }  Extendable  Types of properties (inherent and qualitative) support the service brokering  Inherent properties (mandatory / guaranteed)  Determine appropriate services  Example: supported data or address types, upper or lower bounds for MTU, costs or loss rate  Qualitative Properties (wanted / rating)  Determine ordering of service according to rating  Example: quality of cost level, quality of loss rate, efficiency

27 Bernd Reuther, University of Kaiserslautern Attributes of Inherent Properties  Unique identification of a property E i using a URI  Bsp:  Optional: absolute boundaries  In requirements lb R lower boundary, ub R upper boundary Semantic with E i valid for x  In offerings lb O lower boundary, ub O upper boundary Semantic with E i valid for x  An offering is appropriate if:

28 Bernd Reuther, University of Kaiserslautern Attributes of Qualitative Properties  Unique identification of a property E i using a URI  Bsp:  Relative rating  In requirements Weights of properties E i Relative rating of properties  In offerings Quality of a property E i of a TSP k Relative rating of TSP regarding one specific property  Quality of an offering: → w i determined by application developers → q i,k determined by …

29 Bernd Reuther, University of Kaiserslautern Determine the Quality of an Offering  Subjective method: q i,k „defined by experts“  Objective method based on benchmarks  Benchmark B i is neutral, delivers measurements Used to compare TSP, no prediction  Interpreting measurements by Offerings must specify an interpretation f Requirements may specify an alternative interpretation f´ rating Quality q Specific measure

30 Bernd Reuther, University of Kaiserslautern  A service provider (TSP) may offer many services  Depended on environment, e.g. available bandwidth  Configuration (Service-Options)  Preconditions test if a service provider is applicable or if Service- Options are applicable Environmental data Description of Service Provider Basis Service User Endsystem Network Configuration Service-Option Service

31 Bernd Reuther, University of Kaiserslautern Key-Functionality: Brokering and configuration of services b) Service brokering Service User Service Provider Service Broker a) Service description

32 Bernd Reuther, University of Kaiserslautern Brokering of Services  For all service providers determine an optimal service configuration  Assume: there are “few” service providers (TSP)  Selection of Service-Options ( SO ) per service provider  Problem: 2 n possibilities for {SO 1,..., SO n } Permutation are irrelevant  Dependencies of Service-Options SO i among each other Independent Semantically dependent → must be specified explicitly Implicitly dependent, i.e. mutual influence of ratings → will be recognized automatically

33 Bernd Reuther, University of Kaiserslautern Selection of Service-Options Estimate effect of worst: best: IF THEN do not apply : IF AND not semantically depended to any THEN apply : FOR EACH INITIALZE 1. Sequential testing of applicability of SO 2. Test remaining combination of SO

34 Bernd Reuther, University of Kaiserslautern Performance Example: best case, independent SO max. ~ 0,6ms Plattform: 1 Core 2,44 Ghz CPU Linux Timer: High resolution Per process No dependencies Number of Service-Options Time needed for brokering [µs]

35 Bernd Reuther, University of Kaiserslautern Performance Example: worst case, only dependent SO max. ~ 200ms Plattform: 1 Core 2,44 Ghz CPU Linux Timer: High resolution Per process Time needed for brokering [µs] Number of Service-Options No dependencies Dependencies among all Service-Options

1.Problem statement and goals 2.Overview of Basic Concepts 3.Building Block Interface 4.Service Selection 5.Service Composition SONATE Service oriented Network Architecture

 Problem Statement  Implementing new developments  Goals of the SONATE approach SONATE 1. Problem statement and goals

38 Bernd Reuther, University of Kaiserslautern Problem Statement It is hard to integrate new mechanisms into the current Internet (and even harder to change existing ones) Cause:  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!

39 Bernd Reuther, University of Kaiserslautern Implementing new developments  Extendable protocol header  Application Level Framing  New Layers  Dynamic composition of building blocks  Not available today  Issue of: Future Network research

40 Bernd Reuther, University of Kaiserslautern Goal  A future network architecture should be flexible:  Long term flexibility: Support evolution of networks  Short term flexibility: Dynamically adapt to requirements and constraints

41 Bernd Reuther, University of Kaiserslautern Long Term Flexibility  Support evolution of networks  Enable: stepwise introduction of new functionality  Easy introduction of new functionality without being dependent on agreements with vendors / providers Reasons: Enable utilization even of highly specific or experimental functionality Reduce time to market Opportunity even for small companies to provide (network-) services  Of course standardization is still required

42 Bernd Reuther, University of Kaiserslautern Short Term Flexibility  Dynamic adaption of Networks to  Requirements of current application, e.g. Different behavior for regular or emergency phone calls  Current network constraints, e.g. Mobile or wired network access A Network may require to use authentication, when prioritization is requested  Capabilities of currently involved nodes Adapt to supported functionality. This is important to utilize new functionality

 Building Blocks  Protocol-Graphs  SONATE Framework  Signalling Protocol-Graphs SONATE 2. Overview of Basic Concepts

44 Bernd Reuther, University of Kaiserslautern Building Blocks  Functionality is provided by self-contained building blocks (BB)  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 #17 BB Description (XML) → the service, what application and other BB „see“ BB identifier → reference the mechanism, communicating parties must use the same protocol BB impementation → local code

45 Bernd Reuther, University of Kaiserslautern Protocol-Graph  Interaction of BB is defined by a protocol-graph description  Order of building blocks  Possible data exchange  Descriptions can change easier than code  Placement of a functionality is not fixed Building Blocks & Protocol-Graph-Descriptions → Foster long term flexibility Building Blocks & Protocol-Graph-Descriptions → Foster long term flexibility

46 Bernd Reuther, University of Kaiserslautern Framework  Protocol-graph processing  Management of BB  Interfaces implemented as building blocks Repository of building blocks Msg1Msg2Msg3 Timer, Events, debugging support, … From previous node To successor node Management Physical or virtual link P-Graph Engine To Application receivesend From Application Msg1’Msg3’Msg2’

47 Bernd Reuther, University of Kaiserslautern Selection & Composition  Create Protocol-Graph descriptions  Select building blocks to be used  Compose (connect) building blocks  Adapt to (current) requirements and constraints Selection & Composition Application: Requirements Network: Constraints …

48 Bernd Reuther, University of Kaiserslautern Signal Protocol-Graphs  Be independent of Selection & Composition algorithms  Intermediate nodes may  alter workflows, i.e. act as gateways  provide feedback, i.e. request different behavior InitiatorNext Node Msgs Selection & Composition Framework Msgs Gateway Node Selection & Composition Framework Msgs Functional Composition & Processing of Workflow-Descriptions → Foster short term flexibility Functional Composition & Processing of Workflow-Descriptions → Foster short term flexibility

49 Bernd Reuther, University of Kaiserslautern Protocol-Graph Signaling Considerations  Similar to Protocol-IDs used in layering  Many BB (nodes) and description of connections (edges) result in more complex description  Use heuristics to minimize signaling data  List BB identifiers  Define default connections, list exceptions only Based on sequence of BB list (up – down) Based on data types  Efficient (flat) numbering of ports in an graph BB1.Port1 → 1, BB1.Port2 → 2, BB2.Port1 → 3, …

 Building block interaction  Ports  Connections  Threading SONATE 3. Building Block Interface

51 Bernd Reuther, University of Kaiserslautern Building block interaction (1)  BBs are self-contained, i.e. must not use implementation details of other BBs  A framework must manage data transfer between BBs  Incoming data (usually) triggers activity  Data flow and threading is related  Building blocks need to distinguish the meaning of data  Example: AES256 building block Is the data plaintext, ciphertext or the key? What should the building block do with it? Where to send the result?  Attach „meaning tag“ to data?  Meaning is building block specific  Meaning does not depend on data type  Better: use different „Ports“ to distinguish meaning of data

52 Bernd Reuther, University of Kaiserslautern Building block interaction (2) AES256 plaincrypt key

53 Bernd Reuther, University of Kaiserslautern Port details  Ports can be used to communicate  Arbitrary data types possible  Simple or standardized typed should be used  MessageList: default data type for networking data  Contains a list of „fields“ (byte arrays)  Field 0 used for payload  Can be (de)serialized to send over network or to apply transformations  Data types must match  Framework will only do simple conversions

54 Bernd Reuther, University of Kaiserslautern Building Block Connections and Scope  Building blocks are hidden  BBs only see connections, not what‘s behind  Rest of the graph is hidden  Connections are enumerated  Allows to distinguish different partners Building block updown value other Building block Building block scope ?

55 Bernd Reuther, University of Kaiserslautern Threading (1)  Threading is needed  Parallel streams  Parallel activities within a protocol-graph  When to do threading?  One thread per BB inefficient  How to synchronize threads?  Different BBs need different synchronization paradigms  Framework should not define paradigm  Leave it to the building blocks  „Filters“

56 Bernd Reuther, University of Kaiserslautern Threading (2)  Filters  Part of the port  Are called when messages come in  Filter called by the sender  No unnecessary thread change  Code defined by the receiver  Can implement any synchronization paradigm (Queuing, Blocking)  Can inspect messages before switching threads  Can simply „use“ the calling thread to circumvent threading Building block Port Filter Sender thread Receiver thread Message

 Service selection motivation  Steps of service selection  Analytical hierarchy process SONATE 4. Service Selection

58 Bernd Reuther, University of Kaiserslautern Service Selection Motivation (1)  Selection & Composition Approaches  Manually (supported by tools)  Templates (predefined structure, delayed completion)  Evolutionary algorithms (automatic but time consuming process)  Compose few coarse grain modules / partial protocol-graphs  Compose fine grained building blocks  …

59 Bernd Reuther, University of Kaiserslautern Service Selection Motivation (2)  Trade off: time available vs information available  Design time: Info: general requirements and protocols are known Time: Nearly arbitrary time available  Deployment time: Info: also system constraints are known Time: Several seconds available  Run time: Info: also user requirements are known and available resources may be known Time: should not exceed ~ 100ms  Approaches differ regarding  Flexibility  Quality of results  Effort for calculation  It is unlikely that one approach is always optimal

60 Bernd Reuther, University of Kaiserslautern Support several Protocol-Graph „generators“ Application Requirements Conventional TCP/IP UDP/IP SCTP/IP … Conventional TCP/IP UDP/IP SCTP/IP … Compound Template S&C … Service Broker Offerings Network Abstraction API Selected Service Requirements Workflow generators Access SONATE Framework Similar to selecting a protocol stack, but generators may take some time → define time limitations

61 Bernd Reuther, University of Kaiserslautern Steps of Service Selection Set of all possible Service offerings Set of all available Service offerings Mandatory & Wanted Requirements Service Composition Set of all appropriate Service offerings Mandatory requirements Check mandatory requirements Service usage Ordered list of Service offerings Wanted requirements Multi-criteria decision

62 Bernd Reuther, University of Kaiserslautern Multi-Criteria Decision Analysis  Selecting a service by comparing more than one criteria is a multi-criteria decision making problem  For solving such a problem, Multiple Criteria Decision Analysis (MCDA) methods exist  Several algorithms (MAUT, AHP, ELECTRE III, Evamix) exist for doing this  Analytical Hierarchy Process (AHP) allows interdependent criteria  Checking consistency of evaluation measures  AHP must be adapted for automatic service selection  Was designed for human decision processes

63 Bernd Reuther, University of Kaiserslautern Service Selection: AHP Fig. Analytic Hierarchy Process (AHP) Absolutely More Absolutely Less or Moderately Less Moderately More Equal Fig. Pairwise comparison scale

64 Bernd Reuther, University of Kaiserslautern Service Selection: Usage of AHP  AHP in service description and selection  Input: a set of effects Requirements: importance of effects Offerings: level of “quality”  Requirements Importance of effects given by application Defined pairwise  Offerings Effects should be measured in well defined scenario Mapping of measured values to level of “quality”  Defines an interpretation of what is “good” and what is “bad”  Output A service with the highest priority value

65 Bernd Reuther, University of Kaiserslautern Mapping of measured values  The mapping must be generic  The mapping must be monotonic  A linear mapping is in general not adequate  Use monotonic interpolation/extrapolation  Enable simple as well precise mapping functions  Mapping parameters are part of requirements specification Fig. Values in terms of hints +/ Hints Measured value Priority

 Manual composition  Evolutionary algorithm  Template approach  Early definition of partial protocol graphs  Service Description per BB Required SONATE 5. Service Composition

67 Bernd Reuther, University of Kaiserslautern Evolutionary algorithm (1)  Evolutionary algorithms 1.Create new solutions by mutating existing ones 2.Rank solutions using a metric 3.Retain only the best solutions 4.Got back to 1.  Can handle NP hard problems  Main issues when applied to protocol-graphs  How to evaluate a protocol graph?  How to mutate a protocol graph?  Building block interaction model needed  Calculate expected effects of building blocks  Part of BB description  Or as functions of BBs

68 Bernd Reuther, University of Kaiserslautern Evolutionary algorithm (2)  Generators  Create preliminary solutions  Used to fill the solution pool  Improvement cycle  Create new solutions by mutation  Try to fix mistakes  Retain only the best solutions  Runs very fast, thousands of cycles possible per second  Termination criteria  Target quality  Number of improvement cycles  Limited time  Combinations possible

69 Bernd Reuther, University of Kaiserslautern Template Based Composition  Protocol-Graph with place- holders instead of Building Blocks  Split Composition between design- and run-time  Composition at design-time  Selection of implementation at run-time  Place-Holder examples  Codecs or Encryption mechanisms Required “strength” Availability of codecs  Functionality for reducing loss Codecs sensibility to loss Type of access network Template Place-Holders

70 Bernd Reuther, University of Kaiserslautern Place-Holder  Well-defined ports  Defines provided effects  Defines allowed data types  Place-Holder also acts as container  Enabling and Disabling a functionality at runtime  Provide generic ports (e.g. monitoring, administration) Type: bin data Effects: loss =0, MTU’ = MTU-16 Type: bin data Type: avg_loss rate (optional) Type: on/off

71 Bernd Reuther, University of Kaiserslautern Requirements Domain (e.g. Telephony) Application Template Description API Selection of Template Requirement Description + Policies Selection of BB(s) to fill Placeholder(s) Domain specific templates Pool of BB

72 Bernd Reuther, University of Kaiserslautern Scenario Filtering Traffic Clasification Flow-ID IP Address Addressing Legacy Support Monster (application) Requirements API Filtering Controller Filtering Controller Priority Controller Sensor PT Network Data

73 Bernd Reuther, University of Kaiserslautern Service Description per BB Required  Similar to descriptions of communication services  Describe modification of a Service  Describe modification of Parameters / Requirements  Determine effects analytically or by measurements ARQ avgLossRate <= 0,1% avgLossRate’ = 0,0% ARQ avgPacketRate = 50/s

Integrated Communication Systems ICSY University of Kaiserslautern Department of Computer Science P.O. Box 3049 D Kaiserslautern Dr. Bernd Reuther Phone:+49 (0) Fax:+49 (0) Internet: