DE102007011143A1 - Ein Verfahren zum Optimieren des Leitens von Anforderungen in einem Netz - Google Patents

Ein Verfahren zum Optimieren des Leitens von Anforderungen in einem Netz Download PDF

Info

Publication number
DE102007011143A1
DE102007011143A1 DE102007011143A DE102007011143A DE102007011143A1 DE 102007011143 A1 DE102007011143 A1 DE 102007011143A1 DE 102007011143 A DE102007011143 A DE 102007011143A DE 102007011143 A DE102007011143 A DE 102007011143A DE 102007011143 A1 DE102007011143 A1 DE 102007011143A1
Authority
DE
Germany
Prior art keywords
cluster
request
network
requests
clusters
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.)
Withdrawn
Application number
DE102007011143A
Other languages
English (en)
Inventor
Kevin Mitchell
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.)
Agilent Technologies Inc
Original Assignee
Agilent Technologies Inc
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 Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of DE102007011143A1 publication Critical patent/DE102007011143A1/de
Withdrawn 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/302Route determination based on requested QoS
    • 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/04Network management architectures or arrangements
    • H04L41/044Network management architectures or arrangements comprising hierarchical management structures
    • 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
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/46Cluster building
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]

Abstract

Die vorliegende Erfindung bezieht sich auf ein Verfahren zur Optimierung von Anforderungen in einem Paketvermittlungskommunikationsnetz, im Besonderen, jedoch nicht ausschließlich, zur Optimierung von Anforderungen in einem MPLS (Multi Protocol Label Switching)- Paketvermittlungskommunikationsnetz. Die vorliegende Erfindung stellt ein Verfahren bereit, um zu ermöglichen, dass Netzknoten, wie z. B. Router, in Komponenten geclustert werden, wobei die Komponenten hierarchisch organisiert sind, und wobei sich der Netz-"Kern" an der Wurzel dieser Hierarchie befindet. Anforderungen, die ihren Ursprung oder ihr Ende bei Komponenten außerhalb des Kerns haben, die jedoch den Kern durchlaufen, werden temporär durch Anforderungen ersetzt, die ihren Ursprung und ihr Ende innerhalb der Kernkomponenten haben. Nachdem der resultierende Satz von Anforderungen optimiert worden ist, wird anschließend gezeigt, wie die Lösung verwendet werden soll, um die ursprünglichen Anforderungen zu erfüllen. Mehrfachzugangsnetze verursachen einige Komplikationen, und diese werden berücksichtigt. Es wurden auch weitere Anforderungsersetzungsverfahren entwickelt, die komplexe Zugangssituationen berücksichtigen, im Besonderen, wie im Vorhergehenden erwähnt, wurde der Fall in Betracht gezogen, bei dem bereits eine Partitionierung der Router vorliegt, z. B. in Kern- und Zugangsrouter, was berücksichtigt werden muss.

Description

  • Die vorliegende Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung zum Optimieren des Leitens (bzw. Routing) von Anforderungen in einem Netz, im Besonderen, jedoch nicht ausschließlich, zum Optimieren von Anforderungen in einem Paketvermittlungskommunikationsnetz, wie z. B. einem MPLS (Multi Protocol Label Switching-)-Paketvermittlungskommunikationsnetz.
  • MPLS wird in Kommunikationsnetzen, im Besonderen in ATM- und IP-Netzen (= Asynchronous Transfer Mode and Internet Protocol networks = Asynchronübermittlungs- und Internetprotokoll-Netzen) verwendet, um zusätzliche Merkmale, z. B. exakte Steuerung des Leitens, bereitzustellen, was verbesserte Kundendienste ermöglicht. MPLS wurde ursprünglich entwickelt, um Leistung und Netzskalierbarkeit zu verbessern. Eine Arbeitsgruppe innerhalb der IETF (Internet Engineering Task Force = Internet-Arbeitsgruppe) ist für Standardisierungsaufgaben auf diesem Gebiet zuständig, was in „Kommentaranforderungen" (RFCs = Requests for Comment) dokumentiert ist.
  • Wie weithin bekannt ist, werden in einem Paketvermittlungsnetz Datenpakete über eine Mehrzahl von Verknüpfungen bzw. Verbindungen von einem Startpunkt zu einem Zielpunkt geleitet. Die Verknüpfungen sind durch Router gekoppelt, die die Pakete erhalten und entscheiden, auf welcher Verknüpfung abhängig von unterschiedlichen Faktoren, wie z. B. natürlich dem Zielpunkt des Pakets, das Paket versendet werden soll. Der Router kann jedoch auch basierend auf dem Verkehr auf den Verknüpfungen und, in manchen Fällen, auf der Priorität des bestimmten Datenpakets entscheiden, wie das bestimmte Paket geleitet werden soll. Andererseits wird in einem MPLS-Netz einem bestimmten ankommenden Paket durch einen Etikettkantenrouter (LER = Label Edge Router) am Anfang der Route des Pakets durch das Netz oder durch eine bestimmte Region des Netzes ein „Etikett" zugewiesen. Das dem Paket zugewiesene Etikett liefert Informationen bezüglich einer bestimmten Route, die das Paket durch das Netz nehmen soll. Somit werden Pakete entlang eines Etikettvermittlungswegs (LSP = Label Switched Path), von einem Etikettvermittlungsrouter (LSR = Label Switching Router) zum nächsten weitergeleitet, wobei jeder LSR Weiterleitentscheidungen ausschließlich aufgrund des Inhalts des Etiketts trifft. Bei jedem „Sprung" streift der LSR das bestehende Etikett ab und bringt ein neues Etikett an, das dem nächsten LSR angibt, wie das Paket weitergeleitet werden soll.
  • Da der Verkehr, der entlang des Etikettvermittlungswegs fließt, durch das an dem Eingangsknoten des LSPs angebrachte Etikett definiert ist, können diese Wege als Tunnel behandelt werden, die unter die normalen IP-Leit- und- Filtermechanismen tunneln. Wird ein LSP auf diese Weise verwendet, wird es als ein LSP-Tunnel bezeichnet.
  • LSP-Tunnel erlauben die Implementierung einer Vielfalt von auf Netzleistungsoptimierung bezogenen Taktiken. Zum Beispiel können LSP-Tunnel automatisch oder manuell von Ausfällen, Überlastungen und Engpässen im Netz weggeleitet werden. Ferner kann eine Mehrzahl paralleler LSP-Tunnel zwischen zwei Knoten eingerichtet werden, und der Verkehr zwischen zwei Knoten kann gemäß der lokalen Taktik auf die LSP-Tunnel abgebildet werden.
  • Zur effizienten Verwendung verfügbarer Netzressourcen wird Verkehrstechnik benötigt. Um dies zu erreichen muss jedoch ein Verständnis der Verkehrsmuster auf dem Netz und jeglicher Probleme, die vorhanden sein können, wie z. B. Ausfälle, Überlastungen und Engpässe des Netzes, erlangt werden. Eine mögliche Herangehensweise ist das Überwachen der Verknüpfungen in dem MPLS-Netz. Dies stellt sicher, dass vordefinierte Dienstgüte (QoS = Quality of Service)-Grade und Dienstgradvereinbarungen (SLAs = Service Level Agreements) erfüllt sind.
  • Eine Anforderung stellt in der Regel eine Forderung nach einem gewissen Betrag an Bandbreite zwischen einem Eingangsknoten und einem Ausgangsknoten, oft mit einer zugehörigen Verkehrsklasse, oder eine QoS-Forderung dar. Anforderungen entstehen aus Vielzahl von Quellen. Eine Aufforderung zur Bereitstellung einer Videoverknüpfung mit hoher Bandbreite kann als eine Anforderung betrachtet werden. Eine andere Quelle von Anforderungen sind angehäufte „Mikroflüssen" mit einer gemeinsamen Verkehrsklasse, die ein Kernnetz von einem Eingang zu einem Ausgang kreuzen, d. h. eine Anforderung kann einen einzigen Fluss mit hoher Bandbreite tragen oder aus vielen kleineren Flüssen gebildet sein. Eine Verkehrsklasse beschränkt die annehmbaren Routen, die verwendet werden können, um die Anforderung zu bedienen, und verwendet dabei Parameter wie z. B. Maximalverzögerung oder Maximalkosten. In manchen Fällen ist eine Anforderung nach Bandbreite, mit einer bestimmten QoS, im Zeitverlauf ausreichend vorhersagbar, sodass den MPLS-Wegen ein Verkehr zugewiesen werden kann, und dann die besten Routen für diese Wege bestimmt werden können, was Überlastung minimiert. Solange die Veränderlichkeit bei Bandbreitenforderungen nicht überhand nimmt, kann eine prozessentkoppelte (Offline-) Wegplatzierung, gekoppelt mit der Verwendung einer direkt prozessgekoppelten (Online-) Feinabstimmung, um die Belegungen bzw. Reservierungen während der „Laufzeit" einzustellen, eine nützliche Netzoptimierungsstrategie ergeben, wie dies z. B. in dem Weißbuch „Auto-bandwidth allocator for MPLS traffic engineering", Cisco. 2003 erörtert ist. Offline- und Online-Anforderungsoptimierung findet in der Regel aus unterschiedlichen Gründen und in unterschiedlichen Zeitmaßen statt, wobei jeweils unterschiedliche Mechanismen verwendet werden.
  • ATM-Netze wurden früher in Netzkernen verwendet, und es waren Offline-Werkzeuge entwickelt worden, um das Leiten von Wegen durch ATM-Netz-„Wolken" zu optimieren. Diese Werkzeuge wurden schnell angepasst, um die Offline-Optimierung von LSPs mit garantierter Bandbreite durch MPLS-Wolken zu unterstützen. In Anbetracht der kleinen Größe typischer Kernnetze war diese Optimierungsproblematik angemessen lenkbar. Die Hauptbeschränkung bestand darin, dass Anforderungen nicht geteilt werden dürfen. Sie stellen eine Sammlung angehäufter Flüsse dar, und es ist schwierig, dieselben über eine Mehrzahl von Wegen zu teilen, ohne dass dies eine unnötige Neuordnung der Pakete innerhalb der einzelnen Flüsse mit sich bringt.
  • Die Notwendigkeit eines Dienstgefälles zwischen Flüssen ist in der letzten Zeit immer wichtiger geworden, da die Betreiber darum kämpfen, profitable Einnahmeströme zu finden. Es gibt jedoch eine Begrenzung dessen, wie viel Dienstgefälle erzielt werden kann. Ein Verfahren ist die Verwendung von MPLS, um eine Mehrzahl von Wegen über dem Netz bereitzustellen und anschließend Wegen Flüsse basierend auf ihrer Verkehrsklasse zuzuweisen. Dies kann jedoch zusätzliche Komplexität in einen Teil des Netzes, der bereits stark beansprucht ist, einfließen lassen.
  • In letzter Zeit hat sich der MPLS-Bereich allmählich aus dem Kern in den Zugangsabschnitt von Netzen, die als Zugangsnetze bekannt sind, herausbewegt. Dies macht es möglich, dass Pakete klassifiziert und den LSPs zugewiesen werden, bevor Sie den Kern erreichen, und zwar unter Verwendung des Tunnelns, um den gewünschten Weg über den Kern auszuwählen und durch Minimieren der Signalisierung und des Zustands, die durch die Kernrouter unterstützt werden müssen. In komplexeren Szenarien erlaubt dies dem Betreiber, verschiedene Wege auch über die Zugangsnetze auszuwählen.
  • Dieser Trend hat etliche Folgen für jede Offline-Optimierung. Die Größe der MPLS-Wolke ist nicht länger auf die Größe des Kernnetzes beschränkt. Dies führt zu einem ernstzunehmenden Skalierungsproblem für jedes Optimierungswerkzeug (Optimierer), was die Entwicklung von Techniken erfordert, die die Problematik in etwas leichter Handzuhabendes zerlegen. Der in den Zugangsschichten entstehende Verkehr ist in der Regel weniger angehäuft als der im Kern und weist daher größere Fluktuationen auf. Dies macht es schwierig, LSPs zu identifizieren, die ausreichend beständig und stabil sind, um für das Offline-Leiten verwendet werden zu können.
  • Derartige Systeme sind in den folgenden Weißbüchern erläutert: „Traffic optimizer product overview", Cplane 2003; und „IP/MPLSView: Integrated network planning, configuration management & performance management", WANDL 2002; und ermöglichen es einem Betreiber, MPLS-Anforderungen über dem Kern eines Netzes zu optimieren. Sie gehen von einer vordefinierten Partition des Netzes in Zugangs- und Kernrouter aus, so dass die zu optimierenden Anforderungen anschließend auf den Kern beschränkt werden. Andere Anforderungen können in dem Zugangsnetz ihren Ursprung haben, wie z. B. diejenigen in einem Voice-Over-IP (VoIP-Netz). Es gibt etliche Gründe, weshalb die „Zugangsnetz"-Optimierungsproblematik anders als die entsprechende Kernproblematik behandelt werden sollte.
  • Ein Grund ist, dass die globale Optimierung einer großen Anzahl von Anforderungen, die sich über viele Router erstrecken, rechentechnisch sehr kostenintensiv ist. Diese Kosten erhöhen sich rapide mit der Erhöhung der Anzahl von Anforderungen und/oder Routern. Ein Zerlegen des Problems in eine Sammlung einfacher Probleme ist wesentlich, wenn realistische Optimierungszeiten erzielt werden sollen.
  • Ein zweiter Grund ist, dass in vielen Organisationen verschiedene Personengruppen für die Verwaltung der Kern- und Zugangsnetze verantwortlich sind. Selbst wenn die Anforderungen über die gesamte Wolke geleitet werden könnten, verhindern unter Umständen diese administrativen Teilungen einen Einsatz einer derartigen Lösung. Ein besserer Ansatz könnte es sein, die Zugangsanforderungen zu verwenden, um einen Satz von Forderungen für Kernanforderungen herzustellen, die nötig sind, um diesen Verkehr zu unterstützen. Diese Forderungen könnten anschließend an die die Optimierung des Kerns des Netzes handhabende Gruppe (die Kerngruppe), die die Platzierung dieser Anforderungen unter Verwendung herkömmlicher oder neuer Optimierungstechniken optimieren kann, übergeben werden. Die die Optimierung des Zugangsabschnitts des Netzes handhabende Gruppe (die Zugangsgruppe) würde die Lösungen dieser Forderungen verwenden, um LSPs zu bauen, um die ursprünglichen Anforderungen zu unterstützen. Die von einem Satz von Zugangsanforderungen auf den Kern projizierten Forderungen können sich in ihrem Charakter von einem herkömmlichen Satz von Kernanforderungen ziemlich unterscheiden, und erfordern damit eventuell andere Kernoptimierungswerkzeuge.
  • Ein weiterer Grund basiert auf der Tatsache, dass ein sprungweises Bereitstellen eines LSPs über die gesamte Route zwischen Eingang und Ausgang uneffizient sein kann. Jeder Router entlang des Wegs muss den Signalisierungsverkehr, der nötig ist, um den LSP aufrechtzuerhalten und um einen Zustand innerhalb des Routers zu reservieren, verarbeiten. Es ist möglicherweise effizienter, einen Satz von LSPs über den Kern zu definieren und diese dann als Tunnels für die dauerhaften LSPs, die in dem Zugangsnetz ihren Ursprung haben, zu verwenden. Es würden dann nur die Zugangsrouter einen Zustand, der für die Zugangs-LSPs spezifisch ist, speichern.
  • Eine Optimierung der Platzierung von Anforderungen über ein Netz ist rechentechnisch kostenintensiv. Es gibt zwei Hauptansätze, um diese Problematik anzugehen, die im Fachgebiet als Mehrgüterflussproblematik bekannt ist, und zwar eine Strategie auf der Basis einer Kante und eine Strategie auf der Basis eines Wegs, die beide ebenfalls im Fachgebiet bekannt sind.
  • Bei einer Strategie auf der Basis einer Kante versucht ein lineares Programm, den Betrag jeder Anforderung, die durch jede Verknüpfung in dem Netz getragen wird, zu berechnen. Im schlimmsten Fall, also bei einem Netz voll von Anforderungen, und einem hochgradig verbundenen Netzgraphen, gibt es 0(n2) Anforderungen und 0(n2) Kanten. Die Abhandlung „MPLS traffic engineering in OSPF networks – a combined approach", von Köhler, S. und Binzenhöfer, A., veröffentlicht in Tech. Rep. 304, Institut für Informatik, Universität von Würzburg, Februar 2003 enthält fünf Beispieltopologien ansteigender Größe. Es kann auch gezeigt werden, dass sich Rechenzeiten mit einem Ansteigen der Netzgröße schnell erhöhen. Eine Strategie auf der Basis einer Kante weist einen weiteren Nachteil auf, wenn die Anforderungen mit zusätzlichen QoS-Beschränkungen versehen sind. Die durch den Optimierer gefundenen Wege können möglicherweise die Beschränkungen, wie z. B. einer Verzögerung oder Sprunglänge, nicht erfüllen, was zu einer ungültigen Lösung führt. Versuche, diese Beschränkungen während des Optimierungsprozesses durchzusetzen, führen schnell zu schwer zu bewältigenden Modellen, selbst bei kleinen Netzen. Ein Ansatz auf der Basis einer Kante eignet sich deshalb am besten für Anforderungen mit liberalen QoS-Beschränkungen, wie z. B. Bestversuchsverkehr.
  • Ein anderer Ansatz kann sein, zuerst einen Satz von möglichen Wegen für jede Anforderung zu identifizieren, von denen jeder die QoS-Beschränkungen erfüllt. Anschließend kann ein lineares Programm verwendet werden, um zu berechnen, wie viel jeder Anforderung von jedem Weg getragen werden soll. Wenn nur eine kleine Anzahl von Wegen für eine Anforderung verwendet wird, kann die Größe des Optimierungsproblems auf ein lenkbares Maß reduziert werden. Die Kehrseite ist, dass die Lösung nur so gut wie die Auswahl der Wege ist. Wird die Anzahl der Wege erhöht, um die Möglichkeit zu erhöhen, dass eine optimale Lösung gefunden wird, steigen die Optimierungszeiten sehr schnell an, vor allem bei hochgradig verbunden Netzgraphen.
  • Bei Anforderungen mit strikten QoS-Eigenschaften ist es möglicherweise die beste Strategie, einen Ansatz auf der Basis eines Wegs zu verwenden und zu hoffen, dass die Anzahl der gültigen Wege für jede Anforderung möglichst klein ist. Steigt jedoch die Netzgröße an, ist schnell das Stadium erreicht, in dem die Optimierungszeiten ein nicht mehr lenkbares Maß erreicht haben. Der Fall, bei dem eine Mehrzahl von Wegen durch das Zugangsnetz vorliegt, schafft ebenso Schwierigkeiten für den Ansatz auf der Basis eines Wegs. Bei der Verwendung etwa eines A*Prunes, wie es in „A*prune: An algorithm for finding k shortest paths subject to multiple constraints, Liu, C. und Ramakrishnan, K. C. 2001, in INFOCOM. 743-749" offenbart ist, kann möglicherweise festgestellt werden, dass sich die meisten Wege einen gemeinsamen Teilweg über den Kern teilen. In vielen Fällen ist mehr Variabilität bei den Wegen erforderlich, um eine gute Lösung für die Optimierungsproblematik zu finden.
  • In einem typischen Backbone-Netz bzw. Hauptnetz können möglicherweise hundert oder mehr Knoten vorliegen. Selbst eine einzige Verkehrsklasse, mit Anforderungen zwischen jedem Paar von Vorrichtungen, erzeugt ein Problem, das direkt zu optimieren sehr teuer wäre. Es scheint offensichtlich, dass ein Bedarf besteht, eine Vorrichtung und ein oder mehrere Verfahren zur Vereinfachung der Anforderungsplatzierungsproblematik zu finden, sodass Probleme dieser Größenordnung oder größere angemessen angegangen werden können.
  • Es ist die Aufgabe der vorliegenden Erfindung, ein Verfahren zum Optimieren des Leitens von Anforderungen in einem Netz mit verbesserten Charakteristika bereitzustellen, das die Nachteile des Stands der Technik überwindet oder zumindest abschwächt.
  • Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 oder 8 gelöst.
  • Folglich liefert die Erfindung ein Verfahren zum Optimieren des Leitens von Anforderungen in einem Netz, das durch Verknüpfungen verbundene Knoten aufweist, wobei jede Anforderung einen Quellenknoten, einen Zielknoten und mindestens eine Anforderungsparameterforderung aufweist, wobei das Verfahren folgende Schritte aufweist:
    • a) Partitionieren von Knoten und Verknüpfungen eines Netzes in einen Satz von Clustern von Verknüpfungen und Knoten;
    • b) Auferlegen einer hierarchischen Baumstruktur auf den Satz von Clustern, derart, dass jedes beliebige Paar von Clustern einen eindeutigen Weg zwischen denselben über den nächstliegenden gemeinsamen Vorgänger aufweist.
    • c) Bestimmen von optimalen Wegen für alle Anforderungen, derart, dass die Wege mindestens eine Anforderungsparameterforderung erfüllen, durch Verarbeiten der Anforderungen in jedem Cluster erst nach dem Verarbeiten aller sich tiefer auf der gleichen Verzweigung der hierarchischen Baumstruktur befindenden Cluster, wobei das Verarbeiten jedes Clusters folgende Merkmale aufweist:
    • i. Teilen jeder Anforderung in eine Intra-Cluster-Anforderung, bei der sich der Quellen- und der Zielknoten in dem gleichen Cluster befinden, und, falls geeignet, eine Inter-Cluster-Anforderung, bei der sich der Quellen- und der Zielknoten in unterschiedlichen Clustern befinden.
    • ii. Bestimmen des optimalen Wegs für alle Intra-Cluster-Anforderungen, um das mindestens eine Anforderungsparameterforderung zu erfüllen; und
    • iii. Aufwärts-Übergeben aller Inter-Cluster-Anforderungen zu dem nächsten Cluster in der hierarchischen Baumstruktur, um in demselben als eine Anforderung verarbeitet zu werden.
  • Bei einem Ausführungsbeispiel umfasst das Verfahren ferner ein Übergeben von Informationen bezüglich der Netzkosten der Wege, die bereits zu dem nächsten Cluster in der hierarchischen Baumstruktur aufwärtsoptimiert worden sind, so dass die bereits aufgewendeten Netzkosten bei der Bestimmung des optimalen Wegs für Intra-Cluster-Anforderungen, die noch optimiert werden müssen, verwendet werden können.
  • Die Netzkosten können Kosten aufweisen, die im Hinblick auf eine bestimmte Anforderungsparameterforderung, wie z. B. eine Verkehrsklassenforderung, z. B. eine Maximalverzögerungsforderung, anfallen.
  • Die Bestimmung von optimalen Wegen für alle Anforderungen kann ein Bestimmen optimaler Wege basierend auf mindestens einer Netzparameterforderung, wie z. B. einer Verkehrsdichteforderung, umfassen.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • 1 ein schematisches Diagramm einer Vorrichtung zum Optimieren des Leitens von Anforderungen in einem Netz gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung;
  • 2 ein Flussdiagramm, das ein Verfahren zum Betreiben eines Netzstrukturanalysators, der in die in 1 gezeigte Vorrichtung eingegliedert ist, beschreibt;
  • 3 ein schematisches Diagramm eines Netzes;
  • 4 ein Diagramm, das die Ergebnisse einer Zweifach-Verbundene-Komponenten-Analyse, wie sie auf dem in 3 gezeigten Netz durchgeführt wird, veranschaulicht;
  • 5 ein Diagramm, das die Ergebnisse eines Anwendens vom Baumzusammenführregeln auf die Ergebnisse der 4 veranschaulicht;
  • 6 ein Diagramm, das die Ergebnisse eines Auferlegens einer hierarchischen Baumstruktur auf die Ergebnisse der 5 veranschaulicht;
  • 7 ein Diagramm, das ein einfaches Anforderungsersetzungs- und -Optimierungsbeispiel gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht;
  • 8 den Anforderungsteilungsprozess für einen Eingangscluster, gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung; und
  • 9 ein Flussdiagramm einer Anforderungsersetzungs- und -Optimierungsoperation der Vorrichtung der 1.
  • Somit ist es, wie im Vorhergehenden erläutert, erwünscht, das Leiten von Anforderungen einem Telekommunikationsnetz optimieren zu können, um die Kapazität des Netzes zu erhöhen. Die vorliegende Erfindung liefert in einem ersten Ausführungsbeispiel ein Verfahren und eine Vorrichtung zum Ausführen einer derartigen Optimierung durch Analysieren des Netzes und virtuelles Organisieren der Router oder Knoten in Cluster, wobei die Cluster anschließend hierarchisch organisiert werden, wobei sich der „zentrale Kern" des Netzes an der Wurzel dieser Hierarchie befindet.
  • Somit ist 1 ein schematisches Diagramm, das die Architektur eines Anforderungsoptimierers gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung zeigt. Der Anforderungsoptimierer 51 umfasst eine Eingangshandhabungseinrichtung 53, die, über eine Eingangsverknüpfung 52, Details der zu optimierenden Netzstruktur und Anforderungen erhält. Die Eingangshandhabungseinrichtung 53 übergibt die Netzstrukturdetails und die Anforderung über eine Verknüpfung 54 an einen Speicher 59. Ein Netzstrukturanalysator 55 ist über eine Zweiwegeverknüpfung 63 mit dem Speicher 59 gekoppelt und führt eine Analyse der Netzstruktur, wie es nachfolgend weiter beschrieben wird, durch. Eine Anforderungsverwaltungseinrichtung 57 ist über eine Zweiwegeverknüpfung 60 ebenfalls mit dem Speicher 59 und über eine Verknüpfung 56 mit dem Netzstrukturanalysator 55 gekoppelt. Eine Ausgangshandhabungseinrichtung 61 ist über eine Verknüpfung 58 mit dem Speicher 59 gekoppelt und ermöglicht externen Zugang zu den Ergebnissen über eine Ausgangsverknüpfung 62. Die Ausgangshandhabungseinrichtung 61 kann die Ergebnisse z. B. auf einer GUI (Graphical User Interface = graphische Benutzeroberfläche) bereitstellen. Der Anforderungsoptimierer 51 könnte auf einer Unix-Maschine implementiert sein, einem Fachmann ist jedoch bewusst, dass er auch in einer beliebigen anderen geeigneten Art und Weise implementiert sein kann. Die Eingangshandhabungseinrichtung 53 kann auch Benutzerkonfigurationseingaben aufnehmen, die nachfolgend erläutert werden.
  • 2 zeigt ein schematisches Flussdiagramm, das die allgemeine Betriebsweise des in den Anforderungsoptimierer der 1 eingegliederten Netzstrukturanalysators beginnend bei Punkt „S" und endend bei Punkt „F" beschreibt.
  • Somit wird im Allgemeinen zuerst die Netzstruktur analysiert, um die Knoten in Cluster zu partitionieren (siehe Element C1), woraufhin in Element C2 eine Baumhierarchie auf die Cluster auferlegt wird. Es ist offensichtlich, wie es nachfolgend noch genauer beschrieben sein wird, dass in einer hierarchischen Baumstruktur etliche Verzweigungen vorliegen, wobei jeder Cluster auf einer Verzweigung in der Richtung des Kerns mit einem einzigen „Stamm"-Cluster verbunden ist, wobei dieser „Stamm"-Cluster wiederum in der Richtung des Kerns mit einem weiteren „Grundstamm"-Cluster (falls erforderlich) verbunden ist, zurück bis zu dem Kern (oder „Wurzel")-Cluster selbst. Um alle Cluster zu optimieren, verläuft die Optimierung von den Nachfolgerclustern zu den Vorgängerclustern. Ein „Nachfolger"-Cluster wird als der Cluster angenommen, der in einem beliebigen Baum am weitesten von dem Kerncluster entfernt ist. Somit wird der jüngste nicht optimierte Cluster als erstes bestimmt (siehe Element C3) und optimiert, und anschließend wird ein anderer jüngster nicht optimierter Cluster bestimmt und optimiert. Auf diese Art wird kein Cluster optimiert bevor nicht alle seine „Nachfolger"-Cluster optimiert worden sind.
  • Eine Optimierung eines Clusters bringt ein Teilen irgendwelcher Inter-Cluster-Anforderungen, die entweder einen Startpunkt oder einen Zielpunkt in diesem Cluster aufweisen, in ein Paar von Anforderungen, von denen eine eine Intra-Cluster-Anforderung (bei der beide Endpunkte in diesem Cluster liegen) ist, und die andere eine Inter-Cluster-Anforderung (siehe Element C5) ist, mit sich. Die Intra-Cluster-Anforderungen werden optimiert und die Inter-Cluster-Anforderungen werden in der Baumhierarchie zu dem Stammcluster des bestimmten Clusters aufwärtsgereicht, wo sie als Anforderungen in diesem Cluster behandelt werden. Anschließend wird in Element C6 eine Bestimmung getroffen, ob alle Cluster optimiert worden sind. Ist dies der Fall, endet der Prozess an Punkt „F". Ist dies nicht der Fall, bewegt sich der Prozess zurück zu Element C3, wo ein ande rer jüngster nicht optimierter Cluster auf einer Verzweigung gefunden wird. Somit optimiert der Prozess alle Cluster von der Peripherie der hierarchischen Baumstruktur aus zum Kerncluster, bis alle Cluster optimiert sind.
  • Somit muss das Netz analysiert werden, um das Netz zu zerlegen, um die Knoten in Cluster zu partitionieren. Im Allgemeinen ist ein Cluster eine Gruppe von eng verbundenen Knoten und Verknüpfungen zwischen denselben, wobei der Cluster selbst mit einem anderen Cluster eng verbundener Knoten lose verbunden ist. Jeder Cluster ist mit einem oder mehreren Verbindungsknoten verbunden bzw. zusammengefügt, die diesen Cluster mit einem anderen Cluster verbinden, so dass ein Verbindungsknoten als Teil beider Cluster betrachtet werden kann. In manchen Fällen kann ein Cluster natürlich nur einen oder mehrere Verbindungsknoten aufweisen.
  • Um das Element C1 der 2 besser zu beschreiben, zeigt 3 ein schematisches Diagramm eines einfachen Netzes mit einer Mehrzahl von Knoten n1, n2, n3, ..., n26. Die Knoten n1, ..., n26 sind durch Verknüpfungen 13 auf verschiedene Arten zu einem Netz verbunden. Wie im Vorhergehenden erwähnt, wird zuerst das Netz analysiert, um die Knoten in Cluster von Knoten zu partitionieren. Ein beliebiger Typ einer geeigneten Clusteranalyse kann verwendet werden. Ein bekannter Typ einer Analyse, die verwendet werden kann, ist z. B. die Zweifach-Verbundene-Komponenten-Analyse. Einem Fachmann ist jedoch bewusst, dass eine beliebige geeignete Clusteranalysetechnik, wie z. B. Principal Components (Hauptkomponenten) stattdessen verwendet werden kann. 4 zeigt die Ergebnisse einer Zweifach-Verbundene-Komponenten-Analyse, wie sie auf dem Netz aus 3 durchgeführt wurde.
  • Um die Zweifach-Verbundene-Komponenten-Analyse durchzuführen, müssen die folgenden Regeln angewendet werden.
    • • ein Knoten n in einem verbundenen Netz ist ein Verbindungsknoten, wenn die Löschung des Knotens n aus dem Netz, zusammen mit der Löschung sämtlicher Verknüpfungen zu Konten n, das Netz in zwei oder mehr nicht-leere Abschnitte abtrennt;
    • • ein Netz (-Abschnitt) ist zweifach verbunden, wenn, und nur dann wenn, es keine Verbindungsknoten enthält;
    • • ein Netzabschnitt ist maximal zweifach verbunden, wenn, und nur dann wenn, das Netz keinen weiteren zweifach verbundenen Abschnitt, der alle Knoten und Verknüpfungen des maximal zweifach verbundenen Netzabschnitts enthält, aufweist. Ein maximal zweifach verbundener Netzabschnitt ist ein zweifach verbundener Cluster;
    • • zwei zweifach verbundene Cluster können höchstens einen gemeinsamen Knoten aufweisen, und dieser Knoten ist ein Verbindungsknoten; und
    • • Knoten mit Verknüpfungen von mehr als einem Cluster sind Verbindungsknoten.
  • Nach dem Durchführen der Zweifach-Verbundene-Komponenten-Analyse wird das Netz in sich daraus ergebene Cluster mit den Nummern C0, C1, C2, ..., C12, die durch in 4 gezeigte Verbindungsknoten verbunden sind, partitioniert. Somit enthält, wie es in Tabelle 1 gezeigt ist, jeder der Cluster einige der Knoten von dem Netz aus 3, die keine Verbindungsknoten sind, sowie auch die Verbindungsknoten, die einen Teil jedes der Cluster bilden, die sie verbinden (die Verbindungsknoten sind teilweise außerhalb jedes der Cluster, die sie verbinden, gezeigt, um die Sichtbarkeit zu erleichtern), wie folgt:
    Figure 00160001
    Tabelle 1 Ergebnisse der Zweifach-Verbundene-Komponenten-Analyse
  • Zum Beispiel enthält Cluster C0 die ursprünglichen Knoten n5, n6, n7, n8, n9, n10 und n11, während die Cluster C4 und C5 lediglich die Verbindungsknoten n10, n15 und n21 bzw. n4 und n5 aufweisen. Alle Knoten aus dem Netz der 3 liegen folglich entweder vollständig innerhalb eines Clusters oder sie sind ein Verbindungsknoten.
  • Obwohl es nicht erforderlich ist, ist es bevorzugt, diese Clusterstruktur durch ein Finden von Clustern, die zusammengeführt werden können, zu vereinfachen. Es ist offensichtlich, dass Knoten in einer Baumstruktur leicht handzuhaben sind, da es einen eindeutigen Weg zwischen beliebigen zwei Knoten in einem Baum gibt. Somit wäre ein Platzieren von Anforderungen gehaltlos, da es keine Wahl gibt. Da eine gewöhnliche Zweifach-Verbundene-Komponenten-Analyse Bäume in eine Hierarchie von Clustern teilt, ist es nicht immer effizient, diesen in eine große Anzahl kleiner Cluster zu teilen. Auch wenn es nicht erforderlich ist, mag es daher nützlich (effizient) sein, diese Ergebnisse weiter zu verarbeiten, um nach Clustern zu suchen, die aus Baumteil strukturen erzeugt wurden, und dieselben zu größeren Strukturen zusammenzuführen. Alternativ können auch die anderen Clustertechniken verwendet werden, die keinen derartigen weiteren Verarbeitungsschritt erforderlich machen. Zum Beispiel kann die Zweifach-Verbundene-Komponenten-Analyse dahingehend verändert werden, dass sie ein derartiges Zusammenführen in ihrem Verlauf durchführt. Die erste Baumclusterzusammenführregel kann wiederholt verwendet werden, um Geschwisterkomponenten zusammenzuführen.
  • 5 zeigt ein Diagramm, das die Ergebnisse des Anwendens der Baumzusammenführregeln auf die vorhergehenden Ergebnisse veranschaulicht. Bei dieser Figur wurde die Notierung „x ∪ y" verwendet, um den Cluster, der die Vereinigung der Cluster „x" und „y" enthält, zu bezeichnen. Zum Beispiel veranschaulicht C7 ∪ C8 die Vereinigung der Cluster „C7" und „C8".
  • Das in 5 gezeigte Clusterdiagramm liefert eine gewisse Vereinfachung hinsichtlich des Knotennetzes der 3, jedoch muss nach wie vor der Kerncluster, d. h. der Kern des Netzes identifiziert werden (dies bezieht sich auf Schritt C2 der 2). Der Kerncluster kann auf viele verschiedene Arten bestimmt werden. Z. B. erscheint es einleuchtend, den größten Cluster einschließlich seiner Verbindungsknoten auszuwählen, außer dass es bei einem sehr großen Netz mehrere große Knoten statt dem „echten" Kern geben kann. Ähnlich scheint eine Wahl des Clusters mit der kleinsten maximalen Weglänge zu den anderen Clustern einleuchtend, da dies die Möglichkeit erhöht, die Cluster im „Zentrum" des Baums zu finden. Jedoch besteht bei einem Netz mit vielen Sprüngen die Gefahr, dass ein solcher Ansatz entgleist, da ein Cluster in der Nähe des Endes einer derartigen Kette von Clustern potentiell eher unrichtigerweise als der Kerncluster identifiziert wird.
  • Eine sicherere Lösung ist es, den Cluster zu wählen, dessen durchschnittliche Weglänge zu allen anderen Clustern mini miert ist. Die durchschnittlichen Weglängen für das bezüglich der 5 dargestellte Beispiel sind in der Tabelle 2 dargestellt.
  • Figure 00180001
    Tabelle 2 Durchschnittliche Weglängen von jeder Komponente
  • In Tabelle 2 wurden die Sprünge von jedem Cluster zu dem nächsten Cluster gezählt, d. h., Verbindungsknoten wurden ignoriert. Ein Verwenden der Durchschnittslänge als das Maß würde dazu führen, dass entweder Cluster C0 oder Cluster C4 als die Wurzel gewählt wird. Da beide Cluster eine identische durchschnittliche Weglänge aufweisen, ist es unerheblich, welcher gewählt wird, und zum Zweck der folgenden Erörterung wird Cluster C0 als der Wurzel- oder Kerncluster gewählt. Ausgehend von dieser Wahl des Wurzelclusters können die Baumverknüpfungen geordnet werden werden, um das Konzept der Bewegung zu und weg von dem Kern einzubringen, wie es in 6 veranschaulicht ist, um eine hierarchische Baumstruktur bereitzustellen.
  • Wie es in 6 gezeigt ist, ist der Netzkern als über Verbindungsknoten mit den anderen Clustern verbundener Cluster C0 gezeigt. Wie bereits erläutert, gibt es nach wie vor die Möglichkeit, dass bei Verwendung dieses Verfahrens die „falsche" Wurzel ausgewählt werden könnte. Deshalb hebt der Anforderungsoptimierer den oder die Router hervor, von denen er „glaubt", dass sie den Kerncluster C0 bilden. Sollte dies inkorrekt sein, stellt der Anforderungsoptimierer einen Mechanismus bereit, mit dem der Benutzer einen alternativen Router auswählen kann. Der diesen Router umfassenden Cluster könnte dann als der Kerncluster behandelt werden.
  • Nachdem dem Netz nun eine hierarchische Baumstruktur auferlegt wurde (in einem virtuellen Sinn, da das tatsächliche Netz offensichtlich nicht beeinflusst wurde) kann nun der Anforderungsoptimierungsprozess stattfinden. Einfach ausgedrückt ist die Strategie, Anforderungen, die sich über mehr als ein Cluster in dem Netz mit einer Mehrzahl von anderen, die sich jeweils über ein einziges Cluster erstrecken, zu zerlegen. Ferner sollte die Lösung mit der Situation umgehen können, dass eine Mehrzahl von Clustern durchlaufen werden muss, bevor der Kern erreicht ist. Es sollte für jeden dieser Cluster eine Optimierung durchgeführt werden, da es nun eine Mehrzahl von Wegen über diese Cluster (einige dieser Cluster) gibt. Vor der ausführlichen Erläuterung dieses Optimierungsprozesses sei auf folgendes hingewiesen:
    • • Alle verwurzelten (d. h. hierarchischen) Bäume haben ein Cluster im Kern (Wurzel) und Cluster an den Blättern, wobei benachbarte Cluster durch Verbindungsknoten voneinander getrennt sind;
    • • Es gibt für jede Anforderung einen eindeutigen Weg über den Clusterbaum von dem Eingang zu dem Ausgang;
    • • eine einzelne Anforderung hat identische Eingangs- und Ausgangsknoten in dem Clusterbaum;
    • • eine Anforderung ist lokal, wenn der Weg für die Anforderung die Länge 1 hat, sonst ist er nicht-lokal. Die Länge darf 0 sein für den degenerierten Fall einer einzelnen Anforderung an einem Verbindungsknoten;
    • • der Eingangscluster einer Anforderung ist der erste Cluster auf dem Weg;
    • • der Ausgangscluster ist der letzte Cluster auf diesem Weg;
    • • eine Anforderung durchläuft ein Cluster C, wenn der Cluster der Weg für die Anforderung ist und weder der Eingangs- noch der Ausgangscluster ist;
    • • jedem Cluster C ist ein Satz von Anforderungen zugehörig, dessen Weg den Cluster C mit einschließt. Ebenso weist jeder Cluster einen Satz von Tochterclustern auf, die möglicherweise leer sind. Diese sind die Nachfolger des Clusters C in dem über einen einzigen Verbindungsknoten mit dem Cluster C verbundenen Baum.
  • Wenn es offensichtlich ist, dass alle einem Cluster zugehörigen Anforderungen örtlich begrenzt auf den Cluster sind, kann das Leiten dieser Anforderungen leicht über den Cluster optimiert werden, und zwar durch den Anforderungsoptimierer, ohne dass irgendwelche anderen Cluster berücksichtigt werden müssen. Werden Anforderungen vorgefunden, die nicht lokal sind, ist die Strategie folgende, diese in zwei Anforderungen zu zerlegen, von denen die eine lokal ist und die andere höher in dem hierarchischen Clusterbaum beginnt oder endet. Durch wiederholtes Anwenden dieses Prozesses sind sämtliche Anforderungen schließlich lokale Anforderungen irgendeines Clusters. Genauer gesagt, eine nicht-lokale Anforderung wird zu dem niedrigsten gemeinsamen Vorgänger der Eingangs- und Ausgangscluster in dem hierarchischen Clusterbaum „angehoben".
  • Der diesen Prozess komplizierende Faktor sind die QoS-Beschränkungen, mit der jede Anforderung versehen ist.
  • Diese definieren die annehmbaren Wege für die Anforderung. Wird eine Anforderung in eine solche zerlegt, die höher in dem Baum beginnt oder endet, müssen neue QoS-Beschränkungen berechnet werden, die die Kosten zum Erreichen des neuen Endpunktes von dem ursprünglichen in Betracht ziehen. Sind alle Knoten innerhalb eines Clusters baumartig miteinander verknüpft, könnte dies in einem einzigen Schritt erfolgen, da die Wege durch derartige Cluster eindeutig sind, und so wäre es überflüssig, die Kosten des Durchlaufens dieser Wege zu berechnen. In einem allgemeineren Fall kann jedoch eine Mehrzahl von Wegen durch jeden Cluster vorliegen, und dies führt zu der Frage, welche Kosten verwendet werden sollten.
  • Ein Beispiel ist in 7 veranschaulicht, in der der niedrigste gemeinsame Vorgänger einer Anforderung d, mit einem Eingangsknoten ni und einem Ausgangsknoten ne, der Cluster 33 (Ca) ist. Wie ersichtlich ist, gibt es somit eine eindeutige Sequenz von Clustern, die durch die Anforderung von dem Eingangsknoten ni in Cluster 33 durchlaufen werden muss, um Cluster ein 31 (Ca) zu erreichen. Es gibt natürlich eine weitere Sequenz von Clustern, die durchlaufen werden muss, um von dem Cluster 31 (Ca) den Eingangsknoten ni in Cluster 32 zu erreichen. Ferner tritt der Weg von dem Knoten ni zu dem Cluster 31 (Ca) über einen bestimmten Verbindungsknoten 36 (APe) in den Cluster 31 (Ca) ein und über einen anderen Verbindungsknoten 37 (APj) aus dem Cluster 31 (Ca) aus. Offensichtlich müssen diese beiden Verbindungsknoten 36 und 37 unterschiedlich sein, denn wären sie identisch, wäre der Cluster, der die linke Tochter des Clusters 36 bildet, der niedrigste gemeinsame Vorgänger, und nicht der Cluster 31 selbst. Eine ursprüngliche Anforderung 30 (d) ist zwischen den Clustern 33 und 32 gezeigt.
  • Um die Anforderung 30 zu optimieren, ist sie somit in Cluster 33 berücksichtigt und in eine lokale (Intra-Cluster-) Anforderung und eine Inter-Cluster-Anforderung geteilt. Der Prozess des Teilens von Anforderungen ist ferner in Bezug auf 8 beschrieben, die den Anforderungsteilungsprozess eines Eingangsclusters zeigt. Obwohl die Anforderungen an beiden oder entweder dem Eingangs- oder dem Ausgangscluster geteilt werden können, ist der Prozess im Weiteren nur bezüglich des Eingangsclusters beschrieben.
  • Somit kann die von dem Eingangsknoten ni in Cluster 33 stammende Anforderung d in zwei Teilanforderungen geteilt werden, und zwar in eine lokale Anforderung dI und der Rest in eine Inter-Cluster-Anforderung dr. Anschließend kann die lokale Anforderung dI zusammen mit allen anderen Intra-Cluster-Anforderungen in Cluster 33 optimiert werden, und die Inter-Cluster-Anforderung dr wird aufwärts an den nächsten Cluster 34 in den Baum übergeben. Natürlich ist die ursprüngliche Anforderung d mit einer QoS-Beschränkung versehen. Diese kann möglicherweise die erlaubbare Gesamtverzögerung entlang jedes beliebigen Weges, der verwendet wird, um den Verkehr für die Anforderung d zu tragen, beschränken. Selbstverständlich muss eine derartige Begrenzung zwischen der Teilanforderung dr und der Teilanforderung dI aufgeteilt werden. Je mehr Freiheit dem Leiten über die Anforderung dI gewährt wird, um so weniger wäre für das Leiten der Teilanforderung dr verfügbar und umgekehrt. Gibt es einen eindeutigen Weg von dem Eingangsknoten ni in Cluster 33 zu dem Verbindungsknoten 35 zwischen dem Cluster 33 und dem Cluster 34, dann gibt es keine Wahl. Die Kosten für die ursprüngliche Anforderung d sind durch diesen Weg festgelegt, und können somit einfach von den ursprünglichen Kosten abgezogen werden, um die QoS-Beschränkung, die für die Anforderung dr verwendet werden soll, zu bestimmen. In einem allgemeineren Fall gibt es jedoch viele Wege, die QoS-Beschränkungen zu teilen. Die durch den Anforderungsersetzungs- und -Optimierungsprozess verfolgte Strategie kann sein, zunächst ein Optimierungsproblem für den den Eingangsknoten ni enthaltenden Cluster 33 zu lösen. Möglicherweise wird Anforderungen, wie z. B. der Teilanforderung dI bevorzugte Behandlung gewährt, um die Wahrscheinlichkeit zu erhöhen, dass diesen die kürzest möglichen Routen durch den Cluster 33 zugewiesen werden. Sobald der Teilanforderung dI ein Weg zugewiesen worden ist, kann dieser verwendet werden, um die verbleibenden QoS-Quoten für die Teilanforderung dr zu berechnen. Eine ähnliche Strategie kann verfolgt werden, wenn die Richtungen umgekehrt sind und der Ausgangscluster für die ursprüngliche Anforderung d verarbeitet wird. Nachdem die für die Teilanforderung dr benötigte QoS-Beschränkung bestimmt wurde, kann ihre Platzierung an den Stammcluster 33 delegiert werden. Sobald der gesamte Baum optimiert worden ist, können die für die Teilanforderung dI und die Teilanforderung dr gewählten Wege verwendet werden, um den für die ursprüngliche Anforderung d zu verwendenden Weg zu bestimmen.
  • Es ist daher ersichtlich, dass einer Anforderung d entweder, in dem Fall einer lokalen Anforderung, ein Satz von Wegen zugewiesen wird, oder aber ein Paar von Teilanforderungen (dI, dr). Der Zweck des Anforderungsersetzungs- und -optimierungsprozesses ist es, die lokalen Anforderungen oder Teilanforderungen auf eine Art zu setzen bzw. einzustellen, die die QoS-Beschränkungen der Anforderungen erfüllt. Dies wird mit Bezug auf 9 noch ausführlicher beschrieben. Es sei jedoch darauf hingewiesen, dass es unter Umständen nicht ausreichend ist, einer Anforderung lediglich einen Satz von Wegen zuzuweisen; es muss auch bekannt sein, wie viel der Bandbreite jedem der Wege zugeordnet sein soll. Zur Erleichterung der Darlegung wird dieses Detail jedoch im Folgenden ignoriert.
  • 9 zeigt ein Flussdiagramm, das die Elemente des Anforderungsersetzungs- und -optimierungsprozesses beschreibt. Der Zweck des Anforderungsersetzungs- und -optimierungsprozesses ist es, Wege für alle Anforderungen in dem System zu definieren. Während der Optimierung eines Clusters werden einer lokalen Anforderung ein oder mehrere Wege zugeordnet. Im Fall einer nicht-lokalen Anforderung ist die Zuweisung ist die Zuweisung von Wegen implizit durch die Teilanforderungen dI, dr definiert. Anfänglich sind sämtliche Anforderungen unverarbeitet. Daher wird jeder Cluster verarbeitet, bis die Warteschlange leer ist. Anders ausgedrückt, ist eine Anforderung nicht lokal, muss sie ein Cluster über den eindeutigen Stammverbindungsknoten für diesen Cluster verlassen oder betreten.
  • Der Anforderungsersetzungs- und -Optimierungsprozess wird durch die folgenden Elemente, Bezug nehmend auf 9, bewerkstelligt, beginnend bei Element S:
    • B1: Bilde Warteschlange. Bilde Warteschlange Q sämtlicher zu verarbeitender Cluster durch Ausführen eines Nach-Ordnung-Durchlaufs des Clusterbaums, wobei die Verbindungsknoten übersprungen werden. Der Nach-Ordnung-Durchlauf ist ein Algorithmus zum Erforschen einer Baumstruktur, der jeden Cluster in dem Baum aufsucht, nachdem er dessen Töchter aufgesucht hat.
    • B2: Definiere Satz. Bilde Satz U, der der Satz sämtlicher unverarbeiteter Anforderungen sein soll.
    • B3: Ist Q leer? Die Warteschlange wird überprüft, um festzustellen, ob sie unverarbeitete Cluster aufweist. Ist Q nicht leer, fahre zu B4 fort. Ist sie leer, dann fahre zu B14 fort.
    • B4: Nimm ersten Cluster in Warteschlange. Der erste Cluster in der Warteschlange wird zum Verarbeiten genommen, und der Prozess geht zu B5.
    • B5: Sind alle Anforderungen lokal? Sind alle Anforderungen in dem Cluster, der verarbeitet wird, lokal? Falls ja, gehe zu B11. Falls nein, muss es einen Stammverbindungsknoten für den Cluster geben, und gehe zu Schritt B6.
    • B6: Nimm Erste Nicht-Lokale Anforderung. Die erste nicht-lokale Anforderung wird zum Verarbeiten genommen und der Prozess geht zu B7.
    • B7: Ist Cluster Ausgang? Der Cluster, der verarbeitet wird, ist entweder ein Eingangscluster oder ein Ausgangscluster für die in Betracht gezogene nicht-lokale Anforderung. Ist er ein Eingangscluster, geht der Prozess zu B8; falls nicht, zu B9.
    • B8: Erzeuge Lokale Teilanforderung. Ist er ein Eingangscluster, dann wird eine neue lokale Teilanforderung dI von dem Eingangsknoten ni zu dem Stammverbindungsknoten erzeugt, und der Prozess geht zu B10.
    • B9: Erzeuge Entfernte Teilanforderung. Ist er kein Eingangscluster, wird eine neue Entfernte Teilanforderung dr von dem Stammverbindungsknoten zu dem Ausgangsknoten ne erzeugt, und der Prozess geht zu B10. Es erfolgt ein Eintrag in die Abbildung der neuen Teilanforderungen. Beim Zufügen eines neuen Eintrags in eine Abbildung ist es wichtig, einen bereits bestehenden Eintrag von der Abbildung mit dem gleichen Schlüssel zu entfernen.
    • B10: Aktualisiere Satz. Der Satz U der zu verarbeitenden Anforderungen wird durch die Löschung der Anforderung, die soeben in zwei geteilt wurde, aktualisiert, und die neue Entfernte Teilanforderung, d. h. die Inter-Cluster-Teilanforderung, wird dem Satz hinzugefügt. Der Prozess kehrt dann zu B5 zurück, um zu überprüfen, ob es noch weitere nicht-lokale Anforderungen gibt, die verarbeitet werden müssen.
    • B11: Berechne Satz von Wegen. An diesem Punkt sind alle Anforderungen in dem Cluster, das verarbeitet wird, lokal, so dass für jede von denselben ein Satz von Wegen berechnet werden kann. Im allgemeinen Fall muss ein Optimierungsproblem gelöst werden. Die Kosten des Leitens der lokalen Anforderungen müssen minimiert werden, um den entsprechenden fortfahrenden Teilanforderungen die maximale Leitfreiheit zu gewähren. Eine Optimierungsstrategie auf der Basis eines Wegs wird nun verwendet und dadurch begonnen, dass der kürzeste „Gewichtungs"-Weg (oder -Wege) den lokalen Anforderungen zugewiesen wird, und ein vollständigerer Satz von Wegen den verbleibenden Anforderungen. Wenn ein einzelnes Attribut in Betracht gezogen wird, wie z. B. der Sprungzählwert, bedeutet dies, dass die Wege in Bezug auf die kürzeste Weglänge angewendet werden. Wäre die Gewichtung Kosten, würden die Wege nach den geringsten Kosten angewendet werden. Wenn nicht alle Anforderungen erfüllt werden können, muss der Satz von Wegen erweitert werden und der Anforderungsersetzungs- und -optimierungsprozess wird wiederholt. Wenn es der Anforderungsersetzungs- und -optimierungsprozess erlaubt, dass einer Anforderung eine Mehrzahl von Wegen zugewiesen wird, ist die Flexibilität auf die nicht-lokalen Anforderungen beschränkt. Kann eine Anforderung nicht erfüllt werden, z. B. weil die QoS-Metrik zu restriktiv ist, dann ist der Satz von Wegen leer.
    • B12: Aktualisiere Entfernte Teilanforderungen. Die entfernten (nicht-lokalen) Teilanforderungen, die in B9 erzeugt wurden, werden nun mit den gleichen Eigenschaften wie die ursprüngliche Anforderung aktualisiert, außer dass die QoS-Beschränkung um die Gewichtung des der entsprechenden lokalen Teilanforderung dI zugeordneten Wegs reduziert ist. Der Prozess geht dann zurück zu B3, um zu überprüfen, ob es noch weitere unverarbeitete Cluster gibt.
    • B13: Wegbildung. Wenn alle Cluster verarbeitet wurden, d. h. wenn die Warteschlange leer ist, geht der Prozess zu B13. Da jetzt sämtliche Anforderungen opti miert worden sind, können Wege für alle Anforderungen durch alle Cluster gebildet werden.
  • Es sei darauf hingewiesen, dass der Anforderungsersetzungs- und -optimierungsprozess, wie er im Vorhergehenden beschrieben ist, möglicherweise sequentieller ist als er sein muss. Statt einer Warteschlange, könnte ein Cluster parallel mit anderen Clustern in dem Clusterbaum verarbeitet werden.
  • Im idealen Fall sollten Anforderungen gemeinsame Eigenschaften hinzugefügt werden, wenn sich der Anforderungsersetzungs- und -optimierungsprozess in dem Clusterbaum aufwärts bewegt. Wenn z. B. eine Anforderung zu dem Stammcluster hinzugeführt wird, kann es bereits eine Anforderung mit einer kompatiblen Verkehrsklasse geben, die sich zu demselben Ziel bewegt (oder die von demselben Ursprung kommt). In diesem Fall muss die Bandbreitenforderung der bestehenden Anforderung unter Umständen nur erhöht werden, anstatt die zweite Anforderung hinzuzufügen. Die Reihenfolge, in der die Cluster verarbeitet werden, kann ebenfalls eine Auswirkung auf das Potential für eine derartige Anhäufung haben. Es wird angenommen, dass Durchlaufreihenfolgen, die versuchen, die Tunnelerzeugung zu optimieren, gleichzeitig die Wahrscheinlichkeit von Anforderungsanhäufung erhöhen können.
  • Viele Netzbetreiber teilen die Verwaltung des Netzes über eine Mehrzahl organisatorischer Bereiche. Es ist wichtig, die Cluster nach jeder Organisation auszurichten, so dass der Anforderungsersetzungs- und -optimierungsprozess nicht versucht, eine Sammlung von Routern, die einer Mehrzahl von organisatorischen Gruppen unterstellt sind, zu optimieren. Es muss beachtet werden, dass dies nicht impliziert, dass nur so viele Cluster hergestellt werden sollten, wie es organisatorische Einheiten gibt, sondern dass sichergestellt werden muss, dass keine Cluster über derartigen Einheiten geteilt werden.
  • Clusterzusammenführung wurde schon in früheren Abschnitten erörtert, und Clusterteilung wurde soeben erörtert. In Anbetracht eines vordefinierten Gruppierens von Routern wird es erforderlich sein, das Zusammenführen und Teilen von durch die Zweifach-Verbundene-Cluster-Analyse identifizierten Clustern zu automatisieren, so dass die sich ergebenden Cluster dieses Gruppieren beachten. Der Anforderungsersetzungs- und -Optimierungsalgorithmus des im Vorhergehenden beschriebenen Ausführungsbeispiels versucht, sämtliche Anforderungen zu platzieren. Ist das Netz jedoch entlang administrativer Bereiche partitioniert, kann es nötig sein, diesen Ansatz zu verbessern. Es kann z. B. angenommen werden, dass das Zugangsnetz durch eine Zugangsgruppe verwaltet wird. Die Zugangsgruppe würde den Anforderungsersetzungs- und -optimierungsprozess ausführen, bis die Anforderungen zu dem Kerncluster oder den Kernclustern angehoben worden wären. Die resultierenden Anforderungen würden der Kerngruppe als ein Satz von Forderungen präsentiert werden. Diese würden schließlich durch einen Satz von LSPs erfüllt werden, die anschließend zurück in den Anforderungsersetzungs- und -optimierungsprozess gespeist werden würden, der dann die Bereitstellung oder Platzierung der Zugangs-LSPs vollenden würde. In einigen Szenarien, wie z. B. im Fall des VoIP-Gateways bzw. -netzübergangs, kann es annehmbar sein, dass diese Kernanforderungsforderungen durch eine Sammlung von LSPs erfüllt werden, um die Belastung zu verteilen.
  • Somit können, wie im Vorhergehenden erklärt, verschiedene Algorithmen verwendet werden, um die Netztopologien auf eine Art zu zerlegen, die die Optimierung der Anforderungsplatzierung vereinfacht. Zugangsbäume sind leicht zu kennzeichnen und mögen in manchen Fällen ausreichen, um ein lenkbares Problem zu ergeben. Ein Ansatz, der auf der Identifikation von zweifach verbundenen Clustern basiert, wurde für jene Beispiele entwickelt, bei denen die Zugangselemente des Netzes komplexer aufgebaut sind. Der Optimie rungsprozess ist in diesem Fall komplizierter, erlaubt es jedoch, eine weitaus reichhaltigere Sammlung von Netzen anzugehen. Um die Cluster nach den administrativen Bereichen auszurichten, und um individuelle Komponenten zu teilen, die noch immer zu groß sind, um als Ganzes optimiert zu werden, wurden virtuelle Verbindungsknoten eingeführt. Natürlich kann es auch immer Netze geben, bei denen keine dieser Techniken ausreichend ist.
  • Die im Vorhergehenden beschriebene Optimierungsstrategie basiert auf der Ausnutzung von Engpassknoten, die entweder auf natürliche Weise in dem Netz vorkommen, oder künstlich erzeugt wurden, um den Zerlegungsprozess zu unterstützen. Dies stellt zu einem offensichtlichen Konflikt dar, da Engpässe aus Sicht des Wegschutzes unerwünscht sind. Es kann passieren, dass eine Mehrzahl von Knoten in Gruppen und Verknüpfungen in virtuelle Knoten gruppiert werden müssen, was Redundanz auf physikalischer Ebene erlauben und gleichzeitig dem Anforderungsoptimierungs- und- ersetzungsprozess als ein einzelnes Objekt erscheinen muss. Die hierarchische Struktur kann unter Umständen dafür verwendet werden, um auch die Wegwiederherstellungsproblematik zu vereinfachen.
  • Während es die Einführung von virtuellen Netzknoten erlauben kann, dass ein Mehrfachzugangsnetz von dem Netzkern entkoppelt wird, verkompliziert dies stets die Nachoptimierungsverarbeitung, z. B., wenn eine Anforderung, die in dem Mehrfachzugangsnetz ihren Ursprung hat, durch eine Anforderung ersetzt wird, die an dem Netzknoten ihren Ursprung hat. Weist das Mehrfachzugangsnetz eine Mehrzahl von Eintrittspunkten in den Kern auf, wird dies dazu führen, dass der Netzknoten am Ende während des Optimierungsprozesses als Teil des Kerns behandelt wird. Der Anforderungsersetzungs- und -Optimierungsprozess berechnet einen oder mehrere Wege, um die Anforderung zu tragen, die ihren Ursprung an dem Netzknoten hat. Dieser Knoten existiert jedoch in Realität nicht, so dass diese Wege nicht einfach auf die LSPs abgebildet werden können. Der erste Sprung in jedem dieser Wege wird zu einem tatsächlichen Router innerhalb des Kerns führen, und so kann dieser Router als der Ausgang für den dem Weg zugewiesenen LSP verwendet werden. Die ursprünglichen Anforderungen würden durch diese LSPs tunneln, genau wie in dem Punkt-zu-Punkt-Fall.
  • Das im Vorhergehenden beschriebene Ausführungsbeispiel stellt eine Lösung der Problematik des Optimierens von Anforderungen, im Besonderen bei komplexen Zugangsnetzen, bereit. Die Vorrichtung und das Verfahren des Ausführungsbeispiels sind in der Lage, von diesen Anforderungen einen Satz von Forderungen für LSPs herzuleiten, die den Kern kreuzen. Nachdem die Kern-LSPs optimiert worden sind, können diese verwendet werden, die Zugangs-LSPs zu leiten.
  • Es sei darauf hingewiesen, dass, obwohl ein bestimmtes Ausführungsbeispiel der Erfindung ausführlich beschrieben wurde, verschiedene Modifizierungen und Verbesserungen durch einen Fachmann vorgenommen werden können, ohne dass der Schutzbereich der vorliegenden Erfindung verlassen wird.

Claims (8)

  1. Verfahren zum Optimieren des Leitens von Anforderungen in einem Netz, das durch Verknüpfungen verbundene Knoten aufweist, wobei jede Anforderung einen Quellenknoten, einen Zielknoten und mindestens ein Anforderungsparameterforderung aufweist, wobei das Verfahren folgende Schritte aufweist: a) Partitionieren von Knoten und Verknüpfungen eines Netzes in einen Satz von Clustern von Verknüpfungen und Knoten; b) Auferlegen einer hierarchischen Baumstruktur auf den Satz von Clustern, derart, dass jedes beliebige Paar von Clustern einen eindeutigen Weg zwischen ihnen über einen nächstliegenden gemeinsamen Vorgänger aufweist; c) Bestimmen von optimalen Wegen für alle Anforderungen, derart, dass die Wege das mindestens eine Anforderungsparameterforderung erfüllen durch Verarbeiten der Anforderungen in jedem Cluster erst, nachdem alle Nachfolgercluster in der hierarchischen Baumstruktur verarbeitet worden sind, wobei das Verarbeiten bei jedem Cluster folgende Schritte aufweist: i. Teilen jeder Anforderung in eine Intra-Cluster-Anforderung, bei der der Quellen- und der Zielknoten sich in dem gleichen Cluster befinden, und, falls angebracht, eine Inter-Cluster-Anforderung, bei der sich der Quellen- und der Zielknoten in unterschiedlichen Clustern befinden. ii. Bestimmen von optimalen Wegen für alle Intra-Cluster-Anforderungen, um das mindes tens eine Anforderungsparameterforderung zu erfüllen; und iii. Übergeben aller Inter-Cluster-Anforderungen aufwärts zu dem nächsten Cluster in der hierarchischen Baumstruktur, um in demselben als eine Anforderung verarbeitet zu werden.
  2. Verfahren zum Optimieren des Leitens von Anforderungen in einem Netz gemäß Anspruch 1, das ferner ein Übergeben von Informationen bezüglich der Netzkosten der Wege, die bereits optimiert worden sind, aufwärts zu dem nächsten Cluster in der hierarchischen Baumstruktur aufweist, so dass die bereits verwendeten Netzkosten verwendet werden können, wenn die optimalen Wege für noch zu optimierendere Intra-Cluster-Anforderungen bestimmt werden.
  3. Verfahren zum Optimieren des Leitens von Anforderungen in einem Netz gemäß Anspruch 2, bei dem die Netzkosten Kosten, die hinsichtlich einer bestimmten Anforderungsparameterforderung entstanden sind, aufweisen.
  4. Verfahren zum Optimieren des Leitens von Anforderungen in einem Netz gemäß einem der vorhergehenden Ansprüche, bei dem die mindestens eine Anforderungsparameterforderung eine Maximalverzögerungsforderung aufweist.
  5. Verfahren zum Optimieren des Leitens von Anforderungen in einem Netz gemäß einem der vorhergehenden Ansprüche, bei dem die mindestens eine Anforderungsparameterforderung eine Verkehrsklassenforderung aufweist.
  6. Verfahren zum Optimieren des Leitens der Anforderungen in einem Netz gemäß einem der vorhergehenden Ansprüche, bei dem die Bestimmung von optimalen Wegen für alle Anforderungen ein Bestimmen von optimalen Wegen basierend auf mindestes einer Netzparameterforderung umfasst.
  7. Verfahren zum Optimieren des Leitens von Anforderungen in einem Netz gemäß Anspruch 6, bei dem die mindestens eine Netzparameterforderung eine Verkehrsdichteforderung aufweist.
  8. Verfahren zum Optimieren des Leitens von Anforderungen in einem Netz, das durch Verknüpfungen verbundene Knoten aufweist, im Wesentlichen wie hierin im Vorhergehenden beschrieben, mit Bezug auf die beiliegenden Zeichnungen.
DE102007011143A 2006-03-09 2007-03-07 Ein Verfahren zum Optimieren des Leitens von Anforderungen in einem Netz Withdrawn DE102007011143A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB06047468 2006-03-09
GB0604746A GB2435980A (en) 2006-03-09 2006-03-09 Optimizing routing of demands in a network

Publications (1)

Publication Number Publication Date
DE102007011143A1 true DE102007011143A1 (de) 2007-09-13

Family

ID=36241271

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102007011143A Withdrawn DE102007011143A1 (de) 2006-03-09 2007-03-07 Ein Verfahren zum Optimieren des Leitens von Anforderungen in einem Netz

Country Status (4)

Country Link
US (1) US20070211637A1 (de)
CN (1) CN101035069A (de)
DE (1) DE102007011143A1 (de)
GB (1) GB2435980A (de)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8005014B2 (en) * 2007-04-27 2011-08-23 Hewlett-Packard Development Company, L.P. Method of choosing nodes in a multi-network
US9420513B1 (en) * 2007-06-22 2016-08-16 Hewlett Packard Enterprise Development Lp Clustering approach to estimating a network metric for nodes
US8990397B2 (en) * 2009-07-31 2015-03-24 Ntt Docomo, Inc. Resource allocation protocol for a virtualized infrastructure with reliability guarantees
US9286047B1 (en) 2013-02-13 2016-03-15 Cisco Technology, Inc. Deployment and upgrade of network devices in a network environment
US10204149B1 (en) * 2015-01-13 2019-02-12 Servicenow, Inc. Apparatus and method providing flexible hierarchies in database applications
US10374904B2 (en) 2015-05-15 2019-08-06 Cisco Technology, Inc. Diagnostic network visualization
US9800497B2 (en) 2015-05-27 2017-10-24 Cisco Technology, Inc. Operations, administration and management (OAM) in overlay data center environments
US10033766B2 (en) 2015-06-05 2018-07-24 Cisco Technology, Inc. Policy-driven compliance
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
US10089099B2 (en) 2015-06-05 2018-10-02 Cisco Technology, Inc. Automatic software upgrade
US9967158B2 (en) 2015-06-05 2018-05-08 Cisco Technology, Inc. Interactive hierarchical network chord diagram for application dependency mapping
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
WO2017187358A1 (en) * 2016-04-27 2017-11-02 Centre For Development Of Telematics System and method for network traffic slicing
US10171357B2 (en) 2016-05-27 2019-01-01 Cisco Technology, Inc. Techniques for managing software defined networking controller in-band communications in a data center network
US10931629B2 (en) 2016-05-27 2021-02-23 Cisco Technology, Inc. Techniques for managing software defined networking controller in-band communications in a data center network
US10289438B2 (en) 2016-06-16 2019-05-14 Cisco Technology, Inc. Techniques for coordination of application components deployed on distributed virtual machines
US10708183B2 (en) 2016-07-21 2020-07-07 Cisco Technology, Inc. System and method of providing segment routing as a service
US10972388B2 (en) 2016-11-22 2021-04-06 Cisco Technology, Inc. Federated microburst detection
US10708152B2 (en) 2017-03-23 2020-07-07 Cisco Technology, Inc. Predicting application and network performance
US10523512B2 (en) 2017-03-24 2019-12-31 Cisco Technology, Inc. Network agent for generating platform specific network policies
US10764141B2 (en) 2017-03-27 2020-09-01 Cisco Technology, Inc. Network agent for reporting to a network policy system
US10250446B2 (en) 2017-03-27 2019-04-02 Cisco Technology, Inc. Distributed policy store
US10594560B2 (en) 2017-03-27 2020-03-17 Cisco Technology, Inc. Intent driven network policy platform
US10873794B2 (en) 2017-03-28 2020-12-22 Cisco Technology, Inc. Flowlet resolution for application performance monitoring and management
US10680887B2 (en) 2017-07-21 2020-06-09 Cisco Technology, Inc. Remote device status audit and recovery
US10554501B2 (en) 2017-10-23 2020-02-04 Cisco Technology, Inc. Network migration assistant
US10523541B2 (en) 2017-10-25 2019-12-31 Cisco Technology, Inc. Federated network and application data analytics platform
US10594542B2 (en) 2017-10-27 2020-03-17 Cisco Technology, Inc. System and method for network root cause analysis
US11190437B2 (en) * 2017-12-21 2021-11-30 Telefonaktiebolaget Lm Ericsson (Publ) Methods, apparatus and computer programs for allocating traffic in a telecommunications network
US11233821B2 (en) 2018-01-04 2022-01-25 Cisco Technology, Inc. Network intrusion counter-intelligence
US11765046B1 (en) 2018-01-11 2023-09-19 Cisco Technology, Inc. Endpoint cluster assignment and query generation
US10917438B2 (en) 2018-01-25 2021-02-09 Cisco Technology, Inc. Secure publishing for policy updates
US10798015B2 (en) 2018-01-25 2020-10-06 Cisco Technology, Inc. Discovery of middleboxes using traffic flow stitching
US10826803B2 (en) 2018-01-25 2020-11-03 Cisco Technology, Inc. Mechanism for facilitating efficient policy updates
US10873593B2 (en) 2018-01-25 2020-12-22 Cisco Technology, Inc. Mechanism for identifying differences between network snapshots
US10574575B2 (en) 2018-01-25 2020-02-25 Cisco Technology, Inc. Network flow stitching using middle box flow stitching
US10999149B2 (en) 2018-01-25 2021-05-04 Cisco Technology, Inc. Automatic configuration discovery based on traffic flow data
US11128700B2 (en) 2018-01-26 2021-09-21 Cisco Technology, Inc. Load balancing configuration based on traffic flow telemetry

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020059404A1 (en) * 2000-03-20 2002-05-16 Schaaf Richard W. Organizing and combining a hierarchy of configuration parameters to produce an entity profile for an entity associated with a communications network
GB2367970B (en) * 2000-10-09 2004-01-21 Ericsson Telefon Ab L M Network topologies
WO2003058868A2 (en) * 2002-01-04 2003-07-17 Einfinitus Technologies, Inc. Dynamic route selection for label switched paths in communication networks

Also Published As

Publication number Publication date
US20070211637A1 (en) 2007-09-13
CN101035069A (zh) 2007-09-12
GB0604746D0 (en) 2006-04-19
GB2435980A (en) 2007-09-12

Similar Documents

Publication Publication Date Title
DE102007011143A1 (de) Ein Verfahren zum Optimieren des Leitens von Anforderungen in einem Netz
DE60214667T2 (de) Wegbestimmung in einem datennetzwerk
DE69924345T2 (de) Verfahren und Netzwerkknoten zum verbesserten Leitweglenkungs- und Reservierungsprotokoll
DE102013209118B4 (de) Beibehaltung und Änderung von Netzwerküberlastungsbenachrichtigungen während der Übertragung von Netzwerkdaten zwischen einem physischen Netzwerk und einem virtuellen Netzwerk
DE60104876T2 (de) Prüfung der Konfiguration einer Firewall
DE60102367T2 (de) Netzoptimierungsmethode
DE69730392T2 (de) Verbindungsmatrix basierte Multikosten-Leitweglengkung
DE60024228T2 (de) Dynamische zuweisung verkehrsklassen an einer prioritätswarteschlange in einer paketbeförderungsvorrichtung
DE69835261T2 (de) Mehrweg-Leitweglenkung
DE69931841T2 (de) Verfahren zur Ressourcenallokation und zur Leitweglenkung in mehrdienstlichen privaten virtuellen Netzen
DE69533535T2 (de) Verfahren zur effizienten aggregation von verbindungsmetriken
DE60216534T2 (de) Vorrichtung und Verfahren zur Bandbreitenverwaltung, dazugehöriges Rechnerprogramm, und Aufzeichnungsmedium, welches das Programm gespeichert hat
DE602004010976T2 (de) Datenstruktur für bereichspezifizierte Algorithmen
DE602004005785T2 (de) Dynamische Leitweglenkung in einem inhaltbasierten verteilten Netzwerk
DE602004010526T2 (de) Verfahren und vorrichtung zum adaptiven routen auf strömungsbasis in mehrstufigen datennetzwerken
DE60022151T2 (de) Auf Messungen basierendes Verwaltungsverfahren für paketorientierte Kommunikationsnetzwerke
DE60213509T2 (de) Verfahren und Vorrichtung zur Verbesserung der Verfügbarkeit von Wegeleitsystemen mit mehrwege-Kostengleichheit
DE60127120T2 (de) Verfahren und netzwerk zur ausbreitung von statusinformationen
DE60222656T2 (de) Vorrichtung und verfahren für effizientes multicasting von datenpaketen
WO2003030468A2 (de) Verfahren und vorrichtung zur anpassung von label-switched-pfaden in paketnetzen
DE60302045T2 (de) Verfahren und System zur geordneten dynamischen Verteilung von Paketströmen zwischen Netzwerkprozessoren
DE602005005327T2 (de) Verfahren und Steuerungsebene zur Bereitstellung von Verbindungen in einem mehrschichtigen Transportnetz
DE112011105843T5 (de) Pfaddiversität in einem verbindungsorientierten Netzwerk
DE202014010920U1 (de) Datenverkehrsgestaltung für groß angelegte Datencenter-Netze
DE60130844T2 (de) Autonomes OSPF-System mit einem in zwei Teilbereiche getrennten Hauptnetz

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: AGILENT TECHNOLOGIES, INC. (N.D.GES.D. STAATES, US

8139 Disposal/non-payment of the annual fee