A Taxonomy of Reliable Request-Response Protocols
Authors
Abstract
Reliable request-response interactions, in which the server never executes a given request more than once, are being used to support business and safety-critical operations in diverse sectors, such as banking, E-commerce, or healthcare. This form of interactions can be quite difficult to implement, because the client, server, or communication channel may fail, potentially requiring diverse and complex recovery procedures, which may result in duplicate messages being processed at the server. In this paper we address the fol- lowing question: could we provide a meaningful taxonomy of reliable request-response protocols? We generate valid sequences of client and server actions, organize the generated sequences into a prefix tree, and classify them according to their reliability semantics and memory requirements. The tree reveals three families of protocols matching common real-world implementations that try to deliver exactly-once or at-most-once. The strict organization of the protocols provides a solid foundation for creating correct services, and we show that it also serves to easily identify fallacies and pitfalls of existing implementations.
Keywords
Reliability, Exactly-Once, At-Most-Once, Taxonomy
Subject
Reliable Distributed Communication
Related Project
iCIS - Intelligent Computing in the Internet of Services
Conference
The 30th ACM/SIGAPP Symposium On Applied Computing (SAC) 2015
PDF File
DOI
Cited by
No citations found