Wahl auf Bäumen ■ Grundidee: Traversieren des kompletten Baumes, um den Knoten mit der größten ID zu ermitteln – Sequentielles Traversieren möglich Wahl.fm: 07.11.05 09:03 – Paralleles Traviersieren bietet sich für verteilte Systeme an Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 26 Sequentielles Traversieren ■ Bekanntes „depth first“-Vorgehen wie bei lokelen Datenstrukturen: remote class Node { ArrayList<Node> children = ...; int id = ...; Wahl.fm: 07.11.05 09:03 int findMax() { int maxVal = id; Iterator<Node> it = children.iterator(); while(it.hasNext()) { int val = it.next().findMax(); if ( val > maxVal ) maxVal = val; } return maxVal; } } Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 27 Paralleles Traversieren ■ Zeitgewinn durch Parallelisierung – Sequentiell: Bei N Knoten 2 (N-1) Kommunikationsschritte! ■ Wellenverfahren – „Explosionswelle“ durchläuft den Baum bis zu den Blättern – „Echowelle“ läuft wieder zurück und bestimmt Anführer => teilweise Überlappung mit Explosionswelle möglich Wahl.fm: 07.11.05 09:03 – „Informationswelle“ kann alle Knoten über das Ergebnis der Wahl informieren Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 28 Wahl auf Bäumen 09 16 18 14 02 15 06 03 11 07 10 12 17 05 04 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 29 Wahl auf Bäumen ■ Genauere Beschreibung des Wahlalgorithmus für Bäume ● Ein Starter sendet Explosionsnachrichten in alle Richtungen ● Ein innerer Knoten, der erstmals eine Explosionsnachricht empfängt, sendet wiederum Explosionsnachrichten in alle anderen Richtungen aus ● Ein Blattknoten, der eine Explosionsnachricht erhält, sendet eine Echonachricht mit seiner ID zurück i Wahl.fm: 07.11.05 09:03 i Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 30 Wahl auf Bäumen ● Ein innerer Knoten mit k Kanten, der auf k-1 Kanten Echonachrichten erhalten hat, sendet auf der übrigen Kante eine Echonachricht mit dem Maximum aller IDs a max(a,b,c) c b ● Erhält ein Knoten nach Versenden seiner eigenen Echonachricht eine weitere Echonachricht, so ist das Maximum beider IDs die höchste ID-Nummer im Netz x 10 y Wahl.fm: 07.11.05 09:03 – Muss lediglich ein beliebiger Anführer bestimmt werden, so kann man jetzt einfach einen der beiden Knoten auswählen – Ansonsten kann man in einer Informationswelle alle Knoten über die ermittelte höchste ID informieren Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 31 Wahl auf Bäumen 09 16 18 14 02 15 06 03 11 07 10 12 17 05 04 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 32 Wahl auf Bäumen 09 16 18 14 02 15 06 03 11 07 10 12 17 05 04 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 33 Wahl auf Bäumen 09 16 18 16 9 14 02 15 06 03 11 07 10 12 17 05 1 04 8 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 34 Wahl auf Bäumen 09 16 18 16 9 14 02 15 06 03 11 07 10 12 17 05 1 04 8 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 35 Wahl auf Bäumen 09 16 18 16 9 14 02 15 16 06 3 03 11 07 10 12 17 8 05 1 04 8 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 36 Wahl auf Bäumen 09 16 18 16 9 14 02 15 16 06 3 16 03 11 07 10 12 17 8 05 1 04 8 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 37 Wahl auf Bäumen 09 16 18 18 16 9 14 14 02 15 18 16 16 16 03 11 07 10 12 17 17 8 05 1 06 6 3 4 04 8 13 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 38 Wahl auf Bäumen 09 16 18 18 16 9 14 14 02 15 16 16 16 03 11 07 10 12 17 8 05 1 06 6 3 4 04 8 13 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 39 Wahl auf Bäumen 09 16 18 14 02 15 18 06 16 03 11 07 10 12 17 17 05 04 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 40 Wahl auf Bäumen 09 16 18 14 02 15 18 06 16 03 11 07 16 10 12 17 18 17 05 04 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 41 Wahl auf Bäumen 09 16 18 14 02 15 06 18! 16 03 11 07 18! 10 18! 12 18 18! 17 05 04 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 42 Wahl.fm: 07.11.05 09:03 Wahl auf Bäumen: Zusammenfassung ■ Initiierung des Algorithmus durch Start-Welle (Election-Welle) ■ Bildung von gerichteten Baumkanten in einer Echo-Welle; dabei Informationssammlung (z.B. größte ID) möglich ■ Es kann genau eine Kante geben, bei der Echo-Nachrichten in beiden Richtungen laufen ● „Gewinner“ kann durch gesammelte Information ermittelt werden ● oder: Auswahl eines der beiden Knoten an dieser Kante als Gewinner Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 43 Wahl auf beliebigen Topologien ■ Sequentielle Traversierung des Netzes – Pfadverfahren – Kantenfärbungsverfahren ■ Parallele Traversierung des Netzes – Echo/Election-Algorithmus – ... und Varianten davon Wahl.fm: 07.11.05 09:03 ■ Konstruktion eines virtuellen Baums auf dem Netz Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 44 Wahl auf beliebigen Topologien ■ Ablauf der sequentiellen Traversierung Durch Starter generiertes Token durchläuft Graphen nach dem „Depth First“-Prinzip; es kann mehrere Starter geben, aber nur ein einziges Token kehrt zu seinem Starter zurück ● Beim Starter: – Initial wird ein Token erzeugt (über eine „virtuelle Baumkante“ empfangen) Wahl.fm: 07.11.05 09:03 – Wenn das Token vom letzten Nachbar zurückkommt („über die virtuelle Baumkante zurückgeschickt wird“), ist die Wahl beendet Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 45 Wahl auf beliebigen Topologien ● Jeder Baumknoten, beim ersten Empfang des Tokens: – Falls zuvor bereits ein Token mit größerer ID empfangen wurde, wird das Token „verschluckt“ – Ansonsten sendet der Knoten das Token zu einem Nachbarn, der das Token bisher noch nicht besessen hat – Wenn es keinen solchen Nachbarn mehr gibt, wird das Token über die Kante zurückgesendet, über die es zuerst empfangen wurde ● „Erster Empfang des Tokens”: Wahl.fm: 07.11.05 09:03 – Mehrfacher Empfang des Tokens über verschiedene Pfade (Schleifen) muss verhindert oder erkannt werden Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 46 Wahl auf beliebigen Topologien ● Pfadverfahren: – Jeder Knoten kennt die Identität seiner Nachbarn, und im Token wird der komplette bisher durchlaufene Pfad gespeichert – Jeder Knoten kann selbst entscheiden, welche Nachbarn das Token noch nicht besessen haben ● Kantenfärbungsverfahren: – Die Knoten müssen die Identitäten der Nachbarn nicht kennen, im Token wird keine Pfadinformation gespeichert Wahl.fm: 07.11.05 09:03 – Das Token muss über alle Kanten gesendet werden, um festzustellen, ob der Nachbar das Token bereits besessen hat. Bereits verwendete Kanten werden markiert („gefärbt“), um jede Kante genau einmal zu verwenden Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 47 Wahl auf beliebigen Topologien ■ Parallele Traversierung des Netzes ● Ziel: Zeitgewinn durch Parallelisierung ● Grundprinzip basiert auf Echo-Wahlverfahren auf Bäumen – Zusätzlich Erkennung von Schleifen, Elimination von Kanten und dadurch Bildung eines virtuellen Baums ● Gewinner soll der Initiatorknoten sein mit der größten ID ● Hier betrachtete Algorithmen: – Echo/Election Wahl.fm: 07.11.05 09:03 – Adoptionsverfahren Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 48 Wahl auf beliebigen Topologien ■ Echo/Election-Algorithmus (1) Ein freier Knoten i wird spontan zum Initiator: Knoten virtuelle Baumkante i init(i) init(i) i 0 Wahl.fm: 07.11.05 09:03 init(i) Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm init(i) 49 Wahl auf beliebigen Topologien (2) Ein freier Knoten wird von der Nachricht init(i) erreicht: init(i) init(i) init(i) a) Grad>1: i 0 init(i) init(i) init(i) echo(i) Wahl.fm: 07.11.05 09:03 b) Grad=1: Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 50 Wahl auf beliebigen Topologien (3) init(j) trifft auf einen mit i markierten Knoten (Grad > 1): init(j) a) j = i i √ i Falls die letzte Nicht-Baumkante als erledigt festgestellt wird, wird ein Echo über die Baumkante verschickt. b)j < i (d. h. der eintreffende Explorer ist kleiner als der zuletzt versandte): Wahl.fm: 07.11.05 09:03 Es erfolgt keine Zustandsänderung! (Nachricht wird "verschluckt") Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 51 Wahl auf beliebigen Topologien c) j > i (d. h. Knoten wird von stärkerem Initiator erobert) init(j) init(j) init(j) j i init(j) init(j) Wahl.fm: 07.11.05 09:03 Falls ein Initiator erobert wird, entfällt damit dessen virtuelle Baumkante. Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 52 Wahl auf beliebigen Topologien (4) Es trifft ein Echo ein: echo(j) a) i = j i √ i Falls die letzte Nicht-Baumkante als erledigt festgestellt wird, wird ein Echo über die Baumkante verschickt. Wahl.fm: 07.11.05 09:03 b) j < i: Nachricht wird ignoriert Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 53 Wahl auf beliebigen Topologien (5) Zurücksenden eines Echos: χ √ i √ √ √ 0 Wahl.fm: 07.11.05 09:03 Falls es sich um einen Initiator handelt (d. h. die Baumkante ist virtuell), so ist er der Gewinner. Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 54 Wahl auf beliebigen Topologien ■ Adoptionsverfahren: Idee d c B 2 1 b a Wahl.fm: 07.11.05 09:03 A Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 55 Wahl auf beliebigen Topologien (1) Ein freier Knoten i wird spontan zum Initiator: wie bisher + ausgehende Kanten werden mit i markiert (2) Ein freier Knoten wird von einem Explorer ε(i) erreicht: Grad > 1: wie bisher + ausgehende Kanten werden mi i markiert Grad = 1: wie bisher (3) Ein Explorer ε(j) trifft auf Knoten mit Markierung i (Grad > 1); die Eingangskante sei mit k markiert: – k = j, d. h. zwei Explorer gleicher Markierung begegnen sich ε(j) k Wahl.fm: 07.11.05 09:03 i Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm k √ i 56 Wahl auf beliebigen Topologien – k > j, d. h. der eintreffende Explorer ist kleiner als der in Gegenrichtung zuletzt versandte: keine Zustandsänderung – j > i (damit natürlich auch j > k): Adoption: Explorer wird über die bisherige Baumkante gesendet ε(j) ε(j) j k i j Wahl.fm: 07.11.05 09:03 Falls ein Initiator erobert wird (dessen virtuelle Baumkante damit entfällt), wird ein ggf. Echo zurückgesandt. Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 57 Wahl auf beliebigen Topologien – i >= j > k ε(j) ε(i) k i i i Falls i = j ist, gilt die Baumkante als erledigt. (4) Es trifft ein Echo ein: wie bisher Wahl.fm: 07.11.05 09:03 (5) Zurücksenden eines Echo: wie bisher Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 58 Wahl auf beliebigen Topologien ■ Beispiel 09 16 18 14 02 15 06 03 11 07 10 12 17 05 04 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 59 Wahl auf beliebigen Topologien ■ Beispiel 09 16 18 14 02 15 06 03 11 07 10 12 17 05 04 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 60 Wahl auf beliebigen Topologien ■ Beispiel 09 16 18 14 * 02* * * 15 06 03 11 07 10 12 17 05 04 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 61 Wahl auf beliebigen Topologien ■ Beispiel 09 16 18 14 * 02* * * 15 06 03 11 07 10 12 17 05 04 * 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 62 Wahl auf beliebigen Topologien ■ Beispiel 09 16 18 14 * 02* * * 15 06 03 11 07 10 12 17 05 04 * 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 63 Wahl auf beliebigen Topologien ■ Beispiel 09 16 18 14 * 02* * * 15 06 03 11 07 10 12 17 05 04 * 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 64 Wahl auf beliebigen Topologien ■ Beispiel 09 16 18 14 * 02* * * 15 06 03 * 11 07 10 12 17 05 04 * 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 65 Wahl auf beliebigen Topologien ■ Beispiel 09 16 18 14 * 02* * * 15 06 03 * 11 07 10 12 17 05 04 * 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 66 Wahl auf beliebigen Topologien ■ Beispiel 09 16 18 14 * 02* * * 15 06 03 * 11 07 10 12 17 05 04 * 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 67 Wahl auf beliebigen Topologien ■ Beispiel 09 16 18 14 * 02* * * 15 06 03 * 11 07 10 12 17 05 04 * 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 68 Wahl auf beliebigen Topologien ■ Beispiel 09 16 18 14 * 02* * * 15 06 * * 11 03 * 07 10 12 17 05 04 * 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 69 Wahl auf beliebigen Topologien ■ Beispiel 09 16 18 14 * 02* * * 15 * 06 * * 11 03 * 07 10 12 17 * 05 04 * 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 70 Wahl auf beliebigen Topologien ■ Beispiel 09 16 18 14 * 02* * * 15 * 06 * * 11 03 * 07 10 12 17 * 05 04 * 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 71 Wahl auf beliebigen Topologien ■ Beispiel 09 16 18 14 * 02* * * 15 * 06 * * 11 03 * 07 10 12 17 * 05 04 * 13 Wahl.fm: 07.11.05 09:03 01 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 72 Wahl auf beliebigen Topologien ■ Beispiel 09 16 18 14 * 02* * * 15 * 06 * * * 11 03 07 10 12 17 * 05 04 * 13 Wahl.fm: 07.11.05 09:03 01 * 08 Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 73 Wahl auf beliebigen Topologien ■ Zusammenfassung ● Wahlalgorithmen auf beliebigen Topologien: Algorithmen für Baumstrukturen + Zyklenerkennung ● Explorer- und Echowelle, ggf. Informationswelle ● Konstruktion eines virtuellen Baumes ● Verschiedene Varianten möglich: – Sequentielle Traversierung einfach, aber hoher zeitlicher Aufwand Wahl.fm: 07.11.05 09:03 – Parallele Traversierung komplexer, aber wesentlich geringere Zeitkomplexität Algorithmen für Verteilte Systeme (AVS), WS 2005/06 (C) 2005 Hans P. Reiser, Franz J. Hauck, Abteilung Verteilte Systeme, Universität Ulm 74