DE102013209306A1 - Bereitstellen von Echtzeit-Interrupts über Ethernet - Google Patents

Bereitstellen von Echtzeit-Interrupts über Ethernet Download PDF

Info

Publication number
DE102013209306A1
DE102013209306A1 DE102013209306A DE102013209306A DE102013209306A1 DE 102013209306 A1 DE102013209306 A1 DE 102013209306A1 DE 102013209306 A DE102013209306 A DE 102013209306A DE 102013209306 A DE102013209306 A DE 102013209306A DE 102013209306 A1 DE102013209306 A1 DE 102013209306A1
Authority
DE
Germany
Prior art keywords
local
dfp
events
processor
computer readable
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
DE102013209306A
Other languages
English (en)
Inventor
Alexander P. Campbell
Keshav G. Kamble
Vijoy A. Pandey
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 DE102013209306A1 publication Critical patent/DE102013209306A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

Bei einer Ausführungsform enthält ein Verfahren Senden einer Anforderung an ein oder mehrere Distributed-Fabric-Protocol-(DFP-)Systemelemente, um ein oder mehrere Ereignisse von dem einen oder den mehreren DFP-Systemelementen abzurufen, wobei das eine oder die mehreren Ereignisse als in einem oder mehreren Paketen verkapselte Daten empfangen werden, Empfangen von einer oder mehreren Bestätigungen der Anforderung von dem einem oder den mehreren DFP-Systemelementen an einem lokalen Netz-Switch des DFP-Systemmaster, bei Empfang des zumindest einen Pakets: Entschlüsseln des zumindest einen Pakets unter Verwendung eines zweckbestimmten Prozessors des DFP-Systemmaster, um Details zu dem einen oder den mehreren Ereignissen abzurufen, Erstellen und Senden eines Message Signaled Interrupt (MSI), der die Details zu dem einen oder den mehreren Ereignissen aufweist, an einen lokalen Prozessor des DFP-Systemmaster unter Verwendung des zweckbestimmten Prozessors und Lesen des MSI unter Verwendung des lokalen Prozessors des DFP-Systemmaster.

Description

  • HINTERGRUND
  • Die vorliegende Erfindung bezieht sich auf Ethernet-Switches und Vermittlung, und mehr im Detail bezieht sich diese Erfindung auf horizontal skalierte verteilte Hochgeschwindigkeitssysteme unter Verwendung von Ethernet-Switches.
  • Bei horizontal skalierten Cell-Based DistributedFabric Protocol(cDFP)- und/oder Ethernet Based Distributed-Fabric-Protocol-(eDFP-)Systemen, die sich für Hochgeschwindigkeits-Ethernet (Geschwindigkeiten von mehr als 40 GBit/Ethernet) eignen, entstehen Situationen, in denen mehrere Echtzeit-Ereignisse auf einem oder mehreren einzelnen Systemelementen auftreten können, bei denen es nützlich oder erforderlich wäre, einen Systemmaster über das Auftreten dieser Ereignisse in Echtzeit zu informieren. Solche Ereignisse können darüber hinaus eine Echtzeit-Antwort von einem lokalen Prozessor des einzelnen Elements sowie vom Systemmasterprozessor erfordern. Zu Ereignissen, die mit Echtzeit-Berichterstattung in Zusammenhang stehen, können beispielsweise die folgenden gehören, ohne jedoch auf diese beschränkt zu sein: 1) eine Änderung im Link-State eines lokalen Netzanschlusses; 2) ein Einsetzen eines Transceiver in einen lokalen Netzanschluss oder Entfernen aus diesem, 3) eine Änderung eines Temperatur- oder Umgebungsparameters eines lokalen Systems, 4) ein Ausfall, ein Einsetzen oder Entfernen eines Lüftereinsatzes eines lokalen Systems, 5) ein Ausfall, ein Einsetzen oder ein Entfernen eines Netzteils eines lokalen Systems, 6) eine Fehlermeldung zu einer Hauptkomponente eines lokalen Systems, 7) eine Meldung über eine Überlastung von einem oder mehreren Mechanismen eines lokalen Systems, und 8) eine Meldung über eine topologische Änderung eines lokalen Systems. Natürlich kann in diese Liste auch jedes andere Ereignis aufgenommen werden, das eine Echtzeit-Antwort von einem horizontal skalierten Systemmasterprozessor anfordert oder erfordert.
  • Bei herkömmlichen verteilten Systemen oder Clusters gibt es keine Möglichkeit, Echtzeit-Interrupts über Ethernet zwischen einzelnen Elementen und dem Systemmaster bereitzustellen. Demgemäß müssen die Ereignisse, die eine Echtzeit-Berichterstattung an den Systemmaster erfordern, durch ein anderes Übertragungsprotokoll geleitet werden, wodurch die Komplexität der Systeminfrastruktur und der bei der Systemwartung verwendeten Logik erhöht wird.
  • KURZDARSTELLUNG
  • Bei einer Ausführungsform weist ein System einen lokalen Prozessor, einen Peripheral-Component-Interconnect-Express(PCIe-)Switch, der elektrisch mit dem lokalen Prozessor verbunden ist, eine oder mehrere Quellen lokaler Interrupts, die so ausgelegt sind, dass sie eine oder mehrere lokale Interrupts erstellen, die Ausnahmen des normalen Betriebs anzeigen, einen zweckbestimmten Prozessor (dedicated prozessor), der elektrisch mit der einen oder den mehreren Quellen lokaler Interrupts und dem PCIe-Switch verbunden ist, und einen lokalen Netz-Switch auf, der elektrisch mit dem zweckbestimmten Prozessor und dem PCIe-Switch verbunden ist, wobei der zweckbestimmte Prozessor so ausgelegt ist, dass er den einen oder die mehreren lokalen Interrupts verpackt und die verpackten Interrupts an den lokalen Netz-Switch sendet.
  • Bei einer weiteren Ausführungsform enthält ein Computerprogrammprodukt zum Bearbeiten von lokalen Interrupts ein computerlesbares Speichermedium, das einen computerlesbaren Programmcode aufweist, wobei der computerlesbare Programmcode beinhaltet: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Anforderung an einem DFP-Systemelement zum Leiten zumindest eines Interrupt-Typs an einen DFP-Systemmaster empfängt, einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Bestätigung der Anforderung zurück an den DFP-Systemmaster sendet, einen computerlesbaren Programmcode, der so konfiguriert ist, dass er einen oder mehrere lokale Interrupts ermöglicht, die dem zumindest einen zu vernetzenden Interrupt-Typ entsprechen, bei Auftreten des einen oder der mehreren lokalen Interrupts: einen computerlesbarem Programmcode, der so konfiguriert ist, dass er einen Message Signaled Interrupt (MSI) erstellt und an einen lokalen Prozessor des DFP-Systemelements sendet, einen computerlesbaren Programmcode, der so konfiguriert ist, dass er zumindest ein Paket erstellt, in dem Details zu dem einen oder den mehreren lokalen Interrupts verkapselt sind, und einen computerlesbaren Programmcode, der so konfiguriert ist, dass er das zumindest eine Paket über einen lokalen Netz-Switch des DFP-Systemelements an zumindest eine registrierte Media-Access-Control(MAC-)Adresse sendet, um es zumindest an den DFP-Systemmaster zu vermitteln.
  • Bei einer noch weiteren Ausführungsform enthält ein Computerprogrammprodukt zum Bearbeiten von lokalen Interrupts ein computerlesbares Speichermedium, das einen computerlesbaren Programmcode aufweist, wobei der computerlesbare Programmcode beinhaltet: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Anforderung an ein oder mehrere DFP-Systemelemente sendet, um einen oder mehrere Interrupts aus dem einen oder den mehreren DFP-Systemelementen abzurufen, wobei der eine oder die mehreren Interrupts als in zumindest ein Paket verkapselte Daten empfangen werden, einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine oder mehrere Bestätigungen der Anforderung von dem einen oder den mehreren DFP-Systemelementen an einem lokalen Netz-Switch des DFP-Systemmaster empfängt, bei Empfang des zumindest einen Pakets: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er das zumindest eine Paket unter Verwendung eines zweckbestimmten Prozessors des DFP-Systemmaster entschlüsselt, um Details zu dem einen oder den mehreren Interrupts abzurufen, einen computerlesbaren Programmcode, der so konfiguriert ist, dass er einen MSI, der die Details zu dem einen oder den mehreren Interrupts aufweist, unter Verwendung des zweckbestimmten Prozessors erstellt und an einen lokalen Prozessor des DFP-Systemmaster sendet, und einen computerlesbaren Programmcode, der so konfiguriert ist, dass er den MSI unter Verwendung des lokalen Prozessors des DFP-Systemmaster liest.
  • Gemäß einer weiteren Ausführungsform beinhaltet ein Verfahren Empfangen einer Anforderung an einem DFP-Systemelement zum Leiten zumindest eines Interrupt-Typs an einen DFP-Systemmaster, Senden einer Bestätigung der Anforderung zurück an den DFP-Systemmaster, Ermöglichen, dass ein oder mehrere zu vernetzende lokale Interrupts, die dem zumindest einen Interrupt-Typ entsprechen, an den DFP-Systemmaster geleitet werden, bei Auftreten des einen oder der mehreren lokalen Interrupts: Erstellen und Senden eines MSI an einen lokalen Prozessor des DFP-Systemelements, Erstellen zumindest eines Pakets, in dem Details zu dem einen oder den mehreren lokalen Interrupts verkapselt sind, und Senden des zumindest einen Pakets über einen lokalen Netz-Switch des DFP-Systemelements an zumindest eine registrierte MAC-Adresse, um es zumindest an den DFP-Systemmaster zu vermitteln.
  • Bei einer noch weiteren Ausführungsform beinhaltet ein Verfahren Senden einer Anforderung an ein oder mehrere DFP-Systemelemente, um einen oder mehrere Interrupts von dem einen oder den mehreren DFP-Systemelementen abzurufen, wobei der eine oder die mehreren Interrupts als in zumindest einem Paket verkapselte Daten empfangen werden, Empfangen von einer oder mehreren Bestätigungen der Anforderung von dem einem oder mehreren DFP-Systemelementen an einem lokalen Netz-Switch des DFP-Systemmaster, bei Empfang des zumindest einen Pakets: Entschlüsseln des zumindest einen Pakets unter Verwendung eines dedizierten Prozessors des DFP-Systemmaster, um Details zu dem einen oder den mehreren Interrupts abzurufen, Erstellen und Senden eines MSI, der die Details zu dem einen oder den mehreren Interrupts aufweist, an einen lokalen Prozessor des DFP-Systemmaster unter Verwendung des dedizierten Prozessors und Lesen des MSI unter Verwendung des lokalen Prozessors des DFP-Systemmaster.
  • Weitere Aspekte und Ausführungsformen der vorliegenden Erfindung gehen aus der folgenden ausführlichen Beschreibung hervor, die die Grundgedanken der Erfindung in Zusammenschau mit den Zeichnungen beispielhaft veranschaulicht.
  • KURZBESCHREIBUNG DER MEHREREN ANSICHTEN DER ZEICHNUNGEN
  • 1 zeigt eine Netzarchitektur gemäß einer Ausführungsform.
  • 2 zeigt eine repräsentative Hardware-Umgebung, die den Servern und/oder den Clients von 1 zugehörig sein kann, gemäß einer Ausführungsform.
  • 3 ist ein vereinfachtes Schaubild eines virtualisierten Datenzentrums gemäß einer Ausführungsform.
  • 4 zeigt eine Cloud-Infrastruktur einer virtuellen Einheit gemäß einer Ausführungsform.
  • 5 ist ein vereinfachtes Systemblockschaubild gemäß einer Ausführungsform.
  • 6 ist ein Ablaufplan eines Verfahrens gemäß einer Ausführungsform.
  • 7 ist ein Ablaufplan eines Verfahrens gemäß einer Ausführungsform.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende Beschreibung dient der Veranschaulichung der allgemeinen Grundgedanken der vorliegenden Erfindung und soll die hier beanspruchten Erfindungsgedanken nicht einschränken. Darüber hinaus können bestimmte hier beschriebene Merkmale in Kombination mit anderen beschriebenen Merkmalen in jeder der verschiedenen möglichen Kombinationen und Abänderungen verwendet werden.
  • Wenn hier nicht anderweitig spezifisch definiert, sind alle Begriffe breitestmöglich auszulegen, so dass sie die in der Beschreibung implizierten Bedeutungen sowie die vom Fachmann verstandenen Bedeutungen und/oder die in Wörterbüchern, Abhandlungen usw. definierten Bedeutungen mit einschließen.
  • Es muss ferner angemerkt werden, dass die Singularformen „ein/e/r/s” und „der/die/das”, wie sie in der Beschreibung und den beiliegenden Ansprüchen verwendet werden, die Pluraläquivalente mit einschließen, außer wenn anderweitig angegeben.
  • In einem Ansatz kann ein zweckbestimmten Prozessor auf jedem Element eines Distributed-Fabric-Protocol-(DFP-)Systems oder Cluster bereitgestellt werden, wobei der zweckbestimmte Prozessor lokale Interrupts aus verschiedenen Quellen sammelt, lokale Interrupts an einen Prozessor erzeugt, Nachrichten wie Multicast- oder Unicast-Enhanced Layer-2-Transport-(EL2T-)Protokoll-Pakete, in denen die Interrupt-Details verkapselt sind, erstellt und die Nachrichten unter Verwendung eines lokalen Netz-Switches aussendet.
  • Bei einer allgemeinen Ausführungsform weist ein System einen lokalen Prozessor, einen Peripheral-Component-Interconnect-Express-(PCIe-)Switch, der elektrisch mit dem lokalen Prozessor verbunden ist, eine oder mehrere Quellen lokaler Interrupts, die so ausgelegt sind, dass sie ein oder mehrere lokale Ereignisse erstellen, die Ausnahmen des normalen Betriebs anzeigen, einen zweckbestimmten Prozessor, der elektrisch mit der einen oder den mehreren Quellen lokaler Ereignisse und dem PCIe-Switch verbunden ist, und einen lokalen Netz-Switch, der elektrisch mit dem zweckbestimmten Prozessor und dem PCIe-Switch verbunden ist, wobei der zweckbestimmte Prozessor so ausgelegt ist, dass er das eine oder die mehreren lokalen Ereignisse verpackt und die verpackten Ereignisse als einen oder mehrere lokale Interrupts an den lokalen Netz-Switch sendet.
  • Bei einer weiteren allgemeinen Ausführungsform enthält ein Computerprogrammprodukt zum Bearbeiten von lokalen Interrupts ein computerlesbares Speichermedium, das einen computerlesbaren Programmcode aufweist, wobei der computerlesbare Programmcode beinhaltet: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Anforderung an einem DFP-Systemelement zum Leiten zumindest eines Ereignistyps an einen DFP-Systemmaster empfängt, einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Bestätigung der Anfrage zurück an den DFP-Systemmaster sendet, bei Auftreten des zumindest einen Ereignistyps: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er ein Message Signaled Interrupt (MSI) erstellt und an einen lokalen Prozessor des DFP-Systemelements sendet, einen computerlesbaren Programmcode, der so konfiguriert ist, dass er zumindest ein Paket erstellt, in dem Details zu dem zumindest einen Ereignistyp verkapselt sind, und einen computerlesbaren Programmcode, der so konfiguriert ist, dass er das zumindest eine Paket über einen lokalen Netz-Switch des DFP-Systemelements an zumindest eine registrierte Media Access Control(MAC-)Adresse sendet, um es zumindest an den DFP-Systemmaster zu vermitteln.
  • Bei einer noch weiteren allgemeinen Ausführungsform enthält ein Computerprogrammprodukt zum Bearbeiten von lokalen Interrupts ein computerlesbares Speichermedium, das einen computerlesbaren Programmcode aufweist, wobei der computerlesbare Programmcode beinhaltet: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Anforderung an ein oder mehrere DFP-Systemelemente sendet, um ein oder mehrere Ereignisse aus dem einen oder den mehreren DFP-Systemelementen abzurufen, wobei das eine oder die mehreren Ereignisse als in zumindest ein Paket verkapselte Daten empfangen werden, einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine oder mehrere Bestätigungen der Anforderung von dem einen oder den mehreren DFP-Systemelementen an einem lokalen Netz-Switch des DFP-Systemmaster empfängt, bei Empfang des zumindest einen Pakets: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er des zumindest eine Paket unter Verwendung eines zweckbestimmten Prozessors des DFP-Systemmaster entschlüsselt, um Details zu dem einen oder den mehreren Ereignissen abzurufen, einen computerlesbaren Programmcode, der so konfiguriert ist, dass er einen MSI, der die Details zu dem einen oder den mehreren Ereignissen aufweist, unter Verwendung des zweckbestimmten Prozessors erstellt und an einen lokalen Prozessor des DFP-Systemmaster sendet, und einen computerlesbaren Programmcode, der so konfiguriert ist, dass er den MSI unter Verwendung des lokalen Prozessors des DFP-Systemmaster liest.
  • Gemäß einer weiteren allgemeinen Ausführungsform beinhaltet ein Verfahren Empfangen einer Anforderung an einem DFP-Systemelement zum Letten zumindest eines Ereignistyps an einen DFP-Systemmaster, Senden einer Bestätigung der Anforderung zurück an den DFP-Systemmaster, bei Auftreten des zumindest einen Ereignistyps: Erstellen und Senden eines MSI an einen lokalen Prozessor des DFP-Systemelements, Erstellen zumindest eines Pakets, in dem Details zu dem zumindest einen Ereignistyp verkapselt sind, und Senden des zumindest einen Pakets über einen lokalen Netz-Switch des DFP-Systemelements an zumindest eine registrierte MAC-Adresse, um es zumindest an den DFP-Systemmaster zu vermitteln.
  • Bei einer noch weiteren allgemeinen Ausführungsform enthält ein Verfahren Senden einer Anforderung an ein oder mehrere DFP-Systemelemente, um ein oder mehrere Ereignisse von dem einen oder den mehreren DFP-Systemelementen abzurufen, wobei das eine oder die mehreren Ereignisse als in zumindest einem Paket verkapselte Daten empfangen werden, Empfangen von einer oder mehreren Bestätigungen der Anforderung von dem einem oder mehreren DFP-Systemelementen an einem lokalen Netz-Switch des DFP-Systemmaster, bei Empfang des zumindest einen Pakets: Entschlüsseln des zumindest einen Pakets unter Verwendung eines dedizierten Prozessors des DFP-Systemmaster, um Details zu dem einen oder den mehreren Ereignissen abzurufen, Erstellen und Senden eines MSI, der die Details zu dem einen oder den mehreren Ereignissen aufweist, an einen lokalen Prozessor des DFP-Systemmaster unter Verwendung des dedizierten Prozessors und Lesen des MSI unter Verwendung des lokalen Prozessors des DFP-Systemmaster.
  • Wie der Fachmann verstehen wird, können Aspekte der vorliegenden Erfindung in Form eines Systems, eines Verfahrens oder eines Computerprogrammprodukts umgesetzt sein. Demgemäß können Aspekte der vorliegenden Erfindung die Form einer ausschließlich aus Hardware bestehenden Ausführungsform, einer ausschließlich aus Software bestehenden Ausführungsform (Firmware, residente Software, Mikrocode usw. mit eingeschlossen) oder einer Ausführungsform annehmen, die Software- und Hardware-Aspekte kombiniert, die hier allesamt allgemein als „Logik”, „Schaltung”, „Modul” oder „System” bezeichnet werden können. Ferner können Aspekte der vorliegenden Erfindung die Form eines Computerprogrammprodukts annehmen, das als ein oder mehrere computerlesbare Medien umgesetzt ist, die einen computerlesbaren Programmcode aufweisen.
  • Es kann eine beliebige Kombination aus einem oder mehreren computerlesbaren Medien verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein nichtflüchtiges computerlesbares Speichermedium sein. Ein nichtflüchtiges computerlesbares Speichermedium kann beispielsweise einte elektronische/s, magnetische/s, optische/s, elektromagnetische/s, Infrarot- oder Halbleitersystem, -vorrichtung oder -einheit oder eine geeignete Kombination des Vorstehenden sein, ohne jedoch darauf beschränkt zu sein. Spezifischere Beispiele (nichterschöpfende Liste) für das nichtflüchtige computerlesbare Speichermedium sind unter anderem: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM, Random Access Memory), ein Nur-Lese-Speicher (ROM, Read Only Memory), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM (Erasable Programmable Read Only Memory) oder Flash-Speicher), ein tragbarer Compact Disk-Nur-Lese-Speicher (CD-ROM, Compact Disc-Read Only Memory), ein Blu-ray-Disk-Nur-Lese-Speicher (BD-ROM, Blu-ray Disc Read Only Memory), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine geeignete Kombination des Vorstehenden. Im Kontext dieses Dokuments kann ein nichtflüchtiges computerlesbares Speichermedium ein beliebiges konkretes Medium sein, das in der Lage ist, ein Programm oder eine Anwendung zur Verwendung durch ein/e Anweisungsausführungssystem, -vorrichtung oder -einheit oder in Verbindung damit zu enthalten oder zu speichern.
  • Ein computerlesbares Signalmedium kann ein weitergeleitetes Datensignal beinhalten, das einen computerlesbaren Programmcode aufweist, beispielsweise im Basisband oder als Teil einer Trägerwelle. Ein solches weitergeleitetes Signal kann eine Vielzahl von Formen annehmen, beispielsweise elektromagnetisch, optisch oder eine geeignete Kombination davon, ohne jedoch darauf beschränkt zu sein. Ein computerlesbares Signalmedium kann ein beliebiges computerlesbares Medium sein, bei dem es sich nicht um ein nichtflüchtiges computerlesbares Speichermedium handelt und das ein Programm zur Verwendung durch einte Anweisungsausführungssystem, -vorrichtung oder -einheit, z. B. eine elektrische Verbindung mit einem oder mehreren Leitungen, ein Lichtwellenleiter usw., oder in Verbindung damit übertragen, weiterleiten oder transportieren kann.
  • Der in einem computerlesbaren Medium enthaltene Programmcode kann mithilfe eines geeigneten Mediums übertragen werden, beispielsweise drahtlos, drahtgebunden, Lichtwellenleiterkabel, HF usw. oder eine Kombination des Vorstehenden, ohne jedoch darauf beschränkt zu sein.
  • Ein Computerprogrammcode zum Ausführen von Operationen für Aspekte der vorliegenden Erfindung kann in irgendeiner Kombination aus einer oder mehreren Programmiersprachen geschrieben sein, beispielsweise eine objektorientierte Programmiersprache wie Java, Smalltalk, C++ oder dergleichen und herkömmliche prozedurale Programmiersprachen wie die „C”-Programmiersprache oder ähnliche Programmiersprachen. Der Programmcode kann zur Gänze auf dem Computer eines Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder zur Gänze auf dem entfernt angeordneten Computer oder -Server ausgeführt werden. Bei letzterem Szenario kann der Remote-Computer oder -Server über einen beliebigen Netztyp, beispielsweise lokales Netz (LAN, Local Area Network), Speicherbereichsnetz (SAN, Storage Area Network) und/oder ein Weitverkehrsnetz (WAN, Wide Area Network), mit dem Computer des Benutzers verbunden sein oder die Verbindung zu einem externen Computer kann hergestellt werden, z. B. über einen Internet-Diensteanbieter über Internet.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf die Ablaufplandarstellungen und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der Erfindung beschrieben. Es ist klar, dass jeder Block der Ablaufplandarstellungen und/oder Blockschaubilder und Kombinationen von Blöcken in den Ablaufplandarstellungen und/oder Blockschaubildern durch Computerprogrammanweisungen umgesetzt werden können. Diese Computerprogrammanweisungen können für einen Prozessor eines Universalcomputers, eines spezifischen Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu produzieren, so dass die Anweisungen, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel für das Umsetzen der in dem einen oder den mehreren Ablaufplan- und/oder Blockschaubildblöcken angegebenen Funktionen/Aktionen zu erstellen.
  • Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten anweisen kann, auf eine bestimmte Weise zu arbeiten, so dass die im computerlesbaren Medium gespeicherten Anweisungen ein Herstellungsprodukt produzieren, das Anweisungen beinhaltet, die die in den einen oder mehreren Ablaufplan- und/oder Blockschaubildblöcken angegebene Funktion/Aktion umsetzen.
  • Die Computerprogrammanweisungen können auch in einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um zu bewirken, dass eine Reihe von Betriebsschritten im Computer, auf der anderen programmierbaren Vorrichtung oder auf anderen Einheiten durchgeführt wird, um ein computerausgeführtes Verfahren zu produzieren, so dass die Anweisungen, die auf dem Computer oder auf der anderen programmierbaren Vorrichtung ausgeführt werden, Verfahren zum Umsetzen der in dem einen oder den mehreren Ablaufplan- und/oder Blockschaubildblöcken angegebenen Funktionen/Aktionen bereitstellen.
  • 1 zeigt eine Netzarchitektur 100 gemäß einer Ausführungsform. Wie in 1 gezeigt, ist eine Vielzahl von fernen Netzen 102 bereitgestellt, darunter ein erstes fernes Netz 104 und ein zweites fernes Netz 106. Ein Gateway 101 kann zwischen den fernen Netzen 102 und einem nahen Netz 108 angeschlossen sein. Im Kontext der vorliegenden Netzarchitektur 100 können die Netze 104, 106 jeweils eine beliebige Form annehmen, beispielsweise ein LAN, ein WAN wie das Internet, das öffentliche Telefonnetz (PSTN, Public Switched Telephone Network), internes Telefonnetz usw., ohne jedoch auf diese beschränkt zu sein.
  • In Gebrauch dient das Gateway 101 als Eintrittspunkt aus den fernen Netzen 102 in das nahe Netz 108. Als solches kann das Gateway 101 als Router agieren, der in der Lage ist, ein bestimmtes Datenpaket weiterzuleiten, das am Gateway 101 empfangen wird, und als Switch, der den tatsächlichen Pfad in das Gateway 101 und aus diesem heraus für ein bestimmtes Paket bereitstellt.
  • Ferner ist zumindest ein Datenserver 114 enthalten, der mit dem nahen Netz 108 verbunden ist und auf den über das Gateway 101 von den fernen Netzen 102 zugegriffen werden kann. Es sei angemerkt, dass der bzw. die Datenserver 114 einen beliebigen Typ einer Datenverarbeitungseinheit/Groupware beinhalten kann bzw. können. Eine Vielzahl von Benutzereinheiten 116 ist mit jeden Datenserver 114 verbunden. Zu solche Benutzereinheiten 116 können ein Desktop-Computer, ein Laptop-Computer, ein tragbarer Computer, ein Drucker und/oder ein anderer beliebiger Typ einer Einheit, die eine Logik enthält, gehören. Es sei angemerkt, dass eine Benutzereinheit 111 bei einigen Ausführungsformen auch direkt mit einem der Netze verbunden sein kann.
  • Eine Peripherieeinheit 120 oder eine Reihe von Peripherieeinheiten 120, z. B. Faxgeräte, Drucker, Scanner, Festplattenlaufwerke, vernetzte und/oder lokale Speichereinheiten oder -systeme usw., können mit einem oder mehreren der Netze 104, 106, 108 verbunden sein. Es sei angemerkt, dass Datenbanken und/oder weitere Komponenten mit einem beliebigen Typ von Netzelement verwendet oder in dieses integriert werden können, das mit den Netzen 104, 106,108 verbunden ist. Im Kontext der vorliegenden Beschreibung kann sich ein Netzelement auf eine beliebige Komponente eines Netzes beziehen.
  • Gemäß einigen Ansätzen können hier beschriebene Verfahren und Systeme mit und/oder auf virtuellen Systemen und/oder Systemen umgesetzt sein, die ein oder mehrere andere Systeme emulieren, z. B. ein UNIX-System, das eine IBM z/OS-Umgebung emuliert, ein UNIX-System, das virtuell eine MICROSOFT WINDOWS-Umgebung beherbergt, elf MICROSOFT WINDOWS-System, das eine IBM z/OS-Umgebung emuliert usw. Diese Virtualisierung und/oder Emulation kann durch die Verwendung von VMWARE-Software bei einigen Ausführungsformen verbessert werden.
  • Bei weiteren Ansätzen kann bzw. können ein oder mehrere Netze 104, 106, 108 einen System-Cluster darstellen, der für gewöhnlich als „Cloud” bezeichnet wird, Beim Cloud-Computing werden gemeinsam genutzte Ressourcen wie Verarbeitungsleistung, Peripherieeinheiten, Software, Daten, Server usw. für ein beliebiges System in der Cloud in einem bedarfsgesteuerten Verhältnis bereitgestellt, wodurch ein Zugriff auf Services und eine Verteilung dieser unter vielen Computersystemen möglich wird. Das Cloud-Computing beinhaltet für gewöhnlich eine Internetverbindung zwischen den in der Cloud arbeitenden Systemen, aber es können auch andere Systemverbindungsmethoden herangezogen werden, wie auf dem Gebiet der Technik bekannt.
  • 2 zeigt eine repräsentative Hardware-Umgebung, der eine Benutzereinheit 116 und/oder ein Server 114 von 1 zugehörig sein können, gemäß einer Ausführungsform. 2 zeigt eine typische Hardware-Konfiguration einer Workstation mit einer Zentraleinheit 210, z. B. einem Mikroprozessor, und einer Vielzahl von anderen Einheiten, die über einen Systembus 212 miteinander verbunden sind, gemäß einer Ausführungsform.
  • Die in 2 gezeigte Workstation beinhaltet einen Direktzugriffsspeicher (RAM, Random Access Memory) 214, einen Nur-Lese-Speicher (ROM, Read Only Memory) 216 und einen E/A-Adapter 218 zum Verbinden von Peripherieeinheiten wie Plattenspeichereinheiten 220 mit dem Bus 212, einen Benutzeroberflächenadapter 222 zum Verbinden einer Tastatur 224, einer Maus 226, eines Lautsprechers 228, eines Mikrofons 232 und/oder anderer Benutzeroberflächeneinheiten wie einen Touchscreen, eine Digitalkamera (nicht gezeigt) usw. mit dem Bus 212, einen Kommunikationsadapter 234 zum Verbinden der Workstation mit einem Kommunikationsnetz 235 (z. B. ein Datenverarbeitungsnetz) und einen Bildschirmadapter 236 zum Verbinden des Busses 212 mit einer Anzeigeeinheit 238.
  • Die Workstation kann ein Betriebssystem wie das MICROSOFT WINDOWS-Betriebssystem (OS, Operating System), ein MAC-OS, ein UNIX-OS usw. aufweisen. Es ist klar, dass eine bevorzugte Ausführungsform auch auf Plattformen und Betriebssystemen umgesetzt sein kann, bei denen es sich nicht um die erwähnten handelt. Eine bevorzugte Ausführungsform kann unter Verwendung von JAVA-, XML-, C- und/oder C++-Sprache oder anderen Programmiersprachen sowie mit einer objektorientierten Programmiermethodik geschrieben werden. Es kann das objektorientierte Programmieren (OOP) herangezogen werden, das bei der Entwicklung von komplexen Anwendungen zunehmend verwendet wird.
  • Es wird nun auf 3 Bezug genommen, die eine konzeptionelle Sicht eines Overlay-Netzes 300 gemäß einer Ausführungsform zeigt. Um Netzdienste zu virtualisieren, bei denen es sich nicht lediglich um das Bereitstellen eines Fabric-Pfads (Konnektivität) zwischen Einheiten handelt, kann ein Cell-Based Distributed-Fabric-Protocol-(cDFP-)System und/oder ein Ethernet-Based Distributed-Fabric-Protocol-(eDFP-)System virtualisiert werden. Das Overlay-Netz 300 weist bei einem Ansatz eine oder mehrere virtuelle Netze 304, 306 innerhalb einer physischen (realen) Netzinfrastruktur 302 auf. Die Netzinfrastruktur 302 kann beliebige Komponenten, Hardware, Software und/oder Funktionen beinhalten, die für gewöhnlich mit einer Netzinfrastruktur in Zusammenhang stehen und/oder in dieser verwendet werden, beispielsweise Switches, Verbindungseinheiten, Leitungen, Schaltungen, Kabel, Server, Hosts, Speichermedien, Betriebssysteme, Anwendungen, Anschlüsse, E/A usw., ohne jedoch auf diese beschränkt zu sein.
  • Jedes virtuelle Netz 304, 306 kann eine beliebige Anzahl von virtuellen Maschinen (VMs) 308, 310 beinhalten. Bei einer Ausführungsform enthält ein virtuelles Netz A 304 eine oder mehrere VMs 308 und ein virtuelles Netz B 306 enthält eine oder mehrere VMs 310. Wie in 3 gezeigt, werden die VMs 308, 310 nicht gemeinsam von den virtuellen Netzen 304, 306 genutzt, sondern sind zu einem bestimmten Zeitpunkt ausschließlich in lediglich einem virtuellen Netz 304, 306 enthalten, aber dies ist selbstverständlich weder erforderlich noch einschränkend gedacht.
  • Es wird nun auf 4 Bezug genommen, die einen Überblick über eine Komponenten-Konnektivität 410 eines cDFP und/oder eines eDFP (DFP 400) gemäß einer Ausführungsform zeigt. Der Systemmaster 402 ist eine Hauptsteuereinheit des DFP 400. Bei einer Ausführungsform kann keine andere Steuereinheit in der Domäne des DFP 400 verwendet werden. Bei alternativen Ausführungsformen können andere Steuereinheiten (nicht gezeigt) verwendet werden, um spezifische oder allgemeine Funktionen der Domäne zu steuern, z. B. Vermitteln, Testen usw. Datenverkehr (gesendete Daten/Anforderungen/Alarme oder dergleichen) von außerhalb der Domäne tritt über den Netzmanager 412 in den DFP 400 ein.
  • Die Standby-Einheit 404 ist im DFP 400 bereitgestellt, so dass die Standby-Einheit 404 im Fall eines Konnektivitäts-Verlusts mit dem Systemmaster 402 oder eines Versagens des Systemmaster 402 aus beliebigen Gründen so ausgelegt ist, dass sie zum Systemmaster wird und alle Funktionen eines Systemmaster bereitstellt.
  • Der Systemmaster 402 ist für das Ermitteln von Services zuständig, die für einen bestimmten Datenfluss (Versatz von Daten/Anforderungen/Alarmen oder dergleichen durch den DFP 400) verwendet werden, und leitet ihn durch eine Reihe von Elementen 406 um, je nach dem bestimmten beteiligten Datenfluss, wie der Fachmann verstehen wird.
  • Bei einer Ausführungsform stellt die Topologie des DFP 400, bei der es sich um ein Cell Switched Clos handelt, eine hohe Verfügbarkeit von allen Links/Einheiten auf dem DFP 400 bereit. Konnektivitäts-Details und Querschnittsbandbreite können umsetzungsspezifisch sein und auf einer anwendungsspezifischen Grundlage ermittelt werden, wie der Fachmann verstehen wird.
  • Von der Vernetzung her gesehen kann die gesamte Domäne des DFP 400 von außerhalb wie ein End-Host erscheinen, wobei einige Services auf Datenflüsse angewendet werden. Gemäß einer Ausführungsform ist eine Endlos-Schleifenbilbdung dank der Rückwandplatine der Topologie, bei der es sich um eine Zellenvermittlungsschnittstelle wie oben beschrieben handelt, nicht möglich, und diese nutzt die verfügbare Rückwandplatinen-Bandbreite auf effiziente Weise, indem sie Zellen über mehrere links für ein einzelnes Ziel verbreitet. Einzeine Elemente 406 können der Domäne des DFP 400 hinzugefügt oder aus dieser entfernt werden, ohne andere Services, Einheiten usw. zu unterbrechen.
  • Gemäß einer Ausführungsform können bis zu 800 Elemente in der DFP 400 miteinander gruppiert werden. Dies ermöglicht gemäß einem Beispiel ungefähr 32.768 Ethernet-Anschlüsse in einer einzelnen Domäne eines DFP 400. Bei einer weiteren Ausführungsform ist mit der hier beschriebenen Architektur gemäß verschiedenen Ausführungsformen eine konstante Latenzzeit von ungefähr 2,5 Mikrosekunden oder weniger sowie eine große Anzahl von Ethernet-Anschlüssen in einer Datenverkehr-Verwaltungsdomäne möglich. Gemäß einem Beispiel kann der DFP 400 als einzelner Switch mit mehr als 32.000 Ethernet-Anschlüssen umgesetzt sein.
  • Demgemäß sind bei einigen Ausführungsformen zusätzlich dazu, dass die Vielzahl von Ethernet-Anschlüssen in den DFP 400 integriert wird, alle Anforderungen eines Rechenzentrums in den DFP 400 integriert. Aus diesem Grund erleichtert der DFP 400 die Virtualisierung, wenn ein neues flaches Datenzentrum mit äußerst geringer Latenzzeit initiiert wird, da der Großteil der virtualisierten Datenzentren, insbesondere Server auf der Grundlage von Hypervisors, eine Vielzahl von VMs ausführt. Bei einer Architektur mit „flachem Switch” kann die Vielzahl von VMs Daten auf einfache und effiziente Weise über die Architektur versetzen. Es ist für VMs im Allgemeinen sehr schwer, Daten über Layer-3-Domänen, zwischen einem Teilnetz zu einem anderen Teilnetz, Internetprotokoll-(IP-)Subnetz zu IP-Teilnetz usw. zu versetzen. Wenn jedoch die Architektur einem großen flachen Switch in einer sehr großen Layer-2-Domäne ähnelt, wird den VMs das Versetzen von Daten über die Architektur erleichtert.
  • Es wird nun auf 5 Bezug genommen, in der ein Blockschaubild eines Systems 500 gemäß einer Ausführungsform gezeigt ist. Gemäß verschiedenen Ausführungsformen kann es sich bei dem System 500 um einen Systemmaster, einen DFP-Systemelement oder einen Standby handeln. Natürlich können andere Komponenten, Module, Logik, Schaltungen usw., die in 5 nicht spezifisch gezeigt sind, gemäß diverser Ansätze in das System 500 aufgenommen werden, z. B. ein Lüfter, eine Lüftersteuereinheit, eine Hauptplatine, Verkabelungen, Interconnects, ein Netzteil usw.
  • Ein Systemmaster steuert für gewöhnlich ein DFP-System, während DFP-Systemelemente Anweisungen vom Systemmaster empfangen und die Anweisungen/Anforderungen des Systemmaster erfüllen. Das Standby arbeitet wie ein Element, bis die Verbindung mit dem Systemmaster aus einem beliebigen Grund verloren geht, und in diesem Fall wird das Standby zum Systemmaster und agiert entsprechend.
  • Das System 500 weist einen lokalen Prozessor 502, einen Peripheral-Component-Interconnet-Express-(PCIe-)Switch 504, eine oder mehrere Quellen 506 lokaler Interrupts, einen zweckbestimmten Prozessor 508 und einen lokalen Netz-Schalter 510 auf. Jede Komponente des Systems 500 wird im Folgenden ausführlicher beschrieben.
  • Der lokale Prozessor 502 ist bei einigen Ansätzen elektrisch mit dem PCIe-Switch 504 verbunden. Der lokale Prozessor 502 kann eines oder mehrere des Folgenden aufweisen: eine Zentraleinheit (CPU, Central Processing Unit), eine integrierte Schaltung (1C, Integrated Circuit), ein feldprogrammierbares Gate-Array (FPGA, Field Programmable Gate Array), eine anwendungsspezifische integrierte Schaltung (ASIC, Application Specific Integrated Circuit), einen Mikrocontroller oder einen anderen geeigneten Prozessor. Bei einer Ausführungsform kann der lokale Prozessor 502 eine lokale CPU sein, die so ausgelegt ist, dass sie Operationen des Systems 500 steuert, beispielsweise das Bearbeiten des einen oder der mehreren lokalen Ereignisse, die von der einen oder den mehreren Quellen 506 lokaler Interrupts produziert werden, und zwar durch Vorinstallieren von entsprechenden Interrupt-Service-Routinen (ISRs, Interrupt Service Routines).
  • Der PCIe-Switch 504 ist bei einem Ansatz elektrisch mit dem lokalen Prozessor 502, dem zweckbestimmten Prozessor 508 und dem lokalen Netz-Switch 510 verbunden. Es können beliebige geeignete Verbindungseinheiten für das Verbinden der verschiedenen Komponenten untereinander verwendet werden, wie auf dem Gebiet der Technik bekannt. Bei einer Ausführungsform kann der lokale Prozessor 502 zu einem PCIe-Master für den zweckbestimmten Prozessor 508 über den PCIe-Switch 504 werden. Der lokale Prozessor 502 macht einige der programmierbaren Register des lokalen Prozessors für den lokalen Master zugänglich, so dass dieser den lokalen Prozessor 502 programmieren kann. Der lokale Prozessor 502 ordnet verschiedene Message Signaled Interrupts (MSIs) aus dem zweckbestimmten Prozessor 508 in den lokalen Adressraum zu. Diese MSIs beinhalten Ereignisse, die durch lokale Quellen und Ereignisse produziert werden, die von fernen Quellen auf DFP-Element-Switches erzeugt werden.
  • Der PCIe-Switch 504 kann eine beliebige geeignete Switch-Einheit und/oder einen beliebigen geeigneten Prozessor beinhalten, wie der Fachmann beim Lesen der vorliegenden Beschreibungen verstehen wird. Der PCIe-Switch 504 kann so ausgelegt sein, dass er Protokolle und Einheiten bei einigen Ansätzen, die über auf PCIe beruhende Protokolle und Einheiten hinausgehen, vermittelt.
  • Bei einem Ansatz kann der PCIe-Switch 504 mehrere PCIe-Busverbindungen aufweisen, die einen oder mehrere PCIe-Busse oder andere Busse unter Verwendung von unterschiedlichen Protokollen bedienen.
  • Die eine oder mehreren Quellen 506 lokaler Interrupts können jedwede/s Einheit, Modul, Komponente und/oder Logik beinhalten, der/das/die ein Ereignis produzieren oder erstellen kann, das eine Ausnahme des normalen Betriebs anzeigt. Einige Ereignisse müssen sofort behandelt werden, einige Ausnahmen hingegen können verworfen werden und/oder dienen nur Informationszwecken. Die Ereignisse, die sofort oder alsbald möglich behandelt werden müssen, sollten vom lokalen Prozessor 502 behandelt werden, um das System 500 effektiv zu verwalten. Gemäß hier beschriebener Ausführungsformen können diese Ereignisse jedoch an einen DFP-Master gesendet werden, der so ausgelegt ist, dass er diese Ereignisse bearbeitet.
  • Zu einigen Beispiele für Interrupt-Quellen zählen. ein Lüfter oder eine Lüftersteuereinheit, ein Netzteil, eine Temperaturanzeige oder eine Logik, die die Temperaturanzeige interpretiert, ein Einsetzen oder Entfernen von verschiedenen Hot-Swap-fähigen Einheiten usw. Das eine oder die mehreren lokalen Ereignisse 506 werden dem zweckbestimmten Prozessor 508 gemäß einer Ausführungsform bereitgestellt und durch diesen interpretiert.
  • Gemäß verschiedenen Ausführungsformen können einige der Quellen lokaler Interrupts Ereignisse mittels MSI über einen PCIe-Bus bereitstellen, einige können Ereignisse mittels fester Codierung direkt an den lokalen Prozessor 502 bereitstellen, einige können Ereignisse über ein I2C-Protokoll bereitstellen usw. Jedes Ereignis, das bereitgestellt wird, kann gemäß einem Ansatz jedoch an den zweckbestimmten Prozessor 508 geleitet werden, um an eine externe Einheit, z. B. einen DFP-Systemmaster, geleitet zu werden.
  • Der zweckbestimmte Prozessor 508 kann elektrisch mit dem PCIe-Switch 504 und mit dem lokalen Netz-Switch 510 verbunden sein. Es können beliebige geeignete Verbindungseinheiten für das Verbinden der Komponenten untereinander verwendet werden, wie auf dem Gebiet der Technik bekannt. Darüber hinaus können gemäß einigen Ansätzen die eine oder mehreren Quellen 506 lokaler Interrupts elektrisch mit dem zweckbestimmten Prozessor 508 verbunden sein, so dass der zweckbestimmte Prozessor 508 in der Lage ist, Ereignisse von der einen oder den mehreren Quellen 506 lokaler Interrupts zu empfangen.
  • Der zweckbestimmte Prozessor 508, der in herkömmlichen Switches für gewöhnlich nicht bereitgestellt wird, ist so ausgelegt, dass er lokale Ereignisse aus den Quellen 506 lokaler Interrupts sammelt. Ferner ist er so ausgelegt, dass er ein oder mehrere Ereignisse an den lokalen Prozessor 502 auf der Grundlage des einen oder der mehreren lokalen Ereignisse erzeugt, die von den Quellen 506 lokaler Interrupts empfangen wurden, und dass er Multicast- oder Unicast-EL2T-Pakete erstellt, in denen die Details zu dem einen oder den mehreren lokalen Ereignissen verkapselt sind. Diese EL2T-Pakete werden danach an den lokalen Netz-Switch 510 gesendet. Der zweckbestimmte Prozessor kann einen beliebigen geeigneten Prozessor aufweisen, z. B. eine CPU, eine IC, eine ASIC, einen Mikrocontroller und/oder ein FPGA.
  • Darüber hinaus kann der zweckbestimmte Prozessor 508 gemäß einer Ausführungsform so ausgelegt sein, dass er das eine oder die mehreren lokalen Ereignisse verpackt und die verpackten Ereignisse an den lokalen Netz-Switch 510 sendet. Ferner kann der zweckbestimmte Prozessor 508 ein FPGA sein, und die Pakete können EL2T-Protokollpakete sein. Natürlich können andere Protokolle zum Verkapseln der Details zu den lokalen Ereignissen verwendet werden, die von den Quellen 506 lokaler Interrupts empfangen werden, wie auf dem Gebiet der Technik bekannt.
  • Zu den Details bezüglich der lokalen Ereignissen können neben anderen Details, die nicht spezifisch erwähnt sind, aber vom Fachmann beim Lesen der vorliegenden Beschreibungen verstanden werden, die Switch-ID des DFP-Systemelements, die Ereignisquelle, den Ereignistyp, die Ereignispriorität gehören.
  • Bei einer Ausführungsform kann es sich bei dem zweckbestimmten Prozessor 508 um ein FPGA handeln, der so ausgelegt ist, dass er lokale Ereignisse an den lokalen Prozessor 502 erzeugt, Multicast- oder Unicast-EL2T-Pakete erstellt, in denen die Detail zu den lokalen Ereignissen verkapselt sind, und die EL2T-Pakete an den lokalen Netz-Switch 510 sendet.
  • Der lokale Netz-Switch 510 ist elektrisch mit dem PCIe-Switch 504 und dem zweckbestimmten Prozessor 508 verbunden. Es können beliebige geeignete Verbindungseinheiten für das Verbinden der Komponenten untereinander verwendet werden, wie auf dem Gebiet der Technik bekannt. Der lokale Netz-Switch 510 kann ein beliebiges auf dem Gebiet der Technik bekanntes Übertragungsprotokoll vermitteln, beispielsweise Ethernet, PCIe, PCIe-over-Ethernet, Fiber Channel (FC), Fiber Channel-over-Ethernet (FCoE) usw., ohne jedoch auf diese beschränkt zu sein. Gemäß einem Ansatz kann die Verbindung zwischen dem zweckbestimmten Prozessor 508 und dem lokalen Netz-Switch 510 ein lokaler Netzanschluss sein (der ein unabhängiges VLAN darstellen würde). Natürlich kann je nach Typ des Netz-Switch ein anderer auf dem Gebiet der Technik bekannter Verbindungstyp verwendet werden.
  • Bei einer Ausführungsform kann der lokale Netz-Switch 510 eine ASIC aufweisen, z. B. eine Paketvermittlungs-ASIC (z. B. ein BROADCOM Modell BCM88650) oder eine andere geeignete auf dem Gebiet der Technik bekannte Paketvermittlungs-ASIC.
  • Der lokale Netz-Switch 510 ist so ausgelegt, dass er Daten, Informationen und/oder Pakete von internen Komponenten (z. B. dem zweckbestimmten Prozessor 508, dem PCIe-Switch 504 usw.) empfängt, die an Einheiten außerhalb des Systems 500 auszusenden sind. Darüber hinaus ist er so ausgelegt, dass er diese Pakete an die Einheiten außerhalb des Systems 500 aussendet und Pakete von diesen Einheiten außerhalb des Systems 500 empfängt. Der lokale Netz-Switch 510 ist dann so ausgelegt, dass er diese empfangenen Pakete von außerhalb des Systems 500 an die korrekten internen Komponenten sendet (z. B. den zweckbestimmten Prozessor 508, den PCIe-Switch 504 usw.).
  • Gemäß einer Ausführungsform kann der zweckbestimmte Prozessor 508 Ereignisse sammeln, die normalerweise direkt an den lokalen Prozessor 502 gesendet werden, wie durch Verbindungen 512 gezeigt. Diese Verbindungen 512 können gemäß einigen Ausführungsformen im System 500 bleiben oder können bei verschiedenen Ausführungsformen nicht vorhanden sein.
  • Beispielsweise kann der lokale Netz-Switch 510 so ausgelegt sein, dass er Pakete vom zweckbestimmten Prozessor 508 und/oder dem PCIe-Switch 504 (interne Pakete) empfängt, die außerhalb des Systems 500 zu senden sind, und dass er die internen Pakete an eine externe Einheit sendet und Pakete von der externen Einheit (externe Pakete) empfängt und die externen Pakete an den zweckbestimmten Prozessor 508 und/oder den PCIe-Switch 504 sendet, neben anderen Funktionen, die hier nicht spezifisch beschrieben sind, aber vom Fachmann beim Lesen der vorlegenden Beschreibungen verstanden werden.
  • Wenn ein Problem bei der Übertragung der lokalen Ereignisse an den zweckbestimmten Prozessor 508, an den lokalen Netz-Switch 510 oder an einem anderen Punkt im Netz auftritt, wie im Folgenden ausführlicher beschrieben, können die lokalen Ereignisse unter Verwendung dieser Verbindungen 512 an den lokalen Prozessor 502 gesendet werden oder gemäß anderen Ansätzen über den zweckbestimmten Prozessor 508 über den PCIe-Switch 504, so dass der lokale Prozessor 502 die Ereignisse interpretieren (z. B. das Ereignis lesen, um die Abweichung vom normalen Betrieb zu ermitteln) und die Ereignisse bearbeiten kann, z. B. durch Ändern von Bedingungen, Starten oder Beenden einer Komponente, Warnen eines Benutzer über ein Problem usw. Dies kann durch Vorinstallieren von entsprechenden ISRs erzielt werden.
  • Bei einer weiteren Ausführungsform kann der lokale Netz-Switch 510, wenn das System 500 ein Standby oder ein Element eines DFP-Systems ist, so ausgelegt sein, dass er die Multicast- oder Unicast-Pakete, in denen Details zu dem einen oder den mehreren lokalen Ereignissen verkapselt sind, an einen DFP-Systemmaster sendet und gleichzeitig einen entsprechenden MSI über den PCIe-Switch 504 an den lokalen Prozessor 502 sendet. Wenn der lokale Prozessor 502 im DFP-Element-Modus ist, antwortet er nicht auf den MSI, sondern zählt lediglich die Anzahl von Ereignissen.
  • Gemäß einer weiteren Ausführungsform kann es sich bei dem lokalen Netz-Switch 510 um eine Paketvermittlungs-ASIC handeln, und er kann so ausgelegt sein, dass er Pakete vom zweckbestimmten Prozessor 508 (interne Pakete) empfängt, die außerhalb des Systems 500 zu senden sind, und dass er die internen Pakete an eine externe Einheit sendet. Gemäß dieser Ausführungsform kann der lokale Netz-Switch 510 auch so ausgelegt sein, dass er Pakete von der externen Einheit (externe Pakete) empfängt und die externen Pakete an den zweckbestimmten Prozessor 508 sendet.
  • Gemäß einer weiteren Ausführungsform kann es sich bei dem lokalen Prozessor 502, wenn das System 500 ein DFP-Systemmaster ist, um eine CPU handeln, die so ausgelegt ist, dass sie Operationen des Systems 500 steuert, darunter das Bearbeiten des einen oder der mehreren lokalen Ereignisse, und dass sie externe Ereignisse (die vom zweckbestimmten Prozessor 508 über den lokalen Netz-Switch 510 empfangen werden) analysiert und auf diese antwortet, z. B. durch Vorinstallieren von entsprechenden ISRs. Darüber hinaus kann der zweckbestimmte Prozessor 508 so ausgelegt sein, dass er eine oder mehrere Ereignisse an den lokalen Prozessor 502 auf der Grundlage des einen oder der mehreren lokalen Ereignisse erzeugt, die von den Quellen 506 lokaler Interrupts empfangen wurden (um sein eigenes System zu verwalten), dass er Multicast- oder Unicast-Pakete, in denen Details zu externen Ereignissen (von DFP-Systemelementen) verkapselt sind, vom zweckbestimmten Prozessor 508 empfängt, die vom lokalen Netz-Switch 510 weitergeleitet wurden, und dass er die Multicast- oder Unicast-Pakete entschlüsselt, um Details zu den externen Ereignissen zu ermitteln. Außerdem kann der lokale Netz-Switch 510 bei einigen Ansätzen eine Paketvermittlungs-ASIC sein und kann so ausgelegt sein, dass er die Multicast- oder Unicast-Pakete, in denen Details zu den externen Ereignissen verkapselt sind, von einem oder mehreren DFP-Systemelementen empfängt, die die externen Ereignisse erzeugt haben.
  • Bei einer weiteren Ausführungsform, bei der das System 500 ein DFP-Systemmaster ist, kann der zweckbestimmte Prozessor 508 so ausgelegt sein, dass er Multicast- oder Unicast-EL2T-Protokollpakete, in denen Details zu den externen Ereignissen (von DFP-Systemelementen) verkapselt sind, vom lokalen Netz-Switch 510 empfängt, der zweckbestimmte Prozessor 508 kann so ausgelegt sein, dass er die Multicast- oder Unicast-EL2T-Pakete entschlüsselt, um Details zu den externen Ereignissen zu ermitteln, die in den Multicast oder Unicast-EL2T-Paketen verkapselt sind, der dedizierte Prozessor 508 kann so ausgelegt sein, dass er eine auf einem MSI beruhende Nachricht an den lokalen Prozessor 502 sendet, die Details zu den externen Ereignissen enthält, der lokale Netz-Switch 510 kann so ausgelegt sein, dass er die Multicast- oder Uniaast-EL2T-Pakete, in denen Details zu den externen Ereignissen verkapselt sind, von dem einen oder den mehreren DFP-Systemelementen empfängt, das bzw. die die externen Ereignisse erzeugt hat bzw. haben, und der lokale Prozessor 502 kann so ausgelegt sein, dass er die externen Ereignisse liest und auf diese antwortet.
  • Wie zuvor erwähnt, findet das Blockschaubild von 5 gemäß verschiedenen Ausführungsformen gleichermaßen auf Elementsysteme, Standby-Systeme und Systemmaster Anwendung. Es folgen Beschreibungen von Logik und Funktionen, die auf Elementen, Standbys und Systemmaster gemäß verschiedenen Ausführungsformen vorhanden sein können.
  • Es wird nun auf 6 Bezug genommen, in der ein Ablaufplan eines Verfahrens 600 gemäß einer Ausführungsform gezeigt ist. Das Verfahren 600 kann gemäß der vorliegenden Erfindung bei verschiedenen Ausführungsformen unter anderem in einer der in den 1 bis 5 gezeigten Umgebungen durchgeführt werden. Natürlich können mehr oder weniger Operationen als die in 6 spezifisch beschriebenen im Verfahren 600 enthalten sein, wie der Fachmann beim Lesen der vorliegenden Beschreibungen versteht.
  • Jeder der Schritte des Verfahrens 600 kann durch eine beliebige geeignete Komponente der Betriebsumgebung durchgeführt werden. Beispielsweise kann das Verfahren 600 bei einer Ausführungsform bei einem Ansatz teilweise oder zur Gänze durch ein Element eines DFP durchgeführt werden, wie hierin ausführlicher beschrieben.
  • Im Folgenden beschriebene optionale Operationen sind gemäß verschiedenen Ausführungsformen jene Operationen, die ausgelassen oder einmal durchgeführt werden können, während andere Operationen mehrmals durchgeführt oder von anderen Entitäten sind Systemen durchgeführt werden können und die die Grundlage für andere Operationen bilden.
  • Wie in 6 gezeigt, kann das Verfahren 600 mit einer optionalen Operation 602 beginnen, wobei ein VLAN auf einem lokalen Netz-Switch bei einem Ansatz erstellt wird. Es kann ein beliebiges geeignetes VLAN erstellt werden, z. B. VLAN 4095, VLAN 4096 oder eine andere vorab festgelegte VLAN-ID.
  • Bei einer Ausführungsform kann es sich bei dem lokale Netz-Switch um eine Paketvermittlungs-ASIC oder einen anderen geeigneten, auf dem Gebiet der Technik bekannten Paketvermittlungsprozessor handeln.
  • Bei der optionalen Operation 604 wird ein lokaler Netzanschluss, der mit einem zweckbestimmten Prozessor (z. B. ein zweckbestimmter Prozessor des DFP-Systemelements) verbunden ist, zum VLAN hinzugefügt. Diese Funktion kann bei einem Ansatz unter Verwendung des lokalen Netz-Switch erzielt werden.
  • Bei einem Ansatz kann es sich bei dem zweckbestimmten Prozessor um einen FPGA handeln, der so ausgelegt ist, dass er zumindest die für den zweckbestimmten Prozessor im Verfahren 600 beschriebenen Funktionen durchgeführt.
  • Bei der optionalen Operation 606 wird der zweckbestimmte Prozessor (z. B. ein zweckbestimmter Prozessor des DFP-Systemelements) geladen und initialisiert. Natürlich können auch andere zugehörige Aktionen durchgeführt werden, wie der Fachmann beim Lesen der vorliegenden Beschreibungen versteht.
  • Bei einer weiteren Ausführungsform können die optionalen Operationen 602 bis 606 beim Systemstart eines DFP-Systemelements durchgeführt werden, das den lokalen Netz-Switch aufweist.
  • Bei Operation 608 empfängt der zweckbestimmte Prozessor eine Anforderung an einem DFP-Systemelement zum Leiten zumindest eines Ereignistyps an eine Entität, bei der es sich nicht um einen lokalen Prozessor des DFP-Systemelements handelt, z. B. an einen Systemmaster des DFP-Systems, zu dem das Element gehört. Diese Anforderung kann durch den DFP-Systemmaster initialisiert und vom DFP-Systemelement beantwortet oder ignoriert werden. Wird sie ignoriert, wird das DFP-Systemelement nicht vollständig in das DFP-System integriert.
  • Bei Operation 610 wird eine Bestätigung der Anforderung gesendet, beispielsweise zurück an den DFP-Systemmaster. Die Bestätigung kann Informationen enthalten, z. B. Identifikationsinformationen, Positionsinformationen, Nutzungsinformationen usw. Darüber hinaus kann die Bestätigung bei einem Ansatz vom zweckbestimmten Prozessor gesendet werden.
  • Bei der optionalen Operation 612 wird ermöglicht, dass ein oder mehrere entsprechende lokale Interrupts vernetzt werden (über MSI mit dem lokalen Netz-Switch). Dies kann bei einem Ansatz durch den zweckbestimmten Prozessor oder durch eine andere beliebige geeignete Komponente, Einheit und/oder Logik durchgeführt werden. Die Quell-MAC-Adresse eines Senders für jeden Typ eines lokalen Ereignisses wird gepflegt, und jedes lokale Ereignis kann gleichzeitig an mehrere MAC-Adressen gesendet werden. Jeder Typ eines lokalen Ereignisses kann einer eindeutigen Multicast-MAC-Adresse entsprechen, warm Multicasting bevorzugt wird.
  • Bei Operation 614 wird eine auf einem MSI beruhende Nachricht erstellt und an einen lokalen Prozessor des DFP-Systemelements gesendet, wenn der zumindest eine Ereignistyp auftritt (z. B. bei Auftreten des einen oder der mehreren lokalen Interrupts). Diese auf einem MSI beruhende Nachricht kann Details zu dem zumindest einen Ereignistyp enthalten. Diese Operation kann vom zweckbestimmten Prozessor oder einer anderen geeigneten Komponente, Einheit und/oder Logik durchgeführt werden.
  • Bei Operation 616 wird ein Paket, z. B. ein EL2T-Paket oder ein anderer geeigneter Übertragungspakettyp, erstellt, und Details zu dem zumindest einen Ereignistyp werden in Nutzdaten des Pakets gespeichert. Darüber hinaus ist in den Nutzdaten eine Switch-ID des DFP-Systemelements im DFP-System enthalten. Die Switch-ID des DFP-Systemelements kann im DFP-Systemelement vorprogrammiert sein, wobei dies durch den DFP-Systemmaster entschieden und bereitgestellt wird, usw.
  • Bei einigen Ansätzen beinhalten Details, die zu in dem Paket gespeichert werden können, neben anderen Details, die nicht spezifisch erwähnt sind, aber vom Fachmann beim Lesen der vorliegenden Beschreibungen verstanden werden, die Switch-ID des DFP-Systemelements, die Ereignisquelle, den Ereignistyp, die Ereignispriorität und/oder die MSI-Nutzdaten, ohne jedoch auf diese beschränkt zu sein.
  • Bei Operation 618 wird das Paket, z. B. das EL2T-Paket, über den Netzanschluss, der mit dem lokalen Netz-Switch des DFP-Systemelements verbunden ist, an zumindest eine registrierte Media-Access-Control-(MAC-)Adresse gesendet, um zumindest an den DFP-Systemmaster vermittelt zu werden. Dieses Senden kann bei einem Ansatz durch den zweckbestimmten Prozessor oder eine andere geeignete Einheit, Logik usw. durchgeführt werden. Dieses EL2T-Paket kann bei einem Ansatz über MSI oder ein anderes geeignetes, auf dem Gebiet der Technik bekanntes Übertragungsprotokoll gesendet werden.
  • Bei der optionalen Operation 620 kann das Paket, z. B. das EL2T-Paket, beispielsweise über den lokalen Netz-Switch gemäß einer Layer-2-Unicast-Weiterleitungsdatenbank an seinen Zielort (z. B. den DFP-Systemmaster) vermittelt werden. Natürlich können andere Vermittlungsaktionen durchgeführt werden, z. B. Multicast-Vermittlung und Vermittlung an verschiedene Ziele, z. B. in Reaktion auf mehrere Anforderungen für Ereignisse.
  • Gemäß verschiedenen Ausführungsformen kann das Verfahren 600 unter Verwendung eines zweckbestimmten Prozessors des DFP-Systemelements durchgeführt werden, kann der zweckbestimmte Prozessor ein FPGA sein und/oder kann das zumindest eine Paket ein EL2T-Protokollpaket sein.
  • Bei einer weiteren Ausführungsform kann das zumindest eine Paket eine Switch-ID des DFP-Systemelements und eine Ereignisquelle, einen Ereignistyp, eine Ereignispriorität und MSI-Nutzdaten für jedes der einen oder mehreren lokalen Ereignisse enthalten. Natürlich kann es weitere Details/Informationen außer den hier spezifisch beschriebenen beinhalten, wie der Fachmann beim Lesen der vorliegenden Beschreibungen versteht.
  • Gemäß verschiedenen Ausführungsformen kann das Verfahren 600 durch ein System, einen Computer oder eine andere Einheit durchgeführt werden, das/der/die in der Lage ist, Befehle, Logiken usw. auszuführen.
  • Bei einer solchen Ausführungsform weist ein Computerprogrammprodukt zum Bearbeiten von lokalen Ereignissen ein computerlesbares Speichermedium auf, das einen computerlesbaren Programmcode beinhaltet. Der computerlesbare Programmcode weist auf: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Anforderung an einem DFP-Systemelement zum Leiten zumindest eines Ereignistyps an einen DFP-Systemmaster empfängt, einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Bestätigung der Anforderung zurück an den DFP-Systemmaster sendet; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er ein oder mehrere lokale Ereignisse ermöglicht, die dem zumindest einen zu vernetzenden Ereignistyp entsprechen; bei Auftreten des einen oder der mehreren lokalen Ereignisses: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine auf einem MSI beruhende Nachricht erstellt und an einen lokalen Prozessor des DFP-Systemelements sendet; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er zumindest ein Paket erstellt, in dem Details zu dem einen oder den mehreren lokalen Ereignis verkapselt sind; und einen computerlesbaren Programmcode, der so konfiguriert ist, dass er das zumindest eine Paket über einen lokalen Netz-Switch des DFP-Systemelements an zumindest eine registrierte MAC-Adresse sendet, um es zumindest an den DFP-Systemmaster zu vermitteln.
  • Bei einer weiteren Ausführungsform kann das Computerprogrammprodukt ferner aufweisen: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er ein VLAN am lokalen Netz-Switch erstellt; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er einen lokalen Netzanschluss, der mit dem zweckbestimmten Prozessor verbunden ist, zum VLAN hinzufügt; und einen computerlesbaren Programmcode, der so konfiguriert ist, dass er einen zweckbestimmten Prozessor des DFP-Systemelements beim Hochfahren des DFP-Systemelements lädt und initialisiert.
  • Es wird nun auf 7 Bezug genommen, in der ein Ablaufplan eines Verfahrens 700 gemäß einer Ausführungsform gezeigt ist. Das Verfahren 700 kann gemäß der vorliegenden Erfindung bei verschiedenen Ausführungsformen unter anderem in einer der in den 1 bis 5 gezeigten Umgebungen durchgeführt werden. Natürlich können mehr oder weniger Operationen als die in 7 spezifisch beschriebenen im Verfahren 700 enthalten sein, wie der Fachmann beim Lesen der vorliegenden Beschreibungen versteht.
  • Jeder der Schritte des Verfahrens 700 kann durch eine beliebige geeignete Komponente der Betriebsumgebung durchgeführt werden. Beispielsweise kann das Verfahren 700 bei einer Ausführungsform bei einem Ansatz teilweise oder zur Gänze durch einen DFP-Systemmaster durchgeführt werden, wie hierin ausführlich beschrieben.
  • Im Folgenden beschriebene optionale Operationen sind gemäß verschiedenen Ausführungsformen jene Operationen, die ausgelassen oder einmal durchgeführt werden können, während andere Operationen mehrmals durchgeführt oder von anderen Entitäten sind Systemen durchgeführt werden können, und die die Grundlage für andere Operationen bilden.
  • Wie in 7 gezeigt, kann das Verfahren 700 mit einer optionalen Operation 702 beginnen, wobei ein VLAN bei einem Ansatz auf einem lokalen Netz-Switch (z. B. des DFP-Systemmaster) erstellt wird. Es kann ein beliebiges geeignetes VLAN erstellt werden, z. B. VLAN 4095, VLAN 4096 oder eine andere vorab festgelegte VLAN-ID.
  • Bei einer Ausführungsform kann es sich bei dem lokalen Netz-Switch um eine Paketvermittlungs-ASIC oder einen anderen geeigneten Paketvermittlungsprozessor handeln. Bei einer weiteren Ausführungsform kann die optionale Operation 702 beim Systemstart eines DFP-Systemmaster durchgeführt werden, der den lokalen Netz-Switch aufweist.
  • Bei der optionalen Operation 704 wird ein lokaler Netzanschluss, der mit einem zweckbestimmten Prozessor (z. B. des DFP-Systemmaster) verbunden ist, zum VLAN hinzugefügt. Diese Funktion kann unter Verwendung des lokalen Netz-Switch oder einer anderen geeigneten Einheit erzielt werden.
  • Bei einem Ansatz kann der zweckbestimmte Prozessor ein FPGA sein, der so ausgelegt ist, dass er zumindest die für den zweckbestimmten Prozessor im Verfahren 700 beschriebenen Funktionen durchgeführt.
  • Bei der optionalen Operation 706 wird der zweckbestimmte Prozessor geladen und initialisiert. Natürlich können auch andere zugehörige Aktionen durchgeführt werden, wie der Fachmann beim Lesen der vorliegenden Beschreibungen versteht.
  • Diese Operationen 702 bis 706 können bei einigen Ansätzen beim Hochfahren des DFP-Systemmaster durchgeführt werden.
  • Bei Operation 708 wird eine Anforderung an ein oder mehrere DFP-Systemelemente gesendet, um ein oder mehrere Ereignisse von dem einen oder den mehreren DFP-Systemelementen abzurufen. Bei einem Ansatz kann die Anforderungen durch einen lokalen Prozessor des DFP-Systemmaster initiiert werden. Der lokale Prozessor kann eines oder mehrere des Folgenden aufweisen: eine CPU, eine IC, einen FPGA, eine ASIC oder einen anderen geeigneten Prozessor.
  • Bei einer weiteren Ausführungsform kann jedes DFP-Systemelement ermitteln, welche Ereignisse an das DFP-Systemmaster zu senden sind. Darüber hinaus kann bzw. können das eine oder die mehreren Ereignisse bei einem Ansatz als Daten empfangen werden, die in zumindest einem Paket, z. B. einem EL2T-Protokollpaket, verkapselt sind.
  • Bei einer weiteren Ausführungsform kann es sich bei der Anforderung um ein Multicast-EL2T-Paket handeln, das eine Anforderung für verschiedene Ereignisse enthält. Die Ereignisse können durch ein 64-Bit-Array, ein 128-Bit-Array, ein 256-Bit-Array usw. repräsentiert sein. Jedes Bit kann einen Ereignistyp oder ein anderes Informationselement oder Ereignisdetail anzeigen.
  • Bei Operation 710 empfängt der lokale Prozessor eine oder mehrere Bestätigungen der Anforderung (z. B. von dem einen oder den mehreren DFP-Systemelementen an einem lokalen Netz-Switch des DFP-Systemmaster).
  • Bei einer Ausführungsform kann jede Bestätigung ein Paket, z. B. ein EL2T-Paket, enthalten, das Details zu einem oder mehreren Ereignissen für das DFP-Systemelement beinhaltet, das die Bestätigung gesendet hat,
  • Bei der optionalen Operation 712 kann eine vorab festgelegte Zeitdauer, eine gewisse Zeitdauer nach Empfang einer letzten Bestätigung usw. auf die eine oder mehreren Bestätigungen gewartet werden. Nachdem die Zeitdauer abgelaufen ist, kann angenommen werden, dass alle Bestätigungen empfangen wurden.
  • Gemäß einer Ausführungsform kann bzw. können die eine oder mehreren Bestätigungen von DFP-Systemelementen des DFP-Systems gesendet werden, für das der DFP-Systemmaster ein Master ist.
  • Bei Operation 714 wird bei Empfang eines Pakets (z. B. bei Empfang des zumindest einen Pakets) des zumindest eine Paket entschlüsselt, um Details zu dem einen oder den mehreren Ereignissen abzurufen. Bei einem Ansatz kann der zweckbestimmte Prozessor (z. B. des DFP-Systemmaster) das Entschlüsseln durchführen.
  • Gemäß einigen Ansätzen beinhalten die Details, die im Paket enthalten sein können, neben anderen Details, die hier nicht spezifisch erwähnt sind, aber vom Fachmann beim Lesen der vorliegenden Beschreibungen verstanden werden, die Switch-ID des DFP-Systemelements, das die Ereignisse berichtet, und für jedes berichtete Ereignis: die Ereignisquelle, den Ereignistyp, die Ereignispriorität und/oder die MSI-Nutzdaten, ohne jedoch auf diese beschränkt zu sein.
  • Bei Operation 716 wird eine auf einem MSI beruhende Nachricht erstellt und an den lokalen Prozessor gesendet. Diese auf einem MSI beruhende Nachricht kann so erstellt werden, dass sie die Details zu dem einen oder den mehreren Ereignissen aufweist, und vom dedizierten Prozessor oder einer anderen geeigneten Komponente, Einheit und/oder Logik usw. an den lokalen Prozessor (z. B. des DFP-Systemmaster) gesendet werden. Die MSI-Nachricht, die vom zweckbestimmten Prozessor erzeugt und an den lokalen Prozessor gesendet wird, enthält die Details zu den lokalen Ereignissen, die aus dem Paket entschlüsselt wurden.
  • Bei Operation 718 liest der lokale Prozessor (z. B. des DFP-Systemmaster) die auf einem MSI beruhende Nachricht, um beispielsweise die Ereignisdetails zu ermitteln.
  • Bei der optionalen Operation 720 führt der lokale Prozessor (z. B. des DFP-Systemmaster) entsprechende Aktionen auf der Grundlage der Details zu dem einen oder den mehreren Ereignissen durch, die in der auf einem MSI beruhenden Nachricht enthalten sind.
  • Bei einer solchen Aktion kann es sich darum handeln, dass das DFP-Systemelement angewiesen wird, eine korrigierende Aktion, eine präventive Aktion, eine antwortende Aktion usw. durchzuführen. Eine weitere solche Aktion kann sein, eine Aktion am DFP-Systemmaster durchzuführen, z. B. Senden einer Nachricht, Anweisung, Anforderung usw. an ein oder mehrere DFP-Systemelemente. Eine weitere mögliche Aktion kann sein, ein DFP-Systemelement oder eine Komponente eines DFP-Systemelements neu zu starten, hochzufahren, herunterzufahren oder dessen bzw. deren Betrieb auf eine andere Weise zu beeinflussen. Natürlich können andere Aktionen durchgeführt werden, wie der Fachmann beim Lesen der vorliegenden Beschreibungen versteht.
  • Bei einigen Ansätzen kann es sich bei dem zweckbestimmten Prozessor um ein FPGA handeln und/oder das zumindest eine Paket kann ein EL2T-Protokollpaket sein.
  • Bei einer weiteren Ausführungsform kann das zumindest eine Paket eine Switch-ID des DFP-Systemelements und eine Ereignisquelle, einen Ereignistyp, eine Ereignispriorität und MSI-Nutzdaten für jedes der einen oder mehreren lokalen Ereignisse enthalten, die in dem zumindest einen Paket enthalten sind.
  • Gemäß verschiedenen Ausführungsformen kann das Verfahren 700 durch ein System, einen Computer oder eine andere Einheit durchgeführt werden, das/der/die in der Lage ist, Befehle, Logiken usw. auszuführen.
  • Bei einer solchen Ausführungsform weist ein Computerprogrammprodukt zum Bearbeiten von lokalen Ereignissen ein computerlesbares Speichermedium auf, das einen computerlesbaren Programmcode beinhaltet. Der computerlesbare Programmcode weist auf: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Anforderung an ein oder mehrere DFP-Systemelemente sendet, um ein oder mehrere Ereignisse aus dem einen oder den mehreren DFP-Systemelementen abzurufen, wobei das eine oder die mehreren Ereignisse als in zumindest ein Paket verkapselte Daten empfangen werden; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine oder mehrere Bestätigungen der Anforderung von dem einen oder den mehreren DFP-Systemelementen an einem lokalen Netz-Switch des DFP-Systemmaster empfängt; bei Empfang des zumindest einen Pakets: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er das zumindest eine Paket unter Verwendung eines zweckbestimmten Prozessors des DFP-Systemmaster entschlüsselt, um Details zu dem einen oder den mehreren Ereignissen abzurufen; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine auf einem MSI beruhende Nachricht, die die Details zu dem einen oder den mehreren Ereignissen aufweist, unter Verwendung des zweckbestimmten Prozessors erstellt und an einen lokalen Prozessor des DFP-Systemmaster sendet; und einen computerlesbaren Programmcode, der so konfiguriert ist, dass er die auf einem MSI beruhende Nachricht unter Verwendung des lokalen Prozessors des DFP-Systemmaster liest.
  • Bei einer weiteren Ausführungsform kann das Computerprogrammprodukt ferner aufweisen: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er ein VLAN am lokalen Netz-Switch erstellt; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er einen lokalen Netzanschluss, der mit dem zweckbestimmten Prozessor verbunden ist, zum VLAN hinzufügt; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er den zweckbestimmten Prozessor des DFP-Systemelements beim Hochfahren des DFP-Systemmaster lädt und initialisiert; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine vorab festgelegte Zeitdauer auf die eine oder mehreren Bestätigungen wartet; und einen computerlesbaren Programmcode, der so konfiguriert ist, dass er entsprechende Aktionen auf der Grundlage der Details zu dem einen oder den mehreren Ereignissen durchführt, die in der auf einem MSI beruhenden Nachricht enthalten sind.
  • Obwohl oben verschiedene Ausführungsformen beschrieben wurden, sei verstanden, dass sie lediglich beispielhaft und nicht einschränkend dargeboten wurden. Somit sollten die Breite und der Umfang einer Ausführungsform der vorliegenden Erfindung durch keine der oben beschriebenen beispielhaften Ausführungsformen beschränkt sein, sondern sollten nur gemäß den folgenden Ansprüchen und deren Äquivalente definiert sein.

Claims (15)

  1. System, das aufweist: einen lokalen Prozessor; einen Peripheral-Component-Interconnect-Express-(PCIe-)Switch, der elektrisch mit dem lokalen Prozessor verbunden ist; eine oder mehrere Quellen lokaler Interrupts, die so ausgelegt sind, dass sie ein oder mehrere lokale Ereignisse erstellen, die Ausnahmen des normalen Betriebs anzeigen; einen zweckbestimmten Prozessor, der elektrisch mit dem einen oder den mehreren Quellen lokaler Ereignisse und dem PCIe-Switch verbunden ist; und einen lokalen Netz-Switch, der elektrisch mit dem zweckbestimmten Prozessor und dem PCIe-Switch verbunden ist, wobei der zweckbestimmte Prozessor so ausgelegt ist, dass er das eine oder die mehreren lokalen Ereignisse verpackt und die verpackten Ereignisse als einen oder mehrere lokale Interrupts an den lokalen Netz-Switch sendet.
  2. System nach Anspruch 1, wobei das System entweder ein Element eines Distributed-Fabric-Protocol-(DFP-)Systems, eines DFP-Systemmaster oder eines DFP-Standby ist, und/oder wobei es sich bei dem lokalen Prozessor um eine Zentraleinheit (CPU) handelt, die so ausgelegt ist, dass sie Operationen des Systems steuert, darunter das Bearbeiten des einen oder der mehreren lokalen Interrupts, und/oder wobei der zweckbestimmte Prozessor so ausgelegt ist, dass er einen oder mehrere Interrupts an den lokalen Prozessor auf der Grundlage des einen oder der mehreren Ereignisse erzeugt, die von den Quellen lokaler Interrupts empfangen wurden, dass er Multicast- oder Unicast-Pakete erstellt, in denen Details zu dem einen oder den mehreren lokalen Ereignissen verkapselt sind, und dass er die Multicast- oder Unicast-Pakete an den lokalen Netz-Switch sendet.
  3. System nach Anspruch 2, wobei es sich bei dem zweckbestimmten Prozessor um ein vor Ort programmierbares Gate-Array (FPGA) handelt und die Pakete Enhanced-Layer-2-Transport-(EL2T-)Protokollpakete sind, und/oder wobei der lokale Netz-Switch so ausgelegt ist, dass er die Multicast- oder Unicast-Pakete, in denen Details zu dem einen oder den mehreren lokalen Ereignissen verkapselt sind, an einen fernen Distributed-Fabric-Protocol-(DFP-)Systemmaster sendet.
  4. System nach Anspruch 1, wobei es sich bei dem lokalen Netz-Switch um eine anwendungsspezifische integrierte Schaltung (ASIC) mit Paketvermittlung handelt und so ausgelegt ist, dass sie interne Pakete vom zweckbestimmten Prozessor empfängt, die außerhalb des Systems zu senden sind, und dass sie die internen Pakete an eine externe Einheit sendet und externe Pakete von der externen Einheit empfängt und die externen Pakete an den zweckbestimmten Prozessor sendet, und/oder wobei es sich bei dem zweckbestimmten Prozessor um ein vor Ort programmierbares Gate-Array (FPGA) handelt, wobei der zweckbestimmte Prozessor so ausgelegt ist, dass er Multicast- oder Unicast-Enhanced Layer-2-Transport-(EL2T-)Protokollpakete erstellt, in denen Details zu dem einen oder den mehreren lokalen Ereignissen verkapselt sind, die von der einen oder den mehreren Quellen lokalen Interrupts empfangen wurden, wobei der zweckbestimmte Prozessor so ausgelegt ist, dass er die Multicast- oder Unicast-EL2T-Pakete an den lokalen Netz-Switch sendet, und wobei der lokale Netz-Switch so ausgelegt ist, dass er die Multicast- oder Unicast-EL2T-Pakete, in denen Details zu dem einen oder den mehreren lokalen Ereignissen verkapselt sind, an einen Distributed-Fabric-Protocol-(DFP-)Systemmaster sendet, und/oder wobei es sich bei dem lokalen Prozessor um eine Zentraleinheit (CPU) handelt, die so ausgelegt ist, dass sie Operationen des Systems steuert, darunter das Bearbeiten des einen oder der mehreren lokalen Interrupts, und dass sie externe Interrupts von externen Quellen bearbeitet.
  5. System nach Anspruch 1, wobei der zweckbestimmte Prozessor so ausgelegt ist, dass er einen oder mehrere Interrupts an den lokalen Prozessor auf der Grundlage des einen oder der mehreren lokalen Ereignisse erzeugt, die von den Quellen lokaler Interrupts empfangen wurden, dass er Multicast- oder Unicast-Pakete empfängt, in denen Details zu externen Ereignissen verkapselt sind, die vom lokalen Netz-Switch weitergeleitet wurden, und dass er die Multicast- oder Unicast-Pakete entschlüsselt, um Details zu den externen Ereignissen zu ermitteln, und dass er lokale Interrupts an den lokalen Prozessor erzeugt.
  6. System nach Anspruch 5, wobei es sich bei dem lokalen Netz-Switch um eine anwendungsspezifische integrierte Schaltung (ASIC) mit Paketvermittlung handelt und so ausgelegt ist, dass sie die Muiticast- oder Unicast-Pakete, in denen Details zu den externen Ereignissen verkapselt sind, von einem oder mehreren Distributed-Fabric-Protocol-(DFP-)Systemelementen empfängt, die die externen Ereignisse erzeugt haben.
  7. System nach Anspruch 1, wobei es sich bei dem zweckbestimmten Prozessor um ein feldprogrammierbares Gate-Array (FPGA) handelt, wobei der zweckbestimmte Prozessor so ausgelegt ist, dass er Multicast- oder Unicast-Enhanced-Layer-2-Transport-(EL2T-)Protokollpakete empfängt, in denen Details zu den externen Ereignissen verkapselt sind, die von dem lokalen Netz-Switch weitergeleitet wurden, wobei der zweckbestimmte Prozessor so ausgelegt ist, dass er die Multicast- oder Unicast-EL2T-Pakete entschlüsselt, um Details zu den externen Ereignissen zu ermitteln, die in den Multicast- oder Unicast-EL2T-Paketen verkapselt sind, wobei der zweckbestimmte Prozessor so ausgelegt ist, dass er ein Message Signaled Interrupts (MSIs) an den lokalen Prozessor auf der Grundlage der Details zu den externen Ereignissen sendet, wobei der lokale Netz-Switch eine anwendungsspezifische integrierte Schaltung (ASIC) mit Paketvermittlung ist und so ausgelegt ist, dass sie die Multicast- oder Unicast-EL2T-Pakete, in denen Details zu den externen Ereignissen verkapselt sind, von einem oder mehreren Distributed-Fabric-Protocol-(DFP-)Systemelementen empfängt, die die externen Ereignisse erzeugt haben, und wobei der lokale Prozessor so ausgelegt ist, dass er die externen Ereignisse durch Vorinstallieren von Interrupt-Service-Routinen (ISRs) bearbeitet.
  8. Computerprogrammprodukt zum Bearbeiten von lokalen Interrupts, wobei das Computerprogrammprodukt ein computerlesbares Speichermedium aufweist, das einen computerlesbaren Programmcode beinhaltet, wobei der computerlesbare Programmcode aufweist: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Anforderungen an einem Distributed-Fabric-Protocol-(DFP-)Systemelement zum Leiten zumindest eines Ereignistyps an einen DFP-Systemmaster empfängt; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Bestätigung der Anforderung zurück an den DFP-Systemmaster sendet; bei Auftreten des zumindest einen Ereignistyps: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er ein Message Signaled Interrupt (MSI) an einen lokalen Prozessor des DFP-Systemelements sendet; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er zumindest ein Paket erstellt, in dem Details zu dem zumindest einen Ereignistyp verkapselt sind; und einen computerlesbaren Programmcode, der so konfiguriert ist, dass er das zumindest eine Paket über einen lokalen Netz-Switch des DFP-Systemelements an zumindest eine registrierte Media-Access-Control-(MAC-)Adresse sendet, um es zumindest an den DFP-Systemmaster zu vermitteln.
  9. Computerprogrammprodukt nach Anspruch 8, das ferner aufweist: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er ein virtuelles lokales Netz (VLAN) auf dem lokalen Netz-Switch erstellt; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er einen lokalen Netzanschluss, der mit dem zweckbestimmten Prozessor verbunden ist, zum VLAN hinzufügt; und einen computerlesbaren Programmcode, der so konfiguriert ist, dass er einen zweckbestimmten Prozessor des DFP-Systemelements beim Hochfahren des DFP-Systemelements lädt und initialisiert.
  10. Computerprogrammprodukt zum Bearbeiten von lokalen Interrupts, wobei das Computerprogrammprodukt ein computerlesbares Speichermedium aufweist, das einen computerlesbaren Programmcode beinhaltet, wobei der computerlesbare Programmcode aufweist: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Anforderung an ein oder mehrere Distributed-Fabric-Protocol-(DFP-)Systemelemente sendet, um ein oder mehrere Ereignisse aus dem einen oder den mehreren DFP-Systemelementen abzurufen, wobei das eine oder die mehreren Ereignisse als in zumindest ein Paket verkapselte Daten empfangen werden; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine oder mehrere Bestätigungen der Anforderung von dem einen oder den mehreren DFP-Systemelementen an einem lokalen Netz-Switch des DFP-Systemmaster empfängt; bei Empfang des zumindest einen Pakets: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er das zumindest eine Paket unter Verwendung eines zweckbestimmten Prozessors des DFP-Systemmaster entschlüsselt, um Details zu dem einen oder den mehreren Ereignissen abzurufen; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er einen Message Signaled Interrupt (MSI), der die Details zu dem einen oder den mehreren Ereignissen aufweist, unter Verwendung des zweckbestimmten Prozessors erstellt und an einen lokalen Prozessor des DFP-Systemmaster sendet; und einen computerlesbaren Programmcode, der so konfiguriert ist, dass er den MSI unter Verwendung des lokalen Prozessors des DFP-Systemmaster liest.
  11. Computerprogrammprodukt nach Anspruch 10, das ferner aufweist: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er ein virtuelles lokales Netz (VLAN) auf dem lokalen Netz-Switch erstellt; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er einen lokalen Netzanschluss, der mit dem zweckbestimmten Prozessor verbunden ist, zum VLAN hinzufügt; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er einen zweckbestimmten Prozessor des DFP-Systemmaster beim Hochfahren des DFP-Systemmaster lädt und initialisiert; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine vorab festgelegte Zeitdauer auf die eine oder mehreren Bestätigungen wartet; und einen computerlesbaren Programmcode, der so konfiguriert ist, dass er entsprechende Aktionen auf der Grundlage der Details des einen oder der mehreren Ereignisse durchführt, die im MSI enthalten sind, durch Vorinstallieren von entsprechenden Interrupt-Service-Routinen (ISRs).
  12. Verfahren, das aufweist: Empfangen einer Anforderung an einem Distributed-Fabric-Protocol-(DFP-)Systemelement zum Leiten zumindest eines Ereignistyps an einen DFP-Systemmaster; Senden einer Bestätigung der Anforderung zurück an den DFP-Systemmaster; bei Auftreten des zumindest einen Ereignistyps: Erstellen und Senden eines Message Signaled Interrupt (MSI) an einen lokalen Prozessor des DFP-Systemelements; Erstellen zumindest eines Pakets, in dem Details zu dem zumindest einen Ereignistyp verkapselt sind; und Senden des zumindest einen Pakets über einen lokalen Netz-Switch des DFP-Systemelements an zumindest eine registrierte Media-Access-Control-(MAC-)Adresse, um es zumindest an den DFP-Systemmaster zu vermitteln.
  13. Verfahren nach Anspruch 12, wobei das Verfahren unter Verwendung eines zweckbestimmten Prozessors des DFP-Systemelements durchgeführt wird, wobei der zweckbestimmte Prozessor ein feldprogrammierbares Gate-Array (FPGA) ist, und wobei das zumindest eine Paket ein Enhanced-Layer-2-Transport-(EL2T-)Protokollpaket ist, und/oder wobei das zumindest eine Paket eine Switch-ID des DFP-Systemelements und eine Ereignisquelle, einen Ereignistyp, eine Ereignispriorität und MSI-Nutzdaten für jeden des zumindest einen Ereignistyps enthält, und wobei das Verfahren ferner aufweist: Vermitteln des zumindest einen Pakets an zumindest den DFP-Systemmaster unter Verwendung des lokalen Netz-Switch.
  14. Verfahren, das aufweist: Senden einer Anforderung an ein oder mehrere Distributed-Fabric-Protocol-(DFP-)Systemelemente, um ein oder mehrere Ereignisse aus dem einen oder den mehreren DFP-Systemelementen abzurufen, wobei das eine oder die mehreren Ereignisse als in zumindest ein Paket verkapselte Daten empfangen werden; Empfangen einer oder mehrerer Bestätigungen der Anforderung von dem einen oder den mehreren DFP-Systemelementen an einem lokalen Netz-Switch des DFP-Systemmaster bei Empfang des zumindest einen Pakets: Entschlüsseln des zumindest einen Pakets unter Verwendung eines zweckbestimmten Prozessors des DFP-Systemmaster, um Details zu dem einen oder den mehreren Ereignissen abzurufen; Erstellen eines Message Signaled Interrupt (MSI), der die Details zu dem einen oder den mehreren Ereignissen aufweist, unter Verwendung des zweckbestimmten Prozessors und Senden von diesem an einen lokalen Prozessor des DFP-Systemmaster; und Lesen des MSI unter Verwendung des lokalen Prozessors des DFP-Systemmaster.
  15. Verfahren nach Anspruch 14, wobei das Verfahren unter Verwendung eines zweckbestimmten Prozessors des DFP-Systemmaster durchgeführt wird, wobei der zweckbestimmte Prozessor ein vor Ort programmierbares Gate-Array (FPGA) ist, und wobei das zumindest eine Paket ein Enhanced-Layer-2-Transport-(EL2T-)Protokollpaket ist, und/oder wobei das zumindest eine Paket eine Switch-ID des DFP-Systemelements und eine Ereignisquelle, einen Ereignistyp, eine Ereignispriorität und MSI-Nutzdaten für jedes der einen oder mehreren Ereignisse enthält, die in dem zumindest einen Paket enthalten sind.
DE102013209306A 2012-06-01 2013-05-21 Bereitstellen von Echtzeit-Interrupts über Ethernet Pending DE102013209306A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/487,082 2012-06-01
US13/487,082 US8966148B2 (en) 2012-06-01 2012-06-01 Providing real-time interrupts over Ethernet

Publications (1)

Publication Number Publication Date
DE102013209306A1 true DE102013209306A1 (de) 2013-12-05

Family

ID=49579677

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013209306A Pending DE102013209306A1 (de) 2012-06-01 2013-05-21 Bereitstellen von Echtzeit-Interrupts über Ethernet

Country Status (2)

Country Link
US (2) US8966148B2 (de)
DE (1) DE102013209306A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8966148B2 (en) * 2012-06-01 2015-02-24 International Business Machines Corporation Providing real-time interrupts over Ethernet
US8984201B2 (en) 2012-06-01 2015-03-17 International Business Machines Corporation Providing I2C bus over Ethernet
CN104197299A (zh) * 2014-08-21 2014-12-10 浙江生辉照明有限公司 照明装置及基于该装置的语音播报系统及方法
US9746893B1 (en) * 2014-10-28 2017-08-29 Google Inc. Delaying power restoration
US10698711B2 (en) * 2015-07-01 2020-06-30 The American University In Cairo Cloud computing systems
CN113660481B (zh) * 2021-07-08 2023-09-01 深圳市锐明技术股份有限公司 一种端口检测方法、视频处理电路及视频监控设备
US20230315659A1 (en) * 2022-03-29 2023-10-05 Mellanox Technologies, Ltd. Interrupt emulation on network devices

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999061994A1 (en) * 1998-05-23 1999-12-02 Aristocrat Technologies Australia Pty Ltd Secured inter-processor and virtual device communications system
US20050058149A1 (en) * 1998-08-19 2005-03-17 Howe Wayne Richard Time-scheduled and time-reservation packet switching
US20030023709A1 (en) * 2001-02-28 2003-01-30 Alvarez Mario F. Embedded controller and node management architecture for a modular optical network, and methods and apparatus therefor
US7188364B2 (en) 2001-12-20 2007-03-06 Cranite Systems, Inc. Personal virtual bridged local area networks
US7299277B1 (en) 2002-01-10 2007-11-20 Network General Technology Media module apparatus and method for use in a network monitoring environment
US7274703B2 (en) * 2002-03-11 2007-09-25 3Com Corporation Stackable network units with resiliency facility
US7209435B1 (en) 2002-04-16 2007-04-24 Foundry Networks, Inc. System and method for providing network route redundancy across Layer 2 devices
US7240130B2 (en) 2003-06-12 2007-07-03 Hewlett-Packard Development Company, L.P. Method of transmitting data through an 12C router
US7010639B2 (en) 2003-06-12 2006-03-07 Hewlett-Packard Development Company, L.P. Inter integrated circuit bus router for preventing communication to an unauthorized port
EP1766865B1 (de) 2004-05-25 2013-08-21 Nortel Networks Limited Konnektivitätsfehler-benachrichtigung
US7466922B2 (en) 2004-06-28 2008-12-16 Jds Uniphase Corporation Flexible control and status architecture for optical modules
US7444453B2 (en) 2006-01-03 2008-10-28 International Business Machines Corporation Address translation device
US7562176B2 (en) * 2007-02-28 2009-07-14 Lsi Corporation Apparatus and methods for clustering multiple independent PCI express hierarchies
US7805556B2 (en) * 2007-05-01 2010-09-28 Ricoh Company, Ltd. Interrupt control apparatus, bus bridge, bus switch, image processing apparatus, and interrupt control method
US8358591B2 (en) * 2007-06-06 2013-01-22 Hewlett-Packard Development Company, L.P. Network traffic monitoring in a server network environment
US8165119B2 (en) 2008-06-30 2012-04-24 Dell Products, Lp System and method of enabling a transparent Ethernet switch
US20100185896A1 (en) * 2009-01-22 2010-07-22 International Business Machines Corporation Method and apparatus for fully redundant control of low-speed peripherals
FR2949931B1 (fr) * 2009-09-10 2011-08-26 Canon Kk Procedes et dispositifs de transmission d'un flux de donnees, produit programme d'ordinateur et moyen de stockage correspondants.
US8351433B2 (en) 2009-09-18 2013-01-08 Schweitzer Engineering Laboratories Inc Intelligent electronic device with segregated real-time ethernet
US9876735B2 (en) * 2009-10-30 2018-01-23 Iii Holdings 2, Llc Performance and power optimized computer system architectures and methods leveraging power optimized tree fabric interconnect
US8572635B2 (en) * 2010-06-23 2013-10-29 International Business Machines Corporation Converting a message signaled interruption into an I/O adapter event notification
WO2012150608A1 (en) * 2011-04-30 2012-11-08 Ineda Systems Pvt. Ltd Peripheral device sharing in multi host computing systems
US8984201B2 (en) 2012-06-01 2015-03-17 International Business Machines Corporation Providing I2C bus over Ethernet
US8966148B2 (en) * 2012-06-01 2015-02-24 International Business Machines Corporation Providing real-time interrupts over Ethernet

Also Published As

Publication number Publication date
US20130322264A1 (en) 2013-12-05
US20150139246A1 (en) 2015-05-21
US8966148B2 (en) 2015-02-24
US9654421B2 (en) 2017-05-16

Similar Documents

Publication Publication Date Title
DE102013209306A1 (de) Bereitstellen von Echtzeit-Interrupts über Ethernet
US20200204450A1 (en) Method, Apparatus, and System for Implementing Software-Defined Network SDN
DE112016000258B4 (de) Gruppieren von nichtflüchtigem speicher auf grundlage von hosts mithilfe von zugeordnetem netzwerkspeicher
DE112013000731B4 (de) Skalierbare virtuelle Geräte-Cloud
DE112012001753B4 (de) 3 -Anmeldesequenz für eine Fibre-Channel-Weiterleiterstruktur
DE112011102415B4 (de) Registerzugriff in einer verteilten virtuellen Brückenumgebung
DE102018006890A1 (de) Technologien zur Verarbeitung von Netzpaketen durch einen intelligenten Netzwerk-Schnittstellenkontroller
US10313380B2 (en) System and method for centralized virtual interface card driver logging in a network environment
DE102019105193A1 (de) Technologien zum beschleunigen von edge-vorrichtungsarbeitslasten
DE112013006420B4 (de) Erweiterte Verbindungszusammenfassung (LAG) zur Nutzung in mehreren Switsches
DE112013000506B4 (de) Verwaltungsprotokoll für verteilte Strukturen
DE112013001904B4 (de) Paketvermittlung auf der Ebene 2 ohne Nachschlagetabelle für Ethernet-Switches
DE112012002404B4 (de) Konfiguration und Management virtueller Netzwerke
DE112013003180T5 (de) Verfahren, System und Gerät zum Verwalten von Server-Hardware-Resourcen in einer Cloud-Scheduling-Umgebung
DE112013002270T5 (de) Bereitstellen von Diensten für virtuellen Overlay-Netzwerkverkehr
DE102008030587A1 (de) Verfahren und Vorrichtung zur Erhöhung der Effizienz der Interrupt-Lieferung zur Laufzeit in einem Netzwerksystem
DE102018129112A1 (de) Systemdecoder für Trainingsbeschleuniger
DE102018004111A1 (de) Datencenter-Leistungsmanagement
CN104038570B (zh) 一种数据处理方法及装置
DE112014002799T5 (de) Bereitstellen einer sicheren Kunden-Domäne in einer virtualisierten Mehr-Mieter-Umgebung
DE102018202432A1 (de) Strukturunterstützung für die Dienstgüte
DE112018007780T5 (de) Transparente verschlüsselung
DE112019000965T5 (de) Technologien zur reduzierung der nic-anschlüsse mit beschleunigter schaltung
WO2020247400A1 (en) Highly-scalable, software-defined, in-network multicasting of load statistics data
CN106657279A (zh) 一种网络业务加速方法和设备

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0013240000

Ipc: H04L0012280000

R016 Response to examination communication
R016 Response to examination communication
R084 Declaration of willingness to licence