-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung betrifft allgemein Computernetze und insbesondere
den Lastausgleich in Cluster-Netzumgebungen.
-
HINTERGRUND
DER ERFINDUNG
-
Wenn
Websites im Internet sehr bekannt werden, kann es dazu kommen, dass
ein einzelner Server die im System anfallende Last nicht mehr bewältigen kann.
Diese Situation kann gelöst
werden, indem mehrere Server, die auch als Knoten bezeichnet werden,
zu einer Knotengruppe zusammengefasst werden. Gegenüber Clients
verhält
sich die auch als Lastverteilungsgruppe bezeichnete Knotengruppe
immer noch wie ein einzelner Server. Intern wird jedoch die an der
Knotengruppe ankommende Last gleichmäßig auf die Mitglieder der
Knotengruppe verteilt, damit keiner der einzelnen Knoten überlastet
wird.
-
In
manchen Netzkonfigurationen werden mehrere Knotengruppen gebildet,
um unterschiedliche Systemressourcen zu verwalten. Zum Beispiel
kann eine Knotengruppe für
das Übertragen
von Datendateien zuständig
sein, während
eine andere Knotengruppe den E-Mail-Dienst einer Website verwaltet.
Darüber
hinaus können
manche Knoten des Netzes zu mehreren Knotengruppen gehören und
so einander überlappende
Knotengruppen erzeugen. Solche flexiblen Konfigurationen von Knotengruppen
weisen zwar den Vorteil auf, dass sie eine sehr effiziente Ressourcenzuordnung
ermöglichen,
jedoch lassen sie sich mitunter nur schwer verwalten.
-
Ein
Netzadministrator konfiguriert üblicherweise
mindestens einen Knoten in einer Knotengruppe als Masterknoten,
der im Folgenden auch als lb-Knoten bezeichnet wird. Im Allgemeinen übernimmt
der Masterknoten die Eigentumsrechte für die Knotengruppe und ist
für die
Zuordnung der Tasks auf die Mitglieder der Knotengruppe zuständig. Der
Masterknoten erledigt somit dieselben Aufgaben wie die anderen Knoten
der Knotengruppe und ist zusätzlich
noch für
die Verteilung der Arbeit auf die Knoten der Knotengruppe zuständig.
-
Im
Allgemeinen wählt
der Netzadministrator den Masterknoten manuell aus. Obwohl der Netzadministrator
der Auswahl eines Masterknotens beliebige Kriterien zugrunde legen
kann, werden die Masterknoten normalerweise nach einer möglichst
hohen Verfügbarkeit
ausgewählt.
Eine hohe Verfügbarkeit
bezieht sich auf die Fähigkeit
eines Knotens, auch beim Auftreten schwerwiegender Störungen im
Netz weiterhin ständigen
Zugriff auf Netzressourcen zu gewährleisten. Somit steht der
Netzadministrator oft vor der Aufgabe, in der Knotengruppe den Knoten
mit der höchsten
Verfügbarkeit
zu finden, um ihn zum Masterknoten der Gruppe zu bestimmen. Die
Suche nach den Knoten mit der höchsten
Verfügbarkeit
in möglicherweise überlappenden
Knotengruppen kann ein schwieriges Unterfangen sein und vom Netzadministrator
die Anwendung zeitaufwändiger
Trial-and-Error-Methoden
(Näherungsverfahren)
verlangen.
-
Ein
anderes Verfahren zur Erhöhung
der Verfügbarkeit
einer Knotengruppe besteht darin, für die Knotengruppe einen Primär-Masterknoten und
einen Sekundär-Masterknoten
festzulegen, die auch als primärer lb-Knoten
und als sekundärer
lb-Knoten bezeichnet werden. Der Primär-Masterknoten nimmt den Lastausgleich
für die
Knotengruppe vor, während
der Sekundär-Masterknoten als
Sicherungsmasterknoten dient, der den Lastausgleich übernehmen
kann, wenn der Primär-Masterknoten
ausfällt.
-
Eine
solche Sicherungskonfiguration wird zum Beispiel in der US-Patentschrift 5,774,660
von Brendel et al. gezeigt, in welcher ein Sicherungs-Lastverteiler
zur Übernahme
der Funktion des Primär-Lastverteilers für den Fall
bereitgestellt wird, dass letzterer ausfällt.
-
Die
Bildung eines Masterknotenpaares führt zu einer Redundanz der
Knotengruppe und erhöht
somit ihre Verfügbarkeit.
-
Das
Hinzufügen
eines Sekundär-Masterknotens
verkompliziert jedoch die Situation insofern, als der Netzadministrator
jetzt zwei Knoten in der Knotengruppe ermitteln muss, die als lb-Knoten dienen können. Im Allgemeinen
müssen
auch der Primär-
und der Sekundär-lb-Knoten
in möglicherweise überlappenden
Knotengruppen auf der Basis maximaler Verfügbarkeit ausgewählt werden.
-
ÜBERBLICK ÜBER DIE
ERFINDUNG
-
Die
vorliegende Erfindung löst
die oben genannten Probleme nach dem Stand der Technik, indem sie ein
Verfahren zum Auswählen
von Masterknoten zur Verfügung
stellt, um eine Zielknotengruppe in einem Computernetz zu verwalten,
welches mehrere Knoten und Knotengruppen aufweist.
-
Das
Verfahren beinhaltet eine Ermittlungsoperation zur Bestimmung eines
Hammingabstands von Knotenpaaren im Netz. Jedes Knotenpaar weist
zwei Knotenpaarmitglieder auf, wobei mindestens ein Knoten des Knotenpaars
zu einer Knotengruppe gehört
und der Hammingabstand des Knotenpaars gleich der Anzahl der Knotengruppen
ist, an denen die Knoten des Knotenpaars nicht beteiligt sind. Durch
eine andere Ermittlungsoperation wird ein Partizipationsindex für Knoten
innerhalb des Netzes ermittelt. Der Partizipationsindex ist gleich
der Anzahl der Knotengruppen, zu denen der Knoten gehört. Ferner
wird auch ein Verfügbarkeitspotenzial
für die
Knotenpaare ermittelt. Das Verfügbarkeitspotenzial
ist gleich der um den Hammingabstand des Knotenpaars verminderten
Summe der Partizipationsindizes der Knoten des Knotenpaars. Eine
optimale Kombination von Knotenpaaren ergibt sich durch Lokalisierung
der Knotenpaarkombination mit dem größtmöglichen Verfügbarkeitspotenzial
im Netz. Durch eine Auswahloperation wird aus der optimalen Kombination
von Knotenpaaren ein Masterknotenpaar ausgewählt, dessen beide Knoten zur
Zielknotengruppe gehören.
Wenn es für
die Zielknotengruppe kein Masterknotenpaar gibt, wird ein zur Zielknotengruppe
gehörender
Knoten als Masterknoten für
die Zielknotengruppe ausgewählt.
-
Ein
weiterer Aspekt der Erfindung ist ein Computerprogrammprodukt nach
Anspruch 6, das auf einem physischen Medium gespeichert ist.
-
Noch
ein weiterer Aspekt der Erfindung ist ein System nach Anspruch 11
zur Auswahl von Masterknoten, mit dem eine Zielknotengruppe in einem
Computernetz, das mehrere Knoten und Knotengruppen umfasst, verwaltet
wird.
-
Die
obigen sowie weitere Merkmale, Nutzen und Vorteile der Erfindung
werden aus der folgenden ausführlichen
Beschreibung verschiedener Ausführungsarten
der Erfindung unter Bezug auf die beiliegenden Zeichnungen deutlich.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1 zeigt
ein Beispiel für
eine Computernetzumgebung zum Realisieren der vorliegenden Erfindung.
-
2 zeigt
ein Computernetz zum Realisieren der vorliegenden Erfindung, das
in mehrere Knotengruppen aufgeteilt ist.
-
3A zeigt
den ersten Abschnitt eins Flussdiagramms eines beispielhaften Algorithmus
zur Auswahl eines Masterknotens gemäß der vorliegenden Erfindung.
-
3B zeigt
den zweiten Abschnitt eines Flussdiagramms eines beispielhaften
Algorithmus zur Auswahl eines Masterknotens gemäß der vorliegenden Erfindung.
-
4A zeigt
eine Matrix einer Knotengruppenkonfiguration.
-
4B zeigt
eine Matrix von Partizipationsindizes.
-
4C zeigt
eine Matrix von Hammingabständen.
-
4D zeigt
eine Matrix von Verfügbarkeitspotenzialen.
-
4E zeigt
eine Matrix bevorzugter Anordnungen.
-
DETAILLIERTE
BESCHREIBUNG DER ERFINDUNG
-
Die
vorliegende Erfindung dient allgemein zur automatischen Auswahl
von Masterknoten unter Erreichung einer optimalen Verfügbarkeit
der Knotengruppe. Die Erfindung wird im Folgenden unter Bezug auf
die 1 bis 4E ausführlich beschrieben. In den
Figuren werden gleiche Strukturen und Elemente durchweg mit gleichen
Bezugsnummern bezeichnet.
-
1 zeigt
ein Beispiel einer Computernetzumgebung 102, in welcher
die vorliegende Erfindung realisiert ist. Der dort dargestellte
Client 104 steht über
ein Weitverkehrsnetz (Wide Area Network, WAN) 108 mit einer
Knotengruppe 106 in Verbindung. Der Kommunikationspfad
zwischen dem Client 104 und der Knotengruppe 106 kann
verschiedene dem Fachmann bekannte Netzeinheiten enthalten. Zum
Beispiel kann ein Router 110 eingesetzt werden, um Nchrichten
vom Client 104 zur Knotengruppe 106 gerichtet
weiterzuleiten.
-
Die
Knotengruppe 106 besteht aus mehreren Knoten 112,
welche mindestens eine allgemein verfügbare Netzressource 114,
zum Beispiel Daten, gemeinsam nutzen. Ein Knoten in der Knotengruppe 106 wird als
Masterknoten 116 ausgewählt,
der im Folgenden auch als Primär-lb-Knoten
bezeichnet wird. Der Masterknoten 116 überwacht üblicherweise die Verfügbarkeit
und die Last jedes Knotens und leitet neue Sitzungsanforderungen
von Clients an die Knoten 112 mit freier Verarbeitungskapazität weiter.
Auf diese Weise bewirkt der Masterknoten 116 einen Lastausgleich,
indem er ankommende Verbindungen und Datenpakete denjenigen Knoten 112 in
der Knotengruppe 106 zuteilt, welche die Arbeit übernehmen
können.
-
Die
Knotengruppe 106 kann auch einen zweiten Masterknoten 118 beinhalten,
der im Folgenden als Sekundär-lb-Knoten
oder als Sicherungsmasterknoten bezeichnet wird. Der Primär-lb-Knoten 116 und
der Sekundär-lb-Knoten 118 werden
im vorliegenden Dokument zusammen als Masterknotenpaar oder lb-Knoten
bezeichnet. Der erste und der zweite Masterknoten 116 und 118 überwachen
ständig
gegenseitig ihren Status, was als Überwachungssignal (Heartbeat)
bekannt ist, sodass der zweite Masterknoten 118 die Eigentumsrechte
der Knotengruppe übernehmen
kann, wenn der erste Masterknoten 116 ausfällt. Dadurch
wird in das System eine Redundanz eingebracht und die Weiterführung von
Clientsitzungen im Falle eines Fehlers in einem der lb-Knoten unterstützt.
-
Bei
einer Konfiguration der vorliegenden Erfindung nutzen die lb-Knoten
die Software „Network
Dispatcher" von
IBM als Lastausgleicher im Netz. IBM ist ein eingetragenes Warenzeichen
von International Business Machines Corporation. Der Network Dispatcher
gewährleistet
bei extrem hoher Last eine hohe Verfügbarkeit, indem er viele einzelne
Knoten zu einem einzigen logischen Netzserver verknüpft. Darüber hinaus
verfolgt der Network Dispatcher die Verfügbarkeit und die Last injedem
einzelnen Knoten, sodass der Masterknoten neu ankommende Sitzungsanforderungen
an Knoten mit freier Verarbeitungskapazität weiterleiten kann. Ferner
ist denkbar, dass die vorliegende Erfindung auch mit anderen Netzlastverteilern,
die nach dem Konzept von aktiven Sicherungs-lb-Knoten arbeiten (zum Beispiel dem „Linux
Virtual Server"),
mit verschiedenen speziell angepassten Lastverteilungseinheiten
oder anderen geclusterten Knotenumgebungen verwendet werden kann.
-
2 zeigt
ein Computernetz 201 zum Realisieren der vorliegenden Erfindung,
das in mehrere Knotengruppen 106, 202, 204 und 206 aufgeteilt
ist. Eine solche Anordnung ist typisch für eine Netzeinheit, die zur Verarbeitung
von Netzverkehr mit großen
Datenvolumina konfiguriert ist. Die Figur zeigt, dass einige Knoten des
Netzes zu zwei oder mehr Knotengruppen gehören und so einander überlappende
Knotengruppen bilden. Somit ermöglicht
die vorliegende Erfindung das beliebige Zusammenfassen von Knoten
zu Knotengruppen, natürlich
unter der Voraussetzung, dass jeder Knoten in der Knotengruppe auf
die Netzressourcen zugreifen kann, mit denen seine Knotengruppe
zusammenarbeitet.
-
Im
Folgenden wird als eine Ausführungsart
der vorliegenden Erfindung ein System ausführlich beschrieben, das zur
automatischen Auswahl von lb-Knoten für die Verwaltung von Knotengruppen
in einem Computernetz dient. Die lb-Knoten werden so ausgewählt, dass
die Verfügbarkeit
des Netzes und die Fortsetzung von Sitzungen im Falle eines Fehlers
in einem lb-Knoten
optimiert werden. Dadurch befreit die Erfindung den Netzadministrator
auf vorteilhafte Weise von der Notwendigkeit, den besten Masterknoten
zur Verwaltung jeder Knotengruppe im Netz zu ermitteln.
-
Allgemein
ist die optimale Einsätzstrategie
für lb-Knoten
wie folgt definiert: Bei einem gegebenen Satz von Knoten N = {N1, N2, ...Nn} und einem gegebenen Satz einander möglicherweise überlappender
Knotengruppierungen in den Gruppen G1, G2, ... Gm, mit Gi = {Np, Nq, ...} , wobei Np,
Nq, ... zum Satz N gehören, soll für jede Knotengruppe Gi ein Masterknotenpaar ausgewählt werden,
unter der Bedingung, dass:
- 1. ein Knoten des
Masterknotenpaars zum Primär-Masterknoten
(Primär-lb-Knoten)
und der andere Knoten des Masterknotenpaars zum Sicherheitsmasterknoten
(Sekundär-lb-Knoten) bestimmt
wird; und
- 2. wenn zwei Knoten Np und Nq als Masterknoten der Gruppe G; gewählt werden,
weder der Knoten Np noch der Knoten Nq als Masterknoten einer anderen Knotengruppe
Gj mit einem dritten Knoten Nr in
Frage kommen.
-
Wenn
die maximal mögliche
Anzahl von Gruppen im Netz Masterknoten enthält, welche den oben genannten
Bedingungen genügen,
liegt eine optimale Einsatzstrategie vor. Darüber hinaus bieten die Gruppen, welche
den oben genannten Bedingungen genügen, eine hohe Verfügbarkeit.
Dabei ist zu beachten, dass bei manchen Netzkonfigurationen möglicherweise
nicht für
jede Gruppe eine hohe Verfügbarkeit
erreicht werden kann. Für
die Gruppen, welche keine hohe Verfügbarkeit erreichen können, wählt der
Auswahlalgorithmus der vorliegenden Erfindung ein Mitglied der Knotengruppe
als Masterknoten aus.
-
Bei
einer Ausführungsart
der Erfindung erfüllt
der Algorithmus auch noch die folgende schwache Bedingung: die Masterknoten-Funktionen für die Gruppen
G1, G2, ... Gm werden so gleichmäßig wie möglich auf die Knoten im Satz
N verteilt. Mit anderen Worten, wenn es m Gruppen und n > m Knoten gibt und
die Konfiguration dies zulässt,
fungiert keiner der n Knoten als Masterknoten für zwei verschiedene Gruppen.
Eine solche Einsatzstrategie ist wünschenswert, da hierdurch die
Eingangspunkte im Netz auf die verschiedenen Knoten des Systems
verteilt, die verfügbare
Eingangsbandbreite erhöht
und der Datenverkehr zur Lastverteilung auf die Knoten verteilt
wird.
-
Die 3A und 3B zeigen
ein Flussdiagramm eines beispielhaften Algorithmus zur Auswahl von Masterknoten
gemäß der vorliegenden
Erfindung. In der ersten Phase des in 3A gezeigten
Algorithmus werden die Knoten ausgehend von Informationen über die
Netzkonfiguration optimal gepaart. In der in 3B gezeigten
zweiten Phase des Algorithmus wird für jede Knotengruppe ein Masterknoten
ausgewählt.
Hierzu ist anzumerken, dass die logischen Operationen des Algorithmus
1.) als eine Folge von durch einen Computer in einem Computersystem
ausgeführten
Schritten und/oder 2.) durch miteinander verknüpfte Maschinenmodule im Computersystem
implementiert werden können.
Die Wahl der Implementierungsform hängt von den Leistungsanforderungen
des Systems ab, in welchem die Erfindung implementiert wird. Demzufolge
werden die logischen Operationen der hier beschriebenen Ausführungsarten
der vorliegenden Erfindung alternativ als Operationen, als Schritte
oder als Module bezeichnet.
-
Der
erste Schritt des Algorithmus, Schritt 302, ist die Ermittlung
des Hammingabstands. In diesem Schritt wird der Hammingabstand (d)
für jedes
Knotenpaar berechnet. Der Hammingabstand für jedes Knotenpaar im Netz
ist definiert als die Anzahl von Knotengruppen, an denen die Knoten
des Knotenpaars nicht beteiligt sind. Beispielsweise weist das Knotenpaar
(n5, n6) in 2 einen Hammingabstand von 0
auf, da der Knoten n5 und der Knoten n6 zu denselben Knotengruppen
gehören.
Das Knotenpaar (n5, n10) hingegen weist einen Hammingabstand von
2 auf, da der Knoten n10 zu zwei Knotengruppen gehört, zu welchen
der Knoten n5 nicht gehört.
Nach der Ermittlung des Hammingabstands für jedes Knotenpaar geht der
Prozess in 3A weißer zu Schritt 304,
in welchem der Partizipationsindex ermittelt wird.
-
In
Schritt 304 wird der Partizipationsindex (pi) für jeden
Knoten im Netz berechnet. Der Partizipationsindex (pi) jedes Knotens
wird durch Berechnung der Anzahl der Knotengruppen ermittelt, zu
welchen der Knoten gehört.
Beispielsweise weist der Knoten n7 in 2 einen
Partizipationsindex von 2 auf, da er zu den Knotengruppen LBG-B
und LBG-D gehört.
Nach der Ermittlung des Partizipationsindexes geht der Prozess weiter zu
Schritt 306, in welchem das Verfügbarkeitspotenzial ermittelt
wird.
-
In
Schritt 306 wird das Verfügbarkeitspotenzial (P) für jedes
Knotenpaar berechnet. Das Verfügbarkeitspotenzial
(P) eines Knotenpaars ist definiert als Summe der um den Hammingabstand
(d) des Knotenpaars verminderten Partizipationsindizes (pi) des
Knotenpaars. Da die Summe der Partizipationsindizes (pi) der Knotenpaarmitglieder
die Gesamtzahl der Knotengruppen liefert, zu denen das Knotenpaar
gehört,
und der Hammingabstand (d) die Anzahl der Knotengruppen liefert,
an denen die Knotenpaarmitglieder nicht beteiligt sind, zeigt das
Verfügbarkeitspotenzial
(P) eines Knotenpaars somit die Anzahl möglicher Knotengruppen an, denen
das Knotenpaar eine hohe Verfügbarkeit
zur Verfügung
stellen kann. Wenn also pi(np) der Partizipationsindex
des Knotens np, pi(nq)
der Partizipationsindex des Knotens nq und
d(np, nq) der Hammingabstand
des Knotenpaars (np, nq)
ist, dann ist (pi(np) + pi(nq) – d(np, nq))/2 gleich
der Anzahl möglicher
Knotengruppen, für welche
das Knotenpaar (np, nq)
als Masterknoten in Frage kommt. Nach der Ermittlung des Verfügbarkeitspotenzials
in Schritt 306 geht der Prozess weiter zur Suchoperation 308.
-
In
der Suchoperation 308 wird eine optimale Kombination von
Knotenpaaren für
das Netz ermittelt. Die Kombination von Knotenpaaren ist dann optimal,
wenn das größtmögliche Verfügbarkeitspotenzial
(P) für
das gesamte Netz erreicht wird. Mit anderen Worten, die optimale
Knotenpaarung ist dann erreicht, wenn die Summe Σ(pi – d) über alle Knotenpaare einen
Maximalwert aufweist. Unter optimal ist zu verstehen, dass die Kombination
der erzeugten Knotenpaare vielleicht nicht unbedingt die einzige
bestmögliche
Einsatzstrategie darstellt, für
eine bestimmte Konfiguration jedoch keine bessere als die vom Algorithmus
erzeugte Einsatzstrategie gefunden werden kann.
-
Bei
einer Ausführungsart
der Erfindung wird die optimale Kombination von Knotenpaaren durch
iterative Suche nach dem größtmöglichen
Gesamtverfügbarkeitspotenzial
in einer geordneten Matrix der Verfügbarkeitspotenziale von Knotenpaaren
ermittelt. Beginnend mit dem obersten Element (dem Element mit dem größten Potenzialwert)
in der Matrix werden alle Knotenpaare jeweils mit ihrem Verfügbarkeitspotenzial
in die Matrix eingetragen. Nachdem alle Knoten erfasst worden sind,
wird das Gesamtverfügbarkeitspotenzial
mit dem zuvor berechneten Gesamtverfügbarkeitspotenzial verglichen.
Wenn der Wert des neuen Gesamtverfügbarkeitspotenzials größer ist,
wird die betreffende Kombination von Knotenpaaren als optimale Paarung
gespeichert und mit der nächsten
Kombination von Knotenpaaren verglichen. Der Prozess wird so lange
wiederholt, bis das Verfügbarkeitspotenzial
des optimalen Paars größer ist
als das größte betrachtete
Knotenpaarpotenzial, mit der Gesamtknotenzahl multipliziert. Der
Pseudo-Programmcode zur Ermittlung der optimalen Kombination von
Knotenpaaren kann beispielsweise wie folgt aussehen:
-
-
Die 4A bis 4D zeigen
zur besseren Veranschaulichung des obigen Prozesses beispielhafte Datenstrukturen,
die vom Algorithmus zur Auswahl von Masterknoten verwendet werden.
Gemäß der vorliegenden
Erfindung können
für die
im Folgenden beschriebenen Datenstrukturen beliebige Medien verwendet werden,
auf die der Auswahlalgorithmus zugreifen kann. Bei einer bestimmten
Ausführungsart
der Erfindung werden die Datenstrukturen als computerlesbare Medien
realisiert. Beispielsweise, aber nicht ausschließlich, können computerlesbare Medien
Computerspermedien und Kommunikationsmedien umfassen. Als Computerspeichermedien
kommen flüchtige
und nicht flüchtige,
wechselbare und fest installierte Medien in Frage, die durch beliebige
Verfahren oder Technologien zur Informationsspeicherung implementiert
werden, zum Beispiel computerlesbare Anweisungen, Datenstrukturen,
Programmmodule oder andere Daten. Computerspeichermedien sind beispielsweise
(aber nicht ausschließlich)
Speicherarten wie RAM, ROM, EEPROM und Flash-Speicher, optische
Speicher wie CD-ROM und DVD, Magnetspeichereinheiten wie Magnetbandkassetten,
Magnetbänder
und Magnetplattenspeicher oder beliebige andere Medien, die zur
Speicherung der gewünschten
Informationen geeignet sind und auf die der Auswahlalgorithmus zugreifen
kann. Kommunikationsmedien realisieren üblicherweise computerlesbare
Anweisungen, Datenstrukturen, Programmmodule oder andere Daten als
modulierte Datensignale, die sich durch das Modulieren einer Trägerfrequenz
oder die Verwendung eines anderen Transportmechanismus ergeben,
und beinhalten jegliche Art von Medien zur Informationsbereitstellung.
Unter dem Begriff „moduliertes
Datensignal" ist
ein Signal zu verstehen, bei dem eine oder mehrere Eigenschaften
in bestimmter Weise eingestellt oder verändert wurden, um Informationen
in das Signal zu codieren. Als Kommunikationsmedien kommen zum Beispiel
leitungsgebundene Medien wie Leitungsnetze oder direkt verdrahtete
Verbindungen sowie drahtlose Medien wie beispielsweise akustische,
HF-, Infrarot-Medien in Frage. Der Begriff „computerlesbare Medien" umfasst auch beliebige
Kombinationen der oben genannten Medien.
-
4A zeigt
die Matrix 402 einer Konfiguration von Knotengruppen. In
der Matrix 402 vom Typ (m, n) für die Konfiguration der Knotengruppen
sind die Beziehungen zwischen jedem Knoten und jeder Knotengruppe
im Netz gespeichert, wobei m die Anzahl der Knotengruppen im Netz
und n die Anzahl der Knoten im Netz ist. Bei einer bestimmten Ausführungsart
der Erfindung beschreibt jede Spalte in der Knotengruppenkonfigurationsmatrix 402 einen
Netzknoten und jede Zeile eine Knotengruppe des Netzes. Eine „1" oder ein Booleschier
Wert „wahr" in einer Matrixzelle
besagt, dass der entsprechende Knoten zu der jeweiligen Knotengruppe gehört, während eine „0" oder ein Boolescher
Wert „falsch" besagt, dass der
Knoten nicht zu dieser Knotengruppe gehört. Beispielsweise gehört der Knoten
n1 zu den Knotengruppen LBG-A, LBG-C und LBG-D, nicht aber zu den
Knotengruppen LBG-B und LBG-E.
-
4B zeigt
eine Matrix 404 der Partizipationsindizes. Die Partizipationsindex-Matrix 404 ist
eine Matrix vom Typ (1, n), in welcher der Partizipationsindex (pi)
jedes Knotens gespeichert ist. Gemäß der obigen Beschreibung gibt
der Partizipationsindex (pi) die Anzahl der Knotengruppen wieder,
zu denen ein Knoten gehört.
Somit enthält
jede Matrixzelle in der Partizipationsindex-Matrix 404 die
Anzahl Einsen in jeder Spalte, die jeweils einem Knoten in der Knotengruppenkonfigurationsmatrix 402 entspricht.
-
4C zeigt
eine Matrix 406 für
die Hammingabstände.
Die Matrix 406 für
die Hammingabstände
ist eine Matrix vorn Typ (n, n), in welcher für jedes Knotenpaar der Hammingabstand
(d) gespeichert ist. Gemäß der obigen
Erörterung
gibt der Hammingabstand für
ein Knotenpaar die Anzahl der Knotengruppen wieder, an denen die
Knoten der Knotengruppe nicht beteiligt sind. Bei einer Ausführungsart
der Erfindung wird der Hammingabstand durch Ausführen einer XOR-Operation (exklusives
ODER) zwischen zwei Spalten der Matrix 402 für die Konfiguration
der Knotengruppen und Addieren der Anzahl Einsen in diesem Ergebnis
berechnet. Zum Beispiel liefert eine XOR-Operation zwischen den
Spalten n1 und n2 in der Matrix 402 für die Konfiguration der Knotengruppen
das Ergebnis „11010". Durch Addition
der Einsen in diesem Ergebnis erhält man einen Hammingabstand
(d) von 3.
-
4D zeigt
eine Matrix 408 des Verfügbarkeitspotenzials. Die Verfügbarkeitspotenzial-Matrix 408 ist eine
Matrix vom Typ (n, n), in welcher für jedes Knotenpaar das Verfügbarkeitspotenzial
(P) gespeichert ist. Gemäß der obigen
Erörterung
wird das Verfügbarkeitspotenzial
für ein
Knotenpaar durch Addieren der Partizipationsindizes der einzelnen
Knoten des Knotenpaars und Subtrahieren des Hammingabstands des
Knotenpaars von diesem Ergebnis berechnet. Somit ist das Verfügbarkeitspotenzial
für das
Knotenpaar (n3, n5) gleich pi(n3) + pi(n5) – d(n3, n5) oder gleich 4 +
4 – 2.
-
Die
Verfügbarkeitspotenzial-Matrix 408 dient
zur Ermittlung der optimalen Kombination von Knotenpaaren im Netz.
Gemäß der obigen
Erörterung
gilt als optimale Kombination von Knotenpaaren die Knotenpaarkombination
mit dem größtmöglichen
Verfügbarkeitspotenzial
(P). Wie oben ausgeführt,
müssen
die Knotenpaare der Bedingung genügen, dass, wenn zwei Knoten
Np, Nq eines Knotenpaars
zu Masterknoten einer Knotengruppe Gi bestimmt
werden, weder Np noch Nq als
Masterknoten einer anderen Knotengruppe Gj mit einem
dritten Knoten Nr fungieren kann. Auf der
Suche nach Knotenpaarkombinationen mit maximalem Gesamtverfügbarkeitspotenzial
(P) erhält
man die optimale Knotenpaarkombination (n3, n4) und (n1, n5) mit
einem Gesamtverfügbarkeitspotenzial
(P) von 12. Dies ist der größtmögliche Wert
für das
Verfügbarkeitspotenzial
(P) des Netzes und entspricht somit der optimalen Kombination von
Knotenpaaren. Bei einer Ausführungsart
der vorliegenden Erfindung wird die optimale Kombination von Knotenpaaren
in einem Computerspeicher gespeichert.
-
Nachdem
im Flussdiagramm der 3A die optimale Kombination
von Knotenpaaren gefunden wurde, geht der Masterknotenauswahl-Algorithmus weiter
zur Auswahloperation 310 in 3B. Während der Auswahloperation 310 wird
jeder Knotengruppe ein Knotenpaar als Masterknotenpaar dieser Knotengruppe zugewiesen.
Das ausgewählte
Knotenpaar muss zu der optimalen Kombination von Knotenpaaren und
jeder Knoten dieses Knotenpaars zu der Knotengruppe gehören. Somit
muss das Masterknotenpaar für
eine bestimmte Zielknotengruppe aus der optimalen Kombination von
Knotenpaaren ausgewählt
werden und jeder Knoten des Knotenpaars zur Zielknotengruppe gehören.
-
Anhand
der Knotengruppenkonfigurationsmatrix 402 von 4A wurde
beispielsweise berechnet, dass die Konfiguration (n3, n4) und (n1,
n5) für
diese Netzkonfiguration die optimale Kombination von Knotenpaaren
darstellt. Das einzige Knotenpaar aus der optimalen Kombination
von Knotenpaaren, dessen beide Knoten zur Knotengruppe LBG-B gehören, ist
das Knotenpaar (n3, n4). Deshalb wird das Knotenpaar (n3, n4) zum
Masterknotenpaar der Knotengruppe LBG-B bestimmt. Desgleichen wird
das Knotenpaar (n3, n4) zum Masterknotenpaar der Knotengruppen LBG-C
und LBG-E bestimmt. Ferner ist das einzige Knotenpaar aus der optimalen
Kombination von Knotenpaaren, dessen beide Knoten zur Knotengruppe
LBG-D gehören,
das Knotenpaar (n1, n5). Somit wird das Knotenpaar (n1, n5) zum
Masterknotenpaar der Knotengruppe LBG-D bestimmt. Schließlich können die
beiden Knotenpaare (n1, n5) und (n3, n4) zu Masterknotenpaaren der
Knotengruppe LBG-A bestimmt werden, da die Knoten beider Knotenpaare
zur Knotengruppe LBG-A gehören.
Im Folgenden wird bei einer Ausführungsart
der Erfindung erörtert,
dass zur Auswahl eines Masterknotenpaars aus zwei oder mehr in Frage
kommenden Knotenpaaren eine bevorzugte Auswahlreihenfolge eingehalten wird.
-
Nach
Beendigung der Auswahloperation 310 in 3B geht
der Prozess weiter zur Abfrageoperation 312. In der Abfrageoperation 312 prüft der Algorithmus,
ob es noch Knotengruppen gibt, denen kein Masterknotenpaar zugewiesen
wurde. Einer Zielknotengruppe ist möglicherweise kein Masterknotenpaar
zugewiesen worden, wenn es in der optimalen Kombination von Knotenpaaren
keine Knotenpaare gibt, deren beide Knoten zur Zielknotengruppe
gehören.
Wenn das Ergebnis der Abfrageoperation 312 lautet, dass
allen Knotengruppen Masterknotenpaare zugewiesen wurden, endet der
Algorithmus. Wenn das Ergebnis der Abfrageoperation 312 jedoch
lautet, dass es eine oder mehrere Knotengruppen gibt, denen kein
Masterknotenpaar zugewiesen wurde, geht der Prozess weiter zur Auswahloperation 314.
-
Während der
Auswahloperation 314 wird jeder Knotengruppe, der noch
kein Masterknotenpaar zugewiesen wurde, ein Masterknoten zugewiesen.
Der hierfür
ausgewählte
Masterknoten braucht nicht notwendigerweise zur optimalen Kombination
von Knotenpaaren zu gehören;
allerdings muss der Masterknoten zur Zielknotengruppe gehören. Wenn
die Zielknotengruppe mehr als einen Knoten enthält, kann einer dieser Knoten
als Masterknoten fungieren. Im Folgenden wird erörtert, dass bei einer Ausführungsart
der Erfindung bei der Auswahl eines Masterknotens aus den zur Zielknotengruppe
gehörenden
Knoten eine bevorzugte Auswahlreihenfolge eingehalten wird. Nachdem
jeder Knotengruppe ohne Masterknotenpaar ein Masterknoten zugewiesen
wurde, endet der Algorithmus.
-
Wie
oben bereits erwähnt,
wird bei einer Ausführungsart
der vorliegenden Erfindung bei der Auswahl der Masterknotenpaare
eine bevorzugte Reihenfolge eingehalten. Wenn mehr als ein Knotenpaar
zur Verfügung
steht, das als Masterknotenpaar für eine Knotengruppe in Frage
kommt, wird als Masterknotenpaar das Knotenpaar mit dem kleinsten
Partizipationsindex (pi) ausgewählt.
Zum Beispiel wurde in den 4A bis 4D ermittelt,
dass (n3, n4) und (n1, n5) die optimale Kombination der Knotenpaare
für die
Netzkonfiguration ist. Es wurde auch ermittelt, dass die beiden
Knotenpaare (n3, n4) und (n1, n5) als Masterknotenpaare für die Knotengruppe
LBG-A dienen können.
Der Partizipationsindex (pi) des Knotenpaars (n3, n4), d. h. pi(n3)
+ pi(n4), hat den Wert B. Der Partizipationsindex (pi) des Knotenpaars
(n1, n5) hingegen hat den Wert 7. Deshalb wird das Knotenpaar (n1,
n5) zum Masterknotenpaar der Knotengruppe LBG-A bestimmt, da es
einen kleineren Partizipationsindex (pi) als das Knotenpaar (n3,
n4) hat.
-
4E zeigt
eine Matrix 410 der bevorzugten Reihenfolge. Die Matrix 410 der
bevorzugten Reihenfolge ist im Computerspeicher gespeichert und
enthält
für jede
Knotengruppe im Computernetz die Rangfolge der Masterknoten. Zum
Beispiel ist die bevorzugte Reihenfolge der Masterknoten für die Knotengruppe
LBG-A: zuerst Knotenpaar (n1, n5), dann Knotenpaar (n3, n4). Daher
kann bei einem Fehler im Knotenpaar (n1, n5) über die Matrix 410 der
bevorzugten Reihenfolge rasch das Knotenpaar (n3, n4) ausgewählt und
zum neuen Masterknotenpaar der Knotengruppe LBG-A bestimmt werden.
-
Anhand
des Partizipationsindexes (pi) kann nicht nur für die Masterknotenpaare, sondern
auch für
die Masterknoten eine bevorzugte Reihenfolge ermittelt werden. Es
wurde erwähnt,
dass, wenn kein Knotenpaar als Masterknotenpaar für eine Zielknotengruppe
in Frage kommt, jeder zur Zielknotengruppe gehörende Knoten als Masterknoten
dienen kann. Kommt für
den Masterknoten einer Knotengruppe mehr als ein Knoten in Betracht,
wird als Masterknoten der Knoten mit dem kleinsten Partizipationsindex
(pi) ausgewählt.
-
Gemäß 4E ist
die bevorzugte Reihenfolge für
die Knotengruppe LBG-B in der Matrix 410 der bevorzugten
Reihenfolge: zuerst Knotenpaar (n3, n4), dann Knoten n2 und zum
Schluss Knoten n5. Wenn es also im Masterknotenpaar (n3, n4) zu
einem Fehler kommt, wird als nächster
Masterknoten für
die Knotengruppe LBG-B der Knoten n2 ausgewählt. Falls auch dieser Masterknoten
n2 ausfällt,
wird als nächster
Masterknoten für
die Knotengruppe LBG-B der Knoten n5 ausgewählt. Dabei ist zu beachten,
dass die Matrix 410 der bevorzugten Reihenfolge auch zur
Auswahl von Masterknoten herangezogen werden kann, wenn Knoten wieder
in den Online-Zustand gehen. Wenn beispielsweise der Knoten n5 der
Masterknoten der Knotengruppe LBG-B ist und das Knotenpaar (n3,
n4) wieder in den Online-Zustand geht, kann mit Hilfe der Matrix 410 der bevorzugten
Reihenfolge das Knotenpaar (n3, n4) rasch zum neuen Masterknotenpaar
für die
Knotengruppe LBG-B bestimmt werden.
-
Bei
einer anderen Ausführungsart
der Erfindung wird die optimale Kombination von Knotenpaaren – statt
durch Ermittlung des größtmöglichen
Gesamtverfügbarkeitspotenzials – durch
Ermittlung des kleinstmöglichen
Gesamt-Hammingabstands für
das Netz gefunden. Diese Ausführungsart
beinhaltet somit eine Ermittlungsoperation zur Bestimmung eines
Hammingabstands für
Knotenpaare im Netz. Im nächsten
Schritt wird nach der Kombination von Knotenpaaren mit dem kleinstmöglichen
Gesamt-Hammingabstand
für das
Netz gesucht und so die optimale Kombination von Knotenpaaren ermittelt.
In einer Auswahloperation wird aus der optimalen Kombination von
Knotenpaaren ein Masterknotenpaar ausgewählt, dessen beide Knoten zur
Zielknotengruppe gehören.
Wenn es für
die Zielknotengruppe kein Masterknotenpaar gibt, wird als Masterknoten für die Zielknotengruppe
ein Knoten ausgewählt,
der zur Zielknotengruppe gehört.
-
Die
vorangehende Beschreibung der Erfindung dient der Veranschaulichung
und Erläuterung.
Die obigen Darlegungen können
auf beliebige geclusterte Knotengruppen angewendet werden, wobei
die Masterknoten so aus einer Gruppe von einander überlappenden
Knotengruppen ausgewählt
werden müssen,
dass 1) die Knoten der Masterknoten jeweils zu der Knotengruppe
gehören,
deren Masterknoten sie sind, und 2) die Masterknoten bestimmte Statusinformationen
(zum Beispiel Überwachungssignale) über die
Gruppe widerspiegeln. Somit ist die obige Beschreibung nicht als
umfassend oder als Beschränkung
der Erfindung auf genau die dargelegte Ausführungsform anzusehen – die Erfindung
schließt
auch Modifikationen und Varianten ein.