Frage zu Aufgabe 9.3c) Teil 2 und 3

Felo
Erstie
Erstie
Beiträge: 14
Registriert: 4. Jun 2009 13:28

Frage zu Aufgabe 9.3c) Teil 2 und 3

Beitrag von Felo » 19. Jan 2010 17:32

Hallo,
wir sitzen gerade an der Aufgabe 9.3c) Teil 2 und 3 der theoretischen Übung und es existieren ein paar Unklarheiten bei uns.

Für alle die Aufgabe 9.3 noch nicht gemacht haben, könnte es ein paar Spoiler geben, also bitte nicht durchlesen ;)

Also das Problem in Aufgabe 9.3c) Teil 2 ist ja, dass ein Zyklus existiert und nach dem Routing mit Subscriptions Verfahren stupide immer die eingehenden Requests an alle ausgehenden Knoten (bis auf den Quellknoten) gesendet werden.

Wir haben jetzt allerdings Probleme mit der Annahme die wir formulieren sollen, damit der Algorithmus terminiert. Eine Möglichkeit z.B. wäre, dass das unterliegende Kommunikationsnetzwerk nicht zuverlässig ist und hin - und wieder Nachrichten verliert. Damit würde der Algorithmus irgendwann terminieren (allerdings ist es keine wirklich schöne Lösung^^).
Eine andere Möglichkeit wäre eher als eine Erweiterung zu klassifizieren - undzwar wollen wir dem subscribe Request eine History hinzufügen in der die bisherigen Router die den Request weitergeleitet haben eingetragen sind. Damit könnte man eventuelle mehrfache Pfade erkennen und diese "Auslöschen".
Wäre die letztere Möglichkeit denn zulässig, da sie ja eigentlich eine Erweiterung des Verfahrens und keine Annahme ist?.

Die nächste Frage ist: bezieht sich die Teilaufgabe 9.c) 3 auf die Lösung nach Teilaufgabe 9.c) 2 oder auf das nicht terminierende Verfahren davor? Denn je nachdem welche Annahme wir treffen, haben wir hier ein Problem oder nicht.

Viele Grüße und vielen Dank im Vorraus für die Antworten,
felo

Benutzeravatar
Tigger
Kernelcompilierer
Kernelcompilierer
Beiträge: 404
Registriert: 26. Okt 2007 17:35
Wohnort: Hofheim
Kontaktdaten:

Re: Frage zu Aufgabe 9.3c) Teil 2 und 3

Beitrag von Tigger » 19. Jan 2010 17:57

Also ich würde ja zu zweiter Lösung tendieren, denn das Terminieren auf die Unzuverlässigkeit des Netzwerks zu beziehen, halte ich für weniger Sinnvoll ;) Bei c glaube ich, könnte es auch bei der "verbesserten" Variante Probleme geben. Überlegt mal, was, wo und vorallem wie oft irgendwo eintrifft.

baerchen
Computerversteher
Computerversteher
Beiträge: 382
Registriert: 24. Okt 2006 15:42

Re: Frage zu Aufgabe 9.3c) Teil 2 und 3

Beitrag von baerchen » 19. Jan 2010 20:42

Ich denke dass sich hinter "Annahme" auf jeden Fall eine Annahme an das Verhalten des Algorithmus gemeint ist, also eine Erweiterung.
We can do this the hard way or my way ...which is basically the same thing!

kormirion
Neuling
Neuling
Beiträge: 9
Registriert: 26. Okt 2006 19:28

Re: Frage zu Aufgabe 9.3c) Teil 2 und 3

Beitrag von kormirion » 19. Jan 2010 23:58

Hallo zusammen,
Eine Möglichkeit z.B. wäre, dass das unterliegende Kommunikationsnetzwerk nicht zuverlässig ist und hin - und wieder Nachrichten verliert. Damit würde der Algorithmus irgendwann terminieren (allerdings ist es keine wirklich schöne Lösung^^).
also, das ist nun wirklich keine schöne Lösung )))

Eine andere Möglichkeit wäre eher als eine Erweiterung zu klassifizieren - undzwar wollen wir dem subscribe Request eine History hinzufügen in der die bisherigen Router die den Request weitergeleitet haben eingetragen sind. Damit könnte man eventuelle mehrfache Pfade erkennen und diese "Auslöschen".
Wäre die letztere Möglichkeit denn zulässig, da sie ja eigentlich eine Erweiterung des Verfahrens und keine Annahme ist?.

Man muss doch nicht die gesamte History der Router an jede Nachricht anhängen. Ich denke mal es könnten sehr viele Router werden und dadurch eine sehr lange Hstory. :-)

Es ist schon richtig, dass es versucht werden muss zu erkennen, ob eine vorliegende Subscription von einem bestimmten Router an einen anderen Router bereits weitergeleitet wurde oder nicht. Aber gibt es denn keine anderen Möglichkeiten dies zu tun, als die gesamte History von Router zu Router zu schicken? Kann ein Router dies nicht auf andere Weise erkennen? Überlegt euch mal, was passiert jedes mal wenn eine Nachricht eintrifft und weitergeroutet wird. :-)

Die nächste Frage ist: bezieht sich die Teilaufgabe 9.c) 3 auf die Lösung nach Teilaufgabe 9.c) 2 oder auf das nicht terminierende Verfahren davor? Denn je nachdem welche Annahme wir treffen, haben wir hier ein Problem oder nicht.
Ihr meint damit, dass mit dem Lösen des Problems aus Teil 2 auch das Problem aus Teil 3 gelöst wird, verstehe ich das richtig?
Als kleiner Tipp hier: Überlegt euch was der Unterschied zwischen Subscriptions und Notifikationen ist, und zwischen den Anforderungen an deren Übertragungen. Ist das Problem von Teil 3 im Teil 2 bereits gelöst?


Ich hoffe, dass ich ein bisschen weiterhelfen konnte :-)

Antworten

Zurück zu „Archiv“