-
HINTERGRUND
-
In der Datenverarbeitung ist iSCSI ein Kürzel für Internet Small Computer System Interface (Internet-Kleinrechnersystemschnittstelle), ein Internet Protocol(IP)-basierender Speicherungs-Netzstandard zum Verknüpfen von Datenspeicherungseinrichtungen über ein Speicherbereichsnetz (SAN – Storage Area Network). Der iSCSI-Standard ist durch die IETF(Internet Engineering Task Force)-Normungskörperschaft in RFC 3720 (Request for Comments), veröffentlicht im April 2004, definiert und beschrieben. In iSCSI werden SCSI(Small Computer System Interface – Kleinrechnersystemschnittstellen)-Befehle über IP-Netze (IP = Internet Protocol) geführt, um Datenübertragungen zu erleichtern und Speicherung über große Entfernungen zu regeln [T10 ist eine ANSI-Körperschaft (ANSI = American National Standards Institute), verantwortlich für die Entwicklung von SCSI-Standards, die SCSI-Architecture Model (SAM), SCSI Primary Commands (SPSC), SCSI Block Commands (SBC), Serial Attached SCSI (SAS), SES (SCSI-Enclosure Standard) und SCC (SCSI Controller Commands) umfassen, und weitere Einzelheiten von SCSI sind in „http://www.t10.org/drafts.htm“ zu finden]. Unter Verwendung des iSCSI-Protokolls können Daten über Netze wie beispielsweise Ortsnetze (LAN – Local Area Networks), Weitbereichsnetze (WAN – Wide Area Networks) oder das Internet übertragen werden, um ortsunabhängige Datenspeicherung und -abruf zu ermöglichen.
-
Das iSCSI-Protokoll erlaubt (Initiatoren genannten) Klienten, SCSI-Befehle zu (Ziele genannten) SCSI-Speichervorrichtungen auf entfernten Servern zu senden. Organisationen können Speicherung in Datenzentrum-Speicheranordnungen zusammenführen und dabei Hosts die Illusion örtlich angebrachter Platten bieten. iSCSI-Initiatoren sind die iSCSI-Vorrichtungen, die ein Eingangs/Ausgangs(E/A)-Verfahren beginnen und iSCSI-Ziele sind die iSCSI-Vorrichtungen, die auf eine Anforderung zum Durchführen eines E/A-Verfahrens unter Verwendung von SCSI-Standardbefehlen reagieren.
-
In Netzdatenübertragungsoperationen in einer Rechenumgebung überträgt eine Initiatorvorrichtung Daten oder Befehle über das Netz zu einer Zielvorrichtung. Der Initiator fungiert als ein iSCSI-Klient. Ein iSCSI-Initiator kann ein Software-Initiator oder ein Hardware-Initiator sein. Der Hardware-Initiator kann Hardware benutzen, typischerweise in Verbindung mit auf dieser Hardware ablaufender Software oder Firmware zum Implementieren von iSCSI.
-
Eine Zielvorrichtung, wie beispielsweise ein Server, eine Speichersteuerung oder ein Hostcomputer kann eine iSCSI-Zielsteuerung oder Untersystem zum Zugreifen auf die in der Nutzlast eines iSCSI-Pakets gespeicherten SCSI-Befehle und zum Durchführen der SCSI-Befehle umfassen. Das iSCSI-Ziel kann eine fest zugeordnete netzverbundene Festplatten-Speichervorrichtung, einen Universalcomputer usw. umfassen. In einem Datenzentrum oder einer Unternehmensumgebung kann ein iSCSI-Ziel in einer großen Speicheranordnung sitzen. Die Speicheranordnung kann verschiedene iSCSI-Ziele für zahlreiche Klienten bereitstellen.
-
Das dynamische Hostkonfigurationsprotokoll (DHCP – Dynamic Host Configuration Protocol) ist ein Netzprotokoll, das zum Einrichten von Vorrichtungen benutzt wird, die so mit einem Netz verbunden sind, dass die Vorrichtungen auf dem Netz unter Verwendung des Internetprotokolls (IP – Internet Protocol) kommunizieren können. Weitere Einzelheiten von DHCP werden durch die IETF(Internet Engineering Task Force)-Normungskörperschaft in RFC 2131 und 2132 definiert und beschrieben, die beide im März 1997 veröffentlich wurden. DHCP kann in Verbindung mit iSCSI zum Einrichten von Vorrichtungen benutzt werden.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Nunmehr auf die Zeichnungen Bezug nehmend, in denen gleiche Bezugsziffern insgesamt entsprechende Teile darstellen, zeigt:
-
1 ein Blockschaltbild einer Rechenumgebung zur Entdeckung eines Ziels durch einen Initiator über einen Prozessor auf Steuerungsebene nach gewissen Ausführungsformen;
-
2 ein Blockschaltbild, das zeigt, wie ein Prozessormodul auf Steuerungsebene Schalter zum Weiterleiten von DHCP-Reaktionen (DHCP – Dynamic Host Control Protocol) zum Prozessormodul auf Steuerungsebene nach gewissen Ausführungsformen schaltet;
-
3 ein Blockschaltbild, das zeigt, wie ein Prozessormodul auf Steuerungsebene eine abgeänderte DHCP-Reaktion erzeugt, die wenigstens eine IP-Adresse und den Zielnamen eines iSCSI-Ziels für einen iSCSI-Initiator bereitstellt, nach gewissen Ausführungsformen;
-
4 ein Blockschaltbild einer Rechenumgebung zur Entdeckung eines Ziels durch einen Initiator über einen Prozessor auf Steuerungsebene, wo eine Vielzahl von Chassis eine Vielzahl von Schaltern umschließen, nach gewissen Ausführungsformen;
-
5 erste Operationen zur Entdeckung eines Ziels durch einen Initiator nach gewissen Ausführungsformen;
-
6 zweite Operationen nach gewissen Ausführungsformen;
-
7 dritte Operationen nach gewissen Ausführungsformen; und
-
8 ein Blockschaltbild eines Rechnersystems, das gewisse in 1 gezeigte Komponenten implementieren kann, nach gewissen Ausführungsformen.
-
BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
In der nachfolgenden Beschreibung wird auf die beiliegenden Zeichnungen Bezug genommen, die einen Teil derselben bilden und die mehrere Ausführungsformen darstellen. Es versteht sich, dass andere Ausführungsformen benutzt werden können und strukturmäßige und betriebliche Änderungen durchgeführt werden können.
-
Server in einer Datenverarbeitungsumgebung, die iSCSI unterstützt, können in verschiedenen Formfaktoren ausgelegt sein, wie beispielsweise Turmservern, Gestellservern, Blade-Servern, Mikroservern usw. Mikroserver umfassen eine Klasse von Serverplattformen basierend auf SoC-Prozessoren (Server System on Chip – Serversystem auf Chip) eingesetzt in einer Datenzentrumsumgebung. Durch die verteilte Beschaffenheit der Arbeitsbelastungen wird der Datenverarbeitungs- und Speicherungsinfrastruktur eine hohe Leistung pro Watt und ein hohes Ausskaliererfordernis auferlegt. Ein Kernsystemerfordernis ist die Zulieferung von Diensten zu einer großen Anzahl von Knoten innerhalb eines einschränkenden Formfaktors und innerhalb eines gegebenen einschränkenden Leistungsprofils. Zusätzlich sollte diese ausskalierte Umgebung leicht zu verwalten sein, um die Gesamtkosten des Besitztums zu verringern.
-
Mikroserver-Plattformen sind physikalisch über Mikromodule ausgeführt, die einen oder mehrere unabhängige SoC-Knoten enthalten. Die Mikromodule sind gemeinsam in einem gewöhnlich als „Chassis“ bezeichneten Systembehälter eingesetzt. Jeder Knoten ist ein getrennter kohärenter Bereich umfassend unabhängige serielle Peripherieschnittstelle (SPI – Serial Peripheral Interface), Flash-Basiseingangs-/Ausgangssystem (BIOS – Basic Input/Output System), Boot-Platte, Spannungsschienen (VR – Voltage Rails), VR-Steuerung usw. Es ist wichtig, redundante Komponenten, wie beispielsweise vielfache Boot-Platten zu verringern, die nicht nur Leistung und physikalischen Platz auf dem Mikromodul im Vergleich zu anderen Komponenten erfordern, sondern auch Gesamtkosten von Besitztums-Bürden zum Verwalten vielfacher Betriebssystemversionen usw. auferlegen.
-
Es gibt eine Anzahl von Alternativen, die für Netz-Boot zur Verfügung stehen, und iSCSI ist die Hauptwahlmöglichkeit mit der gegebenen weiten Betriebssystemunterstützungsbasis und Unternehmensklassenmerkmalen wie beispielsweise Sicherheit und Fehlertoleranz.
-
In einer Datenverarbeitungsumgebung umfassend Tausende von Knoten können Datenzentren abgeneigt sein, iSCSI einzusetzen, da dies bedeutsame Netz- und Infrastruktur-Verwaltungserfordernisse auferlegen könnte, um es iSCSI-Initiatorknoten zu ermöglichen, ihre jeweilige iSCSI-Boot-Zielknoten zu entdecken.
-
Gewisse Ausführungsformen stellen einen Mechanismus bereit, mit dem iSCSI-Initiatorknoten in der Lage sind, iSCSI-Zielknoten automatisch zu entdecken. Durch solche Ausführungsformen wird der Datenzentrum-Verwaltungsinfrastruktur kein Aufwand auferlegt. Zusätzlich können durch solche Ausführungsformen iSCSI-Initiatorknoten dynamisch basierend auf vielfachen Regelbetrachtungen zum Liefern beständiger Boot-Zeiten an iSCSI-Ziel-Bootknoten angepasst werden.
-
1 zeigt ein Blockschaltbild einer Datenverarbeitungsumgebung 100 zur Entdeckung eines Ziels durch einen Initiator über einen Prozessor auf Steuerungsebene nach gewissen Ausführungsformen. In gewissen Ausführungsformen können die Komponenten der Datenverarbeitungsumgebung 100 in einem Datenzentrum implementiert sein.
-
Die Datenverarbeitungsumgebung 100 kann einen Rechenknoten 102 umfassen, der als iSCSI-Initiatorknoten fungiert, einen Prozessor auf Steuerungsebene (CPP – Control Plane Processor) 104, einen DHCP-Server 106, eine Vielzahl von Speicherknoten 108a ... 108m, 110a ... 110n, wobei der Rechenknoten 102, der Prozessor auf Steuerungsebene 104, der DHCP-Server 106 und die Vielzahl von Speicherknoten 108a ... 108m, 110a ... 110n alle Knoten sind, die über eine Vielzahl von Schaltern 112a ... 112p verkoppelt sind. Die Knoten in der Datenverarbeitungsumgebung 100 können jede geeignete Rechenvorrichtung umfassen, wie beispielsweise einen Personal-Computer, einen Server-Computer, einen Minicomputer, einen Großrechner, einen Blade-Computer, einen Tablet-Computer, eine Tastschirm-Rechenvorrichtung, ein Telefoniegerät, ein Mobiltelefon, eine mobile Rechenvorrichtung usw., die in gewissen Ausführungsformen in einer Vielzahl von Formfaktoren ausgeführt sind, wie beispielsweise Turmservern, Gestellservern, Blade-Servern, Mikroservern usw.
-
In gewissen Ausführungsformen sind der Rechenknoten 102, der Prozessor auf Steuerungsebene 104, der DHCP-Server 106, die Vielzahl von Speicherknoten 108a ... 108m, 110a ... 110n und die Vielzahl von Schaltern 112a ... 112p in Gestellen und Chassis im Datenzentrum eingeschlossen, in dem die Datenverarbeitungsumgebung 100 ausgeführt ist. Ein beispielhaftes Gestell umfasst mehrere Chassis, wobei ein Chassis einen Ethernetz-Schalter und mehrere Knoten aufweisen kann. Die Knoten können den Rechenknoten 102, den Prozessor auf Steuerungsebene 104, den DHCP-Server 106 und die Vielzahl von Speicherknoten 108a ... 108m, 110a ... 110n umfassen, die über eine Vielzahl von Schaltern 112a ... 112p verkoppelt sind, wobei die Vielzahl von Schaltern 112a ... 112p in einer Vielzahl von Chassis eingeschlossen sind. In gewissen Ausführungsformen kann die Vielzahl von Schaltern 112a ... 112p Ethernetz-Schalter sein.
-
Der Rechenknoten 102 umfasst einen iSCSI-Initiatorknoten. Vom Prozessor auf Steuerungsebene 104 wird der Weg oder die Leitwegtabelle der Anschlüsse der Vielzahl von Schaltern 112a ... 112p eingerichtet und die Leitwegtabellen basierend auf Nachrichten von den Schaltern 112a ... 112p aktualisiert. Die Speicherknoten 108a ... 108m, 110a ... 110n können iSCSI-Ziele umfassen, die gemeinsame Speicherung oder Boot-Unterstützung für den iSCSI-Initiatorknoten 102 bereitstellen, wo die Boot-Unterstützung Booten einer Version oder einer Art eines Betriebssystems umfassen kann. Der DHCP-Server 106, der auch als ein Infrastrukturknoten bezeichnet wird, kann für das Zuweisen von IP-Adressen (IP = Internet Protokoll) zu allen Knoten verantwortlich sein.
-
Die Schalteranordnung 114 der Vielzahl von Schaltern 112a ... 112p ist derart, dass eine Vielzahl von Chassis fehlertolerant miteinander zusammengeschaltet sind und wenigstens einer der Schalter einen aggregierten Aufsatzanschluss bereitstellt, durch den einer oder mehrere der Knoten mit anderen Datenverarbeitungsumgebungen kommunizieren, die sich von der Datenverarbeitungsumgebung 100 unterscheiden.
-
Gewisse Ausführungsformen sind über ein Prozessormodul auf Steuerungsebene 116 (CPP-Modul) ausgeführt, das in dem Prozessor auf Steuerungsebene 104 abläuft. Das CPP-Modul 116 programmiert alle Schalter zum Weiterleiten von DHCP-Antworten vom DHCP-Server 106, erzeugt auf eine Anforderung von einem Rechenknoten 102, zu sich (d.h. dem CPP-Modul 116). Vom CPP-Modul 116 wird dann ein Befehl „DHCP Option 17” in die aufgefangene DHCP-Antwort eingespeist und die abgeänderte DHCP-Antwort zum Rechenknoten 102 zurückgesendet. Der eingespeiste Befehl „DHCP Option 17“ umfasst den Wegnamen (z.B. die Adresse) eines iSCSI-Ziels (z.B. eines aus den Speicherknoten 108a ... 108m, 110a ... 110n ausgewählten iSCSI-Zielknotens). Weitere Einzelheiten des Befehls „DHCP Option 17“ sind im Abschnitt 3.19 von RFC 2132 („DHCP Options und BOOTP Vendor Extensions“), veröffentlicht durch IETF im März 2007, zu finden. Nach Abschnitt 3.19 von RFC 2132 gibt eine Option Root Path den Wegnamen an, der die Root-Platte des Klienten enthält, wo der Weg als eine Zeichenkette formatiert ist, und der Code für die Option Root Path ist 17.
-
Im Ergebnis ist das CPP-Modul 116 in der Lage, einen iSCSI-Initiator (d.h. den Steuerknoten 102) an jedes iSCSI-Ziel anzupassen (z.B. einen aus den Speicherknoten 108a ... 108m, 110a ... 110n ausgewählten iSCSI-Zielknoten), basierend auf Regelbetrachtungen. Die Regelbetrachtungen können einem iSCSI-Initiatorknoten einen iSCSI-Zielknoten bereitstellen, der sowohl dem iSCSI-Initiator naheliegt als auch eine niedrige Verarbeitungslast aufweist, so dass die Systemleistung in der Datenverarbeitungsumgebung 100 im Vergleich zu der Situation verbessert ist, wo der iSCSI-Zielknoten relativ entfernt vom iSCSI-Initiatorknoten liegt oder eine hohe Verarbeitungslast aufweist.
-
Durch gewisse in 1 gezeigte Ausführungsformen wird ein iSCSI-Einsatz so implementiert, so dass keine zusätzliche Infrastruktur, wie beispielsweise ein iSNS-Server (Internet Storage Name Server), zum Anpassen eines Initiatorknotens an einen Zielknoten benötig wird. Wichtiger ist, dass die durch das CPP-Modul 116 erzeugten Initiator-Ziel-Anpassungen stets durch den physikalischen Umfang des Gestells gebunden sind. Eine solche Eingrenzung könnte durch irgendeinen sonstigen Mechanismus nicht möglich sein. Weiterhin können die Schalter 112a ... 112p iSCSI-Verkehr höher priorisieren und größere Leistungsgarantien zum „Booten“ von Verkehr bereitstellen.
-
2 zeigt ein Blockschaltbild 200, das zeigt, wie ein in einem Prozessor 204 auf Steuerungsebene enthaltenes Prozessormodul 202 auf Steuerungsebene eine Vielzahl von Schaltern 208a, 208b, ..., 208s zum Weiterleiten aller DHCP-Antworten (DHCP = Dynamic Host Control Protocol) zum Prozessormodul 202 auf Steuerungsebene nach gewissen Ausführungsformen einrichtet (Bezugsziffer 206).
-
Jeder der Schalter 208a, 208b, ..., 208s umfasst ein DHCP-Antwortfiltermodul (z.B. 210a, 210b, 210s). Durch die DHCP-Antwortfiltermodule 210a, 210b, ..., 210s wird Weiterleiten einer DHCP-Antwort von einem DHCP-Server zu einem iSCSI-Initiatorknoten vermieden und stattdessen die DHCP-Antwort entweder direkt oder indirekt zum CPP-Modul 202 weitergeleitet.
-
2 zeigt daher gewisse Ausführungsformen, in denen ein CPP-Modul 202 Schalter 208a ... 208s zum Weiterleiten von DHCP-Antworten zum CPP-Modul 202 einrichtet, anstatt die DHCP-Antworten zum iSCSI-Initiatorknoten weiterzuleiten.
-
3 zeigt ein Blockschaltbild 300, das zeigt, wie ein Prozessormodul 302 auf Steuerungsebene eine abgeänderte DHCP-Antwort erzeugt, die wenigstens eine IP-Adresse und den Zielnamen eines iSCSI-Ziels für einen iSCSI-Initiator bereitstellt, gemäß gewissen Ausführungsformen. In gewissen Ausführungsformen werden nicht nur die IP-Adresse und der Zielname des iSCSI-Ziels, sondern auch die Anschluss- und Nummer der logischen Einheit (LUN – Logical Unit Number) gemäß dem iSCSI-Protokoll bereitgestellt. In gewissen Ausführungsformen sind der Anschluss und die LUN wahlfrei und wenn sie nicht bereitgestellt werden, können der Anschluss und der LUN auf 3260 bzw. 0 zurückfallen. In gewissen Ausführungsformen können mehrere Zielnamen mit einem einzelnen iSCSI-Ziel verbunden sein, wo unterschiedliche Versionen oder Arten von Betriebssystemen mit verschiedenen Zielnamen verbunden sein können. In gewissen Ausführungsformen, in denen iSCSI-Ziele mehr als eine Art oder Version eines Betriebssystems unterhalten, kann eine Bestimmung getroffen werden, welches Betriebssystembild zum Booten auf einem bestimmten Knoten zu verwenden ist, durch Auswählen des zutreffenden Zielnamens des iSCSI-Ziels.
-
In gewissen Ausführungsformen fordert der Rechenknoten 304, der einen iSCSI-Initiator umfasst, von einem DHCP-Server 306 eine DHCP-Adresse an, wo die Anforderung zum DHCP-Server 306 über eine Schaltereinrichtung (wie über Bezugsziffer 308 gezeigt) übertragen wird. Der Prozessor 302 auf Steuerungsebene ist eingerichtet zum Bereitstellen der iSCSI-Bootkonfigurationen für den iSCSI-Initiator 304. Der Prozessor 302 auf Steuerungsebene ist eingerichtet zum Angeben wenigstens des Root-Weges in einem Befehl „DHCP Option 17“ beim Antworten mit der iSCSI-Zielinformation zurück zum iSCSI-Initiator 304. Bei „DHCP- Option 17“ benutzt die iSCSI-Root-Weg-Optionskonfigurationskette folgendes Format:
„ISCSI:<server name or IP-address>:<protocol>:<port>:<LUN>:<targetname>“, wobei:
- a) Server name: DHCP-Servername oder gültige IPv4-Adresse literal;
- b) Protokoll: Durch iSCSI benutztes Transportprotokoll;
- c) Port: Anschlussnummer des iSCSI;
- d) LUN: Logical Unit (LUN) Kennung (ID – Identifier) eingerichtet auf iSCSI-Zielknoten; und
- e) Target name: iSCSI-Zielname zum einmaligen Kennzeichnen eines iSCSI-Ziels.
-
Als Reaktion auf Empfang der Anforderung der DHCP-Adresse wird vom DHCP-Server 306 die DHCP-Antwort zur Schaltereinrichtung zurückgesandt und von einem oder mehreren Schaltern in der Schaltereinrichtung die zurückgesandte DHCP-Antwort zum Prozessor 302 auf Steuerungsebene (wie über Bezugsziffer 310 gezeigt) weitergeleitet.
-
Vom CPP-Modul 312, das im Prozessor 302 auf Steuerungsebene abläuft, wird die DHCP-Antwort empfangen und der Befehl „DHCP-Option 17“ in der DHCP-Antwort zugefügt oder abgeändert, um einen Root-Plattenweg zum Rechenknoten 304 anzugeben, wo der Root-Plattenweg einer IP-Adresse und einem Zielnamen eines iSCSI-Zielknotens entspricht, aus dem der Rechenknoten 304 booten kann. Vom CPP-Modul 312 wird die abgeänderte DHCP-Antwort mit der geeigneten iSCSI-Ziel-IP-Adresse und einem Zielnamen zum Rechenknoten 304 (gezeigt über Bezugsziffer 314) gesandt und der Rechenknoten 304 kann unter Verwendung des über die iSCSI-Ziel-IP-Adresse und den Zielnamen bestimmten iSCSI-Ziels booten.
-
3 zeigt daher gewisse Ausführungsformen, in denen der Prozessor 302 auf Steuerungsebene eine abgeänderte DHCP-Antwort zum Anzeigen der iSCSI-Zielort-IP-Adresse und des durch den Rechenknoten 304 zum Booten zu benutzenden Zielnamens zum Rechenknoten 304 sendet.
-
4 zeigt ein Blockschaltbild einer Datenverarbeitungsumgebung 400 zur Entdeckung eines iSCSI-Ziels durch einen iSCSI-Initiator über einen Prozessor auf Steuerungsebene, wo eine Vielzahl von Chassis eine Vielzahl von Schaltern einschließen, nach gewissen Ausführungsformen.
-
4 zeigt vier beispielhafte Chassis 402, 404, 406, 408, wo jedes Chassis einen oder mehrere Schalter aufweist. Beispielhafte Schalter 410, 412, 414, 416 sind in 4 dargestellt. In einer beispielhaften Schaltereinrichtung sind Schalter 410 und Schalter 412 eingerichtet, in direkter Kommunikation zu sein, Schalter 412 und Schalter 416 sind eingerichtet, in direkter Kommunikation zu sein und Schalter 414 und Schalter 416 sind eingerichtet, in direkter Kommunikation zu sein.
-
Ein Rechenknoten 418 kann eine DHCP-Anforderung 420 zum Sichern von Netzbetriebsparametern, wie beispielsweise die IP-Adresse des Rechenknotens usw. über die Schalter 410, 414, 416 zum DHCP-Server 422 senden. Der DHCP-Server 422 kann die DHCP-Anforderung 420 empfangen und eine DHCP-Antwort 424 senden, die durch die DHCP-Antwortfilter 426, 428, 430 weitergeleitet wird zum Umleiten (Bezugsziffer 433) der DHCP-Antwort 424 zum Prozessor 434 auf Steuerungsebene. Vom CPP-Modul 436, das im Prozessor 434 auf Steuerungsebene aus abläuft, wird eine abgeänderte DHCP-Antwort (Bezugsziffer 438) über einen Schalter (z.B. Schalter 410) zum Rechenknoten 418 gesendet, wobei die abgeänderte DHCP-Antwort 438 anzeigt, dass der aus der Vielzahl von Speicherknoten 440a ... 440p, 442a ... 442q ausgewählte Speicherknoten 440a zum Booten durch den Rechenknoten 418 zu verwenden ist. In gewissen Ausführungsformen kann der Speicherknoten 440a sich in der Nähe des Rechenknotens 418 befinden und leicht belastet sein und wird zum Booten gegenüber anderen Speicherknoten bevorzugt, um bessere Systemleistung sicherzustellen. Das CPP-Modul 436 kann entweder die iSCSI Ziele 440a ... 440p, 442a ... 442q erfassen, oder jedes iSCSI-Ziel kann beim CPP-Modul 436 registriert werden, so dass basierend auf durch das CPP-Modul 436 unterhaltenen Informationen das CPP-Modul 436 bestimmen kann, von welchem iSCSI-Ziel der Rechenknoten 418 am geeignetsten booten sollte.
-
Daher zeigt 4 gewisse Ausführungsformen, in denen der Prozessor 434 auf Steuerungsebene bestimmt, welches iSCSI-Ziel für einen iSCSI-Initiator zum Booten oder zum Durchführen anderer Operationen am geeignetsten ist. Vom Prozessor 434 auf Steuerungsebene wird eine abgeänderte DHCP-Antwort zum iSCSI-Initiator 418 gesendet, um wenigstens die IP-Adresse und den Zielnamen des iSCSI-Ziels bereitzustellen.
-
5 zeigt die ersten Operationen 500 zur Entdeckung eines Ziels durch einen Initiator nach gewissen Ausführungsformen. Die in 5 gezeigten Operationen können durch verschiedene Knoten und Schalter in der Datenverarbeitungsumgebung 100, 200, 300, 400 durchgeführt werden.
-
Steuerung beginnt am Block 502, an dem von einem CPP-Modul 116 alle Schalter zum Weiterleiten aller DHCP-Antwortpakete zu sich selbst (d.h. dem CPP-Modul) bei Gestellstromeinschaltung programmiert werden, wobei ein Gestell eine Vielzahl von in einer Vielzahl von Chassis enthaltenen Schaltern umfassen kann. An einem Rechenknoten (iSCSI-Initiator) 102 wird (am Block 504) eine „DHCP-Anforderung“ zum Sichern von Netzparametern, wie beispielsweise der IP-Adresse des Rechenknotens, als Teil seiner Bootfolge erzeugt. Bei Empfang der DHCP-Anforderung erzeugt der DHCP-Server 106 (am Block 506) eine „DHCP-Antwort“ mit Knoten-IP-Adresse, Gateway-Adresse usw. zum Senden zum iSCSI-Initiator 102.
-
Steuerung schreitet zum Block 508 fort, wo von einem oder mehreren der Vielzahl von Schaltern 112a ... 112p die DHCP-Antwort eingefangen wird und die DHCP-Antwort zum CPP-Modul 116 gesandt wird. Am Block 510 wird vom CPP-Modul 116 „DHCP Option 17“ im DHCP-Antwortpaket zugefügt oder ersetzt, basierend auf Regelbetrachtungen. Zum Beispiel kann das CPP-Modul 116 ein am Schalter 112a angekoppeltes iSCSI-Ziel oder ein am Schalter 112p angekoppeltes iSCSI-Ziel auswählen.
-
Steuerung schreitet zum Block 512 fort, wo vom CPP-Modul 116 die neue DHCP-Antwort zum Rechenknoten 102 gesandt wird, der die ursprüngliche DHCP-Anforderung stellte. Vom Rechenknoten 102 wird (am Block 514) der im DHCP-Befehl Option 17 angegebene Root-Weg zum Bestimmen der iSCSI-Ziel-IP-Adresse, von der zu booten ist, benutzt.
-
5 zeigt gewisse Ausführungsformen zur Entdeckung eines Ziels durch einen Initiator, basierend auf Empfangen einer abgeänderten DHCP-Antwort von einem Prozessor auf Steuerungsebene durch einen Initiator, wobei die abgeänderte DHCP-Antwort die IP-Adresse und den Zielnamen des Ziels umfassen kann.
-
6 zeigt zweite Operationen nach gewissen Ausführungsformen. Die in 6 gezeigten Operationen können durch verschiedene Knoten und Schalter in der Datenverarbeitungsumgebung 100, 200, 300, 400 durchgeführt werden.
-
Steuerung beginnt am Block 602, in dem eine erste Rechenvorrichtung (z.B. ein Prozessor 104 auf Steuerungsebene) eine durch eine zweite Rechenvorrichtung (z.B. einen DHCP-Server 106) erzeugte Antwort für eine dritte Rechenvorrichtung (z.B. einen iSCSI-Initiatorknoten 102) empfängt.
-
Steuerung schreitet zum Block 604 fort, in dem ein Ziel (z.B. iSCSI-Zielknoten 108a), das zur Verwendung durch die dritte Rechenvorrichtung geeignet ist (z.B. den iSCSI-Initiatorknoten 102), bestimmt wird. Die Antwort wird dann (am Block 606) mit einer Adresse des Ziels zur dritten Rechenvorrichtung (z.B. dem iSCSI-Initiatorknoten 102) übertragen.
-
In gewissen in 6 gezeigten Ausführungsformen beruht die Eignung des Ziels zur Verwendung durch die dritte Rechenvorrichtung wenigstens auf einer Entfernung des Ziels von der dritten Rechenvorrichtung, einer verfügbaren Bandbreite und einer Verarbeitungslast auf dem Ziel. In zusätzlichen Ausführungsformen weist das Ziel, das bestimmt wird, eine relativ leichte Verarbeitungslast auf und ist der dritten Rechenvorrichtung relativ näher im Vergleich zu anderen möglichen Zielen einer Vielzahl von Zielen.
-
7 zeigt dritte Operationen nach gewissen Ausführungsformen. Die in 5 gezeigten Operationen können durch verschiedene Knoten und Schalter in der Datenverarbeitungsumgebung 100, 200, 300, 400 durchgeführt werden.
-
Steuerung beginnt am Block 702, in dem ein Initiator 102 über eine Schaltereinrichtung 114, die einen oder mehrere Schalter 112a ... 112p umfasst, eine Anforderung einer DHCP-Adresse zu einem DHCP-Server 106 überträgt.
-
Vom DHCP-Server 106 wird (am Block 704) über die Schaltereinrichtung 114 eine die IP-Adresse umfassende Antwort übertragen. Von dem einen oder den mehreren Schaltern 112a ... 112p wird (am Block 706) die Antwort zu einem Prozessor 104 auf Steuerungsebene umgeleitet, anstatt die Antwort zum Initiator 102 zurückzusenden.
-
Steuerung schreitet zum Block 708 fort, in dem der Prozessor 104 auf Steuerungsebene die durch den DHCP-Server 106 erzeugte Antwort für den Initiator 102 empfängt. Vom Prozessor 104 auf Steuerungsebene wird (am Block 710) ein Ziel bestimmt (z.B. iSCSI-Zielknoten 108a), das zur Verwendung durch den Initiator 102 geeignet ist. Vom Prozessor 104 auf Steuerungsebene wird (am Block 712) die Antwort mit einer Adresse des Ziels (z.B. iSCSI-Zielknoten 108a) zum Initiator 102 übertragen.
-
1–7 zeigen daher gewisse Ausführungsformen, in denen eine automatisierte Entdeckung von iSCSI-Zielen für Boot- und sonstige Operationen durch Initiatoren durchgeführt wird, wo die iSCSI-Ziele durch einen Prozessor auf Steuerungsebene entdeckt werden, und die entdeckten iSCSI-Ziele den Initiatoren relativ näher liegen und eine relativ leichtere Verarbeitungslast im Vergleich zu anderen iSCSI-Zielen aufweisen. In alternativen Ausführungsformen können anstatt eines iSCSI-basierenden Protokolls andere Protokolle benutzt werden.
-
Die beschriebenen Operationen können als ein Verfahren, Gerät oder Computerprogrammprodukt unter Verwendung standardmäßige Programmierungs- und/oder Konstruktionsverfahren zum Erzeugen von Software, Firmware, Hardware oder einer beliebigen Kombination derselben ausgeführt werden. Die beschriebenen Operationen können als in einem „computerlesbaren Speichermedium“ unterhaltener Code ausgeführt sein, wo ein Prozessor den Code aus dem computerspeicherlesbaren Medium auslesen und ausführen kann. Das computerlesbare Speichermedium umfasst wenigstens eines von Elektronikschaltung, Speichermaterien, anorganischen Werkstoffen, organischen Werkstoffen, biologischen Werkstoffen, einem Gehäuse, einer Bedeckung und Hardware. Ein computerlesbares Speichermedium kann ein Magnetspeichermedium (z.B. Festplattenlaufwerke, Disketten, Band usw.), optische Speicherung (CD-ROM, DVD, optische Platten usw.), flüchtige und nichtflüchtige Speichervorrichtungen (z.B. EEPROM, ROM, PROM, RAM, DRAM, SRAM, Flash-Speicher, Firmware, programmierbare Logik usw.), Festkörpervorrichtungen (SSD – Solid State Devices) usw. umfassen, ist aber nicht darauf begrenzt. Der die beschriebenen Operationen ausführende Code kann weiterhin in einer Hardwarevorrichtung (z.B. einem integrierten Schaltungschip, PGA (Programmable Gate Array – programmierbare Gatteranordnung), anwendungsspezifischen integrierten Schaltung (ASIC – Application Specific Integrated Circuit) usw.) implementierter Hardwarelogik implementiert sein. Weiterhin kann der die beschriebenen Operationen ausführende Code in „Übertragungssignalen“ implementiert sein, wo Übertragungssignale sich durch Raum oder durch ein Übertragungsmedium wie beispielsweise Faseroptik, Kupferdraht usw. ausbreiten können. Die Übertragungssignale, in denen der Code oder die Logik codiert sind, können weiterhin ein drahtloses Signal, Satellitenübertragung, Funkwellen, Infrarotsignale, Bluetooth usw. umfassen. Der auf einem computerlesbaren Speichermedium eingebettete Programmcode kann als Übertragungssignale von einer Sendestation oder einem Computer zu einer Empfangsstation oder ein Computer übertragen werden. Ein computerlesbares Speichermedium besteht nicht allein aus Übertragungssignalen. Der Fachmann wird erkennen, dass an dieser Konfiguration viele Abänderungen durchgeführt werden können und dass das Herstellungserzeugnis in der Technik bekannte geeignete informationstragende Medien umfassen kann.
-
Computerprogrammcode zum Ausführen von Operationen für Aspekte gewisser Ausführungsformen können in einer beliebigen Kombination einer oder mehrerer Programmiersprachen geschrieben sein. Blöcke des Flussdiagramms und Blockschaltbilder können durch Computerprogrammanweisungen ausgeführt werden.
-
8 zeigt ein Blockschaltbild, das gewisse Elemente zeigt, die nach gewissen Ausführungsformen in den Knoten (z.B. dem Rechenknoten 102, dem CPP 104, den Speicherknoten 108a ... 108m, 110a ... 110n, dem DHCP-Server 106) der Datenverarbeitungsumgebungen 100, 200, 300, 400 enthalten sein können. Das System 800 kann einem beliebigen Knoten in der Datenverarbeitungsumgebung 100, 200, 300, 400 entsprechen. Das System 800 kann eine Schaltung 802 umfassen, die in gewissen Ausführungsformen wenigstens einen Prozessor 804 umfassen kann. Auch kann das System 800 einen Speicher 806 (z.B. eine flüchtige Speichervorrichtung) und Speicherung 808 umfassen. Die Speicherung 808 kann eine nichtflüchtige Speichervorrichtung (z.B. EEPROM, ROM, PROM, RAM, DRAM, SRAM, Flash, Firmware, programmierbare Logik usw.), Magnetplattenlaufwerk, optisches Plattenlaufwerk, Bandlaufwerk usw. umfassen. Die Speicherung 808 kann eine interne Speichervorrichtung, eine angebrachte Speichervorrichtung und/oder eine netzzugängliche Speichervorrichtung umfassen. Das System 800 kann eine Programmlogik 810 mit Code 812 umfassen, die in den Speicher 806 geladen und durch Prozessor 804 oder Schaltungen 802 ausgeführt werden kann. In gewissen Ausführungsformen kann die Programmlogik 810 mit Code 812 in der Speicherung 808 gespeichert sein. In gewissen anderen Ausführungsformen kann die Programmlogik 810 in den Schaltungen 802 implementiert sein. Während daher 8 die Programmlogik 810 getrennt von den anderen Elementen zeigt, kann die Programmlogik 810 im Speicher 806 und/oder den Schaltungen 802 implementiert sein.
-
Gewisse Ausführungsformen können auf ein Verfahren zum Einsetzen von Rechenanweisung durch eine Person oder automatisierte Verarbeitung gerichtet sein, die computerlesbaren Code in ein Rechensystem integriert, wobei es dem Code in Kombination mit dem Rechensystem ermöglicht wird, die Operationen der beschriebenen Ausführungsformen durchzuführen.
-
Die Begriffe „eine Ausführungsform“, „Ausführungsform“, „Ausführungsformen“, „die Ausführungsform“, „die Ausführungsformen“, „eine oder mehrere Ausführungsformen“ und „einige Ausführungsformen“ bedeuten „eine oder mehrere (aber nicht alle) Ausführungsformen“, sofern nicht ausdrücklich anders angegeben.
-
Die Begriffe „einschließlich“, „umfassend“, „aufweisend“ und Variationen derselben bedeuten „einschließlich aber nicht begrenzt auf“ sofern nicht ausdrücklich anders angegeben.
-
Die aufgezählte Auflistung von Gegenständen bedeutet nicht, dass sich irgendwelche oder alle der Gegenstände gegenseitig ausschließen, sofern nicht ausdrücklich anders angegeben.
-
Die Begriffe „ein“, „eine“ und „der/die/das“ bedeuten „eine oder mehrere“, sofern nicht ausdrücklich anders angegeben.
-
Vorrichtungen, die in Kommunikation miteinander stehen, müssen nicht in kontinuierlicher Kommunikation miteinander stehen, sofern nicht ausdrücklich anders angegeben. Zusätzlich können Vorrichtungen, die in Kommunikation miteinander stehen, direkt oder indirekt durch ein oder mehrere Vermittler kommunizieren.
-
Eine Beschreibung einer Ausführungsform mit mehreren Komponenten in Kommunikation miteinander bedeutet nicht, dass alle solche Komponenten erforderlich sind. Im Gegensatz wird eine Vielzahl wahlfreier Komponenten zur Darstellung der Vielzahl möglicher Ausführungsformen beschrieben.
-
Obwohl weiterhin Verfahrensschritte, Algorithmen und dergleichen in einer Reihenfolge beschrieben werden können, können solche Verfahren und Algorithmen eingerichtet sein, in alternativen Folgen zu wirken. Anders gesagt zeigt jede beliebige Folge oder Reihenfolge von Schritten, die beschrieben sein können, nicht unbedingt ein Erfordernis an, dass die Schritte in dieser Reihenfolge durchzuführen sind. Die Schritte von hier beschriebenen Verfahren können in jeder praktischen Reihenfolge durchgeführt werden. Weiterhin können einige Schritte gleichzeitig durchgeführt werden.
-
Wenn ein einzelnes Gerät oder ein einzelner Gegenstand hier beschrieben wird, wird leicht ersichtlich sein, dass anstelle eines einzelnen Geräts/Gegenstands mehr als ein Gerät/Gegenstand benutzt werden kann (ob sie zusammenwirken oder nicht). Ähnlicherweise wird, wo mehr als ein Gerät oder Gegenstand hier beschrieben wird (ob sie zusammenwirken oder nicht) leicht ersichtlich sein, dass anstelle des mehr als einen Geräts oder Gegenstands ein einzelnes Gerät/einzelner Gegenstand anstelle der gezeigten Anzahl von Geräten oder Programmen benutzt werden kann. Die Funktionalität und/oder die Merkmale eines Geräts können alternativ durch ein oder mehrere andere Geräte ausgeführt sein, die nicht ausdrücklich als solche Funktionalität/Merkmale aufweisend beschrieben worden sind. So müssen andere Ausführungsformen nicht das Gerät selbst umfassen.
-
Wenigstens gewisse Operationen, die in den Figuren dargestellt sind, zeigen, dass gewisse Ereignisse in einer gewissen Reihenfolge auftreten. In alternativen Ausführungsformen können gewisse Operationen in einer anderen Reihenfolge durchgeführt, abgeändert oder entfernt sein. Weiterhin können Schritte der oben beschriebenen Logik zugefügt sein und dennoch den beschriebenen Ausführungsformen entsprechen. Weiterhin können hier beschriebene Operationen in Reihenfolge stattfinden oder gewisse Operationen parallel verarbeitet sein. Weiterhin können Operationen durch eine einzelne Verarbeitungseinheit oder durch verteilte Verarbeitungseinheiten durchgeführt werden.
-
Die vorangehende Beschreibung verschiedener Ausführungsformen ist für Darstellungs- und Beschreibungszwecke geboten worden. Sie soll nicht erschöpfend oder auf die genauen offenbarten Formen begrenzt sein. Angesichts der obigen Lehre sind viele Abänderungen und Veränderungen möglich.
-
Beispiele
-
Die folgenden Beispiele betreffen weitere Ausführungsformen.
-
Beispiel 1 ist ein Verfahren, in dem eine erste Rechenvorrichtung eine durch eine zweite Rechenvorrichtung für eine dritte Rechenvorrichtung erzeugte Antwort empfängt. Es wird eine Bestimmung eines Ziels getroffen, das zur Verwendung durch die dritte Rechenvorrichtung geeignet ist. Die Antwort wird mit einer Adresse des Ziels zur dritten Rechenvorrichtung übertragen.
-
In Beispiel 2 kann der Gegenstand von Beispiel 1 umfassen, dass Eignung des Ziels zur Verwendung durch die dritte Rechenvorrichtung auf wenigstens einer Entfernung des Ziels von der dritten Rechenvorrichtung, einer verfügbaren Bandbreite und einer Verarbeitungslast auf dem Ziel basiert.
-
In Beispiel 3 kann der Gegenstand von Beispiel 1 umfassen, dass das Ziel, das bestimmt wird, eine relativ leichte Verarbeitungslast aufweist und im Vergleich zu anderen möglichen Zielen einer Vielzahl von Zielen der dritten Rechenvorrichtung relativ näher liegt.
-
In Beispiel 4 kann der Gegenstand von Beispiel 1 umfassen, dass die erste Rechenvorrichtung ein Prozessor auf Steuerungsebene ist, die zweite Rechenvorrichtung ein DHCP-Server (Dynamic Host Configuration Protocol – dynamischer Hostkonfigurationsprotokoll-Server) ist und die dritte Rechenvorrichtung ein Initiator ist.
-
In Beispiel 5 kann der Gegenstand von Beispiel 4 umfassen, dass der Initiator über eine Schaltereinrichtung, die einen oder mehrere Schalter umfasst, eine Anforderung einer DHCP-Adresse zum DHCP-Server überträgt, und dass der DHCP-Server über die Schaltereinrichtung die die DHCP-Adresse umfassende Antwort überträgt.
-
In Beispiel 6 kann der Gegenstand von Beispiel 5 Umleiten durch den einen oder die mehreren Schalter der Antwort zum Prozessor auf Steuerungsebene umfassen, anstatt die Antwort zum Initiator zurückzusenden.
-
In Beispiel 7 kann der Gegenstand von Beispiel 6 umfassen, dass die Adresse des Ziels durch Abändern eines DHCP-Befehls Option 17 der Antwort zugefügt wird.
-
Beispiel 8 ist ein System umfassend eine erste Rechenvorrichtung, die kommunikationstechnisch an eine zweite Rechenvorrichtung und eine dritte Rechenvorrichtung angekoppelt ist, wobei das System einen Speicher und einen an den Speicher angekoppelten Prozessor umfasst und wobei der Prozessor zum Empfangen einer durch eine zweite Rechenvorrichtung für eine dritte Rechenvorrichtung erzeugten Antwort, Bestimmen eines Ziels, das zur Verwendung durch die dritte Rechenvorrichtung geeignet ist und Übertragen der Antwort mit einer Adresse des Ziels zur dritten Rechenvorrichtung betreibbar ist.
-
In Beispiel 9 kann der Gegenstand von Beispiel 8 umfassen, dass die Eignung des Ziels zur Verwendung durch die dritte Rechenvorrichtung wenigstens auf einer Entfernung des Ziels von der dritten Rechenvorrichtung, einer verfügbaren Bandbreite und einer Verarbeitungslast auf dem Ziel basiert.
-
In Beispiel 10 kann der Gegenstand von Beispiel 8 umfassen, dass das Ziel, das bestimmt wird, eine relativ leichte Verarbeitungslast aufweist und im Vergleich zu anderen möglichen Zielen einer Vielzahl von Zielen der dritten Rechenvorrichtung relativ näher liegt.
-
In Beispiel 11 kann der Gegenstand von Beispiel 8 umfassen, dass die erste Rechenvorrichtung ein Prozessor auf Steuerungsebene ist, die zweite Rechenvorrichtung ein DHCP-Server (DHCP – Dynamic Host Configuration Protocol – dynamisches Hostkonfigurationsprotokoll) ist und die dritte Rechenvorrichtung ein Initiator ist.
-
In Beispiel 12 kann der Gegenstand von Beispiel 11 umfassen, dass der Initiator zum Übertragen über eine Schaltereinrichtung, die einen oder mehrere Schalter umfasst, einer Anforderung einer DHCP-Adresse zum DHCP-Server einrichtbar ist und der DHCP-Server zum Übertragen der die DHCP-Adresse umfassenden Antwort über die Schaltereinrichtung einrichtbar ist.
-
In Beispiel 13 kann der Gegenstand von Beispiel 12 umfassen, dass der eine oder die mehreren Schalter zum Umleiten der Antwort zum Prozessor auf Steuerungsebene anstatt von Rücksenden der Antwort zum Initiator einrichtbar sind.
-
In Beispiel 14 kann der Gegenstand von Beispiel 13 umfassen, dass der Prozessor weiterhin zum Zufügen der Adresse des Ziels zu der Antwort durch Abändern eines DHCP-Befehls Option 17 betreibbar ist.
-
Beispiel 15 ist ein computerlesbares Speichermedium, wobei im computerlesbaren Speichermedium gespeicherter Code bei Ausführung durch einen Prozessor Operationen durchführt, wobei die Operationen Empfangen, über eine erste Rechenvorrichtung, einer durch eine zweite Rechenvorrichtung für eine dritte Rechenvorrichtung erzeugten Antwort, Bestimmen eines Ziels, das zur Verwendung durch die dritte Rechenvorrichtung geeignet ist und Übertragen der Antwort mit einer Adresse des Ziels zur dritten Rechenvorrichtung umfassen.
-
In Beispiel 16 kann der Gegenstand von Beispiel 15 umfassen, dass die Eignung des Ziels zur Verwendung durch die dritte Rechenvorrichtung auf wenigstens einer Entfernung des Ziels von der dritten Rechenvorrichtung, einer verfügbaren Bandbreite und einer Verarbeitungslast auf dem Ziel basiert.
-
In Beispiel 17 kann der Gegenstand von Beispiel 15 umfassen, dass das Ziel, das bestimmt wird, eine relativ leichte Verarbeitungslast aufweist und im Vergleich zu anderen möglichen Zielen einer Vielzahl von Zielen der dritten Rechenvorrichtung relativ näher liegt.
-
In Beispiel 18 kann der Gegenstand von Beispiel 15 umfassen, dass die erste Rechenvorrichtung ein Prozessor auf Steuerungsebene ist, die zweite Rechenvorrichtung ein DHCP-Server (DHCP = Dynamic Host Configuration Protocol – dynamisches Hostkonfigurationsprotokoll) ist und die dritte Rechenvorrichtung ein Initiator ist.
-
In Beispiel 19 kann der Gegenstand von Beispiel 18 umfassen, dass der Initiator über eine Schaltereinrichtung, die einen oder mehrere Schalter umfasst, eine Anforderung einer DHCP-Adresse zum DHCP-Server überträgt und der DHCP-Server über die Schaltereinrichtung die die DHCP-Adresse umfassende Antwort überträgt.
-
In Beispiel 20 kann der Gegenstand von Beispiel 19 Umleiten, durch den einen oder die mehreren Schalter, der Antwort auf den Prozessor auf Steuerungsebene anstatt von Rücksenden der Antwort zum Initiator umfassen.
-
In Beispiel 21 kann der Gegenstand von Beispiel 20 umfassen, dass die Adresse des Ziels der Antwort durch Abändern eines DHCP Befehls-Option 17 zugefügt wird.
-
Beispiel 22 ist ein System umfassend eine erste Rechenvorrichtung, eine zweite Rechenvorrichtung und eine dritte Rechenvorrichtung, wobei die erste, die zweite und die dritte Rechenvorrichtung kommunikationstechnisch verkoppelt sind, und wobei die erste Rechenvorrichtung Operationen durchführt, wobei das System zum Empfangen einer durch die zweite Rechenvorrichtung für die dritte Rechenvorrichtung erzeugten Antwort, Bestimmen eines Ziels, das zur Verwendung durch die dritte Rechenvorrichtung geeignet ist und Übertragen der Antwort mit einer Adresse des Ziels zur dritten Rechenvorrichtung betreibbar ist.
-
In Beispiel 23 kann der Gegenstand von Beispiel 22 umfassen, dass die Eignung des Ziels zur Verwendung durch die dritte Rechenvorrichtung auf wenigstens einer Entfernung des Ziels von der dritten Rechenvorrichtung, einer verfügbaren Bandbreite und einer Verarbeitungslast auf dem Ziel basiert, wobei das Ziel, das bestimmt wird, eine relativ leichte Verarbeitungslast aufweist und im Vergleich zu anderen möglichen Zielen einer Vielzahl von Zielen der dritten Rechenvorrichtung relativ näher liegt, und wobei das System zum Zufügen der Adresse des Ziels zu der Antwort durch Abändern eines DHCP-Befehls Option 17 betreibbar ist.
-
Beispiel 24 ist ein System umfassend Mittel zum Empfangen über eine erste Rechenvorrichtung einer durch eine zweite Rechenvorrichtung erzeugten Antwort für eine dritte Rechenvorrichtung, Mittel zum Bestimmen eines Ziels, das zur Verwendung durch die dritte Rechenvorrichtung geeignet ist und Mittel zum Übertragen der Antwort mit einer Adresse des Ziels zur dritten Rechenvorrichtung.
-
In Beispiel 25 kann der Gegenstand von Beispiel 24 umfassen, dass die Eignung des Ziels zur Verwendung durch die dritte Rechenvorrichtung auf wenigstens einer Entfernung des Ziels von der dritten Rechenvorrichtung, einer verfügbaren Bandbreite und einer Verarbeitungslast auf dem Ziel basiert, wobei das Ziel, das bestimmt wird, eine relativ leichte Verarbeitungslast aufweist und im Vergleich zu anderen möglichen Zielen einer Vielzahl von Zielen der dritten Rechenvorrichtung relativ näher liegt. In Beispiel 25 kann das System weiterhin Mittel zum Zufügen der Adresse des Ziels zu der Antwort durch Abändern eines DHCP-Befehls Option 17 umfassen.
-
Beispiel 26 ist ein System umfassend eine erste Rechenvorrichtung, eine zweite Rechenvorrichtung und eine dritte Rechenvorrichtung, wobei die erste, die zweite und die dritte Rechenvorrichtung kommunikationstechnisch verkoppelt sind und wobei die erste Rechenvorrichtung zum Empfangen einer durch die zweite Rechenvorrichtung für die dritte Rechenvorrichtung erzeugten Antwort, Bestimmen eines Ziels das zur Verwendung durch die dritte Rechenvorrichtung geeignet ist und Übertragen der Antwort mit einer Adresse des Ziels zur dritten Rechenvorrichtung betreibbar ist.
-
In Beispiel 27 kann der Gegenstand von Beispiel 26 umfassen, dass die Eignung des Ziels zur Verwendung durch die dritte Rechenvorrichtung auf wenigstens einer Entfernung des Ziels von der dritten Rechenvorrichtung, einer verfügbaren Bandbreite und einer Verarbeitungslast auf dem Ziel basiert und wobei das Ziel, das bestimmt wird, eine relativ leichte Verarbeitungslast aufweist und im Vergleich zu anderen möglichen Zielen einer Vielzahl von Zielen der dritten Rechenvorrichtung relativ näher liegt.
-
In Beispiel 28 kann der Gegenstand von Beispiel 26 umfassen, dass die erste Rechenvorrichtung ein Prozessor auf Steuerungsebene ist, die zweite Rechenvorrichtung ein DHCP-Server (DHCP = Dynamic Host Configuration Protocol) ist und die dritte Rechenvorrichtung ein Initiator ist. In Beispiel 28 ist das System weiterhin betreibbar zum Übertragen durch den Initiator über eine Schaltereinrichtung, die einen oder mehrere Schalter umfasst, einer Anforderung einer DHCP-Adresse an den DHCP-Server, Übertragen durch den DHCP-Server über die Schalteranordnung der die DHCP-Adresse umfassenden Antwort und Umleiten durch den einen oder die mehreren Schalter der Antwort zum Prozessor auf Steuerungsebene anstatt Rücksenden der Antwort zum Initiator.
-
In Beispiel 29 kann der Gegenstand von Beispiel 28 umfassen, dass das System zum Zufügen der Adressen des Ziels zu der Antwort durch Abändern eines Befehls DHCP-Option 17 betreibbar ist.
-
Beispiel 30 ist ein computerlesbares Speichermedium, wobei im computerlesbaren Speichermedium gespeicherter Code einen Prozessor veranlasst, dass im Gegenstand von Beispielen 1, 2, 3, 4, 5, 6 und 7 beschriebene Verfahren durchzuführen.
-
Beispiel 31 ist ein System umfassend Mittel zum Empfangen über eine erste Rechenvorrichtung einer durch eine zweite Rechenvorrichtung für eine dritte Rechenvorrichtung erzeugten Antwort, Mittel zum Bestimmen eines Ziels, das zur Verwendung durch die dritte Rechenvorrichtung geeignet ist, und Mittel zum Übertragen der Antwort mit einer Adresse des Ziels zur dritten Rechenvorrichtung.
-
In Beispiel 32 kann der Gegenstand von Beispiel 31 umfassen, dass die Eignung des Ziels zur Verwendung durch die dritte Rechenvorrichtung auf wenigstens einer Entfernung des Ziels von der dritten Rechenvorrichtung, einer verfügbaren Bandbreite und einer Verarbeitungslast auf dem Ziel basiert und wobei das Ziel, das bestimmt wird, eine relativ leichte Verarbeitungslast aufweist und im Vergleich zu anderen möglichen Zielen einer Vielzahl von Zielen der dritten Rechenvorrichtung relativ näher liegt.
-
In Beispiel 33 kann der Gegenstand von Beispiel 31 umfassen, dass die erste Rechenvorrichtung ein Prozessor auf Steuerungsebene ist, die zweite Rechenvorrichtung ein DHCP-Server (DHCP = Dynamic Host Configuration Protocol) ist und die dritte Rechenvorrichtung ein Initiator ist. In Beispiel 33 umfasst das System weiterhin Mittel zum Übertragen durch den Initiator über eine Schaltereinrichtung, die einen oder mehrere Schalter umfasst, einer Anforderung einer DHCP-Adresse zum DHCP-Server, Mittel zum Übertragen durch den DHCP-Server über die Schaltereinrichtung der die DHCP-Adresse umfassenden Antwort und Mittel zum Umleiten durch den einen oder die mehreren Schalter der Antwort zum Prozessor auf Steuerungsebene anstatt Rücksenden der Antwort zum Initiator.
-
In Beispiel 34 kann der Gegenstand von Beispiel 33 Mittel zum Zufügen der Adresse des Ziels zu der Antwort durch Abändern eines DHCP-Befehls Option 17 umfassen.
-
Beispiel 35 ist ein Verfahren zur Zielbestimmung, in dem eine erste Rechenvorrichtung eine durch eine zweite Rechenvorrichtung für eine dritte Rechenvorrichtung erzeugte Antwort empfängt. Es wird eine Bestimmung eines Ziels getroffen, das zur Verwendung durch die dritte Rechenvorrichtung geeignet ist. Die Antwort wird mit einer Adresse des Ziels zur dritten Rechenvorrichtung übertragen.
-
In Beispiel 36 kann der Gegenstand von Beispiel 35 umfassen, dass Eignung des Ziels zur Verwendung durch die dritte Rechenvorrichtung auf wenigstens einer Entfernung des Ziels von der dritten Rechenvorrichtung, einer verfügbaren Bandbreite und einer Verarbeitungslast auf dem Ziel basiert.
-
In Beispiel 37 kann der Gegenstand von Beispiel 35 umfassen, dass das Ziel, das bestimmt wird, eine relativ leichte Verarbeitungslast aufweist und im Vergleich zu anderen möglichen Zielen einer Vielzahl von Zielen der dritten Rechenvorrichtung relativ näher liegt.
-
In Beispiel 38 kann der Gegenstand von Beispiel 35 umfassen, dass die erste Rechenvorrichtung ein Prozessor auf Steuerungsebene ist, die zweite Rechenvorrichtung ein DHCP-Server (DHCP = Dynamic Host Configuration Protocol) ist und die dritte Rechenvorrichtung ein Initiator ist.
-
In Beispiel 39 kann der Gegenstand von Beispiel 38 umfassen, dass der Initiator über eine Schaltereinrichtung, die einen oder mehrere Schalter umfasst, eine Anforderung einer DHCP-Adresse zum DHCP-Server überträgt und dass der DHCP-Server die die DHCP-Adresse umfassende Antwort über die Schaltereinrichtung überträgt.
-
In Beispiel 40 kann der Gegenstand von Beispiel 39 Umleiten durch den einen oder die mehreren Schalter der Antwort zu dem Prozessor auf Steuerungsebene anstatt Rücksenden der Antwort zum Initiator umfassen.
-
In Beispiel 41 kann der Gegenstand von Beispiel 40 umfassen, dass die Adresse des Ziels durch Abändern eines DHCP-Befehls Option 17 der Antwort hinzugefügt wird.
-
Beispiel 42 ist ein System zur Zielbestimmung umfassend eine erste Rechenvorrichtung, die kommunikationstechnisch mit einer zweiten Rechenvorrichtung und einer dritten Rechenvorrichtung verkoppelt ist, wobei das System einen Speicher und einen an den Speicher angekoppelten Prozessor umfasst und wobei der Prozessor zum Empfangen einer durch eine zweite Rechenvorrichtung für eine dritte Rechenvorrichtung erzeugten Antwort, Bestimmen eines Ziels, das zur Verwendung durch die dritte Rechenvorrichtung geeignet ist und Übertragen der Antwort mit einer Adresse des Ziels zur dritten Rechenvorrichtung betreibbar ist.
-
In Beispiel 43 kann der Gegenstand von Beispiel 42 umfassen, dass die Eignung des Ziels zur Verwendung durch die dritte Rechenvorrichtung auf wenigstens einer Entfernung des Ziels von der dritten Rechenvorrichtung, einer verfügbaren Bandbreite und einer Verarbeitungslast auf dem Ziel basiert.
-
In Beispiel 44 kann der Gegenstand von Beispiel 43 umfassen, dass das Ziel, das bestimmt wird, eine relativ leichte Verarbeitungslast aufweist und im Vergleich zu anderen möglichen Zielen einer Vielzahl von Zielen der dritten Rechenvorrichtung relativ näher liegt.
-
In Beispiel 45 kann der Gegenstand von Beispiel 43 umfassen, dass die erste Rechenvorrichtung ein Prozessor auf Steuerungsebene ist, die zweite Rechenvorrichtung ein DHCP-Server (DHCP = Dynamic Host Configuration Protocol) ist und die dritte Rechenvorrichtung ein Initiator ist. Der Initiator ist konfigurierbar zum Übertragen über eine Schaltereinrichtung, die einen oder mehrere Schalter umfasst, einer Anforderung einer DHCP-Adresse zum DHCP-Server. Der DHCP-Server ist zum Übertragen über die Schaltereinrichtung der die DHCP-Adresse umfassenden Antwort konfigurierbar. Der eine oder die mehreren Schalter sind zum Umleiten der Antwort zum Prozessor auf Steuerungsebene anstatt Rücksenden der Antwort zum Initiator konfigurierbar.
-
In Beispiel 46 kann der Gegenstand von Beispiel 45 umfassen, dass der Prozessor weiterhin zum Zufügen der Adresse des Ziels zu der Antwort durch Abändern eines DHCP-Befehls Option 17 betreibbar ist.
-
Beispiel 47 ist ein computerlesbares Speichermedium zur Zielbestimmung, wobei in dem computerlesbaren Speichermedium gespeicherter Code, wenn er durch einen Prozessor ausgeführt wird, Operationen durchführt, wobei die Operationen Empfangen über eine erste Rechenvorrichtung einer durch eine zweite Rechenvorrichtung für eine dritte Rechenvorrichtung erzeugten Antwort, Bestimmen eines Ziels, das zur Verwendung durch die dritte Rechenvorrichtung geeignet ist und Übertragen der Antwort mit einer Adresse des Ziels zu der dritten Rechenvorrichtung umfassen.
-
In Beispiel 48 kann der Gegenstand von Beispiel 47 umfassen, dass die Eignung des Ziels zur Verwendung durch die dritte Rechenvorrichtung auf wenigstens einer Entfernung des Ziels von der dritten Rechenvorrichtung, einer verfügbaren Bandbreite und einer Verarbeitungslast auf dem Ziel basiert.
-
In Beispiel 49 kann der Gegenstand von Beispiel 47 umfassen, dass die Adresse des Ziels durch Abändern eines DHCP-Befehls Option 17 der Antwort zugefügt wird.