Home Papers Reports Projects Code Fragments Dissertations Presentations Posters Proposals Lectures given Course notes
<< 8. Thread Based Error Handling: Synchronous Voting on a Distributed Whiteboard10. Concurrent Processes and Transactions >>

9. Asynchronous implementaion of a Vote for Wait/Continue strategy in Borg

Werner Van Belle1 - werner@yellowcouch.org, werner.van.belle@gmail.com

1- Programming Technology Lab (PROG) Department of Computer Science (DINF) Vrije Universiteit Brussel (VUB); Pleinlaan 2; 1050 Brussel; Belgium

Abstract :  This excercise investigates how one cvan implement a vote for continue/wait strategy in Borg. The application we target is a simple messaging whiteboard. This excercise was only used in the academic year 2000-2001

Reference:  Werner Van Belle; Asynchronous implementaion of a Vote for Wait/Continue strategy in Borg;
See also:
The ecercise where we investigate synchronous voting in java.


Info

Vorige week hebbenb we gezien dat synchroon programmeren en sequentieel denken weinig baat brengt in gedistribueerde omgevingen. Vandaag zullen we de whiteboard van vorige week asynchroon programmeren.

Opgave 1: Whiteboard Asynchroon Message Diagram

1- Teken het whiteboard op een asynchrone manier. Hierbij moeten we geen error correctie gedrag toevoegen. Teken enkel de reeds aangeboden functionaliteit, maar dan asycnhroon.

2- Implementeer dit eenvoudige whiteboard in Borg.

Opgave 2: Asynchrone Vote for Continue/Wait

Een probleem met dit soort whiteboard applications is dat er vaak disconnects gebeuren en mensen opnieuw moeten joinen. Als de gedisconnecteerde mensen absoluut de discussie moeten bijwonen moet de mogelijkheid bestaan te wachten tot de persoon in kwestie weer connecteerd. Natuurlijk is dit niet altijd nodig. Daarom willen we de whiteboard aanpassen zodat hij bij een disconnect de andere clients informeert van het probleem, vraagt wie verder wil doen zonder het lastpak en wie wil wachten op het lastpak. De server verzameld de votes en op basis daarvan zal die repeating tegen houden of niet.

1- Bedenk een asynchrone oplossing en teken het bijhorende message diagram.Wees accuraat en houd rekening met de beperkingen van de Borg(TM) technologie, zijnde zuiver asynchroon, geen threading !

2- Implementeer deze vote-continue strategie op een asynchrone manier in Borg.

Oplossingen

SystemTimer.borg


WhiteBoardClientContVoter.borg


WhiteBoardClientOkayFailer.borg


WhiteBoardClientWaitVoter.borg


The White board server dealing with the errorhandling

WhiteBoardServer.pdf
http://werner.yellowcouch.org/
werner@yellowcouch.org