Title :
Design of Multi-threaded Fault-Tolerant Connection-Oriented Communication
Author :
Ivaki, Naghmeh ; Araujo, Filipe ; Barros, Fernando
Author_Institution :
Dept. of Inf. Eng., Univ. of Coimbra, Coimbra, Portugal
Abstract :
Fault-tolerance is vital for dependable distributed applications that can deliver service, even in the presence of faults. Over the last few decades, above all protocols proposed to offer reliability and fault-tolerance, TCP grew to become one of the cornerstones of the Internet. However, despite emulating reliable communication in distributed environments, TCP does not handle connection failures when the connectivity is lost for some time, even if both endpoints are still running. When this occurs, developers must rollback the peers to some coherent state, many times with error-prone, ad hoc, or custom application-level solutions. In this paper, we refine the Acceptor-Connector design pattern to tackle the TCP unreliability problem. The pattern decouples the failure-related processing from the connection and service processing, efficiently handling different connections and their possible crashes concurrently, thereby yielding more reusable, extensible, and efficient distributed communication. The solution we propose incorporates proven multi-threaded solutions and a buffering scheme that discards the need for an application-layer acknowledgment scheme. This simplifies the development of reliable connection-oriented applications using the ubiquitous TCP protocol.
Keywords :
Internet; distributed processing; multi-threading; software fault tolerance; transport protocols; Internet; TCP unreliability problem; acceptor-connector design pattern; application- layer acknowledgment scheme; buffering scheme; custom application-level solutions; dependable distributed applications; distributed communication; distributed environments; failure-related processing; multithreaded fault-tolerant connection-oriented communication design; multithreaded solutions; reliable connection-oriented applications; ubiquitous TCP protocol; Computer crashes; Connectors; Fault tolerance; Fault tolerant systems; Instruction sets; Receivers; Servers; Connection Failure; Design Pattern; Fault Tolerance; Multi-Threading; TCP;
Conference_Titel :
Dependable Computing (PRDC), 2014 IEEE 20th Pacific Rim International Symposium on
Conference_Location :
Singapore
Print_ISBN :
978-1-4799-6473-4
DOI :
10.1109/PRDC.2014.10