% $Id: relwork.tex 4523 2006-11-29 04:06:54Z gokhale $


\section{Related Work}
\label{sec:relwork}

The general problem of QoS implementation, management and 
enforcement is receiving increased attention . However, there has been 
little work on the specific problems addressed in this paper, namely, 
the use of a model-driven approach to specify network QoS for 
communication flows in DRE systems, subsequent automated allocation and 
provisioning of network resources during deployment and automated 
runtime support to effect appropriate QoS by component middleware 
transparent to applications in a portable manner.

Our work makes use of a Bandwidth Broker to reserve network 
resources and a Flow Provisioner to configure ingress network 
elements to achieve desired QoS for wired networks in both 
layer 3 and layer 2 networks. Such networks predominate enterprises, 
as exemplified by the office environment case study. The Bandwidth 
Broker leverages widely available DiffServ and CoS features in 
commercial routers and switches, respectively. The two main 
technologies for providing differentiated treatment of traffic 
are DiffServ/CoS and IntServ. ~\cite{Schmidt:03d} focusses on 
the integration of priority and reservation-based OS and network 
QoS management using IntServ with standards based DOC middleware 
like RT-CORBA to provide end-to-end QoS for DRE systems. 
In IntServ, however, every router on the path of a requested 
flow decides whether or not to admit the flow with a given QoS 
requirement. Each router in the network keeps the status of all flows 
that it has admitted as well as the remaining available (uncommitted) 
bandwidth on its links. Some drawbacks with IntServ are that (1) 
it requires per-flow state at each router, which can be an 
issue from a scalability perspective; (2) it makes its admission 
decisions based on local information rather than some adaptive, 
network-wide policy; and (3) it is applicable only to layer-3 
IP networks. Our network QoS does not have any of these drawbacks.
In addition to ~\cite{Schmidt:03d}, there is one other work that 
approaches network QoS through middleware. ~\cite{Yemini:00} is 
about a middleware broker that automatically maps application 
QoS requirements to underlying network provisioning mechanisms.

Telcordia has successfully applied Bandwidth Broker technologies in other 
settings~\cite{Kim:2002,Chadha:2003}. None of these endeavors, however, deals with 
layer-2 QoS, let alone unified management of QoS across multi-layers.
None of these works, moreover, has focused on integration with 
network resource management using a component middleware framework, 
as we have done here with RACE, PICML and DAnCE.

Research has been done in adding QoS capabilities to component middleware.
~\cite{Jordan:04} illustrates mechanisms added to J2EE containers to allow
application isolations by allowing uniform and predictable access to the CPU resources,
thereby providing CPU QoS to applications. ~\cite{Conan:01} illustrate the use
of aspect-oriented techniques to plug-in different non-functional behaviors into
containers, so that QoS aspects can be statically linked to applications.
~\cite{Miguel:2002} extends an EJB container to integrate QoS features
by providing negotiation interfaces which the application developers
need to implement to receive QoS support. Our work on NetQoPE framework
differs in providing (1) network QoS to component middleware applications,
(2) scalable techniques to specify QoS requirements, (3) automated deployment
time mechanisms to work with network QoS mechanisms to do QoS negotiations,
and (4) run-time capabilities to easily integrate network QoS settings into
application communication flows.

Research has been done to provide QoS architectures and models for real-time
multimedia applications, that demand predictable QoS from both endsystem and
network resources. AQUA (Adaptive QUality of service Architecture)~\cite{lakshman:97}
is a resource management architecture, at the endsystem level, in which the 
applications and OS cooperate to dynamically adapt to variation is resource
availability and requirements. ~\cite{Nahrstedt:95} describes a QoS broker that
is used to do QoS negotiation for providing end-to-end QoS management for
multimedia applications. ~\cite{Mehra:97,BB99,Sander:01,Foster:04} have 
considered the co-reservation of mutiple resource types for providing QoS 
to real-time and distributed multimedia and high-end applications. Our work
on NetQoPE framework differs in (1) providing network QoS provisioning and enforcing
techniques that are not specific to specific resource types like multimedia resources,
(2) providing a model-based advance reservation specification tool at per-flow level,
so that it scales well with DiffServ services, and (3) run-time capabilities to 
easily integrate and deploy network QoS settings into application communication flows.

The research objectives of our work is closely related to other recently proposed
approaches for QoS-aware deployment of applications in heterogeneous and
dynamically changing distributed environments. GARA~\cite{GARA99} and
Darwin~\cite{Darwin:01} focuses on identifying and reserving appropriate
network resources to satisfy application requirements. Petstore~\cite{Karamcheti:03}
describes how the service usage patterns of J2EE-based web applications can
be analyzed to decide on their deployments across wide-area environments, so
that certain client requirements on faster access times can be satisfied. ~\cite{Shen05}
focuses on deploying J2EE applications, that colloborate a lot with other applications,
collocated, so that the network delay can be minimized and application performance
can be greatly improved. Our work on NetQoPE framework differs in utilizing popular
network architectures like DiffServ to provide network QoS guarantees for applications,
rather than trying to collocate them, and also in providing a possibility of
deploying applications by considering multiple resources including network and CPU
by adding planning algorithms in RACE, which can then sequentially or combinatorially
work on providing deployment decisions for DRE applications.
