Diseño e implementación de un sistema distribuido de transmisión y de gestión de archivos

Xu, Fucheng (2020). Diseño e implementación de un sistema distribuido de transmisión y de gestión de archivos. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S. de Ingenieros Informáticos (UPM), Madrid, España.

Description

Title: Diseño e implementación de un sistema distribuido de transmisión y de gestión de archivos
Author/s:
  • Xu, Fucheng
Contributor/s:
  • Toharia Rabasco, Pablo
Item Type: Final Project
Degree: Grado en Ingeniería Informática
Date: June 2020
Subjects:
Faculty: E.T.S. de Ingenieros Informáticos (UPM)
Department: Arquitectura y Tecnología de Sistemas Informáticos
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (2MB) | Preview

Abstract

El Trabajo Fin de Grado realizado por el alumno consiste en diseñar e implementar un sistema de transmisión y de gestión remota de ficheros. El objetivo de este proyecto consiste en resolver la necesidad actual de transferir y gestionar archivos de forma remota entre un dispositivo móvil y un PC. Hoy en día, cada vez dedicamos más tiempo en el móvil que en equipos de sobremesa como era tradicionalmente. Sin embargo, muchas tareas de productividad son imposibles de realizarse sin un PC, ya sea por la capacidad de cómputo necesaria, o por la limitación de hardware (tamaño de la pantalla, teclado, etc…). Para abordar este problema, en este proyecto se desea desarrollar un sistema que facilita el intercambio de ficheros entre los dos tipos de dispositivos. El sistema diseñado se basa en una arquitectura de tres niveles. En el primer nivel se encuentran los clientes externos (interfaz), para poder acceder al servicio del sistema. El segundo nivel está compuesto de varios módulos de servidor, que procesa y retransmite información entre clientes. Y el último nivel de almacenamiento de datos. El sistema está compuesto por tres módulos diferentes que se ejecutan en tres equipos, y forman la arquitectura expuesta previamente. El primer módulo es un programa servidor que se ejecuta en un servidor en la nube, que juega el papel de intermediario entre diferentes clientes. El segundo módulo es un programa cliente en el PC del usuario, y el tercer módulo es una aplicación Android. Cuando un usuario realiza operaciones en la aplicación móvil, ésta transforma las operaciones en peticiones al servidor. El servidor procesa estas peticiones y envía órdenes al segundo módulo para completar las peticiones solicitadas por el tercer módulo. El segundo módulo realiza operaciones sobre el directorio del usuario para cumplir las órdenes del servidor, devolviendo resultado al servidor para que éste pueda responder a las peticiones del usuario. A continuación, denominamos al primer módulo como el servidor, el segundo módulo como el agente o cliente de ordenador, y el tercer módulo como el cliente de móvil. En el servidor se implementa una API REST, que ofrece servicios a los usuarios sobre su directorio. Un usuario registrado puede realizar operaciones de forma remota sobre su directorio local a través del cliente del sistema. Los servicios son, por ejemplo, petición de un fichero, eliminar un fichero, petición de un directorio comprimido, o guardar un fichero procedente de usuario. El agente es un programa cliente cuyo trabajo consiste en escanear los ficheros y subdirectorios del equipo del usuario, y subir estos datos al servidor. Una vez finalizado el primer escaneo, el proceso se bloquea hasta que le llegue una orden desde el servidor, entonces realizará las operaciones necesarias sobre el directorio para cumplir la orden y devolver el resultado al servidor. El cliente de móvil, es decir la aplicación Android, una vez iniciado la sesión se conecta al servidor para obtener la información del directorio del usuario, y muestra al usuario un directorio virtual con la misma estructura. En el directorio virtual, el usuario puede realizar las operaciones que corresponde a los servicios del servidor, el cliente envía estas operaciones como petición de servicio, y cuando el servidor responde con el resultado del servicio, el cliente muestra al usuario el resultado recibido.---ABSTRACT---This Final-Year Project aims to design and to implement a system that transfers and manage remote files and directory structures. The objective of this project is to solve the current need of people of transferring and managing files remotely between the handheld device and desktop computers. Nowadays, we tend to spend more time on our mobile phones than on our PCs as it was traditionally. However, many productivity tasks cannot be completed without a PC, either due to computing capacity or by the hardware limitation (display size, keyboard, etc...). To resolve the problem, this project is based on developing a system that makes easy the exchange of data between these two types of devices. The designed system is based on a three-tier architecture. In the first level are the external clients (interface) to accesses the system service. The second level is composed of several server modules, that process and retransmit information between the clients. And the last level is devoted to data storage. The system is composed of three different modules, which run on three hosts, and all these modules form the previously exposed architecture. The first module is a server program that runs on a cloud server, which plays the role of broker between different clients. The second module is a client program on the user’s PC, and the third module is an Android application. When a user performs operations in the mobile application, it transforms the operations into requests to the server. Then, the server processes these requests and sends commands to the second module to complete the requests requested by the third module. The second module performs operations on the user's directory to fulfill the server's orders, then it returns the results to the server so it can respond to user requests. Thus, we will refer to the first module as the server, to the second module as the agent or the PC client, and the third module as the mobile client. A REST API is implemented on the server, which offers services to users on their directory, a registered user can perform operations remotely on their local directory through the system client. Services could be, for example, requesting a file, deleting a file, requesting a compressed directory, or saving a file from the user. The agent is a client program whose job is to scan the files and subdirectories of the user's computer and upload this data to the server. Once the first scan is completed, the process is blocked until an order arrives from the server. Then it performs the necessary operations on the directory to fulfill the order and return the result to the server. The system client, that is, the Android application, once the session is started, connects to the server to obtain the user's directory information, and it shows him a virtual directory with the same structure. In the virtual directory, the user can perform operations corresponding to the server services. The client sends these operations as a service request, and when the server responds with the result of the service, the client shows the received result to the user.

More information

Item ID: 63129
DC Identifier: http://oa.upm.es/63129/
OAI Identifier: oai:oa.upm.es:63129
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 21 Jul 2020 19:39
Last Modified: 21 Jul 2020 19:39
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM