International Telecommunication Union Middleware Arve Meisingset WP3/10 chairman Telenor R&D, Norway ITU-T and ITU-D Workshop Bangalore (India), 30-31 August 2001 Middleware Definitions Here: Software that supports process interactions Alternatives: o Software that hides communication protocols o Software that replaces communication protocols o o o 31.05.2016 Software that hides computer platforms Software that provides a technology independent programming environment Software that supports Open Systems Interactions ITU-T and ITU-D Workshop - Bangalore (India), 30-31 August 2001 2 Session Initiation Protocol SIP IETF RFC 2543 Applications Clients Service layer Call control Switching & Routing o o o 31.05.2016 Application Broker Function SIP Signalling Gateway Function Signalling Gateway Function Call Control Function Call Control Function Media Gateway Function Media Server Function Media Gateway Function Associated to HTTP and SMTP Compete with H.323 and SS7 Applied in 3GPP ITU-T and ITU-D Workshop - Bangalore (India), 30-31 August 2001 3 Open Service Architecture OSA 3GPP Applications Interfaces OSA Server Service Capability Servers API Network HLR HLR CSE Application o Mobile networks SCSs: o Call Control, Data session, User Location, User Status, Terminal Capabilities, Message Transfer 31.05.2016 ITU-T and ITU-D Workshop - Bangalore (India), 30-31 August 2001 4 Parlay Forum Applications API Framework Service Interfaces <discovery, security, managebility> <call control, mobility, messaging> Internal Interfaces Network Resource Resource Resource Application o Convergence of fixed networks Initiating organisations o BT, Microsoft, Nortel Networks, Siemens, Ulticom, … 31.05.2016 ITU-T and ITU-D Workshop - Bangalore (India), 30-31 August 2001 5 Multimedia Home Platform ETSI DVB Home PCs API Middleware Network Content provider software Content provider software Application o Digital Video Broadcast, interactive return channels Technologies o Java RMI, MPEG, IP Based on o DAVIC, ISO, ITU-T SG16 31.05.2016 ITU-T and ITU-D Workshop - Bangalore (India), 30-31 August 2001 6 Jini Appl Client Applications Lookup Jini Java OS HW 4 Discovery and Join 3 Lookup Service 1 Discovery Service 2 Join Service Service Provides o Discovery, join, lookup, software distribution and communication 31.05.2016 ITU-T and ITU-D Workshop - Bangalore (India), 30-31 August 2001 7 TMN SG4 Work Station Functions f OSS 1 OSS 1 x TMN Domain OSS 1 q Network Resource Resource Resource Application o Management Protocol neutral specification Collaboration CMIP, CORBA, SNMP, tML o TeleManagement Forum o 31.05.2016 ITU-T and ITU-D Workshop - Bangalore (India), 30-31 August 2001 8 ODP: Framework viewpoint language, functions, transparency prescriptions Q14/7 revised SG4 adaption G.850 series Entreprise Viewpoint Information Viewpoint Computational Viewpoint ODP ’System ’ Engineering Viewpoint Technical Viewpoint Describe Interacting processes: o Concurrency, lack of global state, partial failures, asynchronisity Does not necessarily ensure global consistency 31.05.2016 ITU-T and ITU-D Workshop - Bangalore (India), 30-31 August 2001 9 ODP: Open Distributed Processing Q14/7 revised [X.901] Recommendation X.901 (08/97) - Information technology - Open distributed processing - Reference Model: Overview [X.902] Recommendation X.902 (11/95) - Information technology - Open distributed processing - Reference Model: Foundations [X.903] Recommendation X.903 (11/95) - Information technology - Open distributed processing - Reference Model: Architecture [X.904] Recommendation X.904 (12/97) - Information technology - Open distributed processing - Reference Model: Architectural semantics 31.05.2016 ITU-T and ITU-D Workshop - Bangalore (India), 30-31 August 2001 10 ODP: Open Distributed Processing [X.904 Amend.1] Amendment 1 (03/00) to Recommendation X.904 - Computational formalization - To be published [X.910] Recommendation X.910 (09/98) - Information technology - Open distributed processing - Naming framework [X.920] Recommendation X.920 (12/97) - Information technology - Open distributed processing - Interface definition language [X.930] Recommendation X.930 (09/98) - Information technology - Open distributed processing - Interface references and binding [X.931] Recommendation X.931 (06/99) - Information technology - Open distributed processing - Protocol support for computational interactions 31.05.2016 ITU-T and ITU-D Workshop - Bangalore (India), 30-31 August 2001 11 ODP: Open Distributed Processing [X.950] Recommendation X.950 (08/97) - Information technology - Open distributed processing - Trading function: Specification [X.952] Recommendation X.952 (12/97) - Information technology - Open distributed processing - Trading function: Provision of trading function using OSI Directory service [X.960] Recommendation X.960 (06/99) - Information Technology - Open Distributed Processing - Type Repository Function 31.05.2016 ITU-T and ITU-D Workshop - Bangalore (India), 30-31 August 2001 12 Other ? CORBA IDL Java RMI Microsoft SOAP OSI TINA-C OMG IETF EURESCOM ACTS XML W3C TMF Jini Bluetooth 31.05.2016 ITU-T and ITU-D Workshop - Bangalore (India), 30-31 August 2001 13 Distributed Object Technology SG 10 WP 3/10 Q3/10 Software platforms and Middleware for the Telecom Domain (revised) Q2/10 ODL: Object Definition Language (revised) Q11/10 DCL: Deployment and Configuration Language (new) 31.05.2016 ITU-T and ITU-D Workshop - Bangalore (India), 30-31 August 2001 14 Distributed processing environment architecture Q3/10 Rec. Z.600 o DPE Architecture, which represents the run-time environment for telecommunication and information services and applications. an explanation of the relationship between modelling concepts so far as such a relationship needs to be concerned in the computing architecture; a description of the Kernel Transport Network (KTN) which is the DPE analogue of the telecommunications signalling system; an interoperability framework for the DPE; requirements for the DPE kernel services. o Use TINA-C and RM-ODP o o o o 31.05.2016 ITU-T and ITU-D Workshop - Bangalore (India), 30-31 August 2001 15 Extends CORBA C om m unicationA PI C D R MessageLayerInterface Messagelayer(G IO P) TransportlayerInterface A SN .1 MessageLayerInterface TC A P-IO P ESIO Ps Transportlayer(IIO P) N etw orklayerInterface N etw orklayer N etw orklayerInterface TC A P(SS#7) T101252000 111528) ( - selection of protocol objects during initial configuration of a DPE node; - dynamic selection of protocol objects at run-time of a DPE node; - dynamic insertion of protocol objects (plug-in) at runtime of a DPE node; - dynamic selection or insertion (plug-in) of protocol objects, according to some QoS requirements; - concurrent use of multiple protocol objects should be possible. 31.05.2016 ITU-T and ITU-D Workshop - Bangalore (India), 30-31 August 2001 16 Purpose As different middleware products are being introduced in the communication infrastructure of network operators and service providers, the need for common management functions is increasing. 31.05.2016 ITU-T and ITU-D Workshop - Bangalore (India), 30-31 August 2001 17 Object Definition Language Q2/10 Z.130 This document specifies the ITU Object Definition Language (ITU-ODL). ITU-ODL is used for the specification of systems from the perspective of the Open Distributed Processing (ODP) computational viewpoint [2]. It defines templates for o operational interfaces, o stream interfaces, o multiple-interface objects, and o object groups. ITU-ODL is an extension of the ODP Interface Definition Language (ODP-IDL, [6]) with additions to support the specification of ODP computational viewpoint concepts at a syntactic level. ITU-ODL is a superset of ODP-IDL. This relationship between ITU-ODL and ODPIDL supports the construction of systems via OMG specified Object Request Broker (ORB) implementations [1]. 31.05.2016 ITU-T and ITU-D Workshop - Bangalore (India), 30-31 August 2001 18 ODL Notation I 1 I 3 0 3 G 1 S 3 1 S 3 2 T 1 0 1 1 0 0 0 9 -8 Object group, object with an operational interface And a stream interface with source and sink I1 I2 O p 5 1 0 1 O p 1 1 O p 2 1 O p 2 1 I5 I3 I1 0 6 O p 3 1 In h eri tan ce O p 1 1 I1 I2 O p 2 1 I3 0 2 O p 1 1 O p 3 1 I6 O p 6 1 T 1 0 1 1 0 1 0 9 -8 Supports inheritance, Data (as in OMG-IDL) and Alphanumeric notation 31.05.2016 ITU-T and ITU-D Workshop - Bangalore (India), 30-31 August 2001 19 Components Generation con trol other TTCN Concrete DPE DCL SDL System running on DPE lortnoc tnemngissA Mappings between Languages and Questions information Include MSC Mapping on ati orm de inf nclu I Q .11 Q.2 ODL 31.05.2016 Q .3 Q.1 ITU-T and ITU-D Workshop - Bangalore (India), 30-31 August 2001 20 DCL: Deployment and Configuaration Language Q11/10 new A key aspect of modern telecommunication systems development is the use of object technologies based on the general framework of Open Distributed Systems. Modelling such complex systems from the engineering viewpoint is the background of this question which asks for convenient engineering languages. The deployment phase, which bridges the modelling and execution phase, is still suffering from imprecise concepts, methods and insufficient tool support. There is a practical need to fill this gap by an appropriate notation. Such a basic engineering modelling language should be defined also independent from concrete realisations of units of distributions. 31.05.2016 ITU-T and ITU-D Workshop - Bangalore (India), 30-31 August 2001 21 Deployment and Configuaration Language The Recommendations should apply in the area of the engineering modelling of a new generation of telecommunication systems. The requirements to the language could/should include: Ability to express how computational objects can be configured statically on the available execution nodes Ability to express performance requirements/provisions of the computational objects and configuration and migration policies needed to retain the performance requirements/provisions (i.e. dynamic configuration) Ability to express physical parameters used during simulation and performance evaluation of systems Support of the ITU languages ODL and SDL, but as far as possible independence of the computational language used (Language bindings could be in a separate part) Support of graphical representation 31.05.2016 ITU-T and ITU-D Workshop - Bangalore (India), 30-31 August 2001 22 Language Features o Description of Middleware platforms o Specification of initial configurations • Specification of re-configuration at run-time o • • 31.05.2016 Mapping from platform-independent models to platform-dependent ones e.g. migration, replication of service components, ... actions to be performed by the target environment‘s DPE on violation of constraints during run-time ITU-T and ITU-D Workshop - Bangalore (India), 30-31 August 2001 23 Network or Interface centric Paradigm ? Applications All IP? Network Network layer Applications API Data & invocations 31.05.2016 IP MPEG SS7 ITU-T and ITU-D Workshop - Bangalore (India), 30-31 August 2001 24 Future ? o o o o o o o o Languages ? Broker functions ? Recursive transaction handling ? Framework ? Management ? Comprehensive software architecture ? Methodology ? Application area ? Can you help ? 31.05.2016 ITU-T and ITU-D Workshop - Bangalore (India), 30-31 August 2001 25