DE102006044859B4 - Verfahren zum Betrieb eines dezentralen Datennetzes - Google Patents

Verfahren zum Betrieb eines dezentralen Datennetzes Download PDF

Info

Publication number
DE102006044859B4
DE102006044859B4 DE200610044859 DE102006044859A DE102006044859B4 DE 102006044859 B4 DE102006044859 B4 DE 102006044859B4 DE 200610044859 DE200610044859 DE 200610044859 DE 102006044859 A DE102006044859 A DE 102006044859A DE 102006044859 B4 DE102006044859 B4 DE 102006044859B4
Authority
DE
Germany
Prior art keywords
network node
query
request
values
network
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
DE200610044859
Other languages
English (en)
Other versions
DE102006044859A1 (de
Inventor
Martin Landers
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 DE200610044859 priority Critical patent/DE102006044859B4/de
Publication of DE102006044859A1 publication Critical patent/DE102006044859A1/de
Application granted granted Critical
Publication of DE102006044859B4 publication Critical patent/DE102006044859B4/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1068Discovery involving direct consultation or announcement among potential requesting and potential source peers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

Verfahren zum Betrieb eines dezentralen Datennetzes, insbesondere eines Peer-to-Peer-Netzes, umfassend eine Mehrzahl von Netzknoten (P1, P2, ..., P18), wobei jeder Netzknoten (P1, P2, ..., P18) für einen Wertebereich (I1, I2, ..., I18) von mit Informationen verknüpften Abfragewerten (h1, h2, ..., h18) zuständig ist und jedem Netzknoten (P1, P2, ..., P18) eine Identität (ID1, ID2, ..., ID18) zugeordnet ist, bei dem:
a) von den Netzknoten (P1, P2, ..., P18) Anfragen (A1, A2, A3) nach einem oder mehreren Abfragewerten (hs) in das Datennetz ausgesendet werden, wobei ein anfragender Netzknoten (P1) für eine jeweilige Anfrage (A1, A2, A3) ein Anfrageergebnis empfängt, welches die Identitäten (ID1, ID2, ..., ID18) des oder der Netzknoten (P1, P2, ..., P18) enthält, welche für den oder die Abfragewerte (hs) der jeweiligen Anfrage (A1, A2, A3) zuständig sind;
b) bei Empfang eines Anfrageergebnisses in einem anfragenden Netzknoten (P1) die im Anfrageergebnis enthaltenen Identitäten (ID1, ID2, ..., ID18)...

Description

  • Die Erfindung betrifft ein Verfahren zum Betrieb eines dezentralen Datennetzes sowie ein entsprechendes Datennetz, insbesondere ein Peer-to-Peer-Netz, umfassend eine Mehrzahl von Netzknoten, wobei jeder Netzknoten für einen Wertebereich von mit Informationen verknüpften Abfragewerten zuständig ist und wobei jedem Netzknoten eine Identität und vorzugsweise auch ein Abfragewert zugeordnet ist.
  • Seit einigen Jahren kommen vermehrt Datennetze zum Einsatz, welche dezentral organisiert sind. Im Gegensatz zu herkömmlichen Client-Server-Architekturen bestehen solche dezentrale Datennetze aus gleichberechtigten Netzknoten, welche ohne Zwischenschaltung eines zentralen Servers miteinander kommunizieren. Solche Netze zeichnen sich durch eine gute Ausfallsicherheit und eine einfache Skalierbarkeit auf große Knotenanzahlen aus. Ferner sind solche dezentralen Netze auf einfache Weise, z. B. mit Standardrechnern und insbesondere PCs, realisierbar.
  • In der Computertechnologie werden dezentrale Netze häufig als sog. Peer-to-Peer-Netze realisiert, wobei jeder Netzknoten als Peer bezeichnet wird. Es sind hierbei viele unterschiedliche Realisierungen solcher Peer-to-Peer-Systeme bekannt, wie z. B. die Systeme Chord, Pastry und Tapestry. Peer-to-Peer-Netze ermöglichen die Suche nach Informationen in den einzelnen Peers vorzugsweise durch die Verwendung von verteilten Hash-Tabellen. Die Hash-Tabellen enthalten Abfragewerte in der Form von Hashwerten, und jeder Netzknoten ist für einen bestimmten Wertebereich von Abfragewerten zuständig. Bei der Verwendung von verteilten Hash-Tabellen bildet eine Hashfunktion jeden Netzknoten mit Hilfe eines eindeutigen Merkmals, beispielsweise der IP-Adresse des Netzknotens oder einer global eindeutigen Identität, auf einen Hashwert ab. Dazu können bekannte Hashfunktionen, beispielsweise die Funktion SHA1 eingesetzt werden. Mit Hilfe entsprechender Suchverfahren, welche auch als Lookups bezeichnet werden, kann innerhalb eines Peer-to-Peer-Netzes nach Netzknoten gesucht werden, welche für einen Hashwert gemäß einer Anfrage zuständig sind.
  • In einem dezentralen Netz kann beispielsweise nach Dateien mit entsprechenden Inhalten gesucht werden, wie z. B. MP3-Dateien. Hierzu kann die entsprechende Datei durch Schlüsselwörter (wie z. B. Interpret oder Titel des Musikstücks einer MP3-Datei) beschrieben sein, wobei diese Schlüsselwörter über eine Hashfunktion oder auch auf andere Weise auf einen entsprechenden Abfragewert in der Form eines Hashwerts abgebildet werden. Die entsprechende Datei wird dann an den für diesen Abfragewert zuständigen Netzknoten gesendet und dort gespeichert. Durch eine Lookup-Anfrage kann die Datei von anderen Netzknoten dann aufgefunden werden. Anstatt der Verwendung von Schlüsselwörtern kann ggf. auch ein sog. ”Fingerprint” zur Erzeugung eines Abfragewerts für eine bestimmte Information verwendet werden. Der Fingerprint ist hierbei eine charakteristische Ziffernfolge, welche aus dem Datensatz, dem der Abfragewert zuzuordnen ist, selbst gebildet ist.
  • Bei bekannten dezentralen Netzen besteht das Problem, dass eine Suche nach bestimmten Abfragewerten ein hohes Verkehrsaufkommen in dem Netz verursacht, da eine Vielzahl von Anfragen über unterschiedliche Knoten im Netz geleitet werden, bis schließlich derjenige Netzknoten gefunden wird, der für den entsprechenden Abfragewert zuständig ist.
  • Aus der Druckschrift Karger, D.; Lehmann, E.; Leighton, T.; Levine, M.; Panigrahy, R. ist ein Verfahren bekannt, bei dem in verteilten Datennetzen eine Überlastung eines datenliefernden Peers durch gleichzeitige Anfragen zu vieler Clients verhindert wird. Dabei werden von Browsern abgefragte Seiten durch spezielle, am Transfer beteiligte Netzknoten in einem Cache zwischengespeichert.
  • Aus dem Stand der Technik sind Ansätze bekannt, wie Lookups in dezentralen Netzen möglichst schnell ausgeführt werden können. Diese Lösungen beruhen auf der Konzeption einer geeigneten Netzwerkstruktur und entsprechend schneller Lookup-Algorithmen (s. beispielsweise: M. F. Kaashoek and D. R. Karger, ”Koorde: A simple degree-optimal distributed hash table.” In Proc. 2nd IPTPS, Berkeley, CA, Feb. 2003). Die bekannten Verfahren stellen zwar schnelle Lookup-Konzepte zur Verfügung, beschäftigen sich aber nicht mit deren Optimierung durch eine geeignete Implementierung.
  • Aufgabe der Erfindung ist es deshalb, ein Verfahren zum Betrieb eines dezentralen Datennetzes und ein entsprechendes Datennetz zu schaffen, mit denen, aufbauend auf den bekannten Verfahren, Anfragen noch schneller und mit noch geringerem Verkehrsaufkommen im Netz verarbeitet werden können.
  • 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 werden von den Netzknoten Anfragen nach einem oder mehreren Abfragewerten in das Datennetz ausgesendet, wobei ein anfragender Netzknoten für eine jeweilige Anfrage ein Anfrageergebnis empfängt, welches die Identitäten des oder der Netzknoten enthält, welche für den oder die Abfragewerte der jeweiligen Anfrage zuständig sind. Bei Empfang eines Anfrageergebnisses in einem anfragenden Netzknoten werden die im Anfrageergebnis enthaltenen Identitäten in einem dem anfragenden Netzknoten zugeordneten Speicher hinterlegt. Die Identitäten werden hierbei wie folgt hinterlegt:
    • – Eine Identität eines jeweiligen Netzknotens des Anfrageergebnisses wird demjenigen Abfragewert der Anfrage zugeordnet, für den der jeweilige Netzknoten zuständig ist, und/oder
    • – eine Identität eines jeweiligen Netzknotens des Anfrageergebnisses wird einem Intervall von Abfragewerten zugeordnet, welches denjenigen Abfragewert der Anfrage enthält, für den der jeweilige Netzknoten zuständig ist, wobei der jeweilige Netzknoten für alle Abfragewerte des Intervalls zuständig ist.
  • In dem Verfahren wird durch einen anfragenden Netzknoten vor dem Aussenden einer Anfrage ermittelt, ob der dem Netzknoten zugeordnete Speicher Abfragewerte der auszusendenden Anfrage enthält und/oder Intervalle enthält, welche Abfragewerte der auszusendenden Anfrage umfassen, wobei für ermittelte Abfragewerte und/oder Intervalle die zugeordneten Identitäten der Netzknoten als Abfrageergebnis ausgegeben werden.
  • Durch die Verwendung eines Speichers für jeden Netzknoten wird gemäß der Erfindung eine Zwischenspeicherung von Ergebnissen aus bereits durchgeführten Anfragen ermöglicht. Diese Ergebnisse können bei neuen Anfragen wieder verwendet werden. Insbesondere kann auf wiederholte Anfragen nach bereits angefragten Abfragewerten verzichtet werden, da in diesem Fall aus dem Speicher das Anfrageergebnis durch eine entsprechende Zuordnung zwischen Abfragewert und Netzknotenidentität entnommen werden kann. Auf diese Weise wird für eine Vielzahl von Fällen das Verkehrsaufkommen im dezentralen Netz vermindert und gleichzeitig die Suche nach Abfragewerten beschleunigt. Das Verfahren ist dabei einfach zu implementieren und erfordert zu seiner Durchführung lediglich einen entsprechenden Speicher in jedem Netzknoten.
  • Insbesondere bei der Hinterlegung von Intervallen von Abfragewerten in dem Speicher erweist es sich als vorteilhaft, dass eine große Anzahl von Anfragen dadurch beantwortet werden kann, dass ein entsprechender Abfragewert aus dem zugehörigen Intervall mit der hierfür hinterlegten Netzknotenidentität aus dem Speicher entnommen wird.
  • Das erfindungsgemäße Verfahren wird insbesondere in den eingangs erwähnten Peer-to-Peer-Netzen eingesetzt, wobei die Abfragewerte vorzugsweise Hashwerte sind, welche über eine verteilte Hash-Tabelle im Netz mit entsprechenden Informationen verknüpft sind, wobei jeder Netzknoten für einen Wertebereich von Hashwerten zuständig ist. Der Wertebereich von Hashwerten eines jeweiligen Netzknotens ist hierbei vorzugsweise durch einen Anfangs-Hashwert und einen End-Hashwert begrenzt, wobei der End-Hashwert eine Repräsentation der Identität des jeweiligen Netzknotens darstellt und wobei in einem Abfrageergeb nis neben den Identitäten des oder der Netzknoten, welche für den oder die Abfragewerte der jeweiligen Abfrage zuständig sind, die End-Hashwerte dieser Netzknoten enthalten sind.
  • Durch die Verknüpfung von Netzknoten mit End-Hashwerten können auf einfache Weise entsprechende, mit Netzknotenidentitäten verknüpfte Intervalle in dem Speicher erzeugt werden. Die Erzeugung solcher Intervalle kann dadurch erfolgen, dass bei Empfang eines Anfrageergebnisses für eine Identität eines jeweiligen Netzknotens des Anfrageergebnisses ein Intervall in dem Speicher des anfragenden Netzknotens derart festgelegt wird, dass das Intervall sich von demjenigen Abfragewert der Anfrage, für den der jeweilige Netzknoten zuständig ist, zu dem End-Hashwert des Wertebereichs des jeweiligen Netzknotens erstreckt. Man macht sich hierbei die Tatsache zu nutze, dass in dieser Ausführungsform ein Netzknoten immer für einen Hashwerte-Bereich zuständig ist, dessen sämtliche Elemente kleiner oder gleich dem ihm zugeordneten End-Hashwert ist. Somit muss ein gemäß der Anfrage ermittelter Netzknoten nicht nur für den angefragten Hashwert, sondern auch für das Intervall zwischen angefragtem Hashwert und End-Hashwert zuständig sein.
  • In einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens erzeugt bereits das Aussenden einer Anfrage durch einen anfragenden Netzknoten in dem dem anfragenden Netzknoten zugeordneten Speicher Einträge für die Abfragewerte der Anfrage, wobei nach Empfang des Abfrageergebnisses einem jeweiligen Eintrag die Identität des entsprechenden Netzknotens des Abfrageergebnisses zugeordnet wird, der für den Abfragewert zuständig ist, für welchen der jeweilige Eintrag erzeugt wurde. Um einen großen Bereich von Abfragewerten abzudecken, kann mit Hilfe der Identität des entsprechenden Netzknotens des Abfrageergebnisses ein Intervall von Abfragewerten ermittelt werden, welches den jeweiligen Eintrag enthält, wobei anschließend der Abfragewert in dem Eintrag durch das Intervall ersetzt wird und wobei der entsprechende Netzknoten für alle Abfragewerte des Intervalls zuständig ist.
  • Bei der Verwendung der obigen Ausführungsform des Verfahrens, bei der bereits für jede ausgesendete Anfrage ein Eintrag erzeugt wird, kann insbesondere verhindert werden, dass mehrere Anfragen nach gleichen Abfragewerten parallel gestartet werden. Dies geschieht dadurch, dass vor dem Aussenden einer Anfrage geprüft wird, ob Einträge für Abfragewerte der Anfrage oder für Intervalle, welche Abfragewerte der Anfrage umfassen, in dem dem anfragenden Netzknoten zugeordneten Speicher enthalten sind, wobei diejenigen Abfragewerte, für die Einträge enthalten sind, nicht mit der Anfrage ausgesendet werden. Um dennoch ein Abfrageergebnis für solche Einträge zu erhalten, wartet der anfragende Netzknoten im Falle des Vorhandenseins von Einträgen ohne Zuordnung einer Netzknotenidentität im Speicher so lange, bis diesen Einträgen Identitäten von Netzknoten zugeordnet sind. Anschließend werden die diesen Einträgen zugeordneten Identitäten als Abfrageergebnis ausgegeben.
  • In einer weiteren bevorzugten Ausführungsform der Erfindung wird der Speicher eines Netzknotens dahingehend überprüft, ob eine Identität eines Netzknotens mehreren überlappenden oder aneinander angrenzenden Intervallen zugeordnet ist, wobei in diesem Fall die mehreren überlappenden und/oder angrenzenden Intervalle zu einem Intervall zusammengefasst werden. Dies ermöglicht eine effektive Speicherverwaltung und eine Reduzierung der Einträge im Speicher.
  • In einer weiteren Ausgestaltung der Erfindung wird eine ausgesendete Anfrage mittels eines Suchverfahrens nacheinander an eine Mehrzahl von Netzknoten weitergeleitet, bis der oder die Netzknoten gefunden sind, welche für den oder die Abfragewerte der jeweiligen Anfrage zuständig sind. Als Suchverfahren kann beispielsweise ein aus dem Stand der Technik bekanntes Lookup-Verfahren verwendet werden. In solchen Suchverfahren sind insbesondere jedem Netzknoten eine Anzahl von Nachbarknoten und/oder anderen Netzknoten bekannt, wobei die Anfrage in Abhängigkeit von den Abfragewerten von einem je weiligen Netzknoten an einen dem jeweiligen Netzknoten bekannten Nachbarknoten oder anderen Netzknoten weitergeleitet wird. Das Weiterleiten der Anfrage erfolgt vorzugsweise derart, dass der jeweilige Netzknoten, von dem aus die Anfrage weitergeleitet wird, eine Rückmeldung an den anfragenden Netzknoten sendet, welche die Identität des nächsten Netzknotens enthält, an den die Anfrage weiterzuleiten ist, wobei der anfragende Netzknoten nach Erhalt der Rückmeldung die Anfrage an diesen nächsten Netzknoten weiterleitet. Es handelt sich hierbei um ein iteratives Suchverfahren, bei dem die Suche nach entsprechenden Netzknoten immer unter Rückmeldung an den anfragenden Netzknoten erfolgt. Dies hat den Vorteil, dass der anfragende Netzknoten sofort über Schwierigkeiten bei der Weiterleitung von Anfragen in Kenntnis gesetzt wird, und zwar dadurch, dass er keine Rückmeldung mehr von ausgesendeten Anfragen erhält.
  • In einer besonders bevorzugten Ausführungsform des obigen iterativen Suchverfahrens ist in der Rückmeldung zumindest ein Abfragewert enthalten, für den der nächste Netzknoten zuständig ist. Dabei hinterlegt der anfragende Netzknoten nach Erhalt der Rückmeldung die Identität des nächsten Netzknotens und den zumindest einen Abfragewert in den ihm zugeordneten Speicher. Auf diese Weise wird es ermöglicht, dass der Speicher nicht nur durch Identitäten von Netzknoten gemäß dem Endergebnis des Suchverfahrens aufgefüllt wird, sondern dass auch Zwischenergebnisse des Suchverfahrens zu einer Ergänzung des Speichers führen. Somit werden in kürzerer Zeit mehr Speichereinträge erzeugt, was wiederum zu einer Beschleunigung des Suchverfahrens und zu einer Verminderung von Datenverkehr führt.
  • Das erfindungsgemäße Verfahren kann insbesondere auch in einem Datennetz mit Replikation eingesetzt werden, bei dem für jeden Abfragewert mehrere Netzknoten zuständig sind. In diesem Fall werden bei Empfang eines Abfrageergebnisses in einem anfragenden Netzknoten die Identitäten der mehreren Netzkno ten dem Abfragewert oder einem den Abfragewert enthaltenen Intervall zugeordnet.
  • In einer bevorzugten Ausgestaltung des erfindungsgemäßen Verfahrens wird als der dem jeweiligen Netzknoten zugeordnete Speicher ein lokaler Zwischenspeicher verwendet, der in dem jeweiligen Netzknoten vorgesehen ist. Da sich die Topologie des Datennetzes mit der Zeit verändert, ist der Speicher eines jeweiligen Netzknotens derart ausgestaltet, dass jeder Eintrag in dem Speicher nach einer vorbestimmten Zeit gelöscht wird.
  • Um einen schnellen Zugriff auf Intervalle in dem Speicher bzw. ein schnelles Zusammenfassen von überlappenden und/oder angrenzenden Intervallen im Speicher zu erreichen, werden die im Speicher eines jeweiligen Netzknotens enthaltenen Intervalle in Abhängigkeit von den Intervallanfangs- und/oder Intervallendpunkten geordnet, und zwar insbesondere nach den Intervallanfangspunkten oder, wenn diese gleich sind, nach den Intervallendpunkten.
  • In einer weiteren Ausgestaltung der Erfindung werden für zumindest einen Teil der Abfragewerte ein oder mehrere Schlüsselwörter, welche die mit einem Abfragewert verknüpfte Information beschreiben, eindeutig dem Abfragewert zugeordnet, insbesondere unter Verwendung eines Hash-Algorithmus. Ebenso ist es möglich, dass für zumindest einen Teil der Abfragewerte die mit einem Abfragewert verknüpften Informationen selbst eindeutig dem Abfragewert zugeordnet werden. Auch hier kann vorzugsweise ein Hash-Algorithmus verwendet werden.
  • In einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens sind die mit einem Abfragewert verknüpften Informationen Daten, insbesondere Dateien, wobei ein Netzknoten, welcher für einen jeweiligen Abfragewert zuständig ist, die entsprechenden Daten speichert oder einen Verweis auf den Speicherort der entsprechenden Daten enthält.
  • Neben dem oben beschriebenen Verfahren betrifft die Erfindung ferner ein dezentrales Datennetz mit einer Vielzahl von Netzknoten, wobei das Datennetz derart ausgestaltet ist, dass das erfindungsgemäße Verfahren durchführbar ist. Das Datennetz ist hierbei vorzugsweise ein Computernetz, in dem die Netzknoten einen oder mehrere Rechner umfassen. Besonders bevorzugt wird als Datennetz ein Peer-to-Peer-Netz, z. B. ein Chord-Ring, eingesetzt.
  • Ausführungsbeispiele der Erfindung werden nachfolgend anhand der beigefügten Figur detailliert beschrieben.
  • 1 zeigt die schematische Darstellung eines Peer-to-Peer-Netzes, anhand welcher eine Ausführungsform des erfindungsgemäßen Verfahrens beschrieben wird.
  • Bei dem in 1 gezeigten dezentralen Peer-to-Peer-Netz handelt es sich um einen sog. Chord-Ring, der hinlänglich aus dem Stand der Technik bekannt ist. Dieser Ring umfasst in der Ausführungsform der 1 achtzehn Netzknoten in der Form von Peers P1, P2, ..., P18. Jedem Peer ist dabei ein Wertebereich von Abfragewerte zugeordnet, wobei in der hier beschriebenen Variante als Abfragewerte Hashwerte verwendet werden, welche in einer verteilten Hash-Tabelle hinterlegt sind. In einer solchen Hash-Tabelle sind die Hashwerte linear geordnet und beschränkt, insbesondere auf natürliche Zahlen aus einem bestimmten Bereich. Die Hashwerte in der verteilten Hash-Tabelle werden hierbei mit einer Hashfunktion erzeugt, welche so konstruiert ist, dass die Verteilung der Hashwerte möglichst gleichmäßig ist.
  • Jeder der Peers P1 bis P18 ist dabei für einen Hashwerte-Bereich aus der Hash-Tabelle zuständig, wobei jedem Peer selbst auch ein Hashwert zugeordnet ist, welcher der Endpunkt des Hashwerte-Bereichs des jeweiligen Peers ist. Die Hashwertebereiche der einzelnen Peers in 1 erstrecken sich dabei von dem Hashwert eines vorangegangenen Peers zu dem Hashwert des betrachteten Peers. Die Richtung von Vorgänger zu Nachfolger ist in 1 dabei die Richtung im Uhrzeigersinn in dem betrachteten Ring. Neben einem Hashwert und einem Hashwerte-Bereich ist jedem Peer ferner eine eindeutige Identität zugeordnet, mit welcher der Peer in dem Ring identifizierbar und adressierbar ist. Beispielsweise kann die IP-Adresse (IP = Internet Protocol) des Peers diese Identität darstellen. In 1 ist für jeden der Peers P1 bis P18 ein Tupel angegeben, welches den Hashwert hx (x = 1, ..., 18) des entsprechenden Peers, die Identität IDx (x = 1, ..., 18) des entsprechenden Peers sowie den Wertebereich Ix (x = 1, ..., 18) angibt, für den der entsprechende Peer zuständig ist. Wie bereits angegeben, erstreckt sich jeder Wertebereich Ix von dem betrachteten Peer Px zum vorangegangenen Peer, d. h. es gilt Ix = [h (x – 1) + 1; hx] für x = 2, ..., 18 und I1 = [h18 + 1; h1], wobei das Intervall I1 über den Ringschluss hinüberreicht.
  • Gemäß dem Verfahren der Erfindung wird für jeden Peer ein Zwischenspeicher oder Cache zum Abspeichern von Zuordnungen zwischen Identitäten und Hashwerten bzw. Hashwerte-Bereiche benötigt. Deshalb enthält jeder Peer einen Cache C, der in 1 nur für den Peer P1 schematisiert angedeutet ist.
  • In dem Chord-Ring der 1 kann jeder Peer mit Hilfe eines sog. Lookup-Algorithmus nach einem oder mehreren Hashwerten suchen. Jeder Hashwert ist dabei mit Informationen verknüpft, nach denen in dem Chord-Ring gesucht werden kann. Die Generierung des Hashwerts kann dabei beispielsweise derart erfolgen, dass für eine entsprechende Information, z. B. eine MP3-Musikdatei, Schlüsselwörter zur Spezifizierung des Inhalts der Datei existieren. Aus den Schlüsselwörtern wird dann ein eindeutiger Hashwert generiert, welcher der entsprechenden Datei zugeordnet ist. Peers, die für einen derartigen Hashwert zuständig sind, haben dabei Zugriff auf die entsprechende Datei, insbesondere ist die entsprechende Datei lokal auf dem betreffenden Peer gespeichert. Es ist jedoch auch möglich, dass der entsprechende Peer nur einen Verweis auf den Speicherort der Datei enthält.
  • Um eine Anfrage nach einem Hashwert bzw. mehreren Hashwerten in dem Peer-to-Peer-Netz zu verteilen, ist jedem Peer eine vorbestimmte Anzahl von Nachbarn sowie eine Anzahl von weiteren Peers bekannt, wobei die weiteren Peers auch als Finger bezeichnet werden. Geht man davon aus, dass in dem Netz der 1 2m Hashwerte existieren, sind die Finger eines Peers mit einem bestimmten Hashwert h diejenigen Peers, die jeweils für den Hashwert (h + 2i) mod 2m (i = 0, ..., m – 1) zuständig sind. Die einzelnen Finger liegen somit für kleine Indizes i nahe an dem betrachteten Peer, der Abstand der Finger steigt jedoch mit wachsendem i exponentiell an. Der Finger mit dem größten Abstand von dem betrachteten Peer ist hierbei in dem in 1 gezeigten Chord-Ring der diametral dem betrachteten Peer gegenüberliegende Peer.
  • In dem in 1 gezeigten Chord-Ring kennt jeder Peer seinen direkten Nachfolger sowie seine Finger. Dies ist in 1 durch entsprechende Pfeile 1, 2, 3 und 4 für den Peer P1 angedeutet. Ein Finger kann hierbei auch mit dem direkten Nachbarn zusammenfallen. Darüber hinaus ist durch die Pfeile 5, 6 und 7 für den Peer P10 in 1 angedeutet, welche Peers dem Peer P10 unter anderem bekannt sind. Dies sind die Peers P11, P12 und P14. Man erkennt, dass dem Peer P1 unter anderem die Peers P2, P3, P5 und P10 bekannt sind. Ferner ist durch den Pfeil 8 angedeutet, dass dem Peer P12 sein direkter Nachfolger P13 bekannt ist.
  • In dem Szenario der 1 ist ein Lookup-Algorithmus angedeutet, bei dem der anfragende Peer P1 nach dem Hashwert hs sucht, der durch einen schwarzen Punkt in 1 wiedergegeben ist. Durch die Lage des Hashwertes hs zwischen den Peers P12 und P13 wird verdeutlicht, dass dieser Hashwert hs zwischen dem Hashwert h12 des Peers P12 und dem Hashwert h13 des Peers P13 liegt. Dies bedeutet, dass der Peer P13 derjenige Peer ist, der für den Hashwert hs zuständig ist. Zum Auffinden dieses Peers P13 wird von dem Peer P1 eine entsprechende Anfrage in das Netz gesendet. Das Vorgehen ist hierbei wie folgt: Der Peer P1 sucht aus allen ihm bekannten Peers denjenigen aus, dessen Hashwert dem Hashwert der Anfrage am nächsten liegt, d. h. den letzten ihm bekannten Peer vor oder auf dem Hashwert der Anfrage (im Uhrzeigersinn). An diesen Peer wird eine entsprechende Anfrage A1 gesendet. In 1 ist dieser Peer der Peer P10. Der Peer P10 sendet auf die Anfrage A1 eine entsprechende Rückmeldung R1 an den Peer P1. Die Rückmeldung enthält die Information, welcher von den Peers, die dem Peer P10 bekannt sind, derjenige Peer ist, dessen Hashwert dem gesuchten Hashwert hs am nächsten liegt. Hierbei werden die Identität und der Hashwert dieses nächstliegenden Peers übermittelt. Daraufhin setzt der Peer P1 die Anfrage mit einer weiteren Anfrage A2 fort, welche in dem Szenario der 1 an den Peer P12 gerichtet ist, denn dieser Peer ist aus der Menge der dem Peer P10 bekannten Peers derjenige, dessen Hashwert dem Hashwert hs am nächsten liegt. Der Peer P12 erkennt schließlich, dass er der letzte Peer vor dem Hashwert hs ist und sendet in der Rückmeldung R2 an den Peer P1 die Identität ID13 und den Hashwert h13 seines direkten Nachfolgers P13 zurück. Der Peer P1 erkennt, dass der Hashwert h13 des Peers P13 bereits hinter dem Hashwert hs liegt und dass daher der Peer P13 für den Hashwert hs zuständig ist.
  • In dem erfindungsgemäßen Verfahren wird die Suche nach Hashwerten durch Verwendung von lokalen Caches C in jedem der Peers P1 bis P18 vereinfacht. Hierzu werden Informationen in den Caches bei der Durchführung eines Lookups gespeichert, welche bei späteren Lookups wieder verwendet werden können. Bei dem in 1 gezeigten Lookup nach dem Hashwert hs wird nach Durchführung des Lookups in dem Cache C des Peers P1 für den Hashwert hs die entsprechende Identität ID13 des Peers P13 hinterlegt. Sollte bei einer späteren Suche wieder nach dem Hashwert hs gesucht werden, wird zunächst in dem Cache C nachgeschaut, ob bereits ein Eintrag für hs vorhanden ist. Es wird dann erkannt, dass hs dem Peer P13 zugeordnet ist, so dass als Suchergebnis sofort die Identität ID13 dieses Peers ausgegeben werden kann, ohne dass Datenverkehr im Chord-Ring zum Auffinden dieses Peers generiert wird.
  • In einer bevorzugten Ausführungsform des Verfahrens wird für den Lookup gemäß 1 nicht nur eine Zuordnung zwischen dem Hashwert hs und der Identität ID13 des Peers P13 erzeugt, sondern es wird eine Zuordnung des Intervalls [hs, h13] zur Identität ID13 des Peers P13 erzeugt. Dies ist möglich, da bekannt ist, dass der Peer P13 für einen Hashwerte-Bereich zuständig ist, dessen Endwert der Hashwert h13 ist. Dies bedeutet, dass alle Hashwerte zwischen hs und h13 Hashwerte sein müssen, für die der Peer P13 zuständig ist. Durch diese Variante des Verfahrens wird auf einfache Weise einer Vielzahl von Hashwerten eine entsprechende Peer-Identität im Cache C zugeordnet, so dass in noch weniger Fällen ein Lookup mit Datenverkehr zum Auffinden des entsprechenden Peers erforderlich ist.
  • Der in Bezug auf 1 beschriebene Lookup ist ein sog. iterativer Lookup, bei dem jeder Peer innerhalb des Lookups eine Rückmeldung an den Initiator des Lookups gibt, wobei der Initiator dann die Anfrage an den nächsten Peer auslöst. Im Unterschied hierzu werden bei einem rekursiven Lookup keine mehrfachen Rückmeldungen an den Initiator des Lookups gegeben, sondern jeder Peer leitet die Anfrage sofort an den ihn bekannten Peer weiter, der dem gesuchten Hashwert am nächsten liegt. Die Verwendung einer iterativen Implementierung des Lookups hat den Vorteil, dass bei jeder Rückmeldung dem Initiator mitgeteilt wird, wie die Identität und der Hashwert desjenigen Peers lautet, an den die nächste Anfrage im Lookup zu richten ist. Diese Information wird in einer besonders bevorzugten Ausführungsform der Erfindung in dem Initiatorpeer (d. h. im Peer P1 der 1) derart verarbeitet, dass ein Eintrag in dem Cache C für den rückgemeldeten Peer erzeugt wird, wobei der Eintrag aus dem Hashwert des rückgemeldeten Peers und dessen Identität besteht. Hierdurch wird der Cache C auch um Hashwerte erweitert, nach denen gemäß dem Lookup nicht explizit gesucht wird.
  • Das erfindungsgemäße Verfahren kann auch in Peer-to-Peer-Systemen eingesetzt werden, bei denen eine r-fache Replikation von Hashwerten vorliegt. Hierunter ist zu verstehen, dass jedem Hashwert eine Replikationsgruppe von r Peers zugeordnet ist. Dies ist dadurch realisierbar, dass jedem Peer nicht nur das Hashwert-Intervall bis zum benachbarten Vorgänger-Peer zugeordnet wird, sondern ein Hashwert-Intervall, welches sich über r Vorgänger-Peers erstreckt. In diesem Fall werden als Ergebnis eines Lookups alle Peers mit den entsprechende Identitäten und Hashwerten zurückgegeben, welche für den gesuchten Hashwert zuständig sind. Daraufhin können in dem Cache des anfragenden Peers für den entsprechenden gesuchten Abfragewert alle drei Peer-Identitäten hinterlegt werden. Darüber hinaus besteht in einer bevorzugten Variante auch die Möglichkeit, diese Peer-Identitäten der Replikationsgruppe mit einem Hashwerte-Bereich zu verknüpfen, und zwar mit dem Hashwerte-Bereich, der von dem gesuchten Hashwert bis zu dem Hashwert reicht, welcher der kleinste Hashwert ist, der einem Peer der Replikationsgruppe zugeordnet ist. Von diesem Wertebereich ist bekannt, dass jeder Peer der Replikationsgruppe für diesen Wertebereich zuständig ist.

Claims (23)

  1. Verfahren zum Betrieb eines dezentralen Datennetzes, insbesondere eines Peer-to-Peer-Netzes, umfassend eine Mehrzahl von Netzknoten (P1, P2, ..., P18), wobei jeder Netzknoten (P1, P2, ..., P18) für einen Wertebereich (I1, I2, ..., I18) von mit Informationen verknüpften Abfragewerten (h1, h2, ..., h18) zuständig ist und jedem Netzknoten (P1, P2, ..., P18) eine Identität (ID1, ID2, ..., ID18) zugeordnet ist, bei dem: a) von den Netzknoten (P1, P2, ..., P18) Anfragen (A1, A2, A3) nach einem oder mehreren Abfragewerten (hs) in das Datennetz ausgesendet werden, wobei ein anfragender Netzknoten (P1) für eine jeweilige Anfrage (A1, A2, A3) ein Anfrageergebnis empfängt, welches die Identitäten (ID1, ID2, ..., ID18) des oder der Netzknoten (P1, P2, ..., P18) enthält, welche für den oder die Abfragewerte (hs) der jeweiligen Anfrage (A1, A2, A3) zuständig sind; b) bei Empfang eines Anfrageergebnisses in einem anfragenden Netzknoten (P1) die im Anfrageergebnis enthaltenen Identitäten (ID1, ID2, ..., ID18) in einem dem anfragenden Netzknoten (P1) zugeordneten Speicher (C) derart hinterlegt werden, dass eine Identität (ID1, ID2, ..., ID18) eines jeweiligen Netzknotens (P1, P2, ..., P18) des Anfrageergebnisses – demjenigen Abfragewert (hs) der Anfrage (A1, A2, A3) zugeordnet wird, für den der jeweilige Netzknoten (P1, P2, ..., P18) zuständig ist, und/oder – einem Intervall von Abfragewerten (h1, h2, ..., h18) zugeordnet wird, welches denjenigen Abfragewert (hs) der Anfrage (A1, A2, A3) enthält, für den der jeweilige Netzknoten (P1, P2, ..., P18) zuständig ist, wobei der jeweilige Netzknoten (P1, P2, ..., P18) für alle Abfragewerte (h1, h2, ..., h18) des Intervalls zuständig ist; c) durch einen anfragenden Netzknoten (P1, P2, ..., P18) vor dem Aussenden einer Anfrage (A1, A2, A3) ermittelt wird, ob der dem Netzknoten (P1, P2, ..., P18) zugeordnete Speicher (C) Abfragewerte (hs) der auszusendenden Anfrage (A1, A2, A3) enthält und/oder Intervalle enthält, welche Abfragewerte (hs) der auszusendenden Anfrage (A1, A2, A3) umfassen, wobei für ermittelte Abfragewerte (hs) und/oder Intervalle die zugeordneten Identitäten (ID1, ID2, ..., ID18) der Netzknoten (P1, P2, ..., P18) als Abfrageergebnis ausgegeben werden.
  2. Verfahren nach Anspruch 1, bei dem die Abfragewerte (h1, h2, ..., h18) Hashwerte sind, welche über eine verteilte Hash-Tabelle im Datennetz mit entsprechenden Informationen verknüpft sind, wobei jeder Netzknoten (P1, P2, ..., P18) für einen Wertebereich (I1, I2, ..., I18) von Hashwerten zuständig ist.
  3. Verfahren nach Anspruch 2, bei dem der Wertebereich (I1, I2, ..., I18) von Hashwerten eines jeweiligen Netzknoten (P1, P2, ..., P18) durch einen Anfangs-Hashwert und einen End-Hashwert (h1, ..., h18) begrenzt ist, wobei der End-Hashwert (h1, ..., h18) eine Repräsentation der Identität (ID1, ID2, ..., ID18) des jeweiligen Netzknotens (P1, P2, ..., P18) darstellt und wobei in einem Abfrageergebnis neben den Identitäten (ID1, ID2, ..., ID18) des oder der Netzknoten (P1, P2, ..., P18), welche für den oder die Abfragewerte (hs) der jeweiligen Anfrage (A1, A2, A3) zuständig sind, die End-Hashwerte (h1, ..., h18) dieser Netzknoten (P1, P2, ..., P18) enthalten sind.
  4. Verfahren nach Anspruch 3, wobei bei Empfang eines Anfrageergebnisses für eine Identität (ID1, ID2, ..., ID18) eines jeweiligen Netzknotens (P1, P2, ..., P18) des Anfrageergebnisses ein Intervall (I1, I2, ..., I18) in dem Speicher (C) des anfragenden Netzknotens (P1) derart festgelegt wird, dass das Intervall sich von demjenigen Abfragewert (hs) der Anfrage (A1, A2, A3), für den der jeweilige Netzknoten (P1, P2, ..., P18) zuständig ist, zu dem End-Hashwert (h1, ..., h18) des Wertebereichs (I1, I2, ..., I18) des jeweiligen Netzknotens (P1, P2, ..., P18) erstreckt.
  5. Verfahren nach einem der vorhergehenden Ansprüche, bei dem das Aussenden einer Anfrage (A1, A2, A3) durch einen anfra genden Netzknoten (P1) in dem Speicher (C) des anfragenden Netzknotens (P1) Einträge für die Abfragewerte (hs) der Anfrage (A1, A2, A3) erzeugt, wobei nach Empfang des Abfrageergebnisses einem jeweiligen Eintrag die Identität (ID1, ID2, ..., ID18) des entsprechenden Netzknotens (P1, P2, ..., P18) des Abfrageergebnisses zugeordnet wird, der für den Abfragewert (hs) zuständig ist, für welchen der jeweilige Eintrag erzeugt wurde.
  6. Verfahren nach Anspruch 5, bei dem nach Empfang des Abfrageergebnisses mit Hilfe der Identität (ID1, ID2, ..., ID18) des entsprechenden Netzknotens (P1, P2, ..., P18) des Abfrageergebnisses ein Intervall von Abfragewerten (h1, h2, ..., h18) ermittelt wird, welches den Abfragewert (hs) in dem jeweiligen Eintrag enthält, und dieser Abfragewert (hs) durch das Intervall ersetzt wird, wobei der entsprechende Netzknoten (P1, P2, ..., P18) für alle Abfragewerte (h1, h2, ..., h18) des Intervalls zuständig ist.
  7. Verfahren nach Anspruch 5 oder 6, bei dem vor dem Aussenden einer Anfrage (A1, A2, A3) überprüft wird, ob Einträge für Abfragewerte (hs) der Anfrage (A1, A2, A3) oder für Intervalle, welche Abfragewerte (hs) der Anfrage (A1, A2, A3) umfassen, in dem Speicher (C) des anfragenden Netzknotens (P1) enthalten sind, wobei diejenigen Abfragewerte (hs), für die Einträge enthalten sind, nicht mit der Anfrage (A1, A2, A3) ausgesendet werden.
  8. Verfahren nach Anspruch 7, bei dem im Falle, dass Einträge für Abfragewerte (hs) der Anfrage (A1, A2, A3) ohne Zuordnung einer Identität (ID1, ID2, ..., ID18) eines Netzknotens (A1, A2, A3) im Speicher (C) enthalten sind, der anfragende Netzknoten (P1) wartet, bis diesen Einträgen Identitäten (ID1, ID2, ..., ID18) von Netzknoten (P1, P2, ..., P18) zugeordnet sind, wobei anschließend die diesen Einträgen zugeordneten Identitäten (IDl, ID2, ..., ID18) als Abfrageergebnis ausgegeben werden.
  9. Verfahren nach einem der vorhergehenden Ansprüche, bei dem der Speicher (C) eines Netzknotens (P1, P2, ..., P18) dahingehend überprüft wird, ob eine Identität (ID1, ID2, ..., ID18) eines Netzknotens (P1, P2, ..., P18) mehreren überlappenden oder aneinander angrenzenden Intervallen zugeordnet ist, wobei in diesem Fall die mehreren überlappenden und/oder angrenzenden Intervalle zu einem Intervall zusammengefasst werden.
  10. Verfahren nach einem der vorhergehenden Ansprüche, bei dem eine ausgesendete Anfrage (A1, A2, A3) mittels eines Suchverfahrens nacheinander an eine Mehrzahl von Netzknoten (P1, P2, ..., P18) weitergeleitet wird, bis der oder die Netzknoten (P1, P2, ..., P18) gefunden sind, welche für den oder die Abfragewerte (hs) der jeweiligen Anfrage (A1, A2, A3) zuständig sind.
  11. Verfahren nach Anspruch 10, bei dem jedem Netzknoten (P1, P2, ..., P18) eine Anzahl von Nachbarknoten und/oder anderen Netzknoten (P1, P2, ..., P18) bekannt ist, wobei die Anfrage (A1, A2, A3) in Abhängigkeit von den Abfragewerten (hs) von einem jeweiligen Netzknoten (P1, P2, ..., P18) an einen dem jeweiligen Netzknoten (P1, P2, ..., P18) bekannten Nachbarknoten oder anderen Netzknoten (P1, P2, ..., P18) weitergeleitet wird.
  12. Verfahren nach Anspruch 11, bei dem das Weiterleiten der Anfrage (A1, A2, A3) derart erfolgt, dass der jeweilige Netzknoten (P1, P2, ..., P18), von dem aus die Anfrage (A1, A2, A3) weitergeleitet wird, eine Rückmeldung an den anfragenden Netzknoten (P1) sendet, welche die Identität (ID1, ID2, ..., ID18) des nächsten Netzknotens (P1, P2, ..., P18) enthält, an den die Anfrage (A1, A2, A3) weiterzuleiten ist, wobei der anfragende Netzknoten (P1) die Anfrage (A1, A2, A3) nach Erhalt der Rückmeldung an diesen nächsten Netzknoten (P1, P2, ..., P18) weiterleitet.
  13. Verfahren nach Anspruch 12, bei dem in der Rückmeldung zumindest ein Abfragewert (h1, h2, ..., h18) enthalten ist, für den der nächste Netzknoten (P1, P2, ..., P18) zuständig ist, und der anfragende Netzknoten (P1) nach Erhalt der Rückmeldung (R1, R2) die Identität des nächsten Netzknotens (P1, P2, ..., P18) und den zumindest einen Abfragewert (h1, h2, ..., h18) in seinem Speicher (C) hinterlegt.
  14. Verfahren nach einem der vorhergehenden Ansprüche, bei dem für jeden Abfragewert (h1, h2, ..., h18) mehrere Netzknoten (P1, P2, ..., P18) im Datennetz zuständig sind, wobei in dem Speicher (C) eines anfragenden Netzknotens (P1) in Schritt b) des Anspruchs 1 die Identitäten (ID1, ID2, ..., ID18) der mehreren Netzknoten (P1, P2, ..., P18) dem Abfragewert (hs) oder einem den Abfragewert (hs) enthaltenen Intervall zugeordnet werden.
  15. Verfahren nach einem der vorhergehenden Ansprüche, bei dem als der dem jeweiligen Netzknoten (P1, P2, ..., P18) zugeordnete Speicher (C) ein lokaler Zwischenspeicher verwendet wird, der in dem jeweiligen Netzknoten (P1, P2, ..., P18) vorgesehen ist.
  16. Verfahren nach einem der vorhergehende Ansprüche, bei dem jeder Eintrag in dem Speicher (C) eines jeweiligen Netzknotens (P1, P2, ..., P18) nach einer vorbestimmten Zeit gelöscht wird.
  17. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die im Speicher (C) eines jeweiligen Netzknotens (P1, P2, ..., P18) enthaltenen Intervalle von Abfragewerten in Abhängigkeit von den Intervallanfangs- und/oder Intervallendpunkten geordnet werden.
  18. Verfahren nach einem der vorhergehenden Ansprüche, bei dem für zumindest einen Teil der Abfragewerte (h1, h2, ..., h18) ein oder mehrere Schlüsselwörter, welche die mit einem Abfragewert (h1, h2, ..., h18) verknüpfte Informationen beschreiben, eindeutig dem Abfragewert (h1, h2, ..., h18) zugeordnet werden, insbesondere unter Verwendung eines Hash-Algorithmus.
  19. Verfahren nach einem der vorhergehenden Ansprüche, bei dem für zumindest einen Teil der Abfragewerte (h1, h2, ..., h18) die mit einem Abfragewert (h1, h2, ..., h18) verknüpften Informationen eindeutig dem Abfragewert (h1, h2, ..., h18) zugeordnet werden, insbesondere unter Verwendung eines Hash-Algorithmus.
  20. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die mit einem jeweiligen Abfragewert (h1, h2, ..., h18) verknüpften Informationen Daten, insbesondere Dateien, sind, wobei ein Netzknoten (P1, P2, ..., P18), welcher für den jeweiligen Abfragewert (h1, h2, ..., h18) zuständig ist, die entsprechenden Daten speichert oder einen Verweis auf den Speicherort der entsprechenden Daten enthält.
  21. Dezentrales Datennetz, umfassend eine Vielzahl von Netzknoten (P1, P2, ..., P18), wobei das Datennetz derart ausgestaltet ist, dass ein Verfahren nach einem der vorhergehenden Ansprüche durchführbar ist.
  22. Datennetz nach Anspruch 21, wobei das Datennetz ein Computernetz ist, in dem die Netzknoten (P1, P2, ..., P18) einen oder mehrere Rechner umfassen.
  23. Datennetz nach Anspruch 21 oder 22, bei dem das Datennetz ein Peer-to-Peer-Netz, insbesondere ein Chord-Ring, ist.
DE200610044859 2006-09-22 2006-09-22 Verfahren zum Betrieb eines dezentralen Datennetzes Expired - Fee Related DE102006044859B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200610044859 DE102006044859B4 (de) 2006-09-22 2006-09-22 Verfahren zum Betrieb eines dezentralen Datennetzes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200610044859 DE102006044859B4 (de) 2006-09-22 2006-09-22 Verfahren zum Betrieb eines dezentralen Datennetzes

Publications (2)

Publication Number Publication Date
DE102006044859A1 DE102006044859A1 (de) 2008-04-10
DE102006044859B4 true DE102006044859B4 (de) 2010-05-12

Family

ID=39154442

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200610044859 Expired - Fee Related DE102006044859B4 (de) 2006-09-22 2006-09-22 Verfahren zum Betrieb eines dezentralen Datennetzes

Country Status (1)

Country Link
DE (1) DE102006044859B4 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008046738B4 (de) * 2008-09-11 2011-05-05 Siemens Aktiengesellschaft Verfahren zum Überwachen von Netzelementen, Netzelement und Kommunikationsnetz

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KAASHOECK, M. Frans, KARGER, David R.: Koorde: A simple degree- optimal distributed hash table. Proceedings of hat e2nd IPTPS, Berkeley, CA, US, Februar 2003 *
KAASHOECK, M. Frans, KARGER, David R.: Koorde: A simple degree- optimal distributed hash table. Proceedings of hat e2nd IPTPS, Berkeley, CA, US, Februar 2003 KARGER, D., LEHMAN, E., LEIGHTON, T., LEVINE, M., LEWIN, D., PANIGRAHY, R.: Consistent Hashing and Random Trees: Distributed Cashing Protocols for Relieving Hot Spots on the World Wide Web. In ACM Symposium on Theory of Computing 1997
KARGER, D., LEHMAN, E., LEIGHTON, T., LEVINE, M., LEWIN, D., PANIGRAHY, R.: Consistent Hashing and Random Trees: Distributed Cashing Protocols for Relieving Hot Spots on the World Wide Web. In ACM Symposium on Theory of Computing 1997 *

Also Published As

Publication number Publication date
DE102006044859A1 (de) 2008-04-10

Similar Documents

Publication Publication Date Title
DE60317925T2 (de) Steuerung von netzwerkverkehr in einer peer-to-peer umgebung
DE60317403T2 (de) Mehrstufige Cache-Speicherarchitektur und Cache-Speicherverwaltungsverfahren für gleichrangiges Namensauflösungs-Protokoll
DE19747583B4 (de) Kommunikationssystem und Verfahren
DE60313371T2 (de) Verwendung von baumartigen "Bitmap" Datenstrukturen
DE60208659T2 (de) Skalierbare ressourcenermittlung und rekonfiguration für verteilte rechnernetze
DE102006021591B3 (de) Verfahren und Anordnung zur Datenübertragung zwischen Peer-to-Peer-Netzwerken
DE60131900T2 (de) Verfahren und system zur verwaltung von verteilten inhalten und verwandten metadaten
DE60111072T2 (de) Verfahren und vorrichtung zur parallelen nachrichtenübermittlung in echtzeit von dateisegmentierten
DE10085387T5 (de) Verfahren und Vorrichtung zur Adresssuche längster Übereinstimmung
EP2095611B1 (de) Verfahren zur lastverteilung bei einem peer-to-peer-overlay-netzwerk
DE602004009819T2 (de) Instrumentationssystem und verfahren zur schätzung von kenngrössen eines dezentralisierten netzwerks
EP1744257B1 (de) Vorrichtung und Verfahren zum Abrufen/Speichern von elektronischen Daten in einem System mit mehreren Datenverarbeitungseinheiten
DE102006044859B4 (de) Verfahren zum Betrieb eines dezentralen Datennetzes
EP2044738B1 (de) Verfahren zum betrieb eines dezentralen datennetzes
DE102007018299B3 (de) Verfahren zur Verteilung von Ressourcen auf Netzknoten in einem dezentralen Datennetz
EP1800458B1 (de) Verfahren zur initialisierung eines datennetzes
EP1647898A1 (de) Serverlose Replikation von Datenbanken
DE19821876A1 (de) Verfahren und System zum Auffinden von Dokumenten im Rechnerverbund
EP2122970B1 (de) Verfahren und sender zum bereitstellen eines datenstroms, verfahren und empfänger zum abruf zumindest eines datensegments eines datenstroms
EP1518386B1 (de) System und verfahren zur direkten kommunikation zwischen automatisierungsgeräten
DE10339051B3 (de) Verfahren zum Zuordnen von über mehrere Subnetze verteilten Clients zu einen Server und Client zur Ankopplung an einen Server
EP2171983B1 (de) Verfahren zum weiterleiten von daten in einem dezentralen datennetz
DE102008026373B4 (de) Verfahren, Vorrichtung und System zum Bereitstellen von Daten in einem Peer-to-Peer-Netzwerk
EP4329267A1 (de) Verfahren und systemanordnung zur dezentralen datenverteilung in abhängigkeit einer datenidentifikatorbeschreibung
WO2004006094A1 (de) Verfahren zur aktualisierung von diensten in kommunikations-netzwerken

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee