telecommunication software lecture 6, october 29, 2002

48
Telecommunication Software Lecture 6, October 29, 2002

Post on 21-Dec-2015

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Telecommunication Software Lecture 6, October 29, 2002

Telecommunication SoftwareLecture 6, October 29, 2002

Page 2: Telecommunication Software Lecture 6, October 29, 2002

Map of lectures

• Last time:– We studied state-of-the-art models for network

architecture and protocols• OSI model and Internet protocol suite

– We started presenting the basic concepts of our reference model object-orientation

• Today’s plan:– System, Service, and Communication models

Page 3: Telecommunication Software Lecture 6, October 29, 2002

Reference framework

• For Modular Communication Systems (MCS)• MCS goal

– to provide a common terminology and modeling technique for the specification, design, and implementation of MCS

• Employed terminology follows the one of OSI model– With modifications

• Novel features– OO– universal communication model (provides the abstraction of a

multipoint connection)

Page 4: Telecommunication Software Lecture 6, October 29, 2002

Models of MCS

1. Object model

2. System model

3. Service model

4. Communication model

5. Protocol model

6. Composition model

Page 5: Telecommunication Software Lecture 6, October 29, 2002

Object model

• Modularization: decomposition of the problem domain into smaller parts easier to understand– Decomposition can be applied repetitively– The result is a collection of functional modules– The modules can be typically developed in parallel

• Object-orientation: powerful, well-accepted modularization technique– Specific properties: information hiding, encapsulation, abstraction,

inheritance– Eases the design of extendable, composable and reusable systems– In context of networks: eases the collaboration with other networking

aspects (mgmt, open distributed systems)• (these already use an OO foundation)

Page 6: Telecommunication Software Lecture 6, October 29, 2002

Properties of OO

• Encapsulation– Certain functionality is accessible only through well-defined

interfaces– Objects are free of side effects

• Information hiding– Objects hide their internal data structure and processing

algorithms

• Abstraction– Objects may provide a higher level view of the actual

encapsulated functionality

• Inheritance– New classes of objects are derived from existing classes by

specifying or implementing ONLY the differences

Page 7: Telecommunication Software Lecture 6, October 29, 2002

Objects in networks

• Objects in networks can be node local or distributed• Node local object

– Resides on one node at a time– It may migrate but is never located on two nodes simultaneously

• Distributed object– May reside on multiple nodes simultaneously– Typically composed of multiple node local objects that perform a

protocol to provide the distributed object’s capability

Page 8: Telecommunication Software Lecture 6, October 29, 2002

SYSTEM model

• Communication systems are decomposed into a set of service objects (SOs)

• SO– Represents a particular service– Makes the capability of the service available to its users

• System decomposition characterizes SOs according to– Layers– Planes

Page 9: Telecommunication Software Lecture 6, October 29, 2002

Layers

• Collection of SOs providing a subset of the CS’s functionality– yielded by its vertical decomposition

• SOs provide services to– Objects of the next higher layer– Application objects

• SOs use services provided by– The next lower layer– The network

• Visibility• Layers numbered from bottom to top

– Names may be given for comprehensibility

Page 10: Telecommunication Software Lecture 6, October 29, 2002

Planes

• Collection of SOs providing a subset of the CS’s functionality– yielded by its horizontal decomposition

Page 11: Telecommunication Software Lecture 6, October 29, 2002

Reference architecture

• No number of layers or hierarchy enforced to define a modular CS– Any configuration acceptable

• Number of planes is enforced– Management plane– Composition plane– Access plane– Control plane– Transfer plane

Page 12: Telecommunication Software Lecture 6, October 29, 2002

Enforced planes• Management plane

– SOs of this plane provide the interface to/ from network and system management (defined elsewhere)

• Composition plane– SOs of this plane provide the capability to configure individual

communication services• Collectively provided by SOs of access, control, transfer planes

• Access plane– SOs of this plane enable applications to establish communications

with a priori defined capabilities

• Control plane– By control of plane objects, users may exert an influence on active

communications

• Transfer plane– SOs of this plane enable participants of a communication association

to transfer user information

Page 13: Telecommunication Software Lecture 6, October 29, 2002

SERVICE model

• Interaction between objects of adjacent layers uses the abstraction of SERVICE

• Service– Capability offered by a service provider and applied by one/more

service users

• N-service provider– Object representing all relevant SOs of layer N required to

perform the provided N-service

• N-service user– SOs of layer N+1 that apply the N-service for cooperation

• Users and providers perceive each other as black boxes

Page 14: Telecommunication Software Lecture 6, October 29, 2002

Service primitives

• Service defined by– A set of user and provider operations called service primitives– The valid sequence invocation of the primitives

• Primitive– Single interaction between user and provider– May have call-by-value parameters– No return values

• Service actions– E.g.: connection establishment, data transfer, connection release,

failure notification, etc– Primitives are grouped according to service actions– request (Req), indication (Indic), response (Resp), confirm (Conf)

Page 15: Telecommunication Software Lecture 6, October 29, 2002

Primitives and actions

• User-invoked primitives: Req and Resp• Provider-invoked primitives: Indic and Conf• Service action

– Initiated by Req– Reported by Indic

• Users– May reply to an Indic by a Resp

• Providers– May issue a Conf to reply to a Req

• A service action defined by at most one Req, Indic, Resp, and Conf

Page 16: Telecommunication Software Lecture 6, October 29, 2002

Diagrams

• Valid sequences of interactions illustrated by– Time sequence diagrams (TSD)– State transition diagrams (STD)

• TSD– Show sequences of interactions and how they are related in time

• STD– Service viewed as a state machine– Service is in a particular state at any time– State transition occurs when an event (primitive invocation)

occurs

Page 17: Telecommunication Software Lecture 6, October 29, 2002

COMMUNICATION model

• Communication services are based on an abstract communication model– This describes generally the sequence of the conversation:– Behavior and roles of participants– Number and sequence of data allowed to be exchanged– Direction of information flows– Duration of conversation

• Well-known and widely used models provide the abstractions of– Connection (=> connection-oriented models)– Datagram (=> connectionless oriented models)

Page 18: Telecommunication Software Lecture 6, October 29, 2002

Connection-oriented models

• A conversation has 3 phases: establishment (E), data transfer (DT), release (R)

• At E:– Provider and users try to explicitly agree on the new connection– Certain service capabilities may also be negotiated

• DT may start only after E has finished successfully• Communication structure limited to 2 users• Users can send bidirectionaly unlimited amounts of data• DT is reliable

– Lost, damaged, mis-sequenced, duplicated data are detected and corrected by provider

Page 19: Telecommunication Software Lecture 6, October 29, 2002

Connectionless-oriented models

• One data unit is exchanged between users (DATAGRAM)

• Multiple destinations possible• DT is unreliable

– No protection against loss, damage, duplication and mis-sequence

Page 20: Telecommunication Software Lecture 6, October 29, 2002

Problem

• Both models for current communication models are insufficient for new networked applications

• These require communication models supporting adequately– Remote procedure call (RPC) transactions– Reliable conferences– Unreliable audio/video connections– Multicasting

• It is undesirable to build dedicated models/services for each new application class

Page 21: Telecommunication Software Lecture 6, October 29, 2002

A solution

• A single and more general model is used: multipoint connection

• This allows new connection types– Flexible QoS connections– Multipoint connections– Fast established connections– Short-lived connections

• Hence, this model is more flexible

Page 22: Telecommunication Software Lecture 6, October 29, 2002

Flexible QoS connection

• Classical connections provide reliable DT• But, depending on applications, different levels of

reliability or other terms of QoS are desirable• E.g.

– audio/video applications may tolerate a certain degree of transmission errors as long as the required performance is obtained

Page 23: Telecommunication Software Lecture 6, October 29, 2002

Multipoint connection

• Classical connections restricted to fixed p2p structures with one data stream in each direction

• If these constraints are relaxed:– Multipoint connections may exist– Multiple users may participate– Any number and arrangement of data streams may exist

Page 24: Telecommunication Software Lecture 6, October 29, 2002

Fast-established connection

• Classical model of connections:– Users may not exchange information until connection is established

• But, if no negotiation is required:– A fast-established connection allows users to start information

exchange w/o waiting for establishment completion =>

lower service latency

Page 25: Telecommunication Software Lecture 6, October 29, 2002

Short-lived connection

• In classical connections, each communication phase performed by a separate action

• But, there are also short conversations:– Transfer of one datagram– Exchange of a single request/response msg

• Short-lived connections used for short conversations– Combine the separate service actions for E, DT, R into a single

action– Users can request simultaneously connection E, DT, and

connection R, invoking one service primitive

Page 26: Telecommunication Software Lecture 6, October 29, 2002

Model of MP connection

• Communication services are based on the abstraction of multipoint (MP) connection– Communication association in which 2/more users may participate– Only users affiliated to the same connection are able to

communicate (by exchanging information)– At any time, multiple connections with different participants may exist– User information is conveyed by the provider as service data unitsservice data units

(SDUs)– SDUs are transferred transparently by provider

• No restriction regarding the information’s content, format, or coding

• Exceptions: communication services that encompass functions for data converting, compression, etc these functions require knowledge about the SDUs semantics and may modify their content

Page 27: Telecommunication Software Lecture 6, October 29, 2002

Model of MP connection 2• Connection provides only the logical binding between users• Method of information exchange: DATA STREAM (DS)

– Sequence of SDUs flowing unidirectionaly from one DS source to one/more DS sinks

– Connections can have unlimited number of DSs, that can be freely arranged and re-arranged

– During a connection lifetime, new streams may be created and existing ones may be terminated

• DS’s arrangement is defined by a communication pattern– Contains the communication addresses of all connection participants– Defines between which connection participants DSs exist– Pattern addressing lets applications to define different

• Communication structures: p2p, p2mp

• Communication symmetries: unidirectional, bidirectional

Page 28: Telecommunication Software Lecture 6, October 29, 2002

Model of MP connection 3• Communication QoS defines connection and DS properties

wrt– Reliability– Security– Performance

• Different stream QoS may be assigned to DSs of the same connection

• Communication phases– Service composition– Connection establishment– Data transfer– Connection release– Service deletion

Page 29: Telecommunication Software Lecture 6, October 29, 2002

Service composition• Before applications can use their individual communication

services they must compose them, applying the composition service– Each layer has a composition service provided by SOs from

composition plane (composers)

• Application passes to its composer – The capabilities of its desired communication services– The address under which wants to be referred by by other applications

• Composer returns a service access point (SAP) object– The given communication address is bound to the SAP object– SAP objects SOs of the access plane– SAP objects represent a particularly requested and composed

communication service, providing access to the service’s capabilities– Applications with an access point (AP) are able to establish/release

connections

Page 30: Telecommunication Software Lecture 6, October 29, 2002

Service composition 2

• One communication address is bound at any time to each AP

• Applications may have multiple APs with different communication addresses– to be reachable by different addresses simultaneously

• Composing communication services– Performed by a local service action

• Applications responsible for taking care they compose compatible N-communication services

Page 31: Telecommunication Software Lecture 6, October 29, 2002

Connection establishment (CE)

• During CE, service provider and relevant users agree on the new communication association

• Simultaneously– SDUs may be exchanged – Connection capabilities negotiated

• User is either initiator or responder– Initiator: requests the CE– Responder: waits for the indication of the CE

• CE may be performed by service actions of type– Unconfirmed– User-confirmed– Provider-confirmed

Page 32: Telecommunication Software Lecture 6, October 29, 2002

Connection establishment (CE) 2

• Moment when initiator and responder consider a connection to be established may vary– Depending on establishment type– DT phase entered only when, from a local point of view, CE phase

is successfully finished

• For each new connection users get a connection endpoint (CEP) object from their local AP objects– CEP objects SOs of the control plane– CEP objects enable related user to control the connection (e.g.

insert/delete new participants)– CEP objects related uniquely to a communication AP object– AP objects may have multiple endpoint (EP) objects assigned to

them at the same time

Page 33: Telecommunication Software Lecture 6, October 29, 2002

Data transfer (DT)• During DT users may exchange unlimited nr of SDUs along the

defined DS arrangements• For each DS

– Users have SOs of the transfer plane: DS source (SRC) objects and DS sink (SNK) objects

– SRC object endpoint of a DS, at which the related user may issue SDUs for transmission

– SNK object users may consume the transferred SDUs– Users are producers or consumers (wrt SRC/SNK)

• SRC and SNK objects uniquely related to a CEP– Multiple sources/sinks may be affiliated with the same EP– During DT: DS may be added or deleted; consumers may join/leave DS

• SDUs transfer may be performed by service actions of type– Unconfirmed– Provider-confirmed– User-confirmed

Page 34: Telecommunication Software Lecture 6, October 29, 2002

Connection release (CR)

• When all users have left the connection, this is implicitly released

• Users leave a connection by releasing their CEP objects• EPs may be released in an abrupt or graceful manner

– Abrupt: releases the EP w/o considering whether SDUs are still in transfer

– Graceful: does not release the EP until all SDUs are successfully sent or fatal error occurs

• “Successfully sent” SDUs depends on QoS

• Releasing EPs may be performed by service actions of type unconfirmed or local

Page 35: Telecommunication Software Lecture 6, October 29, 2002

Service deletion (SD)

• The AP objects of a user are discarded and all related CEP objects released abruptly

• Bound communication addresses no longer valid in provider’s scope

• Canceling of a AP object is done by a local service action

Page 36: Telecommunication Software Lecture 6, October 29, 2002

Short-lived connections (SLC)• Combine into a single action the separate service actions for

– Unconfirmed CE– Single DT– Abrupt CR

• Single transfer may be of type unconfirmed, provider-confirmed, or user-confirmed, yielding respectively:– Datagram: unconfirmed SDU transfer, single self-contained SDU can

be conveyed with single SLC– Acknowledged datagram: producer receives a notification when the

sent SDU has arrived at consumer’s site; single SDU sent– Transaction: consumer may confirm receipt of SDU by returning a

reply SDU; with each SLC, only one request and reply SDU can be exchanged

• Services providing SLCs: connectionless services

Page 37: Telecommunication Software Lecture 6, October 29, 2002

Enhancement facilities

• Additional facilities for a communication service can be defined:

Connection forwarding SNK adding

Connection migration SNK deletion

Connection hunting Stream forwarding

Connection merging Substreaming

Connection splitting Proxy establishment

Connection renegotiation Third party establishment

Page 38: Telecommunication Software Lecture 6, October 29, 2002

Quality of Service (QoS)

• Denotes the communication properties wrt the some attributes– Reliability – Security– Performance

• QoS attributes are characterized each by a set of parameters

Page 39: Telecommunication Software Lecture 6, October 29, 2002

Reliability

• Communicating over networks includes a certain probability that the transferred information will be lost, damaged, mis-sequenced, or duplicated

• Possible consequences– SDUs damaged: content of delivered SDU corrupted– SDUs lost: SDUs sent are not delivered– SDUs duplicated: SDUs are delivered multiple times– SDUs mis-sequenced: SDUs delivered in wrong order– SDUs miss-addressed: SDUs of a different connection or

delayed SDU duplicates of old connections are delivered, undetected

– Duplicated connection establishment: connections falsely established by duplicated requests

Page 40: Telecommunication Software Lecture 6, October 29, 2002

Reliability 2

• Service provider may protect communications against combinations of these errors– Yields different levels of connection and stream reliability– Depends on application requirements

• Applications select their required level of reliability using reliability parameters– Completeness– Un-ambiguity– Temporal ordering

Page 41: Telecommunication Software Lecture 6, October 29, 2002

Reliability 3

• Completeness: assurance that all sent SDUs delivered at least once– Applications determine level of protection against SDU losses– Gaps in SDU sequences may be ignored, notified, or corrected

• Correction based on retransmission

• Applications can define max nr of retransmissions

• Un-ambiguity: assurance that all sent SDUs delivered at most once– Applications determine level of protection against SDU

duplications and miss-addressing, and duplicated connection establishments

• They can select whether provider should detect/correct them or not

Page 42: Telecommunication Software Lecture 6, October 29, 2002

Reliability 4

• Un-ambiguity– SDU duplication prevention selected => SDUs delivered only once to

consumer– SDU miss-addressing protection requested => SDUs from other and

old connections are detected and deleted– Prevention against falsely established connections -> provider detects

delayed and duplicated connection requests

• Temporal ordering: assurance that all SDUs are delivered in the order they have been sent– Applications determine whether SDU sequence should be preserved– If protection selected, provider detects and corrects mis-sequenced

SDUs• By reordering or discarding

Page 43: Telecommunication Software Lecture 6, October 29, 2002

Addressing

• Addressing concept allows to identify and locate objects in a defined scope

• Users of communication services require addresses to specify the desired participants to which a connection should be established

• Providers of communication services use these addresses to locate the node and the SAP object of the corresponding service user

Page 44: Telecommunication Software Lecture 6, October 29, 2002

Addresses

• Users are known in network covered by provider only if attached to an AP– Each user attached to only one AP at a time– Application with several APs -> logically viewed as multiple

users with different communication addresses

• Communication addresses– Individual– Group addresses

• Anonymous groups

• Well-known groups

• Redundant groups

Page 45: Telecommunication Software Lecture 6, October 29, 2002

Patterns

• N-pattern: ordered set of N-addresses– The ordering defines which users a DS should exist between– Patterns are passed to the provider when requesting new

connection

• Can be static or dynamic, simple or complex• Define structures like

– p2p, p2mp, mp2mp– Forwarding, conferencing, pipelining, parallel streams

Page 46: Telecommunication Software Lecture 6, October 29, 2002

Basic SO classes

• MCS provide – Composition services– Communication services

• Composition services– Enable the configuration of customized communication services– Provided by SOs of class composer

• Communication services– Enable the addressing of corresponding users, maintenance of

connections and exchange of SDUs– Provided by service objects of different classes

• SAP, CEP, DS SRC, DS SNK

Page 47: Telecommunication Software Lecture 6, October 29, 2002

Basic connection types• Negotiated connection

– User-confirmed connection establishment phase; QoS is negotiated

• Fast-established connection– Unconfirmed connection establishment phase

• Short-lived connection– Combined connection establishment, data transfer and connection

release phase

• Reliable connection– Protected at least against SDU losses

• Secure connection– Protected against some/all security attacks

• Best effort connection– No performance commitments

• Real time connection– Defined level of performance guarantee

Page 48: Telecommunication Software Lecture 6, October 29, 2002

Summary of communication model

• Communication model of multipoint connection– 2/more users exchange SDUs– Five phases– Datagram or transaction-oriented communication possible– QoS

• Enhancement facilities introduced– Most originate from telephony networks– Important as voice and data networks will converge (multimedia)

• Communication patterns• Basic reference SOs