A transport protocol for best-effort content-based networks
Thèse de doctorat : Università della Svizzera italiana, 2012 ; 2012INFO007.
Content-based publish/subscribe (or simply content-based) networking is a relatively new communication paradigm compared to IP networking, with a different approach to addressing network hosts. In content- based networking addressing as well as information dissemination center around information and interests. A host's address is represented by its interest and information is routed by a... MoreAdd to personal list
- Content-based publish/subscribe (or simply content-based) networking is a relatively new communication paradigm compared to IP networking, with a different approach to addressing network hosts. In content- based networking addressing as well as information dissemination center around information and interests. A host's address is represented by its interest and information is routed by a network of brokers to hosts with relevant interests. We advocate the idea that content-based networking should be implemented and offered as a basic network service and be accessible everywhere and to all applications. Best-effort content-based systems which substantiate this idea are high-throughput low-delay publish/subscribe systems in which messages are treated as datagrams without end-to-end or in-network acknowledgments and flow control. In such systems, publishers (senders) do not avoid or even detect congestion, and brokers respond to congestion by simply dropping overflowing messages. These systems are therefore unable to provide reliable message delivery and fair resource allocation and to properly handle traffic anomalies, which may degrade the overall quality of service. Furthermore, extensive usage of concurrent matching and routing algorithms in broker software causes frequent message reordering in the brokers and ultimately out- of-order delivery of messages to clients. These shortcomings of best- effort content-based systems impede their deployment for many applications and environments. For instance, the lack of congestion control hinders the deployment of such systems in the open Internet, where congestion-unaware flows are considered a major threat to the stability of the network. With this motivation, we propose an end-to-end ``transport protocol'' that improves three key properties of best-effort content-based systems namely, message ordering, reliability, and congestion control. These essential requirements have been previously addressed at the protocol and broker-level, at the cost of much higher complexity and lower messaging efficiency. On the contrary, our guiding principle in designing this transport protocol is to view the underlying best-effort publish/subscribe network as a black box and only assume that it provides a general publish/subscribe API. This design principle has multiple advantages. First, the transport protocol works with virtually every best-effort content-based system, for it makes no assumptions about the underlying network. Second, individual clients can optionally take advantage of this transport protocol for better quality of service while those with relaxed requirements can opt out and avoid unnecessary overheads. More importantly, the end-to-end protocol has a minimum impact on the favorable performance and inherent simplicity of the best-effort network since it does not require the involvement of the broker network. Our methodology in developing this transport protocol, on the one hand, is based on understanding the body of related research on end-to-end solutions for FIFO ordering, reliability and congestion control, and on the other hand, dealing with challenges in adopting them for our purpose. This requires understanding the key distinguishing characteristics of traffic in content-based networks, and their practical implications on the design of the transport protocol. In particular, message loss detection is a canonical issue which we discuss in detail in the thesis. Our transport protocol is comprised of three separate components for FIFO ordering, reliability, and congestion control, where the FIFO ordering protocol is prerequisite for the other two. Our FIFO ordering protocol, which is also responsible for loss detection, is probabilistic in that it does not guarantee deterministic FIFO ordering on all messages but it eliminates a vast majority of out-of-order deliveries. This compromise in the precision of message ordering is to minimize its overhead on the network. The reliability and congestion control protocols are inspired by existing proposals for IP multicast. We will detail the challenges in adopting these protocols for our purpose and propose methods and enhancements for their application in our target context. In brief, the reliability component of our protocol is based on a technique, similar to reliable multicast, that takes advantage of collaborative caching and retrieval of messages by the clients through a request/repair process. The proposed congestion-control protocol is also inspired by an existing rate-control scheme for IP multicast. This protocol uses an equation-based flow-control algorithm that reacts to congestion in a manner similar to and compatible with TCP. For the purposes of fairness and efficiency, this protocol is also content- aware, meaning that it modulates specific content-based traffic flows along a congested path. We have a complete implementation of the proposed transport protocol. Experimental results with a best-effort content-based system and our transport protocol reveal that the protocol improves message ordering and reliable delivery by up to 95\%. Also, congestion control protocol eliminates a large number of messages losses and provides considerably better resource sharing among concurrent content-based and TCP flows. Most importantly, our results show that these improvements come with a minimum compromise in the throughput and end-to-end delay of the messaging service. In summary, the experimental results are encouraging and confirm our fundamental hypothesis that the basic service provided by best-effort content-based networks can be significantly improved in terms of key quality measures, using an end-to-end transport protocol.