MACSE: A Generic Connection Establishment ... - Semantic Scholar

1 downloads 4859 Views 300KB Size Report
conversational services is a desktop conferencing application where multiple associations .... an ATM application programming interface so that both bursty and ...
MACSE: A Generic Connection Establishment Protocol for Multimedia Communication Residing at the OSI Application Layer G. N. Orphanos, G. D. Papadopoulos, and S. A. Koubias

Indexing terms: Application layer, Connection establishment protocol, Multiple associations, Networked multimedia, OSIRM, Out-of-band signaling, QoS

Abstract: The multiple association control service element (MACSE) described in this work is a new connection establishment protocol for the application layer of the OSI reference model (OSIRM). The objective of the protocol is efficient establishment and control of multimedia associations among multiple spatially dispersed users. MACSE defines a new OSI service to support the communication requirements of multimedia applications so that to shift the burden of setting-up a complex call to a protocol entity, instead of the application developer. The MACSE protocol enhances the OSIRM by introducing careful service definition, service primitives and relevant parameters, as well as a nonmonolithic protocol specification. The protocol defines procedures for the negotiation and confirmation of quality of service (QoS) per association while it forms the core of a proposed architectural model which provides a coherent treatment of QoS across all layers of the OSIRM and reduces the complexity of it. Out-of-band, rather than in-band, signaling at the application layer and multi-target associations are introduced and analysed, in contrast to the structure of the well-known ACSE protocol. Moreover, ACSE can be considered a particular case of MACSE.

1

Introduction

During the recent years, networked multimedia has become one of the most challenging areas of both advanced computer communications and telecommunications fields. It is a new facet of modern communication imposing for new services, protocols and networks. The key issue is the development of distributed multimedia systems and architectures based on standards so that multi-vendor products to be robustly interoperable. It is apparent that ATM is the potential communication infrastructure for both existing and emerging multimedia applications. Currently, several pilot trials based on ATM

validate its efficiency to support the transportation of any kind of traffic, irrespective of its natural characteristics. Sooner or later “native” ATM [1] will be available on desktop allowing end-users to invoke both interactive and distribution services. Moreover, conversational services form a particular class of interactive services that provide real-time end-to-end information transfer from one user to another with either symmetric or asymmetric information flow [2, 3]. A typical example of conversational services is a desktop conferencing application where multiple associations are required for the transfer of video, voice, and data, between multiple participants. The nature of such an application imposes specific requirements to the communication infrastructure. The motivation for the proposed work mainly arose from the global trend towards ATM technology and the partially explored field of higher layer issues in the light of networked multimedia. Although ATM covers the lower layers of OSIRM, the issue concerning higher layers is still unaddressed. New protocols should be developed and validated on top of the ATM subnetwork so that to minimize the complexity of OSI layers and robustly support the application requirements. Furthermore, the problem of coping with the need of establishing multiple associations among multiple users should be addressed. The OSI higher layer protocols allow only the setup of a simple call, i.e., a call from one user to another results to the establishment of a single association. As a consequence, new connection establishment protocols should be designed to keep up with the problem of establishing and controlling multimedia associations. While “new era” protocols have been developed for the transfer of data with either timeconstrained or time-independent traffic characteristics, the field of connection establishment protocols has not yet shown a relevant progress in development and standardization. Most of the existing signaling protocols and architectures control the interactions between the user and the network at the user-to-network interface (UNI) in order to support the advanced services offered by B-ISDN and enable the user to access them readily. The philosophy of these approaches is that the network merely accomplishes any user request for call setup and modification. In contrast, the proposed MACSE protocol is a new facet of the above stated problem as it defines a new OSI service providing call establishment functions, i.e., signaling at the application layer and coherent treatment of communication characteristics across all layers of the proposed architectural model. Main innovations of the protocol are out-of-band signaling at the OSI application layer, i.e., separate associations for the

control and data application protocol data units (APDUs), generic service definition in-line with OSIRM, enhancement of client-server computing for network multimedia services, and non-monolithic protocol specification, i.e., discrete states for the multimedia call, user, and individual association as well as use of underlying lightweight transport services (e.g. XTP) [43]. The prevalent objective of the MACSE protocol is the establishment of associations with explicit characteristics so that the multimedia data are transferred through them in a later phase. The term “explicit characteristics” stands for the required communication values that should not be violated during the transfer phase, thus leading to an unacceptable service quality. In addition, the notion of control plane, initially adopted for the ISDN UNI [4], is extended up to the application layer. This paper is structured as follows. The existing signaling and connection establishment protocols as well as their main characteristics are discussed in Section 2. In section 3 the MACSE protocol is described in terms of the proposed architecture, multiple association model, main functional characteristics, generic service definition, protocol structure and use of underlying services. Section 4 illustrates the MACSE protocol with an example and discusses the implementation results. A comparative study among MACSE and other related protocols is presented in Section 5. Finally, Section 6 presents the conclusions of the work.

2

Existing signaling and connection establishment protocols

2.1 Conventional OSI connection establishment concepts The ACSE protocol [5] establishes and controls an application-association using in-band signaling, i.e., the same association is used for the transfer of both control and data APDUs. Although the AASSOCIATE request primitive supports the QoS parameter, according to the standard it has no bearing on the nature of the association nor on the activity of any application service element (ASE). It rather specifies some communication characteristics to the underlying protocol connection procedures (i.e. session [37] and transport [35] services). Moreover, no actual negotiation of QoS parameters (i.e. throughput, transit delay, residual error rate) is performed. Within the higher layers of OSIRM only session and transport protocols perform negotiation of QoS during the connection establishment phase. Once the connection has been established no further

renegotiation of QoS is allowed throughout the duration of the connection. Furthermore, if there is an urgent need for enforcement of new values, due to changes on application demand, the service provider does not define any mechanism to perform such an action. In addition, any changes in the QoS values during the lifetime of the connection are not signalled from the service provider to the service user, resulting to a certain weakness of the conventional OSI protocols as the service user should have the knowledge to either abort the connection or continue with a lower quality offered. The application layer structure (ALS) standard [6] provides a framework for the development of application layer protocols. ALS defines the multiple association control function (MACF), a component that coordinates related activities on several associations, i.e., controls the services provided by application service elements in terms of temporal ordering rules, interrelationships, and exchange of specific information for coordination. Moreover, MACF controls single association objects (SAOs) that require coordination of their activities. A SAO may contain one or more ASEs (e.g. ACSE and ROSE [42]) and a single control association function (SCAF) that provides the rules for interaction among ASEs. Consequently, MACF is a component of the OSI application layer that seems to provide synchronization services between related associations.

2.2 Recent work on enhanced signaling architectures and protocols The challenge of designing new signaling architectures and connection establishment protocols has stimulated research work in the field and several studies have been published in the literature. The main objective of the majority of them is to satisfy the new signaling requirements across the UNI in the light of B-ISDN; a list of recent signaling schemes is then presented. The new signaling requirements for B-ISDN in contrast to the conventional ones used in ISDN have been discussed by Minzer and Spears [7]. Their work has stated precisely the problem of multipoint and multi-connection calls and suggested an attractive call model to represent them. The concept of the model is reflected by the EXPANSE signaling protocol introduced by Minzer [8] to support control of the services offered by a B-ISDN research prototype [9]. EXPANSE defines generic services for controlling network access based on transactions between the user and the network and the corresponding operations performed on component objects of the call. The author’s approach is a welldefined one but does not encompass any OSIRM concepts and it is targeted for the UNI. The

applicability of the EXPANSE protocol for defining new multimedia and supplementary services has been described in [10]. Budenik, Dettart and Gaddis [11] have described a call model for the setup of multipoint connections over an ATM network and two signaling protocols, the connection management access protocol (CMAP) and the connection management network protocol (CMNP), for the UNI and the network-to-network interface (NNI), respectively. These protocols have been used by Cox, Jr. et.al. [12] to support dynamic multipoint multiconnection calls within the Zeus Project, an ATM-based testbed. Biagioni, Cooper, and Sansom [13-15] have described ATM LAN systems and have expanded on both a simple network signaling protocol (SPANS) for the management of virtual connections and an ATM application programming interface so that both bursty and continuous traffic types can demand and reserve their resources. Heijenk, Jordense, Sturrus, and Niemegeers [16] have described a multimedia multiuser service for B-ISDN, while Heijenk, Hou, and Niemegeers [17] have recently presented an elaborate version of the same service. Their work is somewhat similar to the one proposed in this paper. The same authors in [18] analyse signaling and control issues for the services that it are envisaged to be offered by B-ISDN while the same issues have been also discussed in [41]. Hou and Niemegeers [19] have discussed performance issues for signaling protocols based on a call model similar to the one presented in [8]. They have focused on separate performance parameters for the call and the bearer connection. Miller and Turcu [20] have described a generic signaling protocol (GSP) supporting multipleconnection multimedia calling. GSP is an abstract protocol that functions both as a UNI and NNI signaling protocol. Both distributed and centralised control of network connnections as well as a set of commands for call control have been described by Ong and Schwartz [21, 22] while Grutcher and Gill Waters [23] have proposed an architecture for the management of calls, channels and channel QoS in an ATM network. Zafirovic-Vukotic and Niemegeers [24] have discussed OSI upper layers protocol issues concerning multimedia communication at the end-user system. They propose functions like splitting of a multimedia call at the application layer and stream multiplexing at the session layer, embedded onto an upper layer structure. Campell, Coulson, Garcia, Huitchinson, and Leopold [25] have described an architecture for the integrated manipulation of QoS, while their approach does not include any specific

connection establishment protocol. An enhancement of the ACSE protocol (XACSE) to support the QoS requirement of the broadband services, has been proposed by Mc Glinchey [26]. A new service primitive has been introduced to support the modification of QoS for a connection while for timeindependent transfers the service primitives are mapped onto the ISODE services. Papers [27, 28] have introduced both an architectural model for multimedia communication based on existing and emerging network technologies and the adaptation concepts that should be applied to the OSI upper layers and ASEs (e.g. ACSE, ROSE), so as to make them viable and supportive of the multimedia environment. Ravindran and Bansal [29] have introduced attractive protocols for the synchronization of multimedia streams with mapping of higher layer QoS onto the network QoS. However, their protocols do not include any signaling procedures. The up-to-date situation concerning the signaling architectures and protocols targeted to support the B-ISDN have been briefly presented in [30]. Most of the studies mentioned have adopted a call model similar to the one introduced by ITU-T [3], assuming that the signaling intelligence is located at the network premises. A fundamental difference of this paper is that the burden of connection establishment procedures is shifted to the user premises, that is to the proposed architectural model and protocol. This is especially important in the case of communication over WANs where indispensable protocol functions (e.g. error and flow control, continuous synchronization) should be performed at the end-stations. The aim is to simplify the subnetwork nodes (e.g. ATM switches) by merely performing switching and strength the protocol stack on an end-to-end basis.

3

Description of the MACSE connection establishment protocol

The MACSE protocol addresses the issue of substantially enhancing and controlling the services offered by a multiservices network. The protocol provides a generic service interface to gain access to the network and explicitly differentiates the control and data associations. The latter are established, managed and terminated by MACSE, but the actual information transfer is accomplished by specific ASEs (e.g. either constant bit rate or variable bit rate ones). Moreover, the MACSE service interface can be viewed as an enhancement of the network facilities software library, providing an elaborate QoS negotiation scheme.

3.1 Proposed Architecture Fig. 1 illustrates the proposed architectural model [27, 28] and the coherent QoS request across all functional layers. The development of such an architecture is not contingent upon any specific type of application. Nevertheless, a variety of multimedia applications have been used to demonstrate and validate the effectiveness of it. On the basis of these developed applications we have converged to the following MACSE service architecture which offers a very efficient solution. The functional layers which form the structure of the architecture are then presented. (a) Multimedia/multiparty application agent. This is the application process requesting composite communication from the underlying protocols.

QoSuser

expresses a high-level communication

requirement:

QoSuser = {(video_format, window_resolution, frame_rate, color_mode, compression, sync), (audio_format, samping_rate, sample_size, channel_mode, sync), (image_format, window_resolution, color_mode)}

(b) Generic application services. These are both connection establishment and transfer services provided by a collection of ASEs. Due to the fact that the application does not have too much knowledge about communication parameters the entity is mandatory to translate the

QoSuser

QoS compiler

entity has been introduced. Such an

request to a more communication-oriented one, namely

QoSapplication:

QoSapplication = {throughput, transit_delay, transit_delay_jitter, residual_error_rate, sync_relations}

QoSapplication

cannot be directly interfaced to the application, and therefore

QoS compiler

has to lie

inbetween the application and the communication system. (c) Communication services. These include abstract syntax and encoding, stream synchronization and end-to-end transport. TSAP provides a somewhat similar form of QoS tuple, namely QoStransport:

QoStransport = {throughput, transit_delay, transit_delay_jitter, packet_error_rate, tsdu_size, multicast}

(d) High-speed network services. These are provided by both existing and emerging networks (e.g., FDDI, Fast Ethernet, ATM) and support setup of virtual (bearer) connections with QoS specifiable per connection as follows:

QoSnetwork = {bandwidth, burstiness, delay, delay_rate_variation, jitter, cell_error_rate, multicast, directionality}

It is noted that the QoS tuples introduced are related to different units (APDU, TPDU, ATM cell) at different places in the communication system. The relationship between the functional layers and OSIRM is shown in Fig. 1. The structure of the architecture highlights the following issues: (i) reduced complexity of the OSIRM (ii) enhanced effectiveness of the architecture is achieved because of the combined layering (iii) coherent treatment of QoS throughout the upper layers.

3.2 Multiple Association Model The proposed multiple association model is based on discrete objects which are identified according to the following definitions. (i) association: a connection at the application layer (e.g. a voice connection between two application entities) (ii) related associations: two or more associations with specific relationship (e.g. synchronization requirement between voice and video associations) (iii) composite association: a peer-to-peer collection of associations multiplexed virtually (i.e. a bundle containing one or more component associations) (iv) multimedia call: the issue of a user request for multimedia and multiconnection calls with certain characteristics (i.e. QoS guarantees). A graphical presentation of the introduced terms is given in the example depicted in Fig. 2.

3.3 Main functional characteristics

The prevalent concepts of the MACSE protocol are presented next. (a) A new application layer protocol definition. The objective of the protocol is enhancement of OSIRM by providing: (i) multiple association establishment (ii) QoS setup and alternation (iii) addition and deletion of users (iv) addition and deletion of associations (v) synchronization initiation (vi) both normal and abnormal release services. Moreover, ACSE can be considered as a particular case of MACSE. (b) Careful definition of a new OSI service, service primitives and relevant parameters to support the communication requirements of multimedia applications. (c) Connection-oriented service. The burden for the real-time transmission of time-dependent media is placed on explicit setup of communication paths as the same QoS parameters (e.g., throughput, transit delay) should be applied for the transfer of each packet. (d) Out-of-band signaling at the OSI application layer, i.e., separate control and data associations, facilitates the coordination of peer protocol machines during the lifetime of an association without disturbing any pending data operation. The out-of-band operation of the MACSE protocol is depicted in Fig. 3. (e) MACSE establishes parallel logical associations. The protocol receives a composite multimedia call from the application and associates the call’s requirements with a rather complex connection scheme consisting of parallel streams (i.e. associations) from the calling user to the called user. (f) Multi-target associations: MACSE supports the establishment of multiple associations either between the calling user and the called one or between the calling user and a group of called ones. As shown in Fig. 2, user A (the origin) negotiates different QoS values with users B, C, and D (the targets) for each individual association, because of the fact that each target is responsible for its own resources and communication levels that can be tolerated. Each association is tagged by a unique identifier which may be used to identify this particular association during a later renegotiation of QoS values.

(g) Layering over XTP [31-32] and ATM adaptation layer (AAL) protocols [33]. Due to the fact that existing OSI presentation services [34] cannot support the MACSE services, the PSAP has been substituted by the TSAP. XTP could serve as a transport protocol and support to an extent the MACSE services. Furthermore, XTP could be placed on top of AAL (Fig. 12). (h) QoS alternation is supported during the lifetime of an association. Such a procedure is of great importance because multimedia application needs may suddenly change within an association’s duration. (i) Explicit user signaling in case of QoS thresholds violations is provided by means of a protocol service and its parameters. (j) Protocol specification is mandated according to ASN.1 standard [36] in order to encourage the interoperability among heterogeneous communication systems.

3.4

Generic service definition

New generic services have been included in the design of the MACSE protocol. These are listed in TABLE I. TABLE I. MACSE services

Service

Type

MA-ASSOCIATE

Confirmed

MA-RENEGOTIATE

Confirmed

MA-SIGNAL-QOS

Provider-initiated

MA-ALTER-USER

Confirmed

MA-ALTER-ASSOCIATION

Confirmed

MA-SYNCHRONIZE

Confirmed

MA-RELEASE

Confirmed

MA-ABORT

Non-confirmed

MA-ABORT-USER

Non-confirmed

MA-ABORT-ASSOCIATION

Non-confirmed

MA-P-ABORT

Provider-initiated

The MACSE service definition has been based on the abstract model for a service layer promoted by OSIRM. Subsequently, the proposed service primitives and their parameters define the interactions between a MACSE user and the MACSE service provider. The MACSE services are described below.

(a) MA-ASSOCIATE. It is used to establish multiple associations among multiple users and negotiate a particular QoS per individual association. It also initiates the underlying protocols for any possible media relation. The time sequence diagram is depicted in Fig. 4, while the service primitives and the relevant parameters are given in the Appendix. The MA-ASSOCIATE request primitive contains mandatory parameters such as a list of the called users, a list of associations per called user, the QoS parameters per association and optionally any synchronization relations. The requirement for a particular value of a QoS parameter is negotiated within the range [acceptable, desired] (acceptable≤desired) specifiable in the request primitive. The MACSE protocol machine (MACPM) issues a MA-ASSOCIATE indication primitive to every called user. The maximum value of the range may be degraded by the service provider, thus appears available in the indication primitive. The called user may degrade it to a lower value, agreed, in the response primitive (see Appendix). Each called user issues either a positive or negative response primitive. In the case of a positive response the agreed QoS values are returned back to the calling user via the confirmation primitive. It is assumed that in the reverse way the service provider does not degrade further the value. In the case of a negative response the reason of rejection is returned. The synchronization-result parameter indicates the outcome of the synchronization actions. A multimedia call is considered successful by the calling MACSE user as soon as the first positive confirmation primitive from the MACSE service provider arrives. Any subsequent positive confirmation primitive results to an establishment of a new composite association. Similarly, the called MACSE user views an established composite association as soon as a positive confirmation arrives (see Fig. 4). In the case that the service provider does not support the requested QoS (e.g. due to unavailability of network resources), it issues a MA-SIGNAL-QOS indication primitive back to the user indicating the result (negative) of the QoS negotiation (Fig. 5). (b) MA-RENEGOTIATE. It is used to renegotiate the QoS of an association during the lifetime of it (Fig. 6). The MACSE user issues the MA-RENEGOTIATE request primitive to alter the values of the QoS parameters initially achieved., e.g., a user may prefer to change to a lower quality an established video association. Moreover, using out-of-band signaling, a ROSE or any other ASE operation, pending during a renegotiation procedure, is not disrupted. The operation is completed by exploiting the updated characteristics of the association. For the coordination of the peer entities, the

MACSE service provider issues a MA-SIGNAL-QOS indication primitive to the target user, concurrently with a MA-RENEGOTIATE confirmation primitive to the origin (Fig. 7). The called user considers the QoS alternation successful as soon as the former primitive arrives. (c) MA-SIGNAL-QOS. It is issued by the MACSE service provider to signal the result of a QoS operation during MA-ASSOCIATE and MA-RENEGOTIATE procedures and indicate any QoS thresholds violation. When the MACSE service-provider detects either the inability of the underlying services to support the requested QoS or a positive responded renegotiation request, it issues a MASIGNAL-QOS indication primitive to the corresponding user (see Fig. 5, 7). (d) MA-ALTER-USER. It is used to provide addition and deletion of users in a multimedia call. The user-addition-list is a user-optional parameter which specifies the called users and the associations for each one to be added in an on-going multimedia call. The associations for each one called user are identified by the composite association-list parameter. In addition, the user-deletion-list is a useroptional parameter which specifies the composite association to be deleted. (e) MA-ALTER-ASSOCIATION. It is used to provide addition and deletion of associations in a multimedia call. The association-addition-list is a user-optional parameter which specifies the new associations to be added in an on-going multimedia call. Any possible relations among associations are declared in the user-optional synchronization-relations parameter. The association-deletion-list is a user-optional parameter which specifies the associations to be deleted. (f) MA-SYNCHRONIZE. It is used for the initiation of the activities of the underlying synchronization entity [44]. The MA-SYNCHRONIZE service request is issued by a MACSE user whenever it is desired for two or more established associations to be synchronized according to a particular relation requirement. The synchronization entity (see Fig. 3, 12) after signalled by the MACSE protocol, coordinates its operation with the peer synchronization entity in order to perform the requested task. (g) MA-RELEASE, MA-ABORT. They are used by a calling application entity to cause the normal and abnormal release of a multimedia call respectively. (h) MA-ABORT-USER and MA-ABORT-ASSOCIATION. They are used to provide abnormal release of an established composite association and association, respectively.

(h) MA-P-ABORT. It is used by the MACSE service provider to signal abnormal release of the multimedia call due to problems in services below the application layer.

3.5

Non-monolithic finite state machine

The proposed protocol treats independently the multimedia call, composite association and association and reserves individual states for each one of them. The MACSE protocol specification is nonmonolithic since a complex request for the setup of a multimedia call results to the setup of multiple associations among multiple users. Moreover, underlying protocols establish a number of network connections. MACPM exchanges with its peer a number of APDUs which have been specified according to the ASN.1 notation. An ASN.1 portion of the MACSE protocol specification is given in the Appendix. The APDUs exchanged during the association establishment phase of a three-user multimedia call and the MACSE services mapping on TSAP are shown in Fig. 8. The following list summarizes the protocol’s activities in the case of a requesting MACPM. (a) A MA-ASSOCIATE.req is received (b) A T-CONNECT.req per called-user is issued or an underlying multicast capability is exploited (control associations) (c) The provider (i.e. transport protocol or network) is asked for the requested QoS (i) if QoS is supported fully or partially, the MASRQ APDU fields are informed (ii) if QoS is not supported, a MA-SIGNAL-QOS.ind is issued indicating the unacceptable QoS thresholds (d) The updated (or not) MASRQ APDUs are sent (e) A MASRE APDU is received from a called user. On the basis of this, (i) if positive, the data associations are established and a MA-ASSOCIATION.conf positive is issued for this particular composite association (ii) if negative, a MA-ASSOCIATION.conf negative is issued for this particular composite association. With respect to the QoS allocation procedure, it is noted that MACPM uses for the establishment of associations the following condition: an operation is considered successful if at least one association of

a composite association is successful. For instance, the already mentioned QoS allocation procedure is successful if there is available bandwidth for at least one association. Furthermore, if the average bandwidth required by an association is

Baij,

then the aggregate bandwidth for the multimedia call is

defined as: n

Batotal =

m

∑∑

Baij

i =1 j=1

where n is the maximum number of composite associations and m the maximum number of associations per composite association. The finite state machine (FSM) of the MACSE protocol for the association establishment phase is shown in Fig. 9. The following predicates have been used. (i) P1: last composite association (ii) P2: none successful composite association allocation (iii) P3: last association (iv) P4: none successful association allocation For a transition to occur, specific predicates should be combined with the relevant condition executives. For instance, for a transition to occur from the the condition

QOS_AVAIL && P3 && P1

QOS_WAIT

state to the

MASRQ_SENT

state

should be true. Fig. 10 shows the QoS allocation procedure in

detail. Currently, this FSM is being replaced by three simpler FSMs, each one containing the states and transitions of the multimedia call, composite association, and association, respectively.

3.6

MACSE services on top of XTP associations The MACSE services can be easily layered on top of XTP associations as depicted in Fig. 11. In

the illustrated scenario the XTP multicast capability as well as the cloning heuristic [32] have been exploited. The XTP cloning describes a mechanism according to which a multicast receiver can send data back to the multicast transmitter via a slave context. Again, Fig. 11 illustrates merely the association setup procedure. XTP supports partially the QoS concept, since: (i) only the rate and burst parameters can be negotiated (ii) it is not clear from the specification how the receiving XTP handles the QoS request.

Moreover, a proposed integrated layering on top of the ATM adaptation layer is shown in Fig. 12, which mandates a dual set of protocol stacks at the upper layers, one suite of the control plane protocols and one of the user plane ones.

4

Illustration of MACSE protocol with an example

4.1 A desktop conferencing application To illustrate the services of the MACSE protocol a multipoint desktop conferencing service is given as an example. The service includes four locations as shown in Fig. 13. User A requests a multimedia call, with certain features, with users B and C by invoking the MA-ASSOCIATE service. The parameters of the request primitive specify text, audio, and image associations with B and text, audio, and video associations with user C. At the end of the service two composite associations exist, namely A-B and A-C. At this time, user A the initiator of the call, becomes the floor holder and sends data to users B and C through A-B and A-C respectively. Later on, user B requests the floor from user A (by sending a message through the control association A-B) and in case that user A accepts to pass it, a positive floor reply is issued back as well as a user list. As far as the conferencing protocol is concerned, the initiator informs user C that another user (B) possesses the floor. User B is aware that user C exists in the call and issues a MA-ALTER-USER request to establish a composite association with user C, namely B-C (this service modality does not explicitly add a new user, as user C is already in the call, but rather adds user C in the context of user B). User B uses the A-B to send data to user A and the new composite association B-C to send data to user C. At the same time, concurrently with the A-B and B-C composite associations, A-C continues to exist. As a subsequence, user A should either close A-C with the MA-ABORT-USER service or renegotiate to a lower level the QoS of the associations with the MA-RENEGOTIATE service in order to reduce at a minimum the utilization of resources. Then, user C adds user D in the multimedia call by issuing MA-ALTER-USER request and indicates user A for this addition. User A, upon receiving this indication informs B about the new member. Similarly, user B issues a MA-ALTER-USER to add user D in its context. Finally, user A issues a floor get message to user B and recaptures the floor.

The above scenario is rather a complex one but it has been applied and implemented. An alternative scenario could be used, so that user B sends all the data to user A where they are routed to user C. This scheme is rather inappropriate for multimedia communications as redundant processing and time overhead is introduced.

4.2 Implementation results of the proposed scenario The conferencing service has been implemented as a conference management protocol on top of the MACSE protocol. A potential conferencing protocol should co-exist with the MACSE protocol and coordinate its activity, in order to satisfy a computer-controlled conferencing application as a whole. The particular conferencing protocol includes floor-holder procedures, dynamic floor passing between users (who speaks and when), joint-viewing facilities (i.e. WISIWYS) and support of create, join, leave, and destroy group procedures [38]. In addition, all of the development has been layered over TCP/IP. It is apparent that merely a subset of MACSE functionality has been demonstrated due to the limitations of the conventional products being available in the laboratory environment. The testbed system consists of four SunOS workstations connected locally via an Ethernet LAN. A window-based application has been built offering conferencing services from one user to the others. End-users can invoke video, voice, and data services by exploiting the video and audio capabilities of the systems. In particular, for video transfer the SunOS product VideoPix has been installed in one workstation. This product consists of the necessary hardware (VideoPix card) and software (drivers and application programs). Thus, a Sun workstation is equipped with a camera device and our application program transmits video data to the participating users over the network. Each one of the participating users views a video-window on its screen and listens to the conference holder’s voice. The established associations are half-duplex. The video format is PAL requiring a throughput of 1.65 Mbits/s (i.e. 360× 287×8×2 frames/s), while the audio is of voice-like quality (i.e. 64 Kbits/s). Concurrently, data associations are available for text, graphics, images, handwriting, and mouse coordinates transmission. The MACSE services have been implemented as a software library embedded onto the UNIX environment. The library offers an application programming interface which has been used for the development of the conference protocol. Due to the fact that TCP/IP does not support multicast connections, a particular layer has been developed to emulate the multicast operation over TCP/IP as

well as to exploit the limited QoS capability provided by IP layer (i.e.

QoStransport),

namely the Type

of Service (ToS) [39] and support TP0-like services [35]. Nowadays, implementations are available [13-15] that provide a more elaborated QoS negotiation scheme than that of ToS at the NSAP (i.e. QoSnetwork).

For the implementation of the out-of-band scheme a similar concept with that used in FTP protocol [40] has been adopted and shown in Fig. 14. Due to the fact that the TCP ports at the end-systems are dynamically assigned during association establishment the data associations are unique. Various panels of the application are shown in Fig 15.

4.3 Enhancement of client-server computing for networked multimedia services The development of the above mentioned conferencing service and MACSE programming interface have been based on the well-known client-server model (see Fig. 14). The client-server model has traditionally supported the development of data applications by exploiting the services of backbone protocols (e.g. TCP/IP and OSI). The existing programming interfaces (e.g. the socket abstraction) that support the client-server computing paradigm are well targeted for services that can tolerate delay (e.g. file transfer) but they are not appropriate for time-constrained services (e.g. video and audio). Furthermore, the current scheme of client-server programming cannot efficiently support the development of networked multimedia services. Its main limitations are then summarized: (a) there is no way for the client to express its QoS requirements (e.g. throughput, transit delay, error rate) (b) there is no guarantees that the client will not be blocked due to either server's or communication system's reduced performance (c) the client is not explicitly signaled for the QoS established during connection setup, nor for any possible QoS degradation during the lifetime of the connection (d) it is transparent to the client if the underlying network protocols (e.g. Ethernet, FDDI, ATM) offer capabilities such as multicast and real-time services (i.e. high throughput, bounded delay and delay jitter). As a subsequence, the following requirements should be addressed

(i) an elaborated QoS negotiation scheme in terms of a service definition and the relevant parameters (ii) adaptation of the conventional client-server model to support multimedia multiconnection calls (iii) support of out-of-band signaling, i.e. separate associations for the transfer of control and user information (iv) reduction of client blocking probability in order to achieve an acceptable response time at the application process level on the basis of • server performance, i.e. enhancement of existing operating systems to be deterministic in nature by means of process scheduling and priority schemes • network latency, i.e. end-to-end guarantees • efficient (non null) protocol stack on top of integrated services networks to improve user intelligence and reduce subnetwork complexity (e.g. rate-based flow control and forward error correction) (v) the programming interface reflects the capabilities of lower layer protocols (vi) the programming burden of a multimedia multiuser call establishment is shifted to the client code; server code should spawn processes and handle associations in parallel (vii) reduction of buffering of user data at the operating system's kernel to improve performance (viii) scalability of client's communication demand to the available network resources in the case of usage of existing moderate-capabilities networks, i.e. adaptation of client process behaviour by measuring the network performance; alternatively the kernel should asynchronously pass to the client process the network monitoring information. The MACSE programming interface supports an enhanced client-server scheme by addressing requirements (i), (ii), (iii), (v) and (vi). Requeriments (iv) and (vii) should be explicitly addressed by the operating system and the underlying protocols. Finally, the developed conferencing service addresses requirement (viii).

5

Comparison with related work

The MACSE protocol is now compared with the following protocols and services:

(a) The ACSE protocol [5]. This application layer standard has the following drawbacks: (i) it supports only a single association between application entities (ii) it does not support any QoS negotiation (neither at the association establishment phase nor during the lifetime of the association) (iii) It supports in-band signaling (iv) It does not support establishment and maintenance of multitarget connections concurrently (v) It is a monolithic protocol as one single association entails one service (e.g. an FTAM session) and cooperation among two application elements. In comparison, the MACSE protocol defines procedures for the support of multiple associations among multiple users and negotiation of QoS per association. Moreover, MACSE retains the concept of ACSE (i.e. initiation and control of an association at the application layer) but it is an entirely new OSI service for the establishment of multimedia multitarget associations. Out-of-band signaling and non-monolithic features fully differentiate the new protocol from the conventional ACSE one. (b) The MACF approach [6]. MACF is defined within ALS to coordinate the interactions among multiple associations. If video and audio associations are used in the context of an application entity in a manner that requires coordination of their activities, MACF controls the associations. Each association has been made up by a combination of ACSE and one or more other ASEs. Moreover, MACF provides the synchronization of the associations, after the connection establishment phase. The ALS approach is an object-oriented one as each component can be independently invoked and it has therefore been adopted to support the ISDN signaling control part (ISCP) [41] at the NNI. The main weaknesses of MACF are next mentioned: (i) although it is not a monolithic scheme, it does not provide control of connections to multiple users (ii) it is not clear from the specification, whether out-of-band signaling is applied. (iii) each association is established according to ACSE rules (iv) it coordinates multiple associations, but it does not establish them with certain features In contrast, the MACSE protocol does not provide any synchronization mechanism or coordination function. It is a connection establishment protocol that initiates, controls, and terminates multiple

associations among multiple users. Its operation is based on an out-of-band signaling concept, which introduces a new way of thinking about connection establishment procedures within OSIRM (in contrast to traditional in-band signaling) and embodies the B-ISDN signaling concept within the OSI layering. In addition, MACSE is explicitly dedicated to setup a variety of associations with different individual QoS. (c) The EXPANSE signaling protocol [8]. It is an attractive protocol but it assumes that the signaling intelligence is shifted to the network. EXPANSE follows an object-oriented approach and its service definition is based on a series of function calls and their arguments. The returned values characterise the overall transaction. QoS negotiation is performed in terms of the used transfer mechanism and coding technique between the user and the network node. In comparison, the MACSE protocol assumes user intelligence and has been explicitly designed according to the OSI notation. Its service definition has been based on service elements and the QoS negotiation is performed in a basis of mandatory parameters. (d) The call model proposed in [17]. This work has introduced an abstract service description to support multimedia and multiuser applications. The service description approach is in line with OSIRM while the relevant service elements are not targeted for a specific interface (e.g. UNI). New service primitives have been proposed to satisfy the requirements of a call. MACSE uses a similar approach, i.e., an abstract service definition based on service elements. Nevertheless, there are main differences. The previous mentioned service description does neither specify any tuple of QoS parameters to be negotiated nor a service element to initiate any possible QoS alternation. It is not clear from the service description if the service user is indicated for any possible QoS unavailability. Moreover, there is no specification of any abort services for the objects of the call as well as a protocol specification. In contrast, MACSE contains the MA-RENEGOTIATE service to renegotiate with a target user a new QoS level as well as MA-SYNCHRONIZE and MA-SIGNALQOS services to provide synchonization of related associations during an on-going multimedia call and indication to the user for the result of a QoS operation, respectively. In addition, the protocol mandates abort operations and FSMs for every composite object of the multimedia call. On the basis of the above comparisons, the main advantages of the MACSE protocol can be summarised as follows:

(i) coherent treatment of QoS (ii) integrated service definition (i.e. services and primitives) implemented as a programming interface to facilitate the development of networked multimedia applications and services (iii) protocol machine easily adaptable to existing and emerging protocols and networks (iv) fully in line with OSIRM (v) non-monolithic finite state machine; different state structures are kept for the multimedia call, composite association, and association (vi) out-of-band signaling is used for the coordination of MACPMs without disturbing the data associations.

6

Conclusions

An OSI-application layer protocol for multiple association establishment (MACSE) has been described in terms of service definition and protocol specification as well as an architectural model providing coherent treatment of QoS at the upper layers. The proposed protocol defines a new OSI service for networked multimedia. Out-of-band signaling, rather in-band, has been introduced in order for the protocol to coordinate efficiently the subsequent network actions. Furthermore, MACSE has been specified within the framework of ALS and therefore it retains all “open” features of the OSI protocols. According to the MACSE operational rules composite associations may be established among a calling user and a group of called ones, where multiple associations with different individual QoS characteristics may constitute any one composite association. In addition, the MACSE service definition has been presented in terms of service primitives and parameters. Renegotiation of QoS values, modification of participating users and association addition/deletion services are fully supported. MACSE resides within the upper layer of the proposed architectural model. The new service has been implemented on top of TCP/IP, while its services can be easily mapped on top of XTP. The mapping of MACSE service primitives to underlying service primitives has been also discussed. The MACSE protocol has been compared with standard OSI-protocols and services as well as with recent research efforts. An important characteristic of the protocol is that it reflects robustly and effectively

the network capabilities to the end user. In contrast, most of the existing signaling protocols conceive the network as the sole service provider. The comparison has been performed in terms of protocol location, OSI compatibility, abstract service definition and primitives efficiency. The proposed protocol exhibits the need of further research work at the upper layer in the era of networked multimedia.

7

References

[1] SWEENEY, T.: ‘Users angered at ATM trial’, Commun. Week Int., 28 March 1994 [2] CCITT Recommendation I.121: ‘Broadband aspects of ISDN’ (Vol. III, Fascicle III.7, 1988) [3] MINOLI, D., and KEINATH, R.: ‘Distributed multimedia through broadband communications services’ (Artech House, 1994) [4] CCITT Recommendation Q.931: ‘ISDN User-Network Interface layer 3 specification for basic call control’ (Vol. VI, Fascicle VI.11, 1988) [5] CCITT Recommendation X.217: ‘Association Control Service Definition for Open Systems Interconnection for CCITT applications’ (Vol. VIII, Fascicle VIII.4, 1988) [6] ISO 9545: ‘Information Processing Systems - Open Systems Interconnection - Application Layer Structure’ (DIS, 1989) [7] MINZER, S.E., and SPEARS, D.R.: ‘New directions in signaling for Broadband ISDN’, IEEE Commun. Mag, 1989, 27, (2), pp. 6-14 [8] MINZER, S.: ‘A signaling protocol for complex multimedia services’, IEEE J., 1991, SAC- 9, (9), pp. 1383-1394 [9] ALBANESE, A., BUSSEY, H.E., WEINSTEIN, S.B., and WOLFF, R.S.: ‘A multi-network research testbed for multimedia communications services’. Proceedings of IEEE ICC, 1991, pp. 86-91 [10] HELLEMANS, P., MAMPAEY, M., BUSSEY, H., and MINZER, S.: ‘A signaling protocol supporting multi-media and supplementary services’. Proceedings of IEEE GLOBECOM, 1992, pp. 1388-1394 [11] BUDENIK, R., DEHART, J., and GADDIS, M.: ‘Multipoint connection management in high speed networks’. Proceedings of IEEE INFOCOM, 1991, pp. 59-68 [12] COX JR., J.R., GADDIS, M.E., and TURNER, J.S.: ‘Project Zeus’, IEEE Network, 1993, 7, (2), pp. 20-30 [13] BIAGIONI, E., COOPER, E., and SANSOM, R.: ‘Designing a practical ATM LAN’, IEEE Network., 1993, 7, (2), pp. 32-39 [14] FORE SYSTEMS: ‘ForeRunner SBA-200, ATM SBus Adapter’ (Fore Systems, Inc. 1993)

[15] FORE SYSTEMS: ‘ForeRunner ASX-100, ATM Local Area Network Switch’ (Fore Systems, Inc. 1993) [16] HEIJENK, G.J., JORDENSE, M.A., STURRUS, R.A., and NIEMEGEERS, I.G.: ‘A multi-media multi-user service for the B-ISDN’ 1991 [17] HEIJENK, G.J., HOU, X., and NIEMEGEERS, I.: ‘Communication systems supporting multimedia multi-user applications’, IEEE Network, 1994, 8, (1), pp. 34-44 [18] NIEMEGEERS, I.G., HEIJENK, G., and HOU, X.: ‘Signalling and control in B-ISDN’. Proceedings of the 4th International Conference on Advances in Communication and Control (COMCON 4), June 1993, pp. 745-757 [19] HOU, X., and NIEMEGEERS, I.G.: ‘Performance issues of signalling protocols for broadband ISDN’, University of Twente, 1992 [20] MILLER, P.A., and TURCU, P.N.: ‘Generic signaling protocol: architecture, model, and services’, IEEE Trans., 1992, COM-40, (5), pp. 957-966 [21] ONG, L.Y., and SCHWARTZ, M.: ‘Distributed control of multiparty, multimedia broadband services’. Proceedings of IEEE ICC, 1991, pp. 847-851 [22] ONG, L.Y., and SCHWARTZ, M.: ‘Centralized and distributed control for multimedia conferencing’. Proceedings of IEEE ICC, 1993, pp. 197-201 [23] CRUTCHER, L.A., and GILL WATERS, A.: ‘Connection management for an ATM network’, IEEE Network, 1992, 6, (6), pp. 42-55 [24] ZAFIROVIC-VUKOTIC, M., and NIEMEGEERS, I.G.: ‘Multimedia communication systems: upper layers in the OSI reference model’, IEEE J., 1992, SAC-10, (9), pp. 1397-1402 [25] CAMPELL, A., COULSON, G., GARCIA, F., HUTCHINSON, D., and LEOPOLD, H.: ‘Integrated quality of service for multimedia communications’. Proceedings of IEEE INFOCOM, 1993, pp. 732-739 [26] McGLINCHEY, D.: ‘XACSE: connection set-up for broadband services using generic QoS parameters’. Proceedings of the 2nd Brodband Islands conference, June 1993, pp. 207-210 [27] ORPHANOS, G., KANELLOPOULOS, D., KOUBIAS, S., and PAPADOPOULOS, G.: ‘Adaptation concepts for OSI protocols to support multimedia communication requirements’. Proceedings of the 2nd international symposium on interworking (INTERWORKING ’94), May 1994, pp. 99-108 [28] ORPHANOS, G., KANELLOPOULOS, D., KOUBIAS, S., and PAPADOPOULOS, G.: ‘An integrated application/service platform to support multimedia applications’. Proceedings of the IEEE SUPERCOMM/ICC '94, May 1994, pp. 1722-1726

[29] RAVINDRAN, K., and BANSAL, V.: ‘Delay compensation protocols for synchronization of multimedia data streams’, IEEE Trans. on Knowl. and Data Eng., 1993, 5, (4), pp. 574-589 [30] LA PORTA, T.F., VEERARAGHAVAN, M., AYANOGLOU, E., KAROL, M., and GITLIN, R.D.: ‘B-ISDN: A technological discontinuity’, IEEE Commun. Mag., 1994, 32, (10), pp. 84-97 [31] Protocol Engines, Inc.: ‘XTP Protocol Definition Revision 3.6’ (1992) [32] STRAYER, W.T., DEMPSEY, B.J., and WEAVER, A.C.: ‘XTP: The Xpress Transfer Protocol’ (Addison-Wesley, 1992) [33] DE PRYCKER, M., PESCHI, R., and VAN LANDEGEM, T.: ‘B-ISDN and the OSI protocol reference model’, IEEE Network, 1993, 7, (2), pp. 10-18 [34] CCITT Recommendation X.216: ‘Presentation service definition for Open Systems Interconnection for CCITT interconnection for CCITT applications’ (Vol. VII, Fascicle VIII.4, 1988) [35] CCITT Recommendation X.214: ‘Transport service definition for Open Systems Interconnection for CCITT interconnection for CCITT applications’ (Vol. VIII, Fascicle VIII.4, 1988) [36] CCITT Recommendation X.208: ‘Specification of abstract syntax notation one (ASN.1)’ (Vol. VIII, Fascicle VIII.4, 1988) [37] CCITT Recommendation X.215: ‘Session service definition for Open Systems Interconnection for CCITT interconnection for CCITT applications’ (Vol. VIII, Fascicle VIII.4, 1988) [38] WATABE, K., SAKATA, S., MAENO, K., FUKUOKA, H., and OHMORI, T.: ‘Distributed desktop conferencing system with multiuser multimedia interface’, IEEE J., 1991, SAC-9, (4), pp. 531-539 [39] ALMQUIST, P.: ‘Type of Service in the Internet protocol suite’ (RFC 1349, 1992) [40] STEVENS, W.R.: ‘UNIX network programming’ (Prentice Hall, 1990) [41] GABRIEL, C.M.W., HEFFELS, J.J.M., HOU, X., and OUIBRAHIM, H.: ‘Heading towards an advanced signalling system for multimedia, multiparty services in broadband ISDN’, Electron. & Commun. Eng. J., 1993, 5, (2), pp. 103-112 [42] CCITT Recommendation X.219: ‘Remote operations: model, notation and service definition’ (Vol. VIII, Fascicle VIII.4, 1988) [43] DOERINGER, W.A., et al.: ‘A survey of light-weight transport protocols for hish-speed networks’, IEEE Trans., 1990, COM-38, (11), pp. 2025-2039 [44] COULSON, G., BLAIR, G.S., DAVIES, N., and WILLIAMS, N.: ‘Extensions to ANSA for multimedia computing’, Comp. Networks ISDN Syst., 1992, 25, pp. 305-323

8

Appendix: MA-ASSOCIATE service primitives and a portion of the MACSE protocol specification in ASN.1 notation SERVICE PRIMITIVE

PARAMETER

MA-ASSOCIATE request

Multimedia-call-identifier Calling-AE sequence {Called-AE Composite-association-identifier sequence {Association-identifier Application-context-name User information QoS throughput acceptable desired transit-delay acceptable desired transit-delay-jitter residual-error-rate } association-list } user-list sequence {Synchronization-identifier Synchronization-type sequence {Application-context-name } } synchonization-relations (U)

MA-ASSOCIATE indication

Multimedia-call-identifier Calling-AE Called-AE Composite-association-identifier sequence {Association-identifier Application-context-name User information QoS throughput acceptable available transit-delay acceptable available transit-delay-jitter residual-error-rate } association-list sequence {Synchronization-identifier Synchronization-type sequence {Application-context-name } } synchronization-relations (U)

MA-ASSOCIATE response

Multimedia-call-identifier Called-AE Composite-association-identifier sequence {Association-identifier Application-context-name QoS throughput agreed transit-delay agreed transit-delay-jitter residual-error-rate } association-list Synchronization-result Result Diagnostic

MA-ASSOCIATE confirm

Multimedia-call-identifier Called-AE Composite-association-identifier sequence {Association-identifier Application-context-name QoS throughput agreed transit-delay agreed transit-delay-jitter residual-error-rate } association-list Synchronization-result Result Result-source Diagnostic

For notational reasons:

sequence denotes one or more elements U denotes that the presence of the parameter is user-optional

MACSE-1-0 DEFINITIONS ::= -- MACSE-1-0 refers to version 1.0 for the MACSE protocol BEGIN -- The following elements define the APDUs used in the MACSE protocol MACSE-apdu ::= CHOICE { masrq [APPLICATION 0] masre [APPLICATION 1] mrnrq [APPLICATION 2] mrnre [APPLICATION 3] maurq [APPLICATION 4] maure [APPLICATION 5] macrq [APPLICATION 6] macre [APPLICATION 7] msnrq [APPLICATION 8] msnre [APPLICATION 9] mrsrq [APPLICATION 10] mrsre [APPLICATION 11] mabrt [APPLICATION 12] }

MASRQ-apdu, MASRE-apdu, MRNRQ-apdu, MRNRE-apdu, MAURQ-apdu, MAURE-apdu, MACRQ-apdu, MACRE-apdu, MSNRQ-apdu, MSNRE-apdu, MRSRQ-apdu, MRSRE-apdu, MABRT-apdu

-- MA-ASSOCIATE service APDUs MASRQ-apdu ::= SEQUENCE { protocol-version [0] Version-type,

calling-AE [1] AE-type, user-list [2] User-type, synchronization-relations [3] Relations-type } MASRE-apdu ::= SEQUENCE { protocol-version [0] Version-type, called-AE [1] AE-type, association-list [2] Association-response-type, synchronization-result [3] Sync-result-type, result [4] Result-type, diagnostic [5] Diagnostic-type } -- MA-RENEGOTIATE service APDUs MRNRQ-apdu ::= SEQUENCE { calling-AE [0] AE-type, called-AE [1] AE-type, qos [2] Qos-type } MRNRE-apdu ::= SEQUENCE { called-AE [0] AE-type, qos [1] Qos-response-type } -- MA-ALTER-USER service APDUs MAURQ-apdu ::= SEQUENCE { calling-AE [0] AE-type, user-addition-list [1] User-type, user-deletion-list [2] User-deletion-type, user-deletion-reason [3] Deletion-reason-type } MAURE-apdu ::= SEQUENCE { called-AE [0] AE-type, association-list [1] Association-response-type, result [2] Result-type, diagnostic [3] Diagnostic-type, user-deletion-result [4] User-deletion-result-type } -- MA-ALTER-ASSOCIATION service APDUs MACRQ-apdu ::= SEQUENCE { calling-AE [0] called-AE [1] association-addition-list [2] synchronization-relations [3] association-deletion-list [4] association-deletion-reason [5] }

AE-type, AE-type, Association-type, Relations-type, Association-deletion-type, Reason-type

MACRE-apdu ::= SEQUENCE { called-AE association-addition-result-list synchronization-result result diagnostic association-deletion-result }

[0] [1] [2] [3] [4] [5]

AE-type, Addition-result-type, Sync-result-type, Result-type, Diagnostic-type, Deletion-result-type

-- MA-SYNCHRONIZE service APDUs MSNRQ-apdu ::= SEQUENCE { calling-AE [0] AE-type, called-AE [1] AE-type, synchronization-relations [2] Sync-relations-type } MSNRE-apdu ::= SEQUENCE { called-AE [0] AE-type, synchronization-result [1] Sync-result-type }

-- MA-RELEASE service APDUs MRSRQ-apdu ::= SEQUENCE { reason [0] Reason-type, user-information [1] User-info-type } MRSRE-apdu ::= SEQUENCE { reason [0] Reason-type, user-information [1] User-info-type, result [2] Result-type } -- MA-ABORT service APDUs MABRT-apdu ::= SEQUENCE { user-information [0] User-info-type, abort-source [1] Source-type } -- 1st level of supplementary definitions Version-type ::= INTEGER AE-type ::= OCTET STRING User-type ::= SEQUENCE { called-AE [0] AE-type, association-list [1] Association-type } Association-response-type ::= SEQUENCE { application-context-name [0] Context-type, qos [1] Qos-response-type } Relations-type ::= SEQUENCE { synchronization-type [0] Sync-type, application-context-name [1] Context-names-type } Qos-type ::= SEQUENCE { throughput [0] Throughput-type, transit-delay [1] Delay-type, residual-error-rate [2] Rer-type } Qos-response-type ::= SEQUENCE { throughput [0] Throughput-response-type, transit-delay [1] Delay-response-type, transit-delay-jitter [3] Jitter-type residual-error-rate [2] Rer-type } Sync-relations-type ::= SEQUENCE { synchronization-type [0] Sync-type, association-ids [1] Ids-type } Association-deletion-type ::= SEQUENCE { assoc-id [0] INTEGER } User-info-type ::= ANY -- 2nd level of supplementary definitions Association-type ::= SEQUENCE { application-context-name [0] Context-type, user-information [1] User-info-type, qos [2] Qos-type } Context-type ::= OBJECT IDENTIFIER

Sync-type ::= CHOICE { temporal [0] INTEGER, spacial [1] INTEGER, logical [2] INTEGER } Context-names-type ::= SEQUENCE { application-context-name [0] Context-type } Ids-type ::= INTEGER -- 3rd level of supplementary definitions Throughput-type ::= CHOICE { acceptable [0] INTEGER, desired [1] INTEGER } Delay-type ::= CHOICE { acceptable [0] INTEGER, desired [1] INTEGER } Rer-type ::= INTEGER Jitter-type ::= INTEGER Throughput-response-type ::= INTEGER { agreed(0) } Delay-response-type ::= INTEGER { agreed(0) } END

Multimedia application

Multimedia/multiparty application agent

QoS user

application layer

CBR/VBR (CO/CL) ASE

QoS compiler

X.400

QoS application

MACSE

Generic application services

ROSE

Presentation Service Access Point (PSAP) presentation layer

ASN.1 & BER Communication services

session layer QoS transport

transport layer

Transport Service Access Point (TSAP) Performance Guarantees QoS network

network layer

data-link layer

QoS thresholds violation

Network Service Access Point (NSAP)

Resource allocator

physical layer

Fig. 1

High-speed network services

User B

Composite-association-1 (A-B) (Target_1)

User A

Composite-association-2 (A-C)

VIDEO

User C

association_ij

VOICE DATA

(Target_2) (Origin)

User D

association_ij : i denotes composite association : j denotes association

Composite-association-3 (A-D)

Related associations : voice, video

(Target_3)

Fig. 2

USER A (calling) MA-ASSOCIATE.req video voice

USER C (called)

USER B (called) MA-ASSOCIATE.ind video voice

data

MACSE ASE ASE 1 2ASE 3

MACSE ASE ASE 1 2ASE 3

PSAP-A

MA-ASSOCIATE.ind video voice

data

MACSE ASE ASE 1 2ASE 3

PSAP-B SYNCHRONIZATION NET.ind ENTITY

NET.reqSYNCHRONIZATION ENTITY NSAP-A

NSAP-B

NETWORK SERVICE PROVIDER

Fig. 3

data

PSAP-C SYNCHRONIZATION NET.ind ENTITY NSAP-C

A

ASAP (UNI) ma_associate_req ({B,(V,A)}, {C, (V,A)}) MACSE synchronization entity

video audio MULTICAST_TRANSPORT

control A-C

control A-B video A-B

audio A-C

audio A-B

video A-C MULTICAST TRANSPOR

MULTICAST TRANSPORT

MACSE

MACSE B

C

Fig. 4 A

MACSE multipoint synchronization entit synchronization entity UNICAST_TRANSPORT

control A-B video A-B audio A-B

control A-C audio A-C video A-C

MACSE

MACSE B

C

Fig. 5

NEGOTIATION PHASE QoS range MA-ASSOCIATE request MA-ASSOCIATE response MA-ASSOCIATE indication MA-ASSOCIATE confir Extreme QoS range (desired)

Acceptable QoS range

(available) (agreed) (acceptable)

Unacceptable QoS range

(agreed)

(acceptable)

MONITORING PHASE QoS range MACSE service-user

MACSE service-provider

Extreme QoS range Acceptable QoS range

Unacceptable QoS range

(agreed)

(agreed)

(acceptable)

(acceptable) tolerant region scalable region

Fig. 6

MACSE-user A

MACSE-service provider MACSE-user BMACSE-user C

MA-ASSOCIATE request MA-ASSOCIATE indication MA-ASSOCIATE indicat MA-ASSOCIATE response MA-ASSOCIATE confirm MA-ASSOCIATE respo

MA-ASSOCIATE confirm

MA-ASSOCIATE confirm

MA-ASSOCIATE confirm

Fig. 7

MACSE-user

MACSE-service provider

MACSE-us

MA-ASSOCIATE request

MA-SIGNAL-QOS indication

Fig. 8

MACSE-user

MACSE-service provider

MACSE-user

MA-RENEGOTIATE request MA-RENEGOTIATE indic

MA-RENEGOTIATE res MA-RENEGOTIATE confirm MA-SIGNAL-QOS indica

Fig. 9

End-user A MACSE layer MACSE user MA-ASSOCIATE.req

T-CONNECT.req

Transport layer

End-user B MACSE user MACSE layer

End-user C MACSE layer MACSE user

(control associations) T-CONNECT.ind T-CONNECT.rsp

T-CONNECT.cnf

T-CONNECT.ind T-CONNECT.rsp

T-CONNECT.cnf QOS-NET.req QOS-NET.ind T-DATA.req T-DATA.req

T-DATA.ind

MASRQ APDU MASRQ APDU

MASRE APDU

T-DATA.ind QOS-NET.req QOS-NET.ind T-DATA.req

MA-ASSOCIATE.ind MA-ASSOCIATE.rsp

T-DATA.ind QOS-NET.req QOS-NET.ind T-DATA.req

T-DATA.ind T-CONNECT.req T-CONNECT.req .. . T-CONNECT.req .. . T-CONNECT.cnf T-CONNECT.cnf .. . MA-ASSOCIATE.cnf

MA-ASSOCIATE.cnf

T-CONNECT.cnf .. .

MA-ASSOCIATE.in MA-ASSOCIATE.rs

MASRE APDU (video association) T-CONNECT.ind (audio association) .. T-CONNECT.ind .. . . (image association) .. T-CONNECT.rsp . T-CONNECT.rsp .. .. . MA-ASSOCIATE.cnf .

.. .

Fig. 10

T-CONNECT.ind T-CONNECT.rsp .. . MA-ASSOCIATE.c

QoS_wait

successful allocation ?

QoS_unavail

QoS_avail

!P3

last association ?

last association ?

any other successful association allocation ?

last composite association ?

!P4

issue MA-SIGNAL-QOS indication

P4

P1

Predicates:

issue MA-SIGNAL-QOS indication

P3

P3

!P1

!P3

last composite association ?

P1: last composite association P2: none successful composite association allocation P3: last association P4: none successful association allocation

P1

!P2

any other successful composite association allocation ?

!P1

issue MA-SIGNAL-QOS indication

close control association

P2 issue MA-SIGNAL-QOS indication

close control association

close control association

Idle

Idle

MASRQ_sent

Fig. 11

Idle

issue MA-SIGNAL-QOS indication

Idle

MA-SIGNAL-QOS indication MA-ASSOCIATE request

MA-SIGNAL-QOS indication RO-INVOKE request

MA-SIGNAL-QOS indication RO-INVOKE request

MACSE USER Reject association, issue MA-SIGNAL-QOS

No

Analyse the request

Reject association, issue MA-SIGNAL-QOS

actual QoS betwenacceptable anddesired ?

Yes

Signal MACSE user, issue MA-SIGNAL-QOS

Monitor QoS

actual QoS less than nominal QoS ?

No

Yes

Monitor QoS

actual QoS within scalable region ?

Yes Accept association

MACSE SERVICE PROVIDER QoS MONITORING PHASE

QoS NEGOTIATION PHASE

Fig. 12

No

Multimedia user process MA-ASSOCIATE.req control plane Generic connection establishment services and continuous/bursty transfer services (application layer) Abstract syntax and encoding services (presentation layer)

user plane

CBR CBR bursty audio video data ASE ASE ASE

MACSE BER.req

ASN.1 & BER

Stream synchronization (session layer)

SYNCHRONIZATIO ENTITY T-CONNECT.req

End-to-end transport services (transport and network layers)

Lightweight TRANSPORT PROTOCOL (e.g. XTP)

SETUP.req SAAL SAP

AAL1 SAPAAL1 SAPAAL5 SAP

AAL Virtual connection (bearer) services (physical and data-link layers)

VPI/VCI=a

VPI/VCI=b VPI/VCI=c VPI/VCI=d

ATM

Multiplexer

Physical medium

Fig. 13

control

5

2 3

9 MACSE SAP

8 10

User A

User B

text

control

User D

audio

1 MACSE SAP

text

image 4 text

7

member

audio

image

video

control

hostclassic1 User C 6

text

MACSE SAP

member

holder

hostdemetra

hostathena

audio

1 MA-ASSOCIATE request 2 floor request 3 floor reply 4 new floor holder information 5 MA-ALTER-USER request

audio

video

member

6 MA-ALTER-USER request

hosthermes

7 user addition indication 8 user addition information 9 MA-ALTER-USER request 10 floor get

Fig. 14

hostclassic1 MACSE server {tcp, classic1, 5000}

hostdemetra MACSE server

{tcp, demetra, 1782}

MACSE client

{tcp, classic1, 2345}

{tcp, demetra, 1783} 5000 well-known port: 2345 ephemeral port:

{tcp, demetra, 1784}

MACSE client

hosthermes

{tcp, demetra, 1785}

MACSE server

ephemeral ports: 1782, 1783, 1784, 1785

{tcp, hermes, 5000}

MACSE server

: control association : data association

{tcp, hermes, 1578}

5000 well-known port: 1578 ephemeral port:

Fig. 15

Figure captions Fig. 1 Fig. 2 Fig. 3 Fig. 4 Fig. 5

Proposed architectural model and coherent QoS request across all functional layers User A originates a multimedia call with three users and three associations per called user Layout of the MACSE out-of-band operational scenario Time-sequence diagram for the MA-ASSOCIATE service Time-sequence diagram for the conjunction of MA-SIGNAL-QOS and MA-ASSOCIATE services Fig. 6 Time-sequence diagram for the MA-RENEGOTIATE service Fig. 7 Time-sequence diagram for the conjunction of MA-SIGNAL-QOS and MARENEGOTIATE services Fig. 8 MACSE protocol mapping on transport protocol service access point (TSAP) Fig. 9 MACSE finite state machine: composite association establishment phase transitions Fig. 10 Stata transition diagram of the MACSE protocol: QoS allocation phase Fig. 11 MACSE services on top of XTP associations Fig. 12 Layering on top of the ATM adaptation layer Fig. 13 Conferencing application: invocation of the MACSE services Fig. 14 Implementation of the out-of-band signaling scheme using the TCP/IP platform at the UNIX workstations Fig. 15 Various panels of the desktop application