Teaching-Replication

Réplication et cohérence de données

(Data replication and consistency)

Link to the Group constitution form

Supports de cours

  • CM1: Introduction à la réplication, modèles de cohérence. (Support 1)
  • CM2: Réplication optimiste, Logical time, Operational transformation approach. (Support 2)
  • CM3: Operational transformation approach (integration algorithms), Conflict-free Replicated Data Types (Support 3)

Exemple d’examen

Labs

Objectives

The goals of these lab sessions are to design and build a tool/service that makes use of replication techniques.

As a first step, you will build a 1-way synchronizer between Google Calendar and ADE agenda from ADE.

  • Write a small application that is able to download your calendar of events from ADE
    • You will use the download link provided by ADE such as
      https://planification.univ-lorraine.fr/jsp/custom/modules/plannings/anonymous_cal.jsp?resources=5424&projectId=5&calType=ical&firstDate=2018-01-29&lastDate=2018-02-04

      Note: the provided link is a redirection link. You may have to use the redirected target link.

  • Write a small application that is able to parse the downloaded ICAL calendar. Use an existing library to parse ICAL format.
  • Write a small application that is able to detect newly inserted events/removed events from your ADE calendar since the last time you downloaded the calendar). To achieve this goal, you might have to keep a local copy (reference copy) of the last synchronized events.
  • Write a small application that is able to create a new calendar in your Google calendar and add few events. Use the Google Calendar API to achieve this goal.
  • Write an application that is able to import events from ADE to Google calendar
  • Update your an application that is able to synchronize events from ADE to Google calendar. For testing purpose, you might have to fake modifications on the ADE calendar
  • Update your application in order to allow user to update imported event in Google Calendar and keep those modifications after the next synchronization (if the events have not been removed for instance).
  • Write a small documentation report presenting the architecture of your application.

References

S. Balasubramaniam and Benjamin C. Pierce. 1998. What is a file synchronizer?. In Proceedings of the 4th annual ACM/IEEE international conference on Mobile computing and networking (MobiCom ’98). ACM, New York, NY, USA, pp.98-108. DOI=http://dx.doi.org/10.1145/288235.288261 (research report)

N. Fraser. 2009. Differential Synchronization. In Proceedings of the 2009 ACM Symposium on Document Engineering (DocEng’09). ACM, New York, NY, USA, pp.13-20. DOI=http://dx.doi.org/10.1145/1600193.1600198 (research report)

Additional information

You are free to choose any programming language, any technology, any development environment, etc.

You will use GitHub in order to share your code and other documents.

Deadline: March 18th, 2018

Students Groups

Research Papers

Objectives

By group of 2, you will have to read one of the following papers then prepare a 20 minutes presentations (+ 10 minutes questions). It is highly recommended that you read all the papers and prepare at least one question for each.

Some pointers on how to read a research paper

M. J. Hanson and D. J. McNamee. Efficient Reading of Papers in Science and Technology

List of papers and Groups

Presented by: Driss Amrani, Mounia Bouhriz, and Halit Cetin

D. Malkhi and D. Terry. 2005. Concise version vectors in WinFS. In Proceedings of the 19th international conference on Distributed Computing (DISC’05). Springer-Verlag, Berlin, Heidelberg, pp.339-353. DOI=http://dx.doi.org/10.1007/11561927_25 (author version)

Presented by: Titem Lehamel, Kane Papa Tamsir

P. S. Almeida, C. Baquero, R. Gonçalves, N. Preguiça, and V. Fonte. 2014. Scalable and Accurate Causality Tracking for Eventually Consistent Stores. In Proceedings of the 14th IFIP WG 6.1 International Conference on Distributed Applications and Interoperable Systems (DAIS 2014), Vol. 8460. Springer-Verlag, New York, NY, USA, pp.67-81. DOI=http://dx.doi.org/10.1007/978-3-662-43352-2_6 (HAL)

Presented by: Thomas Denis – Valéry Lamblé

C. Baquero, P. S. Almeida, and A. Shoker. 2017. Pure Operation-Based Replicated Data Types. Research report. (arXiv)

Presented by: Michel Wolkowicz and Aschmat Parwany

M. Kleppmann and A. R. Beresford. 2017. A Conflict-Free Replicated JSON Datatype. In IEEE Transactions on Parallel and Distributed Systems, vol. 28, no. 10, pp.2733-2746. IEEE Computer Society. DOI=https://doi.org/10.1109/TPDS.2017.2697382 (arXiv)

Presented by: Rania Sayed

M. Kleppmann and A. R. Beresford. 2017. A Conflict-Free Replicated JSON Datatype. In IEEE Transactions on Parallel and Distributed Systems, vol. 28, no. 10, pp.2733-2746. IEEE Computer Society. DOI=https://doi.org/10.1109/TPDS.2017.2697382 (arXiv)

Not selected

P. S. Almeida, A. Shoker, and C. Baquero. 2018. Delta state replicated data types. In Journal of Parallel and Distributed Computing, Vol. 111, Science Direct, pp.162-173, DOI=https://doi.org/10.1016/j.jpdc.2017.08.003 (arXiv)