• DocumentCode
    174739
  • 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
  • fYear
    2014
  • fDate
    18-21 Nov. 2014
  • Firstpage
    11
  • Lastpage
    20
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Dependable Computing (PRDC), 2014 IEEE 20th Pacific Rim International Symposium on
  • Conference_Location
    Singapore
  • Print_ISBN
    978-1-4799-6473-4
  • Type

    conf

  • DOI
    10.1109/PRDC.2014.10
  • Filename
    6974746