DE112017005453T5 - Konfiguration verteilter Datenverarbeitungssysteme - Google Patents

Konfiguration verteilter Datenverarbeitungssysteme Download PDF

Info

Publication number
DE112017005453T5
DE112017005453T5 DE112017005453.2T DE112017005453T DE112017005453T5 DE 112017005453 T5 DE112017005453 T5 DE 112017005453T5 DE 112017005453 T DE112017005453 T DE 112017005453T DE 112017005453 T5 DE112017005453 T5 DE 112017005453T5
Authority
DE
Germany
Prior art keywords
nodes
network configuration
network
data processing
configuration information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112017005453.2T
Other languages
English (en)
Inventor
Nina Tang
Ruben De Zaeytijd
Carl Rene D'Halluin
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.)
Western Digital Technologies Inc
Original Assignee
Western Digital Technologies Inc
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 Western Digital Technologies Inc filed Critical Western Digital Technologies Inc
Publication of DE112017005453T5 publication Critical patent/DE112017005453T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • H04L41/0266Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using meta-data, objects or commands for formatting management information, e.g. using eXtensible markup language [XML]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Abstract

Beschrieben werden ein Einzel-Geosystem, das einen Netzwerkkonfigurationsgenerator und ein erstes Datenverarbeitungssystem-Rack einschließt, oder ein Multi-Geosystem, das einen Netzwerkkonfigurationsgenerator, ein erstes Datenverarbeitungssystem-Rack und ein zweites Datenverarbeitungssystem-Rack einschließt. Das System empfängt Netzwerkinformationen für eine erste Vielzahl von Knoten und eine zweite Vielzahl von Knoten und erzeugt eine systemweite Netzwerkkonfigurationsdatei, die Netzwerkkonfigurationsinformationen für die erste Vielzahl von Knoten und die zweite Vielzahl von Knoten einschließt. Jede Vielzahl von Knoten schließt einen Steuerknoten ein, um die systemweite Netzwerkkonfigurationsdatei zu empfangen, Netzwerkkonfigurationsinformationen für diese Vielzahl von Knoten in der systemweiten Netzwerkkonfigurationsdatei als Teil des Datenverarbeitungssystem-Racks zu identifizieren und die Netzwerkkonfiguration für diese Vielzahl von Knoten auf der Grundlage der identifizierten Netzwerkkonfigurationsinformationen für das Datenverarbeitungssystem-Rack zu aktualisieren.

Description

  • HINTERGRUND
  • Die vorliegende Offenbarung betrifft allgemein Computerkonfigurationssysteme. In einem konkreteren Beispiel betrifft die vorliegende Offenbarung das Konfigurieren verteilter Datenverarbeitungssysteme.
  • Die Objektspeicherung ist ein Datenspeichermodell, das Informationen als Objekte verwaltet. Ein Objekt schließt im Allgemeinen die Nutzdaten des Objekts, eine variable Menge von Metainformationen und einen global unterscheidbaren Schlüssel zum Referenzieren des Objekts ein. Manchmal ist die Objektspeicherung auf einem Cloud-Speichersystem realisiert, bei dem Daten in logischen Buckets gespeichert sind, während die zugrunde liegende physische Speicherung mehrere Server überspannt, die sich an unterschiedlichen geografischen Orten befinden.
  • Eine Cloud-Speicherung kann anderen als öffentlicher Dienst durch ein Hosting-Unternehmen bereitgestellt oder ein privater Dienst sein, der intern durch eine Organisation bereitgestellt wird. Aufgrund der Anzahl von Vorrichtungen und der verteilten Natur des Systems sind bei jeder Realisierungsform im Allgemeinen beträchtliche Ressourcen und Fachkenntnisse erforderlich, um ein derartiges System zu konfigurieren und online bereitzustellen. Beispielsweise muss die Konfiguration der zahlreichen zugrunde liegenden Server und zugehörigen Komponenten, die das System bilden, bei einer Realisierungsform mit mehreren Standorten im Allgemeinen zwischen örtlich voneinander getrennten Mitarbeitern an jedem Standort koordiniert werden, die die Vorrichtungen des Standorts verwalten, was oft zu Verzögerungen, Konfigurationsfehlern und anderen Problemen führt.
  • KURZDARSTELLUNG
  • Die vorliegende Offenbarung betrifft allgemein Computerkonfigurationssysteme. Gemäß einem innovativen Aspekt des Gegenstands dieser Offenbarung schließt ein System einen Netzwerkkonfigurationsgenerator, ein erstes Datenverarbeitungssystem-Rack und ein zweites Datenverarbeitungssystem-Rack ein. Wenngleich als ein erstes Datenverarbeitungssystem-Rack und ein zweites Datenverarbeitungssystem-Rack beschrieben, sei darauf hingewiesen, dass in dieser Offenbarung mehrere Datenverarbeitungssystem-Racks vorgesehen sind, z. B. drei Datenverarbeitungssystem-Racks. Der Netzwerkkonfigurationsgenerator ist eingerichtet, um: Netzwerkkonfigurationsinformationen für eine erste Vielzahl von Knoten und eine zweite Vielzahl von Knoten zu empfangen und eine systemweite Netzwerkkonfigurationsdatei zu erzeugen, die Netzwerkkonfigurationsinformationen für die erste Vielzahl von Knoten und die zweite Vielzahl von Knoten einschließt. Das erste Datenverarbeitungssystem-Rack schließt die erste Vielzahl von Knoten ein, die zu Datenaustauschzwecken miteinander verbunden sind. Die erste Vielzahl von Knoten schließt einen ersten Steuerknoten ein, der eingerichtet ist, um: die systemweite Netzwerkkonfigurationsdatei zu empfangen, Netzwerkkonfigurationsinformationen für die erste Vielzahl von Knoten in der systemweiten Netzwerkkonfigurationsdatei als Teil des ersten Datenverarbeitungssystem-Racks zu identifizieren und die Netzwerkkonfiguration für die erste Vielzahl von Knoten auf der Grundlage der identifizierten Netzwerkkonfigurationsinformationen für das erste Datenverarbeitungssystem-Rack zu aktualisieren. Das zweite Datenverarbeitungssystem-Rack schließt die zweite Vielzahl von Knoten ein, die zu Datenaustauschzwecken miteinander verbunden sind. Die zweite Vielzahl von Knoten schließt einen zweiten Steuerknoten ein, der zu Folgendem eingerichtet ist: Empfangen der systemweiten Netzwerkkonfigurationsdatei, Identifizieren von Netzwerkkonfigurationsinformationen für die zweite Vielzahl von Knoten in der systemweiten Netzwerkkonfigurationsdatei als Teil des zweiten Datenverarbeitungssystem-Racks und Aktualisieren der Netzwerkkonfiguration für die zweite Vielzahl von Knoten auf der Grundlage der identifizierten Netzwerkkonfigurationsinformationen für das zweite Datenverarbeitungssystem-Rack.
  • Im Allgemeinen kann ein weiterer innovativer Aspekt des in dieser Offenbarung beschriebenen Gegenstands in Verfahren realisiert werden, die Folgendes einschließen: Empfangen von Netzwerkkonfigurationsinformationen für eine erste Vielzahl von Knoten und eine zweite Vielzahl von Knoten; Erzeugen einer systemweiten Netzwerkkonfigurationsdatei mit Netzwerkkonfigurationsinformationen für die erste Vielzahl von Knoten und die zweite Vielzahl von Knoten; Hochladen der systemweiten Netzwerkkonfigurationsdatei auf einen ersten Steuerknoten und einen zweiten Steuerknoten, wobei die erste Vielzahl von Knoten in einem ersten Datenverarbeitungssystem-Rack zu Datenaustauschzwecken miteinander verbunden ist, wobei die zweite Vielzahl von Knoten in einem zweiten Datenverarbeitungssystem-Rack zu Datenaustauschzwecken miteinander verbunden ist, wobei die erste Vielzahl von Knoten den ersten Steuerknoten einschließt und die zweite Vielzahl von Knoten den zweiten Steuerknoten einschließt; Identifizieren von Netzwerkkonfigurationsinformationen für die erste Vielzahl von Knoten in der systemweiten Netzwerkkonfigurationsdatei als Teil des ersten Datenverarbeitungssystem-Racks; Aktualisieren der Netzwerkkonfiguration für die erste Vielzahl von Knoten auf der Grundlage der identifizierten Netzwerkkonfigurationsinformationen für das erste Datenverarbeitungssystem-Rack; Identifizieren von Netzwerkkonfigurationsinformationen für die zweite Vielzahl von Knoten in der systemweiten Netzwerkkonfigurationsdatei als Teil des zweiten Datenverarbeitungssystem-Racks; und Aktualisieren der Netzwerkkonfiguration für die zweite Vielzahl von Knoten auf der Grundlage der identifizierten Netzwerkkonfigurationsinformationen für das zweite Datenverarbeitungssystem-Rack.
  • Andere Realisierungsformen eines oder mehrerer dieser Aspekte schließen entsprechende Systeme, Einrichtungen und Computerprogramme ein, die eingerichtet sind, um die Arbeitsgänge der Verfahren durchzuführen, die auf Computerspeichervorrichtungen codiert sind.
  • Diese und andere Realisierungsformen können jeweils wahlweise eines oder mehrere der folgenden Merkmale einschließen. Zum Beispiel schließen Merkmale solche ein, bei denen die erste Vielzahl von Knoten und die zweite Vielzahl von Knoten mit einem Zwischennetzwerk verbunden sind; das Aktualisieren der Netzwerkkonfiguration für die zweite Vielzahl von Knoten ein Konfigurieren einer öffentlichen Schicht-3-Netzwerkadresse für einen öffentlich zugänglichen Knoten einschließt; das Empfangen von Netzwerkkonfigurationsinformationen und das Erzeugen einer systemweiten Netzwerkkonfigurationsdatei durch eine über Browser zugängliche Anwendung durchgeführt wird, die vom ersten Steuerknoten bedient wird; die systemweite Netzwerkkonfigurationsdatei Schicht-3-Netzwerkkonfigurationsinformationen für die erste Vielzahl von Knoten und die zweite Vielzahl von Knoten einschließt; die erste Vielzahl von Knoten und die zweite Vielzahl von Knoten einen Teil eines verteilten Objektspeicherdienstes mit einer Speicherprogrammierschnittstelle (Application Programming Interface, API) bilden, die von einem ersten Gateway-Knoten bedient wird; und die erste Vielzahl von Knoten und einen zweiten Gateway-Knoten innerhalb der zweiten Vielzahl von Knoten.
  • Zum Beispiel schließen die Operationen weiterhin ein: Ermitteln, wann ein zweites Datenverarbeitungssystem-Rack ordnungsgemäß netzwerkkonfiguriert wurde und über das Zwischennetzwerk zu Datenaustauschzwecken zugänglich ist, und Identifizieren eines verteilten Datenverarbeitungssystems, das die erste Vielzahl von Knoten und die zweite Vielzahl von Knoten aufweist, als netzwerkkonfiguriert auf der Grundlage der Feststellung, dass das zweite Datenverarbeitungssystem-Rack ordnungsgemäß netzwerkkonfiguriert wurde und über das Zwischennetzwerk zu Datenaustauschzwecken zugänglich ist. Zum Beispiel schließen die Operationen weiterhin ein: periodisches Abfragen des Konnektivitätsstatus zum öffentlich zugänglichen Knoten, bis Konnektivität hergestellt ist; und Abfragen des öffentlich zugänglichen Knotens in Bezug darauf, ob die zweite Vielzahl von Knoten ordnungsgemäß netzwerkkonfiguriert wurde. Zum Beispiel schließen die Operationen weiterhin ein: Authentifizieren eines Benutzers bei dem System, Empfangen einer Bestätigung der Annahme einer Lizenzvereinbarung von dem Benutzer, Empfangen eines Satzes von Konfigurationsinformationen einer verteilten Objektspeicherung für einen verteilten Objektspeicherdienst, Anwenden des Satzes von Konfigurationsinformationen einer verteilten Objektspeicherung auf die erste Vielzahl von Knoten und die zweite Vielzahl von Knoten und Aktivieren der aktiven Nutzung des verteilten Objektspeicherdienstes durch Ermöglichen der Zugänglichkeit des ersten Gateway-Knotens und des zweiten Gateway-Knotens.
  • Diese Realisierungsformen sind in mehrfacher Hinsicht besonders vorteilhaft. Zum Beispiel stellt die hierin beschriebene Technologie einen Mechanismus bereit, um ein großes verteiltes Datenverarbeitungssystem mit mehreren Standorten schnell und genau online bereitzustellen.
  • Es sei klargestellt, dass die in der vorliegenden Offenbarung verwendete Ausdrucksweise hauptsächlich für Lesbarkeitszwecke und Anweisungszwecke gewählt wurde und den Schutzumfang des hierin offenbarten Gegenstands nicht beschränken soll.
  • Figurenliste
  • Die vorliegende Offenbarung ist in den Figuren der beigefügten Zeichnungen, in denen gleiche Bezugszeichen verwendet werden, um ähnliche Elemente zu bezeichnen, beispielhaft und nicht einschränkend dargestellt.
    • 1 ist eine schematische Darstellung eines beispielhaften Datenverarbeitungssystem-Racks;
    • 2 ist eine schematische Darstellung von beispielhaften Datenverarbeitungssystem-Racks, die über ein Netzwerk verbunden sind;
    • 3 ist ein Blockschema eines beispielhaften Steuerknotens;
    • 4 ist ein Blockschema eines beispielhaften Objektspeichersystems;
    • 5 ist ein Zustandsschema eines beispielhaften Flusses eines verteilten Datenverarbeitungssystems;
    • 6 ist ein Flussdiagramm eines beispielhaften Verfahrens zum Versetzen eines verteilten Datenverarbeitungssystems in den Online-Zustand;
    • 7 ist ein Flussdiagramm eines weiteren beispielhaften Verfahrens zum Versetzen eines verteilten Datenverarbeitungssystems in den Online-Zustand;
    • 8 ist eine schematische Darstellung einer beispielhaften grafischen Benutzeroberfläche;
    • 9 ist eine schematische Darstellung einer weiteren beispielhaften grafischen Benutzeroberfläche;
    • 10 ist eine schematische Darstellung einer weiteren beispielhaften grafischen Benutzeroberfläche; und
    • 11 ist eine schematische Darstellung einer weiteren beispielhaften grafischen Benutzeroberfläche.
  • AUSFÜHRLICHE BESCHREIBUNG
  • 1 ist eine schematische Darstellung eines beispielhaften Datenverarbeitungssystem-Racks 100. Das Datenverarbeitungssystem-Rack 100 kann eine Vielzahl von Knoten einschließen. Die Knoten können vom selben Typ oder unterschiedlichen Typs sein. Wie dargestellt schließt das beispielhafte Datenverarbeitungssystem-Rack 100 einen oder mehrere Switches 102a bis n, einen oder mehrere Steuerknoten 104 und einen oder mehrere Speicherknoten 106a bis n ein. Es sollte sich verstehen, dass 1 ebenso wie die anderen Figuren zum Veranschaulichen einer Ausführungsform verwendet wird und eine Angabe eines Buchstabens nach einem Bezugszeichen, zum Beispiel „102a“, eine konkrete Bezugnahme auf das Element oder die Komponente ist, das/die durch das betreffende Bezugszeichen bezeichnet wird. Falls ein Bezugszeichen im Text ohne nachfolgenden Buchstaben angegeben ist, zum Beispiel „102“, sollte es sich verstehen, dass dies eine allgemeine Bezugnahme auf unterschiedliche Ausführungsformen des Elements oder der Komponente ist, das/die dieses allgemeine Bezugszeichen trägt. In einigen Fällen kann ein einziges Datenverarbeitungssystem-Rack wie das in 1 dargestellte hierin als Einzel-Geosystem bezeichnet sein und sich, wie durch den Ausdruck angedeutet, geografisch an einem einzigen Ort befinden. In ähnlicher Weise können in einigen Fällen mehrere Datenverarbeitungssystem-Racks wie das unter Bezugnahme auf 3 unten dargestellte und beschriebene hierin als Multi-Geosystem bezeichnet sein und sich, wie durch den Ausdruck angedeutet, geografisch an verschiedenen Orten befinden.
  • Der Switch 102 kann ein Ethernet-Switch wie z. B. ein Schicht-2-Switch sein, der der Norm 802.3an-200610GBASE-T (10GbE) des Institute of Electrical and Electronics Engineers (IEEE) entspricht, obwohl auch andere Typen von Switches möglich sind und in Betracht gezogen werden. Bei einigen Realisierungsformen können verschiedene Vernetzungs-Hubs, -Router, -Bridges und/oder andere Netzwerkvorrichtungen zusätzlich oder alternativ verwendet werden, um den Steuerknoten 104 mit jedem der Speicherknoten 106 zu Datenaustauschzwecken zu verbinden. In einigen Fällen kann der Switch 102 integrierte Schicht-3-Routingfähigkeiten aufweisen. In weiteren Fällen kann ein Schicht-3-Router dem Datenverarbeitungssystem-Rack 100 hinzugefügt oder in der Nähe in einem benachbarten Rack angeordnet und mit dem Switch 102 zu Datenaustauschzwecken verbunden sein. Das Datenverarbeitungssystem-Rack 100 kann auch weitere spezialisierte Vernetzungsvorrichtungen einschließen, die nicht im Datenverarbeitungssystem-Rack 100 dargestellt sind, wie z. B. einen Endpunkt für eine virtuelle private Vernetzung (VPN), eine Firewall usw. Diese spezialisierten Vernetzungsvorrichtungen wurden in 1 zur Vereinfachung der Beschreibung des hierin offenbarten Gegenstands weggelassen, werden aber dennoch als Teil des Datenverarbeitungssystem-Racks 100 bei einigen Realisierungsformen in Betracht gezogen.
  • Der Steuerknoten 104 kann Fähigkeiten für Datenverarbeitung, nichtflüchtige Speicherung und Datenaustausch aufweisen. Bei einigen Ausführungsformen kann der Steuerknoten 104 einen Servercomputer mit einem oder mehreren Prozessoren, Speicher mit wahlfreiem Zugriff (Random Access Memory, RAM) und Vernetzungsfähigkeiten einschließen. Zum Beispiel kann der Steuerknoten 104 im Jahr 2016 duale 8-Kern-Prozessoren Intel Xeon® E5-2640 v3, 128 Gigabyte (GB) synchronen dynamischen Speicher mit wahlfreiem Zugriff (Dynamic Random Access Memory, DRAM) mit doppelter Datenrate der vierten Generation (DDR4) und duale 10GbE-Netzwerkschnittstellenkarten (Network Interface Cards, NICs) einschließen, obwohl auch andere Konfigurationen anwendbar sind. Während in einigen Fällen der Steuerknoten 104 einen Teil der Funktionalität der Speicherknoten 106 realisieren kann, wie nachstehend erörtert, kann der Steuerknoten 104 auch eine bestimmte spezialisierte Funktionalität innerhalb des Datenverarbeitungssystem-Racks 100 realisieren. Zum Beispiel kann der Steuerknoten 104 eine Cloud-Dienst-Programmierschnittstelle (Application Programming Interface, API); eine Standortkoordination in einem Datenverarbeitungssystem mit mehreren Standorten realisieren; und/oder Cloud-Dienste durch Steuern der Steuerknoten 106 koordinieren. Zum Beispiel kann der Steuerknoten 104 eine Speicheranforderung über eine API empfangen, die auf dem Steuerknoten 104 gehostet ist. Der Steuerknoten 104 kann die Speicheranforderung funktionell zu einer Speichervorrichtung zur Speicherung weiterleiten, die sich in einem der Speicherknoten 106 befindet. Der Steuerknoten 104 kann den Speicherort innerhalb des betreffenden Speicherknotens 106 indizieren. In einem Datenverarbeitungssystem mit mehreren Standorten kann der Steuerknoten 104 die Speicheranforderung duplizieren und die Speicheranforderung zur Redundanz funktionell zu einem Datenverarbeitungssystem weiterleiten, das sich an einem anderen Standort befindet. Der Steuerknoten 104 kann außerdem Daten analysieren, um zu ermitteln, welcher Standort bzw. welche Standorte innerhalb eines Datenverarbeitungssystems mit mehreren Standorten beim Reagieren auf Lesevorgänge und/oder Schreibvorgänge von Speicherbenutzern effektiver wären.
  • Der Speicherknoten 106 kann Fähigkeiten für Datenverarbeitung, nichtflüchtige Speicherung und Datenaustausch aufweisen. Bei einigen Ausführungsformen kann der Speicherknoten 106 einen Servercomputer mit einem oder mehreren Prozessoren, RAM, Vernetzungsfähigkeiten und Speicherfähigkeiten einschließen. Zum Beispiel kann der Speicherknoten 106 im Jahr 2016 einen 8-Kern-Prozessor Intel Xeon® D-1540, 128 GB DRAM mit doppelter Datenrate der dritten Generation (DDR3) und duale 10GbE-NICs und 12 SCSI-SAS-HDDs (SCSI-SAS = Serial Attached Small Computer System Interface) (HDDs = Hard Disk Drives, Festplattenlaufwerke) mit einer Kapazität von jeweils 8 Terabyte (TB) und insgesamt 96 TB pro Speicherknoten 106 einschließen, obwohl auch andere Konfigurationen anwendbar sind. Als ein weiteres Beispiel können 6 Speicherknoten 106a bis n für eine Rack-Speicherkapazität von 576 TB Rohspeicher vorhanden sein.
  • 2 ist eine schematische Darstellung beispielhafter Datenverarbeitungssystem-Racks 100a bis n, die über ein Netzwerk 202 verbunden sind, um ein verteiltes Datenverarbeitungssystem 200 zu bilden. Das Netzwerk 202 kann von einem herkömmlichen Typ, drahtverbunden oder drahtlos sein und zahlreiche unterschiedliche Konfigurationen aufweisen, einschließlich einer Stemkonfiguration, einer Token-Ring-Konfiguration oder weiterer Konfigurationen. Das Netzwerk 202 kann ein Weitverkehrsnetzwerk (Wide Area Network, WAN) (z. B. das Intemet), ein lokales Netzwerk (Local Area Network, LAN), ein virtuelles privates Netzwerk (VPN) und/oder weitere miteinander verbundene Datenpfade einschließen, über die mehrere Vorrichtungen Daten austauschen können. In einigen Fällen kann das Netzwerk 202 ein Peer-to-Peer-Netzwerk sein. Das Netzwerk 202 kann auch an ein Telekommunikationsnetz zum Senden von Daten in einer Vielfalt unterschiedlicher Datenaustauschprotokolle gekoppelt sein oder Abschnitte davon einschließen. Die Datenverarbeitungssystem-Racks 100a bis n können über jeweilige Signalleitungen 204a bis n zu Datenaustauschzwecken mit dem Netzwerk 202 verbunden sein. Die Datenverarbeitungssysteme 208a bis n können über jeweilige Signalleitungen 212a bis n zu Datenaustauschzwecken mit dem Netzwerk 202 verbunden sein. Die Benutzer 206a bis n können wie durch die jeweiligen Leitungen 210a bis n angegeben mit den Datenverarbeitungssystemen 208a bis n (auch einfach als 208 bezeichnet) interagieren. Zum Beispiel kann der Benutzer 206 ein Objektspeichersystem, das über das verteilte Datenverarbeitungssystem 200 gehostet wird, durch Interagieren mit dem Datenverarbeitungssystem 208 verwenden.
  • Bei einigen Ausführungsformen sind die Datenverarbeitungssysteme 208 Client-Vorrichtungen, die nichtflüchtige(n) Arbeitsspeicher, Prozessor(en) und Datenaustauscheinheit(en) und andere Komponenten einschießen, die über einen Datenaustauschbus zu Datenaustauschzwecken gekoppelt sind. Das Datenverarbeitungssystem 208 kann an das Netzwerk 202 gekoppelt sein und Daten zu und von anderen Einheiten des Systems 200 senden bzw. empfangen. Nicht einschränkende Beispiele eines Datenverarbeitungssystems 208 schließen einen Laptop-Computer, einen Desktop-Computer, einen Tablet-Computer, ein Mobiltelefon, einen Personal Digital Assistant (PDA), eine mobile E-Mail-Vorrichtung, eine am Körper tragbare Vorrichtung, eine eingebettete Datenverarbeitungsvorrichtung oder eine beliebige andere elektronische Vorrichtung ein, die in der Lage ist, Informationen zu verarbeiten und auf ein Netzwerk 202 zuzugreifen.
  • Bei einigen Ausführungsformen kann das Datenverarbeitungssystem 208 eine Instanz einer Benutzeroberfläche 314 einschließen, die Befehle ausführt, die eingerichtet sind, um Informationen zu empfangen, zu verarbeiten und darzustellen, Informationen zu anderen Einheiten des Systems 200 zu senden, die hierin erörterten Informationen, Funktionen und Aktionen bereitzustellen usw. Obwohl 2 zwei Datenverarbeitungssysteme 208 veranschaulicht, kann das System 200 eine beliebige Anzahl von Datenverarbeitungssystemen 208 einschließen.
  • Durch das Verbinden der Datenverarbeitungssystem-Racks 100a bis n über ein Netzwerk 202, um ein verteiltes Datenverarbeitungssystem 200 zu bilden, kann das verteilte Datenverarbeitungssystem 200 eine erhöhte funktionelle Leistung, Redundanz und Zuverlässigkeit für Benutzer bereitstellen. Zum Beispiel können eines oder mehrere der Datenverarbeitungssystem-Racks 100 eine Programmierschnittstelle für Cloud-Dienste bereitstellen, die durch das System 200 bereitgestellt werden. Ein Domänennamensystem (Domain Name System, DNS) kann für die API einen geografischen Lastausgleich oder Round-Robin-Lastausgleich bereitstellen, indem Domänennamen-Benutzeranforderungen an eines der Datenverarbeitungssystem-Racks 100 im verteilten Datenverarbeitungssystem 200 aufgelöst werden. In einigen Fällen kann das verteilte Datenverarbeitungssystem 200 eine gemeinsame API durch einen gemeinsam genutzten Domänennamen realisieren, während jedes der Datenverarbeitungssystem-Racks 100 die API separat realisieren kann. Des Weiteren können die Datenverarbeitungssysteme 100 funktionell derart koordiniert sein, dass, wenn eine Anforderung an einen Steuerknoten auf einem ersten Datenverarbeitungssystem-Rack 100a gestellt wird und eine physische Verarbeitung auf einem Speicherknoten in einem zweiten Datenverarbeitungssystem-Rack 100b erforderlich ist, der Steuerknoten in der Lage ist, die Anforderung ordnungsgemäß funktionell weiterzuleiten, um die Anforderung zu verarbeiten. Zum Beispiel kann eine Anforderung zum Abruf eines Speicherelements vom Steuerknoten auf einem ersten Datenverarbeitungssystem-Rack 100a gestellt werden, aber das Speicherelement kann physisch in einem zweiten Datenverarbeitungssystem-Rack 100b gespeichert sein. Der Steuerknoten kann eine dynamische Übersetzungstabelle aufweisen, um logische Speicheradressen wie z. B. einen Speicherschlüssel in physische Adressen zu übersetzen (z. B. die Internetprotokolladresse (IP-Adresse) eines Steuerknotens usw.). In einigen Fällen kann ein gespeichertes Element physisch auf mehr als einem Steuerknoten gespeichert sein und die Steuerknoten können sich an verschiedenen Standorten befinden.
  • Angesichts der komplexen Natur des verteilten Datenverarbeitungssystems 200 bei einigen Ausführungsformen kann die Konfiguration des verteilten Datenverarbeitungssystems 200 äußerst zeitintensiv und fehleranfällig sein. Zum Beispiel kann jede Netzwerkschnittstellenkarte (Network Interface Card, NIC) in den beispielhaften Datenverarbeitungssystem-Racks 100 eine geeignete Konfiguration erfordern und die Datenverarbeitungssystem-Racks 100 können eine geeignete Netzwerkkonfiguration erfordern, um über das Netzwerk 202 Daten auszutauschen. Bei einigen Ausführungsformen werden IPMI-Adressen (IPMI = Intelligent Platform Management Interface) als Teil der Netzwerkkonfiguration zugewiesen. Wie gemäß den hierin beschriebenen Techniken in Betracht gezogen, kann eine Aktivsetzungsanwendung 300 (unter Bezugnahme auf 3 unten und die beigefügten Schemata nach 3 beschrieben) die Konfigurationsgeschwindigkeit vorteilhaft verbessern und die Anzahl möglicher Fehler reduzieren, die beim Konfigurieren des verteilten Datenverarbeitungssystems 200 auftreten können. Zum Beispiel ermöglichen es die hierin beschriebenen Techniken, dass das verteilte Datenverarbeitungssystem 200 unter Einsatz von Technikern mit weniger Informationssystemschulungen (IT-Schulungen) einem kürzeren Zeitraum funktionell bereitgestellt werden kann. Die hierin beschriebenen Techniken ermöglichen es Herstellern von verteilten Datenverarbeitungssystemen außerdem, die Einfachheit und Schnelligkeit zu vermarkten, mit der ein derartiges komplexes System in einer Organisation in den Produktionszustand versetzt werden kann.
  • 3 ist ein Blockschema eines beispielhaften Steuerknotens 104 mit einer Aktivsetzungsanwendung 300. Obwohl die Aktivsetzungsanwendung 300 als Teil eines Steuerknotens 104 gezeigt ist, versteht es sich, dass die Aktionen und/oder die Funktionalität, die in Bezug auf den Steuerknoten 104 beschrieben sind, in anderen Servern oder Systemen innerhalb des verteilten Datenverarbeitungssystems 200 ausgeführt werden können. Ebenfalls zu beachten ist, dass, obwohl der Begriff „Steuerknoten“ zur Bezugnahme auf das Element 104 verwendet wird, insbesondere beim Beschreiben der 3, in anderen Teilen der vorliegenden Patentanmeldung das Element 104 alternativ als „Konfigurationsknoten“, „Gateway-Knoten“, „skalarer Knoten“ oder einfach als „Datenverarbeitungsvorrichtung“ bezeichnet sein kann. Obwohl die Funktionalität dieser verschiedenen Begriffe zwischen mehreren Servern aufgeteilt sein kann, wird die Funktionalität der Einfachheit halber häufig in einem einzigen Server kombiniert und deshalb als solche in dieser Beschreibung veranschaulicht.
  • Der Steuerknoten 104 kann eine Aktivsetzungsanwendung 300, einen Prozessor 330, einen Arbeitsspeicher 332, eine Datenaustauscheinheit 334, einen Speicherdienst 340 und eine Speichervorrichtung 342 einschließen. Die Komponenten der Datenverarbeitungsvorrichtung 104 sind durch einen Bus 320 zu Datenaustauschzwecken gekoppelt.
  • Der Prozessor 330 schließt eine Arithmetik-Logik-Einheit, einen Mikroprozessor, eine Universalsteuerung oder eine andere Prozessoranordnung ein, um Berechnungen durchzuführen und elektronische Anzeigesignale an eine Anzeigevorrichtung zu liefern. Der Prozessor 330 ist zu Datenaustauschzwecken mit den anderen Komponenten an den Bus 320 gekoppelt. Der Prozessor 330 verarbeitet Datensignale und kann verschiedene Datenverarbeitungsarchitekturen einschließen, einschließlich einer Architektur für Computer mit komplexem Befehlssatz (Complex Instruction Set Computer, CISC), einer Architektur für Computer mit reduziertem Befehlssatz (Reduced Instruction Set Computer, RISC) oder einer Architektur, die eine Kombination von Befehlssätzen realisiert. Obwohl 3 einen einzigen Prozessor 330 einschließt, können mehrere Prozessoren 330 enthalten sein. Weitere Prozessoren, Betriebssysteme, Sensoren, Anzeigen und physische Konfigurationen sind möglich.
  • Der Arbeitsspeicher 332 schließt ein oder mehrere nichtflüchtige computerlesbare Medien ein. Im Arbeitsspeicher 332 sind Befehle und/oder Daten gespeichert, die durch den Prozessor 330 ausgeführt werden können. Der Arbeitsspeicher 332 ist zu Datenaustauschzwecken mit den anderen Komponenten an den Bus 320 gekoppelt. Die Befehle und/oder Daten können Code zum Durchführen der hierin beschriebenen Techniken einschließen. Der Arbeitsspeicher 332 kann eine DRAM-Vorrichtung (DRAM = Dynamic Random Access Memory), eine SRAM-Vorrichtung (SRAM = Static Random Access Memory), ein Flash-Speicher oder eine andere Speichervorrichtung sein. In einigen Fällen schließt der Arbeitsspeicher 332 auch einen nichtflüchtigen Arbeitsspeicher oder eine ähnliche dauerhafte Speichervorrichtung und Medien ein, einschließlich eines Festplattenlaufwerks, eines Diskettenlaufwerks, einer CD-ROM-Vorrichtung (CD-ROM = Compact Disc-Read Only Memory), einer DVD-ROM-Vorrichtung (DVD-ROM = Digital Versatile Disc-Read Only Memory), einer DVD-RAM-Vorrichtung (DVD-RAM = Digital Versatile Disc-Random Access Memory), einer DVD-RW-Vorrichtung (DVD-RW = Digital Versatile Disc-Rewritable), einer Flash-Speichervorrichtung oder einer anderen Massenspeichervorrichtung zum Speichern von Informationen auf einer dauerhafteren Basis.
  • Die Datenaustauscheinheit 334 sendet und empfängt Daten an das bzw. vom Netzwerk 202. Die Datenaustauscheinheit 334 ist an den Bus 320 gekoppelt. In einigen Fällen schließt die Datenaustauscheinheit 334 einen Anschluss zur direkten physischen Verbindung mit dem Netzwerk 202 oder mit einem anderen Datenaustauschkanal ein. Zum Beispiel schließt die Datenaustauscheinheit 334 einen USB-Anschluss (USB = Universal Serial Bus), SD-Anschluss (SD = Secure Digital), Kategorie-6-Anschluss (CAT-6-Anschluss) oder ähnlichen Anschluss zum drahtgebundenen Datenaustausch mit dem Netzwerk 202 ein. In einigen Fällen schließt die Datenaustauscheinheit 334 einen drahtlosen Transceiver zum Austauschen von Daten mit dem Netzwerk 202 oder anderen Datenaustauschkanälen unter Verwendung eines oder mehrerer drahtloser Datenaustauschverfahren ein, einschließlich von Verfahren auf der Grundlage von IEEE 802.11, IEEE 802.16 (IEEE = Institute of Electrical and Electronics Engineers), BLUETOOTH® oder eines anderen geeigneten drahtlosen Datenaustauschverfahrens. Obwohl 3 eine Datenaustauscheinheit 334 einschließt, können mehrere Datenaustauscheinheiten 334 enthalten sein. Zum Beispiel können mehrere NICs in der Datenverarbeitungsvorrichtung 104 enthalten sein.
  • In einigen Fällen schließt die Datenaustauscheinheit 334 einen Mobilfunkkommunikations-Transceiver zum Senden und Empfangen von Daten über ein Mobilfunkkommunikationsnetz ein, einschließlich über Kurznachrichtendienst (Short Message Service, SMS), Multimedia Messaging Service (MMS), Hypertext Transfer Protocol (HTTP), eine direkte Datenverbindung, Wireless Application Protocol (WAP), E-Mail oder einen anderen geeigneten Typ von elektronischem Datenaustausch., ein. In einigen Fällen schließt die Datenaustauscheinheit 334 einen drahtgebundenen Anschluss und einen drahtlosen Transceiver ein. Die Datenaustauscheinheit 334 stellt auch andere herkömmliche Verbindungen zum Netzwerk 202 zur Verteilung von Dateien und/oder Medienobjekten unter Verwendung von Standardnetzwerkprotokollen bereit, einschließlich Transmission Control Protocol/Internet Protocol (TCP/IP), Hypertext Transfer Protocol (HTTP), HTTP Secure (HTTPS), Secure Sockets Layer (SSL) und Simple Mail Transfer Protocol (SMTP) usw.
  • Der Speicherdienst 340 kann Software einschließlich Routinen zum Speichern und Abrufen von Daten in bzw. vom verteilten Datenverarbeitungssystem 200 einschließen. Genauer kann der Speicherdienst 340 den Prozessor 330 programmieren, um die Speicherung und den Abruf in bzw. von Speichervorrichtungen auf Speicherknoten 106 über ein oder mehrere Datenverarbeitungssystem-Racks 100 hinweg zu koordinieren. In einigen Fällen stellt der Speicherdienst 340 einen Objektspeicherdienst bereit, wobei eine Speicher-API eine Schnittstelle zu dem Objektspeicherdienst bereitstellt. Details bezüglich einer derartigen Realisierungsform werden nachstehend unter Bezugnahme auf 4 weiter erörtert.
  • In einigen Fällen empfängt der Speicherdienst 340 von der Datenaustauscheinheit 334 eine Anforderung zur Speicherung oder zum Abruf eines Datenelements. Zum Beispiel kann die Datenaustauscheinheit 334 eine Objektkennung oder einen Schlüssel und eine Anforderung zum Abruf des Objekts empfangen, das der Kennung zugeordnet ist. Der Speicherdienst 340 kann dann die Kennung in der Speichervorrichtung 342 nachschlagen, um eine physische Adresse für das Objekt zu ermitteln. Der Speicherdienst 340 kann dann das Objekt von dem Speicherknoten 106 abrufen und das Objekt an die anfordernde Einheit zurückgeben.
  • Die Speichervorrichtung 342 kann ein nichtflüchtiger Arbeitsspeicher sein, in dem Daten zum Bereitstellen der hierin beschriebenen Funktionalität gespeichert sind. Bei der Speichervorrichtung 342 kann es sich um eine DRAM-Vorrichtung (DRAM = Dynamic Random Access Memory), eine SRAM-Vorrichtung (SRAM = Static Random Access Memory), einen Flash-Speicher oder andere Speichervorrichtungen handeln. In einigen Fällen schließt die Speichervorrichtung 342 auch einen nichtflüchtigen Arbeitsspeicher oder eine ähnliche dauerhafte Speichervorrichtung und Medien ein, einschließlich eines Festplattenlaufwerks, eines Diskettenlaufwerks, einer CD-ROM-Vorrichtung, einer DVD-ROM-Vorrichtung, einer DVD-RAM-Vorrichtung, einer DVD-RW-Vorrichtung, einer Flash-Speichervorrichtung oder einer anderen Massenspeichervorrichtung zum Speichern von Informationen auf einer dauerhafteren Basis.
  • Bei der in 3 gezeigten Realisierungsform schließt die Aktivsetzungsanwendung 300 einen Netzwerkkonfigurationsgenerator 302, einen Netzwerkkonfigurationsapplikator 304, einen Konfigurationsdatei-Parser 306, einen Netzwerkkonfigurationsstatusprüfer 308, einen Webserver 310, einen Systeminitialisierer 312, eine Benutzeroberfläche 314 und eine Steuereinheit 316 ein. Diese Komponenten der Aktivsetzungsanwendung 300 sind über den Bus 320 zu Datenaustauschzwecken miteinander gekoppelt.
  • Der Netzwerkkonfigurationsgenerator 302 kann Software einschließlich Routinen zum Erzeugen einer Netzwerkkonfiguration einschließen. In einigen Fällen kann der Netzwerkkonfigurationsgenerator 302 ein Satz von durch den Prozessor 330 ausführbaren Befehlen sein, der eine nachfolgend beschriebene Funktionalität zum Konfigurieren von Netzwerkeinstellungen an Knoten innerhalb eines oder mehrerer Datenverarbeitungssystem-Racks 100 bereitstellt. Zum Beispiel kann der Netzwerkkonfigurationsgenerator 302 Netzwerkeinstellungen für ein verteiltes Datenverarbeitungssystem 200 konfigurieren. In einigen Fällen kann der Netzwerkkonfigurationsgenerator 302 im Arbeitsspeicher 332 der Datenverarbeitungsvorrichtung 104 gespeichert und durch den Prozessor 330 zugänglich und ausführbar sein. Der Netzwerkkonfigurationsgenerator 302 kann zur Zusammenarbeit und zum Datenaustausch mit dem Prozessor 330 und anderen Komponenten der Datenverarbeitungsvorrichtung 104 über den Bus 320 konzipiert sein. Bei einigen Ausführungsformen kann die Aktivsetzungsanwendung 300 Fähigkeiten zum Konfigurieren anderer Nichtnetzwerkeinstellungen einschließen.
  • In einigen Fällen empfängt der Netzwerkkonfigurationsgenerator 302 von der Steuereinheit 316 Netzwerkkonfigurationsinformationen für mehrere Knoten in einem verteilten Datenverarbeitungssystem 200. Die Knoten können durch den Standort unterschieden werden, an dem sie sich befinden. Zum Beispiel können sich einige Knoten am Datenverarbeitungssystem-Rack 100a befinden, während sich andere Knoten am Datenverarbeitungssystem-Rack 100b befinden können usw. Mit den empfangenen Netzwerkkonfigurationsinformationen kann der Netzwerkkonfigurationsgenerator eine systemweite Netzwerkkonfigurationsdatei erzeugen. Die systemweite Netzwerkkonfigurationsdatei kann Netzwerkkonfigurationsinformationen für die mehreren Knoten im verteilten Datenverarbeitungssystem 200 einschließen. Weiterhin können die mehreren Knoten in der systemweiten Netzwerkkonfigurationsdatei nach Standortposition oder Datenverarbeitungssystem-Rack 100 im verteilten Datenverarbeitungssystem 200 gruppiert werden.
  • Zum Beispiel kann eine Kennung in der systemweiten Netzwerkkonfigurationsdatei enthalten sein, um ein bestimmtes Datenverarbeitungssystem-Rack 100a zu kennzeichnen. Bei einem Beispiel kann eine MAC-Adresse (MAC = Media Access Control) in der erzeugten systemweiten Netzwerkkonfigurationsdatei gespeichert sein, die eine der NICs im Steuerknoten 104 als einem bestimmten Datenverarbeitungssystem-Rack 100a zugeordnet kennzeichnet. Darüber hinaus kann das betreffende Datenverarbeitungssystem-Rack 100a einen Namen wie z. B. „Palo Alto“ in der systemweiten Netzwerkkonfigurationsdatei einschließen, um menschliche Benutzer beim Identifizieren des geografischen Standorts des Datenverarbeitungssystem-Racks 100a zu unterstützen.
  • Als weiteres Beispiel kann die systemweite Netzwerkkonfigurationsdatei eine andere MAC-Adresse einschließen, die dem Datenverarbeitungssystem-Rack 100b zugeordnet ist. Weiterhin kann die systemweite Netzwerkkonfigurationsdatei auch den Namen „Seattle“ für das Datenverarbeitungssystem-Rack 100b einschließen. Außerdem kann jedes Datenverarbeitungssystem-Rack 100, das in der Netzwerkkonfigurationsdatei angegeben ist, Kennungen für die Knoten und Vorrichtungen im Datenverarbeitungssystem-Rack 100 einschließen.
  • Der Netzwerkkonfigurationsgenerator 302 kann (für die systemweite Netzwerkkonfigurationsdatei) Schicht-3-Vernetzungsinformationen erzeugen, einschließlich zum Beispiel von IP-Adressen, Subnetzmasken, Gateways, DNS-Servern und Vernetzungsdiensten wie z. B. Dynamic Host Configuration Protocol (DHCP) und VPN-Tunneln (VPN = Virtual Private Network) usw. Öffentliche IP-Adressen können bestimmten Knoten in einem Datenverarbeitungssystem-Rack 100 zugewiesen werden. Der Netzwerkkonfigurationsgenerator 302 kann eine Weiterleitung über Standorte hinweg einschließen und IP-Zuweisungen über Standorte hinweg durch Erzeugung der systemweiten Netzwerkkonfigurationsdatei koordinieren. Außerdem können Schicht-2-Vernetzungsinformationen oder andere ähnliche Daten zur Replikation auf einen Switch 102 und/oder andere Knoten im Datenverarbeitungssystem-Rack 100 enthalten sein. Zum Beispiel können Kennungen eines virtuellen lokalen Netzwerks (Virtual Local Area Network, VLAN) zu NICs im Datenverarbeitungssystem-Rack 100 und/oder Anschlüssen auf dem Switch 102 zugewiesen sein. Gegebenenfalls im Datenverarbeitungssystem-Rack 100 vorliegende Router können Weiterleitungsinformationen, die zu Knoten im Datenverarbeitungssystem-Rack 100 gehören, in der systemweiten Netzwerkkonfigurationsdatei einschließen.
  • Der Netzwerkkonfigurationsapplikator 304 kann Software sein, einschließlich Routinen zum Empfangen der systemweiten Netzwerkkonfigurationsdatei und Identifizieren von Netzwerkkonfigurationsinformationen. Insbesondere kann der Netzwerkkonfigurationsapplikator 304 einen ersten Satz von Knoten in der systemweiten Netzwerkkonfigurationsdatei als Teil des Datenverarbeitungssystem-Racks 100a identifizieren. Der Netzwerkkonfigurationsapplikator 304 kann dann die Netzwerkkonfiguration für den ersten Satz von Knoten auf der Grundlage der identifizierten Netzwerkkonfigurationsinformationen für das Datenverarbeitungssystem-Rack 100a aktualisieren. Zum Beispiel kann der Netzwerkkonfigurationsapplikator 304 auf einem Steuerknoten 104 im Datenverarbeitungssystem-Rack 100a ausgeführt werden. Diese Instantiierung des Netzwerkkonfigurationsapplikators 304 kann die systemweite Netzwerkkonfigurationsdatei durch Kommunizieren mit dem Konfigurationsdatei-Parser 306 und Identifizieren einer MAC-Adresse parsen, die dem Steuerknoten 104 im Datenverarbeitungssystem-Rack 100a zugeordnet ist. Weiterhin kann der Netzwerkkonfigurationsapplikator 304 mit der zugeordneten MAC-Adresse die verbleibenden Netzwerkkonfigurationsinformationen für das Datenverarbeitungssystem-Rack 100a identifizieren. Das heißt, dass der Netzwerkkonfigurationsapplikator 304 den Prozessor programmieren kann, um zu ermitteln, welche Abschnitte der systemweiten Netzwerkkonfigurationsdatei zum Datenverarbeitungssystem-Rack 100a gehören und welche Abschnitte der systemweiten Netzwerkkonfigurationsdatei anderen Datenverarbeitungssystemen im verteilten Datenverarbeitungssystem 200 zugeordnet sind.
  • Der Netzwerkkonfigurationsapplikator 304 kann mit dem Webserver 310 kommunizieren, um eine systemweite Netzwerkkonfigurationsdatei zu empfangen, die von einem anderen Knoten (z. B. einer Datenverarbeitungsvorrichtung eines Benutzers) über das Netzwerk 202 in die Aktivsetzungsanwendung 300 hochgeladen wurde. Der Netzwerkkonfigurationsapplikator 304 kann wie weiter oben erörtert mit dem Konfigurationsdatei-Parser 306 zusammenwirken, um die darin enthaltenen Informationen für den Netzwerkkonfigurationsapplikator 304 zu parsen. Der Netzwerkkonfigurationsapplikator 304 kann dann die Netzwerkkonfiguration für die erste Vielzahl von Knoten mit den geparsten und identifizierten Netzwerkkonfigurationsinformationen für das Datenverarbeitungssystem-Rack 100a aktualisieren. Dieser Mechanismus kann in ähnlicher Weise auf den anderen Datenverarbeitungssystem-Racks 100 des verteilten Datenverarbeitungssystems 200 eingesetzt werden.
  • Der Konfigurationsdatei-Parser 306 kann Software einschließen, die Routinen zum Parsen einer systemweiten Netzwerkkonfigurationsdatei aufweist. In einigen Fällen kann der Konfigurationsdatei-Parser 306 ein Satz von Befehlen sein, die durch den Prozessor 330 ausführbar sind, um die weiter unten beschriebene Funktionalität zum Parsen einer systemweiten Netzwerkkonfigurationsdatei bereitzustellen. In einigen Fällen kann der Konfigurationsdatei-Parser 306 im Arbeitsspeicher 332 der Datenverarbeitungsvorrichtung 104 gespeichert und durch den Prozessor 330 und andere Komponenten der Datenverarbeitungsvorrichtung 104 über den Bus 320 zugänglich und ausführbar sein.
  • In einigen Fällen empfängt der Konfigurationsdatei-Parser 306 (von der Steuereinheit 316, dem Netzwerkkonfigurationsgenerator 302, dem Netzwerkkonfigurationsapplikator 304 oder einer anderen Komponente des Systems 100) eine Anforderung zum Parsen einer systemweiten Netzwerkkonfigurationsdatei. Bei einem weiteren Beispiel kann die Anforderung vom Netzwerkkonfigurationsapplikator 304 über die Steuereinheit 316, den Netzwerkkonfigurationsgenerator 302, den Netzwerkkonfigurationsapplikator 304 oder eine andere Quelle kommen. Der Konfigurationsdatei-Parser 306 kann die systemweite Netzwerkkonfigurationsdatei öffnen und/oder empfangen und die Datei in den Arbeitsspeicher 332 lesen. Bei einigen Ausführungsformen kann der Konfigurationsdatei-Parser 306 die systemweite Netzwerkkonfigurationsdatei in einen Satz von Betriebssystem-Shell-Befehlen transformieren, die durch den Netzwerkkonfigurationsapplikator 304 auszuführen sind, um die in der systemweiten Netzwerkkonfigurationsdatei verkörperte Netzwerkkonfigurationsaktualisierung zu bewirken. Andere Variationen sind ebenfalls möglich und werden in Betracht gezogen.
  • Der Netzwerkkonfigurationsstatusprüfer 308 kann Software einschließen, die Routinen zum Prüfen des Status von Knoten im verteilten Datenverarbeitungssystem 200 aufweist. In einigen Fällen kann der Netzwerkkonfigurationsstatusprüfer 308 ein Satz von Befehlen sein, die durch den Prozessor 330 ausführbar sind, um die weiter unten beschriebene Funktionalität zum Prüfen des Status von Knoten im verteilten Datenverarbeitungssystem 200 bereitzustellen. In einigen anderen Fällen kann der Netzwerkkonfigurationsstatusprüfer 308 im Arbeitsspeicher 332 der Datenverarbeitungsvorrichtung 104 gespeichert und durch den Prozessor 330 zugänglich und ausführbar sein. Der Netzwerkkonfigurationsstatusprüfer 308 kann zur Zusammenarbeit und zum Datenaustausch mit dem Prozessor 330 und anderen Komponenten der Datenverarbeitungsvorrichtung 104 über den Bus 320 konzipiert sein.
  • In einigen Fällen empfängt der Netzwerkkonfigurationsstatusprüfer 308 vom Netzwerkkonfigurationsapplikator 304 eine Anforderung, um zu ermitteln, ob die Knoten im verteilten Datenverarbeitungssystem 200 netzwerkkonfiguriert sind. Der Netzwerkkonfigurationsstatusprüfer 308 kann die Anforderung in einigen Fällen über eine zwischengeschaltete Komponente wie z. B. eine Steuereinheit empfangen, obwohl er bei weiteren Ausführungsformen die Anforderung direkt empfangen kann.
  • Der Netzwerkkonfigurationsstatusprüfer 308 kann ermitteln, ob Knoten im Datenverarbeitungssystem-Rack 100a und die Knoten im Datenverarbeitungssystem-Rack 100b und/oder 100n ordnungsgemäß netzwerkkonfiguriert und dazwischen über das Netzwerk 202 zu Datenaustauschzwecken zugänglich sind. Zum Beispiel kann der Netzwerkkonfigurationsapplikator 304 eine öffentliche IP-Adresse für einen öffentlich zugänglichen Modus im Datenverarbeitungssystem-Rack 100a konfigurieren. Eine Instantiierung des Netzwerkkonfigurationsstatusprüfers 308 auf einem Knoten im Datenverarbeitungssystem-Rack 100b kann dann den Konnektivitätsstatus zum öffentlich zugänglichen Knoten periodisch abfragen, bis Konnektivität mit dem öffentlich zugänglichen Knoten hergestellt ist. Der Netzwerkkonfigurationsstatusprüfer 308 kann dann den öffentlich zugänglichen Knoten in Bezug darauf abfragen, ob alle Knoten im Datenverarbeitungssystem-Rack 100a ordnungsgemäß netzwerkkonfiguriert wurden. Somit kann der auf einem Knoten im Datenverarbeitungssystem-Rack 100a instantiierte Netzwerkkonfigurationsstatusprüfer 308 jeden Knoten im Datenverarbeitungssystem-Rack 100a iterativ abfragen, um zu ermitteln, ob diese Knoten ordnungsgemäß netzwerkkonfiguriert wurden. Wenn ein Knoten nicht ordnungsgemäß netzwerkkonfiguriert wurde, kann der Netzwerkkonfigurationsapplikator Befehle ausführen, um Netzwerkeinstellungsänderungen auf dem unzureichend netzwerkkonfigurierten Knoten zu bewirken.
  • Der Webserver 310 kann Software einschließen, die Routinen zum Bereitstellen von Daten für eine oder mehrere Client-Vorrichtungen aufweist. Die Daten können bei einigen Ausführungsformen als grafische Benutzeroberfläche(n) darstellbar sein. Die Benutzeroberfläche 314 kann sich zumindest teilweise auf einer Benutzervorrichtung des Benutzers befinden und vom Webserver 310 empfangenen Code interpretieren und darstellen. Bei einigen Ausführungsformen kann der Webserver 310 strukturierte Daten wie z. B. Extensible Markup Language (XML), Javascript Object Notation (JSON), Tabellendaten usw. bereitstellen. In einigen Fällen kann der Webserver 310 ein Satz von Befehlen sein, die durch den Prozessor 330 ausführbar sind, um die weiter unten beschriebene Funktionalität bereitzustellen. In einigen anderen Fällen kann der Webserver 310 im Arbeitsspeicher 332 der Datenverarbeitungsvorrichtung 104 gespeichert und durch den Prozessor 330 zugänglich und ausführbar sein, und der Webserver 310 kann zur Zusammenarbeit und zum Datenaustausch mit dem Prozessor 330 und anderen Komponenten der Datenverarbeitungsvorrichtung 104 über den Bus 320 konzipiert sein.
  • In einigen Fällen empfängt der Webserver 310 die Anforderung für eine Seite von der Benutzeroberfläche 314. Die Anforderung kann in einigen Fällen durch eine Steuereinheit wie z. B. einen Anforderungs-Handler oder eine andere Komponente empfangen werden. Der Webserver 310 kann Code, der die Seite verkörpert, aus dem Speicher abrufen und/oder diesen erzeugen, in die Seite eingebetteten dynamischen Code ausführen und die Seite über die Datenaustauscheinheit 334 zur anfordernden Einheit (z. B. dem Webbrowser eines Benutzers) übertragen. Der Code, der die Seite verkörpert, kann in einigen Fällen in einer Websprache wie z. B. HTML, JavaScript, JSON, Cascading Style Sheets (CSS) usw. geschrieben sein und mehr als eine Datei aufweisen. Der Webserver 310 kann andere zusätzliche Funktionalität bereitstellen, einschließlich Zwischenspeichern, Authentifizierung usw.
  • Der Systeminitialisierer 312 kann Software einschließen, die Routinen zum Initialisieren eines verteilten Datenverarbeitungssystems 200 einschließt. In einigen Fällen kann der Systeminitialisierer 312 ein Satz von Befehlen sein, die durch einen Prozessor 330 ausführbar sind, um die weiter unten beschriebene Funktionalität zum Initialisieren des verteilten Datenverarbeitungssystems 200 bereitzustellen. In einigen anderen Fällen kann der Systeminitialisierer 312 im Arbeitsspeicher 332 der Datenverarbeitungsvorrichtung 104 gespeichert und durch den Prozessor 330 zugänglich und ausführbar sein. Der Systeminitialisierer 312 kann zur Zusammenarbeit und zum Datenaustausch mit dem Prozessor 330 und anderen Komponenten der Datenverarbeitungsvorrichtung 104 über den Bus 320 konzipiert sein.
  • In einigen Fällen empfängt der Systeminitialisierer 312 eine Anforderung zum Initialisieren von Systemparametern im verteilten Datenverarbeitungssystem 200. Die Anforderung kann in einigen Fällen durch eine Steuereinheit wie z. B. einen Anforderungs-Handler oder eine andere Komponente empfangen werden. Bei einigen Ausführungsformen kann der Systeminitialisierer 312 die verschiedenen Systemparameter anwenden und das verteilte Datenverarbeitungssystem 200 aus einem netzwerkkonfigurierten Zustand 504 in einen initialisierten Zustand 506 versetzen, sobald die verschiedenen Systemparameter durch den Systeminitialisierer 312 empfangen wurden.
  • Die Benutzeroberfläche 314 kann Software einschließen, die Routinen zum Erzeugen von grafischen Daten zum Bereitstellen von Benutzeroberflächen für Benutzer einschließt. In einigen Fällen kann die Benutzeroberfläche 314 ein Satz von Befehlen sein, die durch den Prozessor 330 ausführbar sind, um die weiter unten beschriebene Funktionalität zum Erzeugen von grafischen Daten zum Bereitstellen von Benutzeroberflächen bereitzustellen. In einigen anderen Fällen kann die Benutzeroberfläche 314 im Arbeitsspeicher 332 der Datenverarbeitungsvorrichtung 104 gespeichert und durch den Prozessor 330 zugänglich und ausführbar sein. Die Benutzeroberfläche 314 kann zur Zusammenarbeit und zum Datenaustausch mit dem Prozessor 330 und anderen Komponenten der Datenverarbeitungsvorrichtung 104 über den Bus 320 konzipiert sein.
  • In einigen Fällen kann die Benutzeroberfläche 314 Daten mit anderen Komponenten des Systems 200 wie z. B. dem Webserver 310 austauschen. Bei weiteren Ausführungsformen kann die Benutzeroberfläche 314 Daten mit dem Netzwerkkonfigurationsgenerator 302, dem Netzwerkkonfigurationsapplikator 304, dem Systeminitialisierer 312 oder einer anderen Systemkomponente austauschen (z. B. senden, empfangen). Beispieldaten können Anforderungen zum Konfigurieren des verteilten Datenverarbeitungssystems 200, von Systemkonfigurationsdaten usw. einschließen. Bei einigen Realisierungsformen erzeugt die Benutzeroberfläche 314 grafische Daten zum Darstellen von Informationen wie z. B. Konfigurationsdaten für den Benutzer. Beispiele für Benutzeroberflächen sind in den 8 bis 11 gezeigt.
  • Die Steuereinheit 316 kann Software einschließen, die Routinen zum Verarbeiten von Datenaustausch zwischen der Aktivsetzungsanwendung 300 und anderen Komponenten der Datenverarbeitungsvorrichtung 104 aufweist. In einigen Fällen kann die Steuereinheit 316 ein Satz von Befehlen sein, die durch den Prozessor 330 ausführbar sind, um die weiter unten beschriebene Funktionalität zum Verarbeiten von Datenaustausch zwischen der Aktivsetzungsanwendung 300 und anderen Komponenten der Datenverarbeitungsvorrichtung 104 bereitzustellen. In einigen anderen Fällen kann die Steuereinheit 316 im Arbeitsspeicher 332 der Datenverarbeitungsvorrichtung 104 gespeichert und durch den Prozessor 330 zugänglich und ausführbar sein. Die Steuereinheit 316 kann zur Zusammenarbeit und zum Datenaustausch mit dem Prozessor 330 und anderen Komponenten der Datenverarbeitungsvorrichtung 104 über den Bus 320 konzipiert sein. In einigen Fällen empfängt die Steuereinheit 316 Daten von Komponenten der Aktivsetzungsanwendung 300 und speichert die Daten in der Speichervorrichtung 342. In einigen Fällen verwaltet die Steuereinheit 316 baden Datenaustausch zwischen Komponenten eines oder mehrerer Systeme 100 und/oder 200, obwohl die Komponenten des Systems 100 und/oder 200 bei weiteren Ausführungsformen direkt oder über andere zwischengeschaltete Komponenten Daten austauschen können.
  • 4 ist ein Blockschema eines beispielhaften Objektspeichersystems 400. Wie dargestellt kann auf das Objektspeichersystem 400 durch ein Computerendgerät 402 (z. B. über eine Instanz der Benutzeroberfläche 314 und/oder eine andere Anwendung) über die Speicher-API 404 des Objektspeichersystems zugegriffen werden. Die Objektspeicher-API 404 ist zu Datenaustauschzwecken mit dem Objektspeicherdienst 406 verbunden, der wiederum mit einer oder mehreren Speichervorrichtungen 408a, 408b, 408n (z. B. 106a, 106b, 106n usw.) verbunden ist. Die Speicher-API 404 und der Objektspeicherdienst 406 können Software einschließen, die Routinen zum Bereitstellen von Speicherdiensten aufweist. Der Webserver 310 kann in einigen Fällen den Zugriff auf die Speicher-API 404 freigeben. Die Speicher-API 404 und der Objektspeicherdienst 406 können durch einen Datenaustauschbus mit einem Netzwerk wie z. B. einem LAN oder Netzwerk 202 zur Zusammenarbeit und zu Datenaustauschzwecken elektronisch verbunden sein.
  • Wie weiter oben erörtert, kann das verteilte Datenverarbeitungssystem 200 einen Teil eines verteilten Objektspeicherdienstes wie z. B. des in 4 veranschaulichten Objektspeichersystems 400 bilden. Die Speicher-API 404 kann auf einem Gateway-Knoten 104 innerhalb eines oder mehrerer Datenverarbeitungssystem-Racks 100 gehostet sein. Zum Beispiel kann die Speicher-API 404 einen Abschnitt des Speicherdienstes 340 bilden. Ebenso kann der Objektspeicherdienst 406 auch einen Abschnitt des Speicherdienstes 340 bilden. Bei einigen Ausführungsformen können die Speichervorrichtungen 408 einen Teil des einen oder der mehreren Speicherknoten 106 bilden. Darüber hinaus kann ein Abschnitt des Objektspeicherdienstes 406 auf einem oder mehreren der Speicherknoten 106 gehostet und ausgeführt und durch einen Steuerknoten 104 verwaltet werden, wobei der Speicherdienst 340 darauf ausgeführt wird.
  • 5 ist ein Zustandsschema eines beispielhaften Flusses 500 eines verteilten Datenverarbeitungssystems 200. Das verteilte Datenverarbeitungssystem 200 kann sich zu einem bestimmten Zeitpunkt in einem von mehreren Zuständen befinden. Das verteilte Datenverarbeitungssystem 200 kann sich in einem nicht initialisierten Zustand 502, netzwerkkonfigurierten Zustand 504, initialisierten Zustand 506, Aktivsetzungszustand 508, Aktivzustand 510 oder Wartungszustand 512 befinden.
  • Bei einigen Ausführungsformen können die Zustände in Vorkonfigurationszustände (d. h. nicht initialisiert 502, netzwerkkonfiguriert 504 und initialisiert 506) und Aktivzustände (d. h. Aktivsetzungszustand 508, Aktivzustand 510 und Wartung 512) gruppiert sein. Bei der Vorkonfiguration kann die IP-Vernetzungskonfiguration für die Knoten und Vorrichtungen im verteilten Datenverarbeitungssystem 200 durchgeführt werden. Der nicht initialisierte Zustand 502 kann in einigen Fällen ein Werkszustand der Knoten im verteilten Datenverarbeitungssystem 200 sein.
  • Zum Beispiel können standardmäßige IP-Adressen und Vernetzungskonfigurationsinformationen an den Knoten des verteilten Datenverarbeitungssystems 200 bei der Herstellung im Werk vor dem Versand an den Kunden und/oder beim erstmaligen Initialisieren durch den Käufer eingestellt werden. Zwischen dem nicht initialisierten Zustand 502 und dem netzwerkkonfigurierten Zustand 504 kann zum Beispiel die weiter oben unter Bezugnahme auf 3 beschriebene Aktivsetzungsanwendung 300 verwendet werden, um die Netzwerkeinstellungen der Knoten des verteilten Datenverarbeitungssystems 200 zu konfigurieren. Insbesondere können der Netzwerkkonfigurationsgenerator 302 und der Netzwerkkonfigurationsapplikator 304 jeweils die systemweite Netzwerkkonfigurationsdatei für das verteilte Datenverarbeitungssystem 200 erzeugen und die Netzwerkkonfiguration in der systemweiten Netzwerkkonfigurationsdatei auf die Knoten des verteilten Datenverarbeitungssystems 200 anwenden.
  • Zwischen dem netzwerkkonfigurierten Zustand 504 und dem initialisierten Zustand 506 können zusätzliche Initialisierungsinformationen erfasst und auf das verteilte Datenverarbeitungssystem 200 angewendet werden. Zum Beispiel kann der Systeminitialisierer 312 das Erfassen dieser Informationen vom Benutzer abwickeln und die durch den Benutzer angegebenen Parameter auf die Knoten des verteilten Datenverarbeitungssystems 200 anwenden. In einigen Fällen können Parameter bezüglich des Speicherdienstes 340 vom Systeminitialisierer 312 zum Speicherdienst 340 zwecks Anwendung darauf übermittelt werden.
  • Als Reaktion darauf, dass das verteilte Datenverarbeitungssystem 200 initialisiert ist, kann ein Benutzer anfordern, dass das verteilte Datenverarbeitungssystem 200 bereitgestellt wird, indem er mit der Benutzeroberfläche 314 interagiert. Der Aktivsetzungszustand 508 kann ein Übergangszustand sein, in dem Prozesse und Server auf den Knoten im verteilten Datenverarbeitungssystem 200 gestartet werden. Zum Beispiel kann der Speicherdienst 340 auf dem Steuerknoten 104 starten und die Ausführung ähnlicher Dienste kann auf den Speicherknoten 106 beginnen.
  • Der Aktivzustand 510 kann widerspiegeln, dass das verteilte Datenverarbeitungssystem 200 für eine Benutzerinteraktion durch andere Netzwerkknoten betriebsbereit ist. Zum Beispiel kann die Speicher-API 404 an vorgegebenen Anschlüssen hören und eingerichtet sein, um auf Speicheranforderungen an den Objektspeicherdienst 406 zu reagieren.
  • Wie in 5 dargestellt, kann der Wartungszustand 512 ein Zustand sein, der das verteilte Datenverarbeitungssystem 200 aus dem Aktivzustand 510 entfernt und nach Beendigung des Wartungszustands 512 zurück in den Aktivzustand 510 versetzt. Somit kann das verteilte Datenverarbeitungssystem 200 betriebstechnisch aufhören zu funktionieren, während die Wartung auf dem System stattfindet. Zum Beispiel können Hardwarekomponenten wie z. B. Festplattenlaufwerke ausgetauscht und Daten von alten Festplattenlaufwerken auf neue Festplattenlaufwerke kopiert werden. Als weiteres Beispiel können Parameter im verteilten Datenverarbeitungssystem 200 umkonfiguriert oder repariert werden.
  • 6 ist ein Flussdiagramm eines beispielhaften Verfahrens 600 zum Versetzen eines verteilten Datenverarbeitungssystems 200 in den Online-Zustand. Das Verfahren 600 kann durch Ermitteln 602 des Status des Systems 200 beginnen. Wenn sich das System 200 in einem nicht initialisierten Zustand 502 befindet, kann das Verfahren 600 mit dem Block 604 fortfahren. Wenn sich das System 200 in einem Aktivzustand 510, einem initialisierten Zustand 506 oder einem netzwerkkonfigurierten Zustand 504 befindet, kann das Verfahren 600 mit dem Block 612 fortfahren. In Block 604 ermittelt das System 200, wie viele Standorte im System 200 vorliegen. Zum Beispiel kann das System 200 drei Datenverarbeitungssystem-Racks 100a, 100b und 100c an verschiedenen geografischen Standorten einschließen. Alternativ dazu kann das System 200 ein einziges Datenverarbeitungssystem-Rack 100 einschließen. Wenn das System 200 nur ein einziges System 100 einschließt, kann das Verfahren 600 durch Erzeugen 610 von IP-Zuweisungen fortfahren und diese IP-Zuweisungen vor dem Fortfahren zur Anmeldeseite in Block 612 anwenden. Wenn das System 200 mehr als ein einziges Datenverarbeitungssystem-Rack wie z. B. drei Datenverarbeitungssystem-Racks 100a, 100b, 100c, einschließt, kann das Verfahren 600 durch Bereitstellen einer Option zum Herunterladen 606 einer Vorlage für einen Systemadministrator fortfahren, die zu verwenden ist, um Informationen von den mehreren Standorten einzutragen. Der Systemadministrator kann dann die Datei hochladen, um Netzwerkzuordnungen zu erzeugen 608 und eine Netzwerkzuordnungsdatei zum Teilen mit den anderen Standorten zum Anwenden herunterzuladen. In Block 632 wartet das Verfahren 600 darauf, dass die anderen Standorte die Netzwerkzuordnungsdatei angewendet haben und mit dem lokalen Datenverarbeitungssystem-Rack 100 zu Datenaustauschzwecken verbunden werden. Das Verfahren 600 kann dann zu der Anmeldung 612 übergehen, indem der Webserver 310 eine Seite als Teil der Benutzeroberfläche 314 an die Datenverarbeitungsvorrichtung sendet. Ansonsten kann das Verfahren 600 anfordern, dass eine andere IP-Zuordnungsdatei hochgeladen wird, oder den Benutzer alternativ zu einer Host-zu-IP-Zuordnungserzeugungsseite leiten. Zum Beispiel kann die Benutzeroberfläche 314 Daten zum Webserver 310 senden, der eine Eingabe (z. B. eine Datei mit IP-Zuordnungen) für den Netzwerkkonfigurationsgenerator 302 bereitstellt.
  • In Block 614 kann der Netzwerkkonfigurationsstatusprüfer 308 ermitteln, ob sich das System 200 in einem netzwerkkonfigurierten Zustand 504 befindet. Der Webserver 310 kann zusammen mit der Benutzeroberfläche 314 mit dem Durchführen von Initialisierungsschritten 616, 618, 620, 622 und 624 fortfahren, indem er über eine Datenverarbeitungsvorrichtung Seiten für einen Benutzer darstellt, wie durch den Systeminitialisierer 312 angewiesen. Wenn sich das System 200 dagegen in einem initialisierten Zustand 506 befindet, kann der Systeminitialisierer 312 zur Anwendungsfortschrittsseite 626 springen. Wenn sich das System 200 in einem Aktivzustand 510 befindet, kann der Systeminitialisierer 312 zur Dashboard-Seite 628 springen. Innerhalb der Dashboard-Seite 628 kann der Benutzer eine Einstellungsseite 630 öffnen und die Einstellungen des Systems ändern. Zum Beispiel können Parameter des Speicherdienstes 340 durch die Benutzeroberfläche 314 über den Webserver 310 und den Netzwerkkonfigurationsapplikator 304 geändert werden.
  • Wenn sich das System 200 im netzwerkkonfigurierten Zustand 504 befindet, kann das Verfahren den Benutzer zu einer Endbenutzerlizenzvereinbarungsseite (EULA-Seite) 616 (EULA = End User License Agreement) leiten, die durch die Benutzeroberfläche 314 dargestellt wird, auf der der Benutzer den Text einer Vereinbarung anzeigen und die Bedingungen der Lizenzvereinbarung annehmen oder ablehnen kann. Wenn der Benutzer die EULA-Seite 616 ablehnt, kann das Verfahren 600 beendet werden oder den Benutzer zur anfänglichen Statusseite 602 umleiten. Von Block 616 kann das Verfahren zur Express-Setup-Seite 618 übergehen, indem die Benutzeroberfläche 314 die Express-Setup-Seite 618 vom Webserver 310 anfordert. Diese Express-Setup-Seite 618 kann eine begrenzte Anzahl von bearbeitbaren Parametern aufweisen, die geändert werden können, jedoch ein Mittel bereitstellen, um durch Klicken auf einen Link ein erweitertes Setup zu durchlaufen. Somit kann das Verfahren 600 in einigen Fällen zur erweiterten Setup-Seite 620 übergehen, indem die Benutzeroberfläche 314 die erweiterte Setup-Seite 620 vom Webserver 310 anfordert. Ähnlich dem Link auf der Express-Setup-Seite 618, die den Benutzer zur erweiterten Setup-Seite 620 bringt, kann der Benutzer auf der erweiterten Setup-Seite 620 auf einen Link klicken, der ihn zurück zur Express-Setup-Seite 618 bringt. Nachdem der Benutzer auf den Link zur Express-Setup-Seite klickt, fordert die Benutzeroberfläche 314 die Express-Setup-Seite 618 vom Webserver 310 an. Unabhängig davon, ob die Parameter durch das Express-Setup 618 oder das erweiterte Setup 620 eingegeben werden, geht das Verfahren 600 zu einer jeweiligen Bestätigungsseite 622, 624 über, indem die Benutzeroberfläche 314 die jeweiligen Bestätigungsseiten 622 und 624 vom Webserver 310 anfordert. Nachdem der Benutzer die Parameter bestätigt, geht das Verfahren 600 zur Anwendungsfortschrittsseite 626 über, indem die Benutzeroberfläche 314 die Anwendungsfortschrittsseite 626 vom Webserver 310 anfordert, wobei die Parameter auf das System angewendet werden können (zum Beispiel auf das Datenverarbeitungssystem-Rack 100 durch den Netzwerkkonfigurationsapplikator 304 und/oder den Systeminitialisierer 312).
  • 7 ist ein Flussdiagramm eines weiteren beispielhaften Verfahrens 700 zum Versetzen eines verteilten Datenverarbeitungssystems in den Online-Zustand. Das Verfahren 700 kann beginnen, indem Netzwerkkonfigurationsinformationen mit dem Webserver 310 empfangen 702 werden. Diese Netzwerkkonfigurationsinformationen können durch den Netzwerkkonfigurationsgenerator 302 über den Webserver 310 von der Benutzeroberfläche 314 empfangen werden. Das Verfahren 700 kann dann dazu übergehen, mit dem Netzwerkkonfigurationsgenerator 302 eine systemweite Netzwerkkonfigurationsdatei auf der Grundlage der empfangenen Netzwerkkonfigurationsinformationen zu erzeugen 704. Ein Systemadministrator kann die erzeugte systemweite Netzwerkkonfigurationsdatei nehmen und die systemweite Netzwerkkonfigurationsdatei zum Beispiel auf einen oder mehrere Steuerknoten 104 hochladen, indem er die Benutzeroberfläche 314 verwendet, um die systemweite Netzwerkkonfigurationsdatei an den Webserver 310 zu senden. Anhand der hochgeladenen erzeugten systemweiten Netzwerkkonfigurationsdatei kann der Steuerknoten 104 die Einstellungen auf alle Knoten an einem oder mehreren der Standorte anwenden 706. In Fällen, in denen ein Standort ein primärer Standort ist, kann das Verfahren 700 dem Systemadministrator ermöglichen, die Einstellungen innerhalb der Benutzeroberfläche 314 zu konfigurieren und anzuwenden 706. Wenn ein Standort kein primärer Standort ist, kann das Verfahren 700 das Hochladen der Einstellungen und Anwenden 706 der systemweiten Netzwerkkonfigurationsdatei einschließen. In einigen Fällen kann sich jeder Steuerknoten 104 innerhalb eines separaten Datenverarbeitungssystem-Racks 100 innerhalb des verteilten Datenverarbeitungssystems 200 befinden. Somit kann der Steuerknoten 104 in Block 708 Netzwerkkonfigurationsinformationen für ein erstes Datenverarbeitungssystem-Rack, d. h. das Datenverarbeitungssystem-Rack, zu dem der Steuerknoten 104 gehört, wie in der systemweiten Netzwerkkonfigurationsdatei enthalten, durch Verwenden des Konfigurationsdatei-Parsers 306 identifizieren 708. In ähnlicher Weise kann ein separater Steuerknoten 104 in Block 710 Netzwerkkonfigurationsinformationen für ein zweites Datenverarbeitungssystem-Rack durch Verwenden des Konfigurationsdatei-Parsers 306 identifizieren 710. In den Blöcken 712 und 714 kann die Vielzahl von Knoten aktualisiert werden, die jeweils jedem Datenverarbeitungssystem-Rack zugeordneten sind. Zum Beispiel kann die Vernetzungskonfiguration durch Verwenden des Netzwerkkonfigurationsapplikators 304 auf den Knoten aktualisiert werden, sodass diese mit den Informationen in der systemweiten Netzwerkkonfigurationsdatei übereinstimmt.
  • 8 ist eine schematische Darstellung einer beispielhaften grafischen Benutzeroberfläche 800. In der Benutzeroberfläche 800 wird ein Benutzer aufgefordert, eine systemweite Netzwerkkonfigurationsdatei hochzuladen, wenn diese bereits erzeugt wurde, oder die Netzwerkinformationsdatei hochzuladen, sodass das System die Konfigurationserzeugung starten kann, oder eine Vorlagendatei für einen Systemadministrator zu erhalten, um Netzwerkinformationen für jeden Standort einzugeben. Zum Beispiel kann der Webserver 310 Code bereitstellen, den die Benutzeroberfläche 314 darstellen kann, um die grafische Benutzeroberfläche 800 anzuzeigen. Über die Benutzeroberfläche 800 kann der Webserver 310 Netzwerkkonfigurationsinformationen empfangen 702. Zum Beispiel stellt das in der Benutzeroberfläche 800 angezeigte Feld zum Datei-Upload einen Weg zum Hochladen der Netzwerkinformationsdatei auf den Webserver 310 zum Verarbeiten durch den Netzwerkkonfigurationsgenerator 302 bereit. Die Benutzeroberfläche 800 stellt auch einen Weg zum Hochladen der erzeugten 704 systemweiten Netzwerkkonfigurationsdatei auf den Webserver 310 zum Verarbeiten durch den Konfigurationsdatei-Parser 306 und/oder den Netzwerkkonfigurationsapplikator 304 bereit.
  • 9 ist eine schematische Darstellung einer weiteren beispielhaften grafischen Benutzeroberfläche 900. In der Benutzeroberfläche 900 hat der Benutzer Netzwerkkonfigurationsinformationen für drei Standorte in einem verteilten Datenverarbeitungssystem 200 bereitgestellt, das System hat eine vollständige Systemkonfiguration erzeugt und der Benutzer wird jetzt aufgefordert, eine systemweite Netzwerkkonfigurationsdatei zum Anwenden 706 auf das entfernt angeordnete Computer-Rack-System 200 entsprechend der vorhergehenden Aufforderung in der Benutzeroberfläche 800 von 8 herunterzuladen. Zum Beispiel können die heruntergeladenen Dateien zum Identifizieren 708, 710 von Netzwerkkonfigurationsinformationen auf jeweiligen Systemen 100 und Aktualisieren 712, 714 der Knoten in den jeweiligen Systemen verwendet werden.
  • 10 ist eine schematische Darstellung einer weiteren beispielhaften grafischen Benutzeroberfläche 1000. Die Benutzeroberfläche 1000 hat automatisch identifiziert, welchem Ort der lokale Standort zugeordnet ist, um zu identifizieren, welcher Abschnitt der systemweiten Netzwerkkonfiguration im verteilten Computer-Rack-System 200 angewendet werden muss. In einigen Fällen kann der Benutzer einen Standort auswählen und die Netzwerkkonfigurationseinstellungen erneut ändern, bevor die Einstellung auf die Knoten im Datenverarbeitungssystem-Rack 100 angewendet wird. Sobald der Benutzer die Schaltfläche „Anwenden“ auswählt, kann die Benutzeroberfläche 314 mit dem Webserver 310 Daten austauschen, der wiederum mit dem Netzwerkkonfigurationsapplikator 304 Daten austauschen kann, um die Netzwerkkonfiguration anzuwenden.
  • Bei einigen Ausführungsformen können andere grafische Benutzeroberflächen eingesetzt werden, um ein System zu konfigurieren. Zum Beispiel kann ein System, das aus einem einzigen Datenverarbeitungssystem-Rack 100 besteht, eine andere grafische Benutzeroberfläche verwenden, auf der die Konfigurationsinformationen eingegeben und direkt auf das Datenverarbeitungssystem-Rack 100 angewendet werden.
  • 11 ist eine schematische Darstellung einer weiteren beispielhaften grafischen Benutzeroberfläche 1100. Die Benutzeroberfläche 1100 zeigt, dass der lokale Standort (Las Vegas) darauf wartet, dass die übrigen Standorte San Francisco und Los Angeles in den Online-zustand versetz werden und für Knoten vom Standort Las Vegas aus über das Netzwerk 202 zu Datenaustauschzwecken zugänglich sind. Die Benutzeroberfläche 314 kann mit dem Webserver 310 Daten austauschen, der wiederum mit dem Netzwerkkonfigurationsstatusprüfer 308 Daten austauschen kann, um den aktualisierten Status auf der Benutzeroberfläche 314 bereitzustellen.
  • Systeme und Verfahren zum Realisieren einer verteilten Datenverarbeitungskonfiguration wurden oben beschrieben. In der obigen Beschreibung wurden zu Erläuterungszwecken zahlreiche spezifische Details dargelegt. Es ist jedoch offensichtlich, dass die offenbarten Technologien ohne irgendeine gegebene Untermenge dieser spezifischen Details praktiziert werden können. In anderen Fällen sind Strukturen und Vorrichtungen in Blockschemaform gezeigt. Zum Beispiel werden die offenbarten Technologien bei einigen Realisierungsformen oben unter Bezugnahme auf Schnittstellen und bestimmte Hardware beschrieben. Darüber hinaus stammen die oben offenbarten Technologien hauptsächlich aus dem Kontext von Online-Diensten; die offenbarten Technologien gelten jedoch auch für andere Datenquellen und andere Datentypen (z. B. Sammlungen anderer Ressourcen, z. B. Bilder, Audio, Webseiten).
  • Eine Bezugnahme in der Beschreibung auf „eine Ausführungsform“ oder „einige Ausführungsformen“ bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft, das bzw. die in Verbindung mit der Ausführungsform beschrieben wird, in zumindest einer Ausführungsform der offenbarten Technologien enthalten ist. Fälle des Auftretens des Ausdrucks „bei einer Ausführungsform“ an verschiedenen Stellen in der Beschreibung beziehen sich nicht notwendigerweise alle auf dieselbe Ausführungsform.
  • Einige Abschnitte der obigen ausführlichen Beschreibungen wurden in Form von Prozessen und symbolischen Darstellungen von Operationen mit Datenbits innerhalb eines Computerspeichers dargestellt. Ein Prozess kann im Allgemeinen als eine eigenständige Abfolge von Schritten, die zu einem Ergebnis führen, betrachtet werden. Die Schritte können physikalische Manipulationen physikalischer Größen einschließen. Diese Größen nehmen die Form von elektrischen oder magnetischen Signalen an, die gespeichert, übertragen, kombiniert, verglichen und anderweitig manipuliert werden können. Diese Signale können als in Form von Bits, Werten, Elementen, Symbolen, Zeichen, Begriffen, Zahlen oder dergleichen befindlich bezeichnet sein.
  • Diese und ähnliche Ausdrücke können mit den geeigneten physikalischen Größen assoziiert werden und können als Markierungen betrachtet werden, die auf diese Größen angewendet werden. Sofern aus der vorherigen Erörterung nicht ausdrücklich etwas anderes hervorgeht, versteht es sich, dass sich in der gesamten Beschreibung Erörterungen, die Begriffe wie „Verarbeiten“ oder „Errechnen“ oder „Berechnen“ oder „Ermitteln“ oder „Anzeigen“ oder dergleichen verwenden, auf den Arbeitsablauf und die Prozesse eines Computersystems oder einer ähnlichen elektronischen Datenverarbeitungsvorrichtung beziehen können, die Daten, die als physikalische (elektronische) Größen innerhalb der Register und Speicher des Computersystems dargestellt werden, manipuliert und in andere Daten umwandelt, die gleichermaßen als physikalische Größen innerhalb der Computersystemspeicher oder -register oder anderer derartiger Informationsspeicher-, Übertragungs- oder Anzeigevorrichtungen dargestellt werden.
  • Die offenbarten Technologien können sich auch auf ein Gerät zum Durchführen der Operationen hierin beziehen. Dieses Gerät kann speziell für die erforderlichen Zwecke konstruiert sein, oder es kann einen Universalcomputer einschließen, der selektiv durch ein Computerprogramm aktiviert oder umkonfiguriert wird, das in dem Computer gespeichert ist.
  • Die offenbarten Technologien können die Form einer vollständigen Hardware-Implementierung, einer vollständigen Software-Implementierung oder einer Implementierung annehmen, die sowohl Hardware- als auch Software-Elemente enthält. In einigen Implementierungen ist die Technologie in Software implementiert, die Firmware, residente Software, Mikrocode usw. einschließt, aber nicht darauf beschränkt ist.
  • Darüber hinaus können die offenbarten Technologien in Form eines Computerprogrammprodukts vorliegen, das von einem nicht vorübergehenden computerverwendbaren oder computerlesbaren Medium aus zugänglich ist und Programmcode zur Verwendung durch oder in Verbindung mit einem Computer oder einem beliebigen Befehlsausführungssystem bereitstellt. Für die Zwecke dieser Beschreibung kann ein computerverwendbares oder computerlesbares Medium jedes Gerät sein, welches das Programm zur Verwendung durch oder in Verbindung mit dem Befehlsausführungssystem, des Gerätes oder der Vorrichtung enthalten, speichern, kommunizieren, verbreiten oder transportieren kann.
  • Ein Computersystem oder Datenverarbeitungssystem, das zum Speichern und/oder Ausführen des Programmcodes geeignet ist, schließt mindestens einen Prozessor ein (z. B. einen Hardwareprozessor), der über einen Systembus direkt oder indirekt mit Speicherelementen gekoppelt ist. Die Speicherelemente können einen lokalen Speicher einschließen, der während der tatsächlichen Ausführung des Programmcodes verwendet wird, einen Massenspeicher und Cache-Speicher, die eine vorübergehende Speicherung mindestens eines Programmcodes bereitstellen, um die Häufigkeit zu reduzieren, mit der der Code während der Ausführung aus dem Massenspeicher abgerufen werden muss.
  • Ein-/Ausgabe- oder E/A-Vorrichtungen (einschließlich, aber nicht beschränkt auf Tastaturen, Anzeigen, Zeigevorrichtungen usw.) können entweder direkt oder über zwischengeschaltete E/A-Steuereinheiten mit dem System gekoppelt werden.
  • Netzwerkadapter können auch mit dem System gekoppelt sein, um zu ermöglichen, dass das Datenverarbeitungssystem mit anderen Datenverarbeitungssystemen oder entfernten Druckern oder Speichervorrichtungen über dazwischen liegende private oder öffentliche Netzwerke gekoppelt wird. Modems, Kabelmodems und Ethernet-Karten sind nur einige der gegenwärtig verfügbaren Arten von Netzwerkadaptern.
  • Schließlich brauchen die hierin dargestellten Prozesse und Anzeigen nicht von Natur aus auf einen bestimmten Computer oder ein anderes Gerät bezogen sein. Verschiedene Universalsysteme können mit Programmen gemäß den Lehren hierin verwendet werden, oder es kann sich als zweckmäßig erweisen, Spezialvorrichtungen herzustellen, um die erforderlichen Verfahrensschritte durchzuführen. Die für eine Vielzahl dieser Systeme erforderliche Struktur wird aus der nachfolgenden Beschreibung ersichtlich. Außerdem wurden die offenbarten Technologien nicht mit Bezug auf irgendeine bestimmte Programmiersprache beschrieben. Es versteht sich, dass eine Vielzahl von Programmiersprachen verwendet werden kann, um die Lehren der hierin beschriebenen Technologien zu realisieren.
  • Die vorstehende Beschreibung der Realisierungsformen der vorliegenden Techniken und Technologien wurde zu Zwecken der Veranschaulichung und Beschreibung vorgelegt. Es ist nicht beabsichtigt, umfassend zu sein oder die vorliegenden Techniken und Technologien auf die genau angegebene Form zu beschränken. Viele Modifikationen und Variationen sind unter Berücksichtigung der vorstehend genannten Lehre möglich. Es ist beabsichtigt, dass der Schutzumfang der vorliegenden Techniken und Technologien nicht durch diese ausführliche Beschreibung beschränkt wird. Die vorliegende Offenbarung kann in anderen spezifischen Formen ausgeführt werden, ohne von ihrem Wesen oder ihren wesentlichen Eigenschaften abzuweichen. Gleichermaßen sind die spezielle Benennung und Aufteilung der Module, Routinen, Merkmale, Attribute, Methodologien und anderer Aspekte nicht zwingend oder signifikant, und die Mechanismen, die die vorliegenden Techniken und Technologien oder ihre Merkmale implementieren, können unterschiedliche Namen, Unterteilungen und/oder Formate aufweisen. Darüber hinaus können die Module, Routinen, Merkmale, Attribute, Methodologien und andere Aspekte der vorliegenden Technologie als Software, Hardware, Firmware oder irgendeine Kombination der drei implementiert werden. Ebenso kann die Komponente überall dort, wo eine Komponente, beispielsweise ein Modul, als Software realisiert ist, als eigenständiges Programm, als Teil eines größeren Programms, als eine statisch oder dynamisch verknüpfte Bibliothek, als kernladbares Modul, als Gerätetreiber und/oder zukünftig in der Computerprogrammierung implementiert sein. Zusätzlich sind die vorliegenden Techniken und Technologien in keiner Weise auf die Implementierung in irgendeiner spezifischen Programmiersprache oder für irgendein spezielles Betriebssystem oder eine bestimmte Umgebung beschränkt. Dementsprechend soll die Offenbarung der vorliegenden Techniken und Technologien veranschaulichend, aber nicht einschränkend sein.

Claims (20)

  1. System, aufweisend: ein erstes Datenverarbeitungssystem-Rack einer ersten Vielzahl von Knoten, die zu Datenaustauschzwecken miteinander verbunden sind, wobei die erste Vielzahl von Knoten einen ersten Steuerknoten einschließt, der eingerichtet ist, um: eine systemweite Netzwerkkonfigurationsdatei zu empfangen, Netzwerkkonfigurationsinformationen für die erste Vielzahl von Knoten in der systemweiten Netzwerkkonfigurationsdatei als Teil des ersten Datenverarbeitungssystem-Racks zu identifizieren, und die Netzwerkkonfiguration für die erste Vielzahl von Knoten auf der Grundlage der identifizierten Netzwerkkonfigurationsinformationen für das erste Datenverarbeitungssystem-Rack zu aktualisieren; und ein zweites Datenverarbeitungssystem-Rack einer zweiten Vielzahl von Knoten, die zu Datenaustauschzwecken miteinander verbunden sind, wobei die zweite Vielzahl von Knoten einen zweiten Steuerknoten einschließt, der eingerichtet ist, um: die systemweite Netzwerkkonfigurationsdatei zu empfangen, Netzwerkkonfigurationsinformationen für die zweite Vielzahl von Knoten in der systemweiten Netzwerkkonfigurationsdatei als Teil des zweiten Datenverarbeitungssystem-Racks zu identifizieren, und die Netzwerkkonfiguration für die zweite Vielzahl von Knoten auf der Grundlage der identifizierten Netzwerkkonfigurationsinformationen für das zweite Datenverarbeitungssystem-Rack zu aktualisieren.
  2. System gemäß Anspruch 1, wobei die erste Vielzahl von Knoten und die zweite Vielzahl von Knoten mit einem Zwischennetzwerk verbunden sind und wobei der erste Steuerknoten weiterhin eingerichtet ist, um: zu ermitteln, wann das zweite Datenverarbeitungssystem-Rack ordnungsgemäß netzwerkkonfiguriert wurde und über das Zwischennetzwerk zu Datenaustauschzwecken zugänglich ist, und ein verteiltes Datenverarbeitungssystem, aufweisend die erste Vielzahl von Knoten und die zweite Vielzahl von Knoten als netzwerkkonfiguriert auf der Grundlage der Feststellung bereitzustellen, dass das zweite Datenverarbeitungssystem-Rack ordnungsgemäß netzwerkkonfiguriert wurde und über das Zwischennetzwerk zu Datenaustauschzwecken zugänglich ist.
  3. System gemäß Anspruch 2, wobei das Aktualisieren der Netzwerkkonfiguration für die zweite Vielzahl von Knoten ein Konfigurieren einer öffentlichen Netzwerkadresse für einen öffentlich zugänglichen Knoten der zweiten Vielzahl von Knoten einschließt und wobei das Ermitteln, wann das zweite Datenverarbeitungssystem-Rack ordnungsgemäß netzwerkkonfiguriert wurde, ein periodisches Abfragen des Konnektivitätsstatus zu dem öffentlich zugänglichen Knoten, bis Konnektivität hergestellt ist, und ein Abfragen des öffentlich zugänglichen Knotens in Bezug darauf einschließt, ob die zweite Vielzahl von Knoten ordnungsgemäß netzwerkkonfiguriert wurde.
  4. System gemäß Anspruch 1, wobei die systemweite Netzwerkkonfigurationsdatei Netzwerkkonfigurationsinformationen für die erste Vielzahl von Knoten und die zweite Vielzahl von Knoten aufweist.
  5. System gemäß Anspruch 1, wobei die systemweite Netzwerkkonfigurationsdatei intelligente Plattformverwaltungsschnittstellenadressen für die erste Vielzahl von Knoten und die zweite Vielzahl von Knoten aufweist.
  6. System gemäß Anspruch 1, wobei der Steuerknoten weiterhin eingerichtet ist, um: eine Datenverarbeitungsvorrichtung bei dem System zu authentifizieren, eine Bestätigung der Annahme einer Lizenzvereinbarung von der Datenverarbeitungsvorrichtung zu empfangen, einen Satz von Konfigurationsinformationen einer verteilten Objektspeicherung für einen verteilten Objektspeicherdienst von der Datenverarbeitungsvorrichtung zu empfangen, den Satz von Konfigurationsinformationen einer verteilten Objektspeicherung auf die erste Vielzahl von Knoten und die zweite Vielzahl von Knoten anzuwenden, und die Verwendung des verteilten Objektspeicherdienstes durch andere Datenverarbeitungsvorrichtungen auf einem verbundenen Netzwerk zu aktivieren, indem die Zugänglichkeit des ersten Steuerknotens und des zweiten Steuerknotens ermöglicht wird.
  7. System gemäß Anspruch 1, weiterhin aufweisend: einen Netzwerkkonfigurationsgenerator, der eingerichtet ist, um: Netzwerkkonfigurationsinformation von der ersten Vielzahl von Knoten und der zweiten Vielzahl von Knoten zu empfangen und die systemweite Netzwerkkonfigurationsdatei zu erzeugen, die Netzwerkkonfigurationsinformationen für die erste Vielzahl von Knoten und die zweite Vielzahl von Knoten einschließt.
  8. System gemäß Anspruch 7, wobei der Netzwerkkonfigurationsgenerator eine über Browser zugängliche Anwendung ist, die vom ersten Steuerknoten bedient wird.
  9. Mit Hilfe von Computern realisiertes Verfahren, aufweisend: Hochladen einer systemweiten Netzwerkkonfigurationsdatei auf einen ersten Steuerknoten und einen zweiten Steuerknoten, wobei eine erste Vielzahl von Knoten in einem ersten Datenverarbeitungssystem-Rack zu Datenaustauschzwecken miteinander verbunden ist, eine zweite Vielzahl von Knoten in einem zweiten Datenverarbeitungssystem-Rack zu Datenaustauschzwecken miteinander verbunden ist, die erste Vielzahl von Knoten den ersten Steuerknoten einschließt und die zweite Vielzahl von Knoten den zweiten Steuerknoten einschließt; Identifizieren von Netzwerkkonfigurationsinformationen für die erste Vielzahl von Knoten in der systemweiten Netzwerkkonfigurationsdatei als Teil des ersten Datenverarbeitungssystem-Racks; Aktualisieren der Netzwerkkonfiguration für die erste Vielzahl von Knoten auf der Grundlage der identifizierten Netzwerkkonfigurationsinformationen für das erste Datenverarbeitungssystem-Rack; Identifizieren von Netzwerkkonfigurationsinformationen für die zweite Vielzahl von Knoten in der systemweiten Netzwerkkonfigurationsdatei als Teil des zweiten Datenverarbeitungssystem-Racks; und Aktualisieren der Netzwerkkonfiguration für die zweite Vielzahl von Knoten auf der Grundlage der identifizierten Netzwerkkonfigurationsinformationen für das zweite Datenverarbeitungssystem-Rack.
  10. Mit Hilfe von Computern realisiertes Verfahren gemäß Anspruch 9, wobei die erste Vielzahl von Knoten und die zweite Vielzahl von Knoten mit einem Zwischennetzwerk verbunden sind und wobei das Verfahren weiterhin aufweist: Ermitteln, wann ein zweites Datenverarbeitungssystem-Rack ordnungsgemäß netzwerkkonfiguriert wurde und über das Zwischennetzwerk zu Datenaustauschzwecken zugänglich ist; und Bereitstellen eines verteilten Datenverarbeitungssystems, aufweisend die erste Vielzahl von Knoten und die zweite Vielzahl von Knoten, als netzwerkkonfiguriert auf der Grundlage der Feststellung, dass das zweite Datenverarbeitungssystem-Rack ordnungsgemäß netzwerkkonfiguriert wurde und über das Zwischennetzwerk zu Datenaustauschzwecken zugänglich ist.
  11. Mit Hilfe von Computern realisiertes Verfahren gemäß Anspruch 10, wobei das Aktualisieren der Netzwerkkonfiguration für die zweite Vielzahl von Knoten ein Konfigurieren einer öffentlichen Netzwerkadresse für einen öffentlich zugänglichen Knoten der zweiten Vielzahl von Knoten einschließt und wobei das Ermitteln, wann das zweite Datenverarbeitungssystem-Rack ordnungsgemäß netzwerkkonfiguriert wurde, ein periodisches Abfragen des Konnektivitätsstatus zu dem öffentlich zugänglichen Knoten, bis Konnektivität hergestellt ist, und ein Abfragen des öffentlich zugänglichen Knotens in Bezug darauf einschließt, ob die zweite Vielzahl von Knoten ordnungsgemäß netzwerkkonfiguriert wurde.
  12. Mit Hilfe von Computern realisiertes Verfahren nach 9, wobei die systemweite Netzwerkkonfigurationsdatei Netzwerkkonfigurationsinformationen für die erste Vielzahl von Knoten und die zweite Vielzahl von Knoten aufweist.
  13. Mit Hilfe von Computern realisiertes Verfahren nach 9, wobei die systemweite Netzwerkkonfigurationsdatei intelligente Plattformverwaltungsschnittstellenadressen für die erste Vielzahl von Knoten und die zweite Vielzahl von Knoten aufweist.
  14. Mit Hilfe von Computern realisiertes Verfahren gemäß Anspruch 9, weiterhin aufweisend: Authentifizieren einer Datenverarbeitungsvorrichtung bei dem System; Empfangen einer Bestätigung der Annahme einer Lizenzvereinbarung von der Datenverarbeitungsvorrichtung; Empfangen eines Satzes von Konfigurationsinformationen einer verteilten Objektspeicherung für einen verteilten Objektspeicherdienst von der Datenverarbeitungsvorrichtung; Anwenden des Satzes von Konfigurationsinformationen einer verteilten Objektspeicherung auf die erste Vielzahl von Knoten und die zweite Vielzahl von Knoten; und Aktivieren der Verwendung des verteilten Objektspeicherdienstes durch andere Datenverarbeitungsvorrichtungen auf einem verbundenen Netzwerk, indem die Zugänglichkeit des ersten Steuerknotens und des zweiten Steuerknotens ermöglicht wird.
  15. Mit Hilfe von Computern realisiertes Verfahren gemäß Anspruch 9, weiterhin aufweisend: Empfangen von Netzwerkkonfigurationsinformationen für eine erste Vielzahl von Knoten und eine zweite Vielzahl von Knoten; und Erzeugen einer systemweiten Netzwerkkonfigurationsdatei, die Netzwerkkonfigurationsinformationen für die erste Vielzahl von Knoten und die zweite Vielzahl von Knoten einschließt.
  16. Mit Hilfe von Computern realisiertes Verfahren gemäß Anspruch 15, wobei das Empfangen von Netzwerkkonfigurationsinformationen und das Erzeugen einer systemweiten Netzwerkkonfigurationsdatei durch eine über Browser zugängliche Anwendung durchgeführt wird, die vom ersten Steuerknoten bedient wird.
  17. Nichtflüchtiges computerlesbares Medium, enthaltend Befehle, die durch einen oder mehrere Computerprozessoren ausführbar sind, wobei das computerlesbare Programm bei Ausführung auf dem einen oder den mehreren Computerprozessoren den einen oder die mehreren Computerprozessoren veranlasst: eine systemweite Netzwerkkonfigurationsdatei auf einen ersten Steuerknoten und einen zweiten Steuerknoten hochzuladen, wobei eine erste Mehrzahl von Knoten in einer ersten Vielzahl von Knoten in einem ersten Datenverarbeitungssystem-Rack zu Datenaustauschzwecken miteinander verbunden sind, eine zweite Vielzahl von Knoten in einem zweiten Datenverarbeitungssystem-Rack Datenaustauschzwecken miteinander verbunden sind, die erste Vielzahl von Knoten den ersten Steuerknoten die erste Vielzahl von Knoten den ersten Steuerknoten einschließt und die zweite Vielzahl von Knoten den zweiten Steuerknoten einschließt; Netzwerkkonfigurationsinformationen für die erste Vielzahl von Knoten in einer systemweiten Netzwerkkonfigurationsdatei als Teil des ersten Datenverarbeitungssystem-Racks zu identifizieren; die Netzwerkkonfiguration für die erste Vielzahl von Knoten auf der Grundlage der identifizierten Netzwerkkonfigurationsinformationen für das erste Datenverarbeitungssystem-Rack zu aktualisieren; Netzwerkkonfigurationsinformationen für die zweite Vielzahl von Knoten in der systemweiten Netzwerkkonfigurationsdatei als Teil des zweiten Datenverarbeitungssystem-Racks zu identifizieren; und die Netzwerkkonfiguration für die zweite Vielzahl von Knoten auf der Grundlage der identifizierten Netzwerkkonfigurationsinformationen für das zweite Datenverarbeitungssystem-Rack zu aktualisieren.
  18. Nichtflüchtiges computerlesbares Medium gemäß Anspruch 17, wobei die erste Vielzahl von Knoten und die zweite Vielzahl von Knoten mit einem Zwischennetzwerk verbunden sind und wobei das computerlesbare Programm bei Ausführung auf dem einen oder den mehreren Computerprozessoren den einen oder die mehreren Computerprozessoren veranlasst: zu ermitteln, wann das zweite Datenverarbeitungssystem-Rack ordnungsgemäß netzwerkkonfiguriert wurde und über das Zwischennetzwerk zu Datenaustauschzwecken zugänglich ist; und ein verteiltes Datenverarbeitungssystem, aufweisend die erste Vielzahl von Knoten und die zweite Vielzahl von Knoten als netzwerkkonfiguriert auf der Grundlage der Feststellung bereitzustellen, dass das zweite Datenverarbeitungssystem-Rack ordnungsgemäß netzwerkkonfiguriert wurde und über das Zwischennetzwerk zu Datenaustauschzwecken zugänglich ist.
  19. Nichtflüchtiges computerlesbares Medium gemäß Anspruch 18, wobei das Aktualisieren der Netzwerkkonfiguration für die zweite Vielzahl von Knoten ein Konfigurieren einer öffentlichen Netzwerkadresse für einen öffentlich zugänglichen Knoten der zweiten Vielzahl von Knoten einschließt und das Ermitteln, wann das zweite Datenverarbeitungssystem-Rack ordnungsgemäß netzwerkkonfiguriert wurde, ein periodisches Abfragen des Konnektivitätsstatus zu dem öffentlich zugänglichen Knoten, bis Konnektivität hergestellt ist, und ein Abfragen des öffentlich zugänglichen Knotens in Bezug darauf, ob die zweite Vielzahl von Knoten ordnungsgemäß netzwerkkonfiguriert wurde, einschließt.
  20. Nichtflüchtiges computerlesbares Medium gemäß Anspruch 17, wobei das computerlesbare Programm bei Ausführung auf dem einen oder den mehreren Computerprozessoren den einen oder die mehreren Computerprozessoren veranlasst: Netzwerkkonfigurationsinformation für die erste Vielzahl von Knoten und die zweite Vielzahl von Knoten zu empfangen; und die systemweite Netzwerkkonfigurationsdatei zu erzeugen, die Netzwerkkonfigurationsinformationen für die erste Vielzahl von Knoten und die zweite Vielzahl von Knoten einschließt.
DE112017005453.2T 2016-10-28 2017-09-15 Konfiguration verteilter Datenverarbeitungssysteme Pending DE112017005453T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/337,925 2016-10-28
US15/337,925 US10389580B2 (en) 2016-10-28 2016-10-28 Distributed computing system configuration
PCT/IB2017/001133 WO2018078431A1 (en) 2016-10-28 2017-09-15 Distributed computing system configuration

Publications (1)

Publication Number Publication Date
DE112017005453T5 true DE112017005453T5 (de) 2019-08-08

Family

ID=60083353

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017005453.2T Pending DE112017005453T5 (de) 2016-10-28 2017-09-15 Konfiguration verteilter Datenverarbeitungssysteme

Country Status (4)

Country Link
US (1) US10389580B2 (de)
CN (1) CN109891401B (de)
DE (1) DE112017005453T5 (de)
WO (1) WO2018078431A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020069647A1 (en) * 2018-10-03 2020-04-09 Huawei Technologies Co., Ltd. System for deploying incremental network updates
CN109460189B (zh) * 2018-11-14 2022-12-09 郑州云海信息技术有限公司 一种存储系统的初始化方法及装置
US10812622B1 (en) * 2019-03-31 2020-10-20 Td Ameritrade Ip Company, Inc. Centralized automation system for service management
US11119783B2 (en) 2019-06-30 2021-09-14 Td Ameritrade Ip Company, Inc. Centralized automation system for resource management
CN112202587A (zh) * 2019-07-08 2021-01-08 富士通株式会社 用于推荐和生成网络配置的方法和装置

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1009130A1 (de) 1998-12-11 2000-06-14 International Business Machines Corporation Verteilte Verzeichnisdienste zur Ortung von Netzresourcen in einem sehr grossen Paketvermittlungsnetz
US6345294B1 (en) 1999-04-19 2002-02-05 Cisco Technology, Inc. Methods and apparatus for remote configuration of an appliance on a network
US7617292B2 (en) 2001-06-05 2009-11-10 Silicon Graphics International Multi-class heterogeneous clients in a clustered filesystem
US6925540B2 (en) * 2002-05-02 2005-08-02 Intel Corporation Systems and methods for chassis identification
US8799428B2 (en) * 2004-12-30 2014-08-05 Intel Corporation Automated provisioning of new networked devices
US7895308B2 (en) * 2005-05-11 2011-02-22 Tindall Steven J Messaging system configurator
US8688965B2 (en) * 2006-09-29 2014-04-01 Intel Corporation System and method for increasing platform network boot efficiency
US7958219B2 (en) * 2008-06-19 2011-06-07 Dell Products L.P. System and method for the process management of a data center
US8380971B2 (en) * 2008-12-02 2013-02-19 Dell Products, Lp Information handling systems including network adapters and methods of booting the information handling systems using boot configuration information from remote sources
US8310950B2 (en) 2009-12-28 2012-11-13 Oracle America, Inc. Self-configuring networking devices for providing services in a nework
US20110292807A1 (en) * 2010-05-27 2011-12-01 Hemal Shah Method and system for sideband communication architecture for supporting manageability over wireless lan (wlan)
US8910156B1 (en) * 2011-04-29 2014-12-09 Netapp, Inc. Virtual machine dependency
US20120311111A1 (en) * 2011-06-03 2012-12-06 Microsoft Corporation Dynamic reconfiguration of cloud resources
US9641394B2 (en) * 2012-01-30 2017-05-02 Microsoft Technology Licensing, Llc Automated build-out of a cloud-computing stamp
US9367360B2 (en) * 2012-01-30 2016-06-14 Microsoft Technology Licensing, Llc Deploying a hardware inventory as a cloud-computing stamp
US9973385B2 (en) * 2012-01-31 2018-05-15 Hewlett Packard Enterprise Development Lp Remote server configuration
US9146812B2 (en) * 2012-02-03 2015-09-29 Dell Products Lp Systems and methods for out-of-band backup and restore of hardware profile information
US9268590B2 (en) 2012-02-29 2016-02-23 Vmware, Inc. Provisioning a cluster of distributed computing platform based on placement strategy
US9262231B2 (en) * 2012-08-07 2016-02-16 Advanced Micro Devices, Inc. System and method for modifying a hardware configuration of a cloud computing system
US20140047079A1 (en) * 2012-08-07 2014-02-13 Advanced Micro Devices, Inc. System and method for emulating a desired network configuration in a cloud computing system
US9331940B2 (en) * 2012-08-28 2016-05-03 Alcatel Lucent System and method providing distributed virtual routing and switching (DVRS)
CN103795602B (zh) 2012-10-30 2017-05-10 华为技术有限公司 虚拟网络的网络策略配置方法及装置
US9697172B1 (en) * 2012-12-28 2017-07-04 Juniper Networks, Inc. Virtual network optimizing a physical network
US9170978B2 (en) * 2013-08-16 2015-10-27 Verizon Patent And Licensing Inc. Data center activation and configuration
US9794187B1 (en) * 2013-12-19 2017-10-17 Amdocs Software Systems Limited System, method, and computer program for resource conversion in a network function virtualization (NFV) based communication network
US10044795B2 (en) * 2014-07-11 2018-08-07 Vmware Inc. Methods and apparatus for rack deployments for virtual computing environments
US9602468B2 (en) 2014-11-19 2017-03-21 Facebook, Inc. Techniques to authenticate a client to a proxy through a domain name server intermediary
US20160179581A1 (en) * 2014-12-19 2016-06-23 Netapp, Inc. Content-aware task assignment in distributed computing systems using de-duplicating cache
US10833940B2 (en) * 2015-03-09 2020-11-10 Vapor IO Inc. Autonomous distributed workload and infrastructure scheduling
US10747564B2 (en) 2015-04-02 2020-08-18 Vmware, Inc. Spanned distributed virtual switch
US10348574B2 (en) * 2015-08-17 2019-07-09 Vmware, Inc. Hardware management systems for disaggregated rack architectures in virtual server rack deployments
US9985842B2 (en) * 2015-10-30 2018-05-29 Vapor IO Inc. Bus bar power adapter for AC-input, hot-swap power supplies
US11263006B2 (en) * 2015-11-24 2022-03-01 Vmware, Inc. Methods and apparatus to deploy workload domains in virtual server racks
US10282267B2 (en) * 2016-06-23 2019-05-07 Hewlett Packard Enterprise Development Lp Monitor peripheral device based on imported data
US10382392B2 (en) * 2016-08-01 2019-08-13 Big Switch Networks, Inc. Systems and methods for network address translation

Also Published As

Publication number Publication date
US20180123876A1 (en) 2018-05-03
WO2018078431A1 (en) 2018-05-03
CN109891401B (zh) 2023-12-26
CN109891401A (zh) 2019-06-14
US10389580B2 (en) 2019-08-20

Similar Documents

Publication Publication Date Title
DE112019001481T5 (de) Selektives bereitstellen gegenseitiger transportschichtsicherheit mittels alternativer servernamen
DE112017005453T5 (de) Konfiguration verteilter Datenverarbeitungssysteme
DE112012004550B4 (de) Verfahren, System und Vorrichtung zur Zustandsmigration für einen Remote Direct Memory Access-Adapter in einer virtuellen Umgebung
DE112010004160T5 (de) Portieren virtueller Abbilder zwischen Plattformen
DE112016001657T5 (de) Multi-Tenant-Sensitiver DHCP-Mechanismus für Cloud-Netzwerke
DE102016222034A1 (de) Dynamische Kennworterzeugung
DE112013002544T5 (de) Cloudbasiertes Teilen von Datenpunkten und Zusammenarbeit unter Benutzergruppen
DE112012003776T5 (de) Migration logischer Partitionen mit zustandsbehafteten Auslagerungsdatenverbindungen während des laufenden Betriebs unter Verwendung der Kontextherauslösung und -einfügung
DE112010004651T5 (de) 1Dynamische Zugangskontrolle für Dokumente in elektronischen Datenübertragungsvorgängen in einer Cloud-Computing-Umgebung
DE202013012495U1 (de) Metadatenbasierte virtual Maschine-Konfiguration
DE112013001904T5 (de) Paketvermittlung auf der Ebene 2 ohne Nachschlagetabelle für Ethernet-Switches
DE112017005588T5 (de) Speichern und abrufen von eingeschränkten datensätzen in und aus einem cloud-netzwerk mit nichteingeschränkten datensätzen
DE112021001408T5 (de) Verwendung kohärent verbundener schnittstellen in einem netzwerkstapelrahmen
DE102020104871A1 (de) High performance compute-infrastruktur als service
DE112015003926T5 (de) Publish/Subscribe-Messaging unter Verwendung einer Nachrichtenstruktur
DE112020000535T5 (de) Fehlerbehebung innerhalb und außerhalb der eigenen Räumlichkeiten
DE102021130396A1 (de) Datenzugriffsüberwachung und -steuerung
DE112021004945T5 (de) Techniken der kompositionellen verifikation für rollenerreichbarkeitsanalysen in identitätssystemen
DE112019000402T5 (de) Chronologisch geordnetes out-of-place-aktualisierungs-schlüssel-wert-speichersystem
DE112020004760T5 (de) Steuern von interaktionen mit einer skalierbaren anwendung
DE102021109231A1 (de) Bedienungssystem installation mechanismus
DE102022126239A1 (de) Fernverwaltung eines switch-stacks
DE112022002615T5 (de) Kontinuierliche funktionsfähigkeit und integrität von anwendungen während eines migrationsvorgangs
DE102021125019A1 (de) Orchestrierung von einheiten für das internet der dinge
DE112021005881T5 (de) Inline datenpakettransformationen

Legal Events

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

Representative=s name: MURGITROYD GERMANY PATENTANWALTSGESELLSCHAFT M, DE