QoS specification and mapping for distributed multimedia systems: A ...

11 downloads 22254 Views 155KB Size Report
1999 Elsevier Science Inc. All rights reserved. Keywords: ... degree of satisfaction of a user of the service''. Network. QoS support alone cannot guarantee the real-time performance ..... a contract between the user, the client and the network.
The Journal of Systems and Software 45 (1999) 127±139

QoS speci®cation and mapping for distributed multimedia systems: A survey of issues F. Cheong, R. Lai

*

School of Computer Science and Computer Engineering, La Trobe University, Vic. 3083, Australia Received 7 October 1996; received in revised form 25 March 1997; accepted 11 August 1997

Abstract The drastic improvement of network performance in terms of throughput and error rate coupled with the continuous increase in power of end-systems have led to the emergence of a variety of distributed Multimedia (MM) applications. The performance levels required by the distributed MM systems are expressed as Quality of Service (QoS). Network QoS support alone cannot guarantee the real-time performance required for distributed MM applications. Successful operation of distributed MM systems depends on the guaranteed support of all intervening layers including the end-systems. The guaranteed performance of these layers in turn is a€ected by the eciency of the support provided by: QoS speci®cation, QoS mapping or translation, QoS negotiation and re-negotiation, Resource monitoring and adaptation, and QoS architectures. Most people usually have a good understanding of a certain layer but not the others. However, to be able to deliver MM QoS, developers need to have a better understanding of several layers. This paper focuses on QoS speci®cation and mapping and aims to provide a survey of issues for those working on MM QoS so that they have a better view on these two areas which are important to MM QoS. Ó 1999 Elsevier Science Inc. All rights reserved. Keywords: QoS; QoS speci®cation; QoS mapping; QoS translation; QoS metrics

1. Introduction The drastic improvement of network performance in terms of throughput and error rate coupled with the continuous increase in power of end-systems have led to the emergence of a variety of distributed Multimedia (MM) applications. These applications integrate several media such as text, graphics, audio and video and have strict timing requirements. Distributed MM applications di€er from traditional applications in various ways. They generate large amounts of data and often involve groups of users requiring point-to-multipoint and multipoint-to-multipoint connections. They also require strict real-time performance from all components of the system, more speci®cally the operating system and computer network. Operating systems can o€er real-time performance guarantees only if resources are scheduled in real-time. This is not the case with the common operating systems such as MS Windows (event-driven instead of timedriven) and UNIX 1 (fair scheduling of resources based *

Corresponding author. Tel.: +613 9479 1107; fax: +61-3-470-4915; e-mail: [email protected]. 1 UNIX is a trademark of AT&T.

on FIFO ordering of queues). The currently widely used TCP/IP transport/network protocol operates on a best e€ort basis, and has no mechanism for the reservation of resources for guaranteeing the strict timing requirements. Distributed MM systems require the availability of real-time operating systems and transport/network protocols that can reserve network resources. The performance levels required by the distributed MM systems are expressed as Quality of Service (QoS). QoS is de®ned by ITU-T (ITU-TS, 1988) as ``a collective e€ect of service performance which determine the degree of satisfaction of a user of the service''. Network QoS support alone cannot guarantee the real-time performance required for distributed MM applications. Instead, integrated QoS support is required from all the intervening layers including the end-systems as well. Much of the work done on QoS support has been on the individual architectural layers. However, the need for addressing QoS as an integrated issue has been recognised, and currently there is a lot of research about integrated QoS architectures (Campbell et al., 1995). The very ®rst step (and also one of the most important) in requesting performance guarantees (QoS) from the distributed MM system is to specify

0164-1212/99/$ ± see front matter Ó 1999 Elsevier Science Inc. All rights reserved. PII: S 0 1 6 4 - 1 2 1 2 ( 9 8 ) 1 0 0 7 3 - 0

128

F. Cheong, R. Lai / The Journal of Systems and Software 45 (1999) 127±139

what these requirements are and to quantify them accurately. These QoS parameters have to be speci®ed for all the architectural layers (because the network architecture is layered); however, most average users would not be familiar with the QoS parameters of the lower layers. In view of this situation, it is more convenient to obtain sucient inputs from a user (expressed in user terms) and then to map these user QoS speci®cations to QoS parameters for the lower layers. It is very important to determine the correct set of accurate QoS parameters for the particular media being transported, otherwise QoS guarantees cannot be obtained despite the level of sophistication of the mechanisms used for negotiation and enforcement of QoS. The results will be disastrous, since these mechanisms are using ¯awed parameters. Successful operation of distributed MM systems depends on the guaranteed performance of the architectural layers; the guaranteed performance of these layers in turn is a€ected by the eciencies of the support provided by: QoS speci®cation, QoS mapping or translation, QoS negotiation and re-negotiation, Resource monitoring and adaptation, and QoS architectures. Most people usually have a good understanding of a certain layer but not the others. However, to be able to deliver MM QoS, developers need to have a better understanding of several layers. It would be too lengthy to present a detailed study of all these layers in one paper. Instead, this paper focuses on QoS speci®cation and mapping and aims to provide a survey of issues for those working on MM QoS so that they have a better view on these two areas which are important to MM QoS. 2. Overview of QoS support QoS is usually speci®ed as a set of parameters at the user level. These QoS parameters are then mapped or translated into resource requirements for the architectural layers (e.g. CPU, memory, etc for the operating system and bandwith, bu€ers, etc for the network). When the resource requirements have been determined, a negotiation process takes place between the calling user application, the network and the called user application to set up a contract detailing the level of resources committed by each party. The level of committed resources might or might not be the same as the original level of requirements, depending on the capabilities of the components involved and the availability of resources. If the level of resources committed by the various parties is acceptable to the calling user application, a contract is set up and the application is admitted to the system, otherwise it is not. Once a contract is agreed upon, the application can be started and a policing mechanism ensures that the various

parties abide to the contract. Non-conformance by the parties involved might lead to the termination of the application. The committed level of resources does not necessarily remain in force for the life of the communication session. The QoS can be upgraded or downgraded for several reasons (e.g. network congestion or more bandwith available, user wanting a higher/lower quality images, etc.) causing a re-negotiation process. The outcome is either a new resource contract or simply the termination of the session. Successful operation of distributed MM systems depends on the guaranteed performance of the architectural layers; the guaranteed performance of the layers in turn depends on the eciency of the support provided in the following areas: · QoS speci®cation. What QoS parameters should a user specify? What type of user interface is more appropriate for entering/selecting QoS? · QoS mapping or translation. How are the user QoS parameters translated to resource requirements? What are the methods available to ensure that resources are allocated eciently? What algorithms are available for performing translation functions? · QoS negotiation and re-negotiation. What models are available for negotiation and re-negotiation? · Resource monitoring and adaptation. How are the contracted levels of resources maintained? What type of monitoring mechanisms are required? How does the system react to overload conditions? · QoS architectures. How are the tasks of QoS speci®cation, translation, negotiation and monitoring organised and integrated into a communications architecture for building distributed multimedia applications? It would be very lengthy to present a detailed study of all these areas in one paper; instead this paper presents a survey of issues of QoS speci®cations at the user level and their mappings to QoS parameters for the di€erent layers of a distributed MM. 3. QoS speci®cation QoS represents the user's view of the service. In traditional applications such as graphics and text, good response time and reliability of information are sucient parameters for expressing user QoS. However, with multimedia information, perception plays an important role. Additional parameters are required to express the user QoS. Capturing these new user QoS parameters is not an easy task because users generally express them in a subjective manner (Tawbi et al., 1993). The objective of the QoS speci®cation phase is to allow users to express their perceived requirements in a userrelated manner which might be a combination of objective (e.g. image size) and subjective (e.g. image

F. Cheong, R. Lai / The Journal of Systems and Software 45 (1999) 127±139

quality) terms. The list of inputs should not be too long, otherwise users will be frustrated. Sucient inputs from the user are required for resource allocation, yet, users should be isolated from the process. By QoS speci®cation, we mean user-speci®ed QoS parameters, not QoS speci®cations (parameters) for the lower layers. In the literature surveyed, QoS speci®cation (whether it was explicitly mentioned or not), referred to any thing from user QoS down to network QoS; in many cases the user QoS was already mapped to QoS of lower layers. This created some diculties when we attempted to classify the user QoS speci®cations into speci®c areas. For example, some papers mentioned throughput and delay as QoS speci®cations. While it is true that these are QoS speci®cations, these parameters do not relate to user QoS; instead they are network-related QoS and they are are obtained by mapping the user QoS parameters to network layer QoS ones. Throughput is obtained by translating user QoS parameters such as frame rate, image size and resolution whereas delay is itself a user-speci®ed QoS parameter. In order to survey the issues on QoS speci®cation we propose to organize and discuss the issues around the following topics: · Areas to be speci®ed. What should a QoS speci®cation contain? i.e what areas should be speci®ed and what are their parameters? · User interface. How does the user specify QoS and what are the desirable features of the user interface for specifying QoS? · Classi®cation of applications. Are there applications with similar QoS requirements? If so, can they be grouped together and into how many classes? 3.1. Areas to be speci®ed QoS for MM applications can be speci®ed as temporal and spatial characteristics (Chou and Tokuda, 1992). Temporal characteristics include frame rate, sampling rate, data size, compression ratio, etc, while spatial characteristics include image resolution (pixels per frame) and colour depth (bits per pixels). However, these parameters alone are not sucient to request realtime performance from distributed systems. Variable delay in the network will a€ect media synchronization while congestion in the network will a€ect the level of service delivered. Furthermore, the QoS speci®cations should also contain the price a user is willing to pay for the service, otherwise the maximum level of service would be requested (Campbell et al., 1995). Thus, in addition to the spatial and temporal characteristics, parameters common to all communication systems such as end-to-end delay, message ordering and reliable delivery of messages are also proposed in Chou and Tokuda (1992).

129

The user QoS parameters speci®ed in Nirkhe and Baugher (1995) are: end-to-end delay and quality of presentation. The latter consists of a range of values from unreserved (bandwidth) through best-e€ort (service) to guaranteed (service) which are translated to speci®c metrics such as frame rate and maximum missed video frame ratio as well as minimum transmission rate and maximum error rate. Other parameters expressed in Tawbi et al. (1993) are: speaker recognition, intelligibility, naturalness of audio media and picture quality and video format. The user QoS parameters used in Vogel et al. (1994) are: media-type (text, image, audio, video, audio and video, composed-types), text-format (ascii, postscript), audio-quality (telephone, CD), color (black and white, gray, color, super-color), size (scalable, small, medium, large), frame-rate (TV-rate, reduced-rate, frozen-images), delay (seconds) and cost (dollars). These user QoS parameters are mapped to QoS parameters at the operating system interface, the database interface and the transport service interface. In Nahrstedt and Smith (1995b), QoS speci®cations were given for the application level, the system level (operating and communication system), the network level and the device level. The application level QoS included media characteristics (e.g. data rate, end-to-end delay) and media relations (e.g. inter/intra synchronization) as well as level of service (e.g. guaranteed, predictive and best-e€ort). A new scenario description language for multimedia presentation called MSDL-II was presented in Fujikawa et al. (1995). The QoS parameters mentioned at the application layer were classi®ed as intra-media QoS parameters, inter-media QoS parameters and degradation policy (how to degrade the quality of the presentation when the requested QoS cannot be maintained). Intramedia QoS parameters consist of latency (delay in the information), temporal crops (error rate of information on a temporal scale), spatial crops (rate of skipped information on a spatial scale such as resolution, color scale, display size or display area for video and sampling rate or sampling bit number for digital audio), and continuity (smoothness of degrading information). Intermedia QoS parameters include: latency (delay with which the presentation of a scheme begins), syncLag (time lag between start times of multiple information), and SyncType (how to synchronize multiple information when the synchronization is disordered). A set of QoS metrics that include continuity and synchronization speci®cations is proposed in Wijesekera and Srivastava (1995). The continuity speci®cations consist of the following pro®les: sequencing (tolerable aggregate and consecutive frame miss ratios), display rate (average rate of rendition and its variation), drift (average and bursty deviation of schedules for frames). The synchronization speci®cations include the following

130

F. Cheong, R. Lai / The Journal of Systems and Software 45 (1999) 127±139

pro®les: mixing (average and bursty losses of synchronization), rate (average rates and permissible deviations), synchronization drift (permissible aggregate and bursty time drifts between schedules of simultaneously displayable frames) One of the most comprehensive set of user QoS is proposed in Campbell et al. (1993b); Campbell et al. (1995). The user QoS and the potential degree of service commitment of the provider are formalized in a service contract which covers the following areas: · Flow performance. The ¯ow performance parameters express the trac characteristics of the ¯ow in quantitative terms. They are: media type (video, voice, data), frame size (frame/TSDU size), frame rate (token generation rate), burst (size of burst), peak rate (maximum transmission rate), delay (end-to-end delay), loss (error rate), interval, and jitter (end-to-end delay variation). · Flow synchronization. The ¯ow synchronization speci®cation expresses the degree of synchronization required between multiple related ¯ows. · Service commitment level. These parameters de®ne the resource requirements in a qualitative way in order to make a distinction between hard and soft guarantees. There are three broad classes of service de®ned: deterministic (required for hard real-time applications), statistical (allows a certain percentage of violations in the requested ¯ow speci®cations), and best-e€ort (lowest priority commitment). · QoS management policy. This clause de®nes the degree of QoS adaptation (continuous or discrete) that can be tolerated by the ¯ow and the possible scaling actions for coping with violation of the contracted QoS. · Cost of service. Cost of service should also be considered when requesting a service, otherwise the user will always request the highest level of service. In our survey, we shall follow the classi®cation scheme proposed in Campbell et al. (1993b); Campbell et al. (1995). However, we shall simplify the classi®cation by grouping ¯ow performance and synchronization into temporal and spatial speci®cations. 3.1.1. Temporal and spatial speci®cations Temporal and spatial speci®cations include the QoS parameters of Chou and Tokuda (1992), the media characteristics and relations of Nahrstedt and Smith, 1995b and the ¯ow performance and synchronization of Campbell et al. (1995). The details of the media characteristics and relations are given in Nahrstedt and Steinmetz (1995c). Media characteristics consist of intraframe and interframe characteristics. Intraframe characteristics are de®ned by component speci®cations such as name, size, rate, importance and loss rate. The interframe characteristics consist of media characteristics (sample size, sample rate,

compression, importance and direction) and transmission characteristics (end-to-end delay, sample loss rate and cost). Media relations are speci®ed by synchronization skew (upper bound on time o€set between two streams in a single direction), precedence relations (time o€set between two streams in di€erent directions), communication relation (communication topology e.g. peer-to-peer, multicast, or broadcast) and conversion relation (transformations of the medium). The following parameters are used for ¯ow speci®cation in Coulson et al. (1995): bu€er size (required bu€er size), priority (for resource preemption), latency (maximum tolerable end-to-end delay), error (maximum permissible number of bu€er losses or corruptions over a given time interval or probability of bu€ers being lost or corrupted), bu€er rate (rate at which bu€ers should be delivered), jitter (permissible tolerance in bu€er delivery time), delivery (this re®nes the meaning of bu€er rate, i.e. speci®es whether precise or work ahead delivery is required) The Movie Control, Access and Management (MCAM) (Fischer and Keller, 1995) application layer protocol uses the following user QoS parameters: period (this parameter determines the `speed' of the stream and is expressed by the following quali®ers: very fast, fast, normal, slow and very slow), quality (visual and/or audible quality of the stream expressed as very low, low, medium, high and very high quali®ers), reliability (how reliable the transmission and presentation should be; it uses the same quali®ers as quality), start o€set (receiver must know starting time so as to decide whether it is acceptable for synchronizing itself to the sender; it is expressed as minimal and default quali®ers), and delay (uses the same quali®ers as start o€set). In most of the earlier work on user QoS speci®cation, the emphasis was on temporal and spatial characteristics. Despite the fact that this group of QoS speci®cation has been well researched, there are still many issues. In order to carry MM data successfully over the network, it is necessary to understand their trac characteristics and QoS requirements. Several types of MM applications have variable bit rate (VBR) trac, and the determination of a set of parameters (and their accuracy) to characterize this VBR trac is still an open issue (Onvural, 1994). While the accuracy of the trac characterization can be augmented by increasing the number of trac parameters, this adds to the complexity of the trac policing functions (Liebeherr, 1995). Most stochastic trac models for VBR trac are either incapable of expressing the burstiness and the timely variations of the VBR ¯ow or they are too complex for practical implementation (Liebeherr, 1995). A non-stochastic method for VBR trac characterization can be found in Wrege and Liebeherr, 1995. Shaping of the VBR trac before it enters the network is considered as an alternative to alleviate the trac

F. Cheong, R. Lai / The Journal of Systems and Software 45 (1999) 127±139

characterization problem and is described in Hamdi and Roberts (1995). When specifying the ¯ow synchronization, the degree of synchronization between multiple related ¯ows have to be speci®ed (Little and Ghafoor, 1990). Synchronization involves respecting the strict timing conditions for data presentation, user interaction (random interaction such as starting, stopping, browsing, etc.) and physical devices (multiplexing di€erent media over a single physical connection or arrangement in physical storage). The problem of synchronization amounts to satisfying temporal precedence relationships under realtiming constraints (Little, 1994). The timing control information is best expressed by formal languages rather than computer languages, since the formal languages can be used for specifying various properties for subsequent analysis and validation (Little, 1994). Graph- (e.g. Timed Petri Nets) or language-based (including scripts) timing speci®cations can be used to express timing requirements for multimedia, however, they cannot de®ne all the requirements. Additional abstractions are required to support spatial transformations, composition of composite orchestrations, relative timing management, recursion, encapsulation, iteration, incomplete timing speci®cation, and support for user input (Little, 1994). The policies for handling late-arriving data are discussed in Little (1994). They include discarding them, extending the playout time of the previous element, substituting alternate data for the missing data, etc. The synchronization speci®cations should indicate component precedence, real-time constraints, the degree of relaxation (of absolute synchronization) that each medium can tolerate without adversely a€ecting quality of presentation as well as policies for handling situations where the required data is not available. Signi®cant issues remain in the following areas (Little, 1994): · Speci®cation and storage of temporal speci®cations. · Enforcement mechanisms for temporal speci®cations. · Policies for handling late-arriving data. 3.1.2. Service commitment level speci®cations The semantics of the QoS parameters are expressed by the degree or level of commitment of the service provider (Plagemann et al., 1995) and the two extreme QoS semantics are: best e€ort, where there are no guarantees provided, and deterministic where resources are allocated to guarantee the requested QoS. In Kurose, 1993, four approaches for providing QoS guarantees are identi®ed: the tightly controlled approaches, the approximate approaches, the bounding approaches, and the measurement-based approaches. The tightly controlled approach ensures that the trac characteristics of a ¯ow after multiplexing is the same as before multiplexing while the approximate approach uses simple models to characterize the trac. The

131

bounded approach places a performance bound on the packets of a session. Two types of guarantees are provided by the bounded approaches: statistical (e.g. delay to be between 0 and 150 ms) and deterministic (e.g. no more than 10% of the packets should have a delay exceeding 150 ms). In the observation based approach, previously made measurements are used for making admission decisions. There is little agreement on the type of guarantees required by distributed MM applications because of the lack of empirical data on their QoS requirements (Liebeherr, 1995). Deterministic guarantees require the allocation of considerable resources, and these might not be used eciently. Since, MM applications can tolerate some degradation in the level of service, QoS guarantees that are in between deterministic and best e€ort might be used. Some other issues concerning the provision of level of commitment are (Kurose, 1993): · Since QoS requirements are requested on a per-session basis, and sessions pass through several network nodes, evaluating performance requires the understanding of the complex intra-session and inter-session interactions. · User QoS are required on an end-to-end basis whereas many of the approaches provide QoS at a single multiplexing point. How should the end-to-end QoS be divided into local performance requirements? · The extent to which trac can be characterized by the statistical bounds. · The ability to bound (statistically or deterministically) the maximum length of each queue's busy period for a given set of trac speci®cation. · Concerning the observation based approach, the issues are: e€ects of di€erent measurement/estimation techniques and the overhead involved for the measurement. 3.1.3. QoS management policy speci®cations In order to deliver QoS guarantees, ®rstly, the requirements should be accurately de®ned, and assuming that this has been correctly done, then the next stages are (Nahrstedt and Smith, 1995b): QoS negotiation, resource admission, resource reservation/allocation, resource monitoring, resource adaptation. During the speci®cation stage we are concerned about specifying the policy for managing the requested QoS i.e we need to specify what type of negotiation to carry out, how to perform admission testing, how to allocate resources, how to monitor resources, how to adapt to changing conditions and what actions should be taken under what circumstances. QoS negotiation. Negotiation is necessary to produce a contract between the user, the client and the network and all parties involved in the contract should conform to their commitments.

132

F. Cheong, R. Lai / The Journal of Systems and Software 45 (1999) 127±139

The three most common forms of negotiation are (Nahrstedt and Smith, 1995b): · Bilateral peer-to-peer negotiation. This is also known as caller-to-callee negotiation and takes place between a caller and a callee; the service provider is not allowed to take part in the negotiations. · Bilateral layer-to-layer negotiation. This is also known as service-user-to-service-provider negotiation and takes place only between service user and provider (e.g. application-to-system or human user-to-application). · Triangular negotiation for a contractual value. Here a caller negotiates a minimal contractual value with the callee and the service provider. Resource admission. Admission tests should be done on every node on the path from the caller to the callee. The three main types of test are (Nahrstedt and Smith, 1995b): schedulability test (e.g. CPU or packet schedulability), spatial test (e.g. bu€er allocation), and link bandwidth test (e.g. host bus or network). Resource reservation/allocation. What approach should be used to reserve/allocate resources, the pessimistic (reserve resources for worst case) or the optimistic approach (reserve resources for average workload, but overload conditions should be taken care of)? What type of reservation protocol should be used for resource reservation/allocation? Resource reservation protocols can be sender- or receiver-initiated. There are three types of receiver-initiated reservation protocols (Nahrstedt and Smith, 1995b): wildcard-®lter style (a receiver creates a single reservation which is shared among all senders for the given session), ®xed ®lter (each receiver selects the particular sender whose packets it wants to receive), and dynamic ®lter style (each receiver creates N distinct reservations to carry CM data from up to N di€erent senders). Resources can be allocated immediately or in advance. Resource monitoring. Once the QoS contract has been negotiated and agreed upon, the negotiated resource levels must be maintained. A resource monitoring mechanism has to be provided to ensure that the contracted QoS levels are maintained. The overheads introduced by the monitoring mechanism should not a€ect the communication process so as to violate the contracted QoS. The resource monitoring mechanism can be end-user driven (end-user queries network about the status of the resources) or network-driven (network regularly reports on resource status). The design and implementation of the monitoring mechanism is not a trivial task (Nahrstedt and Smith, 1995b). In order to monitor resource usage, the following aspects should be considered: · CPU scheduling. What type of scheduling policy should be used? This depends on the characteristics of the media to be processed. Continuous media data require real-time processing and the two most rele-

vant algorithms for CM are earliest deadline ®rst (EDF) and rate-monotonic algorithms. · Bu€er management. Conventional bu€er techniques such as paging and swapping that are used to increase memory size are not suitable for guaranteeing the strict timing conditions of MM data. Instead the o€set management system (where a bu€er is placed in one memory segment) and the scatter/gather system (where a request for bu€er space is satis®ed by linking in a new memory segment) are more appropriate (Nahrstedt and Smith, 1995b). · Flow control. The data ¯ow rate should be controlled in order to respect the negotiated data rates. The rate-based scheduling disciplines that can be used by MM data are (Nahrstedt and Smith, 1995b): Virtual Clock, Delay Earliest Due Date, Jitter Earliest Due Date and Weighted Fair Queuing. Trac shaping schemes such as the Leaky Bucket can also be used to bound delays in the rate-based disciplines. · Error control. Traditional error detection and correction mechanisms are not adequate for MM data; new mechanisms are required. Extended error detection techniques (such as detecting destruction of frame boundaries in MPEG-2 encoded data) and preventive error correction methods such as forward error correction (FEC) and priority channel coding are more appropriate. Resource adaptation. If the contracted levels of resources cannot be maintained, then the resource monitoring mechanism should notify the change in QoS so as to consider re-negotiation and adaptation. The overload condition can be handled in two ways (Nahrstedt and Smith, 1995b): network or source adaptation. The network can use such mechanisms as routing, load balancing to solve the problem whereas source adaptation uses a feedback mechanism to detect overload conditions and adapt the source data rate accordingly. The use of a set of user acceptable range of values for each of the spatial and temporal parameters (e.g. minimum, maximum, and intermediate values) as opposed to single values is advocated in Chou and Tokuda, 1992. This will facilitate negotiation and the scaling up/down of the QoS whenever the case arises. Many of functions and mechanisms cited above are still research issues (Nahrstedt and Smith, 1995b). 3.1.4. Cost of service speci®cations The inclusion of the cost of the service in the QoS speci®cations has been advocated by several authors Campbell et al. (1993a, b); Vogel et al. (1994), because otherwise the user will always choose the highest level of service. Deterministic level of service is based on ®xed resource levels of service whereas statistical level of service is based on shared resource allocation, and the latter encourages a high level of resource utilization

F. Cheong, R. Lai / The Journal of Systems and Software 45 (1999) 127±139

(Campbell et al., 1993a). A pricing policy should motivate the user to select statistical guarantees rather than deterministic guarantees, however, how this will be implemented is still under study (Campbell et al., 1993b). In telephone networks, only one type of service is o€ered and the costs for providing such a service is known; the objective of pricing in this case is to recover costs and make some pro®t. In the TCP/IP Internet, regional costs are supported by governmental funds while LAN costs are borne by organizations using them, in addition the organizations have to pay membership fees for the regional network and this is not usage sensitive (Parris and Ferrari, 1992). In multiservice networks, the objective of pricing is not only for the service provider to make a pro®t but also to control user demand to prevent network congestion and optimize network usage (Parris and Ferrari, 1992). In Vogel et al. (1994), it is suggested that pricing should depend on the primary QoS parameters as well as on other parameters such as daytime, day of the week, etc. In Ferrari (1995), a service-dependent as well as usage-dependent charging is advocated. For example, a deterministic channel with an end-to-end delay of 250 ms should be charged more than a channel with a delay bound of 400 ms. The things that can be priced are suggested to be Parris and Ferrari (1992) to be: the amount of resources that are reserved, the number of packets, the duration of the connection, the time of the day, the priority of connection termination and the quality of service. The pricing of connections in multiservice networks is thus very complex and has not been well studied up to now. The criteria for a pricing policy are enumerated in Parris et al. (1992): 1. Service providers should collect revenue commensurate with the quality of service provided to the client. 2. Clients should be able to predetermine the charges for the services they need. 3. Client actions that will decrease the eciency of the network should be discouraged. 4. The pricing mechanism should be implemented with the minimal overhead. 5. There should be a simple relationship between the performance characteristics and the revenue of the network. In Parris et al. (1992), the problems of conventional pricing policies are evaluated. In Flat Per-Packet pricing, users are charged on the basis of the number of packets sent regardless of the class of service. This policy does not allow service providers to collect revenue in accordance with the QoS used and clients are not encouraged to make ecient use of the network. In Peak Load pricing, peak load period prices are higher than

133

non-peak load period prices. There are two types of peak load pricing policies: Static Peak Load pricing where peak load periods are predetermined and Dynamic Peak Load pricing where peak load periods depend on the network load. Peak load pricing policies su€er the same de®ciencies as for Flat per-packet pricing, and in addition Dynamic Peak load pricing does not allow the client to predetermine the service costs. In Priority pricing, clients are served according to their priority levels and per-packet charges applied accordingly. This scheme does not allow service providers to collect the required level of revenues and it does not allow clients to predetermine the service charges. It also has implementation overheads since the priority levels of each packet has to be examined and these priorities and associated costs have to be recorded for each packet. To address the de®ciencies of conventional pricing policies, a new pricing policy is proposed (Parris et al., 1992) which charges traditional resources such as bandwidth, bu€er space, CPU time and in addition a delay resource. The bandwidth, bu€er space and the CPU time are directly related to the QoS requirements and can be easily quanti®ed. However, the delay resource cannot be directly related to the QoS requirements. It can be evaluated as ``the loss of network potential to admit other channels due to the admission of the channel being created''. The delay resource is inversely proportional to the delay and directly proportional to the probability of no lateness requirements of the channel. The drawback of the method is its use of coecients re¯ecting the relative scarcity of the resources. These coecients should be determined from very complex functions which take into consideration a variety of conditions such as resource availability, economic climate and political concerns. A pricing scheme is proposed for multiple service class networks (Internet) in Cocchi et al. (1991) where prices are based on service classes. However, the scheme is static and it does not consider trac load and variations in service and trac parameters. Another pricing policy is presented in Sairamesh et al. (1995), and is based on economic models (i.e. on user demand). Users are charged on their trac characteristics such as burstiness. This pricing scheme is still under investigation in large networks for admitting and routing sessions. We also believe that instead of entering a cost value in the QoS speci®cation, it would be better if the cost factor is calculated from the selected QoS parameters and displayed to the user for acceptance. Users would then have the options of accepting the QoS speci®cation, or upgrading/downgrading it to meet their cost budget. This would greatly facilitate the speci®cation stage since users would be prevented from entering contradictory objectives such as maximum quality and minimum costs and furthermore it is hard for users to

134

F. Cheong, R. Lai / The Journal of Systems and Software 45 (1999) 127±139

determine what cost value to enter. However, given a cost value, they can easily say whether it is acceptable or not. Costs are also involved in access rights for databases as well as copyrighted information Vogel et al. (1994). 3.2. User interface The importance of providing a suitable user interface to facilitate the choice of QoS parameters has been realized only recently (Vogel et al., 1995). Shorthand speci®cations are proposed in Campbell et al., 1993a for describing channel types. For example, Hi®Audio speci®es a bandwidth of 2 Mbps, a jitter of 2 ms, a delay of 250 ms, a deterministic guarantee and an error rate of 10ÿ5 ; StandardVideo speci®es a bandwith of 25 Mbps, a jitter of 10 ms, a delay of 250 ms, a probabilistic guarantee and an error rate of 10ÿ3 . In Vogel et al. (1994), a user interface called quality query by example is proposed since it is assumed that the user is not willing to deal with raw numbers. So, the user is presented with a set of prede®ned parameters which corresponds to his/her experiences (e.g. telephone audio or cd audio quality). The user can check the prede®ned parameters by listening/watching some examples. The interface also memorizes user pro®les to avoid him/her repeating the lengthy selection process (Vogel et al., 1995). The quality query by example is only appropriate for selecting presentational parameters such as video, images and sound; it is less appropriate for selecting response time or synchronization parameters. A sliding control would be more appropriate for such parameters (Vogel et al., 1995). A tuning service with sliding controls is proposed in Nahrstedt (1995a). The user interactively speci®es his QoS parameters by viewing/ listening video/audio test sequences and adjusting a set of sliders to select the required video/audio characteristics. It is argued that the user interface should allow users to input contradicting objectives such as maximum video quality and minimum cost (Plagemann et al., 1995). Operational research methods would then be used to reformulate these multiple (contradicting) objectives as a single objective problem by either using a weighted combination of the di€erent objectives or replacing some of the objectives by constraints. The user interface should also allow the user to enter a range of values for some parameters such as (Chou and Tokuda, 1992): minimum and maximum temporal resolutions, array of temporal resolution classes, minimum and maximum spatial resolutions, array of spatial resolution classes. In Fischer and Keller (1995), it is suggested that the number of parameters entered by users be kept to a minimum and be meaningful to users, otherwise they will ®nd the user interface unacceptable. More research is needed to design a general-

ized user interface suitable for most multimedia applications. 3.3. Classi®cation of applications There are two schools of thought concerning the classi®cation of applications (Campbell et al., 1995). One school believes that all ¯ows can be classi®ed into a small set of general service (in end systems) and trac (in the network) classes with well de®ned delay, burstiness and loss characteristics. The other school advocates that ¯ows are application speci®c; new applications will require new trac classes. In Gopalakrishnan and Parulkar (1994), it is argued that most multimedia applications could be grouped into four classes: isochronous (compressed and uncompressed continuous media applications), burst (bulk data transfer applications), message delay bounded (low delay applications with bounds on the message delay) and message rate bounded (low delay applications with bounds on the message rate). Classi®cation of applications with similar QoS requirements helps in reducing the complexity of providing QoS guarantees to distributed MM applications; however, the feasibility of such a proposal can only be known when deeper insights are obtained on the QoS requirements of these applications. 4. QoS mapping Once the user has speci®ed his/her QoS requirements, the next stage is the mapping of these requested QoS to QoS parameters for the lower layers of the distributed MM system. Mapping can involve direct copying of user QoS values to QoS parameters of a particular layer (such as delay of 40 ms), or more involved procedures (such as converting frame rate, image size and resolution into bandwith values at the network level). In some cases, the user QoS might be translated to con¯icting parameters at the lower layers. In order to survey the issues on QoS mapping we propose to classify and discuss the issues as follows: · Architectural layers. What are the architectural layers of a distributed MM system? · Layer parameters. What parameters are used at each architectural layer? · Translation algorithms. How are the user QoS parameters translated to layer parameters? What are the translation algorithms available? 4.1. Architectural layers The architectural layers of the OSI reference model cannot support distributed MM applications because the model lacks the notion of QoS (the notion exists in

F. Cheong, R. Lai / The Journal of Systems and Software 45 (1999) 127±139

the OSI standards, but it is incomplete and inconsistent (Campbell, 1993a)). Several authors have proposed di€erent architectural layers for distributed MM systems; they are all QoS based. The QoS-A proposed in Campbell et al. (1993a) has the following layers: distributed systems platform (application and operating system), orchestration layer (for monitoring on-going temporal relationship between streams), transport layer and network layer. In addition there are several planes: the protocol plane (consisting of the user and control planes), the QoS maintenance plane, and the ¯ow management plane. A simpli®ed QoS-A showing only the architectural layers is shown in Fig. 1. The OMEGA architecture (Nahrstedt and Steinmetz, 1995c) is composed of the following layers: user, application level, system level (operating and communication systems), and the multimedia devices level and the network level. This is shown in Fig. 2. Although QoS is agreed to be the unifying theme around which distributed MM systems should be built there is no general consensus as to what these architectural layers should be. For the purpose of our survey, we shall consider the following architectural layers: application, operating system, transport/network layers. 4.2. Layer QoS parameters In this section, we identify the necessary QoS parameters that are required at the architectural layers of the distributed MM system that we have identi®ed in Section 4.1. QoS parameters are required at each layer to reserve resources (and control their availability) at that layer in order to deliver the requested overall user QoS. All the QoS parameters supplied by the user should be passed on to the application layer, from where it will be mapped to parameters for lower layers requiring them.

Fig. 1. Architectural layers of QoS-A.

135

Fig. 2. Architectural layers of OMEGA.

4.2.1. Application layer QoS parameters The application layer requires parameters in all the areas speci®ed by the user (i.e all the user QoS parameters), however, these parameters need to be in quantitative terms. Most of the user QoS would be in subjective terms (e.g. good resolution), qualitative terms (e.g. CD quality), or in other non-quantitative terms (e.g. the tuning service described in Section 3.2). Some form of translation would be required to transform the user QoS into quantitative terms. The translation of user QoS to application QoS is not a problem since there are well-known methods to deal with it. The most common method is to store the QoS parameters, their qualitative and quantitive values in a database which would be accessed by the application to retrieve the quantitative values for the required parameters. The issues that exist for specifying the application layer QoS are the same as those for specifying the user QoS, namely: what QoS parameters (and their values) are required, in what areas, and for what types of applications. 4.2.2. Operating system QoS parameters QoS parameters are required to reserve resources (particularly the scarce ones) controlled by the operating system to guarantee real-time operation. At the operating system level, these resources are: the CPU, bu€ers, I/O bus, and the multimedia devices. Since the most limited resource is the CPU, most of the research on QoS support in the operating system has been on CPU scheduling issues (Anderson et al., 1992; Govindan and Anderson, 1991; Liu and Layland, 1993; Je€ay et al., 1992). In Hyden (1994), an application's CPU requirements are de®ned by its Processor Bandwith (PB) which is ex-

136

F. Cheong, R. Lai / The Journal of Systems and Software 45 (1999) 127±139

pressed as a percentage of the total available processor resource. Since PB does not indicate when the processor is required, an equivalent reprsentation is the pair (c,t), where c is the processor time allocated to the process every t seconds. Bandwidth provides a convenient means of describing processor requirements, but for some applications it is a simpli®ed description of the actual requirements. Temporal requirements can be met by allocating sucient bandwidth, but ecient use of the processor will not always result. The behaviour of the operating system is de®ned through (Nahrstedt and Steinmetz, 1995c) system parameters which de®ne CPU requirements for scheduling (e.g., task start time, duration and deadline) and bu€er allocation for the stream. Two sets of parameters are used: application subsystem and transport subsystem. The application parameters consist of the tasks per medium speci®cations (name, priority, start time, time deadline, duration, period and task ordering) and the space requirements speci®cation (bu€ers). The transport subsystem parameters consist of the tasks per connection speci®cations (similar to the tasks per medium speci®cations) and the space requirements speci®cation. The UNIX operating system does not support realtime operations because its designed objectives of fair use of resources and FIFO ordering of queues for communications may violate the timing constraints of continuous media applications (Nakajima and Tezuka, 1994) and it does not support the reservation of CPU (Plagemann et al., 1995). In general, only real-time operating systems support the reservation of CPU. Much of the research on providing QoS support in operating systems have placed emphasis on maintaining compatibility with UNIX. The two main approaches are (Campbell et al., 1995): modifying the UNIX kernel for more predictable behaviour and re-implementing UNIX as a micro-kernel model (examples of micro-kernels are Chorus, Mach, etc.). 4.2.3. Transport/Network layer QoS parameters Transport QoS parameters are required to reserve resources across several networks whereas network QoS parameters are applicable over single network connections. The transport/network QoS parameters are widely covered in the literature. The commonly used transport/network QoS parameters are: · Throughput. Distributed MM applications require high bandwith, but this can be lowered when compression schemes are used to eliminate the repetition of information usually found in visual applications. ISO MPEG-2 has emerged as the preferred compression scheme for video-on-demand (VOD), while ITUT H.261 has been accepted by industry for compressing videoconferencing and video telephony (Dixit and Skelly, 1995). In ATM networks, QoS is closely relat-

ed to the bandwidth allocated to the connection (de Prycker, 1995), insucient bandwith resulting in decreased QoS. · End-to-end delay. End-to-end delay (in an ATM network) is the sum of several types of delays: coding, packetization, propagation, transmission, switching, queuing and reassembly. Di€erent types of applications have di€erent tolerances of end-toend delay. · Jitter. Jitter is the variation in end-to-end delay; it causes synchronization problems between the sender and receiver and thus should be kept between within a small upper and lower bound. Jitter is caused by queuing at intermediate nodes in the communication network. It can be reduced by bu€erring the packets at the receiving end. · Error rate. Error rate consist of packet and bit error rates (BER). Packet error rates depend on the size of the Transport Protocol Data Unit (TPDU) at the transport layer and the Transport Service Data Unit (TSDU) at the Transport Service Access Point (TSAP) while bit error rates depend on the reliability of the network (Leopold et al., 1993). The Continuous Media and Transport Service (CMTS) (Wol®nger and Moran, 1991) uses the following QoS parameters: Dstream , Serr , Werr and REPLACE. Dstream is the maximum delay for the continuous media stream, Serr is the maximum granularity (in bytes) of a data loss caused by data corruption or bu€er over¯ow. Serr can be interpreted as an upper bound on the packet size of the stream. Werr speci®es a lower bound on the probability that a unit of data transfer is correctly delivered. REPLACE is a boolean that indicates whether corrupted data should be replaced by dummy data instead of being delivered as it is received or discarded. Three quality indexes are used as QoS parameters in Ferrari et al. (1993), viz: trac throughput (bandwidth), transmission delay (speci®ed as an absolute or probabilistic bound on the delay of the trac in the network and as well as a bound on delay variation) and transmission reliability (this index is related to bu€ering mechanisms and is speci®ed as a probabilistic bound on packet losses). The transport QoS parameters used in Leopold et al. (1993) are: throughput, end-to-end delay, jitter, priority (high priority connections are serviced before lower ones, and in case of congestion lower priority connection packets are dropped before high priority ones) and error rate. In Nahrstedt and Steinmetz (1995c) network parameters (for a single network connection) are grouped into three categories: throughput, trac and performance speci®cations. The throughput speci®cations include: connection identi®cation, packet size, throughput, and burstiness. The parameters for specifying trac charac-

F. Cheong, R. Lai / The Journal of Systems and Software 45 (1999) 127±139

137

teristics are: packet loss rate, intermediate delay and packet end-to-end delay. The performance speci®cations are determined by the following parameters: ordering, error correction, fragmentation/reassembly, communication type, cost and priority.

issues were still under investigation using the speci®cations written in the ESTEREL language.

4.3. Translation algorithms

In a distributed MM system, QoS speci®cations at the user level are the ultimate requirements of the system; all the underlying layers are to cooperate to meet these requirements. This paper has presented a survey of issues of QoS speci®cations at the user level and their mappings to QoS parameters for the di€erent layers of a distributed MM system. Since QoS represents the user's view of a service, the task of specifying QoS is dicult because of the many types of users, services and subjective views of the users. We used the following topics to classify and organize the QoS speci®cation issues: Areas to be speci®ed, User interface, and Classi®cation of applications. In the literature surveyed, QoS speci®cations referred to any thing from user QoS down to network QoS parameters. For example, some papers mentioned throughput and delay as user QoS speci®cations. While it is true that these are QoS speci®cations, these parameters do not necessarily relate to user QoS. Delay is a user-speci®ed QoS parameter, but throughput is in fact a network-related parameter obtained by translating user QoS parameters such as frame rate, image size and resolution. We classi®ed and discussed the QoS mapping issues as follows: Architectural layers, Layer parameters, and Translation algorithms. There have not been a lot of work done in this area. A major problem is that there is no clear mapping between the user QoS and the lower layers. In some cases, the user QoS might be translated to con¯icting parameters at the lower layers. The mapping process is non-trivial and needs to be automated. To conclude, much of the work done on QoS speci®cation and mapping has been targeted to the individual architectural layers of the distributed multimedia system. More work needs to be done on QoS speci®cation and mapping so as to obtain integrated QoS support from all the intervening layers between the end-systems.

An example of a translation algorithm is given in Gopalakrishnan and Parulkar (1995) as follows: 1. Scale up the data sizes to be transmitted by including header and retransmission overheads introduced by the protocol and partition the maximum delay that can be tolerated by the application into sender, network and receiver delay. 2. Use the scaled data sizes to determine network QoS parameters such as bandwidth and delay. 3. Determine the protocol processing requirements at the sender (and the receiver) from the network bandwidth and delay of the sender (or receiver). The computation time for the protocol to code a protocol data unit (PDU) must be known in order to determine the protocol processing requirements. Assuming that T represents the time required to transmit N PDUs, and C is the time required to compute them, the coding start time and the deadline by which the coding should be ®nished can be determined. Hence, the values of T and C can be used to reserve CPU capacity. In the MCAM protocol, the user QoS given in Section 3.1 are mapped to the transport QoS parameters of throughput, MTU (maximum transfer unit), reliability, burstiness, delay and jitter. The details of this mapping process can be found in Fischer and Keller (1995). However, the mapping to operating system's parameters were not shown because the operating system used (UNIX) did not have a real-time scheduler. A mechanism for translating user QoS parameters to ATM parameters is proposed in Jung and Seret (1993). However, they only considered user QoS that are related to performance only and furthermore, they looked at only one AAL type (i.e CBR video service) and one method of FEC/Interleaving (Forward Error Correction/Interleaving should be supported by the CS sublayer according to higher layer requirements to provide protection against errors). They also make mention about extending the translation mechanism for QoS veri®cation i.e. the reverse translation of ATM QoS parameters to user QoS parameters so that the user can verify if the ATM network can satisfy the contracted QoS. In Coulson et al. (1995), user QoS are translated into QoS parameters for the CHORUS operating system and an ATM network. Application layer QoS expressed as ¯ow speci®cations are translated into CPU, memory and network resource requirements. Flow synchronization

5. Conclusions

References Anderson, T.E., Bershad, B.N., Lazowska, E.D., Levy, H.M., 1992. Scheduler activations: E€ective kernel support for the user-level management of parallelism. ACM Transactions on Computer Systems 10 (1), 53±79. Campbell, A., Aurrecoechea, C., Hauw, L., 1995. Architectural perspectives on QoS management in distributed multimedia systems. In: Proceedings of the Second Workshop on Protocols for Multimedia Systems, Salzburg, Austria, pp. 329±353. Campbell, A., Coulson, G., Garcõa, F., Hutchison, D., Leopold, H., 1993a. Integrated quality of service for multimedia communica-

138

F. Cheong, R. Lai / The Journal of Systems and Software 45 (1999) 127±139

tions. In: Proceedings of IEEE INFOCOM '93, San Francisco, pp. 732±749. Campbell, A., Coulson, G., Hutchison, D., 1993b. A multimedia enhanced transport service in a quality of service architecture. In: Proceedings of the Fourth International Workshop on Network and Operating System Support for Digital Audio and Video, Lancaster, UK, pp. 124±137. Chou, S.T.-C., Tokuda, H., 1992. System support for dynamic QOS control of continuous media communication. In: Proceedings of the Third International Workshop on Network and Operating System Support For Digital Audio and Video, San Diego, USA, pp. 363±368 . Cocchi, R., Estrin, D., Shenker, S., Zhang, L., 1991. A study of priority pricing in multiple service class networks. In: Proceedings of the SIGCOMM '91 ± Communications Architectures and Protocols, Zurich, Switzerland, pp. 123±129. Coulson, G., Campbell, A., Robin, P., Blair, G., Papathomas, M., Shepherd, D., 1995. The design of a QoS-controlled ATM-based communications system in chorus. IEEE Journal on Selected Areas in Communications 13 (4), 686±699. de Prycker, M., 1995. Asynchronous Transfer Mode Networks ± Solution for Broadband ISDN. Prentice Hall, Englewoods Cli€s, NJ. Dixit, S., Skelly, P., 1995. MPEG-2 over ATM for Video Dial Tone Networks: Issues and Strategies. IEEE Network, 30±40. Ferrari, D., 1995. The tenet experience and the design of protocols for integrated-services internetworks. Technical report, International Computer Science Institute, Berkeley, California. Ferrari, D., Ramaekers, J., Ventre, G., 1993. Client-network interactions in quality of service communication environments. In: Danthine, A., Spaniol, O. (Eds.), Proceedings of the IFIP Conference on High Performance Networking. Elsevier, Amsterdam, pp. 221±234. Fischer, S., Keller, R., 1995. Quality of service mapping in distributed multimedia systems. In: Proceedings of the International Conference on Multimedia and Networking, Aizu, Japan, pp. 132±141. Fujikawa, K., Matsuura, T., Shiroshima, T., Shimojo, S., Miyahara, H., 1995. MSDL-II: A scenario language with QoS scheme in a distributed multimedia system. In: Proceedings of the Second Workshop on Protocols for Multimedia Systems, Salzburg, Austria, pp. 375±384. Gopalakrishnan, R., Parulkar, G., 1995. A Framework for QoS Guarantees for Multimedia Applications within an Endsystem, Technical Report, Washington University, Saint Louis, MO, USA. Gopalakrishnan, R., Parulkar, G.M., 1994. Ecient quality of service support in multimedia computer operating systems, Technical Report WUCS-94-26, Department of Computer Science, Washington University. Govindan, R., Anderson, D., 1991. Scheduling and IPC mechanisms for continuous media. ACM Operating Systems Reviews 25 (5), 68±80. Hamdi, M., Roberts, J.W., 1995. QoS guarantees for shaped bit rate video connections in broadband networks. In: Proceedings of the International Conference on Multimedia and Networking, Aizu, Japan, pp. 153±162. Hyden, E.A., 1994. Operating system support for quality of service, Ph.D Thesis, Wolfson College, University of Cambridge. ITU-TS, 1988. Recommendation E.800, Terms and De®nitions Related to the Quality of Telecommunication Services. Je€ay, K., Stone, D., Smith, F., 1992. Kernel support for live digital audio and video. Computer Communication 15 (6), 388±395. Jung, J., Seret, D., 1993. Translation of QoS parameters into ATM performance parameters in B-ISDN. In: Proceedings of the IEEE INFOCOM '93, vol. 2., IEEE, New York, pp. 748±755. Kurose, J., 1993. Open issues and challenges in providing quality of service guarantees in high-speed networks. ACM Computer Communications Review 23 (1), 6±15.

Leopold, H., Campbell, A., Hutchison, D., Singer, N., 1993. Towards an integrated quality of service architecture (Qos-A) for distributed multimedia communications. In: Danthine, A., Spaniol, O. (Eds.), Proceedings of the IFIP Conference on High Performance Networking. Elsevier, Amsterdam, pp. 169±182. Liebeherr, J., 1995. Multimedia Networks: Issues and Challenges. IEEE Computer, 68±69. Little, T.D.C., 1994. Time-based media representation and delivery. In: Buford, J.F.K. (Ed.), Multimedia Systems, ch. 7. ACM Press, New York, pp. 175±200. Little, T.D.C., Ghafoor, A., 1990. Synchronization properties and storage models for multimedia objects. IEEE Journal on Selected Areas in Communications 8 (3), 413±427. Liu, C.L., Layland, J.W., 1993. Scheduling algorithms for multiprogramming in a hard-real-time environment. Journal Assoc. Computing Machinery 20 (1), 46±61. Nahrstedt, K., 1995a. An architecture for end-to-end quality of service and its experimental validation, Ph.D Thesis, University of Pennsylvania. Nahrstedt, K., Smith, J.M., 1995b. The QOS Broker. IEEE Multimedia, 53±67. Nahrstedt, K., Steinmetz, R., 1995c. Resource management in networked multimedia systems. IEEE Computer. Nakajima, T., Tezuka, H., 1994. A continuous media application supporting dynamic QOS control on real-time Mach. In: Proceedings of the ACM Multimedia '94 Conference, San Francisco, CA, pp. 289±297. Nirkhe, V., Baugher, M., 1995. Quality of service support for networked media players. In: Proceedings of the International Conference on Multimedia and Networking, Aizu, Japan, pp. 234± 238. Onvural, R.O., 1994. Asynchronous Transfer Mode Networks: Performance Issues, Artech House. Parris, C., Ferrari, D., 1992. A resource based pricing policy for realtime channels in a packet-switching network, Technical Report TR-92-018, International Computer Science Institute, Berkeley, California. Parris, C., Keshav, S., Ferrari, D., 1992. A Framework for the Study of Pricing in Integrated Networks, Technical Report TR92-016, International Computer Science Institute, Berkeley, California. Plagemann, T., Saethre, K.A., Goebel, V., 1995. Application requirements and QoS negotiation in multimedia systems. In: Proceedings of the Second Workshop on Protocols for Multimedia Systems, Salzburg, Austria, pp. 411±425. Sairamesh, J., Ferguson, D.F., Yemini, Y., 1995. An approach to pricing, optimal allocation and quality of service provisioning in high-speed networks. In: Proceedings of the IEEE INFOCOM'95, vol. 3, pp. 1111±1119. Tawbi, W., Fedaoui, L., Horlait, E., 1993. Dynamic QoS issues in distributed multimedia systems. In: Spaniol, O., Williams, F., (Eds.), Broadband Islands: Towards Integration. Elsevier, Amsteram, pp. 117±124. Vogel, A., Kerherve, B., von Bochman, G., Gecsei, J., 1995. Distributed multimedia and QOS: A survey. IEEE Multimedia Magazine 3, 10±19. Vogel, A., von Bochmann, G., Dssouli, R., Gecsei, J., Ha®d, A., Kerherve, B., 1994. On QoS negotiation in distributed multimedia applications. In: Proceedings of the Protocol for High Speed Networks. Wijesekera, D., Srivastava, J., 1995. Quality of Service (QoS) metrics for continuous media. In: Proceedings of the Second Workshop on Protocols for Multimedia Systems, Salzburg, Austria, pp. 355± 374. Wol®nger, B., Moran, M., 1991. A continuous media data transport service and protocol for real-time communication in high speed networks. In: Proceedings of the Second International Workshop

F. Cheong, R. Lai / The Journal of Systems and Software 45 (1999) 127±139

139

on Network and Operating System Support For Digital Audio and Video, Heidelberg, Germany, pp. 171±182. Wrege, D.E., Liebeherr, J., 1995. Video trac characterization for multimedia networks with deterministic service, Technical report, University of Virginia.

few international companies, and has authored about 60 technical papers. He has been on the program committees of several international conferences and was the keynote speaker at the 9th International workshop on Testing of Communicating Systems held in Germany in September 1996. His research interests include protocol engineering, computer networking and performance evaluation.

Richard Lai holds a B.E. (Hons) and a M.E.Sc from the University of New South Wales, and a Ph.D. from La Trobe University, Australia. He is at present a senior lecturer within the School of Computer Science and Computer Engineering at La Trobe University. Prior to joining the University in 1989, he worked in the computer and communication industry for about 12 years. He has been a consultant to a

France Cheong received a Bachelor in Business (Computing) from Royal Melbourne Institute of Technology, Australia, in 1992 and a Master in Computer Science from La Trobe University, Australia, in 1994. He is currently a Ph.D candidate at La Trobe University. His research interests include computer networking and distributed multimedia systems.

Suggest Documents