720 likes | 867 Views
SONATE Euro-NF PhD Course. University of Kaiserslautern 06 March 2012. Dr. Bernd Reuther. Outline. Project Beyond-IP 1997-1999 Project DANCE 2001-2003 Motivation Terminology : Service, … Abstraction of communication protocols SONATE Problem statement and goals
E N D
SONATEEuro-NF PhD Course University of Kaiserslautern 06 March 2012 Dr. Bernd Reuther
Outline • Project Beyond-IP 1997-1999 • Project DANCE 2001-2003 • 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 1997-1999
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
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
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 2001-2003
Project DANCE 2001-2003 • Generalize Problem of Beyond-IP Project: • New (transport) protocols require adaption of applications • Without users (applications) there is no incentive for innovation!
Innovation within Transport and Network Protocols • Innovation in the Internet • New Applications • New Network-Technologies • Few innovation within transportand 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 NetworkProtocols Network Technologies Innovation is the implementation of new technical or organizational developments* (Schumpeter, 1934) * Original citeis German: Innovation ist die Durchsetzung einer technischen oder organisatorischen Neuerung.
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
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”
Avoid tight coupling today? • 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 Application Application Middleware Middleware Middleware Middleware Communication System
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
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
Services, Mechanisms, Techniques A „service“ denotes an abstraction level (like in the ISO/OSI model). Service(thevisibleeffects) Example: reliabletransferof a bytestream implement Mechanisms(algorithms / protocols) Example: TCP abstraction implement Code(bits & bytes) Example: Linux Kernel-Modulfor TCP
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
Service Description • Mapping between Mechanism and Service • Approaches for descriptions • Mechanisms + Interface resulting in a unique service • Service + Interface may by implemented byseveral mechanisms→ need to select appropriate mechanisms Services 1 n Mechanisms
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 2001-2003 • Abstraction of communication protocols
SOA-Paradigm ServiceUser b) Service brokering 2 4 3 c) Interface a) Service description ServiceBroker 5 ServiceProvider 1 • Support ofthreekeyfunctionalities
A service oriented Approach for Abstraction ofCommunication Protocols in the Internet • Description of offered services • Description of requested services • Broker result • Configuration of TSP • Utilization
Key-Functionality: Service description ServiceUser a) Service description ServiceBroker ServiceProvider
Steps of Service Brokering Set of all Service offerings Preconditions+dynamic data Set of all available Service offerings Mandatoryrequirements Set of all appropriate Service offerings Wantedrequirements Ordered list of Service offerings Service usage
Service Description • A communication service S is defined as a set of properties Ei:S = {E1 ,..., En } • 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
Attributes of Inherent Properties • Unique identification of a property Ei using a URI • Bsp: http://www.icsy.de/xml/SOCS/IProp/tp/MTU • Optional: absolute boundaries • In requirements • lbR lower boundary, ubR upper boundary • Semantic with Ei valid for x • In offerings • lbO lower boundary, ubO upper boundary • Semantic with Ei valid for x • An offering is appropriate if:
Attributes of Qualitative Properties • Unique identification of a property Ei using a URI • Bsp: http://www.icsy.de/xml/SOCS/QProp/Loss • Relative rating • In requirements • Weights of properties Ei • Relative rating of properties • In offerings • Quality of a property Ei of a TSPk • Relative rating of TSP regarding one specific property • Quality of an offering: → wi determined by application developers → qi,kdetermined by …
Determine the Quality of an Offering • Subjective method: qi,k„defined by experts“ • Objective method based on benchmarks • BenchmarkBi 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
Description of Service Provider • 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 Service Configuration Environmental data BasisService Service-Option User Service-Option Endsystem Service-Option Network
Key-Functionality: Brokering and configuration of services ServiceUser b) Service brokering a) Service description ServiceBroker ServiceProvider
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 {SO1 ,..., SOn} • Permutation are irrelevant • Dependencies of Service-Options SOi among each other • Independent • Semantically dependent→ must be specified explicitly • Implicitly dependent, i.e. mutual influence of ratings → will be recognized automatically
Selection of Service-Options 1. Sequential testing of applicability of SO INITIALZE FOR EACH Estimate effect of worst: best: IF THEN do not apply : IF AND not semantically depended to any THEN apply : 2. Test remaining combination of SO
Performance Example: best case, independent SO No dependencies max. ~ 0,6ms Time needed for brokering [µs] • Plattform: • 1 Core • 2,44 Ghz CPU • Linux • Timer: • High resolution • Per process Number of Service-Options
Performance Example: worst case, only dependent SO No dependencies Dependencies among all Service-Options max. ~ 200ms Time needed for brokering [µs] • Plattform: • 1 Core • 2,44 Ghz CPU • Linux • Timer: • High resolution • Per process Number of Service-Options
Problem statement and goals • Overview of Basic Concepts • Building Block Interface • Service Selection • Service Composition • SONATE • Service oriented Network Architecture
Problem Statement • Implementing new developments • Goals of the SONATE approach • SONATE • 1. Problem statement and goals
Problem Statement It is hard to integrate new mechanismsinto 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 limitedto specific protocols ormechanisms • It is an architectural issue!
Implementing new developments • Extendableprotocol header • Application Level Framing • New Layers • Dynamic composition of building blocks • Not available today • Issue of:Future Network research
Goal • A future network architecture should be flexible: • Long term flexibility:Support evolution of networks • Short term flexibility:Dynamically adapt to requirements and constraints
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 / providersReasons: • 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
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
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 BB Description (XML)→ the service, what application and other BB „see“ #17 BB identifier→ reference the mechanism, communicating parties must use the same protocol BB impementation→ local code
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
Framework • Protocol-graph processing • Management of BB • Interfaces implemented as building blocks ToApplication FromApplication Msg1’ Msg3’ Msg2’ Msg3 Msg1 Msg2 To successor node From previous node P-Graph Engine receive send Timer, Events,debugging support, … Management Physical orvirtual link Physical orvirtual link Repository of building blocks
Selection & Composition • Create Protocol-Graph descriptions • Select building blocks to be used • Compose (connect) building blocks • Adapt to (current) requirements andconstraints Application: Requirements Network: Constraints … Selection & Composition
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 Selection & Composition Selection & Composition Functional Composition& Processing of Workflow-Descriptions → Foster short term flexibility Framework Framework Framework Msgs Msgs Msgs Msgs Gateway Node Initiator Next Node
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
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