Piranha: A CORBA Tool For High Availability

  • Authors:
  • Silvano Maffeis

  • Affiliations:
  • -

  • Venue:
  • Computer
  • Year:
  • 1997

Quantified Score

Hi-index 4.11

Visualization

Abstract

Distributed systems, such as satellite surveillance systems and real-time feeds for financial data, must be heterogeneous, interoperable, extensible, and available. Availability is a kind of fault tolerance: The system is able to provide important services despite partial failure of its computers or software objects. The Object Management Group's Common Object Request Broker Architecture addresses only the first three characteristics. With respect to heterogeneity, for example, programmers can hide details of the underlying hardware and system software behind a portable interface, using CORBA's Interface Definition Language. IDL allows CORBA objects to invoke operations on each other even when implemented in different languages and even when running on incompatible operating systems. Wrapper objects and Object Request Broker (ORB) gateways enable interoperability by letting programmers interface new technology to legacy information systems. Finally, CORBA supports the development of highly modular applications, so programmers can more easily achieve extensibility-as well as better maintainability. To help address availability and reliability, the author developed an experimental CORBA-based restart service and monitor called Piranha (not related to the Yale University system). Piranha acts as a network monitor that reports failures through a graphical user interface. It also acts as a manager, automatically restarting failed CORBA objects, replicating stateful objects (objects that maintain an internal set of values) on the fly, migrating objects from one host to another, and enforcing predefined replication degrees-numbers of copies-on groups of objects. The article first examines the ways in which a CORBA ORB should support availability. It then explains how Piranha affords availability.