Outline the design of a QoS manager to enable desktop computers connected by an ATM network to support several concurrent multimedia applications. Define an API for your QoS manager, giving the main operations with their parameters and results.

What will be an ideal response?

Each multimedia application requires a resource contract for each of its multimedia streams. Whenever a new stream is to be started, a request is made to the QoS manager specifying CPU resources, memory and network connections with their Flow Specs. The QoS manager performs an analysis similar to Figure 17.6 for each end- to-end stream. If several streams are required for a single application, there is a danger of deadlock – resources are allocated for some of the streams, but the needs of the remaining streams cannot be satisfied. When this happens, the QoS negotiation should abort and restart, but if the application is already running, this is impractical, so a negotiation takes place to reduce the resources of existing streams.
API:
QoSManager.QoSRequest(FlowID, FlowSpec) –> ResourceContract

The above is the basic interface to the QoS Manager. It reserves resources as specified in the FlowSpec and returns a corresponding ResourceContract.
A FlowSpec is a multi-valued object, similar to Figure 17.8.

A ResourceContract is a token that can be submitted to each of the resource handlers (CPU scheduler, memory manager, network driver, etc.).
Application.ScaleDownCallback(FlowID, FlowSpec) -> AcceptReject

The above is a callback from the QoS Manager to an application, requesting a change in the FlowSpec for a stream. The application can return a value indicating acceptance or rejection.

Computer Science & Information Technology

You might also like to view...

The ________ ________ displays when the user points to the video during the slide show

Fill in the blank(s) with correct word

Computer Science & Information Technology

The return value of the wait system call represents

A. the process id number of a child that is done B. the exit value of a child process that is done

Computer Science & Information Technology