O NTWERP VAN G EDISTRIBUEERDE S OFTWARE
ACADEMIEJAAR 2009 - 2010 1STE EXAMENPERIODE, 15 JANUARI 2010, 14U – 17U30 Naam : ……………………………………………………………………………………….. Richting : …………………………………………………………………………………….. Opmerkingen vooraf : - werk verzorgd en duidelijk, zodat er geen dubbelzinnigheden in je antwoord sluipen - vermeld je naam onderaan elk volgend blad - zorg dat gevraagde argumentaties voldoende duidelijk en uitgebreid zijn om je antwoord te staven.
VRAAG 1: INLEIDENDE BEGRIPPEN[20 MIN] A. TERMINOLOGIE Leg onderstaande begrippen duidelijk en beknopt, in een 5-tal regels uit. a.
Dienst (“Service”)
b.
Interactiemodel (“Interaction Model”) in de context van systeemmodellen
Naam:……………………………………………………….
Blz.1
c.
Transparantie (geef ook enkele voorbeelden van transparantie)
B. FALINGEN Leg uit waarom de combinatie van mogelijke falingen op procesniveau en op netwerkniveau een fundamenteel probleem oplevert voor verdeelde systemen.
VRAAG 2: MIDDLEWARE SERVICES[15 MIN]
TERMINOLOGIE Leg onderstaand begrip duidelijk en beknopt, in een 5-tal regels uit. Request-Reply protocol
Naam:……………………………………………………….
Blz.2
B. EVENT AND NOTIFICATION SERVICE
Welke extra functionaliteit biedt een notification service ten opzichte van een event service?
VRAAG 3: ENTERPRISE APPLICATIONS [25 MIN]
A. TERMINOLOGIE Leg onderstaande begrippen duidelijk en beknopt, in een 5-tal regels uit. a.
Resource pooling
b.
Transaction attribute
Naam:……………………………………………………….
Blz.3
B. JEE SECURITY SERVICE Leg het verschil uit tussen declarative en programmatic security.
Geef een voorbeeld van een geval waarin programmatic security aangewezen is ten opzichte van declarative security.
C. JEE TRANSACTION SERVICE Zorgt het optreden van een exceptie in een JEE applicatie altijd voor een transaction rollback? Leg duidelijk uit.
Naam:……………………………………………………….
Blz.4
VRAAG 4: WEB SERVICES [20 MIN] A. TERMINOLOGIE Leg onderstaande begrippen duidelijk en beknopt, in een 5-tal regels uit. a. Silo application
b.
Orchestratie
c.
JAX-WS
B. @SOAPBINDING ANNOTATIE Leg kort in woorden uit wat het nut is van de @SOAPBinding annotatie. Geef een voorbeeld van een geval waarin deze annotatie nuttig gebruikt wordt.
Naam:……………………………………………………….
Blz.5
VRAAG 5: GLOBALE TOESTAND EN TIJD [25 MIN]
A. TERMINOLOGIE Leg onderstaande begrippen duidelijk en beknopt, in een 5-tal regels uit. a.
klokdrift (“clock drift”)
b.
Logische klok
Naam:……………………………………………………….
Blz.6
B. KLOKKEN a.
Vectorklok
Gegeven volgende koppels (a,b), waarbij a en b waarden van een vectorklok voorstellen. Geef aan en motiveer kort welk besluit je kan trekken i.v.m. de gebeurtenissen A en B die de tijdsstempels a en b dragen. (a,b) ([8,5,5,6],[7,4,5,6])
Besluit i.v.m A en B
Motivatie
([9,3,2,10],[12,5,7,12]) ([12,7,8,3],[8,6,9,2])
b.
Synchronisatie
Processen A en B dienen zo goed mogelijk gesyncrhoniseerd te worden, waarbij proces A als server optreedt. De processen A en B lopen op verschillende machines, en we weten dat communicatie tussen A en B minstens 11 ms in beslag neemt. Om 10:23:12.100 stuurt B een bericht naar A om de correcte tijd te weten te komen. Om 10:23:12.800 ontvangt B het antwoord van A, met daarin de tijd zoals door A gemeten op het ogenblik dat A het bericht van B ontving. Dit tijdsstip is 12:23:230. Welke correctie dient proces B door te voeren opdat de klok in B zo synchroon mogelijk met A zou lopen ? Geef een bovengrens van de nog resterende klok skew. Correctie door B door te voeren:
Maximale klokskew:
Naam:……………………………………………………….
Blz.7
VRAAG 6: COORDINATIE [15 MIN] A. TOKEN RING Gegeven onderstaand algoritme (zoals gezien in de cursus) om via een token ring verdeelde mutuele exclusie te realiseren.
When process p receives “Token” if (p wants access) { execute logic in critical section leave() } else send(Token) to next process Leid een uitdrukking af voor de verwachte client delay.
Naam:……………………………………………………….
Blz.8
VRAAG 7: PRESTATIEMODELLEN [25 MIN] A. MODELLERING VAN GEDISTRIBUEERDE SOFTWARE Gegeven een software component in een gedistribueerd systeem. Deze component biedt een interface methode aan, die door client componenten geïnvokeerd wordt (de methode vereist een aantal argumenten en geeft als resultaat van de invocatie een returnwaarde terug). De component is geïmplementeerd volgens het thread pool principe en supporteert m simultane threads. In het vervolg van deze vraag mag telkens verondersteld worden dat de source code van de client en server component volledig ter beschikking is en kan aangepast worden. (a) Men veronderstelt dat de verwerkingstijden een exponentiële distributie hebben. Hoe zou u verifiëren dat dit inderdaad het geval is. Hoe zou je µ zo nauwkeurig mogelijk bepalen?
(b) Men veronderstelt dat de invocaties volgens een poisson proces verlopen. Beschrijf in je eigen woorden wat er bedoeld wordt met “de invocaties verlopen volgens een poisson proces”.
Naam:……………………………………………………….
Blz.9
(c) Welke meting(-en) en berekening(-en) zou je voorstellen om te verifiëren dat de invocaties inderdaad volgens een poisson proces verlopen. Hoe zou je λ zo nauwkeurig mogelijk bepalen?
VRAAG 8: PEER-TO-PEER SYSTEMEN [25 MIN]
A. TERMINOLOGIE Leg onderstaande begrippen duidelijk en beknopt, in een 5-tal regels uit. a.
overlay netwerk
b.
hybride peer-to-peer systeem
Naam:……………………………………………………….
Blz.10
c.
leafset (in context van circulair routeren)
B. CHORD FINGER TABEL In een Chord ring waar de GUID’s 6 bit beslaan, zijn nodes met volgende ID’s actief : n5 n10 n25 n37 n48 Geef de fingertabel op voor de knopen 5 en 37. Noteer het IP adres van actieve node nX als IP(nX).
Naam:……………………………………………………….
Blz.11
VRAAG 9: CLUSTER- EN GRIDSYSTEMEN[25 MIN]
A. TERMINOLOGIE Leg onderstaande begrippen duidelijk en beknopt, in een 5-tal regels uit. a.
parallelle schaalbaarheid (parallel scalability)
b.
information service (in de context van grids)
c.
one-sided vs. cooperative operations (eenzijdige vs. cooperatieve operaties)
Naam:……………………………………………………….
Blz.12
B. SPEEDUP We wensen de maximale speedup van een parallel programma te weten te komen, zonder beschikking te hebben over de code. Beschrijf welke zo beperkt mogelijke set experimenten je zou uitvoeren en hoe je hieruit de maximale speedup zou halen (in formulevorm).
Naam:……………………………………………………….
Blz.13