DE102008032748A1 - Peer-to-peer network operating method, involves storing routing-table with network addresses of peer-devices in peer-to-peer network, and transmitting message directly from one of peer device to another peer device - Google Patents

Peer-to-peer network operating method, involves storing routing-table with network addresses of peer-devices in peer-to-peer network, and transmitting message directly from one of peer device to another peer device Download PDF

Info

Publication number
DE102008032748A1
DE102008032748A1 DE102008032748A DE102008032748A DE102008032748A1 DE 102008032748 A1 DE102008032748 A1 DE 102008032748A1 DE 102008032748 A DE102008032748 A DE 102008032748A DE 102008032748 A DE102008032748 A DE 102008032748A DE 102008032748 A1 DE102008032748 A1 DE 102008032748A1
Authority
DE
Germany
Prior art keywords
peer
network
devices
address
routing
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.)
Ceased
Application number
DE102008032748A
Other languages
German (de)
Inventor
Christian Kleegrewe
Alan Southall
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 DE102008032748A priority Critical patent/DE102008032748A1/en
Publication of DE102008032748A1 publication Critical patent/DE102008032748A1/en
Ceased legal-status Critical Current

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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery

Abstract

The method involves assigning network address (IP1-IP5) to peer devices (P1-P5) in a communications network. A routing-table is stored with the network addresses of the peer-devices in the peer-to-peer network. A message is transmitted directly from one of the peer device to another peer device without routing or hopping over other peer devices, where the routing table comprises peer-identifications (NID1-NID5), network address and a time specification for the peer-devices in a peer-to-peer network. Independent claims are also included for the following: (1) a computer -program product for operating a peer-to-peer network (2) a peer-to-peer network comprising peer devices.

Description

Die vorliegende Erfindung betrifft ein Verfahren zum Betreiben eines Peer-to-Peer-Netzwerks, ein Peer-to-Peer-Netzwerk sowie ein entsprechendes Computerprogrammprodukt.The The present invention relates to a method for operating a Peer-to-peer network, a peer-to-peer network, and a corresponding peer-to-peer network A computer program product.

Mit Peer-to-Peer-Systemen ist es möglich, eine Vielzahl von Geräten, die im Folgenden als Peer-Einrichtungen bezeichnet werden, ohne zentrale Einrichtungen, wie Servern, miteinander zu vernetzen. Dabei müssen bestimmte Dienste, welche in üblichen Client-Server-Architekturen von der jeweiligen zentralen Einheit, dem Server, übernommen wird, von den Peer-Einrichtungen selbst erbracht werden. Eine Funktionalität ist dabei die Adressauflösung, d. h. die für das Kontaktieren eines bestimmten Peers notwendige Umsetzung von bekannten Daten des Anwenders auf die Netzwerkadresse seines Gerätes bzw. seiner Peer-Einrichtung. Bekannte Daten können dabei z. B. der Anwendername, eine Telefonnummer oder andere Peer-Einrichtungen charakterisierende Bezeichnungen sein. Häufig wird das Internet als untergeordnetes Kommunikations-Netzwerk mit dem bekannten Internetprotokoll TCP/IP verwendet, sodass die Netzwerkadresse in der Regel die IP-Adresse und den Port des Peers umfasst. Im Folgenden wird die Bezeichnung Peer und Peer-Einrichtung verwendet, es sind jedoch auch Bezeichnungen, wie Netzelement, Komponente, Kommunikationsendgerät, Teilnehmer, Instanz oder Station geläufig.With Peer-to-peer systems make it possible to use a variety of Devices, referred to below as peer devices become compatible with each other without centralized facilities such as servers network. Here are certain services, which in usual Client-server architectures from the respective central unit, the server is taken over by the peer facilities itself be provided. One functionality is the Address resolution, d. H. the for the contact necessary implementation of known data for a particular peer the user to the network address of his device or his peer facility. Known data can be z. As the user name, a telephone number or other peer devices characterizing Be designations. Often the internet is considered subordinate Communication network with the well-known Internet protocol TCP / IP so the network address is usually the IP address and the port of the peer. The following is the name Peer and peer devices, but they are also terms like network element, component, communication terminal, subscriber, Instance or station familiar.

Die Kommunikation zwischen Peers erfolgt dabei über das Protokoll des untergeordneten Kommunikationsnetzwerkes, welches beispielsweise das Internet ist. Das eigentliche Peer-to-Peer-Netzwerk wird dann durch eine Gruppe von Peers gebildet, die jeweils eine Knoten-ID oder Knoten-Adresse innerhalb des Peer-to-Peer-(P2P-)Netzwerkes aufweisen. Man spricht auch von dem Peer-to-Peer-Netzwerk als Overlay-Netzwerk. Eine Datenverbindung zwischen zwei Peers eines P2P-Netzwerkes erfordert zunächst die Ermittlung der Netzwerkadresse des angefragten Peers aus der Knoten-Adresse, die dem anfragenden Peer bekannt ist. Bei so genannten hybriden P2P-Netzwerken hält ein Server ein zentrales Verzeichnis der an dem P2P-Netz beteiligten Peers in Form derer Knoten-Adresse und entsprechenden Netzwerkadresse bereit. Dateiaustauschplattformen wie beispielsweise Napster oder iMesh, Audio Galaxy oder SongSpy basieren auf einem P2P-Netzwerk mit einem entsprechenden zentralen Verzeichnisdienst. Nachteilig ist dabei, dass bei Ausfall des zentralen Verzeichnisdienstes keine neuen Kommunikationsverbindungen mehr aufgebaut werden können. Ferner ist der Verbindungsaufbau durch die Zwischenstufe der Adressanfrage bei dem zentralen Server gebremst und daher langsam.The Communication between peers takes place via the protocol the subordinate communication network, which for example the internet is. The actual peer-to-peer network will then go through a group of peers formed, each with a node ID or Node address within the peer-to-peer (P2P) network. One also speaks of the peer-to-peer network as an overlay network. A data connection between two peers of a P2P network requires first the determination of the network address of the requested peer from the Node address known to the requesting peer. In so-called hybrid P2P networks, a server keeps a central directory the peers involved in the P2P network in the form of their node address and corresponding network address. File sharing platforms such as Napster or iMesh, Audio Galaxy or SongSpy are based on a P2P network with a corresponding central Directory service. The disadvantage here is that in case of failure of the central Directory service no longer communication links can be built. Furthermore, the connection is established through the intermediary of the address request at the central server slowed down and therefore slow.

Um die Abhängigkeit von einem Server mit zentralem Adressverzeichnis zu umgehen, ist es möglich, sogenannte dezentrale P2P-Netzwerke zu implementieren. Dabei ist kein zentraler Server oder ein ausgezeichneter Peer, für einen Verzeichnisdienst vorgesehen. Ein anfragender Peer macht dann dynamisch weitere Peers des P2P-Netzwerkes ausfindig und kommuniziert mit diesen, um Daten und Informationen auszutauschen. Die Adressauflösung, also das Ausfindigmachen der Netzwerkadresse des durch eine Knoten-Adresse in dem P2P-Netzwerk charakterisierten angefragten Peers, erfolgt dynamisch über ein Routing-Protokoll.Around the dependency on a server with a central address directory It is possible to bypass so-called decentralized P2P networks to implement. It is not a central server or an excellent one Peer, intended for a directory service. An inquiring one Peer then dynamically locates further peers of the P2P network and communicates with them to exchange data and information. The address resolution, ie the discovery of the network address of the node address in the P2P network requested peers, is done dynamically via a routing protocol.

Eine Möglichkeit besteht beispielsweise in der Verwendung einer verteilten Hash-Tabelle (DHT = Distributed Hash Table). Dabei ist die Tabelle, welche jedem Peer bzw. jeder Knoten-Adresse eine entsprechende Netzwerkadresse in dem verwendeten Kommunikationsnetzwerk zuordnet, auf alle beteiligten Peers in dem P2P-Netzwerk verteilt. Bei einer ringförmig organisierten logischen Anordnung der Peers bzw. der Knoten-Adressen können die Peers beispielsweise eine vorgegebene Anzahl von benachbarten Peers bzw. Knoten-Adressen und deren Netzwerkadressen in einer lokalen Zuordnungs- oder Hash-Tabelle verteilt abspeichern. Der Knotenadressraum weist dabei eine Metrik auf, die Abstände zwischen Peers bzw. Knoten- Adressen definiert. Ein geeigneter Algorithmus zur Adressauflösung in einem ringförmig organisierten dezentralen P2P-Netzwerk ist z. B. der Chord-Algorithmus, welcher in Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan: ”CHORD: A Scalable Peer-to-Peer Lookup Service for Internet Applications, MIT-LCS-TR-819 beschrieben ist.One possibility is, for example, the use of a distributed hash table (DHT = Distributed Hash Table). In this case, the table which assigns each peer or each node address a corresponding network address in the communication network used is distributed to all involved peers in the P2P network. In the case of a ring-organized logical arrangement of the peers or the node addresses, the peers can, for example, store a predefined number of adjacent peers or node addresses and their network addresses in a local assignment or hash table. The node address space has a metric defining distances between peers and node addresses. A suitable algorithm for address resolution in a ring-organized decentralized P2P network is z. For example, the Chord algorithm, which in Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan: "CHORD: A Scalable Peer-to-Peer Lookup Service for Internet Applications, MIT-LCS-TR-819 is described.

Die Zuordnung einer Knoten-Adresse oder Knoten-ID (node-ID) kann beispielsweise durch Anwendung einer Hash-Funktion auf einen Benutzernamen des betreffenden Peers bestimmt werden. Analog können auch Suchbegriffe, wie beispielsweise Dateinamen einer Hash-Funktion unterzogen werden, was einen Hash-Wert liefert. Jedem Peer ist ein Bereich von Hash-Werten zugeordnet, die z. B. wiederum aufsteigend geordnet sind. Der erste Hash-Wert des einem jeweiligen Peer zugeordneten Bereichs entspricht dann z. B. der Knoten-Adresse des betreffenden Peers. Dadurch wird beispielsweise festgelegt, welche Daten unter dem gehashten Dateinamen bei einem Peer verfügbar sind.The For example, mapping a node address or node ID (node ID) by applying a hash function to a user name of the be determined peers. Analog can also Search terms, such as file names of a hash function which yields a hash value. Every peer is one Range of hash values assigned to e.g. B. again arranged in ascending order are. The first hash value of the associated peer Area corresponds to z. B. the node address of the relevant Peers. This determines, for example, which data is under the hashed file name are available at a peer.

Eine Suche nach Daten oder Teilnehmern bzw. Peers wird durchgeführt, indem der anfragende oder suchende Peer den Hash-Wert des vorgegebenen Schlüsselwortes, wie Dateiname, Benutzername oder z. B. Telefonnummer berechnet. Um die Netzwerkadresse der sich durch das Hashen ergebenden, zu suchenden Knoten-ID aufzufinden, sendet der anfragende Peer eine Suchanfrage an einen Peer, der mit seiner Knoten-Adresse und zugehörigen Netzwerkadresse in einer Liste bekannter Peers, beispielsweise einer Nachbarliste und/oder Fingerliste, des anfragenden Peers verzeichnet ist. Falls der angefragte Peer für den gesuchten Hash-Wert zuständig ist, sendet er die angefragten Daten an den anfragenden Peer über das Netzwerk.A search for data or participants or peers is carried out by the requesting or searching peer the hash value of the given keyword, such as file name, username or z. B. telephone number. In order to find the network address of the node ID to be searched for by the hash, the requesting peer sends a search request to a peer, with its node address and associated network address in a list of known peers, for example a neighbor list and / or finger list, of the requesting peer. If the requested peer is responsible for the searched hash value, it sends the requested data to the requesting peer over the network.

Falls der zuerst angefragte Peer nicht für den Hash-Wert zuständig ist, antwortet er mit der Adresse eines Peers aus seiner Peerliste, dessen Knoten-ID dem gesuchten Hash-Wert ähnlicher ist als seine eigene Knoten-Adresse. Ob die eigene Knoten-ID mit der gesuchten Knoten-ID bzw. dem gesuchten Hash-Wert ähnlich ist, ergibt sich aus der verwendeten Metrik des Knotenadressraums. Der zuerst angefragte Peer sendet somit dem anfragenden Peer eine Knoten-ID und IP-Adresse, die dem gesuchten Hash-Wert näher kommt. Der anfragende Peer kann nun eine zweite Suchanfrage an den Peer mit der näheren Knoten-Adresse senden. Dieses Verfahren wird weitergeführt, bis ein Peer gefunden wird, der für den Hash-Wert zuständig ist und die gesuchten Daten liefern kann. Es ergibt sich daher für den Nachrichtenaustausch zwischen den Peers üblicherweise ein Mehrfach-Hopping. Die Nachricht wird durch mehrere Peer-Einrichtungen im Netzwerk zu dem jeweiligen Zielpeer geroutet.If the first requested peer is not responsible for the hash value is, he answers with the address of a peer from his peer list, whose node ID is more similar to the searched hash value as its own node address. Whether the own node ID with the similar to the searched node ID or the searched hash value is determined by the metric used by the node address space. The first requested peer thus sends the requesting peer one Node ID and IP address closer to the searched hash value comes. The requesting peer can now send a second query to the Send peer with the closer node address. This method is continued until a peer is found for is responsible for the hash value and provide the searched data can. It therefore results for the message exchange between the peers usually a multiple hopping. The message is transmitted through multiple peer devices on the network routed to the respective target spear.

Bei diesem dezentralen Aufbau des P2P-Netzwerkes können die teilnehmenden Peers in einer Ringstruktur organisiert sein, die sich aus der geordneten periodisch fortgesetzten Liste von Knoten-Adressen ergibt. Prinzipiell sind auch andere Strukturen möglich, beispielsweise eine Baumstruktur. P2P-Netzwerke finden beispielsweise Anwendung zum Austausch von Dateien in Tauschbörsen. Eine Adressauflösung hinsichtlich der Netzwerkadresse in dem verwendeten Netzwerk ist jedoch auch insbesondere wichtig bei so genannten VOIP-Übertragungen, d. h. Sprachübertragung über das Internet (VOIP = voice over IP). Beispielsweise ist ein P2P-Netzwerk zur Sprachübertragung unter dem Namen ”Skype” bekannt. Die Kommunikationssoftware Skype erfordert eine zentrale Bereitstellung der Netzwerkadressdaten der teilnehmenden Peers. Teilnehmer dieses Netzwerkes können untereinander Sprachdaten austauschen und somit über das Internet telefonieren.at This decentralized structure of the P2P network, the participating peers be organized in a ring structure, the resulting from the ordered periodically continued list of node addresses. In principle, other structures are possible, for example a tree structure. For example, P2P networks are used to exchange files in file sharing networks. An address resolution in terms of the network address in the network used but also particularly important in so-called VOIP transmissions, d. H. Voice over the Internet (VOIP = voice over IP). For example, a P2P network is for voice transmission known as "Skype". The communication software Skype requires centralized delivery of network address information the participating peers. Participants of this network can exchange voice data with each other and thus via the Internet calls.

Bei allen vorgenannten Verfahren besteht das Problem, dass Nachrichten, die von einem Peer zu einem anderen versendet werden, über mehrere vorliegende Peers geroutet werden müssen. Dadurch wird der eigentliche Informationsaustausch gebremst und langsam. Insbesondere Anwendungen, die eine Echtzeitverarbeitung erfordern, lassen sich daher nicht durch konventionelle Peer-to-Peer-Protokolle realisieren.at all the above methods have the problem that messages, which are sent from one peer to another over several existing peers must be routed. Thereby the actual information exchange is slowed down and slow. In particular, applications that require real-time processing, can not be solved by conventional peer-to-peer protocols realize.

Es ist daher eine Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren zum Betreiben eines Peer-to-Peer-Netzwerks zu schaffen.It is therefore an object of the present invention, an improved To provide a method of operating a peer-to-peer network.

Es wird daher ein Verfahren zum Betreiben eines P2P-Netzwerkes mit mehreren Peer-Einrichtungen vorgeschlagen, wobei jeder Peer-Einrichtung jeweils eine Netzwerkadresse in einem Kommunikationsnetzwerk zugewiesen wird. Ferner wird von jeder Peer-Einrichtung eine Routing-Tabelle mit mindestens den Netzwerkadressen der übrigen Peer-Einrichtungen in dem P2P-Netzwerk abgespeichert.It Therefore, a method for operating a P2P network with Several peer devices are proposed, each peer device each assigned a network address in a communication network becomes. Furthermore, each peer device becomes a routing table with at least the network addresses of the other peer devices stored in the P2P network.

Es wird ferner ein P2P-Netzwerk mit mehreren Peer-Einrichtungen vorgeschlagen, welcher jeweils eine Netzwerkadresse in einem Kommunikationsnetz zugewiesen ist. Dabei speichert jede Peer-Einrichtung eine Routing-Tabelle mit mindestens den Netzwerkadressen der übrigen Peer-Einrichtungen in dem P2P-Netzwerk ab.It In addition, a P2P network with several peer devices is proposed. which each have a network address in a communication network is assigned. Each peer device stores a routing table with at least the network addresses of the other peer devices in the P2P network.

Eine Routing-Tabelle ermöglicht das Versenden von Nachrichten zwischen Peer-Einrichtungen in dem P2P-Netzwerk ohne weitere Routing-Mechanismen beispielsweise über andere Peer-Einrichtungen. Nachrichten werden daher von einem Peer zu einem anderen direkt versendet, was z. B. bei Anwendungen, die in Echtzeit erfolgen sollen, eine erhebliche Beschleunigung des Datenaustauschs gegenüber konventionellen Routing-Verfahren schafft. Alle Peer-Einrichtungen können jeweils eine Routing-Tabelle speichern.A Routing table enables the sending of messages between peer devices in the P2P network without further routing mechanisms for example via other peer devices. news are therefore sent directly from one peer to another, which z. For example, in applications that should be done in real time, a significant Acceleration of data exchange over conventional Routing procedure creates. All peer facilities can each store a routing table.

Die Routing-Tabelle umfasst vorzugsweise zu jeder in dem P2P-Netzwerk vorliegenden Peer-Einrichtung eine Peer-Identifikation, wie z. B. eine Knoten-Adresse, die Netzwerkadresse und eine Zeitangabe. Die Zeitangabe liefert dabei eine Information über die Aktualität der Routing-Tabelle, z. B. wann eine Veränderung der Teilnehmer-Peers im Peer-to-Peer-Netzwerk vorgekommen ist. Es ist möglich, die Routing-Tabelle aus den Informationen zusammenzustellen, die zur Stabilisierung des Netzwerkes zwischen den Peer-Einrichtungen sowieso ausge tauscht werden. Stabilisierungsnachrichten werden beispielsweise ausgetauscht, wenn Peer-Einrichtungen zum Netzwerk hinzutreten oder sich abmelden oder ausfallen. Die sich daraus ergebenden Informationen können von einer beteiligten Peer-Einrichtung sofort an alle weiteren Peer-Einrichtungen im P2P-Netzwerk verteilt werden. Damit hat immer jede P2P-Einrichtung im P2P-Netzwerk alle notwendigen Routing-Informationen, so dass der Nachrichten- oder Informationsaustausch schnell erfolgen kann.The routing table preferably comprises a peer identification for each peer device present in the P2P network, such as e.g. As a node address, the network address and a time. The time specification provides information about the timeliness of the routing table, z. For example, when a change in the subscriber peers in the peer-to-peer network has occurred. It is possible to assemble the routing table from the information that is exchanged anyway to stabilize the network between the peer devices. Stabilization messages, for example, are exchanged when peer devices join the network or log off or fail. The resulting information can be sent by a participating peer device immediately to all other peer devices in the P2P network. This means that every P2P device in the P2P network has all the necessary routing information so that the exchange of messages or information can be carried out quickly.

Beim Senden einer Nachricht von einer ersten Peer-Einrichtung an eine zweite Peer-Einrichtung in dem Kommunikationsnetzwerk, das beispielsweise das Internet sein kann, liest die erste Peer-Einrichtung die Netzwerkadresse der zweiten Peer-Einrichtung aus der von der ersten Peer-Einrichtung gespeicherten Routing-Tabelle aus.At the Sending a message from a first peer device to a second peer device in the communication network, for example can be the Internet, the first peer device reads the network address the second peer device from that of the first peer device saved routing table.

Vorzugsweise wird für alle Peer-Einrichtungen eine jeweilige Nachricht von einer ersten Peer-Einrichtung zu einer zweiten Peer-Einrichtung direkt ohne Routing oder Hopping über eine weitere Peer-Einrichtung übermittelt.Preferably becomes a message for all peer facilities from a first peer device to a second peer device transmitted directly without routing or hopping via another peer device.

Bei einer Variante des Verfahrens wird beim Hinzutreten oder Entfernen einer Peer-Einrichtung zu oder von dem P2P-Netzwerk die Netzwerkadresse der hinzutretenden oder sich entfernenden Peer-Einrichtung in dem P2P-Netzwerk publiziert. Unter Publizieren versteht man das verteilte Abspeichern von Informationen im P2P-Netzwerk, wobei entsprechende Informationen einer Ressource anschließend für alle an der Änderung der Netzwerkzusammenstellung beteiligten Peers zugänglich sind. Die Peer-Einrichtungen können über einen Subscribe-Mechanismus, den viele P2P-Netzwerkprotokolle vorhalten, aktuelle Änderungen erfassen bzw. überwachen.at A variant of the method is used in addition or removal a peer device to or from the P2P network the network address the adjoining or withdrawing peer device in the P2P network published. Publishing is the distributed one Storing information in the P2P network, with appropriate Then enter information for a resource everyone involved in changing the network composition Peers are accessible. The peer facilities can over a subscribe mechanism that many P2P network protocols hold, Record or monitor current changes.

Es kann beim Hinzutreten oder Entfernen einer Peer-Einrichtung zu oder von dem P2P-Netzwerk ferner ein Multicast zum Aktualisieren der durch die Peer-Einrichtungen gespeicherten Routing-Tabellen erfolgen. Es ist daher im Rahmen des Verfah rens zum Betreiben eines P2P-Netzwerkes gewährleistet, dass auch bei einer Veränderung der Zusammensetzung des P2P-Netzwerkes die Routing-Tabellen an allen Peers immer aktuell vorliegen.It may interfere with the addition or removal of a peer device to or from the P2P network also multicast to update the done by the peer devices stored routing tables. It is therefore part of the process of operating a P2P network ensures that even with a change the composition of the P2P network the routing tables at all Peers are always up to date.

Ein entsprechendes P2P-Netzwerk kann insbesondere als Embedded Netzwerk ausgebildet werden, wobei die Peer-Einrichtungen eine begrenzte Anzahl umfassen. Vorzugsweise hat das Netzwerk insbesondere weniger als 257 Peer-Einrichtungen, damit die zeitnahe Verteilung und Aktualisierung sowie Speicherung der Routing-Tabelle an jedem Peer effizient gewährleistet werden kann. Die Peer-Einrichtungen können dabei als Peer-Client-Software z. B. für programmgesteuerte Einrichtungen wie PCs implementiert werden.One appropriate P2P network can be used in particular as an embedded network be formed, the peer facilities a limited Include number. In particular, the network preferably has less as 257 peer facilities, enabling timely distribution and updating as well as efficiently storing the routing table at each peer can be. The peer devices can be used as peer-client software z. B. implemented for program-controlled devices such as PCs become.

In einer Variante wird das P2P-Netzwerk mit einer verteilten Hash-Tabelle und insbesondere mit einem Chord-Algorithmus oder eine Kademlia-Algorithmus für Ressourcen-Bereitstellung in dem P2P-Netzwerk betrieben. Abweichend von den üblichen Algorithmen wird jedoch die Routing-Tabelle auf jeder Peer-Einrichtung vorgesehen.In a variant is the P2P network with a distributed hash table and in particular with a Chord algorithm or a Kademlia algorithm operated for resource provisioning in the P2P network. Deviating from the usual algorithms, however, the Routing table provided on each peer device.

Die Erfindung betrifft ferner ein Computerprogrammprodukt, welches die Durchführung eines entsprechenden Verfahrens auf einer programmsteuerbaren Rechnereinrichtung veranlasst. Als programmgesteuerte Rechnereinrichtung kommt zum Beispiel ein PC oder auch Mobilgerät in Frage, auf dem entsprechende (Client-)Software installiert ist. Das Computerprogrammprodukt kann beispielsweise in der Art eines Datenträgers wie zum Beispiel USB-Stick, Floppy-Disk, CD-ROM, DVD implementiert werden oder auch auf einer Servereinrichtung als herunterladbare Programmdatei implementiert sein.The The invention further relates to a computer program product comprising the Conducting a corresponding procedure on a program-controllable computer device causes. As a program-controlled computer device For example, a PC or even a mobile device is an option. on the appropriate (client) software is installed. The computer program product For example, in the manner of a data carrier such as Example USB flash drive, floppy disk, CD-ROM, DVD can be implemented or on a server device as a downloadable program file be implemented.

Weitere vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche sowie der im Folgenden beschriebenen Ausführungsbeispiele. Im Weiteren wird die Erfindung anhand beispielhafter Implementierungen unter Bezugnahme auf die beigelegten Figuren näher erläutert. Es zeigt dabei:Further advantageous embodiments of the invention are the subject of the dependent claims and the embodiments described below. In the following, the invention will be described with reference to exemplary implementations explained in more detail with reference to the accompanying figures. It shows:

1: eine schematische Darstellung für ein Peer-to-Peer-Netzwerk mit verteilter Hash-Tabelle; 1 : a schematic representation of a peer-to-peer network with distributed hash table;

2: eine beispielhafte Darstellung für ein Peer-to-Peer-Netzwerk mit Peer-Einrichtungen, die über eine Routing-Tabelle verfügen; 2 : an exemplary illustration of a peer-to-peer network with peer devices having a routing table;

3: eine beispielhafte Darstellung von Abläufen in einem Peer-to-Peer-Netzwerk beim Hinzutreten eines Peers; und 3 : an exemplary representation of processes in a peer-to-peer network on the addition of a peer; and

4: eine beispielhafte Darstellung von Abläufen in einem Peer-to-Peer-Netzwerk beim Ausfall eines Peers. 4 : an exemplary representation of processes in a peer-to-peer network in the event of a peer failure.

In den Figuren sind gleiche bzw. funktionsgleiche Elemente mit den gleichen Bezugszeichen versehen worden, sofern nichts Anderes angegeben ist.In the figures, identical or functionally identical elements are provided with the same reference numerals unless otherwise stated.

Zur Erläuterung der allgemeinen Problematik bei der Adressauflösung in Peer-to-Peer-Netzwerken ist in der 1 beispielhaft ein ringförmig organisiertes P2P-Netzwerk dargestellt. Es sind Peer-Einrichtungen P1–P8 vorgesehen, die beispielsweise als an das Internet angeschlossene Rechner mit einer installierten P2P-Software ausgeführt sind. Jeder Peer besitzt daher eine IP-Adresse IP1–IP8, die ihn im Internet identifiziert, und eine Knoten-Adresse NID1–NID8, die ihn als Peer in dem P2P-Netzwerk P2P1 identifiziert. Es wird im Folgenden beispielhaft die Funktionsweise des Chord-Algorithmus zur Adressauflösung erläutert. Allerdings sind auch andere P2P-Protokolle für dezentrale P2P-Netzwerke möglich.To explain the general problem in address resolution in peer-to-peer networks is in the 1 exemplified a ring-organized P2P network. There are provided peer devices P1-P8, which are designed, for example, as a computer connected to the Internet with an installed P2P software. Each peer therefore has an IP address IP1-IP8 identifying it on the Internet and a node address NID1-NID8 identifying it as a peer in the P2P network P2P1. In the following, the mode of operation of the Chord algorithm for address resolution will be explained by way of example. However, other P2P protocols are also available for distributed P2P networks.

Die Knoten-Adresse eines Peers ergibt sich beispielsweise durch Anwendung einer geeigneten Hash-Funktion auf den Namen des Peers. Der Name kann beispielsweise ein Benutzername oder eine Telefonnummer sein. Der Hash-Wert eines entsprechenden Suchwortes, beispielsweise einer Telefonnummer, ist einer Knoten-ID bzw. einer Knoten-Adresse zugeordnet. Es können auch mehrere Hash-Werte einer Knoten-Adresse zugeordnet sein.The Node address of a peer results, for example, by application a suitable hash function in the name of the peer. The name may be, for example, a user name or a telephone number. The hash value of a corresponding search term, for example one Telephone number, is assigned to a node ID or a node address. It can also have multiple hash values of a node address be assigned.

Beispielsweise kann dem Peer P1 eine Knoten-Adresse NID1 = 003 zugeordnet sein, wobei der Wert NID1 = 003 den Beginn eines Bereiches von Hash-Werten angibt, für die der Peer P1 verantwortlich ist. Bei einem P2P-Netzwerk, das 10 Bit breite Hash-Werte verwendet, können beispielsweise wie in der folgenden Tabelle angegebene Bereiche von Hash-Werten den jeweiligen Peers zugeordnet werden. Bei 10-Bit-Hashwerten sind beispielsweise 1024 Peers in dem P2P-Netzwerk möglich. Peer Knoten-Adresse Hash-Werte P1 NID1 = 003 H = 003...123 P2 NID2 = 124 H = 124...203 P3 NID3 = 204 H = 204...311 P4 NID4 = 312 H = 312...433 P5 NID5 = 434 H = 434...522 P6 NID6 = 523 H = 523...689 P7 NID7 = 690 H = 690...814 P8 NID8 = 815 H = 815...002 For example, the peer P1 may be assigned a node address NID1 = 003, where the value NID1 = 003 indicates the beginning of a range of hash values for which the peer P1 is responsible. For example, in a P2P network that uses 10-bit hashes, you can map ranges of hashes to the peers, as shown in the following table. For 10-bit hash values, for example, 1024 peers are possible in the P2P network. Peer node address hash values P1 NID1 = 003 H = 003 ... 123 P2 NID2 = 124 H = 124 ... 203 P3 NID3 = 204 H = 204 ... 311 P4 NID4 = 312 H = 312 ... 433 P5 NID5 = 434 H = 434 ... 522 P6 NID6 = 523 H = 523 ... 689 P7 NID7 = 690 H = 690 ... 814 P8 NID8 = 815 H = 815 ... 002

Jedem Peer ist somit eine Knoten-Adresse mit einem bestimmten Wert zugeordnet und ein Bereich von aus Suchbegriffen erzeugte Hash-Werte H = Hash(Suchbegriff).Each Peer is thus assigned a node address with a specific value and a range of hash values generated from search terms H = hash (search term).

Die Tabelle stellt somit die vollständige Tabelle des P2P-Netzwerkes dar. Diese ist nicht zentral von einem Server bereitgestellt, sondern auf die einzelnen Peers P1–P8 aufgeteilt abgespeichert. Jeder Peer kennt die zugeordneten Hash-Werte seiner Nachbarn, beispielsweise der nächsten Nachbarn.The Table thus represents the complete table of the P2P network This is not centrally provided by a server, but stored on the individual peers P1-P8 stored. Each peer knows the assigned hash values of its neighbors, for example the nearest neighbor.

Der Peer P3 hat die Information abgespeichert, dass für Hash-Werte 124–203 der Peer P2 mit Knoten-Adresse NID2 = 124 zuständig ist. Der Peer P3 kennt ferner seine eigene Zuständigkeit für die Hash-Werte 204–311 und die Zuständigkeit des benachbarten Peers P4 mit der Knoten-Adresse NID4 = 312 für die Hash-Werte 312–434. Verallgemeinert verfügt jeder Peer über eine Teil-Hash-Tabelle mit der Zuordnung von Hash-Werten seiner im Knotenadressraum benachbarten Peers und gegebenenfalls die Zuordnung der Hash-Werte eines oder mehrerer Finger-Peers, z. B. im Falle des Peers P3, die Zuordnung des Peers P7 mit der Knoten-Adresse NID7 = 690 für die Hash-Werte 690-814. Eine entsprechende Teil-Hash-Tabelle PHT ist in der 1 dargestellt.The peer P3 has stored the information that for hash values 124-203 the peer P2 with node address NID2 = 124 is responsible. The peer P3 also knows its own responsibility for the hash values 204-311 and the responsibility of the neighboring peer P4 with the node address NID4 = 312 for the hash values 312-434. Generally, each peer has a partial hash table with the assignment of hash values of its peers adjacent to the node address space and, if appropriate, the assignment of the hash values of one or more finger peers, eg. In the case of the peer P3, the assignment of the peer P7 to the node address NID7 = 690 for the hash values 690-814. A corresponding partial hash table PHT is in the 1 shown.

Falls nun ausgehend von dem Peer P2 eine Suchanfrage bzw. Dateiabfrage für einen Suchbegriff, der den Hash-Wert Hash(Suchbegriff) = 530 liefert, gestartet wird, sendet der Peer P2 eine Suchanfrage F1 an den Peer P3 unter Angabe seiner eigenen Netzwerkadresse IP2 und dem gesuchten Hash-Wert 530. Es wird der Peer P3 ausgewählt, da in der Teil-Hash-Tabelle PHT2 des Peers P2 der Hash-Wert 530 näher an dem Zuständigkeitsbereich des Peers P3 mit Hash-Werten zwischen 204 und 311 liegt, als der weitere in der Teil-Hash-Tabelle verzeichnete Peer P1 mit Zuständigkeitsbereich zwischen H = 003 und 123. Eine Suchanfrage wird daher immer an denjenigen Peer in der eigenen Teil-Hash-Tabelle gesendet, dessen Knoten-Adresse im Knotenadressraum am nächsten dem Hash-Wert des Suchbegriffs bzw. der Ziel-Knoten-Adresse liegt.If now starting from the peer P2 a query or file query for a search term that hashed the hash value (search term) = 530 returns, the peer P2 sends a query F1 to the peer P3 stating its own network address IP2 and the searched hash value 530. The peer P3 is selected, since in the partial hash table PHT2 of the peer P2 the hash value 530 closer to the area of responsibility of peer P3 with hash values between 204 and 311, as the other in the sub-hash table listed Peer P1 with area of responsibility between H = 003 and 123. Therefore, a query will always be to those Peer sent in its own sub-hash table, its node address in the node address space closest to the hash value of the search term or the destination node address.

Der Peer P3 überprüft daraufhin seine Teil-Hash-Tabelle PHT3 und ermittelt den Peer P7 als denjenigen Peer, dessen Zuständigkeitsbereich bzw. zugeordnete Hash-Werte dem gesuchten Hash-Wert 530 am nächsten liegt und sendet eine entsprechende zweite Suchanfrage F2. Der Peer P7 ermittelt in seiner zugeordneten Teil-Hash-Tabelle PHT7 den Peer P6 mit der Knoten-Adresse 523 als für den Hash-Wert 530 zuständigen Peer und sendet diese Information an den ursprünglich anfragenden Peer P2, dessen Netzwerkadresse IP2 den Suchanfragen F1, F2 zugeordnet ist. Alternativ könnte der Peer P7, falls der Peer P2 eine Datenabfrage des Suchbegriffs mit dem Hash-Wert 530 versendet hat, dem Peer P6 die Datenabfrageanforderung von dem Peer P2 bzw. dessen Netzwerkadresse IP2 in einer Nachricht F3' zu senden. Daraufhin übermittelt der Ziel-Peer P6 direkt an den anfragenden Peer P2 bzw. dessen IP-Adresse IP2 die mit dem Hash-Wert 530 bezeichneten Daten über eine Datenverbindung F4 im Kommunikationsnetzwerk bzw. Internet. Somit ermög licht ein entsprechendes P2P-Protokoll die Adressauflösung von gesuchten Daten, beispielsweise ausgehend vom Peer P2, dem keine Information über den Speicherort dieser Daten im P2P-Netzwerk vorliegen, da die dem Peer P2 zugeordnete Teilflash-Tabelle PHT2 diesen Knotenadressbereich nicht umfasst.The peer P3 then examines its partial hash table PHT3 and determines the peer P7 as the peer whose jurisdiction or hashed values match the searched hash value 530 am Next is and sends a corresponding second query F2. The peer P7 determines in its associated partial hash table PHT7 the peer P6 with the node address 523 as peer responsible for the hash value 530 and sends this information to the originally requesting peer P2 whose network address IP2 the search requests F1, F2 assigned. Alternatively, if peer P2 has sent a data query of the search term having hash value 530, peer P7 could send peer P6 the data query request from peer P2 or its network address IP2 in a message F3 '. The destination peer P6 then transmits directly to the requesting peer P2 or its IP address IP2 the data designated by the hash value 530 via a data connection F4 in the communication network or Internet. Thus, a corresponding P2P protocol enabled the address resolution of searched data, for example from the peer P2, which has no information about the storage location of this data in the P2P network, since the partial flash table PHT2 assigned to the peer P2 does not include this node address range.

In der 2 ist eine beispielhafte Darstellung für ein weiteres Peer-to-Peer-Netzwerk dargestellt. Das Peer-to-Peer-Netzwerk P2P2 verwendet beispielsweise das Internet IN als darunterliegendes Netzwerk. Es sind beispielhaft fünf Peer-Einrichtungen P1–P5 dargestellt, die beispielsweise mit einem abgewandelten Chord-Protokoll-Algorithmus eingerichtet sind. Entgegen einer aufwändige Adressauflösung und die Eruierung von Netzwerkadressen für die Peer-Einrichtungen P1–P5 sieht der Betrieb der in dem Peer-to-Peer-Netzwerk P2P2 vorliegenden Peer-Einrichtungen P1–P5 jeweils eine gespeicherte Routing-Tabelle R1–R5 vor. Idealerweise stimmen die Routing-Tabellen R1–R5 in den Peer-Einrichtungen P1–P5 inhaltlich überein bzw. sie werden immer zeitnah aktualisiert, wenn sich die Zusammensetzung des Peer-to-Peer-Netzwerks P2P2 ändert.In the 2 an exemplary representation for another peer-to-peer network is shown. For example, the peer-to-peer network P2P2 uses the Internet IN as the underlying network. By way of example, five peer devices P1-P5 are shown, which are set up, for example, using a modified Chord Protocol algorithm. Contrary to a complex address resolution and the elicitation of network addresses for the peer devices P1-P5, the operation of the peer devices P1-P5 present in the peer-to-peer network P2P2 provides in each case a stored routing table R1-R5. Ideally, the routing tables R1-R5 in the peer devices P1-P5 match in content or they are always updated in a timely manner when the composition of the peer-to-peer network P2P2 changes.

In der jeweiligen Routing-Tabelle R1–R5 ist die Peer-Identifikation oder Knoten-Adresse ID1–ID5 für jede Peer-Einrichtung P1–P5 abgelegt sowie die zugehörige Netzwerkadresse IP1–IP5, welche für den Nachrichten- oder Informationsaustausch im Netzwerk IN notwendig sind. Da jede der Peer-Einrichtungen P1–P5 über die Routing-Tabelle P1–P5 in abgespeicherter Form verfügt, ist es möglich ohne zusätzliche Routingvorgänge Nachrichten auszutauschen. Beispielsweise kann ein Speicherbereich oder ein dezidierter Speicher für die Routing-Tabelle vorgesehen werden. Bei dem Versenden einer Nachricht beispielsweise von der Peer-Einrichtung P1 an die Peer-Einrichtung P5 kann unter Koordinierung eines entsprechend abgewandelten Peer-to-Peer-Protokollalgorithmus die Peer-Einrichtung P1 aus ihrer vorliegenden Routing-Liste R1 die Netzwerkadresse des Peers P5 auslesen. Der Versand der Nachricht F1 erfolgt dann direkt unter Verwendung der Netzwerkadresse IP5 für die Peer-Einrichtung P5 mit der Knoten- Adresse NID5. Dabei geschieht kein Hopping oder weiteres Routing mit der Nachricht F1, was den Informations- oder Nachrichtenaustausch verzögern könnte. Auch die Antwortnachricht F2 von der Peer-Einrichtung P5 an die Peer-Einrichtung P1 wird ohne weiteres Hopping oder Routing über andere Einrichtungen im Peer-to-Peer-Netzwerk P2P2 übermittelt. Die Peer-Einrichtung P5 liest aus ihrer vollständigen Routing-Tabelle R5 die Netzwerkadresse des Peers P1 IP1 aus und versendet direkt im Rahmen des Protokolls für das ”underlaying” Internet IN die Nachricht F2. Insbesondere bei Echtzeitanwendungen lassen sich durch das Vorsehen von Routing-Tabellen an allen Peer-Einrichtungen eine Implementierung in Peer-to-Peer-Netzwerken realisieren. In der Vergangenheit war dies insbesondere aufgrund der komplizierten Routing-Verfahren kaum möglich.In the respective routing table R1-R5 is the peer identification or node address ID1-ID5 for each peer device P1-P5 and the associated network address IP1-IP5, which is used for message or information exchange necessary in the network IN. Since each of the peer devices P1-P5 via has the routing table P1-P5 in stored form, is it possible without additional routing operations Exchange messages. For example, a memory area or a dedicated memory for the routing table provided become. For example, when sending a message from the Peer device P1 to the peer device P5 can under coordination a correspondingly modified peer-to-peer protocol algorithm the peer device P1 from its present routing list R1 read out the network address of peer P5. The shipment of the message F1 then takes place directly using the network address IP5 for the peer device P5 with the node address NID5. There is no hopping or further routing with the message F1, which could delay the exchange of information or messages. Also, the response message F2 from the peer device P5 to the Peer setup P1 will hopping or routing without further ado other entities in the P2P2 peer-to-peer network. The peer device P5 reads from its complete routing table R5 outputs the network address of the peer P1 IP1 and sends it directly under the protocol for the underlaying Internet IN the message F2. Especially for real-time applications by providing routing tables at all peer devices implement an implementation in peer-to-peer networks. In In the past this was especially because of the complicated Routing method hardly possible.

Das vorgeschlagene Verfahren bzw. eine Implementierung in einem Peer-to-Peer-Netzwerk, wie es in der 2 dargestellt ist, ist besonders vorteilhaft, wenn nur eine übersichtliche Anzahl von Peer-Einrichtungen, die mit relativ hoher Zuverlässigkeit ihre Ressourcen bereitstellen, eingesetzt werden. Embedded Peer-to-Peer-Netzwerke mit Implementierungen von bis zu 256 Peers sind besonders effizient möglich. Bei beispielsweise Voice-over-IP-basierten Firmentelefonnetzwerken können VOIP-Telefone als Peer-Einrichtungen aufgefasst werden. Durch das direkte Routing ohne Zwischen-Hops ergibt sich dann ein besonders schneller Verbindungsaufbau gegenüber konventionellen Verfahren. Dadurch kann die Akzeptanz entsprechender VOIP-basierter Telefonkleinnetze als Peer-to-Peer-Netzwerke erhöht werden. Obgleich die Routing-Tabelle in jedem Peer vorgehalten wird, können weitere Funktionen, wie beispielsweise Anrufbeantworterfunktionalitäten oder die Abspeicherung von Daten oder Ressourcen, verteilt auf Basis zuvor beschriebenen Hash-Tabellen-Mechanismen erfolgen. Obgleich die Effizienz eines entsprechenden Peer-to-Peer-Netzwerkes, wie es in der 2 angedeutet ist, besonders bei stabilen Peer-to-Peer-Netzwerken gegeben ist, d. h. wenn nur gelegentlich ein Peer ausfällt oder ein anderer zum Netzwerk hinzukommt, kann auch bei einer Veränderung der Peer-to-Peer-Netzwerk-Zusammensetzung die Routing-Tabelle auf einfache Weise aktualisiert werden.The proposed method or implementation in a peer-to-peer network, as described in the 2 is particularly advantageous if only a clear number of peer devices that provide their resources with relatively high reliability are used. Embedded peer-to-peer networks with implementations of up to 256 peers are particularly efficient. For example, in Voice-over-IP-based corporate telephone networks, VOIP phones can be thought of as peer devices. The direct routing without intermediate hops then results in a particularly fast connection setup over conventional methods. As a result, the acceptance of corresponding VOIP-based telephone retail networks as peer-to-peer networks can be increased. Although the routing table is maintained in each peer, additional functions, such as answering machine functionality or data or resource storage, may be distributed based on previously described hash table mechanisms. Although the efficiency of a corresponding peer-to-peer network, as described in the 2 is indicated, especially given stable peer-to-peer networks, ie, if only occasionally a peer fails or another added to the network, even with a change in the peer-to-peer network composition, the routing table on easy way to be updated.

In der 3 ist ein Beispiel von Abläufen in einem Peer-to-Peer-Netzwerk P2P3 dargestellt, wenn eine weitere zusätzliche Peer-Einrichtung zu einem beispielsweise in der Art eines Chord-Rings organisierten Peer-to-Peer-Netzwerk hinzutritt. Dabei sind beispielhaft Peer-Einrichtungen P1–P8 dargestellt, wobei die in Kreisen eingezeichneten Zahlen z. B. den jeweiligen Knoten-Adressen entsprechen. In dem dargestellten Szenario tritt eine weitere Peer-Einrichtung P9 zu dem Netzwerk hinzu. Der Peer P9 meldet sich mit seiner Netzwerkadresse bei seinem zukünftigen Nachfolger (im Chord-Ring) im Netzwerk an und schickt eine Nachricht an alle im Netzwerk vorliegenden Peer-Einrichtungen.In the 3 an example of operations in a peer-to-peer network P2P3 is shown when another additional peer device is added to a peer-to-peer network organized, for example, in the manner of a chord-ring. In this case, peer devices P1-P8 are shown by way of example, wherein the numbers drawn in circles z. B. correspond to the respective node addresses. In the illustrated Sze nario adds another peer device P9 to the network. The peer P9 logs in with its network address to its future successor (in the chord ring) in the network and sends a message to all present in the network peer facilities.

In dem Beispiel der 3 meldet sich der Peer P9 beim Peer P8 an, welcher die nächstniedrige Knoten-Adresse (54) gegenüber der Knoten-Adresse (68) des Peers P9 aufweist. Über einen Multicast oder einzelnen Nachrichten DIS übergibt der hinzutretende Peer P9 allen anderen Peer-Einrichtungen P1–P8 seine Knoten-ID und die jeweilige Netzwerkadresse. Dadurch ist es möglich, die Routing-Tabellen in den einzelnen Peer-Einrichtungen P1–P8 zu aktualisieren. Die jeweiligen Peer-Einrichtungen P1–P8 senden eine Bestätigungsnachricht AK an den Peer P9. Der Peer P9 selbst erhält beispielsweise von der Peer-Einrichtung P8 die ursprüngliche Routing-Tabelle, bevor er seine eigenen Adressdaten im Peer-to-Peer-Netzwerk P2P3 publiziert. Nach den Bestätigungsnachrichten AK liegt auch am Peer P9 eine vollständige und aktualisierte Routing-Tabelle vor. Anschließend kann im Betrieb des Peer-to-Peer-Netzwerkes P2P3 ein Nachrichtenaustausch, wie beispielsweise in der 2 angedeutet ist, direkt und ohne weiteres Routing erfolgen.In the example of 3 the peer P9 logs on to the peer P8 which has the next lowest node address ( 54 ) opposite the node address ( 68 ) of the peer P9. Via a multicast or individual messages DIS, the adjoining peer P9 transfers its node ID and the respective network address to all other peer devices P1-P8. This makes it possible to update the routing tables in the individual peer devices P1-P8. The respective peer devices P1-P8 send an acknowledgment message AK to the peer P9. For example, the peer P9 itself obtains the original routing table from the peer device P8 before publishing its own address data in the peer-to-peer network P2P3. After the confirmation messages AK, there is also a complete and updated routing table on the peer P9. Subsequently, in the operation of the peer-to-peer network P2P3 a message exchange, such as in the 2 is indicated, done directly and without further routing.

Ergänzend können benachbarte Peer-Einrichtungen gegenseitig Stabilisierungsnachrichten gemäß beispielsweise dem Chord- Protokoll übermitteln. In diesen Stabilisierungsnachrichten werden zyklisch die Adressinformationen übermittelt. Die jeweiligen Nachbar-Peer-Einrichtungen überwachen dabei das regelmäßige Eintreffen der Stabilisierungsnachrichten. Falls eine entsprechende Nachricht für einen Peer über eine vorbestimmte Zeitdauer ausbleibt, wird dieser Peer als off-line oder ausgefallen betrachtet, was die ursprünglich benachbarten Peer-Einrichtungen zur Aktualisierung der Routing-Tabelle an die anderen Peer-Einrichtungen melden kann.additional neighboring peer devices can mutually stabilize messages according to, for example, the Chord Protocol. The address information is transmitted cyclically in these stabilization messages. The respective neighboring peer devices monitor thereby the regular arrival of the stabilization messages. If a message for a peer over fails for a predetermined period of time, this peer is considered off-line or failed to consider what the originally adjacent Peer facilities to update the routing table to the can report to other peer organizations.

Beispielsweise in der 4 ist ein Szenario angedeutet, bei dem aus einem ursprünglichen Chord-Ring der Peer-Einrichtung P1–P9 die Peer-Einrichtung P9 ausfällt oder sich kontrolliert von dem Netzwerk abmeldet. Somit sendet die sich aus dem Peer-to-Peer-Netzwerk P2P3 entfernende Peer-Einrichtung P9 eine jeweilige Ausfallnachricht EX an alle übrigen Peer-Einrichtungen. Daraufhin können diese ihre Routing-Tabelle aktualisieren. Um den Chord-Ring zu schließen, was durch die benachbarten Peer-Einrichtungen P8 und P1 (P8 hat als Knoten-Adresse (18), P9 (32) und P1 (42)) den Ring schließen. Die in dem Chord-Ring vorherige Peer-Einrichtung P8 sendet eine Joint-Nachricht JO an die Peer-Einrichtung P1, so dass hierdurch erneut ein geschlossenes Peer-to-Peer-Netzwerk entsteht.For example, in the 4 a scenario is suggested in which the peer device P9 fails or is logically disconnected from an original chord ring of the peer device P1-P9. Thus, the peer device P9 removing from the peer-to-peer network P2P3 sends a respective outage message EX to all other peer devices. They can then update their routing table. To close the chord ring, which passes through the adjacent peer devices P8 and P1 (P8 has as node address ( 18 ), P9 ( 32 ) and P1 ( 42 )) close the ring. The peer device P8 which precedes in the chord ring sends a joint message JO to the peer device P1, thereby creating a closed peer-to-peer network again.

Bei einem unkontrollierten Ausfall einer Peer-Einrichtung erfolgt die Stabilisierung und das Wiederherstellen eines beispielsweisen Chord-Rings in dem Peer-to-Peer-Netzwerk, wenn Stabilisierungsnachrichten ausfallen. Derartige Herzschlag- oder Heartbeat-Nachrichten, die jeder Peer seinen Nachbar-Peer-Einrichtungen übermittelt, zeigen die Aktivität der Peer-Einrichtung an. Fällt eine Peer-Einrichtung aus, d. h. es werden keine Herzschlagnachrichten gesendet, wird gemäß dem Verfahren zum Betreiben des Peer-to-Peer-Netzwerks die Routing-Tabelle an allen übrigen Peer-Einrichtungen aktualisiert, was zum Beispiel durch direkten Nachrichtenaustausch erfolgen kann. Die übrigen Eigenschaften eines Peer-to-Peer-Netzwerkes, beispielsweise beim Publizieren oder Bereitstel len von Ressourcen, z. B. im Rahmen eines bekannten Peer-to-Peer-Protokolls, bleiben unberührt. Allerdings kann der Nachrichtenaustausch deutlich schneller und effizienter erfolgen, da immer ohne Routing-Algorithmen die direkte Netzwerkadresse aller Peer-Einrichtungen bekannt ist.at an uncontrolled failure of a peer device is the Stabilizing and restoring an exemplary chord ring in the peer-to-peer network when stabilization messages fail. Such heartbeat or heartbeat messages that every peer transmitted to his neighbor peer facilities, the show Activity of the peer device. Falls one Peer device, d. H. there will be no heartbeat news is sent according to the method of operation of the peer-to-peer network, the routing table on all the rest Peer facilities updated, for example, through direct messaging can be done. The remaining properties of a peer-to-peer network, for example, when publishing or deploying resources, z. B. in the context of a known peer-to-peer protocol remain unaffected. However, the message exchange can be clear faster and more efficient, always without routing algorithms the direct network address of all peer devices is known.

Die Durchführung des Verfahrens bzw. der angesprochenen Verfahrensschritte lässt sich jeweils durch die Peer-Einrichtungen implementieren. Dabei ist dem Fachmann klar, welche Verfahrenssteile welcher Einrichtung oder zum Beispiel einer Teilroutine eines entsprechenden Computerprogramms zugeordnet sind. Insofern sind die funktionalen Blöcke in den Figuren auch als Programmmodule oder Routinen aufzufassen oder aber als dezidiert eingerichtete Einrichtungen, welche zur Implementierung der jeweiligen Funktion während des Verfahrens dienen.The Implementation of the method or the mentioned method steps can be implemented by the peer devices. It is clear to those skilled in which parts of the process which device or, for example, a subroutine of a corresponding computer program assigned. In this respect, the functional blocks in the figures also as program modules or routines to understand or as decidedly furnished facilities, which for Implementation of the respective function during the procedure serve.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list The documents listed by the applicant have been automated generated and is solely for better information recorded by the reader. The list is not part of the German Patent or utility model application. The DPMA takes over no liability for any errors or omissions.

Zitierte Nicht-PatentliteraturCited non-patent literature

  • - Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan: ”CHORD: A Scalable Peer-to-Peer Lookup Service for Internet Applications, MIT-LCS-TR-819 [0005] Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan: "CHORD: A Scalable Peer-to-Peer Lookup Service for Internet Applications, MIT-LCS-TR-819 [0005]

Claims (12)

Verfahren zum Betreiben eines Peer-to-Peer-Netzwerks (P2P2) mit mehreren Peer-Einrichtungen (P1–P5), welchen jeweils eine Netzwerkadresse (IP1–IP5) in einem Kommunikationsnetzwerk (IN) zugewiesen wird, wobei von jeder Peer-Einrichtung (P1–P5) eine Routing-Tabelle (R) mit mindestens den Netzwerkadressen (IP1–IP5) der übrigen Peer-Einrichtungen (P1–P5) in dem Peer-to-Peer-Netzwerk (P2P2) abgespeichert wird.Method for operating a peer-to-peer network (P2P2) with several peer devices (P1-P5), which each one network address (IP1-IP5) in a communication network (IN), where each peer device (P1-P5) a routing table (R) with at least the network addresses (IP1-IP5) the remaining peer devices (P1-P5) in the Peer-to-peer network (P2P2) is stored. Verfahren nach Anspruch 1, wobei eine erste Peer-Einrichtung (P1) beim Senden einer Nachricht (R1) an eine zweite Peer-Einrichtung (P5) über das Kommunikationsnetzwerk (IN) die Netzwerkadresse (IP5) der zweiten Peer-Einrichtung (P5) aus der von der ersten Peer-Einrichtung (P1) gespeicherten Routing-Tabelle (R1) ausliest.The method of claim 1, wherein a first peer device (P1) sending a message (R1) to a second peer device (P5) via the communication network (IN) the network address (IP5) of the second peer device (P5) from that of the first peer device (P1) stored routing table (R1). Verfahren nach Anspruch 1 oder 2, wobei für alle Peer-Einrichtungen (P1–P5) eine jeweilige Nachricht (R1, R2) von einer ersten Peer-Einrichtung (P1) zu einer zweiten Peer-Einrichtung (P5) direkt ohne Routing oder Hopping über eine weitere Peer-Einrichtung (P2–P4) übermittelt wird.The method of claim 1 or 2, wherein for all peer devices (P1-P5) have a respective message (R1, R2) from a first peer device (P1) to a second peer device (P5) directly without routing or hopping over another Peer device (P2-P4). Verfahren nach einem der Ansprüche 1–3, wobei die Routing-Tabelle (R1–R5) zu jeder in dem Peer-to-Peer-Netzwerk (P2P2) vorliegenden Peer-Einrichtung (P1–P5) eine jeweilige Peer-Identifikation (NID1–NID5), die Netzwerkadresse (IP1–IP5) und eine Zeitangabe umfasst.Method according to one of claims 1-3, wherein the routing table (R1-R5) is to each in the peer-to-peer network (P2P2) present peer device (P1-P5) a respective Peer identification (NID1-NID5), the network address (IP1-IP5) and a time indication. Verfahren nach einem der Ansprüche 1–4, wobei beim Hinzutreten oder Entfernen einer Peer-Einrichtung (P9) zu oder von dem Peer-to-Peer-Netzwerk (P2P3) die Netzwerkadresse (IP9) der hinzutretenden oder sich entfernenden Peer-Einrichtung (P9) in dem Peer-to-Peer-Netzwerk (P2P3) publiziert wird.Method according to one of claims 1-4, wherein upon the addition or removal of a peer device (P9) to or from the peer-to-peer network (P2P3) the network address (IP9) of the adjoining or withdrawing peer device (P9) is published in the peer-to-peer network (P2P3). Verfahren nach einem der Ansprüche 1–5, wobei beim Hinzutreten oder Entfernen einer Peer-Einrichtung (P9) zu oder von dem Peer-to-Peer-Netzwerk (P2P3) ein Multicast zum Aktualisieren der durch die Peer-Einrichtungen (P1–P8) gespeicherten Routing-Tabellen (R) erfolgt.Method according to one of claims 1-5, wherein upon the addition or removal of a peer device (P9) to or from the peer-to-peer network (P2P3) a multicast to update the one stored by the peer devices (P1-P8) Routing tables (R) takes place. Computerprogrammprodukt, welches die Durchführung eines Verfahrens nach einem der Ansprüche 1–6 auf mehreren programmgesteuerten Rechnereinrichtungen veranlasst.Computer program product performing A method according to any one of claims 1-6 caused on several programmable computer devices. Peer-to-Peer-Netzwerk (P2P2) mit mehreren Peer-Einrichtungen (P1–P5), welchen jeweils eine Netzwerkadresse (IP1–IP5) in einem Kommunikationsnetzwerk (IN) zugewiesen ist, wobei jede Peer-Einrichtung (P1–P5) eine Routing-Tabelle (R1–R5) mit mindestens den Netzwerkadressen (IP1–IP6) der übrigen Peer-Einrichtungen (IP1–IP5) in dem Peer-to-Peer-Netzwerk (P2P2) abgespeichert.Peer-to-peer network (P2P2) with multiple peer facilities (P1-P5), each of which has a network address (IP1-IP5) assigned in a communication network (IN), each one Peer device (P1-P5) a routing table (R1-R5) with at least the network addresses (IP1-IP6) of the others Peer devices (IP1-IP5) in the peer-to-peer network (P2P2) stored. Peer-to-Peer-Netzwerk (P2P2) nach Anspruch 8, wobei die Peer-Einrichtungen (P1–P5) derart eingerichtet sind, dass ein Verfahren nach einem der Ansprüche 1–7 ausgeführt wird.A peer-to-peer network (P2P2) according to claim 8, wherein the peer devices (P1-P5) are set up in such a way that a method according to any one of claims 1-7 is performed. Peer-to-Peer-Netzwerk (P2P2) nach Anspruch 8 oder 9, wobei das Peer-to-Peer-Netzwerk (P2P2) als Embedded Netzwerk ausgebildet ist und insbesondere weniger als 256 Peer-Einrichtungen (P1–P5) umfasst.Peer-to-peer network (P2P2) according to claim 8 or 9, where the peer-to-peer network (P2P2) as an embedded network is formed and in particular less than 256 peer devices (P1-P5). Peer-to-Peer-Netzwerk (P2P2) nach einem der Ansprüche 8–10, wobei die Peer-Einrichtungen (P1–P5) als Peer-Client-Software für programmsteuerbare Einrichtungen implementiert sind.Peer-to-peer network (P2P2) according to one of the claims 8-10, wherein the peer devices (P1-P5) as Peer-client software for programmable devices are implemented. Peer-to-Peer-Netzwerk (P2P2) nach einem der Ansprüche 8–11, wobei das Peer-to-Peer-Netzwerk (P2P2) mit einer verteilten Hash-Tabelle und insbesondere mit einem Chord-Algorithmus oder einem Kademlia-Algorithmus zur Ressourcenbereitstellung in dem Peer-to-Peer-Netzwerk (P2P2) eingerichtet ist.Peer-to-peer network (P2P2) according to one of the claims 8-11, where the peer-to-peer network (P2P2) with a distributed hash table and in particular with a chord algorithm or a Kademlia resource deployment algorithm peer-to-peer network (P2P2).
DE102008032748A 2008-07-11 2008-07-11 Peer-to-peer network operating method, involves storing routing-table with network addresses of peer-devices in peer-to-peer network, and transmitting message directly from one of peer device to another peer device Ceased DE102008032748A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102008032748A DE102008032748A1 (en) 2008-07-11 2008-07-11 Peer-to-peer network operating method, involves storing routing-table with network addresses of peer-devices in peer-to-peer network, and transmitting message directly from one of peer device to another peer device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102008032748A DE102008032748A1 (en) 2008-07-11 2008-07-11 Peer-to-peer network operating method, involves storing routing-table with network addresses of peer-devices in peer-to-peer network, and transmitting message directly from one of peer device to another peer device

Publications (1)

Publication Number Publication Date
DE102008032748A1 true DE102008032748A1 (en) 2010-01-14

Family

ID=41412788

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008032748A Ceased DE102008032748A1 (en) 2008-07-11 2008-07-11 Peer-to-peer network operating method, involves storing routing-table with network addresses of peer-devices in peer-to-peer network, and transmitting message directly from one of peer device to another peer device

Country Status (1)

Country Link
DE (1) DE102008032748A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050135286A1 (en) * 2003-12-23 2005-06-23 Nurminen Jukka K. Wireless extended proximity networks: systems, methods and program products

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050135286A1 (en) * 2003-12-23 2005-06-23 Nurminen Jukka K. Wireless extended proximity networks: systems, methods and program products

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan: "CHORD: A Scalable Peer-to-Peer Lookup Service for Internet Applications, MIT-LCS-TR-819

Similar Documents

Publication Publication Date Title
DE102006021591B3 (en) Data transfer method for e.g. Internet, involves transmitting query for destination-peer-device from one of peer-to-peer-networks to one of peer-devices in network under information of one of network addresses of another peer-device
DE60317925T2 (en) CONTROLLING NETWORK TRAFFIC IN A PEER-TO-PEER ENVIRONMENT
DE60301783T2 (en) METHOD AND SYSTEM FOR EQUIVALENT COMMUNICATION IN A NETWORK ENVIRONMENT
DE60211524T2 (en) METHOD AND DEVICE FOR THE DISTRIBUTED DELIVERY OF CONTENT WITHIN A COMPUTER NETWORK
DE60208659T2 (en) SCALABLE RESOURCE DETECTION AND RECONFIGURATION FOR DISTRIBUTED COMPUTER NETWORKS
EP1423964B1 (en) Scalable peer-to-peer-network with a directory service
EP1851944B1 (en) Method for initiating a voip communication using a peer-to-peer database
DE102015102871A1 (en) Distributed routing table lookup technologies
EP3059930A1 (en) Method for configuring a communication device of an industrial automation system and communication device
EP3611876A1 (en) Method for configuring, method for providing topology information, use, device, computer program and computer readable medium
EP2201747B1 (en) Device for operating a dezentralized communication network
DE10345051B4 (en) Method for establishing a communication connection in a directly communicating communication network
EP2503760B1 (en) Method for setting up a communication network comprising devices of an automation assembly
DE10394206T5 (en) Data communication load distribution control program and data load distribution control method
EP3076636A1 (en) Method for providing a name service within an industrial communication system and name service server
DE60313026T2 (en) METHOD AND DEVICE FOR DISTRIBUTING DATA PACKAGES FROM A COMPUTER TO A CLUSTER SYSTEM
DE10316236A1 (en) Method and arrangement for configuring a device in a data network
DE102008032748A1 (en) Peer-to-peer network operating method, involves storing routing-table with network addresses of peer-devices in peer-to-peer network, and transmitting message directly from one of peer device to another peer device
EP2044738A1 (en) Method for operating a local area data network
EP2933985B1 (en) Use of multicast DNS
DE102006004025A1 (en) Method for transmitting a message, network node and network
EP3813315A1 (en) Method for diagnosing data traffic, method for determining a configuration, cluster, computer program and computer-readable medium
EP2695364A1 (en) Method for addressing messages in a computer network
EP1520389B1 (en) Network comprising search functions that are integrated into communication components
EP1511272B1 (en) Server assignment method for clients distributed in more than one networks and client for the server assignmend method

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection