kth.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Handling of mobile applications state using Conflict-Free Replicated Data Types
KTH, School of Electrical Engineering and Computer Science (EECS).
2022 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesisAlternative title
Hantering av mobilapplikationer med hjälp av Conflict-Free Replicated Data Types (Swedish)
Abstract [en]

Mobile applications often must synchronize their local state with a backend to maintain an up-to-date view of the application state. Nevertheless, in some cases, the application’s ability to work offline or with poor network connectivity may be more significant than guaranteeing strong consistency. We present a method to structure the application state in a portable way using the Redux pattern and the properties of strongly typed languages. This method allows employing Conflict-free Replicated Data Types to create a custom converging state: this way, each replica can edit its local state autonomously and merge conflicts with other replicas when possible. Furthermore, we propose to keep a server as the communication channel and analyze how this architecture impacts design choices and optimizations related to CRDTs. Finally, we evaluate our method on a note-taking application using a few well-known CRDT designs and quantitatively justify our design choices.

Abstract [sv]

Mobilapplikationer måste ofta synkronisera lokala tillstånd med backend för att upprätthålla en uppdaterad vy av applikationstillstånd. I vissa fall kan dock applikationens förmåga att arbeta offline eller med dålig nätverksanslutning vara viktigare än att garantera strong consistency. Vi presenterar en metod för att strukturera applikationstillståndet på ett portabelt sätt med hjälp av Redux-mönstret och egenskaperna hos starkt typade språk. Den här metoden gör det möjligt att använda Conflict-free Replicated Data Types för att skapa ett anpassat konvergerande tillstånd: på så sätt kan varje replik redigera sin lokala status självständigt och slå samman konflikter med andra repliker när det är möjligt. Dessutom föreslår vi att behålla en server som kommunikationskanal och analysera hur denna arkitektur påverkar designval och optimeringar relaterade till CRDT. Slutligen utvärderar vi vår metod på en anteckningsapplikation med några välkända CRDT-designer och motiverar kvantitativt våra designval.

Abstract [it]

Le applicazioni mobile spesso devono sincronizzare il loro stato locale con il back-end per mantenere una visione aggiornata dello stato dell’applicazione. Tuttavia, in alcuni casi, la capacità dell’applicazione di funzionare offline o con una scarsa connettività può essere più importante del garantire la “strong consistency”. In questa tesi presentiamo un metodo per strutturare lo stato di un’applicazione in modo portabile utilizzando il pattern Redux e le proprietà dei linguaggi fortemente tipizzati. Questo metodo consente di utilizzare i Conflict-free Replicated Data Types per creare uno stato convergente ad hoc: in questo modo, ogni replica può modificare il proprio stato locale in modo autonomo e risolvere i conflitti con le altre repliche quando possibile. Inoltre, proponiamo di mantenere un server come canale di comunicazione e di analizzare come questa architettura influisca sulle scelte progettuali e sulle ottimizzazioni relative ai CRDT. Infine, valutiamo il nostro metodo su un’applicazione per prendere appunti utilizzando alcuni CRDT noti e giustifichiamo quantitativamente le nostre scelte di progettazione.

Place, publisher, year, edition, pages
Stockholm: KTH Royal Institute of Technology , 2022. , p. 73
Series
TRITA-EECS-EX ; 2022:643
Keywords [en]
Conflict-Free Replicated Data Types, local-first, mobile
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:kth:diva-321179OAI: oai:DiVA.org:kth-321179DiVA, id: diva2:1709127
External cooperation
Bending Spoons
Subject / course
Computer Science
Educational program
Master of Science in Engineering - Computer Science and Technology
Presentation
2022-03-15, Isafjordsgatan 22 (Kistagången 16), Stockholm, 13:00 (English)
Supervisors
Examiners
Available from: 2022-11-11 Created: 2022-11-08 Last updated: 2022-11-11Bibliographically approved

Open Access in DiVA

fulltext(1511 kB)243 downloads
File information
File name FULLTEXT02.pdfFile size 1511 kBChecksum SHA-512
fca984e4b184b8f4d1693b40f4ea5e2d594c8426aeb36ecf834b2f6a3c3cd4e402ace875d7429c6907b9e4ef182d55d0c3a7b5b450676d4bf5c4c71e5395f3b8
Type fulltextMimetype application/pdf

Search in DiVA

By author/editor
Tranquillini, Anna
By organisation
School of Electrical Engineering and Computer Science (EECS)
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 243 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 361 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf