DE102021129513A1 - Endpunktbenachrichtigung über eine überlastung eines speichernetzwerks - Google Patents

Endpunktbenachrichtigung über eine überlastung eines speichernetzwerks Download PDF

Info

Publication number
DE102021129513A1
DE102021129513A1 DE102021129513.0A DE102021129513A DE102021129513A1 DE 102021129513 A1 DE102021129513 A1 DE 102021129513A1 DE 102021129513 A DE102021129513 A DE 102021129513A DE 102021129513 A1 DE102021129513 A1 DE 102021129513A1
Authority
DE
Germany
Prior art keywords
network
computer
endpoint
notification
devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102021129513.0A
Other languages
English (en)
Inventor
Pasquale A. Catalano
Chris Moretti
Stephen Robert Guendert
Christopher J. Colonna
Michael James Becht
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102021129513A1 publication Critical patent/DE102021129513A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/33Flow control; Congestion control using forward notification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Abstract

Ausführungsformen der Erfindung haben zum Ziel, eine oder mehrere Endpunkteinheiten zu registrieren, um eine Benachrichtigung zu erhalten und ein Überlastungsereignis in Bezug auf ein Speichernetzwerk zu erkennen. Das Speichernetzwerk umfasst eine oder mehrere Endpunkteinheiten. Die Benachrichtigung über das Überlastungsereignis wird an die eine oder mehrere Endpunkteinheiten gesendet, die für die Benachrichtigung registriert wurden.

Description

  • HINTERGRUND
  • Die vorliegende Erfindung bezieht sich im Allgemeinen auf Computersysteme und insbesondere auf durch einen Computer implementierte Verfahren, Computersysteme und Computerprogrammprodukte, die so konfiguriert und angeordnet sind, dass sie eine Endpunktbenachrichtigung über eine Überlastung eines Speichernetzwerks bereitstellen.
  • Ein Speichernetzwerk (storage area network, SAN) ist ein Computernetzwerk, das den Zugriff auf konsolidierte Datenspeicher auf Blockebene bereitstellt. Im einfachsten Fall ist ein SAN ein zweckbestimmtes Netzwerk zur Datenspeicherung. Ein SAN besteht aus einer Kombination von Hardware und Software. SANs werden in erster Linie verwendet, um von Servern aus auf Speichereinheiten wie Platten-Arrays und Bandbibliotheken zuzugreifen, so dass die Einheiten dem Betriebssystem als direkt angeschlossener Speicher erscheinen. Ein SAN ist in der Regel ein zweckbestimmtes Netzwerk von Speichereinheiten, auf das nicht über das lokale Netzwerk (LAN) zugegriffen werden kann. Ein SAN stellt zwar nur Zugriff auf Blockebene bereit, Dateisysteme, die auf SANs aufbauen, ermöglichen aber Zugriff auf Dateiebene und sind als Dateisysteme mit gemeinsam genutzten Festplatten bekannt. SANs werden manchmal als Netzwerk hinter den Servern bezeichnet und haben sich ursprünglich aus einem zentralisierten Datenspeichermodell entwickelt, jedoch mit einem eigenen Datennetzwerk. Neben dem Speichern von Daten ermöglichen SANs auch ein automatisches Sichern von Daten und ein Überwachen des Speichers sowie des Sicherungsprozesses.
  • KURZDARSTELLUNG
  • Ausführungsformen der vorliegenden Erfindung befassen sich mit der Endpunktbenachrichtigung über eine Überlastung eines Speichernetzwerks. Ein nicht einschränkendes Beispiel für ein auf einem Computer implementiertes Verfahren umfasst ein Registrieren einer oder mehrerer Endpunkteinheiten für ein Empfangen einer Überlastungsbenachrichtigung und ein Erkennen eines Überlastungsereignisses in Bezug auf ein Speichernetzwerk. Das Speichernetzwerk umfasst die eine oder mehrere Endpunkteinheiten. Das auf einem Computer implementierte Verfahren umfasst ein Senden einer Benachrichtigung über das Überlastungsereignis an die eine oder mehrere Endpunkteinheiten, die für die Benachrichtigung registriert wurden.
  • Andere Ausführungsformen der vorliegenden Erfindung implementieren Merkmale des oben beschriebenen Verfahrens in Computersystemen und Computerprogrammprodukten.
  • Weitere technische Merkmale und Vorteile werden durch die Techniken der vorliegenden Erfindung realisiert. Ausführungsformen und Aspekte der Erfindung sind hierin ausführlich beschrieben und werden als Teil des beanspruchten Gegenstands betrachtet. Zum besseren Verständnis sei auf die ausführliche Beschreibung und auf die Zeichnungen verwiesen.
  • Figurenliste
  • Die spezifischen Merkmale der hier beschriebenen Exklusivrechte werden in den Ansprüchen am Ende der Beschreibung besonders hervorgehoben und eindeutig beansprucht. Die vorgenannten und andere Funktionen und Vorteile der Ausführungsformen der Erfindung sind aus der folgenden ausführlichen Beschreibung in Verbindung mit den beigefügten Zeichnungen ersichtlich, in denen:
    • 1 ein Blockschaubild eines beispielhaften Computersystems zum Verwenden in Verbindung mit einer oder mehreren Ausführungsformen der vorliegenden Erfindung zeigt;
    • 2 ein Blockschaubild eines Systems zur Endpunktbenachrichtigung über eine Überlastung eines Speichernetzwerks gemäß einer oder mehrerer Ausführungsformen der vorliegenden Erfindung zeigt;
    • 3 einen Ablaufplan eines auf einem Computer implementierten Verfahrens zur Endpunktbenachrichtigung über eine Überlastung eines Speichernetzwerks gemäß einer oder mehrerer Ausführungsformen der vorliegenden Erfindung zeigt;
    • 4 ein Blockschaubild eines reduzierten Speichernetzwerks zeigt, das weitere Einzelheiten einer beispielhaften Netzwerkeinheit und beispielhafter Endpunkteinheiten gemäß einer oder mehrerer Ausführungsformen der vorliegenden Erfindung zeigt;
    • 5 ein Blockschaubild einer beispielhaften Nachrichtenstruktur für eine Benachrichtigung über ein Überlastungsereignis gemäß einer oder mehrerer Ausführungsformen der vorliegenden Erfindung zeigt;
    • 6 einen Ablaufplan eines auf einem Computer implementierten Verfahrens für ein Bereitstellen einer Endpunktbenachrichtigung über eine Überlastung eines Speichernetzwerks gemäß einer oder mehrerer Ausführungsformen der vorliegenden Erfindung zeigt;
    • 7 einen beispielhaften Eintrag einer Tabelle in einer Registrierungsdatenbank für Endpunkteinheiten gemäß einer oder mehrerer Ausführungsformen der vorliegenden Erfindung zeigt;
    • 8 eine Cloud-Computing-Umgebung gemäß einer oder mehrerer Ausführungsformen der vorliegenden Erfindung zeigt; und
    • 9 Abstraktionsmodellschichten gemäß einer oder mehrerer Ausführungsformen der vorliegenden Erfindung zeigt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Eine oder mehrere Ausführungsformen der vorliegenden Erfindung stellen auf einem Computer implementierte Verfahren, Computersysteme und Computerprogrammprodukte für eine Endpunktbenachrichtigung über eine Überlastung eines Speichernetzwerks (storage area network, SAN) bereit. SAN-Anbieter haben viele verschiedene Mechanismen und Werkzeuge zum Erkennen von Netzwerküberlastungen implementiert, zum Beispiel Engpasserkennung, SAN-Analytik usw. Nach dem Stand der Technik wird eine Netzwerküberlastung nur dann von einem Server erkannt, wenn an einem Anschluss eine erhöhte Dauer auftritt, zum Beispiel wenn ein Sendepufferguthaben (TX) auf null sinkt. Heutzutage besteht für eine Netzwerkeinheit im SAN keine Möglichkeit, mit einem Server, einer Steuereinheit (control unit, CU) oder einer angeschlossenen Endpunkteinheit Daten darüber auszutauschen, dass die Netzwerkeinheit eine Netzwerküberlastung festgestellt hat.
  • Gemäß einer oder mehrerer Ausführungsformen der Erfindung ist eine Netzwerkeinheit im SAN so aufgebaut, dass sie eine Benachrichtigung über die erkannte Netzwerküberlastung an einen Server, eine Steuereinheit (CU) und/oder eine angeschlossene Endpunkteinheit sendet. Auf diese Weise kann die angeschlossene Endpunkteinheit eine Benachrichtigung über die erkannte Netzwerküberlastung erhalten, die automatisch entsprechende Änderungen durch die Endpunkteinheit auslösen kann. Gemäß einer oder mehrerer Ausführungsformen der Erfindung sind Endpunkteinheiten so konfiguriert, dass sie beim Netzwerk (d.h. bei Netzwerkeinheiten) registriert werden, um Benachrichtigungen für bestimmte Netzwerkkennungen und/oder Anschlusskennungen zu erhalten. Eine Netzwerkeinheit erkennt ein Überlastungsereignis. Netzwerkeinheiten können Daten von zugehörigen Segmenten des Netzwerks erfassen, die von dem Netzwerkereignis betroffen sind. Netzwerkeinheiten übertragen Daten an angeschlossene Endpunkteinheiten, die für ein Empfangen zugehöriger Daten über Merkmale eines Netzwerkereignisses registriert sind. Eine Netzwerküberlastung in Datennetzwerken und Warteschlangen bezieht sich auf die verminderte Dienstqualität, die auftritt, wenn auf einem Netzwerkknoten und/oder auf einer Verbindung mehr Daten anfallen, als er/sie bewältigen kann. Zu den typischen Auswirkungen gehören Verzögerungen bei Warteschlangen, Paketverluste und/oder das Blockieren von neuen Verbindungen.
  • Betrachtet man nun 1, ist hier im Allgemeinen ein Computersystem 100 gemäß einer oder mehrerer Ausführungsformen der Erfindung dargestellt. Das Computersystem 100 kann aus einer elektronischen Computerstruktur bestehen, die eine beliebige Anzahl und beliebige Kombinationen von Datenverarbeitungseinheiten und Netzwerken aufweist und/oder einsetzt, bei denen verschiedene Datenübertragungstechnologien zum Einsatz kommen, wie hier beschrieben. Das Computersystem 100 ist leicht skalierbar, erweiterbar und modular aufgebaut, so dass ein Wechsel zu anderen Diensten möglich ist oder einige Funktionen unabhängig von anderen neu konfiguriert werden können. Das Computersystem 100 kann zum Beispiel aus einem Server, einem Desktop-Computer, einem Laptop-Computer, einem Tablet-Computer oder einem Smartphone bestehen. In einigen Beispielen kann das Computersystem 100 aus einem Cloud-Computing-Knoten bestehen. Computersystem 100 kann im allgemeinen Kontext von durch ein Computersystem ausführbaren Befehlen beschrieben werden, zum Beispiel Programmmodule, die von einem Computersystem ausgeführt werden. Im Allgemeinen können Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen usw. umfassen, die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren. Computersystem 100 kann in verteilten Cloud-Computing-Umgebungen eingesetzt werden, in denen Aufgaben von entfernt angeordneten Verarbeitungseinheiten durchgeführt werden, die über ein Verkehrsnetz miteinander verbunden sind. In einer verteilten Cloud-Computing-Umgebung können sich Programmmodule sowohl in lokalen als auch in entfernt angeordneten Speichermedien des Computersystems befinden, unter anderem in Arbeitsspeichereinheiten.
  • Wie in 1 dargestellt, verfügt das Computersystem 100 über eine oder mehrere Zentraleinheiten (CPU(s)) 101a, 101b, 101c usw. (zusammenfassend oder allgemein als Prozessor(en) 101 bezeichnet). Bei den Prozessoren 101 kann es sich um einen Einkernprozessor, einen Mehrkernprozessor, einen Datenverarbeitungs-Cluster oder eine beliebige Anzahl anderer Konfigurationen handeln. Die Prozessoren 101, die auch als Verarbeitungsschaltkreise bezeichnet werden, sind über einen Systembus 102 mit einem Systemspeicher 103 und verschiedenen anderen Komponenten verbunden. Der Systemspeicher 103 kann einen Nur-Lese-Speicher (ROM) 104 und einen Direktzugriffsspeicher (RAM) 105 umfassen. Der ROM 104 ist mit dem Systembus 102 verbunden und kann ein BIOS (basic input/output system, Basis-Eingabe/Ausgabe-System) oder Nachfolger desselben wie UEFI (unified extensible firmware interface, vereinheitlichte erweiterbare Firmware-Schnittstelle) umfassen, die bestimmte Grundfunktionen des Computersystems 100 steuern. Der RAM ist ein mit dem Systembus 102 verbundener Schreib/Lese-Speicher, der von den Prozessoren 101 verwendet wird. Der Systemspeicher 103 stellt temporären Speicherplatz für Operationen der Befehle während des Betriebs bereit. Der Systemspeicher 103 kann Direktzugriffsspeicher (RAM), Nur-Lese-Speicher, Flash-Speicher oder andere geeignete Speichersysteme umfassen.
  • Das Computersystem 100 weist einen Eingabe/Ausgabe- (E/A-) Adapter 106 und einen mit dem Systembus 102 verbundenen Datenübertragungsadapter 107 auf. Der E/A-Adapter 106 kann aus einem SCSI-Adapter (Small Computer System Interface) bestehen, der Daten mit einer Festplatte 108 und/oder einer anderen vergleichbaren Komponente austauscht. Der E/A-Adapter 106 und die Festplatte 108 werden hier zusammengefasst als Massenspeicher 110 bezeichnet.
  • In dem Massenspeicher 110 kann eine Software 111 zum Ausführen auf dem Computersystem 100 gespeichert werden. Der Massenspeicher 110 ist ein Beispiel für ein physisches Speichermedium, das von den Prozessoren 101 gelesen werden kann, auf dem die Software 111 in Form von Befehlen gespeichert ist, die von den Prozessoren 101 ausgeführt werden, um den Betrieb des Computersystems 100 zu veranlassen, wie dies im Folgenden in Bezug auf die verschiedenen Figuren beschrieben wird. Beispiele für ein Computerprogrammprodukt und die Ausführung eines solchen Befehls werden hier ausführlicher erläutert. Der Datenübertragungsadapter 107 verbindet den Systembus 102 mit einem Netzwerk 112, bei dem es sich um ein externes Netzwerk handeln kann, das es dem Computersystem 100 ermöglicht, Daten mit anderen derartigen Systemen auszutauschen. In einer Ausführungsform wird in einem Teil des Systemspeichers 103 und des Massenspeichers 110 gemeinsam ein Betriebssystem gespeichert, bei dem es sich um ein beliebiges geeignetes Betriebssystem handeln kann, um die Funktionen der verschiedenen in 1 dargestellten Komponenten zu koordinieren.
  • Zusätzliche Eingabe/Ausgabe-Einheiten sind wie dargestellt über einen Anzeigeadapter 115 und einen Schnittstellenadapter 116 an den Systembus 102 angeschlossen. In einer Ausführungsform können die Adapter 106, 107, 115 und 116 an einen oder mehrere E/A-Busse angeschlossen werden, die über eine Zwischenbusbrücke (nicht dargestellt) mit dem Systembus 102 verbunden sind. Eine Anzeige 119 (z.B. ein Bildschirm oder ein Anzeigemonitor) ist über den Anzeigeadapter 115, der eine Grafiksteuerung zur Verbesserung der Leistung von grafikintensiven Anwendungen und eine Videosteuerung umfassen kann, mit dem Systembus 102 verbunden. Eine Tastatur 121, eine Maus 122, ein Lautsprecher 123 usw. können mit dem Systembus 102 über den Schnittstellenadapter 116 verbunden werden, der zum Beispiel einen Super-E/A-Chip umfassen kann, der mehrere Einheitenadapter in einer einzigen integrierten Schaltung integriert. Geeignete E/A-Busse zum Anschließen von peripheren Einheiten wie Festplattensteuerungen, Netzwerkadaptern und Grafikadaptern weisen in der Regel gängige Protokolle wie PCI (Peripheral Component Interconnect) und PCle (Peripheral Component Interconnect Express) auf. So weist das Computersystem 100, wie es in 1 konfiguriert ist, Verarbeitungskapazitäten in Form der Prozessoren 101 auf sowie Speicherkapazitäten, unter anderem der Systemspeicher 103 und der Massenspeicher 110, Eingabemittel wie die Tastatur 121 und die Maus 122 und Ausgabemöglichkeiten, unter anderen der Lautsprecher 123 und die Anzeige 119.
  • In einigen Ausführungsformen kann der Datenübertragungsadapter 107 Daten mittels einer beliebigen geeigneten Schnittstelle oder eines geeigneten Protokolls übertragen, zum Beispiel iSCSI (Internet Small Computer System Interface) und andere. Bei dem Netzwerk 112 kann es sich unter anderem um ein Mobilfunknetz, ein Funknetz, ein Weitverkehrsnetz (WAN), ein lokales Netzwerk (LAN) oder das Internet handeln. Eine externe Datenverarbeitungseinheit kann über das Netzwerk 112 mit dem Computersystem 100 verbunden werden. In einigen Beispielen kann es sich bei einer externen Datenverarbeitungseinheit um einen externen Webserver oder einen Cloud-Computing-Knoten handeln.
  • Es sei darauf hingewiesen, dass das Blockschaubild von 1 nicht anzeigen soll, dass das Computersystem 100 alle in 1 dargestellten Komponenten umfassen muss. Vielmehr kann das Computersystem 100 auch weniger oder zusätzliche, in 1 nicht gezeigte geeignete Komponenten umfassen (z.B. zusätzliche Hauptspeicherkomponenten, eingebettete Steuerungen, Module, zusätzliche Netzwerkschnittstellen usw.). Ferner können die hier beschriebenen Ausführungsformen des Computersystems 100 mit jeder geeigneten Logik implementiert werden, wobei die Logik, auf die hier Bezug genommen wird, in verschiedenen Ausführungsformen jede geeignete Hardware (z.B. einen Prozessor, eine eingebettete Steuerung oder eine anwendungsspezifische integrierte Schaltung usw.), Software (z.B. eine Anwendung usw.), Firmware oder eine geeignete Kombination aus Hardware, Software und Firmware umfassen kann.
  • 2 ist eine schematische Darstellung eines Speichernetzwerks (SAN) 200 mit Endpunktbenachrichtigung über eine Überlastung eines Speichernetzwerks gemäß einer oder mehrerer Ausführungsformen der vorliegenden Erfindung. SAN 200 umfasst eine Mehrzahl von Endpunkteinheiten 210 und Endpunkteinheiten 220, die jeweils mit einer oder mehreren Netzwerkeinheiten 230 verbunden sind, zum Beispiel Vermittlungseinheiten. Die Netzwerkeinheiten 230 umfassen Speicherschaltkreise und Verarbeitungsschaltkreise (z.B. Überwachungsschaltkreise und Begrenzungsschaltkreise). Die Netzwerktopologie von SAN 200 kann aus einer Fabric bestehen, bei der die Netzwerkeinheiten 230 als Vermittlungseinheiten fungieren. In einer oder mehreren Ausführungsformen kann eine bestimmte Netzwerkeinheit 230, bei der es sich um eine Vermittlungseinheit handelt, auf einen Vermittlungsmodus oder einen NPIV-Modus (N-Port-ID-Virtualisierung) eingestellt werden. In einer oder mehreren Ausführungsformen ist mindestens eine der Endpunkteinheiten 210, 220 im SAN 200 als Host-Einheit konfiguriert. Zum Beispiel kann die Endpunkteinheit 210 die Host-Einheit sein. In einer oder mehreren Ausführungsformen ist die Host-Einheit als Endpunkteinheit 210 in einem Computersystem verkörpert, wie dem in 1 dargestellten Computersystem 100. Darüber hinaus kann jede der Endpunkteinheiten 210, 220 und Netzwerkeinheiten 230 mittels jeder der im Computersystem 100 beschriebenen Funktionen und Hardware- und Softwarekomponenten implementiert werden.
  • In einer oder mehreren Ausführungsformen umfasst jede der Netzwerkeinheiten 230 eine Mehrzahl von Anschlüssen, die die Netzwerkeinheiten 230 über Verbindungen 225 mit verschiedenen Endpunkteinheiten 210, 220 verbinden. Darüber hinaus umfasst jede Endpunkteinheit 210, 220 einen oder mehrere Anschlüsse, die die Endpunkteinheiten mit einer oder mehreren Netzwerkeinheiten 230 und/oder mit anderen Endpunkteinheiten 220 verbinden. In einer oder mehreren Ausführungsformen wird jede Verbindung 225 durch die beiden Anschlüsse definiert, die mit der Verbindung 225 verbunden sind. Die Anschlüsse der Endpunkteinheiten 220, 210 werden als Kanalanschlüsse (channel port) bezeichnet, während die Anschlüsse der Netzwerkeinheiten 230 als Vermittlungseinheit-Anschlüsse (switch port) bezeichnet werden.
  • In einer oder mehreren Ausführungsformen unterstützen die Netzwerkeinheiten 230 die Protokolle Fibre Channel (FC) und/oder Fibre Channel over Ethernet (FCoE). Zum Beispiel kann eine bestimmte Netzwerkeinheit mit festem Anschluss das FC-Protokoll und/oder das FCoE-Protokoll unterstützen. In einem anderen Beispiel können in einer bestimmten Netzwerkeinheit 230 eine Mehrzahl von Netzwerkkarten enthalten sein, von denen mindestens einige das FC-Protokoll und/oder mindestens einige das FCoE-Protokoll unterstützen. Es sei darauf hingewiesen, dass ein bestimmter Anschluss an einer bestimmten Netzwerkeinheit 230 das FC-Protokoll oder das FCoE-Protokoll standardmäßig oder wie konfiguriert unterstützen kann (z.B., wenn es sich bei dem bestimmten Anschluss um einen Universalanschluss handelt). Optional unterstützen die Netzwerkeinheiten 230 ein oder mehrere andere Protokolle wie SNMP (simple network management protocol, einfaches Netzwerkverwaltungsprotokoll) zum Erfassen von Informationen, zum Beispiel zum Ausgeben an die als Endpunkteinheit 210 implementierte Verwaltungseinheit.
  • 3 zeigt einen Ablaufplan eines auf einem Computer implementierten Verfahrens 300 zur Endpunktbenachrichtigung über eine Überlastung eines Speichernetzwerks gemäß einer oder mehrerer Ausführungsformen der vorliegenden Erfindung. 4 zeigt ein Blockschaubild eines reduzierten SAN 200, das weitere Einzelheiten einer beispielhaften Netzwerkeinheit 230, einer beispielhaften Endpunkteinheit 210 und einer Endpunkteinheit 220 gemäß einer oder mehrerer Ausführungsformen der Erfindung veranschaulicht. Die reduzierte Ansicht des SAN 200 in 4 zeigt zwar nur eine einzelne Endpunkteinheit 210 und eine einzelne Endpunkteinheit 220, die jeweils mit einer einzelnen Netzwerkeinheit 230 verbunden sind, doch dient diese vereinfachte Ansicht in 4 nur der Erläuterung und ist nicht als Einschränkung gedacht. Vielmehr kann das SAN 200 in 4 über zahlreiche Endpunkteinheiten 210, 230 verfügen, die auf verschiedene Weise mit zahlreichen Netzwerkeinheiten 230 verbunden sind, analog zu dem in 2 gezeigten SAN 200. Der auf einem Computer implementierte Prozess 300 in 3 kann mittels des in 2 und 4 dargestellten SAN 200 zusammen mit dem in 1 dargestellten Computersystem 100 und/oder Elementen des Computersystems 100 implementiert werden. Dementsprechend wird der auf einem Computer implementierte Prozess 300 nun unter Bezugnahme auf 1, 2 und 4 beschrieben.
  • In Block 302 sind die Softwareanwendungen 404 der Netzwerkeinheiten 230 so konfiguriert, dass sie Registrierungsanforderungen 402 von den Endpunkteinheiten 210, 220 empfangen, um die Endpunkteinheiten 210, 220 im SAN 200 zu registrieren. Die Netzwerkeinheiten 230 empfangen die Registrierungsanforderungen 402 von den Endpunkteinheiten 210, 220, die jeweils mit den Netzwerkeinheiten 230 verbunden sind. Die Registrierungsanforderungen 402 zeigen an, dass die Endpunkteinheiten 210, 220 registriert werden, um Benachrichtigungen für bestimmte Netzwerkkennungen und/oder Anschlusskennungen sowie für bestimmte Server-Blades, Zonen und Vermittlungseinheiten (Netzwerkeinheiten 230) im SAN 200 zu erhalten. In einer oder mehreren Ausführungsformen können die Endpunkteinheiten 210, 220 jeweils über eine Clientanwendung 422 verfügen, die so konfiguriert ist, dass sie bei den Softwareanwendungen 404 der gewünschten Netzwerkeinheiten 230 registriert wird, und/oder es kann ein anderes Verfahren zur Registrierung verwendet werden.
  • Die Softwareanwendungen 404 können als Software 111 implementiert werden, die auf einem oder mehreren Prozessoren 101 ausgeführt wird, wie in 1 erläutert. In ähnlicher Weise kann die Clientanwendung 422 mittels Software 111 implementiert werden, die zum Ausführen auf einem oder mehreren Prozessoren 101 konfiguriert ist. Die Clientanwendung 422 kann Cookies, Plug-ins, Thin Clients usw. umfassen, und die Clientanwendung 422 kann als Computersoftware eingesetzt werden, die auf die Netzwerkeinheiten 230 zugreift. Die Registrierungsanforderungen 402 können Anmeldedaten aufweisen und/oder Anmeldedaten können zuvor für jede Endpunkteinheit 210, 220 übermittelt worden sein. Gemäß den identifizierten Netzwerkkennungen und/oder Anschlusskennungen, die in den Registrierungsanforderungen 402 für die jeweiligen Endpunkteinheiten 210, 220 angefordert werden, sind die Softwareanwendungen 404 der Netzwerkeinheiten 230 jeweils so konfiguriert, dass sie die von den Endpunkteinheiten 210, 220 angeforderten Netzwerkkennungen und/oder Anschlusskennungen zusammen mit bestimmten angeforderten Server-Blades, Zonen und Vermittlungseinheiten (Netzwerkeinheiten 230) registrieren. Die Softwareanwendungen 404 in jeder Netzwerkeinheit 230 sind so konfiguriert, dass sie ihre jeweilige Auflistung von registrierten Endpunkteinheiten 210, 220 und ihrer registrierten Netzwerkkennungen und/oder Anschlusskennungen in der Endpunkteinheiten-Registrierungsdatenbank 408 im Hauptspeicher 406 speichern. Die Endpunkteinheiten-Registrierungsdatenbank 408 kann eine Tabelle mit einem Eintrag für jede registrierte Endpunkteinheit 210, 220 umfassen. Ein beispielhafter Eintrag der Tabelle in der Endpunkteinheiten-Registrierungsdatenbank 408 für eine beispielhafte Endpunkteinheit ist in 7 gezeigt. In 7 ist eine beispielhafte Endpunkteinheit 210, 220 als „ABC“ abgebildet. Die Tabelle zeigt, dass die Endpunkteinheit „ABC“ (z.B. Endpunkteinheit 210, 220) für Benachrichtigungen für die Netzwerkkennung „DEF“, die Anschlusskennung „GHI“ und für andere Kennungen wie Blade-Server „J“, Zone „K“ und Vermittlungseinheit „L“ registriert wurde (z.B. eine bestimmte Netzwerkeinheit 230). 7 zeigt zwar einen einzelnen Eintrag in einer Tabelle für eine einzelne Endpunkteinheit, die bei einer Netzwerkeinheit 230 registriert wurde, die Tabelle in der Endpunkteinheiten-Registrierungsdatenbank 408 umfasst jedoch zahlreiche Einträge verschiedener Endpunkteinheiten, die registriert wurden. Die Endpunkteinheit „ABC“ kann auch für ein Empfangen von Überlastungsbenachrichtigungen von zahlreichen mit ihr verbundenen Netzwerkeinheiten 230 registriert werden, zum Beispiel von einer ersten Netzwerkeinheit 230, einer zweiten Netzwerkeinheit 230, einer dritten Netzwerkeinheit 230 usw.
  • Innerhalb von SAN 200 hat jeder Anschluss eine eindeutige Anschlusskennung (oder Anschlussadresse), die als FC-Adresse (Fibre-Channel) für den Anschluss dient. Diese Anschlusskennung (oder Anschlussadresse) ermöglicht ein Weiterleiten von Daten durch das SAN 200 zu diesem Anschluss an den Netzwerkeinheiten 230. Die Netzwerkeinheiten 230 (z.B. FC-Vermittlungseinheiten) weisen die Anschlusskennungen zu, wenn die Endpunkteinheit bei der Fabric (d.h. SAN 200) angemeldet wird. Die Anschlusskennungen weisen physische Kennungen und logische Kennungen auf. Anschlussadressen sind Adressen auf Anschlussebene, also physische Adressen auf Netzwerkeinheiten 230 und Endpunkteinheiten 210, 220. Logische Kennungen, die auch als Verbindungsadressen bezeichnet werden, sind logische Kennungen, die Netzwerkeinheiten 230 und Endpunkteinheiten 210, 220 zugehören. Netzwerkkennungen umfassen Domain-Kennungen (DID) und Fabric-Kennungen (FID). Eine Domain-Kennung ist eine physische Kennung einer physischen Vermittlungseinheit wie zum Beispiel Netzwerkeinheit 230. Eine Fabric-Kennung ist eine logische Kennung für eine oder mehrere Vermittlungseinheiten, wie zum Beispiel eine oder mehrere Netzwerkeinheiten 230 und/oder eine oder mehrere Lichtwellenleiter (d.h. Kabel) (oder vielleicht Kupferleitungen).
  • Unter Bezugnahme auf 3 wird in Block 304 jede der Netzwerkeinheiten 230 so konfiguriert, dass sie ihre angeschlossenen Verbindungen 225 im SAN 200 überwacht. Zwar wird eine Verbindung 225 der Einfachheit halber als eine einzige Leitung gezeigt, aber eine Verbindung 225 umfasst zahlreiche Kabel wie zum Beispiel Lichtwellenleiterkabel, Ethernet-Kabel, Koaxialkabel usw. Die Softwareanwendungen 404 können eine oder mehrere Softwareanwendungen und/oder Werkzeuge zum Überwachen umfassen, in diese integriert sein und/oder mit diesen Daten austauschen. Zum Überwachen des Netzwerks, wie es hier erläutert wird, können alle geeigneten Überwachungsanwendungen und/oder -werkzeuge verwendet werden. Zu Beispielen für Überwachungssoftware/-werkzeuge gehören Engpasserkennung, SAN-Analytik usw.
  • In Block 306 sind die Softwareanwendungen 404 der Netzwerkeinheit 230 so konfiguriert, dass sie ein Überlastungsereignis im SAN 200 erkennen. Ein Überlastungsereignis ist eine beobachtete Verlangsamung, die viele Ursachen haben kann. Es könnte ein Endpunkt vorliegen, der nur langsam Datenübertragungsblöcke empfängt (allgemein als „Slow Drain“-Einheit bezeichnet), und/oder das Überlastungsereignis könnte auf einen Komponenten- oder Verbindungsausfall zurückzuführen sein (z.B., wenn eine von zwei redundanten Komponenten ausgefallen ist, so dass die verbleibende Einheit nun doppelt so viel Arbeit zu leisten hat). Eine Überlastung kann auch auf eine „Überbelegung“ eines Inter-Switch Link (ISL) oder der internen Vermittlungsinfrastruktur einer Netzwerkeinheit zurückzuführen sein. Eine Überbelegung liegt vor, wenn die Gesamtbandbreite der an Einheiten angeschlossenen Anschlüsse größer ist als die gesamte interne Vermittlungsinfrastruktur. In einer oder mehreren Ausführungsformen erfolgt das Erkennen eines Überlastungsereignisses mittels bekannter Technologie auf der Grundlage von herstellerspezifischen Implementierungen. Das Überlastungsereignis ist eine Überlastung in Datennetzwerken und Warteschlangen, die zu einer verminderten Dienstqualität führt, wenn auf einem Netzwerkknoten (z.B. Netzwerkeinheit 230) und/oder eine Verbindung (z.B. ein oder mehrere Kabel, die in Verbindung 225 dargestellt sind) mehr Daten anfallen, als er/sie verarbeiten kann. Ein Überlastungsereignis kann eintreten, wenn ein Schwellenwert bei einer Warteschlangenverzögerung, einem Paketverlust und/oder einem Blockieren neuer Verbindungen erreicht wird.
  • In Block 308 sind die Softwareanwendungen 404 der Netzwerkeinheit 230 so konfiguriert, dass sie ermitteln, in welchen Segmenten/Teilen des Netzwerks (d.h. SAN 200) die Überlastung erkannt wurde und/oder welche von dem Überlastungsereignis betroffen sind. Die Datenerfassung kann auf verschiedene Weise betroffene Segmente/Teile des SAN 200 erkennen, und die Überlastung kann auf der Grundlage von einer Netzwerkkennung erfolgen und/oder durch sie identifiziert werden, zum Beispiel durch eine Domain-Kennung (DID) und/oder eine Fabric-Kennung (FID), durch physische Verbindungsadresse(n) wie Anschlusskennungen, durch logische Verbindungsadresse(n) wie Kanalkennungen usw. Die überlasteten Segmente können auch durch bestimmte Server-Blades, Zonen, Vermittlungseinheiten (z.B. Netzwerkeinheiten 230) usw. identifiziert werden. In einer oder mehreren Ausführungsformen kann ein Ermitteln des überlasteten Segments mittels jeder bekannten Technologie erfolgen.
  • In Block 310 sind die Softwareanwendungen 404 der Netzwerkeinheit 230 so konfiguriert, dass sie ermitteln, ob Endpunkteinheiten 210, 220 vorhanden sind, die für ein Empfangen von Benachrichtigungen für zugehörige identifizierte Netzwerkkennungen und/oder Anschlusskennungen registriert sind, die von dem Überlastungsereignis betroffen sind, zum Beispiel bestimmte Server-Blades, Zonen, Vermittlungseinheiten (z.B. Netzwerkeinheiten 230). Zum Beispiel sind die Softwareanwendungen 404 der Netzwerkeinheit 230 so konfiguriert, dass sie die identifizierten Netzwerkkennungen und/oder Anschlusskennungen (sowie bestimmte Server-Blades, Zonen, Vermittlungseinheiten (z.B. Netzwerkeinheiten 230)) bei einem Überlastungsereignis mit den registrierten Netzwerkkennungen und/oder Anschlusskennungen (zusammen mit bestimmten registrierten Server-Blades, Zonen, Vermittlungseinheiten (z.B. Netzwerkeinheiten 230)), die von den jeweiligen Endpunkteinheiten 210, 220 registriert wurden, überprüfen/vergleichen. Wenn es keine Übereinstimmungen gibt, endet der Ablauf. Wenn Endpunkteinheiten 210, 220 vorhanden sind, die für ein Empfangen von Benachrichtigungen für die zugehörigen Netzkennungen und/oder Anschlusskennungen (bestimmte Server-Blades, Zonen, Vermittlungseinheiten (z.B. Netzwerkeinheiten 230)) registriert sind, werden in Block 312 Softwareanwendungen 404 der Netzwerkeinheit 230 so konfiguriert, dass sie Daten bündeln und Überlastungsereignis-Benachrichtigungen 450 an die Endpunkteinheiten 210, 220 senden, die (im Voraus) für ein Empfangen von Überlastungsereignis-Benachrichtigungen 450 registriert wurden.
  • In einer oder mehreren Ausführungsformen können Überlastungsereignis-Benachrichtigungen 450 und unaufgeforderte Nachrichten über eine FICON- (Fibre CONnection) Director-Steuereinheit, allgemeiner bekannt als Control Unit Port (CUP, Steuereinheit-Anschluss), gesendet werden. Die Netzwerkeinheiten 230 umfassen einen Steuereinheit-Anschluss, mit dem jede der Endpunkteinheiten 210, 220 Daten austauschen kann. Die Endpunkteinheiten 210, 220 können so konfiguriert werden, dass sie den Steuereinheit-Anschluss verwenden (z.B. bei einer band-internen Datenübertragung). Eine Steuereinheit stellt die logischen Fähigkeiten bereit, die für den Betrieb und die Steuerung einer E/A-Einheit erforderlich sind, und passt die Eigenschaften jeder Einheit so an, dass sie auf die vom Kanalteilsystem bereitgestellte Standardform der Steuerung reagieren kann. Die Datenübertragung zwischen der Steuereinheit und dem Kanalteilsystem erfolgt über einen Kanalweg. Die Steuereinheit nimmt Steuersignale von dem Kanalteilsystem entgegen, steuert den zeitlichen Ablauf der Datenübertragung über den Kanalpfad und stellt Anzeigen über den Zustand der Einheit bereit. Ein Steuereinheit-Anschluss ist eine logische Steuereinheit, die in der Netzwerkeinheit 230 enthalten ist. Die Funktion eines Steuereinheit-Anschlusses (CUP) ermöglicht es einem z/OS®-System, über Kanalprogramme Daten mit dem FICON® Director auszutauschen. Dies umfasst Kontrollfunktionen wie Blockieren und Freigeben von Anschlüssen, Leistungsüberwachung und Fehlermeldungsfunktionen. Die CUP-Einheit wird als eine spezielle Firmware-Ladung auf der Vermittlungseinheit simuliert, die es einem z/OS®-System ermöglicht, Kanalprogramme an sie auszugeben. Die CUP-Einheit ist in der E/A-Konfiguration als Vermittlungseinheit definiert und wird in z/OS® online gestellt. Die Steuereinheitsdefinition für die CUP-Einheit besteht aus einem oder mehreren an die Vermittlungseinheit angeschlossenen Kanalpfaden mit der reservierten Anschlussadresse 0xFE, die von der FICON-Architektur als Adresse des Steuereinheit-Anschlusses (CUP) definiert ist. Daher werden E/A-Anforderungen, die an diesen Zielanschluss geleitet werden, an den CUP weitergeleitet.
  • Ähnliche unaufgeforderte Nachrichten können Informationen zu Lese-Diagnoseparametern (Read Diagnostic Parameter, RDP) umfassen. Unaufgeforderte Nachrichten können dazu dienen, Daten auszutauschen, zum Beispiel über den Status oder Warnmeldungen, die nicht durch eine Anforderung erzeugt wurden. Im Allgemeinen sendet ein IBM® z/OS®-Server einen Befehl an den CUP, um Daten zu erhalten, und der CUP antwortet auf die Befehle. Hierbei handelt es sich um angeforderte Nachrichten. Bei unaufgeforderten Nachrichten handelt es sich um Nachrichten/Daten, die der CUP ohne einen Befehl an den IBM® z/OS®-Server sendet. In einer oder mehreren Ausführungsformen können in Form eines Out-of-Band-Management Überlastungsereignis-Benachrichtigungen 450 über einen SNMP-Anschluss (simple network management port) an die Endpunkteinheiten (210, 220) gesendet werden. In einer oder mehreren Ausführungsformen können die Überlastungsereignis-Benachrichtigungen 450 mittels einer Objektverwaltung eines Common Information Model (Common Information Model Object Manager (CIMOM)) an die Endpunkteinheiten 210, 220 gesendet werden. In einer oder mehreren Ausführungsformen können die Überlastungsereignis-Benachrichtigungen 450 als Extended Link Service (ELS) an die Endpunkteinheiten 210, 220 gesendet werden.
  • 5 zeigt ein Blockschaubild einer beispielhaften Nachrichtenstruktur für eine beispielhafte Überlastungsereignis-Benachrichtigung 450 gemäß einer oder mehrerer Ausführungsformen der Erfindung. In 5 umfasst die Überlastungsereignis-Benachrichtigung 450 die Benachrichtigungsart 510, die Netzwerkkennung 520 und die physische/logische Kennung 530. Die Benachrichtigungsart 510 kann eine von zwei Arten sein, nämlich Überlastungserkennung und Netzwerk störungsfrei. Wenn die Netzwerkeinheit 230 über einen bestimmten Zeitraum keine Überlastung (d.h. ein Überlastungsereignis) feststellt und/oder nach einem aufgelösten Überlastungsereignis, sind die Softwareanwendungen 404 der Netzwerkeinheit 230 so konfiguriert, dass sie eine Überlastungsereignis-Benachrichtigung 450 an ihre registrierten Endpunkteinheiten 210, 220 senden und anzeigen, dass das Netzwerk störungsfrei ist.
  • In der Überlastungsereignis-Benachrichtigung 450 identifiziert die Netzwerkkennung 520 den Ort, an dem die Überlastung auftritt. Die Netzwerkkennung 520 kann Domain-Kennungen (domain identifier, DID) als physische Kennung der physischen Vermittlungseinheit umfassen, zum Beispiel eine oder mehrere Netzwerkeinheiten 230, die eine Überlastung verursachen und/oder aufweisen. Da es sich bei einer DID um eine Kennung für eine physische Vermittlungseinheit innerhalb eines SAN handelt, bezieht sich diese DID auf eine bestimmte Netzwerkeinheit 230. Die Netzwerkkennung 520 kann auch Fabric-Kennungen (fabric identifier, FID) als logische Kennung für eine oder mehrere Vermittlungseinheiten umfassen, zum Beispiel eine oder mehrere Netzwerkeinheiten 230, die eine Überlastung verursachen und/oder aufweisen. Bei einer FID handelt es sich um eine logische Zuweisung zu jeder Fabric in einem SAN, die sich über mehrere Netzwerkeinheiten 230 erstrecken kann. In einer oder mehreren Ausführungsformen kann die Netzwerkkennung 520 auch eine Zone, einen Blade-Server und/oder eine Vermittlungseinheit auflisten, in der/dem eine Überlastung auftritt. SAN-Zoning (Unterteilung in Zonen) ist ein Verfahren zum Anordnen von Fibre-Channel-Einheiten (z.B. eine oder mehrere Netzwerkeinheiten 230 und eine oder mehrere Endpunkteinheiten 210, 220) in logischen Gruppen über die physische Konfiguration der Fabric. SAN-Zoning kann verwendet werden, um eine Segmentierung von Daten zu Sicherheitszwecken zu implementieren.
  • Bei der Überlastungsereignis-Benachrichtigung 450 umfassen die physischen/logischen Kennungen 530 spezifische Anschlusskennungen (d.h. Anschlussadressen) von Netzwerkeinheiten 230, die von einer Überlastung betroffen sind, wobei die Anschlusskennungen physische Kennungen und logische Kennungen umfassen. Anschlussadressen sind Adressen auf Anschlussebene, bei denen es sich um physische Adressen auf Netzwerkeinheiten 230 handelt, während es sich bei logischen Kennungen um logische Kennungen handelt, die Netzwerkeinheiten 230 zugehörig sind.
  • Als Reaktion auf ein Empfangen einer Überlastungsereignis-Benachrichtigung 450 von einer Netzwerkeinheit 230 kann die Überlastungsereignis-Benachrichtigung 450 als Auslöser dienen, der eine Client-Anwendung 422 auf einer Endpunkteinheit 210, 220 veranlasst, Daten auf der zugehörigen Verbindung 225 zu reduzieren, die in Bezug auf die Netzwerkkennung 520 und/oder physische Kennung/logische Kennung 530 identifiziert wurde. Als Reaktion auf ein Empfangen einer Überlastungsereignis-Benachrichtigung 450 von einer Netzwerkeinheit 230 kann die Überlastungsereignis-Benachrichtigung 450 auch als Auslöser dienen, der eine Client-Anwendung 422 veranlasst, nach einer anderen Netzwerkeinheit 230 zu suchen und sich mit dieser zu verbinden, die keine Überlastungsereignis-Benachrichtigung 450 gesendet hat, um mehr Daten (Verkehr) an eine zuvor verbundene Netzwerkeinheit 230 zu senden, die keine Überlastungsereignis-Benachrichtigung 450 gesendet hat, während Daten auf der Netzwerkeinheit 230, die eine Überlastungsereignis-Benachrichtigung 450 gesendet hat, reduziert werden, usw. Als Reaktion auf ein Empfangen einer Überlastungsereignis-Benachrichtigung 450 von einer Netzwerkeinheit 230 kann die Überlastungsereignis-Benachrichtigung 450 als Auslöser dienen, der eine Client-Anwendung 422 auf einer Endpunkteinheit 210, 220 dazu veranlasst, alle Daten, die der betroffenen Netzwerkkennung 520 und/oder der physischen Kennung/logischen Kennung 530 zugehörig sind, zu unterbrechen/zu stoppen, bis eine Überlastungsereignis-Benachrichtigung 450 von der Netzwerkeinheit 230 gesendet wird, die Störungsfreiheit signalisiert.
  • 6 zeigt einen Ablaufplan eines auf einem Computer implementierten Verfahrens 600 für ein Bereitstellen einer Endpunktbenachrichtigung über eine Überlastung eines Speichernetzwerks (storage area network, SAN) gemäß einer oder mehrerer Ausführungsformen der Erfindung. Das auf einem Computer implementierte Verfahren 600 in 6 kann im SAN 200 mittels einer oder mehrerer Netzwerkeinheiten 230, wie in 2 dargestellt, zusammen mit Computersystem 100 und/oder Elementen des Computersystems 100 in 1 implementiert werden. In Block 602 sind die Softwareanwendungen 404 der Netzwerkeinheit 230 so konfiguriert, dass sie eine oder mehrere Endpunkteinheiten (z.B. eine oder mehrere Endpunkteinheiten 210 und/oder eine oder mehrere Endpunkteinheiten 220) für ein Empfangen einer Überlastungsereignis-Benachrichtigung 450 registrieren. In Block 604 sind die Softwareanwendungen 404 der Netzwerkeinheit 230 so konfiguriert, dass sie ein Überlastungsereignis in Bezug auf ein Speichernetzwerk 200 erkennen, wobei das Speichernetzwerk 200 die eine oder mehrere Endpunkteinheiten 210, 220 aufweist. In Block 606 sind die Softwareanwendungen 404 der Netzwerkeinheiten 230 so konfiguriert, dass sie eine Benachrichtigung 450 über das Überlastungsereignis an die eine oder mehrere Endpunkteinheiten 210, 220 senden, die für ein Empfangen der Benachrichtigung 450 registriert sind.
  • Eine Netzwerkeinheit 230 ist so konfiguriert, dass sie in einer Datenbank (z.B. der Endpunkteinheiten-Registrierungsdatenbank 408) eine Auflistung der einen oder mehreren Endpunkteinheiten 210, 220 speichert, die für die Benachrichtigung 450 registriert wurden. Eine Netzwerkeinheit 230 ist so konfiguriert, dass sie eine Anforderung (z.B. Registrierungsanforderung 402) zur Benachrichtigung von der einen oder mehreren Endpunkteinheiten 210, 220 empfängt, wobei die Anforderung eine oder mehrere Netzwerkkennungen von Einheiten (z.B. Netzwerkeinheiten 230, Endpunkteinheiten 210, Endpunkteinheiten 220) im Speichernetzwerk 200 aufweist. Die Netzwerkeinheit 220 ist so konfiguriert, dass sie auf ein Empfangen der Anfrage reagiert und in einer Datenbank (z.B. der Endpunkteinheiten-Registrierungsdatenbank 408) die eine oder mehrere Netzwerkkennungen speichert.
  • Eine Netzwerkeinheit 230 ist so konfiguriert, dass sie eine Anforderung (z.B. Registrierungsanforderung 402) zur Benachrichtigung von der einen oder mehreren Endpunkteinheiten 210, 220 empfängt, wobei die Anforderung eine oder mehrere Anschlusskennungen von Einheiten (z.B. Netzwerkeinheiten 230, Endpunkteinheiten 210, Endpunkteinheiten 220) in dem Speichernetzwerk 200 aufweist; die Netzwerkeinheit 230 ist so konfiguriert, dass sie auf ein Empfangen der Anforderung reagiert und die eine oder mehrere Anschlusskennungen in einer Datenbank (z.B. Endpunkteinheiten-Registrierungsdatenbank 408) speichert. Die eine oder mehrere Endpunkteinheiten 210, 220 wurden bei einer Netzwerkeinheit 230 registriert, um den Steuereinheit-Anschluss (CUP) zu nutzen. Die Netzwerkeinheit 230 ist so konfiguriert, dass sie einer oder mehreren Endpunkteinheiten 210, 220 die Zulassung erteilt, den Steuereinheit-Anschluss zu nutzen und als Steuereinheit zu fungieren, um Daten direkt mit der Netzwerkeinheit 230 auszutauschen. Die Benachrichtigung 450 ist so konfiguriert, dass sie mittels einer Objektverwaltung eines Common Information Model (Common Information Model Object Manager, CIMOM) gesendet wird.
  • Es sei von vornherein klargestellt, dass das Umsetzen der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist, obwohl diese Offenbarung eine ausführliche Beschreibung von Cloud-Computing umfasst. Stattdessen können Ausführungsformen der vorliegenden Erfindung gemeinsam mit jeder beliebigen Art von jetzt bekannter oder später erfundener Datenverarbeitungsumgebung umgesetzt werden.
  • Cloud-Computing ist ein Servicebereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Hauptspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste), die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Service schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften umfassen, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle.
  • Bei den Eigenschaften handelt es sich um die Folgenden:
    • On-Demand Self-Service: Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf für Datenverarbeitungsfunktionen wie Serverzeit und Netzwerkspeicher sorgen, ohne dass eine menschliche Interaktion mit dem Anbieter der Dienste erforderlich ist.
  • Broad Network Access: Es sind Funktionen über ein Netzwerk verfügbar, auf die durch Standardmechanismen zugegriffen wird, welche die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Laptops und PDAs) unterstützen.
  • Resource-Pooling: Die Datenverarbeitungsressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-Modells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum).
  • Rapid Elasticity: Funktionen können für eine schnelle horizontale Skalierung (scale out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Funktionen häufig unbegrenzt und sie können jederzeit in jeder beliebigen Menge gekauft werden.
  • Measured Service: Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Die Nutzung von Ressourcen kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz geschaffen wird.
  • Bei den Dienstmodellen handelt es sich um die Folgenden:
    • Software as a Service (SaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Die Anwendungen sind über eine Thin-Client-Schnittstelle wie einen Web-Browser (z.B. auf dem Web beruhende E-Mail) von verschiedenen Client-Einheiten her zugänglich. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, Server, Betriebssysteme, Speicher bzw. sogar einzelne Anwendungsfunktionen, mit der möglichen Ausnahme von eingeschränkten benutzerspezifischen Anwendungskonfigurationseinstellungen.
  • Platform as a Service (PaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, durch einen Nutzer erstellte bzw. erhaltene Anwendungen, die unter Verwendung von durch den Anbieter unterstützten Programmiersprachen und Tools erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme bzw. Speicher, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen der Application Hosting Environment.
  • Infrastructure as a Service (laaS): Die dem Nutzer bereitgestellte Funktion besteht darin, das Verarbeiten, Speicher, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
  • Bei den Einsatzmodellen handelt es sich um die Folgenden:
    • Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
  • Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Angelegenheiten hat (z.B. Mission, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann in den eigenen Räumen oder fremden Räumen stehen.
  • Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und sie gehört einer Cloud-Dienste verkaufenden Organisation.
  • Hybrid Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Einheiten bleiben, aber durch eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert mit Fokus auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Herzen von Cloud-Computing liegt eine Infrastruktur, die ein Netzwerk aus zusammengeschalteten Knoten aufweist.
  • Unter Bezugnahme auf 8 ist die veranschaulichende Cloud-Computing-Umgebung 50 abgebildet. Wie gezeigt ist, weist die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 10 auf, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie der elektronische Assistent (PDA, personal digital assistant) oder das Mobiltelefon 54A, der Desktop-Computer 54B, der Laptop-Computer 54C und/oder das Automobil-Computer-System 54N Daten austauschen können. Die Knoten 10 können miteinander Daten austauschen. Sie können physisch oder virtuell in ein oder mehrere Netzwerke wie private, Benutzergemeinschafts-, öffentliche oder hybride Clouds gruppiert werden (nicht gezeigt), wie vorstehend beschrieben wurde, oder in eine Kombination daraus. Dies ermöglicht es der Cloud-Computing-Umgebung 50, Infrastruktur, Plattformen und/oder Software als Dienst anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sei darauf hingewiesen, dass die Arten von in 8 gezeigten Datenverarbeitungseinheiten 54A bis N lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 10 und die Cloud-Computing-Umgebung 50 über eine beliebige Art Netzwerk und/oder über eine beliebige Art von über ein Netzwerk aufrufbarer Verbindung (z.B. unter Verwendung eines Web-Browsers) mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
  • Unter Bezugnahme auf 9 wird ein Satz von funktionalen Abstraktionsschichten gezeigt, die durch die Cloud-Computing-Umgebung 50 (8) bereitgestellt werden. Es sollte von vornherein klar sein, dass die in 9 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie abgebildet ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Eine Hardware- und Software-Schicht 60 umfasst Hardware- und SoftwareKomponenten. Zu Beispielen für Hardware-Komponenten gehören: Mainframe-Computer 61; auf der RISC- (Reduced Instruction Set Computer) Architektur beruhende Server 62; Server 63; Blade-Server 64; Speichereinheiten 65; und Netzwerke sowie Netzwerkkomponenten 66. In einigen Ausführungsformen umfassen SoftwareKomponenten eine Netzwerk-Anwendungsserver-Software 67 und eine Datenbank-Software 68.
  • Die Virtualisierungsschicht 70 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server 71; virtueller Speicher 72; virtuelle Netzwerke 73, darunter virtuelle private Netzwerke, virtuelle Anwendungen und Betriebssysteme 74; und virtuelle Clients 75.
  • In einem Beispiel kann die Verwaltungsschicht 80 die nachfolgend beschriebenen Funktionen bereitstellen. Eine Ressourcen-Bereitstellung 81 stellt die dynamische Beschaffung von Datenverarbeitungsressourcen sowie anderen Ressourcen bereit, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Ein Messen und eine Preisfindung 82 stellen die Kostenverfolgung beim Verwenden von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie die Abrechnung oder Rechnungsstellung für die Inanspruchnahme dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungs-Software-Lizenzen aufweisen. Die Sicherheit stellt die Identitätsüberprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 83 stellt Nutzern und Systemadministratoren den Zugang zu der Cloud-Computing-Umgebung bereit. Eine Verwaltung des Dienstumfangs 84 stellt die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass die benötigten Dienstziele erreicht werden. Ein Planen und Erfüllen von Vereinbarungen zum Dienstumfang (SLA, Service Level Agreement) 85 stellt die Anordnung vorab und die Beschaffung von Cloud-Computing-Ressourcen, für die eine zukünftige Anforderung vorausgesehen wird, gemäß einem SLA bereit.
  • Eine Arbeitslastschicht 90 stellt Beispiele für die Funktionalität bereit, für welche die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, gehören: Abbildung und Navigation 91; Software-Entwicklung und Lebenszyklusverwaltung 92; Bereitstellung von Ausbildung in virtuellen Klassenzimmern 93; Datenanalytikverarbeitung 94; Transaktionsverarbeitung 95; und Softwareanwendungen (z.B. Softwareanwendungen 404, Clientanwendungen 422 usw.), die in den Arbeitslasten und Funktionen 96 implementiert sind. Auch können Softwareanwendungen mit der Ressourcenbereitstellung 81 zusammenwirken und/oder in diese integriert sein.
  • Verschiedene Ausführungsformen der Erfindung werden hier unter Bezugnahme auf die zugehörigen Zeichnungen beschrieben. Alternative Ausführungsformen der Erfindung können entwickelt werden, ohne von dem Umfang dieser Erfindung abzuweichen. In der folgenden Beschreibung und in den Zeichnungen werden verschiedene Verbindungen und Positionsbeziehungen (z.B. über, unter, neben usw.) zwischen Elementen aufgezeigt. Diese Verbindungen und/oder Positionsbeziehungen können direkt oder indirekt sein, wenn nicht anders angegeben, und die vorliegende Erfindung soll in dieser Hinsicht nicht einschränkend wirken. Entsprechend kann sich eine Verknüpfung von Einrichtungen entweder auf eine direkte oder eine indirekte Verknüpfung beziehen, und eine Positionsbeziehung zwischen Einrichtungen kann eine direkte oder indirekte Positionsbeziehung sein. Darüber hinaus können die verschiedenen hier beschriebenen Aufgaben und Prozessschritte in einen umfassenderen Vorgang oder einen Prozess mit zusätzlichen, hier nicht im Detail beschriebenen Schritten oder Funktionen integriert werden.
  • Eines oder mehrere der hier beschriebenen Verfahren können mit einer beliebigen oder einer Kombination der folgenden Technologien implementiert werden, die jeweils in der Technik gut bekannt sind: diskrete Logikschaltung(en) mit Logikgattern zur Implementierung von Logikfunktionen auf Datensignalen, eine anwendungsspezifische integrierte Schaltung (ASIC) mit geeigneten kombinatorischen Logikgattern, eine programmierbares Gatter-Anordnung (PGA), eine vor Ort programmierbare Gatter-Anordnung (FPGA) usw.
  • Der Kürze halber können herkömmliche Techniken im Zusammenhang mit der Erstellung und Anwendung von Aspekten der Erfindung hier gegebenenfalls im Detail beschrieben werden. Insbesondere sind verschiedene Aspekte von Computersystemen und spezifischen Computerprogrammen zum Implementieren der verschiedenen hier beschriebenen technischen Merkmale weithin bekannt. Dementsprechend werden der Kürze halber viele herkömmliche Implementierungsdetails hier nur kurz erwähnt oder ganz weggelassen, ohne die bekannten System- und/oder Prozessdetails bereitzustellen.
  • In einigen Ausführungsformen können verschiedene Funktionen oder Aktionen an einem bestimmten Ort und/oder im Zusammenhang mit dem Betrieb einer oder mehrerer Vorrichtungen oder Systeme stattfinden. In einigen Ausführungsformen kann ein Teil einer bestimmten Funktion oder Aktion an einer ersten Einheit oder einem ersten Ort ausgeführt werden, und der Rest der Funktion oder Aktion kann an einer oder mehreren zusätzlichen Einheiten oder Orten ausgeführt werden.
  • Die hierin verwendete Terminologie dient lediglich der Beschreibung bestimmter Ausführungsformen und soll nicht einschränkend sein. Wie hierin verwendet, sollen die Singularformen „ein“, „eine“, „eines“ und „der“, „die“, „das“ auch die Pluralformen umfassen, wenn aus dem Kontext nicht eindeutig etwas anderes hervorgeht. Es wird ferner darauf hingewiesen, dass die Begriffe „aufweist“ und/oder „aufweisen“, wenn sie in dieser Spezifikation verwendet werden, das Vorhandensein von angegebenen Funktionen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten spezifizieren, aber nicht das Vorhandensein oder Hinzufügen von einer/einem oder mehreren anderen Funktionen, ganzen Zahlen, Schritten, Operationen, Elementkomponenten und/oder Gruppen davon ausschließen.
  • Die jeweiligen Strukturen, Materialien, Handlungen und Entsprechungen aller Mittel oder Schritte sowie Funktionselemente in den nachfolgenden Ansprüchen sollen jede Struktur, jedes Material oder jede Handlung zum Ausführen der Funktion in Kombination mit anderen beanspruchten Elementen umfassen, wie ausdrücklich beansprucht. Die vorliegende Offenbarung wurde zur Veranschaulichung und Beschreibung vorgelegt, soll aber weder erschöpfend noch auf die offenbarte Form beschränkt sein. Für den Fachmann sind viele Modifikationen und Variationen erkennbar, ohne vom Umfang und Sinngehalt der Offenbarung abzuweichen. Die Ausführungsform wurden ausgewählt und beschrieben, um die Grundgedanken der Offenbarung und der praktischen Anwendung auf bestmögliche Weise zu erläutern und um anderen Fachleuten ein Verständnis der Offenbarung für verschiedene Ausführungsformen mit verschiedenen Modifikationen zu ermöglichen, wie sie für die jeweils in Betracht gezogene Verwendung geeignet sind.
  • Die hier gezeigten Zeichnungen sind veranschaulichend. Es kann viele Variationen zu der Zeichnung oder den darin beschriebenen Schritten (oder Operationen) geben, ohne dass dies vom Sinngehalt der Offenbarung abweicht. So können beispielsweise die Aktionen in einer anderen Reihenfolge ausgeführt oder Aktionen hinzugefügt, gelöscht oder modifiziert werden. Der Begriff „verbunden“ beschreibt einen Signalweg zwischen zwei Elementen und impliziert nicht eine direkte Verbindung zwischen den Elementen ohne dazwischenliegende Elemente/Verbindungen. Alle diese Variationen werden als Teil der vorliegenden Offenbarung betrachtet.
  • Die folgenden Definitionen und Abkürzungen sind für die Interpretation der Ansprüche und der Spezifikation zu verwenden. Die hier verwendeten Begriffe „aufweist“, „aufweisen“,“ „umfasst“, „umfassen,“„hat,“„haben“,„enthält“ oder „enthalten,“ oder jede andere Variante davon dienen dazu, eine nicht ausschließliche Einbeziehung zu erfassen. Beispielsweise ist eine Zusammensetzung, eine Mischung, ein Prozess, ein Verfahren, ein Gegenstand oder eine Vorrichtung, die eine Liste von Elementen aufweist, nicht zwangsläufig auf diese Elemente beschränkt, sondern kann auch andere Elemente umfassen, die nicht ausdrücklich aufgeführt sind oder zu solch einer Zusammensetzung, einer Mischung, einem Verfahren, einem Gegenstand oder einer Vorrichtung gehören.
  • Darüber hinaus bedeutet der Begriff „beispielhaft“ hier „als Beispiel, Instanz oder Darstellung dienen“. Jede hier als „beispielhaft“ beschriebene Ausführungsform oder Gestaltung ist nicht zwangsläufig als bevorzugt oder vorteilhaft gegenüber anderen Ausführungsformen oder Gestaltungen auszulegen. Die Begriffe „mindestens eins“ und „eins oder mehrere“ sind so zu verstehen, dass sie jede ganze Zahl größer oder gleich eins umfassen, d.h. eins, zwei, drei, vier usw. Der Begriff „eine Mehrzahl“ ist so zu verstehen, dass er jede ganze Zahl größer oder gleich zwei umfasst, d.h. zwei, drei, vier, fünf usw. Der Begriff „Verbindung“ kann sowohl eine indirekte „Verbindung“ als auch eine direkte „Verbindung“ umfassen.
  • Die Begriffe „ungefähr“, „im Wesentlichen“, „annähernd“ und Variationen davon dienen dazu, den Fehlergrad zu umfassen, der mit der Messung einer bestimmten Menge auf der Grundlage der zum Zeitpunkt des Einreichens der Anmeldung verfügbaren Ausrüstung einhergeht. Beispielsweise kann „ungefähr“ einen Bereich von ± 8 % oder 5 % oder 2 % eines bestimmten Wertes umfassen.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen technischen Detailstufe der Integration handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) umfassen, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. ein Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs/Verarbeitungs-Einheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs/Verarbeitungs-Einheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs/Verarbeitungs-Einheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten, Konfigurationsdaten für integrierte Schaltungen oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbare Programmanweisung ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Flussdiagramm-Darstellungen und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Flussdiagramm-Darstellungen und/oder den Blockschaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken des Flussdiagramms und/oder des Blockschaubilds festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in den Blöcken angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zur Veranschaulichung vorgelegt, sollen aber weder erschöpfend noch auf die offenbarten Ausführungsformen beschränkt sein. Für den Fachmann sind viele Modifikationen und Variationen erkennbar, ohne vom Umfang und Sinngehalt der beschriebenen Ausführungsformen abzuweichen. Die hier verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder die technische Verbesserung gegenüber den auf dem Markt befindlichen Technologien bestmöglich zu erklären oder um es dem Fachmann zu ermöglichen, die hier beschriebenen Ausführungsformen zu verstehen.

Claims (9)

  1. Auf einem Computer implementiertes Verfahren, das aufweist: Registrieren einer oder mehrerer Endpunkteinheiten zum Empfangen einer Benachrichtigung; Erkennen eines Überlastungsereignisses in Bezug auf ein Speichernetzwerk, wobei das Speichernetzwerk die eine oder mehrere Endpunkteinheiten aufweist; und Senden der Benachrichtigung über das Überlastungsereignis an die eine oder mehrere Endpunkteinheiten, die für die Benachrichtigung registriert wurden.
  2. Auf einem Computer implementiertes Verfahren nach Anspruch 1, wobei eine Netzwerkeinheit so konfiguriert ist, dass sie in einer Datenbank eine Auflistung der einen oder mehreren Endpunkteinheiten speichert, die für die Benachrichtigung registriert wurden.
  3. Auf einem Computer implementiertes Verfahren nach Anspruch 1, das ferner aufweist: Empfangen einer Anforderung zur Benachrichtigung von der einen oder mehreren Endpunkteinheiten durch eine Netzwerkeinheit, wobei die Anforderung eine oder mehrere Netzwerkkennungen von Einheiten in dem Speichernetzwerk aufweist; und als Reaktion auf das Empfangen der Anforderung Speichern der einen oder mehreren Netzwerkkennungen durch die Netzwerkeinheit in einer Datenbank.
  4. Auf einem Computer implementiertes Verfahren nach Anspruch 1, das ferner aufweist: Empfangen einer Anforderung zur Benachrichtigung von der einen oder mehreren Endpunkteinheiten durch eine Netzwerkeinheit, wobei die Anforderung eine oder mehrere Anschlusskennungen von Einheiten in dem Speichernetzwerk aufweist; und als Reaktion auf das Empfangen der Anforderung Speichern der einen oder mehreren Anschlusskennungen durch die Netzwerkeinheit in einer Datenbank.
  5. Auf einem Computer implementiertes Verfahren nach Anspruch 1, wobei eine Netzwerkeinheit so konfiguriert ist, dass sie die eine oder mehrere Endpunkteinheiten zum Verwenden eines Steuereinheit-Anschlusses registriert.
  6. Auf einem Computer implementiertes Verfahren nach Anspruch 5, wobei die Netzwerkeinheit so konfiguriert ist, dass sie der einen oder mehreren Endpunkteinheiten die Zulassung erteilt, den Steuereinheit-Anschluss zu nutzen.
  7. Auf einem Computer implementiertes Verfahren nach Anspruch 1, wobei die Benachrichtigung so konfiguriert ist, dass sie mittels einer Objektverwaltung eines Common Information Model (Common Information Model Object Manager (CIMOM)) gesendet wird.
  8. System, das aufweist: einen Hauptspeicher mit durch einen Computer lesbaren Befehlen; und einen oder mehrere Prozessoren zum Ausführen der durch einen Computer lesbaren Befehle, wobei die durch einen Computer lesbaren Befehle den einen oder die mehreren Prozessoren steuern, um das Verfahren gemäß einem der Ansprüche 1 bis 7 durchzuführen.
  9. Computerprogrammprodukt, das ein durch einen Computer lesbares Speichermedium mit darin verkörperten Programmanweisungen aufweist, wobei die Programmanweisungen durch einen Prozessor ausführbar sind, um den Prozessor zu veranlassen, das Verfahren gemäß einem der Ansprüche 1 bis 7 durchzuführen.
DE102021129513.0A 2020-12-01 2021-11-12 Endpunktbenachrichtigung über eine überlastung eines speichernetzwerks Pending DE102021129513A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/108,088 2020-12-01
US17/108,088 US11683273B2 (en) 2020-12-01 2020-12-01 Endpoint notification of storage area network congestion

Publications (1)

Publication Number Publication Date
DE102021129513A1 true DE102021129513A1 (de) 2022-06-02

Family

ID=79163608

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021129513.0A Pending DE102021129513A1 (de) 2020-12-01 2021-11-12 Endpunktbenachrichtigung über eine überlastung eines speichernetzwerks

Country Status (5)

Country Link
US (1) US11683273B2 (de)
JP (1) JP2022087808A (de)
CN (1) CN114584515A (de)
DE (1) DE102021129513A1 (de)
GB (1) GB2601905B (de)

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7222173B2 (en) * 2003-02-10 2007-05-22 International Business Machines Corporation Limited knowledge of configuration information of a FICON controller
US7441154B2 (en) * 2003-09-12 2008-10-21 Finisar Corporation Network analysis tool
JP2005217815A (ja) * 2004-01-30 2005-08-11 Hitachi Ltd パス制御方法
US7633881B2 (en) * 2005-01-31 2009-12-15 Emulex Design & Manufacturing Corporation Buffering registered state change notifications to reduce traffic during large fabric changes
US7764675B2 (en) 2006-05-30 2010-07-27 Intel Corporation Peer-to-peer connection between switch fabric endpoint nodes
US7890622B2 (en) * 2007-04-03 2011-02-15 International Business Machines Corporation Real-time notification of device events
CN102035862B (zh) 2009-09-30 2013-11-06 国际商业机器公司 Svc集群中配置节点的故障移交方法和系统
JP5413238B2 (ja) * 2010-02-24 2014-02-12 富士通株式会社 ルータ、管理装置およびルーティング制御プログラム
US9154394B2 (en) * 2010-09-28 2015-10-06 Brocade Communications Systems, Inc. Dynamic latency-based rerouting
US8625597B2 (en) * 2011-01-07 2014-01-07 Jeda Networks, Inc. Methods, systems and apparatus for the interconnection of fibre channel over ethernet devices
US9229645B2 (en) * 2012-02-10 2016-01-05 Hitachi, Ltd. Storage management method and storage system in virtual volume having data arranged astride storage devices
US9112804B2 (en) 2012-05-31 2015-08-18 International Business Machines Corporation Network congestion notification preservation and modification during transmission of network data between physical network and virtual network
US10397073B2 (en) * 2013-03-15 2019-08-27 Cisco Technology, Inc. Supporting programmability for arbitrary events in a software defined networking environment
US9674042B2 (en) 2013-11-25 2017-06-06 Amazon Technologies, Inc. Centralized resource usage visualization service for large-scale network topologies
US9621471B2 (en) * 2014-06-30 2017-04-11 Vmware, Inc. Framework for early congestion notification and recovery in a virtualized environment
US10061734B2 (en) * 2015-05-20 2018-08-28 International Business Machines Corporation Adjustment of buffer credits and other parameters in a startup phase of communications between a plurality of channels and a control unit
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10917324B2 (en) 2016-09-28 2021-02-09 Amazon Technologies, Inc. Network health data aggregation service
US10193810B2 (en) 2016-11-08 2019-01-29 Vmware, Inc. Congestion-aware load balancing
US11349761B2 (en) * 2019-03-08 2022-05-31 Hewlett Packard Enterprise Development Lp Cost effective congestion isolation for lossless ethernet
US20200280518A1 (en) 2020-01-28 2020-09-03 Intel Corporation Congestion management techniques

Also Published As

Publication number Publication date
GB2601905A (en) 2022-06-15
GB202116492D0 (en) 2021-12-29
GB2601905B (en) 2022-12-07
US20220174021A1 (en) 2022-06-02
US11683273B2 (en) 2023-06-20
CN114584515A (zh) 2022-06-03
JP2022087808A (ja) 2022-06-13

Similar Documents

Publication Publication Date Title
DE112016006080B4 (de) Verwaltung von virtuellen desktopinstanzenpools
DE60010277T2 (de) Erweiterbares rechnersystem
DE112018004349T5 (de) Dynamische auswahl von bereitstellungskonfigurationen von softwareanwendungen
DE112019001481T5 (de) Selektives bereitstellen gegenseitiger transportschichtsicherheit mittels alternativer servernamen
DE112017000337T5 (de) Spezifizieren eines disaggregierten Datenverarbeitungssystems
DE112013003225T5 (de) Sicherer Zugriff auf gemeinsam genutzte Speicher-Ressourcen
DE112016001657T5 (de) Multi-Tenant-Sensitiver DHCP-Mechanismus für Cloud-Netzwerke
DE112019000421B4 (de) Arbeitslastverwaltung mit datenzugriffserkennung in einem datenverarbeitungscluster
DE102013204508A1 (de) Dynamisches Neukonfigurieren eines Speichersystems
DE102013204186A1 (de) Ermitteln von Prioritäten für zwischengespeicherte Objekte zum Ordnen des Übertragens von Änderungen an zwischengespeicherten Objekten beruhend auf gemessener Netzwerkbandbreite
DE112020004699T5 (de) Schützen von arbeitslasten in kubernetes
DE112018005898T5 (de) Dynamische bereitstellung von software-funktionen
DE112021001408T5 (de) Verwendung kohärent verbundener schnittstellen in einem netzwerkstapelrahmen
DE112021003401T5 (de) Schattenexperimente für serverlose multi-tenant-cloud-dienste
DE112021002487T5 (de) Teilen einer geografisch konzentrierten arbeitslast zwischen benachbarten mec-hosts mehrerer netzbetreiber
DE102021125182A1 (de) Gemeinsam genutzte unternehmenscloud
DE102020104871A1 (de) High performance compute-infrastruktur als service
DE112021005636T5 (de) Migrieren von komplexen legacy-anwendungen
DE112022002736T5 (de) Übertragen von aufgabendaten zwischen edge-einheiten beim edge computing
DE112017005022T5 (de) Umladen der Bandverarbeitung auf Objektspeicher
DE112020004522T5 (de) Erhöhen der leistungsfähigkeit von frame-übergreifenden live-aktualisierungen
DE112018004415B4 (de) Optimierung von cloud-ressourcen bei operationen in mehrstufigem speicher auf richtliniengrundlage
DE102021130942A1 (de) Mehrstufiger schutz für datenzentrierte objekte
DE112021005881T5 (de) Inline datenpakettransformationen
DE112019002052T5 (de) Datenschutzsensibilisierung bei der bereitstellung von arbeitslasten

Legal Events

Date Code Title Description
R012 Request for examination validly filed