DE60319548T2 - Handhabung eines knotenadressenausfalls in einem verteilten knotensystem von prozessoren - Google Patents

Handhabung eines knotenadressenausfalls in einem verteilten knotensystem von prozessoren Download PDF

Info

Publication number
DE60319548T2
DE60319548T2 DE60319548T DE60319548T DE60319548T2 DE 60319548 T2 DE60319548 T2 DE 60319548T2 DE 60319548 T DE60319548 T DE 60319548T DE 60319548 T DE60319548 T DE 60319548T DE 60319548 T2 DE60319548 T2 DE 60319548T2
Authority
DE
Germany
Prior art keywords
node
processor
address
network
nodes
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.)
Expired - Lifetime
Application number
DE60319548T
Other languages
English (en)
Other versions
DE60319548D1 (de
Inventor
Brian Gerard Tucson Goodman
Ronald Faye Tucson HILL
Leonard George Tucson Jesionowski
Raymond Tucson YARDY
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 DE60319548D1 publication Critical patent/DE60319548D1/de
Application granted granted Critical
Publication of DE60319548T2 publication Critical patent/DE60319548T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5046Resolving address allocation conflicts; Testing of addresses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1443Transmit or communication errors

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft verteilte Knotensysteme von Prozessoren und insbesondere die Knotenadressierung in einem Netz eines Knotensystems von Prozessoren. Ein Beispiel eines verteilten Knotensystems von Prozessoren sind Prozessoren zum Betrieb einer automatisierten Datenspeicherbibliothek.
  • HINTERGRUND DER ERFINDUNG
  • Verteilte Knotensysteme von Prozessoren, die auch als „eingebettete" Prozessorsysteme bezeichnet werden, werden in einer breiten Vielfalt von Anwendungen und in immer größerem Umfang genutzt. Bei verteilten Knotensystemen von Prozessoren, z. B. in einem Steuersystem, ist die Steuerung des Gesamtsystems auf zwei oder mehrere Prozessorknoten in dem System oder Produkt aufgeteilt.
  • Ein Vorteil derartiger Systeme besteht in der Vereinfachung der Problemdiagnose und Instandsetzung, da Funktionen auf unterschiedliche Bereiche des Systems begrenzt sind. Des Weiteren können derartige Systeme durch Hinzufügen von Komponenten und Prozessorknoten erweitert werden, ohne das gesamte System zu ersetzen. Die Knoten eines verteilten Steuersystems sind üblicherweise über ein oder mehrere Kommunikationsnetze untereinander verbunden, die hier als „Netz" bezeichnet werden.
  • Ein Beispiel eines Steuersystems mit einem verteilten Knotensystem von Prozessoren umfasst eine automatisierte Datenspeicherbibliothek wie z. B. die IBM 3584 Ultra Scalable Tape Library. Die Prozessoren der Bibliothek 3584 sind in verschiedene Komponenten der Bibliothek eingebettet, kommunizieren über ein Busnetz und steuern die Komponenten und dadurch die Bibliothek. Eine Erläuterung einer automatisierten Datenspeicherbibliothek mit einem verteilten Knotensystem von Prozessoren ist in der US-Patentschrift 6,356,803 enthalten, die am 12.03.2002 erteilt wurde. Instandsetzungsaktionen bei derartigen Systemen können das Austauschen einer einzelnen Komponente, eines Prozessorknotens oder eines Prozessors am Knoten umfassen. Die Bibliothek ist aus einem oder mehreren „Chassis" gebildet, die jeweils eine Gruppe oder Untergruppe von Bibliothekskomponenten wie z. B. Ablagefacher zum Aufbewahren von Datenspeichermedien, ein oder mehrere Datenspeicherlaufwerke zum Lesen und/oder Schreiben von Daten von bzw. auf die Datenspeichermedien, einen Roboter-Zugriffsmechanismus (ACC) zum Transportieren der Datenspeichermedien zwischen den Ablagefächern und den Datenspeicherlaufwerken, ein Netz und eine Vielzahl von Prozessorknoten zum Steuern der Bibliothek umfassen. Die Bibliothek kann durch Hinzufügen eines oder mehrerer Chassis und/oder eines oder mehrerer Zugriffsmechanismen oder weiterer Knoten erweitert werden.
  • Ein weiteres Beispiel eines Steuersystems mit einem verteilten Knotensystem von Prozessoren umfasst ein Mehrprozessornetz in einem Kraftfahrzeug.
  • Um über das Netz zu kommunizieren, müssen die Komponenten und/oder die Prozessorknoten Knotenadressen haben, wie sie z. B. bei CAN-Bussen oder Ethernet-Netzen genutzt werden und dem Fachmann bekannt sind. Wird ein Chassis hinzugefügt, so hat/haben der/die dem Netz hinzugefügte(n) Prozessorknoten möglicherweise keine Knotenadresse oder nur eine teilweise vorhandene Knotenadresse und den neuen Prozessorknoten müssen Knotenadressen vergeben werden. Wird eine einzelne Komponente, ein einzelner Prozessorknoten oder ein Prozessor am Knoten durch eine neue Komponente usw. ersetzt oder wird eine andere Komponente usw. gegen eine weitere ausgetauscht, so hat der Prozessorknoten möglicherweise keine Knotenadresse oder nutzt bei einem Austausch möglicherweise seine bisherige Knotenadresse. Des Weiteren können Prozessorknotenkarten bei allen Komponenten untereinander austauschbar sein, wodurch die Handhabung von Teilen erleichtert und die Diagnose und Instandsetzung vereinfacht werden, jedoch die Verwendung statischer Adressierung verhindert wird, bei der es für jede Knotenadresse eine separate Teilenummer gibt, oder verhindert wird, dass die Knotenadresse auf jeder Prozessorknotenkarte permanent festgelegt wird.
  • Eine Möglichkeit zur Bereitstellung einer neuen Knotenadresse besteht darin, dass ein Mitarbeiter des Bedien- oder Instandsetzungspersonals eine neue Knotenadresse zuweist. Bei einem Beispiel einer komplexen Knotenadresse kann eine Komponente einen Funktionsteil einer Adresse haben, der auf eine Karte codiert ist, und dem Prozessorknoten wird eine Chassisnummer bereitgestellt und die Funktionsadresse sowie die Chassisnummer werden kombiniert, um eine Knotenadresse zu berechnen. Alternativ dazu können automatische Modi zum Bereitstellen neuer Knotenadressen genutzt werden. Um ein Beispiel zu nennen, ist ein Kabel aus bestimmten Leitungen aufgebaut, die auf High- oder Low-Pegel liegen, um eine Binärzahl bereitzustellen, die zur Berechnung der Knotenadresse genutzt werden kann. Als weiteres Beispiel, das in der US-Patentanmeldung mit der Seriennummer 09/854,865, eingereicht am 14. Mai 2001, erläutert wird, können ein Impulsgenerator und ein Verzögerungssignalgenerator eine automatische Chassiszählung bereitstellen, die zusammen mit der Funktionsadresse verwendet werden kann, um die Knotenadresse zu berechnen. Als weiteres Beispiel kann ein Server ein DHCP-Protokoll (DHCP = Dynamic Host Configuration Protocol) nutzen, um einem Prozessorknoten eine IP-Adresse zu vergeben.
  • Sowohl bei einem manuellen als auch bei einem automatisierten Modus ist ein Ausfall möglich. Beispielsweise kann der Bediener die Positionierung oder Funktion des Prozessorknotens falsch beurteilen. Bei einem automatischen Modus könnte das Binärkabel ausfallen oder falsch angeschlossen sein oder es könnte das falsche Kabel verwendet werden. Als weiteres Beispiel könnte die Schaltung des Chassiszählers ausfallen oder die Verkabelung könnte falsch angeschlossen werden.
  • In einem derartigen Fall hat die Komponente möglicherweise keine Knotenadresse, wenn sie sich im Netz befindet, oder hat eine falsche Adresse oder zeigt möglicherweise eine Adresse, bei der es sich um ein Duplikat einer anderen Komponente im Netz handelt. Ein Adressduplikat ist möglich, wenn sich ein Prozessorknoten an einer Komponente befindet, die ein Funktionsduplikat einer anderen Komponente ausführt, die Chassisnummer falsch liest und die falsche Chassisnummer in der Adresse nutzt. Alternativ dazu kann der Prozessorknoten aus einem System in ein anderes getauscht werden und sich in dem neuen System an einer anderen Stelle befinden. Adressierungsfehler wie z. B. das Vorhandensein einer unbekannten Komponente oder von Duplikaten im Netz können dazu führen, dass das gesamte System oder Teile davon nicht mehr betriebsfähig sind und Wartungsaktionen erforderlich werden.
  • Ausfälle von Produkten werden immer weniger tolerierbar, da Systeme und Kundenerwartungen in Richtung eines Konzepts der kontinuierlichen Verfügbarkeit wie z. B. der wohlbekannten „24 × 7 × 365"-Verfügbarkeit gehen.
  • Beispielsweise bieten automatisierte Datenspeicherbibliotheken Mittel zum Speichern großer Datenmengen auf Datenspeichermedien, die sich nicht permanent in Datenspeicherlaufwerken befinden und sofort verfügbar in Ablagefächern aufbewahrt sind. Ein oder mehrere Roboter-Zugriffsmechanismen entnehmen ausgewählte Datenspeichermedien aus Ablagefächern und bringen diese zu Datenspeicherlaufwerken. Üblicherweise werden angeforderte Daten, die auf Datenspeichermedien einer automatisierten Datenspeicherbibliothek gespeichert sind, schnell benötigt. Es ist daher wünschenswert, dass eine automatisierte Datenspeicherbibliothek so weit wie möglich in einem kontinuierlichen Betriebszustand gehalten wird.
  • Automatisierte Datenspeicherbibliotheken können Systeme umfassen, die von einer Vielzahl zusammenwirkender Prozessoren gesteuert werden, wie z. B. von einem zentralen Controller, der über eine externe Schnittstelle mit dem Host-System verbunden ist und einen kontinuierlich aktualisierten Datenbestand über die Standorte und den Inhalt der Datenspeichermedien in der Datenspeicherbibliothek bereitstellt, sowie von einem Robotersteuersystem, das die genauen Standorte der Datenspeicherlaufwerke und der Ablagefächer erkennt und den bestmöglichen Betrieb des/der Roboter-Zugriffsmechanismus/-Zugriffsmechanismen berechnet, um Datenspeichermedien effizient zwischen den verschiedenen Ablagefächern und Datenspeicherlaufwerken zu transportieren. Viele der Komponenten sind redundant, sodass ein Prozessorknoten ausfallen kann und das Gesamtsystem nach wie vor funktioniert, jedoch hängt das Zusammenwirken aller Komponenten von einer ordnungsgemäßen Adressierungsstruktur des Netzes ab.
  • Globale Adressierung ist, wie z. B. durch die US-Patentschrift 5,987,506 gezeigt, zum Zuordnen von Adressen über mehrere „Wolken" hinweg durch sorgfältige Segmentierung der Adressen, die nicht zulässt, dass dieselbe Adresse in mehr als einer Wolke zugeordnet wird, bekannt, bietet jedoch kein Verfahren zur Handhabung von Ausfällen bei der Adressierung.
  • Es gibt viele Beispiele von Konflikten bei der Adressierung. Beispielsweise löst die US-Patentschrift 5,386,515 einen Konflikt durch Verschieben eines Adressraums eines Hardwareadapters auf einen nächstfolgenden Adressraum, wodurch der kollidierende Adressbereich übergangen wird. Das System ist jedoch bis zur Lösung des Konflikts heruntergefahren und nicht betriebsfähig. Im IBM Technical Disclosure Bulletin, Band 41, Nr. 01, Januar 1998, Seiten 703 bis 705, wird als Reaktion auf eine Duplizierung der IP-Adressen von Sender und Empfänger eine Antwort von einem Host erzwungen, sodass der Duplikats-Host seine Schnittstelle abschaltet und eine Warnnachricht sendet. Der antwortende Host kann die IP-Adressen weiterhin verwenden, bis manuell korrigiert wird, wodurch sich die Unterbrechung auf den antwortenden Host reduziert. Wenn sich ein Knoten anmeldet, empfangen alle Knoten im Netz die doppelten IP-Adressen und alle können somit den Antwortprozess durchlaufen. Erst nachdem der Duplikats-Host die Antwort empfängt und seine Schnittstelle abschaltet, können die antwortenden Hosts mit dem ursprünglichen Eigentümer der IP-Adresse kommunizieren.
  • Das Dokument US610499 offenbart ein Verfahren und ein Computerprodukt zum automatischen Erzeugen einer IP-Netzadresse, die eine vereinfachte Netzverbindung und Netzadministration für kleine IP-Netze ohne IP-Adressserver, wie sie z. B. in Netzumgebungen kleiner Unternehmen oder im Heimbereich zu finden sind, ermöglichen. Zunächst wird eine vorgeschlagene IP-Adresse erzeugt, indem auf der Grundlage von Informationen, die dem IP-Host zur Verfügung stehen, ein das Netz kennzeichnender Teil ausgewählt wird. Beispielsweise kann die in der Netzschnittstellenkarte vorhandene Ethernetadresse nach IEEE 802 mit einer deterministischen Hash-Funktion verwendet werden, um den Teil der IP-Adresse zu erzeugen, der den Host kennzeichnet. Als Nächstes wird die erzeugte IP-Adresse im Netz getestet, um zu gewährleisten, dass kein vorhandener IP-Host diese spezielle IP-Adresse verwendet. Falls die erzeugte IP-Adresse bereits existiert, wird eine neue IP-Adresse erzeugt, anderenfalls verwendet der IP-Host die erzeugte IP-Adresse, um über das Netz zu kommunizieren. Wenn während der Verwendung der erzeugten IP-Adresse nachträglich ein IP-Adressserver zur Verfügung steht, passt sich der Host den Protokollen des IP-Adressservers an, um eine zugewiesene IP-Adresse zu empfangen, und beendet schrittweise die Verwendung der automatisch erzeugten IP-Adresse.
  • ÜBERBLICK ÜBER DIE ERFINDUNG
  • Gemäß der vorliegenden Erfindung sind ein Prozessorknoten gemäß Definition im beigefügten Hauptanspruch 1, ein verteiltes Knotensystem von Prozessoren gemäß Definition im beigefügten Hauptanspruch 6, eine automatisierte Datenspeicherbibliothek gemäß Definition im beigefügten Hauptanspruch 7, ein Verfahren zur Handhabung von Adressierungsausfällen gemäß Definition im beigefügten Hauptanspruch 8 und ein Computerprogramm gemäß Definition im beigefügten Hauptanspruch 13 vorgesehen.
  • Bevorzugte Ausführungsarten sind in den Unteransprüchen definiert.
  • Zum umfassenderen Verständnis der vorliegenden Erfindung sollte Bezug auf die folgende detaillierte Beschreibung genommen werden, die in Verbindung mit den beigefügten Zeichnungen zu lesen ist.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist eine isometrische Ansicht einer automatisierten Datenspeicherbibliothek, mit deren Hilfe eine Vielzahl von Prozessorknoten gemäß der vorliegenden Erfindung implementiert werden kann;
  • 2 ist eine Blockdiagrammdarstellung einer Ausführungsart der automatisierten Datenspeicherbibliothek aus 1, die die vielzahl von Prozessorknoten gemäß der vorliegenden Erfindung nutzt;
  • 3 ist eine Blockdiagrammdarstellung einer Vielzahl von Prozessorknoten aus 2 und
  • 4 ist ein Ablaufdiagramm, das Ausführungsarten des Verfahrens der vorliegenden Erfindung zur Handhabung von Adressierungsausfällen bei den Prozessorknoten aus den 2 und 3 beschreibt.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Bei einer Anordnung ist ein verteiltes Knotensystem von Prozessoren in einem Netz vorgesehen, wobei die Prozessorknoten mindestens einen Prozessor und mindestens eine Schnittstelle zum Netz umfassen. Mindestens einer der Prozessorknoten deaktiviert nach Erkennung eines Adressenausfalls des Prozessorknotens für das Netz – wie z. B. Fehlen einer Knotenadresse oder eine Solladresse, bei der es sich um eine falsche Adresse handelt oder die ein Adressduplikat umfasst, z. B. an der Schnittstelle des Prozessorknotens erkannt – den Prozessorknoten im Netz. Durch das Deaktivieren des Prozessorknotens oder seiner Solladresse im Netz sind nur der Prozessorknoten und seine Komponente zeitweilig ausgefallen und das System bleibt somit betriebsfähig. Die Knotenadresse dient zum Adressieren des Prozessorknotens im Netz, nachdem der Prozessorknoten im Netz aktiviert wurde.
  • Bei einer weiteren Anordnung umfasst der Prozessorknoten zusätzlich einen nichtflüchtigen Speicher und bewahrt eine alternative Knotenadresse des Prozessorknotens im nichtflüchtigen Speicher auf. Beispielsweise kann die alternative Knotenadresse die Knotenadresse der letzten erfolgreichen Erkennung der Knotenadressierung umfassen. Der Prozessorknoten wählt – nach der Erkennung eines Knotenadressenausfalls, z. B. durch Erkennen eines Konflikts oder als weiteres Beispiel, indem er versucht, seine eigene Knotenadresse extern festzulegen und keine nutzbare Knotenadresse als seine eigene festlegen kann – eine Knotenadresse aus, die den Knotenadressenausfall vermeidet, indem er die alternative Knotenadresse im nichtflüchtigen Speicher auswählt.
  • Bei einer weiteren Anordnung legt ein Prozessorknoten zu Anfang eine Knoten-Solladresse als seine eigene fest, tastet Knotenadressen anderer Prozessorknoten des Netzes ab und vergleicht die abgetasteten Knotenadressen anderer Prozessorknoten mit der Knoten-Solladresse. Wenn der Prozessorknoten die Existenz irgendeines Konflikts zwischen mindestens einer der abgetasteten Knotenadressen anderer Prozessorknoten mit der Knoten-Solladresse ermittelt, umfasst der existierende Konflikt einen Knotenadressenausfall des Prozessorknotens für das Netzwerk und der Prozessorknoten wird im Netz deaktiviert.
  • Bei noch einer weiteren Anordnung unterliegen mindestens zwei der Prozessorknoten einem Reset und umfassen mindestens einen Prozessor, mindestens eine Schnittstelle zum Netzwerk sowie einen Zeitgeber, wobei der Zeitgeber ständig die seit dem Zurücksetzen des Prozessorknotens verstrichene Zeit angibt. Wie oben wird bei Existenz irgendeines Konflikts zwischen mindestens einer der abgetasteten Knotenadressen anderer Prozessorknoten und der Knoten-Solladresse eines Prozessorknotens ein Knotenadressenausfall festgestellt.
  • Ein Prozessorknoten mit der kollidierenden Knotenadresse vergleicht die Zeitgeber, um zu ermitteln, ob er die kürzere Zeit seit einem Reset hat. Wenn der Prozessorknoten die kürzere Zeit hat, wird seine Solladresse im Netz deaktiviert.
  • Bei einer weiteren Anordnung kann eine falsche Knotenadresse ermittelt werden, indem der Prozessorknoten Bezeichnungsinformationen von Elementen verwaltet, die dem Knoten zugeordnet sind. Bei einem Beispiel haben an einen Prozessorknoten gekoppelte Datenspeicherlaufwerke eindeutige Seriennummern und der Prozessorknoten speichert die Seriennummern als Bezeichnungsinformation. Wenn der Knoten eine Knoten-Solladresse ermittelt, tastet er die vorhandenen Bezeichnungsinformationen zugeordneter Elemente ab und vergleicht die vorhandene Bezeichnungsinformation mit der verwalteten Bezeichnungsinformation. Eine Ermittlung einer fehlenden Übereinstimmung stellt einen Knotenadressenausfall des Prozessorknotens dar und führt zur Deaktivierung der Knoten-Solladresse im Netz.
  • Durch Deaktivieren eines Prozessorknotens mit einem Adressenausfall im Netz fällt nur die Komponente zeitweilig aus und das System bleibt betriebsfähig. Die Nutzung einer alternativen Knotenadresse, die den Adressenausfall vermeidet, verhindert des Weiteren jegliche Unterbrechung des Systems und vermeidet sofortige Instandsetzungsaktionen an dem Prozessorknoten oder an der Komponente.
  • Die vorliegende Erfindung ist in der folgenden Beschreibung anhand bevorzugter Ausführungsarten unter Bezugnahme auf die Figuren beschrieben, in denen dieselben Bezugsnummern dieselben oder ähnliche Elemente darstellen.
  • Obwohl diese Erfindung hinsichtlich der besten Ausführungsart zur Erreichung der Ziele dieser Erfindung beschrieben wird, ist für den Fachmann nachvollziehbar, dass Variationen im Hinblick auf diese Darlegungen vorgenommen werden können, ohne vom Geist oder Geltungsbereich der Erfindung abzuweichen.
  • 1 veranschaulicht eine Ausführungsart einer automatisierten Datenspeicherbibliothek 10, mit der eine Vielzahl von Prozessorknoten gemäß der vorliegenden Erfindung implementiert werden kann. Die Bibliothek dient dem Zugriff auf Datenspeichermedien 14, der als Reaktion auf Befehle von mindestens einem externen Host-System stattfindet, und umfasst eine Vielzahl von Ablagefächern 16 zum Aufbewahren von Datenspeichermedien, mindestens ein Datenspeicherlaufwerk zum Lesen und/oder Schreiben von Daten in Bezug auf die Datenspeichermedien und mindestens einen Roboter-Zugriffsmechanismus 18 zum Transportieren der Datenspeichermedien zwischen der Vielzahl von Ablagefächern 16 und dem/den Datenspeicherlaufwerk(en). Die Bibliothek kann außerdem eine Bedienerkonsole 23 (OP) oder eine andere Benutzerschnittstelle wie z. B. eine webbasierte Schnittstelle umfassen, die die Interaktion eines Benutzers mit der Bibliothek ermöglicht. Die Bibliothek 10 kann ein oder mehrere Chassis 11 bis 13 umfassen, die jeweils Ablagefächer 16 haben, auf die der Roboter-Zugriffsmechanismus 18 zugreifen kann. Der Roboter-Zugriffsmechanismus 18 umfasst eine Greifarmbaugruppe 20 zum Greifen eines oder mehrerer Datenspeichermedien 14 und kann einen Barcode-Scanner 22 oder ein Lesesystem wie z. B. einen Smart-Card-Leser oder ein ähnliches System umfassen, das am Greifarm 20 montiert ist, um Kennzeichnungsinformationen über die Datenspeichermedien 14 zu „lesen".
  • 2 veranschaulicht eine Ausführungsart einer Datenspeicherbibliothek 10 aus 1, die eine Vielzahl von Prozessorknoten gemäß der vorliegenden Erfindung nutzt. Ein Beispiel einer Datenspeicherbibliothek, mit der die vorliegende Erfindung implementiert werden kann, ist die IBM 3584 Ultra Scalable Tape Library. Die Bibliothek umfasst ein Grundchassis 11, kann zusätzlich ein oder mehrere Erweiterungschassis 12 und ein Hochverfügbarkeitschassis 13 umfassen.
  • Das Grundchassis 11 der Bibliothek 10 umfasst ein oder mehrere Datenspeicherlaufwerke 15 und einen Roboter- Zugriffsmechanismus 18. Wie oben erläutert umfasst der Roboter-Zugriffsmechanismus 18 eine Greifarmbaugruppe 20 und kann ein Lesesystem 22 umfassen, um Kennzeichnungsinformation über die Datenspeichermedien 14 zu „lesen". Die Datenspeicherlaufwerke 15 können z. B. optische Plattenlaufwerke oder Magnetbandlaufwerke sein und die Datenspeichermedien 14 können optische Medien bzw. magnetische Bandmedien oder beliebige andere Wechselmedien und zugeordnete Laufwerke sein. Beispielsweise kann ein Datenspeicherlaufwerk ein IBM LTO Ultrium Drive, ein DLT 8000 Drive usw. umfassen. Außerdem kann ein Steueranschluss vorgesehen sein, der zur Kommunikation zwischen einem Host und der Bibliothek dient, z. B. zum Empfangen von Befehlen von einem Host und Weiterleiten der Befehle zur Bibliothek, bei der es sich jedoch nicht um ein Datenspeicherlaufwerk handelt.
  • Das Erweiterungschassis 12 umfasst zusätzliche Ablagefächer und kann zusätzliche Datenspeicherlaufwerke 15 umfassen. Das Hochverfügbarkeitschassis 13 kann ebenfalls zusätzliche Ablagefächer und Datenspeicherlaufwerke 15 umfassen und umfasst einen zweiten Roboter-Zugriffsmechanismus 28 – mit einer Greifarmbaugruppe 30 und eventuell einem Barcode-Scanner 32 oder einer anderen Lesevorrichtung – sowie eine Bedienerkonsole 280 oder eine anderen Benutzerschnittstelle. Bei einem Ausfall oder einer anderen Nichtverfügbarkeit des Roboter-Zugriffsmechanismus 18 oder seines Greifarms 20 usw. kann der zweite Roboter-Zugriffsmechanismus 28 übernehmen.
  • Bei der exemplarischen Bibliothek bewegt jeder der Roboter-Zugriffsmechanismen 18, 28 seinen Greifarm in mindestens zwei Richtungen, die als Horizontalrichtung (X-Richtung) und Vertikalrichtung (Y-Richtung) bezeichnet werden, um die Datenspeichermedien 14 in den Ablagefächern 16 zu greifen und zu holen oder dort hinzubringen und loszulassen und die Datenspeichermedien in die Datenspeicherlaufwerke 15 einzulegen und von dort zu entnehmen.
  • In den 2 und 3 empfängt die Bibliothek 10 Befehle von einem oder mehreren Host-Systemen 40, 41 oder 42. Die Host-Systeme wie z. B. Host-Server kommunizieren direkt mit der Bibliothek, z. B. auf dem Pfad 80, über einen oder mehrere Steueranschlüsse (nicht gezeigt) oder über ein oder mehrere Datenspeicherlaufwerke 15 und stellen Befehle bereit, um auf bestimmte Datenspeichermedien zuzugreifen und die Medien beispielsweise zwischen den Ablagefächern und den Datenspeicherlaufwerken zu bewegen. Die Befehle sind üblicherweise logische Befehle, die die Medien und/oder logischen Standorte für den Zugriff auf die Medien kennzeichnen.
  • Die exemplarische Bibliothek wird von einem verteilten Steuersystem gesteuert, das die logischen Befehle von Hosts empfangt, die erforderlichen Aktionen festlegt und die Aktionen in physische Bewegungen des Roboter-Zugriffsmechanismus 18, 28 umwandelt.
  • Bei der exemplarischen Bibliothek umfasst das verteilte Steuersystem eine Vielzahl von Prozessorknoten mit jeweils einem oder mehreren Prozessoren. Bei einem Beispiel eines verteilten Steuersystems kann sich ein Kommunikationsprozessorknoten 50 (CP) im Grundchassis 11 befinden. Über mindestens eine externe Schnittstelle, die z. B. mit der Leitung 80 verbunden ist, stellt der Kommunikationsprozessorknoten entweder direkt oder über die Laufwerke 15 eine Kommunikationsverbindung zum Empfangen der Host-Befehle bereit. Der Kommunikationsprozessorknoten 50 kann außerdem eine Kommunikationsverbindung 70 zum Kommunizieren mit den Datenspeicherlaufwerken 15 bereitstellen.
  • Der Kommunikationsprozessorknoten 50 kann sich im Chassis 11 in der Nähe der Datenspeicherlaufwerke 15 befinden. Außerdem sind bei einem Beispiel eines verteilten Prozessorsystems ein oder mehrere zusätzliche Auftragsprozessorknoten (WP) vorgesehen, die z. B. einen Auftragsprozessorknoten 52 umfassen können, der sich am Roboter-Zugriffsmechanismus 18 befinden kann und über ein Netz 60 mit dem Kommunikationsprozessorknoten 50 verbunden ist. Jeder einzelne Auftragsprozessorknoten kann auf empfangene Befehle reagieren, die von beliebigen Kommunikationsprozessorknoten mittels Rundsenden (Broadcast) an die Auftragsprozessorknoten gesendet werden, und der Auftragsprozessorknoten kann auch den Betrieb des Roboter-Zugriffsmechanismus steuern, indem er Bewegungsbefehle bereitstellt. Ein XY-Prozessorknoten 55 kann vorgesehen sein und sich am XY-System des Roboter-Zugriffsmechanismus 18 befinden. Der XY-Prozessorknoten 55 ist mit dem Netz 60 verbunden und reagiert auf Bewegungsbefehle, die das XY-System steuern, um den Greifarm 20 zu positionieren.
  • Ferner kann an der Bedienerkonsole 23 ein Bedienerkonsolen-Prozessorknoten 59 vorgesehen sein, der eine Schnittstelle zum Kommunizieren zwischen der Bedienerkonsole und dem Kommunikationsprozessorknoten 50, dem Auftragsprozessorknoten 52 und dem XY-Prozessorknoten 55 bereitstellt.
  • Ein Netz, das einen gemeinsamen Bus 60 umfasst, ist vorgesehen, um die verschiedenen Prozessorknoten zu verbinden. Der gemeinsame Bus kann ein Netz mit robuster Verdrahtung umfassen, wie z. B. das handelsübliche CAN-Bussystem, bei dem es sich um ein Mehrpunktnetz mit einem Standard-Zugriffsprotokoll und Verdrahtungsstandards handelt, die z. B. durch den Verein CiA, CAN in Automation, Am Weichselgarten 26, D-91058 Erlangen, Deutschland, definiert wurden. Weitere ähnliche Busnetze wie z. B. Ethernet oder ein drahtloses Netzsystem, z. B. ein HF- oder Infrarot-Netz, können, wie dem Fachmann bekannt ist, bei der Bibliothek genutzt werden. Die Prozessorknoten, z. B. die Knoten 50, 52, 55 und 59 aus 3 können an einer Knotenschnittstelle 126a, b, c, d mit dem Netz 60 verbunden sein. In diesem Dokument umfasst der Begriff „Netz" beliebige, eine Knotenadressierung nutzende Kommunikationsmittel zwischen Prozessorknoten.
  • In 2 ist der Kommunikationsprozessorknoten 50 über Leitungen 70 mit jedem der Datenspeicherlaufwerke 15 des Grundchassis 11 verbunden und kommuniziert mit den Laufwerken und mit den Host-Systemen 40, 41 und 42. Alternativ dazu können die Host-Systeme am Eingang 80 direkt mit dem Kommunikationsprozessorknoten 50 oder mit Steueranschlussvorrichtungen (nicht gezeigt) verbunden sein, welche die Bibliothek mit dem/den Host-System(en) über eine Bibliotheksschnittstelle verbinden, die der Laufwerk/Bibliothek-Schnittstelle ähnelt. Wie dem Fachmann bekannt ist, können verschiedene Kommunikationsanordnungen zur Kommunikation mit den Hosts und mit den Datenspeicherlaufwerken genutzt werden. Bei dem Beispiel aus 2 sind die Host-Verbindungen 80 und 81 SCSI-Busse. Der Bus 82 umfasst ein Beispiel einer Fibre Channel Arbitrated Loop (FCAL), bei der es sich um eine schnelle serielle Datenschnittstelle handelt, die eine Übertragung über größere Entfernungen als SCSI-Bussysteme ermöglicht.
  • Die Datenspeicherlaufwerke 15 können sich nahe dem Kommunikationsprozessorknoten 50 befinden und ein Kommunikationsschema für kurze Entfernungen wie z. B. SCSI oder eine serielle Verbindung wie z. B. RS-422 nutzen. Die Datenspeicherlaufwerke 15 sind somit einzeln mit Hilfe der Leitungen 70 mit dem Kommunikationsprozessorknoten 50 verbunden.
  • Ein Erweiterungschassis 12 kann vorgesehen und über einen gemeinsamen Erweiterungsbus 152 mit dem Netz 152, 60 verbunden sein. Ein weiterer Kommunikationsprozessorknoten 155, der dem Kommunikationsprozessorknoten 50 aus 3 ähnelt, kann sich im Erweiterungschassis befinden und mit Hosts, z. B. am Eingang 156, und Datenlaufwerken 15 im Erweiterungschassis 12, z. B. über die Leitungen 170, kommunizieren. Der Kommunikationsprozessorknoten 155 ist an einer Knotenschnittstelle, die der Knotenschnittstelle 126a aus 3 ähnelt, mit dem Netz 152, 60 verbunden, wobei der Kommunikationsprozessorknoten 155 eine Kommunikationsverbindung für die Befehle zum Netz 152, 60 bereitstellt, sodass die Befehle zum Auftragsprozessorknoten 52 des Grundchassis geleitet werden.
  • Der Kommunikationsprozessorknoten 155 kann im Erweiterungschassis 12, dicht neben den verbundenen Datenspeicherlaufwerken 15 des Erweiterungschassis 12, montiert sein und kommuniziert mit den Laufwerken und den angeschlossenen Host-Systemen. Die Datenspeicherlaufwerke 15 sind ebenfalls mit Hilfe der Leitungen 170 einzeln mit dem Kommunikationsprozessorknoten 155 verbunden.
  • Zusätzliche Erweiterungschassis mit identischen Kommunikationsprozessorknoten 155, Ablagefächern 16, Datenspeicherlaufwerken 15 und Erweiterungsbussen 152 können vorgesehen sein und jedes einzelne Erweiterungschassis ist mit dem angrenzenden Erweiterungschassis verbunden.
  • Des Weiteren kann die Datenspeicherbibliothek 10 zusätzlich einen weiteren Roboter-Zugriffsmechanismus 28 umfassen, beispielsweise in einem Hochverfügbarkeitschassis 13. Der Roboter-Zugriffsmechanismus 28 kann einen Greifarm 30 zum Zugreifen auf die Datenspeichermedien und ein XY-System 255 zum Bewegen des Roboter-Zugriffsmechanismus umfassen. Das Hochverfügbarkeitschassis kann an das Erweiterungschassis 12 oder an das Grundchassis 11 angrenzen und der Roboter-Zugriffsmechanismus 28 kann auf demselben horizontalen mechanischen Weg wie der Roboter-Zugriffsmechanismus 18 oder auf einem angrenzenden Weg eine Bewegung ausführen. Das exemplarische Steuersystem umfasst zusätzlich einen gemeinsamen Erweiterungsbus 200, der ein Netz bildet, das mit dem Netz 152 eines Erweiterungschassis oder mit dem Netz 60 des Grundchassis verbunden ist. Ein weiterer Kommunikationsprozessorknoten 250 kann vorgesehen sein, der ebenfalls dem Kommunikationsprozessorknoten 50 ähnelt und sich im Hochverfügbarkeitschassis 13 befinden kann, um Befehle von Hosts zu empfangen, entweder direkt am Eingang 256 oder über Steueranschlüsse (nicht gezeigt) oder über die Datenspeicherlaufwerke 15 und die Leitungen 270, z. B. am Eingang 256. Der Kommunikationsprozessorknoten 250 ist mit dem Netz 200 des Hochverfügbarkeitschassis verbunden und stellt z. B. an einer Knotenschnittstelle, die der Schnittstelle 126a aus 3 ähnelt, eine Kommunikationsverbindung zum Netz bereit.
  • Der Kommunikationsprozessorknoten 250 kann dicht angrenzend an die verbundenen Datenspeicherlaufwerke 15 des Hochverfügbarkeitschassis 13 montiert sein und kommuniziert mit den Laufwerken und mit den angeschlossenen Host-Systemen. Die Datenspeicherlaufwerke 15 sind mit Hilfe der Leitungen 270 ebenfalls einzeln mit dem Kommunikationsprozessorknoten 250 verbunden und verwenden eine Schnittstelle wie z. B. RS-422.
  • In 2 kann ein Computerprogramm, das die vorliegende Erfindung implementiert, an einem der Prozessorknoten, z. B. am Auftragsprozessorknoten 52 oder wahlweise am Prozessor 50, Prozessor 155 oder Prozessor 250, vorgesehen sein oder das Computerprogramm kann in einer Vielzahl der Prozessorknoten oder in allen Prozessorknoten implementiert sein.
  • Ein weiteres Beispiel eines Steuersystems mit einem verteilten Knotensystem von Prozessoren umfasst ein Mehrprozessornetz in einem Kraftfahrzeug.
  • In 3 umfassen die Prozessorknoten 50, 52, 55 und 59 einen Prozessor 122a, b, c, d, der nach dem Stand der Technik bekannte beliebige Mikroprozessorvorrichtungen umfassen kann. Der Prozessor 122a, b, c, d wird unter der Steuerung von Programmcode betrieben, der oft als „Firmware" bezeichnet wird, da der Code die Hardware betrifft, die wie oben erläutert die Bibliothek bildet. Die Firmware ist so gestaltet, dass die Prozessoren die Komponenten des Systems steuern, die z. B. als Knotenhardware 132, 134, 136, 138 gezeigt sind. Die Firmware wird normalerweise in einem nichtflüchtigen programmierbaren Speicher 124a, b, c, d verwaltet. Der nichtflüchtige Speicher 124a, b, c, d kann jede beliebige, nach dem Stand der Technik bekannte nichtflüchtige Speichervorrichtung umfassen, wie z. B. Flash-Speicher, Nur-Lese-Speicher (ROM), elektrisch löschbaren, programmierbaren Nur-Lese-Speicher (EEPROM), batteriegestützten RAM, Festplattenlaufwerke usw. Alternativ dazu kann sich der nichtflüchtige Speicher 124a, b, c, d im Prozessor 122a, b, c bzw. d befinden.
  • Das Abbild des Firmware-Programmcode kann bei allen Prozessorknoten identisch sein und sowohl gemeinsamen Code als auch speziellen Code für jede der verschiedenen Funktionen enthalten, wobei der spezielle Code jedoch nur von dem Prozessor der speziellen Funktion verwendet wird. Alternativ dazu können für jeden einzelnen der Prozessorknoten unterschiedliche Codeabbilder vorgesehen sein, die speziell nur Code enthalten, der von dem Prozessor der speziellen Funktion benötigt wird.
  • Um über das Netz zu kommunizieren, haben die Prozessorknoten Knotenadressen. Wie oben erläutert sind Knotenadressen, wie sie bei CAN-Bussen oder Ethernet-Netzen genutzt werden, dem Fachmann bekannt. Wenn zu der exemplarischen Bibliothek ein Chassis hinzugefügt wird, haben die zum Netz hinzugefügten Prozessorknoten möglicherweise keine Knotenadresse und den neuen Prozessorknoten müssen Knotenadressen vergeben werden. Außerdem hat der Prozessorknoten, wenn eine einzelne Komponente, ein Prozessorknoten oder ein Prozessor am Knoten durch eine neue Komponente usw. ersetzt wird, oder wenn eine andere Komponente usw. gegen eine weitere Komponente usw. ausgetauscht wird, möglicherweise keine Knotenadresse oder nutzt möglicherweise seine bisherige Knotenadresse von einer anderen Knotenposition oder aus einer anderen Bibliothek. Eine inkorrekte Knotenadressierung kann durch Vergleichen gespeicherter eindeutiger Bibliotheks- oder Chassisinformationen erkannt werden, wie im Folgenden erläutert wird.
  • Eine Möglichkeit der Bereitstellung einer neuen Knotenadresse besteht darin, dass ein Bediener eine Knotenadresse zuweist. Bei einem Beispiel einer komplexen Knotenadresse kann eine Komponente einen in eine Karte codierten Funktionsteil einer Adresse haben und an den Prozessorknoten wird eine Chassisnummer geleitet und die Funktionsadresse und die Chassisnummer werden kombiniert, um eine Knotenadresse zu berechnen. Beispielsweise können Chassis fortlaufend mit „01", „02" usw. nummeriert werden und jeder Funktion könnte eine unterschiedliche Nummer vergeben werden. Zum Beispiel könnten eine hexadezimale Bezeichnung „C" eines Kommunikationsprozessorknotens und eine Chassisnummer „2" eine Adresse „xC2" haben. Alternativ dazu können automatische Modi zum Bereitstellen neuer Knotenadressen genutzt werden. Um ein Beispiel zu nennen, ist ein Kabel aus bestimmten Leitungen aufgebaut, die auf High- oder Low-Pegel liegen, um eine Binärzahl bereitzustellen, die zur Berechnung der Knotenadresse genutzt werden kann. Als weiteres Beispiel, das in der US-Patentanmeldung mit der Seriennummer 09/854,865, eingereicht am 14. Mai 2001, erläutert wird, können ein Impulsgenerator und ein Verzögerungssignalgenerator eine automatische Chassiszählung bereitstellen, um die Nummer des Chassis, wie z. B. „01", „02", wie oben festzulegen. Die automatische Chassiszählung kann zusammen mit der Funktionsadresse zur Berechnung der Knotenadresse verwendet werden. Als weiteres Beispiel kann ein Server ein DHCP-Protokoll nutzen, um einem Prozessorknoten eine Adresse zu vergeben.
  • Wie oben erläutert ist ein Ausfall möglich. Beispielsweise kann der Bediener die Positionierung oder Funktion des Prozessorknotens falsch beurteilen. Beim automatischen Modus könnte das Binärkabel ausfallen oder falsch angeschlossen sein oder es könnte das falsche Kabel verwendet werden. Als weiteres Beispiel könnte die Schaltung des Chassiszählers ausfallen oder die Verkabelung könnte falsch angeschlossen werden.
  • In einem derartigen Fall hat die Komponente möglicherweise keine verwendbare Knotenadresse, wenn sie sich im Netz befindet, eine falsche Adresse oder zeigt möglicherweise eine Adresse, bei der es sich um ein Duplikat einer anderen Komponente im Netz handelt. Ein Adressduplikat ist möglich, wenn sich ein Prozessorknoten an einer Komponente befindet, die ein Funktionsduplikat einer anderen Komponente ausführt, die Chassisnummer falsch liest und die falsche Chassisnummer in der Adresse nutzt. Alternativ dazu kann der Prozessorknoten aus einem System in ein anderes getauscht werden und sich in dem neuen System an einer anderen Stelle befinden. Adressierungsfehler wie z. B. das Vorhandensein einer unbekannten Komponente oder einer Komponente mit der falschen Adresse oder von Duplikaten im Netz können dazu führen, dass das gesamte System oder Teile davon nicht mehr betriebsfähig sind und Wartungsaktionen erforderlich werden.
  • Wie in 4 gezeigt, deaktiviert (1) der Prozessorknoten oder das System bei einer Ausführungsart nach Erkennung eines Knotenadressenausfalls eines Prozessorknotens für das Netz – wie z. B. Fehlen einer Knotenadresse oder Vorhandensein eines Adressduplikats, an der Prozessorknotenschnittstelle erkannt – den Prozessorknoten im Netz und/oder (2) wählt eine Knotenadresse aus, die den Knotenadressenausfall vermeidet. Die ausgewählte Knotenadresse dient zum Adressieren des Prozessorknotens im Netz, nachdem der Prozessorknoten im Netz aktiviert wurde.
  • Der Prozess beginnt bei Schritt 190. In Schritt 201 tastet ein Prozessorknoten wie z. B. der Prozessorknoten 50 aus den 2 und 3 das Netz, z. B. das Netz 60, an der Knotenschnittstelle 126a ab. Beispielsweise kann der Prozessorknoten eingeschaltet worden sein, in die Position getauscht worden sein, sich in einem Chassis befinden, das dem Netz hinzugefügt wurde, oder zurückgesetzt worden sein, weil beispielsweise der Prozessor 122a und/oder eine andere Komponente des Knotens aktualisiert worden sind. Beispielsweise enthält der Prozessorknoten einen Firmware- oder Hardware-Einschaltzähler, der den Prozess des Aktivierens des Prozessorknotens startet. Wenn bestimmte interne Aspekte ausgeführt sind, führt der Prozessorknoten den Schritt 201 aus. Als Alternative wird, sobald der Prozessorknoten hochfährt, einem Masterknoten ein unterbrechungsfreies Signal bereitgestellt, beispielsweise mittels eines Signals auf einer Leitung, und der Masterknoten führt für den Prozessorknoten, z. B. den Prozessorknoten 50, den Schritt 201 aus.
  • In Schritt 201 ist eine Prüfung auf eine Knotenadresse für den Prozessorknoten, z. B. den Prozessorknoten 50, enthalten. Wie oben erläutert kann eine Adresse durch Codieren eines Kabels, durch Empfang einer manuell erzeugten oder automatischen Anzeige usw. angezeigt und direkt verwendet oder mit internen Informationen kombiniert werden, um eine Knotenadresse festzulegen.
  • Schritt 203 umfasst die Bestimmung, ob im Ergebnis der Abtastung des Netzes eine verwendbare Knotenadresse erzeugt werden kann. Beispielsweise könnte eine unbrauchbare Adresse das Ergebnis eines ausgefallenen Binärkabels sein, bei dem ein Bit fehlt und das eine unvollständige Adresse zeigt, oder bei dem ein Bit vertauscht ist und das eine fehlerhafte oder ungültige Adresse zeigt. Des Weiteren könnte das Kabel falsch angeschlossen sein oder es könnte das falsche Kabel verwendet worden sein. Als weiteres Beispiel könnte die Schaltung des Chassiszählers ausfallen oder die Verkabelung könnte falsch angeschlossen werden. Eine unbrauchbare Adresse kann daher auch kein Adresssignal umfassen.
  • Daher umfasst eine unbrauchbare Adresse, wie der Begriff im vorliegenden Dokument verwendet wird, eine unvollständige Adresse, eine fehlerhafte oder ungültige Adresse oder keine Adressinformation. Eine potentiell kollidierende Adresse ist möglicherweise in einem Netz nicht verwendbar, wird jedoch im Folgenden speziell erläutert. Wenn keine verwendbare Adresse erzeugt werden kann, versucht der Prozessorknoten 50 in Schritt 205, seine Knotenadresse intern festzulegen. Beispielsweise ist ein Funktionsteil der Adresse auf der Karte codiert und der restliche Teil einer Adresse ist in einem nichtflüchtigen Speicher codiert, der beispielsweise eine letzte erfolgreich bekannte Adresse umfasst. Gemäß der vorliegenden Erfindung wird in Schritt 206 eine alternative Knotenadresse aus ihrem nichtflüchtigen Speicher 124a gelesen, wie im Folgenden detaillierter in Bezug auf den Schritt 220 erläutert wird. Alternativ dazu kann eine vorgegebene Knotenadresse bereitgestellt werden.
  • In Schritt 205 wird eine Bestimmung durchgeführt, ob eine Knotenadresse intern festgelegt werden kann. Wenn nicht, gibt es keine Knoten-Solladresse, und es tritt wie durch Schritt 207 angezeigt ein Knotenadressenausfall ein und der Prozessorknoten wird in Schritt 208 im Netz deaktiviert.
  • Durch das Deaktivieren eines Prozessorknotens im Netz, der einen Knotenadressenausfall hat, ist nur die Komponente zeitweilig ausgefallen und das System bleibt somit betriebsfähig.
  • Alternativ dazu kann Schritt 207 weggelassen werden, wenn die Schritte 205 und 206 eine Knotenadresse erzeugen, und jegliche Probleme mit einer intern erzeugten Adresse können später, z. B. in Schritt 222, abgefangen werden, wie noch erläutert wird. Des Weiteren können die Schritte 205, 206 und 207 weggelassen werden. In diesem Fall würde eine Antwort „NEIN" in Schritt 203 direkt zu Schritt 208 führen.
  • Wenn eine Knotenadresse für den Prozessorknoten festgelegt werden kann, wie entweder durch Schritt 203 oder Schritt 205 angezeigt, wird diese Adresse zunächst in Schritt 210 festgelegt und im vorliegenden Dokument als Knoten-„Soll"-Adresse bezeichnet. Dies dient zur Unterscheidung zwischen der zunächst festgelegten Knotenadresse und einer Knotenadresse, die tatsächlich verwendet wird, nachdem eine Prüfung auf Gültigkeit oder auf einen Konflikt oder auf andere Arten von im Folgenden erläuterten Adressierungsausfällen durchgeführt wurde. Jeder der Prozessschritte kann durch den Prozessorknoten selbst durchgeführt werden oder das System kann den Prozess durchführen, beispielsweise durch einen Masterknoten.
  • In Schritt 207 wird wahlweise eine Bestimmung durchgeführt, ob die Knoten-Solladresse voraussichtlich gültig oder voraussichtlich falsch ist. Beispielsweise kann die Knoten-Solladresse vollständig sein und sich in einem Chassis oder an einem Standort im Netz mit einer augenscheinlich korrekten Nummer befinden, befindet sich jedoch an einem anderen Standort innerhalb des Chassis und/oder führt eine andere Funktion aus, oder befindet sich in einer anderen Bibliothek oder in einem anderen Netz.
  • Gemäß einer exemplarischen Anordnung der vorliegenden Erfindung kann ein Test auf eine gültige Knotenadresse das Abfragen eines zugeordneten Elements oder von Elementen wie z. B der Knoten-Hardware umfassen, die eindeutige Kennzeichnungsinformationen wie z. B. eine Seriennummer hat, auf die der Knoten zugreifen kann, sowie das Vergleichen dieser Informationen mit einer Kopie der eindeutigen Kennzeichnungsinformation, die im lokalen nichtflüchtigen Speicher des Knotens abgelegt ist.
  • Im vorliegenden Dokument werden Informationen zum Kennzeichnen, Definieren oder Bezeichnen von Hardware oder anderen Elementen, die einem Prozessorknoten zugeordnet sind, als „Bezeichnungsinformationen" zugeordneter Elemente usw. bezeichnet.
  • Somit ist in dem Beispiel einer Bibliothek mit Datenspeicherlaufwerken, die dem Chassis des Knotens zugewiesen sind, bekannt, dass das Chassis ein Laufwerk oder Laufwerke enthält, die jeweils eine gegebene eindeutige Seriennummer für den Vergleich der „Bezeichnungsinformationen" haben.
  • Beispielsweise könnte in 2 der Kommunikationsprozessorknoten 50 über die Leitungen 70 ein oder mehrere Datenspeicherlaufwerke 15 abfragen und eine oder mehrere Seriennummern erhalten und diese mit der/den im nichtflüchtigen Speicher gespeicherten Seriennummer(n) vergleichen. Bei einer vollständigen Übereinstimmung kann angenommen werden, dass die Knoten-Solladresse gültig ist. Genauer gesagt enthält der Knoten eine Korrelation zwischen einer gespeicherten Knotenadresse und gespeicherten Bezeichnungsinformationen. Da ein Laufwerk 15 auch gegen ein anderes ausgetauscht worden sein kann, zeigt die Unmöglichkeit, eine vollständige Übereinstimmung herzustellen, möglicherweise nicht an, dass es sich um eine ungültige Knotenadresse handelt. Daher können alle Komponentenkennzeichen für Komponenten, die einem Knoten zugeordnet sind, im nichtflüchtigen Speicher des Knotens gespeichert sein, und es wird ein Abstimmungsschema genutzt, um zu ermitteln, ob ein ausreichender Vergleich zur Herstellung einer Übereinstimmung durchgeführt wurde.
  • Alternativ dazu kann der Knoten selbst Bezeichnungsinformationen enthalten, wie z. B. eine MAC-Adresse oder einen weltweiten Namen (World Wide Name, WWN) oder eine der Knotenkarte zugeordnete Karten-Seriennummer, die für die Firmware lesbar sind.
  • Wurde keine Übereinstimmung hergestellt, so ermittelt der Schritt 207, dass ein Knotenadressenausfall vorliegt, und der Prozess wird mit Schritt 222 fortgesetzt und die Knoten-Solladresse des Prozessorknotens im Netz wird an der Schnittstelle des Prozessorknotens deaktiviert.
  • Wenn die Knoten-Solladresse gültig zu sein scheint, werden die Knotenadressen anderer Prozessorknoten des Netzes, z. B. Netz 60, 152, 200 aus 2, in Schritt 212 abgetastet, beispielsweise durch alternative Kommunikationsmittel wie z. B. eine RS-232-Verbindung oder durch Netz-Broadcasts. Im Speziellen kann ein Knoten eine Broadcast-Nachricht „Ich bin ,C2', ist noch jemand mit dieser Adresse da?" senden und erhält eine Antwort, falls ein Konflikt besteht. Danach werden in Schritt 215 die abgetasteten Knotenadressen anderer Prozessorknoten mit der Knoten-Solladresse verglichen. Wenn in Schritt 216 kein Konflikt gefunden wird, wird die Knoten-Solladresse als Knotenadresse für den Prozessorknoten verwendet und der Prozess wird mit Schritt 240 fortgesetzt, wie im Folgenden erläutert wird.
  • Wenn stattdessen der Prozessorknoten oder das System in Schritt 216 die Existenz eines Konflikts zwischen mindestens einer der abgetasteten Knotenadressen anderer Prozessorknoten mit der Knoten-Solladresse ermittelt, kann der existierende Konflikt einen Knotenadressenausfall des Prozessorknotens für das Netz umfassen. Der Prozessorknoten oder die Prozessorknoten mit der kollidierenden Knotenadresse können in Schritt 221 wahlweise benachrichtigt werden, beispielsweise mittels eines Netz-Broadcasts usw.
  • Als weitere Ausführungsart gemäß der vorliegenden Erfindung kann im Falle eines Konflikts von Knotenadressen ein weiterer Test durchgeführt werden, wie in Bezug auf Schritt 235 erläutert wird; anderenfalls wird, sofern der weitere Test nicht implementiert ist, ein Knotenadressenausfall im optionalen Schritt 222 angezeigt und der Prozessorknoten wird im Netz deaktiviert.
  • Bei der weiteren Ausführungsart unterliegen mindestens zwei der Prozessorknoten des Netzes einem Reset und umfassen mindestens einen Prozessor, mindestens eine Schnittstelle zum Netz und einen Zeitgeber, wobei der Zeitgeber eine Anzeige der seit dem Zurücksetzen des Prozessorknotens verstrichenen Zeit verwaltet. Der Zeitgeber ist nur als Firmware-Zeitgeber des Prozessors veranschaulicht, z. B. der Prozessoren 122a, b, c bzw. d der Prozessorknoten 50, 52, 55 und 59, kann jedoch wie oben erläutert alternativ einen Hardware-Zeitgeber umfassen. Die Zeitgeber können Einschaltzähler umfassen, die beim Einschalten des Prozessorknotens aktiviert oder zurückgesetzt werden. Somit stellen die Zeitgeber eine Anzeige der Zeit bereit, während der ein Prozessorknoten aktiv gewesen ist. Die Zeitgeber können Zähler für große Werte umfassen, bei denen es unwahrscheinlich ist, dass sie wieder auf den Wert null zurückfallen, oder sie hören auf zu zählen, wenn ein Maximalwert erreicht ist, da die Prüfung vermutlich unmittelbar nach dem Reset-Zeitpunkt eines der Prozessorknoten durchgeführt wird. Die Auflösung der Zeitgeber ist nicht sehr von Bedeutung, da diese nur zur Erkennung eines erheblichen Unterschieds dienen. Alternativ dazu können die Zeitgeber mit der Zählung nicht beim Einschalten beginnen, sondern stattdessen zurückgesetzt werden, nachdem ermittelt wurde, dass der Prozessorknoten keine kollidierende Adresse hat, wie im Folgenden erläutert wird. In einem derartigen Fall hat die Zeit an einem neu zurückgesetzten Prozessorknoten den Wert null, bis ein Konflikt beseitigt ist. Somit wurde ein Prozessor mit einer neueren Zeit wahrscheinlich vor kurzem zurückgesetzt und hat wahrscheinlich die neue kollidierende Solladresse, und ein Prozessor, der nicht die neuere Zeit hat, funktioniert wahrscheinlich erfolgreich an der jetzt kollidierenden Adresse. Wie oben wird ein Knotenadressenausfall bei Existenz eines Konflikts zwischen mindestens einer der abgetasteten Knotenadressen anderer Prozessorknoten und der Knoten-Solladresse eines Prozessorknotens ermittelt. Der Verarbeitungsknoten, der den Knotenadressenausfall wahlweise in Schritt 221 ermittelt, kann den anderen Prozessorknoten, der die kollidierende abgetastete Knotenadresse hat, über den Konflikt benachrichtigen, beispielsweise mit Hilfe eines Broadcasts usw., wie oben erläutert.
  • Der Schritt 221 wird dahingehend wahlweise ausgeführt, dass ein neu zurückgesetzter Knoten wahrscheinlich die neuere Zeit hat und daher voraussichtlich auch Informationen über einen Konflikt anfordert. Ein weiterer Knoten mit einer kollidierenden Adresse funktioniert wahrscheinlich erfolgreich und kann nur die Antwort liefern, dass er die angeforderte Adresse hat, und muss nicht wissen, dass ein Konflikt existiert. Der antwortende Knoten kann jedoch auch seinen Zeitgeberwert als Teil der Antwort liefern. Daher hat der anfordernde Knoten sowohl die Antwort von dem Knoten, aus der er die Existenz eines Adresskonflikts ermitteln muss, als auch den Zeitgeberwert für einen Vergleich. Alternativ dazu kann zuerst die Antwort geliefert werden und erst nachdem ein anfordernder Knoten ermittelt, dass ein Konflikt vorliegt, fordert der Knoten separat den Zeitgeberwert an.
  • Der Prozessorknoten und der andere Prozessorknoten mit den kollidierenden Knotenadressen, wie durch Schritt 225 veranschaulicht, oder das System, wie in Schritt 227 veranschaulicht, vergleichen die Zeiten der Zeitgeber, um in Schritt 228 den Prozessorknoten mit der neueren Zeit seit einem Reset zu ermitteln. Ein großer Zeitbereich kann möglicherweise als Gleichstand betrachtet werden und den Konflikt möglicherweise insofern nicht lösen, als, wenn zwei Knoten zurückgesetzt wurden und mit kollidierenden Solladressen hochfahren, ein Zustand des „Wettrennens" den Konflikt möglicherweise inkorrekt löst. Daher kann eine Fehlersituation existieren und zur Lösung eine externe Überprüfung erfordern. Somit umfasst im vorliegenden Dokument eine „neuere Zeit" einen Gleichstand.
  • Alternativ dazu können die Schritte 221 und 225 weggelassen werden. Die Schritte 227 und 228 können als Antwort auf ein Broadcast mit der Absicht, eine Adresse zuzuweisen, durchgeführt werden. Des Weiteren können die Schritte 227 und 228 nur durch einen Knoten durchgeführt werden, der noch keine Knotenadresse zugewiesen hat, da diese Prüfung dazu dient, das Hochfahren des späteren, kollidierenden Knotens abzubrechen. Ein Knoten, der bisher erfolgreich funktionierte, darf die Möglichkeit der Adressänderung nicht in Betracht ziehen.
  • Wenn in Schritt 228 ermittelt wird, dass der Prozessorknoten nicht die neuere Zeit hat, wird die vom Prozessorknoten verwendete Knoten-Solladresse oder Knotenadresse als Knotenadresse für den Prozessorknoten verwendet und der Prozess wird mit Schritt 240 fortgesetzt, wie im Folgenden erläutert wird.
  • Der Prozessorknoten mit der in Schritt 228 ermittelten neueren Zeit kann in Schritt 222 einen Knotenadressenausfall anzeigen, wodurch der Prozessorknoten im Netz deaktiviert wird.
  • Bei einer weiteren Ausführungsart der vorliegenden Erfindung umfasst der Prozessorknoten, z. B. Prozessorknoten 50 aus 3, zusätzlich einen nichtflüchtigen Speicher 124a und verwaltet im nichtflüchtigen Speicher eine alternative Knotenadresse des Prozessorknotens. Beispielsweise kann die alternative Knotenadresse die Knotenadresse der letzten erfolgreichen Erkennung der Knotenadressierung umfassen, was in Bezug auf Schritt 220 erläutert wird. Alternativ dazu verwaltet das System einen nichtflüchtigen Speicher an einem bekannten Standort, beispielsweise an einem Masterknoten, wie z. B. den nichtflüchtigen Speicher 124c eines Masterknotens 55.
  • Schritt 222 kann eine zeitweilige Deaktivierung des Prozessorknotens sein, während die restlichen Schritte ausgeführt werden, oder alternativ dazu können der Schritt 222 weggelassen und die restlichen Schritte zuerst und irgendwelche Knotenausfälle in Schritt 208 ausgeführt werden, wie im Folgenden erläutert wird.
  • Somit wird nach dem Erkennen eines Knotenadressenausfalls, beispielsweise in Schritt 207, oder direkt im Ergebnis eines Konflikts, beispielsweise in Schritt 216, in Schritt 235 die alternative Knotenadresse in einem nichtflüchtigen Speicher gelesen. Die alternative Knotenadresse umfasst eine Adresse, die voraussichtlich einen Konflikt vermeidet, wie sie in Schritt 220 ermittelt wird. Der nichtflüchtige Speicher des Schritts 235 kann derselbe oder ein anderer als der nichtflüchtige Speicher des Schritts 206 sein, und die alternative Knotenadresse kann sich von der Knotenadresse des Schritts 206 unterscheiden. Wird eine alternative Knotenadresse bereitgestellt, so kann der Knoten unter Verwendung anderer Knotenkennzeichnungsinformationen als oben erläutert ausgewählt werden.
  • In Schritt 220 umfasst die alternative Knotenadresse des Schritts 235 oder die alternative Knotenadresse, die zur Knoten-Solladresse des Schritts 206 wird, sofern sie in Schritt 240 validiert wurde, wie im Folgenden erläutert wird, die Knotenadresse der letzten erfolgreichen Erkennung der Knotenadressierung. Wenn beispielsweise ein Prozessorknoten den Reset-Prozess durchläuft und festgestellt wird, dass er eine Knotenadresse hat, die einen Konflikt mit einem beliebigen Prozessorknoten des Netzes vermeidet, ist diese Knotenadresse zumindest an diesem Punkt als gültige Knotenadresse bekannt. Daher wird die bekannte gültige Knotenadresse in Schritt 220 im nichtflüchtigen Speicher des Prozessorknotens gespeichert.
  • Wurde der Prozessorknoten gegen einen anderen ausgetauscht usw., so kann die bisher gültige Adresse in der neuen Umgebung zu einem Konflikt führen. Daher werden in Schritt 237 die abgetasteten Knotenadressen der anderen Prozessorknoten des Schritts 212 mit der alternativen Knotenadresse des nichtflüchtigen Speichers verglichen. Alternativ dazu können die Schritte 212 und 215 wiederholt werden oder es können ähnliche Schritte unternommen werden. Wenn die alternative Knotenadresse in Schritt 238 einen Konflikt mit den abgetasteten Knotenadressen der anderen Prozessorknoten des Schritts 215 vermeidet und/oder einen Test auf Übereinstimmung der Bezeichnungsinformationen des Schritts 207 besteht, so vermeidet die alternative Knotenadresse einen Knotenadressenausfall und die alternative Knotenadresse des nichtflüchtigen Speichers wird als Knotenadresse des Prozessorknotens ausgewählt, und der Prozess wird mit Schritt 240 fortgesetzt.
  • Wenn jedoch nach wie vor oder erneut ein Konflikt existiert, zeigt der Prozessorknoten einen Adressenausfall für das Netz und wird in Schritt 208 im Netz deaktiviert.
  • Durch das Deaktivieren eines Prozessorknotens im Netz, der einen Adressenausfall hat, ist nur die Komponente zeitweilig ausgefallen und das System bleibt betriebsfähig. Die Nutzung einer alternativen Knotenadresse, die den Adressenausfall vermeidet, verhindert des Weiteren jegliche Unterbrechung des Systems und vermeidet sofortige Instandsetzungsaktionen an dem Prozessorknoten oder an der Komponente.
  • In Schritt 240 wird der Prozessorknoten mit der augenscheinlich gültigen und nicht kollidierenden Adresse aktiviert. In Schritt 220 wird diese Knotenadresse im nichtflüchtigen Speicher als alternative Knotenadresse gespeichert und der Zeitgeber kann zurückgesetzt werden.
  • Es kann sein, dass die sich ergebende Knoten-Solladresse oder alternative Knotenadresse, obwohl sie augenscheinlich gültig ist und nicht mit anderen Adressen kollidiert, nach wie vor nicht korrekt ist. Daher kann der Speichervorgang des Schritts 220 nach einer weiteren Überprüfung, beispielsweise einer Konfigurierung usw., zusätzlich stattfinden. Somit ist eine zusätzliche Absicherung dafür vorhanden, dass die im nichtflüchtigen Speicher als Sicherungskopie gespeicherte Adresse eine gültige Knotenadresse ist.
  • In Schritt 220 kann neben der Speicherung der jetzt gültigen Knotenadresse im nichtflüchtigen Speicher als alternative Knotenadresse zu diesem Zeitpunkt wie oben erläutert der Zeitgeber zurückgesetzt werden, wenn es sich nicht um einen Einschaltzeitgeber handelt.
  • Als Alternative kann der Schritt 240 nach dem Schritt 220 ausgeführt werden, sodass der Prozessorknoten mit der nicht kollidierenden Knotenadresse im Netz aktiviert wird und der Schritt 240 keine zusätzliche Überprüfung umfasst.
  • Dem Fachmann wird klar sein, dass die oben aufgeführten Schritte modifiziert und/oder ihre in 4 gezeigte Reihenfolge geändert werden kann. Dem Fachmann wird außerdem klar sein, dass die in den 1 bis 3 veranschaulichten Elemente durch andere, äquivalente Elemente ersetzt werden können und dass die Erfindung gemäß der 3 in anderen Umgebungen als denen der Bibliothek aus den 1 und 2 implementiert werden kann, von denen ein Beispiel Verarbeitungsknoten eines Mehrprozessornetzes in einem Kraftfahrzeug umfasst.
  • Obwohl bevorzugte Ausführungsarten der vorliegenden Erfindung detailliert veranschaulicht wurden, sollte klar sein, dass Modifikationen und Anpassungen dieser Ausführungsarten möglich sind, ohne vom Geltungsbereich der vorliegenden Erfindung abzuweichen, der in den folgenden Ansprüchen dargestellt ist.

Claims (13)

  1. Prozessorknoten (50) für ein verteiltes Knotensystem von Prozessoren, wobei das System ein Netz (152; 60) und eine Vielzahl von Prozessorknoten (50, 152, 250; 52, 55, 59) umfasst und mindestens zwei der Vielzahl von Prozessorknoten einem Reset unterliegen, wobei der Prozessorknoten (50) einer der Vielzahl von Prozessorknoten ist, die dem Reset unterliegen, und Folgendes umfasst: mindestens eine Schnittstelle (256a) zum Netz (60), einen Zeitgeber, wobei der Zeitgeber eine Anzeige der Zeit verwaltet, die seit dem Zurücksetzen des Prozessorknotens verstrichen ist, und mindestens einen Prozessor (122a), wobei der mindestens eine Prozessor (122a) eingerichtet ist, um: eine Knoten-Solladresse als seine eigene Adresse zu ermitteln, eine Knotenadresse von mindestens einem anderen der Prozessorknoten (52, 55, 59) des Netzes (60) abzutasten, die abgetasteten Knotenadressen der anderen Prozessorknoten (52, 55, 59) mit der Knoten-Solladresse zu vergleichen, die Existenz irgendeines Konflikts zwischen mindestens einer der abgetasteten Knotenadressen anderer Prozessorknoten (52, 55, 59) und der Knoten-Solladresse zu ermitteln, wobei der existierende Konflikt einen Knotenadressenausfall in dem Netz (60) bildet, und die Zeit des Zeitgebers des Prozessorknotens (50) mit der Zeit des Zeitgebers des anderen Prozessorknotens zu vergleichen, der die kollidierende abgetastete Knotenadresse hat, um den Prozessorknoten zu ermitteln, der die neuere Zeit des Zeitgebers hat, und wenn der Prozessorknoten (50) die neuere Zeit hat, die Knoten-Solladresse des Knotens im Netz an der mindestens einen Schnittstelle zu deaktivieren.
  2. Prozessorknoten (50) nach Anspruch 1, der zusätzlich einen nichtflüchtigen Speicher (124a) umfasst und bei dem der mindestens eine Prozessor (122a): eine alternative Knotenadresse des Prozessorknotens (50) im nichtflüchtigen Speicher verwaltet, den Knotenadressenausfall erkennt, indem er versucht, seine eigene Knotenadresse zu ermitteln, und nach dem Fehlschlagen der Ermittlung einer verwendbaren Knotenadresse als seine eigene Adresse die alternative Knotenadresse im nichtflüchtigen Speicher (124a) auswählt.
  3. Prozessorknoten nach Anspruch 1, bei dem der mindestens eine Prozessor den Knotenadressenausfall erkennt, indem er das Netz (60) an mindestens einer Schnittstelle (126a) abtastet.
  4. Prozessorknoten nach Anspruch 1, bei dem der mindestens eine Prozessor (122a), nachdem der Prozessorknoten (50) die neuere Zeit hat: zusätzlich eine Knotenadresse auswählt, die den Knotenadressenausfall vermeidet, wobei die ausgewählte Knotenadresse dazu dient, den Prozessorknoten mit der neueren Zeit im Netz zu adressieren, nachdem der Prozessorknoten im Netz aktiviert wurde.
  5. Prozessorknoten nach einem der vorhergehenden Ansprüche, der zusätzlich einen nichtflüchtigen Speicher (124a) umfasst, und bei dem der mindestens eine Prozessor (122a) im nichtflüchtigen Speicher (124a) eine alternative Knotenadresse des Prozessorknotens (50) verwaltet, und nachdem der Prozessorknoten (50) die neuere Zeit hat, des weiteren die alternative Knotenadresse des nichtflüchtigen Speichers (124a) mit den abgetasteten Knotenadressen der anderen Prozessorknoten (52, 55, 59) vergleicht, und wenn die alternative Knotenadresse einen Konflikt mit den abgetasteten Knotenadressen der anderen Prozessorknoten (52, 55, 59) vermeidet, die Knotenadresse auswählt, die den Knotenadressenausfall vermeidet, indem er die alternative Knotenadresse des nichtflüchtigen Speichers (124a) auswählt.
  6. Verteiltes Knotensystem von Prozessoren, das Folgendes umfasst: ein Netz (60) und eine Vielzahl von Prozessorknoten (50, 52, 55, 59), die Knoten des Netzes umfasst, wobei mindestens einer der Vielzahl von Prozessorknoten der Prozessorknoten (50) nach einem der Ansprüche 1 bis 3 ist.
  7. Automatisierte Datenspeicherbibliothek, die Folgendes umfasst: eine Vielzahl von Ablagefächern (16) zum Aufbewahren von Datenspeichermedien, mindestens ein Datenspeicherlaufwerk zum Lesen und/oder Schreiben von Daten in Bezug auf die Datenspeichermedien, mindestens einen Roboter-Zugriffsmechanismus (18) zum Transportieren der Datenspeichermedien zwischen der Vielzahl von Ablagefächern (16) und dem mindestens einen Datenspeicherlaufwerk, ein Netz (60) und eine Vielzahl von Prozessorknoten (50, 52, 55, 59) zum Steuern der automatisierten Datenspeicherbibliothek, wobei die Vielzahl von Prozessorknoten (50, 52, 55, 59) Knoten des Netzes (60) umfasst und mindestens einer der Vielzahl von Prozessorknoten (50) der Prozessorknoten nach einem der Ansprüche 1 bis 6 ist.
  8. Verfahren zur Handhabung von Adressierungsausfällen eines Netzes (60), bei dem das Netz (60) eine Vielzahl von Prozessorknoten (50, 52, 55, 59) umfasst, wobei die Vielzahl von Prozessorknoten Knoten des Netzes umfasst, mindestens zwei der Vielzahl von Prozessorknoten (50, 52, 55, 59) einem Reset unterliegen, und mindestens einen Prozessor (122a, 122b), mindestens eine Schnittstelle (126a, 126b) zum Netz (60) und einen Zeitgeber umfasst, wobei der Zeitgeber eine Anzeige der Zeit verwaltet, die seit dem Zurücksetzen des Prozessorknotens (50) verstrichen ist, wobei das Verfahren die folgenden Schritte umfasst: Ermitteln einer Knoten-Solladresse von mindestens einem der Vielzahl von Prozessorknoten (50, 52, 55, 59), Abtasten einer Knotenadresse von mindestens einem anderen der Prozessorknoten des Netzes, Vergleichen der abgetasteten Knotenadressen anderer Prozessorknoten (50, 52, 55, 59) mit der Knoten-Solladresse des mindestens einen Prozessorknotens, Ermitteln der Existenz irgendeines Konflikts zwischen mindestens einer der abgetasteten Knotenadressen anderer Prozessorknoten und der Knoten-Solladresse des mindestens einen Prozessorknotens (50), wobei der existierende Konflikt einen Knotenadressenausfall in dem Netz (60) bildet, Vergleichen der Zeit des Zeitgebers des Prozessorknotens, der die Knoten-Solladresse hat, mit der Zeit des Zeitgebers des anderen Prozessorknotens, der die kollidierende abgetastete Knotenadresse hat, um den Prozessorknoten zu ermitteln, der die neuere Zeit der Zeitgeber hat, und wenn der Prozessorknoten (50) mit der Knoten-Solladresse die neuere Zeit hat, Deaktivieren der Knoten-Solladresse im Netz (60) an der mindestens einen Schnittstelle (126a).
  9. Verfahren nach Anspruch 8, wobei mindestens ein Prozessorknoten zusätzlich einen nichtflüchtigen Speicher umfasst und das Verfahren zusätzlich die folgenden Schritte umfasst: Verwalten einer alternativen Knotenadresse des Prozessorknotens (50) in dem nichtflüchtigen Speicher, Erkennen des Knotenadressenausfalls durch den Versuch, eine Knotenadresse für den Prozessorknoten (50) zu ermitteln und nach dem Fehlschlagen der Ermittlung einer verwendbaren Knotenadresse für den Prozessorknoten das Auswählen einer alternativen Knotenadresse im nichtflüchtigen Speicher für den Prozessorknoten mit dem Knotenadressenausfall.
  10. Verfahren nach Anspruch 8, bei dem der Schritt des Erkennens des Knotenadressenausfalls umfasst, dass der mindestens eine Prozessorknoten (50) an der Schnittstelle (126a) des Prozessorknotens das Netz abtastet.
  11. Verfahren nach Anspruch 8, das zusätzlich den folgenden Schritt umfasst: Auswählen einer Knotenadresse, die einen Knotenadressenausfall vermeidet, für den Prozessorknoten mit der neueren Zeit, wobei die ausgewählte Knotenadresse dazu dient, den Prozessorknoten mit der neueren Zeit im Netz zu adressieren, nachdem der Prozessorknoten im Netz aktiviert wurde.
  12. Verfahren nach Anspruch 11, wobei das Netz zusätzlich einen nichtflüchtigen Speicher (124a) umfasst und wobei das Verfahren zusätzlich die folgenden Schritte umfasst: Verwalten einer alternativen Knotenadresse in dem nichtflüchtigen Speicher, weiteres Vergleichen der alternativen Knotenadresse des nichtflüchtigen Speichers (124a) für den Prozessorknoten, der die neuere Zeit hat, mit den abgetasteten Knotenadressen der anderen Prozessorknoten (52, 55, 59) und, wenn die alternative Knotenadresse einen Konflikt mit den abgetasteten Knotenadressen der anderen Prozessorknoten (50, 52, 55, 59) vermeidet, das Auswählen der Knotenadresse, die den Knotenadressenausfall vermeidet, indem die alternative Knotenadresse des nichtflüchtigen Speichers (124a) ausgewählt wird.
  13. Computerprogramm, das Anweisungen zum Ausführen jedes Schritts des Verfahrens nach den Ansprüchen 8 bis 12 umfasst.
DE60319548T 2002-06-26 2003-06-13 Handhabung eines knotenadressenausfalls in einem verteilten knotensystem von prozessoren Expired - Lifetime DE60319548T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/179,186 US7092990B2 (en) 2002-06-26 2002-06-26 Handling node address failure in a distributed nodal system of processors
US179186 2002-06-26
PCT/EP2003/007137 WO2004003779A2 (en) 2002-06-26 2003-06-13 Handling node address failure in a distributed nodal system of processors

Publications (2)

Publication Number Publication Date
DE60319548D1 DE60319548D1 (de) 2008-04-17
DE60319548T2 true DE60319548T2 (de) 2009-03-26

Family

ID=29999136

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60319548T Expired - Lifetime DE60319548T2 (de) 2002-06-26 2003-06-13 Handhabung eines knotenadressenausfalls in einem verteilten knotensystem von prozessoren

Country Status (9)

Country Link
US (2) US7092990B2 (de)
EP (1) EP1535443B1 (de)
JP (1) JP4076174B2 (de)
KR (1) KR100754299B1 (de)
CN (1) CN100571255C (de)
AT (1) ATE388569T1 (de)
AU (1) AU2003249953A1 (de)
DE (1) DE60319548T2 (de)
WO (1) WO2004003779A2 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7159150B2 (en) * 2002-12-31 2007-01-02 International Business Machines Corporation Distributed storage system capable of restoring data in case of a storage failure
US8000837B2 (en) * 2004-10-05 2011-08-16 J&L Group International, Llc Programmable load forming system, components thereof, and methods of use
US7436783B2 (en) * 2005-04-04 2008-10-14 Apple Inc. Method and apparatus for detecting a router that improperly responds to ARP requests
US7633855B2 (en) * 2005-11-03 2009-12-15 Cisco Technology, Inc. System and method for resolving address conflicts in a network
US8441919B2 (en) * 2006-01-18 2013-05-14 Cisco Technology, Inc. Dynamic protection against failure of a head-end node of one or more TE-LSPs
US7697443B2 (en) * 2006-04-13 2010-04-13 International Business Machines Corporation Locating hardware faults in a parallel computer
US7893841B2 (en) * 2008-03-19 2011-02-22 International Business Machines Corporation Determining cartridge conflicts with deep slot technology
FR2982066B1 (fr) * 2011-10-28 2013-12-20 Peugeot Citroen Automobiles Sa Procede de compensation de la corruption d'une memoire d'un calculateur electronique.
US9710273B2 (en) * 2014-11-21 2017-07-18 Oracle International Corporation Method for migrating CPU state from an inoperable core to a spare core
CN107606821B (zh) * 2016-07-12 2020-01-10 苏州三星电子有限公司 空调压缩机回油系统及其回油管路堵塞判断方法
US10418777B2 (en) * 2017-05-10 2019-09-17 Applied Optoelectronics, Inc. Coaxial transmitter optical subassembly (TOSA) including side-by-side laser diode and monitor photodiode arrangement
CN111400113B (zh) * 2020-02-28 2023-05-12 苏州浪潮智能科技有限公司 一种计算机系统的整机自检方法、装置及系统

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01303543A (ja) * 1988-05-31 1989-12-07 Fujitsu Ltd メモリアクセス制御装置
JPH0314161A (ja) * 1989-06-13 1991-01-22 Toshiba Corp プロセッサ監視処理方式
CA2047321C (en) * 1990-07-19 1997-11-18 Henry Yang Testing a communications network for duplicate station addresses
US5386515A (en) * 1992-05-27 1995-01-31 Intel Corporation Automatic input/output address conflict resolution
US5838894A (en) * 1992-12-17 1998-11-17 Tandem Computers Incorporated Logical, fail-functional, dual central processor units formed from three processor units
EP0796533B1 (de) * 1994-12-09 2003-07-30 BRITISH TELECOMMUNICATIONS public limited company Mehrrechnerumgebungen
US5539725A (en) * 1995-01-31 1996-07-23 International Business Machines Corp. Port address resolution device
US5832304A (en) * 1995-03-15 1998-11-03 Unisys Corporation Memory queue with adjustable priority and conflict detection
JP3365705B2 (ja) * 1995-05-24 2003-01-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散型データ処理システム
US5812767A (en) * 1995-07-28 1998-09-22 International Business Machines Corporation System for user registering an address resolution routine to provide address resolution procedure which is used by data link provider interface for resolving address conflicts
JP3628777B2 (ja) * 1995-10-30 2005-03-16 株式会社日立製作所 外部記憶装置
US5724510A (en) * 1996-09-06 1998-03-03 Fluke Corporation Method of configuring a valid IP address and detecting duplicate IP addresses in a local area network
US5761503A (en) * 1996-10-24 1998-06-02 International Business Machines Corporation Automated volser range management for removable media storage library
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US5884018A (en) * 1997-01-28 1999-03-16 Tandem Computers Incorporated Method and apparatus for distributed agreement on processor membership in a multi-processor system
US6012150A (en) * 1997-03-27 2000-01-04 International Business Machines Corporation Apparatus for synchronizing operator initiated commands with a failover process in a distributed processing system
US6324161B1 (en) * 1997-08-27 2001-11-27 Alcatel Usa Sourcing, L.P. Multiple network configuration with local and remote network redundancy by dual media redirect
US6553002B1 (en) * 1997-08-29 2003-04-22 Ascend Communications, Inc. Apparatus and method for routing data packets through a communications network
US6038639A (en) * 1997-09-09 2000-03-14 Storage Technology Corporation Data file storage management system for snapshot copy operations
US6032213A (en) * 1997-09-11 2000-02-29 Advanced Micro Devices, Inc. PC core logic chipset comprising a serial register access bus
WO1999050848A1 (en) 1998-03-30 1999-10-07 Disc Incorporated Automated data storage library having a distributed control architecture
US6101499A (en) * 1998-04-08 2000-08-08 Microsoft Corporation Method and computer program product for automatically generating an internet protocol (IP) address
US6728781B1 (en) * 1998-05-12 2004-04-27 Cornell Research Foundation, Inc. Heartbeat failure detector method and apparatus
US6185638B1 (en) * 1998-10-07 2001-02-06 International Business Machines Corporation Method and system for dynamically assigning addresses to an input/output device
US6513094B1 (en) * 1999-08-23 2003-01-28 Advanced Micro Devices, Inc. ROM/DRAM data bus sharing with write buffer and read prefetch activity
US6842841B1 (en) * 1999-09-21 2005-01-11 Storage Technology Corporation Method and system for dynamically selecting tape drives to connect with host computers
TW426719B (en) * 1999-11-05 2001-03-21 Hon Hai Prec Ind Co Ltd Formula for conductive patch earth
JP4462697B2 (ja) * 2000-01-31 2010-05-12 株式会社日立製作所 記憶制御装置
US6542962B2 (en) * 2001-03-21 2003-04-01 Hitachi, Ltd. Multiple processor data processing system with mirrored data for distributed access
US6665811B1 (en) * 2000-08-24 2003-12-16 Hewlett-Packard Development Company, L.P. Method and apparatus for checking communicative connectivity between processor units of a distributed system
WO2002065249A2 (en) * 2001-02-13 2002-08-22 Candera, Inc. Storage virtualization and storage management to provide higher level storage services
US6944785B2 (en) * 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
US6519678B1 (en) * 2001-09-10 2003-02-11 International Business Machines Corporation Virtualization of data storage drives of an automated data storage library
US6920485B2 (en) * 2001-10-04 2005-07-19 Hewlett-Packard Development Company, L.P. Packet processing in shared memory multi-computer systems
US6934880B2 (en) * 2001-11-21 2005-08-23 Exanet, Inc. Functional fail-over apparatus and method of operation thereof
US6718228B2 (en) * 2001-12-27 2004-04-06 Storage Technology Corporation High density data storage library with horizontal array structures
US6782448B2 (en) * 2002-04-02 2004-08-24 International Business Machines Corporation Transparent code update in an automated data storage library
US6981174B1 (en) * 2002-07-18 2005-12-27 Extreme Networks, Inc. Method and apparatus for a redundant port

Also Published As

Publication number Publication date
CN1656777A (zh) 2005-08-17
EP1535443B1 (de) 2008-03-05
AU2003249953A8 (en) 2004-01-19
KR20050016471A (ko) 2005-02-21
WO2004003779A2 (en) 2004-01-08
AU2003249953A1 (en) 2004-01-19
DE60319548D1 (de) 2008-04-17
JP4076174B2 (ja) 2008-04-16
EP1535443A2 (de) 2005-06-01
ATE388569T1 (de) 2008-03-15
US20040010568A1 (en) 2004-01-15
KR100754299B1 (ko) 2007-09-03
WO2004003779A3 (en) 2004-04-08
CN100571255C (zh) 2009-12-16
JP2005531075A (ja) 2005-10-13
US7092990B2 (en) 2006-08-15
US20060190599A1 (en) 2006-08-24

Similar Documents

Publication Publication Date Title
DE60319548T2 (de) Handhabung eines knotenadressenausfalls in einem verteilten knotensystem von prozessoren
DE602004003467T2 (de) Sicherungs-firmware in einem verteilten system
DE69913553T2 (de) Konfigurierung von systemeinheiten
DE69827949T2 (de) Gerät und verfahren um speicherfehler zu erkennen und zu berichten
DE3640646A1 (de) Diagnostisches system
DE69133428T2 (de) Informationsverarbeitungsgerät mit umschaltbarem Programm
DE10197179T5 (de) Fern-Spiegelung in einer geschalteten Umgebung
DE3041322A1 (de) Interkommunikationsprozessor eines systems zur verwendung in einem datenverarbeitungs-teilsystem
DE3301628A1 (de) Schaltungsanordnung fuer den datenaustausch zwischen zwei rechnern
DE2539977B2 (de) Schaltungsanordnung zur Erkennung fehlerhafter Zustände peripherer Einheiten in einer Datenverarbeitungsanlage
DE4019519A1 (de) Verbesserte vorrichtung und protokoll fuer ein lokales netzwerk
DE1524175A1 (de) Pruefeinrichtung in elektronischen Datenverarbeitungsanlagen
DE112019000143T5 (de) Versionierungsvalidierung für die datenübertragung zwischen heterogenen datenspeichern
DE1499607C2 (de) Zugriffschaltung für Umlaufspeicher in einer Datenverarbeitungsanlage
DE2423260A1 (de) Verfahren und schaltungsanordnung zur pruefung von daten verarbeitenden anlagen, insbesondere fernsprechvermittlungsanlagen mit ueber ein busleitungssystem an eine steuerzentrale angeschlossenen peripheren einrichtungen
CN100395727C (zh) 媒体接入控制地址烧录方法
DE60131348T2 (de) Geräteerkennungssystem und -verfahren
DE602004009281T2 (de) Speichersystem und Rechnersystem
DE112017005865T5 (de) Verwaltungsvorrichtung und Verwaltungsverfahren
DE60130873T2 (de) Nicht-tolerante netzknoten in einem mehrfachen störungs-toleranten netz
DE3937021C2 (de)
DE112019005132T5 (de) Simultanes testen, ob mehrere über ein kommunikationsnetzwerk verbundene elektronische vorrichtungen ausnahmen korrekt behandeln
DE10122958A1 (de) Aktenmanagementsystem
DE60009335T2 (de) Verfahren und vorrichtung zur fernüberprüfung von rechnersoftware und ausschaltung von fehlern
DE602005002485T2 (de) Vorrichtung zur Vermeidung von Schaltungsfehlern in Anwesenheit von Fehlern

Legal Events

Date Code Title Description
8320 Willingness to grant licences declared (paragraph 23)
8364 No opposition during term of opposition