An architecture for end-to-end quality of service provision and its experimental validation

High-speed cell switched networks and new computer peripherals supporting various media types suggest novel applications. In particular, these technologies enable the class of long-lived distributed multimedia applications with strict real-time requirements. Until now, a dedicated circuit was required to meet these requirements, as today's packet switched network and end-point technologies (e.g., workstation operating systems) cannot support this application class. This thesis argues that a proper software architecture coupled with cell switched networks can approximate the behavior of a dedicated circuit. The use of software to control multiplexing offers the additional benefit of programmable service customization. This thesis proposes one architecture, and demonstrates its success experimentally. My approach negotiates requirements and guarantees between the application and the network, including the operating system (OS), in a call set-up period prior to use of the network by the application. I establish customized virtual circuits and allocate resources appropriate to the application requirements and OS/network capabilities. These customizations can be renegotiated dynamically. To facilitate this resource management process I have developed a new paradigm, called 'QoS Brokerage', to support Quality of Service. This paradigm requires new services and protocols across all layers of the protocol stack, as well as rearchitecting the application/network interface. I used an application-driven approach to define requirements for the experimental evaluation of our architecture and the brokerage process. This forced an examination of requirement representations and an investigation of the differences between application and network models for QoS, control flows, and guarantee provision in networks. The architecture addresses the important issues of locating essential functions and decision-making points in such a system. The architecture also provides services such as tuning, translation, admission and QoS negotiation/renegotiation, which support the required functionalities. The transmission protocol stack is implemented as a set of generic services, embedded in our Real-Time Application Protocol (RTAP) and Real-Time Network Protocol (RTNP), which are tuned by the deal the QoS Broker achieved. As a driving application I used a master/slave telerobotics application for which I implemented the communication system Omega with functionalities, services, and protocols as outlined above using a dedicated 155 Mbps ATM LAN. This application employs media with diverse requirements and provides a good platform for testing how closely one can approximate a dedicated circuit and controller with workstation hosts and cell-switching. The results show that my software architecture can support this complex control system. It is the first such system to accomplish this goal for telerobotics over ATM. As a consequence of the implementation, I have identified the key barriers to extending these techniques to a larger domain.