PROCEDIMIENTO PARA EL ESTABLECIMIENTO DE UNA CONEXIÓN P2P.
Procedimiento para establecer una conexión Usuario a Usuario (Peer-to-Peer),
que comprende: enviar, por un primer terminal, una solicitud de conexión a un segundo terminal a través de un servidor central (401), y recibir del segundo terminal una primera respuesta que contiene un tipo de puerto del segundo terminal (402); caracterizado por el hecho de que el procedimiento comprende además: si se determina que el tipo de puerto del segundo terminal es un puerto de protocolo de datagrama de usuario (UDP) (403), informar, por el primer terminal, del segundo terminal de una dirección de protocolo Internet/ puerto UDP del primer terminal, e iniciar una conexión P2P por el segundo terminal a la dirección IP/ puerto UDP del primer terminal y finalizar el proceso (404, 405, 406, 407); si se determina que el tipo de puerto del segundo terminal es un puerto de Protocolo de Control de Transmisión y que el primer terminal está en una red pública o utiliza un proxy sock5 (408), enviar, por el primer terminal, la solicitud de conexión que contiene la dirección IP pública/ el puerto TCP del primer terminal al segundo terminal, y conectar, por el segundo terminal, la dirección IP pública/ el puerto TCP del primer terminal en la solicitud de conexión a través del TCP (409), e iniciar la conexión P2P por el segundo terminal a la dirección IP/ el puerto TCP del primer terminal
Tipo: Patente Internacional (Tratado de Cooperación de Patentes). Resumen de patente/invención. Número de Solicitud: PCT/CN2005/001564.
H04L29/06ELECTRICIDAD. › H04TECNICA DE LAS COMUNICACIONES ELECTRICAS. › H04L TRANSMISION DE INFORMACION DIGITAL, p. ej. COMUNICACION TELEGRAFICA (disposiciones comunes a las comunicaciones telegráficas y telefónicas H04M). › H04L 29/00 Disposiciones, aparatos, circuitos o sistemas no cubiertos por uno solo de los grupos H04L 1/00 - H04L 27/00. › caracterizadas por un protocolo.
Clasificación antigua:
H04L29/06H04L 29/00 […] › caracterizadas por un protocolo.
Países PCT: Austria, Bélgica, Suiza, Alemania, Dinamarca, España, Francia, Reino Unido, Grecia, Italia, Liechtensein, Luxemburgo, Países Bajos, Suecia, Mónaco, Portugal, Irlanda, Eslovenia, Finlandia, Rumania, Chipre, Lituania, Letonia.
[0001] La presente invención se refiere a la tecnología de transmisión de información Peer-to-Peer (P2P), y especialmente, a un procedimiento para establecer una conexión P2P. Antecedentes de la invención ES 2 369 759 T3 [0002] La tecnología de Conexión P2P se aplica ampliamente en Internet para la transmisión y descarga de datos. En una red mostrada en la figura 1, en casos normales, cuando un cliente ha accedido a un servidor y obtenido la dirección de un cliente con el cual conectarse, el primer cliente puede iniciar una conexión P2P con el cliente con el cual conectarse. Un proceso de establecimiento de conexión P2P se explica a continuación haciendo referencia al proceso de descarga de datos ejecutado por BitTorrent (BT), tal como se muestra en la figura 2. [0003] BT es una aplicación utilizada para descargar archivos mediante conexiones P2P, que permite a un usuario subir datos a otros usuarios mientras descarga datos de modo que los usuarios puedan transmitir datos descargados de uno a otro. El proceso de descarga de datos realizado mediante BT para un usuario, tomando el usuario A a modo de ejemplo, comprende las etapas siguientes: Etapa 201: adquirir, mediante la aplicación BT de cliente del usuario A, desde internet un archivo de información con ".torrent" como extensión de nombre de archivo, proporcionando el archivo de información las direcciones de los rastreador(es) que ofrece(n) un Servicio de descarga BT; acceder al o a los rastreador(es) mediante la aplicación BT de cliente del usuario A, subir la dirección y descargar la solicitud del usuario A en el o los rastreador(es); Etapa 202-203: adquirir una lista de usuarios correspondiente mediante el o los rastreador(es) según la descarga solicitada por el usuario A, buscar la lista de usuarios a partir de unas determinadas directrices, escoger varias partes de la información de usuario y enviar la información de usuario al usuario A; incluyendo la información de usuario los usuarios que ofrecen descarga de datos y los usuarios que solicitan subida de datos; Etapa 204-205: escoger el o los usuario(s) que ofrece (n) descarga de datos mediante el usuario A según determinadas directrices tras recibir la información de usuario, iniciar una solicitud de conexión Transmission Control Protocol (TCP) directamente al o a los usuario(s), establecer una conexión P2P con el o los usuario(s) e iniciar la descarga de datos; escoger el o los usuario(s) que solicitan subida de datos, iniciar una solicitud de conexión TCP directamente con el o los usuario(s), establecer una conexión P2P con el o los usuario(s) e iniciar la subida de datos; Etapa 206: informar acerca de las velocidades de subida y descarga y el resultado de descarga por el usuario A al o a los rastreador(es) regularmente y obtener una lista de usuarios actualizada en tiempo real. [0004] La aplicación BT tiene las siguientes desventajas: 1) BT solo puede establecer TCP basada en conexiones P2P para la transmisión de datos entre usuarios mientras que TCP no puede satisfacer los requisitos de transmisión en tiempo real en determinadas aplicaciones, por ejemplo, transmisión de datos multimedia en tiempo real basada en un protocolo de datagrama de usuario (User Datagram Protocol (UDP)); 2) más importantemente, en el proceso de establecimiento de conexión P2P, solamente el usuario que inicia el proceso de establecimiento de conexión P2P puede iniciar una conexión, lo cual da como resultado una velocidad de conexión muy baja. [0005] En un proceso de establecimiento de conexión P2P común en el estado de la técnica, también es verdad que solamente el usuario que inicia el proceso de establecimiento de conexión P2P, no el usuario al cual conectarse, puede iniciar una conexión. Por ejemplo, cuando un usuario se conecta a Internet mediante una aplicación de cliente y el usuario inicia una conexión P2P con un rastreador (tracker) en Internet para descargar datos, solamente el usuario tendrá permiso para iniciar el proceso de establecer la conexión P2P con el servidor, el servidor, como terminal con el cual conectarse, no tendrá permiso para iniciar una conexión P2P con el usuario. Por lo tanto, si la conexión P2P iniciada por el usuario falla en alcanzar el servidor, o el usuario falla al iniciar la conexión P2P, el establecimiento de conexión P2P fallará y la velocidad de conexión resultará baja. [0006] US 2001/015977 A1 describe procedimientos, dispositivos y un sistema relacionados con empujar el paquete de datos desde un originador hasta una estación de comunicación inalámbrica; cuando una dirección de red es recibida por la estación inalámbrica desde un servidor que quiere enviar un paquete de datos a la estación inalámbrica, la estación inalámbrica adquiere la identidad correspondiente; a partir de la identidad la estación inalámbrica determina si la recepción del paquete de datos desde el originador es deseada. 2 Resumen de la invención ES 2 369 759 T3 [0007] Las realizaciones de la presente invención proporcionan procedimientos para establecer una conexión P2P, y tanto el terminal que inicia la conexión y el terminal con el cual conectarse pueden iniciar una conexión P2P con el otro. [0008] Un procedimiento para establecer una conexión P2P incluye los procesos siguientes: un primer terminal envía una solicitud de conexión a un segundo terminal a través de un servidor central, y recibe del segundo terminal una primera respuesta que contiene un tipo de puerto del segundo terminal; si determina que el tipo de puerto del segundo terminal es un puerto UDP, el primer terminal informa al segundo terminal de una dirección IP/ Puerto UDP del primer terminal, e inicia una conexión P2P por el segundo terminal a la dirección IP/ puerto UDP del primer terminal y finaliza el proceso; si determina que el tipo de puerto del segundo terminal es un puerto TCP y que el primer terminal está en una red pública o utiliza un proxy sock5, el primer terminal envía la solicitud de conexión que contiene la dirección IP pública/ el puerto TCP del primer terminal al segundo terminal, y el segundo terminal se conecta con la dirección IP pública/ el puerto TCP del primer terminal en la solicitud de conexión a través del TCP. [0009] Opcionalmente, el proceso de informar al segundo terminal de la dirección IP/ Puerto UDP del primer terminal e iniciar la conexión P2P por el segundo terminal incluye: el primer terminal envía un mensaje que contiene la dirección IP local/ Puerto UDP del primer terminal al segundo terminal a través del servidor central; el segundo terminal inicia la conexión P2P reenviando una segunda respuesta que contiene la dirección IP local/ Puerto UDP del segundo terminal a la dirección IP local/ Puerto UDP del primer terminal tras recibir el mensaje; y el primer terminal responde a la conexión P2P tras recibir la segunda respuesta, y establece la conexión P2P a la dirección IP local/ Puerto UDP del segundo terminal en la segunda respuesta. [0010] Opcionalmente, cuando el primer terminal falla en la recepción de la segunda respuesta, el procedimiento también incluye los procesos siguientes: el primer terminal envía el mensaje que contiene la dirección IP pública/ Puerto UDP del primer terminal, al segundo terminal; el segundo terminal inicia la conexión P2P reenviando una tercera respuesta que contiene la dirección IP pública/ Puerto UDP del segundo terminal a la dirección IP pública/ Puerto UDP del primer terminal tras recibir el mensaje; y el primer terminal responde a la conexión P2P tras recibir la tercera respuesta, y establece la conexión P2P a la dirección IP pública/ Puerto UDP del segundo terminal en la tercera respuesta. [0011] Opcionalmente, cuando el primer terminal falla en la recepción de la tercera respuesta, el procedimiento también incluye los procesos siguientes: el primer terminal envía el mensaje que contiene la dirección IP pública/ Puerto UDP del primer terminal al segundo terminal a través del servidor central; el segundo terminal inicia una conexión P2P reenviando una cuarta respuesta que contiene la dirección IP pública/ Puerto UDP del segundo terminal a la dirección IP pública/ Puerto UDP del primer terminal tras recibir el mensaje; y el primer terminal responde a la conexión P2P tras recibir la cuarta respuesta, y establece la conexión P2P a la dirección IP pública/ Puerto UDP del segundo terminal en la cuarta respuesta. [0012] Opcionalmente, cuando el primer terminal falla en la recepción de la cuarta respuesta, el procedimiento también incluye los procesos siguientes: el primer terminal envía el mensaje que contiene la dirección IP pública/ Puerto UDP del primer terminal al segundo terminal a través del servidor central; 3 el segundo terminal envía una quinta respuesta que contiene la dirección IP pública/ Puerto UDP del segundo terminal al primer terminal a través... [Seguir leyendo]
Reivindicaciones:
1. Procedimiento para establecer una conexión Usuario a Usuario (Peer-to-Peer), que comprende: enviar, por un primer terminal, una solicitud de conexión a un segundo terminal a través de un servidor central (401), y recibir del segundo terminal una primera respuesta que contiene un tipo de puerto del segundo terminal (402); caracterizado por el hecho de que el procedimiento comprende además: si se determina que el tipo de puerto del segundo terminal es un puerto de protocolo de datagrama de usuario (UDP) (403), informar, por el primer terminal, del segundo terminal de una dirección de protocolo Internet/ puerto UDP del primer terminal, e iniciar una conexión P2P por el segundo terminal a la dirección IP/ puerto UDP del primer terminal y finalizar el proceso (404, 405, 406, 407); si se determina que el tipo de puerto del segundo terminal es un puerto de Protocolo de Control de Transmisión y que el primer terminal está en una red pública o utiliza un proxy sock5 (408), enviar, por el primer terminal, la solicitud de conexión que contiene la dirección IP pública/ el puerto TCP del primer terminal al segundo terminal, y conectar, por el segundo terminal, la dirección IP pública/ el puerto TCP del primer terminal en la solicitud de conexión a través del TCP (409), e iniciar la conexión P2P por el segundo terminal a la dirección IP/ el puerto TCP del primer terminal. 2. Procedimiento según la reivindicación 1, en el que el proceso de informar al segundo terminal de la dirección IP/ Puerto UDP del primer terminal e iniciar la conexión P2P por el segundo terminal comprende: enviar, por el primer terminal, un mensaje que contiene la dirección IP local/ Puerto UDP del primer terminal al segundo terminal a través del servidor central (404); iniciar, por el segundo terminal, la conexión P2P reenviando una segunda respuesta que contiene la dirección IP local/ Puerto UDP del segundo terminal a la dirección IP local/ Puerto UDP del primer terminal tras recibir el mensaje (404); y responder, por el primer terminal, a la conexión P2P tras recibir la segunda respuesta, y establecer la conexión P2P a la dirección IP local/ Puerto UDP del segundo terminal en la segunda respuesta (404). 3. Procedimiento según la reivindicación 2, cuando el primer terminal falla en la recepción de la segunda respuesta, que comprende además: enviar, por el primer terminal, el mensaje que contiene la dirección IP pública/ Puerto UDP del primer terminal, al segundo terminal (405); iniciar, por el segundo terminal, la conexión P2P reenviando una tercera respuesta que contiene la dirección IP pública/ Puerto UDP del segundo terminal a la dirección IP pública/ Puerto UDP del primer terminal tras recibir el mensaje (405); y responder, por el primer terminal, a la conexión P2P tras recibir la tercera respuesta, y establecer la conexión P2P a la dirección IP pública/ Puerto UDP del segundo terminal en la tercera respuesta (405). 4. Procedimiento según la reivindicación 3, cuando el primer terminal falla en la recepción de la tercera respuesta, que comprende además: enviar, por el primer terminal, el mensaje que contiene la dirección IP pública/ Puerto UDP del primer terminal al segundo terminal a través del servidor central (406); iniciar, por el segundo terminal, una conexión P2P reenviando una cuarta respuesta que contiene la dirección IP pública/ Puerto UDP del segundo terminal a la dirección IP pública/ Puerto UDP del primer terminal tras recibir el mensaje (406); y responder, por el primer terminal, a la conexión P2P tras recibir la cuarta respuesta, y establecer la conexión P2P a la dirección IP pública/ Puerto UDP del segundo terminal en la cuarta respuesta (406). 5. Procedimiento según la reivindicación 4, cuando el primer terminal falla en la recepción de la cuarta respuesta, que comprende además: enviar, por el primer terminal, el mensaje que contiene la dirección IP pública/ Puerto UDP del primer terminal al segundo terminal a través del servidor central (407); 9 ES 2 369 759 T3 enviar, por el segundo terminal, una quinta respuesta que contiene la dirección IP pública/ Puerto UDP del segundo terminal al primer terminal a través del servidor central; tras recibir la quinta respuesta, enviar, por el primer terminal, una solicitud de establecimiento de conexión a la dirección IP pública/ Puerto UDP del segundo terminal en la quinta respuesta (407); si el segundo terminal recibe la solicitud de establecimiento de conexión, iniciar , por el segundo terminal, la conexión P2P reenviando una sexta respuesta a la dirección IP pública/ Puerto UDP del primer terminal (407); y responder, por el primer terminal, a la conexión P2P tras recibir la sexta respuesta, y establecer la conexión P2P a la dirección IP pública/ Puerto UDP del segundo terminal (407). 6. Procedimiento según la reivindicación 1, en el que si el primer terminal determina que el primer terminal ni está en una red pública ni utiliza un proxy sock5, el proceso de informar al segundo terminal de la dirección IP/ el puerto TCP del primer terminal e iniciar una conexión P2P a la dirección IP/ el puerto TCP del primer terminal por el segundo terminal comprende: enviar, por el primer terminal, al segundo terminal la solicitud de conexión cuya dirección IP pública/ el puerto TCP del primer terminal está ajustada a 0 (409); tras recibir la solicitud de conexión, determinar, por el segundo terminal, que el segundo terminal está en la red pública o utiliza el proxy sock5, y enviar la solicitud de conexión que contiene la dirección IP pública/ el puerto TCP del segundo terminal al primer terminal (410); y tras recibir la solicitud de conexión, conectar, por el primer terminal, la dirección IP pública/ el puerto TCP del segundo terminal en la solicitud a través del TCP (411). 7. Procedimiento según la reivindicación 1, cuando el proceso de iniciar la conexión P2P por el segundo terminal a la dirección IP/ el puerto TCP del primer terminal falla, que comprende además: acceder, por el primer terminal, al servidor central, y solicitar un canal de transferencia (412); asignar, mediante el servidor central, el canal de transferencia, y enviar un canal ID y una clave correspondiente al canal de transferencia al primer terminal y al segundo terminal (412); y establecer conexiones P2P con el servidor central por ambos el primer terminal y el segundo terminal basándose en el canal ID y en la clave correspondiente del canal de transferencia suministrado por el servidor central (412). Usuario ES 2 369 759 T3 Usuario Servidor Central Usuario 11 Usuario Usuario Usuario Usuario B 205. Subir datos Usuario A (Terminal que inicia la conexión) 201. Subir información 204. Establecer una conexión P2P 301. Solicitud de conexión, pedir a la parte opuesta que inicie una conexión P2P (con dirección designada) ES 2 369 759 T3 Servidor Central 206. Subir información Usuario A Servidor central 202. Escoger usuario(s) de la lista de usuarios 203. Emitir los usuarios escogidos 204. Establecer una conexión P2P 302. Solicitud de conexión, pedir a la parte opuesta que inicie una conexión P2P (con dirección designada) 303. Iniciar la conexión P2P con la dirección designada 12 Usuario Usuario C 205. Bajar datos Usuario B (Terminal al que conectarse) Si Si Si Si Si Verificar si A y B están en la misma red privada y se puede establecer una conexión en este caso Verificar si A están en una red privada y B en una pública y se puede establecer una conexión en este caso Verificar si A están en una red pública y B en una privada y se puede establecer una conexión en este caso Verificar si A y B están en diferentes redes privadas y se puede establecer una conexión en este caso Establecer una conexión UDP FIN Proceder a la etapa 412 ES 2 369 759 T3 El usuario A envía una solicitud de conexión UDP al usuario B Usuario B envía una respuesta al usuario A informando de que adopta UDP o TCP A detecta si B adopta UDP Si A escucha a un puerto TCP y envía una sol. de conexión a B B establece una conexión TCP con A Conexión TCP establecida FIN Si Usuario A se conecta con el servidor central Solicitar canal de transferencia Servidor central devuelve la ID del canal asignado y la clave corr. a AB A y B establecen conexiones 13 Verificar si A es un serv. Púb. O si utiliza un proxy B verifica si el número de puerto TCP recibido de A es 0 Proceder a la etapa 412 Proceder a la etapa 412 Proceder a la etapa 412 Puerto TCP de A en sol. De conexión a, y sol de conexión enviadas a B Si Verificar si B es un serv. Púb. O si utiliza un proxy Si B escucha a un puerto TCP y envía una sol. de conexión a A A establece una conexión TCP con B Conexión TCP establecida FIN Si Intento de estableci miento de conexión UDP ES 2 369 759 T3 Usuario A Servidor central Usuario B 14
Patentes similares o relacionadas:
PROCEDIMIENTO PARA OPERAR UNA RED DE COMUNICACIONES DESCENTRALIZADA, del 27 de Junio de 2011, de SIEMENS AKTIENGESELLSCHAFT: Procedimiento para operar una red de comunicaciones descentralizada con un conjunto de nodos de red , estando asignado a cada nodo de red un valor […]
MÉTODO Y SISTEMA PARA LA DISEMINACIÓN DEL CONTENIDO IGUAL A IGUAL, del 7 de Junio de 2011, de DEUTSCHE TELEKOM AG: Un método para la distribución de datos de contenidos a una pluralidad de ordenadores anfitriones (102a a 102e) cada uno de los cuales se adapta para funcionar como un ordenador […]
MECANISMO DE TOLERANCIA A FALLOS OPTIMIZADO PARA RED ENTRE PARES, del 12 de Abril de 2011, de ALCATEL LUCENT: Dispositivo de gestión de una red entre pares o punto a punto compuesta por un conjunto de nodos (N1, N2, N3, N4) repartidos entre un conjunto de equipos […]
MOTOR PUNTO A PUNTO PARA COMPARTIR OBJETOS EN DISPOSITIVOS DE COMUNICACION, del 18 de Octubre de 2010, de NOKIA CORPORATION: Método para proporcionar la posibilidad de compartir archivos entre un dispositivo de comunicación y otro dispositivo de comunicación, comprendiendo […]
PROCEDIMIENTO Y SISTEMA PARA UN CONJUNTO DE DISPOSITIVOS DE RED QUE PUEDEN CONECTARSE PARA MEJORAR LA COLABORACION , LA ESCALABILIDAD Y LA FIABILIDAD, del 4 de Junio de 2010, de AMERICAN POWER CONVERSION CORPORATION: Un procedimiento para establecer una relación de revisión entre homólogos entre un primer y un segundo aparato de red, estando conectados el primer y el segundo […]
METODO PARA FORMAR UNA RED PRIVADA VIRTUAL SEGURA QUE FACILITA LA COMUNICACION DE PARES, del 24 de Mayo de 2010, de QUIPA HOLDINGS LIMITED: Un método para formación de una red privada virtual segura (VPN) que costa de dos o más entidades enlazadas que tienen conectividad con Internet, donde cada […]
Procedimiento y dispositivo para el procesamiento de una solicitud de servicio, del 29 de Julio de 2020, de Advanced New Technologies Co., Ltd: Un procedimiento para el procesamiento de una solicitud de servicio, comprendiendo el procedimiento:
recibir (S201), mediante un nodo de consenso, una solicitud […]
Procedimiento y dispositivo para su uso en la gestión de riesgos de información de aplicación, del 22 de Julio de 2020, de Advanced New Technologies Co., Ltd: Un procedimiento para la gestión de riesgos de información de aplicación en un dispositivo de red, comprendiendo el procedimiento:
recibir información […]
Utilizamos cookies para mejorar nuestros servicios y mostrarle publicidad relevante. Si continua navegando, consideramos que acepta su uso. Puede obtener más información aquí. .