DE102006044861B3 - Verfahren zur rechnergestützten Ermittlung der Anzahl an Netzknoten in einem dezentralen Datennetz - Google Patents

Verfahren zur rechnergestützten Ermittlung der Anzahl an Netzknoten in einem dezentralen Datennetz Download PDF

Info

Publication number
DE102006044861B3
DE102006044861B3 DE200610044861 DE102006044861A DE102006044861B3 DE 102006044861 B3 DE102006044861 B3 DE 102006044861B3 DE 200610044861 DE200610044861 DE 200610044861 DE 102006044861 A DE102006044861 A DE 102006044861A DE 102006044861 B3 DE102006044861 B3 DE 102006044861B3
Authority
DE
Germany
Prior art keywords
network node
network
nodes
interval lengths
central
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE200610044861
Other languages
English (en)
Inventor
Dieter Dr. Olpp
Steffen Rusitschka
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE200610044861 priority Critical patent/DE102006044861B3/de
Application granted granted Critical
Publication of DE102006044861B3 publication Critical patent/DE102006044861B3/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
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways

Landscapes

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

Abstract

Die Erfindung betrifft ein Verfahren zur rechnergestützten Ermittlung der Anzahl an Netzknoten (P1, ..., P18) in einem dezentralen Datennetz, in dem der Abstand zwischen benachbarten Netzknoten (P1, ..., P18) jeweils durch ein Intervall (I1, ..., I18) von Werten (h1, ..., h18) aus einem Gesamtwertebereich charakterisiert wird, wobei jedem Netzknoten (P1, ..., P18) eine Identität (ID1, ..., ID18) sowie ein Wert (h1, ..., h18) aus dem Gesamtwertebereich zugeordnet ist und wobei jedem Netzknoten (P1, ..., P18) eine Menge von Netzknoten (P1, ..., P18) bekannt ist, bei dem: a) wenigstens einer der Netzknoten (P1, ..., P18) als zentraler Netzknoten (P1) bestimmt wird; b) in zumindest einem Teil der Netzknoten (P1, ..., P18) Intervalllängen ermittelt werden, wobei die Intervalllängen eines jeweiligen Netzknotens (P1, ..., P18) mit Hilfe zumindest eines Teils der Werte (h1, ..., h18) bestimmt werden, welche den dem jeweiligen Netzknoten (P1, ..., P18) bekannten Netzknoten (P1, ..., P18) zugeordnet sind, und wobei über die Intervalllängen die Anzahl der Netzknoten (P1, ..., P18) im Datennetz abgeschätzt werden kann; c) von einem jeweiligen Netzknoten die ermittelten Intervalllängen oder der Mittelwert der ermittelten Intervalllängen an den zentralen Netzknoten (P1) übermittelt werden; d) der zentrale Netzknoten (P1) mit Hilfe der an ihn übermittelten Intervalllängen und/oder der Mittelwerte der Intervalllängen die Anzahl an Netzknoten (P1, ..., P18) des Datennetzes abschätzt.

Description

  • Die Erfindung betrifft ein Verfahren zur rechnergestützten Ermittlung der Anzahl an Netzknoten in einem dezentralen Datennetz sowie ein entsprechendes Datennetz, wobei in dem dezentralen Datennetz der Abstand zwischen benachbarten Netzknoten jeweils durch ein Intervall von Werten aus einem Gesamtwertebereich charakterisiert wird. Ferner ist jedem Netzknoten in dem Datennetz eine Identität sowie ein Wert aus dem Gesamtwertebereich zugeordnet, und jedem Netzknoten ist eine Menge von Netzknoten bekannt.
  • Heutzutage werden vermehrt anstatt von Client-Server-Strukturen dezentrale Datennetze eingesetzt, welche aus gleichberechtigten Netzknoten bestehen. Diese Datennetze zeichnen sich durch eine hohe Ausfallsicherheit und eine einfache Skalierbarkeit auf große Knotenanzahlen aus. Ferner können solche Netze sehr einfach durch Standardrechner, wie z.B. PCs, realisiert werden.
  • Bei dezentralen Datennetzen existiert keine übergeordnete Instanz in der Form eines Servers, dem eine Vielzahl von Eigenschaften der Netzknoten bekannt ist. Vielmehr kennen die einzelnen Netzknoten in dem Datennetz nur eine bestimmte Anzahl von anderen Netzknoten, so dass nach Informationen in dem Datennetz nur durch Suchverfahren gesucht werden kann, welche Anfragen über eine Mehrzahl von Knoten durch das Netz weiterleiten. Um eine Suche in einem dezentralen Datennetz zu ermöglichen, wird ein Gesamtwertebereich auf das Datennetz abgebildet, wobei die Werte in dem Wertebereich durch die Netzknoten gesucht werden können. Hierbei ist jeder Netzknoten für ein bestimmtes Intervall von Werten aus diesem Gesamtwertebereich zuständig. Ebenso wird der Abstand zwischen benachbarten Netzknoten in dem Datennetz durch ein Intervall von Werten charakterisiert. Dieses Werteintervall kann ggf. mit dem Werteintervall übereinstimmen, für das ein Netzknoten zuständig ist.
  • Wie bereits erwähnt, existiert in einem dezentralen Datennetz keine zentrale Instanz, welche die Eigenschaften des Netzes kennt bzw. überwacht. Insbesondere ist in dem dezentralen Datennetz einem einzelnen Netzknoten nicht bekannt, wie viele Netzknoten das gesamte Datennetz aufweist. Diese Anzahl an Netzknoten kann jedoch für systeminterne oder auch administrative Zwecke sehr wichtig sein. In dem aus dem Stand der Technik bekannten dezentralen Chord-System ist beispielsweise die Anzahl der einem Netzknoten bekannten Nachbarknoten auf log2n (aufgerundet auf eine ganze Zahl) festgelegt, wobei n die Gesamtanzahl der Netzknoten im Chord-System ist. Somit muss jeder Netzknoten zum Aufbau einer Liste seiner Nachbarknoten zunächst die Gesamtanzahl aller Netzknoten wenigstens näherungsweise kennen. Darüber hinaus ist es oft wünschenswert, dass der Anbieter einer Software für ein dezentrales Datennetz die maximale Anzahl der gleichzeitig teilnehmenden Netzknoten kennt. Er kann dann nämlich die vom Netzbetreiber bezahlten Lizenzgebühren davon abhängig machen, wie groß die maximale Anzahl der am Datennetz teilnehmenden Peers sein soll.
  • Aus dem Stand der Technik (siehe Dokument [1]) ist ein Verfahren bekannt, mit dem die Anzahl an Netzknoten in einem dezentralen Datennetz abgeschätzt werden kann. Es erweist sich hierbei jedoch als problematisch, dass zum Erreichen einer ausreichenden Genauigkeit der Abschätzung eine Vielzahl von Intervalllängen bekannt sein muss. Da einem jeweiligen Netzknoten jedoch nur eine geringe Anzahl von anderen Netzknoten bekannt ist, kann ein einzelner Netzknoten die Gesamtanzahl der Netzknoten nur mit unzureichender Genauigkeit bestimmen.
  • Das Dokument [3] betrifft die Anpassung von verteilten Hash-Tabellen für mobile Ad Hoc Netzwerke. In dieser Druckschrift ist die Abschätzung der Anzahl an Netzknoten in dem Netzwerk durch einen bestimmten Netzknoten erwähnt, wobei darauf hin gewiesen wird, dass zusätzliche Informationen bezüglich der Intervalllängen von anderen Netzknoten für diese Abschätzung verwendet werden können.
  • Aufgabe der Erfindung ist es, ein Verfahren zur rechnergestützten Ermittlung der Anzahl an Netzknoten in einem dezentralen Datennetz zu schaffen, welches eine einfache und genaue Bestimmung der Gesamtanzahl an Netzknoten ermöglicht.
  • Diese Aufgabe wird durch die unabhängigen Patentansprüche gelöst. Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen definiert.
  • In dem erfindungsgemäßen Verfahren wird zunächst in einem Schritt a) wenigstens einer der Netzknoten im Datennetz als zentraler Netzknoten bestimmt. Dieser Netzknoten ist allen Netzknoten bekannt und dient zur Abschätzung der Anzahl von Netzknoten im Datennetz. In einem Schritt b) werden in den Netzknoten des Datennetzes jeweils Intervalllängen ermittelt, wobei die Intervalllängen eines jeweiligen Netzknotens mit Hilfe zumindest eines Teils der Werte bestimmt werden, welche denjenigen Netzknoten zugeordnet sind, die dem jeweiligen Netzknoten bekannt sind. Die Intervalllängen sind hierbei derart gewählt, dass über diese Intervalllängen die Anzahl der Netzknoten im Datennetz abgeschätzt werden kann. Dabei werden von einem jeweiligen Netzknoten die ermittelten Intervalllängen und/oder der Mittelwert der ermittelten Intervalllängen (insbesondere das arithmetische Mittel) an den zentralen Netzknoten übermittelt (Schritt c)). Der Begriff "Übermitteln an den zentralen Netzknoten" bedeutet hier und im Folgenden, dass der zentrale Netzknoten von anderen Netzknoten Intervalllängen empfängt oder dass der zentrale Netzknoten die Intervalllängen an sich selbst meldet. Ein jeweiliger Netzknoten kann somit der zentrale Netzknoten oder ein anderer Netzknoten im Datennetz sein. Der zentrale Netzknoten schätzt dann in Schritt d) mit Hilfe der an ihn übermittelten Intervalllängen und/oder der Mittelwerte der Intervalllängen die Anzahl an Netzknoten des Datennetzes ab. Geeignete Ver fahren zum Abschätzen dieser Netzknoten gemäß Schritt d) sind hierbei aus dem Stand der Technik bekannt, insbesondere wird auf die bereits eingangs erwähnte Druckschrift [1] verwiesen.
  • Im Gegensatz zu herkömmlichen Verfahren können in dem erfindungsgemäßen Verfahren in die Abschätzung der Gesamtanzahl der Netzknoten wesentlich mehr Intervalllängen einfließen, da eine Mehrzahl von Netzknoten und nicht nur ein einzelner Netzknoten seine Intervalllängen ermittelt, welche an einen zentralen Netzknoten gesendet werden, der alle Intervalllän gen erfasst und hieraus die Anzahl an Netzknoten abschätzt. Als zentraler Netzknoten kann hierbei ein beliebiger Netzknoten in dem dezentralen Netz bestimmt werden, vorzugsweise wird jedoch ein sog. Rendezvous-Netzknoten verwendet, der in vielen dezentralen Datennetzen vorhanden ist und als zentraler Einstiegspunkt in das Netz verwendet wird. Dieser Netzknoten wird allen neuen Netzknoten beim Verbinden mit dem Netz bekannt gemacht.
  • In einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens wird die Anzahl an Netzknoten dadurch abgeschätzt, dass die Länge des Gesamtwertebereichs durch den Mittelwert aller, in einer vorbestimmten Zeitspanne an den zentralen Netzknoten übermittelten Intervalllängen dividiert wird.
  • In einer weiteren bevorzugten Ausführungsform sind die in Schritt b) ermittelten Intervalllängen Längen von Intervallen zwischen Werten von zueinander benachbarten und dem jeweiligen Netzknoten bekannten Netzknoten. Diese Intervalllängen sind für einen jeweiligen Netzknoten im Datennetz leicht bestimmbar.
  • Das erfindungsgemäße Verfahren wird vorzugsweise in Kombination mit einer verteilten Hashtabelle realisiert, wobei der Gesamtwertebereich ein Hashwerte-Bereich ist und die Intervalle von Werten aus Hashwert-Intervallen bestehen, wobei ein einem Netzknoten zugeordneter Wert ebenfalls ein Hashwert ist. Vorzugsweise ist dabei jeder Netzknoten für ein Intervall zuständig, welches dem Intervall zwischen einem benachbarten Netzknoten und ihm selbst entspricht oder dieses Intervall umfasst, wobei der End-Hashwert des Intervalls derjenige Hashwert ist, der dem jeweiligen Netzknoten zugeordnet ist.
  • Besonders bevorzugt wird das erfindungsgemäße Verfahren in einem Peer-to-Peer-Netz eingesetzt, insbesondere in der Form des aus dem Stand der Technik bekannten Chord-Rings. Bei der Verwendung des Verfahrens in Kombination mit einem Chord-Ring ist der Ring vorzugsweise derart aufgebaut, dass einem jeweiligen Netzknoten eine vorbestimmte Anzahl an Vorgänger-Netzknoten und/oder Nachfolger-Netzknoten sowie die dem jeweiligen Netzknoten zugeordneten Finger bekannt sind, wobei ein Finger durch einen Finger-Hashwert und einen Netzknoten repräsentiert wird, der für den Finger-Hashwert zuständig ist. Die Verwendung von Fingern in Peer-to-Peer-Netzen ist hinlänglich aus dem Stand der Technik bekannt. Sollte ein Chord-Ring 2m (m ist eine natürliche Zahl) Hashwerte aufweisen, werden die Finger-Hashwerte eines Netzknotens mit dem Hashwert h zu (h + 2i) modulo 2m (i = 1, ..., m-1) bestimmt. Ein Netzknoten, der dann für den jeweiligen Finger-Hashwert zuständig ist, stellt einen der Finger des jeweiligen Netzknotens dar.
  • Bei der Verwendung des erfindungsgemäßen Verfahrens in Kombination mit einem Chord-Ring sind die in Schritt b) des Verfahrens ermittelten Intervalllängen die Längen der Intervalle zwischen benachbarten Vorgänger-Knoten und/oder Nachfolger-Knoten sowie die Längen der Intervalle zwischen einem Finger-Hashwert und dem Netzknoten-Hashwert des zugehörigen Fingers. Es kann bewiesen werden, dass auch das zuletzt genannte Intervall bei der Abschätzung der Anzahl an Netzknoten mit berücksichtigt werden kann (siehe Druckschrift [1]). Auf diese Weise wird die Anzahl der von einem jeweiligen Netzknoten ermittelten Intervalllängen weiter erhöht.
  • In einer weiteren bevorzugten Ausgestaltung des erfindungsgemäßen Verfahrens ist das Datennetz, in dem das Verfahren eingesetzt wird, ein Datennetz mit Replikation, d.h. jeder Netzknoten ist für ein Intervall zuständig, welches sich von dem jeweiligen Netzknoten über mehrere zueinander benachbarte Netzknoten erstreckt. In Kombination mit einem Chord-Ring werden dann in einer bevorzugten Variante in einem jeweiligen Netzknoten für einen Finger der Finger-Hashwert sowie alle r Netzknoten (r ist eine natürliche Zahl) hinterlegt, die für den Finger-Hashwert zuständig sind, so dass in Schritt b) des erfindungsgemäßen Verfahrens als ermittelte Intervalllängen in einem jeweiligen Netzknoten auch die Längen der Intervalle zwischen den r Netzknoten berücksichtigt werden können. Auf diese Weise wird die Anzahl an ermittelten Intervalllängen in einem Netzknoten nochmals weiter erhöht.
  • In einer besonders bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens gibt die Abschätzung in Schritt d) des Verfahrens neben der geschätzten Anzahl an Netzknoten auch an, mit welcher Wahrscheinlichkeit α die tatsächliche Anzahl an Netzknoten mehr als ein vorbestimmter Prozentsatz d von der abgeschätzten Anzahl an Netzknoten abweicht. Eine derartige Aussage kann beispielsweise durch das in der Druckschrift [1] beschriebene Verfahren ermittelt werden. Die obige Abweichung wird vorzugsweise in einem Chord-Ring ermittelt, wobei der vorbestimmte Prozentsatz d von der Wahrscheinlichkeit α und der Anzahl s der bei der Abschätzung berücksichtigten Intervalllängen abhängt. Insbesondere hängt der Prozentsatz d von der Wahrscheinlichkeit α und der Anzahl s wie folgt ab:
    Figure 00080001
    wobei z1-α/2 der obere kritische Punkt der Standardnormalverteilung N(0, 1) ist, bei welchem P(X ≤ z) = 1 – α/2 für eine gemäß N(0, 1) verteilte Zufallsvariable X gilt.
  • Um die ermittelten Intervalllängen an den zentralen Netzknoten zu übermitteln, können erfindungsgemäß verschiedene Varianten verwendet werden. Vorzugsweise sendet ein Netzknoten in zeitlichen Abständen eine Anforderung zur Übermittlung von Intervalllängen an einen ausgewählten Netzknoten, woraufhin der ausgewählte Netzknoten eine Antwort an den zentralen Netzknoten sendet, welche die in dem ausgewählten Netzknoten ermittelten Intervalllängen und/oder den Mittelwert der ermittelten Intervalllängen enthält. Dabei kann mit der Antwort eines ausgewählten Netzknotens eine Identität eines dem ausgewählten Netzknoten bekannten Netzknotens übermittelt wer den, vorzugsweise eines Netzknotens, der einen Wert größer als der ausgewählte Netzknoten aufweist und den größten Abstand zum ausgewählten Netzknoten hat. In einer besonders bevorzugten Ausführungsform werden hierbei die Anforderungen zur Übermittlung von Intervalllängen ausschließlich von dem zentralen Netzknoten an die ausgewählten Netzknoten gesendet. Das Verfahren läuft hierbei vorzugsweise derart ab: Der zentrale Netzknoten wählt bei einem Neustart des Verfahrens einen Netzknoten zufällig aus und sendet an ihn eine Anforderung zur Übermittlung von Intervalllängen, wobei die nachfolgend ausgewählten Netzknoten, an welche der zentrale Netzknoten eine Anforderung sendet, diejenigen Netzknoten sind, deren Identität jeweils mit einer vorangegangenen Antwort an den zentralen Netzknoten gesendet wurde. Auf diese Weise wird sichergestellt, dass der zentrale Netzknoten die Übermittlung von Intervalllängen kontrolliert. Insbesondere werden alle Anforderungen nur von dem zentralen Netzknoten ausgesendet. Deshalb weiß der zentrale Netzknoten aus der Identität des Netzknotens, an den er eine Anforderung ausgesendet hat, dass genau dieser Netzknoten ausgefallen ist, wenn er keine Antwort von diesem Netzknoten bekommt.
  • In einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens werden die Anforderungen zur Übermittlung der Intervalllängen (außer beim Neustart des Verfahrens) nicht von dem zentralen Netzknoten an den jeweiligen ausgewählten Netzknoten geschickt. Vielmehr sendet ein ausgewählter Netzknoten, der eine Antwort an den zentralen Netzknoten sendet, ferner eine Anforderung zur Übermittlung der Intervalllängen an einen ihm bekannten Netzknoten, welcher der nächste ausgewählte Netzknoten ist, woraufhin dieser nächste ausgewählte Netzknoten wiederum eine Antwort an den zentralen Netzknoten und eine Anforderung zur Übermittlung der Intervalllängen an einen ihm bekannten Netzknoten sendet. Dieses Verfahren hat den Vorteil, dass die Identität des Netzknotens, an den die nächste Anforderung gesendet werden soll, nicht mit einer Antwort des jeweiligen Netzknotens an den zentralen Netzkno ten übermittelt werden muss. Vorzugsweise ist hierbei der nächste ausgewählte Netzknoten derjenige Netzknoten, der einen Wert größer als der ausgewählte Netzknoten aufweist und den größten Abstand zum ausgewählten Netzknoten hat.
  • In einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens, bei dem die Anforderungen direkt von einem ausgewählten Netzknoten an den nächsten Netzknoten gesendet werden, wählt der zentrale Netzknoten beim Neustart des Verfahrens einen Netzknoten zufällig aus, wobei er dann solange keinen Netzknoten mehr auswählt, bis eine vorbestimmte Zeitspanne, in welcher er keine Antworten von Netzknoten empfangen hat, überschritten ist. Auf diese Weise können bei der genannten Variante des erfindungsgemäßen Verfahrens ebenfalls Ausfälle von Netzknoten festgestellt werden, obwohl die Anforderungen nicht direkt von dem zentralen Netzknoten versendet werden.
  • In einer weiteren Variante des erfindungsgemäßen Verfahrens senden die Netzknoten in vorbestimmten Zeitabständen selbständig Nachrichten an den zentralen Netzknoten, wobei die Nachrichten jeweils die ermittelten Intervalllängen und/oder den Mittelwert der ermittelten Intervalllängen des die Nachricht sendenden Netzknotens enthalten. Auf diese Weise wird der Datenverkehr im Netz reduziert, da keine Anforderungen auszusenden sind.
  • In einer weiteren bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens sind die Zeitabstände einstellbar, in denen von einem jeweiligen Netzknoten die ermittelten Intervalllängen und/oder der Mittelwert der ermittelten Intervalllängen an den zentralen Netzknoten übermittelt werden. Auf diese Weise kann das Verfahren geeignet an vorliegende Netzwerkstrukturen angepasst werden.
  • Neben dem oben beschriebenen Verfahren betrifft die Erfindung ferner ein dezentrales Datennetz, umfassend eine Mehrzahl von Netzknoten, wobei der Abstand zwischen benachbarten Netzknoten jeweils durch ein Intervall von Werten aus einem Gesamt wertebereich charakterisiert ist, wobei jedem Netzknoten eine Identität sowie ein Wert aus dem Gesamtwertebereich zugeordnet ist und wobei jedem Netzknoten eine Menge von Netzknoten bekannt ist. Das Datennetz zeichnet sich durch folgende Merkmale aus:
    • – das Datennetz umfasst einen zentralen Netzknoten, der allen Netzknoten bekannt ist und zur Abschätzung der Anzahl von Netzknoten im Datennetz dient;
    • – die Netzknoten sind derart ausgestaltet, dass diese Netzknoten während des Betriebs des Datennetzes Intervalllängen ermitteln, wobei die Intervalllängen eines jeweiligen Netzknotens mit Hilfe zumindest eines Teils der Werte bestimmt werden, welche den dem jeweiligen Netzknoten bekannten Netzknoten zugeordnet sind, und wobei über die Intervalllängen die Anzahl der Netzknoten im Datennetz abgeschätzt werden kann;
    • – die Netzknoten wirken derart zusammen, dass von einem jeweiligen Netzknoten die ermittelten Intervalllängen und/oder der Mittelwert der ermittelten Intervalllängen an den zentralen Netzknoten übermittelbar sind;
    • – der zentrale Netzknoten ist derart ausgestaltet, dass er im Betrieb des Datennetzes mit Hilfe der an ihn übermittelten Intervalllängen und/oder der Mittelwerte der Intervalllängen die Anzahl an Netzknoten des Datennetzes abschätzt.
  • In einer bevorzugten Ausführungsform ist das Datennetz derart ausgestaltet, dass mit ihm alle im Vorangegangenen beschriebenen Varianten der Erfindung durchführbar sind.
  • Neben dem oben beschriebenen Datennetz betrifft die Erfindung einen Netzrechner zur Verwendung in dem erfindungsgemäßen dezentralen Datennetz, wobei der Netzrechner derart ausgestaltet ist, dass er als ein Netzknoten, insbesondere als zentraler Netzknoten, im Datennetz arbeiten kann.
  • Ausführungsbeispiele der Erfindung werden nachfolgend anhand der beigefügten Figuren detailliert beschrieben.
  • Es zeigen:
  • 1 eine schematische Darstellung eines Chord-Rings, in dem eine erste Ausführungsform der Erfindung dargestellt ist;
  • 2 eine schematische Darstellung eines Chord-Rings, in dem eine zweite Ausführungsform der Erfindung dargestellt ist; und
  • 3 eine schematische Darstellung eines Chord-Rings, in dem eine dritte Ausführungsform der Erfindung dargestellt ist.
  • 1 zeigt in schematischer Darstellung ein Peer-to-Peer-Netz in der Form eines Chord-Rings, wobei der Ring 18 Netzknoten in der Form von Peers P1, P2, ..., P18 umfasst. Der Chord-Ring stellt hierbei ein Overlay-Netz dar, in dem die einzelnen Peers auf einer ringförmigen Struktur nacheinander angeordnet sind. Um nach Inhalten in den einzelnen Peers in dem Ring zu suchen, werden Abfragewerte in der Form von Hashwerten verwendet, welche beispielsweise mit einer Hashfunktion erzeugt werden. Mit Hilfe einer solchen Hashfunktion werden Daten bzw. Schlüsselwörter, welche die Daten charakterisieren, auf einen eindeutigen Hashwert abgebildet, nach dem in dem Chord-Ring gesucht werden kann. Es existiert hierbei ein Gesamtwertebereich an Hashwerten, der in den hier beschriebenen Ausführungsformen 2m (m = natürliche Zahl) ist.
  • Jedem Peer ist in dem Chord-Ring ein Hashwert, eine Identität sowie ein Hashwert-Intervall zugeordnet, welche in 1 als Tupel (hx, IDx, Ix) angegeben sind. x steht hierbei für die Nummer des Peers und es gilt x = 1, ..., 18, da in dem Ring 18 Peers vorhanden sind. Die einem Peer zugeordnete Identität IDx ist hierbei eine eindeutige Spezifikation, mit der der entsprechende Peer im Netz identifizierbar bzw. adressierbar ist. Beispielsweise kann die Identität die IP-Adresse (IP = Internet Protocol) des Peers sein. Jedem Peer ist ferner ein Intervall Ix zugeordnet, wobei gilt: Ix = [h(x – 1) + 1; hx] für x = 2, ..., 18 und I1 = [h18 + 1; h1], wobei I1 über den Ringschluss hinüberreicht. hx ist dabei der Hashwert, der dem entsprechenden Peer Px zugeordnet ist. Ein Intervall Ix spezifiziert somit einen Hashwerte-Bereich, dessen End-Hashwert demjenigen Hashwert entspricht, der dem entsprechenden Peer zugeordnet ist. Dies bedeutet, dass jeder Peer für einen Hashwertebereich zuständig ist, der alle vorangegangenen -B bis zum Vorgänger-Peer umfasst. Gemäß 1 ist die Richtung vom Vorgänger zum Nachfolger dabei die Richtung im Uhrzeigersinn. Ggf. ist es möglich, dass in dem Chord-Ring der 1 eine r-fache Replikation vorliegt, d.h. dass ein Peer in dem Datennetz für einen Intervallbereich zuständig ist, der sich über mehrere vorhergehende Peers erstreckt, wobei die Erstreckung über r vorangegangene Intervalle zwischen benachbarten Peers geht. Bei einer solchen r-fachen Replikation wird sichergestellt, dass auch bei Ausfall eines Peers immer noch Peers vorhanden sind, welche für die Hashwerte des ausgefallenen Peers zuständig sind.
  • In dem Chord-Ring der 1 kann ein Peer mittels der Hashwerte nach solchen Peers suchen, welche für diese Hashwerte zuständig sind. Diese Peers enthalten dann entsprechende Daten, welche mit dem gesuchten Hashwert verknüpft sind. Beispielsweise kann eine MP3-Datei über Schlüsselwörter spezifiziert sein (z.B. Interpret oder Name des Musikstücks der Datei), wobei die Schlüsselwörter zur Erzeugung des Hashwertes verwendet werden. Der Peer, der für den entsprechenden Hashwert zuständig ist, hat dann Zugriff auf die MP3-Datei, insbesondere ist die Datei lokal bei ihm gespeichert. Die Suche nach Hashwerten erfolgt in Peer-to-Peer-Netzen über Suchanfragen, welche auch als Lookups bezeichnet werden. Hierbei ist zu berücksichtigen, dass jedem Peer in dem Datennetz eine vorbestimmte Anzahl von weiteren Peers, insbesondere von einem oder mehreren Vorgänger- und/oder Nachfolger-Peers, bekannt ist. Ein Peer weiß dabei von einem bekannten Peer dessen Identität IDx sowie dessen Hashwert hx. Bei einem Lookup wird eine Anfrage nach einem Hashwert in das Peer-to-Peer- Netz gesendet, wobei die Anfrage von dem aussendenden Peer an denjenigen Peer geschickt wird, dessen Hashwert dem gesuchten Hashwert am nächsten liegt, d.h. an den letzten ihm bekannten Peer vor oder auf dem Hashwert der Anfrage (im Uhrzeigersinn). Von dort erfolgt dann eine Weiterleitung an den nächsten Peer, der demjenigen Peer am nächsten liegt, der gerade die letzte Anfrage empfangen hat. Die Weiterleitung kann hierbei derart erfolgen, dass zunächst eine Rückmeldung an den ursprünglichen, die Anfrage aussendenden Peer erfolgt und dieser Peer dann die Anfrage an den nächsten Peer weiterleitet.
  • In einem Chord-Ring sind einem jeweiligen Peer nicht nur eine bestimmte Anzahl von Vorgänger- und Nachfolger-Peers bekannt, sondern ein Peer kennt auch sog. Finger. Für einen gegebenen Peer Pz mit dem Hashwert hz sind die Finger definiert über die jeweiligen Hashwerte (hz + 2i) modulo 2m (i = 1, ..., m – 1), wobei der Finger durch den jeweiligen Hashwert sowie einen Peer, der für diesen Hashwert auf dem Chord-Ring zuständig ist, repräsentiert wird. Dieser Peer ist in einem Chord-Ring ohne Replikation eindeutig identifizierbar. In einem Chord-Ring mit Replikation ist es der Peer, dessen Hashwert dem Hashwert des Fingers am nächsten liegt.
  • Ziel der nachfolgend beschriebenen Ausführungsformen ist es, die Anzahl der Peers in dem Datennetz möglichst genau zu ermitteln. Die Gesamtanzahl ist nämlich in dem Datennetz nicht bekannt, da das Datennetz dezentral aufgebaut ist und somit keine zentrale Stelle existiert, welche das Netz verwaltet und die Information darüber enthält, wie viele Netzknoten zum Netz gehören. Zur Ermittlung der Gesamtanzahl der Peers wird in der hier beschriebenen Ausführungsform ein statistisches Verfahren verwendet, welches über ermittelte Intervalllängen zwischen Peers bzw. zwischen dem Hashwert eines Fingers und dem entsprechenden für den Finger-Hashwert zuständigen Peer die Gesamtanzahl der Peers abschätzt. Das erfindungsgemäße Verfahren zeichnet sich hierbei dadurch aus, dass die Intervalllängen von einer sehr großen Anzahl von Peers ermittelt werden und an einem ausgewählten "zentralen" Peer übermittelt werden, der hieraus die Gesamtanzahl der Peers abschätzt. Da eine hohe Anzahl von Peers und entsprechender Intervalllängen bei der Abschätzung der Gesamtanzahl verwendet werden, ist das Verfahren sehr genau.
  • Im Folgenden wird zunächst die statistische Methode beschrieben, mit der in den nachfolgend beschriebenen Ausführungsformen eine Abschätzung der Gesamtanzahl der Peers erfolgt. Die Methode entspricht der in der Druckschrift [1] beschriebenen Methode. Die der Methode zugrunde liegende statistische Theorie ist beispielsweise in der Druckschrift [2] beschrieben.
  • In der Abschätzung gemäß einer Erweiterung der Druckschrift [1] erhält man als Ergebnis die statistische Aussage: "Die tatsächliche Anzahl der Peers weicht mit einer Wahrscheinlichkeit α von mehr als d = x % von der abschätzten Anzahl von Peers ab". Um zu dieser Aussage zu gelangen, wird wie folgt vorgegangen:
    Es wird angenommen, dass der Hashwerte-Bereich des Chord-Rings sich von 0 bis 2m – 1 erstreckt. Es gibt n Peers in dem Ring, deren Hashwerte zufällig, aber gleichmäßig auf dem Ring verteilt sind. Man betrachtet die Länge I eines Intervalls zwischen benachbarten Peers. Eine Abschätzung für die Anzahl der Peers ergibt sich dann aus dem arithmetischen Mittel Ī der in dem Datennetz ermittelten Intervalllängen I, indem die Gesamtlänge des Hashwerte-Bereichs durch Ī geteilt wird. Es kann gezeigt werden, dass zur Ermittlung von Ī auch das Intervall zwischen einem Finger-Hashwert und dem zugehörigen Finger verwendet werden kann. In einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens werden somit sowohl die Intervalle von benachbarten Peers als auch die sich aus den Fingern ergebenen Intervalle bei der Berechnung von Ī berücksichtigt.
  • In dem Dokument [1] wird gezeigt, dass die Intervalllänge I ungefähr geometrisch verteilt ist, wenn man annimmt, dass n sehr viel kleiner als 2m ist, d.h. dass die Peers nur einen sehr kleinen Teil des Gesamtwertebereichs besetzen. Es gilt somit:
    Figure 00170001
  • Sollte nunmehr ein Schätzwerte p ^ für p vorliegen, kann die Gesamtanzahl der Peers wie folgt abgeschätzt werden: n ^ = p ^2m.
  • In dem Dokument [1] wird der sog. Maximum-Likelihood-Estimator p ^ für p verwendet, welcher wie folgt lautet:
    Figure 00170002
    wobei Ī das arithmetische Mittel aller ermittelten Intervalllängen ist. Für dieses p ^ wird das Konfidenzintervall Cp für p wie folgt definiert: Cp = [p ^ – d, p ^ + d].
  • Für einen gegebenen Konfidenzwert (1 – α) gilt für das Wahrscheinlichkeitsmaß P(Cp) des Konfidenzintervalls Cp hierbei: P(Cp) = 1 – α,wobei α der obigen Wahrscheinlichkeit α entspricht. Unter der Annahme, dass I geometrisch verteilt ist, d.h. I ~ geom(p ^),ergeben sich die oberen und unteren Grenzen von Cp wie folgt:
    Figure 00170003
    Hierbei ist z1-α/2 der obere kritische Punkt der Standardnormalverteilung, d.h. z1-α/2 ist derjenige Punkt z der Standardnormalverteilung N(0, 1), für den P(X ≤ z) = 1 – α/2 für eine gemäß N(0, 1) verteilte Zufallsvariable X gilt. Dabei ist s die Anzahl der bei der Ermittlung von Ī berücksichtigten Intervalllängen.
  • Wenn man entsprechend wie oben annimmt, dass p ^ sehr viel kleiner als 1 ist, kann der Faktor
    Figure 00180001
    auf l gesetzt werden. Der obige Ausdruck für die Grenzen des Konfidenzintervalls kann dann wie folgt geschrieben werden:
    Figure 00180002
    Somit ist die Länge des Konfidenzintervalls proportional zu p ^. Unter der Verwendung vonn ^ = p ^2m ergibt sich das Konfidenzintervall Cn für die Peeranzahl n wie folgt:
    Figure 00180003
    Wird nunmehr mit d die erlaubte prozentuale Abweichung der tatsächlichen Peeranzahl n von der abgeschätzten Anzahl n ^ bezeichnet, d.h. Cn = [(1 – d) n ^, [(1 + d) n ^],ergibt sich durch das Auflösen der obigen Gleichung nach s folgender Zusammenhang:
    Figure 00180004
  • Dieser Zusammenhang gibt an, wie viele Intervalllängen gemessen werden müssen, damit die tatsächliche Anzahl an Peers mit einer Wahrscheinlichkeit α um mehr als den Prozentsatz d von der geschätzten Anzahl an Peers abweicht. Wird beispielsweise gefordert, dass die tatsächliche Anzahl von Peers von der geschätzten Anzahl von Peers mit nur einer Wahrscheinlichkeit von 10-4 um mehr als 6 % abweicht, werden folgende Werte für d und α verwendet: d = 0,06, α = 10-4.
  • Hieraus ergibt sich z1-α/2 ≈ 3,89.
  • Die Werte z1-α/2 werden in der hier verwendeten tatsächlichen Implementierung durch eine Approximation aus Polynomen ermittelt.
  • Mit den soeben genannten Werten ergibt sich für s ungefähr der Wert 4203. Dies bedeutet, dass für eine ausreichend gute Abschätzung der Gesamtanzahl von Peers eine große Anzahl von Intervalllängen ermittelt werden muss.
  • Bei der Umsetzung des Verfahrens ist darauf zu achten, dass die ermittelten Intervalllängen unabhängig voneinander sind, d.h. beispielsweise, dass bei der Abschätzung der Anzahl der Peers kein Intervall doppelt einfließen darf und dass auch kein Peer als Endpunkt von zwei Intervallen auftreten darf.
  • Wie bereits dargelegt wurde, werden gemäß dem erfindungsgemäßen Verfahren die Intervalllängen von jedem Peer selbsttätig ermittelt und an einen zentralen Peer gesendet. Geht man davon aus, dass durchschnittlich alle 10 Sekunden ein Peer eine Intervalllänge an den zentralen Peer sendet und alle Intervalle der letzten 30 Minuten bei der Abschätzung der Peeranzahl verwendet werden, muss ein Peer mindestens 4203/(6·30) ≈ 24 Intervalllängen für α = 10-4 und d = 0,06 ermitteln. Dieses Szenario kann dadurch erreicht werden, dass ein Peer 12 Nachbarn kennt und 12 von den Nachbarn verschie dene Finger aufweist, was einem realistischen Szenario entspricht. Im Falle, dass die obige Zeitspanne von 30 Minuten auf 60 Minuten erhöht wird oder anstatt von 10 Sekunden alle 5 Sekunden von einem Peer eine Intervalllänge an den zentralen Peer gesendet wird, kann auch ein Chord-Ring verwendet werden, der 12 Nachbarn, jedoch nur 5 von den Nachbarn verschiedene Finger aufweist.
  • Nachfolgend werden drei Ausführungsformen beschrieben, welche unterschiedliche Arten zeigen, wie Peers ihre Intervalllängen an einen zentralen Peer übermitteln. In der ersten Ausführungsform gemäß 1 ist der zentrale Peer der Peer P1. Bei der Neuinitialisierung des Verfahrens gemäß der Ausführungsform der 1 wählt der Peer P1 zufällig einen anderen Peer aus den Peers P2 bis P18 aus. In dem Szenario der 1 ist dies der Peer P5. Anschließend sendet der Peer P1 eine Anforderung A1 zur Übermittlung von Intervalllängen an dem Peer P5. Der Peer P5 sendet dann über die Antwort R1 alle von ihm ermittelten Intervalllängen, welche sich in 1 aus den Nachfolgern im Chord-Ring sowie den Fingern des entsprechenden Peers ergeben, an den zentralen Peer P1. Zusätzlich übermittelt der Peer P5 mit der Antwort R1 die Identität des am weitesten von ihm entfernten Nachfolgers. Dies sei im Szenario der 1 der Peer P11. Der zentrale Peer P1 speichert die von dem Peer P5 an ihn gemeldeten Intervalllängen und setzt nach einer bestimmten Wartezeit das Verfahren dadurch fort, dass er eine neue Anforderung A2 zur Übermittlung von Intervalllängen an dem Peer P11 sendet. Anschließend wiederholt sich das Verfahren, d.h. der Peer P11 sendet wiederum über eine Antwort R2 die von ihm ermittelten Intervalllängen an den Peer P1, und zwar zusammen mit der Identität des am weitesten von ihm entfernten Nachfolgers, welcher in dem Szenario der 1 der Peer P17 sei. Das Verfahren wiederholt sich im Peer P17 mit einer entsprechenden Anfrage A3 und der Antwort R3. Es wird iterativ weiter fortgesetzt, wodurch eine Vielzahl von Peers in dem Chord-Ring abgedeckt wird.
  • Durch die soeben beschriebene Ausführungsform des erfindungsgemäßen Verfahrens wird im Idealfall der Chord-Ring komplett durchlaufen, d.h. alle möglichen Intervalllängen werden an den zentralen Peer P1 gemeldet. Bei Ausfall eines Peers wird das Verfahren wieder neu initialisiert, und zwar indem der zentrale Peer wieder zufällig einen Peer auswählt.
  • In der hier beschriebenen Variante wurden nur Intervalle zum Nachfolger-Peer berücksichtigt. Ggf. ist es auch möglich, dass ein Peer, der seine Intervalllängen an den zentralen Peer meldet, auch die sich aus seinen Vorgänger-Peers ergebenen Intervalle berücksichtigt. Diese Intervalllängen sind jedoch mit den Intervalllängen der Nachfolger desjenigen Peers identisch, der zuvor seine Intervalllängen an den zentralen Peer übermittelt hat.
  • Die Ausführungsform gemäß 1 hat den Vorteil, dass sie einfach zu implementieren ist und bei einer Störung sehr schnell festgestellt werden kann, welcher Peer ausgefallen ist, da die Anforderungen immer direkt von dem zentralen Peer P1 ausgesendet werden und somit der zentrale Peer aus der Anforderung sofort ermitteln kann, welcher Peer keine Antwort sendet.
  • 2 zeigt einen Chord-Ring, der identisch zu dem Ring der 1 ist. Zwecks klarerer Darstellung wurden deshalb die einzelnen Tupel (hx, IDx, Ix) weggelassen. Im Unterschied zu dem Verfahren der 1 werden die entsprechenden Anforderungen A1, A2 und A3, mit denen die Übermittlung von Intervalllängen angefordert wird, nicht ausschließend vom zentralen Peer P1 ausgesendet. Gemäß 2 werden die im Peer P5 ermittelten Intervalllängen, welche über A1 vom zentralen Peer angefordert wurden, über die Antwort R1 an den Peer P1 übermittelt. Die nächste Anforderung A2 zur Übermittlung der Intervalllängen wird nunmehr – im Gegensatz zum Verfahren der 1 – von dem Peer P5 an den Nachfolger-Peer P11 gesendet. Der Peer P11 meldet daraufhin die von ihm ermittelten Intervalllängen über die Antwort R2 zurück an den Peer P1. Die An forderung A3 zur Übermittlung von weiteren Intervalllängen wird nunmehr aber von dem Peer P11 an den Peer P17 gesendet, der daraufhin seine Intervalllängen mit der Antwort R3 an den Peer P1 schickt. Analog zum Verfahren der 1 können die soeben beschriebenen Schritte iterativ wiederholt werden, so dass es zu einer großen Abdeckung des Chord-Rings und der Übermittlung einer Vielzahl von Intervallen kommt. Diese Ausführungsform der Erfindung ist etwas aufwändiger zu implementieren, da die Nachrichten nicht als Paare von Anforderung und Antwort zwischen zwei Peers hin- und zurückgesendet werden.
  • Ein Ausfall eines Peers in der Ausführungsform der 2 wird vorzugsweise dadurch ermittelt, dass ein Ausfall dann festgestellt wird, wenn der zentrale Peer P1 eine vorbestimmte Zeit keine Antworten mehr von anderen Peers erhält. In diesem Fall wird das Verfahren neu gestartet, und zwar indem der Peer P1 wieder einen anderen Peer zufällig auswählt.
  • Eine weitere Ausführungsform des erfindungsgemäßen Verfahrens ist in 3 gezeigt. Hierbei ist wiederum der gleiche Chord-Ring wie in 1 und 2 dargestellt. Im Unterschied zu den vorangegangenen Ausführungsformen meldet jeder der Peers P1 bis P18 in vorbestimmten Zeitabständen selbständig seine ermittelten Intervalllängen an den zentralen Peer P1. Dies ergibt sich in 3 daraus, dass nur Meldungen R1, R2 und R3 von den entsprechenden Peers P6, P9 und P15 an den zentralen Peer P1 gesendet werden. Das Verfahren weist den Vorteil auf, dass weniger Nachrichten im Chord-Ring als bei den vorhergehenden Verfahren versendet werden. Es muss jedoch darauf geachtet werden, dass die Zeitabstände, in denen die einzelnen Peers ihre Intervalle an den zentralen Peer P1 melden, geeignet gewählt sind, um eine ausreichende Genauigkeit der Schätzung der Gesamtanzahl der Peers ohne Überlastung des Datennetzes sicherzustellen.
  • Die soeben beschriebenen Ausführungsformen des erfindungsgemäßen Verfahrens weisen den großen Vorteil auf, dass eine we sentlich größere Anzahl von Intervalllängen bei der Schätzung der Gesamtanzahl der Peers berücksichtigt werden kann, wodurch eine größere Genauigkeit der Schätzung möglich ist.
  • Das soeben beschriebene Verfahren wurde von den Erfindern in der Programmiersprache Java implementiert. Als zugrunde liegendes Peer-to-Peer-System wurde ein Chord-Ring verwendet, bei dem jeder Peer seine sechs direkten Vorgänger und sechs direkten Nachfolger kennt. Der Hashwerte-Bereich hatte hierbei eine Größe von 2160, so dass jeder Peer bis zu 160 Finger hat, die jedoch zum Teil identisch sind oder mit den sechs Nachfolgern zusammenfallen. Es wurden hierbei gute Abschätzungen für die Gesamtanzahl der Peers erreicht.
  • Das oben beschriebene Verfahren wurde für einen Chord-Ring ohne Replikation beschrieben. Wäre in dem Chord-Ring zusätzlich ein Replikationsfaktor von z.B. r = 3 vorhanden (d.h. für einen Hashwert sind 3 aufeinander folgende Peers zuständig), besteht die Möglichkeit, noch weitere Intervalllängen zu ermitteln. Dies erfolgt dadurch, dass bei der Bestimmung der Finger, welche über Lookups ermittelt werden, für jeden Finger-Hashwert alle drei aufeinander folgenden Peers gespeichert werden, welche für diesen Finger-Hashwert zuständig sind. Hieraus ergeben sich zwei zusätzliche Intervalllängen für die Abschätzung der Gesamtanzahl der Peers, nämlich die beiden Intervalle zwischen den drei aufeinander folgenden Peers.
  • Literaturverzeichnis
    • [1] Andreas Binzenhöfer, Dirk Staehle und Robert Henjes: Estimating the size of a Chord ring, Report No. 348, University of Würzburg, Februar 2005, www-info3.informatik.uni-wuerzburg.de/TR/tr348.pdf
    • [2] A. M. Law und W. D. Kelton: Simulation Modeling and Analysis, McGraw-Hill, 3. Auflage, 1999, Seiten 343 bis 346.
    • [3] Heer, T., u.a.: Adapting Distributed Hash Tables for Mobile Ad Hoc Networks. In: Proceedings of the Fourth Annual IEEE International Conference an Pervasive Computing and Communications Workshops (PerComW'06), 13.-17. März 2006).

Claims (26)

  1. Verfahren zur rechnergestützten Ermittlung der Anzahl an Netzknoten (P1, ..., P18) in einem dezentralen Datennetz, in dem der Abstand zwischen benachbarten Netzknoten (P1, ..., P18) jeweils durch ein Intervall (I1, ..., I18) von Werten (h1, ..., h18) aus einem Gesamtwertebereich charakterisiert wird, wobei jedem Netzknoten (P1, ..., P18) eine Identität (ID1, ..., ID18) sowie ein Wert (h1, ..., h18) aus dem Gesamtwertebereich zugeordnet ist und wobei jedem Netzknoten (P1, ..., P18) eine Menge von Netzknoten bekannt ist, bei dem: a) wenigstens einer der Netzknoten (P1, ..., P18) als zentraler Netzknoten (P1) bestimmt wird, der allen Netzknoten (P1, ..., P18) bekannt ist und zur Abschätzung der Anzahl von Netzknoten (P1, ..., P18) in dem Datennetz dient; b) in den Netzknoten (P1, ..., P18) jeweils Intervalllängen ermittelt werden, wobei die Intervalllängen eines jeweiligen Netzknotens (P1, ..., P18) mit Hilfe zumindest eines Teils der Werte (h1, ..., h18) bestimmt werden, welche den dem jeweiligen Netzknoten (P1, ..., P18) bekannten Netzknoten (P1, ..., P18) zugeordnet sind, und wobei über die Intervalllängen die Anzahl der Netzknoten (P1, ..., P18) im Datennetz abgeschätzt werden kann; c) von einem jeweiligen Netzknoten (P1, ..., P18) die ermittelten Intervalllängen und/oder der Mittelwert der ermittelten Intervalllängen an den zentralen Netzknoten (P1) übermittelt werden; d) der zentrale Netzknoten (P1) mit Hilfe der an ihn übermittelten Intervalllängen und/oder der Mittelwerte der Intervalllängen die Anzahl an Netzknoten (P1, ..., P18) des Datennetzes abschätzt.
  2. Verfahren nach Anspruch 1, bei dem die Anzahl an Netzknoten (P1, ..., P18) dadurch abgeschätzt wird, dass die Länge des Gesamtwertebereichs durch den Mittelwert (Ī) aller, in einer vorbestimmten Zeitspanne an den zentralen Netzknoten (P1) übermittelten Intervalllängen dividiert wird.
  3. Verfahren nach Anspruch 2, bei dem die in Schritt b) des Anspruchs 1 ermittelten Intervalllängen Längen von Intervallen zwischen Werten (h1, ...,h18) von zueinander benachbarten und dem jeweiligen Netzknoten (P1, ..., P18) bekannten Netzknoten (P1, ..., P18) umfassen.
  4. Verfahren nach einem der vorhergehenden Ansprüche, bei dem der Gesamtwertebereich ein Hashwertebereich ist, wobei die Intervalle (I1, ..., I18) von Werten (h1, ..., h18) Hashwertintervalle sind und ein einem Netzknoten (P1, ..., P18) zugeordneter Wert (h1, ..., h18) ein Hashwert ist.
  5. Verfahren nach Anspruch 4, bei dem jeder Netzknoten (P1, P18) für ein Intervall (I1, ..., I18) zuständig ist, welches dem Intervall zwischen einem benachbarten Netzknoten (P1, ..., P18) und ihm selbst entspricht oder dieses Intervall umfasst, wobei der Endhashwert (h1, ..., h18) des Intervalls (I1, ..., I18) derjenige Hashwert (h1, ...,h18) ist, der dem jeweiligen Netzknoten (P1, ..., P18) zugeordnet ist.
  6. Verfahren nach einem der vorhergehenden Ansprüche, bei dem das Verfahren in einem Peer-to-Peer-Netz, insbesondere einem Chord-Ring, eingesetzt wird.
  7. Verfahren nach Anspruch 6, wobei das Verfahren in einem Chord-Ring eingesetzt wird, in dem einem jeweiligen Netzknoten (P1, ..., P18) eine vorbestimmte Anzahl an Vorgänger-Netzknoten und/oder Nachfolger-Netzknoten sowie die dem jeweiligen Netzknoten (P1, ..., P18) zugeordneten Finger bekannt sind, wobei ein Finger durch einen Fingerhashwert und einen Netzknoten (P1, ..., P18), der für den Fingerhashwert zuständig ist, repräsentiert wird.
  8. Verfahren nach Anspruch 7, bei dem die in Schritt b) des Anspruchs 1 ermittelten Intervalllängen die Längen der Intervalle zwischen benachbarten Vorgänger-Knoten und/oder Nachfolger-Knoten umfassen sowie die Längen der Intervalle zwischen einem Fingerhashwert und dem Netzknotenhashwert (h1, ..., h18) des Netzknotens (P1, ..., P18), der für den Fingerhashwert zuständig ist.
  9. Verfahren nach einem der vorhergehenden Ansprüche, bei dem jeder Netzknoten (P1, ..., P18) für ein Intervall zuständig ist, welches sich von dem jeweiligen Netzknoten (P1, ..., P18) über mehrere zueinander benachbarte Netzknoten (P1, ..., P18) erstreckt.
  10. Verfahren nach Anspruch 9 in Kombination mit Anspruch 8, bei dem in einem jeweiligen Netzknoten (P1, ..., P18) für einen Finger der Fingerhashwert sowie alle r Netzknoten (P1, ..., P18), die für den Fingerhashwert zuständig sind, hinterlegt werden, wobei in Schritt b) des Anspruchs 1 als ermittelte Intervalllängen in einem jeweiligen Netzknoten (P1, ..., P18) die Längen der Intervalle zwischen den r Netzknoten (P1, ..., P18) berücksichtigt werden.
  11. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Abschätzung in Schritt d) des Anspruchs 1 neben der abgeschätzten Anzahl an Netzknoten (P1, ..., P18) angibt, mit welcher Wahrscheinlichkeit α die tatsächliche Anzahl an Netzknoten (P1, ..., P18) um mehr als einen vorbestimmten Prozentsatz d von der abgeschätzten Anzahl an Netzknoten (P1, ..., P18) abweicht.
  12. Verfahren nach Anspruch 11, insbesondere zur Verwendung in einem Chord-Ring, bei dem der vorbestimmte Prozentsatz d von der Wahrscheinlichkeit α und der Anzahl s der bei der Abschätzung berücksichtigten Intervalllängen abhängt.
  13. Verfahren nach Anspruch 12, bei dem der vorbestimmte Prozentsatz d von der Wahrscheinlichkeit α und der Anzahl s wie folgt abhängt:
    Figure 00270001
    wobei z1-α/2 der obere kritische Punkt der Standardnormalverteilung N(0, 1) ist, bei welchem P(X ≤ z) = 1 – α/2 für eine gemäß N(0, 1) verteilte Zufallsvariable X gilt.
  14. Verfahren nach einem der vorhergehenden Ansprüche, bei dem in zeitlichen Abständen ein Netzknoten (P1, ..., P18) an einen ausgewählten Netzknoten (P5, P11, P17) eine Anforderung (A1, A2, A3) zur Übermittlung von Intervalllängen sendet, woraufhin der ausgewählte Netzknoten (P5, P11, P17) eine Antwort (R1, R2, R3) an den zentralen Netzknoten (P1) sendet, welche die in dem ausgewählten Netzknoten (P5, P11, P17) ermittelten Intervalllängen und/oder den Mittelwert der ermittelten Intervalllängen enthält.
  15. Verfahren nach Anspruch 14, bei dem mit der Antwort (R1, R2, R3) eines ausgewählten Netzknotens (P5, P11, P17) eine Identität (ID1, ..., ID18) eines dem ausgewählten Netzknoten (P5, P11, P17) bekannten Netzknotens (P1, ..., P18) übermittelt wird, vorzugsweise eines Netzknotens (P1, ..., P18), der einen Wert (h1, ..., h18) größer als der ausgewählte Netzknoten (P5, P11, P17) aufweist und den größten Abstand zum ausgewählten Netzknoten (P5, P11, P17) hat.
  16. Verfahren nach Anspruch 14 oder 15, bei dem die Anforderungen (A1, A2, A3) zur Übermittlung von Intervalllängen ausschließlich von dem zentralen Netzknoten (P1) an die ausgewählten Netzknoten (P5, P11, P17) gesendet werden.
  17. Verfahren nach Anspruch 16, bei dem der zentrale Netzknoten (P1) bei einem Neustart des Verfahrens einen anderen Netzknoten (P5, P11, P17) zunächst zufällig auswählt und an ihn eine Anforderung (A1, A2, A3) zur Übermittlung von Intervalllängen sendet, wobei die nachfolgend ausgewählten Netzknoten (P5, P11, P17) diejenigen Netzknoten (P1, ..., P18) sind, deren Identität (ID1, ..., ID18) mit einer vorangegangenen Antwort (R1, R2, R3) an den zentralen Netzknoten (P1, ..., P18) gesendet wurde.
  18. Verfahren nach Anspruch 14 oder 15, bei dem ein ausgewählter Netzknoten (P5, P11, P17), der eine Antwort (R1, R2, R3) an den zentralen Netzknoten (P1) sendet, ferner eine Anforderung (A1, A2, A3) zur Übermittlung der Intervalllängen an einen ihm bekannten Netzknoten (P1, ..., P18) sendet, welcher der nächste ausgewählte Netzknoten (P5, P11, P17) ist, woraufhin dieser nächste ausgewählte Netzknoten (P5, P11, P17) wiederum eine Antwort (R1, R2, R3) an den zentralen Netzknoten (P1) und eine Anforderung (A1, A2, A3) zur Übermittlung von Intervalllängen an einen ihm bekannten Netzknoten (P1, ..., P18) sendet.
  19. Verfahren nach Anspruch 17 oder 18, bei dem der nächste ausgewählte Netzknoten (P5, P11, P17) derjenige Netzknoten ist, der einen Wert (h1, ...,h18) größer als der aktuelle ausgewählte Netzknoten (P5, P11, P17) aufweist und den größten Abstand zum aktuellen ausgewählten Netzknoten (P5, P11, P17) hat.
  20. Verfahren nach einem der Ansprüche 17 bis 19, bei dem der zentrale Netzknoten (P1) beim Neustart des Verfahrens einen Netzknoten (P5, P11, P17) zufällig auswählt und dann solange keinen Netzknoten (P1, ..., P18) mehr auswählt, bis eine vorbestimmte Zeitspanne, in welcher er keine Antworten (R1, R2, R3) von Netzknoten (P1, ..., P18) empfangen hat, überschritten ist.
  21. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Netzknoten (P1, ..., P18) in vorbestimmten Zeitabständen selbsttätig Nachrichten (R1, R2, R3) an den zentralen Netzknoten (P1) senden, welche jeweils die ermittelten Intervalllängen und/oder den Mittelwert der ermittelten Intervalllängen des die Nachricht sendenden Netzknotens (P1, ..., P18) enthalten.
  22. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die zeitlichen Abstände einstellbar sind, in denen von einem jeweiligen Netzknoten (P1, ..., P18) die ermittelten In tervalllängen und/oder der Mittelwert der ermittelten Intervalllängen an den zentralen Netzknoten (P1) übermittelt werden.
  23. Verfahren nach einem der vorhergehenden Ansprüche, bei dem als zentraler Netzknoten (P1) ein Rendezvous-Netzknoten bestimmt wird.
  24. Dezentrales Datennetz, umfassend eine Mehrzahl von Netzknoten (P1, ..., P18), wobei der Abstand zwischen benachbarten Netzknoten (P1, ..., P18) jeweils durch ein Intervall (I1, I18) von Werten (h1, ...,h18) aus einem Gesamtwertebereich charakterisiert ist, wobei jedem Netzknoten (P1, ..., P18) eine Identität (ID1, ..., ID18) sowie ein Wert (h1, ..., h18) aus dem Gesamtwertebereich zugeordnet ist und wobei jedem Netzknoten (P1, ..., P18) eine Menge von Netzknoten (P1, ..., P18) bekannt ist, bei dem: – das Datennetz einen zentralen Netzknoten (P1) umfasst, der allen Netzknoten (P1, ..., P18) bekannt ist und zur Abschätzung der Anzahl von Netzknoten (P1, ..., P18) in dem Datennetz dient; – die Netzknoten (P1, ..., P18) derart ausgestaltet ist, dass sie während des Betriebs des Datennetzes jeweils Intervalllängen ermitteln, wobei die Intervalllängen eines jeweiligen Netzknotens (P1, ..., P18) mit Hilfe zumindest eines Teils der Werte (h1, ...,h18) bestimmt werden, welche den dem jeweiligen Netzknoten (P1, ..., P18) bekannten Netzknoten (P1, ..., P18) zugeordnet sind, und wobei über die Intervalllängen die Anzahl der Netzknoten (P1, ..., P18) im Datennetz abgeschätzt werden kann; – die Netzknoten (P1, ..., P18) derart zusammenwirken, dass von einem jeweiligen Netzknoten (P1, ..., P18) die ermittelten Intervalllängen und/oder der Mittelwert der ermittelten Intervalllängen an den zentralen Netzknoten (P1) übermittelbar sind; – der zentrale Netzknoten (P1) derart ausgestaltet ist, dass er im Betrieb des Datennetzes mit Hilfe der an ihn übermittelten Intervalllängen und/oder der Mittelwerte der Intervalllängen die Anzahl an Netzknoten (P1, ..., P18) des Datennetzes abschätzt.
  25. Dezentrales Datennetz nach Anspruch 24, wobei das Datennetz derart ausgestaltet ist, dass ein Verfahren nach einem der Ansprüche 2 bis 23 durchführbar ist.
  26. Netzrechner zur Verwendung in einem dezentralen Datennetz nach Anspruch 24 oder 25, wobei der Netzrechner derart ausgestaltet ist, dass er als ein Netzknoten (P1, ..., P18), insbesondere als zentraler Netzknoten (P1), im Datennetz arbeiten kann.
DE200610044861 2006-09-22 2006-09-22 Verfahren zur rechnergestützten Ermittlung der Anzahl an Netzknoten in einem dezentralen Datennetz Expired - Fee Related DE102006044861B3 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200610044861 DE102006044861B3 (de) 2006-09-22 2006-09-22 Verfahren zur rechnergestützten Ermittlung der Anzahl an Netzknoten in einem dezentralen Datennetz

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200610044861 DE102006044861B3 (de) 2006-09-22 2006-09-22 Verfahren zur rechnergestützten Ermittlung der Anzahl an Netzknoten in einem dezentralen Datennetz

Publications (1)

Publication Number Publication Date
DE102006044861B3 true DE102006044861B3 (de) 2008-03-27

Family

ID=39105448

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200610044861 Expired - Fee Related DE102006044861B3 (de) 2006-09-22 2006-09-22 Verfahren zur rechnergestützten Ermittlung der Anzahl an Netzknoten in einem dezentralen Datennetz

Country Status (1)

Country Link
DE (1) DE102006044861B3 (de)

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Binzenhöfer, A., u.a.: Estimating the Size of a Chord Ring (online). Report No. 348, University of Würzburg, 2005 (recherchiert am 22. Mai 2007). Im Internet: <URL:http://www-info3.informatik.uni- wuerzburg.de/TR/tr348.pdf>
Binzenhöfer, A., u.a.: Estimating the Size of a Chord Ring (online). Report No. 348, University of Würzburg, 2005 (recherchiert am 22. Mai 2007). Im Internet: <URL:http://www-info3.informatik.uniwuerzburg.de/TR/tr348.pdf> *
Heer, T., u.a.: Adapting Distributed Hash Tables for Mobile Ad Hoc Networks. In: Proceedings of the Fourth Annual IEEE International Conference on Pervasive Computing and Communications Work- shops (PerComW'06), 13.-17. März 2006
Heer, T., u.a.: Adapting Distributed Hash Tables for Mobile Ad Hoc Networks. In: Proceedings of the Fourth Annual IEEE International Conference on Pervasive Computing and Communications Workshops (PerComW'06), 13.-17. März 2006 *

Similar Documents

Publication Publication Date Title
DE602005000635T2 (de) Verfahren und Netzknoten zum Konfigurieren der Topologie eines Netzwerks
DE69730056T2 (de) Routen von duplikaten
EP1488611B1 (de) Aaa serversystem zur effizienten zugangskontrolle und adresszuordnung
DE69706649T2 (de) Verfahren und vorrichtung um einen klient-knoten mit einem server-knoten gemäss der belastungsstufen zu verbinden
DE60122691T2 (de) Verfahren und vorrichtung zum verteilten cachen
EP1423964B1 (de) Skalierbares peer-to-peer-netzwerk mit einem verzeichnisdienst
DE202015009264U1 (de) Anycast-basiertes, wide-area-verteiltes kartierungs- und lastverteilungssystem
WO2013178270A1 (de) Zugriff von clients auf einen serverdienst mittels einer opc-ua
EP1430368A2 (de) Verfahren zum zugriff auf informationen und/oder dienste eines verteilten automatisierungssystems
EP2119109B9 (de) Verfahren und Vorrichtung zum Verteilen eines Datensegments eines Datenstroms an eine Gruppe von mehreren Nutzern
DE60206780T2 (de) Netzwerkverbindungsvorrichtung, verbindungssystem und netzwerkverbindungsverfahren
DE102011114273B4 (de) Automatische Benutzerredundanzbestimmung
DE102006044861B3 (de) Verfahren zur rechnergestützten Ermittlung der Anzahl an Netzknoten in einem dezentralen Datennetz
EP1151591B1 (de) Datenzugriffs- und -verwaltungssystem sowie verfahren zum datenzugriff und zur datenverwaltung für ein rechnersystem
EP1658705A1 (de) Bereitstellung einer einem benutzer eines kommunikationsdienstes zugeordneten anwesenheitsinformation
DE102006052451B4 (de) Verfahren zum Betrieb eines dezentralen Datennetzes
EP3054654B1 (de) Netzwerksystem und verfahren zur namensauflösung in einem netzwerksystem
EP3035600B1 (de) Verfahren zur Diagnose der Erreichbarkeit von Netzwerkteilnehmern, Netzwerkteilnehmer und IP-basiertes Netzwerk
EP1668866A1 (de) Überprüfung der verfügbarkeit eines servers
DE60221732T2 (de) Dichotomisches Verfahren zur Auswahl eines Weges zwischen zwei Knoten in einem Datennetzwerk
DE10343796B4 (de) Verfahren zur Verwaltung einer Gruppe von Netzzugangsservern
DE102017205786A1 (de) Verfahren zum Konfigurieren zumindest eines Geräts in einem Netzwerk, Computerprogramm und computerlesbares Speichermedium
DE102020100870A1 (de) Redundante Speicherung der Konfiguration von Netzwerkgeräten unter Einbeziehung von Nachbarschaftsbeziehungen
EP1815665A1 (de) Verfahren zur bereitstellung einer adresse in einem daten-netzwerk
DE10230690A1 (de) Verfahren zur Aktualisierung von Diensten in Kommunikations-Netzwerken

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee