Aparato y procedimiento para emparejar usuarios para sesiones en línea.

Procedimiento implementado por ordenador para establecer una comunicación punto a punto “P2P”, entre dispositivos móviles que comprende:

recepción

(1601, 1603) de una serie de solicitudes de emparejamiento de una serie de dispositivos móviles (120-122), incluyendo cada una de las solicitudes de emparejamiento los datos de aplicación que indican una solicitud particular para la que se está solicitando un emparejamiento y que incluye, además, los datos de configuración de red para cada uno de la serie de dispositivos móviles (1502, 1503);

determinación (1802) de ajustes de emparejamiento para grupos de la serie de los dispositivos móviles, los ajustes de emparejamiento basados, al menos en parte, en los datos de configuración de red de los dispositivos móviles; y

generación (1807) de emparejamientos para dos o más dispositivos móviles en base tanto a los datos de la 15 aplicación como a los ajustes de emparejamiento determinados para los dispositivos móviles.

Tipo: Patente Internacional (Tratado de Cooperación de Patentes). Resumen de patente/invención. Número de Solicitud: PCT/US2010/050068.

Solicitante: APPLE INC..

Nacionalidad solicitante: Estados Unidos de América.

Dirección: 1 INFINITE LOOP CUPERTINO, CA 95014 ESTADOS UNIDOS DE AMERICA.

Inventor/es: SMITH, PHILIP, WERNER,JEREMY MATTHEW, VYRROS,ANDREW H, GATES,PATRICK.

Fecha de Publicación: .

Clasificación Internacional de Patentes:

  • SECCION H — ELECTRICIDAD > TECNICA DE LAS COMUNICACIONES ELECTRICAS > TRANSMISION DE INFORMACION DIGITAL, p. ej. COMUNICACION... > Disposiciones, aparatos, circuitos o sistemas no... > H04L29/08 (Procedimiento de control de la transmisión, p. ej. procedimiento de control del nivel del enlace)

PDF original: ES-2463099_T3.pdf

 

google+ twitter facebook

Fragmento de la descripción:

Aparato y procedimiento para emparejar usuarios para sesiones en línea ANTECEDENTES

Reivindicación de prioridad

Esta solicitud reivindica la prioridad de la solicitud provisional U.S. número 12/321.842, presentada el 7 de abril de 2010 con el título “aparato y procedimiento para emparejar usuarios para sesiones en línea”.

La invención dada a conocer y reivindicada en esta solicitud fue dada a conocer al público prematuramente y sin la autorización de Apple cuando un prototipo del iPhone 4 de Apple fue aparentemente robado a un ingeniero de Apple el 25 de marzo de 2010. La solicitud de prioridad U.S., en la que se basa esta solicitud, no se presentó antes del aparente robo.

Campo de la invención Esta invención se refiere, en general, al campo de las redes informáticas. Más particularmente, la invención se refiere a un aparato y procedimiento mejorados para emparejar usuarios de dispositivos informáticos tal como dispositivos móviles para sesiones de comunicación en línea (por ejemplo, sesiones punto a punto (“peer to peer”) .

Descripción de la técnica relacionada A. Traducción de dirección de red (“NAT”)

Las grandes redes públicas, tales como Internet, tienen conexiones frecuentemente a redes privadas menores, tales como las mantenidas por una corporación, el proveedor de servicios de internet, o incluso los domicilios particulares. Por su propia naturaleza, las redes públicas deben tener un acuerdo común sobre la asignación de las direcciones de red, es decir, las direcciones públicas. Por una variedad de razones, el personal de mantenimiento de las redes privadas a menudo eligen utilizar direcciones de red privadas para las redes privadas que no son parte del acuerdo común de asignación. De esta manera, para que el tráfico de red de la red privada pueda atravesar a la red pública, se requiere alguna forma de traducción de las direcciones de red privada/pública (“NAT”) .

Un dispositivo que lleva a cabo las operaciones de NAT altera los paquetes de datos que se están enviando desde la red privada para cumplir con el esquema de dirección de la red pública. Particularmente, el traductor de direcciones de red sustituye la dirección y el número de puerto privados originales de un paquete con su propia dirección pública y un número de puerto asignado. Un traductor de dirección de red también altera los paquetes de datos que se están recibiendo de los ordenadores de la red privada para sustituir la dirección pública y el número de puerto de destino con la dirección y el número de puerto privados correcto del receptor destinatario. Tal como se utiliza en este documento, el término dirección se debe interpretar de manera que incluya tanto una dirección como un número de puerto si es apropiado en el contexto, tal como lo entendería un experto en la técnica.

El NAT se ha convertido cada vez en algo común en la informática de redes modernas. Una ventaja del NAT es que retarda la reducción del espacio de las direcciones de red públicas. Por ejemplo, el direccionamiento TCP/IP, que se utiliza en Internet, comprende cuatro cadenas de tres dígitos cada una, proporcionando, de esta manera, un espacio de direcciones finito. Adicionalmente, ciertas partes de este espacio de direcciones están reservadas para un usuario o usuarios particulares, disminuyendo adicionalmente el número actual de las direcciones disponibles. No obstante, si se utiliza el NAT, una red o subred privada puede utilizar un número arbitrario de direcciones y aún presentar una única dirección, pública estandarizada al mundo exterior. Esto hace el número de direcciones disponibles prácticamente ilimitadas, debido a que cada red privada podría, teóricamente, utilizar exactamente las mismas direcciones privadas.

Una ventaja proporcionada por el NAT es una seguridad mejorada que surge del hecho de que aquellos en la red pública no pueden determinar la dirección de red actual (es decir, privada) de un ordenador en una red privada. Esto se debe a que únicamente se proporciona la dirección pública en la red pública mediante el traductor de direcciones de red. Adicionalmente, esta dirección pública puede corresponder a cualquier número de ordenadores en la red privada.

Los diferentes tipos de NAT emplean diferentes niveles de seguridad. Por ejemplo, con un ”NAT de cono completo” (“full cone NAT”) , una vez una dirección interna (iAddr:iPort) se mapea con una dirección externa (eAddr:ePort) , cualquier ordenador externo puede enviar paquetes a iAddr:iPort enviando los paquetes a eAddr:ePort. Con un “NAT de cono restringido”, un ordenador externo con una dirección hAddr puede enviar paquetes a iAddr:iPort enviando los paquetes a eAddr:ePort únicamente si iAddr:iPort habían enviado previamente un paquete a hAddr. El puerto del ordenador externo es irrelevante. Con un “NAT de cono de puerto restringido”, un ordenador externo que tiene una dirección/puerto hAddr:hPort puede enviar paquetes a iAddr:iPort enviando los paquetes a eAddr:ePort únicamente si iAddr:iPort ha enviado anteriormente un paquete a hAddr:hPort. Finalmente, con un NAT simétrico, cada solicitud de la misma dirección iAddr:iPort a una dirección IP y puerto de destino específicos se mapea a una única eAddr:ePort. Si el mismo ordenador interno envía un paquete a un destino diferente, se utiliza un mapeado dedirección y puerto externos diferentes. Únicamente un ordenador externo que recibe un paquete de un ordenador interno puede enviar un paquete de vuelta al ordenador interno.

B. Problemas del NAT con las redes punto a punto La informática de redes punto a punto (“P2P”) se refiere a una arquitectura de red distribuida compuesta por nodos informáticos que hacen que una parte de sus recursos esté directamente disponible a otros participantes de la red. Los puntos (“peers”) en una red P2P establecen canales de comunicación directa entre sí y actúan tanto como clientes como servidores, en contraste con el modelo tradicional cliente-servidor en el que los servidores suministran los recursos y los clientes consumen los recursos. La solicitud de patente US 2009/0086745 A1 describe una red P2P en el que los puntos se emparejan en base a solicitudes de emparejamiento e indicaciones de emparejamiento almacenadas.

Las operaciones de NAT descritas anteriormente plantean numerosos problemas para las conexiones P2P. Por ejemplo, establecer una conexión directa entre dos puntos se vuelve cada vez más difícil si uno o ambos puntos están ubicados detrás de uno o más de los tipos de NAT descritos anteriormente. Este problema se agrava por el hecho de que los dispositivos móviles tales como el Apple iPod Touch®, Apple iPhone®, Apple iPad® y otros diversos dispositivos (por ejemplo, los dispositivos RIM Blackberr y ®, dispositivos Palm Pre®, etc.) se desplazan frecuentemente entre redes que tiene diferentes implementaciones de NAT. Por ejemplo, el Apple iPhoneTM es capaz de comunicarse en redes Wi-Fi (por ejemplo, redes 802.11b, g, n) ; redes 3G (por ejemplo, redes de sistema universal de telecomunicaciones móviles (“UMTS”) , redes de acceso ascendente de paquetes a alta velocidad (“HSUPA”) , etc.) ; y las redes de Bluetooth (conocidas como redes de área personal (“PANs”) ) . Los futuros dispositivos móviles podrán comunicarse sobre canales de comunicación adicionales tales como WiMAX, telecomunicaciones móviles internacionales (“IMT”) avanzadas y evolución a largo plazo (“LTE”) avanzada, para nombrar algunos.

CARACTERÍSTICAS

Un procedimiento implementado por ordenador, medios legibles por máquina y dispositivos informáticos para establecer... [Seguir leyendo]

 


Reivindicaciones:

1. Procedimiento implementado por ordenador para establecer una comunicación punto a punto “P2P”, entre dispositivos móviles que comprende:

recepción (1601, 1603) de una serie de solicitudes de emparejamiento de una serie de dispositivos móviles (120-122) , incluyendo cada una de las solicitudes de emparejamiento los datos de aplicación que indican una solicitud particular para la que se está solicitando un emparejamiento y que incluye, además, los datos de configuración de red para cada uno de la serie de dispositivos móviles (1502, 1503) ;

determinación (1802) de ajustes de emparejamiento para grupos de la serie de los dispositivos móviles, los ajustes de emparejamiento basados, al menos en parte, en los datos de configuración de red de los dispositivos móviles; y

generación (1807) de emparejamientos para dos o más dispositivos móviles en base tanto a los datos de la 15 aplicación como a los ajustes de emparejamiento determinados para los dispositivos móviles.

2. Procedimiento, según la reivindicación 1, en el que la determinación del ajuste de emparejamiento incluye la determinación de la compatibilidad entre las configuraciones de red de dos o más dispositivos móviles que envían las solicitudes de emparejamiento.

3. Procedimiento, según la reivindicación 2, en el que la determinación de la compatibilidad de la configuración de red comprende la determinación de la traducción de la dirección de red, “NAT”, los tipos de dispositivos utilizados por los dos o más dispositivos móviles, el procedimiento comprende además el intento de generar emparejamientos entre los dispositivos móviles que tienen los tipos de dispositivos NAT que son capaces de establecer canales de comunicación directa P2P.

4. Procedimiento, según la reivindicación 1, en el que el ajuste de emparejamiento se basa en los tipos de conexión de cada uno de los dispositivos móviles, el procedimiento comprende, además, el intento de generar emparejamientos entre los dispositivos móviles que tienen tipos de conexión similares.

5. Procedimiento, según la reivindicación 1, en el que los tipos de conexión incluyen conexiones WiFi, de tercera generación, “3G”, conexiones móviles y conexiones móviles Edge.

6. Procedimiento, según la reivindicación 1, en el que el ajuste de emparejamiento se basa, además, en los idiomas

para los que los dispositivos móviles están configurados, el procedimiento comprende, además, el intento de generar emparejamientos entre dispositivos móviles que tienen idiomas similares.

7. Procedimiento, según la reivindicación 1, en el que las solicitudes de emparejamiento comprenden, además,

variables de configuración para cada aplicación, comprendiendo el procedimiento, además, la generación de 40 emparejamientos para los dispositivos móviles en base, en parte, en las variables de configuración.

8. Procedimiento, según la reivindicación 7, en el que las variables de configuración incluyen un nivel de habilidad para la aplicación y/o una subaplicación de la aplicación.

9. Procedimiento, según la reivindicación 1, que comprende además:

la determinación de la edad de cada una de las solicitudes de emparejamiento; y

el ajuste del ajuste de emparejamiento para emparejamientos potenciales entre dos o más dispositivos móviles en 50 base a la edad de cada una de las solicitudes de emparejamiento.

10. Procedimiento, según la reivindicación 9, en el que el ajuste comprende un aumento del ajuste de emparejamiento para los emparejamientos potenciales con una edad superior a un umbral especificado.

11. Procedimiento, según la reivindicación 10, en el que el ajuste comprende continuar aumentando el ajuste de emparejamiento a medida que la edad aumenta por encima de uno o más umbrales adicionales.

12. Procedimiento, según la reivindicación 1, en el que la generación de emparejamiento comprende además:

el agrupamiento (1605) de las solicitudes de emparejamiento en grupos de emparejamientos en base a los datos de la aplicación;

la determinación (1606) del ajuste de emparejamiento para las solicitudes de emparejamiento dentro de cada grupo de emparejamiento; y

la generación de los emparejamientos para los dispositivos móviles con cada grupo de emparejamiento en base al ajuste de emparejamiento determinado. 5

13. Procedimiento, según la reivindicación 1, en el que la generación de emparejamientos comprende, además:

el agrupamiento (1605) de las solicitudes de emparejamiento en grupos de emparejamiento en base a los datos de la aplicación;

la determinación (1606) del ajuste de emparejamiento para puntos de las solicitudes de emparejamiento dentro de cada conjunto de emparejamientos;

la generación (1804) de cada uno de la serie de conjuntos de emparejamiento con puntos de solicitudes de 15 emparejamiento que tienen un ajuste de emparejamiento superior especificado;

la adición (1805) de las solicitudes de emparejamiento para cada conjunto de emparejamiento;

la retención de las solicitudes de emparejamiento adicionales en cada conjunto de emparejamiento si los ajustes de 20 emparejamiento combinados en el conjunto de emparejamiento se encuentran por debajo del umbral especificado.

14. Procedimiento, según la reivindicación 13, que comprende, además:

continuar añadiendo los conjuntos de emparejamiento hasta que se han reunido los requerimientos de tamaño del 25 emparejamiento.

15. Procedimiento, según la reivindicación 1, en el que las solicitudes de emparejamiento incluyen los datos del NAT trasversal/de conexión asociados con cada uno de los dispositivos móviles, comprendiendo el procedimiento, además:

la transmisión (1608) de una notificación a un conjunto de dispositivos móviles emparejados que ha realizado un emparejamiento, el envío de la notificación a cada dispositivo móvil que incluye los datos del NAT trasversal/de conexión necesarios para conectar a uno o más de los demás dispositivos móviles incluidos en el emparejamiento.

16. Procedimiento, según la reivindicación 15, en el que los datos del NAT trasversal/de conexión incluyen un puerto y dirección IP pública para cada uno de los dispositivos móviles.

17. Medio legible por máquina que tiene el código de programa almacenado en el mismo que, cuando es ejecutado por un dispositivo informático, hace que el dispositivo informático lleve a cabo el procedimiento como en cualquiera 40 de las reivindicaciones 1 a 16.

18. Dispositivo informático que comprende una memoria para almacenar un código de programa y un procesador para procesar el código de programa para llevar a cabo un procedimiento según cualquiera de las reivindicaciones 1 a 16.