Mathieu Gineste
email: mathieu.gineste@laas.fr

Nicolas Van Wambeke
email: van.wambeke@laas.fr

Ernesto Expósito

Christophe Chassot
email: chassot@laas.fr

Laurent Dairaine
email: dairaine@isae.fr

Ernesto Exposito
email: ernesto.exposito@laas.fr

A Cross-Layer Approach to Enhance QoS for Multimedia Applications Over Satellite

Keywords: Cross layering, Multimedia, Quality of service (QoS), Resource management, Satellite, DVB-RCS, DAMA

HAL is

Introduction

Geostationary satellites represent a practical and easy-to-deploy technique for Internet communications over the globe. Nevertheless, satellite communication properties such as high delay, transmission reliability and resource variability require particular treatments in terms of resource management and optimization. In this context, the introduction of on-demand quality of service (QoS) support over satellite communications is of primary importance for distributed multimedia applications. This is particularly accurate for the return link that can be considered as a bottleneck due to the large set of distributed end-users accessing a very limited uplink resource.

QoS guarantee on the return link have often been implemented using static resource reservation, e.g. for TV journalists working in infrastructure-less situation. This technique avoids complex resource management and allows strong QoS guarantees. However, multimedia application customers, such as students participating in e-learning programs or webTV journalists, cannot afford such costly reservations and require dynamic approaches allowing an efficient use of the resources while reducing their costs.

Demand assignment multiple access (DAMA) is a classical technique used in DVB-RCS to offer such dynamicity by the way of a distributed mechanism allowing the satellite operator to offer various types of services. DVB-RCS includes three main capacity allocation types on the return link: Continuous rate assignment (CRA) which implements a virtual leased line at the highest cost; Rate based dynamic capacity (RBDC) and Volume base dynamic capacity (VBDC) which are more suitable for variable bit-rate services at a less expensive cost. RBDC (which we consider in this paper) allows complementing a minimal CRA-based capacity and is more appropriate for real-time applications that can tolerate some QoS variations.

In spite of these advances, these QoS-enabled satellite services still have to be used efficiently to support the use of multimedia applications, particularly regarding the delay accumulation issues that can result from the use of on-demand bandwidth allocation schemes (such as RBDC). In this context, several proposals have been made to improve the performance of the access scheme for multimedia communications [START_REF] Delli Priscoli | Design of a bandwidth-on-demand protocol for satellite networks modeled as timedelay systems[END_REF][START_REF] Jiang | A predictive demand assignment multiple access protocol for broadband satellite networks supporting internet applications[END_REF][3]. However, there is currently no specific treatment of the packets to be transferred when reservation requests performed by the DAMA cannot be completely fulfilled: in such cases, all the packets are penalized in the same way without any consideration of the QoS requirements of the transported application data units (ADU).

In response to this need, the work presented in this paper is aimed at allowing mechanisms that deal with multimedia streams to access intrinsic characteristics of the ADUs they transport by using a cross layer interpreter component (xQoS-Interpreter). Such component could help improving the quality of multimedia presentations from the end user point of view by allowing the definition of mechanisms for managing resources taking advantage of in depth knowledge of the packets to be lost or delayed when capacity requests cannot be satisfied.

The paper proposes an instantiation of the Application Level Framing (ALF) approach consisting in real time interpretation (through an xQoS-Interpreter) of the ADU semantic. The xQoS-Interpreter is then used to build a very simple drop-based policer for the DAMA that avoids delay accumulation in the buffers while taking the QoS requirement of the application into account. Several experiments making use of the xQoS-Interpreter for discovering the intrinsic ADU semantics at coarse and fine levels of granularity are carried out for different loads of the return link. Their impact on QoS is measured through different application and network level metrics.

The rest of the paper is structured as follow. Section 2 presents the considered satellite communication framework and the state of the art of the proposals for improving QoS support for multimedia applications. Section 3 presents the core of the paper contribution: the xQoS-Interpreter. Based on the interpreter, optimization strategies are then proposed in the particular context of QoS over satellite for low interactivity scenarios. Section 4 presents a case study and several experiments that measure the benefits of using the xQoS-Interpreter. Finally, Sect. 5 concludes this paper.

Cross Layering and QoS Over Satellite

Introduction: The Satellite Communication Context

The main concern in the satellite communication context, and more particularly on satellite return links, is to make an efficient use of the resources, which are scarce and costly, while taking different traffic types into account (data, voice, video), each having specific QoS performance requirements. Thus, protocols have been designed to optimize the usage of these resources and especially to share the return link resources properly and efficiently among multiple distributed terminals. Some protocols were proposed, using random or dedicated assignment techniques to access the resources on the return link. The former is not compatible with traffic having high Quality of Service requirements while the latter leads to a very inefficient usage of the satellite link resources.

Other techniques based on dynamic bandwidth assignment enable a higher efficiency of the return link usage. The first technique consists in requesting resources when a connection starts, e.g. when new data arrival occurs. In a second technique, a Satellite Terminal (ST) is allocated resources depending on its channel activity. This channel-state-dependent approach permits to allocate resources only when needed.

A combination of these techniques has been integrated into the DAMA (Demand Assignment Multiple Access) protocol, used in the DVB-RCS standard [4], in order to both ensure a high usage of the return link resources and to offer QoS-oriented capacity assignments.

The lower layers of the satellite architecture are capable of providing different type of services, while maintaining efficient link resources utilization, and have an implicit knowledge of the wireless medium. However, if nothing is done at the upper layers, the Quality of Service differentiation of the access scheme cannot be fully exploited. Indeed, only the application layer has the information on the level of QoS required by the streams as well as the importance and constraints of packets within the stream.

If no cross-layer exchange of application information toward physical and MAC layers is done, all the packets are treated the same way. This could degrade the overall performance and particularly the performance of flows in which packets have inflexible QoS constraints.

Useful cross-layer design approaches involving joint network and physical layer optimizations as well as joint MAC and physical layers have been proposed [START_REF] Sastri | Cross-layer design challenges for quality of service guarantees in satellite networks[END_REF]. However, they only address part of the problem; because, as seen earlier, the knowledge about the data streams semantics might be coming from the application layer. Our proposal addresses this cross-layer aspect. A brief overview on cross layering techniques and the general concept of Application Level Framing (ALF) is presented in the Sect. 2.2. In the following sections, we will focus on the current QoS solutions in satellite communication and finally present the hypothesis of the study and the related works.

Cross Layering

Cross Layer Approaches

The OSI (Open System Interconnection) model has been the initial guide for developments in networking. Recent evolutions, notably in the area of wireless communications, have shown that the layered model, in which each layer is implemented independently, may lead to suboptimal performances [START_REF] Sgakkottai | Cross-layer design for wireless networks[END_REF]. In order to avoid such scenarios, one solution is to use crosslayering while designing mechanisms by taking the behaviour of other layers into account. This communication among non-adjacent layers can be further categorized:

-Upward cross-layering when information from a lower layer is to be accessed by a layer located higher in the stack. -Downward cross-layering when information from higher layer is to be accessed by a lower layer Achieving the above communication is possible in various ways. The most common crosslayer design techniques for sharing information between non-adjacent layers are of two kinds:

-Direct communication between layers. This can be achieved either by modifying the layer's interfaces or by using specific fields in the packet headers (downward cross layering only). Moreover, propositions such as cross-layer signalling by using internal packets introduced in [START_REF] Wang | Cross-layer signaling for next-generation wireless systems[END_REF] provide an efficient mechanism for both upward and downward communication. -Indirect communication via a shared entity. In this approach, a common object that is accessed by every layer is used for communication; layers may store/retrieve information to be used by others. The shared object acts as a database allowing for information to be published and accessed not only by the communication stack layers but also by external programs allowing them to get an overview of the stack's state.

Finally, several approaches to coordinate the optimisation strategies at different layers have been proposed in [START_REF] Van Der Schaar | Sai, cross-layer wireless multimedia transmission: Challenges, principles, and new paradigms[END_REF] such as the top-down or bottom-up oriented approaches. For these approaches, the decisions about the activated strategies are taken by the higher or upper layers. These strategies could be implemented in order to centralize the decisions of the activation of mechanisms and minimize the risks of conflicts between the layers. The activation of these mechanisms should be done a priori during the stack initialisation in order to avoid additional delay during the data transmission.

Our study is intended to provide a downward cross-layering approach by allowing any layer of the stack to access ADU conveyed information via a unique, yet simple, API (Application Programming Interface). Moreover, the solution does not require modifications to the layers interfaces nor to the packet headers. Indeed, this approach takes advantage of the information already included within the ADU headers to provide a generic representation of the QoS properties thus hiding the complexity introduced by dealing with the diversity of existing and future multimedia stream formats.

The ALF Approach

Commonly, most multimedia applications have been designed within the framework of the Application Level Framing (ALF) approach [START_REF] Clark | Architectural considerations for a new generation of protocols[END_REF]. In this approach, multimedia content is fragmented and transmitted as a sequence of Application Data Units (ADUs). An example of the large deployment of the ALF approach is represented by multimedia applications based on the Real-time Transport Protocol (RTP) [START_REF] Schulzrinne | RTP: A transport protocol for real-time applications[END_REF]. This protocol defines, for every popular multimedia codec, standard headers that describe the contents of the ADUs to be transported. These standard headers are used by the receiving application in order to reconstruct the multimedia content and to implement appropriate mechanisms to detect and eventually recover losses, reorder data, discard obsolete data and synchronize multiple streams.

Nevertheless, this information is only used at the application layer and is completely ignored by the communication system. Currently, transport protocols as well as the underlying network and data link mechanisms, do not consider these ADU properties when delivering their services. However, the QoS observed by the final user is strongly associated to the way these ADUs are transmitted and processed by the communication mechanisms. A set of common QoS properties can be computed using the information conveyed within the ADU headers of the various multimedia codecs. These standard QoS properties can be used to optimize the operations performed by mechanisms located on either end-hosts or particular forwarding nodes such as proxies or boundary routers in order to improve the overall QoS.

Some proposals have been made to use specific ADU level properties for particular multimedia streams (H264…) [START_REF] Ksentini | Toward an improvement of H.264 video transmission over IEEE 802.11e through a cross-layer architecture[END_REF]. However, a standard and generic representation and interpretation of these properties has not been proposed yet. We propose a generic QoS interpreter (xQoS-Interpreter) for standard and proprietary multimedia streams intended to be used by any layer of the communication stack in order to access fine-grained ADU-level properties in a generic way. This interpreter can be easily extended in order to integrate new standard or proprietary codecs following the ALF approach. The use of this interpreter by mechanisms located at different levels of the communication architecture will allow a global cross-layer optimization of the communication services taking the actual ADU requirements into account.

QoS in the DVB-RCS Access Scheme -Layer 2

To get an idea of the availability and requirements of QoS in the targeted satellite system, we first briefly describe the network architecture of the system and how DVB-RCS system works.

The considered satellite system architecture and involved entities are presented on Fig. The SLA between the Terminal and the Hub passed at logon specifies guarantees on different classes of access to the Return Link of the satellite. These classes are defined in the DVB-RCS standard as capacity allocation of different type [4] and are detailed hereafter.

The return link scheduler supports a combination of static and dynamic allocation techniques in order to ensure a set of Quality of Service (QoS) guarantees as well as high bandwidth efficiency. In DVB-RCS, four capacity allocation types are defined:

• A permanent fixed rate allocation: CRA (Constant Rate Assignment) • An on-demand variable rate allocation: RBDC (Rate Based Dynamic Capacity) • An on-demand Best Effort allocation: VBDC (Volume Based Dynamic Capacity) • An automatic and not guaranteed allocation: FCA (Free Capacity Assignment) CRA allocation type offers high QoS guarantees: the delay is reduced to propagation delay and a guaranteed bandwidth is constantly allocated. However, due to this constant allocation to a ST, the efficiency of resources usage cannot be full; thus, this allocation type is very costly.

In VBDC allocation type, only buffered data is requested to the NCC. However, it offers no guaranty on the delivered QoS. If resources are not available on the satellite system, large delays and eventually losses will be encountered by traffic using this access class. It can be used for non real-time bursty traffic.

Compared to CRA and VBDC allocation types, RBDC assignment offers a good trade-off between QoS guarantees and bandwidth efficiency. Indeed, this traffic assignment is based on requests depending on the average rate of incoming data on the ST. The rate assignment is valid for a certain period of time. In this study, we make the assumption that the assignments are renewed every superframe, corresponding to 500 ms (which is a common implementation configuration). It can complement CRA allocation type to send bursts of traffic when resource is available on the satellite system). RBDC is then well adapted to VBR traffic, because, due to frequent requests, a fast adaptation to bandwidth changes is possible. Besides, the measurement of input traffic is long enough (500 ms) to avoid requesting instantaneous rate variations of the video stream that is not representative of the real requirement of the flow for a longer period, as stated in [START_REF] Skinnemoen | VoIP over DVB-RCS with QoS and bandwidth on demand[END_REF] and in [START_REF] Connors | A medium access control protocol for real time video over high latency satellite channels[END_REF]. A sustained traffic will be doing periodical requests thus avoiding timers expiration that would imply additional delays. In this case, the delay associated to this capacity assignment, after the initial requests, will be equal to the propagation delay.

Table 1 summarizes the characteristics of the traffic assignment types described above. In the satellite networking context, the interaction between the IP Layer, where the QoS might be set, and the lower layers where the traffic is finally prioritized has been widely studied in the literature and partially standardized. ETSI TS [START_REF]Satellite Earth Stations and Systems (SES); Broadband Satellite Multimedia (BSM): QoS Functional Architecture[END_REF] and Kota et al. [START_REF] Kota | Quality of service for satellite IP networks: A survey[END_REF] propose the use of the Diffserv architecture [START_REF] Clark | Architectural considerations for a new generation of protocols[END_REF] on both forward and return link. This architecture is well adapted to the return link due to the different classes of service of DVB-RCS capacity allocation.

The satellite system, in this study, is assumed to be an access network to the Internet for end-users (cf. Fig. 1). Thus, as a boundary node, the ST is the most important component regarding QoS support on the Return Link. It has to implement traffic conditioning/policing functions, in addition to packet classification and per hop forwarding/scheduling according to packet's class of service. A possible ST QoS architecture, based on the DiffServ framework, is illustrated on Fig. 2.

The architecture is based on two sets of queues: one in the IP domain and another one in the MAC domain. The queuing, actively managed, takes place primarily in the IP queues, while the MAC queues are rather used as buffers. The return link's access classes are by such separated which enable the flows to use a specific class to access the satellite. This QoS architecture is the starting point on which our contribution is based. The proposed mapping between IP, MAC and DVB-RCS classes, based on these recommendations, is detailed in the following section.

QoS Hypotheses for this Study

Mapping Between IP and DVB-RCS Classes of Service

In order to meet the DiffServ forwarding requirements, the IP classes of service need to be appropriately mapped into MAC QoS classes and then into DAMA capacity categories supported by the Scheduler.

The mapping hypotheses used in this study are now described:

• CRA, the high priority class of DAMA access scheme delivers a fixed guaranteed rate ; thus the DiffServ EF (Expedited Forwarding) CoS, corresponding to high priority traffic not admitting long delay or variable jitter, is mapped toward highest priority MAC Buffer DVB-RT using CRA capacity. • RBDC assignment type introduces more delay and jitter than CRA due to initial requests.

AF (Assured Forwarding) CoS which permits to assure a high delivery of packets, and send more packets when satellite resources are available, is mapped toward medium priority MAC Buffer DVB-VR using RBDC capacity. • BE traffic is mapped to the lowest priority MAC buffer DVB-JT using VBDC and remaining capacity (including FCA).

This QoS Architecture, including differentiated services and mapping from IP toward DVB-RCS classes, enables a flow to use a satellite access type without any interference with concurrent traffic. Thus, a prioritized flow is able to use CRA or RBDC access class, and will not be delayed by Best Effort traffic that would rather use VBDC capacity when available.

Focus on RBDC Assignment Type

As seen earlier, the proposed QoS guarantees of RBDC access class at a lower cost than CRA, offer great interest to transmit multimedia streams over the satellite return channel. We will consider RBDC assignment type in our case study. However, for this access class, the main concern resides in additional assignment (required for bursts) that would be allocated or not depending on overall satellite load. In the case the capacity is not allocated, bursts cannot be sent on the return link and this situation introduces either additional delays (in case of large MAC buffers) or random losses (in case of small MAC buffers). In both cases this would degrade the overall quality of interactive multimedia applications. This paper proposes to enhance such situations by introducing a policer performing intelligent selective discarding based on the knowledge of applicative information using the xQoS-Interpreter. Indeed, only applications have information about specific characteristics of the flow to be transmitted (codec type, ADU type, bit rate, packet lengths, required delay and jitter…). Cross-layer exchange must then be considered to gain more precise information on specific ADUs composing the flows, in order to apply finer policies to packets. This contribution is described in details in Sect. 3.

The xQoS-Interpreter approach could also be transposed to other type of dynamic capacity assignment of the standard access scheme (such as VBDC and FCA), or for a combination of capacity assignment (such as a minimum CRA fixed capacity complemented by RBDC or VBDC on-demand capacity).

Related Works

Mainly two types of related works are present in the literature:

1. Stanislaus et al. [START_REF] Stanislaus | Cross layer techniques for flexible transport protocol using UDP-Lite over a satellite network[END_REF], Chini et al. [START_REF] Chini | Dynamic resource allocation based on a TCP-MAC cross-layer approach for interactive satellite networks[END_REF] and Giambene et al. [START_REF] Giambene | Scalable TCP over satellite links: Performance issues and crosslayer design[END_REF] propose cross-layer optimization based on transport layer information. 2. Connors et al. [START_REF] Connors | A medium access control protocol for real time video over high latency satellite channels[END_REF], Celandroni et al. [START_REF] Celandroni | A multi-level satellite channel allocation algorithm for real-time VBR data[END_REF] and Koutsakis et al. [START_REF] Koutsakis | On providing dynamic resource allocation based on multimedia traffic prediction, in satellite systems[END_REF] propose new access schemes for return link satellite system well adapted to video transmission with less signaling overhead.

The cross-layer approach of the first papers is based on information from the transport layer while our approach is based on applicative requirements. The information gathered are not of the same type and do not provide the same optimization opportunities. The information provided by a specific transport layer can help optimizing the communication in specific conditions when using this transport protocol (adaptation of the link layer in accordance with transport requirements in terms of resource, frame encoding or CRC checking). On the other hand, the information provided by the application is closer to user requirements, and offers more detailed optimization possibilities (cf. Sect. 3.1.2). Our cross-layer approach is intended to be generic and not designed only for one application in specific conditions. The second type of papers defines new access schemes for return link satellite system, well adapted to video transmission with less signaling overhead. In this paper, we make the assumption that the system implements the ETSI standardized and widely used DVB-RCS access scheme. We propose to take into account the properties of ADUs provided by the cross layer approach in order to improve the communication on top of this scheme, when resource allocated to a terminal becomes low compared to the video stream requirement. We do not intend to make any modification to the standard scheme, but just to enhance the scheduling policy.

The proposed technique could however be applied on top of other standard or proprietary MAC protocols when resource cannot be fully guaranteed to multimedia flows. This case might happen as well with the MAC protocols proposed in [START_REF] Connors | A medium access control protocol for real time video over high latency satellite channels[END_REF][START_REF] Celandroni | A multi-level satellite channel allocation algorithm for real-time VBR data[END_REF][START_REF] Koutsakis | On providing dynamic resource allocation based on multimedia traffic prediction, in satellite systems[END_REF]. Other algorithms based on the QoS information provided by the xQoS-Interpreter, could be implemented within the MAC protocols proposed in these papers, taking then advantage of the real time vision of flow and ADUs requirements. For instance, if using the combined RA/DAMA access scheme proposed in [START_REF] Connors | A medium access control protocol for real time video over high latency satellite channels[END_REF], the xQoS-Interpreter could be used to differentiate important information of the video stream, that should be sent using the granted resource (the DAMA technique), from less important information that could be sent using Random Access technique, more prone to loss.

Other works [START_REF] Delli Priscoli | Design of a bandwidth-on-demand protocol for satellite networks modeled as timedelay systems[END_REF][START_REF] Jiang | A predictive demand assignment multiple access protocol for broadband satellite networks supporting internet applications[END_REF][3][START_REF] Skinnemoen | VoIP over DVB-RCS with QoS and bandwidth on demand[END_REF] are conducted to reduce delay accumulation of on-demand access scheme, in particular for real time applications. Their aim is to anticipate and modulate the capacity requests depending on the traffic profile, but without using a real-time crosslayer approach. They take into account, a priori, the Internet traffic characteristics in MAC protocol design and develop prediction-based resource allocation policies. Our contribution is still complementary to these proposals that could take advantage of the xQoS-Interpreter in order to refine their prediction policies or selectively discard packets when the resource is not available on the satellite system (just like in the case of the standard access scheme).

Contributions

The xQoS-Interpreter

The xQoS-Interpreter is intended to make ADU properties of ALF-based multimedia streams publicly available to mechanisms operating at any layer of the communication stack. The xQoS-Interpreter offers a standard API to access QoS properties of ADUs for both standard and proprietary multimedia streams. These properties are aimed at helping the different entities participating in the end-to-end transmission to optimize their processing of ADUs.

QoS Properties

Most of the streams that follow the previously presented ALF approach are packetized in a way that QoS properties are available at a fixed location in the ADU, generally assembled to form a header. These properties can be categorized in three different groups: identification, prioritization and dependency. • Identification properties are generally included as a way to identify individual ADUs or groups of ADUs belonging to the same stream, as well as to recognize the type of stream and the nature of the multimedia session. • Priority related properties are most often present in the case of hierarchical media coding (e.g. MPEG2, H.263, H.264, etc.). Moreover, when a stream results from the multiplexing of various data sources, the resulting packets might be assigned different priorities in order to differentiate the importance of each of the multiplexed streams. Furthermore, the maximum ADUs' life-time can also allow deducing their relative priority. • Dependency priorities representing the dependency that might exist between groups of ADUs in the same stream or between streams belonging to the same multimedia session.

Table 2 presents a list of the various QoS properties that can be identified in the ALF-based multimedia streams.

xQoS-Interpreter Based cross-layer Optimization

QoS-oriented mechanisms operating at any layer of the communication system could use the previously presented approach to optimize their operations. Table 3 presents a non exhaustive list of commonly implemented functions and the ADU properties that could be used in order achieve cross-layer optimization.

From the preliminary cost analysis, it has been observed that the overhead incurred in discovering a particular property using the xQoS-Interpreter is approximately the same as The retransmission process could be optimized using the unique ID, presentation time, types, priorities as well as inter, intra and synchronization dependencies. Using these properties could help avoid retransmission of obsolete or less important ADU while respecting their dependencies constraints the one incurred when a mechanism performs a standard read operation to get a particular field from the current protocol header (e.g. reading the ToS field of an IPv4 packet).

In fact, the overhead is limited to a function call and optionally one or more conditions evaluation. It is recommended to take into account important issues such as devices capabilities, complexity of interpretation rules and location of the rules evaluator (i.e. server side when receiver devices are limited in processing capabilities), when using and deploying the xQoS-Interpreter.

Enhancing the DAMA RBDC Policer with the xQoS-Interpreter

In order to progressively demonstrate the full range of features and potential uses of the xQoS-Interpreter in the satellite context, we define two different enhancements of the policer for the buffer served by RBDC assignment type. The default RBDC DAMA Policer performs a FIFO management of the buffer's content. A graphical illustration of these enhancements is presented on Fig. 3. The reader should keep in mind that the improvements presented hereafter are only provided as an illustration of the use of the xQoS-Interpreter and by such are not optimized. Moreover, using the xQoS-Interpreter, the algorithms can be easily adapted in order to behave differently.

First Enhancement: Stream Type Differentiation

One of the basic applicative properties that the xQoS-Interpreter allows for easy discovery is the nature of the applicative flows (i.e. audio/video) being transported in the current packets. Using this property, the policer has been modified to give higher priority to the audio packets and discards all excess (out of allocation) video packets. The scheduling is then performed unchanged from default RBDC.

Given the above, for each allocation period, the video packets for which not enough bandwidth is allocated are discarded. This enhancement allows for protecting audio packets against losses and maintaining a minimal delay in the transmission of time critical data such as interactive sessions.

The xQoS-Interpreter property used for the scheduling and selective discarding mechanism is flow nature discovery. As an illustration of this method, the simplified algorithm that governs this enhancement is presented on Fig. 4.

Second Enhancement: ADU Priority & Dependency

The second enhancement of the policer allows for more in depth usage of the QoS properties that can be discovered using the xQoS-Interpreter. The enhancement presented above is further refined to take the relative priority of video ADUs into account (i.e. for the H.263 codec buffering, an average throughput evaluation is performed. The evaluated average throughput value is used by the DAMA Agent to perform capacity requests to the NCC, on a regular basis. The issue of these requests will be used by the Policer in order to dispatch the previously buffered packets in accordance to the NCC's allowed value following a FIFO scheduling on the Buffer's contents. In addition to these elements, we introduce the xQoS-Interpreter which will be used by the enhanced policer in order to discover application level properties of the conveyed packets.

Simulation Platform Description

The various tests presented here have been realized on an experimental platform allowing for the complete simulation of the multimedia transmission process over DAMA enabled satellite. A real audio/video multiplexed stream is used to construct traces which will be fed to an UML model of the system. On the reception side of the system, a modeled RTP receiving application constructs reception traces from the received packets. The complete system's structure is presented on Fig. 7 below.

The receiving entity's traces are then used by a specially designed evaluator application that will use the previously captured packets and the traces produced during the simulation in order to re-create the resulting video presentation and perform several evaluations. The mechanisms efficiency as well as the different parameters' influence on the results is metered using both network specific metrics and application level metrics presented hereafter.

This modeling is performed using Telelogic TAU Generation 2 version 2.6 which is able to simulate the behavior of an UML described system by using a specific UML 2.0 meta-model which can be mapped to SDL syntax and executed in an SDL simulator.

Application Level Efficiency Metrics

Application level metrics offer a way to evaluate the user perceived quality in a way that is independent of the underlying communication system. When dealing with video streams, the impact of transmission errors on the final presentation can be metered using PSNR (Peak Signal to Noise Ratio) defined as follows. Let A and B the luminance matrixes for two (p × q) video frames representing the same instant on the original unmodified video (A) and the received video segment (B). The mean squared error for video frames is then given by Eq. 1 below.

MSE = 1 pq p-1 i=0 q-1 j=0 A i j -B i j 2 (1)
Then, given Y max the maximum luminance value (depending on its binary representation's length) the PSNR is defined by Eq. 2.

PSNR = 10 log 10 Y 2 max MSE (2)
From the above equations, it appears that, if A and B are equal, meaning that the frame did not suffer any alteration during its transport through the satellite link, the resulting PSNR value is infinite (MSE being null). On the contrary, the PSNR value decreases when the error grows.

In the following scenarios, the PSNR is computed by comparing the received video with the encoded video before transmission. This method is similar to those used in [START_REF] Chellappa | Dual frame motion compensation with uneven quality assignment[END_REF][START_REF] Shen | Optimal requantization-based rate adaptation for H.264[END_REF][START_REF] Hsua | An image size unconstrained ownership identification scheme for gray-level and color ownership statements based on sampling methods[END_REF].

On the graphical representation (Figs. [START_REF] Clark | Architectural considerations for a new generation of protocols[END_REF][START_REF] Schulzrinne | RTP: A transport protocol for real-time applications[END_REF][START_REF] Ksentini | Toward an improvement of H.264 video transmission over IEEE 802.11e through a cross-layer architecture[END_REF], when the PSNR reaches the top of the graphical zone (arbitrarily set to 70 dB), the computed value of the PSNR for these frames is infinite. It should be noted that a positive infinite PSNR value means that the received and sent frames are identical. In all other cases, the value of the PSNR measures the received frame's distortion.

Network Level Metrics

During the different simulations, many network parameters are constantly being monitored in order to observe the mechanism's behavior from different points of view. For that, both the bandwidth usage evolution and the packet loss rate are metrics of interest. They allow for proper observation of the transmission channel's induced distortions on the transmission, allowing for a first glance qualitative as well as a more in deep quantitative evaluation of the importance of both losses due to out of profile traffic and bandwidth limitations.

Considered Test Scenarios and Results

Test Scenarios Description

In order to demonstrate the benefits that can be achieved by using the xQoS-Interpreter in order to refine policing algorithms, various test cases have been studied. A summary of the parameters given to the simulated RBDC is given on Table 4 below.

The above test scenarios allow for evaluating both policing enhancement propositions against the default one in both medium and high load conditions. The RBDC parameters have been set so the minimal guaranteed throughput is 256 Kbps and the maximum available throughput is 512 Kbps. The average throughput evaluation is performed by the sender every 500 ms and the propagation RTT between the RCST and the NCC is set to be 600 ms. These parameters represent a typical DVB-RCS configuration for RBDC.

In all scenarios, if the RCST request is less than 256 Kbps, it is fully satisfied by the NCC, otherwise, the excess request is treated depending on the network load. For a medium load, the excess is randomly chosen by following a uniform distribution in [0; max(excess, 256 Kbps)] allowing for some excess request to be unsatisfied but some others to be fully granted. For the high load, the choice is made following a uniform distribution in [0; 0.5*max(excess, 256 Kbps)]. This allows for some excess requests to be unsatisfied but no request to be satisfied to more than 50% of the excess request thus simulating the high occupation of resources.

The audio track is encoded using the GSM/RTP codec which produces a 13.3 Kbps constant bit-rate (CBR) traffic; the video track is encoded using H.263/RTP resulting in the traffic profile presented on Fig. 8 below. The transmitted multimedia stream results of the multiplexing of the audio and video streams. The chosen parameters are such that the network conditions can be considered as extreme, especially in the case of high network load. However, the results show that, even in such scenarios, the use of the xQoS-Interpreter allows for an overall QoS improvement.

Results Presentation and Analysis

In what follows, we will conduct a comparative analysis of the different proposed policing algorithms in medium and high loaded networks as presented above.

The throughput depends on the various capacity requests issues (allocation plan) and as such, it is variable from the minimal guaranteed throughput (256 Kbps) value to the maximum achievable throughput (512 Kbps). The results obtained for the different algorithms in the medium and high network load contexts are summarized in Table 5 above and their evolution over time is presented on Fig. 91011.

The general interpretation when using the default policer is that the transmission takes place with high delay accumulation; the maximum accumulated delay being related to the buffer's size. Once the maximum accumulated delay is reached, packet loss start to appear (8 s after start on Fig. 9, left column) in an uncontrollable way as they result from lack of buffer space and hence, cannot be stored for proper processing. Also, the delay accumulation is not likely to be reduced. This is due to the fact that capacity requests are made considering only the last 500 ms' bandwidth profile ignoring the data already in the buffers. Even though the current bandwidth profile might be higher than the one of the already buffered packets, it can in no way be enough to dispatch all packets (buffered + newly arrived) as by nature, it is designed to be enough for the newly arrived packets only. This leads to losses of both audio and video packets as presented on Table 5 above.

Furthermore, after a delay accumulation bounded by the buffer's size, the default policer leads to uncontrolled packet losses (see Fig. 9). The importance of the loss is related to the network load. From the application's point of view, audio packet losses can rarely be tolerated 5 above and Fig. 9 shows that the received stream is heavily degraded with an average value (computed only for the frame which present a distortion from the original) varying from 15.66 dB to 16.07 dB.

Basic Enhancement: Flow Nature

The first proposed enhancement is to distinguish the media type when performing policing actions in order to give higher priority to the audio as illustrated by the simplified algorithm presented on Fig. 4.

The results obtained by this implementation are presented on Table 5 and Fig. 10. It appears that all the audio packets are flawlessly transported to destination. Due to the fact that out-ofallocation traffic is discarded instead of being buffered as in the default policer, all arriving packets are guaranteed to have reached their destination with minimal delay. As the GSM streams at 13.3 Kbps it is natural that no packets are lost resulting from out-of-allocation traffic discarding using this policing algorithm because the minimal guaranteed throughput on RBDC is 256 Kbps which is more than enough for the audio stream.

Given the fact that audio packets are typically of fixed size and in average smaller than video packets, the relative global packet loss is lower than in the previous scenarios while the video packet loss is slightly higher. Also, the fact that the algorithm does not tolerate delay accumulation, losses appear earlier (around 1 s as seen on Fig. 10).

When comparing the perceived video quality using PSNR, we can see that the modification of the video buffer management algorithm in which all the excess traffic is discarded (without further differentiation) already leads to an overall improvement of the PSNR with values 2.94 dB and 2.60 dB greater than the one obtained previously. This can be explained by the fact that losses still occur in a semi-random way at regular interval but their schema is different. Indeed, the new buffer management implies that most losses occur in sequence thus minimizing the distortion that can appear by the reception of image fragments or outof-sequence frames.

Another effect of this improved buffer management is a reduction of the progressively accumulated delay resulting in better perceived QoS (this can be observed in the simplified algorithm on Figs. 4 and5 by the fact that the buffer is fully emptied after each allocation period).

Advanced Enhancement: In Depth Flow Attributes

The second enhancement consists in more in depth use of the xQoS-Interpreter in order to further classify packets based on their intrinsic properties. For the video flow, we perform a selective discarding based on the ADU priority and intra-dependency attributes as illustrated by the simplified algorithm provided on Fig. 5.

As shown on Table 5, this scheduling does not diminish the effects of the previous enhancement as it still allows maintaining nonexistent audio packet loss. On the video side, the packet loss is slightly higher than in the previous scenarios, this can be explained by the fact that I frames are larger in average than P/B frames and thus, as we prioritize their transmission, the relative number of P/B frames lost is slightly higher. As it can be seen on Fig. 11, no high priority ADU (containing an I frame) are lost using the Advanced Enhancement while losses exist in the Basic and Default cases.

On the video quality metric shown on Table 5 as well as on Fig. 11, we can see that the PSNR is still much higher than in default DAMA scenarios (Med./Def. and High/Def.) with values 3.91 dB and 3.57 dB higher than in Med./Def. and High/Def. respectively. Moreover, when comparing the Med./Adv. and High/Adv. with the Med./Bas. and High/Bas. it appears that the improvement for the high load is the same as for the medium load (0.97 dB).

Experimentation Summary

From what we can see from the previously presented results, the basic policing algorithm used upon DAMA protocol leads to sub-optimal performances when handling multimedia To solve the audio media problem caused by undifferentiated scheduling of ADUs in the buffers, a very basic primitive provided by the xQoS-Interpreter (i.e. isAudio()) has been shown to provide great improvements over the default scheduling with zero audio packet loss. Moreover, this improvement performs well on the video flows as it allows for overall quality improvement.

Moreover, further usage of the xQoS-Interpreter allow for increased improvement on the video perceived (PSNR values improved up to 3.91 dB) while still maintaining the zero audio packet loss obtained previously but with better performance on video while under high loads. Again, the standard use of this xQoS-Interpreter API has allowed for optimizing the scheduling algorithms based on the ADU types, dependency and priorities.

Conclusion

This paper has introduced and evaluated enhancements for the experience of multimedia applications users over satellite, using a highly efficient assignment type of DVB-RCS access scheme (RBDC). These enhancements concern the scheduling and policing of multimedia flows using RBDC access class. A cross-layer interpreter (xQoS-Interpreter), based on ALF approach, is used to get information from multimedia flow and present them in a standard way to the resource management and selective discarding services. The scheduler and policer are then able to take intelligent decisions based on the knowledge of real-time applicative requirements. Moreover, their algorithms are defined in a generic way which is independent of the media or codec being transmitted. The experiments conducted, proved that the pro-posed cross-layer optimization can significantly improve the communication quality when compared to standard mechanisms not making use of the xQoS-Interpreter. The high priority audio flow is protected (no losses), while the PSNR of the video flow is improved by up to 3.91 dB.

These enhancements might be coupled with DVB-RCS access scheme enhancements aiming to predict the required rate of the traffic. In the future, we will study more in details scenarios including these access scheme enhancements.

Other applications of xQoS-Interpreter are foreseen in the satellite communications context and in other environment for various QoS services and mechanisms (transport, wireless, mobility…).

1 .Fig. 1

 11 Fig. 1 Satellite system architecture

Fig. 2

 2 Fig. 2 Mapping between MAC and IP queuing in the Satellite Terminal

Fig. 3

 3 Fig. 3 Scheduling algorithms overview

Fig. 6

 6 Fig. 6 Composite structure diagram of the DAMA MAC for RBDC

Fig. 7

 7 Fig. 7 Composite structure diagram of the DAMA return link for RBDC

Fig. 8

 8 Fig. 8 Traffic profile of the RTP/H263 packetized video sequence

Fig. 9

 9 Fig. 9 Bandwidth, losses and PSNR variation over time: default RBDC policer

Fig. 10

 10 Fig. 10 Bandwidth, losses and PSNR variation over time: basic RBDC policer Enhancement

Fig. 11

 11 Fig. 11 Bandwidth, losses and PSNR variation over time: advanced RBDC policer enhancement

Table 1

 1

	DAMA traffic assignment types characteristics	Traffic	Guaranteed	On demand
		assignment type
		CRA	Yes	No Permanently allocated
		RBDC	No	Yes Rate based and timer
		VBDC	No	Yes Volume based
		FCA	No	No Automatically distributed

Table 2

 2 QoS properties for ALF-based multimedia streams

	QoS properties	Description
	Identification
	Unique ID	Uniquely identifying every ADU within the same multimedia stream
	ADU type	Allowing to identify the various classes of ADU (i.e. sub-streams) within
		the multimedia stream (e.g. I, P and B frames for MPEG4 video streams)
	Stream type	Identifying the nature of the multimedia stream (e.g. audio, video, text, pic-
		tures, etc.)
	Session type	Classification of the session based on its requirements (e.g. conversational
		or interactive, messaging, streaming, gaming, etc.)
	Priority
	ADU priority	Giving the relative priority of a type of ADU (e.g. I pictures are "more
		important" than P pictures in H.264 or MPEG video streams)
	Presentation time	Providing an easy way to estimate the end-to-end tolerated delay for any
		given ADU (e.g. 150 milliseconds for interactive applications)
	Dependency
	Intra-dependency	Expressing the dependencies between a set of ADUs representing a seg-
		mented application object (e.g. dependency between various segments of
		an I picture)
	Inter-dependency	Aimed at expressing the dependency relationships between different classes
		of ADU (e.g. P pictures depend on I pictures)
	Synchronization dependencies Intended to represent the dependencies between synchronized streams of
		a same applicative session (e.g. lips synchronization between audio and
		video stream for a videophony session)

Table 3

 3 Using the xQoS-Interpreter for QoS functions optimization

	QoS function	Description	Use of the xQoS-interpreter
	Flow scheduling	Forwarding of packets	The xQoS-Interpreter could be used
		between end-system,	to define ADU-level scheduling
		networks and	policies based on priority related
		sub-networks, buffers	properties
		and queues
		management, etc.
	Flow classification and marking	Assigning traffic classes	The xQoS-Interpreter could be used
		to streams following	to implicitly deduce the
		specific classification	classification policies based on the
		policies	priority related properties
	Flow shaping	Definition of actions to be	Using the xQoS-Interpreter, these
		taken when the flow	actions or policies could be refined
		specification is violated	in order to respect the dependency
			and priority related properties
	Flow synchronization	Control of order and time	The xQoS-Interpreter could be used
		requirements for the	to define the synchronization
		delivery of multiple	policies in order to take into
		streams	account the ADU-level
			presentation time as well as inter,
			intra and synchronization
			dependencies between related
			streams
	Error control	Including detection,
		reporting and recovery
		of errors by
		retransmission or
		redundancy

Table 4

 4 Considered test scenarios

	Scenario		Policer	Network load
	Med.	Def.	Default	Medium
	High	Def.	Default	High
	Med.	Bas.	Stream type	Medium
	High	Bas.	Stream type	High
	Med.	Adv.	ADU Prio. &Dep.	Medium
	High	Adv.	ADU Prio. &Dep.	High
	Medium load: Allocated = 256 + uniform(0, max(excess, 256)); High load: Allocated = 256+0.5 * uniform(0,
	max(excess, 256))

Table 5

 5 Experimental results

	Scenario	Policer	Network load Global PL	Audio PL	Video PL	Average
				(%)	(%)	(%)	PSNR (dB)
	Med. Def. Default	Medium	16.12	6.65	18.96	16.07
	Med. Bas. Stream Type	Medium	14.74	0	19.17	19.01
	Med. Adv. ADU Prio. &Dep. Medium	15.67	0	20.27	19.98
	High Def. Default	High	21.15	10.09	24.47	15.66
	High Bas. Stream Type	High	18.5	0	2 4 .05	18.26
	High Adv. ADU Prio. &Dep. High	20.59	0	26.63	19.23

Fig. 4 Simplified basic buffer management algorithm based on stream type differentiation this is interpreted from the priority of the conveyed frame, this being either high (I frame) or low (P or B frame)). Given this, any low priority ADU in the buffers will only be able to get sent on the satellite channel if all audio and higher priority video packets can be sent.

The xQoS-Interpreter properties used to implement these algorithms are mainly intra-dependency, ADU priority and ADU type (stream type). In order to illustrate this enhancement, its simplified algorithm is presented on Fig. 5.

Case Study

In this section, the benefits of using of the xQoS-Interpreter to design improved scheduling algorithms in the satellite context are evaluated. After describing the simulation platform and efficiency metrics used for DVB-RCS RBDC assignment type, results comparing traditional buffer management with xQoS-Interpreter enhanced algorithms are presented.

Platform and Tools for DVB-RCS RBDC Simulation

Overview of DAMA RBDC Simulated Architecture

As previously mentioned, in order to illustrate the interest of the xQoS-Interpreter, it is used in constructing and testing various enhancements to the policing algorithm used upon the DAMA protocol. The objective is to improve the overall quality of multimedia transmissions.

Figure 6 presents a structural view of the DAMA MAC structure for the RBDC service presented before. Data submitted by the upper stack is received and buffered. Prior to its