DE69025846T2 - Verfahren zur Verwendung gespeicherter partieller Bäume zur Berechnung eines Weges in einem Datenkommunikationsnetz - Google Patents

Verfahren zur Verwendung gespeicherter partieller Bäume zur Berechnung eines Weges in einem Datenkommunikationsnetz

Info

Publication number
DE69025846T2
DE69025846T2 DE69025846T DE69025846T DE69025846T2 DE 69025846 T2 DE69025846 T2 DE 69025846T2 DE 69025846 T DE69025846 T DE 69025846T DE 69025846 T DE69025846 T DE 69025846T DE 69025846 T2 DE69025846 T2 DE 69025846T2
Authority
DE
Germany
Prior art keywords
node
tree
nodes
network
path
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
DE69025846T
Other languages
English (en)
Other versions
DE69025846D1 (de
Inventor
Leo Bartolanzo
Robert Donald Clouston
John Ernest Mcginn
William Edward Siddall
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE69025846D1 publication Critical patent/DE69025846D1/de
Application granted granted Critical
Publication of DE69025846T2 publication Critical patent/DE69025846T2/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • H04L45/488Routing tree calculation using root node determination

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • Die vorliegende Erfindung betrifft Datenkommunikationsnetze und insbesondere ein Verfahren zur Auswahl eines bevorzugten Leitweges zwischen zwei Knoten unter Verwendung vön Teilbäumen, die im Verlauf früherer Vorgänge der Leitwegwahl zwischengespeichert wurden.
  • Zum Zwecke der folgenden Beschreibung kann ein Datenkommunikationsnetz allgemein als eine Menge von Netzknoten und Endknoten definiert werden, die durch Übertragungsverbindungen miteinander verbunden sind. Ein Netzknoten kann als ein Datenverarbeitungssystem bezeichnet werden, das bestimmte Funktionen innerhalb des Netzwerkes, zum Beispiel die Weiterleitung von Nachrichten zwischen ihm selbst und seinen angrenzenden oder benachbarten Knoten, die Auswahl von Leitwegen für zwischen zwei Knoten zu übertragenden Nachrichten und die Bereitstellung von Adreßauskunftsdiensten für verbundene Endknoten, zur Verfügung stellt. Die Verbindungen zwischen Knoten können permanente Übertragungsverbindungen, zum Beispiel herkömmliche Kabelverbindungen, oder Verbindungen, die nur bei Bedarf aktiviert werden, zum Beispiel Wähltelefonverbindungen, sein. Beispiele für Endknoten sind Einrichtungen wie Datenstationen, intelligente Datenstationen, Drucker und dergleichen, die keine Weiterleitung oder Leitwegwahl oder Adreßauskunftsdiensten für andere Knoten im Netzwerk bereitstellen. Die Netzknoten, die Endknoten und die Verbindungen zwischen den Knoten werden zusammen als Netzressourcen bezeichnet. Die räumliche Konfiguration und die Eigenschaften der verschiedenen Knoten und Verbindungen in einem Netzwerk werden als die Topologie des Netzwerkes bezeichnet.
  • Für einen Benutzer an einem Endknoten, der Daten mit einem anderen Benutier an einem anderen Endknoten austauschen möchte, muß ein Pfad oder Leitweg durch das Netzwerk eingerichtet werden. Der Leitweg umfaßt den Endknoten, an dem sich der erste Benutzer befindet (Ursprungs-Endknoten), den Endknoten, an dem sich der zweite Benutzer befindet (der Ziel-Endknoten), möglicherweise einen oder mehrere Netzknoten und die Verbindungen oder Übertragungsgruppen, die die Knoten auf dem Leitweg verbinden. Eine Übertragungsgruppe wird normalerweise defi:niert als ein Satz paralleler Verbindungen mit ähnlichen Merkmalen, die eine einzige logische Verbindung bilden, die eine höhere Kapazität als jede der einzelnen Verbindungen in der Gruppe aufweist. Für die folgende Beschreibung muß vorausgesetzt werden, daß mit dem Begriff "Übertragungsgruppe" auch eine einzelne physische Verbindung gemeint sein kann. Die Begriffe werden in der folgenden Beschreibung austauschbar verwendet.
  • In einem idealen Netzwerk werden die von einem ersten Benutzer bereitgestellten Daten kostenlos, ohne Verzögerungen, vollkommen zuverlässig und absolut sicher zu einem zweiten Benutzer übertragen, unabhängig davon, wieviele Knoten und Ubertragungsgruppen der Leitweg zwischen den beiden Benutzern beinhaltet. Realen Dätenkommunikationsnetzen mangelt es leider an diesen idealen Merkmalen. Über verschiedeneleitwege kann es zu verschieden großen Verzögerungen kommen. Einige Arten von Übertragungsgruppen sind teurer in der Anwendung oder verursachen mehr Verzögerungen als andere. Die Integrität übertragener Daten kann bei einigen Übertragungsgruppen eventuell besser geschützt werden als bei anderen. In einem realen Netz existieren noch andere "Mängel", die oben nicht einmal erläutert wurden.
  • Da Knoten und Übertragungsgruppen in einem realen Netzwerk verschiedene Merkmale aufweisen, ist es allgemein üblich, sowohl Knoten als auch Übertragungsgruppen Wertigkeiten zuzuweisen und die zugewiesenen Wertigkeiten bei der Berechnung eines optimalen Leitweges oder eines Leitweges mit der geringsten Wertigkeit durch das Netz von einem Benutzer zu einem anderen zu verwenden. Die Wertigkeit spiegelt im allgemeinen wider, in welchem Maße ein gegebener Knoten oder eine Übertragungsgruppe einem vorbestimmten Leistungsstandard entspricht. Falls beispielsweise Wertigkeiten lediglich auf der Grundlage von Verzögerungseigen schaften zugewiesen werden müßten, würde eine Übertragungsgruppe mit hoher Verzögerung eine größere zugewiesene Wertigkeit haben als eine Übertragungsgruppe mit niedriger Verzögerung.
  • Bei der Bestimmung eines "besten" Leitweges durch ein Netz von einem ersten Benutzer an einem Endknoten zu einem zweiten Benutzer an einem anderen Endknoten addiert ein Netzknoten (normalerweise derjenige, der den Ursprungs-Endbenutzer bedient) die Wertigkeiten von Knoten und Übertragungsgruppen in verschiedenen möglichen Leitwegen. Der Leitweg mit der niedrigsten Gesamtwertigkeit, der verständlicherweise als der niederwertigste Leitweg bezeichnet wird, wird als der "beste" Leitweg zwischen den Benutzern angesehen.
  • Der eine Leitwegwahl-Funktion ausführende Netzknoten muß Zugriff auf die Merkmale oder Wertigkeiten der verschiedenen Knoten und Übertragungsgruppen im Netzwerk haben. Diese Informationen sind in Form einer Topologie-Datenbank am Knoten gespeichert.
  • Ein niederwertigster Pfad, der sich von einem Ursprungsknoten zu anderen Knoten in einem Netzwerk erstreckt, wird durch einen Baum dargestellt, der einfach ein Plan ist, der die sich auf dem Leitweg befindenden Knoten und die Übertragungsgruppen, die zum Verbinden jedes dieser Knoten mit dem nächsten Knoten auf dem Pfad verwendet werden, zeigt. Es sind zwei Verfahren zum Erstellen von Bäumen während einer Leitwegberechnung oder -auswahl bekannt. Gemäß einem Verfahren wird ein Baum Knoten für Knoten nur bis zu dem Zeitpunkt, zu dem das gewünschte Ziel erreicht wird, erstellt. Der Baum wird gelöscht, nachdem er zur Einrich- tung einer Sitzung zwischen zwei Benutzern verwendet wurde. Gemäß dem zweiten Verfahren wird ein Baum für das gesamte Netz erstellt und wird anschließend zur Verwendung bei künftigen Leitwegwahl-Vorgängen gepuffert oder gespeichert.
  • Der Vorteil des ersten Verfahrens ist, daß zum Erstellen irgendeinen Baumes eine kleinstmögliche Anzahl von Berechnungen benötigt wird, da die Berechnungen beendet werden, wenn das gewünschte Ziel erreicht ist. Der Nachteil des ersten Verfahrens ist, daß jedesmal, wenn ein Leitweg ausgewählt wird, ein Baum erstellt werden muß, unabhängig davon, wie oft derselbe Leitweg zwischen denselben beiden Knoten eingerichtet werden muß.
  • In einem äußerst stabilen Netzwerk, das heißt, einem Netzwerk, in dem sich der Status von Netzressourcen selten ändert, kann es vorteilhaft sein, das zweite Verfahren anzuwenden; das heißt, das Aufbauen und Zwischenspeichern eines vollständigen Netzbaumes. Da der Baum zwischengespeichert wird, kann er bei nachfolgenden Leitwegwahl-Vorgängen verwendet werden. Jedoch ist das zweite Verfahren auch in einem äußerst stabilen Netzwerk nicht frei von Nachteilen. Falls das Netzwerk relativ komplex ist, kann das anfängliche Erstellen des Baumes viel Zeit in Anspruch nehmen. Die Einrichtung einer Sitzung zwischen zwei nahe beieinander liegenden Knoten wird verzögert, da ein vollständiger Netzbaum erstellt wird. Ein bedeutenderes Problem ist, daß wenige Kommunikationsnetze als äußerst stabil bezeichnet werden können. Es werden häufig Ressourcen zum Netz hinzugefügt oder vom Netz entfernt. Der Status anderer Ressourcen kann sich ändern, auch wenn die Ressourcen im Netz bleiben. Einige dieser Änderungen ändern bevorzugte oder niederwertigste Pfade innerhalb des Netzes, wodurchein das gesamte Netzbedeckender Baum ungültig gemacht wird. Folglich werden vollständige Netzbäume für ein "reales" Netz oftmals veraltet und müssen von Grund auf neu erstellt werden. Wie zuvor angemerkt wurde, kostet es Zeit und Netzressourcen, einen vollständigen Baum aufzubauen.
  • Beispiele einer Baum-orientierten Leitwegwahl nach dem Stand der Technik werden in US-A-4 873 517 und in "Networks", Band 18, Nr. 1 bis 4, 1988, Seiten 263 bis 272, Manber at al. "Efficient Storage of Nonadaptive Routing Tables". gegeben.
  • Die Erfindung verringert die Anzahl der Berechnungen, die zum Aufbauen eines zwei beliebige Knoten im Netz verbindenden Baumes erforderlich sind. Die Erfindung verringert außerdem die Anzahl der Bäume, die während der normalen Arbeitsabläufe im Netzwerk erstellt werden müssen.
  • Die Erfindung soll in einem Datenkommunikationsnetz mit Knoten und Verbindungen.verwendet werden. Mindestens einer der Knoten im Netz umfaßt Mittel zur Berechnung bevorzugter Pfade zwischen Knoten und zur Speicherung der Ergebnisse jeder Pfadberechnung in Form eines Baumes. Die Erfindung ist ein Verfahren zur Verwendung eines gespeicherten Baumes als Hilfsmittel bei der Berechnung eines bevorzugten Pfades von einem ersten Knoten zu einem zweiten Knoten, unabhängig davon, ob der zweite Knoten im gespeicherten Baum enthalten ist. Das Verfahren umfaßt die Schritte des Abrufens eines Baumes mit dem ersten Knoten als dem Ursprungs- oder Wurzelknoten. Falls der abgerufene Baum den zweiten Knoten beinhaltet, wird er in seiner gespeicherten Form verwendet, um den bevorzugten Pfad zum zweiten Knoten festzustellen. Falls der gespeicherte Baum den zweiten Knoten nicht beinhaltet, wird der Baum bis zum zweiten Knoten erweitert. Der erweiterte Baum wird dann zum Bestimmen des bevorzugten Pfades vom ersten Knoten zum zweiten Knoten verwendet.
  • Einzelheiten einer bevorzugten Ausführungsform der Erfindung können der folgenden technischen Beschreibung leichter entnommen werden, wenn Sie in Verbindung mit den begleitenden Zeichnungen gelesen wird, in denen:
  • Figur 1 eine schematische Darstellung eines Datenkommunikations- netzes von einem Typ, in dem die vorliegende Erfindung angewendet werden kann, ist;
  • Figur 2 ein Flußdiagramm des Gesamtprozesses der Leitwegwahl unter Verwendung gespeicherter Bäume ist, die vollständig oder partiell sein können wie Sie gespeichert sind;
  • Figur 3 ein Flußdiagramm bestimmter Schritte ist, die zur Erweiterung eines partiellen zwischenqespeicherten Baumes ausgeführt werden;
  • Figur 4 ein Flußdiagramm von Schritten ist, die zum Hinzufügen eines weiteren Knotens zu einem beliebigen Baum bei der Erstellung dieses Baumes erforderlich sind;
  • Figur 5 eine schematische Darstellung eines Netzwerkes ist, die verschiedenwertige Verbindungen zeigt;
  • Figur 6 ein Zustandsdiagramm ist, das den Prozeß der Leitwegwahl im Netzwerk von Figur 5 zeigt, wobei Teilbäume zuvor zwischengespeichert wurden; und
  • Figur 7 ein Flußdiagramm der Verfahrensschritte ist, die bei der Entscheidung, ob ein zuvor zwisgheng.espeicherter Baum bei einer Änderung der Netzressourcen erhalten werden soll, ausgeführt werden.
  • Figur 1 ist eine schematische Darstellung eines Typs von Datenkommunikationsnetz, in dem auf der Grundlage der von diesen Knoten ausgeführten Funktionen zwischen verschiedenen Knoten unterschieden wird. Das Netzwerk umfaßt sowohl Endknoten (EN) als auch Netzknoten (NN). Wie an früherer Stelle angemerkt wurde, kann ein Netzknoten als ein Datenverarbeitungssystem bezeichnet werden, das bestimmte Funktionen wie Leitwegwahl und das Bereitstellen von Adreßauskunftsdiensten für verbundene Knoten aus- führt. Endknoten können außerdem Datenverarbeitungssysteme umfassen, führen jedoch keine Weiterleitungs- oder Adreßauskunftsdiensten für andere Knoten aus. Knoten können durch temporäre oder permanente Verbindungen oder Übertragungsgruppen verbunden werden, die die physischen oder logischen Datenträger, über die die Daten zwischen angrenzenden Knoten übertragen werden, darstellen. Wie in Figur 1 zu erkennen ist, ist jeder Endknoten mit mindestens einem Netzknoten verbunden. Endknoten können mit mehr als einem Netzknoten verbunden sein und können parallele Verbindungen zu demselben Netzknoten aufweisen. Beispielsweise hat der Endknoten 10 eine einzelne Verbindung zum Netzknoten 12, sowie parallele Verbindungen zum Netzknoten 14. Ein Netzknoten, der Adreßauskunfts- oder Weiterleitungsdienstes für einen Endknoten durchführt, kann als Netzknoten-Server (NNS) für diesen Endknoten bezeichnet werden.
  • Bei der Erläuterung des Prozesses der Leitwegwahl können Knoten durch Namen bezeichnet werden, die die Rolle der Knoten bei dem Prozeß definieren. Ein Ursprungsknoten ist üblicherweise ein Endknoten, der eine Anforderung einleitet, daß ein Leitweg zwischen ihm selbst und einem zweiten Knoten eingerichtet werden soll. Das Ziel der Anforderung, üblicherweise ein anderer Endknoten, wird als der Zielknoten oder einfach als das Ziel bezeichnet. Obwohl der Ursprungsknoten und der Zielknoten normalerweise Endknoten sind, können eine oder beide dieser Rollen auch von Netzknoten übernommen werden. Falls beispielsweise Daten, die beim Endknoten 10 eingegeben wurden, anzeigten, daß eine Sitzung mit dem Endknoten 16 eingerichtet werden müßte, würde der Endknoten 10 als der Ursprungsknoten bezeichnet, während der Endknoten 16 als der Zielknoten bezeichnet würde. Alternativ könnte ein am Netzknoten 12 ablaufendes Programm die Einrichtung eines Pfades zum Netzknoten 18 anfordern. In dieser Situation wäre der Netzknoten 12 der Ursprungsknoten, während der Netzknoten 18 der Zielknoten wäre. Ein Netzknoten, der mit einem Ursprungsendknoten, der eine Anforderung zur Leitwegwahl absendet, direkt verbunden ist, kann als ein Ursprungs-Netzknoten oder ONN bezeichnet werden. Ahnlich kann ein Netzknoten, der mit einem Endknoten verbunden ist, der das Ziel einer Leitwegwahl-Anforderung ist, als ein Ziel-Netzknoten oder DNNS bezeichnet werden.
  • Beim Erstellen von Netzbäumen werden andere Begriffe verwendet. Der Wurzelknoten eines Baumes ist der. Knoten, an dem der Baum beginnt. Der Zielknoten ist der letzte Knoten, der vom Baum erreicht werden muß. Ein Wurzelknoten und ein Zielknoten in einem Baum sind jeweils mit einem anderen Knoten im Baum verbunden, außer in dem trivialen Fall, in dem der Wurzelknoten und der Zielknoten derselbe Knoten sind. Andere Knoten in einem nichttrivialen Baum sind Zwischenknoten, die mit zwei Knoten verbunden sind. Kein Knoten in einem Baum ist mit mehr als zwei anderen Knoten verbunden.
  • Bei der Art von Netzwerk, die in Figur 1 dargestellt ist, können mehrere Bäume vorhanden sein, die bei der Einrichtung von Pfaden zwischen einem Ursprungs-Endknoten und einem Ziel-Endknoten verwendet werden können. Bei der Einrichtung eines Leitwegs zwischen dem Endknoten 10 und dem Endknoten 20 gibt es zum Beispiel mindestens zwei Bäume. Die Wurzel für einen Baum wäre der Netzknoten 12. Die Wurzel für einen zweiten Baum wäre der Netzknoten 14. Sowohl der Netzknoten 18 als auch der Netzknoten 22 stellen mögliche Zielknoten für einen lediglich aus Netzknoten bestehenden Baum dar.
  • Figur 2 zeigt einen Prozeß der Leitwegwahl, der in der Art von Netzwerk, in dem Netzknoten Leitwege in einem mehrstufigen oder verketteten Prozeß berechnen, ausgeführt wird. Falls ein Ursprungs-Endknoten mit einer Vielzahl von Netzknoten verbunden ist oder ein Ziel-Endknoten mit einer Vielzahl von Netzknoten verbunden ist, bauen die den Ursprungs-Endknoten bedienenden Netzknoten Bäume oder Pfade auf, die jeden mit dem Ursprungs- Endknoten verbundenen Knoten mit jedem mit dem Ziel-Endknoten verbundenen Knoten verbinden. Der Netzknoten-Server verkettet anschließend die Wertigkeiten der verschiedenen Bäume mit den Wertigkeiten der Verbindungen, die den Ursprungs-Endknoten mit seinen Netzknoten und den Ziel-Endknoten mit seinen Netzknoten verbinden. Die Verkettung liefert den niederwertigsten Pfad zwischen den beiden Endknoten.
  • Figur 2 ist ein Flußdiagramm des Gesamtprozesses, der beim Auswählen eines Leitwegs zwischen zwei Endknoten in einem Netzwerk der in Figur 1 gezeigten Art ausgeführt wird. Wie an früherer Stelle angemerkt wurde, sind zu Beginn nur Netzknoten im Baum enthalten, und es gibt so viele Bäume wie die Anzahl direkt mit dem Ursprungs-Endknoten verbundener Netzknoten. Der einleitende Schritt 24 bei jedem beliebigen Prozeß derleitwegwahl ist die Identifikation der Ursprungs- und Zielknoten. Diese Informationen werden entweder von einem Benutzer, der eine Sitzung zwischen den beiden Knoten einrichten möchte, oder von einem Anwendungsprogramm, das einen Aufruf für eine solche Sitzung generiert, bereitgestellt. Es wird eine erste Liste von direkt mit dem Ursprungsknoten verbundenen Netzknoten erstellt (Schritt Solche Knoten können in dieser Beschreibung oder in den Zeichnungen als ONNs bezeichnet werden. In einem Schritt 28 muß außerdem eine zweite Liste von direkt mit dem Zielknoten verbundenen Netzknoten (DNNs) erstellt werden.
  • Sind die beiden Listen erstellt, wird einer der Ursprungs-Netzknoten ausgewählt (Schritt 30), und es erfolgt eine Prüfung (Schritt 32), um festzustellen, ob der Netzknoten-Server einen zwischengespeicherten oder gespeicherten Baum enthält, in dem der ausgewählte ONN der Wurzelknoten ist. Falls kein Baum gefunden wird, muß ein neuer Baum erstellt werden (Schritt 34), der vom ausgewählten ONN zu ledem der DNNs auf der zweiten Liste führt. Falls im Schritt 32 ein zwischengespeicherter Baum gefunden wird, erfolgt eine weitere Prüfung (Schritt 36), um fest- zustellen, ob der Baum alle der DNNS auf der im Schritt 28 erstellten Liste umfaßt. Angenommen, der Baum ist ein unvollständiger Baum oder Teilbaum, der die bezeichneten DNNS nicht umfaßt, so muß der Baum erweitert werden muß (Schritt 38), damit er alle bezeichneten DNNS umfaßt. Die Schritte, die zur Erweiterung eines Baumes ausgeführt werden müssen, werden später beschrieben.
  • Wenn die durch die Blöcke 32, 34, 36 und 38 angezeigten Arbeitsgänge abgeschlossen sind, ist ein Baum vorhanden, der sich vom ausgewählten ONN zu jedem der bezeichneten DNNs erstreckt. Falls der Baum neu erstellt wurde oder von seiner ursprünglichen zwischengespeicherten Form erweitert wurde, wird der neue Baum zwischengespeichert (Schritt 40) und wird verwendet (Schritt 42), um den besten oder niederwertigsten Leitweg vom ausgewählten ONN zu jedem der DNNS auszuwählen. Es erfolgt eine Prüfung 44, um festzustellen, ob der Prozeß für alle der ONNS auf der im schritt 26 erstellten Liste ausgeführt wurde. Falls nicht, wird die Folge der Arbeitsgänge, beginnend bei Schritt 30, wiederholt, wobei ein anderer ONN ausgewählt wird.
  • Der oder die in den vorhergehenden Arbeitsgängen erstellten Bäume enthalten einen numerischen Wert für jeden Pfad von einem ONN zu jedem DNN. Zur Auswahl des optimalen oder niederwertigsten Pfades vom Ursprungsknoten zum Zielknoten müssen diese Werte oder Wertigkeiten mit bekannten Wertigkeiten für die Verbindungen zwischen den Ursprungsknoten und den ONNs und zwischen dem Zielknoten und den DNNs kombiniert werden. Dieser Vermischungsoder Verkettungsvorgang wird durch Block 46 bezeichnet.
  • Figur 2 geht von einem Netzwerk aus, in dem ein Endknoten keine Vorgänge der Leitwegwahl ausführen kann. Falls das Netzwerk eines ist, in dem jeder Knoten Vorgänge der Leitwegwahl ausführen kann; würden dieselben Grundschritte vom Ursprungsknoten ausgeführt. Die Liste 1 würde einen einzigen Eintrag aufweisen. Ähnlich würde die Liste 2 einen einzigen Eintrag aufweisen. In einem solchen Netzwerk würde das mit Bezugnahme auf Figur 2 beschriebene Programm den niederwertigsten Pfad in einem einzigen Durchlauf berechnen. Es wären keine Schleifen oder erneute Iterationen erforderlich.
  • Wie an früherer Stelle angemerkt wurde, kann ein in einem Zwischenspeicher gefundener bestehender Baum als Basis für einen neuen, erweiterten Baum, der alle möglichen DNNs umfaßt, verwendet werden. Figur 3 ist ein Flußdiagramm der Schritte, die zur Erweiterung eines bestehenden Teilbaumes ausgeführt werden. Der Prozeß beginnt mit dem erneuten Abrufen des zwischengespeicherten Baumes im Schritt 48. Wenn der zwischengespeicherte Baum erneut abgerufen wurde, wird eine Folge von Schritten (dargestellt vom Block 50) ausgeführt, um den nächsten, zum Baum hinzuzufügenden Knoten festzustellen. Die vom Block 50 dargestellten Arbeitsgänge werden mit Bezugnahme auf Figur 4 ausführlicher beschrieben. Diese Arbeitsgänge selbst sind herkömmliche Arbeitsgänge. Wenn der Baum durch das Hinzufügen eines niederwertigsten Knotens (Schritt 52) erweitert wurde, wird eine Prüfung 54 durchgeführt, um festzustellen, ob der hinzugefügte Knoten einer der bezeichneten Ziel-Netzknoten ist. Falls der hinzugefügte Knoten ein Ziel-Netzknoten ist, erfolgt eine weitere Prüfung 56, um festzustellen, ob alle möglichen Ziel-Netzknoten in den Baum aufgenommen wurden. Falls Sie aufgenommen wurden, ist der Prozeß beendet. Falls nicht, wird der Prozeß mit dem Arbeitsgang 50 fortgesetzt.
  • Angenommen, der hinzugefügte Knoten war kein Ziel-Netzknoten, so wfrd eine Folge von Arbeitsgängen ausgeführt, um festzustellen, ob es vorteilhaft wäre, die Erstellung des Baumes von dem hinzugefügten Knoten aus fortzusetzen. Diese Arbeitsgänge vergleichen alle bekannten Pfade zum Zielknoten durch seine Netzknoten mit allen Pfaden, die durch den hinzugefügten Knoten eingerichtet werden könnten. Falls die Pfade durch den hinzugefügten Knoten bereits eine höhere Wertigkeit als ein bekannter Pfad zum Zielknoten haben, hat es keinen Sinn, den Baum vom hinzugefügten Knoten aus zu erweitern, da die Wertigkeit des Pfades durch den hinzugefügten Knoten den bekannten Pfad zum Zielknoten stets übersteigen würde. Diese Folge von Schritten beginnt mit dem Arbeitsgang 58, in dem einer der möglichen Ziel-Netzknoten ausgewählt wird. Es erfolgt eine Prüfung 60, um festzustellen, ob es einen besten aktuellen Pfad zum ausgewählten Ziel-Netzknoten gibt. Falls der Arbeitsgang 60 offenbart, daß bereits ein möglicher Pfad zum Zielknoten durch den ausgewählten Ziel-Netzknoten existiert, wird die Wertigkeit des Pfades durch den hinzugefügten Knoten in einem Arbeitsgang 62 mit der Wertigkeit des aktuellen Pfades verglichen. Falls die Pfadwertigkeit durch den hinzugefügten Knoten größer als der bekannte aktuelle Pfad ist, wird der hinzugefügte Knoten in nachfolgenden Leitwegberechnungen, die diesen Baum betreffen, ignoriert (Block 64).
  • Falls es jedoch keinen aktuellen Pfad zum Zielknoten durch den ausgewählten Ziel-Netzknoten gibt oder die dem Pfad durch den hinzugefügten Knoten zugewiesene Wertigkeit niedriger als die Wertigkeit aller aktuellen Pfades ist, wird eine Prüfung 66 durchgeführt, um festzustellen, ob es zusätzliche Ziel-Netzknoten gibt, die auf dieselbe Weise verglichen werden sollten. Falls es zusätzliche Ziel-Netzknoten gibt, wird die Folge von Schritten, beginnend mit Schritt 58, wiederholt. Falls alle möglichen Ziel-Netzknoten betrachtet wurden, wird der Baum wieder durch die beim Block 50 beginnende Folge von Schritten um einen einzigen Knoten erweitert. Zeigen die Arbeitsgänge 54 und 56 an, daß bereits alle möglichen Ziel-Netzknoten zum Baum hinzugefügt wurden, wird der durch Figur 3 definierte Unterprozeß beendet und die Programmsteuerung zu der Stelle am Ausgang vom Block 38 in Figur 2 rückübertragen.
  • Wie oben angemerkt wurde, werden im Arbeitsgang 50 bekannte Arbeitsgänge zur Erweiterung eines Baumes um einen einzigen Knoten ausgeführt. Diese Arbeitsgänge sind dieselben, ob ein zwischengespeicherter Teilbaum erweitert wird oder ein neuer Baum von seinem Leitweg aus erstellt wird. Figur 4 ist ein Flußdiagramm der im einzelnen Block 50 dargestellten Schritte. Die durch Figur 4 definierten Arbeitsgänge verwenden zwei Sätze von Knoten. Ein Satz T von Knoten besteht aus bereits im Baum befindlichen Knoten. Ein Satz S von Knoten umfaßt andere Knoten, die mit bereits im Baum befindlichen Knoten direkt verbunden sind. Der erste Schritt im Prozeß der Leitwegberechnung (Block 68) ist die Kennzeichnung des letzten, zu einem Baum hinzugefügten Knotens. Falls kein Baum vorhanden ist, wird dieser Knoten durch den Wurzel- oder Ursprungs-Netzknoten dargestellt. In einem Schritt 70 wird eine der Verbindungen vom letzten (oder Wurzel-) Knoten ausgewählt, und die Eigenschaften der Verbindung werden überprüft (Schritt 72), um festzustellen, ob die Verbindung für die Art von Sitzung, die über den Leitweg eingerichtet werden soll, geeignet ist. Ein Verbindung mit den korrekten Eigenschaften wird normalerweise als eine Verbindung mit der richtigen Servicekategorie bezeichnet. Angenommen, die Verbindungseigenschaften sind annehmbar, so muß eine Prüfung 74 erfolgen, um zu bestimmen, ob sich der Knoten am entgegengesetzten Ende der Verbindung bereits im Baum befindet. Angenommen, der Partnerknoten befindet sich noch nicht im Baum, so wird die Wert£gkeit des Pfades vom ausgewählten Knoten über die ausgewählte Verbindung zum Partnerknoten berechnet (Schritt 76), und die Pfadinformationen und Wertigkeiten oder Wertigkeits-Vektoren werden im Satz S gespeichert. Es erfolgt eine weitere Prüfung (Schritt 77), um festzustellen, ob es zusätzliche Verbindungen vom ausgewählten Knoten im Baum gibt. Falls es zusätzliche Verbindungen gibt, wird eine dieser Verbindungen ausgewählt, und beginnend mit Schritt 70 wird der Prozeß wiederholt.
  • Falls sich zu Beginn im Schritt 72 herausgestellt hätte, daß die Eigenschaften der ausgewählten Verbindung nicht annehmbar sind, oder falls sich im Schritt 74 herausgestellt hätte, daß der Partner für die ausgewählte Verbindung bereits im Baum vorhanden ist, würde kein Versuch zur Berechnung der Wertigkeit des Pfades durch diese Verbindung unternommen. Statt dessenwürde das Programm direkt zum Eingang von Schritt 77 verzweigen, um festzustellen, ob zusätzliche Verbindungen existieren.
  • Wenn die Wertigkeit aller annehmbaren Pfade vom Baumknoten aus berechnet und zum Satz S hinzugefügt wurden, werden die Wertigkeiten dieser Pfade verglichen. Der Satz S kann Pfade, die in den unmittelbar vorausgehenden Folgen von Arbeitsgängen eingerichtet wurden, und Pfade, die eingerichtet und gespeichert wurden, als das Programm in bezug auf andere, früher zum Baum hinzugefügte Knoten ausgeführt wurde, enthalten. Der niederwertigste Pfad im gespeicherten Satz wird ausgewählt (Schritt 79), und alle anderen gespeicherten Pfade zum Knoten im ausgewählten Pfad werden gelöscht, bevor die durch Figur 4 definierten Arbeitsgänge beendet werden.
  • Die oben beschriebenen Prozesse werden mit Bezugnahme auf die Figuren 5 und 6 beschrieben. Figur 5 ist eine schematische Darstellung eines Kommunikationsnetzes, das einen Ursprungsknoten ON und einen Zielknoten DN mit Zwischenknoten A bis H umfaßt. Es wird vorausgesetzt, daß für dieses Netzwerk zuvor zwei Teilbäume generiert wurden. Der erste Teilbaum umfaßt die Knoten A, B und D. Der zweite Teilbaum besteht aus den Knoten C und G. Des weiteren wird vorausgesetzt, daß ein Benutzer am Knoten ON eine Sitzung mit einem Benutzer am Knoten DN einrichten möchte.
  • In Figur 5 werden nur den Verbindungen numerische Wertigkeiten zugewiesen, um das zü erläuternde Beispiel zu vereinfachen. Normalerweise würde auqh jedem Knoten eine numerische Wertigkeit zugewiesen; die Knotenwertigkeit würde zu der Wertigkeit jedes durch den Knoten verlaufenden Pfades addiert, um eine Wertigkeit des gesamten Pfades zu bestimmen.
  • Beim Auswählen eines niederwertigsten Pfades zwischen den Knoten ON und DN, werden die mit dem Knoten ON direkt verbundenen Knoten (Knoten A und Knoten C) gekennzeichnet und in eine erste Liste aufgenommen. Ahnlich werden die mit dem Knoten DN direkt verbundenen Knoten (Knoten E und Knoten F) gekennzeichnet und in eine zweite Liste aufgenommen. Jedeü Teilbaum mit einem Knoten A oder einem Knoten C wird gekennzeichnet und aus dem Cache-Speicher abgerufen. In diesem Beispiel werden die Teilbäume ABD und CG aus dem Speicher abgerufen. Dies wird in Figur 6 jeweils bei 82 und 84 dargestellt. In der folgenden Erläuterung werden die zum vollständigen Erweitern des Teilbaumes ABD bis zu den Knoten E und F erforderlichen Arbeitsgänge erläutert, als ob diese Arbeitsgänge beendet würden, bevor irgendwelche ähnlichen Arbeitsgänge in bezug auf den Baum CG ausgeführt werden. Es sollte klar sein, daß die zur Erweiterung der beiden Bäume erforderlichen Berechnungen in Wirklichkeit von einem Prozessor in einem verzahnten Modus ausgeführt werden können.
  • Gemäß einer Ausführungsform der Erfindung kann ein Satz von Knoten (Satz S), die mit den bereits im Baum befindlichen Knoten direkt verbunden sind, mit dem Baum gespeichert werden. In einer anderen Ausführungsform der Erfindung wird der Satz S neu erstellt, wenn der Teilbaum aus dem Cache abgerufen wird. Der anfängliche Satz S für den zwischengespeicherten Baum ABD besteht aus den Knoten C, E und F. Die Wertigkeit der Pfade von den bereits im Baum befindlichen Knoten zu den Knoten im Satz S werden berechnet und vorübergehend gespeichert. Dies wird bei 86 gezeigt. Da der Pfad zum Knoten E die niedrigste Wertigkeit im gespeicherten Satz hat, wird der Baum über den Knoten D bis zum Knoten E erweitert "Block 88). Der alternative Pfad ABE zum Knoten E wird gelöscht. Der erweiterte Baum wird bei 90 gezeigt. In diesem Beispiel werden anschließend keine neuen Knoten zum Satz S hinzugefügt, da sich bereits alle Netzknoten, die mit Knoten im Baum direkt verbunden sind, im Satz S befinden oder selbst im Baum sind. Die Wertigkeiten der zeitweiligen Pfade ABDC und ABDF werden verglichen (Block 92). Da der letztere Pfad die niedrige re Wertigkeit hat, wird der Knoten F auf diesem Pfad zum Baum hinzugefügt (Block 94). Mit der Hinzufügung von Knoten F zum Baum wird der Baum, wie in 96 gezeigt wird, zu beiden Ziel-Netzknoten erweitert, wobei die Pfadwertigkeiten in 98 angezeigt werden. Um die Wertigkeiten des Gesamtpfades vom Ursprungsknoten ON zum Zielknoten DN zu ermitteln, müssen diese Baum-Pfadwertigkeiten mit der Pfadwertigkeit von ON zu A und von jedem der Knoten E und F zu DN kombiniert werden. Die Verkettung liefert die bei 100 gezeigte Pfadwertigkeit und führt zur Auswahl des Pfades ABDE als dem bestmöglichen Leitweg vom Knoten ON zum Knoten DN über den Knoten A. Dies wird bei 102 gezeigt.
  • Ännliche Berechnungen müssen in bezug auf den Teilbaum CG ausgeführt werden. Der Satz S von Knoten, die mit Knoten in diesem Baum direkt verbunden sind, besteht aus den Knoten D, F und H. Wie bei 104 gezeigt wird, gibt es mehrere Verbindungen zwischen bereits im Baum befindlichen Knoten und den Knoten im Satz S. Der Pfad CF hat die niedrigste Wertigkeit. Der Baum wird vom Knoten C direkt zum Knoten F erweitert (Block 106), und der Pfad CGF wird gelöscht. Der erweiterte Baum wird bei 108 gezeigt. Es werden keine neuen Knoten zum Satz S hinzugefügt.
  • Es sei darauf hingewiesen, daß der Knoten F einer der Knoten auf der Liste 2 ist. Infolge des mit Bezugnahme auf Figur 3 beschriebenen Prozesses ist zu erkennen, daß jeder Pfad, der über den Knoten F und den Knoten G schließlich zum Zielknoten führt, notwendigerweise eine höhere Wertigkeit als die Wertigkeit des Pfades CF hat. Aus diesem Grunde können Knoten, die mit dem Knoten G direkt verbunden sind, keinesfalls Teil eines niederwertigsten Pfades zum Knoten F sein und werden in künftigen Berech nungen ignoriert.
  • Da der Pfad CD der niederwertigste Pfad im Satz ist, wird der Knoten D zum Baum hinzugefügt (Block 112), um den bei 114 gezeigten Teilbaum zu erstellen. Die Hinzufügung des Knotens D liefert einen neuen Satz S von Knoten, der aus den Knoten B und E besteht. Die Pfadwertigkeiten zu diesen Knoten über den Knoten D werden bei 116 gezeigt. Da der Pfad zum Knoten E die geringere Wertigkeit hat, wird der Knoten E zum Baum hinzugefügt (Block 118), um den beim Block 120 gezeigten Baum zu liefern. Mit der Hinzufügung des Knotens E zum Baum sind beide Knoten (E und F) auf der zweiten Liste im Baum enthalten, der den Knoten C als Wurzel beinhaltet.
  • Zur Ermittlung der Gesamtwertigkeit der Pfade vom Ursprungsknoten ON zum Zielknoten DN über den Wurzelknoten C werden die Pfadwertigkeiten verkettet, wie bei 122 gezeigt wird, und der Pfad CF wird als der niederwertigste Pfad zwischen den Ursprungs- und Zielknoten über den Wurzelknoten C ausgewählt (Block 124).
  • Da der Pfad durch das Netzwerk über den Wurzelknoten C eine niedrigere Wertigkeit als der Pfad durch das Netzwerk über den Wurzelknoten A hat, wird der Pfad über den Leitweg C schließlich als der niederwertigste Pfad zwischen den Ursprungs- und Zielknoten ausgewählt.
  • Weil die oben beschriebenen Berechnungen mit zwischengespeicherten Teilbäumen beginnen, müssen die Bäume nicht als ein Teil des Prozesses der Leitwegwahl vollständig neu erstellt werden. Da die zwischengespeicherten Bäume sich nur vom Leitweg zum gewünschten Ziel erstrecken und nicht das gesamte Netz umfassen, ist es weniger wahrscheinlich, daß die Bäume durch eine Änderung im Status einer Netzressource ungültig gemacht werden.
  • Figur 7 stellt die Schritte dar, die bei der Entscheidung, ob ein zwischengespeicherter Baum bei einer Änderung des Status einer Netzressource erhalten oder gelöscht wird, ausgeführt werden. Falls eine Prüfung 126 anzeigt, daß die Netzressource eine ist, die gelöscht wurde, und diese Ressource entweder im Baum oder im Satz S enthalten ist, wird der Baum in einem Arbeitsgang 129 aus dem Cache gelöscht. Andernfalls erfolgt eine Prüfung 128, um festzustellen, ob die Wertigkeit von irgendeinem im Baum enthaltenen Knoten aufgrund einer Änderung in der Definition der Servicekategorie oder aufgrund von Änderungen der Eigenschaften der Ressource geändert wurde. Falls eine Änderung der Servicekategorie erfolgte, wird der Baum gelöscht. Falls nicht, wird eine weitere Prüfung 130 durchgeführt, um festzustellen, ob eine Verbindungseigenschaft geändert wurde. Falls keine Änderung einer Verbindungseigenschaft stattfand, wird der Wartungsprozeß beendet. Falls jedoch irgendwo im Netz eine Verbindungseigenschaft geändert wird, erfolgt eine Prüfung 132, um festzustellen, ob sich diese Verbindung entweder im Baum befindet oder einen Knoten im Baum mit einem der Knoten im Satz S verbindet. Ein positives Ergebnis beim Arbeitsgang 132 führt zu einer nachfolgenden Prüfung bei 134, um festzustellen, ob die Wertigkeit der Servicekategorie dieser Verbindung geändert wurde. Ist dies der Fall, wird der zwischengespeicherte Baum gelöscht. Falls nicht, wird die Wartungsfolge beendet. Falls sich herausstellt, daß sich die aktualisierte Verbindung weder im Baum befindet, noch einen Baumknoten mit einem Knoten aus dem Satz S verbindet, muß eine weitere Prüfung 136 durchgeführt werden, um festzustellen, ob eine parallele Verbindung diesen Anforderungen entspricht. Falls es eine parallele Verbindung gibt, muß eine Prüfung 138 durchgeführt werden, um festzustellen, ob die Service kategorie der parallelen Verbindung verringert wurde. Falls die Servicekategorie der parallelen Verbindung geändert wurde, wird der Baum gelöscht Falls es jedoch keine parallele Verbindung gibt oder falls die Servicekategorie einer parallelen Verbindung nicht verringert wurde, wird eine zusätzliche Prüfung 140 durchgeführt, um festzustellen, ob sich beide Enden der Verbindung entweder im Baum oder im Satz S befinden. Falls sich beide Enden im Baum oder im Satz S befinden, wird der Baum gelöscht. Falls sich beide Enden nicht im Baum oder im Satz S befinden, erfolgt eine Prüfung 142, um festzustellen, ob sich nur einer der beiden Knoten im Baum oder im Satz S befindet. Eine negative Antwort auf die Prüfung 142 bedeutet, daß sich keiner der Knoten im Baum oder im Satz S befindet, und der Wartungsprozeß wird beendet. Eine positive Antwort auf die Prüfung 142 bedeutet, daß nur einer der beiden Knoten im Baum oder im Satz S enthalten ist. Es wird eine Prüfung 144 durchgeführt, um festzustellen, ob der Knoten, der im Baum ist, entweder eine endliche Wertigkeit besitzt oder ein Wurzelknoten ist. Falls keine dieser Bedingungen vorliegt, wird der Wartungsvorgang beendet. Falls eine der beiden vorliegt, wird der Baum gelöscht.

Claims (5)

1. Verfahren zur Verwendung eines gespeicherten Baumes bei der Berechnung eines bevorzugten Pfades vqn einem ersten Knoten zu einem zweiten Knoten in einem Datenkommunikationsnetz, das eine Vielzahl von Netzknoten und Verbindungen aufweist, die mindestens einige der Netzknoten untereinander verbinden, wobei mindestens einer der Netzknoten Mittel zur Berechnung bevorzugter Pfade zwischen Knoten und zur Speicherung der Ergebnisse jeder Pfadberechnung in Form eines Baumes umfaßt, wobei das Verfahren dadurch gekennzeichnet ist, daß es die folgenden Schritte umfaßt:
a) Kennzeichnen jedes mit dem zweiten Knoten verbundenen Netzknotens;
b) Abrufen eines Baumes mit dem ersten Knoten als dem Ursprungs- oder Wurzelknoten;
c) Feststellen, ob der abgerufene Baum alle mit dem zweiten Knoten verbundenen Netzknpten umfaßt, und
c.1) falls der abgerufene Baum alle mit dem zweiten Knoten verbundenen Netzknoten umfaßt, Verwenden des Baumes zum Auswählen des bevorzugten Weges von mit dem Wurzelknoten verbundenen Netzknoten zu mit dem zweiten Knoten verbundenen Netzknoten;
c.2) falls der abgerufene Baum nicht alle mit dem zweiten Knotenverbundenen Netzknoten umfaßt, Erweitern des bestehenden Baumes, bis er alle solche Netzknoten beinhaltet, und Verwenden des erweiterten Baumes zur Berechnung eines bevorzugten Pfades von den mit dem Wurzelknoten verbundenen Netzknoten zu den mit dem zweiten Knoten verbundenen Netzknoten.
2. Verfahren gemäß Anspruch 1, das desweiteren die folgenden Schritte umfaßt:
falls der abgerufene Baum den zweiten Knoten beinhaltet, Verwenden des Baumes zum Bestimmen des bevorzugten Pfades vom ersten Knoten zum zweiten Knoten, und
falls der abgerufene Baum den zweiten Knoten nicht beinhaltet, Erweitern des Baumes, bis der Baum den zweiten Knoten beinhaltet, und Verwenden des erweiterten Baumes zum Bestimmen des bevorzugten Pfades vom ersten Knoten zum zweiten Knoten.
3. Verfahren gemäß Anspruch 1 oder 2, das desweiteren den Schritt der Speicherung des erweiterten Baumes zur möglichen Verwendung bei künftigen Wegberechnungen umfaßt.
4. Verfahren gemäß Anspruch 3, das desweiteren den Schritt der Speicherung der Kennung jedes Netzknotens im Netzwerk umfaßt, der direkt mit einem der im gespeicherten Baum enthaltenen Knoten verbunden ist.
5. Verfahren gemäß Anspruch 4, das desweiteren den Schritt der Wartung des gespeicherten Baumes bei einer Änderung des Status von Netzressourcen umfaßt, wobei der Schritt der Wartung folgendes umfaßt:
Feststellen, ob ein gespeicherter Baum eine Netzressource enthält, deren Status seit der Speicherung des Baumes geändert wurde,
Feststellen, ob der gespeicherte Baum durch die Statusänderung beeinflußt wird, und
Entfernen jedes beeinflußten Baumes aus dem Speicher.
DE69025846T 1989-10-13 1990-08-22 Verfahren zur Verwendung gespeicherter partieller Bäume zur Berechnung eines Weges in einem Datenkommunikationsnetz Expired - Fee Related DE69025846T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US42142389A 1989-10-13 1989-10-13

Publications (2)

Publication Number Publication Date
DE69025846D1 DE69025846D1 (de) 1996-04-18
DE69025846T2 true DE69025846T2 (de) 1996-09-26

Family

ID=23670448

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69025846T Expired - Fee Related DE69025846T2 (de) 1989-10-13 1990-08-22 Verfahren zur Verwendung gespeicherter partieller Bäume zur Berechnung eines Weges in einem Datenkommunikationsnetz

Country Status (4)

Country Link
US (1) US5321815A (de)
EP (1) EP0423053B1 (de)
JP (1) JP2505064B2 (de)
DE (1) DE69025846T2 (de)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3043439B2 (ja) * 1990-12-28 2000-05-22 富士通株式会社 データ処理装置におけるネットワーク記憶方法
NL9200279A (nl) * 1992-02-14 1993-09-01 Nederland Ptt Werkwijze voor het detecteren van een routeringslus in een telecommunicatienetwerk, telecommunicatienetwerk voor toepassing van de werkwijze en detectiemiddelen voor toepassing in het telecommunicatienetwerk.
US5561790A (en) * 1992-03-24 1996-10-01 International Business Machines Corporation Shortest path determination processes for use in modeling systems and communications networks
CA2094410C (en) * 1992-06-18 1998-05-05 Joshua Seth Auerbach Distributed management communications network
US5438575A (en) * 1992-11-16 1995-08-01 Ampex Corporation Data storage system with stale data detector and method of operation
US6016306A (en) * 1993-12-24 2000-01-18 International Business Machines Corporation Routing bandwidth-reserved connections in information networks
US5483674A (en) * 1994-01-07 1996-01-09 Cimet; Israel A. Method for establishing a logical connection between sites, site controllers, and a switching center in a radio communication system
US5694546A (en) 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
US5452294A (en) * 1994-07-05 1995-09-19 Motorola, Inc. Method and apparatus for adaptive route selection in communication networks
IL116215A (en) * 1994-11-30 1999-06-20 British Telecomm Routing in a communications network
JP2943677B2 (ja) * 1995-12-06 1999-08-30 日本電気株式会社 非同期転送モード通信方式における回線迂回制御システム
US6662205B1 (en) 1996-10-01 2003-12-09 International Business Machines Corporation Scaleable and extensible system management architecture with dataless endpoints
US6748446B2 (en) * 1996-11-29 2004-06-08 Canon Kabushiki Kaisha Communication method and apparatus with modification of routing path by intermediate relay apparatus
DE19715396A1 (de) * 1997-04-14 1998-10-15 Philips Patentverwaltung Übertragungssystem mit mehreren Netzelementen
US6584075B1 (en) * 1997-06-30 2003-06-24 Sun Microsystems, Inc. Efficient caching of routing information for unicast and multicast connections
US6412006B2 (en) * 1998-02-10 2002-06-25 3Com Corporation Method and apparatus for sending delay sensitive information assisted by packet switched networks
US6633544B1 (en) * 1998-06-24 2003-10-14 At&T Corp. Efficient precomputation of quality-of-service routes
US6185612B1 (en) 1998-10-29 2001-02-06 Novell, Inc. Secure distribution and use of weighted network topology information
US6275470B1 (en) 1999-06-18 2001-08-14 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
JP3336614B2 (ja) * 1999-10-14 2002-10-21 日本電気株式会社 木構造通信路の設計方法、及び、通信路の木構造解
US7743074B1 (en) * 2000-04-05 2010-06-22 Microsoft Corporation Context aware systems and methods utilizing hierarchical tree structures
US7421486B1 (en) 2000-04-05 2008-09-02 Microsoft Corporation Context translation methods and systems
US7213048B1 (en) * 2000-04-05 2007-05-01 Microsoft Corporation Context aware computing devices and methods
US7096029B1 (en) * 2000-04-05 2006-08-22 Microsoft Corporation Context aware computing devices having a common interface and related methods
US7076255B2 (en) * 2000-04-05 2006-07-11 Microsoft Corporation Context-aware and location-aware cellular phones and methods
US7493565B2 (en) * 2000-12-22 2009-02-17 Microsoft Corporation Environment-interactive context-aware devices and methods
US6944679B2 (en) * 2000-12-22 2005-09-13 Microsoft Corp. Context-aware systems and methods, location-aware systems and methods, context-aware vehicles and methods of operating the same, and location-aware vehicles and methods of operating the same
US7072956B2 (en) * 2000-12-22 2006-07-04 Microsoft Corporation Methods and systems for context-aware policy determination and enforcement
WO2003015377A1 (en) * 2001-08-04 2003-02-20 Kontiki, Inc. Method and apparatus for facilitating distributed delivery of content across a computer network
US8611919B2 (en) 2002-05-23 2013-12-17 Wounder Gmbh., Llc System, method, and computer program product for providing location based services and mobile e-commerce
US10489449B2 (en) 2002-05-23 2019-11-26 Gula Consulting Limited Liability Company Computer accepting voice input and/or generating audible output
JP3997844B2 (ja) * 2002-06-12 2007-10-24 日本電気株式会社 経路計算方法、経路計算プログラム及び経路計算装置
US7401132B1 (en) * 2002-12-20 2008-07-15 Symantec Operating Corporation Method and system for creating a peer-to-peer overlay network
US7359905B2 (en) * 2003-06-24 2008-04-15 Microsoft Corporation Resource classification and prioritization system
US7450524B2 (en) * 2003-06-30 2008-11-11 Kontiki, Inc. Method and apparatus for determining network topology in a peer-to-peer network
US20040267875A1 (en) * 2003-06-30 2004-12-30 Hennessey Wade L. Method and apparatus for establishing peering rules for distributed content delivery
US8300798B1 (en) 2006-04-03 2012-10-30 Wai Wu Intelligent communication routing system and method
US9674083B2 (en) * 2008-11-19 2017-06-06 Nippon Telegraph And Telephone Corporation Path calculation order deciding method, program and calculating apparatus
EP2352263B1 (de) * 2008-11-19 2013-09-25 Nippon Telegraph And Telephone Corporation Pfadberechnungsverfahren, -programm und -vorrichtung
JP5782999B2 (ja) 2011-11-10 2015-09-24 富士通株式会社 経路決定装置、ノード装置及び経路決定方法
US20150195189A1 (en) * 2014-01-07 2015-07-09 Alcatel Lucent Usa, Inc. Multiple tree routed selective randomized load balancing
US11436507B2 (en) 2019-11-21 2022-09-06 International Business Machines Corporation Normalizing weights of weighted tree leaf nodes

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3703006A (en) * 1970-10-28 1972-11-14 Collins Radio Co Algorithm for synthesizing economical data communication network
US4466060A (en) * 1982-02-11 1984-08-14 At&T Bell Telephone Laboratories, Incorporated Message routing in a computer network
EP0221360B1 (de) * 1985-11-04 1992-12-30 International Business Machines Corporation Digitale Nachrichtenübertragungsnetzwerke und Aufbau von Übertragungswegen in diesen Netzwerken
US4914571A (en) * 1987-06-15 1990-04-03 International Business Machines Corporation Locating resources in computer networks
US4987536A (en) * 1988-05-12 1991-01-22 Codex Corporation Communication system for sending an identical routing tree to all connected nodes to establish a shortest route and transmitting messages thereafter
US4873517A (en) * 1988-06-23 1989-10-10 International Business Machines Corporation Method for selecting least weight end node to end node route in a data communications network

Also Published As

Publication number Publication date
DE69025846D1 (de) 1996-04-18
EP0423053B1 (de) 1996-03-13
EP0423053A2 (de) 1991-04-17
JP2505064B2 (ja) 1996-06-05
EP0423053A3 (en) 1994-10-19
US5321815A (en) 1994-06-14
JPH03139936A (ja) 1991-06-14

Similar Documents

Publication Publication Date Title
DE69025846T2 (de) Verfahren zur Verwendung gespeicherter partieller Bäume zur Berechnung eines Weges in einem Datenkommunikationsnetz
DE68920490T2 (de) Verfahren zur Auswahl des geringstwertigen Weges in einem Kommunikationsnetz.
DE68918765T2 (de) Verfahren zur wirksamen Aktualisierung der Knotentopologiedatenbanken in einem Datenkommunikationsnetzwerk.
DE69533535T2 (de) Verfahren zur effizienten aggregation von verbindungsmetriken
DE69419027T4 (de) Mindestkosten-leitwegsauswahl in verteilten kommunikationsnetzen
DE68923489T2 (de) Verfahren zur Auswahl eines optimalen Weges zwischen Knoten in einem Datenkommunikationsnetz.
DE69310010T2 (de) Kosten-optimierte Weglenkung in einem Telekommunikationsnetz
DE69524119T2 (de) Dynamischgesteuerte leitweglenkung unter anwendung von virtuellen zielknoten
DE60129480T2 (de) Technik zur bestimmung von konnektivitätslösungen für netzwerkelemente
DE4430993C1 (de) Verfahren zur adaptiven Wegesuche in einem Kommunikationsnetz
DE69328647T2 (de) Verfahren und Vorrichtung zur optimalen Wegeauswahl in Paketübertragungsnetzen
DE69628682T2 (de) System und Verfahren um die Belastung einer Mehrzahl von Datei-Servern zu verteilen
DE4330986C2 (de) Verfahren zum Erfassen von Verzeichnisdaten von Vermittlungssystemen
DE69624579T2 (de) System und verfahren für eine verteilte objektverwaltungsumgebung an mehreren orten
DE69413104T2 (de) Anordnung und Verfahren zur Überwachung von Tafeln von einfachen Netzverwaltungsprotokollen
DE69900385T2 (de) NPA-geteiltes Management in intelligenter Netzwerk-Umgebung
DE3855212T2 (de) Verfahren zur Berechnung eines transitiven Abschlusses
DE69225101T2 (de) Verwaltungsverfahren von strukturierten Objekten
DE19681678B4 (de) Telekommunikationsnetz-Verwaltungssystem
DE69310946T2 (de) Verfahren und Mittel zum Detektieren einer Leitweglenkungsschleife in einem Fernmeldenetz
DE69210466T2 (de) Verfahren und Vorrichtung zur Verbindung von lokalen Netzwerken mit Weitbereichsnetzwerken
DE19719170C2 (de) Verfahren und Werkzeug zum Herstellen eines Telekommunikationsnetzes
DE3943052A1 (de) Hierarchisches synchronisationsverfahren fuer vermittlungsstellen eines fernmeldenetzes
DE19930119C2 (de) Prioritätsverwaltungsverfahren
DE69531692T2 (de) Verfahren zur analysedatenspeicherung in einer fernsprechvermittlungsanlage

Legal Events

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