Improving the Efficiency and Reliability of Text Messaging Gateways

Sammanfattning: When software communicates, it typically uses some middleware. In this thesis we focus on the group of middleware called “messaging gateways”, which normally uses the store-and-forward architecture. Our overall goal is to find ways to improve the throughput and reliability of such gateways in general, in particular the ones used for forwarding mobile text messages. In short, this resulted in a new anomaly detection algorithm, a reduction of the number of database operations in a commercial messaging gateway, and two new high performant data replication protocols. In addressing the throughput, we first wanted a better understanding of how the round-trip times for outgoing requests varied, in order to correctly detect abnormal delays. This resulted in a generalized extension of exponential smoothing, which we used in a novel algorithm to detect anomalies. We then performed an architecture analysis of an industrial messaging gateway based on its quality requirements. From this exploratory case study, we deduced a somewhat unexpected plan for migrating the balance management module to a set of microservices, and identified situations where database operations could be batched in order to also provide higher throughput. A common and easy way to improve the reliability of a system is to replicate the stored data to one or more additional servers. However, we found that this approach often leads to lower throughput due to extra network traffic required. We addressed this by first writing a problem formulation on how the quality attributes of a messaging gateway would be affected by a multi-node configuration, resulting in a review of state of the art and state of practice for multi-node systems. Building on this review, we developed a new data replication algorithm, which we validated in a controlled experiment. Its proof-of-concept implementation showed that even in a geo-distributed configuration, replication throughput can scale with the number of nodes. Text messaging gateways often have a module for credit management, used when billing the senders for their traffic. In a multi-node environment the maintenance of the corresponding credit balances requires synchronization between the nodes, for which we designed and implemented an algorithm which uses less network traffic than existing solutions in many real-world situations 

  Denna avhandling är EVENTUELLT nedladdningsbar som PDF. Kolla denna länk för att se om den går att ladda ner.