Critical application processes are mirrored across a network, with each critical process being replicated in a primary and secondary. Replication of processes and recovery from the failure of a replica are handled transparently. Somersault provides a fault-tolerant communication transport protocol, which can be plugged into an Object Requent Broker, a combination which achieves replication transparency. Somersault has been through two iterations of algorithm design, implementation and optimisation in order to achieve high message throughput and fast recovery from failure. At the time of writing it is undergoing industrial trials and detailed performance testing.
Coordination is one of the most important tasks in concurrent, distributed program development.
Messages sent at the wrong time may cause errors to occur at remote sites, where they are difficult to handle. Much design effort is required to avoid them. A subtyping relation allows us to inherit restrictions on message orderings. Certain services are offered by different service providers at the same time, but differing in their service quality. A core issue for OSMs is the question how service providers and service customers come together and how the interaction between them takes place.