Middleware Adaptive Management and Control for End-to-End QoS

Future applications which could utilize QBone technology include real-time distributed control systems, where sensors and actuators exist in physically diverse locations and real-time behavior is required to properly interact with the external environment. Such control applications need to adapt to changing conditions, both of resources such as bandwidth and of application-specific conditions. For these control applications to obtain end-to-end QoS, not merely network bandwidth, but also processor time and data storage must be managed. Increasingly, these complex future applications require reusable middleware to implement the common requirements of adaptivity and integrated resource management. This talk outlines some of the requirements we see emerging for the network/middleware interface.

Within a three-tier application-development environment (network, middleware, application), the network does not interface directly to the application. Instead, the middleware is responsible for interfacing to the network and managing its resources. Therefore, rather than attempting to simplify the network API to provide the type of simple interface which any application can integrate, a network API to QoS-aware middleware is required. Such an API should enable application-specific integrated management and policy control functions. From the network's point of view, middleware is the application.

When middleware becomes part of the end-to-end feedback loop, instead of being shielded from network awareness, the real-time end-to-end requirements of adaptive distributed control systems can finally be solved. Quality Objects (QuO), an ongoing five-year project at BBN, is adaptive middleware which can support QoS contracts in different QoS dimensions.

QoS-aware middleware is responsible for managing resources and deciding on trade-offs between them. For instance, QuO might decide to use more CPU time to reduce the amount of bandwidth used to send sensor events to another node. For such adaptive middleware to effectively utilize the bandwidth resource, certain functionality must be supplied in the API between the network and the middleware.

The first requirement is simply awareness of network quality. In order to make a decision about whether to continue using a path, the middleware must be able to determine the quality of the alternatives. To determine with which diffserv codepoint (DSCP) an event should be marked, the middleware must know the current estimated benefit of sending the event at a given DSCP.

A second requirement is to provide middleware with control over specifying differentiation under varying conditions. This enables the network resource management to be integrated with the host control feedback loop, which is necessary for end-to-end QoS.

Third, the cost of resources is an important input to QoS-aware middleware, so that it can make appropriate tradeoffs among the resources it manages.