An innovative platform for real-time mission-critical distributed applications
ALIVEis a platform for:
Parallel
processing for computationally intensive tasks.
Building redundant processing agents in fault tolerant systems.
Bridging together diverse hardware platforms.
CORBA
Common Object Request Broker Architecture:
A
standard architecture for distributed object systems.
Allows a distributed, heterogeneous collection of objects to interoperate.
Independent of: O/S, Network, Language.
ORB Core:
transparency, object location, implementation hiding, interoperability.
IDL:
language independent interface definition, generating stubs and skeletons.
Object Adapter:
Glue between servant and ORB.
Object registration, activation, reference generation, request demultiplexing.
Clients require quality of service (QoS) properties Dependability: Objects should always behave according to the
specification Efficiency: Low communication
latencies must be guaranteed to allow objects to participate in a
real-time environment Predictability: Possible states of all entities must be
handled correctly.
Fault
tolerance
Complex mission-critical systems, need to ensure that they will perform as
specified, even under extreme conditions.
A fault tolerant computing system is required thatincorporates self-checking software, and attempts recovery upon a
fault.
Fault tolerance features allow the system to keep executing with the presence of
faults.
What
does CORBA lack?
Fault tolerance.
Fault detection mechanisms that exist currently in CORBA are rudimentary, and
mostly consist of returning either system or user-defined exceptions if an
object or processor “dies”
Available fault tolerance techniques are not suited for CORBA.
Custom fault tolerance and recovery logic has to be implemented in CORBA
applications.
Requirements Transparency: fault tolerance, recovery and consistency should be handled
transparently and not exposed to the programming model. Persistence: Object state should be preserved after a successful
recovery. Instantiation and recovery of an object must be completely transparent to
the clients. Reliability: Requests originating from clients should be safeguarded
against failures. The system should transparently resubmit them, up to a
specified number of times. Monitoring: A monitoring mechanism should poll each object after a
specified time interval, to check whether it responds to messages. Status report: Availability of a specific distributed object should be
reported to the clients.
ALIVE
is a platform based on an advanced multi-threaded server architecture, designed
to address the above requirements. It consists of the following elements: Invocation Manager.
Replication Manager.
Fault detector.
Logging.
Conclusions
ALIVE
is a platform for providing fault tolerant services on top of
CORBA.
ALIVE
provides services for: Constantly monitoring the status of servers.
Transparently resubmitting a request that failed.
Notify clients when a service is permanently unavailable.
Activate an unavailable service when possible.
E.g. activate a control agent when
the device it controls is switched on. Several application areas need systems to maintain a correct (predictable)
functionality in the presence of faults: Banking systems.
Control systems.
Manufacturing systems.
Defence systems.
For a presentation of the project
please
contact us