• 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