End-to-End Quality-of-Service Coordination for Mobile Multimedia

IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 22, NO. 5, JUNE 2004
889
End-to-End Quality-of-Service Coordination for
Mobile Multimedia Applications
Teodora Guenkova-Luy, Andreas J. Kassler, Member, IEEE, and Davide Mandato
Abstract—Transmitting real-time multimedia streams over
heterogeneous mobile networks is a challenging task. Variation in
network and system conditions can dramatically affect application performance. When providing end-to-end quality-of-service
(QoS) multiple system facets should be coordinated: orchestration
of local and peer resources, reservation of network resources,
adaptation of multimedia streams, etc. This paper presents an
end-to-end negotiation protocol (E2ENP) for negotiating and
coordinating QoS on an end-to-end basis both at application and
network layer. Based on a flexible extensible markup language
(XML) model and extending SDPng concepts, the protocol enables
the negotiation of system capabilities and allows provider-services
to effectively influence the negotiation process. The aim of the
E2ENP design is to optimize the efficiency of multimedia call setup
and reduce the time for QoS renegotiations, whenever vertical
handovers or spontaneous network reconfigurations occur. The
basic protocol is presented, together with implementation and
measurement results, stemming from several studies on current
and future third-generation/fourth-generation scenarios.
Index Terms—End-to-end negotiation protocol (E2ENP), extensible markup language (XML), mobile networks, quality-of-service (QoS), real-time multimedia networking, session description
protocol new generation (SDPng), session initiation protocol (SIP),
third-generation/fourth-generation (3G/4G).
I. INTRODUCTION
H
IGH-DEMANDING audio/video applications that
operate in mobile environment experience frequent
quality-of-service (QoS) violations due to packet loss and
delay variations. The reasons are mainly signal fluctuations on
the radio link, handovers between different wired or wireless
network technologies, and network congestion. Ubiquitous utilization of distributed, multimedia services in next-generation
[third-generation/fourth-generation (3G/4G)] mobile systems
involves application of heterogeneous end-devices (e.g., mobile
phones, portable PCs, etc.), which vary significantly in their
capabilities to support multimedia streaming (i.e., different
codecs, memory size, processing units, operating systems, etc.).
This paper focuses primarily on the 3G/4G mobile systems and
ad hoc networks connected to infrastructure wireless networks.
Mobility within provider-owned networks can also affect
Manuscript received June 1, 2003; revised December 20, 2003. This work was
supported in part in the framework of the IST Project IST-2000-28584 MIND,
which is supported in part by the European Union, and in part by the DFG within
the AKOM framework.
T. Guenkova-Luy is with the Department of Distributed Systems, University
of Ulm, Ulm 89069, Germany (e-mail: [email protected]).
A. J. Kassler is with SCE, Nanyang Technological University, Singapore
639798 (e-mail: [email protected]).
D. Mandato is with WSL-SCLE, Sony International (Europe) GmbH,
Stuttgart 70327, Germany (e-mail: [email protected]).
Digital Object Identifier 10.1109/JSAC.2004.826926
end-to-end system management, as the subscriber management
can restrict network-resource utilization in accordance with
preagreed user-provider contracts. Hence, enforcement of
end-to-end QoS throughout all layers of a distributed multimedia system is a complex process incorporating multiple
tasks.
Current protocols and mechanisms for supporting QoS cover
mostly only single facets of the global QoS management. The
real-time protocol suite (RTP/RTCP) [1] is used for multimedia
data transfer and QoS feedback, resource reservation protocol
(RSVP) [2] allows to reserve network resources, common
open policy service (COPS) [3] manages policy exchange, etc.
However, QoS is a system aspect that crosses all components
and layers of a distributed multimedia system. QoS management should, therefore, incorporate mapping between different
classes and types of QoS parameters, orchestrating, respectively, various system facets. An adequate QoS coordination
mechanism should in addition consider how the user experiences system performance. QoS management of multimedia
sessions should be handled effectively also in situations, where
vertical handover or resource-availability changes result in
QoS violations. In such situations, applications typically have
to adapt and reconfigure themselves. Signaling must be very
efficient to minimize service disruption in such scenarios.
This paper presents an end-to-end negotiation protocol
(E2ENP) for capabilities and QoS. E2ENP uses session initiation protocol (SIP) [4] to transfer control data. An extensible
description model based on extensible markup language (XML)
[5] is used to specify system characteristics and QoS parameters based on enhancements for session description protocol
new generation (SDPng) [6]. We discuss problems of QoS
management and present patterns for applying end-to-end QoS
and system-resource coordination. Application- and implementation-specific features of E2ENP are presented. A thorough
evaluation of the protocol based on real implementation is used
to analyze the protocol performance. We conclude the paper
with discussion of measurements and our future research.
II. REFERENCE MODEL FOR END-TO-END
QoS COORDINATION
In an end-to-end QoS management architecture [7], different roles (e.g., end systems, network providers, etc.) can be
identified. Consequently, a set of conceptual models can be
derived [8]. A system model identifies relevant QoS-parameter
categories. A description model provides a formal definition of
system parameters according to the categories associated with
the system model. A negotiation model is used for configuration of distributed multimedia systems on an end-to-end basis
0733-8716/04$20.00 © 2004 IEEE
890
Fig. 1.
IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 22, NO. 5, JUNE 2004
E2ENP reference model.
and considers QoS management roles as identified in [7]. This
section presents the system model. The description model and
the negotiation model are handled separately in Section III.
The system model distinguishes between applied abstractions of distributed mobile multimedia services. These
abstractions incorporate the complete process for achieving
QoS on an end-to-end basis. The model helps to identify parameter classes, which are later applied to specify an accurate
description and management model for QoS. Our system model
(Fig. 1) includes an end-device,1 which runs an application that
communicates with its peer. The application uses the operating
system (OS) or an intermediate middleware, which includes
scheduling mechanisms for accessing terminal resources (like
CPU or network buffer) and mechanisms for accessing the
network. The system software running on the network nodes
applies buffering and scheduling mechanisms to manage timely
access to network resources.
This model naturally leads to the identification of several
abstraction levels of QoS and their corresponding parameters,
which play a key role in the global QoS management process
(see [9]):
End-to-end perceivable QoS parameters: This set of
parameters corresponds to the user’s perception of the performance of the distributed application. The translation of
the perceivable QoS characteristics in more technical terms is
typically implemented inside the application.
Application QoS parameters are used to describe
end-to-end application performance in accordance with software and hardware resources of end systems/services. In
E2ENP, these parameters are negotiated between the peers
for coordinating QoS end-to-end in form of QoS contracts at
application level. Typical parameters for video are frame size,
frame rate, and visual quality.
Transport/network QoS parameters are used to describe
end-to-end requirements with respect to network resources.
The system must derive these values based on actual capa1End-device, end system device, end system, or terminal are synonyms used
interchangeably throughout this work.
bilities/codecs and their specific QoS configurations, media
characteristics, and available network-access technology. In
E2ENP, these parameters are associated with QoS contracts at
transport level.
End system specific resource parameters are memory,
CPU, battery power, etc. Such parameters are not negotiated,
but may be applied to generate specific end system policies
for the end system resource-reservation management. Such
policies can be used within the application to generate correct
E2ENP payloads, when a multimedia session is opened or
when an adaptation condition for the session occurs [10]. The
application communicates to its peer only the results of an
adaptation condition using E2ENP.
In addition to the QoS relevant parameters, end systems must
agree on a common set of input/output configurations (like addresses and ports) and other capabilities (like codecs, RTP packetization rules, etc.) in order to establish a valid end-to-end multimedia session.
Rules and conditions for mapping between end-to-end
perceivable QoS and application QoS parameters can be
based on psychovisual experiments [11]. Mapping between
application QoS parameters and transport/network QoS parameters depends on codecs, codec-configurations, and the
media characteristics [11]–[14]. For audio, this mapping is
straightforward (a codec together with its parameterization
results in network traffic requirements). However, for variable
bit-rate video streams, this mapping also depends on the target
visual quality and the amount of motion.
III. END-TO-END NEGOTIATION PROTOCOL FOR QoS
A key concept of E2ENP is the possibility to actively negotiate system configurations (i.e., application- and transport-level
QoS and system capabilities) for multimedia-session establishment and to dynamically and flexibly leverage this information for QoS-adaptation purposes. Furthermore, these configurations can be repeatedly applied to sessions having similar context (e.g., session parameters can be saved in the form of an advanced address book and then reused). This section presents an
GUENKOVA-LUY et al.: END-TO-END QOS COORDINATION FOR MOBILE MULTIMEDIA APPLICATIONS
overview on E2ENP negotiations, a complete specification of
this protocol can be found in [8]. The peer starting a negotiation
process is called “offerer” and the responder peer—“answerer,”
analogously to the “offer/answer model” [15].
A. Description Model
There are several standardization efforts concerning developments of description models.
• MPEG-21 within the moving picture experts group
(MPEG) deals with XML schemata for describing user
environments and terminal characteristics [16].
• International Telecommunication Union (ITU) provides
descriptions for terminal characteristics in form of codecs
[17] and network parameter specification as network
classes definition [18], [19]. Additionally, ITU specifies a
namespace for defining picture size for video information
[20].
• Multiparty Multimedia Session Control Working Group
(MMUSIC WG) [21] develops session description protocol (SDP [22], SDPng [6]) with its enhancements for
transport QoS [23]. These protocols define description
schemes for specifying terminal characteristics in the form
of codecs. In addition, [24] defines profiles to parameterize audio and video codecs. Currently, there is a desired transition from SDP to SDPng [25] to introduce possibilities for negotiation, QoS, security, and other system
features.
E2ENP defines its own description model using a hierarchical
QoS specification that enables the management of a multimedia
system at different abstraction levels (e.g., media stream, groups
of streams, media session, media applications).
1) Hierarchical QoS Specification and QoS Adaptation: Mobile multimedia applications manage one or (simultaneously) multiple media types (e.g., audio, video, data). In the
latter case, the corresponding media streams can be logically
grouped based on various criteria. Applications that serve
multiple users or allow handling distinct conversations (e.g.,
private or business conversations) may aggregate the corresponding streams in session/-s. This bundling of streams allows
assigning priorities that the services may then conveniently
use to select the most appropriate QoS adaptation strategy
(e.g., private conversations shall be downgraded to sustain
business conversations, in case of limitations in the resource
availability). Furthermore, within a session, all of the streams
originating from/ending in a terminal might be aggregated in
stream associations (e.g., in a game application the background
music streams shall be dropped to sustain the quality of the
life chat streams of the players). This stream grouping allows
assigning priorities among different associations and defining
appropriate adaptation strategies within the context of a single
session. Hence, the overall QoS specification can be conveniently modeled in a hierarchical manner so as to capture time
synchronization, QoS correlation, and resource constraints
aspects among streams. A hierarchical model allows designing
alternative QoS specifications, which the application needs
for efficiently and automatically adapting its resource usage
with respect to the current resource availability and user’s
expectations.
891
The model consists of a tree of QoS specifications. These QoS
specifications are defined at different levels of abstractions. The
root of the tree is associated with a QoS specification that imposes general constraints on the amount of resources used by
all of the sessions along with their corresponding streams. A
QoS specification associated with a branch node of the tree is
named “QoS context”: it represents a high-level application QoS
contract. A QoS context contains predefined adaptation rules
that steer the adaptive application to choose the most appropriate QoS specification upon given resource usage conditions
for a group of media types. A QoS context also allows defining
time-synchronization constraints on subordinate QoS specifications (for instance, time synchronization constraints are required in a movie play out among the audio streams and the
mouth movements of the actors depicted in the video stream).
Furthermore, a QoS context allows defining QoS correlation
constraints among media streams that are bundled for application specific reasons. For instance, electronic game applications
and/or media-rich interactive applications might feature bundles
of audio and video streams, which are associated with objects
to be presented to the user. As an example, a rotating cube displayed on a monitor with its faces textured with images from
different video streams, might be conveniently associated with
a specification imposing constraints (e.g., lower limits) on the
amount of the resources shared by the play out of the various
streams and distributed to the streams associated with the currently visible faces of the cube. Finally, each leaf of the tree
is associated with a QoS specification named “QoS contract”:
it represents the application QoS contract for the given stream
(which defines a unique QoS configuration of the stream). Each
application QoS contract has a one-to-one correspondence with
a specific transport QoS contract.
The various QoS specification abstraction levels are organized within the tree as follows (in descending order of levels
from the root—see Fig. 2): Session QoS context (defining
priorities and quotas), stream association QoS context, stream
QoS contract. At each level, siblings represent alternative
QoS specification the application can choose from when
provisioning/adapting QoS.
Any given subtree originating from a specific branch node
is associated with an adaptation-rule predicate. The resolving
of this predicate selects a child node and, hence, instructs the
system to enforce the QoS contract and/or QoS context associated with that child. For instance (see Fig. 2), “if video parameters V11 are no longer enforceable, switch to video parameters V12” or “if stream association 1” (video and audio)
is not supportable (e.g., due to handover and, thus, lower data
rate availability) switch to “stream association 2” (only audio).
In the latter case, the adaptation process translates in a change
of QoS context or, more simply, in a QoS context switch (which
recalls the context switch concept as defined in the operating
system ambit, hence the name QoS context).
It is completely up to the adaptive application and its business
logic to determine when to adapt (e.g., if packet loss ratio is between 0.1% and 0.5% for 2 s), how to adapt (e.g., switch codec
or remove video stream) and to what extent to adapt (reduce
frame rate from 25 to 10 f/s). E2ENP provides signaling mechanisms so that peers can agree on such adaptation conditions and
procedures and prepare resources and capabilities beforehand,
892
IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 22, NO. 5, JUNE 2004
Fig. 2.
Example of hierarchical QoS specification.
Fig. 3.
E2ENP description model and referencing.
based on this tree model. An example that combines adaptive
applications and E2ENP to reconfigure the streaming process
based on QoS feedback is presented in [10].
The current E2ENP description model supports QoS contexts
up to session level. Nevertheless, the design of E2ENP allows
definitions of more complex QoS contexts (e.g., prioritization of
multimedia sessions within an application or even prioritization
of applications on an end system). Further details on the E2ENP
hierarchical QoS specification can be found in Section IV-C.
2) Referencing Mechanism for Control Data: In current systems, a complete set of session-configuration information is exchanged every time a session is negotiated or adapted (e.g.,
offer/answer model with SDP [15]). This scenario is not effi-
cient as the minimization of signaling traffic is crucial. Thus,
E2ENP defines an optional referencing mechanism to minimize
data exchange. For this purpose, E2ENP distinguishes between
service configuration, session configuration, and adaptation indication (Fig. 3) and associates configuration-information with
an identifier.
Each of the contracts/contexts associated with the nodes of
the QoS hierarchy is labeled with a specific identifier (e.g.,
qID, aID, sID—Fig. 3), which is used by peers to address
corresponding contracts during QoS-negotiation/renegotiation
process. By exchanging only identifiers, the QoS-renegotiation
traffic is minimized. Using the hierarchical QoS specification,
the adaptation process can be addressed at various levels of
GUENKOVA-LUY et al.: END-TO-END QOS COORDINATION FOR MOBILE MULTIMEDIA APPLICATIONS
Fig. 4.
893
E2ENP validation procedure.
Fig. 5. End-to-end negotiation protocol phases.
granularity. Therefore, the E2ENP reference model defines
specific description and management for session-control data.
E2ENP descriptions provided via this model are applied as
configuration and control commands for managing multimedia
sessions. Peers can exchange this information using any session-management protocol (e.g., SIP [4], see Section III-B2).
Examples on the E2ENP referencing mechanism are also
provided in Sections III-B and IV.
3) General QoS Contract Generation Procedure: In order
to produce meaningful information that can be negotiated via
E2ENP, a validation procedure is required. The application interacts with its resource management system to derive conditions for session establishment and adaptation. The application
uses the E2ENP description model to formally specify proper
system configurations and performance constraints. The E2ENP
uses a validation procedure (Fig. 4) in order to produce enforceable or valid QoS contracts.
Basic QoS contracts are generated at the end-devices and
express user’s QoS preferences. Transforming the user’s preferences the application derives application QoS parameters.
These parameters are mapped to the end system capabilities
to produce several QoS contract sketches, which indicate
theoretically possible QoS support at the local end system.
Provider policies can either be applied at the local system or
inside the network (during negotiation time), depending on
the subscriber-management model [8]. QoS contract sketches
that contradict the provider policies (e.g., user-provider contract) are marked as “spare” and cannot be applied within the
correspondent network segment. Thus, the valid QoS contracts contain the same QoS information as the QoS contract
sketches and the provider restrictions are explicitly visible in
the contracts (see also Section III-B2). The basic idea behind
this validation process is to convey all technically possible configurations between the negotiating end systems, irrespective
of provider constraints, since each end system might change
its access network within the duration of a given session (e.g.,
performing handover from wireless local are network (WLAN)
to universal mobile telecommunications system (UMTS), some
of the “spare” contracts might become applicable, whereas
some currently enforced ones might no longer be applicable,
and are marked as “spare”). The “collapsing algorithm” [6]
and “feature matching algorithm” [26] are similar to the
E2ENP validation algorithm approaches. However, they do
not consider the modular application of constraints at local
system (“technology validation”) and at the network (“policy
validation”).
B. Negotiation Model
A candidate protocol for developing negotiation model
for QoS coordination is the session initiation protocol (SIP)
[4]. Within the SIP framework several roles are identified
like end system, proxy, registrar, location service, which
can be enhanced to define provider management [8]. As SIP
defines an “envelope” for transporting data, an additional
protocol (e.g., SDP, SDPng, etc.) is necessary to define configuration descriptions for session establishment or session
adaptation. The “offer/answer model with SDP” [15] (and its
enhancements [27]–[29]) specifies a negotiation procedure for
session establishment. However, SDP and SDPng do neither
regard end-to-end QoS as global system feature, nor consider
minimization of signaling traffic. Hence, E2ENP applies the
“offer/answer model” only as a principle idea for its negotiation
model. In addition, E2ENP optionally considers interactions of
the protocol with the resource management subsystem within a
QoS-aware multimedia system. Local resource availability is a
major limitation when defining supportable QoS configurations
for a multimedia service.
1) E2ENP Modes and Phases: E2ENP uses different negotiation modes—push mode, pull mode, and push–pull mode, depending on who is the initiator, the responder, and who provides
particular initial information. In the push mode, the initiator proposes an initial set of QoS contract to the responder, whereas in
the pull mode, the responder provides the first set of QoS contracts to the initiator. In the push–pull mode, both peers provide
QoS and capabilities and try to reach an agreement.
E2ENP consists of three major phases (Fig. 5). The solid lines
denote E2ENP signaling, dotted and dashed lines express peer
interactions, which are being coordinated via E2ENP but are
894
IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 22, NO. 5, JUNE 2004
not part of E2ENP, e.g., “reservation” with RSVP and “media
streaming” with RTP. Depending on services and scenarios, different phases can apply different negotiation modes.
Prenegotiation: This phase deals with negotiation of configuration information valid for more than one multimedia session,
e.g., service configuration. This information can be leased
between end systems. During this phase, terminals exchange
information on supported codecs, desirable QoS contracts,
etc. Having the prenegotiation information in advance, the
end systems can speed up the negotiation process for session
establishment.
Negotiation: The information exchanged during this phase
deals with configuration and establishment of a specific multimedia session. If the terminals cannot (due to limited memory)
or are not allowed to (due to system policies) perform prenegotiations, necessary system configurations can be additionally exchanged within the negotiation phase. Thus, two types of negotiation are defined—a short negotiation, which uses references to
data exchanged in previous prenegotiation phase and a full negotiation, which contains both service information and specific
session configurations. Parameters exchanged during negotiation phase define QoS contexts, which media streams should
be created for the given session; how these streams are associated with codecs and basic QoS configurations thereof; and what
kind of QoS and time-synchronization constraints are applied.
QoS contracts and contexts are applied for multimedia session
establishment and for any eventual QoS adaptation process that
might take place during a multimedia session. Negotiated information might also be leased between end systems.
Renegotiation: This phase deals with enforcement of specific QoS Contracts and contexts and the indication of adaptation conditions. If a different QoS contract/context should be enforced due to resource availability change, renegotiation phase
would be invoked by the application providing the index of the
new QoS contract to be enforced. The renegotiation phase can
also be used to specify new configurations (e.g., if a dynamic
codec download extends the capabilities). A short renegotiation (using only references to previously exchanged data) and a
full renegotiation (enhancing the system/session configurations,
whenever system upgrades/downgrades occur) are defined. The
short renegotiation is, thus, an efficient process, since it uses
only references to previously negotiated data, and singnaling
impact is correspondingly minimized.
2) Resource-Management Aspects: In order to support the
E2ENP referencing model, E2ENP imposes requirements on
the behavior of the network entities interacting with E2ENP.
The QoS signaling via E2ENP is out of band and path decoupled (after [30]). Application-level proxies that can interpret
such kind of signaling are in position to manipulate the QoS
configurations exchanged by terminals [23]. However, the
original, unchanged configurations might be useful for end systems, when planning and performing handovers. Additionally,
provider rules applied within one subnetwork, might not be
available and/or legal in another subnetwork when performing
a handover. Consequently, network components, which are in
position to enforce provider rules, should add them to the QoS
contracts in a way that this information is explicitly visible
and recognizable as a provider restriction from the negotiating
peers. Terminals can, thus, distinguish between end system con-
Fig. 6. Example of E2ENP resource coordination at session establishment
based on SIP as E2ENP carrier.
straints and provider rules. The resulting required separation of
QoS contracts and provider rules should guarantee successful
end-to-end application-signaling even when components for
enforcing provider policies are involved.
E2ENP QoS contracts are used for resource-reservation
during session establishment and adaptation. E2ENP adopts
the “economy principle” [14] to describe the order of reservation processing, i.e., end system local resources should
be reserved ahead of network resources, which are the most
expensive ones. Resource management within the network
may be heterogeneous (e.g., IntServ [2], DiffServ [31], etc.);
end systems may not be allowed to perform network resource
reservation signaling; or the signaling may be terminated in the
network at a gateway. However, it is the task of the end systems
to synchronize session setup with optional network resource
reservation.
Fig. 6 shows an example of the E2ENP resource coordination at session establishment based on examples with SIP. The
negotiation phase is performed before or at the actual start of a
session. Based on results of previously applied phases, the end
systems agree which capabilities and QoS contracts to enforce
for the given streams within the session (the XML code of these
configurations is shown in Sections IV-B and C). At completion
of this phase, peers have agreed upon the QoS contracts they
are going to enforce for the given streams and the right set of
capabilities to apply. Fig. 6 explains the push mode, whereby
the offerer sends an initial proposal (i.e., E2ENP configuration
offer) that contains its desired capabilities and QoS levels
together with the potential stream adaptation paths in a SIP
INVITE to the answerer. As the offerer knows its desired QoS
levels, it optionally reserves local resources beforehand [i.e.,
local resource management (LRM)]. The answerer proves the
offerer’s proposal and also reserves appropriate resources,
locally. The answerer replies (183 Session Progress) with a
subset of capabilities and QoS parameters (i.e., E2ENP configuration answer). This information matches both the answerer
and the offerer views about the session establishment and
future QoS adaptations. The answerer may also reply with its
counterproposal which may describe additional capabilities and
GUENKOVA-LUY et al.: END-TO-END QOS COORDINATION FOR MOBILE MULTIMEDIA APPLICATIONS
QoS that the answerer would like to apply for the session. This
enables the offerer side to upgrade its capabilities dynamically,
e.g., by downloading appropriate codecs. By receiving the
answerer’s counterproposal, the offerer proves locally if the
resources need to be relocated to match the answerer’s reply.
The offerer sends PRACK to the answerer to inform it about the
start of the network reservation and the answerer acknowledges
this action (i.e., E2ENP command-start-reservation). Network
resource reservation proceeds at the transport/network layer
using, e.g., RSVP. The next sequence depends on the model
used for network resource reservation (sender initiated/receiver
initiated). If RSVP is not available end-to-end or terminated
at the network edge, RSVP PATH will not be received by the
answerer. Therefore, by using UPDATE the offerer and the
answerer inform each other about the state of the network reservation and about the final capability/QoS level to be enforced
for the session to be established. Once network resources are
reserved end-to-end or only partially, the answerer sends a 180
ringing to the offerer. The call setup is completed by sending a
200 OK for the initial INVITE from the answerer to the offerer.
The offerer acknowledges this by sending an ACK. There may
be situations, where the local resource reservation may fail,
e.g., at the answerer after receiving the initial proposal. As the
initial proposal may contain alternative QoS levels and alternative capabilities that the offerer would also tolerate (within
the adaptation path), the answerer may chose an alternative
capability/QoS level. This information must be propagated
in the 183 Session Progress that the offerer is able to relax
resource requirements and reconfigure its media stream engine.
Also, network resource reservation may fail due to insufficient
resources. In this case, the offerer would try an alternative QoS
level with less network resource requirements until resources
are reserved successfully. The final agreed upon QoS level must
be notified to the answerer within the UPDATE message so as
to release additional resources. E2ENP itself does not provide
messages for resource reservation. E2ENP only coordinates the
network resource reservation, which should be accomplished
using protocols like RSVP triggered by the hooks provided
through the E2ENP agent (i.e., the reception and sending of
command-start-reservation).
Renegotiation message sequence is similar to negotiation, but
has less signaling overhead due to the E2ENP referencing mechanism. Renegotiation can be started by any of the peers detecting
a QoS violation and, thus, the initial offerer may become by
renegotiation an answerer and vice versa.
There may be situations, where a service domain entity (e.g.,
enhanced SIP proxy) is involved in the negotiation process
by intercepting the signaling between the offerer and the answerer [8]. A provider entity may analyze the application QoS
parameter and add provider-constraints in form of transport
QoS parameter to the QoS offers and answers. Additionally,
a provider entity may define restrictions to single transport
QoS parameters exchanged between the offerer and the answerer or may add provider-authorization tokens for resource
reservation to the respective offers and answers. The peers
can extract and use these tokens to authenticate themselves
before network-reservation entities. The peers recognize the
provider-specific information as it is added in a separate part of
the E2ENP payloads (see beginning of Section III-B2). Thus,
895
the peers distinguish between the information send end-to-end
by the offerer/answerer and the additional constraints/tokens
added by the service entities. When intercepting a PRACK
message with E2ENP command-start-reservation the provider
entities may start a network resource reservation providing
assistance to those end systems which cannot reserve network
resources on their own. The provider processing of the E2ENP
payloads (i.e., adding constraints to application or transport
parameters or including reservation tokens) depends on the
trust models between the end-peers and the provider [8].
In addition to the management of end system and provider
configuration information, the E2ENP-specific resource coordination includes requirements for data consistency, when managing resources, in order to avoid deadlock-like reservation scenarios on the terminals (see [7] and [8]).
IV. E2ENP DESIGN AND EXAMPLES
E2ENP is designed to be network and system independent. It
allows to describe system capabilities, QoS contracts and QoS
contexts in a declarative manner. E2ENP does not define its own
network transport medium but uses an already available carrier
protocol, e.g., SIP [4]. Nevertheless, E2ENP defines its own addressing scheme to uniquely identify E2ENP sessions and communicating peers at application level. The addressing syntax can
be mapped to any IP-based session management protocol [8].
E2ENP summarizes several specifications, concerning multimedia system configurations. E2ENP directly adopts these definitions without unifying the metric units (i.e., time units are in
seconds or milliseconds, information units in bits or bytes, etc.)
and the naming schemes applied there (see also Section III-A).
A concise namespace for defining identifiers to single contracts,
stream associations and higher level associations has to be standardized to produce unique identifiers, since the applications
using E2ENP need to precisely understand these identifiers. The
E2ENP specification differs to some extent from SDPng, due
to the fact that E2ENP adapts system capability descriptions to
the needs of QoS application and delivery. Despite these differences, E2ENP is still applicable as an extension of SDPng, due
to the extensibility of the XML-Schema definitions [32].
The following examples show XML code snippets of the
major elements used during E2ENP phases. The correctness
of the examples has been proven using a validating XML
parser [33], [34]. We have used a scenario, where a session
contains an audio and a video stream. The application can
select between two audio codecs (GSM, G.722) and one video
codec (MJPEG). The application can adapt frame size, frame
rate, video quality (by tuning the quantization parameter of
the codec) resulting in different bandwidth requirements (see
Table I). In our example, there are six possible combinations
from which the application can select. E2ENP provides the
mechanisms to signal the codecs, the application QoS contracts,
network QoS contracts, and the QoS contexts. It is up to the
application to decide when to switch from step m to step n (see
[13], for an example).
Some of the major E2ENP parent elements do not carry
“e2enp” header, since they stem from different E2ENP XML
namespace definitions [6] and [23]. Different E2ENP elements
896
IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 22, NO. 5, JUNE 2004
TABLE I
ADAPTATION “QUALITY STEPS” OF THE APPLICATION
Fig. 8.
Capabilities.
Fig. 7. PDU header.
are shown in uncompressed form for better readability. Future
versions of E2ENP will consider partial or complete E2ENP
compression, e.g., using hashes.
A. PDU Header
The “e2enp:purpose” section (Fig. 7) is the header of
the E2ENP protocol data unit (PDU). It appears at the
beginning of every PDU exchanged at prenegotiation, negotiation, or renegotiation. The “e2enp:session” section
defines the owner/originator of the E2ENP PDU (after [6]
and [22] owner/originator specification). If available the
“e2enp:expires” states the relative lease time of this PDU
in seconds. The absolute time point defining the start of the
leasing is provided using the time/date tokens of the carrier
protocol applied, e.g., SIP [4]. The example in Fig. 7 shows
a “e2enp:purpose” section for a prenegotiation, which refers
to another PDU identified through “e2enp:use” section, i.e.,
refers to a
the session with
. The
previous session with
structure of the E2ENP PDU identification and the identification of the referred PDU is the same, i.e., the “e2enp:session.”
The “e2enp:description” identifies the PDU type, the negotiation phase and the negotiation mode. Additionally, the
“e2enp:description” is used to provide reservation-coordination
commands for start and end of the network reservation [8].
B. Capabilities and QoS Contracts
Fig. 8 shows a definition of system capabilities in form of
codecs according to the RTP-profile definition [24]. The two
major sections “e2enp:audio-codec” and “e2enp:video-codec”
specify the supportable codecs with their names and applicability scope. The “rtp:pt” specifies RTP-transport for the codecs,
referencing the already defined with “e2enp:audio-codec” and
“e2enp:video-codec” descriptions. Dynamic RTP-payload
types are characterized through definition of parameterization
subelement of “rtp:pt.”
The aim of the separate mapping of the codec definitions to
the payload-types is to optimize the PDU processing. The application can first prove if a given codec is supported and if
the codec is not supported the respective serialization format
(in this case RTP payload-types) can simply be ignored. Additionally, for some codecs it is possible to associate dynamic
payload types, which in fact is a complementary information to
the codec, therefore, it is presented separately from the codec itself. The XML parameter definition for dynamic payload types
is a feature supported in E2ENP, but not in SDPng.
Fig. 9 shows the structure of the QoS contracts at application
level (i.e., audio and video QoS contracts) and at transport
level. Within the audio and the video QoS contracts the
“e2enp:contract” describes the user’s QoS preferences as
application QoS parameters. Inside the audio contracts the
parameters “sampling-rate-set” (sampling rate in Hertz) and
, stereo
, etc.) are according
“channel-set” (e.g., mono
to [24]. Within the video contracts the meaning of the parameters is the same as for the codec parameterization (Fig. 8),
i.e., “e2enp:video-codec,” where “frame-rate-range” defines
number of frames [frame/s], “frame-size-set”—the displayable
, see [20]) and
frame sizes (
the “color-quality-range” and “overall-quality-range” are percentage values, where 1% “color-quality” or “overall-quality”
is equal to 100 units of the corresponding descriptions. The
mapping between the QoS definitions and the codecs to form a
QoS contract is done using “rtp:map.” The QoS contract is identified through the attribute “name” within the “e2enp:contract”
element. The definition of the transport QoS is adopted from
GUENKOVA-LUY et al.: END-TO-END QOS COORDINATION FOR MOBILE MULTIMEDIA APPLICATIONS
Fig. 10.
Fig. 9. QoS contracts.
[23]. The mapping between the QoS contracts and transport
definitions is achieved at session establishment time, since only
then it is known how many streams would be opened for the
respective media session and which network resources are necessary for these streams. The provider restrictions on the QoS
contracts are expressed with an additional element associated
with the “e2enp:contract” [8]. The capabilities (Fig. 8) and
the QoS contracts (Fig. 9) are usually exchanged between end
systems during a prenegotiation (see Section III-B1).
C. Media Session Configuration—QoS Contexts
Fig. 10 shows the RTP-specific stream configuration. This
description is partially adopted from SDPng [6]. The “component” element is used to define a single media stream, e.g.,
Fig. 10 shows the definition of one audio and one video stream.
The “alt” element specifies an alternative configuration of the
respective media stream. Fig. 11 shows the logical configuration of the stream association QoS contexts, expressing different
897
RTP specific stream configuration.
adaptation possibilities. A QoS context (the “e2enp:context” element) is defined (as described in Section III-A1) as the association of adaptation paths (the e2enp:adapath element), which
describe the nominal and alternative QoS specifications to enforce during adaptation, and the applicable time-synchronization and/or QoS correlation constraints (the e2enp:constraints).
As defined in Section III-A2, the audio and the video configurations are identified and referenced in this example by their
names. For example, the audio information described in the
RTP specific stream configuration (Fig. 10) is referenced via its
name “audio-stream-1,” a video QoS contract information defined in “e2enp:qos-contracts for=“video”” (Fig. 9) is identified
by its name “video-contract-1.” For the purpose of referencing
”
already defined components, the attributes named “ref_
(e.g., “ref_component,” “ref_contract,” etc.) are used.
The “e2enp:adapath” (Fig. 11) defines QoS adaptation rules
for single streams, stream groups, and multimedia sessions
as a whole. The “e2enp:alt” element specifies possible alternative QoS contracts used within the adaptation process.
The first “e2enp:alt” element in a group identifies a nominal
contract the end systems should first apply to reserve resources
898
IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 22, NO. 5, JUNE 2004
Fig. 12.
Enforcing and blocking of QoS contracts.
representation of “audio1” changes between the currently
active “audio-contract-1” and the alternative configuration
“audio-contract-2.” The “e2enp:enforce” and “e2enp:block”
can also be applied for enforcing/blocking QoS contexts, e.g., if
an association of an audio and video stream is no longer applicable, this association can be blocked and an association with
a single audio stream can be enforced [8]. The “e2enp:target”
element defines the abstraction level of the QoS information
(see also Section III-A1).
In this case, the referencing mechanism (Section III-A2) is
applied via the “path” attribute and identifies complete branch
of a hierarchical QoS definition (Section III-A1) produced
during the prenegotiation (see Figs. 8 and 9) and the negotiation
phases (see Figs. 10 and 11). The example in Fig. 12 corresponds to information exchanged between end systems during
a short renegotiation phase (Section III-B1). The renegotiation
structure of a short E2ENP renegotiation is always fixed
irrespective of how many alternative audio/video streams and
associations of streams are defined. At a short renegotiation the
peers use only block/enforce elements to point at the respective
change. As a complete renegotiation PDU is formed from contents similar to those shown in Figs. 7 and 12 compared with a
prenegotiation PDU (combination of the contents—Figs. 7–9)
or a negotiation PDU (combination of the contents—Figs. 7,
10, and 11), the short renegotiation is very compact and leads to
efficient signaling. In Section V-D, we analyze the performance
gain when using the short renegotiation phase.
Fig. 11.
QoS contexts and QoS adaptation.
V. E2ENP CONCEPT VALIDATION
at multimedia-session establishment. Streams grouping and
synchronization rules (see Section III-A1) for an association of
media streams are defined over the “e2enp:context” element.
For example, Fig. 11 shows two possible QoS contexts, which
can be applied for a multimedia session—“association1-1”
with audio and video stream and “association1-2” with only
audio stream.
The examples in Figs. 10 and 11 correspond to the information exchanged between the end systems during a short negotiation (Section III-B1).
D. QoS Adaptation
E2ENP refers to already negotiated data in order to perform
QoS adaptation at renegotiation time (Fig. 12). The “e2enp:enforce” element is used to point at the new QoS contract to
be applied and the “e2enp:block” defines, which currently
used QoS contract should be blocked. In this case, the stream
This section presents the E2ENP UA architecture and the applied test environment, developed for validating the E2ENP concept, as well as the results of this validation.
A. E2ENP User Agent Architecture
Fig. 13 shows the architecture of the E2ENP user agent
(E2ENP UA). The complete implementation of the E2ENP UA
is based on Java 1.4.1 [35] and consist of the following entities.
• E2ENP finite-state machine (FSM)—Each instance of
such FSM corresponds to an E2ENP control session,
which can be created by the application. The E2ENP UA
uses the FSMs to regulate the access of multiple E2ENP
control sessions to the carrier protocol (e.g., SIP) stack.
The E2ENP UA controls the consistency of the E2ENP
information, i.e., the E2ENP UA keeps track of mutually-dependant E2ENP sessions saving and verifying the
information of the E2ENP PDU headers.
GUENKOVA-LUY et al.: END-TO-END QOS COORDINATION FOR MOBILE MULTIMEDIA APPLICATIONS
899
TABLE II
PARAMETERS OF THE USED PCS
TABLE III
EMULATED NETWORK TYPES WITH NISTNET
Fig. 13.
E2ENP user agent architecture.
• Description language translator—uses SAX XML parser
[33], [34] for processing the XML code of the E2ENP
PDUs, where:
i) parser—translates E2ENP payloads into system-internal representation;
ii) generator—translates system-internal objects into
E2ENP XML descriptions.
• Carrier protocol stack—for sending/receiving of control
messages. The implementations presented in this paper
are a SIP surrogate using RMI [36] (implementation of
University of Ulm) and a SIP stack [Sony International
(Europe) GmbH solution] based on Java, developed according to [4].
B. Test Goals
The major goals are: to validate the E2ENP logic; to optimize
the processing through tuning the E2ENP PDUs’ structure; to
measure the E2ENP round-trip times within different networks
for the TCP-based RMI and the UDP-based SIP; to investigate
the reaction time of the E2ENP UA, in order to prove if the session establishment/management times are acceptable from the
user point of view and to perform comparative measurements
with a similar control protocol (e.g., SDPng). As an evaluation
criterion it was considered that all media-session establishment
should last no longer than 2–5 s (prenegotiation, negotiation)
and the adaptation within the duration of a multimedia session
should last no longer than 1 s (renegotiation) to fulfill the user’s
expectation for almost immediate reaction. This evaluation criterion considers the fact that a user would rather accept longer
session establishment times, but for him/her it is not acceptable
that an adaptation during running multimedia session lasts very
long. Additionally, long lasting adaptation processing and signaling might cause disturbances in the perceived media, which
is also not acceptable for the user [37].
C. Test Environment
The equipment used for E2ENP tests is shown in Table II.
Table III displays network types considered for the measurements. The network measurements were performed using the
NISTNET [38] network emulator and the parameters and
values given in Table III correspond to the parameter inputs
in NISTNET. In Table III “delay” corresponds to the one
way access-network delay between a terminal and the first
access-router.
D. Test Results
For the performance measurements of the E2ENP UA
components, the end-to-end application round-trip times
(Section V-D1), and for the comparison of E2ENP with SDPng
(Section V-D2) the following scenario is applied:
The multimedia session to be established and later on
adapted consists of one unidirectional audio and video stream.
No more than three alternative codecs and no more than
three QoS contracts per stream are used. Streams need to be
synchronized, forming two different QoS contexts.
More complex scenarios would result in larger payloads.
The influence of the payload size on E2ENP processing and
end-to-end signaling is discussed in Section V-D1.
1) E2ENP Components and Processing: Measurements for
evaluating the parser and the generator were performed on a
single PC (Table II—first entry) and the performance of these
components depends on the size of the negotiated information.
The basic unit used when processing the XML payloads is an
“XML line” as the SAX parser [33], [34] processes the XML
code sequentially, generating a single event per XML element.
The initial PDU size for an E2ENP payload is 100 lines
(i.e., 4.26 kB XML code). For investigating the parser/generator performance, we varied the number of input lines. As shown
in Table IV, the XML processing time of the parser/generator increases linearly with the PDU size. It should be noted that the
900
IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 22, NO. 5, JUNE 2004
TABLE IV
MEASURED PARSER AND GENERATOR SCALING BEHAVIOR
PROCESSING A SINGLE E2ENP PDU
FOR
Fig. 14. Measured E2ENP roundtrip times depending on the network
characteristics.
E2ENP prenegotiation/negotiation payload sizes varies with the
number of streams, QoS contracts, and contexts. However, the
size of a short renegotiation is always fixed (Fig. 12) due to the
hierarchical QoS specification. Therefore, if a QoS renegotiation is at stream level—one stream level QoS contract is blocked
and another is enforced, if a QoS change is at stream-association
level—a QoS context is blocked and another is enforced, etc.
Irrespective of the level at which a QoS change occurs a short
renegotiation expresses this within only two XML elements and
within two reference lines (see “path” definition in Fig. 12).
As the size of a PDU influences the end-to-end signaling
delay (Fig. 14), we fixed in the performance tests the XML file
sizes (see the scenario at the beginning of Section V-D). The
applied uncompressed XML files are, respectively, 4.26 kB
for the prenegotiation, 3.23 kB for the short negotiation,
and 1.28 k for a short renegotiation, which references two
stream-level QoS contracts respectively for blocking/enforcing.
A single PDU (prenegotiation, negotiation, or renegotiation)
is exchanged in offerer-to-answerer direction and once in
answerer-to-offerer direction. As we were interested in the
E2ENP and user agents performance, the application did not
change the contents of the PDU when receiving it from the
user agent to include QoS counteroffers. Thus, the following
examples show the pure E2ENP application-to-application
signaling overhead.
We used a test bed including two end-devices as offerer
and answerer roles and one PC as a router (Table II), which
emulates the network performance with NISTNET according
to Table III. We varied available data rates and introduce delay
TABLE V
MEASURED E2ENP UA FSM PROCESSING TIMES PER E2ENP PHASE
to measure the E2ENP end-to-end signaling delay based on SIP
and RMI carrying the E2ENP XML files. Our measurements
(Fig. 14) show that due to the UDP-based transport using
explicit synchronization within the SIP code, the SIP-based
E2ENP performs better in low-bandwidth networks. If more
data rate is available, the complexity of the explicit SIP
synchronization increases the impact of the peer performance,
thus the end-to-end application signaling is slower compared
with the RMI-based implementation. Within high-bandwidth
networks the RMI-based SIP surrogate shows better results,
since the transport synchronization is done by TCP. Different
E2ENP phases result in different number of messages. When
using SIP with E2ENP in the push mode, a prenegotiation
consists of two messages; the negotiation/renegotiation consist
of 11 messages for both QoS-information exchange and
network resource-reservation coordination [8]. The time
necessary for a prenegotiation, negotiation or renegotiation
depends on the applied SIP transaction. E2ENP uses OPTIONS
method to perform prenegotiation (i.e., non-INVITE server
transaction [4]) compared with the INVITE transaction used
for negotiation/renegotiation. The OPTIONS method requires
longer synchronization in order to reliably exchange the control
data within only two messages, compared with the INVITE
three-way-handshake [4]. Additionally, the prenegotiation
shows the largest PDU size. An analysis of the scenario (beginning of Section V-D) shows that the renegotiation has up to
50% less signaling data compared with the negotiation procedures for establishing a multimedia session (prenegotiation,
negotiation).
The size of a PDU does not influence the FSM performance,
since following the design rules (Section III-B1) the E2ENP
UA can cope with either short or full negotiation/renegotiation.
The FSM performance depends only on the corresponding call
synchronization (Section V-A).
The following measurements were taken on a single PC
(Table II—first entry) for both SIP and the RMI-based SIP
surrogate. Table V shows the response times of the E2ENP
FSMs for the offerer and the answerer. The E2ENP UA uses
two different adaptation layer to connect the E2ENP FSMs,
one to SIP and another to RMI. In our implementation, the
E2ENP FSM waits initially for binding to the parser/generator
every time an initial call to the description language translator
is executed. This results in longer prenegotiation time for both
SIP and RMI due to the time needed to initialize the XML SAX
parser (Table V—offerer side). In contrast, a binding procedure
to the carrier protocol stack is made every time a remote invocation takes place when using the RMI base implementation.
This results in longer response times for the RMI-based SIP
GUENKOVA-LUY et al.: END-TO-END QOS COORDINATION FOR MOBILE MULTIMEDIA APPLICATIONS
surrogate (Table V—offerer side). At the answerer side, both
RMI and SIP implementations are comparable, which verifies
the stability of the E2ENP UA FSM, since the major amount of
negotiation processing takes place at the answerer side. Future
versions of E2ENP UA will decouple XML parser and carrier
protocol stack binding from the negotiation process itself. This
would result in faster prenegotiation phase.
2) E2ENP and SDPng Comparative Measurements: We
were interested to compare our solution (especially using the
short renegotiation) with state of the art [6], [15]. Since E2ENP
and SDPng differ in their description models, there is one
specific scenario, where the two technologies can be compared.
SDPng does not differentiate in its description model between
negotiation and renegotiation, has no prenegotiation phase, and
does not support short phases. Additionally, SDPng does not
have hierarchical QoS specification mechanisms for defining
hierarchical session descriptions. It is also not possible to define
PDU headers. Furthermore, the basic SDPng description model
[6] does not contain elements for QoS codec parameterization
and for transport QoS. The proposal for SDPng transport
QoS extensions [23] is up to now not adopted within the
SDPng description scheme. Due to these differences, a standard SDPng negotiation and a SDPng renegotiation has been
implemented and tested in accordance with the “offer/answer
model” [15]. The performance of this implementation has been
then compared (using the same SIP stack) with a full E2ENP
negotiation (prenegotiation data included in the negotiation
phase but no prenegotiation phase carried out), and with a short
E2ENP renegotiation. Our SIP/SDPng prototype can use the
RMI-based SIP surrogate and the SIP stack both described
in Section V-A. Thus, a consistent framework for comparing
the two technologies is provided. The session information is
always exchanged (E2ENP and SIP/SDPng) as uncompressed
XML file. We observed the following size of exchanged session
configurations in one direction (i.e., an offer or an answer):
for the SDPng negotiation and renegotiation 4.96 kB, for the
full E2ENP negotiation 6.65 kB, and for the short E2ENP
renegotiation 1.28 kB. The information within the SDPng
descriptions corresponds to the following:
• audio and video alternative codec descriptions for mediastreams according to [24];
• association of the defined streams with RTP transport parameter, common to those defined in [1].
The E2ENP full negotiation contains information about the
following:
• PDU header (see Fig. 7);
• audio and video alternative codec descriptions for media
streams according to [24] (see Fig. 8);
• parameterization of video codec descriptions (see Figs. 8
and 9) in the form of QoS parameters at application level;
• definition of transport QoS parameter (see Fig. 9);
• association of streams with RTP transport parameter,
common to those defined in [1] (see Fig. 10);
• definition of hierarchical QoS specification (see Fig. 11).
The short renegotiation PDU contains information similar to
Figs. 7 and 12.
901
TABLE VI
E2ENP AND SDPNG COMPARATIVE MEASUREMENTS
The results of the SDPng and E2ENP application-to-application roundtrip times are shown in Table VI and denote the
total time needed to establish and (re)negotiate QoS for a multimedia conference. These measurements were taken on a single
PC (Table II—first entry) and, thus, approximately correspond
to LAN behavior. Session setup time for E2ENP and SDPng
show similar behavior, where E2ENP is slightly slower (6%)
due to the larger amount of information exchanged. This is due
to the overhead of the hierarchical QoS model. In contrast, the
average response of E2ENP for the renegotiation phase is 240
ms (or 57%) faster than SDPng for our simple test scenario.
In more complex scenarios, the E2ENP short renegotiation is
even more efficient, as the size of the E2ENP renegotiation payload is highly limited due to the hierarchical QoS specification,
whereas the size of SDPng renegotiations varies with the complexity of the described application/session scenario. It should
also be noted that E2ENP directly points at the changed configuration data (i.e., enforce contract X, block contract Y) whenever performing adaptations. In contrast, SDPng renegotiations
must be compared with initial exchanged data to recognize the
change.
VI. RESULTS AND DISCUSSION
The results of the E2ENP performance measurements are in
accordance with the defined goals (Section V). The comparison
and the analysis of the SIP and RMI-based SIP-surrogate show
that further improvements of the initialization procedures and
the performance of the carrier protocol stack are necessary to
optimize the overall E2ENP performance. Additionally, a work
around for the SAX parser initialization procedure is required
to avoid delays at initial negotiation processing of the E2ENP
UA. Furthermore, E2ENP UA initialization delays at the very
first run of the JVM on a PC were observed. Performing repeated measurements, it was detected that this is a problem of
the JVM itself, which should be further investigated. From the
measurements, we conclude that E2ENP can be used to control multimedia services in low bandwidth networks. The overhead of the hierarchical QoS descriptions is low compared with
the flexibility gain and the improved renegotiation performance.
This is important, as the user tolerates a slightly longer conferencing setup as long as the disruption during adaptation is minimal and there is a need to adapt and reconfigure the streaming
process. This will definitely be required in fourth-generation
(4G) networks, where terminals will have multiple air interfaces
and handover from 802.11–based WLANs to cellular networks
might occur. If the bandwidth availability of such heterogeneous
networks differs significantly, applications must adapt or suffer
severe packet loss.
E2ENP’s effectiveness, in comparison with other similar
protocols, should further be investigated. The authors will
902
IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 22, NO. 5, JUNE 2004
integrate the E2ENP UA (Section V-A) in a QoS broker
architecture similar to BRENTA [8] and test it in a complete
adaptive multimedia-conferencing scenario together with
real-time streaming, provider policy management, and network
reservations. The E2ENP solution shows scalability especially
in the case of QoS adaptation (renegotiation). The performance
can be further improved by applying compression techniques
to E2ENP payloads.
VII. CONCLUSION AND FUTURE WORK
This paper introduced an end-to-end protocol for negotiating
QoS-parameters at application, transport layer and session
configurations. It uses a hierarchical QoS model and applies
referencing mechanisms to reduce signaling load whenever
QoS adaptations are required. The special features of E2ENP
are the negotiation of QoS configurations used for QoS adaptation, including alternative QoS contracts, QoS contexts, and
QoS-adaptation rules for enabling mobile multimedia-capable
devices to utilize heterogeneous access networks. The measurement results demonstrate the scalability of our approach
and show that our mechanisms significantly reduce time for
QoS adaptation processes. Our comparative measurements
of E2ENP and SDPng processing confirm the advantages of
E2ENP.
Considering the goals of the SDP/SDPng transition, the
authors believe that E2ENP can influence SDPng direction
concerning capabilities and QoS negotiation. Major points to
discuss are optimization, consistency, and unification of XML
schema(s) and XML namespaces for describing capabilities and
QoS. Furthermore, strict namespaces for named and referenced
values (i.e., capabilities, QoS contracts, QoS contexts) have to
be defined to provide proper naming and unique referencing of
media streams, sessions, and applications.
Our future work concentrates on integration of E2ENP
into a complete QoS framework. To this extent, we plan to
provide proxies capable of interpreting E2ENP payloads,
which then work together with authentication, authorization,
and accounting mechanisms (A4C platform). This enables
service-based charging mechanisms and enhanced media-based
admission control. In addition, the proxies will work together
with QoS brokers in the network during resource reservation
phases to deploy flexible interactions between service domain
and transport domain. Finally, we will test our E2ENP in ad
hoc network scenarios, where QoS adaptations will occur
more frequently due to topology change and wireless resource
fluctuations.
REFERENCES
[1] H. Schulzrinne et al., “RTP: A transport protocol for real-time applications,” IETF, RFC 1889, Jan. 1996.
[2] A. Mankin et al., “Resource reservation protocol (RSVP),” IETF, RFC
2208, Sept. 1997.
[3] D. Durham et al., “The COPS (common open policy service) protocol,”
IETF, RFC 2748, Jan. 2000.
[4] J. Rosenberg et al., “SIP: Session initiation protocol,” IETF, RFC 3261,
June 2002.
[5] W3C. Extensible Markup Language (XML) 1.0 (2nd ed.) [Online].
Available: http://www.w3.org/TR/1998/REC-xml-19980210
[6] D. Kutscher et al., Session description and capability negotiation, IETF Internet-Drafts (draft-ietf-mmusic-sdpng-06 and
draft-ietf-mmusic-sdpng-07), Mar./Oct. 2003.
[7] T. Guenkova-Luy, A. Kassler, J. Eisl, and D. Mandato, Efficient
end-to-end QoS signaling—Concepts and features, IETF Internet-Draft
(draft-guenkova-mmusic-e2enp-sdpng-00), Mar. 2002.
[8] MIND Project, Top-level architecture for providing seamless QoS, security, accounting and mobility to applications and services, Deliverable
D1.2, Nov. 2002.
[9] X. Gu et al., “An XML-based quality of service enabling language for
the Web,” National Science Foundation, Project Rep., 2001.
[10] P. Ruiz, J. Sanchez, E. Garcia, A. Gomez-Skarmeta, J. Botia, A. Kassler,
and T. Guenkova-Luy, Adaptive multimedia multi-party communication
in ad hoc environments, Software Technology Track, HICSS-37, Jan.
2004.
[11] M. Alfano and N. Radouniklis, A cooperative multimedia environment
with QoS control: Architectural and implementation issues, TR-96-040,
Int. Comput. Sci. Inst., Berkeley, CA, Sept. 1996.
[12] A. J. Kassler, “Video adaptation within a quality of service architecture,”
Ph.D. dissertation, Dept. Distributed Syst., Univ. Ulm, Ulm, Germany,
2001.
[13] MIND Project, “MIND trials final report,” Deliverable D6.4, Nov. 2002.
[14] K. Nahrstedt and J. M. Smith, “The QoS broker,” IEEE Multimedia
Mag., vol. 1, no. 2, pp. 53–67, Spring 1995.
[15] J. Rosenberg and H. Schulzrinne, An offer/answer model with SDP,
IETF, RFC 3264, June 2002.
[16] A. Vetro et al., “Study of ISO/IEC 21 000-7 CD—Part 7: Digital item
adaptation,”, ISO/IEC JTC 1/SC 29/WG 11/N5612, Mar. 2003.
[17] International Telecommunication Union, Control protocol for multimedia communication, ITU Recommendation H.245.
, Internet protocol data communication service—IP packet transfer
[18]
and availability performance parameters, ITU Recommendation Y.1540.
, Network performance objectives for IP-based services, ITU Rec[19]
ommendation Y.1541.
, Video codec for audiovisual services at p 64 kbit/s, ITU H.261.
[20]
[21] J. Ott. Multiparty multimedia session control WG. [Online]. Available:
http://www.dmn.tzi.org/ietf/mmusic/
[22] M. Handley and V. Jacobson, “SDP: Session description protocol,”
IETF, RFC 2327, Apr. 1998.
[23] L. Bos et al., SDPng extensions for quality of service negotiation, IETF
Internet-Draft (draft-bos-mmusic-sdpng-qos-00), Mar. 2002.
[24] H. Schulzrinne and S. Casner, “RTP profile for audio and video conferences with minimal control,” IETF, RFC 3551, July 2003.
[25] J. Ott and C. Perkins, SDPng transition, IETF Internet-Draft (draft-ietfmmusic-sdpng-trans-04), May 2003.
[26] G. Klyne, “A syntax for describing media feature sets,” IETF, RFC 2533,
Mar. 1999.
[27] G. Camarillo et al., Integration of resource management and session initiation protocol (SIP), IETF, RFC 3312, Oct. 2002.
[28] J. Rosenberg and H. Schulzrinne, Reliability of provisional responses in
the session initiation protocol, IETF, RFC 3262, June 2002.
[29] J. Rosenberg, The session initiation protocol (SIP) UPDATE method,
IETF, RFC 3311, Oct. 2002.
[30] H. Lu and I. Faynberg, “An architectural framework for support of
quality of service in packet networks,” IEEE Commun. Mag., vol. 41,
pp. 98–105, June 2003.
[31] S. Blake et al., An architecture for differentiated services, IETF, RFC
2475, Dec. 1998.
[32] Ch. Valentine, XML Schemas, SYBEX, 2002.
[33] D. Megginson. SAX—Simple API for XML. [Online]. Available:
http://www.saxproject.org/
[34] Oracle Technology Network. Oracle XML developers kit. [Online].
Available: http://otn.oracle.com/tech/xml/xdk/content.html
[35] Sun Microsystems, Inc. Java TM 2 platform, standard edition (J2SE).
[Online]. Available: http://java.sun.com/j2se/
, Java TM 2 remote method invocation (RMI). [Online]. Available:
[36]
http://java.sun.com/j2se/1.4/docs/guide/rmi/index.html
[37] A. Watson and M. A. Sasse, “Measuring perceived quality of speech and
video in multimedia conferencing applications,” in Proc. ACM Multimedia, 1998, pp. 55–60.
[38] National Institute of Standards and Technology, NIST NET Home Page.
[Online]. Available: http://snad.ncsl.nist.gov/itg/nistnet/
2
GUENKOVA-LUY et al.: END-TO-END QOS COORDINATION FOR MOBILE MULTIMEDIA APPLICATIONS
Teodora Guenkova-Luy received the M.Sc. Engineer degree in computer technologies from Technical
University Sofia, Sofia, Bulgaria, in 1996 and the
M.Sc. degree in informatics and computer science
from the University of Ulm, Ulm, Germany, in 2001.
Currently, she is working toward the Ph.D. degree in
the Department of Distributed Systems, University
of Ulm, where she is an Assistant Researcher
working on her thesis concerning application level
quality-of-service coordination and management.
In the past, she worked in the area of microwave
and millimeter-wave hardware simulation and development for wireless communication at the Technical University Sofia and the University of Stuttgart,
Stuttgart, Germany. She has participated in several international research
projects (BRAIN, MIND, DAIDALOS). She has published a standard draft
in IETF and actively takes part in the work of the IETF MMUSIC WG. Her
research interests are in system modeling, middleware architectures, end-to-end
performance of distributed systems, and quality-of-service as a special issue
of the end-to-end system performance.
Andreas J. Kassler (M’97) received the M.Sc.
degree in mathematics and computer science from
Augsburg University, Augsburg, Germany, in 1995
and the Ph.D. degree in computer science from
University of Ulm, Ulm, Germany, in 2002.
Currently, is an Assistant Professor at Nanyang
Technological University, Singapore. He teaches
graduate-level courses on data networks and multimedia and has been invited to deliver research
talks and tutorials at many universities and industrial organizations. He is a Project Manager for
international research projects and is actively participating in several IETF
working groups. His research interests are in multimedia communication
and quality-of-service aspects, spanning network layer protocols, wireless
transmission, and multimedia middleware architectures.
Dr. Kassler is a Member of ComSoc and the Technical Committee of
Telecommunications of the IASTED.
903
Davide Mandato received the Dr.Eng. degree in
electronic engineering from the University of Padua,
Padua, Italy, in 1990.
From 1990 to 1995, he worked as a Firmware
and Software Engineer at Necsy, Italy, in projects
dealing with artificial telephonic traffic generation, telephonic traffic monitoring, and IN Voice
Activated Dialing services. From 1996 to 1998,
he worked as a Software Engineer at Trillium
Digital Systems, Inc., Los Angeles, CA, working
on SS7 ISUP and B-ISUP protocol layers, and on
ISUP/B-ISUP interworking functionality. In 1997, he moved to the research
field focusing on distributed systems and JAIN SS7 TCAP API. From 1998
to 1999, he worked as System Manager at the Eurofighter Simulation System,
Germany, focusing on distributed data bases. In 1999, he joined the Wireless
System Laboratories, Sony International (Europe) GmbH, Stuttgart, Germany,
working as Principal Engineer in IST projects (BRAIN, MIND), and in the
fields of context-awareness, mobile ad hoc networks, and mobile multimedia
middleware.