Fault tolerant component management platform over Data Distribution Service
Aitor Agirre*, Elisabet Estévez**, Marga Marcos***
*Ikerlan-IK4 Research Alliance, Arizmendiarrieta 2, 20500 Arrasate, Spain
(e-mail: aagirre@ikerlan.es).
**Dept. Of Electronics and Automatic Engineering, EPS Jaén, Universidad de Jaén,
Jaén, Spain (e-mail: eestevez@ujaen.es)
***Dept. Of Automatic Control and Systems Engineering, ETSI Bilbao, UPV/EHU,
Bilbao, Spain (e-mail: marga.marcos@ehu.es)}
Abstract: Distributed Real Time Systems (DRTS) are evolving to a higher level of complexity in terms
of heterogeneity, dynamism and QoS constraints, as they must interact with an increasingly demanding
environment. In an scenario with distributed applications running over different hardware platforms and
networks, middleware technologies that provide real-time or QoS support are gaining importance, as they
ease the development and deployment of complex distributed applications in heterogeneous networks
while ensuring certain time and QoS constraints. In this sense, distribution middleware technologies like
Data Distribution Service (DDS) have emerged, adding extensive QoS support to traditional middleware
advantages. This paper proposes a component based applications management platform built on top of
DDS that provides an easy way to deploy, configure and manage component based distributed
applications, while ensuring the fulfillment of certain QoS aspects.
Keywords: Middleware, QoS, DDS, Fault-tolerance, Distributed systems
1. INTRODUCTION
Middleware technologies offer well known advantages (e.g.
low level communication detail abstraction, less testing
effort, flexibility, portability or interoperability) that
contribute to facilitate the design and development of
distributed applications. Nevertheless, the use of middleware
technologies has not been so extended in the distributed real
time systems domain because of two main reasons: Limited
real-time and QoS support in traditional middleware
technologies (Java RMI, Web Services, CORBA, REST…)
and efficiency issues (an additional abstraction layer always
involves an overhead). To solve this lack of real-time
middleware platforms, some of them have been adapted to
the real-time and embedded domain (CORBA-RT,
CORBA/e), whilst new ones have been developed, e.g. DDS
(Data Distribution Service), a data centric distribution
middleware that provides extensive QoS support (OMG,
2007). Unlike other middleware technologies, DDS can
explicitly control the latency and efficient use of network
resources, incorporating several QoS related parameters that
allow fine tuning of some key aspects that are critical in soft
real-time application integration (e.g. deadline, latency
budget or transport priority) (Wang and Grigg, 2009).
Another important point is its transport layer independence,
as DDS runs over any OSI layer level 2 capable
communication standards, e.g. CAN (Rekik and Hasnaoui,
2009).
On the other hand, current complex distributed applications
demand middleware services to facilitate their management
and maintenance. In this sense, platforms like OSGi
(Alliance, 2011) provide support for the management of
component oriented applications. However, OSGi lacks two
important aspects that are nuclear in distributed real-time
systems (Liu et al., 2004): (1) Its QoS support is almost
inexistent, and (2) it is Java tied. Other platforms (Seinturier
et al., 2011, Flissi and Merle, 2006) cover similar
management functionalities but neither are QoS oriented.
Therefore, merging these factors, it would be of interest a
QoS enabled application management platform for
component based distributed real-time applications, built over
a standardized distribution middleware. Such a platform
should facilitate the deployment, maintenance, execution
control and final un-installation of distributed component
based applications. Additionally, it should allow application
and middleware QoS parameter tuning (e.g. fault tolerance or
component execution deadlines) at runtime, and also multi-
language and multi-platform implementations.
This paper describes the basic services and functionalities
that should be provided by such a distributed component
management platform (DCMP), and proposes a concrete
implementation based on DDS. DDS has been specifically
adopted because it natively provides support for services like
dynamic discovery or fault tolerance, that otherwise should
be implemented by the management platform developer
(Roman et al., 2002). Different levels of fault tolerance have
been considered, regarding both the application and platform
components that support the middleware services. On the
other hand, DDS faces scalability issues better than other RT
component based middleware (Deng et al., 2007) that are
connection oriented, as it can enable multicast
communication from one to many nodes.
Proceedings of the 1st IFAC Conference on Embedded Systems,
Computational Intelligence and Telematics in Control - CESCIT
2012
3-5 April 2012. Würzburg, Germany
978-3-902661-97-5/12/$20.00 © 2012 IFAC
218 10.3182/20120403-3-DE-3010.00023