DocumentCode
3588706
Title
Session-based fault-tolerant design patterns
Author
Ivaki, Naghmeh ; Araujo, Filipe ; Barros, Fernando
Author_Institution
Dept. of Inf. Eng., Univ. of Coimbra, Coimbra, Portugal
fYear
2014
Firstpage
726
Lastpage
735
Abstract
Despite offering reliability against dropped and reordered packets, the widely adopted Transmission Control Protocol (TCP) provides nearly no recovery options for longterm network outages. When the network fails, developers must rollback the application to some coherent state on their own, using error-prone solutions. Overcoming this limitation is, therefore, a deeply investigated and challenging problem. Existing solutions range from transport-layer to application-layer protocols, including additions to TCP, usually transparent to the application. None of these solutions is perfect, because they all impact TCP´s simplicity, performance or ubiquity, if not all. To avoid these shortcomings, we contain TCP connection crashes inside a single session layer exposed as a sockets interface. Based on this interface, we create a blocking and a non-blocking fault-tolerant design pattern. We explore the blocking design in an open source File Transfer Protocol (FTP) server and perform a thorough evaluation of performance, complexity and overhead of both designs. Our results show that using one of the patterns to tolerate TCP connection crashes, in new or existing applications, involves a very limited effort and negligible penalties.
Keywords
fault tolerant computing; file servers; public domain software; reliability; system recovery; transport protocols; TCP; application-layer protocol; connection failure; open source FTP server; open source file transfer protocol server; reliability; session-based fault-tolerant design pattern; sockets interface; transmission control protocol; Fault tolerance; Fault tolerant systems; Java; Protocols; Receivers; Servers; Sockets; Connection Failure; Design Pattern; Fault-Tolerance; Session Layer; TCP;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel and Distributed Systems (ICPADS), 2014 20th IEEE International Conference on
Type
conf
DOI
10.1109/PADSW.2014.7097875
Filename
7097875
Link To Document