Masteroppgave i informasjons- og kommunikasjonsteknologi 2004 - Høgskolen i Agder, GrimstadMission critical TCP-based services create a demand for robust and fault tolerant TCP
communication. Sense Intellifield monitors drill operations on rig sites offshore. Critical
TCP-based services need to be available 24 hours, 7 days a week, and the service
providers need to tolerate server failure.
How to make TCP robust and fault tolerant without modifying existing infrastructure like
existing client/server applications, services, TCP stacks, kernels, or operating systems is
the motivation of this thesis.
We present a new middleware approach, first of its kind, to allow TCP-based services to
survive server failure by migrating TCP connections from failed servers to replicated
surviving servers. The approach is based on a proxy technique, which requires
modifications to existing infrastructure. Our unique middleware approach is simple,
practical, and can be built into existing infrastructure without modifying it. A middleware
approach has never been used to implement the proxy based technique.
Experiments for validation of functionality and measurement of performance of the
middleware prototype are conducted. The results show that our technique adds significant
robustness and fault tolerance to TCP, without modifying existing infrastructure.
One of the consequences of using a middleware to make TCP communication robust and
fault tolerant is added latency. Another consequence is that TCP communication can
survive server failure, and mask it. Companies providing robust and fault tolerant TCP, is
no longer dependant of third party hardware and/or software. By implementing our
solution, they can gain economical advantages.
A main focus of this report is to present a prototype that demonstrates our technique and
middleware approach. We present relevant background theory which has lead to the
design architecture of a middleware approach to make TCP communication fault tolerant.
Finally we conduct experiments to uncover the feasibility and performance of the
prototype, followed by a discussion and conclusion