DE102013209515A1 - Bereitstellen eines I2C-Busses über Ethernet - Google Patents

Bereitstellen eines I2C-Busses über Ethernet Download PDF

Info

Publication number
DE102013209515A1
DE102013209515A1 DE102013209515A DE102013209515A DE102013209515A1 DE 102013209515 A1 DE102013209515 A1 DE 102013209515A1 DE 102013209515 A DE102013209515 A DE 102013209515A DE 102013209515 A DE102013209515 A DE 102013209515A DE 102013209515 A1 DE102013209515 A1 DE 102013209515A1
Authority
DE
Germany
Prior art keywords
local
dfp
dfp system
bus units
processor
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.)
Granted
Application number
DE102013209515A
Other languages
English (en)
Other versions
DE102013209515B4 (de
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 DE102013209515A1 publication Critical patent/DE102013209515A1/de
Application granted granted Critical
Publication of DE102013209515B4 publication Critical patent/DE102013209515B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • 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
    • 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/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • 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
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/24Interrupt
    • G06F2213/2424Interrupt packet, e.g. event
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/162Implementing security features at a particular protocol layer at the data link layer

Abstract

Bei einer Ausführungsform enthält ein System einen lokalen Prozessor, einen Peripheral-Component-Interconnect-Express-(PCIe-) Switch, der elektrisch mit dem lokalen Prozessor verbunden ist, eine oder mehrere lokale I2C-Bus-Einheiten, einen zweckbestimmten Prozessor, der elektrisch mit der einen oder den mehreren lokalen I2C-Bus-Einheiten 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 Interrupts von der einen oder den mehreren lokalen I2C-Bus-Einheiten an den lokalen Prozessor leitet, und wobei der lokale Prozessor so ausgelegt ist, dass er die Interrupts von der einen oder den mehreren lokalen I2C-Bus-Einheiten bearbeitet. Andere Distributed-Fabric-Protocol-(DFP-)Systeme, Computerprogrammprodukte und Verfahren werden gemäß weiteren Ausführungsformen vorgestellt.

Description

  • Hintergrund
  • Die vorliegende Erfindung bezieht sich auf Ethernet-Switches und Vermittlung, und insbesondere bezieht sich diese Erfindung auf das Bereitstellen eines I2C-Busses über Ethernet.
  • Ein beträchtlicher Teil von Netz-Switches hat verschiedene Einheiten, die einen I2C-Bus als Schnittstelle mit einem gegenüber dem Netz-Switch externen lokalen Host oder mit einem lokalen Prozessor des Netz-Switch, z.B. einer Zentraleinheit (CPU, Central Processing Unit) verwenden. Einheiten, die Daten über einen I2C-Bus austauschen, werden im gesamten Dokument als I2C-Bus-Einheiten bezeichnet. Diese I2C-Bus-Einheiten werden für gewöhnlich vom lokalen Prozessor über den I2C-Bus des Netz-Switch gesteuert. Einige typische I2C-Bus-Einheiten beinhalten Lüftersteuereinheiten, Netzteile, verschiedene Wärmemessanzeigen, einen seriellen elektrisch löschbaren programmierbaren Nur-Lese-Speicher (SEEPROM, Serial Electrically Erasable Programmable Read Only Memory), Speicher verschiedener Subeinheiten usw., ohne jedoch auf diese beschränkt zu sein. Bei horizontal skalierten Cell-Based Distributed Fabric Protocol (cDFP)- und/oder Ethernet-Based Distributed Fabric Protocol (eDFP)-Systemen (die hier zusammenfassend als DFP-Systeme bezeichnet werden) gibt es mehrere einzelne Systemelemente, die vom Systemmaster in Echtzeit gesteuert werden müssen, um korrekt zu funktionieren. Bei herkömmlichen verteilten Systemen oder Clusters gibt es jedoch keine Möglichkeit, einen Echtzeit-I2C-Bus über Ethernet bereitzustellen.
  • Kurzdarstellung
  • Bei einer Ausführungsform enthält ein System einen lokalen Prozessor, einen Peripheral-Component-Interconnect-Express-(PCIe-) Switch, der elektrisch mit dem lokalen Prozessor verbunden ist, eine oder mehrere lokale I2C-Bus-Einheiten, einen zweckbestimmten Prozessor (dedicated processor), der elektrisch mit der einen oder den mehreren lokalen I2C-Bus-Einheiten 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 Interrupts von der einen oder den mehreren lokalen I2C-Bus-Einheiten an den lokalen Prozessor leitet, und wobei der lokale Prozessor so ausgelegt ist, dass er den Interrupt von der einen oder den mehreren lokalen I2C-Bus-Einheiten bearbeitet.
  • Bei einer weiteren Ausführungsform enthält ein Computerprogrammprodukt ein computerlesbares Speichermedium, das einen computerlesbaren Programmcode aufweist, wobei der computerlesbare Programmcode beinhaltet: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er unter Verwendung eines lokalen Prozessors über einen zweckbestimmten n Prozessor auf jede lokale I2C-Bus-Einheit zugreift, um festzustellen, welche lokalen I2C-Bus-Einheiten auf einem Distributed-Fabric-Protocol-(DFP-)Systemelement vorhanden sind, einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Anforderung von einem fernen DFP-Systemmaster zum Registrieren von lokalen I2C-Bus-Einheiten auf dem DFP-Systemelement empfängt, um den Zugriff auf die lokalen I2C-Bus-Einheiten zu ermöglichen, die dem fernen DFP-Systemmaster bereitzustellen sind, einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Bestätigung der Anforderung zurück an den fernen DFP-Systemmaster sendet, wobei die Bestätigung eine Liste der lokalen I2C-Bus-Einheiten und deren bestimmter Offsets beinhaltet, einen computerlesbaren Programmcode, der so konfiguriert ist, dass er das Vernetzen der lokalen I2C-Bus-Einheiten ermöglicht, einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Leseanforderung vom DFP-Systemmaster zum Lesen zumindest einer der lokalen I2C-Bus-Einheiten empfängt und die Identität der Leseanforderung prüft, einen computerlesbaren Programmcode, der so konfiguriert ist, dass er Details zu der zumindest einen der lokalen I2C-Bus-Einheiten in ein gleiches Paket verkapselt, in dem die Leseanforderung empfangen wurde, und einen computerlesbaren Programmcode, der so konfiguriert ist, dass er das gleiche Paket in Reaktion auf die auf Identität geprüfte Leseanforderung über einen Netzanschluss, der mit dem lokalen Netz-Switch des DFP-Systemelements verbunden ist, an zumindest eine registrierte Media-AccessControl-(MAC-) Adresse sendet, um es zumindest an den DFP-Systemmaster zu vermitteln.
  • Bei einer noch weiteren Ausführungsform enthält ein Computerprogrammprodukt ein computerlesbares Speichermedium, das einen computerlesbaren Programmcode aufweist, wobei der computerlesbare Programmcode beinhaltet: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Nachricht an ein oder mehrere DFP-Systemelemente sendet, um einen Masterstatus über dem einen oder den mehreren DFP-Systemelementen zu bilden, wobei die Nachricht eine Anforderung zum Registrieren von lokalen I2C-Bus-Einheiten auf jedem DFP-Systemelement bei einem DFP-Systemmaster enthält, 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, wobei jede Bestätigung zumindest ein Paket enthält, in dem Details zu einer oder mehreren lokalen I2C-Bus-Einheiten verkapselt sind, die beim fernen DFP-Systemmaster zu registrieren sind; bei Empfang des zumindest einen Pakets: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er das zumindest eine Paket unter Verwendung eines zweckbestimmten Prozessor des DFP-Systemmaster entschlüsselt, um Details zu der einen oder den mehreren lokalen I2C-Bus-Einheiten abzurufen, einen computerlesbaren Programmcode, der so konfiguriert ist, dass er alle I2C-Bus-Einheiten vom jedem des einen oder der mehreren DFP-Systemelemente unter Verwendung der in dem zumindest einen Paket enthaltenen Details unter Verwendung eines lokalen Prozessors des DFP-Systemmaster zuordnet, und einen computerlesbaren Programmcode, der so konfiguriert ist, dass er unter Verwendung des lokalen Prozessors des DFP-Systemmaster auf die registrierten I2C-Bus-Einheiten auf dem einen oder den mehreren DFP-Systemelementen zugreift.
  • Bei einer weiteren Ausführungsform beinhaltet ein Verfahren Zugreifen auf jede lokale I2C-Bus-Einheit unter Verwendung eines lokalen Prozessors über einen zweckbestimmten Prozessor, um festzustellen, welche lokalen I2C-Bus-Einheiten auf einem DFP-Systemelement vorhanden sind, Empfangen einer Anforderung von einem fernen DFP-Systemmaster zum Registrieren von lokalen I2C-Bus-Einheiten auf dem DFP-Systemelement, um den Zugriff auf die lokalen I2C-Bus-Einheiten zu ermöglichen, die dem DFP-Systemmaster bereitzustellen sind, Senden einer Bestätigung der Anforderung zurück an den DFP-Systemmaster, wobei die Bestätigung eine Liste der lokalen I2C-Bus-Einheiten und deren bestimmter Offsets enthält, Ermöglichen des Vernetzens der lokalen I2C-Bus-Einheiten, Empfangen einer Leseanforderung vom DFP-Systemmaster zum Lesen zumindest einer der lokalen I2C-Bus-Einheiten und Prüfen der Identität der Leseanforderung, Verkapseln von Details zu der zumindest einen der lokalen I2C-Bus-Einheiten in ein gleiches Paket, in dem die Leseanforderung empfangen wurde, und Senden des gleichen Pakets in Reaktion auf die auf Identität geprüfte Leseanforderung über einen Netzanschluss, der mit dem lokalen Netz-Switch des DFP-Systemelements verbunden ist, an zumindest eine registrierte MAC-Adresse, um es zumindest an den DFP-Systemmaster zu vermitteln.
  • Gemäß einer noch weiteren Ausführungsform beinhaltet ein Verfahren Senden einer Nachricht an ein oder mehrere DFP-Systemelemente, um einen Masterstatus über dem einen oder den mehreren DFP-Systemelementen zu bilden, wobei die Nachricht eine Anforderung zum Registrieren von I2C-Bus-Einheiten auf jedem DFP-Systemelement (entfernte I2C-Buseinheiten) bei einem DFP-Systemmaster enthält, Empfangen von einer oder mehreren Bestätigungen der Anforderung von dem einen oder den mehreren DFP-Systemelementen an einem lokalen Netz-Switch des DFP-Systemmaster, wobei jede Bestätigung zumindest ein Paket enthält, in dem Details zu einer oder mehreren fernen I2C-Bus-Einheiten verkapselt sind, die beim DFP-Systemmaster zu registrieren sind; bei Empfang des zumindest einen Pakets: Entschlüsseln des zumindest einen Pakets unter Verwendung eines zweckbestimmten Prozessors des DFP-Systemmaster, um Details zu der einen oder den mehreren fernen I2C-Bus-Einheiten abzurufen, Zuordnen aller fernen I2C-Bus-Einheiten von jedem des einen oder der mehreren DFP-Systemelemente als lokale I2C-Bus-Einheiten unter Verwendung der in dem zumindest einen Paket enthaltenen Details unter Verwendung eines lokalen Prozessors des DFP-Systemmaster, Installieren von I2C-Treibern für alle zugeordneten I2C-Bus-Einheiten am lokalen Prozessor, Zugreifen auf die zugeordneten I2C-Bus-Einheiten auf dem einen oder den mehreren DFP-Systemelementen unter Verwendung des lokalen Prozessors des DFP-Systemmaster unter Verwendung von Software-Treiber-Anwendungsprogrammschnittstellen (APIs, Application Programming Interfaces), und Installieren einer Interrupt-Service-Routine (ISR, Interrupt Service Routine) für alle entfernt erzeugten Interrupts, die von den zugeordneten I2C-Bus-Einheiten produziert wurden, die an den DFP-Systemmaster gesendet werden, wobei die entfernt erzeugten Interrupts durch zweckbestimmte Prozessoren des einen oder der mehreren DFP-Systemelemente an den DFP-Systemmaster gesendet werden.
  • 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.
  • Bei einem Ansatz kann ein Systemmaster eines Distributed-Fabric-Protocol-(DFP-)Systems oder -Cluster bereitgestellt werden, der in der Lage ist, die I2C-Bus-Einheiten eines fernen Elements zu lesen, um die Funktionalität des DFP-Systems oder -Cluster sowie die Echtzeit-Beschaffenheit des DFP zu verbessern, wobei beides wiederum die Systemnutzbarkeit steigert. Bei einigen weiteren Ausführungsformen kann der Systemmaster in der Lage sein, die Steuerung einer oder mehrerer I2C-Bus-Einheiten des Elements auszuüben, um die Steuerung des gesamten DFP-System zu bündeln.
  • Bei einer allgemeinen Ausführungsform enthält ein System einen lokalen Prozessor, einen Peripheral-Component-Interconnect-Express-(PCIe-) Switch, der elektrisch mit dem lokalen Prozessor verbunden ist, eine oder mehrere lokale I2C-Bus-Einheiten, einen zweckbestimmten Prozessor, der elektrisch mit der einen oder den mehreren lokalen I2C-Bus-Einheiten 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 Interrupts von der einen oder den mehreren lokalen I2C-Bus-Einheiten an den lokalen Prozessor leitet, und wobei der lokale Prozessor so ausgelegt ist, dass er die Interrupts von der einen oder den mehreren lokalen I2C-Bus-Einheiten bearbeitet.
  • Bei einer weiteren allgemeinen Ausführungsform enthält ein Computerprogrammprodukt ein computerlesbares Speichermedium, das einen computerlesbaren Programmcode aufweist, wobei der computerlesbare Programmcode beinhaltet: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er unter Verwendung eines lokalen Prozessors über einen zweckbestimmten Prozessor auf jede lokale I2C-Bus-Einheit zugreift, um festzustellen, welche lokalen I2C-Bus-Einheiten auf einem Distributed-Fabric-Protocol-(DFP-)Systemelement vorhanden sind, einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Anforderung von einem fernen DFP-Systemmaster zum Registrieren von lokalen I2C-Bus-Einheiten auf dem DFP-Systemelement empfängt, um den Zugriff auf die lokalen I2C-Bus-Einheiten zu ermöglichen, die dem fernen DFP-Systemmaster bereitzustellen sind, einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Bestätigung der Anforderung zurück an den fernen DFP-Systemmaster sendet, wobei die Bestätigung eine Liste der lokalen I2C-Bus-Einheiten und deren bestimmter Offsets beinhaltet, einen computerlesbaren Programmcode, der so konfiguriert ist, dass er das Vernetzen der lokalen I2C-Bus-Einheiten ermöglicht, einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Leseanforderung vom DFP-Systemmaster zum Lesen zumindest einer der lokalen I2C-Bus-Einheiten empfängt und die Leseanforderung auf Identität prüft, einen computerlesbaren Programmcode, der so konfiguriert ist, dass er Details zu der zumindest einen der lokalen I2C-Bus-Einheiten in ein gleiches Paket verkapselt, in dem die Leseanforderung empfangen wurde, und einen computerlesbaren Programmcode, der so konfiguriert ist, dass er das gleiche Paket in Reaktion auf die auf Identität geprüfte Leseanforderung über einen Netzanschluss, der mit dem lokalen Netz-Switch des DFP-Systemelements verbunden ist, 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 ein computerlesbares Speichermedium, das einen computerlesbaren Programmcode aufweist, wobei der computerlesbare Programmcode beinhaltet: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Nachricht an ein oder mehrere DFP-Systemelemente sendet, um einen Masterstatus über dem einen oder den mehreren DFP-Systemelementen zu bilden, wobei die Nachricht eine Anforderung zum Registrieren von lokalen I2C-Bus-Einheiten auf jedem DFP-Systemelement bei einem DFP-Systemmaster enthält, 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, wobei jede Bestätigung zumindest ein Paket enthält, in dem Details zu einer oder mehreren lokalen I2C-Bus-Einheiten verkapselt sind, die beim fernen DFP-Systemmaster zu registrieren sind; 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 der einen oder den mehreren lokalen I2C-Bus-Einheiten abzurufen, einen computerlesbaren Programmcode, der so konfiguriert ist, dass er alle I2C-Bus-Einheiten vom jedem des einen oder der mehreren DFP-Systemelemente unter Verwendung der in dem zumindest einen Paket enthaltenen Details unter Verwendung eines lokalen Prozessors des DFP-Systemmaster zuordnet, und einen computerlesbaren Programmcode, der so konfiguriert ist, dass er unter Verwendung des lokalen Prozessors des DFP-Systemmaster auf die registrierten I2C-Bus-Einheiten auf dem einen oder den mehreren DFP-Systemelementen zugreift.
  • Bei einer weiteren allgemeinen Ausführungsform beinhaltet ein Verfahren das Zugreifen auf jede lokale I2C-Bus-Einheit unter Verwendung eines lokalen Prozessors über einen zweckbestimmten Prozessor, um festzustellen, welche lokalen I2C-Bus-Einheiten auf einem DFP-Systemelement vorhanden sind, Empfangen einer Anforderung von einem fernen DFP-Systemmaster zum Registrieren von lokalen I2C-Bus-Einheiten auf dem DFP-Systemelement, um den Zugriff auf die lokalen I2C-Bus-Einheiten zu ermöglichen, die dem DFP-Systemmaster bereitzustellen sind, Senden einer Bestätigung der Anforderung zurück an den DFP-Systemmaster, wobei die Bestätigung eine Liste der lokalen I2C-Bus-Einheiten und deren bestimmter Offsets enthält, Ermöglichen des Vernetzens der lokalen I2C-Bus-Einheiten, Empfangen einer Leseanforderung vom DFP-Systemmaster zum Lesen zumindest einer der lokalen I2C-Bus-Einheiten und Prüfen der Identität der Leseanforderung, Verkapseln von Details zu der zumindest einen der lokalen I2C-Bus-Einheiten in ein gleiches Paket, in dem die Leseanforderung empfangen wurde, und Senden des gleichen Pakets in Reaktion auf die auf Identität geprüfte Leseanforderung über einen Netzanschluss, der mit dem lokalen Netz-Switch des DFP-Systemelements verbunden ist, an zumindest eine registrierte MAC-Adresse, um es zumindest an den DFP-Systemmaster zu vermitteln.
  • Gemäß einer noch weiteren allgemeinen Ausführungsform beinhaltet ein Verfahren Senden einer Nachricht an ein oder mehrere DFP-Systemelemente, um einen Masterstatus über dem einen oder den mehreren DFP-Systemelementen zu bilden, wobei die Nachricht eine Anforderung zum Registrieren von I2C-Bus-Einheiten auf jedem DFP-Systemelement (ferne I2C-Buseinheiten) bei einem DFP-Systemmaster enthält, Empfangen von einer oder mehreren Bestätigungen der Anforderung von dem einen oder den mehreren DFP-Systemelementen an einem lokalen Netz-Switch des DFP-Systemmaster, wobei jede Bestätigung zumindest ein Paket enthält, in dem Details zu einer oder mehreren fernen I2C-Bus-Einheiten verkapselt sind, die beim DFP-Systemmaster zu registrieren sind; bei Empfang des zumindest einen Pakets: Entschlüsseln des zumindest einen Pakets unter Verwendung eines zweckbestimmten Prozessors des DFP-Systemmaster, um Details zu der einen oder den mehreren fernen I2C-Bus-Einheiten abzurufen, Zuordnen aller fernen I2C-Bus-Einheiten von jedem des einen oder der mehreren DFP-Systemelemente als lokale I2C-Bus-Einheiten unter Verwendung der in dem zumindest einen Paket enthaltenen Details unter Verwendung eines lokalen Prozessors des DFP-Systemmaster, Installieren von I2C-Treibern für alle zugeordneten I2C-Bus-Einheiten am lokalen Prozessor, Zugreifen auf die zugeordneten I2C-Bus-Einheiten auf dem einen oder den mehreren DFP-Systemelementen unter Verwendung des lokalen Prozessors des DFP-Systemmaster unter Verwendung von Software-Treiber-Anwendungsprogrammschnittstellen (APIs), und Installieren einer Interrupt-Service-Routine (ISR) für alle entfernt erzeugten Interrupts, die von den zugeordneten I2C-Bus-Einheiten produziert wurden, die an den DFP-Systemmaster gesendet werden, wobei die entfernt erzeugten Interrupts durch zweckbestimmten Prozessoren des einen oder der mehreren DFP-Systemelemente an den DFP-Systemmaster gesendet werden.
  • 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 ein/e elektronische/s, magnetische/s, optische/s, elektromagnetische/s, Infrarot- oder Halbleitersystem, – vorrichtung oder -einheit oder eine geeignete Kombination des Vorstehenden sein, ohne jedoch auf diese 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 auf diese 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 ein/e 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 auf diese 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 objektorientierte Programmiersprachen 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 entfernt angeordnete Computer oder -Server über einen beliebigen Netztyp, beispielsweise ein lokales Netz (LAN, Local Area Network), ein 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 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), ein 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 den 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 solchen Benutzereinheiten 116 können ein Desktop-Computer, ein Laptop-Computer, ein tragbarer Computer, ein Drucker und/oder ein anderer beliebiger Typ einer Einheit gehören, die eine Logik enthält. 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, ein 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 mehreren 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 der Sprachen JAVA-, XML-, C- und/oder C++ oder anderer 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 verantwortlich, 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-Schleifenbildung 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. Einzelne 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 Datenzentrums 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.
  • Gemäß einer Ausführungsform wird ein zweckbestimmten Prozessor, bei dem es sich um ein vor Ort programmierbares Gate-Array (FPGA, Field Programmable Gate Array) handeln kann, auf jedem Element des DFP-Systems bereitgestellt. Der zweckbestimmten Prozessor kann so ausgelegt sein, dass er alle erforderlichen lokalen Interrupts (z.B. lokale Interrupts, die eine sofortige Bearbeitung erfordern können, die vom zweckbestimmten Prozessor ermittelt oder von einem Benutzer programmiert werden können) aus diversen Quellen lokaler Interrupts (z.B. auf dem Hardware-Board) sammelt und alle I2C-Bus-Einheiten miteinander verbindet, darunter ein lokaler Prozessor, z.B. eine Zentraleinheit (CPU) oder ein Host. Der zweckbestimmten Prozessor hat vollständige Einsicht in alle lokalen I2C-Bus-Einheiten. Der lokale Prozessor des Systemmaster ist so ausgelegt, dass er I2C-Lese/Schreib-Anforderungen über Ethernet an den zweckbestimmten Prozessor sendet. Diese Anforderungen können in Enhanced-Layer-2-Transport-(EL2T-)Protokollpakete verkapselt werden. Bei Empfang dieser I2C-Anforderungen am EL2T-Protokoll vom Systemmaster führt der zweckbestimmten Prozessor eine entsprechende Aktion durch und antwortet unter Verwendung des gleichen EL2T-Pakets zurück, das zurück an den Systemmaster gesendet wird. Eine ausführlichere Beschreibung dieses Systems und der Funktionen ist im Folgenden gemäß verschiedenen Ausführungsformen dargeboten.
  • 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, ein DFP-Systemelement oder ein Standby handeln. Natürlich können andere Komponenten, Module, Logik, Schaltungen usw., die in 5 nicht spezifisch gezeigt sind, gemäß diversen Ansätzen in das System 500 aufgenommen sein, z.B. Lüfter, Lüftersteuereinheit, Hauptplatine, Verkabelung, Interconnects, 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 PCIe-Switch 504, eine oder mehrere lokale I2C-Bus-Einheiten 506, einen zweckbestimmten Prozessor 508 und einen lokalen Netz-Switch 510 gemäß einer Ausführungsform 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 und dem zweckbestimmten Prozessor 508 verbunden und kann eines oder mehrere des Folgenden aufweisen: eine Zentraleinheit (CPU), eine integrierte Schaltung (IC, Integrated Circuit), ein vor Ort programmierbares Gate-Array (FPGA), eine anwendungsspezifischen 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, darunter das Bearbeiten von einem oder mehreren lokalen Interrupts, die von der einen oder den mehreren lokalen I2C-Bus-Einheiten 506 produziert wurden, und dass sie Operationen der lokalen I2C-Bus-Einheiten 506 steuert.
  • Bei einer weiteren Ausführungsform kann der lokale Prozessor 502 die Funktion des Steuerns der lokalen I2C-Bus-Einheiten 506 aufweisen, die ausgesetzt und/oder entfernt wurden, so dass nur ein Systemmaster des DFP-Systems in der Lage ist, die lokalen I2C-Bus-Einheiten 506 zu steuern.
  • 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. Die Komponenten können mithilfe von geeigneten Verbindungseinheiten miteinander verbunden werden, wie auf dem Gebiet der Technik bekannt. Die Verbindung mit dem zweckbestimmten Prozessor 508 kann gemäß verschiedenen Ausführungsformen auf dem MSI-Protokoll, MESI-Protokoll, MOSI-Protokoll oder einem anderen geeigneten Übertragungsprotokoll beruhen. Der Datenaustausch zwischen dem zweckbestimmten Prozessor 508 und dem lokalen Netz-Switch 510 und/oder der Datenaustausch zwischen dem lokalen Prozessor 502 und dem zweckbestimmten Prozessor 508 kann über MSI-Nachrichten erfolgen. Natürlich kann der Datenaustausch zwischen beliebigen anderen Komponenten des Systems 500 bei einigen Ansätzen ebenfalls über MSI erfolgen.
  • Der PCIe-Switch 504 kann eine beliebige geeignete Switch-Einheit und/oder einen beliebigen geeigneten Prozessor aufweisen, wie auf dem Gebiet der Technik bekannt. Darüber hinaus kann der PCIe-Switch 504 bei einigen Ausführungsformen so ausgelegt sein, dass er Protokolle und Einheiten vermittelt, die über lediglich auf PCIe beruhende Protokolle und Einheiten hinausgehen, da jedes bekannte Übertragungsprotokoll durch den PCIe-Switch vermittelt werden kann.
  • Bei einem Ansatz kann der PCIe-Switch 504 mehrere PCIe-Busverbindungen aufweisen, die einen oder mehrere PCIe-Busse bedienen.
  • Die eine oder mehreren lokalen I2C-Bus-Einheiten 506 können ein/e beliebige/s Einheit, Modul, Komponente und/oder Logik beinhalten, die bzw. das über den I2C-Bus Daten austauschen kann. Darüber hinaus kann jede dieser lokalen I2C-Bus-Einheiten einen oder mehrere Interrupts produzieren oder erstellen, die eine Ausnahme des normalen Betriebs anzeigen. Einige Interrupts müssen sofort behandelt werden, einige Interrupts hingegen können verworfen werden und/oder dienen nur Informationszwecken. Die Interrupts, die sofort oder so bald wie möglich behandelt werden müssen, sollten vom lokalen Prozessor 502 behandelt werden, um das System 500 effektiv zu verwalten, gemäß herkömmlichen Systemen.
  • Gemäß hier beschriebenen Ausführungsformen, bei denen das System 500 ein DFP-Systemelement ist, können diese Interrupts jedoch an einen fernen DFP-Systemmaster gesendet werden, der so ausgelegt ist, dass er diese Interrupts bearbeitet und/oder die lokalen I2C-Bus-Einheiten 506 von der fernen Position des DFP-Systemmaster steuert.
  • Zu einigen Beispielen für lokale I2C-Bus-Einheiten 506 zählen ein Lüfter oder eine Lüftersteuereinheit, ein Netzteil, eine Temperaturanzeige oder eine Logik, die die Temperaturanzeige interpretiert, usw. Der eine oder die mehreren Interrupts, die von den lokalen I2C-Bus-Einheiten 506 bereitgestellt werden, können gemäß einer Ausführungsform zur Bearbeitung vom zweckbestimmten Prozessor 508 an den lokalen Prozessor 502 geleitet werden, wenn das System 500 ein ferner DFP-Systemmaster oder ein DFP-Systemelement ist und aus irgendeinem Grund nicht mit einem fernen DFP-Systemmaster verbunden ist. Bei einer weiteren Ausführungsform können diese Interrupts, wenn das System 500 ein DFP-Systemelement und mit dem fernen DFP-Systemmaster verbunden ist, zur Bearbeitung an den fernen Systemmaster gesendet werden.
  • Einige der lokalen I2C-Bus-Einheiten 506 können gemäß verschiedenen Ausführungsformen Interrupts mittels fester Codierung direkt dem lokalen Prozessor 502 bereitstellen, einige können Interrupts über I2C-Protokoll bereitstellen usw. Jeder Interrupt, der bereitgestellt wird, kann gemäß einem Ansatz jedoch an den zweckbestimmten Prozessor 508 geleitet werden, um an eine externe Einheit, z.B. einen fernen 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. Die Komponenten können mithilfe von geeigneten Verbindungseinheiten miteinander verbunden werden, wie auf dem Gebiet der Technik bekannt. Darüber hinaus können die lokalen I2C-Bus-Einheiten 506 gemäß verschiedenen Ausführungsformen elektrisch mit dem zweckbestimmten Prozessor 508 verbunden sein, so dass der zweckbestimmten Prozessor 508 in der Lage ist, Interrupts von den lokalen I2C-Bus-Einheiten 506 zu empfangen und/oder die lokalen I2C-Bus-Einheiten 506 entweder direkt oder über Befehle von einem fernen DFP-Systemmaster, Befehle vom lokalen Prozessor 502 usw. zu steuern.
  • Der zweckbestimmten Prozessor 508, der in herkömmlichen Switches für gewöhnlich nicht bereitgestellt ist, ist so ausgelegt, dass er Interrupts von den lokalen I2C-Bus-Einheiten 506 sammelt. Ferner ist er bei einem Ansatz so ausgelegt, dass er ein oder mehrere Interrupts an den lokalen Prozessor 502 auf der Grundlage der von den lokalen I2C-Bus-Einheiten 506 empfangenen Interrupts erzeugt und Multicast- oder Unicast-Pakete, z.B. EL2T-Pakete, erstellt, in denen Details zu den Interrupts verkapselt sind, die an eine externe Einheit, z.B. einen fernen DFP-Systemmaster, zu senden sind. Diese Pakete werden dann an den lokalen Netz-Switch 510 gesendet, wo sie an den fernen DFP-Systemmaster vermittelt werden können. Der zweckbestimmte Prozessor 508 kann einen beliebigen geeigneten, auf dem Gebiet der Technik bekannten Prozessor beinhalten, z.B. eine CPU, eine IC, eine ASIC, einen Mikrocontroller und/oder ein FPGA.
  • Gemäß einer Ausführungsform kann der zweckbestimmten Prozessor 508, wenn das System 500 ein DFP-Systemelement ist, so ausgelegt sein, dass er: auf jede lokale I2C-Bus-Einheit 506 unter Verwendung des lokalen Prozessors 502 zugreift, um festzustellen, welche lokalen I2C-Bus-Einheiten 506 auf dem DFP-Systemelement vorhanden sind; eine Anforderung von einem fernen DFP-Systemmaster zum Registrieren der lokalen I2C-Bus-Einheiten 506 empfängt, um Zugriff auf die lokalen I2C-Bus-Einheiten 506 zu ermöglichen, die dem ferner DFP-Systemmaster bereitzustellen sind; eine Bestätigung der Anforderung zurück an den fernen DFP-Systemmaster sendet, wobei die Bestätigung eine Liste der lokalen I2C-Bus-Einheiten 506 und deren bestimmter Offsets enthält, wie der Fachmann versteht; das Vernetzen der lokalen I2C-Bus-Einheiten 506 ermöglicht; eine Leseanforderung vom fernen DFP-Systemmaster zum Lesen zumindest einer der lokalen I2C-Bus-Einheiten 506 empfängt und die Leseanforderung auf Identität prüft; Details zu der zumindest einen der lokalen I2C-Bus-Einheiten 506 in ein gleiches Paket verkapselt, in dem die Leseanforderung empfangen wurde; und das gleiche Paket in Reaktion auf die auf Identität geprüfte Leseanforderung über einen Netzanschluss, der mit dem lokalen Netz-Switch 510 verbunden ist, an zumindest eine registrierte Media-Access-Control-(MAC-) Adresse sendet, um es zumindest an den fernen DFP-Systemmaster zu vermitteln.
  • Darüber hinaus kann der zweckbestimmte Prozessor 508 gemäß einer Ausführungsform so ausgelegt sein, dass er die lokalen Interrupts verpackt und die verpackten Interrupts an den lokalen Netz-Switch 510 sendet. Ferner kann es sich bei dem zweckbestimmten Prozessor 508 um ein FPGA und bei den Paketen um EL2T-Protokollpakete handeln. Selbstverständlich können andere Protokolle zum Verkapseln der Details zu den lokalen Interrupts verwendet werden, die von den lokalen I2C-Bus-Einheiten 506 empfangen wurden.
  • Die Details zu den lokalen Interrupts können neben anderen Details, die hier nicht spezifisch erwähnt sind, die der Fachmann aber beim Lesen der vorliegenden Beschreibungen versteht, die Switch-ID des DFP-Systemelements, die Interrupt-Quelle (z.B. welche lokale I2C-Bus-Einheit 506 den Interrupt erstellt hat), den Interrupt-Typ, die Interrupt-Priorität beinhalten, ohne jedoch auf diese beschränkt zu sein.
  • Der lokale Netz-Switch 510 ist elektrisch mit dem PCIe-Switch 504 und dem zweckbestimmten Prozessor 508 verbunden. Die Komponenten können mithilfe von geeigneten Verbindungseinheiten miteinander verbunden werden, wie auf dem Gebiet der Technik bekannt. Der lokale Netz-Switch 510 kann ein beliebiges Übertragungsprotokoll vermitteln, beispielsweise Ethernet, PCIe, PCIe-over-Ethernet, Fabric, Fibre Channel (FC), Fibre 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 bei einigen Ansätzen eine andere auf dem Gebiet bekannte Verbindung 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 ein anderer geeigneter Paketvermittlungsprozessor, gemäß verschiedenen Ausführungsformen.
  • 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.).
  • Der lokale Netz-Switch 510 kann gemäß einer Ausführungsform so ausgelegt sein, dass er interne Pakete vom zweckbestimmten Prozessor 508 und/oder dem PCIe-Switch 504 empfängt, die außerhalb des Systems 500 zu senden sind, und dass er 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 508 und/oder den PCIe-Switch 504 sendet.
  • Wenn ein Problem bei der Übertragung der lokalen Interrupts an den zweckbestimmten Prozessor 508, den lokalen Netz-Switch 510 oder an einem anderen Punkt im Netz auftritt, wie im Folgenden noch ausführlicher beschrieben, können die lokalen Interrupts an den lokalen Prozessor 502 oder über den zweckbestimmten Prozessor 508 über den PCIe-Switch 504 bei anderen Ansätzen gesendet werden, so dass der lokale Prozessor 502 die Interrupts interpretieren und die Interrupts bearbeiten kann. Bei einem Ansatz kann der lokale Prozessor die Interrupt-Details lesen, um zu ermitteln, wie er auf den Interrupt antworten soll, um zum Normalbetrieb zurückzukehren, und kann eine oder mehrere Aufgaben durchführen, um den Interrupt zu bearbeiten, z.B. Starten oder Beenden einer Komponente oder Operation, Ändern von Bedingungen, Warnen eines Benutzers über eine Situation usw.
  • Darüber hinaus kann der lokale Prozessor 502 bei einigen Ansätzen in der Lage sein, die lokalen I2C-Bus-Einheiten 506 zu bearbeiten, zu steuern oder anderweitig zu verwalten, wenn ein Verbindungsverlust zu dem fernen DFP-Systemmaster auftritt.
  • Bei einer weiteren Ausführungsform kann der lokale Netz-Switch 510, wenn das System 500 ein Standby oder Element eines DFP-Systems ist, so ausgelegt sein, dass er Multicast- oder Unicast-Pakete, in denen Details zu dem einen oder den mehreren lokalen Interrupts verkapselt sind, an einen fernen DFP-Systemmaster sendet. Darüber hinaus kann der lokale Netz-Switch 510 so ausgelegt sein, dass er Befehle, Anweisungen und/oder Anforderungen vom fernen DFP-Systemmaster empfängt und diese Nachrichten an einen entsprechenden Empfänger weiterleitet, z.B. an den zweckbestimmten Prozessor 508, den PCIe-Switch 504 usw.
  • Gemäß einer weiteren Ausführungsform kann es sich bei dem lokalen Prozessor 502, wenn das System 500 ein ferner DFP-Systemmaster ist, um eine CPU handeln, die so ausgelegt ist, dass sie Operationen des Systems 500 steuert, darunter das Bearbeiten der lokalen Interrupts von den lokalen I2C-Bus-Einheiten 506, und dass sie ferne Interrupts, Pakete, Nachrichten (die über den lokalen Netz-Switch 510 erhalten werden) und/oder Details zu den fernen I2C-Bus-Einheiten auf den DFP-Systemelementen außerhalb des Systems 500 analysiert und auf diese antwortet.
  • Ferner kann der zweckbestimmte Prozessor 508 bei einigen Ansätzen so ausgelegt sein, dass er einen oder mehrere Interrupts an den lokalen Prozessor 502 auf der Grundlage des einen oder der mehreren lokalen Interrupts erzeugt, die von den lokalen I2C-Bus-Einheiten 506 empfangen wurden (um sein eigenes System zu verwalten), dass er Multicast- oder Unicast-Pakete, in denen Details zu fernen Interrupts von fernen I2C-Bus-Einheiten (von DFP-Systemelementen) verkapselt sind, über den lokalen Netz-Switch 510 empfängt, und dass er die Multicast- oder Unicast-Pakete entschlüsselt, um Details zu den externen Interrupts und fernen I2C-Bus-Einheiten zu ermitteln. Außerdem kann es sich bei dem lokalen Netz-Switch 510 bei einigen Ansätzen um eine Paketvermittlungs-ASIC handeln und kann so ausgelegt sein, dass er die Multicast- oder Unicast-Pakete, in denen Details zu den externen Interrupts und fernen I2C-Bus-Einheiten verkapselt sind, von einem oder mehreren DFP-Systemelementen empfängt.
  • 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 externen Interrupts (von DFP-Systemelementen) und fernen I2C-Bus-Einheiten verkapselt sind, durch den lokalen Netz-Switch 510 empfängt, kann der zweckbestimmte Prozessor 508 so ausgelegt sein, dass er die Multicast- oder Unicast-EL2T-Pakete entschlüsselt, um Details zu den externen Interrupts und fernen I2C-Bus-Einheiten zu ermitteln, die in den Multicast- oder Unicast-EL2T-Paketen verkapselt sind, kann der zweckbestimmte Prozessor 508 so ausgelegt sein, dass er eine auf einem MSI beruhende Nachricht, die Details zu den externen Interrupts und fernen I2C-Bus-Einheiten enthält, an den lokalen Prozessor 502 sendet, kann der lokale Netz-Switch 510 so ausgelegt sein, dass er die Multicast- oder Unicast-EL2T-Pakete, in denen Details zu den externen Interrupts und fernen I2C-Bus-Einheiten verkapselt sind, von einem oder mehreren DFP-Systemelemente empfängt, und kann der lokale Prozessor 502 so ausgelegt sein, dass er die externen Interrupts liest und auf diese antwortet und/oder die fernen I2C-Bus-Einheiten von einem oder mehreren DFP-Systemelementen steuert.
  • Wie zuvor erwähnt, findet das Blockschaubild von 5 gleichermaßen auf Elementsysteme, Standby-Systeme und Systemmaster gemäß verschiedenen Ausführungsformen 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-Systems 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 oder 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 lokalen Netz-Switch um eine Paketvermittlungs-ASIC, z.B. ein BROADCOM BCM88650, oder einen anderen 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.
  • Bei einem Ansatz kann es sich bei dem zweckbestimmten Prozessor um ein 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, gemeinsam mit dem Laden und Initialisieren.
  • 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 wird von einem lokalen Prozessor über den zweckbestimmten Prozessor auf jede lokale I2C-Bus-Einheit zugegriffen, um festzustellen, welche lokalen I2C-Bus-Einheiten auf dem System vorhanden sind. Wenn dies bereits durchgeführt wurde und das System alle lokalen I2C-Bus-Einheiten kennt, kann die Operation 608 ausgelassen werden.
  • Gemäß einer Ausführungsform kann es sich bei dem lokalen Prozessor um eine CPU handeln. Da alle lokalen I2C-Bus-Einheiten über den zweckbestimmten Prozessor geleitet werden, muss der lokale Prozessor über den zweckbestimmten Prozessor auf die lokalen I2C-Bus-Einheiten zugreifen.
  • Bei der optionalen Operation 610 wird der lokale Prozessor zu einem Element eines DFP-Systems, indem er auf eine Anforderung von einem fernen DFP-Systemmaster antwortet, Teil des DFP-Systems zu werden. Natürlich kann die Operation 610 ausgelassen werden, wenn das System bereits ein DFP-Systemelement ist. Bei den meisten Ansätzen werden der lokale Prozessor und alle Komponenten des Systems nach Antworten auf die Anforderung zu einem Element eines DFP-Systems.
  • Bei Operation 612 wird eine Anforderung zum Registrieren von lokalen I2C-Einheiten auf dem DFP-Systemelement von einem DFP-Systemmaster empfangen, um Zugriff auf die lokalen I2C-Einheiten zu ermöglichen, die dem DFP-Systemmaster bereitzustellen sind. Die Anforderung kann per Unicasting oder Multicasting erfolgen.
  • Bei Operation 614 wird eine Bestätigung der Anforderung gesendet, beispielsweise zurück an den DFP-Systemmaster. Die Bestätigung kann Informationen enthalten, z.B. Identifikationsinformationen, Positionsinformationen usw. Darüber hinaus kann die Bestätigung bei einem Ansatz vom zweckbestimmten Prozessor gesendet werden.
  • Bei einem Ansatz kann die Bestätigung eine Liste von lokalen I2C-Bus-Einheiten und deren bestimmter Offsets enthalten.
  • Bei Operation 616 wird ermöglicht, dass eine oder mehrere lokale I2C-Bus-Einheiten vernetzt werden (über MSI mit dem lokalen Netz-Switch). Dies kann bei einem Ansatz durch den zweckbestimmten Prozessor des DFP-Systemelements oder durch eine andere beliebige geeignete Komponente, Einheit und/oder Logik durchgeführt werden.
  • Die Quell-MAC-Adresse jeder lokalen I2C-Bus-Einheit kann durch den zweckbestimmten Prozessor gepflegt werden.
  • Bei Operation 618 wird eine Leseanforderung vom DFP-Systemmaster zum Lesen zumindest einer der lokalen I2C-Bus-Einheiten empfangen. Darüber hinaus wird die Leseanforderung nach Empfang bei einem Ansatz auf Identität geprüft.
  • Bei Operation 620 werden Details zu der zumindest einen der lokalen I2C-Bus-Einheiten für jede auf Identität geprüfte Leseanforderung in ein gleiches Paket verkapselt, in dem die Leseanforderung empfangen wurde. Das Paket, z.B. ein EL2T-Paket oder ein anderer geeigneter Übertragungspakettyp, kann bei einer Ausführungsform aus der Leseanforderung wiederverwendet werden, und die Details zu den lokalen I2C-Bus-Einheiten 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 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 Quelle der lokalen I2C-Bus-Einheit, den Interrupt-Typ und/oder die Interrupt-Priorität, ohne jedoch auf diese beschränkt zu sein.
  • Bei Operation 622 wird das gleiche Paket, z.B. das gleiche in der Anforderung verwendete 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 es zumindest an den DFP-Systemmaster zu vermitteln. 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 Übertragungsprotokoll gesendet werden.
  • Bei der optionalen Operation 624 kann das zumindest eine Paket, z.B. das gleiche EL2T-Paket, das in der auf Identität geprüften Leseanforderung erhalten wurde, beispielsweise über den lokalen Netz-Switch gemäß einer Layer-2-Unicast-Weiterleitungsdatenbank an seinen Zielort (z.B. den fernen 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 auf Identität geprüfte Leseanforderungen.
  • Bei einem Ansatz kann ein Message Signaled Interrupt (MSI) über einen mit dem lokalen PCIe-Switch verbundenen PCIe-Bus gleichzeitig an den lokalen Prozessor gesendet werden, wenn dies für die Verarbeitung des Interrupt als notwendig erachtet wird.
  • Bei einer Ausführungsform kann das zumindest eine Paket unter Verwendung des lokalen Netz-Switch an zumindest den DFP-Systemmaster vermittelt werden.
  • Gemäß verschiedenen Ausführungsformen kann das Verfahren 600 unter Verwendung eines zweckbestimmten Prozessors des DFP-Systemelements durchgeführt werden, kann der zweckbestimmten 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 Interrupt-Quelle (die lokale I2C-Bus-Einheit), einen Interrupt-Typ und/oder eine Interrupt-Priorität für jede der einen oder mehreren lokalen I2C-Bus-Einheiten enthalten. Natürlich kann es weitere Details/Informationen außer den hier spezifisch beschriebenen beinhalten, wie der Fachmann beim Lesen der vorliegenden Beschreibungen versteht.
  • Die I2C-Einheit-Informationen können gemäß einer Ausführungsform gleichzeitig an mehrere MAC-Adressen gesendet werden. Bei einer alternativen Ausführungsform können die Informationen an eine eindeutige Multicast-MAC-Adresse gesendet werden, wenn Multicasting bevorzugt wird.
  • 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 Interrupts ein computerlesbares Speichermedium auf, das einen computerlesbaren Programmcode beinhaltet. Der computerlesbare Programmcode weist auf: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er auf jede lokale I2C-Bus-Einheit unter Verwendung eines lokalen Prozessors über einen zweckbestimmten Prozessor zugreift, um festzustellen, welche lokalen I2C-Bus-Einheiten auf einem DFP-Systemelement vorhanden sind; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Anforderung von einem DFP-Systemmaster zum Registrieren von lokalen I2C-Bus-Einheiten auf dem DFP-Systemelement empfängt, um Zugriff auf die lokalen I2C-Bus-Einheiten zu ermöglichen, die dem DFP-Systemmaster bereitzustellen sind; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Bestätigung der Anforderung zurück an den DFP-Systemmaster sendet, wobei die Bestätigung eine Liste der lokalen I2C-Bus-Einheiten und deren bestimmter Offsets enthält; dass er ein Vernetzen der lokalen I2C-Bus-Einheiten ermöglicht; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Leseanforderung vom DFP-Systemmaster zum Lesen zumindest einer der lokalen I2C-Bus-Einheiten empfängt und die Leseanforderung auf Identität prüft; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er Details zu der zumindest einen der lokalen I2C-Bus-Einheiten in einem gleichen Paket verkapselt, in dem die Leseanforderung empfangen wurde; und einen computerlesbaren Programmcode, der so konfiguriert ist, dass er das gleiche Paket in Reaktion auf die auf Identität geprüfte Leseanforderung über einen Netzanschluss, der mit dem lokalen Netz-Switch des DFP-Systemelements verbunden ist, 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 den lokalen Prozessor veranlasst, zu einem Element eines DFP-Systems zu werden, indem er auf eine Anforderung vom DFP-Systemmaster antwortet, Teil des DFP-Systems zu werden; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er ein VLAN auf dem lokalen Netz-Switch erstellt; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er einen mit dem zweckbestimmten Prozessor verbundenen lokalen Netzanschluss zum VLAN hinzufügt; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er einen zweckbestimmten Prozessor des DFP-Systemelements beim Hochfahren des DFP-Systemelements lädt und initialisiert; und einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Anforderung an dem lokalen Netz-Switch des DFP-Systemelements, ein Teil des DFP-Systems zu werden, empfängt.
  • 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 oder 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 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 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 700 beschriebenen Funktionen durchgeführt.
  • Bei der optionalen Operation 706 wird der zweckbestimmte Prozessor geladen und initialisiert, gemeinsam mit anderen beliebigen zugehörigen Aktionen, 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 Nachricht an ein oder mehrere DFP-Systemelemente gesendet, um einen Masterstatus über dem einen oder den mehreren DFP-Systemelementen zu bilden, wobei die Nachricht eine Anforderung zum Registrieren von lokalen I2C-Bus-Einheiten auf jedem DFP-Systemelement bei einem lokalen Systemmaster enthält. Bei einigen Ansätzen kann die Nachricht durch einen lokalen Prozessor oder einen zweckbestimmten Prozessor des DFP-Systemmaster initiiert werden. Der lokale Prozessor und/oder der zweckbestimmte Prozessor kann eines oder mehrere des Folgenden aufweisen: eine CPU, eine IC, einen FPGA, eine ASIC usw.
  • Bei einer weiteren Ausführungsform kann jedes DFP-Systemelement ermitteln, ob es auf die Nachricht antwortet und/oder an welche lokalen I2C-Bus-Einheiten Details zurück an den DFP-Systemmaster zu senden sind.
  • Bei einer weiteren Ausführungsform kann es sich bei der Anforderung um ein Multicast-EL2T-Paket handeln, das eine Anforderung für diverse lokale I2C-Bus-Einheiten (die gegenüber dem DFP-Systemmaster fern sind) enthält.
  • Bei Operation 710 empfängt der lokale Prozessor eine oder mehrere Bestätigungen der Anforderung von dem einen oder den mehreren DFP-Systemelementen (z.B. über einen lokalen Netz-Switch des DFP-Systemmaster), wobei jede Bestätigung zumindest ein Paket aufweist, in dem Details zu einer oder mehreren fernen I2C-Bus-Einheiten verkapselt sind, die beim DFP-Systemmaster zu registrieren sind.
  • Bei einer Ausführungsform kann jede Bestätigung ein Paket, z.B. ein EL2T-Paket, enthalten, das Details zu einem oder mehreren fernen I2C-Bus-Einheiten für das DFP-Systemelement beinhaltet, das die Bestätigung gesendet hat.
  • Bei der optionalen Operation 712 kann während einer vorab festgelegten Zeitdauer, einer gewissen 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) das zumindest eine Paket entschlüsselt, um Details zu dem einen oder den mehreren fernen I2C-Bus-Einheiten 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 nicht spezifisch erwähnt sind, die der Fachmann aber beim Lesen der vorliegenden Beschreibungen versteht, die Switch-ID des DFP-Systemelements, einen bestimmten Offset für jede ferne I2C-Bus-Einheit, ohne jedoch auf diese beschränkt zu sein.
  • Bei Operation 716 werden alle fernen I2C-Bus-Einheiten von jedem des einen oder der mehreren DFP-Systemelemente unter Verwendung der Details zugeordnet, die in dem zumindest einen Paket enthalten sind, unter Verwendung eines lokalen Prozessors des DFP-Systemmaster als lokale I2C-Bus-Einheiten zugeordnet.
  • Bei Operation 718 werden I2C-Treiber für alle zugeordneten I2C-Bus-Einheiten auf dem lokalen Prozessor installiert.
  • Bei Operation 720 wird auf dem einen oder den mehreren DFP-Systemelementen unter Verwendung des lokalen Prozessors des DFP-Systemmaster unter Verwendung von Software-Treiber-Anwendungsprogrammschnittstellen (APIs) auf die zugeordneten I2C-Bus-Einheiten zugegriffen. Dies kann durchgeführt werden, um Interrupts zu identifizieren, die durch die zugeordneten fernen I2C-Bus-Einheiten produziert wurden, und/oder um Operationen der zugeordneten fernen I2C-Bus-Einheiten zu steuern. Dadurch wird ein Teil der Verarbeitungslast von jedem der DFP-Systemelemente genommen und diesen ermöglicht, andere Vermittlungsfunktionen, für die sie vorgesehen sind, effektiver durchzuführen.
  • Bei Operation 722 wird eine Interrupt-Service-Routine (ISR) für alle fern erzeugten Interrupts installiert, die durch die zugeordneten I2C-Bus-Einheiten produziert wurden, die an den DFP-Systemmaster gesendet werden. Die fern erzeugten Interrupts werden bei einem Ansatz vom zweckbestimmten Prozessor des einen oder der mehreren DFP-Systemelemente an den DFP-Systemmaster gesendet.
  • Bei der optionalen Operation 724 wird der lokale Prozessor des DFP-Systemmaster veranlasst, der DFP-Systemmaster zu werden, nachdem ein Auswahlverfahren an allen Mitgliedern des DFP-Systems durchgeführt wurde. Das Auswahlverfahren kann ermitteln, welches einer Vielzahl von Systemen als der Systemmaster agieren wird und welche als Standby, wobei das restliche System als Elemente des Systems bei einem Ansatz relegiert wird.
  • Bei einer Ausführungsform kann bzw. können das eine oder die mehreren DFP-Systemelemente EL2T-Pakete, in denen Interrupt-Details verkapselt sind, an den zweckbestimmten Prozessor des DFP-Systemmaster senden und gleichzeitig PCIe-MSI an einen lokalen Prozessor des einen oder der mehreren DFP-Systemelemente senden. Darüber hinaus kann der zweckbestimmte Prozessor des DFP-Systemmaster bei Empfang des EL2T-Pakets mit verkapseltem Interrupt einen PCIe-MSI an den lokalen Prozessor des DFP-Systemmaster erzeugen, und der lokale Prozessor des DFP-Systemmaster kann eine ISR aufrufen, um den MSI zu bedienen.
  • 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 ein computerlesbares Speichermedium auf, das einen computerlesbaren Programmcode beinhaltet. Der computerlesbare Programmcode weist auf: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Nachricht an ein oder mehrere DFP-Systemelemente sendet, um einen Masterstatus über dem einen oder den mehreren DFP-Systemelementen zu bilden, wobei die Nachricht eine Anforderung zum Registrieren von lokalen I2C-Bus-Einheiten auf jedem DFP-Systemelement bei einem DFP-Systemmaster enthält; 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, wobei jede Bestätigung zumindest ein Paket enthält, in dem Details zu einer oder mehreren lokalen I2C-Bus-Einheiten verkapselt sind, die beim DFP-Systemmaster zu registrieren sind; und 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 der einen oder den mehreren lokalen I2C-Bus-Einheiten abzurufen; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er alle I2C-Bus-Einheiten vom jedem des einen oder der mehreren DFP-Systemelemente unter Verwendung der in dem zumindest einen Paket enthaltenen Details unter Verwendung eines lokalen Prozessors des DFP-Systemmaster zuordnet; und einen computerlesbaren Programmcode, der so konfiguriert ist, dass er unter Verwendung des lokalen Prozessors des DFP-Systemmaster auf die registrierten I2C-Bus-Einheiten auf dem einen oder den mehreren DFP-Systemelementen zugreift.
  • 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 einen zweckbestimmten Prozessor des DFP-Systemmaster beim Hochfahren des DFP-Systemmaster lädt und initialisiert; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er während einer vorab festgelegten Zeitdauer auf die eine oder mehreren Bestätigungen wartet; und einen computerlesbaren Programmcode, der so konfiguriert ist, dass er einen lokalen Prozessor des DFP-Systemmaster veranlasst, der DFP-Systemmaster zu werden, nachdem ein Auswahlverfahren an allen Elementen des DFP-Systems durchgeführt wurde.
  • Obwohl oben verschiedene Ausführungsformen beschrieben wurden, sollte klar sein, 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 lokale I2C-Bus-Einheiten; einen zweckbestimmten Prozessor, der elektrisch mit der einen oder den mehreren lokalen I2C-Bus-Einheiten 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 Interrupts von der einen oder den mehreren lokalen I2C-Bus-Einheiten an den lokalen Prozessor leitet, und wobei der lokale Prozessor so ausgelegt ist, dass er die Interrupts von der einen oder den mehreren lokalen I2C-Bus-Einheiten bearbeitet.
  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.
  3. System nach Anspruch 1, 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 von Interrupts, die von der einen oder den mehreren lokalen I2C-Bus-Einheiten produziert wurden.
  4. System nach Anspruch 1, wobei der zweckbestimmte Prozessor so ausgelegt ist, dass er auf jede lokale I2C-Bus-Einheit unter Verwendung des lokalen Prozessors zugreift, um festzustellen, welche lokalen I2C-Bus-Einheiten vorhanden sind, dass er eine Anforderung zum Registrieren von lokalen I2C-Bus-Einheiten auf einem DFP-Systemelement empfängt, um Zugriff auf die lokalen I2C-Einheiten zu ermöglichen, die dem fernen DFP-Systemmaster bereitzustellen sind, dass er eine Bestätigung der Anforderung zurück an den DFP-Systemmaster sendet, wobei die Bestätigung eine Liste der lokalen I2C-Bus-Einheiten und deren bestimmter Offsets aufweist, dass er das Vernetzen der lokalen I2C-Bus-Einheiten ermöglicht, dass er eine Leseanforderung vom fernen DFP-Systemmaster empfängt, um zumindest eine der lokalen I2C-Bus-Einheiten zu lesen, und die Leseanforderung auf Identität prüft, und dass er Details zu der zumindest einen der lokalen I2C-Bus-Einheiten in ein gleiches Paket verkapselt, in dem die Leseanforderung empfangen wurde, und dass er das gleiche Paket in Reaktion auf die auf Identität geprüfte Leseanforderung über einen Netzanschluss, der mit dem lokalen Netz-Switch des DFP-Systemelements verbunden ist, an zumindest eine registrierte Media-Access-Control-(MAC-)Adresse sendet, um es zumindest an den fernen DFP-Systemmaster zu vermitteln.
  5. System nach Anspruch 4, wobei es sich bei dem zweckbestimmten Prozessor um ein vor Ort programmierbares Gate-Array (FPGA) und bei dem Paket um ein Enhanced-Layer-2-Transport-(EL2T-)Protokollpaket handelt.
  6. System nach Anspruch 4, wobei der lokale Netz-Switch so ausgelegt ist, dass er das gleiche Paket, in dem die Details zu der zumindest einen der lokalen I2C-Bus-Einheiten verkapselt sind, an den fernen DFP-Systemmaster sendet.
  7. System nach Anspruch 1, wobei der zweckbestimmte Prozessor so ausgelegt ist, dass er ein oder mehrere ferne Pakete empfängt, in denen Details zu einem oder mehreren fernen Interrupts verkapselt sind, die von einer oder mehreren fernen I2C-Bus-Einheiten produziert wurden, und dass er das eine oder die mehreren Pakete entschlüsselt, und wobei der lokale Prozessor so ausgelegt ist, dass er die Details des einen oder der mehreren fernen Interrupts vom zweckbestimmten Prozessor empfängt und die eine oder mehreren fernen I2C-Bus-Einheiten steuert, um auf den einen oder die mehreren fernen Interrupts zu antworten.
  8. System nach Anspruch 1, wobei es sich bei dem zweckbestimmte Prozessor um ein vor Ort programmierbares Gate-Array (FPGA) handelt, wobei der zweckbestimmte Prozessor so ausgelegt ist, dass er ein Vernetzen der lokalen I2C-Bus-Einheiten ermöglicht, wobei der zweckbestimmte Prozessor so ausgelegt ist, dass er eine Leseanforderung vom fernen DFP-Systemmaster zum Lesen zumindest einer der lokalen I2C-Bus-Einheiten empfängt und die Leseanforderung auf Identität prüft, wobei der zweckbestimmte Prozessor so ausgelegt ist, dass er Details zu der zumindest einen der lokalen I2C-Bus-Einheiten in ein gleiches Enhanced-Layer-2-Transport-(EL2T-)Protokollpaket verkapselt, in dem die Leseanforderung empfangen wurde, wobei der zweckbestimmte Prozessor so ausgelegt ist, dass er das gleiche EL2T-Protokollpaket in Reaktion auf die auf Identität geprüfte Leseanforderung über einen Netzanschluss, der mit dem lokalen Netz-Switch des DFP-Systemelements verbunden ist, an zumindest eine registrierte Media-Access-Control-(MAC-)Adresse sendet, um es zumindest an den fernen DFP-Systemmaster zu vermitteln, und wobei der lokale Netz-Switch so ausgelegt ist, dass er das gleiche EL2T-Protokollpaket, in dem Details zu den lokalen I2C-Bus-Einheiten verkapselt sind, zumindest an den DFP-Systemmaster sendet.
  9. System nach Anspruch 1. wobei es sich bei dem lokalen Prozessor um eine Zentraleinheit (CPU) handelt, die so ausgelegt ist, dass sie Operationen des Systems steuert, darunter das Steuern der lokalen I2C-Bus-Einheiten.
  10. System nach Anspruch 1, wobei der zweckbestimmte Prozessor so ausgelegt ist, dass er: eine Nachricht an ein oder mehrere Distributed-Fabric-Protocol-(DFP-) Systemelemente sendet, um einen Masterstatus über dem einen oder den mehreren DFP-Systemelementen zu bilden, wobei die Nachricht eine Anforderung zum Registrieren von lokalen I2C-Bus-Einheiten auf jedem DFP-Systemelement bei einem fernen DFP-Systemmaster enthält; 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, wobei jede Bestätigung zumindest ein Paket enthält, in dem Details zu einer oder mehreren lokalen I2C-Bus-Einheiten verkapselt sind, die beim fernen DFP-Systemmaster zu registrieren sind, und der zweckbestimmte Prozessor bei Empfang des zumindest einen Pakets so ausgelegt ist, dass er: das zumindest eine Paket unter Verwendung eines zweckbestimmten Prozessors des DFP-Systemmaster entschlüsselt, um Details zu der einen oder den mehreren lokalen I2C-Bus-Einheiten abzurufen; alle I2C-Bus-Einheiten vom jedem des einen oder der mehreren DFP-Systemelemente unter Verwendung der in dem zumindest einen Paket enthaltenen Details unter Verwendung eines lokalen Prozessors des fernen DFP-Systemmaster zuordnet; und unter Verwendung des lokalen Prozessors des fernen DFP-Systemmaster auf die registrierten I2C-Bus-Einheiten auf dem einen oder den mehreren DFP-Systemelementen zugreift, und/oder wobei es sich bei dem lokalen Netz-Switch um eine anwendungsspezifische integrierte Schaltung (ASIC) mit Paketvermittlung handelt und so ausgelegt ist, dass sie die eine oder mehreren Bestätigungen empfängt.
  11. System nach Anspruch 1, wobei es sich bei dem zweckbestimmten Prozessor um ein vor Ort programmierbares Gate-Array (FPGA) ist, und/oder wobei der zweckbestimmte Prozessor so ausgelegt ist, dass er Multicast- oder Unicast-Enhanced-Layer-2-Transport-(EL2T-)Protokollpakete, in denen Details zu fernen Interrupts verkapselt sind, über den lokalen Netz-Switch empfängt, wobei der zweckbestimmte Prozessor so ausgelegt ist, dass er die Multicast- oder Unicast-EL2T-Pakete entschlüsselt, um Details zu einem oder mehreren fernen Interrupts und Details zu einer oder mehreren fernen I2C-Bus-Einheiten zu ermitteln, die von dem einen oder den mehreren fernen Interrupts produziert wurden, die in den Multicast- oder Unicast-EL2T-Paketen verkapselt sind, wobei der zweckbestimmte Prozessor so ausgelegt ist, dass er eine auf einem MSI beruhende Nachricht an den lokalen Prozessor sendet, die Details zu den fernen Interrupts enthält, wobei es sich bei dem lokalen Netz-Switch um eine anwendungsspezifische integrierte Schaltung (ASIC) mit Paketvermittlung handelt und so ausgelegt ist, dass sie die Multicast- oder Unicast-EL2T-Pakete von einem oder mehreren Distributed-Fabric-Protocol- (DFP-) Elementen empfängt, die die fernen Interrupts erzeugt haben, und wobei der lokale Prozessor so ausgelegt ist, dass er die fernen Interrupts liest und auf diese antwortet.
  12. Computerprogrammprodukt, 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 unter Verwendung eines lokalen Prozessors über einen zweckbestimmten Prozessor auf jede lokale I2C-Bus-Einheit zugreift, um festzustellen, welche lokalen I2C-Bus-Einheiten auf einem Distributed-Fabric-Protocol-(DFP-)Systemelement vorhanden sind; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Anforderung von einem fernen DFP-Systemmaster zum Registrieren von lokalen I2C-Bus-Einheiten auf dem DFP-Systemelement empfängt, um den Zugriff auf die lokalen I2C-Bus-Einheiten zu ermöglichen, die dem fernen DFP-Systemmaster bereitzustellen sind; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Bestätigung der Anforderung zurück an den fernen DFP-Systemmaster sendet, wobei die Bestätigung eine Liste der lokalen I2C-Bus-Einheiten und deren bestimmter Offsets aufweist; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er ein Vernetzen der lokalen I2C-Bus-Einheiten ermöglicht; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Leseanforderung vom DFP-Systemmaster zum Lesen zumindest einer der lokalen I2C-Bus-Einheiten empfängt und die Leseanforderung auf Identität prüft; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er Details zu der zumindest einen der lokalen I2C-Bus-Einheiten in einem gleichen Paket verkapselt, in dem die Leseanforderung empfangen wurde; und einen computerlesbaren Programmcode, der so konfiguriert ist, dass er das gleiche Paket in Reaktion auf die auf Identität geprüfte Leseanforderung über einen Netzanschluss, der mit dem lokalen Netz-Switch des DFP-Systemelements verbunden ist, an zumindest eine registrierte Media-Access-Control-(MAC-)Adresse sendet, um es zumindest an den DFP-Systemmaster zu vermitteln, und/oder wobei das Computerprogrammprodukt ferner aufweist: einen computerlesbaren Programmcode, der so konfiguriert ist, dass er den lokalen Prozessor veranlasst, zu einem Element eines DFP-Systems zu werden, indem er auf eine Anforderung vom fernen DFP-Systemmaster antwortet, Teil des DFP-Systems zu werden; 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-Systemelements beim Hochfahren des DFP-Systemelements lädt und initialisiert; und einen computerlesbaren Programmcode, der so konfiguriert ist, dass er eine Anforderung an dem lokalen Netz-Switch des DFP-Systemelements, ein Teil des DFP-Systems zu werden, empfängt.
  13. Computerprogrammprodukt, 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 Nachricht an ein oder mehrere Distributed-Fabric-Protocol-(DFP-) Systemelemente sendet, um einen Masterstatus über dem einen oder den mehreren DFP-Systemelementen zu bilden, wobei die Nachricht eine Anforderung zum Registrieren von lokalen I2C-Bus-Einheiten auf jedem DFP-Systemelement bei einem DFP-Systemmaster aufweist; 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, wobei jede Bestätigung zumindest ein Paket enthält, in dem Details zu einer oder mehreren lokalen I2C-Bus-Einheiten verkapselt sind, die beim fernen DFP-Systemmaster zu registrieren sind; 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 der einen oder den mehreren lokalen I2C-Bus-Einheiten abzurufen; einen computerlesbaren Programmcode, der so konfiguriert ist, dass er alle I2C-Bus-Einheiten vom jedem des einen oder der mehreren DFP-Systemelemente unter Verwendung der in dem zumindest einen Paket enthaltenen Details unter Verwendung eines lokalen Prozessors des DFP-Systemmaster zuordnet; und einen computerlesbaren Programmcode, der so konfiguriert ist, dass er unter Verwendung des lokalen Prozessors des DFP-Systemmaster auf die registrierten I2C-Bus-Einheiten auf dem einen oder den mehreren DFP-Systemelementen zugreift, und/oder wobei das Computerprogrammprodukt 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 während einer vorab festgelegten Zeitdauer auf die eine oder mehreren Bestätigungen wartet; und einen computerlesbaren Programmcode, der so konfiguriert ist, dass er einen lokalen Prozessor des DFP-Systemmaster veranlasst, der DFP-Systemmaster zu werden, nachdem ein Auswahlverfahren an allen Elementen des DFP-Systems durchgeführt wurde.
  14. Verfahren, das aufweist: Zugreifen auf jede lokale I2C-Bus-Einheit unter Verwendung eines lokalen Prozessors über einen zweckbestimmten Prozessor, um festzustellen, welche lokalen I2C-Bus-Einheiten auf einem Distributed-Fabric-Protocol-(DFP-)Systemelement vorhanden sind; Empfangen einer Anforderung von einem fernen DFP-Systemmaster zum Registrieren von lokalen I2C-Bus-Einheiten auf dem DFP-Systemelement, um den Zugriff auf die lokalen I2C-Bus-Einheiten zu ermöglichen, die dem DFP-Systemmaster bereitzustellen sind; Senden einer Bestätigung der Anforderung zurück an den DFP-Systemmaster, wobei die Bestätigung eine Liste der lokalen I2C-Bus-Einheiten und deren bestimmter Offsets aufweist; Ermöglichen des Vernetzens der lokalen I2C-Bus-Einheiten; Empfangen einer Leseanforderung vom DFP-Systemmaster zum Lesen zumindest einer der lokalen I2C-Bus-Einheiten und Prüfen der Leseanforderung auf Identität; Verkapseln von Details zu der zumindest einen der lokalen I2C-Bus-Einheiten in einem gleichen Paket, in dem die Leseanforderung empfangen wurde; und Senden des gleichen Pakets in Reaktion auf die auf Identität geprüfte Leseanforderung über einen Netzanschluss, der mit dem lokalen Netz-Switch des DFP-Systemelements verbunden ist, an zumindest eine registrierte Media-Access-Control-(MAC-)Adresse, um es zumindest an den DFP-Systemmaster zu vermitteln, und/oder wobei das Verfahren unter Verwendung eines zweckbestimmten Prozessors des DFP-Systemelements 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, eine Quelle lokaler I2C-Bus-Einheiten, einen Offset, einen Interrupt-Typ und eine Interrupt-Priorität für jede der einen oder mehreren lokalen I2C-Bus-Einheiten aufweist, und/oder wobei das Verfahren ferner aufweist: Veranlassen, dass der lokale Prozessor ein Element eines DFP-Systems wird, durch Antworten auf eine Anforderung vom DFP-System, Teil des DFP-Systems zu werden; Erstellen eines virtuellen lokalen Netzes (VLAN) auf dem lokalen Netz-Switch; Hinzufügen eines lokalen Netzanschlusses, der mit dem zweckbestimmten Prozessor verbunden ist, zum VLAN; Laden und Initialisieren eines zweckbestimmten Prozessors des DFP-Systemelements beim Hochfahren des DFP-Systemelements; und Empfangen einer Anforderung an dem lokalen Netz-Switch des DFP-Systemelements, ein Teil des DFP-Systems zu werden. und/oder wobei das Verfahren ferner aufweist: Senden eines Message Signaled Interrupt (MSI) an den lokalen Prozessor über einen PCIe-Bus, der mit dem lokalen PCIe-Switch verbunden ist, gleichzeitig mit dem Senden des gleichen Pakets in Reaktion auf die auf Identität geprüfte Leseanforderung; und Vermitteln des zumindest einen Pakets zumindest an den DFP-Systemmaster unter Verwendung des lokalen Netz-Switch.
  15. Verfahren, das aufweist: Senden einer Nachricht an ein oder mehrere Distributed-Fabric-Protocol-(DFP-)Systemelemente, um einen Masterstatus über dem einen oder den mehreren DFP-Systemelementen zu bilden, wobei die Nachricht eine Anforderung zum Registrieren von I2C-Bus-Einheiten auf jedem DFP-Systemelement, das gegenüber den I2C-Bus-Einheiten fern ist, bei einem DFP-Systemmaster enthält; Empfangen einer oder mehrerer Bestätigungen der Anforderung von dem einen oder den mehreren DFP-Systemelementen an einem lokalen Netz-Switch des DFP-Systemmaster, wobei jede Bestätigung zumindest ein Paket enthält, in dem Details zu einer oder mehreren fernen I2C-Bus-Einheiten verkapselt sind, die beim DFP-Systemmaster zu registrieren sind; bei Empfang des zumindest einen Pakets: Entschlüsseln des zumindest einen Pakets unter Verwendung eines zweckbestimmten Prozessors des DFP-Systemmaster, um Details zu der einen oder den mehreren fernen I2C-Bus-Einheiten abzurufen; Zuordnen aller fernen I2C-Bus-Einheiten von jedem des einen oder der mehreren DFP-Systemelemente unter Verwendung der Details, die in dem zumindest einen Paket enthalten sind, unter Verwendung eines lokalen Prozessors des DFP-Systemmaster als lokale I2C-Bus-Einheiten; Installieren von I2C-Treibern für alle zugeordneten I2C-Bus-Einheiten auf dem lokalen Prozessor; Zugreifen auf die zugeordneten I2C-Bus-Einheiten auf dem einen oder den mehreren DFP-Systemelementen unter Verwendung des lokalen Prozessors des DFP-Systemmaster unter Verwendung von Software-Treiber-Anwendungsprogrammschnittstellen (APIs); und Installieren einer Interrupt-Service-Routine (ISR) für alle entfernt erzeugten Interrupts, die von den zugeordneten I2C-Bus-Einheiten produziert wurden, die an den DFP-Systemmaster gesendet werden, wobei die entfernt erzeugten Interrupts durch zweckbestimmte Prozessoren des einen oder der mehreren DFP-Systemelemente an den DFP-Systemmaster gesendet werden, und/oder 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, wobei es sich bei dem zumindest einen Paket um ein Enhanced-Layer-2-Transport-(EL2T-)Protokollpaket handelt, und wobei das zumindest eine Paket eine Switch-ID des DFP-Systemelements, eine Quelle lokaler I2C-Bus-Einheiten, einen Offset, einen Interrupt-Typ und/oder eine Interrupt-Priorität für jede der einen oder mehreren lokalen I2C-Bus-Einheiten enthält, und/oder wobei das eine oder die mehreren DFP-Systemelemente EL2T-Pakete, in denen Interrupt-Details verkapselt sind, an den zweckbestimmten Prozessor des DFP-Systemmaster sendet bzw. senden und gleichzeitig ein Peripheral-Component-Interconnect-Express-(PCIe-)Message-Signaled-Interrupt (MSI) an einen lokalen Prozessor des einen oder der mehreren DFP-Systemelemente sendet bzw. senden, wobei der zweckbestimmte Prozessor des DFP-Systemmaster bei Empfang des EL2T-Pakets mit verkapseltem Interrupt einen PCIe-MSI an den lokalen Prozessor des DFP-Systemmaster erzeugt, und wobei der lokale Prozessor des DFP-Systemmaster eine Interrupt-Service-Routine (ISR) aufruft, um den MSI zu bedienen, und/oder wobei das Verfahren ferner aufweist: Erstellen eines virtuellen lokalen Netzes (VLAN) auf dem lokalen Netz-Switch; Hinzufügen eines lokalen Netzanschlusses, der mit dem zweckbestimmten Prozessor verbunden ist, zum VLAN; Laden und Initialisieren des zweckbestimmten Prozessors des DFP-Systemmaster beim Hochfahren des DFP-Systemmaster; Warten auf die eine oder mehreren Bestätigungen während einer vorab festgelegten Zeitdauer; und Veranlassen eines lokalen Prozessors des DFP-Systemmaster, der DFP-Systemmaster zu werden, nachdem ein Auswahlverfahren an allen Elementen des DFP-Systems durchgeführt wurde.
DE102013209515.5A 2012-06-01 2013-05-22 Bereitstellen eines I2C-Busses über Ethernet Active DE102013209515B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/487,072 US8984201B2 (en) 2012-06-01 2012-06-01 Providing I2C bus over Ethernet
US13/487,072 2012-06-01

Publications (2)

Publication Number Publication Date
DE102013209515A1 true DE102013209515A1 (de) 2013-12-05
DE102013209515B4 DE102013209515B4 (de) 2022-11-10

Family

ID=49579695

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013209515.5A Active DE102013209515B4 (de) 2012-06-01 2013-05-22 Bereitstellen eines I2C-Busses über Ethernet

Country Status (2)

Country Link
US (3) US8984201B2 (de)
DE (1) DE102013209515B4 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US9253121B2 (en) * 2012-12-31 2016-02-02 Broadcom Corporation Universal network interface controller

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU766657B2 (en) * 1998-05-23 2003-10-23 Aristocrat Technologies Australia Pty Limited 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
US7039046B1 (en) * 2000-05-20 2006-05-02 Ciena Corporation Network device including central and distributed switch fabric subsystems
US7013084B2 (en) 2001-02-28 2006-03-14 Lambda Opticalsystems Corporation Multi-tiered control architecture for adaptive optical networks, 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
EP2677691A1 (de) 2004-05-25 2013-12-25 Rockstar Consortium US LP 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
CA2672100A1 (en) 2006-12-06 2008-06-12 Fusion Multisystems, Inc. Apparatus, system, and method for solid-state storage as cache for high-capacity, non-volatile storage
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
US20090327572A1 (en) * 2008-06-30 2009-12-31 In Sung Cho Exchanging information between components coupled with an a i2c bus via separate banks
US8165119B2 (en) 2008-06-30 2012-04-24 Dell Products, Lp System and method of enabling a transparent Ethernet switch
US8595343B2 (en) * 2008-11-14 2013-11-26 Dell Products, Lp System and method for sharing storage resources
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
US8370534B2 (en) 2009-12-03 2013-02-05 Dell Products, Lp Host-based messaging framework for PCIe device management
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
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

Also Published As

Publication number Publication date
US20160154766A1 (en) 2016-06-02
US9282062B2 (en) 2016-03-08
US8984201B2 (en) 2015-03-17
US9904654B2 (en) 2018-02-27
DE102013209515B4 (de) 2022-11-10
US20130322290A1 (en) 2013-12-05
US20150146738A1 (en) 2015-05-28

Similar Documents

Publication Publication Date Title
JP4622835B2 (ja) 仮想計算機システム及びそのネットワーク通信方法
DE102021122880A1 (de) Infrastrukturverarbeitungseinheit
DE112012001753B4 (de) 3 -Anmeldesequenz für eine Fibre-Channel-Weiterleiterstruktur
DE102018006890A1 (de) Technologien zur Verarbeitung von Netzpaketen durch einen intelligenten Netzwerk-Schnittstellenkontroller
DE112011102415B4 (de) Registerzugriff in einer verteilten virtuellen Brückenumgebung
TWI521437B (zh) 用於網路的方法和系統
DE102008030587B4 (de) Verfahren und Vorrichtung zur Erhöhung der Effizienz der Interrupt-Lieferung zur Laufzeit in einem Netzwerksystem
DE112016004347T5 (de) Lokale und globale Datenzentrumsnetzoptimierungen in Echtzeit basierend auf Plattformtelemetriedaten
DE112012002404B4 (de) Konfiguration und Management virtueller Netzwerke
DE112005001502T5 (de) Gemeinsame Benutzung einer physikalischen Vorrichtung durch mehrere Kunden
DE102015105884A1 (de) Zuverlässige und deterministische Live-Migration von virtuellen Maschinen
DE102015118705A1 (de) Technologien für leistungsbasierte Außer-der-Reihe-Task-Planung für Datenzentren
DE102013209306A1 (de) Bereitstellen von Echtzeit-Interrupts über Ethernet
DE102011103218A1 (de) Systeme, Verfahren und Vorrichtung zum Virtualisieren von TPM- Zugriffen
DE112008001168T5 (de) System und Verfahren zum gemeinschaftlichen Verwenden eines Druckers
DE112014002799B4 (de) Bereitstellen einer sicheren Kundendomäne in einer virtualisierten Mehr-Mieter-Umgebung
DE112014000442T5 (de) Auf Einzelmikroregler beruhendes Management mehrerer Rechenknoten
DE102018129112A1 (de) Systemdecoder für Trainingsbeschleuniger
DE112018007780T5 (de) Transparente verschlüsselung
EP3949273A1 (de) Hochskalierbares, software-definiertes netzwerkinternes multicasting von laststatistikdaten
DE102021109231A1 (de) Bedienungssystem installation mechanismus
DE112019000965T5 (de) Technologien zur reduzierung der nic-anschlüsse mit beschleunigter schaltung
DE102013209515B4 (de) Bereitstellen eines I2C-Busses über Ethernet
DE112017001757T5 (de) Verfahren und vorrichtung zum koordinieren und authentifizieren von anfragen nach daten
AT512665B1 (de) Verfahren und Apparat zur Bildung von Software Fault Containment Units in einem verteilten Echtzeitsystem

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE

Representative=s name: SPIES DANNER & PARTNER PATENTANWAELTE PARTNERS, DE

R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE

R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final