You are on page 1of 13

The Journal of Systems and Software 45 (1999) 127139

QoS specication 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 aected by the eciency of the support provided by: QoS specication, 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 specication 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 specication; 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 dier 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 specically the operating system and computer network. Operating systems can oer 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: lai@latcs1.oz.au. 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 eort 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 dened by ITU-T (ITU-TS, 1988) as ``a collective eect 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) 127139

what these requirements are and to quantify them accurately. These QoS parameters have to be specied 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 sucient inputs from a user (expressed in user terms) and then to map these user QoS specications 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 aected by the eciencies of the support provided by: QoS specication, 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 specication 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 specied 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, buers, 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 eciency of the support provided in the following areas: QoS specication. 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 eciently? 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 specication, 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 specications at the user level and their mappings to QoS parameters for the dierent layers of a distributed MM. 3. QoS specication 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 sucient 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 specication 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) 127139

129

quality) terms. The list of inputs should not be too long, otherwise users will be frustrated. Sucient inputs from the user are required for resource allocation, yet, users should be isolated from the process. By QoS specication, we mean user-specied QoS parameters, not QoS specications (parameters) for the lower layers. In the literature surveyed, QoS specication (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 diculties when we attempted to classify the user QoS specications into specic areas. For example, some papers mentioned throughput and delay as QoS specications. While it is true that these are QoS specications, 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-specied QoS parameter. In order to survey the issues on QoS specication we propose to organize and discuss the issues around the following topics: Areas to be specied. What should a QoS specication contain? i.e what areas should be specied 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? Classication 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 specied QoS for MM applications can be specied 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 sucient to request realtime performance from distributed systems. Variable delay in the network will aect media synchronization while congestion in the network will aect the level of service delivered. Furthermore, the QoS specications 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).

The user QoS parameters specied 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-eort (service) to guaranteed (service) which are translated to specic 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 specications 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-eort). 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 classied 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 specications is proposed in Wijesekera and Srivastava (1995). The continuity specications consist of the following proles: 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 specications include the following

130

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

proles: 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 trac 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 specication expresses the degree of synchronization required between multiple related ows. Service commitment level. These parameters dene 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 dened: deterministic (required for hard real-time applications), statistical (allows a certain percentage of violations in the requested ow specications), and best-eort (lowest priority commitment). QoS management policy. This clause denes 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 classication scheme proposed in Campbell et al. (1993b); Campbell et al. (1995). However, we shall simplify the classication by grouping ow performance and synchronization into temporal and spatial specications. 3.1.1. Temporal and spatial specications Temporal and spatial specications 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 dened by component specications 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 specied by synchronization skew (upper bound on time oset between two streams in a single direction), precedence relations (time oset between two streams in dierent 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 specication in Coulson et al. (1995): buer size (required buer size), priority (for resource preemption), latency (maximum tolerable end-to-end delay), error (maximum permissible number of buer losses or corruptions over a given time interval or probability of buers being lost or corrupted), buer rate (rate at which buers should be delivered), jitter (permissible tolerance in buer delivery time), delivery (this renes the meaning of buer rate, i.e. species 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 qualiers: 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 qualiers), reliability (how reliable the transmission and presentation should be; it uses the same qualiers as quality), start oset (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 qualiers), and delay (uses the same qualiers as start oset). In most of the earlier work on user QoS specication, the emphasis was on temporal and spatial characteristics. Despite the fact that this group of QoS specication 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 trac characteristics and QoS requirements. Several types of MM applications have variable bit rate (VBR) trac, and the determination of a set of parameters (and their accuracy) to characterize this VBR trac is still an open issue (Onvural, 1994). While the accuracy of the trac characterization can be augmented by increasing the number of trac parameters, this adds to the complexity of the trac policing functions (Liebeherr, 1995). Most stochastic trac models for VBR trac 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 trac characterization can be found in Wrege and Liebeherr, 1995. Shaping of the VBR trac before it enters the network is considered as an alternative to alleviate the trac

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

131

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 specied (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 dierent 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 specications can be used to express timing requirements for multimedia, however, they cannot dene all the requirements. Additional abstractions are required to support spatial transformations, composition of composite orchestrations, relative timing management, recursion, encapsulation, iteration, incomplete timing specication, 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 specications should indicate component precedence, real-time constraints, the degree of relaxation (of absolute synchronization) that each medium can tolerate without adversely aecting quality of presentation as well as policies for handling situations where the required data is not available. Signicant issues remain in the following areas (Little, 1994): Specication and storage of temporal specications. Enforcement mechanisms for temporal specications. Policies for handling late-arriving data. 3.1.2. Service commitment level specications 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 eort, 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 identied: the tightly controlled approaches, the approximate approaches, the bounding approaches, and the measurement-based approaches. The tightly controlled approach ensures that the trac characteristics of a ow after multiplexing is the same as before multiplexing while the approximate approach uses simple models to characterize the trac. The

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 eciently. Since, MM applications can tolerate some degradation in the level of service, QoS guarantees that are in between deterministic and best eort 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 trac 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 trac specication. Concerning the observation based approach, the issues are: eects of dierent measurement/estimation techniques and the overhead involved for the measurement. 3.1.3. QoS management policy specications In order to deliver QoS guarantees, rstly, the requirements should be accurately dened, 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 specication 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) 127139

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. buer 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 dierent 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 aect 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. Buer management. Conventional buer 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 oset management system (where a buer is placed in one memory segment) and the scatter/gather system (where a request for buer space is satised 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. Trac 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 specications The inclusion of the cost of the service in the QoS specications 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) 127139

133

(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 oered and the costs for providing such a service is known; the objective of pricing in this case is to recover costs and make some prot. 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 prot 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 eciency 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 ecient use of the network. In Peak Load pricing, peak load period prices are higher than

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 suer the same deciencies 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 deciencies of conventional pricing policies, a new pricing policy is proposed (Parris et al., 1992) which charges traditional resources such as bandwidth, buer space, CPU time and in addition a delay resource. The bandwidth, buer space and the CPU time are directly related to the QoS requirements and can be easily quantied. 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 coecients reecting the relative scarcity of the resources. These coecients 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 trac load and variations in service and trac 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 trac 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 specication, 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 specication, or upgrading/downgrading it to meet their cost budget. This would greatly facilitate the specication 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) 127139

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 specications are proposed in Campbell et al., 1993a for describing channel types. For example, HiAudio species a bandwidth of 2 Mbps, a jitter of 2 ms, a delay of 250 ms, a deterministic guarantee and an error rate of 105 ; StandardVideo species a bandwith of 25 Mbps, a jitter of 10 ms, a delay of 250 ms, a probabilistic guarantee and an error rate of 103 . 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 predened parameters which corresponds to his/her experiences (e.g. telephone audio or cd audio quality). The user can check the predened parameters by listening/watching some examples. The interface also memorizes user proles 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 species 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 dierent 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. Classication of applications There are two schools of thought concerning the classication of applications (Campbell et al., 1995). One school believes that all ows can be classied into a small set of general service (in end systems) and trac (in the network) classes with well dened delay, burstiness and loss characteristics. The other school advocates that ows are application specic; new applications will require new trac 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). Classication 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 specied 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 conicting 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) 127139

135

the OSI standards, but it is incomplete and inconsistent (Campbell, 1993a)). Several authors have proposed dierent 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 simplied 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 identied 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. 2. Architectural layers of OMEGA.

4.2.1. Application layer QoS parameters The application layer requires parameters in all the areas specied 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, buers, 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; Jeay et al., 1992). In Hyden (1994), an application's CPU requirements are dened by its Processor Bandwith (PB) which is ex-

Fig. 1. Architectural layers of QoS-A.

136

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

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 simplied description of the actual requirements. Temporal requirements can be met by allocating sucient bandwidth, but ecient use of the processor will not always result. The behaviour of the operating system is dened through (Nahrstedt and Steinmetz, 1995c) system parameters which dene CPU requirements for scheduling (e.g., task start time, duration and deadline) and buer allocation for the stream. Two sets of parameters are used: application subsystem and transport subsystem. The application parameters consist of the tasks per medium specications (name, priority, start time, time deadline, duration, period and task ordering) and the space requirements specication (buers). The transport subsystem parameters consist of the tasks per connection specications (similar to the tasks per medium specications) and the space requirements specication. 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), insucient 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. Dierent types of applications have dierent 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 buerring 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) (Wolnger 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 buer overow. Serr can be interpreted as an upper bound on the packet size of the stream. Werr species 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: trac throughput (bandwidth), transmission delay (specied as an absolute or probabilistic bound on the delay of the trac in the network and as well as a bound on delay variation) and transmission reliability (this index is related to buering mechanisms and is specied 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, trac and performance specications. The throughput specications include: connection identication, packet size, throughput, and burstiness. The parameters for specifying trac charac-

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

137

teristics are: packet loss rate, intermediate delay and packet end-to-end delay. The performance specications are determined by the following parameters: ordering, error correction, fragmentation/reassembly, communication type, cost and priority. 4.3. Translation algorithms 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 verication 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 specications are translated into CPU, memory and network resource requirements. Flow synchronization

issues were still under investigation using the specications written in the ESTEREL language. 5. Conclusions In a distributed MM system, QoS specications 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 specications at the user level and their mappings to QoS parameters for the dierent layers of a distributed MM system. Since QoS represents the user's view of a service, the task of specifying QoS is dicult 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 specication issues: Areas to be specied, User interface, and Classication of applications. In the literature surveyed, QoS specications referred to any thing from user QoS down to network QoS parameters. For example, some papers mentioned throughput and delay as user QoS specications. While it is true that these are QoS specications, these parameters do not necessarily relate to user QoS. Delay is a user-specied 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 classied 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 conicting 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 specication and mapping has been targeted to the individual architectural layers of the distributed multimedia system. More work needs to be done on QoS specication and mapping so as to obtain integrated QoS support from all the intervening layers between the end-systems.

References
Anderson, T.E., Bershad, B.N., Lazowska, E.D., Levy, H.M., 1992. Scheduler activations: Eective kernel support for the user-level management of parallelism. ACM Transactions on Computer Systems 10 (1), 5379. 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. 329353. 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) 127139 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. 169182. Liebeherr, J., 1995. Multimedia Networks: Issues and Challenges. IEEE Computer, 6869. 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. 175200. Little, T.D.C., Ghafoor, A., 1990. Synchronization properties and storage models for multimedia objects. IEEE Journal on Selected Areas in Communications 8 (3), 413427. Liu, C.L., Layland, J.W., 1993. Scheduling algorithms for multiprogramming in a hard-real-time environment. Journal Assoc. Computing Machinery 20 (1), 4661. 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, 5367. 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. 289297. 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. 411425. 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. 11111119. Tawbi, W., F edaoui, L., Horlait, E., 1993. Dynamic QoS issues in distributed multimedia systems. In: Spaniol, O., Williams, F., (Eds.), Broadband Islands: Towards Integration. Elsevier, Amsteram, pp. 117124. Vogel, A., Kerherv e, B., von Bochman, G., Gecsei, J., 1995. Distributed multimedia and QOS: A survey. IEEE Multimedia Magazine 3, 1019. Vogel, A., von Bochmann, G., Dssouli, R., Gecsei, J., Had, A., Kerherv e, 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. Wolnger, 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

tions. In: Proceedings of IEEE INFOCOM '93, San Francisco, pp. 732749. 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. 124137. 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. 363368 . 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. 123129. 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), 686699. de Prycker, M., 1995. Asynchronous Transfer Mode Networks Solution for Broadband ISDN. Prentice Hall, Englewoods Clis, NJ. Dixit, S., Skelly, P., 1995. MPEG-2 over ATM for Video Dial Tone Networks: Issues and Strategies. IEEE Network, 3040. 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. 221234. 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. 132141. 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. 375384. 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. Ecient 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), 6880. 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. 153162. 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 Denitions Related to the Quality of Telecommunication Services. Jeay, K., Stone, D., Smith, F., 1992. Kernel support for live digital audio and video. Computer Communication 15 (6), 388395. 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. 748755. Kurose, J., 1993. Open issues and challenges in providing quality of service guarantees in high-speed networks. ACM Computer Communications Review 23 (1), 615.

F. Cheong, R. Lai / The Journal of Systems and Software 45 (1999) 127139 on Network and Operating System Support For Digital Audio and Video, Heidelberg, Germany, pp. 171182. Wrege, D.E., Liebeherr, J., 1995. Video trac characterization for multimedia networks with deterministic service, Technical report, University of Virginia. 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

139

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. 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.

You might also like