DE602005000703T2 - Wegewahl für Netze mit Inhaltsfilterung - Google Patents

Wegewahl für Netze mit Inhaltsfilterung Download PDF

Info

Publication number
DE602005000703T2
DE602005000703T2 DE602005000703T DE602005000703T DE602005000703T2 DE 602005000703 T2 DE602005000703 T2 DE 602005000703T2 DE 602005000703 T DE602005000703 T DE 602005000703T DE 602005000703 T DE602005000703 T DE 602005000703T DE 602005000703 T2 DE602005000703 T2 DE 602005000703T2
Authority
DE
Germany
Prior art keywords
node
nodes
routing
network
content filtering
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.)
Active
Application number
DE602005000703T
Other languages
English (en)
Other versions
DE602005000703D1 (de
Inventor
Muralidharan S. Monmouth Kodialam
Tirunell V. Morganville Lakshman
Sudipta Aberdeen Sengupta
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.)
Nokia of America Corp
Original Assignee
Lucent 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 Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of DE602005000703D1 publication Critical patent/DE602005000703D1/de
Application granted granted Critical
Publication of DE602005000703T2 publication Critical patent/DE602005000703T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • ALLGEMEINER STAND DER TECHNIK
  • GEBIET DER ERFINDUNG
  • Die Erfindung betrifft die Wegewahl in einem Telekommunikationsnetz und insbesondere die Wegewahl mit Zuordnung von Knoten, die Inhaltsfilterung im Netz bereitstellen.
  • BESCHREIBUNG DES STANDES DER TECHNIK
  • In einem Kommunikationsverbund bauen die Benutzer Verbindungen zwischen einem Quellknoten und einem Zielknoten mit einem Strom von Daten, der über das Netz mittels eines Netzwegs übertragen wird, auf. Die Daten von einer oder mehr Verbindungen stellen den Verkehr über das Netz dar. Optische Netze sind typischerweise durch eine Menge optischer Switches (das heißt Knoten), die über optische Links verbunden sind, gekennzeichnet. Paketnetze (die anhand optischer Netze implementiert werden können) sind typischerweise durch Router gekennzeichnet (die auch als Knoten angesehen werden), welche durch elektrische oder optische Links verbunden sind. Ein Netzweg für eine Verbindung zwischen einem gegebenen Quell-Ziel(knoten)paar ist durch eine Menge von Knoten (das Quell- und Zielknotenpaar und beliebige Zwischenknoten) definiert, die durch eine Menge von Links verbunden sind, welche an die den Datenstrom oder Fluss der Verbindung transportierenden Knoten gekoppelt sind. Jeder Knoten und jeder Link hat eine Kapazität, die dem Verkehr, den er transportieren mag, entspricht, und die "Kapazität" kann ein allgemeiner Begriff sein, der die Bandbreite, effektive Bandbreite, Linkgüte oder eine ähnliche Link-Übermittlungscharakteristik beschreibt.
  • Jeder Link eines Netzes hat eine entsprechende Kapazität zur Übertragung von Daten, wobei die Link- Kapazität typischerweise als Link-Charakteristik ausgedrückt wird, wie zum Beispiel die Bandbreite oder effektive Bandbreite (eine Größe, die die Übermittlungsanforderungen wie Puffer und/oder Übermittlungsverzug, Paketverlust und Dienstgüte-Garantien berücksichtigt).
  • Paketnetze sind infolge der Verbreitung von Computerviren und -würmern zunehmend böswilligen Angriffen ausgesetzt. Die Zunahme der sich schnell verbreitenden Angriffe hat einen Bedarf für netzbasierte Mechanismen zur Sperrung oder Kontrolle dieser Angriffe aufgezeigt. Die netzbasierte Eingrenzung kann zur effektiven Erhöhung anderer Verteidigungsmechanismen wie beispielsweise solche, die eine Reduzierung der Host-Gefährdung anstreben oder den Schaden auf infizierten Hosts begrenzen, genutzt werden. Die Ad-hoc-Eingrenzung, die verschiedene Mechanismen wie die Inhaltsfilterung der Nachrichten für Code-Red-Signaturen, Blacklist-Adressen und Blockierung des Zugriffs auf spezifische Ports nutzt, wird typischerweise zum Schutz individueller Netze eingesetzt. von den üblichen Eingrenzungsverfahren ist die Inhaltsfilterung zu bevorzugen.
  • Die Inhaltsfilterung an stark benutzten Punkten des Internets, wie beispielsweise den zehn Internet-Dienstanbietern (ISPs, Internet Service Provider) mit der besten Bewertung ist im allgemeinen leistungsfähiger als die Inhaltsfilterung auf individueller Kundennetzebene. Mechanismen zur Inhaltsfilterung sind schneller aktivierbar als andere auf Hosts basierende Systeme, da Wurmsignaturen (die von Mechanismen zur Inhaltsfilterung eingesetzt werden) schneller identifiziert und erzeugt werden können als wie sich die Mechanismen begreifen lassen, die zur Verbreitung eines neuen Wurms benutzt werden. Sobald eine Wurmsignatur identifiziert wurde, kann der netzbasierte Mechanismus zur Inhaltsfilterung schneller aktiviert werden, da die Wurmsignaturen zu weniger Knoten verteilt werden.
  • Damit die Eingrenzung durch Inhaltsfilterung leistungsfähig ist, sollte der durch das Netz transportierte gesamte Verkehr gefiltert werden. Zur Filterung ist eine vollständige Prüfung jedes Paketinhalts erforderlich, damit die Wurmsignaturen identifiziert werden können, so dass eine Inhaltsfilterung bezüglich der Netzressourcen (zum Beispiel Verarbeitung und Verzug) zu einem kostspieligen Vorgang wird. Verfügbare Fähigkeiten zur Inhaltsfilterung sollten optimal in Knoten des Netzes angeordnet sein, damit sie in wirksamer Art und Weise eingesetzt werden können. Zufälliges (oder unpassendes) Auswählen von Inhalterfilterungsknoten können die Wegewahl von Paketen entlang längerer Wege erzwingen, was zu einen erhöhten Bandbreitenverbrauch je Verbindung und niedrigerem Netzdurchsatz führt. Somit kann das zufällige Anordnen von Fähigkeiten zur Inhaltsfilterung eine signifikante Verschwendung von Netzkapazität bei der Wegewahl des Verkehrs zu diesen suboptimal angeordneten Inhaltsfilterungsknoten zur Folge haben.
  • Die Veröffentlichung der US-Patentanmeldung 2003/0 123 465 von Donahue offenbart ein Verfahren zur Wegewahl für Pakete über ein Netz von Knoten, das eine Menge inhaltsgefilterter Router aufweist. Jedes Paket läuft durch einen ersten inhaltsgefilterten Router, der ermittelt, ob das Paket in Abhängigkeit davon, ob die Ziel-IP-Adresse des Pakets auf einer festgelegten Liste von inhaltsgefilterten IP-Adressen ist, gefiltert werden soll. Wenn das Paket gefiltert werden soll, leitet der erste inhaltsbasierte Router das Paket zu einem zweiten inhaltsbasierten Router weiter. Der Dienstanbieter, der das Netz steuert, verwaltet eine Wegewahltabelle, die eine gespeicherte Filterliste aufweist, um zu bestimmen, welcher der zweiten inhaltsgefilterten Router das Paket, basierend auf durch einen Listenanbieter festgelegten Filterungskategorien, erhalten wird. Sobald die aktualisierte Filterliste vom Dienstanbieter aus einer Anbieterliste empfangen wurde, zerlegt der Dienstanbieter die Liste in individuelle Kategorien wie Gewalt, Pornografie, usw. und assoziiert einen besonderen Ausgabeport eines besonderen Filterungsrouters mit jeder zu filternden IP-Adresse. Der Dienstanbieter sendet dann die Liste mit individuellen Kategorien und Ausgabeports zum Inhaltsfilterungsrouter, der die Liste akzeptiert und sie in seiner Wegewahltabelle speichert. Das Paket wird dann zu einem geeigneten Inhaltsfilterungsrouter, basierend auf einer vorbestimmten Filterungskategorie so wie in der Wegewahltabelle spezifiziert, weitergeleitet. Ist die Filterung für eine oder mehr weitere Kategorien durchzuführen, wird das Paket nachfolgend zu dem (den) geeigneten Inhaltsfilterungsrouter(n) weitergeleitet.
  • Die Veröffentlichung der US-Patentanmeldung 2003/0 169 749 von Huang u.a. offenbart ein Schema für die inhaltsbasierte Wegewahl und Filterung anhand von Kanälen, die logische Verbindungen zwischen Routern sind. Das Netz weist mehrere "intelligente Router" für die Wegewahl von Paketen zwischen Herausgebern und Abonnenten auf. Der Inhalt wird zwischen den intelligenten Routern vom Herausgeber anhand von Wegewahlregeln, die von den Objekt- und Attributfiltern für Abonnements erzeugt werden, weitergeleitet. Mehrere Links stellen die Softwareverbindungen zwischen den intelligenten Routern, zwischen dem Herausgeber und den intelligenten Routern und zwischen einem Abonnent und den intelligenten Routern bereit. Der Abonnent weist einen Agenten zur Erkennung und zum Empfange des abonnierten Inhalts und eine Anwendung zur Vorführung des Inhalts auf.
  • Die US-Patentschrift 6,628,670 von Galand u.a. offenbart ein reserviertes Bandbreitenschema zur gemeinsamen Nutzung für mehrere Verbindungen, die aus demselben physikalischen Port an einem einzelnen Ursprungsknoten in einem paketvermittelten Kommunikationsnetz resultieren. Bei jeder Anforderung zum Aufbau einer Verbindung vom Ursprungsknoten zum Zielknoten wird (i) ein Routingweg ausgewählt, der eine oder mehrere Links vom Ursprungsnoten zum Zielknoten umfasst; (ii) werden alle aufeinanderfolgenden Links, die vom Ursprungsknoten ausgehen und gemeinsam mit einer anderen Verbindung, die vom selben physikalischen Port ausgeht, genutzt werden, identifiziert; (iii) wird eine Gesamtbandbreite für alle Verbindungen, die von demselben physikalischen Port ausgehen, auf jedem Link der identifizierten aufeinanderfolgenden Links reserviert, wobei die Gesamtbandbreite kleiner als die Summe der Bandbreite ist, die für jede einzeln betrachtete Verbindung reserviert ist ; (iv) wird eine verbindungsabhängige Tabelle, welche die Information zur Verwaltung der Bandbreite und das Abhängigkeitsverhältnis von Verbindungen, die vom physikalischen Port ausgehen, enthält für jeden Link im Netz aufgebaut; und (v) es wird eine Wegtabelle, welche die Links, die im ausgewählten Routingweg von jeder vom Port ausgehenden Verbindung einbezogen sind, erstellt.
  • Cincotti u.a. offenbaren mit "An Ant-Algorithm for the Weighted Minimum Hitting Set Problem", Proceedings of the 2003 IEEE, 24.-26. April, 2003, Antbasierte Algorithmen zur Lösung eines Treffermengenproblems bzw. Hitting-Set Problems mit gewichtetem Minimum. Die Algorithmen werden beispielsweise zum Finden von Treffermengen minimaler Kardinalität mit der höchsten Zahl von zu einer gegebenen Menge gehörenden Elementen verwendet.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Gemäß Ausführungsbeispielen der vorliegenden Erfindung weist ein Netz von Knoten, die durch Links verbunden sind, Inhaltsfilterung auf, die an bestimmten Knoten spezifiziert wird, und die Wegewahl von Paketverbindungen durch das Netz wird basierend auf den spezifizierten Inhaltsfilterungsknoten erzeugt. Das Netz wird über ein Anordnungsverfahren eines Inhaltsfilterungsknotens und ein Verfahren zur Maximierung der Netzkapazität spezifiziert, damit die Inhaltsfilterung auf Paketen für im Wesentlichen den gesamten durch das Netz transportierten Verkehr (Paketströme) anwendbar ist.
  • Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung wird die Wegewahl für eine oder mehr Verbindungen in einem Netz von Knoten, die durch Links verbunden sind, erzeugt durch (a) Bereitstellen einer Liste von Knoten mit Inhaltsfilterung für das Netz; (b) Formulieren eines Wegewahl-mit-Inhaltsfilterungsproblems mit dem Namen Routing-with-Content-Filtering Problem, nachstehend als RCFP bezeichnet, für eine relativ maximierte Netzkapazität in Abhängigkeit von einer Menge von Einschränkungen in einer Weise, dass der Fluss jeder Verbindung durch mindestens eine der Listen von Knoten mit Inhaltsfilterung läuft; und (c) Lösen des RCFP zur Erzeugung einer Wegewahllösung, welche die Wegewahl für eine oder mehr Verbindungen durch das Netz spezifiziert.
  • Gemäß einem anderen Ausführungsbeispiel der vorliegenden Erfindung wird eine Wegewahllösung für ein Netz von Knoten, die durch Links verbunden sind und mindestens eine durch das Netz weitergeleitete Verbindung aufweisen, erzeugt, wobei 1) ein oder mehr der Knoten in einer Menge von Inhaltsfilterknoten einbezogen sind, wobei jeder Inhaltsfilterungsknoten angepasst ist, um Inhaltsfilterung auf eine Verbindung, die durch den Knoten läuft anzuwenden und 2) jede Verbindung durch mindestens einen Inhaltsfilterungsknoten läuft. Die Wegewahllösung wird erzeugt durch (a) Initialisieren jedes Gewichts und jedes mit jedem Link auf dem Netz assoziierten Flusses; (b) Wegewahl eines Bedarfs für jede Verbindung und (c) Wiederholen von (a) und (b) bis die Dual-Einschränkungen befriedigt sind. Der Bedarf wird für jede Verbindung weitergeleitet durch: (b(i)) Erzeugen eines kürzesten Weges für den Bedarf durch mindestens einen Knoten der Menge von Inhaltsfilterungsknoten, (b(ii)) Bestimmen eines inkrementalen Flussbetrags des Bedarfs, (b(iii)) Wegewahl des inkrementalen Flussbetrags entlang des kürzesten Weges, (b(iv)) Aktualisieren des Flusses und des Gewichts jedes Links basierend auf dem inkrementalen Flussbetrag und (b(v)) Wiederholen der Schritte (b(i)) durch (b(v)) bis der Bedarf weitergeleitet ist.
  • KURZDARSTELLUNG DER ZEICHNUNGEN
  • Andere Aspekte, Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden näheren Beschreibung, den beigefügten Ansprüchen und den begleitenden Zeichnungen deutlich, wobei:
  • 1 ein Verfahrensbeispiel der Wegewahl für Netze mit Inhaltsfilterung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zeigt;
  • 2 ein Verfahrensbeispiel des Auswählens einer Menge von Inhaltsfilterungsknoten in einem Netz zeigt und
  • 3 ein Verfahrensbeispiel der Wegewahl in Anbetracht einer Menge von Inhaltsfilterungsknoten gemäß der vorliegenden Erfindung zeigt und
  • 4 ein Verfahrensbeispiel zeigt, das durch das Verfahren von 3 verwendet werden kann, um eingeschränkte kürzeste Wege zu berechnen.
  • NÄHERE BESCHREIBUNG
  • 1 zeigt ein Verfahrensbeispiel 100 der Wegewahl für Netze mit Inhaltsfilterung ("Content-Filtering Routing") gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Wenn das Verfahren von 1 beendet ist, spezifiziert das Verfahren 1) besondere Knoten des Netzes von durch Links verbundenen Knoten, die mit Inhaltsfilterung des durch den Knoten laufenden Verkehrs zu implementieren sind und 2) ein optimales Verfahren zur Wegewahl (basierend auf einer gegebenen Kostenfunktion oder Metrik) der Verbindungen durch das Netz in Anbetracht der implementierten Inhaltsfilterung besonderer Knoten.
  • Bei Schritt 101 erzeugt das Verfahren zur Inhaltsfilterung 100 ein Modell für ein Netz von Knoten und Links, die eine Menge von Verbindungen mit assoziierten Bedarfen aufweisen. Eine Verbindung stellt beispielsweise eine Paketverbindung dar, die durch das Netz zwischen einem entsprechenden Quell- und Ziel- oder Ingress- und Egress)knotenpaar weitergeleitet wird. Der assoziierte Bedarf hat eine Größe wie eine Bandbreite oder effektive Bandbreite, die für die Verbindung unterstützt wird.
  • Bei Schritt 102 erzeugt das Verfahren 100 durch ein Verfahren zur Anordnung eines Inhaltsfilterungsknotens eine Liste von Knoten, die Inhaltsfilterung für das Netzmodell von Schritt 101 aufweisen. Gemäß Ausführungsbeispielen des vorliegenden Verfahrens wird durch ein heuristisches Verfahren zur Erzeugung der Liste von Inhaltsfilterungsknoten i) ein Treffermengenproblem bzw. Hitting Set Problem (HSP) für Inhaltsfilterung formuliert und ii) eine approximierte Lösung für das HSP erzeugt.
  • Bei Schritt 103 erzeugt das Verfahren 100 durch ein Verfahren zur Maximierung der Netzkapazität eine Wegewahltabelle für dieses Netzmodell von Schritt 101 unter der Einschränkung, dass der Verkehr für die gegebenen Verbindungen durch mindestens einen Knoten, der die Inhaltsfilterung einsetzt, laufen. Schritt 103 formuliert und löst ein Wegewahl-mit-Inhaltsfilterungsproblem bzw. Routing-with-Content-Filtering Problem (RCFP) als ein lineares Programmierproblem (LPP).
  • Gemäß Ausführungsbeispielen der vorliegenden Erfindung wird das RCFP durch Erzeugung eines Duals des Primal-LPP für das RCFP und die Anwendung eines Primal-Dual-Verfahrens, um eine (1 + ε)-Approximationslösung zu erzeugen, gelöst. Der Wert von ε ist eine beliebig ausgewählte relativ kleine Zahl (beispielsweise 0 < ε ≤ 1), deren Größe sich auf den Fehler und die Berechnungslänge der Approximationslösung bezieht.
  • Im Folgenden werden Verfahrensbeispiele für die Schritte 101, 102 und 103 erläutert. Für Schritt 101 kann das Netz folgendermaßen modelliert sein. Das Netz G setzt sich aus einer Menge N von Knoten zusammen, die durch eine Menge E von Links (die auch Kanten genannt werden, welche für dieses Netz gerichtete Kanten sind, da die Pakete in einer Richtung fließen) verbunden sind, und daher ist das Netz als G = (N, E) festgelegt. Die Größenordnung der Menge N ist die Zahl n der Knoten (d.h. |N| = n) und die Größenordnung der Menge E ist die Zahl m der Kanten (d.h., |E| = m. Ein gerichteter Link im Netz vom Knoten i zum Knoten j wird als (i, j) bezeichnet, und die Kapazität des Links (i, j) wird als uij bezeichnet. Um die Notation zu vereinfachen, wird ein Link auch durch e gleichwertig zu (i, j) dargestellt, und die Kapazität des Links e wird als ue bezeichnet.
  • Alle Verkehrsbedarfe im Netz liegen zwischen einer Menge B von Ingress/Egress-(Rand)knotenpaaren im Netz (d.h. B ⊆ N, wobei "⊆" die mathematische "Teilmenge von" ist). Die Fähigkeit zur Inhaltsfilterung ist nur an einer Teilmenge C von Knoten im Netz (d.h. C ⊆ N – B) verfügbar, wobei die Teilmenge nur Nichtrandknoten aufweist, die hierin als Inhaltsfilterungsknoten bezeichnet sind. Somit läuft jeder Weg entlang welchem Pakete zwischen einem Ingress-Egressknotenpaar in B weitergeleitet werden, mindestens durch einen Knoten in C. Jeder der Verkehrsbedarfe zwischen einem Ingress-Egressknotenpaar in B wird als ein Produkt bezeichnet. Die Kennzeichnung der Gesamtzahl von Produkten erfolgt durch K, K ≤ |B|(|B| – 1).
  • Für die im Folgenden beschriebenen Ausführungsformen bezeichnet s(k) den Quellknoten des k-ten Produktes, t(k) den Zielknoten des k-ten Produktes und d(k) den Wert des Bedarfs für das Produkt k. Somit werden für jedes Produkt k, d(k) Einheiten von Flüssen vom Knoten s(k) zum Knoten t(k) weitergeleitet.
  • Gemäß 1, auf die wieder Bezug genommen wird, wird bei Schritt 102 die Menge C der Inhaltsfilterungsknoten in einer Weise bestimmt, die vorzugsweise nicht von Verkehrsannahmen abhängt, da der Aufbau der Fähigkeit zur Inhaltsfilterung bei ausgewählten Knoten von vornherein erfolgt. Die Inhaltsfilterung kann nur bei einer begrenzten Zahl von Knoten innerhalb des Netzes erscheinen, und jeder Ingress-Egressweg im Netz läuft mindestens durch einen Inhaltsfilterungsknoten. Pakete für das Produkt k werden nicht notwendigerweise entlang eines Einzelwegs vom s(k) zum t(k) weitergeleitet, können aber über eine Menge Pk,L von L kürzesten (Hop) -Wegen vom s(k) zum t(k) als Kandidaten-Routingwege für die Wegewahl jedes Produktes k weitergeleitet werden. Diese L kürzesten Wege für jedes Produkt k können berechnet werden, um die Kosten auf effiziente Weise zu erhöhen. Diese L kürzesten Wege lassen sich beispielsweise anhand des k-kürzesten Weg-Algorithmusses berechnen, der im Dokument von J.Y.Yen "Finding the K Shortest Loopless Paths in a Network", Management Science, vol. 17, Nr. 11, Juli 1971, das durch Nennung als hierin aufgenommen betrachtet wird, berechnet werden. Es ist wünschenswert, dass Inhaltsfilterungsknoten auf bestimmten dieser Kandidaten-Routingwege für jedes Produkt k verfügbar sind.
  • Das Auswählen von Inhaltsfilterungsknoten gemäß einem Ausführungsbeispiel der vorliegenden Erfindung mag dem folgenden Theorem entsprechen: Gegeben sei eine Menge von Zwischenknoten Sk entlang von Kandidaten-Leitwegen für das Produkt k für k = 1, 2, ..., K, das Problem des Berechnens einer Menge C von Inhaltsfilterungsknoten mit gegebener Kardinalität p in einer Weise, dass C mindestens einen Knoten von der Menge Sk von Zwischenknoten von Kandidaten-Leitwegen für die maximale Zahl von Produkten k enthält, ist NP-Hard. Es gibt einen Polynomzeit-Approximationsalgorithmus für dieses Problem mit garantiertem Approximationsfaktor von 1 –(1 – 1P )P > (1 – 1e ) ≈ 0.632.
  • 2 zeigt ein Verfahrensbeispiel des Auswählens einer Menge von inhaltsgefilterten Knoten in einem Netz, so wie es durch Schritt 102 von 1 verwendet werden kann. Bei Schritt 201 wird für jedes Produkt k = 1, 2, ..., K eine Menge Pk,L mit L kürzesten Wegen vom s(k) zum t(k) berechnet. Die Menge SK kennzeichnet die Menge von Zwischenknoten entlang der Kandidaten-Routingwege in Pk,L, für jedes Produkt k.
  • Bei Schritt 202 ist das Treffermengenproblem bzw. Hitting Set Problem (HSP) mit Fall S1, S2, ..., SK und gegebener Kardinalität p der Treffermenge C in einer Weise gelöst, dass die Zahl der Mengen SK, die getroffen sind, maximiert ist. Bei Schritt 203 sind die Knoten in der Treffermenge C als Inhaltsfilterungsknoten ausgewählt.
  • Um die Wirkungsweise der vorliegende Erfindung besser zu begreifen, ist es wichtig die folgende Erläuterung zum HSP zu verstehen. Gegeben sei ein einzelner weg Pk zwischen Ingress-Egressknotenpaar vom s(k) zum t(k) entlang welchem das Produkt k weitergeleitet werden sollte, wobei für alle k = 1, 2, ..., K die Menge SK von Zwischenknoten entlang des Wegs Pk bezeichnet. Um zu gewährleisten, dass Pakete jedes Produkts k entlang des weitergeleiteten Wegs Pk gefiltert werden, ist es wünschenswert, dass die Menge C der Inhaltsfilterungsknoten mindestens einen Knoten von jeder Menge Sk für alle k (d.h. Sk ⋂ C ≠ Ø ∀k, wobei der mathematische Term "⋂" die Schnittmenge, "Ø" die Nullmenge und "∀" "für alle" ist) enthält. Um ferner in der Menge C so wenig Inhaltsfilterungsknoten wie möglich zu erzeugen, ist es wünschenswert, dass diese Menge C von minimaler Kardinalität ist (in der Mengentheorie bezieht sich die Kardinalität auf die Zahl von Gliedern in der Menge). Das HSP wird wie folgt festgesetzt: Gegeben sei eine Sammlung von Teilmengen S1, S2, ..., S1 aus der Universalmenge S (d.h. Sk ⊆ S ∀k, 1 ≤ k ≤ 1), gefunden werden soll eine Teilmenge C, C ⊆ S von minimaler Kardinalität, die mindestens ein Element aus jeder Menge Sk ∀k enthält (d.h. "Treffer").
  • Ein heuristisches Verfahren, das als garantierter Approximationsfaktoralgorithmus für das HSP zur Anwendung kommt, sieht folgendermaßen aus. Berechne für jedes Element a ∊ S die Zahl κ'(a) der Mengen Sk, die ein Element α enthält. Wähle das Element α mit maximalem Wert κ(α) zur Einbeziehung in die Treffermenge C. Entferne die Mengen Sk, die das Element α enthalten und wiederhole die Berechnung der Zahl κ(α), wobei ein neues Element α mit einem neuen maximalen Wert κ(α) gewählt wird, und entferne die Mengen Sk die das neue Element α enthalten. Setze die Rekursion auf den verbleibenden Mengen fort, bis alle Mengen entfernt sind. Dieser garantierte Approximationsfaktor-Algorithmus stellt einen Approximationsfaktor des natürlichen Logs l (In l) dar. Somit ist die Größe der Menge C maximal In 1 Mal der Größe der Treffermenge der minimalen Kardinalität. Eine Varianz des HSP bedingt das Finden einer Menge von gegebener Kardinalität p, wobei |C| = p, so dass C die maximale Zahl der Mengen Sk trifft. Wird bei dieser Varianz des HSP der garantierte Approximationsfaktor-Algorithmus bis zu dem Punkt, an dem |C| = p berechnet, ist ein Approximationsfaktor von 1 –(1 – 1 / P)P > (1 – 1 / e) ≈ 0.632 garantiert.
  • Der folgende Pseudocode kann zur Implementierung des Verfahrensbeispiels von 2 verwendet werden.
    • 100 for each k = 1, 2,..., K do
    • 101 Berechne die Menge Pk,L von L kürzesten (Hop-Wegen {Pk 1, Pk 2, ..., Pk L} vom
    • 102 s(k) zum t(k) anhand eines L-kürzesten Wegalgorithmussees (beispielsweise Algorithmus von Yen oder Lawler);
    • 103 Sk ← Menge der Zwischenknoten entlang der Wege Pk 1, Pk 2, ..., Pk L ;
    • 104 end for
    • 105 T ← {S1, S2, ..., Sk}
    • 106 S ← N-B; (Menge von Nichtrandknoten)
    • 107 C ← Ø
    • 108 while |C| < P do
    • 110 N(α) ← Zahl der Male, die der Knoten α in der Sammlung von Mengen erscheint
    • 111 in T, ∀α ∊ S-C;
    • 112 α ← Knoten α für welchen N(α) maximal ist;
    • 113 C ← C ∪ {α}
    • 114 for each k, so dass α ∊ Sk do
    • 115 T ← T – {Sk}
    • 116 end for
    • 117 end while
    • 118 Gebe C als Menge von Inhaltsfilterungsknoten aus
  • Gegeben sei die Menge C der Inhaltsfilterungsknoten, Link-Kapazitäten für die Menge E der Kanten (Links) im Netz, und die K Bedarfe für jedes der Produkte d(k) gemäß der vorliegenden Erfindung, ein Wegewahl-mit-Inhaltsfilterungsproblem bzw. Routing-with-Content-Filtering Problem (RCFP) wird formuliert, das eine maximalen Multiplikator λ berechnet, so dass λd(k)-Bedarfseinheiten vom s(k) zum t(k) für alle k weitergeleitet werden können unter der Einschränkung, dass jeder weitergeleitete Weg mindestens durch einen Inhaltsfilterungsknoten in C läuft. Das Primal-LPP maximiert λ für die Gleichung (1), (2) und (3). Die Eingabeparameter sind i) der Netzgraph, der die Knoten n und Links m im Netz aufweist, ii) die Zahl K der Produkte mit entsprechenden Bedarfen d und iii) die Menge von Inhaltsfilterungsknoten.
  • In 1, auf die wieder Bezug genommen wird, ist das RCFP von Schritt 103 als ein Wegindexiertes (Maximierung) lineares Programm mit einer Menge C von Inhaltsfilterungsknoten, die in Schritt 102 erzeugt werden, formuliert. Für jedes Produkt k, bezeichnet Pk die Menge aller Wege vom Knoten s(k) zum Knoten t(k) der durch jeden Inhaltsfilterungsknoten in der Menge C läuft. Die Variable x(P) bezeichnet den Verkehr, der auf dem Weg P weitergeleitet wird. Der Gesamtbedarf, der für das Produkt k entlang aller Wege in Pk weitergeleitet wird, entspricht λd(k), und der Gleichung (1):
    Figure 00140001
  • Der Gesamtverkehr auf Link e ist die Summe der Flüsse aller Produkte, die entlang aller Wege, die den Link e enthalten, weitergeleitet werden. Somit entspricht die Kapazitätseinschränkung auf Link e der Gleichung (2).
  • Figure 00150001
  • Des Weiteren sind die Flüsse der Links, so wie in Gleichung (3) ausgedrückt, nicht negativ: x(P) ≥ 0 ∀P ∊ Pk ∀k (3)
  • Eine Lösung der linearen Programmierformulierung für das RCFP gemäß der vorliegenden Erfindung versucht ein λ-Maximum für die Gleichung (1) in Abhängigkeit von den Einschränkungen der Gleichungen (2) und (3) zu finden.
  • Der durch die Lösung zum RCFP erzeugte maximale Wert von λ wird als λ* bezeichnet. Wenn λ* ≥ 1, dann können die gegebenen Bedarfe auf dem Netz weitergeleitet werden, und die expliziten Wege entlang welcher Bedarfe weitergeleitet werden, werden aus den Bedarfen, die die Lösung des RCFP ergeben, bestimmt. Ist der Wert λ* < 1, dann können alle gegebnen Bedarfe nicht gleichzeitig auf dem Netz für die gegebene Lösung zum RCFP weitergeleitet werden. Ist jedoch der Wert λ* < 1, dann kann ein Netzgestalter eine von zwei Optionen wählen: 1) Verkleinern der Bedarfe durch 1 / λ*, was eine Menge zulässiger Bedarfe für die Wegewahl mit den gegebenen Link-Kapazitäten ergibt, oder 2) vergrößern der Link-Kapazitäten durch λ*, um die Wegewahl aller gegebenen Bedarfe anzupassen.
  • In der Praxis mag die Lösung des RCFP in rechnerischer Hinsicht mühsam sein, und folglich verwenden bestimmte Ausführungsformen der vorliegenden Erfindung einen schnellen kombinatorischen Algorithmus für die Lösung des RCFP unter der Annahme, dass die Menge C der Inhaltsfilterungsknoten gegeben ist. Es wird ein Dual der Primal-LPP für das RCFP formuliert, und der schnelle kombinatorische Algorithmus verwendet dann einen Primal-Dual-Ansatz, der die Flüsse in der Primal-Lösung erhöht und Gewichte in einer multiplikativen Art und Weise in der Dual-Lösung aktualisiert, bis ein Schwellwert erreicht ist.
  • Die Dual-Formulierung des linearen Programms für das RCFP assoziiert i) eine Variable z(k) mit jedem Produkt k, das der Einschränkung der Gleichung (1) entspricht, und ii) eine Variable w(e) mit jedem Link e ∊ E, welcher der Einschränkung von Gleichung (2) entspricht. Das duale lineare Programm minimiert die Größe der Gleichung (4) in Abhängigkeit von den Einschränkungen der Gleichungen (5), (6) und (7):
    Figure 00160001
    in Abhängigkeit von:
    Figure 00160002
    w(e) ≥ 0 ∀e ∊ E (7)
  • Die Einschränkung von Gleichung (5) bedingt, dass für jedes Produkt k, z(k) so festgesetzt sein kann, dass es die Länge des kürzesten Weges vom s(k) zum d(k) unter Link-Kosten w(e) ist. Infolgedessen ist eine Menge von Gewichten w(e), ∀e ∊ E eine duale zulässige Lösung, wenn die Einschränkung von Gleichung (6) befriedigt ist, nachdem z(k) bestimmt ist. Die Einschränkung von Gleichung (7) zwingt die Link-Kosten positiv-wertig zu sein. Um folglich λ zu maximieren, maximiert das Primal-LPP die Verwendung jedes Links im Netz, während das Dualproblem die maximale Verwendung jedes Links im Netz minimiert.
  • Der Primal-Dualalgorithmus ist ein iteratives Verfahren, das wie folgt funktioniert. Mindestens eine Phase wird verwendet, wobei jede Phase mindestens eine Iteration verwendet. In jeder Phase werden eine oder mehr Iterationen verwendet, um d(k)-Flusseinheiten vom Knoten s(k) zum t(k) für jedes Produkt k inkremental weiterzuleiten. Am Ende jeder Phase sind alle Produkte k = 1, 2, ..., K durch mindestens einen Knoten in der Menge C weitergeleitet worden, und ein Test prüft, ob die Einschränkung von Gleichung (5) des Dualproblems des Primal-LPP für das RCFP befriedigt ist. Wenn die Einschränkung der Gleichung (4) des Dual-Zielfunktionswertes größer als 1 ist, endet der Primal-Dual-Algorithmus.
  • 3 zeigt ein Verfahrensbeispiel zur Erzeugung einer Lösung zum RCFP, das eine (1 + ε)-Approximation anhand eines Primal-Dual-Algorithmus verwendet. Bei Schritt 301 werden für jede Kante e in der Menge von Kanten E die entsprechenden Link-Gewichte initialisiert, wie beispielsweise w(e) = (δ/ue) (die Größe δ hängt von ε, so wie anschließend beschrieben, ab), und der entsprechende weitergeleitete Fluss für jede Kante flow (e) wird auf null initialisiert (d.h. flow(e) = 0 ∀e ∊ E). Daneben wird eine Zähler-Phase für die Zahl der Phasen ebenfalls auf null initialisiert. Bei Schritt 302 ist die Variable k, die dem k-ten Produkt entspricht auf 1 gesetzt. Der Fluss von Wert d(k) des Produktes k wird dann vom s(k) zum ((k) in mehreren Iterationen wie folgt weitergeleitet.
  • Bei Schritt 303 bestimmt ein Test, ob alle K Produkte weitergeleitet wurden (d.h. k = (K + 1) und folglich das letzte (K-te) Produkt in der vorherigen Iteration verarbeitet wurde). Wenn der Test von Schritt 303 bestimmt, dass k = (K + 1), dann rückt das Verfahren auf den nachstehend erläuterten Schritt 311 vor. Wenn der Test von Schritt 303 bestimmt, dass k < (K + 1), dann rückt das Verfahren auf Schritt 304 vor. Bei Schritt 304 wird das k-te Produkt ausgewählt, und das Verfahren rückt auf Schritt 305 vor.
  • Bei Schritt 305 wird eine temporäre Flussvariable r auf den Bedarfswert d(k) gesetzt. Bei Schritt 306 bestimmt ein Test, ob die Flussvariable r größer als null ist, was bedeutet, dass der Fluss des Bedarfs d(k) noch weiterzuleiten bleibt. Wenn der Test von Schritt 306 bestimmt, dass r kleiner als oder gleich null ist, dann rückt das Verfahren auf den nachstehend erläuterten Schritt 310 vor. Wenn der Test von Schritt 306 bestimmt, dass r größer als null ist, dann rückt das Verfahren auf Schritt 307 vor.
  • Bei Schritt 307 wird ein kürzester Weg P ∊ Pk vom s(k) zum d(k) berechnet (d.h. ein kürzester Weg, der mindestens durch einen Inhaltsfilterungsknoten in der Menge C läuft) unter Link-Kosten w(e) ∀e ∊ E berechnet.
  • Bei Schritt 308 wird ein inkrementaler Flussbetrag für den kürzesten Weg P, der in Schritt 307 erzeugt wird, weitergeleitet, und die Flüsse und Gewichte für die Kanten e, die sich in Weg P befinden, werden aktualisiert. Da der Weg P gezwungen ist, einige Knoten in C zu durchlaufen, kann er einen Link mehr als einmal durchqueren. Die Variable NP(e) ist die Zahl der Male, die der Weg P den Link e durchquert. Für die Wegewahl des Flusses entlang dieses Wegs P, ist dann die Kapazität des Links e nicht ue, sondern effektiv ue/NP(e). Infolgedessen wird die minimale (effektive Link-Kapazität u auf Weg P durch
    Figure 00180001
    gegeben.
  • Ein inkrementaler Flussbetrag Δ von r wird entlang des Wegs P in einer Iteration gesendet. Der inkrementale Flussbetrag Δ von r ist das Minimum von (i) der Größe u und (ii) der verbleibende Flussbetrag, der vom s(k) zum t(k) gesendet werden soll, um einen Gesamtbetrag von d(k) (der gleich r sein kann) zu erzielen. Nachdem der Fluss von Wert Δ entlang des Wegs P gesendet ist, wird der Gesamtfluss auf jedem Link e ∊ P um NP(e)Δ erhöht (d.h. flow (e) wird um NP(e)Δ inkrementiert, und die Gewichte w(e) ∀e ∊ P werden gemäß der Gleichung (8) aktualisier:
    Figure 00190001
  • Nach dieser Aktualisierung der Gewichte w(e) wird die temporäre Flussvariable als r ← r – Δ aktualisiert, und das Verfahren kehrt zum Schritt 306 zurück.
  • Wenn der Test von Schritt 306 bestimmt, das r gleich null ist, dann wird der gesamte Fluss des Produkts d(k) weitergeleitet, eine Iteration beendet, und das Verfahren rückt auf Schritt 310 vor. Bei Schritt 310 wird der Wert von k um 1 inkrementiert, und das Verfahren kehrt auf Schritt 303 zurück. Wenn, wie zuvor erläutert, der Test von Schritt 303 bestimmt, dass k = (K + 1), dann wird jeder der Produktbedarfe d(k) weitergeleitet, und das Verfahren rückt auf Schritt 311 vor.
  • Bei Schritt 311, wird der Wert der Zähler-Phase um 1 inkrementiert, und eine Variable D wird auf den Wert der Gleichung (9) gesetzt. D ← Σe ∊ E uew(e). (9)
  • Die Gleichung (9) ist gleichwertig zum Dual-Zielfunktionswert der linken Seite der Gleichung (6).
  • Bei Schritt 312 bestimmt ein Test, ob die Variable D größer als gleich eins ist. Wenn der Test von Schritt 312 bestimmt, dass die Variable D kleiner als eins ist, dann ist die Dual-Einschränkung nicht befriedigt, eine Phase beendet, und das Verfahren kehrt zum Schritt 302 zurück, um eine andere Phase zu beginnen. Wenn der Test von Schritt 312 bestimmt, dass die Variable D größer als oder gleich eins ist, dann ist die Dual- Einschränkung befriedigt, und das Verfahren rückt auf Schritt 313 vor.
  • Bei Schritt 313 wird der Skalierfaktor λ berechnet und als Ausgabe bereitgestellt. Nach Schritt 312 sind die Dual-Zuverlässigkeitseinschränkungen befriedigt, aber die Link-Kapazitätseinschränkung in der Primal-Lösung könnte missachtet werden, da das Verfahren die Original- (und nicht die Rest-)Link-Kapazität ue bei jeder Iteration verwendet. Um die Missachtung der Link-Kapazitätseinschränkung zu berücksichtigen, wird der Verkehr (Flüsse) auf jedem Link einheitlich skaliert, so dass die Kapazitätseinschränkungen befolgt werden. Infolgedessen wird der Skalierfaktor λ berechnet und, wie zuvor angesprochen, zum Skalieren verwendet. Dieser Skalierfaktor λ wird basierend auf der Umkehrfunktion der maximalen Missachtung des Link-Kapazitätswertes berechnet, welcher der maximale Anteil des i) weitergeleiteten Flusses durch die Kante (Zink) e, wenn der Algorithmus endet, zur ii) Original-Kapazität ue der Kante e ist. Dieser maximale Anteil wird auch durch die Phasen, welche das Verfahren beendet, skaliert.
  • Der Skalierfaktor λ wird folglich als phase/scale_fact erzeugt, wobei scale_fact der Gleichung (10) entspricht: scale_fact = maxe ∊ E (flow(e)/ue) (10)
  • Wenn das Verfahren von 3 beendet ist, erzeugt der sich wiederholende Prozess der Wegewahlbedarfe mit kürzesten-Weg-Berechnungen durch Inkremente eine Wegewahllösung für die Wegewahl der Bedarfe der Verbindungen.
  • Folgender Pseudo-Code kann zur Implementierung des Verfahrensbeispiels von 3 verwendet werden:
    Figure 00200001
    Figure 00210001
    Figure 00220001
  • Die Werte von ε und δ sind miteinander verwandt: für jeden gegebenen ε' > 0 (d.h. eine gegebene Gestaltung wählt beliebig einen kleinen Wert für ε' aus), berechnet der Appoximations-Link-Teilungsalgorithmus eine Lösung mit Zielfunktionswert innerhalb des (1 + ε')-Faktors des Optimums für ε und δ, so wie in den Gleichungen (11) und (12) gegeben:
    Figure 00220002
    wobei m die Zahl der Links im Netz ist. Eine Erörterung zu ε-Algorithmen wird im Dokument "Falter and Simpler Algorithms for Multicommodity Flow and Other Fractional Packing Problems", von Garg und Konemann, 39. Annual Symposium on Foundations of Computer Science (FOCS), 1998, vermittelt, das durch Nennung als hierin aufgenommen betrachtet wird.
  • Bei Schritt 307 von 3, auf die nochmals Bezug genommen wird, läuft der kürzeste Weg P vom s(k) zum t(k) unter Link-Kosten w(e) ∀e ∊ E durch mindestens einen Knoten in C. 4 zeigt ein Verfahrensbeispiel, das für Schritt 307 verwendet werden kann, um den eingeschränkten kürzesten Weg bei jeder Iteration des Algorithmus zu verwenden.
  • Bei Schritt 401 wird der kürzeste Kostenweg anhand des Algorithmus von Dijkstra vom s(k) zu allen Knoten in C berechnet, welcher eine einzelne Berechnung des kürzesten Weges ist, um den kürzesten Wegbaum mit Wurzeln bei s(k) zu bilden und alle Knoten in C zu erreichen. Die Kosten des kürzesten Weges vom s(k) zum Knoten i ∊ C wird als ds(i) bezeichnet. Der Algorithmus von Djikstra des kürzesten Weges ist bei E. Dijkstra "A Note: Two Problems In Connection With Graphs", Numerical Mathematics, Vol. 1 1959, Seite 269-271 beschrieben, das durch Nennung als hierin aufgenommen betrachtet wird.
  • Bei Schritt 402 wird der kürzeste Weg anhand des Algorithmus von Dijkstra auf dem Netzgraphen, der jeden Link umgekehrt hat, von jedem Knoten in C zum Knoten t(k) beschrieben. Die Kosten des kürzesten Weges von jedem Knoten i ∊ C zum t(k) werden als dt(i) bezeichnet.
  • Bei Schritt 403 ist der minimale Abstand dmin = mini ∊ C [ds(i) + dt(i)], und der minimale Abstand wird für Knoten c ∊ C erreicht. Dann wird der beschränkte kürzeste Weg vom s(k) zum t(k) durch Konkatenation des kürzesten Weges vom s(k) zum Knoten c und der kürzeste Kostenweg vom Knoten c zum t(k) (dieser Weg hat Kosten [ds(c) + dt(c)]) erzeugt.
  • Die Gestaltung der Wegewahl für Netze mit Inhaltsfilterung gemäß einer oder mehr erfindungsgemäßen Ausführungsformen der vorliegenden Erfindung kann für folgende Vorteile sorgen. Zuallererst wird eine leistungsfähige Inhaltsfilterung geboten, da der gesamte vom Netz transportierte Verkehr gefiltert wird. Verfügbare Fähigkeiten zur Inhaltsfilterung lassen sich auf optimale Weise in Knoten des Netzes anordnen, was zu einer reduzierten Nutzung der Bandbreite je Verbindung und zu einem höheren Netzdurchsatz führt. Somit kann die Anordnung von Fähigkeiten zur Inhaltsfilterung gemäß einem oder mehr Ausführungsbeispielen der vorliegenden Erfindung eine signifikant bessere Auswertung der Netzkapazität zur Folge haben, indem der Verkehr zu diesen optimal angeordneten Inhaltsfilterungsknoten weitergeleitet wird.
  • Obwohl die Ausführungsbeispiele der Erfindung in Bezug auf verschiedene Gleichungen erläutert sind, ist die Erfindung nicht auf die Ausgestaltung dieser Gleichungen beschränkt. Ein Fachmann kann diese Gleichungen durch Skalieren abwandeln oder andere Näherungslösungen zu den hierin erläuterten linearen Programmierproblemen durch Verwendung irgendeiner aus dem Stand der Technik bekannten Techniken, bilden.
  • Die vorliegende Erfindung lässt sich in einem Prozessor ausführen, wie zum Beispiel einer Netzsteuerung oder einem Computer, und der Prozessor kann an ein Netz oder eine Netzdatenbank gekoppelt sein, um die Netztopologie, das Provisioning und die Kapazitätsinformation, die von den hierin beschriebenen Verfahren eingesetzt werden, zu empfangen. Darüber hinaus kann die vorliegende Erfindung entweder für verdrahtete, drahtlose, optische oder nicht optische Netze sowie für synchrone oder asynchrone Netz verwendet werden.
  • Die vorliegende Erfindung ist nicht auf Inhaltsfilterungsanwendungen beschränkt und kann im Allgemeinen für die Kapazitätsplanung programmierbarer Netze verwendet werden. Netzelemente in programmierbaren Netzen können Komponenten mit anendungsspezifischen Funktionalitäten aufweisen. Für jede Art von Funktionalität kann eine bestimmte Menge spezialisierter Knoten zur Bereitstellung der genannten Funktionalität ausgestattet werden. Alle Verkehrsströme der Anwendung, die eine gegebene Auswahl von Funktionalitäten benutzen, durchlaufen mindestens einen Knoten aus der Menge spezialisierter Knoten für jede Art von Funktionalität in der Auswahl, bevor sie das Netz verlassen. Es ist möglich, einen Schichtengraphansatz für die Wegewahl individueller Verbindungen in einer Weise zu verwenden, dass die Einschränkung, mindestens einen der spezialisierten Knoten für jede Art von Funktionalität zu besuchen, befriedigt wird.
  • Für den Fachmann wird deutlich sein, dass die verschiedenen Funktionen der Kapazitätsfilterung mit Schaltungselementen oder im digitalen Bereich auch mit Verarbeitungsschritten in einem Softwareprogramm implementiert werden können. Solche Software kann beispielsweise in einem digitalen Signalprozessor, Mikrocontroller oder Allzweckrechner zur Anwendung kommen.
  • Die vorliegende Erfindung kann in Form von Verfahren und Vorrichtungen zur Ausnutzung solcher Verfahren ausgeführt werden. Ferner kann sie in Form von Programmcode, der in konkreten Datenträgern, wie beispielsweise Disketten, CD-ROMs, Festplatten oder jedes sonstige maschinenlesbare Speichermedium, ausgeführt wird, realisierbar sein, wobei, wenn der Programmcode in eine Maschine geladen oder von ihr ausgeführt wird, wie beispielsweise einem Computer, die Maschine eine Vorrichtung zur Anwendung der Erfindung wird. Die vorliegende Erfindung kann auch als Programmcode ausgeführt werden, zum Beispiel in einem Speichermedium gespeichert, in eine Maschine geladen und/oder von ihr ausgeführt zu werden oder über irgendein Übertragungsmedium übertragen werden, wie beispielsweise über eine elektrische Verdrahtung oder Verkabelung, durch Glasfaserkabel oder über elektromagnetische Strahlung, wobei, wenn der Programmcode in eine Maschine geladen und von ihr ausgeführt wird, wie beispielsweise einem Computer, die Maschine eine Vorrichtung zur Anwendung der Erfindung wird. Selbst bei Implementierung auf einem Allzweckprozessor sind die Programmcodesegmente mit dem Prozessor gekoppelt, um eine einzige Vorrichtung, die analog zu spezifischen Logikschaltungen arbeitet, bereitzustellen.
  • Es versteht sich ferner, dass verschiedene Änderungen bezüglich der Details, Materialien und Anordnung der Teile, die beschrieben und veranschaulicht wurden, um die Art dieser Erfindung zu begründen, von Fachkundigen vorgenommen werden können, ohne vom Prinzip und dem Anwendungsbereich der Erfindung gemäss den folgenden Ansprüchen abzuweichen.

Claims (9)

  1. Verfahren zur Erzeugung der Wegewahl für eine oder mehrere Verbindungen in einem Netz von Knoten, die durch Links verbunden sind, wobei das Verfahren folgende Schritte umfasst: (a) Bereitstellen einer Liste von Knoten mit Inhaltsfilterung für das Netz; (b) Formulieren, als ein lineares Programm mit einer ersten Menge von Einschränkungen, eines Wegewahl-mit-Inhaltsfilterungsproblems mit dem Namen Routing-with-Content-Filtering Problem, nachstehend als RCFP bezeichnet, für eine relativ maximierte Netzkapazität in Abhängigkeit von einer Menge von Einschränkungen in einer Weise, dass der Fluss jeder Verbindung durch mindestens eine der Listen von Knoten mit Inhaltsfilterung läuft; und (c) Lösen des RCFP zur Erzeugung einer Wegewahllösung, welche die Wegewahl für eine oder mehr Verbindungen durch das Netz spezifiziert.
  2. Verfahren nach Anspruch 1, ferner umfassend den Schritt des Erzeugens der Liste von Knoten mit Inhaltsfilterung in einer Weise, dass jede Verbindung einen entsprechenden Weg durch das Netz, der mindestens einen Knoten zur Inhaltsfilterung aufweist, hat.
  3. Verfahren nach Anspruch 1, wobei Schritt (a) die Schritte umfasst; (a1) Berechnen einer Menge von kürzesten Wegen durch das Netz für jedes Quell-Zielknotenpaar mit einem k kürzesten Wegealgorithmus; (a2) Erzeugen einer entsprechenden Menge von Zwischenknoten für jede Menge kürzester Wege; (a3) Formulieren eines Treffermengenproblems mit dem Namen Hitting-Set-Problem, nachstehend als HSP bezeichnet, basierend auf jeder Menge von Zwischenknoten für einen Trefferknoten, der eine relativ minimale Kardinalität aufweist und mindestens einen Knoten jeder Menge von Zwischenknoten trifft; und (a4) Lösen des HSP, um eine Trefferknotenmenge zu erzeugen, wobei die Treffermenge der Liste der Inhaltsfilterungsknoten entspricht.
  4. Verfahren nach Anspruch 3, wobei der Schritt (a4) das HSP durch folgende Schritte löst: (i) Berechnen für jeden Knoten α in jeder Menge von Zwischenknoten einer Anzahl von Einbeziehungsmengen von Zwischenknoten, die den Knoten α einbeziehen; (ii) Auswählen, als einen Treffermengenknoten, des Knotens mit der maximalen Anzahl von Einbeziehungsmengen; (iii) Wegnehmen jeder Menge von Zwischenknoten, welche die Treffermengenknoten von Schritt ((a4)ii) beinhalten; und iv) Wiederholen der Schritte (a4(i)) durch (a4(iv)), bis keine Mengen von Zwischenknoten verbleiben.
  5. Verfahren nach Anspruch 3, wobei der Schritt (a4) das HSP basierend auf einem garantierten Approximationsfaktor-Algorithmus löst.
  6. Verfahren nach Anspruch 1, wobei der Schritt (b) das RCFP löst als:
    Figure 00280001
    in Abhängigkeit von den ersten Einschränkungen von:
    Figure 00280002
    x(P) ≥ 0 ∀ P ∊ Pk ∀k zwecks relativer Maximierung von λ, wobei λ ein Skalierfaktor, e ein Link der Menge E von Links, ue die Kapazität eines Links e, k ein Ganzzahlzähler, der das k-te Produkt kennzeichnet, ist, Pk die Menge aller Wege vom Quellknoten s(k) zum Zielknoten t(k) des k-ten Produktes, das durch einen Inhaltsfilterungsknoten läuft, kennzeichnet, x(P) den Verkehr, dessen Weg auf dem Weg P in der Menge Pk gewählt wird, kennzeichnet, und wobei der Gesamtbedarf d(k), dessen Wege für das Produkt k entlang aller Wege in Pk gewählt werden, zu λd(k) gleichwertig ist.
  7. Verfahren nach Anspruch 6, wobei Schritt (b) den Schrit des Formulierens eines Dual des RCFP umfasst.
  8. Verfahren nach Anspruch 7, wobei Schritt (b) den Dual des RCFP formuliert als
    Figure 00290001
    in Abhängigkeit von den Dual-Einschränkungen von:
    Figure 00290002
    w(e) ≥ 0 ∀e ∊ Ewobei z(k) eine Variable für jedes Produkt k ist, die
    Figure 00290003
    entspricht, ist und w(e) folgender Formel entspricht
    Figure 00290004
  9. Verfahren nach Anspruch 8, wobei Schritt (c) das RCFP durch die Schritte löst: (c1) Initialisieren jedes Gewichts und jedes mit jedem Link auf dem Netz assoziierten Flusses; (c2) Wegewahl eines Bedarfs für jede Verbindung durch die Schritte: (c2(i)) Erzeugen eines kürzesten Weges für den Bedarf durch mindestens einen Knoten der Treffermenge, (c2(ii)) Bestimmen eines inkrementalen Flussbetrags des Bedarfs, (c2(iii)) Wegewahl des inkrementalen Flussbetrags entlang des kürzesten Weges, (c2(iv)) Aktualisieren des Flusses und des Gewichts jedes Links basierend auf dem inkrementalen Flussbetrag und (c2(v)) Wiederholen der Schritte (c2(i)) durch (c2(v)) für jedes Produkt k, bis für alle Produkte des Bedarfs Wege gewählt sind; (c3) Wiederholen der Schritte (c1), (c2) und (c3), bis die Dual-Einschränkungen befriedigt sind; und (c4) Erzeugen eines Skalierfaktors basierend auf einem Fluss eines Links mit maximaler Wegewahl und der Kapazität des Links.
DE602005000703T 2004-05-21 2005-04-29 Wegewahl für Netze mit Inhaltsfilterung Active DE602005000703T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US851493 1992-03-16
US10/851,493 US7394763B2 (en) 2004-05-21 2004-05-21 Routing for networks with content filtering

Publications (2)

Publication Number Publication Date
DE602005000703D1 DE602005000703D1 (de) 2007-04-26
DE602005000703T2 true DE602005000703T2 (de) 2007-12-06

Family

ID=34941107

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602005000703T Active DE602005000703T2 (de) 2004-05-21 2005-04-29 Wegewahl für Netze mit Inhaltsfilterung

Country Status (4)

Country Link
US (1) US7394763B2 (de)
EP (1) EP1598996B1 (de)
JP (1) JP4758680B2 (de)
DE (1) DE602005000703T2 (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1826695A1 (de) * 2006-02-28 2007-08-29 Microsoft Corporation Sichere Inhaltsbeschreibungen
EP1801720A1 (de) * 2005-12-22 2007-06-27 Microsoft Corporation Autorisierung und Authentifizierung
US9459622B2 (en) 2007-01-12 2016-10-04 Legalforce, Inc. Driverless vehicle commerce network and community
US9064288B2 (en) 2006-03-17 2015-06-23 Fatdoor, Inc. Government structures and neighborhood leads in a geo-spatial environment
US9373149B2 (en) 2006-03-17 2016-06-21 Fatdoor, Inc. Autonomous neighborhood vehicle commerce network and community
US8965409B2 (en) 2006-03-17 2015-02-24 Fatdoor, Inc. User-generated community publication in an online neighborhood social network
US9070101B2 (en) 2007-01-12 2015-06-30 Fatdoor, Inc. Peer-to-peer neighborhood delivery multi-copter and method
US9037516B2 (en) 2006-03-17 2015-05-19 Fatdoor, Inc. Direct mailing in a geo-spatial environment
US9071367B2 (en) 2006-03-17 2015-06-30 Fatdoor, Inc. Emergency including crime broadcast in a neighborhood social network
US9098545B2 (en) 2007-07-10 2015-08-04 Raj Abhyanker Hot news neighborhood banter in a geo-spatial social network
US9002754B2 (en) 2006-03-17 2015-04-07 Fatdoor, Inc. Campaign in a geo-spatial environment
EP1916768A1 (de) * 2006-10-27 2008-04-30 Interuniversitair Micro-Elektronica Centrum Vzw Vorrichtung und Verfahren zur Erzeugung eines Signals mit beim Start vordefiniertem Transienten
US8452891B2 (en) * 2008-06-19 2013-05-28 4Dk Technologies, Inc. Routing in a communications network using contextual information
CN101621721A (zh) * 2009-08-06 2010-01-06 中兴通讯股份有限公司 K优路径的计算方法及装置
JP5752020B2 (ja) * 2011-12-06 2015-07-22 株式会社Kddi研究所 攻撃対策装置、攻撃対策方法及び攻撃対策プログラム
US9439367B2 (en) 2014-02-07 2016-09-13 Arthi Abhyanker Network enabled gardening with a remotely controllable positioning extension
US9457901B2 (en) 2014-04-22 2016-10-04 Fatdoor, Inc. Quadcopter with a printable payload extension system and method
US9004396B1 (en) 2014-04-24 2015-04-14 Fatdoor, Inc. Skyteboard quadcopter and method
US9022324B1 (en) 2014-05-05 2015-05-05 Fatdoor, Inc. Coordination of aerial vehicles through a central server
US9971985B2 (en) 2014-06-20 2018-05-15 Raj Abhyanker Train based community
US9441981B2 (en) 2014-06-20 2016-09-13 Fatdoor, Inc. Variable bus stops across a bus route in a regional transportation network
US9451020B2 (en) 2014-07-18 2016-09-20 Legalforce, Inc. Distributed communication of independent autonomous vehicles to provide redundancy and performance
US9807002B2 (en) 2015-04-29 2017-10-31 At&T Intellectual Property I, L.P. Centralized route determination in communication networks
US20180330325A1 (en) 2017-05-12 2018-11-15 Zippy Inc. Method for indicating delivery location and software for same
CN112116136A (zh) * 2020-09-04 2020-12-22 上海汽车集团股份有限公司 一种最短路径的生成方法及相关装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6952682B1 (en) * 1999-07-02 2005-10-04 Ariba, Inc. System and method for matching multi-attribute auction bids
US6628670B1 (en) * 1999-10-29 2003-09-30 International Business Machines Corporation Method and system for sharing reserved bandwidth between several dependent connections in high speed packet switching networks
JP2001326697A (ja) * 2000-05-17 2001-11-22 Hitachi Ltd 移動体通信網、端末装置、パケット通信制御方法、及び、関門装置
US6785737B2 (en) * 2001-07-31 2004-08-31 Tropic Networks Inc. Network resource allocation methods and systems
US7545805B2 (en) * 2001-08-15 2009-06-09 Precache, Inc. Method and apparatus for content-based routing and filtering at routers using channels
CA2411806A1 (en) * 2001-11-16 2003-05-16 Telecommunications Research Laboratory Wide-area content-based routing architecture
US7149219B2 (en) * 2001-12-28 2006-12-12 The Directtv Group, Inc. System and method for content filtering using static source routes
US7551629B2 (en) * 2002-03-28 2009-06-23 Precache, Inc. Method and apparatus for propagating content filters for a publish-subscribe network

Also Published As

Publication number Publication date
EP1598996A1 (de) 2005-11-23
EP1598996B1 (de) 2007-03-14
US7394763B2 (en) 2008-07-01
JP4758680B2 (ja) 2011-08-31
US20050259648A1 (en) 2005-11-24
DE602005000703D1 (de) 2007-04-26
JP2005341572A (ja) 2005-12-08

Similar Documents

Publication Publication Date Title
DE602005000703T2 (de) Wegewahl für Netze mit Inhaltsfilterung
DE69730392T2 (de) Verbindungsmatrix basierte Multikosten-Leitweglengkung
DE69937248T2 (de) Routers und verfahren für optimale leitwegtabellenkomprimierung
DE69636126T2 (de) Verteilte verbindungsorientierte dienste für vermittelte fernmeldenetz
DE60214667T2 (de) Wegbestimmung in einem datennetzwerk
DE602004010976T2 (de) Datenstruktur für bereichspezifizierte Algorithmen
DE69919569T2 (de) Verwaltung von verbindungsorientierten diensten über das internet-protokoll
DE60128733T2 (de) Regelbasiertes weitersenden in OSPF Netzwerken
DE60029513T2 (de) Ein auf Diensteklassen basiertes Internet-Protokoll(IP) Wegelenkungsverfahren
DE112020002493T5 (de) Fat-tree adaptive leitweglenkung
DE69935703T2 (de) Verfahren zur Bestimmung des kürzesten Vermittlungsweges unter Berücksichtigung von Randbedingungen
DE69533535T2 (de) Verfahren zur effizienten aggregation von verbindungsmetriken
US20020023089A1 (en) Modular packet classification
DE602004005785T2 (de) Dynamische Leitweglenkung in einem inhaltbasierten verteilten Netzwerk
DE102007011143A1 (de) Ein Verfahren zum Optimieren des Leitens von Anforderungen in einem Netz
DE10342310A1 (de) Systeme und Verfahren zur schnellen Auswahl von Vorrichtungen in einem Baumtopologienetz
DE602004005242T2 (de) Zentralisierte konfiguration von verwalteten objekten des link-scope-typs in netzwerken, die auf dem internet-protokoll (ip) basieren
DE112016002952T5 (de) Systeme und Verfahren zum Verarbeiten von Paketen in einem Computernetz
DE112011105843T5 (de) Pfaddiversität in einem verbindungsorientierten Netzwerk
DE102004003548B3 (de) Optimierung der Verkehrsverteilung bei Mehrwegerouting
DE69932892T2 (de) System zur Konsolidierung von Telekommunikationsverkehr
DE60312610T2 (de) Vorrichtung und Verfahren zur Bestimmung der Weglenkung in einem Kommunikationsnetzwerk, mit Auswahl von Attributen
DE102018202902B4 (de) Dynamische TCP Proxy Auswahl zur Beschleunigung von kurzen Netzwerkflüssen
DE602004001605T2 (de) Verbesserung vom frühen Zufallsverwerfen von Datenpaketen (RED)
DE102013111341A1 (de) Blockierungsfreies routing in fat-tree-netzwerken

Legal Events

Date Code Title Description
8364 No opposition during term of opposition