Web Clustering
High-availability Web-based services use redirection at a higher level. The QNX link manager is replaced by a dispatch server that forwards incoming requests to an array of servers. These servers respond directly to the source of a request.
Red Hat and TurboLinux are two companies that provide Linux-based cluster solutions. Red Hat also delivers embedded cluster solutions. Transparent redirection is only one aspect of clustering. Nontransparent support allows tighter integration between rep-licated services.
IBM, Microsoft, and Sun Microsystems have extensive clustering solutions. Although these tend to be used in high-end installations, the same techniques are applicable to em-bedded environments.
In fact, Microsoft's Windows NT Em-bedded supports the same services that are available with Windows NT. Micro-soft's replacement for Windows NT Embedded is even more robust when it comes to clustering technology.
APIs for this type of clustering support are OS-specific. Applications must take advantage of these APIs, and applications that work together are tightly integrated.
Exceptions, such as a failed service or application, must be handled explicitly. High-availability support typically provides services like checkpointing and transaction rollback.
RTOS high-availability modularity allows developers to choose the kinds of services needed to support their particular requirements. This may include hardware support such as hot-swap recognition, device failure, environment problems like overheating, or the use of reliable storage.
It might further be limited to event and alarm support. Even basic heartbeat monitoring can help bring a system into high-availability land if applications are written to handle faults.
Certainly, additional high-availability modules should make the programmer's job easier. For this reason, high-availability technologies from high-end systems, such as clustering, are finding their way into embedded systems.
Some high-availability technologies already exist in many RTOSs. Those from QNX are an example. This message-based RTOS provides transparent message redirection as part of the regular RTOS implementation. Additional support addresses features typically not found in a basic RTOS, such as transaction-oriented checkpoint support.
In this case, a checkpointed task provides data and restart information as part of a checkpoint that's managed by the QNX high-availability monitor. If the task terminates or fails to respond in a set time, the monitor will start a new task.
Using features like checkpointing becomes significantly easier with off-the-shelf components if the RTOS vendor provides support for the boards used in the system. The latest crop of high-availability add-ons, such as those available from Wind River and QNX, have the necessary support.
Meeting the five-nines requirement isn't the only reason to consider for high-availability support. Simply providing a more reliable product is justification enough to consider a high-availability-enabled RTOSeither that, or build it from scratch.
Yes, high-availability RTOS integration is just beginning.