-
HINTERGRUND
-
„Cloud”-Computing bezieht sich häufig auf die Bereitstellung von Computer-Ressourcen als eine Dienstleistung, normalerweise durch eine Anzahl von Computer-Server, die an einem Standort ein Netzwerk bilden, der nicht am Standort liegt, an dem die Dienstleistungen angefordert werden. Ein Cloud-Datenzentrum bezieht sich auf die physikalische Anordnung der Server, die eine Cloud oder einen bestimmten Anteil einer Cloud ausmachen. Zum Beispiel können Server in einem Datenzentrum in Räumen, Gruppen, Reihen und Racks physikalisch angeordnet sein. Ein Datenzentrum kann über ein oder mehrere Zonen verfügen, die einen oder mehrere Räume mit Server umfassen. Jeder Raum kann über eine oder mehrere Reihen von Server verfügen und jede Reihe kann einen oder mehrere Racks verfügen. Jedes Rack kann einen oder mehrere individuelle Serverknoten umfassen. Server in Zonen, Räumen, Racks und/oder Reihen können in Gruppen angeordnet werden, basierend auf den physikalischen Infrastrukturanforderungen der Datenzentrumeinrichtung, die Strom-, Energie-, thermische, Wärme- und/oder andere Anforderungen umfassen.
-
Ein Server oder ein Teil seiner Ressourcen können ungeachtet des physikalischen Standorts innerhalb eines Datenzentrum zugeordnet werden (z. B. zur Verwendung durch unterschiedliche Kunden des Datenzentrums), entsprechend der tatsächlichen oder erwarteten Anforderungen an die Verwendung, wie bspw. Sicherheit, Qualität der Dienstleistung, Durchsatz, Verarbeitungsleistung und/oder andere Kriterien. Eine Computerauslastung eines Kunden kann zum Beispiel unter mehreren physikalischen Server aufgeteilt werden (die in unterschiedlichen Reihen, Racks, Gruppen oder Räumen des Datenzentrums lokalisiert sind) oder unter mehreren Prozessen auf demselben Server unter Verwendung der Virtualisierung. Daher können im Kontext der Virtualisierung Server logisch gruppiert werden, um die Auslastungsanforderungen zu befriedigen.
-
Ein Cloud-Scheduling-System bezieht sich auf die Computersoftware, die verwendet wird, um die Server-Ressourcen in einem Cloud-Datenzentrum zu verwalten. Die Cloud-Scheduling-Systeme versuchen, die Auslastungsanforderungen der Kunden mit den Verwaltungskriterien der Einrichtung und/oder anderen Anforderungen abzustimmen, und die Server-Ressourcen der Cloud entsprechend zu verteilen. In einigen Fällen kann das Scheduling durch die physikalischen Konfigurationen kompliziert werden, die heterogene Gruppen von Server enthalten, z. B. Zonen, Räume, Gruppen, Reihen oder Racks, in denen einzelne Server unterschiedliche Hardware-Konfigurationen aufweisen. Dies kann relativ häufig vorkommen, da viele Datenzentren Server nur bei Bedarf ersetzen oder aktualisieren (z. B. im Gegensatz zur Aktualisierung einer gesamten Gruppe auf einmal), aus Kostengründen oder anderweitig.
-
KURZE BESCHREIBUNG
-
Die in der vorliegenden Offenbarung beschriebenen Konzepte werden in den beigefügten Figuren in beispielhafter und nicht einschränkender Weise veranschaulicht. Der Einfachheit halber und zur besseren Veranschaulichung sind in den Figuren veranschaulichte Elemente nicht notwendigerweise maßstabsgetreu. Beispielsweise können die Abmessungen einiger Elemente im Verhältnis zu anderen Elementen zur Verdeutlichung übermäßig groß dargestellt sein. Wo es zweckmäßig erschien, wurden weiterhin Bezugszeichen in den Figuren wiederholt, um entsprechende oder analoge Bauteile zu kennzeichnen.
-
1 ist ein vereinfachtes Blockdiagramm von mindestens einer Ausführungsform eines Systems zum Verwaltung von Server-Hardware-Ressourcen in einer Cloud-Datenzentrumumgebung;
-
2 ist ein vereinfachtes Moduldiagramm von mindestens einer Ausführungsform von ausführbaren Modulen des Systems in 1;
-
3 ist ein vereinfachtes Ablaufdiagramm von mindestens einer Ausführungsform einer Methode zum Hinzufügen einer Gruppe von Server zu einer Zone im System von 1;
-
4 ist ein vereinfachtes Ablaufdiagramm von mindestens einer Ausführungsform einer Methode zum Hinzufügen eines Serverknotens zu einer Gruppe im System von 1;
-
5 ist ein vereinfachtes Ablaufdiagramm von mindestens einer zusätzlichen Ausführungsform einer Methode zum Hinzufügen eines Serverknotens zu einer Gruppe im System von 1; und
-
6 ist ein vereinfachtes Ablaufdiagramm von mindestens einem Verfahren zum Aktivieren eines Serverknotens zum Teilnehmen an einer oder mehreren Gruppen im System von 1.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Während die Konzepte der vorliegenden Offenbarung anfällig für verschiedene Modifikationen und alternative Formen sind, werden bestimmte Ausführungsformen davon als Beispiel in den Zeichnungen gezeigt und in diesem Dokument ausführlich beschrieben. Es ist aber selbstverständlich, dass es keine Einschränkungen der Konzepte der vorliegenden Offenbarung auf bestimmte offengelegte Formen gibt, sondern das im Gegensatz die Absicht besteht, alle mit der vorliegenden Offenbarung und den angehängten Ansprüchen entsprechenden Modifikationen, Entsprechungen und Alternativen abzudecken.
-
In der folgenden Beschreibung werden zahlreiche spezifische Einzelheiten wie bspw. Logikausführungen, Opcodes, Mittel zum Spezifizieren von Operanden, Partitionierung/gemeinsame Verwendung/Duplizierung von Ressourcen, Arten und Wechselbeziehungen von Systemkomponenten und Logikpartitionierung/Integrationsentscheidungen erläutert, um ein gründlicheres Verstehen der vorliegenden Offenbarung zu ermöglichen. Für einen Fachmann bedeutet es jedoch, dass Ausführungsformen der vorliegenden Offenbarung ohne die spezifischen Einzelheiten realisiert werden können. In anderen Fällen sind Kontrollstrukturen, Gate-Ebenenschaltungen und gesamte Softwarebefehlsfolgen nicht in allen Einzelheiten gezeigt worden, um die in diesem Dokument beschriebenen Konzepte nicht zu verschleiern. Der Durchschnittsfachmann wird anhand der eingebundenen Beschreibungen in der Lage sein, ohne unangemessenes Experimentieren sachgerechte Funktionalität zu realisieren.
-
Bezugnahmen in der Beschreibung auf „eine Ausführungsform”, „eine beispielhafte Ausführungsform” usw. weisen darauf hin, dass die beschriebene Ausführungsform ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft umfassen kann, aber dass nicht unbedingt jede Ausführungsform das besondere Merkmal, die besondere Struktur oder die bestimmte Eigenschaft umfassen muss. Außerdem beziehen sich solche Ausdrücke nicht unbedingt auf dieselbe Ausführungsform. Wird ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft im Zusammenhang mit einer Ausführungsform beschrieben, so wird weiterhin unterstellt, dass der Fachmann die Kenntnis besitzt, solch ein Merkmal, eine Struktur oder Eigenschaft im Zusammenhang mit anderen Ausführungsformen zu beeinflussen, unabhängig davon, ob sie ausführlich beschrieben sind oder nicht.
-
Ausführungsformen der in diesem Dokument beschriebenen Konzepte in Hardware, Firmware, Software oder irgendeiner Kombination davon implementiert sein. In einem Computersystem implementierte Ausführungsformen können eine oder mehrere Punkt-zu-Punkt- oder Bus-basierenden Kopplungen zwischen den Komponenten umfassen. Ausführungsformen der in diesem Dokument beschriebenen Konzepte können ebenfalls als auf einem oder mehreren maschinenlesbaren oder computerlesbaren Medien getragene oder gespeicherte Anweisungen implementiert sein, die gelesen und durch ein oder mehrere Prozessoren ausgeführt werden können. Ein maschinenlesbares oder computerlesbares Speichermedium kann als irgendein Gerät, irgendein Mechanismus oder irgendeine physikalische Struktur zum Speichern oder Übertragen von Information in einer durch eine Maschine (z. B. ein Computing-Gerät) lesbaren Form ausgeführt sein. Zum Beispiel kann ein maschinenlesbares oder computerlesbares Speichermedium als Read Only Memory(ROM)-Gerät(e); Random Access Memory(RAM)-Gerät(e); Magnetplattenspeichermedien; optische Speichermedien; Flash-Speicher-Geräte; Mini- oder Micro-SD-Karten, Memorystick und andere ausgeführt sein.
-
In den Zeichnungen können bestimmte Anordnungen oder Reihenfolge der schematischen Elemente, wie bspw. diejenigen, die Geräte, Module, Befehlsblocks und Datenelemente darstellen, zur einfacheren Beschreibung dargestellt werden. Es sollte jedoch für Fachleute selbstverständlich sein, dass die spezifische Reihenfolge oder Anordnung der schematischen Elemente nicht andeutet, dass eine bestimmte Reihenfolge oder Verarbeitungssequenz oder Teilung der Prozesse erforderlich ist. Das Einbeziehen eines schematischen Elements in einer Zeichnung soll weiterhin nicht andeuten, dass ein derartiges Element in allen Ausführungsformen erforderlich ist, oder dass die durch ein derartiges Element dargestellten Funktionen nicht in anderen Elementen in einigen Ausführungsformen eingeschlossen oder mit anderen Elementen kombiniert werden kann.
-
Allgemein können die als Befehlsblock dargestellten schematische Elemente unter Verwendung einer geeigneten Form von maschinenlesbaren Befehlen, wie bspw. Software- oder Firmware-Anwendungen, Programmen, Funktionen, Modulen, Routinen, Prozessen, Verfahren, Plugins, Applets, Widgets, Codefragmente und/oder andere implementiert werden, und dass jeder derartige Befehl unter Verwendung einer geeigneten Programmiersprache, Bibliothek, Application Programming Interface (API) und/oder anderen Software-Entwicklungstools implementiert werden kann. Zum Beispiel können einige Ausführungsformen unter Verwendung von Java, C++ und/oder anderen Programmiersprachen implementiert werden. Ähnlich können die als Daten oder Informationen dargestellten schematischen Elemente unter Verwendung irgendeiner geeigneten elektronischen Anordnung oder Struktur, wie bspw. Register, Datenspeicher, Tabelle, Aufzeichnung, Array, Index, Hash, Abbildung, Baumstruktur, Liste, Graph, Datei (eines jeden Dateityps), Ordner, Verzeichnis, Datenbank und/oder anderen, implementiert werden.
-
An den Stellen in den Zeichnungen, wo Verbindungselemente, wie durchgehende oder gestrichelte Linien oder Pfeile, verwendet werden, um eine Verbindung, Beziehung oder Zuweisung zwischen oder unter zwei oder mehreren schematischen Elementen zu illustrieren, deutet das Fehlen eines derartigen Verbindungselements nicht darauf hin, dass keine Verbindung, Beziehung oder Zuweisung existieren kann. Mit anderen Worten, einige Verbindungen, Beziehungen oder Zuweisungen zwischen Elementen können in den Zeichnungen nicht dargestellt werden, um die Offenlegung nicht zu verschleiern. Zusätzlich kann zur vereinfachten Darstellung ein einziges Verbindungselement verwendet werden, um mehrere Verbindungen, Beziehungen oder Zuweisungen zwischen den Elementen darzustellen. Zum Beispiel sollte es für Fachleute selbstverständlich sein, dass dort, wo ein Verbindungselement eine Kommunikation von Signalen, Daten oder Befehlen darstellt, ein derartiges Element ein oder mehrere Signalpfade (z. B. ein Bus) darstellt, die benötigt werden können, um die Kommunikation zu bewirken.
-
Cloud-Scheduling-Systeme vertrauen traditionell einer zentralisierten Auslastungsmanagementsoftware, um anfänglich alle Server in einem Datenzentrum zu erkennen, und um durch periodische Abfragen des Netzwerks zu bestimmen, wann neue Server hinzugefügt werden. Die Managementsoftware erstellt und verwaltet typischerweise eine Liste aller IP-Adressen in der Cloud. Dieser Top-Down-Ansatz zur Serververwaltung ist in Umgebungen von Cloud-Datenzentren nicht hilfreich, in denen Hardware-Konfigurationen, Auslastungsanforderungen, Gesundheitszustand der einzelnen Server und/oder Verwaltungsrichtlinien der Einrichtung häufig geändert werden oder in denen es wünschenswert ist, individuellen Server zu ermöglichen, mehrere unterschiedliche oder sich überschneidende Anforderungen zu befriedigen.
-
Mit Bezug auf die 1 umfasst nun in einer Ausführungsform ein System 100 zum Verwalten der Server-Hardware in einer Zone 104 einer Cloud-Datenzentrum-Umgebung 102 (die mehrere Zonen umfassen kann) einen Zonen-Manager-Server 110. Der illustrative Zonen-Manager-Server 110 bedient einen Zonencontroller 126 und einen Ablegservice 134. Wie in allen Einzelheiten nachfolgend beschrieben, aktivieren Zonencontroller 126 und der Ablegservice 134 individuelle Knotenserver 114, um den Prozess zum Beitreten in die Zone 104 einzuleiten. Das System 100 umfasst außerdem ein oder mehrere Gruppen-Manager-Server 112, von denen jeder eine Gruppe von einem oder mehreren der Knotenserver 114 verwaltet. Jeder Gruppen-Manager-Server 112 kann einen Prozess zum Hinzufügen seiner Gruppe zur Zone 104 einleiten. Der illustrative Zonencontroller 126 kann Gruppen erstellen und Knoten zu den Gruppen zuweisen, basierend auf der Fähigkeit der Prozessor-Hardware, einschließlich Echtzeit-Daten zur „Servergesundheit”, die an jedem Knotenserver 114 erhältlich sind, und/oder anderen Kriterien. Der illustrative Gruppencontroller 142 kann eine Vielzahl von Daten von den Knotenservern 114 in seinen Gruppen sammeln, die zum Erstellen oder Modifizieren von Gruppen verwendet werden, zum Überwachen, Generieren von Alarmen und/oder zu anderen Zwecken. Auf diese Weise können Server-Hardwareressourcen in einer Cloud-Datenzentrum-Umgebung zugewiesen und dynamisch verwaltet werden, als Antwort auf Veränderungen in den Prozessorfähigkeiten, Problemen der Servergesundheit und/oder einer Vielzahl von anderen Parametern, ohne den Overhead des Top-Down-Ansatzes zu übernehmen.
-
Der illustrative Zonen-Manager-Server 110 umfasst mindestens einen Prozessor 118, einen Speicher 122, ein Eingabe/Ausgabe(I/O)-Subsystem 124, mindestens ein Datenspeichergerät 128 und eine Kommunikationsschaltung 136. Der Zonen-Manager-Server 110 kann als jeder geeignete Typ von Servercomputer oder anderes Computergerät ausgeführt werden, der/das in der Lage ist, die Funktionen und Merkmale auszuführen, die in diesem Dokument durch den Zone-Manager-Server 110 oder eines seiner Komponenten als durchführbar beschriebenen werden. Zum Beispiel kann der Zone-Manager-Server 110 als ein Computer, ein Personal Computer (PC), ein Desktop-Computer, ein Laptop-Computer, ein Notebook-Computer, ein tragbare Computer, ein Server, ein Server-Array oder eine Serverfarm, ein Webserver, ein Netzwerkserver, ein Unternehmensserver, ein Internet-Server, ein Arbeitsplatz, ein Mini-Computer, ein Mainframe-Computer, ein Supercomputer, eine Netzwerkanwendung, eine Internetanwendung, ein verteiltes Computersystem, Multiprozessor-Systeme, Prozessor-basierende Systeme oder eine Kombination aus dem Vorangegangenem ausgeführt werden.
-
Der illustrative Prozessor 118 umfasst mindestens einen Prozessorkern 120. Zusätzlich zu einer Anzahl an Cachespeicher umfasst der Prozessor 118 einen Speicher 122 oder ist anderweitig kommunikativ mit diesem gekoppelt. Der Speicher 122 kann als jeder Art eines geeigneten Speichergerät ausgeführt werden, wie Dynamic Random Access Memory(DRAM)-Gerät, Synchronous Dynamic Random Access Memory(SDRAM)-Gerät, Double-Data Rate Dynamic Random Access Memory(DDR SDRAM)-Gerät und/oder jedes andere volatile Speichergerät.
-
Der Prozessor 118 ist außerdem mit dem I/O-Subsystem 124 kommunikativ gekoppelt. Auch wenn es nicht speziell dargestellt ist, kann das illustrative I/O-Subsystem 124 einen Speicher-Controller (z. B. ein Speicher-Controller-Subsystem oder Northbridge), einen Eingabe/Ausgabe-Controller (z. B. ein Eingabe/Ausgabe-Subsystem oder Southbrigde) und ein Firmware-Gerät umfassen. Natürlich können I/O-Subsysteme mit anderen Konfigurationen in anderen Ausführungsformen verwendet werden. Zum Beispiel kann in einigen Ausführungsformen das I/O-Subsystem 124 einen Teil eines Systems-auf-einem-Chip (SoC) formen und zusammen mit dem Prozessor 118 und anderen Komponenten der Zonen-Manager-Servers 110 auf einem einzelnen integrierten Schaltungschip integriert sein. Daher ist es offensichtlich, dass jede Komponente des I/O-Subsystems 124 auf einem einfachen integrierten Schaltungschip in einigen Ausführungsformen lokalisiert werden kann.
-
Das I/O-Subsystem 124 ist kommunikativ mit Zonencontroller 126, Ablegservice 134, Datenspeichergerät 128, Kommunikationsschaltung 136 und einem oder mehreren Kommunikationsports 138 gekoppelt. Der Zonencontroller 126 ist als ein oder mehrere computerisierte Programme, Logik und/oder Anweisungen ausgeführt, die konfiguriert sind, um die Anordnung der Servercomputer in der Zone 104 zu verwalten. Die Einzelheiten bezüglich des Betriebs des Zonencontrollers 126 sind nachfolgend in Bezug auf die 2 und 3 beschrieben. Der Ablegservice 134 ist als ein oder mehrere computerisierte Programme, Logik und/oder Anweisungen (z. B. Software und/oder Firmware) ausgeführt, die konfiguriert sind, um Anfragen von verschiedenen Computerservern (z. B. Gruppen-Manager-Server 112 und/oder Knotenserver 114) zum Beitreten in die Zone 104 zu verwalten. Die Einzelheiten bezüglich des Betriebs des Ablegservice 134 sind nachfolgend in Bezug auf die 2 und 4 beschrieben.
-
Teile des Datenspeichergeräts 128 können als jedes geeignete Gerät zum Speichern von Daten und/oder Computeranweisungen ausgeführt werden, wie Diskspeicher (z. B. Harddisks), ein Netzwerk aus physikalischen und/oder logischen Speichergeräten und/oder anderen. In der illustrativen Ausführungsform befinden sich ein Zonenbezeichner 130 und Zonentopologie-Daten 132 im Datenspeichergerät 128. Zusätzlich können sich Teile des Zonencontrollers 126 und/oder der Ablegservice 134 im Datenspeicher 128 befinden. Teile des Zonenbezeichners 130, die Zonentopologie-Daten 132, der Zonencontroller 126 und/oder der Ablegservice 134 können auf während des Betriebs zur schnelleren Verarbeitung oder aus anderen Gründen auf den Speicher 122 kopiert werden.
-
Die Kommunikationsschaltung 136 kann als ein oder mehrere Geräte und/oder Schaltungen ausgeführt werden, die zur Aktivierung der Kommunikation zwischen oder unter dem Zonen-Manager-Server 110, Gruppen-Manager-Server(n) 112 und/oder Serverknoten 114 über ein Kommunikationsnetzwerk 116 konfiguriert sind. Die Kommunikationsschaltung 136 kann ein oder mehrere verkabelte und/oder drahtlose Netzwerkschnittstellen oder „Karten” umfassen, um die Kommunikation über die verkabelten und/oder drahtlosen Teile des Netzwerks 116 zu erleichtern. Wie nachfolgend beschrieben, werden die Kommunikationsport(s) 138 durch den Zonencontroller 126 verwendet, um die Kommunikation mit den Gruppen-Manager-Server(n) 112 und/oder den Knotenserver(n) 114 auszutauschen. Eine geeignete Anzahl von Kommunikationsports, 1 bis N, wo N ein positiver Integer ist, kann entsprechend den Anforderungen einer bestimmten Ausführung oder Implementierung des Systems 100 bereitgestellt werden.
-
Auch wenn dies nicht speziell dargestellt ist, kann das I/O-Subsystem 124 kommunikativ mit einem oder mehreren Peripheriegeräten, wie eine Anzeige, Touchpad, Keypad, Mikrophone, Lautsprecher und/oder anderen, abhängig, zum Beispiel, von der vorgesehenen Verwendung des Zonen-Manager-Server 110 gekoppelt werden. Es sollte des Weiteren offensichtlich sein, dass der Zonen-Manager-Server 110 andere Komponenten, Subkomponenten und Geräte umfasst, die für die Klarheit der Beschreibung in 1 nicht dargestellt werden.
-
Der(Die) Gruppen-Manager-Server 112 kann als jeder geeignete Typ von Servercomputer oder anderes Computergerät ausgeführt werden, der/das in der Lage ist, die Funktionen und Merkmale auszuführen, die in diesem Dokument durch den(die) Gruppen-Manager-Server 112 oder eines seiner(ihrer) Komponenten als durchführbar beschriebenen werden. Der(Die) Gruppen-Manager-Server 112 kann zum Beispiel als jede Art von Computergerät ausgeführt werden, das vorangegangen in der Beschreibung des Zonen-Manager-Servers 110 genannt wurde. Allgemein umfasst der Gruppen-Manager-Server 112 Hardware-Komponenten (z. B. Prozessor, Speicher, I/O-Subsystem, Datenspeicher, Kommunikationsschaltung) ähnlich oder analog zu denen in Verbindung mit dem Zonen-Manager-Server 110 vorangegangenen beschriebenen; daher werden diese Beschreibungen an dieser Stelle nicht wiederholt. Eine geeignete Anzahl, 1 bis Y, wo Y ein positiver Integer ist, von Gruppen-Manager-Server 112 kann entsprechend den Anforderungen einer bestimmten Ausführung oder Implementierung des Systems 100 in der Zone 104 eingeschlossen werden.
-
Der Gruppencontroller 142 ist als ein oder mehrere computerisierte Programme, Logik und/oder Anweisungen (z. B. Software und/oder Firmware) ausgeführt, die konfiguriert sind, um die Anordnung der Knotenserver 114 in der Gruppe von Servern zu verwalten, die vom Gruppen-Manager-Server 112 unter Verwendung eines Gruppen-Identifiers 140, Gruppen-Server-Daten 144 und Nachrichten-Warteschlangen oder Kanälen 148. Der Gruppencontroller 142 kann den Prozess zum Beitreten in die Zone 104 und/oder jeden anderen Zone der Datenzentrum-Umgebung 102 unter Verwendung ihres Gruppen-Identifiers 140 einleiten. Eine jede Anzahl, 1 bis M, wo M ein positiver Integer ist, von Nachrichten-Warteschlangen 148 kann einem Gruppen-Manager-Server 112 bereitgestellt werden, abhängig von den Anforderungen einer bestimmten Ausführung oder Implementierung des Systems 100. Im Allgemeinen werden die Nachrichten-Warteschlangen 148 konfiguriert, um Statusmeldungen vom Knotenserver 114 in der Gruppe zu empfangen. Die Einzelheiten bezüglich des Betriebs des Gruppencontrollers 142 sind nachfolgend in Bezug auf die 2 und 5 beschrieben.
-
Der(Die) Knoten-Manager-Server 114 kann als jeder geeignete Typ von Servercomputer oder anderes Computergerät ausgeführt werden, der/das in der Lage ist, die Funktionen und Merkmale auszuführen, die in diesem Dokument durch den(die) Knoten-Manager-Server 114 oder eines seiner(ihrer) Komponenten als durchführbar beschriebenen werden. Der(Die) Knotenserver 114 kann zum Beispiel als jede Art von Computergerät ausgeführt werden, das vorangegangen in der Beschreibung des Zonen-Manager-Servers 110 genannt wurde. Allgemein umfasst der Knotenserver 114 Hardware-Komponenten (z. B. Prozessor, Speicher, I/O-Subsystem, Datenspeicher, Kommunikationsschaltung) ähnlich oder analog zu denen in Verbindung mit dem Zonen-Manager-Server 110 vorangegangenen beschriebenen. Der illustrative Knotenserver 114 umfasst mindestens einen Prozessorkern 160. Der illustrative Prozessor 160 umfasst mindestens einen Prozessorkern 162. Zusätzlich zu einer Anzahl an Cachespeicher umfasst der Prozessor 160 einen Speicher 164 oder ist anderweitig kommunikativ mit diesem gekoppelt. Der Prozessor 160 ist außerdem mit dem I/O-Subsystem 166 kommunikativ gekoppelt. Das I/O-Subsystem 116 ist kommunikativ mit dem Knoten-Identifier 150, dem Knotencontroller 152, der Kommunikationsschaltung 154, dem Kommunikationsport 156 und dem Datenspeichergerät 168 gekoppelt. Teile des Datenspeichergeräts 168 können als jedes geeignete Gerät zum Speichern von Daten und/oder Computeranweisungen ausgeführt werden, wie Diskspeicher (z. B. Harddisks), ein Netzwerk aus physikalischen und/oder logischen Speichergeräten und/oder anderen. Eine geeignete Anzahl, 1 bis Z, wo Z ein positiver Integer ist, von Knotenservern 114 kann entsprechend den Anforderungen einer bestimmten Ausführung oder Implementierung des Systems 100 in der Zone 104 eingeschlossen werden.
-
Der Knotencontroller 152 ist als ein oder mehrere computerisierte Programme, Logik und/oder Anweisungen (z. B. Software und/oder Firmware) ausgeführt, die konfiguriert sind, um die Kommunikation eines Knotenservers 114 mit anderen Komponenten des Systems 100 unter Verwendung, unter anderem, der Kommunikationsschaltung 154 und eines Kommunikationsports 156 zu verwalten. Teile des Knotencontrollers 152 und/oder des Knoten-Identifiers 150 können im Datenspeichergerät 168 angeordnet sein. In einigen Ausführungsformen kann der Knoten-Identifier 150 in einem nicht-volatilem Speicher gespeichert sein, der mit dem Prozessor 160 oder Prozessorkern 162 (z. B. in einem Flash-Speicher) in Verbindung steht. Die Einzelheiten bezüglich des Betriebs des Knotencontrollers 152 sind nachfolgend in Bezug auf die 2 und 6 beschrieben.
-
Das Netzwerk 116 kann als jede Art eines verkabelten und/oder drahtlosen Telekommunikationsnetzwerkes ausgeführt sein. Das Netzwerk 116 kann zum Beispiel als ein oder mehrere öffentliche oder private Mobilfunknetzwerke, Telefone, Digital Subscriber Line (DSL) oder Kabelnetzwerke, Local oder Wide Area Networks, öffentlich zugängliche globale Netzwerke (z. B. Internet) oder jede Kombination daraus ausgeführt sein oder diese anderweitig umfassen. In einigen Ausführungsformen kann das Netzwerk 116 zum Beispiel als ein Global System for Mobile Communications(GSM)-Mobilfunknetzwerk ausgeführt sein oder dieses anderweitig umfassen. Zusätzlich kann das Netzwerk 116 jede Anzahl zusätzliche Geräte umfassen, die zur Erleichterung der Kommunikation zwischen oder unter dem Zonen-Manager-Server 110, dem Knotenservern 114 und den Gruppen-Manager-Servern 112 benötigt werden, wie Router, Schalter, eingreifende Computer und/oder andere. Jedes geeignete Kommunikationsprotokoll (z. B. TCP/IP) kann verwendet werden, um die Kommunikation über das Netzwerk 116 zu bewirken, abhängig, zum Beispiel, von der jeweiligen Art oder Konfiguration des Netzwerks 116. In einigen Ausführungsformen kann ein Broadcast-Messaging-Framework und/oder eine „veröffentlichen und teilnehmen” Kommunikationsumgebung verwendet werden. In einigen Ausführungsformen kann zum Beispiel eine Zero Configuration Networking (Zeroconf) oder ähnliche Netzwerk-Kommunikationsumgebung in Kombination mit Advanced Message Queueing Protocol (AMQP), Active Message Queueing („Active MQ”) oder ähnlichem Messaging-Framework verwendet werden.
-
Im Allgemeinen sind die Komponenten von Zonen-Manager-Server 110, Gruppen-Manager-Server(n) 112 und Knotenserver(n) 114 durch ein oder mehrere Signalpfade kommunikativ gekoppelt, wie in 1 dargestellt. Derartige Signalpfade können als jede Art von verkabelten oder drahtlosen Signalpfaden ausgeführt sein, die fähig sind, die Kommunikation zwischen den jeweiligen Geräten zu ermöglichen. Zum Beispiel können die Signalpfade als jede Anzahl von Kabeln, Leiterplattenspuren über Bus-, Punkt-zu-Punkt-Kopplungen, eingreifende Geräte und/oder derartigem ausgeführt werden. Im Allgemeinen können einige der Komponenten der vorangegangen beschriebenen Computergeräte außerdem auf einer Hauptplatine integriert werden, während andere Komponenten kommunikativ mit der Hauptplatine über, zum Beispiel, einen Peripherieport gekoppelt werden können.
-
Mit Bezug auf 2 wird nun in einer Ausführungsform 200 des Systems 100 jeder der illustrativen Zonencontroller 126, der Ablegservice 134, der Gruppencontroller 140 und der Knotencontroller 152 als ein oder mehrere computerisierte Module (z. B. Software und/oder Firmware) ausgeführt. Der illustrative Zonencontroller 126 umfasst ein Broadcaster-Modul 210, ein Zuhörer-Modul 212, ein Kanal-Creator-Modul 214 und ein Nachrichten-Kommunikations-Modul 216. Wie nachfolgend mit Bezug auf 3 beschrieben, ermöglichen die Broadcaster- und Zuhörer-Module 210, 212 im Betrieb den Gruppen-Manager-Servern 112 und/oder Knotenservern 114, die Existenz des Zonen-Manager-Servers 110 „zu entdecken” und an seiner Zone 104 teilzunehmen. Das Kanal-Creator-Modul 214 erschafft ein oder mehrere Kommunikationsmodule, die konfiguriert sind, um Datenpakete zum Warnen, Überwachen, Analysieren oder anderen Zwecken von den Gruppen-Manager-Servern 112 zu empfangen, die an der Zone 104 teilnehmen. Das Nachrichten-Kommunikations-Modul 216 konfiguriert die Kommunikationsschaltung 136 und die Kommunikationsports 138, um ein Messaging-Framework zu implementieren, das fähig ist, die in diesem Dokument beschriebenen Kommunikationsfunktionen zu verarbeiten. In einigen Ausführungsformen konfigurier zum Beispiel das Kommunikationsmodul 216 den Zonencontroller 126 für die Kommunikation unter Verwendung von Zeroconf oder eines ähnlichen Dienstes und ein Broker-Messaging-Framework, wie AMQP oder ein ähnliches Protokoll.
-
Der illustrative Ablegservice 134 umfasst ein Knotenerkennungsmodul 220, ein Gruppenzuordnungsmodul 222, ein logisches Gruppen-Creator-Modul 224 und ein Nachrichten-Kommunikations-Modul 226. Wie nachfolgend in Bezug auf 4 beschrieben, erlauben die Module 220, 222, 224, 226 im Betrieb den Knotenservern 114, die Zone 104 zu erkennen, an dieser teilzunehmen, und einer oder mehreren Gruppen der Zone 104 (z. B. einem oder mehreren Gruppen-Manager-Servern 112 angegliedert zu sein) zugeordnet zu werden. Das Nachrichten-Kommunikations-Modul 226 ermöglicht dem Ablegservice 134, nach Meldungen von den Knotenservern 114 zu hören, und ist ähnlicher Weise wie das Nachrichten-Kommunikations-Modul 216 konfiguriert.
-
Der illustrative Gruppencontroller 142 umfasst ein physikalisches Gruppen-Creator-Modul 230, ein Nachrichten-Warteschlangen-Modul 232 und ein Nachrichten-Kommunikations-Modul 234. Wie nachfolgend in Bezug auf 5 beschrieben, ordnet das physikalische Gruppen-Creator-Modul 230 im Betrieb neue Knotenserver 114 ihrem jeweiligen physikalischen Standort im Datenzentrum 102 (z. B. ein Rack) durch das Zuordnen des Knotenservers 114 mit den Gruppen-Identifier 140 des Gruppen-Manager-Servers 112 dieses physikalischen Standorts oder Racks zu. Mit anderen Worten, der Gruppencontroller 142 verwaltet das physikalische Gruppieren der Knotenserver 114, zu denen der Gruppen-Manager-Server 112 gehört. Das Nachrichten-Warteschlangen-Modul 232 erstellt und verwaltet ein oder mehrere der separaten Nachrichten-Warteschlangen 148, an die die an der Gruppe teilnehmenden Knotenserver 114 Statusdatenpakete versenden können, zum Beispiel zum Überwachen und/oder aus Gründen der Datensammlung. In einigen Ausführungsformen kann ein „Thema”-basierendes Routing-Schema, wie ein AMQP-Themen-Routingverfahren, für diese Datenkommunikation verwendet werden.
-
Das Nachrichten-Kommunikations-Modul 234 konfiguriert das Messaging-Framework am Gruppen-Manager-Server 112, um das Hinzufügen neuer Knotenserver 114 zum physikalischen Standort oder Rack zu erkennen, zu dem der Gruppen-Manager-Server 112 zugeordnet oder an dem er lokalisiert ist. In einigen Ausführungsformen kann das Nachrichten-Kommunikations-Modul 234 konfiguriert sein, um ein „Fanout” oder „Broadcast” Nachrichten-Routing-Schema (z. B. ein AMQP Fanout oder Broadcast-Routing-Verfahren) zu verwenden. Es sollte offensichtlich sein, dass die Knotenserver 114, die der durch den Gruppen-Manager-Server 112 verwalteten Gruppe hinzugefügten werden, über dieselbe Hardware-Konfiguration oder über eine andere Hardware-Konfiguration wie andere Knotenserver in dieser Gruppe, diesem physikalischen Standort oder Rack und in der Zone 104 verfügen. Mit anderen Worten, jede Gruppe, Rack oder jeder andere physikalische Standort der Server in der Zone 104 kann heterogen im Sinne davon sein, dass in ihr Server enthalten sind, die über unterschiedliche Hardware-Konfigurationen verfügen, z. B. verschiedene Prozessoren mit einer oder mehreren verschiedenen Fähigkeiten. Wie nachfolgend beschrieben, werden die Prozessorkonfigurationen und Fähigkeiten eines jeden Servers 114 dem System 100 bekanntgegeben, so dass die Knotenserver 114 der Gruppe(n) innerhalb der Zone zugeordnet werden können, basierend auf ihren Prozessorkonfigurationen, Fähigkeiten, Gesundheitsdaten und/oder anderen Faktoren.
-
Der illustrative Knotencontroller 152 umfasst ein Knotenteilnahme-Datenpaket-Creator-Modul 240, ein Knotenstatus-Datenpaket-Creator-Modul 242 und ein Nachrichten-Kommunikations-Modul 244. Wie nachfolgend in Bezug auf 6 beschrieben, erstellt das Knotenteilnahme-Datenpaket-Creator-Modul 240 ein Datenpaket, dass Informationen über die Hardware-Topologie des Knotenservers 114 enthält, das vom Ablegservice 134 zum Zuordnen des Knotenservers 114 zu einer Gruppe in der Zone 104 verwendet werden kann. Das Knotenstatus-Datenpaket-Creator-Modul 242 erstellt ein Datenpaket, das Informationen über den aktuellen Status oder die „Gesundheit” des Knotenservers 114 enthält, die in einem speziellen komprimierten Datenformat angeordnet sind, die von einem oder mehreren Nachrichten-Warteschlangen 148 des Gruppen-Manager-Server 112 zum Sammeln von Daten und/oder zu Überwachungszwecken empfangen werden. Das Nachrichten-Kommunikations-Modul 244 ist in einer ähnlichen Weise wie das vorangegangen beschriebene Nachrichten-Kommunikations-Modul 216 konfiguriert. Wie nachfolgend in Bezug auf 6 beschrieben, veröffentlicht das Nachrichten-Kommunikations-Modul 244 Knotenteilnahme-Datenpakete und Knotenstatus-Datenpakete, einschließlich des Knoten-Identifiers 150 für den Empfang durch den Ablegservice 134 unter Verwendung eines geeigneten Routingverfahrens des implementierten Messaging-Frameworks. In einigen Ausführungsformen kann zum Beispiel ein direktes Routingverfahren, wie ein AMQP Direct-Protokoll oder ein ähnlicher Mechanismus, für derartige Kommunikationen verwendet werden.
-
Mit Bezug auf 3 wird nun eine illustrative Methode 300 dargestellt, die als computerisierte Logik und/oder Anweisungen durch die verschiedenen Module des Zonencontrollers 126 durchgeführt werden, um die Existenz des Zonen-Manager-Servers 110 an die anderen Server des Netzwerks 116 zu übertragen. Am Block 310 erstellt die Methode 300 ein „Hallo”-Datenpaket, d. h. ein Datenpaket, das konfiguriert ist, um den Zonen-Manager-Server 110 den anderen Servern im System 100 erkenntlich zu machen. Das Hallo-Datenpaket (oder „Zonen-Datenpaket”) umfasst (d. h. als Teil des Paketkopfs) den Zonen-Identifier 130, der eindeutig den Zonen-Manager-Server 110 gegenüber den anderen Server im System 100 erkenntlich macht. In einigen Ausführungsformen kann der Zonen-Identifier 130 durch bspw. einen Administrator der Zone 104 oder einen Administrator des Datenzentrums 102 unter Verwendung eines einzigartigen Identifiers erstellt werden, der einem Prozessor oder einer Zentraleinheit (CPU) des Zonen-Manager-Servers 110 und einem durch den Administrator bereitgestellten Hash-Wert zugeordnet ist. Das illustrative Hallo-Datenpaket umfasst außerdem eine Bezeichnung oder einen Eintrag (z. B., ein Textfeld, das das Word „Zone” umfasst), die/der den Zonen-Manager-Server 110 als den Server erkennt, der zum Verwalten der jeweiligen Zone 104 (mit anderen Worten, der Server, auf den der Zonencontroller 126 installiert ist) konfiguriert ist. Das illustrative Hallo-Datenpaket umfasst außerdem die IP-Adresse des Zonen-Manager-Servers 110.
-
Am Block 312 öffnet die Methode 300 einen Kommunikationsport 138 (d. h. ein Zeroconf oder ähnlichen Port) und überträgt das Hallo-Datenpaket an das Netzwerk 116. Am Block 314 „hört” die Methode 300 (unter Verwendung z. B. von Zeroconf oder ähnlichen Zuhörers) auf die Bestätigungs(ACK)-Nachrichten, die durch einen oder mehrere Gruppen-Manager-Server 112 als Antwort auf das Hallo-Datenpaket ausgegeben werden können. Die Methode 300 interpretiert die ACK-Nachrichten als Anfragen durch die herausgebenden Gruppen-Manager-Server 112 zur Teilnahme an der Zone 104. Ein durch einen Gruppen-Manager-Server 112 generiertes ACK-Datenpaket umfasst die IP-Adresse des Gruppen-Manager-Servers 112, der die ACK-Nachricht und eine Bezeichnung oder Eintrag (z. B., ein Textfeld, das das Word „Zone” umfasst) ausgegeben hat, die den Gruppen-Manager-Server 112 als einen Server identifiziert, der zum Verwalten einer Gruppe von Knotenservern 114 konfiguriert ist (mit anderen Worten, ein Server, auf dem der Gruppencontroller 146 installiert ist). Auf diese Weise können die Gruppen-Manager-Server 112 den Prozess zum Teilnehmen an der Zone 104 (oder einer anderen Zone) einleiten, als Antwort auf ihre Entdeckung der Zone mittels der Übertragung des Hallo-Datenpakets durch den Zonencontroller 126. Daher können die Gruppen-Manager-Server 112 in einigen Ausführungsformen mehreren verschiedenen Zonen zugeordnet werden, wenn sie innerhalb der Übertragungsreichweite der Zonen liegen.
-
Am Block 316 bestimmt die Methode 300, ober der Sender einer bestimmten am Block 314 (z. B. durch das Zuhörer-Modul 212) empfangen ACK-Nachricht ein Gruppen-Manager-Server 112 (z. B. basierend auf einem vorhandenen Textfeld „Gruppe” im ACK-Paketkopf) ist. Falls die Methode 300 am Block 316 bestimmt, dass die ACK-Nachricht nicht durch einen Gruppen-Manager-Server 112 versandt wurde, ignoriert die Methode 300 die ACK-Nachricht, kehrt zum Block 314 zurück und hört weiterhin nach ACK-Nachrichten von den Gruppen-Manager-Servern 112. Falls die Methode 300 am Block 316 bestimmt, dass die ACK-Nachricht von einem Gruppen-Manager-Server 112 stammt, dann aktualisiert die Methode 300 die Zonen-Topologie-Daten 132 am Block 318, um widerzuspiegeln, dass der die ACK-Nachricht versendende Gruppen-Manager-Server 112 an der Zone 104 teilnimmt. In einigen Ausführungsformen kann zum Beispiel die Methode 300 die IP-Adresse und Gruppeninformationen vom Kopf des ACK-Datenpakets analysieren und diese in einem oder mehreren Datentabellen der Zonen-Topologie-Daten 132 speichern.
-
Am Block 320 erstellt die Methode 300 ein oder mehrere Kommunikationskanäle, die zum periodischen Empfangen von Informationen vom Gruppen-Manager-Server 112 verwendet werden, und bestimmt einen Kommunikationsport 138 für jeden dieser Kanäle. In einigen Ausführungsformen werden separate Kommunikationskanäle (z. B. AMQP-Kanäle) für „Alarme”, „Richtlinien” und „Analyse” erstellt, so dass die durch den Zonencontroller 126 empfangenen Kommunikationen einem unterschiedlichen Kanal basierend auf dem Kommunikationstyp zugewiesen werden kann. Ähnlich können andere Kanäle für „Sicherheit”, „Leistung” und/oder andere Kategorien erstellt werden, bei denen es wünschenswert sein könnte, die Informationen über die Server in der Zone 104 zu überwachen. Die Methode 300 versendet ein „Zonenteilnehmer”-Datenpaket mit Informationen über jeden der Kommunikationskanäle und den jeweiligen Kommunikationsport 138 an den(die) Gruppen-Manager-Server 112, die ACK-Nachrichten an den Zonencontroller 126 als Antwort auf das Hallo-Datenpaket versandt haben. Mit anderen Worten, wenn ein Gruppen-Manager-Server 112 der Zone 104 beitritt, werden ihm Informationen zum Kommunikationskanal bereitgestellt, so dass er periodisch bestimmte Arten von Informationen an den Zonencontroller 126 auf den entsprechenden Kanälen melden kann. In einigen Ausführungsformen kann das Zonenteilnehmer-Datenpaket den Zonen-Identifier 130 und eine Portnummer des Kommunikationsport 138 umfassen, die mit jedem der durch den Zonencontroller 126 erstellten separaten Kommunikationskanäle (z. B. Alarme, Richtlinien, Analysen) verbunden ist. Auf jeden Fall ermöglicht das Zonenteilnehmer-Datenpaket den antwortenden Gruppen-Manager-Servern 112, an der Zone 104 zur Terminplanung, Überwachung, Auslastung und/oder zur Einrichtungsverwaltung und/oder zu anderen Zwecken teilzunehmen. Das Erstellen der Kommunikationskanäle erlaubt, potentiell, eine große Bandbreite an Informationen über den Gruppen-Manager-Server 112 und/oder die Knotenserver 114 in der Gruppe, die vom Zonencontroller 126 bei der Formierung neuer Gruppen in der Zone 104 berücksichtigt werden und bei den Entscheidungen bezüglich Terminplanung und Auslastungszuweisung.
-
Am Block 322 installiert die Methode 300 eine oder mehrere Instanzen des Ablegservice 134 an verschiedenen physikalischen Standorten (z. B. an anderen Serverknoten) des Datenzentrums 102, so dass die Knotenserver 114 entdeckt und der Gruppe hinzugefügt werden können, die durch den Gruppen-Manager-Server 112 verwaltet wird, der auf das Hallo-Datenpaket geantwortet hat (und dadurch zur Zone 104 hinzugefügt wurde). Insofern, dass jeder Ablegservice 134 an einem unterschiedlichen physikalischen Standort vom Zonencontroller 126 installiert werden kann, so kann der Ablegservice 134 als analog zu einem „Client”-Teil einer Client/Server-Computeranwendung angesehen werden.
-
Jeder Ablegservice 134 ist mit einem voreingestellten Kommunikationsport 138 und einem Namensraum konfiguriert, die die IP-Adresse des Servers anzeigen, der den Ablegservice 134 und eine Bezeichnung oder einen Eintrag (z. B. ein Textfeld, das das Wort „Ablegen” umfasst) beherbergt und ihn als ein Ablegservice identifiziert. In einigen Ausführungsformen kann der Ablegservice 134 als Zeroconf oder als ein ähnlicher Dienst implementiert werden. Der physikalische Standort der Ablegservices 134 im Datenzentrum 102 kann im Vorfeld bestimmt werden, z. B. durch einen Systemadministrator. Wie nachfolgend beschrieben, ermöglicht es der Ablegservice 134 den Knotenservern 114 erkannt und den Gruppen hinzugefügt zu werden, die durch die verschiedenen Gruppen-Manager-Servern 112 in der Zone 104 verwaltet werden.
-
Mit Bezug auf 4 wird nun eine illustrative Methode 400 gezeigt, die als computerisierte Logik und/oder Anweisungen durch den Ablegservice 134 zum Hinzufügen eines Knotenservers 114 in eine logische Gruppe von Servern (z. B. eine Gruppe, die im Gegensatz zum physikalischen Standort auf Grundlage von Funktionalität, Hardware-Topologie, Servergesundheit und/oder anderen Parameter geformt wird) ausgeführt wird. Der Ablegservice 134 ist konfiguriert, um die Kommunikation der Knotenteilnehmer-Datenpakete von den Knotenservern 114 zu überwachen, die sich in einem bestimmten Bereich der IP-Adressen befinden, die durch einen Systemadministrator spezifiziert sein können oder einfach die IP-Adressen aller Knotenservern 114 umfassen können, die sich innerhalb der Übertragungsreichweite des Ablegservice 134 befinden. Der Ablegservice 134 pflegt die Gruppen-Manager-Daten 135, die eine Datentabelle oder andere geeignete Datenstrukturen umfassen, die IP-Adressen aller Gruppen-Manager-Server 112 und ihre jeweiligen Kommunikationskanalinformationen (z. B. Portnummer, Kanalart) umfassen, wie durch den Zonencontroller 126 zugewiesen. Am Block 410 öffnet die Methode 400 den Kommunikationsport 156, um nach den Knotenteilnehmer-Datenpaketen der Knotenserver 114 (z. B. Nachrichten, die über einen „Knoten”-Eintrag im Paketkopf verfügen) zu hören. Wird ein Paket mit einem „Knoten”-Eintrag am Block 412 empfangen, dann bestimmt die Methode 400 den Knoten-Identifier 150 (der unter Verwendung von kryptografischen Techniken vielleicht decodiert werden muss, wie es für Fachleute selbstverständlich ist) und erstellt eine Knoten-Hardware-Topologiekarte auf Grundlage der im Knoten-Identifier 150 enthaltenen Informationen. Unter Verwendung der Knoten-Topologiekarte formuliert die Methode 400 einen Knotenfähigkeiten-Identifier, der Informationen über die Hardware-Fähigkeiten des Knotens umfasst, wie seine CPU-Familie, Speichertechnologie, Art der Netzwerkschnittstelle und/oder andere Eigenschaften der Server-Hardware. Mit anderen Worten, der Knotenfähigkeiten-Identifier kann von einem Knoten-Identifier 150 abgeleitet werden.
-
Am Block 414 verwendet die Methode 400 die Gruppen-Manager-Daten 135, um auf die relevanten Teile der Zonen-Topologiedaten 132 zum Abrufen der Hardware-Topologieinformationen zuzugreifen, die mit der Gruppe oder den Gruppen in Verbindung stehen, die durch den Ablegservice 134 verwaltet werden. In einigen Ausführungsformen ist insbesondere jeder Kombination der Hardware-Topologieinformationen (z. B. CPU-Familie, Speichertechnologie, Art der Netzwerkschnittstelle usw.) mit einem bereits generierten einzigartigen Gruppen-Identifier 140 verbunden. In einigen Ausführungsformen umfassen die Zonen-Topologiedaten 132 zum Beispiel Tabelleneinträge, die die Konzentration der relevanten Hardware-Eigenschaften (z. B. „CPU-Familie + Speichertechnologie + Art der Netzwerkschnittstelle”) mit einzigartigen Gruppen-Identifier abbilden. Die Methode 400 vergleicht am Block 416 den Fähigkeiten-Identifier des Knotens (z. B. eine Konzentration von CPU-Familie + Speichertechnologie + Art der Netzwerkschnittstelle) mit aus den Zonen-Topologiedaten 132 bezogenen Informationen, um den Gruppen-Identifier 140 zu beziehen, mit dem der Knotenserver 114 verbunden wird. Die Methode 400 vergleicht am Block 416 weiterhin den Fähigkeiten-Identifier des Knotens mit den Informationen in den Zonen-Topologiedaten 132 bis eine entsprechende Übereinstimmung gefunden wird. Auf Grundlage des Fähigkeiten-Identifier des Knotens und der Zonen-Topologiedaten 132 wird der Knotenserver 114 einer Gruppe innerhalb der Zone 104 zugeordnet. Die Methode 400 versendet am Block 418 den Gruppen-Identifier 140 und seine zugehörigen Nachrichtenkanäle 148 an den Knotenserver 114 (z. B. unter Verwendung eines AMQP Direct Address-Protokolls oder ähnlicher Mechanismen) und an den Zonencontroller 126, um die Zonen-Topologiedaten 132 zu aktualisieren.
-
Mit Bezug auf 5 wird nun eine illustrative Methode 500 gezeigt, die als eine computerisierte Logik und/oder Anweisungen durch einen Gruppencontroller 142 ausgeführt wird, um eine neue physikalische Gruppe von Servern auf dem System 100 zu definieren oder einen neuen Knotenserver 114 einer physikalischen Gruppe hinzuzufügen. Ein Systemadministrator (d. h. eine Person) ernennt am Block 510 einen Server in einer physikalischen Anordnung von Servern (z. B. ein Rack) als den Gruppen-Manager-Server 112; das heißt, der Server, der den Gruppencontroller 142 beherbergt. Der Block 510 ist in gestrichelten Linien dargestellt, um zu zeigen, dass dies typischerweise ein Schritt ist, der durch eine Person durchgeführt wird, auch wenn dies in einigen Ausführungsformen automatisch erfolgen kann. Die Methode 500 generiert am Block 512 den Gruppen-Identifier 140 für die durch den Gruppen-Manager-Server 112 verwaltete Gruppe. In einigen Ausführungsformen kann der Gruppen-Identifier 140 durch einen randomisierten einzigartigen Identifier generiert werden. In anderen Ausführungsformen kann der Gruppen-Identifier 140 mit einem Teil (z. B. die ersten 24 Bits) der IP-Adressen des Gruppen-Manager-Servers 112 generiert werden, der allen Servern in der Gruppe gemein ist.
-
Die Methode 500 erkennt (z. B. über einen AMQP-Broker oder einen ähnlichen Mechanismus) am Block 514 das Hinzufügen eines neuen Knotenservers 114 am physikalischen Standort mit dem der Gruppen-Manager-Server 112 verbunden ist (z. B. Rack, in dem sich der Gruppen-Manager-Server 112 befindet.). Wenn die Methode 500 das Hinzufügen eines Knotenservers 114 erkennt, das sendet die Methode ein Datenpaket, das den Gruppe-Identifier 140 enthält, an die IP-Adresse des Knotenservers 114 am Block 516. In einigen Ausführungsformen kann ein AMQP-Broker oder ähnlicher Mechanismus als ein Vermittler zum Erleichtern dieser Kommunikation verwendet werden.
-
Wie bereits erwähnt, verwaltet der Gruppen-Controller 142 eine Anzahl von Nachrichten-Warteschlangen oder Kanälen 148, die verwendet wird, um Daten von den Knotenservern 114 zu sammeln, die an seiner Gruppe teilnehmen. Diese Nachrichten-Warteschlangen 148 können durch einen Namenraum referenziert werden, der den Gruppen-Identifier 140 und einen Beschreiber enthält, der einen bestimmten Grund der Datensammlung anzeigt. Separate Nachrichten-Warteschlangen können zum Beispiel durch einen Gruppencontroller 142 aufgenommen werden, unter anderem für Leistungsmetriken, Gesundheitsalarme (z. B. Alarme bezüglich der Gesundheit eines bestimmten Servers in Bezug auf Durchsatz, Qualität des Dienstes und/oder anderen Faktoren), Gesundheitsmaßnahmen (z. B. durchgeführte Maßnahmen als Antwort auf einen Gesundheitsalarm) und/oder andere. Die Methode 500 kann am Block 518 den neu hinzugefügten Knotenserver 114 an den Nachrichten-Warteschlangen 148 in einer ähnlichen Weise wie vorangegangen beschrieben Block 418 anmelden.
-
Mit Bezug auf 6 wird nun eine illustrative Methode 600 gezeigt, die als computerisiert Logik und/oder Anweisungen durch den Knotencontroller 152 zur Kommunikation mit dem System 100 ausgeführt wird. Die Methode 600 bestimmt am Block 610 den einzigarten Knoten-Identifier 150 für den Knotenserver 114 (z. B. erhält den Knoten-Identifier aus dem Chipsatz des Servers). Die Methode 600 formuliert und publiziert am Block 612 ein Knotenstatus-Datenpaket, das zusätzlich zum Knoten-Identifier 150 und dem verschlüsselten Eintrag (der den vorangegangen beschriebenen Knotenfähigkeiten-Identifier umfassen kann) Daten bezüglich der anderen verschiedenen Eigenschaften des Knoten umfasst, den der verbundene Gruppen-Controller 142 über Nachrichten-Warteschlangen 148 überwacht. Das Knotenstatus-Datenpaket wird an einen Ablegservice 134 versandt, der über die IP-Adresse im Bereich der IP-Adressen verfügt, der zur Überwachung (z. B. unter Verwendung eines AMQP Direct-Protokolls oder ähnlichen Mechanismus) konfiguriert ist.
-
In einigen Ausführungsformen kann die Methode 600 am Block 614 das Knotenstatus-Datenpaket formulieren, um ein speziell komprimiertes Datenformat zum Speichern der Indikatoren der Knotengesundheit zu verwenden. In einigen Ausführungsformen werden die Indikatoren der Knotengesundheit (z. B. CPU-Temperatur, verfügbarer Speicher, Fehler usw.), Knotenqualität des Dienstes oder andere überwachte Parameter in einem Bitfeld mit fester Länge von zum Beispiel 24 Bits repräsentiert. Dort wo Indikatoren der Knotengesundheit erkannt werden (z. B. unter Verwendung verschiedener Sensoren, die mit einem Knotenserver 114 so gekoppelt sind, die für Fachleute selbstverständlich sind), werden Grenzwerte im Voraus festgesetzt, um anzuzeigen, wenn jeder bestimmte Indikator einen akzeptablen Bereich überschreitet oder anderweitig Aufmerksamkeit benötigt. In einem illustratives Bitfeld stellt jedes Bit einen der überwachten Parameter oder eine Gesundheitskomponente dar und ein Bitwechsel (z. B. von 0 bis 1 oder umgekehrt) zeigt an, dass der Parameter sein voreingestellten Grenzwert überschritten hat. Als ein Beispiel, wenn ein „Knotengesundheit”-Bitfeld den Wert „10110101” hat, kann dies anzeigen, dass 5 der 8 überwachten Parameter aktuell außerhalb des akzeptablen Bereichs arbeiten. Auf diese Weise können die Echtzeitinformationen über die Leistung eines bestimmten Knotenservers 114 bei den Gruppenzuweisungsentscheidungen und/oder Planungsentscheidungen berücksichtigt werden.
-
Die Methode 600 empfängt am Block 616 den mit dem Gruppen-Manager-Server 112 verbundenen Gruppen-Identifier 140, der die Gruppe verwaltet, an der der Knotenserver 114 teilnimmt vom Ablegservice 134 oder vom Gruppencontroller 142. Die Methode 600 kann am Block 618 bestimmen, ob der Knotenserver 114 ein neuer einem physikalischen Standort in der Zone 104 (z. B. das durch den Gruppen-Manager-Server 112 verwaltete Rack) hinzugefügten Knoten ist, und wenn das der Fall ist, kann sie den Knotenserver 114 am Block 620 der Nachrichten-Warteschlange 148 des Gruppen-Manager-Server 112 anmelden, um das Knoten-Datenpaket zu Datensammlungszwecken anzustoßen. Falls der Knotenserver 114 nicht neu einem physikalischen Standort hinzugefügt wurde, aber an einer automatischen Gruppenformation (über den Ablegservice 134) beteiligt ist, wann wird der Block 620 übersprungen.
-
Auf diese Weise können logische Gruppen von Server in einer Zone 104 automatisch aus dem Stehgreif geformt werden, z. B. als Funktionsanforderungen und/oder Prozessorfähigkeiten oder anderen Parameterveränderungen während des Betriebs des Systems 100, ungeachtet der physikalischen Standorte der Server im Datenzentrum 102.
-
BEISPIELE
-
Die illustrativen Beispiele der in diesem Dokument offengelegten Geräte, Systeme und Verfahren werden nachfolgend beschrieben. Eine Ausführungsform der Geräte, Systeme und Verfahren kann eine oder mehrere und jede Kombination der nachfolgend beschriebenen Beispiele umfassen.
-
In einem Beispiel umfasst ein Zonenserver, der für eine Cloud-Datenzentrum-Umgebung mit einem Kommunikationsnetzwerk und mindestens einem Gruppenserver verwendet wird, einen Zonencontroller, der konfiguriert ist, um ein Zonen-Datenpaket zu übertragen, das den Zonenserver dem Netzwerk erkenntlich macht, um auf die Bestätigung-Datenpakete zu hören, die von einem oder mehreren Gruppenservern als Antwort auf das Zonen-Datenpaket herausgegeben werden, um einen Gruppenserver an einer Zone anzumelden, die durch den Zonenserver als Antwort auf den Empfang des Bestätigung-Datenpakets vom Gruppenserver verwaltet wird. In einem Beispiel kann der Zonencontroller ein Übertragungsmodul umfassen, um das Zonen-Datenpaket an das Netzwerk zu übertragen, wobei das Zonen-Datenpaket einen Zonen-Identifier umfasst, der den Zonenserver eindeutig von den anderen Servern in der Datenzentrumumgebung unterscheidet, sowie einen Eintrag, der den Zonenserver als Manager der Zone identifiziert. In einem Beispiel kann der Zonencontroller ein Zuhörer-Modul umfassen, um mehrere Datenpakete als Antwort auf die Zonen-Datenpakete zu empfangen und zu bestimmen, ob diese Datenpakete von einem Gruppenserver herausgegeben wurden. In einem Beispiel kann der Zonencontroller ein Kanal-Creator-Modul umfassen, um mindestens einen Kommunikationskanal zu erzeugen, der für die Datenkommunikation mit dem Gruppenserver konfiguriert ist. In einem Beispiel kann mindestens ein Kommunikationskanal einen ersten Kommunikationskanal umfassen, der konfiguriert ist, um Datenkommunikationen vom Gruppenserver zu empfangen, der einer ersten Kommunikationsart entspricht, einen zweiten Kommunikationskanal umfassen, der konfiguriert ist, um Datenkommunikationen vom Gruppenserver zu empfangen, der einer zweiten Kommunikationsart entspricht, und einen dritten Kommunikationskanal umfassen, um Datenkommunikationen vom Gruppenserver zu empfangen, der einer dritten Kommunikationsart entspricht. In einem Beispiel kann die erste Kommunikationsart Alarme umfassen, die zweite Kommunikationsart kann Richtlinien umfassen und die Kommunikationsart kann Analysen umfassen. In einem Beispiel kann der Zonenserver einen Ablegservice umfassen, der mindestens einen Knotenserver an einer Gruppe anmeldet, der vom Gruppenserver verwalten wird.
-
In einem anderen Beispiel umfasst ein Verfahren zum Zuordnen eines Gruppenservers mit einem einer Zone einer Cloud-Datenzentrum-Umgebung zugeordneten Zonenserver das Übertragen eines Zonen-Datenpakets, das aus Daten besteht, die den Zonenserver gegenüber der Cloud-Datenzentrum-Umgebung identifiziert; das Hören auf Bestätigung-Datenpaketen, die von einem oder mehreren Servern in der Cloud-Datenzentrum-Umgebung als Antwort auf das Zonen-Datenpaket ausgegeben wurden; das Bestimmen, ob eines der Bestätigung-Datenpakete vom Gruppenserver ausgegeben wurde; und Anmelden des Gruppenservers an der Zone, die mit dem Zonenserver verbunden ist, als Antwort auf das Bestimmen, ob ein Bestätigung-Datenpaket durch den Gruppenserver ausgegeben wurde. In einem Beispiel kann das Verfahren das Versenden eines Datenpakets umfassen, das mehrere Kommunikationskanalinformationen an den Gruppenserver umfasst, als Antwort auf das Bestimmen, ob ein Bestätigung-Datenpaket durch den Gruppenserver ausgegeben wurde. In einem Beispiel kann das Verfahren das Einleiten eines Ablegservices umfassen, um den Knotenserver an einer Gruppe anzumelden, der durch den Gruppenserver verwalten wird, als Antwort auf das Bestimmen, ob ein Bestätigung-Datenpaket durch den Gruppenserver ausgegeben wurde. In einem weiteren Beispiel kann ein Computergerät mindestens einen Prozessor umfassen; und die mit mindestens einem Prozessor gekoppelte Computerschaltung ist angeordnet, um mindestens einen Prozessor dazu veranlassen, das vorangegangen genannte Verfahren durchzuführen. In einem anderen Beispiel umfasst mindestens ein computerzugängliches Speichermedium mehrere Anweisungen, die als Reaktion auf ihre Ausführung in einem Computergerät resultieren, welches das vorhergehende Verfahren durchführen.
-
In einem Beispiel umfasst eine Server, der für die Verwendung in einer Cloud-Datenzentrum-Umgebung einschließlich einem Kommunikationsnetzwerk, einem Gruppenserver und mindestens einem Knotenserver gedacht ist, einen Ablegservice, der konfiguriert ist, um ein Kommunikationsport zum Hören auf Knotenteilnahmenachrichten, die von Knotenservern ausgegeben wurden, zu öffnen, um die Hardware-Topologieinformationen über einen Knotenserver aus einer Knotenteilnahmenachricht zu bestimmen, die vom Knotenserver ausgegeben wurde, und um den Knotenserver einer Gruppe zuzuordnen, die vom Gruppenserver auf Grundlage der Hardware-Topologieinformationen verwaltet wird. In einem anderen Beispiel kann die Hardware-Topologieinformation Hauptprozessor-Familiendaten, Speichertechnologiedaten und/oder Art der Netzwerkschnittstellendaten umfassen. In einem Beispiel kann der Ablegservice konfiguriert sein, um auf eine Gruppendatentabelle zuzugreifen, die Gruppen-Identifier den Hardware-Topologieinformationen zuordnet, und um die Hardware-Topologieinformationen des Knotenservers mit den Hardware-Topologieinformationen in der Gruppendatentabelle zu vergleichen.
-
In einem anderen Beispiel umfasst ein Verfahren zum Zuordnen eines Knotenservers mit einem einer Zone einer Cloud-Datenzentrum-Umgebung zugeordneten Gruppenserver das Empfangen von Datenpaketen von einem Knotenserver, das Bestimmen der Hardware-Konfigurationsinformationen über den Knotenserver aus dem Datenpaket; das Vergleichen der Hardware-Konfigurationsinformationen des Knotenservers mit Hardware-Konfigurationsinformationen, die einem oder mehreren Gruppenservern zugeordnet sind; und Anmelden des Knotenservers an einer Gruppe, die durch einen Gruppenserver verwaltet wird, als Antwort auf den Vergleich der Hardware-Konfigurationsinformationen des Knotenservers mit den Hardware-Konfigurationsinformationen, die dem Gruppenserver zugeordnet sind. In einem Beispiel kann das Verfahren das Versenden eines Gruppen-Identifiers an den Knotenserver umfassen, der dem Gruppenserver zugeordnet ist. In einem Beispiel kann das Verfahren das Vergleichen von mindestens den einen Hauptprozessor-Familiendaten, Speichertechnologiedaten und der Art der Netzwerkschnittstellendaten des Knotenservers mit mindestens den einen Hauptprozessor-Familiendaten, Speichertechnologiedaten und der Art der Netzwerkschnittstellendaten, die einem oder mehreren Gruppenservern zugeordnet sind.
-
In einem weiteren Beispiel kann ein Computergerät mindestens einen Prozessor umfassen; und die mit mindestens einem Prozessor gekoppelte Computerschaltung ist angeordnet, um mindestens einen Prozessor dazu veranlassen, das vorangegangen genannte Verfahren durchzuführen. In einem anderen Beispiel umfasst mindestens ein computerzugängliches Speichermedium mehrere Anweisungen, die als Reaktion auf ihre Ausführung in einem Computergerät resultieren, welches das vorhergehende Verfahren durchführen.
-
In einem Beispiel umfasst ein Gruppenserver, der für die Verwendung in einer Cloud-Datenzentrum-Umgebung bestehend aus einem Kommunikationsnetzwerks, das einem physikalischen Standort in der Cloud-Datenzentrum-Umgebung zugeordnet ist, gedacht ist, einen Gruppencontroller, der konfiguriert ist, um einen neuen Knotenserver am physikalischen Standort zu erkennen, einen Gruppen-Identifier an den neuen Knotenserver zu versenden, um den neuen Knotenserver einer Gruppe zuzuordnen, die durch den Gruppenserver verwaltet wird, und um den neuen Knotenserver an einer Vielzahl von Nachrichtenkanälen zur Datenkommunikation anzumelden, wo jeder Nachrichtenkanal einer anderen Art von Daten entspricht, die durch den Gruppencontroller für Überwachungszwecke gesammelt werden. In einem Beispiel kann die Vielzahl der Nachrichtenkanäle einen ersten Nachrichtenkanal umfassen, um Daten bezüglich der Metriken vom Knotenserver zu empfangen, einen zweiten Nachrichtenkanal umfassen, um Daten bezüglich der Servergesundheit vom Knotenserver zu empfangen, und einen dritten Nachrichtenkanal umfassen, um Daten bezüglich der Alarme vom Knotenserver zu empfangen.
-
In einem anderen Beispiel umfasst ein Verfahren zum Zuordnen eines Knotenservers mit einem physikalischen Standort in einer Cloud-Datenzentrum-Umgebung zugeordneten Gruppenserver das Erkennen des Knotenservers als dem physikalischem Standort neu hinzugefügt; das Generieren eines dem Gruppenservers zugeordneten Gruppen-Identifiers; das Versenden des Gruppen-Identifiers an den Knotenserver als Antwort auf das Erkennen des Knotenservers am physikalischen Standort; und das Konfigurieren einer Vielzahl von Nachrichten-Warteschlangen am Gruppenserver, wobei jede Nachrichten-Warteschlange Datenpakete unterschiedlicher Art vom Knotenserver empfangen wird. In einem Beispiel kann das Verfahren das Versenden eines Gruppen-Identifiers an den Knotenserver über einen Broker-Vermittler umfassen.
-
In einem weiteren Beispiel kann ein Computergerät mindestens einen Prozessor umfassen; und die mit mindestens einem Prozessor gekoppelte Computerschaltung ist angeordnet, um mindestens einen Prozessor dazu veranlassen, das vorangegangen genannte Verfahren durchzuführen. In einem anderen Beispiel umfasst mindestens ein computerzugängliches Speichermedium mehrere Anweisungen, die als Reaktion auf ihre Ausführung in einem Computergerät resultieren, welches das vorhergehende Verfahren durchführen.
-
In einem anderen Beispiel umfasst ein für die Verwendung in einer Cloud-Datenzentrum-Umgebung mit einem Kommunikationsnetzwerks und einem Gruppenserver gedachter Knotenserver einen Knotencontroller, der konfiguriert ist, um im Netzwerk ein Knotendatenpaket mit Knoten-Identifier zu veröffentlichen, das den Knotenserver von anderen Servern im Netzwerk eindeutig identifiziert, Knotenfähigkeiten-Informationen, wo die Knotenfähigkeiten-Informationen aus Daten bezüglich einer oder mehrerer Hardware-Fähigkeiten des Knotenservers bestehen, und Knotenstatusinformationen, wo die Knotenstatusinformationen Daten bezüglich von mindestens Servergesundheit, Leistungsfähigkeiten und Qualität des Dienstes umfassen können. In einem Beispiel kann der Knotencontroller konfiguriert sein, um einen Gruppen-Identifier zu empfangen, der dem Gruppenserver als Antwort auf das Knotendatenpaket zugeordnet ist. In einem Beispiel kann der Knotencontroller konfiguriert sein, um die Knotenstatusinformationen mit einem Bitfeld fester Länge zu formulieren, wobei jedes Bit im Bitfeld anzeigt, ob ein Indikator der Servergesundheit einen Grenzwert überschritten hat. In einem Beispiel kann das Bitfeld eine maximale Länge im Bereich von 24 Bits umfassen.
-
In einem weiteren Beispiel umfasst ein Verfahren für das Anmelden eines Knotenservers an einer Gruppe in einer Cloud-Datenzentrum-Umgebung bestehend aus einem Kommunikationsnetzwerks das Veröffentlichen von Informationen über mindestens einer Hardware-Fähigkeiten und Gesundheitsstatus des Knotenservers an das Netzwerk; und das Empfangen eines Gruppen-Identifiers, der den Knotenserver mit einer Gruppe in der Cloud-Datenzentrum-Umgebung verbindet, als Antwort auf das Veröffentlichen der Informationen über die Hardware-Fähigkeiten und/oder Gesundheitsstatus des Knotenservers an das Netzwerk. In einem Beispiel kann das Verfahren das Formulieren von Informationen über den Gesundheitsstatus des Knotenservers unter Verwendung eines komprimierten Datenformats umfassen, das ein Bitfeld fester Länge umfasst, bei dem jedes Bit anzeigt, ob ein Indikator zum Gesundheitsstatus einen Grenzwert überschreitet. In einem weiteren Beispiel kann ein Computergerät mindestens einen Prozessor umfassen; und die mit mindestens einem Prozessor gekoppelte Computerschaltung kann angeordnet sein, um mindestens einen Prozessor dazu veranlassen, das vorangegangen genannte Verfahren durchzuführen. In einem Beispiel umfasst mindestens ein computerzugängliches Speichermedium mehrere Anweisungen, die als Reaktion auf ihre Ausführung in einem Computergerät resultieren, welches das vorhergehende Verfahren durchführen.
-
In einem Beispiel umfasst ein Verfahren zum Verwalten von Servern in einer Zone einer Cloud-Datenzentrum-Umgebung das Empfangen von Daten bezüglich ein oder mehrerer Hardware-Fähigkeiten eines Knotenservers in der Zone von einem Knotenserver; das Zuweisen des Knotenservers zu einer ersten Gruppe von Servern in der Zone als Antwort auf ein oder mehrere Hardware-Fähigkeiten; das Empfangen von Daten bezüglich zu ein oder mehrerer Servergesundheitsparameter des Knotenservers; und das Zuweisen des Knotenservers zu einer zweiten Gruppe von Servern in der Zone als Antwort auf ein oder mehrere Hardware-Fähigkeiten In einem Beispiel kann das Verfahren das Übertragen von Informationen bezüglich der Zone an die Cloud-Datenzentrum-Umgebung und das Empfangen von Daten vom Knotenserver als Antwort auf das Übertragen. In einem Beispiel kann ein Computergerät mindestens einen Prozessor umfassen; und die mit mindestens einem Prozessor gekoppelte Computerschaltung kann angeordnet sein, um mindestens einen Prozessor dazu veranlassen, das vorangegangen genannte Verfahren durchzuführen. In einem Beispiel umfasst mindestens ein computerzugängliches Speichermedium mehrere Anweisungen, die als Reaktion auf ihre Ausführung in einem Computergerät resultieren, welches das vorhergehende Verfahren durchführen.
-
In einem Beispiel umfasst ein maschinenzugängliches Speichermedium eine Vielzahl von Anweisungen, die als Antwort auf ihre Durchführung in einem Computergerät resultieren, das ein Zonen-Datenpakets überträgt, das aus Daten besteht, die den Zonenserver gegenüber der Cloud-Datenzentrum-Umgebung identifizieren; auf Bestätigung-Datenpakete hört, die von einem oder mehreren Servern in der Cloud-Datenzentrum-Umgebung als Antwort auf das Zonen-Datenpaket ausgegeben wurden; bestimmt, ob eines der Bestätigung-Datenpakete vom Gruppenserver ausgegeben wurde; und den Gruppenserver an der Zone anmeldet, die mit dem Zonenserver verbunden ist, als Antwort auf das Bestimmen, ob ein Bestätigung-Datenpaket durch den Gruppenserver ausgegeben wurde.
-
In einem Beispiel kann mindestens ein maschinenzugängliches Speichermedium das Versenden eines Datenpakets umfassen, das mehrere Kommunikationskanalinformationen an den Gruppenserver umfasst, als Antwort auf das Bestimmen, ob ein Bestätigung-Datenpaket durch den Gruppenserver ausgegeben wurde. In einem Beispiel kann das maschinenzugängliche Speichermedium das Einleiten eines Ablegservices umfassen, um den Knotenserver an einer Gruppe anzumelden, der durch den Gruppenserver verwalten wird, als Antwort auf das Bestimmen, ob ein Bestätigung-Datenpaket durch den Gruppenserver ausgegeben wurde.
-
Während die Konzepte der vorliegenden Offenbarung veranschaulicht und im Detail in den Figuren und der vorhergehenden Beschreibung beschrieben worden sind, ist eine derartige Abbildung und Beschreibung als veranschaulichend und in keiner Weise einschränkend anzusehen. Es ist offensichtlich, dass nur die illustrative Ausführungsformen veranschaulicht und beschrieben wurden und dass es gewünscht ist, alle Änderungen und Modifizierungen, die dem Sinn der Erfindung entsprechen, zu schützen.