22.11.2013 Aufrufe

Verteilte Systeme

Verteilte Systeme

Verteilte Systeme

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Verteilte</strong>r Druckdienst mittels Leader-Election:<br />

Der Client<br />

<strong>Verteilte</strong>r Druckdienst mittels Leader-Election:<br />

Auftragsempfang bei einem Server<br />

client {<br />

sendGroup(druckserverGroup, druckTask);<br />

receive (ackNachricht);<br />

}<br />

taskReceive (task) {<br />

if (task ⊂ missing) remove task from missing;<br />

else {<br />

add task to taskQ;<br />

if !busy {<br />

contention-Nachricht mit taskId, MyPID, MyPrio an<br />

rechten Ringnachbarn senden;<br />

}<br />

}<br />

}<br />

<strong>Verteilte</strong> <strong>Systeme</strong>-VI 21<br />

<strong>Verteilte</strong> <strong>Systeme</strong>-VI 22<br />

<strong>Verteilte</strong>r Druckdienst mittels Leader-Election:<br />

Ankunft einer contention-Nachricht beim Server<br />

<strong>Verteilte</strong>r Druckdienst mittels Leader-Election:<br />

Ankunft einer contention-Nachricht beim Server<br />

contentionReceive (c) {<br />

if (c.PID == MyPID) {<br />

busy = true;<br />

activeTask = Top(taskQ);<br />

Druckauftrag(activeTask) bearbeiten;<br />

send (clientId, ACK);<br />

delete activeTask;<br />

busy = false;<br />

{<br />

else { //fremde contention-Nachricht<br />

if (c.taskId ⊄ taskQ) {//task ist unbekannt<br />

add c.taskId zu missing;<br />

c weiterleiten auf Ring;<br />

}<br />

else {//task ist bekannt<br />

if (!Konflikt) {//kein Wettbewerb um diesen Auftrag<br />

remove c.taskId from taskQ;<br />

c weiterleiten auf Ring;<br />

}<br />

else {//Konflikt, d h. Wettbewerb um den Auftrag<br />

if (MyPrio < c.Prio) {//ich bin Verlierer<br />

remove c.taskId from taskQ;<br />

c weiterleiten;<br />

}<br />

<strong>Verteilte</strong> <strong>Systeme</strong>-VI 23<br />

<strong>Verteilte</strong> <strong>Systeme</strong>-VI 24

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!