-
Die Erfindung betrifft ein Verfahren zur Koordination des Zugriffs auf eine Ressource eines verteilten Computersystems, das mehrere verteilte Teilnehmerstationen aufweist. Die Teilnehmerstationen können untereinander kommunizieren. Die Erfindung betrifft ferner ein derartiges Computersystem sowie ein Computerprogramm zur Durchführung des Verfahrens.
-
Computersysteme mit mehreren Prozessoren sind relativ komplex hinsichtlich der Verwaltung ihrer Ressourcen, z.B. Speicher, Kommunikationsmedien, Ein- und Ausgabekanäle usw.. In der
DE 10 2009 016 742 B4 wurde bereits der Vorschlag gemacht, für die Verwaltung der Ressourcen eines solchen Computersystems einen spezifischen Ressourcen-Manager zu ergänzen, durch den Zugriffe auf Ressourcen durch entsprechende Reservierungen mit garantiertem Zeitverhalten realisiert werden können.
-
Die vorliegende Erfindung betrifft ein verteiltes Computersystem, bei dem mehrere Teilnehmerstationen verteilt angeordnet sind. Beispiele für solche verteilten Computersysteme sind vernetze Computersysteme, z.B. Multicore ECUs, innerhalb eines Fahrzeuges oder Gebäudes, oder über Datenverbindungen vernetzte Fahrzeuge, deren jeweilige lokale Computersysteme miteinander kommunizieren, oder sonstige Computernetze, wie z.B. das Internet. Beim erstgenannten Beispiel eines Fahrzeugs und dessen internen, vernetzten Systemen kann es sich z.B. um eine ECU (ECU - Electronic Control Unit, d.h. elektronisches Steuergerät) mit Multicore Computersystem mit internem Bus oder Netzwerk und Ressourcen-Manager handeln. Mehrere dieser ECUs sind dann z.B. über ein Netzwerk (Ethernet, ggf. mit eigenem Ressourcen-Manager) miteinander verbunden. Der Begriff der Teilnehmerstation ist dabei im weitesten Sinne zu verstehen. Eine Teilnehmerstation kann z.B. ein lokaler Computer oder ein Computersystem sein, z.B. auch ein Mehrprozessor-Computersystem, wie es aus dem eingangs genannten Stand der Technik bekannt ist. Teilnehmerstationen können insbesondere busbasierte Computersysteme und Router-basierte Computersysteme, auch gemischt, sein.
-
Bei solchen verteilten Computersystemen ist das Ressourcenmanagement noch komplexer. Bisher existiert keine Lösung, um eine Ende-zu-Ende-Kommunikationsverbindung auch zwischen verschiedenen Teilnehmerstationen mit einem vorhersagbaren Antwortverhalten zu ermöglichen. Der Erfindung liegt die Aufgabe zugrunde, hierfür eine Lösung anzugeben. Ein Vorschlag zur Optimierung des Ressourcen-Managements von verteilten Computern im Internet ist bekannt aus der Veröffentlichung von Foster, I. et al.: A Distributed Resource Management Architecture that Supports Advance Reservations and Co-Allocation. In: Proceedings oft he 1999 Seventh International Workshop on Quality of Service (IWQoS'99), 1999. pp. 27-36.
-
Die Aufgabe wird durch ein Verfahren gemäß Anspruch 1 gelöst.
-
Die Erfindung hat den Vorteil, dass die gewünschte Ende-zu-Ende-Kommunikationsverbindung zwischen dem Anfrager und der gewünschten Ressource in jedem Fall mit vorhersagbarer Performance bereitgestellt werden kann, insbesondere mit garantierter Latenz und/oder garantiertem Mindestdatendurchsatz. Dies wird dadurch erreicht, dass vorab, d.h. bevor die eigentliche Kommunikation zwischen dem Anfrager und der gewünschten Ressource stattfindet, über die Verbindungsanforderung ein Prozess des Aushandelns zwischen den Ressourcen-Managern angestoßen wird. Sind die notwendigen Einstellungen und Parameter für die Bereitstellung der gewünschten Ende-zu-Ende-Kommunikationsverbindung vollständig ausgehandelt, dann wird erst die eigentliche Kommunikation über die reservierte Kommunikationsverbindung hergestellt. Es handelt sich somit um ein zumindest zweischrittiges oder allgemein gesagt mehrstufiges Verfahren, durch das die gewünschte Vorhersagbarkeit der Kommunikation auch über mehrere Teilnehmerstationen in einem verteilten Computersystem sichergestellt werden kann.
-
Die an einem externen Kommunikationsmedium angekoppelten Ressourcen bzw. Ressourcen-Manager können somit über das externe Kommunikationsmedium mit anderen Teilnehmern des Computersystems, z. B. mit den Teilnehmerstationen, kommunizieren. Dementsprechend können auch andere Teilnehmer, wie z. B. die Teilnehmerstationen, über das externe Kommunikationsmedium auf solche am externen Kommunikationsmedium angekoppelten Ressourcen und/oder Ressourcen-Manager zugreifen. Ein an einem externen Kommunikationsmedium angekoppelter Ressourcen-Manager kann beispielsweise zur Verwaltung der an dem externen Kommunikationsmedium ebenfalls angekoppelten Ressourcen eingerichtet sein.
-
Wenn ein Anfrager auf eine gewünschte Ressource zugreifen will, kann dies eine Ressource der eigenen Teilnehmerstation oder jenseits der eigenen Teilnehmerstation des Anfragers sein, z. B eine Ressource einer anderen Teilnehmerstation oder eine an einem externen Kommunikationsmedium angebundene Ressource.
-
Die Ressourcen können somit als von mehreren Teilnehmerstationen bzw. deren Rechnern gemeinsam genutzte Ressourcen sein. Als Ressourcen seien in diesem Zusammenhang bspw. Hardwarekomponenten des Computersystems verstanden, wie der Hauptspeicher, Kommunikationsmedien, Ein- und Ausgabekanäle, Cache-Speicher und andere verwendete Hardware- und Softwarekomponenten, einschließlich Hardwarekomponenten, die sich auf demselben Chip wie die Rechner befinden können. Als Rechner wird in diesem Zusammenhang jede Einheit verstanden, die ein Programm bearbeiten kann, z.B. ein Mikroprozessor, ein Mikrocontroller oder ein FPGA.
-
Das Gesamtsystem enthält damit mindestens zwei Ressourcen-Manager, die kooperativ die Ende-zu-Ende-Zugriffe gemäß der Verbindungsanforderung oder einer Reservierungsanfrage steuern, um Zeitgarantien zu geben oder die Performance, Fail-operational, Safety oder Security zu erhöhen, eine Rekonfigurierbarkeit oder dynamische Laufzeitanpassung zu ermöglichen.
-
Die Verbindungsanfrage kann von dem Anfrager auch an mehrere Ressourcen-Manager gesandt werden, oder mehrere Ressourcen-Manager können die Verbindungsanforderung empfangen.
-
Eine Verbindungsanforderung (Reservierungsanfrage) kann auch eine Stornierung oder Veränderung mindestens eines Teils der laufenden Konfiguration des Computersystems beschreiben.
-
Die Kommunikation zwischen den verhandelnden Ressourcen-Managern kann durch direkten oder hierarchischen Nachrichten-Austausch erfolgen. Ein Ressourcen-Manager kann die jeweiligen anderen beteiligten Ressourcen-Manager des Verhandlungsprozesses informieren, sobald Ressourcen wieder freigegeben werden.
-
Bei dem internen Kommunikationsmedium und dem externen Kommunikationsmedium kann es sich um gleichartige oder unterschiedliche Kommunikationsmedien handeln. Das Gleiche gilt für die internen Kommunikationsmedien verschiedener Teilnehmerstationen, die ebenfalls gleichartig oder unterschiedlich ausgebildet sein können. Ein internes oder externes Kommunikationsmedium kann z.B. als Datenbus, z.B. in Form eines CAN-Busses, oder als Netzwerkrouter ausgebildet sein. Das Kommunikationsmedium kann auch als sonstiges Netzwerk, z.B. Ethernet, ausgebildet sein. Der Netzwerkrouter kann insbesondere als Network on Chip ausgebildet sein. Ein Kommunikationsmedium kann dabei auch aus einer Vielzahl von Netzwerk-Routern bestehen.
-
Ein externes Kommunikationsmedium kann einfach aufgebaut sein und nur eines der zuvor genannten Kommunikationsmedien, wie z. B. Datenbus oder Netzwerkrouter, aufweisen. Ein externes Kommunikationsmedium kann auch komplexer aufgebaut sein, z. B. als Anordnung aus einem solchen Kommunikationsmedium und einem oder mehreren daran angekoppelten Ressourcen und/oder einem oder mehreren daran angekoppelten Ressourcen-Managern.
-
Die Reservierung für die Durchführung der Ende-zu-Ende-Kommunikationsverbindung kann eine Reservierung für einen exklusiven Zugriff auf die gewünschte Ressource sein, oder auch für einen nicht exklusiven Zugriff, der die Möglichkeit paralleler Zugriffe auf die Ressource umfasst. Dies gilt selbstverständlich nur in Fällen, in denen die Ressource auch dann die gewünschten Anforderungen erfüllen kann oder zumindest hierzu Quality-of-Service Mechanismen bereitstellt.
-
Gemäß einer vorteilhaften Weiterbildung der Erfindung ist vorgesehen, dass der die Verbindungsanforderung empfangende Ressourcen-Manager zunächst prüft, ob die gewünschte Ressource von diesem Ressourcen-Manager selbst verwaltet wird, und wenn dies der Fall ist, dieser Ressourcen-Manager keine Anfragen an andere Ressourcen-Manager sendet, um die gewünschte Ende-zu-Ende-Kommunikationsverbindung herzustellen. Auf diese Weise wird der Kommunikations- und Zeitaufwand für das Aushandeln der gewünschten Verbindung minimiert. In einem solchen Fall wird bei einem Zugriff auf eine Teilnehmerstations-interne Ressource eine interne Ressourcenverwaltung durch den lokalen Ressourcen-Manager durchgeführt.
-
Gemäß einer vorteilhaften Weiterbildung der Erfindung ist vorgesehen, dass ein Anfrager ein Rechner des Computersystems, eine Applikation, ein Monitor, ein Hypervisor und/oder ein Client ist. Ein Anfrager kann somit durch Hardwarekomponenten, Softwarekomponenten, oder eine Kombination daraus gebildet sein. Als Monitor wird in diesem Zusammenhang ein Element des Computersystems verstanden, das zur Überwachung (Monitoring) von Hardwarekomponenten und/oder Softwarekomponenten des Computersystems eingerichtet ist. Über den Monitor können z.B. Fehlfunktionen im Computersystem detektiert werden. Ein Ressourcen-Manager kann dabei Monitoring-Informationen, d.h. Daten vom Monitor, für die Optimierung, Umschaltung und/oder Fehlersicherheit nutzen.
-
Gemäß der Erfindung ist vorgesehen, dass die Parameter der Verbindungsanforderung wenigstens Art, Umfang und Zeitverhalten (z.B. die gewünschte Latenz und/oder den Mindestdatendurchsatz) der gewünschten Ressource beinhalten. Auf diese Weise ist die Verbindungsanforderung für die gewünschte Kommunikationsverbindung hinreichend definiert. Der Ressourcen-Manager kann dabei insbesondere hinsichtlich ihres Zeitverhaltens einstellbare Ressourcen entsprechend konfigurieren, d.h. entsprechend den Parametern auf das gewünschte Zeitverhalten einstellen.
-
Gemäß einer vorteilhaften Weiterbildung der Erfindung ist daher vorgesehen, dass der die gewünschte Ressource verwaltende Ressourcen-Manager das Zeitverhalten der gewünschten Ressource und/oder weiterer Ressourcen und/oder Kommunikationsmedien, die für den Zugriff auf die gewünschte Ressource erforderlich sind, gemäß den Parametern der Verbindungsanforderung einstellt.
-
Gemäß einer vorteilhaften Weiterbildung der Erfindung ist vorgesehen, dass in dem Fall, dass die gewünschte Ende-zu-Ende-Kommunikationsverbindung nicht hergestellt werden kann, das Computersystem alternative Konfigurationen der Teilnehmerstationen und/oder externer Kommunikationsmedien prüft, und wenn eine alternative Konfiguration geeignet zur Erfüllung der Verbindungsanforderung ist, die jeweilige Teilnehmerstation und/oder das jeweilige externe Kommunikationsmedium entsprechend rekonfiguriert. Auf diese Weise wird die Wahrscheinlichkeit zur Herstellung der gewünschten Kommunikationsverbindung weiter gesteigert. An diesem Prozess der Prüfung alternativer Konfigurationen und der entsprechenden Rekonfiguration können eine, mehrere oder alle Komponenten des Computersystems partizipieren, z.B. der Ressourcen-Manager, der die Verbindungsanforderung vom Anfrager empfängt. Es können auch mehrere Ressourcen-Manager daran beteiligt sein, oder der Anfrager und/oder eine übergeordnete Instanz des Computersystems.
-
Gemäß einer vorteilhaften Weiterbildung der Erfindung ist vorgesehen, dass der Anfrager Teil einer anderen Teilnehmerstation des Computersystems ist als die gewünschte Ressource. Auf diese Weise kann ein Teilnehmerstations-übergreifender Ressourcenzugriff mit vorhersagbarer Performance bereitgestellt werden.
-
Gemäß einer vorteilhaften Weiterbildung der Erfindung ist vorgesehen, dass die an der Herstellung der gewünschten Ende-zu-Ende-Kommunikationsverbindung beteiligten Ressourcen-Manager die Einhaltung der Parameter der Verbindungsanforderung durch eine kooperative Synchronisierung von Zugriffen sicherstellen und/oder steuern. Dementsprechend beteiligen sich die Ressourcen-Manager an der gewünschten Kommunikation bis zu deren Abschluss.
-
Gemäß einer vorteilhaften Weiterbildung der Erfindung ist vorgesehen, dass der die Verbindungsanforderung empfangende Ressourcen-Manager oder ein anderer Ressourcen-Manager, der eine Anfrage von einem Ressourcen-Manager erhält, die Verbindungsanforderung oder Anfrage bezüglich ihrer Gültigkeit, Durchführbarkeit, Performance, Sicherheit und/oder Einfluss auf andere Komponenten des Computersystems bewertet und bei negativer Bewertung
- a) die Verbindungsanforderung oder Anfrage ablehnt oder
- b) die Parameter der Verbindungsanforderung oder der Anfrage abändert und erneut bewertet.
-
Auf diese Weise können unzulässige und/oder das System störende Ressourcenzugriffe vorab unterbunden werden.
-
Die eingangs genannte Aufgabe wird ferner gelöst durch ein Computersystem, das mehrere verteilte Teilnehmerstationen aufweist, wobei es zumindest zwei Teilnehmerstationen gibt, die jeweils wenigstens einen Rechner, wenigstens eine Ressource des Computersystems, wenigstens einen Ressourcen-Manager, der zur Verwaltung der ihm zugeordneten Ressourcen des Computersystems eingerichtet ist, und wenigstens ein internes Kommunikationsmedium aufweisen, über das der wenigstens eine Rechner, die wenigstens eine Ressource und der wenigstens eine Ressourcen-Manager Teilnehmerstations-intern zur Durchführung einer Datenkommunikation gekoppelt sind, wobei die Teilnehmerstationen über wenigstens ein externes Kommunikationsmedium miteinander zur Durchführung einer Datenkommunikation gekoppelt sind, wobei an einem externen Kommunikationsmedium Ressourcen und/oder Ressourcen-Manager des Computersystems angekoppelt sein können, wobei das Computersystem zur Ausführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist. Auch hierdurch können die zuvor erläuterten Vorteile realisiert werden.
-
Gemäß einer vorteilhaften Weiterbildung der Erfindung ist vorgesehen, dass ein Kommunikationsmedium aus einer Vielzahl von Netzwerk-Routern besteht, über welche die Kommunikation zwischen daran angekoppelten Teilnehmern Paket-basiert erfolgt, wobei verschiedene Kommunikationsmedien unterschiedliche Paketformate nutzen können. Dies erlaubt eine besonders effiziente Datenkommunikation in komplexen Computersystemen. Die angekoppelten Teilnehmer können insbesondere Teilnehmerstationen, einzelne Ressourcen und/oder Ressourcen-Manager sein.
-
Dies kann sowohl für das interne Kommunikationsmedium einer oder mehrerer Teilnehmerstationen gelten als auch für das externe Kommunikationsmedium. Wie bereits erwähnt, können die diversen Kommunikationsmedien (intern/extern) des Computersystems unterschiedlich ausgebildet sein. So kann z.B. eine Teilnehmerstation als internes Kommunikationsmedium einen CAN-Bus aufweisen und über ein Ethernet als externes Kommunikationsmedium mit einer anderen Teilnehmerstation verbunden sein, die als internes Kommunikationsmedium einen Router in Form eines Network on Chip aufweist.
-
Gemäß einer vorteilhaften Weiterbildung der Erfindung ist vorgesehen, dass ein Kommunikationsmedium wenigstens einen Ressourcen-Manager, der zur Verwaltung der ihm zugeordneten Ressourcen des Computersystems eingerichtet ist, aufweist oder damit gekoppelt ist und/oder einem Ressourcen-Manager mehrere Kommunikationsmedien zur Verwaltung zugewiesen sind. Somit kann ein Kommunikationsmedium mit integriertem Ressourcen-Manager genutzt werden.
-
Gemäß einer vorteilhaften Weiterbildung der Erfindung ist vorgesehen, dass die Ressourcen-Manager hinsichtlich ihrer Komplexität und/oder Funktionalität unterschiedlich ausgebildet sind. Dies erlaubt somit eine diversitäre Struktur der verschiedenen Ressourcen-Manager, z.B. je nach Komplexität und/oder Funktionalität der entsprechenden Teilnehmerstation oder des Kommunikationsmediums.
-
Gemäß einer vorteilhaften Weiterbildung der Erfindung ist vorgesehen, dass ein jeweiliger Ressourcen-Manager in Form von Software und/oder Hardware implementiert ist. Dies erlaubt eine große Flexibilität bei der Realisierung der Ressourcen-Manager. Die Ressourcen-Manager können auch hinsichtlich ihrer Implementation unterschiedlich sein. So kann bspw. ein Ressourcen-Manager einer Teilnehmerstation in Form von Software, ein anderer in Form von Hardware und ein noch anderer Ressourcen-Manager in Form einer Kombination von Software und Hardware implementiert sein.
-
Die eingangs genannte Aufgabe wird ferner gelöst durch ein Computerprogramm mit Programmcodemitteln, eingerichtet zur Durchführung eines Verfahrens der zuvor erläuterten Art, wenn das Computerprogramm auf einem Rechner oder mehreren Rechnern des Computersystems ausgeführt wird.
-
Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen unter Verwendung von Zeichnungen näher erläutert.
-
Es zeigen
- 1 ein verteiltes Computersystem in einer ersten Ausführungsform und
- 2 ein verteiltes Computersystem in einer zweiten Ausführungsform und
- 3 ein Flussdiagramm der Bearbeitung einer Verbindungsanforderung in einem Ressourcen-Manager und
- 4 bis 6 einen vollständigen Protokollablauf in verschiedenen Ausführungsformen.
-
In den Figuren werden gleiche Bezugszeichen für einander entsprechende Elemente verwendet. Die 1 und 2 zeigen das Computersystem in stark schematisierter Form. Wie erkennbar ist, ist das Computersystem gemäß 2 wesentlich komplexer ausgebildet als das Computersystem der 1.
-
Das in 1 dargestellte Computersystem weist zwei Teilnehmerstationen 100 auf, die z.B. On-Board-Systeme eines Fahrzeugs sein können. Die Teilnehmerstationen 100 sind über ein externes Kommunikationsmedium 200 miteinander gekoppelt. Die Teilnehmerstationen 100 weisen bspw. einen Rechner 103 in Form eines Prozessors auf, sowie als Ressourcen gemeinsam genutzten Speicher (Shared Memory) 102, Sensoren bzw. Aktoren 101, einen Hauptspeichercontroller 104, einen Hardwarebeschleuniger 105 auf. Die zuvor genannten Komponenten 101, 102, 103, 104, 105 können auch mehrfach vorhanden sein. Eine Teilnehmerstation 100 kann daher bereits als Mehrprozessorsystem ausgebildet sein. Ferner weist das in 1 dargestellte Computersystem einen Ressourcen-Manager 106 sowie als Schnittstelle zum externen Kommunikationsmedium 200, das die Datenkommunikation mit externen Komponenten erlaubt, ein Gateway/Interface 108 auf. Diese Komponenten sind Teilnehmerstations-intern über ein internes Kommunikationsmedium 107 miteinander gekoppelt, um Daten miteinander auszutauschen. Das interne Kommunikationsmedium 107 kann z.B. ein On-Chip Interconnect sein.
-
Das externe Kommunikationsmedium 200 weist ein eigenes internes Kommunikationsmedium 201 auf, das zur Datenkommunikation mit den Gateways/Interfaces 108 gekoppelt ist. Das interne Kommunikationsmedium 201 kann z.B. als Ethernet oder CAN-Bus (Off-Chip) ausgebildet sein. An dem internen Kommunikationsmedium 201 sind weitere Ressourcen des Computersystems angekoppelt, z.B. Hardwarebeschleuniger 202, Sensoren/Aktoren 203, weitere Gateways/Interfaces 204. Dem externen Kommunikationsmedium 200 ist ein eigener Ressourcen-Manager 205 zugeordnet, der ebenfalls mit dem internen Kommunikationsmedium 201 gekoppelt ist. In dem dargestellten Beispiel ist das externe Kommunikationsmedium 200 bereits als komplexes Kommunikationsmedium ausgebildet. Die Erfindung beinhaltet auch Ausführungsformen, bei denen das externe Kommunikationsmedium 200 weniger komplex ist, z. B. nur das interne Kommunikationsmedium 201 z. B. eines Ethernet-Netzwerks aufweist. Das externe Kommunikationsmedium 200 kann auch mehr oder weniger als die dargestellten, am internen Kommunikationsmedium 201 angekoppelten Komponenten umfassen.
-
Während die 1 einen vergleichsweise übersichtlichen Fall eines verteilten Computersystems zeigt, bei dem nur ein Off-Chip Netzwerk vorhanden ist, zeigt die 2 ein erweitertes Beispiel, bei dem drei Teilnehmerstationen 100 vorhanden sind, die gemäß dem zuvor erläuterten Aufbau einer Teilnehmerstation 100 ausgebildet sein können. Die links dargestellte Teilnehmerstation 100 ist mit einem ersten externen Kommunikationsmedium 200 gekoppelt. Die zwei rechts dargestellten Teilnehmerstationen 100 sind mit einem zweiten externen Kommunikationsmedium 200 gekoppelt. Die externen Kommunikationsmedien 200 können vergleichbar aufgebaut sein wie das anhand der 1 erläuterte externe Kommunikationsmedium 200, wahlweise mit eigenem Ressourcen-Manager 205 oder ohne einen solchen eigenen Ressourcen-Manager (links in 2 dargestelltes externes Kommunikationsmedium 200). Die externen Kommunikationsmedien 200 können über ein weiteres Kommunikationsmedium 207 miteinander zur Datenkommunikation gekoppelt sein, z.B. über ein Gateway. Im dargestellten Ausführungsbeispiel kann das eine interne Kommunikationsmedium 201 bspw. als Off-Chip CAN-Bus ausgebildet sein, das andere interne Kommunikationsmedium 201 als Off-Chip Ethernet.
-
Bei beiden Varianten des beschriebenen Computersystems sowie beliebigen weiteren Kombinationen von Teilnehmerstationen 100 und externen Kommunikationsmedien 200 kann das erfindungsgemäße Verfahren zur Koordination des Zugriffs auf eine Ressource durchgeführt werden. Dies ist in der 3 zunächst allgemein anhand eines Flussdiagramms wiedergegeben. Das Verfahren beginnt damit, dass eine Verbindungsanforderung 300 von einem Anfrager an einen Ressourcen-Manager gesendet wird. Im Schritt 301 erfolgt dann eine Überprüfung der derzeitigen Konfiguration. Wird im Schritt 304 danach festgestellt, dass der die Verbindungsanforderung empfangende Ressourcen-Manager die gewünschte Ressource oder die gewünschten Ressourcen selbst verwaltet, so wird direkt zu einem Schritt 306 verzweigt. Andernfalls wird mit einem Schritt 303 fortgefahren, in dem Anfragen an andere Ressourcen-Manager ausgesandt werden, die für die Bereitstellung der gewünschten Ressource relevant sind oder relevant sein können. Wird danach in einem Schritt 305 festgestellt, dass die anderen, die Anfragen empfangenden Ressourcen-Manager dazu in der Lage sind, die gewünschte Ressource bereitzustellen, wird zum Schritt 306 verzweigt. Andernfalls wird vom Schritt 305 zum Schritt 310 verzweigt.
-
Im Schritt 306 wird geprüft, ob die gewünschte Ressource entsprechend den Parametern der Verbindungsanforderung bereitgestellt werden kann. Wenn dies der Fall ist, wird zum Schritt 307 verzweigt. Andernfalls wird zum Schritt 310 verzweigt, wo geprüft wird, ob mit einer anderen Konfiguration die Verbindungsanforderung erfüllt werden kann. Wenn dies der Fall ist, wird zum Schritt 302 verzweigt, in dem das System rekonfiguriert wird, damit die gewünschte Ressource entsprechend der Verbindungsanforderung bereitgestellt werden kann. Danach wird mit dem Schritt 301 wie zuvor erläutert fortgefahren. Wird im Schritt 310 festgestellt, dass es keine geeignete Konfiguration zur Erfüllung der Verbindungsanforderung gibt, wird im Schritt 312 dem Anfrager mitgeteilt, dass die Verbindungsanforderung nicht erfüllt werden kann.
-
Im Schritt 307 wird geprüft, ob die Verbindungsanforderung bzw. die Anfrage von einem anderen Ressourcen-Manager stammt. Ist dies nicht der Fall, wird mit dem Schritt 311 fortgefahren, in dem eine Bestätigung an die anderen Ressourcen-Manager gesandt wird. Andernfalls wird vom Schritt 307 mit dem Schritt 308 fortgefahren, in dem die anderen Ressourcen-Manager darüber informiert werden, dass die gewünschte Ende-zu-Ende-Kommunikationsverbindung hergestellt werden kann. Es wird dann in einem Schritt 309 auf eine Bestätigung der anderen Ressourcen-Manager gewartet.
-
Sodann wird im Schritt 313 damit fortgefahren, die gewünschte Ressource oder die gewünschten Ressourcen zu reservieren bzw. bereitzustellen und es wird gewartet, bis andere Ressourcen-Manager die erforderliche Konfiguration beendet haben. Hierbei wartet der Ressourcen-Manager, der die Verbindungsanforderung vom Anfrager empfangen hat, auf die Bestätigung aller anderen beteiligten Ressourcen-Manager, bevor dem Anfrager der Erfolg signalisiert wird.
-
Sodann wird in einem Schritt 314 dem Anfrager mitgeteilt, dass die gewünschte Ende-zu-Ende-Kommunikationsverbindung hergestellt werden kann. Der Anfrager kann nun diese Ende-zu-Ende-Kommunikationsverbindung aufbauen lassen und greift darüber auf die gewünschte Ressource zu.
-
Die in den 4 bis 6 dargestellten Protokollabläufe gehen jeweils von einer Kommunikation folgender Elemente aus:
- 400 Anfrager (Sender),
- 401 Ressourcen-Manager,
- 402 internes oder externes Kommunikationsmedium, das dem Ressourcen-Manager 401 zugeordnet ist,
- 403 weiterer Ressourcen-Manager,
- 404 weiteres internes oder externes Kommunikationsmedium, das dem Ressourcen-Manager 403 zugeordnet ist,
- 405 weiterer Ressourcen-Manager,
- 406 weiteres internes oder externes Kommunikationsmedium, das dem Ressourcen-Manager 405 zugeordnet ist,
- 407 gewünschte Ressource, die dem Ressourcen-Manager 405 zugeordnet ist.
-
Die bei den Beispielen der 4 bis 6 genannten Ressourcen-Manager 401, 403, 405 können jeweils beliebige Ressourcen-Manager 106, 207 eines Computersystems gemäß 1 oder 2 sein. Die Kommunikationsmedien 402, 404, 406 können jeweils beliebige Kommunikationsmedien 107, 108, 200, 201, 207 eines Computersystems gemäß 1 oder 2 sein. Die gewünschte Ressource 407 kann eine beliebige Ressource 101, 102, 104, 105, 202, 203, 204 eines Computersystems gemäß 1 oder 2 sein.
-
Bei dem Ablauf gemäß 4 sendet zunächst der Anfrager 400 eine Verbindungsanforderung 408 an den Ressourcen-Manager 401. Dort wird im Schritt 409 die Konfiguration ermittelt (analog zu Schritt 301 bei 3). Der Ressourcen-Manager 401 stellt fest, dass für die Erfüllung der Verbindungsanforderung weitere Ressourcen-Manager beteiligt werden müssen. Er sendet daher Anfragen 410, 413 an die Ressourcen-Manager 403, 405. Im Ressourcen-Manager 403 wird im Schritt 412 die Konfiguration geprüft. Im Ressourcen-Manager 405 wird im Schritt 414 die Konfiguration geprüft. Wird dabei jeweils festgestellt, dass die Verbindungsanforderung gemäß den Anfragen 410, 413 des Ressourcen-Managers 401 erfüllt werden kann, wird das über Rückmeldungen 411, 415 der Ressourcen-Manager 403, 405 dem erstgenannten Ressourcen-Manager 401 mitgeteilt. Der Ressourcen-Manager 401 sendet daraufhin Konfigurationsanforderungen 416, 417 an jeden der Ressourcen-Manager 403, 405. Zudem wird über eine Anforderung 418 vom Ressourcen-Manager 401 das Kommunikationsmedium 402 entsprechend der Verbindungsanforderung eingestellt. Ferner wird über eine Anforderung 424 vom Ressourcen-Manager 403 das Kommunikationsmedium 404 und über eine Anforderung 427 vom Ressourcen-Manager 405 das Kommunikationsmedium 406 entsprechend der Verbindungsanforderung eingestellt. Die Kommunikationsmedien 402, 404, 406 senden jeweilige Bestätigungen (Acknowledge) 419, 425, 428 an den ihnen zugeordneten jeweiligen Ressourcen-Manager 401, 403, 405 zurück.
-
Es sei ferner angenommen, dass die gewünschte Ressource 407 vom Ressourcen-Manager 405 verwaltet wird. Dementsprechend rekonfiguriert der Ressourcen-Manager 405 über eine Anforderung 429 die Ressource 407. Diese bestätigt die Konfiguration mit einer Rückmeldung (Acknowledge) 430. Die Ressourcen-Manager 405, 403 bestätigen die Ausführung der gewünschten Einstellungen ferner über Bestätigungen 420, 426 dem Ressourcen-Manager 401. Sind sämtliche Bestätigungen beim Ressourcen-Manager 401 eingegangen, so bestätigt dieser über eine Rückmeldung (Acknowledge) 421 dies dem Anfrager 400. Die gewünschte Ende-zu-Ende-Kommunikationsverbindung entsprechend der Verbindungsanforderung 408 ist somit reserviert. Der Anfrager 400 kann nun über einen Zugriff 422 auf die Ressource 407 zugreifen. Ist der Zugriff beendet, teilt der Anfrager 400 das dem Ressourcen-Manager 401 über eine Freigabemitteilung 423 mit. Dementsprechend kann die Ressource 407 sowie die entsprechenden weiteren beteiligten Elemente wieder freigegeben werden, was der Ressourcen-Manager 401 den weiteren beteiligten Ressourcen-Manager 403, 405 über Freigabemitteilungen 431, 432 mitteilt.
-
Beim Beispiel gemäß 4 wird davon ausgegangen, dass die gewünschte Ressource 407 oder alle gewünschten Ressourcen verfügbar sind, und die beteiligten Ressourcen-Manager 401, 403, 405 alle Anforderungen erfüllen können. Nach Abschluss des Zugriffs 422 können die Ressourcen wieder in ihren ursprünglichen Zustand zurückversetzt werden, d.h. umkonfiguriert werden.
-
Beim Beispiel gemäß 5 entfällt der anfängliche Machbarkeitstest, der beim Ablauf gemäß 4 durch die Machbarkeits-Rückmeldungen 411, 415 durchgeführt wurde. Dies vereinfacht und beschleunigt den Ablauf. Gemäß 5 wird nach der Feststellung der Konfiguration im Schritt 409 direkt eine Reservierungsanforderung 410 an den Ressourcen-Manager 403 weitergegeben, der daraufhin unmittelbar eine Rekonfiguration des Kommunikationsmediums 404 durchführt. In entsprechender Weise wird vom Ressourcen-Manager 401 direkt eine Reservierungsanforderung 500 an den Ressourcen-Manager 405 gegeben, der unmittelbar die Rekonfiguration des Kommunikationsmediums 406 durchführt. Der Ressourcen-Manager 405 blockiert zudem unmittelbar die Ressource 407 über eine Blockierungsanforderung 503. Die entsprechenden Bestätigungen (Acknowledge) werden über die Rückmeldungen 425, 504 an den Ressourcen-Manager 401 gegeben.
-
Sind die Bestätigungen 425, 504 beim Ressourcen-Manager 401 eingegangen, so kann dieser direkt die Rekonfiguration des Kommunikationsmediums 402 durchführen (Schritt 505). Sodann erfolgt unmittelbar der weitere Ablauf über die Bestätigung 421 zum Anfrager 400 sowie die weiteren, bereits bei der 4 erläuterten Schritte 422, 423, 431, 432.
-
Ist es bei der Ausführungsform der 5 nicht möglich, die gewünschte Verbindungsanforderung zu erfüllen, z.B. weil die Ressourcen belegt sind, werden von den Ressourcen-Managern 401, 403, 405 alle bereits belegten Ressourcen wieder freigegeben und Rekonfigurationen rückgängig gemacht.
-
Der Protokollablauf gemäß 6 entspricht weitgehend der Variante gemäß 5, wobei im Unterschied zur 5 der initiierende Ressourcen-Manager 401 die Anforderungen 410, 413 an die anderen beteiligten Ressourcen-Manager 403, 405 parallel ausgibt, sodass diese parallel bereits die notwendigen Schritte für die Bereitstellung der Ressource 407 durchführen können. Hierdurch wird der Protokollablauf weiter beschleunigt.