★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★Open research. Global perspectives.
Engineering and Technology OPEN ACCESS

Reliable and Scalable Mobile Technology Architecture: A Formal Model, Synchronization Protocol, and Reference Design

Srikanth Puram
Novi, Michigan, USA
tajet 2021
VOL. 3 / NO. 08 AUGUST
VOLUME 3
ISSUE 08
YEAR 2021
PAGES 33-48

Abstract

Mobile systems are distributed systems whose nodes are intermittently connected, frequently restarted by the host OS, energy-constrained, and deployed on hardware the developer does not control. Despite this, much of the architectural discussion around mobile software still treats the network as reliable and the device as a stateless view onto a backend. This paper takes the opposite starting point. We model the mobile client as a first-class replica with its own durable state, and we treat the link to the backend as an unreliable, asynchronous channel that is unavailable for unbounded periods.

From that model we derive two properties of interest — reliability (correct behavior under failure, disconnection, and partial outage) and scalability (growth in users, data, device heterogeneity, and team size without proportional growth in cost or operational risk) — and we show that, contrary to the usual framing, the two goals largely reinforce each other when the architecture is built local-first. The contributions are: (1) a formal system and failure model for mobile distributed systems; (2) a precise treatment of the consistency guarantees achievable at the mobile tier and the conditions under which each holds; (3) a delta-based synchronization protocol with explicit idempotency, conflict-detection, and convergence semantics, presented as algorithms rather than prose; (4) a quantitative treatment of retry, backoff, and backpressure, including thundering-herd mitigation; (5) a layered reference architecture and a security threat model for local-first operation; and (6) a falsifiable evaluation framework, comprising metrics and a fault-injection methodology, illustrated through a worked deployment scenario spanning phones, tablets, and wearables.

Keywords

mobile architecture distributed systems eventual consistency version vectors CRDTs idempotency offline-first cross-device sync fault injection edge computing

Downloads

Download data is not yet available.

References

  1. L. Lamport, "Time, Clocks, and the Ordering of Events in a Distributed System," Communications of the ACM, vol. 21, no. 7, pp. 558–565, Jul. 1978. doi: 10.1145/359545.359563
  2. D. S. Parker, G. J. Popek, G. Rudisin, A. Stoughton, B. J. Walker, E. Walton, J. M. Chow, D. Edwards, S. Kiser, and C. Kline, "Detection of Mutual Inconsistency in Distributed Systems," IEEE Transactions on Software Engineering, vol. SE-9, no. 3, pp. 240–247, May 1983. doi:10.1109/TSE.1983.236733
  3. D. B. Terry, A. J. Demers, K. Petersen, M. J. Spreitzer, M. M. Theimer, and B. B. Welch, "Session Guarantees for Weakly Consistent Replicated Data," in Proc. 3rd Int. Conf. on Parallel and Distributed Information Systems (PDIS), Austin, TX, USA, Sep. 1994, pp. 140–149. doi:10.1109/PDIS.1994.331722
  4. S. Gilbert and N. Lynch, "Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services," ACM SIGACT News, vol. 33, no. 2, pp. 51– 59, Jun. 2002. doi:10.1145/564585.564601
  5. E. Brewer, "CAP Twelve Years Later: How the 'Rules' Have Changed," Computer, vol. 45, no. 2, pp. 23–29, Feb. 2012. doi:10.1109/MC.2012.37
  6. M. Shapiro, N. Preguiça, C. Baquero, and M. Zawirski, "Conflict-Free Replicated Data Types," in Stabilization, Safety, and Security of Distributed Systems (SSS 2011), LNCS, vol. 6976. Berlin, Heidelberg: Springer, 2011, pp. 386–400. doi: 10.1007/978-3-642-24550-3_29
  7. M. Kleppmann, A. Wiggins, P. van Hardenberg, and M. McGranaghan, "Local-First Software: You Own Your Data, in spite of the Cloud," in Proc. 2019 ACM SIGPLAN Int. Symp. on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward! '19), Athens, Greece, 2019, pp. 297–307. doi:10.1145/3359591.3359737
  8. M. Brooker, "Exponential Backoff And Jitter," AWS Architecture Blog, Mar. 2015. [Online]. Available: https://aws.amazon.com/blogs/architecture/exponential-backoff- and-jitter/
  9. M. Nygard, Release It!: Design and Deploy Production-Ready Software, 2nd ed. Raleigh, NC, USA: Pragmatic Bookshelf, 2018.
  10. W. Vogels, "Eventually Consistent," Communications of the ACM, vol. 52, no. 1, pp. 40–44, Jan. 2009. doi:10.1145/1435417.1435432
  11. G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, A. Pilchin, S. Sivasubramanian, P. Vosshall, and W. Vogels, "Dynamo: Amazon's Highly Available Key- value Store," in Proc. 21st ACM SIGOPS Symp. on Operating Systems Principles (SOSP '07), Stevenson, WA, USA, 2007, pp. 205–220. doi:10.1145/1294261.1294281
  12. R. C. Martin, Clean Architecture: A Craftsman's Guide to Software Structure and Design. Boston, MA, USA: Prentice Hall, 2017.
CONTINUE EXPLORING

Most read articles by the same author(s)

Explore other published research by the authors of this article.