En las últimas décadas, las redes móviles han cobrado cada vez más importancia en el mundo de las telecomunicaciones. Lo que empezó con el objetivo de dar un servicio de voz a nivel global, ha tomado recientemente la direcci\'on de convertirse en un servicio casi exclusivo de datos en banda ancha, dando lugar a la red LTE. Como consecuencia de la continua aparición de nuevos servicios, los usuarios demandan cada vez redes con mayor capacidad, mejor calidad de servicio y a precios menores.
Esto provoca una dura competición entre los operadores, que necesitan reducir costes y cortes en el servicio causados por trabajos de mejora o problemas.
Para este fin, las redes autoorganizadas SON (Self-Organizing Network) proporcionan herramientas para la automatización de las tareas de operación y mantenimiento, haciéndolas más rápidas y mantenibles por pequeños equipos de expertos. Las funcionalidades SON se dividen en tres grupos principales: autoconfiguración (Self-configuration, los elementos nuevos se configuran de forma automática), autooptimización (Self-optimization, los parámetros de la red se actualizan de forma automática para dar el mejor servicio posible) y autocuración (Self-healing, la red se recupera automáticamente de problemas).
En el ambiente competitivo de las redes móviles, los cortes de servicio provocados por problemas en la red causan un gran coste de oportunidad, dado que afectan a la experiencia de usuario. Self-healing es la función SON que se encarga de la automatización de la resolución de problemas. El objetivo principal de Self-healing es reducir el tiempo que dura la resolución de un problema y liberar a los expertos de tareas repetitivas. Self-healing tiene cuatro procesos principales: detección (identificar que los usuarios tienen problemas en una celda), compensación (redirigir los recursos de la red para cubrir a los usuarios afectados), diagnosis (encontrar la causa de dichos problemas) y recuperación (realizar las acciones necesarias para devolver los elementos afectados a su operación normal).
De todas las funcionalidades SON, Self-healing (especialmente la función de diagnosis) es la que constituye el mayor desafío, dada su complejidad, y por tanto, es la que menos se ha desarrollado. No hay sistemas comerciales que hagan una diagnosis automática con la suficiente fiabilidad para convencer a los operadores de red.
Esta falta de desarrollo se debe a la ausencia de información necesaria para el diseño de sistemas de diagnosis automática. No hay bases de datos que recojan datos de rendimiento de la red en casos problemáticos y los etiqueten con la causa del problema que puedan ser estudiados para encontrar los mejores algoritmos de tratamiento de datos.
A pesar de esto, se han propuesto soluciones basadas en la Inteligencia Artificial (IA) para la diagnosis, tomando como punto de partida la limitada información disponible. Estos algoritmos a su vez necesitan ser entrenados con datos realistas. Nuevamente, dado que no hay bases de datos de problemas reales, los datos de entrenamiento suelen ser extraídos de simulaciones, lo cual les quita realismo.
La causa de la falta de datos es que los expertos en resolución de problemas no registran los casos conforme los van solucionando. En el ambiente competitivo en el que trabajan, su tiempo es un recurso limitado que debe ser utilizado para resolver problemas y no para registrarlos.
En el caso en que tales bases de datos fueran recogidas, un aspecto importante a tener en cuenta es que el volumen, variabilidad y velocidad de generación de los datos hacen que éste sea considerado un problema Big Data.
El problema principal de los sistemas de diagnosis automática es la falta de conocimiento experto. Para resolver esto, el conocimiento experto debe convertirse a un formato utilizable. Este proceso se conoce como adquisición del conocimiento. Hay dos aproximaciones a la adquisición del conocimiento: manual(a través de entrevistas o con la implicación de los expertos en el desarrollo) o a través de la analítica de datos (minería de datos en bases de datos que contienen el resultado del trabajo de los expertos).
Esta tesis estudia la aproximación de la analítica de datos, utilizando las técnicas KDD (Knowledge Discovery and Datamining). Para que esta aproximación pueda ser utilizada, se requiere la existencia de una base de datos de casos reales de fallo, lo cual es un gran desafío.
La visión general de esta tesis es una plataforma en la que cada vez que un experto diagnostica un problema en la red, éste puede reportarlo con un esfuerzo mínimo y almacenarlo en el sistema. La parte central de este sistema es un algoritmo de diagnosis (en esta tesis un controlador de lógica borrosa) que evoluciona y mejora aprendiendo de cada nuevo ejemplo, hasta llegar al punto en el que los expertos pueden confiar en su precisión para los problemas más comunes. Cada vez que surja un nuevo problema, se añadirá a la base de datos del sistema, incrementando así aún más su potencia. El fin es liberar a los expertos de tareas repetitivas, de modo que puedan dedicar su tiempo a desafíos cuya resolución sea más gratificante.
Por tanto, el primer objetivo de esta tesis es la colección de una base de datos de casos reales de fallos. Para ello, se diseña una interfaz de usuario para la recolección de datos teniendo en cuenta como requisito prioritario la facilidad de uso.
Una vez que se dispone de datos recogidos, se analizarán para comprender mejor sus propiedades y obtener la información necesaria para el diseño de los algoritmos de analítica de datos.
Otro objetivo de esta tesis es la creación de un modelo de fallos de LTE, encontrando las relaciones entre el rendimiento de la red y la ocurrencia de los problemas.
La adquisición del conocimiento se realiza mediante la aplicación de algoritmos de analítica sobre los datos recogidos. Se diseña un proceso KDD que extrae los parámetros de un controlador de lógica borrosa y se aplica sobre la base de datos recogida.
Finalmente, esta tesis también tiene como objetivo realizar un análisis de los aspectos Big Data de las funciones Self-healing, y tenerlos en cuenta a la hora de diseñar los algoritmos.