DE69632144T2 - Verfahren zur bestimmung der topologie eines netzwerkes von objekten - Google Patents

Verfahren zur bestimmung der topologie eines netzwerkes von objekten Download PDF

Info

Publication number
DE69632144T2
DE69632144T2 DE69632144T DE69632144T DE69632144T2 DE 69632144 T2 DE69632144 T2 DE 69632144T2 DE 69632144 T DE69632144 T DE 69632144T DE 69632144 T DE69632144 T DE 69632144T DE 69632144 T2 DE69632144 T2 DE 69632144T2
Authority
DE
Germany
Prior art keywords
devices
network
traffic
measurements
monitoring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69632144T
Other languages
English (en)
Other versions
DE69632144D1 (de
Inventor
Nicholas Dawes
David Schenkel
Michael Slavitch
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Loran Network Systems LLC
Original Assignee
Loran Network Systems LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=27071826&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69632144(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from US08/558,729 external-priority patent/US5926462A/en
Application filed by Loran Network Systems LLC filed Critical Loran Network Systems LLC
Application granted granted Critical
Publication of DE69632144D1 publication Critical patent/DE69632144D1/de
Publication of DE69632144T2 publication Critical patent/DE69632144T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Description

  • GEBIET DER ERFINDUNG
  • Diese Erfindung betrifft ein Verfahren zum Bestimmen der Topologie eines Netzwerkes von Objekten, wie die physikalische Topologie eins Netzwerkes von Datenkommunikationsvorrichtungen.
  • HINTERGRUND DER ERFINDUNG
  • Betreiber von vielen Datenkommunikationsnetzwerken wissen typischerweise nicht die exakte Topologie des Netzwerks. Die Betreiber müssen die exakte Topologie wissen, um das Netzwerk richtig zu administrieren, z. B. zur genauen Diagnose und zur Behebung von Fehlern.
  • Netzwerkadministratoren, die die ganz aktuelle Topologie ihres Netzwerkes kennen, tun dies durch eines der zwei Verfahren: Ein administratives Verfahren und ein näherungsweises KI (künstliche Intelligenz) Verfahren.
  • Administrative Verfahren benötigen einen vollständig aktuellen Datensatz der Installation, Entfernung und Änderung in Ort und Konnektivität einer jeden Netzwerkeinrichtung. Jede derartige Änderung in der Topologie muss aufgezeichnet werden. Diese Aktualisierungen werden periodisch auf eine Datenbasis angewandt, welche die Netzwerkbetreiber benutzen, um die Netzwerktopologie anzuzeigen oder zu prüfen. Wie auch immer, in den meisten derartigen Systemen ist die aktuelle Topologieinformation, die den Betreibern verfügbar gemacht wird, üblicherweise die des vorangegangenen Tages oder der vorangegangenen Tage, aufgrund des Zeitverzugs bei der Eingabe der Aktualisierungen. Dieses Verfahren hat den Vorteil, dass ein Netzwerkvorrichtungserkundungsprogramm nicht ausgeführt werden muss, um herauszufinden, welche Vorrichtungen in dem Netzwerk existieren. Dieses Verfahren hat einen Nachteil, dass es fast unmöglich ist, die Datenbasis, aus der die Topologie abgeleitet wird, sowohl frei von Fehlern als auch vollständig aktuell zu halten.
  • Das näherungsweise KI-Verfahren verwendet Routen/Brücken-Informationen, die in vielfältigen Typen von Vorrichtungen verfügbar sind, z. B. enthalten Datenrouter [data routers] typischerweise Verbindungstabellen [routing tables]. Diese Verbindungsinformationen tragen eine Mischung von direkten Informationen über direkt verbundene Vorrichtungen und indirekte Informationen. Die KI-Verfahren versuchen, die Informationen von allen Vorrichtungen in dem Netzwerk zu kombinieren. Diese Verfahren setzen voraus, dass ein Netzwerkvorrichtungserkundungsprogramm ausgeführt wird, um herauszufinden, welche Vorrichtungen in dem Netzwerk existieren, oder dass so eine Liste von Vorrichtungen dem Programm bereitgestellt wird. Diese näherungsweisen KI-Verfahren benötigen riesige Mengen von detailliertem und sehr genauem Wissen über die internen Tabellen und Vorgänge aller Datenkommunikationsvorrichtungen in dem Netzwerk. Diese Anforderungen machen die KI-Verfahren komplex, schwierig zu unterstützen und teuer. Zusätzlich müssen Vorrichtungen, die keine Konnektivitätsinformationen bereitstellen, beispielsweise Ethernet- oder Token-Ring-Konzentratoren [token ring concentrator], immer noch in der Netzwerktopologie durch das administrative Verfahren konfiguriert werden.
  • STAND DER TECHNIK
  • Die WO-A-95 01030 offenbart ein Verfahren zum Bestimmen der Topologie eines Netzwerkes durch Senden eines Identifikationsanforderungssignals von einer zentralen Station durch eine bekannte Kette von Vorrichtungen, wobei deren letzte, die als „Ende der Kette" definiert wird, das Signal rücksendet [broadcasts]. Die Vorrichtungen, die an dem nächsten, auf die Ende-der-Kette-Vorrichtung folgenden Glied sind, antworten durch Rücksendung ihrer Identifikation. Durch aufeinander folgende Wiederholungen konstruiert die zentrale Station graduell eine Karte des Netzwerks und kann identifizieren, welche Vorrichtungen in dem Netzwerk sind. In dem in der WO-A-95 01030 offenbarten Verfahren wird eine Identifikationsanforderung zwischen einer zentralen Station und dem „Ende-der-Kette"-Zähler übertragen, die durch eine Kette von bekannten Zählern getrennt sind, wobei jeder der Zähler, der die Identifikationsanforderung empfängt, mit seiner Identifikation antwortet.
  • In der US-A-5 450 408 ist ein Verfahren zum Ermitteln von Topologiemerkmalen eines WAN, welches aus vielfältig gebrückten LANs besteht, beschrieben, bei dem die Topologie des WAN teilweise bekannt ist. Durch das Überwachen des Volumens zu und von Netzwerkvorrichtungen ermöglicht es das beschriebene Verfahren, zu wissen, welche Vorrichtungen mit welchen Unternetzwerken (LAN) verbunden sind und welche Unternetzwerke durch Brücken miteinander verbunden sind.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung verwertet die Tatsache, dass Verkehr, der von einer ersten Vorrichtung zu einer zweiten Vorrichtung fließt, sowohl als Ausgang der ersten Vorrichtung als auch als Eingang in die zweite Vorrichtung gemessen werden kann. Das Volumen des Verkehrs wird periodisch gezählt, wenn es die erste Vorrichtung verlässt und an der zweiten Vorrichtung angelangt. Mit zwei in Kommunikation befindlichen Vorrichtungen werden die zwei Folgen von Messungen des Verkehrsvolumens dazu neigen, ziemlich gleich zu sein. Es wurde herausgefunden, dass die Folgen von Messungen von Verkehr, die andere Vorrichtungen verlassen oder erreichen, im Allgemeinen dazu neigen, aufgrund der zufälligen (und fraktalen) Natur des Verkehrs unterschiedlich zu sein. Es wurde herausgefunden, dass deshalb die Vorrichtungen, die die ähnlichsten Folgen haben, wahrscheinlich miteinander verbunden sind. Es können Vorrichtungen entdeckt werden, die paarweise verbunden sind, in Übertragungsnetzwerken [broad cast networks] oder in anderen Topologien. Dieses Verfahren ist deshalb extrem allgemein. Vielfältige Messungen von Ähnlichkeit können für die Bestimmung der Kommunikationspfadverbindungen verwendet werden. Wie auch immer wurde gezeigt, dass die statistische Chi-Quadrat-Wahrscheinlichkeit robust und stabil ist. Ähnlichkeit kann festgestellt werden, wenn der Verkehr in unterschiedlichen Einheiten, in unterschiedlichen periodischen Frequenzen, in periodischen Frequenzen, die variieren, und ebenso in unterschiedlichen Messungen (z. B. Bytes gegenüber Paketen) festgestellt werden.
  • In Übereinstimmung mit einem Ausführungsbeispiel der Erfindung, besteht ein Verfahren zum Bestimmen der Existenz einer Kommunikationsverbindung zwischen einem Paar von Vorrichtungen aus Messen des Verkehrsausgangs von einer Vorrichtung des Paares von Vorrichtungen, Messen des von dem anderen Paar der Vorrichtungen empfangenen Verkehrs, und Erklären der Existenz einer Kommunikationsverbindung für den Fall, dass der Verkehr näherungsweise der gleiche ist.
  • Vorzugsweise ist der gemessene Verkehrsparameter sein Volumen, obwohl die Erfindung nicht hierauf beschränkt ist.
  • In Übereinstimmung mit einem anderen Ausführungsbeispiel der Erfindung besteht ein Verfahren zum Bestimmen der Netzwerktopologie aus Überwachen des von in dem Netzwerk verbundenen Vorrichtungen empfangenen Verkehrs und von aus den Vorrichtungen ausgesandten Verkehrs, Korrelieren des Verkehrs aus den Vorrichtungen mit dem Verkehr in die Vorrichtungen, Kennzeichnen eines Netzwerkkommunikationspfads zwischen einem Paar von Vorrichtungen für den Falls, dass die Korrelation des Verkehrs aus der einen Vorrichtung des Paares und in die andere Vorrichtung des Paares einen vorherbestimmten Schwellwert übersteigt.
  • Ein Ausführungsbeispiel der vorliegenden Erfindung wurde erfolgreich bei einer Reihe von betriebenen Netzwerken getestet. Es wurde ebenso erfolgreich in einem großen Datenkommunikationsnetzwerk getestet, das absichtlich entworfen und konstruiert wurde, dass bei allen anderen bekannten Verfahren ein Versagen beim korrekten Entdecken seiner Topologie verursacht.
  • KURZE EINLEITUNG ZU DEN ZEICHNUNGEN
  • Ein besseres Verständnis der Erfindung wird erhalten durch Bezug zu der detaillierten folgenden Beschreibung, in Verbindung mit den folgenden Zeichnungen, bei denen:
  • 1 ist ein Blockdiagramm einer Struktur, auf der die Erfindung ausgeführt werden kann,
  • 2 ist ein Blockdiagramm eines Teils einer Netzwerktopologie, die zur Erläuterung des Betriebs der Erfindung verwendet wird, und
  • 3 ist Flussdiagramm der Erfindung in allgemeiner [broad] Form.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • Die Erfindung wird beschrieben mit Bezug auf ihre Theorie des Betriebs, und dann durch ein praktisches Beispiel. Wie auch immer, wird zuerst eine Beschreibung eines repräsentativen Netzwerkes mit Apparaten, das zur Implementation der Erfindung verwendet werden kann, beschrieben.
  • Mit Bezug auf 1 kann ein Datenkommunikationsnetzwerk 1 aus Vorrichtungen wie vielfältigen Unternetzwerken bestehen, die z. B. bestehen aus Routern, Serienleitungen, Multiplexern, EthernetTM Lokalbereichsnetzwerke (LANs), Brücken, Hubs, Gateways, Faserringen [fiber rings], Vielfachbrücken [multibridges], Schnellpfaden [fastpaths], Mainframes, Dateiservern [file servers] und Arbeisstationen [work stations], wobei das Netzwerk nicht auf diese Elemente beschränkt ist. Ein derartiges Netzwerk kann lokal, begrenzt auf eine Region, einen Kontinent umspannend oder weltumspannend sein. Für die Zwecke dieser Beschreibung sind erläuternde Vorrichtungen in dem Netzwerk enthalten, und sie können mit jedem anderen über das Netzwerk kommunizieren. Jede der Vorrichtungen umfasst einen Verkehrszähler 3, zum Zählen der Anzahl von Paketen, die sie empfängt, und der Anzahl von Paketen, die sie übermittelt, bis zum Rücksetzen des Verkehrszählers. Jede Vorrichtung kann angefragt werden, um sowohl ihre Adresse als auch mit ihrer Adresse eine Zählung des Verkehrszählers der Anzahl der Pakte bereitzustellen. Ein Netzwerk von Vorrichtungen wie die obigen ist nicht neu.
  • Ein Prozessor, der eine CPU 4 umfasst, ein Speicher 5 und eine Anzeige 6 sind ebenso mit dem Netzwerk verbunden, und können mit jeder der Vorrichtungen 2 (A, B, C und D), die mit dem Netzwerk verbunden sind, kommunizieren.
  • 2 illustriert Kommunikationspfade zwischen jeder der vier Vorrichtungen 2, diese Pfade sind dem Systembetreiber unbekannt. Der Ausgang o von Vorrichtung A überträgt an den Eingang i der Vorrichtung D, der Ausgang o von Vorrichtung D überträgt an den Eingang i von Vorrichtung C, der Ausgang o von Vorrichtung C überträgt an den Eingang i von Vorrichtung B, und der Ausgang o von Vorrichtung B überträgt an den Eingang i von Vorrichtung A. Jede der Vorrichtungen ist auch mit dem Netzwerk 1 verbunden, während jeder der Kommunikationspfade zwischen den Vorrichtungen 2 auch mit dem Netzwerk verbunden sein kann (nicht gezeigt). Wie auch immer, die CPU kann mit jeder der Vorrichtungen durch andere Kommunikationspfade in Verbindung sein. In den später beschriebenen Beispielen wird das erfindungsgemäße Verfahren zum Entdecken der Kommunikationspfade, d. h. der Topologie eines Teils des Netzwerks zwischen den Vorrichtungen, verwendet werden.
  • In einem vorangehenden Schritt wird die Existenz und die Identität einer jeder der vermuteten Vorrichtungen, die in dem Netzwerk existieren, bestimmt. Die Bestimmung der Existenz und Identität dieser Vorrichtung ist nicht neu, und ist beispielsweise im US-Patent 5,185,860, eingereicht am 9. Februar 1993 and betitelt mit AUTOMATISCHES ENTDECKEN VON NETZWERKELEMENTEN, welches auf die Hewlett-Packard-Company läuft, beschrieben.
  • Die Erfindung wird zuerst in theoretischer und dann in praktischer Form mit Bezug auf die oben beschriebenen Beispielnetzwerke beschrieben.
  • Jede Vorrichtung in dem Netzwerk muss irgendeine Aktivität haben, deren Rate gemessen werden kann. Die spezielle, in einer Vorrichtung gemessene Aktivität muss für die Dauer der Folge der Messungen die gleiche bleiben. Die in unterschiedlichen Vorrichtungen gemessenen Aktivitäten müssen nicht die gleichen sein, aber die unterschiedlichen gemessenen Aktivitäten sollten in Bezug zueinander stehen. Die Beziehung zwischen den Raten der unterschiedlichen Aktivitäten in Vorrichtungen sollte linear sein oder durch einen Satz von bekannten Funktionen definiert sein (obwohl eine Abweichung von dieser Bedingung später beschrieben wird). Ein Beispiel von Aktivitäten, die so in Beziehung stehen, sind die prozentuale CPU-Verwendung in einer Datenpaketschaltung [data packet switch] und sein Paktdurchsatz. Es sollte bemerkt werden, dass die Funktionen, die sich auf unterschiedliche Aktivitätsmessungen beziehen, nicht die gleichen sein müssen.
  • Die Einheiten (z. B. cm/sek [cms/sec] oder inch/min [inches/min]) in denen eine Aktivität gemessen wird, können von Vorrichtung zu Vorrichtung variieren, müssen aber für die Dauer der Folge von Messungen konstant bleiben.
  • Dieses Verfahren des Entdeckens hängt nicht von speziellen Beziehungen zwischen den Intervallen zwischen der Sammlung von Aktivitätsmessungen und den Raten von Aktivitäten ab, außer dass, wenn die Aktivitätsraten so niedrig sein sollten, dass nur wenige Intervalle irgendeine Aktivität aufzeichnen, es notwendig sein kann, mehr Messungen aufzuzeichnen, um eine bestimmte Genauigkeit der Netzwerkentdeckung zu erreichen.
  • Diese Entdeckungsverfahren hängt nicht von speziellen Beziehungen zwischen den Intervallen zwischen Sammeln der Aktivitätsmessungen und der Übertragungszeit zwischen Vorrichtungen ab, ausgenommen dass, sollte das Intervall zwischen den Messungen sehr viel kleiner als die Übertragungszeit zwischen den Vorrichtungen sein, es notwendig sein kann, dass mehr Messungen aufgezeichnet werden müssen, um eine bestimmte Genauigkeit der topologischen Entdeckung zu erreichen.
  • Die Aktivität der Vorrichtungen im Netzwerk sollte in Folgen gemessen werden. Es gibt vier Aspekte für solche Messungen: Wie die Aktivität gemessen wird, wer oder was die Aktivität misst, wann die Aktivität zu messen ist und schließlich Übertragen der Messungen für dieses Verfahren zum Bestimmen der Netzwerktopologie.
  • Messungen können auf vier Arten gemacht werden:
    • a: direkt von in der Vorrichtung gemachten Beobachtungen:
    • b: direkt durch Beobachtungen der Vorrichtung von außerhalb:
    • c: berechnet durch innerhalb der Vorrichtung gemachte Beobachtungen:
    • d: berechnet durch Beobachtung der Vorrichtung von außerhalb.
  • Beispiele hierfür sind die folgenden:
    • a: CPU-Verwendung in einem Computer:
    • b: Anzahl der auf einer Kommunikationsleitung übertragenen Rahmen [frames], gezählt in einem mit dieser Leitung verbundenen Datenrouter:
    • c: Anzahl von übertragenen Pakten je aktiver virtueller Schaltung in einem Datenrouter:
    • d: Temperatur einer Vorrichtung berechnet aus spektralen Beobachtungen.
  • Jede derartige Aktivität, die gemessen wird, soll in dieser Beschreibung als „Verkehr" aufgefasst werden.
  • Die Aktivität kann dann als irgendeine Funktion oder Kombination von Funktionen der vier Klassen von Beobachtungen ausgedrückt werden.
  • Z. B., wenn die Aktivität einer Vorrichtung direkt gemessen wird als die Anzahl von Vorgängen eines bestimmten Typs, die sie ausgeführt hat, seit sie gestartet worden ist. Die berechneten Messungen können die Differenz zwischen der Anzahl derartiger Vorgänge jetzt und die Anzahl derartiger Vorgänge zum Zeitpunkt der vorangegangenen Messung sein.
  • Messungen können durch die Vorrichtung selber, durch eine andere Netzwerkvorrichtung, durch eine Vorrichtung außerhalb des Netzwerks oder durch eine Kombination von Vorrichtungen innerhalb und außerhalb des Netzwerks gemacht werden. Messvorrichtungen sind nicht auf elektronische oder mechanische Mittel beschränkt. Jede Mischung aus Messmethoden kann verwendet werden. Unterschiedliche Vorrichtungen können durch voneinander unterschiedliche Messmethoden gemessen werden und derartige Messmethoden können mit der Zeit für Vorrichtungen wechseln.
  • Aktivität kann zu regelmäßigen periodischen Intervallen oder zu irregulären Intervallen gemessen werden. Unterschiedliche Vorrichtungen in dem Netzwerk können ihre Aktivitäten auf irgendeine Art gemessen haben. Individuelle Vorrichtungen können eine Mischung von Methoden verwenden. Zum Zeitpunkt einer jeder Messung von Aktivität auf jeder Vorrichtung müssen ausreichend temporäre Daten gesammelt oder aufgezeichnet werden, um es zu ermöglichen, die Zeit, zu der jede Messung gemacht wurde, zu bestimmen, entweder absolut oder mit Bezug auf einen relativen Standard.
  • Die Genauigkeit, mit der die Zeit aufzuzeichnen ist, um ein bestimmtes Leistungsniveau dieser Methode zu erreichen wird von Netzwerk zu Netzwerk variieren.
  • Die Messungen der Aktivität können direkt oder indirekt von den Vorrichtungen 2 zu der CPU 4 zur Durchführung zum Bestimmen der Netzwerktopologie übertragen werden. Die Messungen können gemacht, gespeichert und dann zurückgeholt werden, oder können direkt übertragen werden oder durch eine Mischung dieser Verfahren übertragen werden. Die Übertragung der Messungen kann die Inband [inband] oder Außenband [outband] Kommunikationsmöglichkeiten des Netzwerks (falls sie für dieses Netzwerk existieren) oder jedes andere Kommunikationsmittel verwenden. Diese Möglichkeiten erlauben den Betrieb der Erfindung für topologische Entdeckung in Echtzeit oder später.
  • Das Netzwerk kann selbst verwendet werden, um die Messungen zu übertragen, und sollte diese Übertragung die gemessene Aktivität beeinflussen, dann kann der Betrieb der Erfindung selbst, bei einem Netzwerk mit sehr niedriger Aktivität, relativ signifikante Aktivität erzeugen. Dies kann ausgenützt werden, um die Geschwindigkeit der Entdeckung zu verbessern, um das Verfahren effektiv während sehr inaktiver oder ruhiger Perioden zu betreiben und für andere Vorteile.
  • In seiner einfachsten Form wird jede Vorrichtung im Netzwerk in Reihenfolge ausgewählt. Vorrichtung ,a' sei ausgewählt. Die Folge von Messungen für diese Vorrichtung ,a' wird vergleichen mit der Folge von Messungen für jede andere Vorrichtung. Die Vorrichtung mit der Folge von Messungen, die am ähnlichsten zu der von ,a' ist, wird als mit ,a' verbunden betrachtet.
  • Es gibt diverse Verfahren zum Beschränken oder Kennzeichnen wahrscheinlich richtiger Verbindungen, wie folgt. Diese können grundsätzlich in jeder Kombination verwendet werden.
    • (a) Eine vorgeschlagene Verbindung mit einer korrespondierenden Ähnlichkeitsmessung mit weniger als einem gewählten Wert kann zurückgewiesen werden.
    • (b) Vorgeschlagene Verbindungen werden vorzugsweise angezeigt oder gekennzeichnet mit irgendeiner direkten oder indirekten Anzeige der zugehörigen Wahrscheinlichkeit (z. B. grün, wenn wahrscheinlicher als ein Schwellenwert, gelb wenn weniger wahrscheinlich).
    • (c) Die maximale Ähnlichkeit für jede als korrekt bekannte Verbindung nach einer gegebenen Folgenlänge oder Zeitperiode kann aufgezeichnet werden. Vermeintliche Verbindungen mit geringerer Ähnlichkeit als dieses empirische Niveau sollten als ungültig betrachtet werden und sollten nicht in der vorgeschlagenen Netzwerktopologie enthalten sein.
    • (d) Manche Vorrichtungen werden in einer Sendeweise [broadcast] oder in anderer Weise verbunden sein, so dass sie offensichtlich oder tatsächlich mit mehr als einer anderen Vorrichtung verbunden sind. Sollte dies als eine Möglichkeit für das fragliche Netzwerk berücksichtigt werden, sollte die folgende Extrafolge verwendet werden, wenn die vorgeschlagenen Paarverbindungen einmal bestimmt wurden:
  • Sei Vorrichtung ,a' als mit der Vorrichtung ,b' verbunden eingeschätzt. Sollte die Ähnlichkeitsmessung zwischen Vorrichtung ,a' und einer weiteren Vorrichtung ,c' möglicherweise die gleiche wie die Ähnlichkeitsmessung zwischen Vorrichtung ,a' und Vorrichtung ,b' sein, dann sollte Vorrichtung ,a' als mit beiden Vorrichtungen ,b' und ,c' verbunden berücksichtigt werden. Diese Suche für Extraverbindungen kann uneingeschränkt (z. B. ist es allen Vorrichtungen im Netzwerk erlaubt, miteinander verbunden zu sein) oder durch eine Anzahl eingeschränkt sein (z. B. ist es nie mehr als 48 Vorrichtungen erlaubt, miteinander verbunden zu sein).
  • Wenn die Messungen für ein Paar von Vorrichtungen gemacht wurden (entweder sind sie vollständig oder mindestens eine Messung wurde auf jeder Vorrichtung gemacht), können die zwei Folgen von Aktivitäten dieser zwei Vorrichtungen verglichen werden. Die zwei Folgen von Messungen können notwendigerweise zeitabgeglichen, funktionell angepasst [mapped] und normalisiert sein, bevor ihre Ähnlichkeit berechnet wird.
  • Die folgenden Definitionen werden in dieser Beschreibung nachfolgend verwendet:
  • A: Eine Messung der Quantität der Aktivität, die vergangen ist, seit die vorangegangene Messung dieser Vorrichtung berichtet wurde. A(j, 1) ist die erste für die Vorrichtung j gemachte Messung.
  • Aktivität: Einige Vorgänge oder Kombination von Vorgängen in oder enthaltend eine Vorrichtung. Die Rate derartiger Vorgänge muss messbar sein.
  • Aktivitätssequenz: Eine Folge von Messungen von Aktivitätsraten, die zu aufgezeichneten variablen Intervallen oder zu festen periodischen Intervallen für eine Vorrichtung gemacht wurden.
  • Klasse: Eine Vorrichtung kann zu einer oder mehreren Klassen (z. B. Brücken, Router [router]) gehören.
  • Entdeckung: Die Feststellung, welche Vorrichtungen in dem Netzwerk existieren, aber nicht, wie sie verbunden sind.
  • gs(x): Eine funktionale Transformation des Werts der Messung der Aktivität x. Der Index s kennzeichnet, welche von einer möglichen Menge von Transformationsfunktionen verwendet wird.
  • G: Die totale Anzahl von unterschiedlichen Transformationsfunktionen in der Menge gs.
  • L: Die Anzahl von Messungen in zwei Folgen, die miteinander zu vergleichen sind.
  • N: Es gibt N Vorrichtungen in dem Netzwerk.
  • Physikalische oder logische Vorrichtung: Eine Vorrichtung kann physikalisch oder logisch sein. Das Netzwerk besteht teilweise oder zur Gänze aus Vorrichtungen, die in dem Netzwerk lokalisiert werden können. Jede Vorrichtung, die lokalisiert werden kann, muss eine messbare Aktivität haben und diese Aktivität sollte mit einer messbaren Aktivität der Vorrichtung oder Vorrichtungen, die mit dieser Vorrichtung verbunden sind, in Beziehung stehen.
  • S(a, b): Die Ähnlichkeit [similarity] der Vorrichtung b verglichen mit der Vorrichtung a.
  • Folgenlänge: Die Anzahl von Messungen von Aktivität, die in einer gegebenen Aktivitätsfolge gemacht sind.
  • Ähnlichkeit [similarity]: Ein arithmetisches Maß von Wahrscheinlichkeit, dass zwei Aktivitätsfolgen von Vorrichtungen gemessen wurden, die miteinander verbunden sind (siehe S). Die Wahrscheinlichkeit steigt, wenn die Ähnlichkeitsmessung ansteigt.
  • Sum: Sum(j) ist die Summe der Aktivitätsmessungen in einer Folge für die Vorrichtung (j).
  • T: Eine transformierte Messung des Volumens der Aktivität, die passiert ist, seitdem die vorangegangene Messung durch diese Vorrichtung aufgezeichnet wurde. T(j, i) ist die i-te Messung, die für die Vorrichtung j gemacht wurde, transformiert durch die Funktion, die aus der Menge g gewählt wurde.
  • T*: T*(j, i) ist die normalisiert i-te Messung, die für die Vorrichtung j gemacht wurde, so dass über L Messungen die Summe von T*(j, i) = die Summe von T(k, i) für die gleiche Referenzvorrichtung k ist.
  • Topologie: Wie die Vorrichtungen in dem Netzwerk verbunden sind.
  • x: x(j, i) ist der Wert der i-ten zeitabgeglichenen Aktivitätsmessung für die Vorrichtung j.
  • y: y(j, i) ist der Wert der i-ten Aktivitätsmessung für die Vorrichtung j.
  • Vorrichtung: Ein Eingangs- oder Ausgangskommunikationsport [port] einer physikalischen oder logischen Vorrichtung. Jede Vorrichtung, die lokalisiert werden kann, muss in der Lage sein, zu messen und einige Messungen des Verkehrs oder der Aktivität an diesem Port zu berichten, oder eine solche Messung an ihm gemacht zu haben und zu berichten (z. B. durch einen externen Agenten).
  • Vorrichtungsindex: Der Buchstabe j kennzeichnet, auf welche Vorrichtung (1 .. N) Bezug genommen wird.
  • Vorrichtungssuffix: Der Suffix i kennzeichnet die Eingangsseite (Verkehr, der an dieser Vorrichtung eintrifft). Der Suffix o kennzeichnet die Ausgangsseite (Verkehr, der diese Vorrichtung verlässt).
  • Entdeckungsmaschine: Die Maschine, möglicherweise mit dem Netzwerk verbunden, auf der das Verfahren läuft.
  • j: Der Buchstabe j kennzeichnet, auf welche Vorrichtung (1 .. N) Bezug genommen wird.
  • +x+: x ist der Name einer Vorrichtung. Beispielsweise beschreibt +b+ die Vorrichtung b.
  • fom: Eine Gütezahl [a figure of merit], die Ähnlichkeit beschreibt.
  • Q: Die Wahrscheinlichkeit der Ähnlichkeit.
  • V*(a, i): Die Varianz der normalisierten T*(a, i).
  • SNMP: Einfaches Netwerkmanagementprotokoll [Simple Network Management Protocol].
  • NMC: Netzwerkmanagementcenter [Network Management Center].
  • Ariadne: Eine Ausführung der Erfindung wird als Ariadne bezeichnet.
  • D(a, b): Eine Differenzmessung zwischen dem mittleren Verkehr der Vorrichtung a und dem mittleren Verkehr der Vorrichtung b.
  • port: Eine Vorrichtung kann mehr als eine Kommunikationsschnittstelle haben, jede dieser Schnittstellen einer Vorrichtung wird als „Port" bezeichnet.
  • MIB: Managementinformationsbasis [Management information base]. Ein Satz von überwachten Werten oder spezifizierten Werten von Variablen für eine Vorrichtung. Diese wird in der Vorrichtung gehalten oder durch einen Softwareagenten, der für diese Vorrichtung arbeitet, oder auf eine andere Art und Weise.
  • Polling: Senden einer SNMP-Anforderung an eine spezifizierte Vorrichtung, um eine Messung (in der Anforderung definiert) von dem MIB in dieser Vorrichtung zurückzuerhalten. Alternativ kann die Information gesammelt oder periodisch oder intermittierend auf andere Art und Weise gesendet werden.
  • Verkehrsfolge: Eine Folge von Messungen von Verkehrsraten oder Volumen, die in aufgezeichneten variablen Intervallen oder in festen periodischen Intervallen für eine Vorrichtung (Eingang oder Ausgang) gemacht wurde.
  • Das Folgende beschreibt, wie Folgen von Messungen, die zu möglichen unterschiedlichen periodischen Intervallen und zu möglichen unterschiedlichen Zeiten für zwei unterschiedliche Vorrichtungen gemacht wurden, zeitabgeglichen werden können. Dieser Abgleich, der nur notwendig ist, wenn die Aktivitätsmessungen mit der Zeit variieren, kann sehr stark die Genauigkeit der Bestimmung, welche Vorrichtungen miteinander verbunden sind, verbessern, wenn eine bestimmte Anzahl von Messungen gegeben ist. Hierzu korrespondierend kann dies die Anzahl von Messungen sehr stark reduzieren, die benötigt werden, um ein bestimmtes Niveau der Genauigkeit bei der Bestimmung, welche Vorrichtungen miteinander verbunden sind, zu erreichen. Das Verfahren wird durch die CPU 4, die den Speicher 5 verwendet, durchgeführt.
  • Die Messungen der Folge für die Vorrichtung b (d. h.: y(b, i)) werden interpoliert und falls notwendig, extrapoliert, um sie mit den Zeiten der Messungen in der Folge für die Vorrichtung a (d. h.: y(a, i)) abzugleichen. Diese Interpolation kann unter Verwendung von linearen, polynomialen oder anderen Methoden durchgeführt werden: Beispielsweise: Natürliche kubische Splines, wie beispielsweise beschrieben in W. H. Press, S. A. Teukolsky, B. P. Flannery, W. T. Vetterring: „Numerical Recipes in Pascal. The Art of Scientific Computing": Cambridge University Press, 1992, und C. E. Froberg: „Numerical Mathematics: Theory and Computer Applications": Benjamin Cummings, 1985. Die Interpolation wird genauer, wenn die Form der für die Interpolation verwendeten Funktion näher der zugrundliegenden Zeitvariationen der Aktivität in der Vorrichtung +b+ folgt.
  • Sollten die Messungen in +b+ nach denen in +a+ gestartet werden, können die Messungen in der +b+-Folge grundsätzlich nicht sicher über eine Zeit, die größer als die durchschnittliche Zeit zwischen Messungen in der +b+-Folge ist, zurückextrapoliert werden. Ebenso, falls die Messungen in +b+ vor denen in +a+ stoppen sollten, können die Messungen in der +b+-Folge grundsätzlich nicht sicher über eine Zeit vorwärts hinaus extrapoliert werden, die größer als die durchschnittliche Zeit zwischen den Messungen in der +b+-Folge ist. In manchen Fällen kann die Extrapolation über das eine oder das andere Ende die Genauigkeit des Verfahrens reduzieren. In anderen Fällen kann die Extrapolation über das eine oder das andere Ende hinaus die Genauigkeit des Verfahrens verbessern.
  • L (die Anzahl von Messungen, die verwendet werden, um die zwei Folgen zu vergleichen) ist die Anzahl von Messungen in der Folge von Vorrichtung +a+, die übereinstimmende interpolierte oder extrapolierte zeitabgeglichene Messungen in der Folge für die Vorrichtung +b+ haben. Die abgeglichenen Daten werden in die Felder [arrays] x(b, 1 .. L) und x(a, 1 .. L) jeweils für die Vorrichtungen ,b' bzw. ,a' kopiert.
  • Ein Vergleich zwischen den zwei Aktivitätsfolgen wird nur dann gemacht, wenn die Messungen in jeder Folge zuerst transformiert und dann normalisiert wurden. Der Transformationsprozess erlaubt es, unterschiedliche Typen von Messungen von Aktivität zu vergleichen, selbst wenn sie nicht linear in Beziehung stehen. Der Normalisierungsprozess ermöglicht, linear in Beziehung stehende Messungen von Aktivität miteinander zu vergleichen, ungeachtet der Einheiten, in denen sie gemessen wurden.
  • Die Transformationsfunktion für die Folge von Vorrichtung +a+ wird aus der Menge g gewählt. Die Transformationsfunktion für die Folge der Vorrichtung +b+ wird aus der Menge g gewählt. Für jede mögliche Kombination dieser Funktionen werden die resultierenden Folgen dann normalisiert wie nachfolgend beschrieben und dann verglichen, wie nachfolgend beschrieben werden wird. Da es G Funktionen in der Menge g gibt, bedeutet dies, dass G2 solcher Vergleiche ausgeführt werden.
  • Für eine gewählte Funktion gs aus der Menge g: T(j, i) = gs(x(j, i))
  • Die Menge g wird grundsätzlich die lineare, direkte Transformationsfunktion enthalten: g1(x) = x
  • Andere Funktionen können zu dieser Menge g hinzugefügt werden, falls für sie vermutet oder bekannt ist, dass sie als Beziehungen zwischen unterschiedlichen Aktivitätsmessungen existieren. Beispielsweise, sollte für die Aktivitätsmessung y bekannt sein, mit dem log(x) für die gleiche Vorrichtung zu variieren, würden die folgenden zwei Funktionen zu der Menge g hinzugefügt. g2(x) = log(x) g3(x) = exp(x)
  • Die Summe all der Verkehrsmessungen T(b, 1 .. L) in der Folge für die Vorrichtung +b+ wird angepasst, um der Summe all der Verkehrsmessungen T(a, 1.. L) in der Folge für die Vorrichtung +a+ zu gleichen. Dies entspricht der Normalisierung der Folge T(b, i) in Bezug auf T(a, i). Dies kompensiert automatisch Differenzen in den Einheiten der Messung. Ebenso kompensiert dies automatisch lineare funktionale Differenzen zwischen den Aktivitäten, die für die Vorrichtung +a+ und Vorrichtung +b+ gemessen werden können.
  • Genauer, für i = 1 .. L: T*(b, i) = T(b, i)Sum(a)/Sum(b) T*(a, i) = T(a, i)
  • Die Ähnlichkeit zwischen T*(a, i) und T*(b, i) für den Bereich von i = 1 .. L wird wie folgt bestimmt. In anderen Worten, die Wahrscheinlichkeit, dass die zwei beobachteten Sätze von Daten von der gleichen Verteilungsfunktion herrühren, wird bestimmt. Die Ähnlichkeit kann mittels einer Vielzahl von Ähnlichkeitsmessungen festgestellt werden. Jede statistische Messung oder Tests der Ähnlichkeit zwischen zwei einzelnen Messungen, zwischen einer Zeitfolge von Messungen oder von der Verteilung der Werte in zwei Sätzen von Messungen kann verwendet werden. Die Robustheit und Effektivität von speziellen Ähnlichkeitsmessungen wird mit der Netzwerktopologie, den Mustern der Aktivität in dem Netzwerk und den Formen der Messungen variieren. Eine unvollständige Liste solcher Messungen ist Least Squares, Chi-Quadrat-Test, Student's t-Test der Mittelwerte, F-Test der Varianz, Kolmogorov-Smirnov-Test, Entropiemessungen, Regressionsanalyse und die vielen nichtparametrischen statistischen Methoden, beispielsweise der Wilcoxon Rangsummentest. Vielfältige Formen solcher Messungen werden beschrieben im H. O. Lancaster: „The Chi-Squared Distribution", Wiley, 1969, R. L. Scheaffer, J. T. McClave: „Statistics for Engineers", Duxbury, 1982, und R. von Mises: „Mathematical Theory of Probability and Statistics", Academic Press, 1964.
  • Eine der am meisten verbreiteten und akzeptiertesten Form solcher Ähnlichkeitsvergleiche ist das Chi-Quadrat-Verfahren, das geeignet ist, um die Topologie von vielen Typen von Netzwerken zu entdecken. So, durch Verwendung der Chi-Quadrat-Messung:
  • Um zu berechnen, dass S(a, b) = die Chi-quadratische Wahrscheinlichkeit, dass die Folge für +b+ (T*(b, i), i = 1 .. L) aus der gleichen Verteilung wie für die Folge für +a+ (T*(a, i), i = 1 .. L) herrührt.
  • Es sei: Q = Σ(T*(a, i) – T*(b, i))2/(T*(a, i) + T*(b, i))] für i = 1 .. L -1-und es seien alle L Messungen, sowohl in T*(a, i) und T*(b, i) (für i = 1 .. L) ungleich Null; dann gibt es L – 1 Freiheitsgrade (da die zwei Sequenzensummen normalisiert wurden): Es ergibt sich, für dieses Beispiel:
    S(a, b) = unvollständige Gammafunktion (Q, L – 1)
  • Es sollte bemerkt werden, dass die Ähnlichkeitsmessung definiert wurde, um zu steigen, wenn die Wahrscheinlichkeit der beiden miteinander verbundenen Vorrichtungen steigt. Dies bedeutet, dass eine Ähnlichkeitsmessung, wie beispielsweise Least Squares, erfasst würden, beispielsweise durch: S(a, b) = Σ(T*(a, i) – T*(b, i))2
  • Die unvollständige Gammafunktion, die für die Chi-Quadrat-Wahrscheinlichkeitsberechnung verwendet wird, ist beispielsweise beschrieben in H. O. Lancaster: „The Chi-Squared Distribution", Wiley, 1969. Es sollte bemerkt werden, dass wir zwei tatsächlich eingefasste [binned] Datensätze vergleichen, so dass der Nenner in Gleichung 1 die Varianz der Differenzen von zwei Normalquantitäten approximiert.
  • Das oben beschriebene Verfahren setzt voraus, dass jede Vorrichtung mit jeder anderen Vorrichtung zweimal verglichen werden muss, insoweit wird also die volle gemessene Folge verglichen. Dies bedeutet, dass die Berechnungskomplexität (für N Vorrichtungen, mit L Messungen für jede aber unter der Annahme G = 1) ist:
    Komplexität ist proportional zu: N2L.
  • Die folgenden Variationen im Entwurf können die Effektivität der Methode verbessern. Die Verbesserungen werden abhängen von dem Netzwerk, den Vorrichtungen in ihm, den gemessenen Aktivitäten und ihrer Verteilung in Bezug auf die Zeit. Die Variationen können in einer großen Vielzahl von Kombinationen verwendet werden.
  • (a) Einschränken der Suche wenn eine vernünftige Übereinstimmung gefunden wurde
  • Wenn eine Verbindung mit der Vorrichtung +a+ gefunden wurde, die eine Wahrscheinlichkeit hat, die größer als der Schwellwert ist, wird keine andere Vorrichtung berücksichtigt. Dies trifft zu bei Verbindungen vom Nicht-Broadcasting Typ.
  • (b) Berücksichtige keine bereits verbundenen Vorrichtungen
  • Vorrichtungen, für die bereits eine akzeptable Verbindung gefunden wurde, sollten nicht in weiteren Suchen mit anderen Vorrichtungen berücksichtigt werden. Dies trifft zu für Verbindungen vom Nicht-Broadcasting Typ.
  • (c) Einschränken der Vergleiche der Folgen bevor L erreicht wird
  • Sollte es während der Bestimmung der Ähnlichkeit von +a+ mit +b+ schon sicher sein, dass der endgültige Schätzwert dieser Ähnlichkeit geringer als der Schwellenwert ist, wird die Bestimmung unterbrochen. Dieser Schwellwert wäre entweder die beste Ähnlichkeit, die bereits für die Vorrichtung ,a' gefunden wurde, oder das Minimum. Nicht alle Ähnlichkeitsmessungen sind dieser Einschränkung zugänglich.
  • (d) Prüfen von ähnlichen Vorrichtungen zuerst
  • Die Reihenfolge, in der Vorrichtungen mit der Vorrichtung +a+ verglichen werden, kann so gesetzt werden, dass solche Vorrichtungen, die mit einem Attribut oder Attributen, die sehr ähnlich zu +a+ sind, zuerst überprüft werden. Beispielsweise können in einem TCP/IP Datenkommunikationsnetzwerk zuerst die Vorrichtungen berücksichtigt werden, die IP-Adressen haben, die sehr ähnlich zu der der Vorrichtung ,a' sind.
  • (e) Beschränken der Suche auf Klassen
  • In vielen Netzwerken können Vorrichtungen nur mit einer Untermenge von Vorrichtungen, basiert auf den zwei Klassen der Vorrichtungen, verbunden werden. Folglich, sollte solch eine Klassenausschließung oder -einschließung logisch vorhanden sein und sollten die Klassen von einigen oder aller Vorrichtungen bekannt sein, kann die Suche für mögliche Verbindungen auf die Vorrichtungen beschränkt werden, die miteinander verbinden können, durch Ausschluss derer, die es nicht können.
  • Die Klassen, mit denen eine Vorrichtung verbinden kann, kann bei manchen Vorrichtungen (z. B. Datenkommunikationsroutern) aus der Vorrichtung selber entnommen werden.
  • (f) Verwenden wenigerer Messungen
  • Sollte das Verfahren nur mit einer Untermenge der Messungen durchgeführt werden, wird die Komplexität reduziert. Sollte eine akzeptable Verbindung für eine Vorrichtung gefunden, muss dieser nicht mit einer Vielzahl von Messungen berücksichtigt werden. Diese Untermenge von Folgen von Messungen kann so gemacht werden, dass die Untermenge nicht aufeinander folgend in der Liste von Messungen ist, noch muss sein Anfang oder Ende mit dem des ursprünglichen vollständigen Satzes an Messungen übereinstimmen.
  • (g) Verwenden wenigerer Messungen zum Starten
  • Die Variation von (f) kann dazu verwendet werden, eine kurze Liste von möglichen Verbindungen mit jeder Vorrichtung zu erzeugen, wobei weniger Messungen verwendet werden. Nur Vorrichtungen in dieser Liste werden auch als Kandidaten für Verbindungen mit dieser Vorrichtung berücksichtigt, wobei eine größere Untermenge oder der vollständige Satz verwendet wird.
  • (h) Entdecken des Netzwerks in Teilen
  • Es kann bekannt sein, dass die Netzwerktopologie aus Teilen besteht. Diese Teile können jeweils untereinander nur eine oder wenige Verbindungen haben. Die Vorrichtungen in jedem Teil können einer speziellen Klasse zugewiesen sein und es werden nur Vorrichtungen für die Verbindung miteinander berücksichtigt, die innerhalb der gleichen Teilklasse sind. Jeder Teil des Netzwerks kann dann mit anderen durch Verbindungen verbunden werden, die in einem separaten Durchgang oder auf eine andere Art und Weise (beispielsweise administrativ) oder durch andere Information entdeckt werden. Diese Variation in dem Verfahren reduziert die Berechnungskomplexität durch Reduzierung des effektiven N (Anzahl von Vorrichtungen), die miteinander verglichen werden müssen.
  • (i) Paralleles Entdecken des Netzwerks in Teilen parallel
  • Dieses Verfahren kann gleichzeitig oder aufeinander folgend auf mehr als einem System durchgeführt werden. Jedes System kann für die Entdeckung eines Teils des Netzwerks verantwortlich sein. Die Teile können dann zusammengesetzt werden.
  • (j) Verwenden eines Multiprozessorsystems
  • Das Verfahren kann parallel durchgeführt werden. Jedem einer Anzahl von Prozessoren kann ein Teil der Ähnlichkeitsberechnungen zugewiesen sein (z. B. Prozessor A werden die Vorrichtungen 1 bis 10 zum Vergleich mit allen anderen Vorrichtungen zugewiesen, Prozessor B werden die Vorrichtungen 11 bis 20 zum Vergleich mit allen anderen Vorrichtungen zugewiesen usw.).
  • (k) Verwenden der Vorrichtungen zum Durchführen der Berechnung für sie selbst
  • Die Vorrichtungen können selbst, falls sie zur Bearbeitung geeignet sind, die Aktivitätsfolgen von allen Vorrichtungen oder einer Untermenge von Vorrichtungen gegeben werden. Jede Vorrichtung ermittelt dann für sich selbst die Vorrichtungen, mit denen sie verbunden ist. Sie würde, falls geeignet, dies zu einer oder mehreren Stellen zum Sammeln der Netzwerktopologie berichten.
  • Die Untermenge von Vorrichtungen, auf die eine Vorrichtung seine Suche beschränkt, kann grundsätzlich auch die innerhalb einer gegebenen Klasse sein. Solch eine Klasse kann dadurch definiert werden, dass sie innerhalb einer bestimmten Zeitentfernung [time of flight], oder innerhalb einer bestimmten Untermenge von Labeln ist.
  • Die Verkehrsfolgen müssen nicht anders zeitabgeglichen und normalisiert sein als bei der Vorrichtung selbst (z. B. sie kann eine Kopie der Aktivitätsmessungen hernehmen, wie sie übermittelt werden, möglicherweise beschränkt sie ihre Sammlung von solchen Messungen auf Vorrichtungen innerhalb einer bestimmten Klasse).
  • (1) Zusammenfassung von Berechnungsverbesserungen
  • Der Einfluss der obigen Variationen kann die Komplexität enorm vermindern. Zum Beispiel, wurde in Datenkommunikationsnetzwerken werden beobachtet, dass die kombinierte Verwendung der Variationen (a), (b), (c) und (g) die Komplexität ungefähr linear in N (die Anzahl von Netzwerkvorrichtungen) zu reduzieren und invariant mit L (die vollständige Anzahl von Messungen für jede Vorrichtung) zu sein. Dies hat sich sowohl für ein sehr broadcast-orientiertes Netzwerk als auch in einem paarweise verbundenen Netzwerk als wahr herausgestellt.
  • Nun wird die Anwendung der Methode auf ein spezielles Problem des Entdeckens der Topologie einer speziellen Klasse von Datenkommunikationsnetzwerken beschrieben. Das Übertragen der grundsätzlichen Theorie auf diese spezielle Anwendung wird in erster Linie durchgeführt durch das Ersetzen der grundsätzlichen Konzepte von Vorrichtungen und Aktivitäten durch Vorrichtungen bzw. Verkehr. Wie auch immer für dieses spezielle Datenkommunikationsnetzwerk wird angenommen, dass es Messungen durch Verwendung von Abrufbetrieb [Polling] sammelt.
  • Es gibt drei Hauptschritte bei dieser Ausführung der Erfindung: Entdecken der Vorrichtungen in dem Netzwerk, Sammeln der Folgen von Messungen des Verkehrs von den Vorrichtungen und Vergleichen dieser Folgen, um zu bestimmen, welche Vorrichtungen miteinander verbunden sind. Dies kann durch die CPU 4 mit dem Speicher 5 ausgeführt werden.
  • Eine spezielle Klasse von Datenkommunikationsnetzwerken hat die folgenden Charakteristiken:
    • a: seine Messungen werden angefordert durch Polling unter Verwendung von Inband-Signalisierung,
    • b: seine Messungen werden beantwortet unter Verwendung von Inband-Signalisierung,
    • c: Polling wird vorzugsweise jede 60 Sekunden durchgeführt,
    • d: eine einzelne Maschine (z. B. CPU 4 mit Speicher 5) führt das Verfahren zum Bestimmen der Topologie durch. Diese Maschine führt ebenso das Polling der Vorrichtungen 2 aus und empfängt die Pollingantworten von den Vorrichtungen, und
    • e: alle Vorrichtungen von Interesse im Netzwerk können ihren Verkehr gemessen haben.
  • Die Existenz und die Netzwerkadressen können durch das oben beschriebene administrative Verfahren bestimmt werden, oder durch automatisierte Methoden, wie beispielsweise in US-Patent 5,185,860, auf das oben Bezug genommen wurde, beschrieben ist.
  • In einem erfolgreichen Prototyp der Erfindung wurde eine Zeitkennzeichnung von 0 ... 59 zufallsweise jeder Vorrichtung in dem Netzwerk zugeteilt. Diese Zeit definiert, wie viele Sekunden nach dem Beginn einer jeden Minute die Entdeckungsmaschine warten soll, bevor sie einer Vorrichtung ihre Anforderung für den bis dahin gemessenen gesamten Verkehr sendet. Natürlich sind diese Anforderungen verschachtelt, so dass in großen Netzwerken viele Anforderungen während jeder Sekunde ausgesendet werden sollten. Alle Vorrichtungen werden deshalb jede Minute eine Anforderung erhalten und diese Anforderungen (für eine Vorrichtung) werden ziemlich nahe an Einminutenintervallen ausgesendet. Der Grund, dass diese Zeiten zufallsweise zugeteilt werden sollten ist, dass somit die Last auf dem Netzwerk vergleichmäßigt wird, da Inband-Signalisierung verwendet wurde.
  • Jede Vorrichtung 2 sollte beim Empfangen eines Abrufs [poll] den Wert der angeforderten Variable aus dem Verkehrszähler 3 (der gesamte Verkehr seit Reset, in Paketen gemessen) extrahieren, und dann diesen vorzugsweise in einem SNMP-Formatpaket an die Entdeckungsmaschine zurücksenden. Beim Empfang wird die Adresse der Vorrichtung 2, die Zeit des Eintreffens dieser Information zusammen mit dem Wert des Zählers, indiziert für diese Vorrichtung, gespeichert. Der neue Wert des Zählers wird von dem vorangegangenen abgezogenen, um den gesamten in der letzten Minute gemessenen Verkehr zu berechnen, nicht den gesamten seitdem die Vorrichtung zurückgesetzt wurde. Auf diese Art und Weise wird eine Folge von Verkehrsmessungen für alle Vorrichtungen parallel gebildet und im Speicher 5 gespeichert.
  • Bevor zwei Verkehrsfolgen (für Vorrichtung +a+ und Vorrichtung +b+) verglichen werden können, werden sie zeitabgeglichen, funktional angepasst und dann normalisiert, wie vorhergehend beschrieben. Die Messungen der Sekundenfolgen (b) werden interpoliert, um sie mit den Zeiten der Messungen in der ersten Folge (a) abzugleichen. Da die einzige Funktion für die Anpassung, die in diesem Beispiel berücksichtigt wird, die direkte lineare Anpassung ist, wird keine funktionale Anpassung auf eine der Messungen durchgeführt.
  • Für die Normalisierung habe die kürzere der zwei Sequenzen die Länge L. Die Summe aller Verkehrsmessungen 1 .. L in der Folge für die Vorrichtung +b+ wird angepasst, um der Summe für alle Verkehrsmessungen 1 .. L in der Folge für Vorrichtung +a+ zu gleichen. Dies korrespondiert mit dem Normalisieren der Folge T(b, i) in Bezug auf T(a, i).
  • Die Chi-Quadrat-Wahrscheinlichkeitsvergleichung der Folgen berechnet die Ähnlichkeit. S(a, b) = die Chi-Quadrat-Wahrscheinlichkeit, dass die Verkehrsfolge für +b+ (T*(b, i), der i = 1 .. L) aus der gleichen Verteilung wie die Verkehrsfolge für +a+ (T(a, i), i = 1 .. L) herrührt.
  • Die Vorrichtung +x+ mit dem höchsten Wert von S(a, x) ist diejenige, welche am wahrscheinlichsten mit +a+ verbunden ist.
  • Ein Wahrscheinlichkeitsschwellwert (Grenzwert) eines minimalen Werts von F kann angewendet werden. Wenn der höchste Wert von S(a, x) geringer als dieser Schwellwert ist, bedeutet dies, dass die Vorrichtung +a+ keine Vorrichtungen hat, die nach einer bestimmten Anzahl von Polls als mit ihr verbunden zu berücksichtigen sind. Ein geeigneter Schwellwert für ein Netzwerk mit N Vorrichtungen kann 0,01/N sein, bei vielleicht mehr als 10–15 Messungen von Verkehr auf jeder Vorrichtung.
  • Wie oben angeführt, kann eine Anzahl von Vorrichtungen in dem Netzwerk in Broadcast-Modus verbunden sein: D. h., sie können scheinbar oder tatsächlich mit mehr als einer Vorrichtung verbunden sein. Die oben beschriebene Logik kann hierfür angepasst werden. Beispielsweise kann jede Vorrichtung +a+ berücksichtigt werden, mit allen Vorrichtungen z verbunden zu sein, für welche S(a, z) größer als der gleiche Schwellwert ist.
  • Eine Vielzahl von Ähnlichkeitsmessungen aus der möglichen oben beschriebenen Liste wurden experimentell getestet. Diese Tests wurden ausgeführt auf einem simulierten Netzwerk von 2000 Vorrichtungen und ebenso auf Daten, die von einem echten Netzwerk, das über 1500 Vorrichtungen hatte, gesammelt wurden. Ersteres war paarweise verbunden, und das zweite Netzwerk hatte eine Mischung aus Broadcast- und paarweisen Verbindungen.
  • Die Ähnlichkeitsmessung, welche die geringsten durchschnittlichen Messungen benötigte, um die korrekte Topologie zu erzeugen, war: S(a, b) = Σ[(T*(a, i) – T*(b, i))2/(T*(a, i)2)]V*(a, i)/L i = 1 .. L
  • Diese Ähnlichkeitsmessung war besser als die Chi-Quadrat-Wahrscheinlichkeit, wahrscheinlich aus folgenden Gründen. Die Chi-Quadrat-Messungen setzen voraus, dass Verkehrsmessungen normal verteilt sind, was nicht wahr sein könnte. Die Chi-Quadrat-Differenz, wie in obiger Gleichung 1 berechnet, hat sowohl T*(b, i) als auch T*(a, i) in ihrem Nenner. Dies bedeutet, dass, sollte die Vorrichtung 'a' eine sehr flache Folge und Vorrichtung 'b' eine sehr flache Folge mit lediglich einem Spike haben, das an dem Punkt des Vergleichs des Spikes mit der flachen Folge der Chi-Quadrat-Differenz die Signifikanz des Spikes abgeschwächt wird.
  • Es wurde ebenso beobachtet, dass die Chi-Quadrat-Differenz geteilt durch L oder durch L – 1 effektiv war und sehr viel weniger CPU-Zeit benötigte als die Chi-Quadrat-Wahrscheinlichkeit. In anderen Worten, die Berechnung der unvollständigen Gammafunktion, um die mit der Chi-Quadrat-Differenz verknüpften Wahrscheinlichkeit zu berechnen, war, in diesem Fall, unnötig und sehr teuer bezüglich der CPU-Zeit.
  • Folglich erscheint es klar, dass die Auswahl der geeigneten Ähnlichkeitsmessung die Leistung (Schnelligkeit und Genauigkeit der Topologieerkennung) bei unterschiedlichen Typen von Netzwerken verbessern kann.
  • In Datenkommunikationsnetzwerken hat der Verkehr eine zufällige und eine fraktale Komponente. Die zufällige Natur des Verkehrs bedeutet, dass über eine kurze Zeitdauer die Verkehrsmuster zwischen zwei Vorrichtungen dazu neigen, von den Verkehrsmustern zwischen jeden anderen zwei Vorrichtungen abzuweichen. In anderen Worten, wenn über einige Intervalle gemessen wird, wird die zufällige Natur dazu führen, bei Abwesenheit jeder anderen unterscheidenden unterliegenden Differenz eine Differenzierung bereitzustellen. Wie auch immer, sollten die Dauern zwischen Messungen sehr lang sein und die durchschnittlichen Verkehrsraten zwischen Paaren von Vorrichtungen sehr ähnlich sein, ist es die fraktale Natur des Verkehrs, die nun helfen wird, sicherzustellen, dass die Muster von Verkehr zwischen Paaren von Vorrichtungen dazu neigen, signifikant unterschiedlich zu sein, ebenfalls in Abwesenheit von jeder anderen unterscheidenden unterliegenden Differenz. Die fraktale Natur des Verkehrs (wird beschrieben durch W. E. Leland, W. Willinger, M. S. Taqqu, W. V. Wilson in: „On the Self-Similar Nature of Ethernet Traffic": ACM SIGCOMM, computer Communication Review, pp 203–213, Jan. 1995) bedeutet, dass der Volumen des Verkehrs in einer speziellen Verbindung mit dem früheren Verkehrsvolumen in dieser Verbindung korreliert werden kann. Diese Korrelation wird im allgemeinen unterschiedlich für jede dieser Verbindungen sein.
  • Um auf das oben beschriebene Beispielnetzwerk mit Bezug auf 2 zurückzukommen, gibt es vier Vorrichtungen 2, die in dem Netzwerk überwacht werden: A, B, C und D. Jede Vorrichtung erzeugt und empfängt Verkehr. Dies bedeutet, dass die Eingangsrate an jeder Vorrichtung nicht einfach bezogen ist zu der Ausgangsrate der gleichen Vorrichtung. Das Netzwerk wird in diesem Beispiel unter Verwendung von Inband-Signalisierung gepollt. Die Chi-Quadrat-Wahrscheinlichkeit wurde für die Ähnlichkeitsmessung gewählt.
  • In dem Netzwerk:
    Ai verbindet mit Bo.
    Bi verbindet mit Co.
    Ci verbindet mit Do.
    Di verbindet mit Ao.
  • Das preliminäre Netzwerkerkundungsprogramm wird ausgeführt und liefert die 8 Portadressen für diese vier Vorrichtungen zurück.
  • Den gefundenen 8 Adressen werden Abrufe am Ende jeder Minute gesendet, für 5 Minuten, die für den Wert der Variable anfragen, die den gesamten übertragenen Verkehr (in Paketen) misst, seit dem Reset für diese Vorrichtung. Es sei bemerkt, dass die Vorrichtungen an etwas unterschiedlichen Zeitpunkten in der Vergangenheit zurückgesetzt wurden, so dass sie unterschiedliche Startzähler haben. Wie auch immer, es sei ebenso bemerkt, dass alle Verkehrsmessungen bereits zeitabgeglichen sind, so dass keine Interpolation benötigt wird. Dies stimmt überein mit der Überwachung der Verkehrsschritte im Flussdiagramm aus 3.
  • Figure 00250001
  • Figure 00260001
  • Der Wechsel im Verkehr über die letzte Minute wird nun berechnet, offensichtlich nur für die Minuten 2, 3, 4 und 5.
  • Figure 00260002
  • Die Ähnlichkeit für jede der 8 Adressen im Bezug auf die anderen 7 (berücksichtigt als 8 Vorrichtungen) wird nun berechnet (der Korrelationsschritt aus 3). Es ist offensichtlich in diesem einfachen Beispiel, dass die miteinander verbundenen Vorrichtungen exakt die gleichen Folgen haben. Wie auch immer, überprüfen wir nun im Detail den Vergleich von Ai mit Di. Ein Zeitabgleich wird nicht benötigt.
  • Beispiel 1: S(Ai, Di)
    • 1: Beide haben die gleiche Länge 4 (d. h. vier Zeitdifferenzen), so dass die im Vergleich verwendete Länge 4 ist.
    • 2: Die Summe der Verkehrswerte von Ai = 14. Die Summe der Verkehrswerte von Di = 5. Die normalisierten Verkehrswerte von Di sind nun:
      Figure 00260003
      Figure 00270001
    • 3: Die Werte für Ai sind immer noch:
      Figure 00270002
    • 4: Das Chi-Quadrat wird wie folgt berechnet: Chi-Quadrat = (2 – 5,6)2/(2 + 5,6) + (3 – 2,8)2/(3 + 2,8) + (4 – 2,8)2/(4 + 2,8) + (5 – 2,8)2/(5 + 2,8) Chi-Quadrat = 2,59
    • 5: Es gibt 3 Freiheitsgrade für die Berechnung der Chi-Quadrat-Wahrscheinlichkeit, da 4 Punkte verglichen werden und die zweite Menge von Punkte auf den ersten normalisiert wurde (Entfernen von einem Freiheitsgrad).
  • Die unvollständige Gammafunktion (chi-quadratisch, Freiheitsgrade) kann nun mit (2.59, 3) verwendet werden, um zu ergeben:
    S(Ai, Di) = 0,4673
  • Beispiel 2: S(Ai, Bo)
    • 1: Beide haben die gleiche Zeitdifferenzlänge 4, so dass die für den Vergleich verwendete Länge 4 ist.
    • 2: Die Summe der Verkehrswert von Ai = 14. Die Summe der Verkehrswerte von Bo = 14. Die normalisierten Verkehrswerte von Bo sind nun:
      Figure 00270003
    • 3: Die Werte für Ai sind immer noch:
      Figure 00280001
    • 4: Das Chi-Quadrat wird berechnet wie folgt: Chi-Quadrat = (2 – 2)2/(2 + 2) + (3 – 3)2/(3 + 3) + (4 – 4)2/(4 + 4) + (5 – 5)2/(5 + 5) Chi-Quadrat = 0,0
    • 5: Es gibt 3 Freiheitsgrade für die Berechnung der Chi-Quadrat-Wahrscheinlichkeit, da 4 Punkte verglichen werden und die zweite Menge von Punkten auf die erste normalisiert wurde (Entfernen eines Freiheitsgrads).
  • Die unvollständige Gammafunktion (Chi-Quadrat, Freiheitsgrade) kann nun verwendet werden mit (0,0, 3) um zu ergeben:
    S(Ai, Bo) = 1,0
  • Die folgende Tabelle gibt die Ähnlichkeitsmessungen für die unterschiedlichen Vorrichtungen, die miteinander verglichen wurden. Bemerke die durch die Summennormalisierung verursachte Asymmetrie.
  • Figure 00280002
  • Es kann gesehen werden, dass die Korrelation 1,0000 der höchste Korrelationswert ist, und extrahiert werden kann (z. B. durch Setzen eines niedrigeren Schwellwertes aber höher als andere Korrelationswerte), um auf der Anzeige 6 die Netzwerktopologie anzuzeigen, die die Vorrichtung verbindet, deren Adressen in den Spalten und Zeilen bei der Korrelation 1,0000 schneiden. Dies wird bemerkt, korrespondiert exakt mit der Tabelle der Verbindungen der Vorrichtungen die früher angegeben wurde. Die Anzeige kann beispielsweise in Tabellenform sein, in grafischer Kartenform, oder in welcher Form auch immer gewünscht. Dies korrespondiert mit dem Anzeigeschritt in 3.
  • Es sollte bemerkt werden, dass Vorrichtungen nicht sowohl Eingangs- und Ausgangsseiten haben müssen und dass diese Seiten kombiniert werden können. Der Verkehr kann durch andere Verfahren als die des Pollings erhalten werden, beispielsweise durch einen Proxy-Agenten (einen Softwareagenten). Die Information kann autonom durch Vorrichtungen gesendet werden (wie in dem OSI Netzwerkmanagementprotokoll). Eine Mischung aus Polling und autonomen Verfahren kann nebeneinander bestehen.
  • Die Netzwerktopologie kann nach der Zeit T und dann wieder nach der Zeit T + dt bestimmt werden. Sollten keine Änderungen in der Topologie sein, kann der Bediener hierüber informiert werden, was anzeigt, dass eine stabile Lösung gefunden wurde. Wenn eine stabile Lösung gefunden wurde und sich dann ändert, zeigt dies an, dass eine Vorrichtung bewegt wurde oder etwas unterbrochen oder fehlerhaft wurde. Die spezielle Änderung wird dies zu definieren helfen.
  • In Router dominierten Datennetzwerken können Port-Aufspür-Pakete [port tracer packets] an Vorrichtungen gesendet werden, die mit der Folge von Routervorrichtungen, die sie durchlaufen haben, zurückkommen. Dies kann dazu verwendet werden, um teilweise zu verifizieren, dass die Topologie korrekt ist. Dies kann ebenso verwendet werden, um zu helfen, die funktionalen Beziehungen zwischen den gemessenen Aktivitäten zu bilden.
  • Dieses Verfahren kann im Allgemeinen nur eine Messung von Aktivitäten je Vorrichtung verwenden. All die Messung auf den unterschiedlichen Vorrichtungen sollten ausreichend nah in der Zeit gemacht werden, so dass sich die Aktivitäten nicht wesentlich ändern während des genommenen Intervalls ändern, für das Entnehmen der Messungen (falls sie nicht parallel gemacht werden). Falls nur eine Messung der Aktivität gemacht werden sollte, sollten die Summennormalisierung und die Zeitnormalisierung nicht durchgeführt werden.
  • Die drei Prozesse (Entdecken welche Vorrichtungen in dem Netzwerk sind, Sammeln der Aktivitätsmessungen und Berechnen der Topologie) des Verfahrens können kontinuierlich und/oder parallel ausgeführt werden. Dies erlaubt es, Änderungen in der Topologie (z. B. Unterbrechungen) in Echtzeit zu erkennen.
  • Es wurde früher festgestellt, dass das Verfahren arbeitet, wenn die Funktion, die unterschiedliche Aktivitäten betrifft, bekannt ist, zumindest näherungsweise. Wie auch immer, man kann dieses Verfahren betreiben, um eine solche Funktion zu entdecken, wenn mindestens eine oder mehrere von korrekten Verbindungen bekannt sind. Der Rest der Netzwerktopologie, oder nur der Funktion (oder Funktionen) oder beides kann hierdurch gefunden werden. Das gesamte Topologieentdeckungsverfahren wird dann mit anfänglichen Schätzwerten der möglichen Funktionsmenge gs verwendet. Die sich daraus ergebende Topologie wird dann mit der bekannten Topologie (oder der Untermenge, wenn das alles war, was bekannt war) verglichen. Die Schätzungen für die möglichen Funktionen werden dann geändert und das Verfahren wiederholt. Auf diese Art können die Schätzungen für die möglichen Funktionen optimiert werden.
  • Eine zweite Variation dieses Ansatzes ist nicht auf irgendein vorheriges Wissen über das Netzwerk angewiesen. Die mittlere Wahrscheinlichkeit der vorgeschlagenen Verbindungen wird als der zu optimierende Parameter berücksichtigt, eher als die Anzahl der korrekten Verbindung. Andere Variationen verwenden entweder eine Mischung von Wahrscheinlichkeit und korrekten Zählern, oder Funktionen von einem oder beiden können verwendet werden.
  • Das Netzwerk kann alternativ teilweise definiert werden und dann wird das Verfahren verwendet, um den Rest der Topologie zu vervollständigen.
  • Die Frequenz der Messungen kann angepasst werden, so dass die Kommunikationsmöglichkeiten (Inband oder Outband oder andere) weder überlastet noch über ein bestimmtes Niveau belastet werden. Dies erlaubt eine Verwendung dieses Verfahrens in einer weniger aufdringlichen [intrusive] Art und Weise.
  • Anstatt nur eine Aktivität je Vorrichtung zu messen, können einige oder viele Dimensionen von Aktivität gemessen werden. In diesem Fall sind die Aktivitätsfolgen multidimensional. Die Entdeckung der Netzwerktopologie kann parallel ausgeführt werden, eine Entdeckung für jede Dimension. Die resultierenden Netzwerktopologien aus den unterschiedlichen Dimensionen können dann vereinigt, überlagert, kombiniert oder für andere Analysen verwendet werden (beispielsweise Differenzanalyse für die Diagnose). Alternativ können die Aktivitätsmessungen multidimensional gemacht werden und die gefundene Topologie verwendet diese multidimensionalen Messungen, eher als die beschriebenen eindimensionalen. Die relative Gewichtung der unterschiedlichen Dimensionen kann statisch oder dynamisch angepasst werden, um zu versuchen, die Leistungsziele zu erreichen.
  • Das vorliegende Verfahren kann in Kombination mit den KI [AI]-Verfahren für einige Zwecke verwendet werden. Es kann überprüfen, ob die Routen oder andere Tabellen, die von den KI-Verfahren verwendet werden und die von den KI-Verfahren aus den Netzwerkvorrichtungen extrahiert werden, konsistent sind. Beispielsweise, wenn vielleicht zwei physikalische Kommunikationsleitungen von einer Stadt zu einer anderen vorhanden sind, und beide verbunden sind, aber nur eine in die Routertabelle eingegeben worden ist. Die vorliegende Erfindung kann diese Diskrepanz erkennen.
  • Unterschiede zwischen den Topologien, die mit diesem Verfahren und durch das administrative Verfahren gefunden wurden, können verwendet werden, um unerlaubte Hinzufügungen oder Änderungen des Netzwerks zu erkennen. Unterschiede können für andere Zwecke nachverfolgt werden.
  • Der Netzwerkbetreiber kann die Netzwerktopologieentdeckung auf Vorrichtungen beschränken, deren Aktivitätsniveaus über einem bestimmten Niveau sind, als auch eine generelle Topologieentdeckung durchführen (vielleicht früher oder später).
  • In einem Datenkommunikationsnetzwerk kann das vorliegende Verfahren verwendet werden, um die Quellen und Senken von unüblich hohen Verkehrsniveaus zu finden, beispielsweise Niveaus, die intermittierende Probleme verursachen. Dieses Wissen kann alternativ verwendet werden, um die Netzwerkkonfiguration und -planung zu unterstützen (z. B. lokale Anordnung übereinstimmender Paare von Quellen und Senken oder durch Hinzufügen von Kommunikationskapazitäten).
  • In anderen Arten von Netzwerken würde diese Auswahl der belastesten Vorrichtungen den Hauptbetrieb und -topologie des Netzwerks zeigen (z. B. Herz, Hauptarterien und Hauptvenen), ohne sich um vielleicht irrelevante kleinere Details zu kümmern (z. B. Kapillaren).
  • Eine Folge von solchen Untersuchungen mit unterschiedlichen Schwellwertniveaus der Aktivität kann verwendet werden, um die belastesten und am geringsten belasteten Regionen des Netzwerks zu identifizieren, wieder zum Planen, Modellerkunden oder zur Diagnose.
  • Es sollte bemerkt werden, dass die Vorrichtungen im Netzwerk wirklich diskret (z. B. Kommunikationsvorrichtungen) oder abstrakt diskret (z. B. willkürlich gewählte Volumen in einem Festkörper) sein können. Das folgende ist eine Beispielliste der Dinge, die gemessen werden können, und der daraus folgenden Topologien, die unter Verwendung der vorliegenden Erfindung erkundet werden können oder könnten. Es sollte bemerkt werden, dass Erkunden der Topologie einen Wert hat, oder das Bestimmen, dass die Topologie sich geändert hat oder dass sie normal ist oder abnormal ist, ebenso einen Wert haben kann. Jedes hiervon kann prädiktiv für ein Ereignis oder Ereignisse sein, diagnostisch für einen Fehler oder Fehler sein, und/oder mit einem speziellen Modell korreliert sein, einschließlich der Erkundung der Mechanik von Prozessen und Modellen.
    • a: Elektrische Aktivitäten in Neuronen oder neuronalen Regionen des Gehirns erlauben die Topologie des Gehirns, die für eine Vielzahl von Aktivitäten verwendet wird, zu bestimmen.
    • b: Elektrische Signale und Informationsübertragung in Kommunikationssystemen: Daten, Stimmen und gemischte Formen in statischen, mobilen, satellitengeschützten und hybriden Netzwerken.
    • c: Volumenfluss von Flüssigkeiten: Zum Leitungsverlegen; Heizen; Kühlen; Nuklearreaktoren; Ölraffinerien; Chemiefabriken; Abwassernetzwerken; Wettervorhersage; Flüsse in und von Aquiferen [aquifers]; Blutzirkulation (beispielsweise im Herz); andere biologische Flüssigkeiten; sub-, intra- und supratektonische Flüsse von Lava, Halbfestkörpern und Festkörpern.
    • d: Fluss von Information oder Raten der Benutzung in Softwaresystemen und gemischten Software-Hardwaresystemen, die es erlauben, die logische und physikalische Topologie von Software- und Hardwareelementen und Vorrichtungen zu bestimmen.
    • e: Vorrichtungsflüsse: Fisch-, Vogel-, und Tierwanderpfade; Wege und Routen von Fahrzeugen;
    • f: Hitzefluss: Speziell eine Oberfläche oder ein Volumen in Elementen, kann man die Flussvektoren der Hitze durch die Elemente beschreiben und folglich ein probabilistisches Flussnetzwerk herleiten. Die gemessenen Attribute können direkt (z. B. Schwarzkörperemissionsignatur) oder indirekt (z. B. elektrischer Widerstand) sein.
    • g: Nährstoffe und Nährstoffabfallfluss: Bestimmte Nährstoffe werden durch rapide wachsende Teile (z. B. Krebs) sehr viel schneller verbraucht als durch andere Teile. Der Fluss von Nährstoffen wird dazu neigen, durch solches abnormales Wachstum abnormal zu sein, und ebenso wird der Abfluss von Abfall von diesen abnormal groß sein.
    • h: Die automatisierte Entdeckung der Netzwerktopologie ermöglicht eine Anzahl von Anwendungen in Datenkommunikation: Z. B. Eingabe der Topologie mit den Verkehrsmessungen in ein Stauvorhersagepaket [congestion predicition package].
    • i: Die Entdeckung von ökonomischen und Systembetriebsmodellen, führt zur Entdeckung von Wegen, um diese zu ändern, zu beeinflussen, zu leiten oder zu verbessern.
    • j: Im allgemeinen: Biologische Diagnose, Modellentdeckung und Validierung; Vulkanausbruch- und Erdbebenvorhersage; Modellierung des Starts von Raffinerieoperationen zur Replikation; operationelle Effizienzverbesserungen durch Erkennen von Flaschenhälsen und Möglichkeiten für Kurzschlüsse (in Organisationen und Systemen).
  • Es sollte bemerkt werden, dass, wenn die Laufzeit zwischen Vorrichtungen konstant oder näherungsweise konstant für einen bestimmten Pfad zwischen zwei Vorrichtungen ist, dann kann diese Laufzeit herausgefunden werden und die Gütezahl für die Vorrichtungsverbindung kann durch Berücksichtigung jener verbessert werden. Der an einer Vorrichtung gemessene Verkehr kann mit einem festen Zeitversatz zu dem identischen Signal an der anderen Vorrichtung ermittelt werden. In machen Fällen, wenn große Fluktuationen in der Aktivität, die zwei Vorrichtungen gemein ist, innerhalb der gleichen Zeitperiode zu der Laufzeit zwischen den beiden Vorrichtungen auftreten, kann diese Verbesserung in der Gütezahl dramatisch sein. Die folgende Variation im Entwurf erlaubt, dass die Laufzeit zwischen Paaren von Vorrichtungen die gleiche ist wie für alle Paare der Vorrichtungen, oder dass Laufzeiten zwischen Paaren von Vorrichtungen unterschiedlich für einige oder alle Paare von Vorrichtungen sind.
  • Eine extra vollständige externe Schleife wird zu dem Vergleich der Verkehrsmuster der zwei Vorrichtungen A und B hinzugefügt. Diese Schleife ist außerhalb der Zeitabgleichschleife. Die gesamte Gütezahl (fom [figure of merit]) für die Rechnung für A und B wird ein extra Parameter gegeben, der feste Zeitversatz von A's-Messung zu B's-Messung. Dies wird während der Zeitausrichtung verwendet. Dieser Zeitversatz wird dann als einziger Parameter behandelt, der in einem Optimierungsprozess variiert wird, der danach sucht, die fom von A zu B so gut wie möglich zu machen. Diese Optimierung wird grundsätzlich nicht monoton sein. Geeignete Verfahren aus dem Bereich der Optimierung können verwendet werden: Z. B.: Newton's, oder Brent's oder eine der Güteverfahren [annealing methods]: Siehe hier beispielsweise: R. P. Brent: „Algorithms for minimization without derivatives", Prentice-Hall, 1973.
  • Ein anderes Verfahren zum Berechnen der fom ist Pearson's Korrelationskoeffizient.
  • Reaktivitätsanalyse kann durchgeführt werden, um die fom zu bestimmen. Beispielsweise werden zwei Objekte verbunden, wenn sie die gleiche Reaktion auf Aktivität haben, nicht nur die gleiche Aktivität.
  • Wenn eine Verbindung zwischen zwei Vorrichtungen diese dazu veranlasst hat, eine spektrale Form auszustrahlen, die durch den Inhalt der Verbindung bestimmt ist. Die unterschiedlichen spektralen Emissionsformen (Profile) erlauben dann die Bestimmung der fom der möglichen Verbindungen.
  • Die Dimensionalität der Aktivität oder der Reaktion kann ebenso verwendet werden, um die fom zu bestimmen. Jede Dimension (z. B.: Ton) kann als vorhanden oder abwesend festgestellt werden (d. h.: ein binäres Signal). Wenn einige Dimensionen (rotes Licht, grünes Licht, Ton, Temperatur über einem Grenzwert etc.) gemessen werden, erhält man eine Menge von binären Werten. Die binären Werte (vielleicht einfach ausgedrückt als binärer Code und so leicht in einem Computer dargestellt und verwendet) können dann verglichen werden, um die fom von möglichen Verbindungen zu bestimmen.
  • Die Stimulation von untätigen Vorrichtungen in einem Netzwerk erlaubt es, ihre Verbindungen direkt zu identifizieren. Die vorliegende Erfindung kann bestimmen, dass eine Vorrichtung untätig ist, da das Volumen an Verkehr in oder aus ihr insignifikant ist. Es kann dann ein Signalbündel auslösen, das zu oder über diese Vorrichtung gesendet wird, um genug Verkehr zu generieren, um sie im Netzwerk genau lokalisieren zu können. Ihre Lokalisierung wird dann gemerkt, bis die Vorrichtungen als in einer neuen Stelle angezeigt werden oder bis sie aufhören untätig zu sein. Untätigkeit kann ausgedrückt werden als ein mittleres Niveau von Verkehr unterhalb eines Grenzwerts, der vom Betreiber gewählt wird. Ein geeigneter Wert, für diesen Schwellwert sind fünf Einheiten von Aktivität je Abtastperiode, da dies die klassische Chi-Quadrat-Formulierung mit ausreichend Daten für ihre grundlegende Voraussetzungen für eine ausreichende Genauigkeit versorgt. (siehe z. B.: H. O. Lancaster: „The Chi-Squared distribution", Wiley, 1969.)
  • Die Stimulation von untätigen Vorrichtungen kann solange fortgesetzt werden, bis sie nicht mehr untätig sind. Auf diese Weise kann eine Folge von Signalen mit niedrigem Niveau, welche die Netzwerklast nicht signifikant erhöhen, verwendet werden, um bei der Unterscheidung von Objekten und der Entdeckung der Topologie zu helfen. Diese Signale mit niedrigem Niveau können weit unterhalb des Hintergrundverkehrsniveaus des Netzwerks sein, speziell wenn das kumulative Summenverfahren aus Abschnitt 14 verwendet wird. Wenn einmal die Stelle von untätigen Vorrichtungen im Netzwerk gefunden wurde, kann ihnen erlaubt werden, wieder untätig zu werden.
  • Das gerade eben beschriebene Verfahren kann ebenso verwendet werden, um zwischen zwei Paaren von Verbindungen zu unterscheiden. Vielleicht sind die Verkehrsmuster auf den Verbindungen extrem ähnlich. Das Signalbündel wird zu einem Pfad und nicht zu dem anderen gesendet. Dies wird in einer Unterscheidung zwischen ihnen resultieren. Wiederholungen dieses Prozesses können notwendig sein. Wenn Unterscheidung einmal erreicht wurde, kann sie aufgezeichnet und gemerkt werden.
  • Dies kann sowohl zufallsweise aktiviert werden als auch parallel für vielfältige Ziele angewendet werden. Falls im parallelen angewendet, muss die Signalgröße so definiert werden, so dass es unwahrscheinlich ist, dass sie ähnlich sind. Dies kann auf zwei Arten erreicht werden:
  • Das kleinste signifikante Signal hat die Größe M. Es wird zwischen einer Quelle und einem Ziel verwendet (z. B. die NMC und einem Ziel). Das nächste gewählte Signal, für eine Übertragung während der gleichen Abtastperiode, ist von der Größe 2M. Die nächste hat die Größe 4M usw., in einer binären Codefolge (1, 2, 4, 8, 16 ...). Der Vorteil hiervon ist, dass, sollte eine Vorrichtung auf einigen Pfaden zwischen Quellen und Zielen liegen, es unmöglich ist, dass die addierten Signale sich so kombinieren, dass irgendeine andere Kombination von einem unterschiedlichen Satz von kombinierten Signalen gleich ist. Diese binäre Codierung der Signalgröße erlaubt ebenso vielfältige Untersuchungen wie später beschrieben wird, die parallel ausgeführt werden.
  • Die gesendeten Signale können Zufallsgröße haben. Die Signale werden zu unterschiedlichen Sätzen von zufallsweise gewählten untätigen Zielen in jeder Abtastperiode gesandt. Dieses Verfahren würde zwischen Zielen unterscheiden und erlaubt es, vielmehr Objekte parallel anzusprechen, als die gerade oben beschriebene Methode.
  • Um den Vergleich von äußerst unwahrscheinlich miteinander verbundenen Vorrichtungen zu vermeiden, nur basierend auf den mittleren Verkehrsniveaus, die bisher auf ihnen ermittelt wurden,
    sei:
    Ma = mittlerer Verkehr auf Vorrichtung a (seit dem Start von Ariadne)
    Mb = mittlerer Verkehr auf Vorrichtung b (seit dem Start von Ariadne)
    Va = Varianz im Verkehr auf Vorrichtung a D(a, b) = (Ma – Mb)2/Va
  • Der mittlere Wert des Verkehrs wird für alle Vorrichtungen gefunden. Die Vorrichtungen werden dann mit Bezug auf dieses mittlere Vekehrsniveau sortiert.
  • Der erste Teil der Suche beginnt für Vorrichtung a an der Vorrichtung mit dem mittleren Verkehr gerade oberhalb Ma. Diese Suche stoppt, wenn D(a, b) > 1,0. Vorrichtungen mit Werten von M > Mb werden nicht mehr untersucht.
  • Der zweite Teil der Suche startet für die Vorrichtung a an der Vorrichtung mit dem mittleren Verkehr gerade unterhalb Ma. Diese Suche stoppt, wenn D(a, b) > 1,0. Die Vorrichtungen mit Werten von M < Mb werden nun nicht überprüft. Beispiel für dies mit einer sortierten M-Liste
    Index M
    1 10
    2 12
    3 13
    4 25
    5 30
    6 38
    7 40
    8 49
    9 57
  • Sei Vorrichtung „a" der Index 5 und habe eine Varianz Va = 13, Ma = 30.
  • Der erste Teil der Suche vergleicht Vorrichtung 6 mit Vorrichtung 5 und dann Vorrichtung 7 mit Vorrichtung 5. Vorrichtung 8 hat Mb = 49 und (49 – 30)2/13 ist > 1,0, so dass Vorrichtung 8 nicht verglichen wird und keine Vorrichtung oberhalb von 8 wird mit Vorrichtung 5 verglichen.
  • Der zweite Teil der Suche vergleicht Vorrichtung 4 mit Vorrichtung 5. Vorrichtung 3 hat Mb = 13 und (13 – 30)2/13 ist > 1,0, so dass Vorrichtung 3 nicht verglichen wird und keine Vorrichtung unterhalb 3 mit Vorrichtung 5 verglichen wird.
  • Die Berechnungskomplexität der Sortierung (Quicksort oder Heapsort) ist N logN, wobei N die Anzahl von Vorrichtungen im Netzwerk ist. Dies wird nun oft die dominierende Berechnungslast im gesamten Algorithmus sein. Es sollte bemerkt werden, dass der schlechteste Fall von Quicksort N2 ist, während Heapsort um etwa 20% schlechter als N logN ist. Für dieses Problem, bei dem die Sortierung am Ende jeder Abtastperiode durchgeführt werden muss, ist Heapsort grundsätzlich besser geeignet als Quicksort, außer für das erste Auftreten der Sortierung. Dies ist, da Heapsort grundsätzlich besser auf einer Liste durchgeführt werden kann, welche bereits perfekt oder nahezu perfekt sortiert ist. Da die Hauptniveaus des Verkehrs in Vorrichtungen nicht dazu neigen, sich zu stark zu ändern, wenn sich die Anzahl von Abtastperioden erhöht, bedeutet dies, dass die sortierte Liste mehr und mehr stabil wird. Andere Sortierverfahren können besser sowohl als Quicksort oder Heapsort oder gleich gut für einige Anwendungen sein. Sie werden als geeignet für einige Anwendungen dargestellt.
  • Manchen Netzwerken kann es möglich sein, im voraus geografische Regionen zu wissen, die Sätze von Vorrichtungen enthalten. Die Vorrichtungen in einem Bereich müssen nicht als mögliche Verbindungskandidaten mit Vorrichtungen in irgendeinem nicht benachbarten Bereich berücksichtigt werden. Dies würde eine signifikante Reduktion in der Berechnungskomplexität erlauben. Es könnte ebenso möglich sein, unter ihnen nur einige wenige Vorrichtungen zu identifizieren (z. B. Router), welche möglichen Kandidaten für Verbindungen mit Vorrichtungen in anderen Bereichen sind, ungeachtet der Nähe. Dies würde weiter die Berechnungskomplexität reduzieren.
  • Zugrundeliegende Theorie des topologischen Vergleichs
  • Die folgende Abhandlung zeigt, wie viele Abtastungen in Folgen minimal notwendig sind, um zwischen den Verbindungen in einem Netzwerk zu unterscheiden, unter einigen Bedingungen. Es werden N Verkehrsfolgen im Netzwerk gemessen, mit M Abtastungen in jeder Folge. Wir wollen die N Folgen in Paaren verbinden, d. h. wir vergleichen jede der N Folgen mit N – 1 anderen Folgen. Falls keine Beschränkungen für diese Vergleiche gegeben sind, würden wir N(N – 1)/2 Vergleiche durchführen.
  • Wir wollen nun, dass die Abtastfolgen lang genug sind, um weit mehr mögliche Folgen bereitzustellen, die der Vergleich berücksichtigen würde. Wenn wir annehmen, dass jede Abtastung entweder ein Up-Signal oder ein Down-Signal auswählt, dann ist die Anzahl von möglichen Abtastfolgen in einer Folge der Länge M 2M.
  • Wenn wir nicht mehr als 1 Verbindungsfehler in X Verbindungen haben wollen, 2M > X·N(N – 1)/2
  • Z. B.: wenn X 1000 ist (d. h. nicht mehr als 1 Fehler wird in 1000 Vergleichen erwartet) und N 100 ist,
    dann X·N(N – 1)/2 = 5,05 106 So M >= 23.
  • In anderen Worten:
  • Wenn man eine Abtastfolge der Länge 23 verwendet, sollte man erwarten, 100 Verbindungen korrekt zu verbinden, welche zufallsweise von der möglichen Population von binären Folgen mit einer Genauigkeit von einem erwarteten Fehler in 1000 Verbindungen hergeleitet sind.
  • Es sei bemerkt, dass die binären Folgen (Up und Down) mit der Verwendung einer Varianz für jede Abtastung korrespondieren, die zu dem Quadrat des Versatzes dieser Abtastung vom Mittelwert korrespondieren.
  • D. h.: Wenn s(i) der Abtastwert an der i-ten Position ist und m der Mittelwert von s(i) ist, i = 1 .. M v(i) = (s(i) – m)2
  • Da dies eine sehr konservative Ausdrucksweise der Varianz ist, würde man erwarten, dass diese Schätzung der minimalen Anzahl von Abtastungen m ebenso konservativ ist.
  • Herleiten des Vorhandenseins einer nicht verwalteten Vorrichtung
  • Es seien die Vorrichtungen A, C und D in (6) unten verwaltet (d. h.: Verkehrsabtastungen werden von ihnen genommen). Vorrichtung B sei nicht verwaltet. Von der Zeit t0 bis t1 geht der gesamte Verkehr von A nach D (natürlich über B). Während dieser Zeit würde Ariadne glauben, dass Vorrichtung A direkt mit D verbunden ist. Von der Zeit t1 bis t2, geht der gesamte Verkehr von A nach C (immer noch über B). Nun würde geglaubt, dass A direkt mit C verbunden ist. Um die zwei Hypothesen in Übereinstimmung zu bringen, wird das Vorhandensein eines Wolkenobjekts [cloud object] postuliert (was in der Praxis Objekt B ist) wie in (7).
  • Figure 00400001
  • In Kommunikationsnetzwerken würden die zwei Hypothesen (A–C und A–D) nur inkonsistent, wenn die Kommunikationsschnittstelle (d. h. Port) an A für die zwei Verbindungen die gleiche wäre.
  • Alternative Formen der Berechnung der am meisten wahrscheinlichen Verbindung aus einer Serie von Hypothesen
  • Über viele Abtastperioden könnte eine Folge von Hypothesen berücksichtigt werden, welche Vorrichtung (aus einer Menge Bi: i = 1 .. n) am ehesten mit Vorrichtung A verbunden ist. Das beste Verfahren zur Unterscheidung wäre, die maximale Anzahl von Abtastungen im Vergleich zu verwenden. Wie auch immer, falls dies undurchführbar ist (z. B.: aufgrund der Unmöglichkeit, alle die Abtastungen zu speichern), könnte eine Vielzahl von Verfahren verwendet werden, um eine Gütezahl aus einer früheren Folge zu der Gütezahl einer aktuellen zu kombinieren (nicht überlappende Folge). Eines dieser Verfahren wäre, das Mittel zwischen den zwei Gütezahlen zu nehmen.
  • Z. B.: Falls F(x, y, n) die fom zwischen x bis y unter Verwendung der Abtastfolge 1 ist.
  • Es sei:
    F(A, D, 1) = 0,10
    F(A, D, 2) = 0,71
    F(A, C, 1) = 0,09
    F(A, C, 2) = 0,11
    F(A, D) = (0,10 + 0,71)/2 = 0,4
    F(A, C) = (0,09 + 0,11)/2 = 0,1
  • Folglich ist A am wahrscheinlichsten mit C verbunden, nicht mit D.
  • Die oben beschriebenen Ausführungsbeispiele werden allgemein als Ariadne bezeichnet. Die folgenden Ausführungsbeispiele werden generell als Jove bezeichnet. Jove ist ein logisches Verfahren zum Entdecken der Topologie von Objekten.
  • Jove ist ein Verfahren, das Untergrafen in einem Netzwerk verbinden kann, die andernfalls unverbunden blieben. Diese Untergrafen werden durch Vorrichtungen oder Sätze von Vorrichtungen verbunden, die keine Messungen von Aktivitäten an das System/die Systeme, auf denen Ariadne läuft, aufzeichnen oder berichten. Jove bestimmt die Existenz solcher Objekte, wo sie in dem Netzwerk sind und wie sie zu den Teilen des Netzwerks, die Ariadne sehen kann, verbunden sind.
  • Grundsätzliches Konzept
  • Das grundsätzliche Konzept ist es, einen Pfad zu bestimmen, durch Senden eines Signals von einer Quelle an ein Ziel, während der Verkehr überwacht wird, der durch dieses Signal auf allen Objekten, die im Pfad liegen könnten, verursacht wird. Das Signal wird gewählt, um gegenüber dem Hintergrundverkehr erkennbar zu sein. Die Objekte, auf denen der Signalverkehr erkannt wird, sind nun bekannt als auf diesem Pfad liegend. Diese Information wird verwendet, um die Verbindungen in der Netzwerktopologie zu vervollständigen.
    • 1: Der Prozess kann wiederholte Signale einschließen, um die Genauigkeit zu verbessern.
    • 2: Der Prozess kann verwendet werden, um sowohl Verbindungen zu verifizieren als auch sie zu entdecken.
    • 3: Das Signal kann bewusst initiiert werden oder ein spontanes Signal oder Signale können verfolgt werden.
    • 4: Die Folge, in der Objekte das Signal erhalten, kann verwendet werden, um die Folge der Objekte im Pfad zu definieren. Z. B., sollte das Signal von Vorrichtung A gesendet werden und an Vorrichtung B vor Vorrichtung C ankommen, dann liegt Vorrichtung B auf dem Pfad zwischen A und C.
    • 5: Die bekannte relative Tiefe von Objekten von der Quelle kann verwendet werden, um die Folge von Objekten im Pfad zu definieren. Die Tiefe von der Quelle ist die Anzahl von Objekten, welche von der Quelle passiert werden müssen, um das Objekt zu erreichen.
  • Anwendung auf Kommunikationsnetzwerke
  • Jove ist ein logisches Verfahren, dass die probabilistischen Verfahren von Ariadne ergänzt. Jove veranlasst den Netzwerkmanagementcentercomputer, ein großes Bündel an Verkehr über das Netzwerk an einen speziellen Zielcomputer zu senden. Dieses Bündel ist groß genug, dass es bei den Routinemessungen des Verkehrs auf den Vorrichtungen im Netzwerk, die überwacht werden, verfolgt werden kann. Die Vorrichtungen die durch das Bündel passiert werden, zeigen Jove den Pfad des Bündels an. Falls der Bündel durch zwei Untergrafen gelangt, besteht eine Lücke im Pfad des Bündels aufgrund des Vorhandenseins einer Vorrichtung, die ihren Verkehr nicht berichtet. Jove leitet dann her, welche zwei Vorrichtungen im Netzwerk die zwei Enden der Lücke bilden und fügt ein hypothetisches Objekt hinzu, das diese zwei Enden verbindet.
  • Vorrichtung NMC ist der Netzwerkmanagementzentralcomputer, auf dem Ariadne läuft. (Jove ist ein Teil von Ariadne). In dem unten als (1) gezeigten Netzwerk sind Vorrichtungen A, B, C, D, E und G im Netzwerk und berichten ihren Verkehr an Ariadne. Vorrichtung F im Netzwerk hingegen berichtet seinen Verkehr nicht (z. B.: Sie ist unverwaltet). Der vom NMC an E gesendete Bündel wird durch Jove auf der Leitung wie folgt erkannt:
    • 1: NMC-A
    • 2: A-B
    • 3: B- irgendwohin
    • 4: von irgendwohin nach D
    • 5: D-E
  • Figure 00420001
  • Jove führt den Netzwerklayoutalgorithmus zweimal durch, einmal mit dem NMC als oberste Stelle und einmal mit der Vorrichtung E als oberste Stelle, wodurch er die folgenden beiden Untergrafen erhält:
  • Figure 00430001
  • Jove findet die zwei Verbindungen (gekennzeichnet durch *), die das Bündel in Untergraf 1 und in Untergraf 2 tragen, aber für die Ariadne kein anderes Ende gefunden hat (d. h.: eine hängende Verbindung). Die Verbindungen von B und D (mit * markiert) sind solche hängenden Verbindungen. Jove nimmt deshalb an, dass diese zwei Verbindungen an einer unbekannten Vorrichtung enden. Es fügt solch eine hypothetische Vorrichtung (eine Wolke) dem Netzwerk hinzu und verwindet so die zwei Untergrafen wie folgt.
  • Figure 00430002
  • Hinzufügen einer zweiten Wolke oder Wiederverwenden einer bestehenden Wolke
  • Üblicherweise ist der Port von einer Vorrichtung zu einer Wolke bekannt. Dies ist so aufgrund der Beobachtung des Bündels auf der Leitung, die von dem Port wegführt. Sollte der gleiche Port an der gleichen Vorrichtung verwendet werden, um zu einer zweiten hypothetischen Wolke zu verbinden, wird die zweite Wolke nicht hinzugefügt und die gleiche Wolke wird wieder benutzt. Das folgende Beispiel beschreibt dies mit Bezug auf das in (7) gezeigte Netzwerk.
  • Figure 00440001
  • In diesem Beispiel sind alle Vorrichtungen außer F verwaltet. Jove sendet zuerst ein Bündel an D und leitet dann den Graf her. NMC-A-(Wolke)-D (5)
  • Jove sendet dann ein Bündel an E und findet, dass die Verbindung von A-(Wolke) den gleichen Port für dieses Bündel verwendet als für den früheren. Deshalb verbindet die bereits hinzugefügte Wolke ebenso mit E.
  • Figure 00440002
  • Sollte Jove finden, dass ein unterschiedlicher Port verwendet wurde, um von A mit E zu verbinden, würde er den folgenden Graf erstellt haben.
  • Figure 00440003
  • Variationen, Ausnahmen und Zielaufwahl
  • Zahlreiche Ausnahmebedingungen und Variationen dieser Logik sind möglich. Wie Jove Ziele auswählt, ist unten beschrieben.
  • Isolierte Vorrichtungen auf einem Bündelpfad
  • Es seien alle Vorrichtungen in dem oben in (1) gezeigten Netzwerk verwaltet außer B und D. C, F, G und E sind nun isoliert verwaltete Vorrichtungen. E wurde als ein Ziel gewählt. Die zwei Untergrafen werden wie folgt erstellt: NMC-A- Untergraf 1 E- Untergraf 2 (8)
  • Das Bündel vom NMC wird beobachtet, wie es NMC, A, F und E passiert. Da F in keinem der Untergrafen ist, wird es nun als das Ziel anstatt von E ausgewählt. Es werden nun die zwei Untergrafen erhalten: NMC-A- Untergraf 1 -F- Untergraf 2 (9)
  • Das Bündel passiert von NMC nach A und hinaus und wird beobachtet, wie es in F eintritt. Die zwei hängenden Verbindungen werden verbunden wie folgt.
  • Nun hat Jove F verbunden, es kann nun zurückkehren, um zu versuchen, E wieder zu verbinden. Es weis bereits, dass die Bündel von dem NMC beobachtet wurden, wie sie durch NMC, A, F zu E passieren. Deshalb muss E mit F wie folgt verbunden werden. NMC-A-(Wolke)-F-(Wolke)-E (10)
  • In (10) sind die beiden Wolken als unterschiedlich bekannt. Das Bündel weist in und aus F und deshalb muss, obwohl das Netzwerk F als eine unnötige Schleife auf einer Route beinhaltet, F essentiell bei der Verbindung der zwei Wolken sein.
  • Diese Logik des Behandelns einer isolierten Vorrichtung auf einem Bündelpfad kann verallgemeinert werden. Sollten einige derartiger isolierter Vorrichtungen auftreten, oder sollte einer oder mehrere Untergrafen in einer Route erscheinen, werden diese Probleme gelöst, bevor Jove zu dem ursprünglichen Problem zurückkehrt. Auf diese Art verbindet Jove das Netzwerk in Teilen, arbeitend ausgehend von dem NMC zu dem ursprünglich gewählten Ziel. Diese Logik resultiert im Kern eines Kommunikationsnetzwerks, der zuerst gebildet wird. Da die meisten Routen vom NMC zu anderen Objekten im Netzwerk über diesen Kern führen, resultiert dies darin, dass mehr des Netzwerks durch Jove Signalbündel erkundet wird. Weiterhin, sollte der bis dahin durch Ariadne und Jove gebildete Graf angezeigt werden, während Jove arbeitet, erlaubt dies dem Betreiber, den Kern des Netzwerks zuerst zu sehen, was für den Netzwerkbetreiber oft wichtiger ist, als isolierte Teile der Peripherie.
  • Eine alternative Antwort auf die Erkennung einer isolierten Vorrichtung auf einem Bündelpfad ist die folgende. Die ursprüngliche Zielanalyse wird abgebrochen und das Problem für die isolierte Vorrichtung (wie oben beschrieben) wird gelöst. Nun wird ein neues Ziel gewählt. Das neue Ziel kann das gleiche sein wie das ursprüngliche oder kann unterschiedlich sein. Dies erlaubt Jove, mit größerer Einfachheit zu arbeiten. Dies kann bei bestimmten Klassen von Netzwerken geeignet sein.
  • Fallenlassen von Verkehrsmessungen
  • Der NMC sendet Anforderungen an verwaltete Vorrichtungen um sie anzufragen, ihm über ihre Verkehrszähler zu berichten (was Teil von Ariadne's repetitiver Polling-Prozedur ist). Manchmal gehen diese Anforderungen verloren und manchmal gehen die Antworten verloren. In beiden Fällen ist eine Lücke in der für eine Vorrichtung oder Vorrichtungen aufgezeichneten Verkehrsfolge. Die Verlustrate ist definiert als der Prozentanteil der Anforderungen, die keine korrespondierende Antwort empfangen aufgrund des Verlusts entweder der Anforderung oder der Antwort. In machen Kommunikationsnetzwerken erreicht die Verlustrate Niveaus von einigen 10% (z. B. sind bei einer durchschnittlichen Verlustrate von 40% sind nur 60% der Verkehrsmessungen vollständig).
  • Wenn Jove einmal den NMC instruiert hat, ein Bündel auszusenden, wird es warten, bis alle Vorrichtungen in beiden Untergrafen mit ihren Verkehrsmessungen geantwortet haben, bevor es seine Analyse fortsetzt. Zusätzlich wird Jove Null oder mehr Abtastperioden abhängig von der durchschnittlichen Verlustrate warten. Diese Verzögerung erlaubt es Vorrichtungen, die in keinem der Untergrafen sind, zu Antworten, und so folglich identifiziert zu werden, dass sie das Bündel empfangen haben.
  • Sollte die Verlustrate einen Schwellwert übersteigen (durch den Betreiber gesetzt), dann wird Jove den Betrieb unterbrechen, bis die Verlustrate unterhalb des Schwellwerts ist. Da die Verlustraten zum Ansteigen neigen, wenn das Netzwerk überlastet wird, verhindert dies, dass Jove aufgrund des möglichen Überlastproblems durch Erzeugen von Verkehrsbündeln Last hinzufügt.
  • Die Natur der Bündel
  • In TCP/IP oder IPX ISPX (etc.) Netzwerken ist ein Bündel von Ping-Paketen geeignet zur Verwendung als Bündel. Pings verursachen eine Antwort im Zielkernal und die Antwort einer gleichen Anzahl von Paketen. In beiden Fällen sind die Pakete klein. Die Hauptvorteile bei der Verwendung von Pings sind die geringe Größe der einbezogenen Pakete, das Fehlen eines Einflusses auf die CPU Last auf der Zielmaschine und ihre Allgemeinheit. Die geringe Größe der Pakete reduziert die Last auf der Vorrichtung im Netzwerk auf der Route. Das Fehlen eines Einflusses auf die CPU der Zielmaschine resultiert daraus, dass der Ping durch den Zielkernal beantwortet wird, nicht durch eine Anwendung in der Zielmaschine. Schlussendlich antworten viele Netzwerkvorrichtungen auf Pings, aber weder sammeln sie noch berichten sie irgendwelche Verkehrsmessungen. Das bedeutet, dass Jove Vorrichtungen im Netzwerk identifizieren und lokalisieren kann, die Ariadne nicht kann.
  • Der NMC muss sorgfältig diese Bündel von Paketen soweit austeilen, dass Routingvorrichtungen in dem Pfad nicht überlastet werden, andererseits nicht so weit, dass dynamisches Rerouting signifikante Anteile der Bündel zum Laufen entlang einer anderen Route bewegen.
  • Zielauswahl
  • Ariadne weis, dass die Jovelogik benötigt wird, wenn Ariadne den Netzwerkgraflayoutalgorithmus verwendet und mindestens zwei Untergrafen als existierend gefunden werden. Ariadne wählt als seinen Untergraf 1 den Untergraf, der den NMC enthält. Sie wählt als Untergraf 2 den Untergraf mit den meisten Vorrichtungen. Die Vorrichtung an der Spitze des Untergrafen 2 wird als Ziel des Bündels gewählt.
  • Die Größe des Bündels
  • Ariadne überprüft die Änderungen in Verkehrszählern von einer Abtastperiode zur nächsten für alle Vorrichtungen im Netzwerk. Sie setzt das Niveau der Bündel wesentlich größer als jede Änderung in den Verkehrszählern in den letzten M (z. B. M = 15) Abtastperioden. Sollte dieses Bündel kleiner berechnet werden als ein Minimum (z. B. 500 Pakete), wird es auf dieses Minimum gesetzt. Sollte dieses Bündel als größer als ein Maximum berechnet werden, dann wird Jove für eine Dauer einer Zeit (z. B. 15 Abtastperioden) abgestellt, da das Netzwerk aktuell zu instabil oder überlastet ist, um Jove akkurat zu verwenden, ohne möglicherweise Benutzerantworten aufgrund des durch die Jovebündel verursachten Verkehrs zu beeinflussen.
  • Das Timing der Bündel
  • Bündel müssen während einer Periode gesendet werden, wenn keine Verkehrsmessungen gemacht werden. Andernfalls kann ein Bündel teilweise in eine Abtastperiode und teilweise in eine andere fallen, für manche Vorrichtungen und für andere nicht. Um sicherzustellen, dass ein Bündel nicht mit Verkehrsmessungen überlappt, werden keine Anforderungen für solche Messungen ausgesendet für eine Zeitdauer, bevor ein Bündel gesendet wird, und keine für eine Zeitdauer, nachdem ein Bündel gesendet wurde. Die Lücke vorher stellt vernünftigerweise sicher, dass alle Vorrichtungen Messungen vervollständigt haben, bevor ein Bündel gesendet wird. Die nachfolgende Lücke macht es vernünftigerweise sicher, dass keine Anforderung für die nächste Messung ein Bündel überholt.
  • Die Verwendungen von Jove in Kommunikation
  • Jove kann bestimmen, wie nicht verwaltete, aber anpingbare Vorrichtungen mit dem Netzwerk verbunden sind, falls irgendeine verwaltete Vorrichtung hinter ihr liegt. Jove kann hieraus die Existenz von Verbindungen herleiten, beispielsweise solcher, die von dritten Parteien bereitgestellt werden, um LANs zu WANs querzuverbinden. Weiter kann Jove verwendet werden, um die Existenz einer einzelnen Wolke, die eine Vielzahl von Vorrichtungen verbindet, zu bestimmen. Solche ein Wolke kann beispielsweise ein unverwalteter Repeater oder eine CSMA-CD-Kollisions-Domain auf einem 10Base2 oder 10Base5 Segment sein.
  • Vielfältige parallele Bündel
  • Die Jovelogik kann auf einigen abgetrennten Untergrafen auf einmal arbeiten. Das an Untergraf 2 gesendete Bündel wird von der Größe M gewählt. Das an Untergraf 3 gesendete ist von der Größe 2M. Das an Untergraf 4 gesendete ist von der Größe 4M usw. (1, 2, 4, 8, 16 ..). Wie vorher bemerkt, erlaubt es diese binäre Form von Kombinationen Jove, Vorrichtungen zu unterscheiden, die Bündel unterschiedlicher Größen empfangen haben.
  • Automatische Anpassung der Bündelgröße basierend auf Bündelauflösung
  • Ein Bündel ist entworfen, um leicht gegenüber den Fluktuationen im Hintergrundverkehr erkannt zu werden. Angenommen, dass die durchschnittliche Änderung im Hintergrundverkehr von einer Absatzperiode zu der nächsten 50 Pakete ist und dass die Bündelgröße als 500 Pakete in der ersten Absatzperiode gewählt wurde. Das Bündel wird im Durchschnitt als Größe von 500 +– 50 Paketen erkannt, d. h. mit einer Abweichung [fuzz] von 10%. Wenn diese Abweichung größer wird, wird die Chance dafür, dass Jove fälschlicherweise ein Bündel in eine Vorrichtung aufgrund einer zufälligen Änderung im Verkehr erkennt, ebenso größer. Jove sollte deshalb versuchen, die Bündelgröße zu verringern, wenn er erkennt, dass ein durchschnittliches oder maximales Abweichungsniveau oberhalb eines bestimmten Schwellwerts liegt. Darüber hinaus, sollte die Abweichung zu groß sein, wird Jove nicht akzeptieren, dass dieses Bündel signifikant oberhalb des Hintergrunds war und wird das Ergebnis von diesem Bündel keinesfalls benutzen. Ebenso sollte Jove versuchen, die Bündelgröße über einen Schwellwert zu erhöhen, wird die Jovelogik für eine Zeitdauer unterbrochen, bis das Netzwerk hoffentlich weniger belastet oder weniger bündelreich wird.
  • Wenn Jove das durchschnittliche oder maximale Abweichungsniveau als sehr niedrig erkennt, dann erkennt Jove, dass das Bündel unnötig groß ist. Dies bedeutet, dass die Bündelgröße reduziert werden kann. Dies hat zwei Vorteile. Erstens hat das Bündel keinen geringeren Einfluss auf die Netzwerkverkehrslast und ebenso erlaubt es, dass mehrere vielzählige Joves (wie vorher beschrieben) parallel betrieben werden. Wie auch immer, die Bündelgröße kann nicht unter einem bestimmten Schwellwert reduziert werden, um das Risiko zu reduzieren, dass zufällige kleine Änderungen im Netzwerkverkehr einen Verlust von Joves Urteil für eine Abtastperiode verursachen.
  • Z. B., falls die Signaländerung von einer Abtastperiode zur nächsten für eine Vorrichtung C war und D ist, wenn ein Bündel der Größe B hindurchgesetzt wird:
  • Der Fehler beim Erkennen des Vorhandenseins eines Bündels D ist |C – (D – B)|.
  • Z. B., falls C 220 pkts war, D 1270 pkts ist und B 1000 pkts ist, dann ist der Fehler in B 50 pkts in 1000 (oder 5%).
  • Eine andere Art von Jovelogik
  • Tiefe: Die Anzahl von durchquerten Vorrichtungen zwischen der Quelle und einem Objekt ist als Tiefe definiert. Dies wird oft als die Anzahl von Sprüngen bezeichnet.
  • Wie oben beschrieben, sucht Jove nach Vorrichtungen, welche entweder ein Bündel von einer unverbundenen Verbindung empfangen haben oder ein Bündel über eine unverbundene Verbindung gesendet haben. Sollte diese detaillierte Information (z. B. Portniveau der Aktivität) nicht gemessen werden, dann kann Jove die Tiefe im Untergraf herleiten und das tiefste Objekt, welches ein Bündel hatte, auswählen. Dies kann bedeuten, dass am weitesten vom NMC entfernte Objekt, das ein Bündel empfangen hat, auszuwählen. Dies kann, dass am weitesten vom Ziel entfernte Objekt bedeuten.
  • Z. B. betrachte man Untergraf 1 und Untergraf 2 in (12) unten. In Untergraf 1 hat der NMC die Tiefe 0 (d. h.: Er ist Null Sprünge vom NMC). Vorrichtung A hat die Tiefe 1, Vorrichtung B hat die Tiefe 2 und Vorrichtung C hat die Tiefe 3. Jove weis diese Tiefen aus der Topologie dieses Untergrafs. Der vom NMC an Vorrichtung G gesendete Bündel passiert durch den NMC, A und B (aber nicht C). Da B die tiefste Vorrichtung in Untergraf 1 ist, die das Bündel trägt, ist B möglicherweise der Punkt der Verbindung mit Untergraf 2.
  • In Untergraf 2 ist Vorrichtung G an der Spitze (da sie als das Ziel gewählt wurde). Vorrichtung D hat die Tiefe 1 und Vorrichtung E hat die Tiefe 2. Nur D und G empfangen das Bündel. Da D die tiefste Vorrichtung in Untergraf 2 ist, die das Bündel empfangen hat, ist es möglicherweise der Punkt der Verbindung mit Untergraf 1.
  • Figure 00510001
  • Die Wahl von B in dem NMC-Untergraf (Untergraf 1) kann optional geprüft werden durch Senden eines Bündels an das nächsttiefste Objekt, das ein Bündel in diesem Untergraf empfangen hat. Dies ist Vorrichtung A im Beispiel oben. Sollte das als tiefste gewählte Objekt (z. B. B) dieses Bündel nicht empfangen, ist es wirklich das tiefste. Sollte es das Bündel empfangen, dann sollte es nicht als das tiefste berücksichtigt werden und das nächsttiefeste sollte daraufhin geprüft werden. Diese Prüfung kann iterieren, bis das korrekte Objekt, das mit der Wolke verbunden sein sollte, gefunden ist.
  • Die Auswahl im zweiten Untergrafen kann ebenso optional geprüft werden durch Senden eines Bündels an ihn (z. B. an D). Sollte nur das Objekt im zweiten Untergraf (z. B.: Untergraf 2) das Bündel empfangen, dann ist es tatsächlich der Punkt der Verbindung mit der Wolke. Sollte irgendein anderes Objekt im zweiten Untergraf dieses Bündel empfangen, dann muss die ursprüngliche Auswahl des tiefsten in diesem Untergraf zurückgewiesen werden und das zweittiefste versucht werden. Ebenso kann dieses Prüfen iterieren, bis ein an ein Objekt im zweiten Untergraf gesendetes Bündel verursacht, dass nur das Objekt im zweiten Untergrafen ein Bündel empfängt.
  • Netzwerklayoutalgorithmus
  • Der folgende Algorithmus erlaubt es, die Netzwerktopologie in einer geordneten Art und Weise auszulegen, mit einer Vorrichtung, die an der Spitze stehend ausgewählt wurde. Die Verbindungen zwischen allen Vorrichtungen im Netzwerk, die verwaltet werden, und die durch Ariadne hergeleitet werden können, werden als bereits hergeleitet angenommen. Eine Vorrichtung wird für den Netzwerklayoutalgorithmus als die TOP-Vorrichtung definiert.
    Schritt 0: Definieren aller Vorrichtungen mit ihrem Niveau im Netzwerk als undefiniert.
    Schritt 1: Der TOP-Vorrichtung wird ein Niveau von 1 zugewiesen.
    Schritte i = 2 .. N: Auswählen aller Vorrichtungen, die mit Vorrichtungen auf dem Niveau i – 1 verbinden und undefiniertes Niveau haben. Diesen Vorrichtungen wird das Niveau i gegeben.
    Anhalten, wenn keine Vorrichtungen mehr zugewiesen werden können.
  • Dieser Algorithmus wird terminieren mit allen Vorrichtungen, die mit dem Untergrafen im Netzwerk verbunden sind, der die TOP-Vorrichtung enthält. Falls das Netzwerk topologisch kontinuierlich ist, dann wird der Untergraf alle Vorrichtungen im Netzwerk enthalten. Solche topologische Kontinuität existiert, wenn alle Vorrichtungen verwaltet werden und geeignete Verbindungen durch Ariadne ermittelt wurden.
  • Dieser Netzwerklayoutalgorithmus wird in Jove und in dem Netzwerkgrafenlayoutalgorithmus verwendet.
  • Netzwerkgrafenlayoutalgorithmus
  • Das Ziel ist hier, die Netzwerktopologie in solch einer Weise auszulegen, wie es für Menschen Sinn macht. Wenn angezeigt, wird das Netzwerk die allerwichtigsten Kommunikationsobjekte in der Anzeige oben haben. Weniger wichtige Kommunikationsobjekte werden darunter liegen. Im speziellen wird die Vorrichtung, welche am häufigsten eine Rolle in Kommunikationspfaden zwischen Paaren von Vorrichtungen spielt, nach oben gesetzt.
  • Der Netzwerkgrafenlayoutalgorithmus wird verwendet, um bei der Anzeige der Netzwerktopologie zu helfen und um logische Methoden der Bestimmung der Netzwerktopologie zu unterstützen.
  • Zuordnen aller Vorrichtungen zu Untergrafen
    • 0: Definiere, dass alle Vorrichtungen in keinem Untergrafen sind.
    • 1: i = 1.
    • 2: Wähle zufällig eine Vorrichtung, welche in keinem Untergrafen ist.
    • 3: Definiere diese Vorrichtung als TOP und verwende den Netzwerklayoutalgorithmus.
    • 4: Alle Vorrichtungen in dem Untergrafen unter und enthaltend TOP werden gekennzeichnet als in dem Untergrafen i zu sein.
    • 5: i = i + 1.
    • 6: Sollte irgendeine Vorrichtung immer noch nicht in irgendeinem Untergrafen verbleiben, gehe zu Schritt 2.
  • Bemerkung: Eine übliche Variante in Schritt 2 würde wie folgt sein.
  • 2: Falls i = 1 dann wähle die Vorrichtung = NMC, andernfalls wähle zufällig eine Vorrichtung.
  • Dies bedeutet, dass Untergraf 1 den NMC als sein oberstes Element enthält.
  • Finden der Routing TOP des größten Untergrafen
  • Der Untergraf mit den meisten Vorrichtungen ist der größte Untergraf. Bestimme in diesem Untergraf die relative Bedeutung beim Routen einer jeden Vorrichtung. Die Vorrichtung mit der größten Bedeutung beim Routen ist der TOP dieses Untergrafen.
    • 0: Bestimme die Routen von allen Vorrichtungen zu allen Vorrichtungen in dem Untergraf. Verwende das standardmäßige Datenroutenkostenaustauschverfahren [data route cost exchange method] um dies zu tun, unter der Vorgabe, dass alle Vorrichtungen in dem Untergraf Datenrouter sind. Dieses Verfahren und Variationen werden unten erläutert.
    • 1: Definiere alle Vorrichtungen in dem Untergrafen, als hätten sie Routingzähler mit 0.
    • 2: Wähle zufällig ein Paar von Vorrichtungen in dem Untergrafen aus und finde den kürzesten Pfad zwischen ihnen.
    • 3: Alle Vorrichtungen auf dem Pfad und die zwei Enden haben ihre Routingzähler um 1 erhöht.
    • 4: Wiederhole Schritte 2 und 3 M mal (z. B.: M = 1000)
    • 5: Überprüfe die Routingzähler von allen Vorrichtungen im Untergraf. Die Vorrichtung mit dem größten Zähler ist die wichtigste beim Routen. Sie wird als die TOP-Vorrichtung definiert. Sollte ein Gleichstand auftauchen, wird die erste entdeckte Vorrichtung mit dem größten Zähler die TOP-Vorrichtung werden. Alternativ werden alle Vorrichtungen, die den größten Zähler oder nahe daran liegen, auf dem obersten Niveau angeordnet.
  • Datenrouterkostentabellenaustauschverfahren: Konstante Kosten je Sprung
  • Das Ziel ist, die Kosten zum Erreichen einer jeden Vorrichtung K von einer jeden Vorrichtung J zu finden. Eine Tabelle, die diese Kosten beschreibt, kann direkt verwendet werden, um die kürzeste Route von jeder Vorrichtung zu jeder Vorrichtung zu finden.
  • Definiere:
    C(J, K) sind die Kosten für das Erreichen der Vorrichtung K von der Vorrichtung J.
    N = Anzahl von Vorrichtungen.
    • 1: Setze alle C(J, K) als unbekannt: J = 1 .. N, K = 1 .. N
    • 2: Setze alle C(J, J) = 0, J = 1 .. N.
    • 3: Für jede Vorrichtung J definiere die Kosten des Erreichens seiner unmittelbaren Nachbarn K als Kosten 1: C(J, K) = 1 für die Menge K von Nachbarn eines jeden J, J = 1 .. N
    • 4: Für alle J = 1 .. N, sei K die Menge von Nachbarn der Vorrichtung J, für alle Vorrichtungen M: Falls C(K, M) nicht ungesetzt ist: dann Falls C(J, M) > C(K, M) + 1 oder falls C(J, M) ungesetzt ist, dann C(J, M) = C(K, M) + 1
    • 5: Falls irgendeine Änderung an irgendeinem C-Wert im gesamten Schritt 4 gemacht wurde, wiederhole Schritt 4.
  • Generell sind Vorrichtungen in der Ariadne- und Jove-Logik Netzwerkvorrichtungen oder grafische Vorrichtungen.
  • Datenrouterkostentabellenaustauschverfahren: Variable Kosten je Sprung
  • Das Ziel ist, die Kosten zum Erreichen einer jeden Vorrichtung K von einer jeden Vorrichtung J zu finden. Die Tabelle, die diese Kosten beschreibt, kann direkt zum Finden der kürzesten Route von einer jeden Vorrichtung zu einer jeden Vorrichtung verwendet werden. In dieser Variation hängen die Kosten vom Passieren von einer Vorrichtung J zu einer benachbarten Vorrichtung K von der Kapazität des Kommunikationsverkehrs auf der Leitung, die J mit K verbindet, ab.
  • Definiere:
    C(J, K) sind die Kosten für das Erreichen der Vorrichtung K von der Vorrichtung J.
    N = Anzahl von Vorrichtungen.
    • 1: Setze alle C(J, K) als unbekannt: J = 1 .. N, K = 1 .. N
    • 2: Setze alle C(J, J) = 0, J = 1 .. N.
    • 3: Definiere für jede Vorrichtung J die Kosten zum Erreichen ihrer unmittelbaren Nachbarn K als Kosten, die umgekehrt proportional zu der Leitungsverkehrskapazität der Leitung von J zu K sind: C(J, K) = 1/(Leitungsverkehrskapazität für die Leitung j zu K): Für die Menge K von Nachbarn eines jeden J, J = 1 .. N
    • 4: Für alle J = 1 .. N, sei K die Menge von Nachbarn von Vorrichtung J, für alle Vorrichtungen M: Falls C(K, M) nicht ungesetzt ist: dann Falls C(J, M) > C(K, M) + C(J, K) oder falls C(J, M) ungesetzt ist, dann C(J, M) = C(K, M) + C(J, K)
    • 5: Falls irgendeine Änderung an irgendeinem C-Wert im gesamten Schritt 4 gemacht wurde, wiederhole Schritt 4.
  • Unvollständige Verkehrskapazitätswissen
  • Sollte eine Leitungskapazität unbekannt sein, können einige alternative Methoden verwendet werden, um sie abzuschätzen.
    • 1: Wo irgendeine Leitungskapazität unbekannt ist, verwende die niedrigste Leitungskapazität auf irgendeiner Leitung, die zu oder von dieser Vorrichtung verbindet.
    • 2: Wo eine Leitungskapazität unbekannt ist, verwende die mittlere Leitungskapazität der Leitungen, die zu oder von der Vorrichtung verbinden.
    • 3: Wo irgendeine Leitungskapazität unbekannt ist, verwende die mittlere Leitungskapazität von all den benachbarten Leitungen oder des Netzwerks in Größe.
    • 4: Wo eine Leitungskapazität unbekannt ist, verwende den durch den Betreiber gesetzten Standardwert.
  • Andere Anwendungen
  • Dieser Algorithmus wird jede Topologie von Objekten anzeigen. Der Routingzähler kann ersetzt werden durch einen Verkehrsvolumenzähler oder irgendwelche anderen Messungen.
  • Jede der Familie der Verfahren zum Finden von fast optimalen Pfaden zwischen Objekten kann verwendet werden. Wie auch die wohlbekannten Kommunikationsverfahren in Sprach- und Datennetzwerken eingesetzt werden, gibt es einige Variationen, die in anderen Anwendungen geeignet sind, wie in den folgenden Referenzen beschrieben.
    • 1: P. P Chakrabarti: „Algorithmus for searching explicit AND/OR graphs and their application to problem reduction search", Artificial Intelligence, vol 65(2), pp 329–346, (1994)
    • 2: M. Hitz, T. Mueck: „Routine heuristics for Cayley graph topologies", Proceedings of the 10th Conference on AI and Applications, (CAIA), pp 474–476, (1994).
    • 3: A. Reinefeld, T. A. Marsland: „Enhance iterative-deepening search", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol 16(7), pp 701–710, (1994).
    • 4: W. Hoffman, R. Pavley: „A method for the solution of the Nth best path problem", Journal fo the ACM, vol 6(4), pp 506–514, (1959)
    • 5: M. S. Hung, J. J. Divoky: „A computational study of efficient shortest path algorithmus", Computers and Operational Research, vol 15(6), pp 567–576, (1988)
    • 6: S. E. Dreyfus: „An appraisal of some shortest-path algorithmus", Operations Research, vol 17, pp 395–412, (1969).
  • Alternative, auf Chi-Quadrat bezogenes fom-Verfahren:
  • Definiere:
    si = Wert des Signals von Vorrichtung s zum Zeitpunkt i
    ti = Wert des Signals von Vorrichtung t zum Zeitpunkt i
    vi = Varianz des Signals von Vorrichtung s zum Zeitpunkt i
  • Es sei: β = Σ((si – ti)2/vi)
  • Das Chi-Quadrat-Verfahren ist eine spezielle Form dieses allgemeinen Ausdrucks, wobei vi durch si angenähert wird (oder durch die Summe von si und ti, abhängig von der Normalisierung).
  • Ein alternatives Verfahren ist, vi aus der Folge von Messungen si explizit zu schätzen. Dieses Verfahren hat den großen Vorteil, dass es nicht die gleichen Annahmen macht, die für eine genaue Verwendung der Chi-Quadrat-Formulierung benötigt werden. Verfahren zum Schätzen der Varianz (vi) enthalten das Folgende:
    Finden der Varianz der Folge von Messungen, vi = diese Varianz:
    Anpassen der gleichen oder ähnlicher oder anderer Funktionen, wie sie in der Zeitabgleichsinterpolation auf die Folge von Messungen verwendet wurde, und setzen: vi = (si – Schätzwert von si)2 Verwenden der Summe der Signale bis dahin:
  • In früheren Formulierungen:
    si = Wert des Signals von der Vorrichtung s zum Zeitpunkt i
    ti = Wert des Signals von der Vorrichtung zum Zeitpunkt i
  • Z. B., sollte der Verkehrszähler zu den Zeiten 1–3 wie folgt sein:
    1: 17
    2: 21
    3: 16
  • Anstatt der Verwendung dieser si-Zähler wird die Summe zu diesem Zeitpunkt verwendet: Si = (Σsj j= 1 .. i.) – s1
  • Si misst die vollständige Aktivität in Vorrichtung s seit dem Start der Aufzeichnung. Die gleichen Zeitabgleichsverfahren wie vorher werden verwendet. Diese Messung von Aktivität hat einige Vorteile. Über eine lange Folge von Messungen werden die Muster von leicht unterschiedlichen Signalen mehr und mehr deutlich. Zusätzlich, sollten mehrere der Signale in einer Folge verloren gehen (z. B.: SNMP-Paketverlust) und sollten die aufgezeichneten Signale nicht Änderungen, sondern Summen der Daten sein, wird dieses Verfahren nicht das gesamte Signal verlieren. Z. B.: Angenommen, zwei Vorrichtungen zeichnen ihre vollständige Aktivitätsdaten wie folgt auf (wobei das Symbol ? bedeutet, dass keine Messung gemacht wurde):
  • Figure 00580001
  • Sollte man versuchen, die Änderungen in der Verkehrsaktivität zu vergleichen, wird man nur die folgenden Messungen verfügbar haben, wobei sich keine überlappen, so dass kein Vergleich von Vorrichtungen A und B möglich ist.
  • Figure 00580002
  • Man kann, anstelle der Messung des vollständigen Volumens des Verkehrs seit dem Ariadne gestartet wurde, lediglich die Volumen über die letzten M Abtastperioden messen. Dies hat einige Vorteile für einige Netzwerke oder Implementationen: Z. B.:
    • 1: Sollte das vollständige Volumen des Verkehrs bis dahin auf einem oder mehreren Pfaden die Anzahl von signifikanten Größen von Speichern des Volumens erreichen oder überschreiten.
    • 2: Sollte eine Vorrichtung im Netzwerk seine Zähler resetted haben, will man verständlicherweise den Vergleich mit Bezug auf diese Vorrichtung nur seit dem Auftreten dieses Resets durchführen. Um zu verhindern, dass andere Vergleiche zwischen anderen Vergleichen bestraft werden, kann man alle Vergleiche von dem Zeitpunkt des Resets nach vorne durchführen wollen.
  • Eine Person, die diese Erfindung versteht, könnte nun alternative Strukturen und Ausführungen oder Variationen des Obigen herleiten. All diese, welche unter den Bereich der hierauf gerichteten Ansprüche fallen, werden als Teil der vorliegenden Erfindung betrachtet.

Claims (13)

  1. Verfahren zum Bestimmen der Topologie eines Netzwerks (1) umfassend: (a) Übertragen eines Signals von einer Quellenvorrichtung (A, B, C, D) an eine Zielvorrichtung (A, B, C, D) in dem Netzwerk, (b) Überwachen von Vorrichtungen in dem Netzwerk beinhaltend eine Zielvorrichtung zum Empfang eines erkennbaren Teils des Signals, gekennzeichnet durch: (c) Übertragen des Signals zwischen einer vorherbestimmten definierten Quellenvorrichtung (A, B, C, D) und einer vorherbestimmten definierten Zielvorrichtung (A, B, C, D), (d1) Bestimmen, welche definierten Vorrichtungen (2) im Netzwerk einen erkennbaren Anteil des Signals übertrugen, hierdurch Feststellen, dass diese Vorrichtungen (2) auf einem Kommunikationspfad zwischen der Quelle und dem Ziel sind, und (d2) Wiederholen der Schritte (a), (b), (c) und (d1) zwischen der vorherbestimmten Quellenvorrichtung (A, B, C, D) und allen anderen individuell vorherbestimmten Zielvorrichtungen (A, B, C, D), hierdurch Feststellen des Übertragungspfads zwischen den Vorrichtungen (2) im Netzwerk (1).
  2. Verfahren nach Anspruch 1, weiter enthaltend Übertragen eines weiteren Signals von der Zielvorrichtung (A, B, C, D) an die Quellenvorrichtung (A, B, C, D) für den Fall, dass die Folge von Vorrichtungen offensichtlich an einer unvollständigen Verbindung zwischen der Quellenvorrichtung (A, B, C, D) und der Zielvorrichtung (A, B, C, D) endet, und Definieren einer Rückwärtsfolge von Vorrichtungen innerhalb des Netzwerks durch Kennzeichnen einer Rückwärtsfolge des Empfangens des weiteren Signals von der Zielvorrichtung zu der Quellenvorrichtung.
  3. Verfahren nach Anspruch 1, bei dem das Signal aus einer Folge von Paketen besteht.
  4. Verfahren nach Anspruch 1, bei dem das Signal aus einer Folge von Bündeln von PING Paketen besteht.
  5. Verfahren nach Anspruch 1, enthaltend Überwachen einer Abnahmerate der Vorrichtungen (2) in dem Netzwerk (1) und Unterbrechen der Übertragung des Signals für den Fall, dass die Abnahmerate einen vorherbestimmten Schwellwert überschreitet.
  6. Verfahren nach Anspruch 1, bei dem das Signal ein Bündel von Folgen von Paketen ist, wobei dieses wesentlich länger als alle Änderungen im Verkehr in dem Netzwerk (1) innerhalb einer vorangehend vorherbestimmten Anzahl von Abtastperioden ist.
  7. Ein Verfahren nach Anspruch 6 enthaltend das Unterbrechen der Übertragung des Signals für eine vorherbestimmte Zeitdauer für den Fall, dass das Bündel eine vorherbestimmte Länge überschreitet.
  8. Verfahren nach Anspruch 1, bei dem mindestens eine Vorrichtung (2) keine Überwachungsdaten bereitstellt, und Kennzeichnen der Folge mit dieser einen als Wolke identifizierten Vorrichtung (2), welche mit Vorrichtungen (2) in dem Netzwerk (1) verbunden ist, die einen unmittelbare früheren und frühesten späteren Empfang des Signals haben.
  9. Verfahren nach Anspruch 1, bei dem der Schritt (c) enthält (i) Definieren einer obersten Vorrichtung, welche ein höchstes Niveau (i) in einer Folge von Vorrichtungen (2) hat, (ii) Auswählen aller Vorrichtungen (2), die auf ein nächstniedrigeres Folgenniveau i – 1 verbinden und undefinierte Folgenniveaus haben, und Zuweisen eines niedrigeren Folgenniveaus, und (iii) Wiederholen von Schritt (ii) bis keine weiteren Vorrichtungen (2) zugewiesen werden können.
  10. Verfahren nach Anspruch 9, enthaltend das Anzeigen der Vorrichtungen (2) in einer wahrnehmbaren graphischen Form.
  11. Verfahren zum Bestimmen der Topologie eines Netzwerks nach einem der Ansprüche 1 bis 10, weiter umfassend: (a) Überwachen des durch Vorrichtungen (2; A, B, C, D), welche in dem Netzwerk (1) verbunden sind, empfangenen Verkehrs, und des von diesen Vorrichtungen (2; A, B, C, D) ausgesendeten Verkehrs, und gekennzeichnet durch: (b) Korrelieren des Verkehrs aus den Vorrichtungen (A, B, C, D) mit dem Verkehr in die Vorrichtungen (A, B, C, D), (c) Kennzeichnen eines Netzwerkkommunikationspfads zwischen einem Paar der Vorrichtungen (A, B, C, D) für den Fall, dass die Korrelation des Verkehrs aus der einen Vorrichtung des Paares und in die andere Vorrichtung des Paares einen vorherbestimmten Schwellwert übersteigt, (d) der Schritt der Korrelation umfasst den Zeitabgleich des überwachten Verkehrs, um ein Paar aus Folgen, welche das gleiche Zeitinterval und eine gemeinsame Anfangs- und Endzeit haben, zu bilden, Normalisieren der Folge, und im wesentlichen Analysieren der normalisierten Folge zum Erhalten eines Korrelationswerts, und (e) mindestens einem der Schritte: (i) Herabsetzen der Überwachung des Verkehrs zwischen weiteren Paaren von Vorrichtungen, welche eine der Vorrichtungen des Paares beinhalten für den Fall, dass eine Korrelation den vorherbestimmten Schwellenwert übersteigt, (ii) Vermeiden der Überwachung des Verkehrs zwischen weiteren Paaren von Vorrichtungen welche irgendeine der Vorrichtungen des Paares von Vorrichtungen beinhalten, für welche eine Korrelation vorher als über den vorherbestimmten Schwellenwert hinausgehend bestimmt wurde, (iii) Herabsetzen der Überwachung des Verkehrs zwischen weiteren Paaren von Vorrichtungen, welche eine der Vorrichtungen des Paares der Vorrichtungen beinhalten, für den Fall, dass es unwahrscheinlich ist, dass eine Korrelation den vorherbestimmten Schwellenwert erreicht, (iv) Überwachen des Verkehrs zwischen Paaren von gleichen Vorrichtungen vor dem Überwachen des Verkehrs zwischen den anderen Paaren von Vorrichtungen, (v) Vermeiden der Überwachung des Verkehrs zwischen Paaren von Vorrichtungen bei denen eine Vorrichtung des Paares in einer ausreichend unterschiedlichen Klasse zu der der anderen Vorrichtung des Paares ist, so dass es für die Vorrichtungen des Paares unwahrscheinlich ist, miteinander in Kommunikation zu stehen, (vi) Überwachen des Verkehrs mit einer geringen Anzahl von Verkehrsmessungen und dann weiteres Überwachen des Verkehrs mit einer wesentlich größeren Anzahl von Verkehrsmessungen nur für den Fall, dass eine bestimmte Korrelation nicht den vorherbestimmten Schwellenwert überschreitet, (vii) Überwachen und Korrelieren des Verkehrs zwischen Paaren von Vorrichtungen, welche innerhalb eines jeweils separaten Teils des Netzwerks (1) enthalten sind, und Überwachen und Korrelieren des Verkehrs zwischen den separaten Paaren des Netzwerks (1), (viii) Überwachen und Korrelieren des Verkehrs separat zwischen Paaren von Vorrichtungen, welche innerhalb jeweils separater Teile des Netzwerks (1) kontaktiert sind, und Kennzeichnen von Netzwerkverbindungspfaden zwischen den separaten Teilen des Netzwerks (1) und (ix) Überwachen der Vorrichtungen zum Bestimmen ihres mittleren Verkehrs, Sortieren der Vorrichtungen anhand des mittleren Verkehrs, um somit eine Rangfolge der Vorrichtungen (2) zu bilden.
  12. Verfahren nach Anspruch 11, umfassend Korrelieren des Verkehrs zwischen Paaren von Vorrichtungen nur dann, wenn ihr relativer Rang kompatibel mit einer möglichen besseren Korrelation als der bereits für jedes der Paare der Vorrichtungen ermittelte oder mit einem vorherbestimmten Grenzwert ist.
  13. Verfahren zum Bestimmen von Netzwerktopologien nach Anspruch 11, umfassend aufeinanderfolgendes Überwachen von Vorrichtungen nach ihrer Rangfolge, so dass Vorrichtungen mit sehr ähnlichem mittleren Verkehr stark reduzierte Zeitabgleichung der Differenzen haben.
DE69632144T 1995-11-16 1996-11-15 Verfahren zur bestimmung der topologie eines netzwerkes von objekten Expired - Fee Related DE69632144T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US558729 1995-11-16
US08/558,729 US5926462A (en) 1995-11-16 1995-11-16 Method of determining topology of a network of objects which compares the similarity of the traffic sequences/volumes of a pair of devices
US599310 1996-02-09
US08/599,310 US5933416A (en) 1995-11-16 1996-02-09 Method of determining the topology of a network of objects
PCT/CA1996/000753 WO1997018659A1 (en) 1995-11-16 1996-11-15 Method of determining the topology of a network of objects

Publications (2)

Publication Number Publication Date
DE69632144D1 DE69632144D1 (de) 2004-05-13
DE69632144T2 true DE69632144T2 (de) 2004-11-25

Family

ID=27071826

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69622737T Expired - Fee Related DE69622737T2 (de) 1995-11-16 1996-11-15 Verfahren zur ermittlung der topologie eines netzwerkes von objekten
DE69632144T Expired - Fee Related DE69632144T2 (de) 1995-11-16 1996-11-15 Verfahren zur bestimmung der topologie eines netzwerkes von objekten

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE69622737T Expired - Fee Related DE69622737T2 (de) 1995-11-16 1996-11-15 Verfahren zur ermittlung der topologie eines netzwerkes von objekten

Country Status (6)

Country Link
US (4) US6411997B1 (de)
EP (2) EP0861546B1 (de)
AU (2) AU7558096A (de)
CA (2) CA2190425A1 (de)
DE (2) DE69622737T2 (de)
WO (2) WO1997020419A2 (de)

Families Citing this family (170)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6847614B2 (en) * 1998-04-20 2005-01-25 Broadcom Corporation Apparatus and method for unilateral topology discovery in network management
IL124706A0 (en) * 1998-06-01 1999-01-26 Ncsb Neural Computing Syst Dev Modeling data sets and networks
EP0975122A1 (de) * 1998-07-22 2000-01-26 Siemens Schweiz AG Verfahren zum Ermitteln von Daten zum Erstellen eines Abbildes eines Netzes
US6108702A (en) * 1998-12-02 2000-08-22 Micromuse, Inc. Method and apparatus for determining accurate topology features of a network
NO315100B1 (no) * 1999-12-03 2003-07-07 Ericsson Telefon Ab L M Analyse av datanett
US6701327B1 (en) * 1999-05-11 2004-03-02 3Com Corporation Merging network data sets comprising data acquired by interrogation of a network
US6654914B1 (en) * 1999-05-28 2003-11-25 Teradyne, Inc. Network fault isolation
US7197548B1 (en) * 1999-07-20 2007-03-27 Broadcom Corporation Method and apparatus for verifying connectivity among nodes in a communications network
US6760767B1 (en) * 1999-12-02 2004-07-06 General Electric Company Communication connectivity verification and reporting system and method of use
US6957348B1 (en) * 2000-01-10 2005-10-18 Ncircle Network Security, Inc. Interoperability of vulnerability and intrusion detection systems
US7349348B1 (en) * 2000-01-24 2008-03-25 Cisco Technologies, Inc. Method and apparatus for determining a network topology in the presence of network address translation
GB2361156B (en) * 2000-04-07 2002-08-07 3Com Corp Discovering non managed devices in a network such as a LAN using HTTP
JP2004508743A (ja) * 2000-06-14 2004-03-18 ウィリアムズ コミュニケーションズ, エルエルシー インターネットルート非集合およびルート選択参照
JP2002002140A (ja) * 2000-06-22 2002-01-08 Riso Kagaku Corp 微多孔性孔版原紙およびその利用
US6798752B1 (en) * 2000-07-18 2004-09-28 Telesector Resources Group, Inc. Method and system for determining a network topology
US6871226B1 (en) * 2000-08-22 2005-03-22 Bsafe Online Method of searching servers in a distributed network
US7181769B1 (en) 2000-08-25 2007-02-20 Ncircle Network Security, Inc. Network security system having a device profiler communicatively coupled to a traffic monitor
US20050157654A1 (en) * 2000-10-12 2005-07-21 Farrell Craig A. Apparatus and method for automated discovery and monitoring of relationships between network elements
GB0026703D0 (en) * 2000-11-01 2000-12-20 Parc Technologies Ltd Traffic flow optimisation system
US7631064B1 (en) * 2001-04-13 2009-12-08 Sun Microsystems, Inc. Method and apparatus for determining interconnections of network devices
EP1271843B1 (de) * 2001-06-18 2007-08-15 Hewlett-Packard Company Verfahren und System zur Identifizierung von Geräten, welche über ein Netzwerk verbunden sind, wie z.B. Personal Computer
GB2377118B (en) * 2001-06-27 2003-06-25 3Com Corp Method and apparatus for determining unmanaged network devices in the topology of a network
US8032625B2 (en) * 2001-06-29 2011-10-04 International Business Machines Corporation Method and system for a network management framework with redundant failover methodology
US7440994B2 (en) * 2001-07-06 2008-10-21 Intel Corporation Method and apparatus for peer-to-peer services to shift network traffic to allow for an efficient transfer of information between devices via prioritized list
US7562112B2 (en) * 2001-07-06 2009-07-14 Intel Corporation Method and apparatus for peer-to-peer services for efficient transfer of information between networks
US7546363B2 (en) * 2001-07-06 2009-06-09 Intel Corporation Adaptive route determination for peer-to-peer services
US7139823B2 (en) * 2001-08-23 2006-11-21 International Business Machines Corporation Dynamic intelligent discovery applied to topographic networks
US20030065477A1 (en) * 2001-08-30 2003-04-03 Opdyke John D. Two-sample permutation tests
US20030070007A1 (en) * 2001-10-09 2003-04-10 Raffi Tchakmakjian System and method for IP tunneling through an OSI network
TW528977B (en) * 2001-12-19 2003-04-21 Inst Information Industry Software simulation method for multi-access network
US7139692B2 (en) * 2001-12-21 2006-11-21 Opnet Technologies, Inc. Flow propagation analysis using iterative signaling
US6687651B2 (en) * 2002-01-10 2004-02-03 Fujitsu Network Communications, Inc. Real time estimation of equivalent bandwidth utilization
US7249007B1 (en) * 2002-01-15 2007-07-24 Dutton John A Weather and climate variable prediction for management of weather and climate risk
US20030145072A1 (en) * 2002-01-31 2003-07-31 Lau Richard C. Auto-discovery of network configuration
CA2478128A1 (en) 2002-03-06 2003-09-12 Peregrine Systems, Inc. Method and system for a network management console
US20030212767A1 (en) * 2002-05-07 2003-11-13 Siew-Hong Yang-Huffman Dynamic network configuration system and method
US20040022200A1 (en) * 2002-07-31 2004-02-05 Sun Microsystems, Inc. Method, system, and program for providing information on components within a network
US7225258B2 (en) * 2002-09-09 2007-05-29 General Dynamics Corporation System and method for connecting dynamic networks with limited resources
US20040059807A1 (en) * 2002-09-16 2004-03-25 Finisar Corporation Network analysis topology detection
US7352706B2 (en) * 2002-09-16 2008-04-01 Finisar Corporation Network analysis scalable analysis tool for multiple protocols
US7343524B2 (en) 2002-09-16 2008-03-11 Finisar Corporation Network analysis omniscent loop state machine
US20040054776A1 (en) * 2002-09-16 2004-03-18 Finisar Corporation Network expert analysis process
US20040156388A1 (en) * 2003-02-07 2004-08-12 Lockheed Martin Corporation System for maintaining quality of service
US7975043B2 (en) 2003-02-25 2011-07-05 Hewlett-Packard Development Company, L.P. Method and apparatus for monitoring a network
US20040167977A1 (en) * 2003-02-25 2004-08-26 Douglas Christopher Paul Method and system for monitoring streaming media flow
US20040167981A1 (en) * 2003-02-25 2004-08-26 Douglas Christopher Paul Method and system for monitoring relationships between content devices in a content delivery network
US7369513B1 (en) * 2003-05-16 2008-05-06 Cisco Technology, Inc. Method and apparatus for determining a network topology based on Spanning-tree-Algorithm-designated ports
US7602728B2 (en) * 2003-06-12 2009-10-13 Avaya Inc. Method and apparatus for determination of network topology
DE10338113B4 (de) * 2003-08-15 2006-10-12 Hewlett-Packard Development Co., L.P., Houston Netzwerkserver und Verfahren zur Auffindung von Netzwerkknoten
US7469203B2 (en) * 2003-08-22 2008-12-23 Opnet Technologies, Inc. Wireless network hybrid simulation
US7441154B2 (en) * 2003-09-12 2008-10-21 Finisar Corporation Network analysis tool
US20050076113A1 (en) * 2003-09-12 2005-04-07 Finisar Corporation Network analysis sample management process
US20050060574A1 (en) * 2003-09-13 2005-03-17 Finisar Corporation Network analysis graphical user interface
US20080201402A1 (en) * 2003-10-06 2008-08-21 Tony Petrilli Method and system for providing instructions and actions to a remote network monitoring/management agent during scheduled communications
US7002943B2 (en) * 2003-12-08 2006-02-21 Airtight Networks, Inc. Method and system for monitoring a selected region of an airspace associated with local area networks of computing devices
US20050141546A1 (en) * 2003-12-31 2005-06-30 Lg Electronics Inc. Method of avoiding collisions between access terminals
US7292541B1 (en) 2004-01-28 2007-11-06 Novell, Inc. Methods and systems for unnumbered network link discovery
US7643414B1 (en) 2004-02-10 2010-01-05 Avaya Inc. WAN keeper efficient bandwidth management
US7536723B1 (en) * 2004-02-11 2009-05-19 Airtight Networks, Inc. Automated method and system for monitoring local area computer networks for unauthorized wireless access
US7440434B2 (en) * 2004-02-11 2008-10-21 Airtight Networks, Inc. Method and system for detecting wireless access devices operably coupled to computer local area networks and related methods
US20050208949A1 (en) * 2004-02-12 2005-09-22 Chiueh Tzi-Cker Centralized channel assignment and routing algorithms for multi-channel wireless mesh networks
US7974191B2 (en) * 2004-03-10 2011-07-05 Alcatel-Lucent Usa Inc. Method, apparatus and system for the synchronized combining of packet data
US7397766B2 (en) * 2004-03-31 2008-07-08 Lucent Technologies Inc. High-speed traffic measurement and analysis methodologies and protocols
US7711878B2 (en) * 2004-05-21 2010-05-04 Intel Corporation Method and apparatus for acknowledgement-based handshake mechanism for interactively training links
US20050262184A1 (en) * 2004-05-21 2005-11-24 Naveen Cherukuri Method and apparatus for interactively training links in a lockstep fashion
US20060005232A1 (en) * 2004-06-30 2006-01-05 Wilson Richard A Jr Path utilization device discovery
WO2006016698A1 (ja) * 2004-08-11 2006-02-16 Nec Corporation 仮想lanシステムおよびノード装置
US7710897B2 (en) * 2004-08-26 2010-05-04 Fujitsu Limited Automatic discovery of logical network elements from existing links in a network
US7408839B2 (en) * 2004-09-09 2008-08-05 Siemens Building Technologies, Inc. Distance measurement for wireless building automation devices
US20060063523A1 (en) 2004-09-21 2006-03-23 Mcfarland Norman R Portable wireless sensor for building control
US7378980B2 (en) * 2004-09-29 2008-05-27 Siemens Building Technologies, Inc. Triangulation of position for automated building control components
US7382271B2 (en) * 2004-09-29 2008-06-03 Siemens Building Technologies, Inc. Automated position detection for wireless building automation devices
US9137115B2 (en) 2004-12-06 2015-09-15 Bmc Software, Inc. System and method for resource reconciliation in an enterprise management system
US8683032B2 (en) 2004-12-06 2014-03-25 Bmc Software, Inc. Generic discovery for computer networks
US7319677B2 (en) * 2004-12-17 2008-01-15 Los Alamos National Security, Llc Network topology mapper
US7769850B2 (en) * 2004-12-23 2010-08-03 International Business Machines Corporation System and method for analysis of communications networks
US8028058B2 (en) * 2005-03-18 2011-09-27 International Business Machines Corporation Dynamic discovery and reporting of one or more application program topologies in a single or networked distributed computing environment
US7895308B2 (en) * 2005-05-11 2011-02-22 Tindall Steven J Messaging system configurator
US8345557B2 (en) * 2005-06-30 2013-01-01 General Instrument Corporation Automated monitoring of a network
US7870246B1 (en) * 2005-08-30 2011-01-11 Mcafee, Inc. System, method, and computer program product for platform-independent port discovery
JP4484803B2 (ja) * 2005-10-05 2010-06-16 アラクサラネットワークス株式会社 ネットワーク運用管理システム
US7698448B2 (en) * 2005-11-04 2010-04-13 Intermatic Incorporated Proxy commands and devices for a home automation data transfer system
US20070121653A1 (en) * 2005-11-04 2007-05-31 Reckamp Steven R Protocol independent application layer for an automation network
US7870232B2 (en) * 2005-11-04 2011-01-11 Intermatic Incorporated Messaging in a home automation data transfer system
US20070256085A1 (en) * 2005-11-04 2007-11-01 Reckamp Steven R Device types and units for a home automation data transfer system
US7694005B2 (en) * 2005-11-04 2010-04-06 Intermatic Incorporated Remote device management in a home automation data transfer system
US8125964B2 (en) * 2005-11-18 2012-02-28 Telcordia Licensing Company, Llc Framework for hybrid ad-hoc networks
US7710933B1 (en) 2005-12-08 2010-05-04 Airtight Networks, Inc. Method and system for classification of wireless devices in local area computer networks
KR101036385B1 (ko) * 2006-03-24 2011-05-23 제너럴 인스트루먼트 코포레이션 네트워크에 논리 채널을 구성하는 방법 및 장치
US9088355B2 (en) * 2006-03-24 2015-07-21 Arris Technology, Inc. Method and apparatus for determining the dynamic range of an optical link in an HFC network
US7487229B2 (en) * 2006-03-30 2009-02-03 Intel Corporation Methods and apparatus to synchronize local times at nodes in a computer network
US8693375B2 (en) * 2006-10-17 2014-04-08 Hewlett-Packard Development Company, L.P. Automated multiple-instance spanning tree reconfiguration
EP1916596A1 (de) * 2006-10-26 2008-04-30 Hewlett-Packard Development Company, L.P. Verbesserungen der oder in Bezug auf die Computernetzwerkverwaltung
US8537972B2 (en) * 2006-12-07 2013-09-17 General Instrument Corporation Method and apparatus for determining micro-reflections in a network
US20080183715A1 (en) * 2007-01-31 2008-07-31 Wei Wen Chen Extensible system for network discovery
US8838759B1 (en) * 2007-06-29 2014-09-16 Crimson Corporation Systems and methods for detecting unmanaged nodes within a system
US9014047B2 (en) 2007-07-10 2015-04-21 Level 3 Communications, Llc System and method for aggregating and reporting network traffic data
US8954562B2 (en) * 2007-09-28 2015-02-10 Intel Corporation Entropy-based (self-organizing) stability management
US7996510B2 (en) * 2007-09-28 2011-08-09 Intel Corporation Virtual clustering for scalable network control and management
US7970894B1 (en) 2007-11-15 2011-06-28 Airtight Networks, Inc. Method and system for monitoring of wireless devices in local area computer networks
US20090248722A1 (en) * 2008-03-27 2009-10-01 International Business Machines Corporation Clustering analytic functions
US9363143B2 (en) * 2008-03-27 2016-06-07 International Business Machines Corporation Selective computation using analytic functions
US20100057902A1 (en) * 2008-08-28 2010-03-04 Novell, Inc. Scal-free management networks
US8732859B2 (en) * 2008-10-03 2014-05-20 At&T Intellectual Property I, L.P. Apparatus and method for monitoring network equipment
US10831724B2 (en) * 2008-12-19 2020-11-10 Bmc Software, Inc. Method of reconciling resources in the metadata hierarchy
US8516532B2 (en) 2009-07-28 2013-08-20 Motorola Mobility Llc IP video delivery using flexible channel bonding
US8526485B2 (en) * 2009-09-23 2013-09-03 General Instrument Corporation Using equalization coefficients of end devices in a cable television network to determine and diagnose impairments in upstream channels
US8826425B2 (en) * 2009-12-01 2014-09-02 International Business Machines Corporation System and method for automatically discovering security classification of hosts
US20110145837A1 (en) * 2009-12-14 2011-06-16 Bower Kenneth S Filtering Broadcast Recipients In A Multiprocessing Environment
US20110153982A1 (en) * 2009-12-21 2011-06-23 Bbn Technologies Corp. Systems and methods for collecting data from multiple core processors
CN101753266B (zh) * 2009-12-23 2012-12-26 上海全景数字技术有限公司 同轴承载以太网设备的网络拓扑查找及差错控制优化方法
US8712979B2 (en) 2010-03-26 2014-04-29 Bmc Software, Inc. Statistical identification of instances during reconciliation process
US8560544B2 (en) 2010-09-15 2013-10-15 International Business Machines Corporation Clustering of analytic functions
US8654640B2 (en) 2010-12-08 2014-02-18 General Instrument Corporation System and method for IP video delivery using distributed flexible channel bonding
US10127296B2 (en) 2011-04-07 2018-11-13 Bmc Software, Inc. Cooperative naming for configuration items in a distributed configuration management database environment
EP2708000B1 (de) * 2011-05-08 2020-03-25 The J. Scott Benson Living Trust Vermittlungsnetzwerk mit flexibler wurzel
EP2707806A4 (de) * 2011-05-12 2014-11-12 Airpatrol Corp Netzwerkinteraktionsverwaltung für vorrichtungen
US8937992B2 (en) 2011-08-30 2015-01-20 General Instrument Corporation Method and apparatus for updating equalization coefficients of adaptive pre-equalizers
US9009220B2 (en) * 2011-10-14 2015-04-14 Mimecast North America Inc. Analyzing stored electronic communications
US8576705B2 (en) 2011-11-18 2013-11-05 General Instrument Corporation Upstream channel bonding partial service using spectrum management
US9113181B2 (en) 2011-12-13 2015-08-18 Arris Technology, Inc. Dynamic channel bonding partial service triggering
CN102638375A (zh) * 2012-04-26 2012-08-15 北京星网锐捷网络技术有限公司 一种网络故障识别方法及装置
US8837302B2 (en) 2012-04-27 2014-09-16 Motorola Mobility Llc Mapping a network fault
US8867371B2 (en) 2012-04-27 2014-10-21 Motorola Mobility Llc Estimating physical locations of network faults
US9003460B2 (en) 2012-04-27 2015-04-07 Google Technology Holdings LLC Network monitoring with estimation of network path to network element location
US8868736B2 (en) 2012-04-27 2014-10-21 Motorola Mobility Llc Estimating a severity level of a network fault
US9065731B2 (en) 2012-05-01 2015-06-23 Arris Technology, Inc. Ensure upstream channel quality measurement stability in an upstream channel bonding system using T4 timeout multiplier
US9136943B2 (en) 2012-07-30 2015-09-15 Arris Technology, Inc. Method of characterizing impairments detected by equalization on a channel of a network
US9137164B2 (en) 2012-11-15 2015-09-15 Arris Technology, Inc. Upstream receiver integrity assessment for modem registration
US9203639B2 (en) 2012-12-27 2015-12-01 Arris Technology, Inc. Dynamic load balancing under partial service conditions
US9197886B2 (en) 2013-03-13 2015-11-24 Arris Enterprises, Inc. Detecting plant degradation using peer-comparison
US9158799B2 (en) 2013-03-14 2015-10-13 Bmc Software, Inc. Storing and retrieving context sensitive data in a management system
WO2014145818A1 (en) * 2013-03-15 2014-09-18 Lingping Gao A graphic user interface based network management system to define and execute troubleshooting procedure
US11528195B2 (en) 2013-03-15 2022-12-13 NetBrain Technologies, Inc. System for creating network troubleshooting procedure
US10477199B2 (en) 2013-03-15 2019-11-12 Arris Enterprises Llc Method for identifying and prioritizing fault location in a cable plant
US9025469B2 (en) 2013-03-15 2015-05-05 Arris Technology, Inc. Method for estimating cable plant topology
US10454782B2 (en) 2013-03-15 2019-10-22 NetBrain Technologies, Inc. System and method for automating network management tasks
US9042236B2 (en) 2013-03-15 2015-05-26 Arris Technology, Inc. Method using equalization data to determine defects in a cable plant
US10098582B1 (en) * 2013-05-16 2018-10-16 Cerner Innovations, Inc. Characterizing sleep architecture
US9830289B2 (en) 2014-09-16 2017-11-28 Apple Inc. Methods and apparatus for aggregating packet transfer over a virtual bus interface
US9971397B2 (en) 2014-10-08 2018-05-15 Apple Inc. Methods and apparatus for managing power with an inter-processor communication link between independently operable processors
US11736365B2 (en) 2015-06-02 2023-08-22 NetBrain Technologies, Inc. System and method for network management automation
US10042794B2 (en) 2015-06-12 2018-08-07 Apple Inc. Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link
JP2017068511A (ja) * 2015-09-29 2017-04-06 パナソニックIpマネジメント株式会社 機器管理方法及び機器管理装置
US10085214B2 (en) 2016-01-27 2018-09-25 Apple Inc. Apparatus and methods for wake-limiting with an inter-device communication link
US10558580B2 (en) 2016-02-29 2020-02-11 Apple Inc. Methods and apparatus for loading firmware on demand
US10191859B2 (en) 2016-03-31 2019-01-29 Apple Inc. Memory access protection apparatus and methods for memory mapped access between independently operable processors
US10551902B2 (en) 2016-11-10 2020-02-04 Apple Inc. Methods and apparatus for providing access to peripheral sub-system registers
US10775871B2 (en) 2016-11-10 2020-09-15 Apple Inc. Methods and apparatus for providing individualized power control for peripheral sub-systems
US10572322B2 (en) * 2017-04-27 2020-02-25 At&T Intellectual Property I, L.P. Network control plane design tool
CN106961366B (zh) * 2017-05-15 2020-03-31 重庆邮电大学 面向车联网环境的网络性能综合测试评价分析方法
US10346226B2 (en) 2017-08-07 2019-07-09 Time Warner Cable Enterprises Llc Methods and apparatus for transmitting time sensitive data over a tunneled bus interface
US10331612B1 (en) 2018-01-09 2019-06-25 Apple Inc. Methods and apparatus for reduced-latency data transmission with an inter-processor communication link between independently operable processors
US11792307B2 (en) 2018-03-28 2023-10-17 Apple Inc. Methods and apparatus for single entity buffer pool management
US11381514B2 (en) 2018-05-07 2022-07-05 Apple Inc. Methods and apparatus for early delivery of data link layer packets
US10430352B1 (en) 2018-05-18 2019-10-01 Apple Inc. Methods and apparatus for reduced overhead data transfer with a shared ring buffer
US10585699B2 (en) 2018-07-30 2020-03-10 Apple Inc. Methods and apparatus for verifying completion of groups of data transactions between processors
US10846224B2 (en) 2018-08-24 2020-11-24 Apple Inc. Methods and apparatus for control of a jointly shared memory-mapped region
US10719376B2 (en) 2018-08-24 2020-07-21 Apple Inc. Methods and apparatus for multiplexing data flows via a single data structure
CN109257225B (zh) * 2018-10-12 2021-08-10 北京信研汇智信息技术有限公司 生成网络拓扑的方法、装置、存储介质和处理器
US11522898B1 (en) 2018-12-17 2022-12-06 Wells Fargo Bank, N.A. Autonomous configuration modeling and management
US10897402B2 (en) * 2019-01-08 2021-01-19 Hewlett Packard Enterprise Development Lp Statistics increment for multiple publishers
US11829303B2 (en) 2019-09-26 2023-11-28 Apple Inc. Methods and apparatus for device driver operation in non-kernel space
US11558348B2 (en) 2019-09-26 2023-01-17 Apple Inc. Methods and apparatus for emerging use case support in user space networking
US11606302B2 (en) 2020-06-12 2023-03-14 Apple Inc. Methods and apparatus for flow-based batching and processing
US11775359B2 (en) 2020-09-11 2023-10-03 Apple Inc. Methods and apparatuses for cross-layer processing
US11954540B2 (en) 2020-09-14 2024-04-09 Apple Inc. Methods and apparatus for thread-level execution in non-kernel space
US11799986B2 (en) 2020-09-22 2023-10-24 Apple Inc. Methods and apparatus for thread level execution in non-kernel space
US11876719B2 (en) 2021-07-26 2024-01-16 Apple Inc. Systems and methods for managing transmission control protocol (TCP) acknowledgements
US11882051B2 (en) 2021-07-26 2024-01-23 Apple Inc. Systems and methods for managing transmission control protocol (TCP) acknowledgements

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4775973A (en) 1986-10-22 1988-10-04 Hewlett-Packard Company Method and apparatus for a packet-switched network communications measurement matrix display
US5185860A (en) * 1990-05-03 1993-02-09 Hewlett-Packard Company Automatic discovery of network elements
US5276789A (en) * 1990-05-14 1994-01-04 Hewlett-Packard Co. Graphic display of network topology
WO1992006547A1 (en) * 1990-09-28 1992-04-16 Hewlett-Packard Company Method of ascertaining topology features of a network
US5182750A (en) * 1990-12-31 1993-01-26 At&T Bell Laboratories Transparent remoting of switching network control over a standard interface link
US5640513A (en) * 1993-01-22 1997-06-17 International Business Machines Corporation Notification of disconnected service machines that have stopped running
GB9303640D0 (en) * 1993-02-23 1993-04-07 British Telecomm Object-oriented correlation
US5437046A (en) * 1993-02-24 1995-07-25 Legent Corporation System and method for resolving the location of a station on a local area network
GB9313199D0 (en) * 1993-06-25 1993-08-11 Remote Metering Systems Ltd Digital data transmission networks
WO1995006989A1 (en) 1993-09-01 1995-03-09 Cabletron Systems, Inc. Apparatus and method for determining network topology
US5430729A (en) * 1994-04-04 1995-07-04 Motorola, Inc. Method and apparatus for adaptive directed route randomization and distribution in a richly connected communication network
US5608659A (en) * 1994-04-18 1997-03-04 Rockwell International Corporation Method for identifying a most-probable-point in original space and its application for calculating failure probabilities
US5675741A (en) * 1994-10-25 1997-10-07 Cabletron Systems, Inc. Method and apparatus for determining a communications path between two nodes in an Internet Protocol (IP) network
US5717861A (en) * 1995-12-21 1998-02-10 Zenith Electronics Corporation Method and system for determining network access delay
US5793975A (en) * 1996-03-01 1998-08-11 Bay Networks Group, Inc. Ethernet topology change notification and nearest neighbor determination
US5737319A (en) * 1996-04-15 1998-04-07 Mci Corporation Dynamic network topology determination

Also Published As

Publication number Publication date
US6829641B2 (en) 2004-12-07
US6928475B2 (en) 2005-08-09
EP0861543B1 (de) 2002-07-31
US20030051032A1 (en) 2003-03-13
WO1997018659A1 (en) 1997-05-22
DE69622737D1 (de) 2002-09-05
AU7558096A (en) 1997-06-05
DE69622737T2 (de) 2003-03-06
EP0861546B1 (de) 2004-04-07
US6411997B1 (en) 2002-06-25
CA2190433A1 (en) 1997-05-17
AU7558196A (en) 1997-06-19
EP0861543A2 (de) 1998-09-02
US20020116493A1 (en) 2002-08-22
WO1997020419A2 (en) 1997-06-05
CA2190425A1 (en) 1997-05-17
DE69632144D1 (de) 2004-05-13
WO1997020419A3 (en) 1997-11-13
EP0861546A1 (de) 1998-09-02
US20020143935A1 (en) 2002-10-03
US6728670B2 (en) 2004-04-27

Similar Documents

Publication Publication Date Title
DE69632144T2 (de) Verfahren zur bestimmung der topologie eines netzwerkes von objekten
US5926462A (en) Method of determining topology of a network of objects which compares the similarity of the traffic sequences/volumes of a pair of devices
DE602005000383T2 (de) Fehlererkennung und -diagnose
DE60317588T2 (de) Verfahren zur Ermittlung der peer-to-peer Servicequalität (QOS)
DE60224713T2 (de) Signaturvergleichsverfahren und vorrichtungen zur durchführung der netzwerkdiagnose
DE60035339T2 (de) Versammeln und berichterstellung von überwachungsdaten von entfernten netzwerksonden
DE69736399T2 (de) Verfahren und vorrichtung zur messung des spitzen durchsatzes in datenpacket-netzwerken
Cáceres et al. Multicast-based inference of network-internal loss characteristics
DE60116877T2 (de) System und verfahren zum erfassen von ereignissen
DE602004004863T2 (de) Verteilte Architektur zur Echtzeit - Flussmessung auf der Ebene einer Netzwerkdomäne
DE60113218T2 (de) Verfahren und Vorrichtung für automatische Dienststufenübereinkommen
DE60207368T2 (de) Verfahren und Vorrichtung zur automatischen Erkennung von Netzelementen mit Datenübertragungsfähigkeiten
DE602004005785T2 (de) Dynamische Leitweglenkung in einem inhaltbasierten verteilten Netzwerk
DE202021103602U1 (de) Benchmark-Funktion für Ausgangsknoten
DE60312610T2 (de) Vorrichtung und Verfahren zur Bestimmung der Weglenkung in einem Kommunikationsnetzwerk, mit Auswahl von Attributen
EP3528162B1 (de) Verfahren zur erkennung von anormalen betriebszuständen
US6424929B1 (en) Method for detecting outlier measures of activity
Padmanabhan et al. Network tomography using passive end-to-end measurements
CA2488400A1 (en) Method of determining the topology of a network of objects
Ghita Practical Network Tomography
Varghese et al. A machine learning approach to edge type inference in Internet AS graphs
DE102022201746A1 (de) Verwaltung von rechenzentren mit maschinellem lernen
WO1998033300A1 (en) Method for determining the drop rate, the transit delay and the break state of communications objects
Agisiluos-Georgios ESTIMATION OF NETWORK LINK LOSS RATES VIA CHAINING IN MULTICAST TREES
Pernischova Analysis of BitTorrent Measurements

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee