| Artículos | 01 OCT 2007

Transferencias P2P optimizadas por similitud

Tags: Histórico
Eugenio Barahona.
Con el paso del tiempo, y la casi inevitable popularización de diversas redes de tipo peer to peer, punto a punto, han aparecido en el mercado diversas tecnologías encaminadas a hacer un uso lo más eficiente posible del ancho de banda disponible. A continuación presentamos una metodología que permite optimizar la descarga de información de un modo muy eficiente, evitando el colapso de las redes actuales.

Independientemente de que las redes P2P funcionen con una estructura centralizada o no, casi todas ellas se basan en que el cliente que solicita la descarga de un archivo lo hace conectándose a la vez a varios equipos remotos de los que obtiene pedazos diferentes del archivo que desea obtener. La transferencia simultánea de diferentes partes del archivo hace que se haga un uso eficiente del ancho de banda disponible para conectarse a Internet.
Si bien el uso mayoritario que actualmente se hace de los sistemas P2P es discutido por las asociaciones de defensa de los derechos de autor, lo cierto es que estas tecnologías ofrecen unas posibilidades tremendas para la difusión de contenidos con un coste mínimo para los propietarios de dichos contenidos, ya que son los propios usuarios los que al final ofrecen sus equipos y sus conexiones de banda ancha para la distribución del contenido.
A pesar de los avances que se han realizado en los últimos tiempos para optimizar la transferencia de información, en muchas ocasiones dichas transferencias continúan siendo lentas debido a una serie de factores, como que el receptor disponga de un ancho de banda limitado, que la fuente de origen de la información no sea capaz de saturar completamente el ancho de banda del receptor o que, por último, existan puntos intermedios en la red que ralenticen el flujo de información desde el emisor hasta el receptor.
La velocidad a la que se transfiere la información en un sistema peer to peer puede depender de la técnica que se emplee para localizar la fuente de la información. Básicamente existen dos métodos para encontrar la información a transferir. En el primero de ellos se localiza la información buscando archivos completos, mientras que en el segundo se buscan bloques correspondientes al archivo que se desee transferir. Además, hay que tener en cuenta otras limitaciones que pueden ser importantes, como por ejemplo que el equipo del que se descarga parte de un archivo tenga limitado el ancho de banda disponible para servir información. A esto hay que añadir que algunos proveedores de conexión a Internet limitan o impiden el uso de software de tipo P2P al emplear su red. En cualquier caso, el resultado al final es el mismo: no es posible saturar el ancho de banda de recepción del cliente que está intentando descargar información de una red peer to peer.
En un sistema basado en la localización de archivos los receptores localizan copias exactas del archivo que desean transferir, pero como muchos usuarios hemos experimentado, la velocidad de transferencia que se obtiene con este tipo de técnicas suele ser bastante baja, por lo que obtener un archivo de un tamaño apreciable puede llevar varios días de descarga. En un sistema que localice bloques de un mismo archivo, es posible encontrar muchas más fuentes de un determinado bloque, ya que puede darse el caso en el que un bloque con contenido idéntico al que buscamos esté presente en archivos distintos del que deseemos transferir a nuestro sistema.
En este artículo vamos a comentar una técnica denominada Similarity Enhanced Transfer (Transferencia mejorada mediante similitudes), la cual ha sido desarrollada por miembros de varias universidades norteamericanas e investigadores de Intel. Se basa en una mezcla de la localización de archivos completos y de bloques idénticos o similares, de forma que sea posible la descarga de objetos procedentes de diversas fuentes, los cuales contendrán el mismo objeto buscado o uno similar, usando un número constante de operaciones de búsqueda.

Similitudes
Las investigaciones que se han realizado se centran, por lo tanto, en explotar similitudes entre archivos distintos para acelerar la descarga del archivo que se desea obtener. En la mayoría de los sistemas de descarga que emplean más de una fuente para descargar un archivo, la unidad más pequeña de datos que se transfiere es un bloque. Estos bloques pueden tener un tamaño prefijado o bien ser de longitud variable. La tecnología SET (Similarity Enhanced Transfer, o Transferencia Optimizada por Similitud) es capaz de detectar similitudes entre bloques de datos que no estén alineados unos con otros, por lo que esta técnica emplea un proceso de marcado para definir las fronteras que delimitan a cada uno de los bloques de datos.
Las similitudes que resultan de interés para un sistema de descarga de archivos indican que un archivo, distinto del que se desea descargar, comparte bloques de datos completos con el que se está intentando descargar. La similitud se define, por lo tanto, como la fracción de bloques de datos que se comparten entre los dos archivos.
También se ha estudiado la posibilidad de que no existiesen altos grados de parecido entre archivos con contenido multimedia, debido al elevado grado de compresión que tiene este tipo de contenido. Sin embargo, se ha encontrado que en muchas ocasiones se distribuye el mismo contenido, variando sólo pequeñas partes del archivo, como por ejemplo la cabecera de un fichero MP3 (en la que se indica el nombre del artista o el título de una canción). O que en el caso de archivos de vídeo los usuarios intentan descargar el mismo archivo pero con el sonido en un idioma distinto, lo que da lugar a índices de similitud del quince por ciento o incluso más.

Localizando la fuente
Cada objeto en un sistema SET se identifica mediante su identificador de objeto. Para que sea posible transferir un archivo, el receptor debe localizar los orígenes del archivo que desea descargar y los orígenes de otros archivos que compartan bloques de información con el que se desea obtener en el receptor. Los bloques que forman el archivo a su vez también se identifican mediante un identificador único, de forma que el receptor debería disponer de una lista con los identificadores de los bloques que dan forma al archivo que se desee descargar.
Para cada objeto que una fuente deja disponible en un sistema SET, se insertan una serie de mapeados en una tabla global de búsqueda. Esta tabla contiene dos tipos de mapeados. Uno mediante el cual, a partir de un identificador de bloque se obtiene un identificador de objeto, y otro que devuelve la fuente de un archivo a partir de un identificador de objeto. El primer mapeado asocia el identificador de un bloque determinado del objeto con el identificador de objeto que le corresponde. Este mapeado permite que los receptores localicen objetos que son parecidos a los que desean descargar. El segundo mapeado asocia el identificador de un objeto con las posibles fuentes que existen para dicho objeto. Esta tabla de búsqueda contiene un mapeado para cada fuente u origen capaz de servir el objeto al que corresponda el mapeado. Si, por ejemplo, existiesen seis fuentes capaces de servir un determinado objeto, entonces existirían seis mapeados de identificador de objeto a origen o fuente de dicho objeto.
Una vez que el equipo receptor dispone de los identificadores de todos los bloques que forman el archivo a descargar, se calcula una huella o firma del archivo y se busca cada identificador en las tablas de mapeado descritas anteriormente. El resultado que se obtiene de esta consulta

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información