Lantorrent Solución para el intercambio de archivos vía red local.

27
Lantorrent Solución para el intercambio de archivos vía red local

Transcript of Lantorrent Solución para el intercambio de archivos vía red local.

Page 1: Lantorrent Solución para el intercambio de archivos vía red local.

Lantorrent

Solución para el intercambio de archivos vía red local

Page 2: Lantorrent Solución para el intercambio de archivos vía red local.

Presentación del equipo Frederic Cartallier

Product Owner. Desarrollo del sistema de encriptación y estructuras de

datos.

Bruno Jiménez Scrum Master. Desarrollo de la interfaz de la solución.

Javier Paredes Equipo. Desarrollo de la base de datos y tester.

Rodrigo Toro Equipo. Desarrollo del protocolo de comunicación.

Page 3: Lantorrent Solución para el intercambio de archivos vía red local.

Problema

¿Por qué es útil Lantorrent?

Page 4: Lantorrent Solución para el intercambio de archivos vía red local.

Problema Si te juntas con amigos a jugar online, pero

uno sólo de ellos tiene el juego (2GB) ¿Qué haces?

En una sucursal de una empresa, tienes un archivo, o programa importante para la comunidad ¿cómo lo traspasas?

¿Pendrive?, ¿Correo?, ¿2 GB por correo?!

Page 5: Lantorrent Solución para el intercambio de archivos vía red local.

Paciencia… muchas paciencia

Page 6: Lantorrent Solución para el intercambio de archivos vía red local.

Problema Y un ¿BitTorrent?... Esto es un poco más

interesante… Problemas:

Seguridad (BitTorrent es corrupto) Privacidad Velocidad (anchos de banda determinados) Borrado de programas cada 48 horas sin

descargas

Page 7: Lantorrent Solución para el intercambio de archivos vía red local.

Lantorrent

Contexto Red Local.

Objetivo Compartir archivos.

Problema Saturación de la red.

Solución Hacer a todos partícipes.

Page 8: Lantorrent Solución para el intercambio de archivos vía red local.

Arquitectura

Page 9: Lantorrent Solución para el intercambio de archivos vía red local.

Arquitectura

Page 10: Lantorrent Solución para el intercambio de archivos vía red local.

Arquitectura

Page 11: Lantorrent Solución para el intercambio de archivos vía red local.

Problemáticas

Transmitir un solo archivo desde varias fuentes.

Obtener información de fuentes inseguras.

Relajar la carga sobre el servidor.

Transmitir diversos mensajes entre los computadores.

Page 12: Lantorrent Solución para el intercambio de archivos vía red local.

Descargando un archivo

Descargas en Lantorrent

Page 13: Lantorrent Solución para el intercambio de archivos vía red local.

Descargar un archivo Conceptos:

Hash Taghash Treehash Torrent

Subir un archivo: Calcular taghash archivo Verificar que el archivo no existe en el servidor Agregar archivo y su lista de torrent

Page 14: Lantorrent Solución para el intercambio de archivos vía red local.

Servidor

Cliente 1 (C1) Cliente 2 (C2)

Cliente 3

Buscararchivo

Taghasharchivo

Page 15: Lantorrent Solución para el intercambio de archivos vía red local.

Servidor

Cliente 1 (C1) Cliente 2 (C2)

Cliente 3

ObtenerTorrentarchivo

Torrent archivoC1 parte 1C1 parte 2C2 parte 1C2 parte 2C2 parte 3

Page 16: Lantorrent Solución para el intercambio de archivos vía red local.

Servidor

Cliente 1 (C1) Cliente 2 (C2)

Cliente 3

Obtener hash

Null

Page 17: Lantorrent Solución para el intercambio de archivos vía red local.

Servidor

Cliente 1 (C1) Cliente 2 (C2)

Cliente 3

Obtener hash

HashesParte 1: ####Parte 2: &&&Parte 3: ****

Comparando

taghash con hash

tree

Page 18: Lantorrent Solución para el intercambio de archivos vía red local.

Servidor

Cliente 1 (C1) Cliente 2 (C2)

Cliente 3

Obtenerparte 1

Obtenerparte 2

Page 19: Lantorrent Solución para el intercambio de archivos vía red local.

Servidor

Cliente 1 (C1) Cliente 2 (C2)

Cliente 3Parte 1

Parte 2

Verificando integridad de parte 1

y 2 con hashes

Page 20: Lantorrent Solución para el intercambio de archivos vía red local.

Servidor

Cliente 1 (C1) Cliente 2 (C2)

Cliente 3

Agregar TorrentC3 parte 1C3 parte 2

Page 21: Lantorrent Solución para el intercambio de archivos vía red local.

Servidor

Cliente 1 (C1) Cliente 2 (C2)

Cliente 3

Obtenerparte 3

Page 22: Lantorrent Solución para el intercambio de archivos vía red local.

Servidor

Cliente 1 (C1) Cliente 2 (C2)

Cliente 3 Parte 3

Verificando integridad de parte 3 con hashes

Page 23: Lantorrent Solución para el intercambio de archivos vía red local.

Servidor

Cliente 1 (C1) Cliente 2 (C2)

Cliente 3

Agregar TorrentC3 parte 3

Page 24: Lantorrent Solución para el intercambio de archivos vía red local.

Servidor

Cliente 3

¿El archivo

está completo

?

Exportararchivo

Esperar 60 segundosy repetir el procesodescargando las partes restantes

NoSí

Page 25: Lantorrent Solución para el intercambio de archivos vía red local.

Patrones de diseño Fachada: Acceso a base de datos por medio

de repositorios genéricos Singleton: Administrador repositorio Memento: Guardar estado de interfaz gráfica Repositorio: Acceso a las distintas entidades

de la base de datos por medio de repositorios genéricos

Observador: Notificación de que se ha descargado una parte de un archivo

Page 26: Lantorrent Solución para el intercambio de archivos vía red local.

Demo de la aplicación.

Page 27: Lantorrent Solución para el intercambio de archivos vía red local.

Experiencia ganada

Estructuras de datos avanzadas.

Diseño Multi-Thread.

Patrones de Diseño.

Metodología de trabajo SCRUM.