High availability in the real-time publisher/subscriber inter-process communication model
R. Rajkumar, Mike Gagliardi · 2002
The real time publisher/subscriber (RT P/S) communications model has been proposed as a flexible and powerful interprocess communication model for distributed real time systems (R. Rajkumar et al., 1995). It can also be used as the underlying framework for supporting building blocks such as extensible cells and replaceable software units far building evolvable distributed real time systems. However, for the model to be adopted in practice, it must tolerate processor failures and allow repaired processors to rejoin the system on a dynamic basis. Such processor failures and rejoins must also not hurt the efficiency of the steady state publication/subscription of messages by repetitive real time processes. We present extensions to the RT P/S model to support these capabilities. The solution is structured in two layers. First, an efficient processor membership protocol layer, based on F. Cristian's (1988; 1991) periodic broadcast membership protocol, detects processor failures and rejoins. It provides strong semantics and exhibits a finite delay in detecting processor failures. Secondly, idempotence properties, weak interleaving needs and the benign impact of node failures within the RT P/S information structure enable us to transfer consistent state to newly joining daemons and to manage changes to the information elegantly. The changes are orthogonal to the communication programming interface and also maintain very efficient and analyzable steady state real time execution paths. These protocols have been successfully built in the context of both feedback control and multimedia dissemination applications.