A Resilient Transport Layer for Messaging Systems

master's thesis - september 12, 2007 - david fuchs

MQTT, the Message Queue Telemetry Transport protocol developed by IBM, is a lightweight publish/subscribe protocol for network edge devices. MQTT typically runs over a TCP connection. While TCP provides reliable and inorder delivery for a connection, it cannot deal with failures such as a complete disconnect of two peers or peers failing due to hardware errors or power losses. Usually, it is the application's task to detect and correct such problems. This paper presents ReTCP, a general purpose, light-weight addition to TCP-based network stacks. ReTCP provides reliable and in-order packet delivery for an application, even in the presence of network failures causing the underlying TCP connection to disconnect, or application failures due to power losses etc. ReTCP is explained and implemented in the context of MQTT TCPbased network stack. The implementation is tested and its performance compared to the one of the existing stack under several scenarios.

Keywords: MQTT, messaging systems, failure resiliency, persistency layer, TCP, ReTCP

thesis report
presentation slides

Valid XHTML 1.0!