telecommunication software lecture 6, october 29, 2002

Post on 21-Dec-2015

215 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Telecommunication SoftwareLecture 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

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)

Models of MCS

1. Object model

2. System model

3. Service model

4. Communication model

5. Protocol model

6. Composition model

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)

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

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

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

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

Planes

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

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

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

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

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)

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

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

top related