Table Of ContentDEPARTAMENTO DE INGENIERÍA TELEMÁTICA
TRABAJO FIN DE GRADO
GRADO EN SISTEMAS DE COMUNICACIÓN
EVALUACIÓN DE TÉCNICAS DE OPTIMIZACIÓN
APLICABLES A ENTORNOS AMI
AUTOR: MARIO SANZ RODRIGO
TUTOR: JOSE IGNACIO MORENO NOVELLA
LEGANÉS, OCTUBRE DE 2016
1
TÍTULO: EVALUACIÓN DE TÉCNICAS DE OPTIMIZACIÓN
APLICABLES A ENTORNOS AMI
AUTOR: MARIO SANZ RODRIGO
TUTOR: JOSE IGNACIO MORENO NOVELLA
TRIBUNAL
PRESIDENTE: CARLOS BOUSOÑO CALZON
SECRETARIO: MARÍA DEL CARMEN RAGA ARROYO
VOCAL: MARIO GÓMEZ DÍAZ
La defensa del presente Trabajo de Fin de Grado se realizó el día 10 de Octubre de 2016 en
Leganés, en la Escuela Politécnica Superior de la universidad Carlos III de Madrid, siendo
calificada por el siguiente tribunal:
PRESIDENTE SECRETARIO VOCAL
2
3
Agradecimientos
En primer lugar agradecer a mi tutor José Ignacio por la oportunidad de desarrollar
este proyecto dentro del equipo de investigación del departamento de telemática. Agradecer
también a mis compañeros en dicho equipo, Gregorio López López y Miguel Seijo Simo por
ayudarme durante el desarrollo del trabajo y resolver las dudas que me iban surgiendo, así
como la genial convivencia durante todos estos meses.
A mi familia por haber estado siempre ahí durante todos estos años de carrera,
aguantando los momentos de agobio, las fechas en las que no podía desplazarme a Burgos
con ellos debido a los exámenes y compartiendo conmigo los momentos de alegría.
A todos los amigos tanto dentro como fuera de la universidad que han compartido
conmigo buenos y malos momentos durante estos años.
Por último agradecer a de forma muy especial a mi novia Ana, ya que fue ella la que
me motivó e insistió para comenzar esta andadura en la universidad hace ya más de cinco
años, sin ella hoy no estaría donde estoy, muchísimas gracias.
4
5
Resumen
En la actualidad el uso de las tecnologías de la información y la comunicación se están
aplicando al sector eléctrico en lo que se conoce como Smart Grids. El presente proyecto se
centra en los entornos AMI (Infraestructuras de medición avanzada) que se encuentran en la
denominada “última milla” de las redes de distribución eléctrica.
La comunicación realizada en estos entornos se basa en el estándar PLC denominado PRIME.
Debido a que los cables de electricidad no fueron diseñados originalmente para utilizarse
como medio de comunicación es necesario el uso de herramientas que permitan obtener
información sobre el funcionamiento de estas redes para poder detectar posibles problemas.
Una de estas herramientas es el analizador de trazas PrimeAnalytics, desarrollado por el
equipo de investigación del departamento de telemática de la Carlos III dentro del ámbito del
proyecto de investigación nacional OSIRIS (Optimización de la Supervisión Inteligente de la
Red de Distribución), financiado por el Ministerio de Economía y Competitividad y liderado
por Unión Fenosa Distribución.
Con este trabajo se pretende investigar, implementar y evaluar diferentes opciones para
mejorar el rendimiento de la herramienta PrimeAnalytics, así como el uso de los recursos,
centrándose en la paralelización de bases de datos y el uso de la computación en la nube.
Palabras clave
Infraestructuras de Medición Avanzada (AMI): Comunicaciones PLC de Banda Estrecha;
Django Web Framework; Docker; Citus; Base de Datos; PoweRline Intelligent Metering
Evolution (PRIME); Python; Red Eléctrica Inteligente; Computación en la Nube; Analizador
de Trazas; Cloud; Topología
6
Abstract
Currently the use of Information and Communications technology are being applied to the
electric sector in what is known as Smart Grids. This project focuses on the environment
AMI (Advanced Metering Infrastructure) that are in the so-called “last mile” of the electrical
distribution networks.
The communication performed in these environments is based on PLC standard, called
PRIME. Because that power lines were not originally designed to be used as a means of
communication, it is necessary the use tools to obtain information on the operation of these
networks and detect potential problems.
One such tool is the PrimeAnalytics trace analyzer, developed by the research team of the
department of telematics of the Carlos III within the scope of national research project
OSIRIS (Optimization of Intelligent Monitoring Distribution Network) funded by Ministry of
Economy and Competitiveness and led by Union Fenosa Distribution. This paper aims to
investigate, implement and evaluate different options to improve the performance of the
PrimeAnalytics tool and the use of resources, focusing on the parallelization of Databases and
the use of cloud computing.
Keywords
Advanced Metering Infraestructure (AMI); Narrowband-PLC (NB-PLC); Django Web
Framework; Docker; Citus; Data Base; PoweRline Intelligent Metering Evolution (PRIME);
Python; Smart Grids; Cloud Computing; Analizador de trazas; Cloud; Topology
7
Índice general
1. Motivation and goals ....................................................................................................................... 14
1.1. Motivation. .................................................................................................................................. 14
1.2. Goals …........................................................................................................................................ 16
1.3. Memory structure ……................................................................................................................. 17
2. Análisis del estado del arte............................................................................................................... 20
2.1. Tecnologías PLC de Banda Estrecha........................................................................................... 20
2.1.1 Visión Global............................................................................................................... 20
2.1.2. PRIME........................................................................................................................ 22
2.2. Analizador de trazas PrimeAnalytics........................................................................................... 30
2.3. Lenguajes y Frameworks de desarrollo........................................................................................ 31
2.3.1. Python......................................................................................................................... 31
2.3.1.1. Extensiones Python................................................................................... 32
2.3.2. Django......................................................................................................................... 33
2.3.3. PostgreSQL................................................................................................................. 34
2.4. Herramientas para el despliegue................................................................................................... 35
2.4.1. Docker......................................................................................................................... 35
2.5. Herramientas para la paralelización de bases de datos................................................................. 36
2.5.1. PgPool......................................................................................................................... 36
2.5.2. PgShard....................................................................................................................... 38
2.5.3. Citus............................................................................................................................ 39
2.6. Plataformas Cloud........................................................................................................................ 42
2.6.1. FIWARE..................................................................................................................... 42
2.6.2. Microsoft Azure.......................................................................................................... 44
2.6.3. IBM SoftLayer............................................................................................................ 44
2.6.4. Google Cloud Platform............................................................................................... 45
2.6.5. Amazon Web Services............................................................................................... 46
3. Diseño................................................................................................................................................. 51
3.1. Requisitos y restricciones............................................................................................................ 51
3.2. Selección de tecnologías............................................................................................................. 54
3.3. Etapas de diseño........................................................................................................................ 55
4. Desarrollo e integración.................................................................................................................... 56
4.1. Elección del método de distribución............................................................................................ 56
4.2. Justificación de la elección........................................................................................................... 61
4.3. Modificación del docker-compose.yml........................................................................................ 61
4.4. Modificación del entrypoint.sh.................................................................................................... 63
8
4.5. Creación del Cluster..................................................................................................................... 64
4.6. Adaptación del Gestor de Archivos.............................................................................................. 66
4.7. Problemática encontrada y soluciones adoptadas......................................................................... 68
4.8. Desarrollo de módulo software para la evolución de la topología................................................ 69
4.9. Migración a la nube...................................................................................................................... 76
5. Resultados y validación..................................................................................................................... 82
5.1. Entorno Local............................................................................................................................... 82
5.1.1. Pruebas sobre la base de datos.................................................................................... 82
5.1.2. Pruebas sobre las peticiones Ajax de la herramienta.................................................. 87
5.2. Entorno Cloud.............................................................................................................................. 93
5.2.1. Pruebas sobre las peticiones Ajax de la herramienta.................................................. 93
6. Conclusions and future works........................................................................................................ 97
6.1. Conclusions.…............................................................................................................................ 97
6.2. Future Works…........................................................................................................................... 99
7. Presupuesto....................................................................................................................................... 100
7.1. Fases del proyecto....................................................................................................................... 100
7.2. Diagrama de Gantt....................................................................................................................... 101
7.3. Presupuesto……........................................................................................................................... 102
8. Referencias........................................................................................................................................ 104
Anexo I: Margo Regulatorio …………………………………………………….. I
Anexo II: Script de validación 1………………………………………………….. III
Anexo III: Script de validación 2 …………………………………………………. IX
Anexo IV: Script scale.py…………………………………………………………. XVIII
9
Description:Evolution (PRIME); Python; Red Eléctrica Inteligente; Computación en la Nube; system PostgreSQL database for subsequent migration to the Cloud platform. pues habría que modificarlas posteriormente de forma manual.