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 PDFInfo
- 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
Links
- 239000006185 dispersion Substances 0.000 title claims abstract description 60
- 238000004891 communication Methods 0.000 title claims abstract description 54
- 238000000034 method Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 5
- 230000003247 decreasing effect Effects 0.000 claims description 4
- 230000010365 information processing Effects 0.000 claims description 2
- 108020005224 Arylamine N-acetyltransferase Proteins 0.000 description 8
- 238000013459 approach Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 101000884399 Homo sapiens Arylamine N-acetyltransferase 2 Proteins 0.000 description 1
- 101000713305 Homo sapiens Sodium-coupled neutral amino acid transporter 1 Proteins 0.000 description 1
- 206010020880 Hypertrophy Diseases 0.000 description 1
- 102100026783 N-alpha-acetyltransferase 16, NatA auxiliary subunit Human genes 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1065—Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4541—Directories for service discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2567—NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2575—NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4552—Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-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)
- REIVINDICACIONES1. 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Procedimiento de acuerdo con la reivindicación precedente, en el que dicho cliente de comunicación es un terminal de comunicación.
-
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Soporte informático que contiene un programa de ordenador de acuerdo con la reivindicación 15.
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)
| 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)
| 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 |
-
2007
- 2007-06-08 FR FR0755592A patent/FR2917259B1/fr not_active Expired - Fee Related
-
2008
- 2008-04-24 KR KR1020097025656A patent/KR20100021591A/ko not_active Ceased
- 2008-04-24 WO PCT/EP2008/054976 patent/WO2008155161A1/fr not_active Ceased
- 2008-04-24 EP EP08103703A patent/EP2000929B1/fr not_active Not-in-force
- 2008-04-24 CN CN200880019068A patent/CN101689195A/zh active Pending
- 2008-04-24 JP JP2010510714A patent/JP5073817B2/ja not_active Expired - Fee Related
- 2008-04-24 ES ES08103703T patent/ES2392365T3/es active Active
- 2008-06-05 US US12/133,845 patent/US20080307069A1/en not_active Abandoned
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 |