Immutable Data for Effective State Synchronisation

  • Dan Prince

Student thesis: Masters by Research

Abstract

Designing distributed applications that communicate to synchronise their
data is a challenging problem for programmers, particularly when working
with sensitive data in high-risk fields like healthcare. Local company Astral
Dynamics is working with the National Health Service to implement a platform
that helps nurses spend less time with paperwork and more time with patients,
allowing them to move away from paper based systems, towards mobile
technology. They must to be able to synchronise state between their various
devices, whilst ensuring that no data is lost is overwritten.
Astral Dynamics’ choice of development language is JavaScript, a ubiquitous
programming language, making it an effective choice for developing and
deploying features to a wide range of devices. The company has already had
success with a third-party solution for synchronising mutable data, but they
need to be able to guarantee preservation of past states.
The research builds upon the existing knowledge around immutable data
structures for preserving the past and software transactional memory for
ensuring concurrent consistency. The focus is finding efficient ways to implement
these patterns in JavaScript to inform the design for an architecture
that allows Astral Dynamics and other developers to build applications that
safely synchronise their states in real time.
The result was a successful implementation of the afforementioned architecture
that was used to implement a proof-of-concept application that demonstrated
some core functionality from Astral Dynamics’ existing JavaScript
based healthcare platform, to validate that concepts such as immutable data
and software transactional memory can be used to effectively enhance the
traditional model for synchronising data.
Date of AwardJul 2015
Original languageEnglish
Awarding Institution
  • Bangor University
SupervisorSaad Mansoor (Supervisor)

Cite this

'