-
Technisches
Gebiet
-
Die
Erfindung betrifft allgemein Datenkommunikation und insbesondere
ein Verfahren und eine Einrichtung für das Erfassen von Statistikdaten
in einem Datenkommunikationsnetzwerk.
-
Hintergrund
-
Datenkommunikationsnetzwerke
umfassen eine Vielzahl von Knoten oder Switches, die miteinander
verbunden sind, um den Netzwerknutzern zu ermöglichen, miteinander Informationen
auszutauschen. Jeder dieser Knoten kann einen Satz von Statistikdaten
aufrechterhalten, die sich auf den Verkehr im Netzwerk beziehen,
wobei die Statistik benutzt werden kann für Zwecke wie Rechnungsstellung
für die
Netzwerknutzung, Auswertung der Netzwerkleistung und Isolieren von
Fehlern, die im Netzwerk auftreten können. Gewöhnlich werden diese Statistiken über interne
Zähler
in den Knoten geführt.
Solche Zähler
werden oft so konfiguriert, dass sie nach einer gewissen Zeitspanne
zurückgesetzt
werden, die in der Größenordnung
von 15 Minuten liegen kann. Somit müssen die Statistikdaten wenigstens
alle 15 Minuten abgefragt werden, damit kein Verlust an Statistikinformation
eintritt.
-
Bei
Systemen nach dem Stand der Technik sendet die Schaltung für Statistikerfassung
für das Netzwerk
typischerweise Statistikanforderungen bei Benutzung des Simple Network
Management Protocol (SNMP = einfaches Netzwerkmanagementprotokoll)
oder verschiedener anderer benutzereigener interner Protokolle,
passend zu den Knoten im Netzwerk. Solche Statistikanforderungen
haben eine niedrige Priorität,
und es wird eine beachtliche Zeitspanne vorgesehen, innerhalb der
die Antwort auf die Statistikanforderung empfangen werden kann.
Unglücklicherweise
werden, wenn ein Knoten nicht in Betrieb oder "down" ist,
beim Warten auf eine Antwort über
eine längere
Pausendauer wertvolle Zeit und Ressourcen vergeudet. Weiterhin ist
ein Netzwerk gewöhnlich
nur in der Lage, eine begrenzte Anzahl von Statistikanforderungsabfragen
gleichzeitig zu unterstützen.
Somit kann das Abfragen von Knoten, die nicht in Betrieb sind, wertvolle
Abfragebandbreite verschwenden, wodurch die rechtzeitige Erfassung aller
erwünschten
Statistikdaten im Netzwerk gefährdet
wird.
-
Bei
einigen Systemen nach dem Stand der Technik kann eine Netzwerkmanagementplattform die
nicht in Betrieb befindlichen Knoten erkennen und Meldungen an die
eine oder die mehreren Statistikerfassungseinrichtungen, die im
Netzwerk vorhanden sein können,
bereitstellen. Die Netzwerkmanagementplattform kann jedoch auf einer
anderen Workstation als die Statistikerfassungseinrichtungen installiert
sein, so dass sich eine zeitliche Verzögerung der Mitteilungen an
die Statistikerfassungseinrichtungen ergibt. Demnach bedeutet die
mit der Weitergabe der Benachrichtigung bezüglich außer Betrieb befindlicher Knoten
verbundene Verzögerung
noch immer einen bestimmten Grad verschwendeter Abfragebandbreite,
obwohl die Meldungen einige Statistikanforderungen an außer Betrieb
befindliche Knoten vermeiden können.
Außerdem
können
die Gesichtspunkte, nach denen die Netzwerkmanagementplattform die
verschiedenen Knoten im Netzwerk erkennt, sich unterscheiden von
denen der Statistikerfassungseinrichtungen, die mit den Knoten kommunizieren
müssen,
um die Statistikdaten für
die Knoten zu erfassen. Somit können
Knoten aus Sicht der Netzwerkmanagementplattform völlig funktional
sein, während
eine fehlerhafte Verbindung zwischen einer Statistikerfassungseinrichtung
und einem abzufragenden Knoten besteht, was das Antworten auf Statistikanforderungen
an den Knoten unmöglich
macht. Solche Systeme nach dem Stand der Technik sind in WO 98/26
541 und
EP 0 909 056 beschrieben.
-
Deshalb
besteht ein Bedarf nach einem verfahren entsprechend Anspruch 1
und einem System nach Anspruch 11 für das Ermitteln eines Knotenstatus
vor dem Senden von Statistikanforderungsabfragen, die rechtzeitige
Information bezüglich
des Status des Knotens aus der Sicht der Statistikerfassungsschaltung
zur Verfügung
stellt.
-
Kurze Beschreibung
der Zeichnungen
-
1 zeigt
ein Blockschaltbild eines Netzwerks einschließlich einer Statistikerfassungsschaltung
entsprechend einem bestimmten Ausführungsbeispiel der vorliegenden
Erfindung.
-
2 zeigt
ein Blockschaltbild eines Statistikerfassungsblocks entsprechend
einem bestimmten Ausführungsbeispiel
der vorliegenden Erfindung.
-
3 zeigt
ein Blockschaltbild eines alternativen Statistikerfassungsblocks
entsprechend einem bestimmten Ausführungsbeispiel der vorliegenden Erfindung.
-
4 zeigt
ein Flussdiagramm eines Verfahrens für Statistikerfassung in einem
Datenkommunikationsnetzwerk entsprechend einem bestimmten Ausführungsbeispiel
der vorliegenden Erfindung.
-
Detaillierte Beschreibung
eines bevorzugten Ausführungsbeispiels
der vorliegenden Erfindung
-
Allgemein
stellt die vorliegende Erfindung ein Verfahren und eine Einrichtung
für das
Erfassen von Statistikdaten in einem Datenkommunikationsnetzwerk
zur Verfügung,
das ein Protokoll einer niedrigeren Ebene benutzt, um lokal den
Status der in jedem der verschiedenen Segmente im Netzwerk vorhandenen
Knoten zu verifizieren. Angaben bezüglich des funktionalen Status
jedes Knotens der in jedem der Segmente vorhandenen ist, werden
auf Basis periodischer Statusprüfungen
aufrechterhalten. Auf diesen Satz von Angaben kann dann zurückgegriffen werden,
um zu bestimmen, ob Statistikanforderungen an bestimmte Knoten ausgegeben
werden sollen oder nicht, so dass Knoten, die nicht einwandfrei funktionieren,
nicht abgefragt werden. Dadurch, dass sichergestellt wird, dass
alle Statistikanforderungen, die ausgegeben werden, an funktionale
Knoten ausgegeben werden, wird Statistikabfrage-Bandbreite, die
bei nicht funktionierenden Knoten verschwendet würde, eingespart, und somit
die Wahrscheinlichkeit verbessert, dass die Statistiken für die verschiedenen
Abschnitte des Netzwerks in kurzer Zeit und ohne Verluste erfasst
werden können.
-
Die
Erfindung wird mit Bezug auf die 1 bis 4 leichter
verständlich. 1 zeigt
ein Blockschaltbild eines Datenkommunikationsnetzwerks, das die
Fähigkeit
aufweist, Statistiken anzulegen, die von den verschiedenen Knoten
im Datenkommunikationsnetzwerk aufgezeichnet werden. Das Datenkommunikationsnetzwerk
umfasst eine Netzwerkwolke 10, die eine Vielzahl von miteinander
verbundenen Knoten oder Switches 61 bis 71 aufweist.
Die Netzwerkwolke 10 kann das Asynchronous Transfer Mode
(ATM) Protokoll unterstützen,
so dass die Knoten 61–71 ATM
Knoten oder Switches sein können. Die
in der Netzwerkwolke 10 enthaltenen Knoten 61–71 sollen
vorzugsweise in eine Anzahl von Segmenten 12 bis 14 eingruppiert
sein. Das erste Segment 12 ist mit enthaltenen Knoten 61–64 dargestellt, das
zweite Segment 13 enthält
die Knoten 65–68, und
das dritte Segment 14 umfasst die Knoten 69–71.
Die Teilnehmer 81–84 können an
die Netzwerkwolke 10 angekoppelt sein über Router 90 und 91,
so dass Daten zwischen den Teilnehmern (Endnutzern) 81–84 ausgetauscht
werden können.
Beispielsweise kann der Teilnehmer 81 mit dem Teilnehmer 84 über den
Router 91, die Netzwerkwolke 10 und den Router 90 kommunizieren.
-
In
vielen Fällen
ist es wünschenswert,
den Verkehr, der über
die Netzwerkwolke 10 abgewickelt wird, für Zwecke
wie Rechnungsstellung für
die verschiedenen Teilnehmer, Erkennen oder Isolieren von Fehlern
innerhalb der Netzwerkwolke 10 und das Management der Gesamt-Netzwerkleistung
zu überwachen.
Dementsprechend kann jeder der Netzwerkknoten 61–71 eine
Anzahl von Zählern
oder anderen Mitteln umfassen zum Aufrechterhalten eines Satzes von
Statistiken, der sich auf den Verkehrsfluss durch den Knoten und
möglicherweise
andere Merkmale des Knotens bezieht. In vielen Fällen sind diese Zähler so
konfiguriert, dass sie nach einer vorbestimmten Zeitspanne zurückgesetzt
werden, unabhängig
davon, ob sie ausgelesen wurden oder nicht. Deshalb muss ein rechtzeitiges
Auslesen zum Einsammeln der gespeicherten Information erfolgen,
andernfalls wird der gesamte Statistikerfassungsprozess unvollständige oder
unrichtige Ergebnisse produzieren.
-
Wie
dargestellt ist jedes der Knotensegmente 12–14 betriebsmäßig an einen
Statistikerfassungsblock 41–43 angeschlossen.
Die Statistikerfassungsblocks 41–43 können über Router 51–53 an
die Knotensegmente 12–14 angeschlossen
sein. Jeder Statistikerfassungsblock ist verantwortlich für das Sammeln
der entsprechenden Statistikdaten innerhalb eines bestimmten Knotensegments.
Um dies zu tun erhält
jeder Statistikerfassungsblock Angaben bezüglich des Status jedes der
Knoten aufrecht, die in seinem entsprechenden Knotensegment liegen.
-
Wenn
ein Statistikerfassungsblock Konfigurationsinformation für Statistikerfassung
vom Statistikmanagementblock 20 empfängt, gibt der Statistikerfassungsblock
selektiv Statistikanforderungen an die Knoten in seinem Knotensegment aus.
Die Statistikanforderungen, die an die verschiedenen Knoten in der
Netzwerkwolke 10 ausgegeben werden, können unter Benutzung von SNMP
oder verschiedener benutzerspezifischer Protokolle ausgegeben werden,
die gewöhnlich
für das
regelmäßige Abfragen von
Knoten im Netzwerk zum Erfassen von Statistikdaten verwendet werden.
Die selektive Ausgabe basiert auf der Angabe bezüglich des Status der verschiedenen
Knoten, die auf Grund der Konfigurationsinformation für Statistikerfassung
abzufragen sind. Wenn beispielsweise die Konfigurationsinformation
für Statistikerfassung
angibt, dass ein bestimmter Zähler
in jedem der Knoten 61–64 abgefragt werden
soll, wird der Statistikerfassungsblock 41 ermitteln, welche
dieser Knoten 61–64 gegenwärtig in Betrieb
oder "up" sind. Für die Knoten,
die momentan "up" sind, werden Statistikanforderungen
ausgegeben, so dass die angeforderten Statistikdaten ausgelesen
werden können.
Wenn festgestellt wird, dass einer oder mehrere Knoten "down" sind, werden die Statistikanforderungen,
die normalerweise nach dem Stand der Technik erzeugt worden wären, nicht
ausgegeben. Das spart begrenzte Abfragebandbreite ein, die am Statistikerfassungsblock 41 zur
Verfügung
steht.
-
Zur
Bestimmung des Status jedes der Knoten 61–64 wird
der Statistikerfassungsblock 41 periodisch Statusmonitoringpackets
an jeden der Knoten 61–64 herausgeben.
Diese Statusmonitoringpackets fordern von jedem der Knoten 61–64 eine
Antwort, die, wenn sie eintrifft, anzeigt, dass der Knoten betriebsbereit
oder "up" ist. Eine ausbleibende
Antwort von irgendeinem Knoten kann anzeigen, dass der Knoten nicht
einwandfrei funktioniert (also "down" ist).
-
Die
Zeit, die jedem der Knoten 61–64 für die Beantwortung
eines Statusmonitoringpackets eingeräumt wird, ist vorzugsweise
begrenzt. Wenn der Knoten nicht innerhalb der vorbestimmten Antwortzeitspanne
antwortet, wird angenommen, dass der Knoten nicht betriebsbereit
ist, und Statistikanforderungen an diesen Knoten werden verschoben
bis ein positiver Status durch eine rechtzeitige Antwort auf ein
nachfolgend ausgegebenes Statusmonitoringpacket festgestellt wird.
-
Um
sicherzustellen, dass die Statusmonitoringpackets von den Knoten
innerhalb einer angemessenen Zeitspanne bearbeitet werden, kann
ein Protokoll einer niedrigeren Ebene, wie das Universal Data Protocol
(UDP), für
das Senden der Statusmonitoringpackets benutzt werden. UDP Statusmonitoringpackets,
die von dem Statistikerfassungsblock 41 an die verschiedenen
im Knotensegment 12 enthaltenen Knoten 61–64 ausgegeben
werden, ermöglichen
dem Statistikerfassungsblock 41, den gegenwärtigen Status
jedes der Knoten 61–64 aus
dem richtigen Blickwinkel sicher festzustellen, dies ist der Blickwinkel
des Blocks, der die Statistikdaten erfassen möchte.
-
Eine
rechtzeitige Antwort auf die Statusmonitoringpackets oder deren
Fehlen ermöglicht
dem Statistikerfassungsblock 41, den gegenwärtigen Status jedes
der Knoten 61–64 sicher
festzustellen. Diese Statusinformation kann aufrechterhalten werden
in einer Liste oder einer Datenbank, so dass, wenn Statistikanforderungen
für die
Knoten 61–64 erzeugt werden
sollen, diese Liste oder Datenbank abgefragt werden kann, um festzustellen,
ob die verschiedenen Knoten betriebsbereit ("up")
sind oder nicht. Die Frequenz, mit der die verschiedenen Knoten
mit Statusmonitoringpackets abgefragt werden, um deren Status zu
bestätigen,
kann variieren, basierend auf einer Anzahl von Faktoren. Demnach
können
an bestimmte Knoten häufiger
Statusmonitoringpackets ausgegeben werden, während andere Knoten weniger
und weniger häufig
Statusmonitoringpackets erhalten. Das Prioritätsschema, das festlegt, wie
oft Statusmonitoringpackets an die verschiedenen Knoten gesendet
werden, kann auf der Frequenz beruhen, mit der die Statistikdaten
für den
bestimmten Knoten angefordert werden. In diesen Fällen werden
aktivere Knoten häufiger
bezüglich
ihres Status abgefragt als weniger aktive Knoten. In anderen Fällen kann
die Häufigkeit
steigen, wenn der Knoten Probleme hat und einen zwischen "ups" und "downs" schwankenden Status
gezeigt hat. Ähnlich
können
Knoten, die eine Historie mit Beibehaltung eines relativ stabilen Status
haben, auf Basis geringerer Häufigkeit
mit Statusmonitoringpackets versorgt werden, wodurch die Menge der
Statusmonitoringpackets, die für
die Ermittlung des Status aller Knoten erforderlich ist, reduziert
wird, was zu einer besseren Ausnutzung der Statusüberwachungsressourcen
und eine geringere Belastung für
das Netzwerk führt.
-
Die
Häufigkeit,
mit der die verschiedenen Knoten nach ihrem Status abgefragt werden,
kann auf Basis jeder Antwort auf ein Statusmonitoringpacket oder
deren Fehlen angepasst werden. Eine Anzahl von Variablen kann eingeführt werden
um die Kurzzeit- und Langzeitgleichförmigkeit in Bezug auf den Status
verschiedener Knoten zu überwachen. Das
Verknüpfen
dieser Kontinuitätswerte
mit einem Prioritätslevel
oder mit der Frequenz, mit der die Statistikdaten von einem bestimmten
Knoten erfasst werden kann die Häufigkeit
bestimmen, mit der ein bestimmter Knoten zur Feststellung seines
Status abgefragt wird.
-
Es
ist anzumerken, dass, um sicherzustellen, dass das Netzwerk nicht
mit Statusmonitoringpackets überschwemmt
wird, die Anzahl der ausgegebenen Statusmonitoringpackets, für die Antworten ausstehen,
begrenzt werden kann. Die Anzahl der ausstehenden Statusmonitoringpackets,
die verhindert, dass ein Statusmonitoringpacket an einen bestimmten
Knoten ausgegeben wird, kann für
verschiedene Knoten unterschiedlich sein. Beispielweise kann ein
Statusmonitoringpacket für
einen Knoten niedrigen Priorität
nicht ausgegeben werden, wenn eine erste Schwellenanzahl von Statusmonitoringpackets
anhängig
ist, während
ein Statusmonitoringpacket für
einen Knoten höherer
Priorität
noch immer ausgegeben, wenn die erste Schwellenanzahl von Statusmonitoringpackets
erreicht ist. Um korrekte Statusinformation aufrechtzuerhalten,
kann, wenn ein Statusmonitoringpacket für einen Knoten wegen der zu
großen
Menge ausstehender Statusmonitoringpackets nicht ausgegeben wird,
die Priorität
dieses Knotens geringfügig
erhöht
werden, so dass schließlich
der Status des Knotens erhalten wird.
-
Jeder
Knoten in der Netzwerkwolke 10 kann eine Anzahl von Unterkomponenten
enthalten. Die hierarchische Struktur eines Knotens kann eine Anzahl
von Karten umfassen, wobei die Karten eine Anzahl von Einrichtungen
enthalten können,
und wobei die Einrichtungen jeweils eine Anzahl von Verbindungen
unterstützen
können.
In einigen Fällen
kann jede dieser hierarchischen Komponenten besondere Zähler enthalten,
die dazu ausgelegt sind, Statistikdaten für diese spezielle hierarchische
Komponente zu erfassen. Somit kann eine Statistikanforderung von
einem Statistikerfassungsblock an einen bestimmten Zähler in
einer bestimmten hierarchischen Komponente innerhalb eines Knotens
gerichtet sein. In einigen Fällen
können
verschiedene hierarchische Komponenten außer Betrieb sein, während der
Knoten im Allgemeinen bereit und in Betrieb ist. In solchen Fällen kann
die Information bezüglich
des Status der verschiedenen hierarchischen Komponenten des Knotens
als Antwort auf die Statusmonitoringpackets zurückgegeben werden, so dass der
Statistikerfassungsblock Kenntnis von etwa nicht funktionierenden hierarchischen
Komponenten hat und keine Statistikanforderungen für nicht
betriebsbereite hierarchische Komponenten ausgibt.
-
Wenn
der Statistikerfassungsblock in der Lage ist, zwischen den verschiedenen
hierarchischen Komponenten in Bezug auf Statistikerfassung zu unterscheiden,
kann der Statistikerfassungsblock eine detailliertere Liste unterhalten,
in der der hierarchische Status jedes Knotens im Knotensegment,
an das der Statistikerfassungsblock gekoppelt ist, gespeichert ist.
Diese Liste kann eine baumähnliche Struktur
für jeden
Knoten aufweisen, die auf der hierarchischen Struktur des Knotens
beruht. Der hierarchische Status für jeden Knoten würde den
Status jeder der Komponenten des Knotens umfassen. Somit würde der
hierarchische Status des Knotens 61 den Status jeder der
Karten im Knoten enthalten, von jeder der Einrichtungen auf den
Karten und vielleicht sogar von jeder der Verbindungen, die von
jeder der Einrichtungen unterstützt
wird. Es ist anzumerken, dass der Grad der Auflösung, mit der der Status für jeden
Knoten aufrechterhalten wird, angepasst werden kann, um die Anforderung
des bestimmten Systems zu erfüllen.
-
Die
von den Statistikerfassungsblocks an die verschiedenen Knoten selektiv
ausgegebenen Statistikanforderungen werden erzeugt auf Basis der Konfigurationsinformation
für Statistikerfassung,
die vom Statistikmanagementblock 20 zur Verfügung gestellt
wird. Der Statistikmanagementblock 20 empfängt Netzwerkstatistikanforderungen 22,
die von einem Nutzer erzeugt sein können, oder von einer automatischen
Rechnungserstellungsroutine oder einer ähnlichen Einheit, die eine
bestimmte Statistik oder einen Satz von Statistiken vom Netz anfordert.
Der Statistikmanagementblock 20 zerlegt die Netzwerkstatistikanforderungen 22 in
eine Anzahl von Sätzen von
Konfigurationsinformation für
Statistikerfassung, die sie an jede der Statistikerfassungsblocks 41–43 übermittelt.
-
Die
von dem Statistikmanagementblock 20 durchgeführte Zerlegung
beruht auf der Verteilung der Knoten, die die angeforderten Statistiken
enthalten, unter den verschiedenen Knotensegmenten 12–14.
Beispielsweise kann eine besondere Netzwerkstatistikanforderung
erzeugt werden, die die Anzahl der vom Benutzer 81 entweder
an die Benutzer 83 oder den Benutzer 84 durch
die Netzwerkwolke 10 gesendeten Datenpackets abfragt. Der
Statistikmanagementblock 20 würde diese Anforderung empfangen
und eine Konfigurationsinformation für Statistikerfassung erzeugen,
die an jeden der Statistikerfassungsblocks 41–43 übermittelt
würden,
so dass diese individuell die Statistikdaten erfassen, die sich
auf den Verkehr beziehen, die vom Benutzer 81 an die verschiedenen
Knoten gesendet werden, die in jedem der Knotensegmente 12– 14 enthalten
sind. Jeder einzelne Statistikerfassungsblock würde selektiv Statistikanforderungen
ausgeben an die Knoten innerhalb des entsprechenden Segments auf
Basis des gegenwärtigen
Status jedes der Knoten im entsprechenden Segment.
-
Wenn
die Knoten in jedem der Segmente 12–14 auf die ausgegebenen
Statistikanforderung antworten, werden die Antworten für jedes
einzelne Knotensegment von seinem entsprechenden Statistikerfassungsblock
gesammelt, um Segmentstatistiken zu erzeugen. Somit würde der
Statistikerfassungsblock 41 den Datenverkehr bestimmen,
der zum Benutzer 81 in den Knoten 61–64 gehört. Er würde diese
relevante Statistik an einen Statistikzusammenfassungsblock 30 übergeben.
Der Statistikzusammenfassungsblock 30 ist betriebsmäßig an jeden
der Statistikerfassungsblocks 41–43 gekoppelt und
empfängt
die Segmentstatistiken, die von jedem der Statistikerfassungsblocks 41–43 erzeugt
werden. Der Statistikzusammenfassungsblock führt die Segmentstatistiken
zusammen, um zusammengefasste Statistiken 32 zu erzeugen,
die als Antwort auf die Netzwerkstatistikanforderung bereitgestellt
wird, die vom Statistikmanagementblock 20 empfangen wurde.
In dem Fall, dass sich der gewünschte
Satz zusammengefasster Statistik auf die Anzahl der Datenpackets
bezieht, die das Netzwerk vom Benutzer 81 an einen der
Benutzer 83–84,
wie sie von jedem Knoten gesehen werden, überquert haben, kann die Zusammenführung der
Segmentstatistiken vom Statistikzusammenfassungsblock 30 einfach
das Addieren der verschiedenen Segmentsummen umfassen. Bei anderen
Fällen
kann die Netzwerkstatistikanforderung 22 einen Vergleich
der Statistiken zwischen verschiedenen Segmenten umfassen. Wenn
beispielsweise der Datenverkehr zwischen den Knoten 61 und 65 festgestellt
werden muss, kann eine Vergleichsoperation zwischen den verschiedenen
Knoten erforderlich sein. In solchen Fällen wird der Statistikzusammenfassungsblock 30 die
geeignete Kombination der von jedem Segment erfassten Segmentstatistiken durchführen, um
den richtigen Satz zusammengefasster Statistikdaten 32 zu
erzeugen.
-
Dadurch,
dass jedem Statistikerfassungsblock 41–43 ermöglicht wird,
Statusinformation zu den bestimmten Knoten in dem entsprechenden Knotensegment
zu ermitteln und aufrechtzuerhalten, können die Statistikerfassungsblocks 41–43 Statistikanforderungen
an die Knoten auf intelligente Weise ausgeben. Dabei werden an nicht
betriebsbereite Knoten keine Anforderungen ausgegeben, und die zur
Verfügung
stehende begrenzte Abfragebandbreite wird effizienter ausgenutzt,
als dies nach dem Stand der Technik möglich war. Das ermöglicht das rechtzeitige
Abfragen aller relevanter Zähler
innerhalb der Knoten, so dass keiner der Zähler zurückgesetzt wird, bevor seine
statistische Information erfasst ist. Weil die Sichtweise, aus der
die Statusmonitoringpackets für
die Knoten bereitgestellt werden, die gleiche ist, aus der die Statistikanforderungen ausgegeben
werden, ist die Relevanz der Statusfeststellung größer als
in Systemen nach dem Stand der Technik, bei denen der Status von
einem Netzwerkmanagementblock ermittelt werden konnte, der über andere
physikalische Pfade als die Statistikerfassungsblocks an die Knoten
angekoppelt war.
-
2 zeigt
ein Blockschaltbild eines Statistikerfassungsblocks 200,
wie er für
ein Ausführungsbeispiel
der vorliegenden Erfindung ausgelegt werden könnte. Der Statistikerfassungsblock 200 ist
gezeigt, enthaltend ein Verarbeitungsmodul 210, einen Speicher 220 und
eine Knotenliste 230. Es ist anzumerken, dass die Knotenliste 230 in
der Speicherstruktur 220 unterhalten werden kann, so dass
sie tatsächlich
kein separater Schaltungsblock ist. Das Verarbeitungsmodul 210 kann
eine einzelne Prozessoreinrichtung oder eine Vielzahl von Prozessoreinrichtungen
sein. Solch eine Prozessoreinheit kann ein Mikroprozessor sein,
ein Mikrocontroller, ein digitaler Signalprozessor, ein Mikrocomputer,
eine Statusmaschine, eine Logikschaltung, oder jede andere Einrichtung,
die Information auf Basis von betrieblichen oder Programm-Instruktionen
verarbeitet.
-
Der
Speicher 220 kann eine einzelne Speichereinrichtung oder
eine Vielzahl von Speichereinrichtungen sein. Solch eine Speichereinrichtung
kann ein Nur-Lese-Speicher sein, ein Random-Access-Speicher, Floppy
Disk, Festplattenspeicher oder jede andere Einrichtung, die digitale
Information speichert. Es ist anzumerken, dass, wenn die Knotenliste 230 im
Speicher 220 enthalten ist, wenigstens ein Teil des Speichers 220 Schreib/Lesefähigkeit
haben muss. Es ist zu beachten, dass, wenn das Verarbeitungsmodul 210 eine
oder mehrere seiner Funktionen von einer Statusmaschine oder Logikschaltung
abarbeiten lässt,
der Speicher, der die entsprechenden betrieblichen Instruktionen
enthält,
innerhalb der Statusmaschine oder Logikschaltung eingebettet ist.
-
Der
Speicher 220 speichert die Programm- oder betrieblichen
Instruktionen, die, wenn sie von dem Verarbeitungsmodul 210 abgearbeitet
werden, das Verarbeitungsmodul 210 veranlassen, wenigstens
einen Teil des Verfahrens, das in 4 gezeigt wird,
auszuführen.
Das in 4 dargestellte Verfahren umfasst das Aufrechterhalten
von Statusinformation von einer Vielzahl von Knoten in einem Segment und
die Ausgabe und Erfassung von Statistikantworten an die und von
diesen Knoten. Es ist anzumerken, dass der Statistikerfassungsblock 200 einige
der Funktionen des Verfahrens nach 4 durch
Software, die in dem Speicher 220 abgelegt ist, erledigen lassen
kann, während
andere Teile des Verfahrens durch Benutzung von Hardware oder von
Schaltungen, die im Statistikerfassungsblock 200 untergebracht
sind, durchgeführt
werden können.
Somit kann bei einigen Ausführungsbeispielen
ein Mix von Hardware und Software benutzt werden, um Statusinformation
für die
Knoten innerhalb des Knotensegments zu erhalten und zu speichern,
wie auch Statistikanforderungen zu erzeugen und zu verarbeiten, die
an diese Knoten gesendet und von diesen empfangen werden.
-
Der
Statistikerfassungsblock 200 ist ausgelegt, um an ein Knotensegment
angekoppelt zu werden, das in einem Netzwerk enthalten ist. Das
Knotensegment umfasst vorzugsweise eine Vielzahl von Knoten, von
denen jeder Zähler
enthält
entsprechend den Statistiken, die dieser Knoten überwacht. Um Statistikanforderungen
an diese Knoten intelligent zu erzeugen, ermittelt der Statistikerfassungsblock 200 den
Status eines jeden dieser Knoten und hält diese Statusinformation
aufrecht. Die Statusinformation kann dann in Verbindung mit der
empfangenen Konfigurationsinformation für Statistikerfassung 202 benutzt
werden, um Statistikanforderungen 212 zu erzeugen, die
an die Knoten in den Knotensegmenten übertragen werden.
-
Um
den Status der Knoten zu ermitteln, erzeugt der Statistikerfassungsblock 200 Statusmonitoringpackets 216,
die periodisch an jeden der Knoten im Segment gesendet werden. Wenn
ein Knoten einwandfrei arbeitet, wird eine Statusantwort 218 vom
Knoten gesendet, wodurch der Statistikerfassungsblock 200 informiert
wird, dass der Knoten betriebsbereit (up) ist.
-
Knoten,
die nicht innerhalb einer vorbestimmten Zeitspanne eine Statusantwort
bereitstellen, werden als nicht betriebsbereit angesehen. Deshalb
werden an diese Knoten keine Statistikanforderungen ausgegeben,
bis ein günstiger
Status festgestellt wird durch rechtzeitiges Empfangen einer Antwort
auf ein nachfolgend herausgegebenes Statusmonitoringpacket. Die
Statusmonitoringpackets 216 werden vorzugsweise als "Universal Data Protocol" UDP Statusmonitoringpackets
ausgegeben, wie zuvor beschrieben.
-
Zum
Aufrechterhalten der Angaben bezüglich
des Status jedes der Knoten aus der Vielzahl von Knoten im Knotensegment,
die der Statistikerfassungsblock 200 unterstützt, kann
der Statistikerfassungsblock 200 eine Knotenliste 230 enthalten.
Die Knotenliste 230 speichert die Identitätsmerkmale
der verschiedenen Knoten innerhalb des Knotensegments zusammen mit
einer Angabe, ob jeder der Knoten betriebsbereit oder nicht betriebsbereit
ist. Es ist anzumerken, dass bei anderen Ausführungsbeispielen die Knotenliste 230 auch
nur die Identitätsmerkmale
der betriebsbereiten Knoten speichern kann, oder nur die der nicht
betriebsbereiten Knoten, so dass eine Konsultation der Knotenliste 230 benutzt
werden kann, um festzustellen, ob eine Statistikanforderung an einen
bestimmten Knoten ausgegeben werden soll. Wie zuvor erwähnt, kann
die Knotenliste 230 in einem Abschnitt des Speichers 220 untergebracht
sein.
-
Wenn
das Verarbeitungsmodul 210 Konfigurationsinformation für Statistikerfassung 202 empfängt, die
eine Anzahl von Statistikanforderungen 212 erfordert, die
an einen oder mehrere Knoten innerhalb des Knotensegments ausgegeben
werden müssen,
wird das Verarbeitungsmodul 210 die Knotenliste 230 konsultieren.
Wenn die Konfigurationsinformation für Statistikerfassung 202 erfordert,
dass eine Statistikanforderung für
einen ausgewählten Knoten
zu erzeugen ist, wird das Verarbeitungsmodul 210 bestimmen,
ob der Status dieses ausgewählten
Knotens gegenwärtig
günstig
ist durch Bezugnahme auf die Knotenliste 230. Wenn der
Status des ausgewählten
Knotens günstig
ist, wird das Verarbeitungsmodul 210 Statistikanforderung 212 für diesen ausgewählten Knoten
erzeugen. Die Antwort 214 auf diese Anfrage von diesem
Knoten kann dann kombiniert werden mit anderen Antworten auf Anforderungen,
um einen Satz von Segmentstatistiken 204 zu erzeugen, die
dem Statistikzusammenfassungsblock zur Verfügung gestellt werden kann,
wie das zuvor in Bezug auf 1 beschrieben
worden ist.
-
3 zeigt
ein alternatives Ausführungsbeispiel
eines Statistikerfassungsblocks 300, in dem die Funktion
des Überwachens
des Status der Knoten, die in einem Knotensegment enthalten sind,
von der Funktion des Erfassens der Statistik von den Knoten im Knotensegment
getrennt ist. Der Statistikerfassungsblock 300 wird als
einen Statistikanforderungsgenerator 310, einen Statusmonitor 320,
und die Liste der Knoten 330, die betrieblich gekoppelt
ist sowohl mit dem Statistikanforderungsgenerator 310 als auch
mit dem Statusmonitor 320, enthaltend gezeigt.
-
Der
Statusmonitor 320 gibt Statusmonitoringpackets 316 aus
an die verschiedenen Knoten, die in dem Knotensegment enthalten
sind, das der Statistikerfassungsblock 300 unterstützt. Die
Statusmonitoringpackets 316 werden periodisch ausgegeben,
wie das in Bezug auf 1 zuvor beschrieben worden ist.
Die Statusantworten 318, die von den Knoten im Knotensegment
empfangen werden, werden vom Statusmonitor 320 verarbeitet,
um den Status der verschiedenen Knoten im Knotensegment festzustellen.
Der Status der Knoten wird in der Liste der Knoten 330 aufrechterhalten,
diese kann eine hierarchische baumähnliche Struktur aufweisen,
die den Status der verschiedenen hierarchischen Elemente jedes der
Knoten enthält.
-
Der
Statistikanforderungsgenerator 310 empfängt Konfigurationsinformation
für Statistikerfassung 302,
die von einem Statistikmanagementblock erzeugt sein kann, wie das
in 1 gezeigt wird. Als Reaktion auf die Konfigurationsinformation für Statistikerfassung 302 ermittelt
der Statistikanforderungsgenerator 310, welche Knoten abgefragt werden
müssen,
um die verschiedenen Statistikdaten zu erfassen, wie sie von der
Konfigurationsinformation für
Statistikerfassung 302 angefordert wurden. Der Statistikanforderungsgenerator 310 konsultiert
die Knotenliste 330, um festzustellen, ob die Knoten, die
abgefragt werden sollen, als einwandfrei funktionierend bekannt
sind oder nicht. Wenn die Knotenliste 330 angibt, dass
der Status irgendeines der Knoten, die abgefragt werden sollen,
ungünstig ist,
werden Statistikanforderungen, die für diesen Knoten bestimmt sind,
nicht ausgegeben. Knoten, die einen günstigen Status haben, werden
mit Statistikanforderungen 312 versorgt und stellen ihrerseits Antworten 314 auf
diese Anfragen bereit. Der Statistikanforderungsgenerator 310 kann
dann die Antworten 314 auf die Anfragen bearbeiten, um
eine Segmentstatistik 304 zu erzeugen, die einem Statistikzusammenfassungsblock übergeben
werden kann, wie das in Bezug auf 1 beschrieben
wurde.
-
4 zeigt
ein Flussdiagramm eines Verfahrens für Statistikerfassung in einem
Datenkommunikationsnetzwerk. Ein Datenkommunikationsnetzwerk kann
eine Vielzahl von Knotensegmenten umfassen, wobei jedes aus der
Vielzahl der Knotensegmente eine Vielzahl von Knoten enthält. Jedes
Knotensegment kann von einem individuellen Statistikerfassungsblock
bedient werden, wie das in Bezug auf 1 oben beschrieben
wurde. Das in 4 dargestellte Flussdiagramm
ist allgemein so strukturiert, dass es mit den Operationen, die
von einem der Statistikerfassungsblocks, die ein bestimmtes Knotensegment
bedienen, durchgeführt
werden, übereinstimmt.
-
Das
Verfahren von 4 beginnt beim Schritt 402,
wo der Status der Vielzahl von Knoten, die in einem bestimmten Knotensegment
enthalten sind, lokal festgestellt wird. Die lokale Feststellung des
Status der Vielzahl von Knoten zeigt an, dass der Status von einer
lokalen Einheit, wie einem Statistikerfassungsblock, der für dieses
bestimmte Segment zuständig
ist, ermittelt wird. Die Einheit, die den Status der Vielzahl von
Knoten ermittelt, ist vorzugsweise auch die Einheit, die die Statistikanforderungen
an die verschiedenen Knoten ausgibt, um die Statistikdaten zu erfassen.
-
Der
Schritt 402 kann durchgeführt werden, wie das in den
Schritten 404–410 dargestellt
wird. Die Schritte 404–410 können für jeden
der Knoten im Knotensegment auf periodischer Basis wiederholt werden,
wobei die Ausführungsfrequenz
der Schritte 404–410 für jeden
der Knoten variieren kann auf Basis einer Knotenpriorität oder seiner Funktionalitätshistorie.
Somit können
Knoten, die gleichförmig
funktional oder nicht funktional sind, weniger häufig abgefragt werden als die,
deren Verhalten häufiger
fehlerbehaftet ist. Ähnlich
können
Knoten mit höherer
Priorität
häufiger
abgefragt werden, so dass Schwankungen in deren Funktionalität schnell
erkannt werden können.
-
Beim
Schritt 404 wird ein Statusmonitoringpacket an den Knoten
gesendet, dessen Status festzustellen ist. Das Statusmonitoringpacket
wird vorzugsweise gesendet unter Verwendung eines Protokolls niedriger
Ebene innerhalb des Datenkommunikationsnetzwerks. Bei einem Ausführungsbeispiel werden
UDP Statusmonitoringpackets verwendet. Es ist anzumerken, dass die
Ausgabe von Statusmonitoringpackets an die Knoten verzögert sein
kann, wenn die Anzahl von gegenwärtig
ausstehenden Statusmonitoringpackets im Netzwerk eine Schwellenanzahl überschreitet.
Die Schwellenanzahl von ausstehenden Statusmonitoringpackets, die
das Ausgeben von zusätzlichen
Statusmonitoringpackets verzögert oder
verhindert, kann auf dem Prioritätspegel
des Knotens, dessen Status festzustellen ist, begründet sein,
wobei der Prioritätspegel
eines Knotens angepasst werden kann, basierend auf der Ausgabe oder Verzögerung bei
der Ausgabe eines Statusmonitoringpackets.
-
Beim
Schritt 406 wird festgestellt, ob eine rechtzeitige Antwort
auf das Statusmonitoringpacket, das beim Schritt 404 ausgegeben
worden ist, empfangen wurde. Eine rechtzeitige Antwort kann einer Antwort
entsprechen, die innerhalb einer vorbestimmten Zeitspanne nach der
Ausgabe des Statusmonitoringpackets empfangen wird. Wenn beim Schritt 406 eine
rechtzeitige Antwort nicht empfangen wird, geht das Verfahren zum
Schritt 408 weiter, wo der Status des Knotens als ungünstig festgestellt wird.
Ein ungünstiger
Status kann gleichgesetzt werden mit einem nicht betriebsbereiten
oder allgemein nicht funktionierenden Knoten. Wenn beim Schritt 406 eine
rechtzeitige Antwort erhalten wird, schreitet das Verfahren zum
Schritt 410 fort, wo der Status des Knotens als günstig festgestellt
wird. Ein günstiger Status
zeigt an, dass der Knoten im Allgemeinen arbeitet, wie erwartet,
und es daher wahrscheinlich ist, dass er Statistikanforderungen
rechtzeitig beantworten wird.
-
Wenn
der Status des Knotens beim Schritt 402 ermittelt worden
ist, schreitet das Verfahren zum Schritt 412 fort, wo die
Angaben bezüglich
des Status der Vielzahl von Knoten aufrechterhalten werden. Die Angaben
können
in einer Listenstruktur gespeichert werden oder in einer ähnlichen
Datenbank, auf die zurückgegriffen
werden kann. Die Liste kann einen hierarchischen Satz von Statusangaben
für jeden
der Knoten enthalten, sodass der Status der hierarchischen Komponenten
jedes Knotens ebenfalls aufrechterhalten werden kann. Die beim Schritt 412 aufrechterhaltene
Liste kann auch für
die Ausgabe von Statusmonitoringpackets beim Schritt 404 verwendet werden.
Die beim Schritt 412 aufrechterhaltene Liste kann sortiert
sein auf Basis von Prioritätsinformationen,
so dass die Position eines bestimmten Knotens innerhalb der Liste
benutzt werden kann, um die Frequenz, mit der die Statusmonitoringpackets
zu diesem Knoten gesendet werden, zu bestimmen.
-
Beim
Schritt 414 wird Konfigurationsinformation für Statistikerfassung
empfangen. Die Konfigurationsinformation für Statistikerfassung, die beim Schritt 414 empfangen
wurde, wird verarbeitet, um festzustellen, ob die Statistikdaten,
die in wenigstens einem der Knoten im Knotensegment enthalten sind, für weitere
Verarbeitung erfasst werden sollen. Für jeden ausgewählten Knoten,
dem die Konfigurationsinformation für Statistikerfassung entspricht,
wird der gegenwärtige
Status des Knotens ermittelt, so dass eine Entscheidung, ob eine
Statistikanforderung ausgegeben werden soll oder nicht, gefällt werden
kann.
-
Beim
Schritt 416 wird ermittelt, ob der Status des ausgewählten Knotens
günstig
ist. Wenn das nicht der Fall ist, schreitet das Verfahren zum Schritt 418 fort,
wo die Ausgabe von Statistikanforderungen zu diesem ausgewählten Knoten
verzögert
wird. Die Verzögerung
kann auch das Verwerfen der Statistikanforderung umfassen, die normalerweise
ausgegeben würden,
wenn der Status günstig
wäre, oder vielleicht
das Warten mit der Ausgabe der Statistikanforderung, bis ein günstiger
Status für
diesen bestimmten Knoten erkannt wird. Wenn der Status des ausgewählten Knotens
beim Schritt 416 als günstig ermittelt
wird, schreitet das Verfahren zum Schritt 420 fort. Beim
Schritt 420 wird eine Statistikanforderung an den Knoten
ausgegeben, so dass der Knoten mit der gewünschten Statistikinformation
antworten wird. Es ist anzumerken, dass der Schritt 416 auch
die Feststellung umfassen kann, ob der Status einer hierarchischen
Komponente eines bestimmten Knotens günstig ist. Somit kann die Auflösung, mit
der Statistikanforderungen ausgegeben werden und mit der Statusinformation
aufrechterhalten wird, auf Unter-Knotenebene
sein. Beispielsweise kann eine Statistikanforderung speziell an
eine bestimmte Karte innerhalb eines Knotens gerichtet sein. In
einem solchen Fall kann der Status dieser bestimmten Karte festgestellt
werden, anstatt des Status des Knotens insgesamt, weil der Knoten
einwandfrei arbeiten kann, obwohl die bestimmte Karte im Knoten
Probleme aufweist.
-
Beim
Schritt 422 werden die Antworten, die von den verschiedenen
Knoten in dem Segment, und möglicherweise
aus einer Vielzahl von Segmenten, empfangen wurden, zusammengeführt, um
zusammengefasste Statistiken zu erzeugen, die weiterverarbeitet
werden können,
um bei der Durchführung verschiedener
Netzwerkfunktionen zu helfen. Beispiele von Netzwerkfunktionen,
die zusammengefasste Statistik benutzen können, umfassen das Rechnungsstellen
für Kunden,
die das Netzwerk benutzen, die Ermittlung von Leistungsstatistiken
in Bezug zum Datenverkehr im Netzwerk und das Aufrechterhalten eines
Satzes von Fehlerstatistiken, die verwendet werden können, um
die über
alles gesehene Funktionalität
des Netzwerks zu verbessern.
-
Dadurch,
dass ein verteiltes Abfragesystem ermöglicht wird, in dem individuelle
Statistikerfassungsblocks unabhängig
den gegenwärtigen
Status der verschiedenen Knoten, für die sie verantwortlich sind
für das
Erfassen von Statistikdaten, ermitteln, kann die begrenzte für die Erfassung
von Statistikdaten zur Verfügung
stehende Abfragebandbreite in einem Netzwerk effizienter genutzt
werden. Das hier beschriebene Verfahren und die beschriebene Einrichtung
ermöglichen,
dass die Statistikerfassung wirkungsvoller durchgeführt werden
kann, so dass die Statistikdaten im Netzwerk Zeit sparend erfasst werden
können,
wodurch sichergestellt wird, dass die Zähler, die auf periodischer
Basis zurückgesetzt werden,
dies nicht tun, ohne dass zuvor die Statistiken, die dort gespeichert
sind, erfasst wurden.
-
In
der vorstehenden Beschreibung wurde die Erfindung mit Bezug auf
bestimmte Ausführungsbeispiele
offenbart. Ein Fachmann auf diesem Gebiet versteht jedoch, dass
verschiedene Modifikationen und Änderungen
gemacht werden können,
ohne von dem Schutzumfang der vorliegenden Erfindung, wie in den
anhängenden
Ansprüchen
definiert, abzuweichen. Dementsprechend sind die Beschreibung und Zeichnungen
lediglich als Erläuterung
und nicht in beschränkendem
Sinne zu verstehen, und es ist beabsichtigt, dass alle diese Modifikationen
mit in dem Schutzumfang der vorliegenden Erfindung eingeschlossen
sind.
-
Die
Nutzen, andere Vorteile und Lösungen von
Problemen wurden im Vorstehenden beschrieben im Hinblick auf besondere
Ausführungsbeispiele. Die
Nutzen, Vorteile, Problemlösungen
und andere Elemente, die Nutzen, Vorteile oder Lösungen ermöglichen können oder besser hervortreten
lassen, sind nicht als kritische, erforderliche oder unabdingbare
Merkmale oder Elemente eines oder aller Ansprüche angesehen. Die hier benutzten
Begriffe "umfasst", "umfassend" oder jede andere
Variation davon sind als nicht exklusiver Einschluss beabsichtigt,
so dass ein Prozess, Verfahren, Gegenstand oder eine Einrichtung,
die eine Liste von Elementen enthalten, nicht nur diese Elemente
umfassen, sondern weitere Elemente enthalten können, die nicht ausdrücklich in der
Liste aufgeführt
sind oder bei einem solchen Prozess, Verfahren, Gegenstand oder
einer solchen Einrichtung unvermeidlich sind.
-
Wo
in einem Anspruch technische Merkmale erwähnt sind, die von Bezugszeichen
begleitet sind, sind diese Bezugszeichen lediglich für den einzigen Zweck
der besseren Verständlichkeit
der Ansprüche eingeführt worden,
und dementsprechend haben diese Bezugszeichen keine beschränkende Wirkung
auf den Schutzumfang jedes Elements, das beispielhaft durch solche
Bezugszeichen identifiziert ist.