Quality of Service (QoS) in distributed systems supporting real-time and multimedia applications must be guaranteed system-wide, including end-systems, communications systems and networks. This paper concentrates primarily on the transport layer of such a system but also describes a generalised Quality of Service Architecture (QoS-A) used to specify and implement application defined QoS over all architectural layers. The central QoS-A concepts are flow, service contract and flow management. A flow is a unidirectional end-to-end data stream with a specific QoS requirement. Service contracts are binding agreements between users and providers at each architectural level involved in a flow. Flow management provides for the monitoring and maintenance of the contracted QoS levels of a flow over all layers. The paper first describes an enhanced transport service which permits extremely flexible QoS configuration for real-time and multimedia transport users. Subsequently, we show how flow management concepts and mechanisms can ensure that QoS levels contracted at the transport service interface are maintained by the lower layers - i.e. the supporting network and operating system infrastructures. Our work is placed in the wider context of a local ATM environment in which the QoS-A is currently being implemented.