% $Id: intro.tex 6486 2007-05-18 14:53:15Z gokhale $

\Section{Introduction}
\label{sec:intro}

Distributed, real-time and embedded (DRE) systems comprising
predominantly soft real-time tasks are increasingly deing deployed in
dynamic environments, such as shipboard computing, where resource
overloads and/or failures is common.  Developers of DRE system must
account for these failures when designing fault tolerance solutions
for their real-time system tasks.  Designing fault tolerance solutions
for real-time systems is inherently hard for even a static
environment; when the system is deployed in dynamic environments, the
problem becomes even harder. 

% Jai, we need to sprinkle citations
Research over the past decade in developing reusable solutions for
real-time and fault tolerance systems~\cite{} has resulted in the
development of middleware frameworks~\cite{} that address these quality
of service (QoS) needs of DRE systems.  However, most solutions focus
on addressing the requirements of only one dimension of QoS at a
time, \emph{e.g.}, RTCORBA~\cite{}, FTCORBA~\cite{}, RTSJ~\cite{}.
Additionally, the fault tolerance solutions tend to be heavy weight
requiring a substantial amount of additional infrastructure
capabilities and configuration management.  The fault tolerance
mechanisms are also often load-agnostic and non-adaptive~\cite{},
which makes them unsuitable for dynamic environments since failover
decisions that do not account for system load can often overload a
subset of the remaining resources by their ad hoc decisions resulting
in missed deadlines for the real-time system tasks and further
causing resource failures due to overloads. 

DRE systems operating in dynamic environments therefore require
middleware capabilities that simultaneously provide both real-time and
fault tolerance; are light weight; and are adaptive and load-aware so
that these solutions can utilize resources uniformly and prevent
deadline misses as long as the system remains schedulable on the
remaining resources.  This paper describes XYZ, which is a middleware
architecture that provides an adaptive, lightweight fault tolerance
solution for the Real-time CORBA~\cite{} standard.  The novelty of our
approach lies in its ability to proactively provide fast failover
while ensuring that system deadlines will continue to be met as long
as the system is still schedulable on the remaining resources of the
system.  Specifically, this paper makes four contributions:

\begin{BulletList}
  \item \emph{Tolerance to multiple failure conditions} -- where the
  mechanisms provided by XYZ can tolerate multiple different kinds of
  failure conditions, including single or multiple process failures,
  and single or multiple processor failures.
  \item \emph{Proactive, fast client redirection} -- where clients
  are proactively informed apriori of suitable failover targets so
  that clients can make local decisions on failover on experience a
  failure in reaching a server.
  \item \emph{Adaptive, load-aware server failover} -- where the
  failover targets are chosen based on historical data of load
  averages on different machines, which assures that system tasks will
  continue to meet their deadlines after the failover.
  \item \emph{Near-uniform resource utilization of system resources}
  -- where the load-aware mechanisms for failover result in
  near-uniform utilization of remaining resources in the system
  thereby reducing the probability of resource failures due to extreme
  overloads.

\end{BulletList}

XYZ has been implemented within the TAO~\cite{} real-time CORBA
middleware.  We evaluate XYZ for a task model representative of DRE
systems operating in a dynamic environment.  Our experimental results
demonstrate that ....

The remainder of the paper is organized as follows:
Section~\ref{sec:arch} describes our fault model and the lightweight
architecture of XYZ; Section~\ref{sec:eval} illustrates performance
validation of XYZ in the presence of failures and compares our
approach to existing heavy weight approaches;
Section~\ref{sec:relwork} compares our approach to related work; and
Section~\ref{sec:conclusions} provides concluding remarks outlining
lessons learned.

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "rtss2007"
%%% End: 
