Multimedia applications have timing requirements that cannot be satisfied using time-sharing scheduling algorithms of general
operating systems. Our approach is to provide for a resource reservation mechanism to cater to the real-time resource requirement[
5] of multimedia applications. We propose the design of a
Resource Manager which allocates and manages the end-host resources among the processes[
7]. We identify three important resources at the end-host namely, the processor, memory and system bus cycles. A process reserves
these resources by negotiating with the Resource manager.
The goals that we seek to achieve are: (a) real-time resource management using kernel supported reservation mechanisms, (b)
optimal utilization of the various resources of the end-system and (c) kernel optimizations for reducing end-host communication
overheads in distributed multimedia applications. We use a two-pronged approach to accomplish our goals. First, we adopt a
reservation strategy coupled with priority process scheduling13,14 to achieve real-time resource management. The reservation mechanism includes a processor and memory reserve abstraction which
controls the allocation of processor cycles and memory space to the processes. The reservation scheme can allow applications
to dynamically adapt in real-time based on system load and application requirements. Device requirements of a certain multimedia
application is abstracted out as a kernel process for system bus reservation and device activation. Secondly, we adopt kernel
optimizations to minimize end-host communication overhead in real-time multimedia applications. To improve the end-host performance
in distributed multimedia applications, we unveil a new connectionless protocol, Reliable-UDP, in the kernel.We also present
aggressive caching mechanism as a scheme for improving end-host performance. The performance of the Resource Manger was tested
out with the generation of processes at random times and the results match the expected theoretical results. The connectionless
protocol was tested out in a local distributed system and the results are also presented.