ES2392365T3 - Utilización de un árbol de dispersión de prefijos (PHT) para la localización de servicios en el seno de una red de comunicación de igual a igual - Google Patents

Utilización de un árbol de dispersión de prefijos (PHT) para la localización de servicios en el seno de una red de comunicación de igual a igual Download PDF

Info

Publication number
ES2392365T3
ES2392365T3 ES08103703T ES08103703T ES2392365T3 ES 2392365 T3 ES2392365 T3 ES 2392365T3 ES 08103703 T ES08103703 T ES 08103703T ES 08103703 T ES08103703 T ES 08103703T ES 2392365 T3 ES2392365 T3 ES 2392365T3
Authority
ES
Spain
Prior art keywords
service
distributed
node
dispersion table
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES08103703T
Other languages
English (en)
Inventor
Thomas Froment
Jean-François Wauthy
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.)
Alcatel Lucent SAS
Original Assignee
Alcatel Lucent SAS
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 Alcatel Lucent SAS filed Critical Alcatel Lucent SAS
Application granted granted Critical
Publication of ES2392365T3 publication Critical patent/ES2392365T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area 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/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4541Directories for service discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2567NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2575NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

Red de comunicación (NET) que comprende una tabla de dispersión distribuida (DHT) cuyos nodos (X1, X2, X3… XN) suministran unos servicios accesibles a unos clientes de comunicación adaptados para comunicar de acuerdo con el protocolo SIP (T) conectados a dicha red de comunicación, disponiendo dicha tabla de dispersión distribuida: - de medios para recibir una solicitud de localización de servicio (R) de parte de un cliente de comunicación (T), conteniendo dicha solicitud al menos un identificador (ID) de un servicio, y -unos medios de búsqueda para buscar en el seno de dicha tabla de dispersión al menos una información de localización, correspondiendo cada una a un nodo que suministra el servicio determinado por dicho identificador de servicio, y transmitirla o transmitirlas a dicho cliente de comunicación, caracterizado porque dicha tabla de dispersión se organiza de manera que las informaciones de localización estén asociadas a unas claves que contienen al menos un identificador del servicio y corresponden a unas hojas de un árbol binario del tipo PHT, cuyas etiquetas de los nodos se distribuyen en el seno de dicha tabla de dispersión distribuida, y porque los medios de búsqueda se adaptan para buscar las informaciones de localización en todas o parte de las hojas cuya etiqueta tiene el prefijo del identificador del servicio contenido en dicha solicitud de servicio, y transmitirla a dicho cliente de comunicación.

Description

Utilización de un árbol de dispersión de prefijos (PHT) para la localización de servicios en el seno de una red de comunicación de igual a igual.
La presente invención se refiere al dominio de las redes de comunicación de estación a estación o de igual a igual (de “peer-to-peer” en inglés). Más particularmente, se refiere a la localización de un servicio en el seno de dicha red de igual a igual.
Las redes de comunicación de igual a igual se han impuesto poco a poco como unas alternativas eficaces para ciertos tipos de servicio. La sociedad Skype por ejemplo ha basado su éxito en un modelo de igual a igual para el establecimiento de sesiones de comunicación del tipo voz sobre IP (VoIP) o multimedia sobre IP.
Otros servicios de intercambio de contenidos se basan igualmente en las tecnologías de igual a igual, tales como las redes eMule, Bittorrent, JXTA…
El principio básico de una red de igual a igual reside en la ausencia de un órgano centralizado: la lógica del servicio se distribuye en el conjunto de los elementos de la red de igual a igual; cada elemento puede ser potencialmente a la vez cliente (peticionario del servicio) y servidor (suministrador del servicio).
Muchas de las redes de igual a igual se basan en una tabla de dispersión distribuida.
Una tabla de dispersión distribuida (o DHT de “Distributed Hash Table” en inglés) es una tecnología que permite la memorización y la recuperación de la información en un sistema repartido masivamente como una red de igual a igual (o “peer to peer network” en inglés). Por principio, el contenido de la tabla de dispersión se reparte en el conjunto de las estaciones o nodos de la red y no hay ningún dispositivo centralizado.
Dichas tablas de dispersión distribuidas se describen por ejemplo en el artículo “Looking up Data in P2P Systems” de H. Balakrishna, F. Kaashoek, D. Karger, R. Morris y 1. Stoica, aparecido en febrero de 2003, en la revista Communications of the ACM, vol. 46, nº 2.
La figura 1 nuestra una tabla de dispersión distribuida DHT compuesta por los nodos X1, X2, X3… XN.
Se memoriza una información en el seno de la red DHT asociándole una clave K y aplicando una función de dispersión H sobre esta clave. El valor H(K) determina un índice que permite localizar un nodo particular en el seno de la red (por ejemplo, el nodo de índice i más próximo, o inmediatamente inferior…).
Se puede implementar el mismo proceso con el fin de recuperar una información.
Los mecanismos de memorización y de recuperación de información están explicados anteriormente en numerosas publicaciones sobre el tema a la disposición del experto en la materia. Se explicarán además un poco más en la descripción a continuación.
Es importante remarcar aquí el carácter totalmente distribuido de la memorización y el hecho de que se puede de ese modo proyectar el espacio de las informaciones a memorizar en un espacio de memorización formado por los N nodos.
Los árboles binarios del tipo PHT son conocidos por Ramabhadran, S et ál.: “Prefix Hash Tree -An Indexing Data Structure over Distributed Hash Tables”.
Este aspecto distribuido es interesante por más de una razón para las arquitecturas de red de comunicación y las aplicaciones del tipo voz sobre IP (VoIP)/Multimedia sobre IP (Internet Protocol).
Permite en efecto liberarse de ciertas pesadeces de los sistemas centralizados: la hipertrofia del sistema centralizado desde el momento en que el número de abonados al servicio es importante; la necesidad y la complejidad de su mantenimiento; la gestión de las averías y de su disponibilidad, etc.
El éxito obtenido al cabo del tiempo por las arquitecturas de igual a igual ha impulsado al IETF (Internet Engineering Task Force) a inclinarse hacia la definición de una arquitectura particular a los servicios basados en el protocolo SIP (Session Initiation Protocol).
El protocolo SIP se define por el RFC 3261 del IETF y está concebido para transmitir la señalización necesaria en la negociación y en el establecimiento de sesiones multimedia sobre unas redes de comunicación de datos basadas en el protocolo IP (Internet Protocol) como, por ejemplo, el borrador de Internet “dSIP: A P2P Approach to SIP Registration and Resource Location", draft-bryan-p2psip-dsip-00.
Estos trabajos se han tomado a cargo actualmente de un grupo de trabajo P2P-SIP (de “peer-to-peer SIP”).
El protocolo SIP necesita un cierto número de servicios (el “Registrar” por ejemplo) que se pueden implementar mediante una tabla de dispersión distribuida antes que por un servidor centralizado.
Estos servicios pueden ser igualmente
-
STUN (“Simple Traversal of User datagram protocol (UDP) through Network address translators (NATs)”),
definido por el RFC 3489 -TURN (“Traversal Using Relay NAT”), publicado en septiembre de 2005 con el estatuto de “draft IETF” bajo el
nombre “draff-rosenbergmidcom-turn-08.txt”. -un repetidor de medios, -un servicio de presencia, etc.
Estos servicios se pueden suministrar por uno o varios nodos de la tabla de dispersión distribuida, pero se presenta el problema de su localización por parte de los clientes SIP, u otros elementos de la red.
Se han barajado varias posibilidades de solución en las discusiones de los grupos de trabajo del IETF.
Un primer enfoque consiste en utilizar un servidor centralizado único que tenga por objeto mantener unas asociaciones entre los servicios y las direcciones de los servidores que los proporcionan. Este servidor tendría una dirección bien determinada con el fin de que los clientes puedan contactar con él fácilmente. De esta manera, un cliente que busque un servidor STUN le enviaría una solicitud de servicio que contuviese “STUN” como parámetro y recibiría una lista de direcciones, correspondiendo cada dirección a un nodo de la tabla de dispersión distribuida que suministra este servicio.
Este primer enfoque no es sin embargo satisfactorio en la medida de que introduce un servidor centralizado contrario a la filosofía misma de una red de igual a igual. Los inconvenientes de los enfoques centralizados, citados anteriormente, y que han llevado a la elaboración y al éxito de los enfoques entre iguales, se aplican por lo tanto igualmente aquí y particularmente al hecho de que este servidor se convierte en un punto de debilidad de la arquitectura: en caso de fallo, los clientes no podrían localizar los servidores (nodos) que suministran los servicios buscados. Además, este servidor centralizado forma un objetivo privilegiado para unos ataques malintencionados del tipo denegación de servicio (DOS, de “Denial of service”).
La alternativa consiste por tanto en memorizar las informaciones de localización en la tabla de dispersión distribuida en sí.
Una primera solución de acuerdo con este enfoque consiste en asociar una clave al conjunto de las informaciones de localización. Esta idea se ha sometido al foro virtual (o lista de difusión, “mailing list” en inglés) del grupo de trabajo P2P SIP del IETF en diciembre de 2006.
Pero padece de un cierto número de inconvenientes. Particularmente, si el número de servicios y el número de nodos de la tabla de dispersión distribuida son importantes, las informaciones de localización se pueden convertir en voluminosas.
Esto puede provocar unos problemas de dimensionamiento del nodo que tiene la carga de esta información: de acuerdo con el mismo principio de la tabla de dispersión distribuida, no hay un posible control sobre qué nodo tiene la carga de una información dada porque la tabla se autogenera. También, las informaciones de localización se pueden generar por un nodo de capacidad limitada, por ejemplo un cliente de comunicación en el caso de una arquitectura en donde los clientes forman parte de la tabla de dispersión distribuida.
A este primer problema de memorización se viene a añadir también el inconveniente de que este nodo se convierte en el objetivo del conjunto de las solicitudes de servicio. Esto crea por tanto un punto de sobrecarga en el seno de la red de comunicación.
Una segunda solución consiste en definir unas informaciones de localización diferentes para cada instancia de servicio. Por ejemplo, se puede definir un prefijo para cada servicio y añadirle un número de índice de la instancia, con el fin de formar la clave de información de localización. Se puede obtener de ese modo una clave “STUN1” (asociada a una información de localización que contiene al menos la dirección IP del primer servidor que suministra el servicio STUN), y una clave “TURN5” (asociada a una información de localización que contiene al menos la dirección IP de un quinto servidor que suministra el servicio TURN), etc.
Pero entonces presenta el problema de suministrar al cliente de la comunicación la información sobre las claves disponibles. (¿Cuáles son los servicios disponibles? ¿Qué índices son posibles para cada uno de los servicios?)
Como una tabla de dispersión distribuida no puede aceptar más que solicitudes “exactas”, es decir una búsqueda de una clave precisamente determinada, la búsqueda de información de localización necesita varias solicitudes sucesivas con el fin de que el cliente disponga del conjunto de las informaciones de localización relativas al servicio dado (“STUN” por ejemplo).
Además, esta forma de proceder administra muy mal el aspecto dinámico de una tabla de dispersión distribuida: cuando el cliente ha recibido la información de localización del último servidor que suministra el servicio pedido, puede ser que otros se hallan conectado en la tabla, o ciertos otros se hayan, por el contrario, desconectado. Como resultado se hace imposible para el cliente tener unas informaciones al día.
El objeto de la presente invención es proponer una solución de localización de un conjunto de servidores que suministran un servicio solicitado.
Un primer objeto de la invención es una red de comunicación que comprende una tabla de dispersión distribuida en la que los nodos suministran unos servicios accesibles a unos clientes de comunicación adaptados para comunicar de acuerdo con el protocolo SIP conectados a la red de telecomunicación. La tabla de dispersión distribuida dispone:
-
de medios para recibir una solicitud de localización de servicio de parte de un elemento de la red, conteniendo esta solicitud al menos un identificador de un servicio, y -unos medios de búsqueda para buscar en el seno de la tabla de dispersión distribuida al menos una información de localización, y transmitirla o transmitirlas al elemento de la red.
Cada una de estas informaciones de localización corresponde a un nodo suministrador del servicio que está determinado por el identificador del servicio.
La red de comunicación de acuerdo con la invención se caracteriza porque
-
la tabla de dispersión se organiza de manera que las informaciones de localización se asocian con unas claves que contienen al menos un identificador del servicio y que corresponde a las hojas de un árbol binario del tipo PHT cuyas etiquetas de los nodos están distribuidas en el seno de la tabla de dispersión distribuida, y
-
porque los medios de búsqueda están adaptados para buscar las informaciones de localización en todas o parte de las hojas cuya etiqueta tiene el prefijo del identificador del servicio contenido en la solicitud de servicio, y transmitirlas al elemento de la red.
Este cliente de comunicación puede ser un terminal de comunicación.
Las etiquetas y las claves pueden ser unas palabras binarias, estando formadas las etiquetas de manera que los pesos de cada bit en el orden decreciente corresponden a una profundidad creciente en el seno del árbol binario.
Los servicios en cuestión pueden ser por ejemplo unos servicios STUN y/o TURN y/o de acuerdo con el RFC 3489bis del IETF.
El nodo que suministra el servicio puede ser uno de los nodos de la tabla de dispersión distribuida. Puede tratarse también por lo tanto de un nodo exterior a la tabla de dispersión distribuida.
De acuerdo con una implementación de la invención, las etiquetas pueden estar compuestas al menos del identificador de servicio, de una indicación del protocolo de transporte, de una información de localización y de un puerto. La información de localización puede ser particularmente una dirección IP.
Estas etiquetas pueden incluir igualmente todos o parte de los parámetros que definen un identificador universal de recursos URI de acuerdo con el RFC 1630 del IETF.
La invención tiene igualmente como objeto un procedimiento que permita a un cliente de comunicación adaptado para comunicar de acuerdo con el protocolo SIP acceder a un servicio suministrado por una tabla de dispersión distribuida. Este procedimiento incluye
-
una etapa de transmisión de una solicitud de localización de servicio, conteniendo esta solicitud un identificador del servicio; y
-
una etapa de búsqueda por la tabla de dispersión distribuida de al menos una información de localización, correspondiendo cada una de las informaciones de localización a un nodo suministrador del servicio. El procedimiento de acuerdo con la invención se caracteriza porque la etapa de búsqueda consiste en la búsqueda de una clave en el seno de un árbol binario del tipo PHT cuyas etiquetas de los nodos se distribuyen en el seno de la tabla de dispersión distribuida. Esa clave contiene al menos el identificador del servicio y la búsqueda consiste en buscar las informaciones de localización en todas o parte de las hojas cuya etiqueta tiene como prefijo el identificador del servicio.
Este cliente de comunicación puede ser un terminal de comunicación.
Por otro lado, las etiquetas y las claves pueden ser unas palabras binarias. Las etiquetas pueden estar formadas de manera que el peso de cada bit en el orden decreciente corresponda a una profundidad creciente en el seno del árbol binario.
Los servicios puede ser unos servicios STUN y/o TURN y/o de acuerdo con la RFC 3489bis del IETF.
El nodo que suministra el servicio puede ser particularmente uno de los nodos de la tabla de dispersión distribuida.
Las etiquetas pueden estar compuestas al menos del identificador del servicio, de una indicación del protocolo de transporte, de una información de localización y de un puerto. La información de localización puede ser particularmente una dirección IP.
Las etiquetas pueden incluir igualmente todos o parte de los parámetros que definen un identificador universal de recursos URI de acuerdo con el RFC 1630 del IETF.
La invención tiene igualmente como objeto un programa de ordenador adaptado para realizar un procedimiento de ese tipo, cuando se realiza sobre un equipo de procesamiento de información. Este equipo puede ser particularmente un sistema distribuido, tal como una red de comunicación. En una situación de ese tipo, las diferentes etapas del procedimiento se pueden realizar por unos módulos lógicos diferentes distribuidos sobre unos equipos físicos diferentes.
La invención tiene igualmente por objeto un soporte informático que contenga dicho programa de ordenador. Este soporte puede ser un medio de memorización óptica tal como un CD-ROM o un DVD-ROM. Puede tratarse también de un disco duro y desde luego por un servidor a partir del que se puede descargar el programa de ordenador.
La invención y sus ventajas surgirán de manera más clara con la descripción a continuación en conexión con las figuras adjuntas.
La figura 1, anteriormente comentada, esquematiza una tabla de dispersión distribuida.
La figura 2 ilustra una arquitectura posible de acuerdo con la invención.
La figura 3 esquematiza un ejemplo del árbol binario PHT.
La figura 4 ilustra una aplicación de la invención a la localización del servidor STUN en el seno de una red de comunicación.
La arquitectura ilustrada por la figura 2 representa una realización posible de la invención. Una red de comunicación NET comprende una tabla de dispersión distribuida DHT compuesta de un conjunto de nodos X1, X2, X3… XN. De forma conocida por sí misma, el número de estos nodos puede ser dinámico: en efecto se pueden retirar y añadir dinámicamente de la tabla de dispersión distribuida. La tabla de dispersión distribuida dispone de unos medios algorítmicos para generar este dinamismo redistribuyendo las informaciones en el seno de los nodos que la componen.
Unos elementos de la red se pueden conectar a la red de comunicación NET y acceder a la tabla de dispersión distribuida DHT. En la figura, la conexión es directa entre el elemento de la red T y la tabla de dispersión distribuida DHT, pero, en la práctica, se pueden encontrar diferentes tipos de equipos de red entre estos dos equipos: unos traductores de direcciones NAT (de “Network Address Translators”), unos controladores de sesión de borde SBC (de “Session Border Controller”), unos Proxy SIP, etc.
El elemento de la red T puede ser un cliente de comunicación, particularmente un cliente de comunicación adaptado para comunicar con la red de comunicación NET mediante el protocolo SIP. Se entiende por cliente de comunicación todo equipo adaptado para emitir unas solicitudes, particularmente unas solicitudes SIP.
Se puede tratar particularmente de un terminal de comunicación, que interactúa con un usuario humano.
Estos elementos de la red pueden emitir unas solicitudes de localización de servicio R que contienen al menos un identificador ID del servicio buscado. Como se ha mencionado anteriormente, este servicio puede ser un servicio STUN, TURN o ICE, un repetidor de medios, un servicio de presencia, etc.
En la medida en que el RFC 3489bis del IETF tiende a hacer converger los servicios STUN y TURN en un servicio único, el servicio buscado puede igualmente ser un servicio de ese tipo “unificado”.
La tabla de dispersión distribuida está adaptada para recibir unas solicitudes de localización. Estos medios de recepción se pueden distribuir en el conjunto de los nodos, o sobre ciertos de entre ellos únicamente.
Las solicitudes de localización de servicios se reciben de parte del elemento de red, pero se pueden transmitir por unos equipos intermediarios. Eventualmente, ciertos de estos equipos intermediarios pueden interpretar el contenido de las solicitudes de localización de servicio y modificar ciertos campos, incluyendo el determinar un valor final del identificador de servicio.
La tabla de dispersión distribuida DHT dispone entonces de los medios para buscar las informaciones de localización asociadas a este identificador de servicio ID. Esas informaciones de localización deben corresponder a uno o varios nodos de la tabla de dispersión distribuida DHT que suministra el servicio en cuestión. Puede por ejemplo tratarse de la dirección IP (“Internet Protocol”) de estos nodos.
En una variante, las informaciones de localización pueden corresponder a unos nodos exteriores a la tabla de dispersión distribuida DHT. Estos sirven de medios de localización, y el nodo (o servidor) exterior la utiliza para registrarse como suministrador de servicio, y estar accesible para los peticionarios del servicio.
Estas informaciones de localización se pueden renviar entonces al elemento de la red peticionario T.
De acuerdo con la invención, la tabla de dispersión distribuida se caracteriza porque se organiza de manera que las informaciones de localización se asocian a unas claves que contienen al menos un identificador del servicio que 5 corresponde a unas hojas de un árbol binario del tipo PHT, o tabla de dispersión de prefijos.
Un árbol binario PHT se ha descrito en el artículo “Prefix Hash Tree -An Indexing Data Structure over Distributed Hash Tables” de Sriram Ramabhadran, Sylvia Ratnasamy, Joseph M. Hellerstein y Scott Shenker, Technical Report, Berkeley Intel Research, febrero de 2004.
Se trata de una estructura desplegada por encima de la tabla de dispersión distribuida con el fin de permitir las
10 solicitudes de intervalos. Aparecen en la categoría más amplia de los “Trie”. Se trata por lo tanto de una estructura de datos que forma un árbol ordenado utilizado para memorizar una tabla de asociación, cuyas claves son unas cadenas. Una definición más completa de un “Trie” se puede encontrar por ejemplo en la obra de Donald Knuth, The Art of Computer Programming, volumen 3: Sorting and Searching. Tercera edición, Addison-Wesley, 1997, páginas 492-512.
15 En el caso de un PHT, las cadenas son unas cadenas binarias.
En un PHT, normalmente, las etiquetas de los nodos no se memorizan en el seno de los nodos sino que se pueden deducir de la posición de los nodos en el seno del árbol.
La figura 3 esquematiza un PHT.
Cada nodo posee o bien dos nodos “hijos” o bien ninguno. En este último caso, se denomina “hoja” del árbol binario. 20 En la figura, los nodos p5, p6, p8, p10, p13, p14, p16, p17 son unas hojas.
Esta propiedad garantiza que las hojas del árbol binario PHT forman un conjunto de prefijos universales: para cada clave, hay únicamente una hoja cuya etiqueta es un prefijo de esta clave.
Cuando un nodo no es una hoja, cada uno de sus dos hijos está enlazado por una rama que tiene un valor binario, es decir o bien un valor “0” (ramas de la izquierda, en la figura), o bien un valor “1” (rama de la derecha, en la figura).
25 La concatenación de los valores de las ramas que parten de la raíz p1 y van hacia una hoja, da la etiqueta de esta hoja. Por ejemplo, la hoja p14 tiene por etiqueta “00100”; la hoja p10 tiene por etiqueta “110”, etc.
El etiquetado puede por lo tanto ser visto como un procedimiento recursivo: si la etiqueta del nodo es 1, estos nodos hijos izquierdo y derecho serán respectivamente “10” y “11”.
Las claves se memorizan en el seno de las hojas del árbol binario PHT, en función de la etiqueta de estas hojas. 30 Más precisamente, se memoriza la clave K en una hoja cuya etiqueta es un prefijo de la clave K.
La tabla siguiente da un ejemplo, extraído del artículo mencionado anteriormente, de correspondencia entre unas claves y las hojas correspondientes para el ejemplo de la figura 3.
Hojas
Etiquetas Claves
P8
000 000001 000100 000101
P14
00100 001001
P16
001010 001010
P17
001011 001011
P13
0011
P5
01 010000 010101
P6
10 100010 101011 101111
P10
110 110000 110010 110011 110110
(continuación)
Hojas
Etiquetas Claves
P11
111 111000 111010
Para la construcción del árbol binario PHT, se utilizan dos reglas:
-
Cada hoja contiene un número limitado de claves. Este número máximo se indica por B en lo que sigue. -Cada nodo interno contiene al menos B+11 en su sub-árbol.
Como consecuencia de estas dos reglas, si una hoja es llevada a contener más claves que el límite B, entonces, se convierte en un nodo interno y se crean dos nuevas hojas, hijas de ésta. Sus claves se reparten entre las dos hojas hijas.
Por ejemplo, si un número suficientemente importante de claves se añade a la hoja p11, se crean dos nuevas hojas a partir de p11: una hoja izquierda p11a que tiene por etiqueta “1110” y una hoja derecha p11b que tiene por etiqueta “1111”. El nodo p11 se convierte entonces en un nodo interno.
A la inversa, si un nodo interno no posee suficientes claves en su sub-árbol, entonces se fusionan unas hojas del sub-árbol con su nodo interno padre.
Por ejemplo, si las hojas p10 y p11 no contienen suficientes claves, desaparecen y sus claves se memorizan en el nodo p7 que se convierte entonces en una hoja.
Además, cada clave aparece de manera única en las asociaciones entre claves y hojas. Si una misma hoja puede contener varias claves (tal como se indica en la tabla dada en el ejemplo), una misma clave no se atribuye más que a una única hoja.
Por otro lado, con un objetivo de optimización de la estructura de datos, cada hoja del árbol binario puede poseer un puntero hacia las hojas situadas inmediatamente a su derecha y a su izquierda. Por ejemplo, por lo tanto, la hoja p6 posee unos punteros hacia las hojas p5 y p10; la hoja p13 posee unos punteros hacia las hojas p5 y p17.
Como se ha dicho anteriormente, un árbol binario de ese tipo se construye “por encima” de una tabla de dispersión distribuida DHT.
Existen diferentes implementaciones posibles de una tabla de dispersión distribuida.
La figura 1 ilustra un ejemplo simplificado para facilidad de comprensión, pero la invención no se deberá entender como limitada a esta realización particular.
El conjunto de los nodos X1, X2, X3… XN de la tabla de dispersión DHT juegan el mismo papel. Con el fin de memorizar o de recuperar un valor en esta tabla (o red), se puede dirigir indiferentemente a uno de estos nodos.
En el ejemplo de la figura 1, anteriormente comentado, un equipo E interroga al nodo X3, suministrándole una dirección lógica.
Éste calcula una función de dispersión H sobre esta dirección lógica suministrada.
Una función de dispersión es una función que permite la conversión de un valor que pertenece a un conjunto de tamaño importante (el conjunto de las direcciones lógicas posibles) en un segundo valor que pertenece a un conjunto de tamaño más reducido. Este segundo valor es en este caso un número completo comprendido entre 1 y N, en el que N es el número de nodos en la tabla de dispersión distribuida DHT.
La función de dispersión H debe respetar generalmente la propiedad matemática siguiente: H(x) " H(y) = x " y. Además, si x = y entonces es necesario que sea importante la probabilidad de que H(x) = H(y).
La función H se adapta idealmente para obtener un reparto uniforme de claves en el espacio de direccionamiento. Esta distribución tiende hacia la uniformidad con un gran número de claves.
El valor i devuelto por la función de dispersión permite al nodo X3 deducir que el nodo Xi es probablemente el que posee la asociación entre la dirección lógica recibida y el dominio correspondiente. Transmite la solicitud hacia este nodo Xi. Si éste posee efectivamente la asociación, puede devolver el dominio asociado a la dirección lógica. Si no, puede transmitir la solicitud a otro nodo (vecino) que pueda poseer la asociación.
De manera iterativa, el algoritmo converge poco a poco hacia el nodo que posee efectivamente la asociación.
El principio de la memorización de una nueva asociación es similar. Un nodo cualquiera de la red de igual a igual DHT recibe la solicitud de memorización y calcula un valor a partir de función de dispersión y la dirección lógica.
Este valor determina un nodo particular del conjunto de los nodos de la tabla de dispersión distribuida DHT, hacia el que el primer nodo retransmite la solicitud de memorización. El nodo así designado memoriza la asociación.
En la situación de la invención en la que se utiliza un árbol binario PHT, las etiquetas de los modos del árbol binario PHT se distribuyen en el seno de la tabla de dispersión DHT. Concretamente, para memorizar una etiqueta, se aplica la función de dispersión H sobre esta etiqueta, y se memoriza el nodo del árbol binario sobre el nodo de la tabla de dispersión determinado por el valor devuelto por la función de dispersión H.
De acuerdo con la invención, las claves contienen al menos un identificador de servicio y se asocian a una información de localización. Por ejemplo, contienen una dirección física, una pareja dirección IP/ puerto, etc.
Las claves pueden contener igualmente otras informaciones como el protocolo de transporte a utilizar, por ejemplo.
La estructura de una clave puede ser la siguiente:
Esta clave se puede codificar por ejemplo sobre 72 bits en el caso de una dirección IPv4. El identificador del servicio se codifica sobre 16 bits, el protocolo de transporte sobre 8 bits, la dirección IPv4 sobre 32 bits y el puerto sobre 16 bits.
La indicación del protocolo de transporte utiliza típicamente un valor definido por la IANA (Internet Assigned Numbers Authority).
En el caso de la dirección IPv6, ésta se codifica sobre 128 bits.
Se pueden asimismo añadir otros campos, sin salirse del marco de la presente invención.
Por ejemplo, todos o parte de los parámetros que definen un identificador universal de recursos URI (de “Universal Resource Identifier”) de acuerdo con el RFC 1630 del IETF, se pueden añadir a la estructura de la clave, y en la etiqueta. De ese modo, la invención presenta la ventaja suplementaria de permitir integrar la totalidad (o un subconjunto) de los parámetros de un URI de acuerdo con el RFC 1630; lo que no hubiera sido posible en un enfoque de igual a igual “clásico”, tal como los mencionados anteriormente, puesto que los índices utilizados en una red de igual a igual son unos números binarios y un URI es una cadena ASCII. Mediante la utilización del árbol binario PHT, la invención permite utilizar el conjunto (si es necesario) de los parámetros ASCII de un URI.
Las claves corresponden a las hojas del árbol binario PHT.
Más precisamente, como se ha descrito anteriormente, cada clave se memoriza en la hoja cuya etiqueta es un prefijo de la clave.
Las etiquetas (de tamaño más reducido, en general, que las claves) están distribuidas, tal como se ha explicado más arriba, en los nodos de la tabla de dispersión distribuida.
Se ha visto igualmente con anterioridad que la tabla de dispersión distribuida DHT se adapta para recibir unas solicitudes de localización. Estas solicitudes contienen al menos un identificador del servicio.
Se dispone además de medios de búsqueda para buscar una o varias informaciones de localización que suministran el servicio determinado por este identificador de servicio.
Para realizar esto, los medios de búsqueda se adaptan para buscar en el seno del árbol binario PHT las claves contenidas en la o las hojas cuya etiqueta corresponde al identificador de servicio.
Son posibles varios procedimientos de búsqueda. Ciertos de ellos explican en el artículo de Sriram Ramabhadan, Sylvia Ratnasamy, Joseph M. Hellerstein y Scott Shenker anteriormente citado.
Por ejemplo, si la solicitud contiene el identificador del servicio “STUN”, los medios de búsqueda pueden buscar un nodo que suministre este servicio STUN, o bien varios nodos que lo suministren, o bien el conjunto de los nodos que lo suministran. Dicho de otra manera, si varios nodos “STUN1”, “STUN2”, “STUN3”… suministran el mismo servicio, no es necesario que el emisor de la solicitud precise de qué nodo desea la dirección. El mecanismo es transparente, y no tiene incluso necesidad de conocer el número de nodos que suministran el servicio pedido.
Particularmente, gracias a la utilización de los punteros entre hojas vecinas, es posible efectuar fácilmente unas búsquedas de intervalos. También, la solicitud de localización puede contener un identificador de servicio como “STUN” sin precisar si se trata de “STUN1”, “STUN2”, etc. Los medios de búsqueda son capaces entonces de encontrar todas o parte de las hojas correspondientes.
El número de respuestas que la tabla de dispersión distribuida debe buscar se puede especificar en la solicitud de localización, por ejemplo si el emisor no desea más que N nodos que suministren el servicio o bien el conjunto de los nodos que suministran el servicio.
Las claves memorizadas en el seno de las hojas encontradas por la búsqueda contienen unas informaciones de localización, que corresponden a los nodos de la tabla de dispersión distribuida que suministran el servicio pedido. Como se ha visto anteriormente, se puede tratar de campos binarios de peso reducido de la clave.
Estas informaciones de localización se devuelven al emisor de la solicitud de localización. Puede utilizarlas entonces para contactar con el o los nodos de la tabla de dispersión distribuida DHT.
La figura 4 muestra un ejemplo de aplicación de la invención por la localización del servicio STUN en el seno de una red de comunicación.
Se conectan cuatro equipos N1, N2, N3, N4 en el seno de la tabla de dispersión distribuida DHT. Una sub-red SN “aísla” el nodo N2 de los otros nodos N1, N2, y N4. Un dispositivo de traducción de direcciones NAT (de “Network Address Translator” en inglés) interconecta esta sub-red SN al resto de la red de comunicación.
Ciertos de estos nodos suministran el servicio STUN, y se representan por unos rayados en la figura. Se trata de los modos N1, N2, y N4.
Para poder producir los resultados y la función de descuento, un servicio STUN se debe situar en el espacio público de la red de comunicación. No debe estar en una sub-red aislada del espacio público por un dispositivo NAT.Únicamente el hecho de que el equipo peticionario del servicio se sepa él mismo en una sub-red privada no es suficiente para concluir que el servicio STUN situado del otro lado de un dispositivo NAT está automáticamente en el espacio público, porque las sub-redes pueden estar imbricadas unas en las otras.
Para resolver este problema, un nodo del que se asegura que pertenece al espacio público se define inicialmente como suministrador del servicio STUN. Juega el papel de reinicio (o “bootstrap” en inglés).
En la figura 1, se trata del nodo N1.
Esta designación inicial se puede efectuar manualmente o bien por un mecanismo automático exterior a la invención.
Cada nodo de la tabla de dispersión distribuida DHT que comprende la función STUN puede entonces ensayarse a sí mismo, a través del mecanismo STUN, con el fin de saber si está en el espacio público o detrás de un dispositivo NAT.
Para realizar esto, de manera conocida por sí misma, el nodo N4, por ejemplo, transmite una solicitud STUN al nodo N1. Éste le devuelve la dirección IP en la que él le ve. Como no se encuentra ningún dispositivo NAT entre los dos nodos, la dirección percibida por el lodo N1 es la dirección “real” del nodo N4. Este último puede por lo tanto determinar que está en el espacio público y añadirse a la tabla de dispersión distribuida DHT como suministrador del servicio STUN.
El nodo N2 puede proceder igualmente con uno de los nodos que suministran el servicio STUN, es decir o bien el nodo N1, o bien el nodo N4.
Pero esta vez, el nodo interrogado le renvía una dirección diferente de la conocida por el nodo N2. Puede concluir entonces que está situado en una sub-red SN, separada del dominio público por un dispositivo NAT.
No se añade entonces a la lista de los nodos que suministran el servicio STUN.
La adición en la lista de los nodos se hace de acuerdo a como se ha descrito anteriormente. Se construye inicialmente una clave a partir del identificador del servicio STUN y de una información de localización, por ejemplo su dirección IP y el puerto. La clave se memoriza entonces en el seno de un árbol binario del tipo PHT, cuyas etiquetas se distribuyen en el seno de la tabla de dispersión distribuida DHT.
Un equipo E situado en una sub-red SN2, y detrás de un equipo de traducción de direcciones NAT2 desea acceder a un servicio STUN. Para hacer esto, transmite una solicitud de localización a la tabla de dispersión DHT. Como se ha explicado anteriormente, éste busca entonces en el seno de las informaciones memorizadas y le devuelve o bien las dos direcciones de N1 y N4, o bien simplemente una de entre ellas.
El equipo E puede entonces dirigirse a un nodo particular de esta tabla de dispersión distribuida para obtener el servicio STUN.

Claims (16)

  1. REIVINDICACIONES
    1. Red de comunicación (NET) que comprende una tabla de dispersión distribuida (DHT) cuyos nodos (X1, X2, X3… XN) suministran unos servicios accesibles a unos clientes de comunicación adaptados para comunicar de acuerdo con el protocolo SIP (T) conectados a dicha red de comunicación, disponiendo dicha tabla de dispersión distribuida:
    -
    de medios para recibir una solicitud de localización de servicio (R) de parte de un cliente de comunicación (T), conteniendo dicha solicitud al menos un identificador (ID) de un servicio, y -unos medios de búsqueda para buscar en el seno de dicha tabla de dispersión al menos una información de localización, correspondiendo cada una a un nodo que suministra el servicio determinado por dicho identificador de servicio, y transmitirla o transmitirlas a dicho cliente de comunicación,
    caracterizado porque dicha tabla de dispersión se organiza de manera que las informaciones de localización estén asociadas a unas claves que contienen al menos un identificador del servicio y corresponden a unas hojas de un árbol binario del tipo PHT, cuyas etiquetas de los nodos se distribuyen en el seno de dicha tabla de dispersión distribuida, y porque los medios de búsqueda se adaptan para buscar las informaciones de localización en todas o parte de las hojas cuya etiqueta tiene el prefijo del identificador del servicio contenido en dicha solicitud de servicio, y transmitirla a dicho cliente de comunicación.
  2. 2.
    Red de comunicación de acuerdo con la reivindicación precedente, en la que dicho cliente de comunicación es un terminal de comunicación.
  3. 3.
    Red de comunicación de acuerdo con una de las reivindicaciones precedentes en la que dichas etiquetas y dichas claves son unas palabras binarias, estando formadas dichas etiquetas de manera que el peso de cada bit en el orden decreciente corresponde a una profundidad creciente en el seno de dicho árbol binario.
  4. 4.
    Red de comunicación de acuerdo con una de las reivindicaciones precedentes, en la que dichos servicios son unos servicios STUN y/o TURN y/o de acuerdo con el RFC 3489bis del IETF.
  5. 5.
    Red de comunicación de acuerdo con una de las reivindicaciones precedentes en la que dicho nodo es uno de los nodos (X1, X2, X3… XN) de dicha tabla de dispersión distribuida (DHT).
  6. 6.
    Red de comunicación de acuerdo con una de las reivindicaciones precedentes, en la que dichas etiquetas están compuestas al menos de dicho identificador de servicio, de una indicación del protocolo de transporte, de un servicio, de una indicación del protocolo de transporte, de una información de localización, tal como una dirección IP y un puerto.
  7. 7.
    Red de comunicación de acuerdo con la reivindicación precedente en la que dichas etiquetas comprenden además todos o parte de los parámetros que definen un identificador universal de recursos URI de acuerdo con el RFC 1630 del IETF.
  8. 8.
    Procedimiento que permite a un cliente de comunicación (E) adaptado para comunicar de acuerdo con el protocolo SIP acceder al servicio suministrado por una tabla de dispersión distribuida (DHT) que comprende una etapa de transmisión de una solicitud de localización del servicio, conteniendo dicha solicitud un identificador de dicho servicio; y una etapa de búsqueda por dicha tabla de dispersión distribuida de al menos una información de localización que corresponda cada una a un nodo que suministre dicho servicio caracterizado porque la etapa de búsqueda consiste en buscar una clave en el seno de un árbol binario del tipo PHT cuyas etiquetas de los nodos se distribuyen en el seno de dicha tabla de dispersión distribuida, conteniendo dicha clave al menos dicho identificador, consistiendo la búsqueda en buscar las informaciones de localización en todas o parte de las hojas cuya etiqueta tiene el prefijo de dicho identificador del servicio.
  9. 9.
    Procedimiento de acuerdo con la reivindicación precedente, en el que dicho cliente de comunicación es un terminal de comunicación.
  10. 10.
    Procedimiento de acuerdo con una de las reivindicaciones 8 ó 9, en el que dichas etiquetas y dichas claves son unas palabras binarias, estando formadas dichas etiquetas de manera que el peso de cada bit en el orden decreciente corresponde a una profundidad creciente en el seno dicho árbol binario.
  11. 11.
    Procedimiento de acuerdo con una de las reivindicaciones 8 a 10, en el que dichos servicios son unos servicios STUN y/o TURN y/o de acuerdo con el RFC 3489bis del IETF.
  12. 12.
    Procedimiento de acuerdo con una de las reivindicaciones 8 a 11, en el que dicho nodo es uno de los nodos (X1, X2, X3… XN) de dicha tabla de dispersión distribuida (DHT).
  13. 13.
    Procedimiento de acuerdo con una de las reivindicaciones 8 a 12 en el que dichas etiquetas están compuestas al menos de dicho identificador de servicio, de una indicación del protocolo de transporte, de un servicio, de una información de localización, tal como una dirección IP y un puerto.
  14. 14.
    Procedimiento de acuerdo con la reivindicación precedente en la que dichas etiquetas comprenden además todos o parte de los parámetros que definen un identificador universal de recursos URI de acuerdo con el RFC 1630 del IETF.
  15. 15.
    Programa de ordenador adaptado para realizar el procedimiento de acuerdo con una de las reivindicaciones 8 a 14, cuando se implementa sobre un equipo de procesamiento de la información.
  16. 16.
    Soporte informático que contiene un programa de ordenador de acuerdo con la reivindicación 15.
ES08103703T 2007-06-08 2008-04-24 Utilización de un árbol de dispersión de prefijos (PHT) para la localización de servicios en el seno de una red de comunicación de igual a igual Active ES2392365T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0755592A FR2917259B1 (fr) 2007-06-08 2007-06-08 Utilisation d'un arbre de hachage a prefixes (pht) pour la localisation des services au sein d'un reseau de communication poste-a-poste
FR0755592 2007-06-08

Publications (1)

Publication Number Publication Date
ES2392365T3 true ES2392365T3 (es) 2012-12-10

Family

ID=38983977

Family Applications (1)

Application Number Title Priority Date Filing Date
ES08103703T Active ES2392365T3 (es) 2007-06-08 2008-04-24 Utilización de un árbol de dispersión de prefijos (PHT) para la localización de servicios en el seno de una red de comunicación de igual a igual

Country Status (8)

Country Link
US (1) US20080307069A1 (es)
EP (1) EP2000929B1 (es)
JP (1) JP5073817B2 (es)
KR (1) KR20100021591A (es)
CN (1) CN101689195A (es)
ES (1) ES2392365T3 (es)
FR (1) FR2917259B1 (es)
WO (1) WO2008155161A1 (es)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101645922B (zh) * 2009-04-17 2012-09-05 中国科学院声学研究所 基于地理位置信息编码的cdn网络系统及分发处理方法
US20130117308A1 (en) * 2010-07-09 2013-05-09 Nokia Siemens Networks Oy Apparatus, Method and System for Node Discovering
EP2591586A1 (en) * 2010-07-09 2013-05-15 Nokia Siemens Networks Oy Apparatus, method and system for node discovering
CN101976322B (zh) * 2010-11-11 2012-05-23 清华大学 基于一种完整性校验的安全元数据管理方法
KR20140003960A (ko) * 2012-07-02 2014-01-10 삼성전자주식회사 P2p 시스템에서의 파일 공유 방법 및 장치
CN103136372B (zh) * 2013-03-21 2016-03-02 陕西通信信息技术有限公司 网络可信性行为管理中url快速定位、分类和过滤方法
CN103605708B (zh) * 2013-11-11 2017-12-08 中国科学院计算技术研究所 Kad网络中由关键词哈希值推测关键词的方法及系统
JP6348019B2 (ja) * 2014-08-28 2018-06-27 ルネサスエレクトロニクス株式会社 通信システム、通信装置、自動車および通信方法
US20160103858A1 (en) * 2014-10-13 2016-04-14 Freescale Semiconductor, Inc. Data management system comprising a trie data structure, integrated circuits and methods therefor
US10158738B2 (en) * 2014-12-22 2018-12-18 Here Global B.V. Optimal coding method for efficient matching of hierarchical categories in publish-subscribe systems
RU2632133C2 (ru) 2015-09-29 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ (варианты) и система (варианты) создания модели прогнозирования и определения точности модели прогнозирования
CN105978868A (zh) * 2016-05-05 2016-09-28 杭州迪普科技有限公司 Ip地址权限的查找方法及装置
CN106815530B (zh) * 2016-12-26 2020-04-24 北京爱接力科技发展有限公司 数据存证方法、数据校验方法及装置
RU2693324C2 (ru) 2017-11-24 2019-07-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и сервер преобразования значения категориального фактора в его числовое представление
RU2692048C2 (ru) 2017-11-24 2019-06-19 Общество С Ограниченной Ответственностью "Яндекс" Способ и сервер для преобразования значения категориального фактора в его числовое представление и для создания разделяющего значения категориального фактора
EP3879402B1 (en) * 2020-03-13 2024-01-17 Deutsche Telekom AG Methods and systems for service discovery and tunnelling in a distributed architecture
EP3879782B1 (en) * 2020-03-13 2024-10-23 staex GmbH Methods and systems for message relay in a distributed architecture
EP3879781B1 (en) * 2020-03-13 2022-07-27 Deutsche Telekom AG Methods and systems for network service management in a distributed architecture

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8161094B2 (en) * 2003-06-04 2012-04-17 Sony Computer Entertainment Inc. System and method for notification within decentralized network
US8028019B2 (en) * 2007-02-28 2011-09-27 Solid State Networks, Inc. Methods and apparatus for data transfer in networks using distributed file location indices

Also Published As

Publication number Publication date
FR2917259A1 (fr) 2008-12-12
EP2000929B1 (fr) 2012-08-01
FR2917259B1 (fr) 2009-08-21
WO2008155161A1 (fr) 2008-12-24
JP5073817B2 (ja) 2012-11-14
JP2010530096A (ja) 2010-09-02
US20080307069A1 (en) 2008-12-11
CN101689195A (zh) 2010-03-31
EP2000929A1 (fr) 2008-12-10
KR20100021591A (ko) 2010-02-25

Similar Documents

Publication Publication Date Title
ES2392365T3 (es) Utilización de un árbol de dispersión de prefijos (PHT) para la localización de servicios en el seno de una red de comunicación de igual a igual
Walfish et al. Middleboxes No Longer Considered Harmful.
CN1938999B (zh) 寻址方法及建立遗留与主机标识协议节点之间的主机标识协议连接的方法和设备
KR101399914B1 (ko) 피어-투-피어 통신 시스템 및 방법
US20070094411A1 (en) Network communications system and method
TW200924462A (en) System and method for connection of hosts behind NATs
Lee et al. z2z: Discovering zeroconf services beyond local link
EP2497250A1 (en) Sharing of digital contents in p2p networks exploiting localization data
EP2497251A1 (en) Improved caching of digital contents in p2p networks
Jung et al. IDNet: beyond all‐IP network
US7356031B1 (en) Inter-v4 realm routing
Hauswirth et al. Handling identity in peer-to-peer systems
Sevilla et al. FERN: A unifying framework for name resolution across heterogeneous architectures
Ford et al. User-relative names for globally connected personal devices
Chen et al. Java mobile agents on project JXTA peer-to-peer platform
Boldt et al. Decentralized Bootstrapping for WebRTC-based P2P Networks
Saroliya et al. A pragmatic analysis of peer to peer networks and protocols for security and confidentiality
Jain A survey of naming systems: classification and analysis of the current schemes using a new naming reference model
Lee et al. mdht: Multicast-augmented dht architecture for high availability and immunity to churn
CZIRKOS et al. P2P based intrusion detection
Considine et al. A pragmatic approach to DHT adoption
Deleuze Content networks
Keshav Naming, addressing, and forwarding reconsidered
Chang et al. P2P SIP: Network Architecture and Resource Location Strategy
Avramovic Routing Sets and Hint-Based Routing