480 likes | 550 Views
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 o bject-orientation
E N D
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 • Object model • System model • Service model • Communication model • Protocol model • 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 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:
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