DE102004063461A1 - Verfahren zum Suchen von Diensten, Ressourcen und/oder Funktionalitäten in einem Netzwerk - Google Patents

Verfahren zum Suchen von Diensten, Ressourcen und/oder Funktionalitäten in einem Netzwerk Download PDF

Info

Publication number
DE102004063461A1
DE102004063461A1 DE102004063461A DE102004063461A DE102004063461A1 DE 102004063461 A1 DE102004063461 A1 DE 102004063461A1 DE 102004063461 A DE102004063461 A DE 102004063461A DE 102004063461 A DE102004063461 A DE 102004063461A DE 102004063461 A1 DE102004063461 A1 DE 102004063461A1
Authority
DE
Germany
Prior art keywords
node
search
routing path
nodes
services
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.)
Granted
Application number
DE102004063461A
Other languages
English (en)
Other versions
DE102004063461B4 (de
Inventor
Stefan Schmid
Markus Brunner
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.)
NEC Corp
Original Assignee
NEC Europe Ltd
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 NEC Europe Ltd filed Critical NEC Europe Ltd
Priority to DE102004063461A priority Critical patent/DE102004063461B4/de
Priority to JP2005364440A priority patent/JP4737410B2/ja
Priority to US11/312,438 priority patent/US7720025B2/en
Publication of DE102004063461A1 publication Critical patent/DE102004063461A1/de
Application granted granted Critical
Publication of DE102004063461B4 publication Critical patent/DE102004063461B4/de
Expired - Fee Related 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/20Hop count for routing purposes, e.g. TTL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet

Landscapes

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

Abstract

Ein Verfahren zum Suchen von Diensten, Ressourcen und/oder Funktionalitäten in einem Netzwerk, wobei das Netzwerk eine Vielzahl von Knoten umfasst, denen routbare Netzwerkadressen zugeordnet sind, und wobei die zu suchenden Dienste, Ressourcen und/oder Funktionalitäten von einem Quellknoten (Q) festgelegt werden, ist dadurch gekennzeichnet, dass durch mindestens einen Zielknoten (Z) und/oder durch Knoten in der Nähe des Zielknotens (Z) jeweils eine Richtung innerhalb des Netzwerks vorgegeben wird, durch die ein Routingpfad zwischen dem Quellknoten (Q) und dem jeweiligen Zielknoten (Z) definiert wird, und dass in die Suche nur vorgebbare Knoten in der Nähe eines Routingpfades zwischen dem Quellknoten (Q) und einem Zielknoten (Z) einbezogen werden.

Description

  • Die Erfindung betrifft ein Verfahren zum Suchen von Diensten, Ressourcen und/oder Funktionalitäten in einem Netzwerk, wobei das Netzwerk eine Vielzahl von Knoten umfasst, denen routbare Netzwerkadressen zugeordnet sind, und wobei die zu suchenden Dienste, Ressourcen und/oder Funktionalitäten von einem Quellknoten festgelegt werden.
  • Verfahren der hier in Rede stehenden Art gehören seit einiger Zeit zum Stand der Technik. Angesichts einer starken Entwicklung dahingehend, dass spezielle Dienste, Ressourcen und/oder Funktionalitäten, z.B. Firewalls, Speicherplatz, Media Cache, Transcoder, etc., in zunehmendem Maße netzwerkseitig bereitgestellt werden, kommt derartigen Verfahren eine stets wachsende Bedeutung zu.
  • Im Rahmen eines konkreten gattungsbildenden Verfahrens ist es bekannt, verfügbare Dienste oder Ressourcen an einem allgemein bekannten Directory-Dienst anzumelden. Kunden bzw. Knoten, die bestimmte Dienste/Ressourcen suchen, richten ihre Anfrage dann unmittelbar an diesen Directory-Dienst. Nachteilig bei diesem Ansatz ist, dass die ständige Aktualisierung des Directory-Dienstes extrem kostenintensiv ist. Dies gilt insbesondere im Fall von hochdynamischen und/oder mobilen Umgebungen. Die Anzahl von Updates, die benötigt wird, um den Directory-Dienst auf einem aktuellen Stand zu halten, steigt insbesondere dann rapide an, wenn sich z.B. die Verfügbarkeit eines Dienstes oder bestimmte zur Nutzung eines Dienstes benötigte Informationen häufig ändern. Gleiches gilt, wenn es sich bei dem Knoten, der einen Dienst bereitstellt, um einen mobilen Knoten handelt.
  • Ein weiterer Nachteil, der mit der Nutzung eines Directory-Dienstes einhergeht, besteht darin, dass ein auf einem Verzeichnis basierter Dienst typischerweise nicht in der Lage ist, topologische Aspekte, d.h. insbesondere den Ort einer Ressource oder eines Dienstes innerhalb des Netzwerks, zu berücksichtigen.
  • Bei einem anderen bekannten Ansatz wird auf der Suche nach bestimmten netzwerkseitigen Diensten und/oder Ressourcen eine „Look-Up"-Anfrage in das Netzwerk ausgesendet. Knoten, die bereit und in der Lage sind, den angefragten Dienst bzw. die angefragte Ressource bereitzustellen, antworten auf die Look-Up-Anfrage. Dieses Verfahren wird auch als „Flooding" bezeichnet.
  • Der entscheidende Nachteil dieses Verfahrens besteht darin, dass es nicht skaliert. In großen Netzwerken produziert der beschriebene Ansatz eine enorme Menge an überflüssigem Verkehr und möglicherweise eine sehr hohe Anzahl von Antworten. Ohne einen entsprechenden Hinweis, an welchem Ort innerhalb des Netzwerks ein angefragter Dienst positioniert sein soll, hat eine derartige Suche Einfluss auf alle Knoten des Netzwerks.
  • Der vorliegenden Erfindung liegt nunmehr die Aufgabe zugrunde, ein Verfahren der eingangs genannten Art derart auszugestalten und weiterzubilden, dass eine effiziente Suche auch in dynamischen Umgebungen mit einfachen Mitteln ermöglicht ist. Darüber hinaus soll das Verfahren skalieren.
  • Die voranstehende Aufgabe ist durch ein Verfahren mit den Merkmalen des Patentanspruchs 1 gelöst. Danach ist ein Verfahren zum Suchen von Diensten, Ressourcen und/oder Funktionalitäten in einem Netzwerk der eingangs genannten Art dadurch gekennzeichnet, dass durch mindestens einen Zielknoten und/oder durch Knoten in der Nähe des Zielknotens jeweils eine Richtung innerhalb des Netzwerks vorgegeben wird, durch die ein Routingpfad zwischen dem Quellknoten und dem jeweiligen Zielknoten definiert wird, und dass in die Suche nur vorgebbare Knoten in der Nähe eines Routingpfades zwischen dem Quellknoten und einem Zielknoten einbezogen werden.
  • In erfindungsgemäßer Weise ist zunächst erkannt worden, dass eine besonders effiziente Suche nach netzwerkseitigen Diensten, Ressourcen und/oder Funktionalitäten, die im Folgenden der Einfachheit halber kurz als Dienste zusammengefasst werden, dann ermöglicht ist, wenn zunächst durch mindestens einen Zielknoten und/oder Knoten in der Nähe des Zielknoten jeweils eine Richtung innerhalb des Netzwerks vorgegeben wird. Bei dem bzw. den Zielknoten kann es sich beispielsweise um ein Mobilgerät eines gewünschten Gesprächspartners bzw. die Mobilgeräte mehrerer Gesprächspartner handeln. Die Richtung kann auch durch Knoten vorgegeben werden, die sich in der Nähe des Zielknotens befinden. Im angeführten Beispiel kann es sich dabei beispielsweise um eine Basisstation des Gesprächspartners handeln. Bei einer anderen Anwendung kann der Zielknoten beispielsweise ein Server sein, von dem bestimmte Daten herunter geladen werden sollen. Durch die Festlegung einer Richtung wird in weiter erfindungsgemäßer Weise ein Routingpfad zwischen dem Quellknoten und dem jeweiligen Zielknoten definiert, wobei der Routingpfad durch eine gewisse Anzahl von Knoten des Netzwerks gebildet wird.
  • Erfindungsgemäß werden in die Suche nur vorgebbare Knoten entlang des Routingspfades zwischen dem Quellknoten und dem Zielknoten einbezogen. Auf diese Weise ist eine effiziente Suche möglich, bei der lediglich eine geringe Datenmenge generiert wird. Darüber hinaus skaliert das erfindungsgemäße Verfahren, da auch in großen Netzwerken nur Knoten in die Suche einbezogen werden, die sich in der Nähe des Routingpfades zwischen dem Quellknoten und einem Zielknoten befinden. Alle übrigen Knoten des Netzwerkes werden von der Suche nicht beeinflusst.
  • Das erfindungsgemäße Verfahren lässt sich besonders vorteilhaft beispielsweise in modernden mobilen Netzwerken einsetzen, wo Teilnehmer oftmals vor der Aufgabe stehen, eine gute Adaption, Transcoding, Caching, Web-Cache und/oder SIP-Proxy-Funktionalitäten/Server zu finden. Durch eine gerichtete Suche in Richtung auf den Ursprung eines Datenstroms, der beispielsweise aus dem Heimatnetz des Teilnehmers kommt, lassen sich die gesuchten Funktionen nahe des Routingpfades des Datenstromes finden. Je weiter der gesuchte Dienst dabei vom Ursprung der Suche, d.h. von dem Mobilgerät des Teilnehmers, entfernt ist, desto vorteilhafter stellt sich das erfindungsgemäße Suchmuster im Vergleich zu bekannten Ansätzen dar. Das erfindungsgemäße Verfahren ist somit insbesondere für Roaming zwischen UTRAN, WLAN, ADSL, Ethernet oder sonstigen Netzwerken geeignet.
  • In Ad-Hoc Netzwerken die dadurch charakterisiert sind, dass stets neue Knoten in das Netzwerk eintreten, während andere Knoten das Netzwerk verlassen, kann weder das bekannte Service Location Protokoll (SLP) noch eines der eingangs genannten Verfahren eingesetzt werden. Insbesondere das sog. Flooding ist im Hinblick auf die geringe drahtlose Bandbreite und die typischerweise sehr begrenzt zur Verfügung stehenden Energieressourcen zu aufwendig. Mit einer Suche in eine bestimmte Richtung entsprechend dem erfindungsgemäßen Verfahren ist eine effektive Suche auch in derartigen Ad-Hoc Netzwerken möglich. In einer geografischen Routing-Umgebung kann die Suche beispielsweise in Richtung auf einen nächsten drahtgebundenen Zugangspunkt vorgenommen werden, wobei der Zugangspunkt beispielsweise in einer Fahrt- bzw. Bewegungsrichtung liegt.
  • Im Rahmen einer besonders bevorzugten Ausführungsform ist die Vorgabe eines Such-Parameters vorgesehen, mit dessen Hilfe diejenigen Knoten in der Nähe des Routingpfades bestimmt werden, die in die Suche einbezogen werden. Weiter kann vorgesehen sein, dass der Such-Parameter an die Art der konkret gesuchten Dienste angepasst wird. Auf diese Weise lässt sich ein hohes Maß an Flexibilität erreichen. So kann beispielsweise bei der Suche nach einem Dienst, der in einem Netzwerk bekanntermaßen nur äußerst selten zur Verfügung gestellt wird, der Such-Parameter derart definiert werden, dass eine hohe Anzahl an Knoten in die Suche eingebunden wird. Gleiches gilt umgekehrt für häufig bereitstehende Dienste.
  • In einer besonders bevorzugten Ausführungsform wird der Such-Parameter als eine seitliche Entfernung von Knoten des Routingpfades, d.h. als eine „sideway expansion" definiert. Dabei ist die Metrik, in der die seitliche Entfernung angegeben wird, beliebig wählbar. Im Konkreten kann der Such-Parameter bspw. eine ganze Zahl i = 1,... n sein, welche die Anzahl von Hops in seitlicher Entfernung von Knoten des Routingpfades angibt. Ein Such-Parameter i = 2 bedeutet folglich, dass alle Knoten, die in seitlicher Richtung maximal 2 Hops von Knoten des Routingpfades entfernt sind, in die Suche einbezogen werden. Alternativ kann der Such-Parameter beispielsweise auch als geographische Distanz oder als zeitliche Verzögerung definiert werden.
  • Alternativ ist es denkbar, den Such-Parameter als eine von der Entfernung von dem Quellknoten abhängige Funktion zu definieren. So könnte beispielsweise die seitliche Entfernung, in der Knoten in die Suche einbezogen werden, mit wachsendem Abstand vom Quellknoten kleiner gewählt werden. Eine derartige Festlegung bietet sich beispielsweise bei einer Cache-Suche an, da eine Positionierung des Cache nahe beim Client, d.h. beim Quellknoten, erwünscht ist.
  • Zur Initiierung der Suche kann vorgesehen sein, dass der Quellknoten eine Nachricht an den einen Hop von ihm entfernten Knoten des Routingpfades sendet. Die Nachricht kann dabei zum einen Angaben bezüglich der gesuchten Dienste und zum anderen den Such-Parameter umfassen. Des Weiteren kann die Nachricht sonstige Angaben umfassen, die für die Suche relevant sind, so beispielsweise Funktionen, die z.B. eine Änderung der seitlichen Ausdehnung der Suche beschreiben.
  • Zur Fortpflanzung der Nachricht entlang des Routingpfades in Richtung auf den Zielknoten leitet jeder Knoten des Routingpfades die Nachricht, wenn er sie zum ersten Mal empfängt, an den nächsten einen Hop entfernten Knoten auf dem Routingpfad weiter.
  • Zur Ausdehnung der Suche in seitliche Richtungen kann vorgesehen sein, dass jeder Knoten des Routingpfades die Nachricht nicht nur an den nächsten Knoten auf dem Routingpfad, sondern auch an einen Hop entfernte Knoten in seitlicher Richtung vom Routingpfad sendet. Voraussetzung hierfür ist, dass der Such-Parameter dies zulässt. Für den Fall, dass der Such-Parameter in Form einer Anzahl i von Hops wie oben beschrieben definiert ist, darf i somit nicht gleich Null sein. Zur Begrenzung der seitlichen Ausdehnung der Suche entsprechend dem vorgegebenen Such-Parameter kann vorgesehen sein, dass jeder Knoten seitlich vom Routingpfad, der die Nachricht zum ersten Mal empfängt, den Such-Parameter verändert, d.h. beispielsweise die Anzahl i an Hops um 1 dekrementiert. Ggf., d.h. wenn i nach der Dekrementierung noch größer als Null ist, kann der Knoten eine Nachricht mit dem veränderten Such-Parameter an einen Hop weiter vom Routingpfad entfernte Knoten senden.
  • In einer konkreten Implementierung ist vorgesehen, dass die Suche abgebrochen wird, sobald ein Knoten gefunden worden ist, der den gesuchten Dienst zur Verfügung stellen kann. Ein derartiges Abbrechen der Suche ist insbesondere dann vorteilhaft, wenn das Hauptinteresse nicht einer bestimmten Güte des Dienstes, sondern einer Minimierung des Suchaufwandes gilt. Alternativ ist es denkbar, die Suche erst dann abzubrechen, wenn Knoten gefunden worden sind, die die gesuchten Dienste in einer vorgebbaren Güte zur Verfügung stellen können. Die Güte kann sich dabei auf unterschiedliche Eigenschaften des Dienstes beziehen, insbesondere auf dessen Verfügbarkeit, Auslastung, Kapazität, Kosten, etc.
  • Für bestimmte Anwendungen hat es sich als besonders vorteilhaft erwiesen, die Suche in mehreren Durchläufen durchzuführen, wobei für einen ersten Durchlauf der Such-Parameter als eine kleine Entfernung vom Routingpfad definiert wird. Beispielsweise kann der Such-Parameter zu i = 1 festgelegt werden, so dass zusätzlich zu den Knoten des Routingpfades nur diejenigen Knoten in die Suche einbezogen werden, die in seitlicher Richtung genau einen Hop von Knoten des Routingpfades entfernt sind. Für den Fall, dass in einem derartigen ersten – schnellen – Durchlauf keine der Suche entsprechenden Dienste gefunden worden sind, kann der Such-Parameter für einen weiteren Durchlauf als eine größere seitliche Entfernung vom Routingpfad definiert werden, d.h. beispielsweise i = 2, 3,....
  • Die an den in die Suche einbezogenen Knoten gewonnenen Informationen bezüglich der Verfügbarkeit der gesuchten Dienste können in besonders vorteilhafter Weise am Quellknoten zusammengeführt werden. Dazu können – angefangen bei den äußersten Knoten der Seitenpfade – entsprechende Nachrichten, die im Folgenden als Echos bezeichnet werden, zu den Knoten des Routingpfades und von dort – ausgehend vom Zielknoten – in Richtung zum Quellknoten gesendet werden. Mit anderen Worten sendet jeder Knoten ein Echo an seinen jeweiligen Parent-Knoten, d.h. an denjenigen Knoten, von dem er die ursprüngliche Nachricht empfangen hat. Das Echo umfasst dabei sowohl die Information des Knoten selbst als auch die – aggregierten – Informationen seiner Child-Knoten, d.h. derjenigen Knoten, an die er die Nachricht mittelbar oder unmittelbar gesendet hat.
  • Insbesondere in mobilen Netzwerken oder in Ad-Hoc Netzwerken kann es vorkommen, dass bestimmte Knoten kein Echo aussenden. Der Grund hierfür kann beispielsweise sein, dass ein Knoten aufgrund seines Energiezustandes in einen Schlafzustand übergegangen ist, oder dass ein Knoten das Netzwerk zwischenzeitlich bereits verlassen hat. Für diese Fälle erweist sich ein Mechanismus als vorteilhaft, welcher die Zusammenführung der Informationen am Quellknoten sicherstellt. So kann beispielsweise vorgesehen sein, dass ein Knoten, falls er kein Echo von einem oder mehrerer seiner Child-Knoten empfangen hat, zunächst eine vorgebbare Zeitdauer – Timeout – wartet. Hat er nach Ablauf der Zeitdauer noch immer kein Echo von den betreffenden Knoten erhalten, so kann er sein Echo ohne die Informationen der betreffenden Knoten an seinen Parent-Knoten senden. Da der mit einem derartigen Echo einhergehende Informationsverlust für Knoten nahe des Routingpfades größer ist als für weiter vom Routingpfad entfernte Knoten, kann das Timeout für einen Knoten in vorteilhafter Weise umso länger gewählt werden, je näher er am Routinpfad positioniert ist. Den Knoten des Routingpfades wird demnach das längste und den äußersten Knoten der Seitenpfade das kürzeste Timeout zugewiesen. Der festgelegte Wert des Timeouts kann den Knoten bspw. zusammen mit der ursprünglich vom Quellknoten gesendeten und an die in die Suche einbezogenen Knoten weitergeleiteten Nachricht bekannt gemacht werden.
  • In Bezug auf den Ausfall einzelner Knoten und den eingesetzten Timeout-Mechanismus können zwei Fälle unterschieden werden. Zum einen ist es möglich, dass der Ausfall eines Knotens bereits – wodurch auch immer – bekannt ist. So kann beispielsweise in einem Schicht-Netzwerk von einer unteren Schicht detektiert werden, dass bestimmte Knoten dauerhaft oder temporär nicht zur Verfügung stehen. In einem solchen Fall kann vorgesehen werden, dass das Timeout erst dann gestartet wird, wenn von allen aktiven Knoten ein Echo zurückgekommen ist. In einer anderen Konstellation kann es vorkommen, dass überhaupt keine Informationen darüber vorliegen, ob bestimmte Knoten ausgefallen sind bzw. nicht zur Verfügung stehen. In einem derartigen Fall wird das Timeout in vorteilhafter Weise dann gestartet, wenn die Nachricht an alle in die Suche einbezogenen Knoten verteilt ist. Die Länge der Timeouts kann für die beiden beschriebenen Konstellationen unabhängig voneinander gewählt werden.
  • Nach Abschluss der Suche kann vorgesehen sein, dass ein virtuelles Overlay-Netzwerk generiert wird, in das Knoten auf der Grundlage der Suchergebnisse entsprechend vorgebbarer Kriterien aufgenommen werden. Beispielsweise können die Knoten unter dem Gesichtspunkt möglichst niedriger Kosten oder möglichst umfassender Kapazitäten ausgewählt werden. Das virtuelle Overlay-Netzwerk kann dann quasi als „Tunnel-Netzwerk" dienen, durch das die mit der Nutzung des Dienstes in Zusammenhang stehenden Pakete geleitet werden, ohne dass das Routing im eigentlichen Netzwerk geändert werden muss.
  • Es gibt nun verschiedene Möglichkeiten, die Lehre der vorliegenden Erfindung in vorteilhafter Weise auszugestalten und weiterzubilden. Dazu ist einerseits auf die dem Patentanspruch 1 nachgeordneten Patentansprüche und andererseits auf die nachfolgende Erläuterung eines Ausführungsbeispiels der Erfindung anhand der Zeichnung zu verweisen. In Verbindung mit der Erläuterung des bevorzugten Ausführungsbeispiels der Erfindung werden auch im Allgemeinen bevorzugte Ausgestaltungen und Weiterbildung der Lehre erläutert. In der Zeichnung zeigt die einzige
  • Fig. in einer schematischen Ansicht den Aufbau eines Netzwerks sowie die grundsätzliche Funktionsweise des erfindungsgemäßen Verfahrens zur Suche von Diensten, Ressourcen und/oder Funktionalitäten in dem Netzwerk.
  • Die einzige Fig. zeigt zunächst – schematisch – ein Netzwerk mit einer Vielzahl von Knoten, wobei die Knoten jeweils als Kreuzungspunkte zweier Graden angedeutet sind. Die Kommunikation innerhalb des Netzwerks basiert auf einem Routing-Mechanismus. Dabei ist jedem Knoten innerhalb des Netzwerks eine routbare Netzwerkadresse zugeordnet.
  • Als schwarz ausgefülltes Quadrat ist ein Quellknoten Q dargestellt, von dem die Suche eines netzwerkseitigen Dienstes initiiert wird. Die Suche wird gerichtet durchgeführt, und zwar in Richtung auf einen ebenfalls als schwarz ausgefülltes Quadrat dargestellten Zielknoten Z. Zwischen dem Quellknoten Q und dem Zielknoten Z ist ein Routingpfad ausgebildet. Die einzelnen Knoten des Routingpfades sind durch weiße Kreise mit schwarzem Punkt symbolisiert. Es sei an dieser Stelle nochmals betont, dass die Suche auch in Richtung auf mehrere unterschiedliche Zielknoten Z entlang einer entsprechenden Anzahl von Routingpfaden durchgeführt werden kann. In der Figur ist aus Gründen der Übersichtlichkeit lediglich ein Zielknoten Z und entsprechend ein Routingpfad gezeigt.
  • Um die Suche zu beginnen, wird zunächst ein so genanntes „OnStart"-Verfahren ausgeführt. Im Rahmen der „OnStart"-Routine ermittelt der Quellknoten Q den Knoten des Routingpfades, der einen Hop von ihm entfernt ist, und sendet sodann eine Nachricht an diesen Knoten. Die Nachricht enthält eine Steuerungsinformation bezüglich des zu suchenden Dienstes sowie einen Such-Parameter. Der Such-Parameter gibt an, wie weit die Suche in seitlichen Richtungen vom Routingpfad ausgedehnt werden soll. Im Konkreten ist der Such-Parameter als ganze Zahl i de finiert, was bedeutet, dass Knoten, die in seitlicher Richtung i Hops von Knoten des Routingpfads entfernt sind, in die Suche eingebunden werden. Im dargestellten Beispiel ist i = 1 gewählt, was bedeutet, dass nur die den Knoten des Routingpfades in seitlichen Richtungen unmittelbar benachbartem Knoten in die Suche einbezogen werden. In der Fig. sind alle in die Suche einbezogenen Knoten als weiße Kreise veranschaulicht.
  • Sobald der erste Knoten des Routingpfades die Nachricht vom Quellknoten Q empfangen hat, führt er eine „Onlnitiate"-Routine aus. Im Rahmen dieser Routine prüft er zunächst anhand der in der Nachricht enthaltenen Information, ob er ein Zwischenknoten ist oder nicht. Wenn er ein Zwischenknoten ist, bestimmt er den nächsten benachbarten Knoten des Routingpfades, an den er die Nachricht weitersendet. Des Weiteren analysiert er den ebenfalls in der Nachricht enthaltenen Such-Parameter im Hinblick auf die seitliche Ausdehnung der Suche. Im dargestellten Beispiel, d.h. mit i = 1, sendet der Knoten die Nachricht zusätzlich an in seitlicher Richtung benachbarte Knoten. Die seitlichen Knoten empfangen die Nachricht und stellen fest, dass sie keine Zwischenknoten sind, d.h. dass sie nicht auf dem Routingpfad liegen. Daraufhin dekrementieren sie den Such-Parameter um den Wert 1. Falls das Ergebnis größer als Null ist, warten sie für eine vorgebbare Zeit und senden danach die Nachricht an weiter außen liegende Knoten. Im dargestellten Beispiel ist das Ergebnis nach der Dekrementierung gleich Null. Demzufolge wird die Nachricht nicht weiter gesendet, d.h. die seitliche Ausdehnung der Suche wird abgebrochen.
  • In einem nächsten Schritt wird eine „OnAggregate"-Routine ausgeführt. Dabei werden die an allen der in die Suche einbezogenen Knoten gewonnen Informationen bezüglich der Verfügbarkeit des gesuchten Dienstes (und ggf. bezüglich dessen Güte) am Quellknoten Q zusammengeführt. Jeder Knoten führt dabei eine Liste seiner Kinder, d.h. derjenigen Knoten, an die er seine Nachricht gesendet hat sowie deren Kinder. Wenn ein Knoten im Rahmen der „OnAggregate"-Routine eine Rückantwort von allen seinen Kindern empfangen hat, führt er die so genannte „OnComplete"-Methode aus, d.h. er beendet seine die Suche betreffenden Aktivitäten. Gleiches gilt für Knoten, die keine Kinder haben, d.h. für die in seitlicher Richtung am weitesten vom Routingpfad entfernten Knoten.
  • Sobald der Quellknoten Q eine Rückantwort von allen seinen Kindern empfangen hat, wird eine „OnTerminate"-Routine ausgeführt. Diese Routine bildet den Abschluss der Suche.
  • Nach Beendigung der Suche liegen am Quellknoten Q Informationen von allen in die Suche einbezogenen Knoten bezüglich der Verfügbarkeit des gesuchten Dienstes vor. Anhand von Zusatzinformationen, die beispielsweise angeben, welchen Datendurchsatz ein Knoten für den gesuchten Dienst bewerkstelligen kann und welche Kosten durch die Nutzung des Dienstes entstehen, wird ein Overlay-Netzwerk generiert. Dieses Overlay-Netzwerk umfasst diejenigen Knoten, die vorgebbare Kriterien – beispielsweise kostengünstigster Weg, geringste Auslastung, etc. – am besten erfüllen. Die für das Overlay-Netzwerk ausgewählten Knoten, die in der Fig. von einem grau unterlegten Quadrat umgeben sind, bilden einen virtuellen Tunnel, durch den die Pakte geleitet werden können, ohne dass das Routing im Netzwerk verändert werden muss.
  • Abschließend sei ganz besonders hervorgehoben, dass das zuvor rein willkürlich gewählte Ausführungsbeispiel lediglich zur Erörterung der erfindungsgemäßen Lehre dient, diese jedoch nicht auf das Ausführungsbeispiel einschränkt.

Claims (19)

  1. Verfahren zum Suchen von Diensten, Ressourcen und/oder Funktionalitäten in einem Netzwerk, wobei das Netzwerk eine Vielzahl von Knoten umfasst, denen routbare Netzwerkadressen zugeordnet sind, und wobei die zu suchenden Dienste, Ressourcen und/oder Funktionalitäten von einem Quellknoten (Q) festgelegt werden, dadurch gekennzeichnet, dass durch mindestens einen Zielknoten (Z) und/oder durch Knoten in der Nähe des Zielknotens (Z) jeweils eine Richtung innerhalb des Netzwerks vorgegeben wird, durch die ein Routingpfad zwischen dem Quellknoten (Q) und dem jeweiligen Zielknoten (Z) definiert wird, und dass in die Suche nur vorgebbare Knoten in der Nähe eines Routingpfades zwischen dem Quellknoten (Q) und einem Zielknoten (Z) einbezogen werden.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass diejenigen Knoten in der Nähe des Routingpfades, die in die Suche einbezogenen werden, mittels eines vorgebbaren Such-Parameters bestimmt werden.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass der Such-Parameter an die Art der konkret gesuchten Dienste, Ressourcen und/oder Funktionalitäten angepasst wird.
  4. Verfahren nach Anspruch 2 oder 3, dadurch gekennzeichnet, dass der Such-Parameter als eine seitliche Entfernung von Knoten des Routingpfades definiert wird, vorzugsweise in Form einer Anzahl von Hops, als geographische Distanz oder in Form einer Verzögerung.
  5. Verfahren nach einem der Ansprüche 2 bis 4, dadurch gekennzeichnet, dass der Such-Parameter als eine von der Entfernung von dem Quellknoten (Q) abhängige Funktion definiert wird.
  6. Verfahren nach einem der Ansprüche 2 bis 5, dadurch gekennzeichnet, dass der Quellknoten (Q) zur Initiierung der Suche eine Nachricht an den einen Hop entfernten Knoten des Routingpfades sendet, wobei die Nachricht Angaben bezüglich der gesuchten Dienste, Ressourcen und/oder Funktionalitäten sowie den Such-Parameter umfasst.
  7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass jeder Knoten des Routingpfades die Nachricht, wenn er sie zum ersten Mal empfängt, an den nächsten einen Hop entfernten Knoten auf dem Routingpfad weiter sendet.
  8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass jeder Knoten des Routingpfades die Nachricht entsprechend dem Such-Parameter an einen Hop entfernte Knoten in seitlicher Richtung vom Routingpfad sendet.
  9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass jeder Knoten seitlich vom Routingpfad, der die Nachricht zum ersten Mal empfängt, den Such-Parameter verändert, vorzugsweise die Anzahl an Hops um 1 dekrementiert, und ggf. eine Nachricht mit dem veränderten Such-Parameter an einen Hop weiter vom Routingpfad entfernte Knoten sendet.
  10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass die Suche abgebrochen wird, sobald ein Knoten gefunden worden ist, der die gesuchten Dienste, Ressourcen und/oder Funktionalitäten zur Verfügung stellen kann.
  11. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass die Suche abgebrochen wird, sobald Knoten gefunden worden sind, die die gesuchten Dienste, Ressourcen und/oder Funktionalitäten in einer vorgebbaren Güte zur Verfügung stellen können.
  12. Verfahren nach einem der Ansprüche 2 bis 11, dadurch gekennzeichnet, dass die Suche in mehreren Durchläufen durchgeführt wird, wobei für einen ersten Durchlauf der Such-Parameter als eine kleine seitliche Entfernung vom Routingpfad definiert wird.
  13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass der Such-Parameter für den ersten Durchlauf derart definiert wird, dass nur Knoten in die Suche einbezogen werden, die in seitlicher Richtung genau einen Hop von Knoten des Routingpfades entfernt sind.
  14. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass der Such-Parameter für einen nachfolgenden Durchlauf als eine größere seitliche Entfernung vom Routingpfad definiert wird, falls in dem ersten Durchlauf keine der Suche entsprechenden Dienste, Ressourcen und/oder Funktionalitäten gefunden worden sind.
  15. Verfahren nach einem der Ansprüche 1 bis 14, dadurch gekennzeichnet, dass die an den in die Suche einbezogenen Knoten gewonnenen Informationen bezüglich der Verfügbarkeit der gesuchten Dienste, Ressourcen und/oder Funktionalitäten am Quellknoten (Q) zusammen geführt werden.
  16. Verfahren nach Anspruch 15, dadurch gekennzeichnet, dass zur Zusammenführung der Informationen am Quellknoten (Q) jeder Knoten ein entsprechendes Echo an seinen jeweiligen Parent-Knoten sendet, von dem er die Nachricht empfangen hat, wobei das Echo sowohl die Informationen des Knotens selbst als auch die Informationen seiner Child-Knoten, an die er die Nachricht mittelbar oder unmittelbar gesendet hat, umfasst.
  17. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass ein Knoten, falls er kein Echo von einem oder mehreren seiner Child-Knoten empfangen hat, eine vorgebbare Zeitdauer – Timeout – wartet, bevor er ein Echo ohne die Information der betroffenen Child-Knoten an seinen Parent-Knoten sendet.
  18. Verfahren nach Anspruch 17, dadurch gekennzeichnet, dass das Timeout für einen Knoten umso länger gewählt wird, je näher er an einem Knoten des Routingpfades positioniert ist.
  19. Verfahren nach einem der Ansprüche 1 bis 18, dadurch gekennzeichnet, dass nach Abschluss der Suche ein virtuelles Overlay-Netzwerk generiert wird, in das Knoten auf der Grundlage der Suchergebnisse entsprechend vorgebbarer Kriterien aufgenommen werden.
DE102004063461A 2004-12-23 2004-12-23 Verfahren zum Suchen von Diensten, Ressourcen und/oder Funktionalitäten in einem Netzwerk Expired - Fee Related DE102004063461B4 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102004063461A DE102004063461B4 (de) 2004-12-23 2004-12-23 Verfahren zum Suchen von Diensten, Ressourcen und/oder Funktionalitäten in einem Netzwerk
JP2005364440A JP4737410B2 (ja) 2004-12-23 2005-12-19 ネットワーク内でサービス、リソースおよび/または機能を検索する方法
US11/312,438 US7720025B2 (en) 2004-12-23 2005-12-21 Method for searching services, resources and/or functionalities in a network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102004063461A DE102004063461B4 (de) 2004-12-23 2004-12-23 Verfahren zum Suchen von Diensten, Ressourcen und/oder Funktionalitäten in einem Netzwerk

Publications (2)

Publication Number Publication Date
DE102004063461A1 true DE102004063461A1 (de) 2006-07-13
DE102004063461B4 DE102004063461B4 (de) 2008-06-26

Family

ID=36599337

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004063461A Expired - Fee Related DE102004063461B4 (de) 2004-12-23 2004-12-23 Verfahren zum Suchen von Diensten, Ressourcen und/oder Funktionalitäten in einem Netzwerk

Country Status (3)

Country Link
US (1) US7720025B2 (de)
JP (1) JP4737410B2 (de)
DE (1) DE102004063461B4 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7940778B2 (en) * 2007-06-29 2011-05-10 Intel Corporation Cross-layer approach to virtualized overlay on ad hoc networks
JP5770256B2 (ja) * 2013-12-12 2015-08-26 インテル・コーポレーション 群知能を利用する大規模分散型システムにおける情報ルーティングのために枠組みを利用するシステムおよび方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0637152A1 (de) * 1993-07-30 1995-02-01 International Business Machines Corporation Verfahren und Gerät zur Beschleunigung der Wahl des Weges in einem Paketvermittlungsnetz
EP1387535A2 (de) * 2002-07-31 2004-02-04 Alcatel Minimale Ablenkungs-Wegelenkung in pufferlosen Netzen

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6842430B1 (en) * 1996-10-16 2005-01-11 Koninklijke Philips Electronics N.V. Method for configuring and routing data within a wireless multihop network and a wireless network for implementing the same
JP2000069031A (ja) * 1998-08-21 2000-03-03 Nec Corp Rsvpにおける代理フロー構築システムおよび方法
JP3092666B1 (ja) * 1999-05-13 2000-09-25 沖電気工業株式会社 迂回経路選定方法、迂回経路選定装置、ノード及びネットワークシステム
JP2003289325A (ja) * 2002-03-28 2003-10-10 Fujitsu Ltd 通信ネットワークの迂回経路設計方法
US7215640B2 (en) * 2002-07-11 2007-05-08 Hitachi, Ltd. Method and apparatus for path configuration in networks
JP2004320405A (ja) * 2003-04-16 2004-11-11 Matsushita Electric Ind Co Ltd 情報端末検索システム
JP2004341912A (ja) * 2003-05-16 2004-12-02 Nippon Telegr & Teleph Corp <Ntt> 情報探索方法、サーバント、プログラム及び該プログラムを記録した記録媒体
US7483374B2 (en) * 2003-08-05 2009-01-27 Scalent Systems, Inc. Method and apparatus for achieving dynamic capacity and high availability in multi-stage data networks using adaptive flow-based routing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0637152A1 (de) * 1993-07-30 1995-02-01 International Business Machines Corporation Verfahren und Gerät zur Beschleunigung der Wahl des Weges in einem Paketvermittlungsnetz
EP1387535A2 (de) * 2002-07-31 2004-02-04 Alcatel Minimale Ablenkungs-Wegelenkung in pufferlosen Netzen

Also Published As

Publication number Publication date
DE102004063461B4 (de) 2008-06-26
US7720025B2 (en) 2010-05-18
US20060140124A1 (en) 2006-06-29
JP4737410B2 (ja) 2011-08-03
JP2006180490A (ja) 2006-07-06

Similar Documents

Publication Publication Date Title
DE69911445T2 (de) Verfahren und vorrichtung zur entdeckung von mitteln unter verwendung von mehrfachübertragungsumfang
DE60302051T2 (de) Verfahren, netzwerk und gerät zur konfiguration und steuerung von netzressourcen beim zurverfügungstellen von inhalten mit verteilungsregeln
DE69927238T2 (de) Mobil-IP mit Unterstützung für Dienstqualität
EP1405540B1 (de) Verfahren zum durchführen eines qos-orientierten handoffs zwischen einem ersten und einem zweiten ip-basierten, insbesondere mobilen ipv6-basierten kommunikationspfad zwischen einem mobile node (mn) und einem correspondent node (cn)
DE69833111T2 (de) Bestimmung von trägerdiensten in einem funkzugriffsnetz
EP2005700B1 (de) Verfahren zur ermittlung einer aufgabenerlaubnis
DE69927457T2 (de) Verfahren und Vorrichtung zur Cache-Speicherung von Informationen im Netzwerk
DE19922288A1 (de) Anordnung zur mobilen Kommunikation
DE102014018873A1 (de) Telekommunikationsanordnung und Verfahren zum Herstellen einer RTC-Verbindung zwischen einem ersten Endpunkt und einem zweiten Endpunkt
DE60029292T2 (de) System und Verfahren zur mobilen Kommunikation mit Vermeidung von Verzögerungen bei der Datenübertragung
DE60205501T2 (de) Verwaltung von informationen über subskriptionen der dienstleistungen von dritten
DE60211287T2 (de) Handhabung von Verbindungen, die zwischen Firewalls umziehen
DE60215053T2 (de) Verfahren zur unterstützung der mobilität in drahtlosen netzwerken
DE602005000724T2 (de) Wegleitung in einem Kommunikationsnetzwerk
WO2005055529A1 (de) Verfahren zur herstellung einer verbindung zwischen einem dienstanforderer (client) und einem dienstanbieter (server) in einem dezentralen mobilfunknetz
DE60121538T2 (de) Verfahren zur Anpassung von Informationsinhalten an die Eigenschaften mobiler Endgeräte
DE60032070T2 (de) Architektur zur Bereitstellung von Leistungsmerkmalen für drahtlose Anrufe in einem drahtlosen Telekommunikationssystem
AT522277A1 (de) Verfahren zur paketweisen Übermittlung von Daten
DE102004063461B4 (de) Verfahren zum Suchen von Diensten, Ressourcen und/oder Funktionalitäten in einem Netzwerk
EP1117083B1 (de) Verfahren zur dezentralen Übertragung und Verteilung von Nutzdaten zwischen Teilnehmern eines Telekommunikationsnetzwerkes
EP2171943B1 (de) Verfahren zum routen von dienstnachrichten
EP3264811B1 (de) Vorrichtungen und verfahren zum betreiben eines mobilfunknetzwerks mit mehreren logischen subnetzwerken
DE102006046023B3 (de) Verfahren zur Optimierung der NSIS-Signalisierung bei MOBIKE-basierenden mobilen Anwendungen
DE102004046858A1 (de) Verfahren zur Bestimmung eines leitenden Teilnehmers in einem Netzwerk
EP1994676B1 (de) Verfahren zum erzeugen eines adressfeldes, verfahren und vorrichtung zur übertragung einer electronischen nachricht sowie datenpaket

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8381 Inventor (new situation)

Inventor name: SCHMID, STEFAN, 69118 HEIDELBERG, DE

Inventor name: BRUNNER, MARKUS, 69181 LEIMEN, DE

Inventor name: ASMARE, ESKINDIR, LONDON, GB

8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: NEC CORPORATION, TOKIO/TOKYO, JP

8328 Change in the person/name/address of the agent

Representative=s name: ULLRICH & NAUMANN, 69115 HEIDELBERG

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee