<?xml version="1.0" encoding="UTF-8"?>
<collection xmlns="http://www.loc.gov/MARC21/slim">
    <record>
        <controlfield tag="001">8803</controlfield>
        <controlfield tag="005">20150325140121.0</controlfield>
        <datafield tag="037" ind1=" " ind2=" ">
            <subfield code="a">TAZ-PFC-2012-539</subfield>
        </datafield>
        <datafield tag="041" ind1=" " ind2=" ">
            <subfield code="a">spa</subfield>
        </datafield>
        <datafield tag="100" ind1="1" ind2=" ">
            <subfield code="a">Catalán Sánchez, Víctor Miguel</subfield>
        </datafield>
        <datafield tag="245" ind1="0" ind2="0">
            <subfield code="a">Diseño e implementación de una capa de red P2P jerárquica, escalable y tolerante a fallos</subfield>
        </datafield>
        <datafield tag="260" ind1=" " ind2=" ">
            <subfield code="a">Zaragoza</subfield>
            <subfield code="b">Universidad de Zaragoza</subfield>
            <subfield code="c">2012</subfield>
        </datafield>
        <datafield tag="506" ind1=" " ind2=" ">
            <subfield code="a">by-nc-sa</subfield>
            <subfield code="b">Creative Commons</subfield>
            <subfield code="c">3.0</subfield>
            <subfield code="u">http://creativecommons.org/licenses/by-nc-sa/3.0/</subfield>
        </datafield>
        <datafield tag="520" ind1=" " ind2=" ">
            <subfield code="a">Durante este proyecto se ha diseñado e implementado una capa de red peer-to-peer jerárquica, escalable y tolerante a fallos. Dicha capa es un medio que nos permite la distribución de la información y la localización de recursos a emplear por otras plataformas. Esta capa está enmarcada en el desarrollo de una plataforma escalable para la ejecución distribuida de tareas.   Se ha utilizado una estructura principal en forma de árbol binario balanceado o AVL. Las búsquedas en este tipo de árboles tienen una complejidad que se mantiene siempre en orden logarítmico O(log n), por lo que es perfecta para cumplir el requisito de la escalabilidad. Otro punto fundamental es la tolerancia a fallos, en cuyo caso se resuelve utilizando una DHT como estructura paralela, donde se almacenará la información actualizada de todos los nodos de la red. En caso de fallo de un nodo, cualquier participante puede obtener la información relativa a dicho nodo e iniciar el proceso de reconstrucción que permite devolver a la red a un estado correcto. Entre las distintas opciones de DHT, se ha elegido Apache Cassandra y más en concreto la librería libQtCassandra, que es un cliente que proporciona una API para interaccionar con los nodos de Cassandra. En definitiva, se ha desarrollado un protocolo de comunicación totalmente distribuido, que permite trabajar de manera conjunta a la estructura en forma de árbol y la DHT. El lenguaje utilizado es C++ por ser el lenguaje que se usa en la plataforma en la que este proyecto está enmarcado.  Para comprobar el buen funcionamiento, se ha utilizado un simulador de eventos discretos. Con el objetivo de comprobar la escalabilidad, se han simulado redes de tamaños desde 10 nodos hasta 500.000 nodos. Posteriormente, se vuelven a simular los mismos tamaños y además se introducen fallos de nodos físicos aleatorios para comprobar la tolerancia a fallos. Una vez concluye la simulación, se comprueba el resultado por medio de pruebas de validación del estado de los participantes de la red. El resultado obtenido tras la realización de todas las pruebas con el simulador es el correcto, con lo que se puede afirmar que la red se adapta perfectamente a cualquier tamaño de red y además detecta los fallos que se producen para posteriormente reconstruir la red. Además se han obtenido medidas del consumo del ancho de banda de entrada y de salida obteniendo valores muy buenos y casi despreciables. También se ha medido el tiempo de inserción de un nodo en la red y se puede concluir que para redes grandes de 100.000 nodos en adelante, el tiempo se estabiliza alrededor de 2,25 segundos, siendo un valor que se considera aceptable. Asimismo se ha ejecutado la aplicación en un grupo de ordenadores del laboratorio y se ha conseguido interconectarlos. La red se ha creado y funciona correctamente, por lo que la prueba en un escenario real también es un éxito.</subfield>
        </datafield>
        <datafield tag="521" ind1=" " ind2=" ">
            <subfield code="a">Ingeniero en Informática</subfield>
        </datafield>
        <datafield tag="540" ind1=" " ind2=" ">
            <subfield code="a">Derechos regulados por licencia Creative Commons</subfield>
        </datafield>
        <datafield tag="653" ind1="1" ind2=" ">
            <subfield code="a">p2p</subfield>
        </datafield>
        <datafield tag="653" ind1="1" ind2=" ">
            <subfield code="a">árbol binario</subfield>
        </datafield>
        <datafield tag="653" ind1="1" ind2=" ">
            <subfield code="a">dht</subfield>
        </datafield>
        <datafield tag="653" ind1="1" ind2=" ">
            <subfield code="a">c++</subfield>
        </datafield>
        <datafield tag="653" ind1="1" ind2=" ">
            <subfield code="a">distribuido</subfield>
        </datafield>
        <datafield tag="653" ind1="1" ind2=" ">
            <subfield code="a">tolerancia a fallos</subfield>
        </datafield>
        <datafield tag="653" ind1="1" ind2=" ">
            <subfield code="a">escalabilidad</subfield>
        </datafield>
        <datafield tag="700" ind1=" " ind2=" ">
            <subfield code="a">Celaya Alastrué, Javier</subfield>
            <subfield code="e">dir.</subfield>
        </datafield>
        <datafield tag="710" ind1="2" ind2=" ">
            <subfield code="a">Universidad de Zaragoza</subfield>
            <subfield code="b">Informática e Ingeniería de Sistemas</subfield>
            <subfield code="c">Arquitectura y Tecnología de Computadores</subfield>
        </datafield>
        <datafield tag="856" ind1="0" ind2=" ">
            <subfield code="f">524547@celes.unizar.es</subfield>
        </datafield>
        <datafield tag="856" ind1="4" ind2=" ">
            <subfield code="s">1645637</subfield>
            <subfield code="u">http://zaguan.unizar.es/record/8803/files/TAZ-PFC-2012-539_ANE.pdf</subfield>
            <subfield code="y">Anexos (spa)</subfield>
        </datafield>
        <datafield tag="856" ind1="4" ind2=" ">
            <subfield code="s">339128</subfield>
            <subfield code="u">http://zaguan.unizar.es/record/8803/files/TAZ-PFC-2012-539.pdf</subfield>
            <subfield code="y">Memoria (spa)</subfield>
        </datafield>
        <datafield tag="909" ind1="C" ind2="O">
            <subfield code="o">oai:zaguan.unizar.es:8803</subfield>
            <subfield code="p">driver</subfield>
            <subfield code="p">proyectos-fin-carrera</subfield>
        </datafield>
        <datafield tag="950" ind1=" " ind2=" ">
            <subfield code="a"></subfield>
        </datafield>
        <datafield tag="980" ind1=" " ind2=" ">
            <subfield code="a">TAZ</subfield>
            <subfield code="b">PFC</subfield>
            <subfield code="c">EINA</subfield>
        </datafield>
    </record>

    
</collection>