Tesis "Marco de gestión de flujos de trabajo basado en bloques encadenados para la verificación continua de datos en escenarios del Internet de las Cosas"
Sustentante: Cristhian Martínez Rendón.
Directores: Dr. José Luis González Compeán y Dr. Hiram Galeana Zapién, investigadores Cinvestav Tamaulipas.
Sinodales: Dr. Iván López Arévalo, CINVESTAV Unidad Tamaulipas; Dr. Miguel Morales Sandoval, CINVESTAV Unidad Tamaulipas.
Resumen:
En escenarios del Internet de las Cosas (IoT, por sus siglas en inglés) se recolectan grandes volúmenes de datos mediante diferentes tipos de sensores. El procesamiento de dichos datos comúnmente se realiza mediante esquemas de procesamiento llamados flujos de trabajo, los cuales permiten procesar datos IoT sin intervención humana. Estas estructuras de procesamiento incluyen aplicaciones que se ejecutan en etapas tales como adquisición, transformación y análisis de datos, así como la exhibición de resultados que son útiles para procesos de toma de decisiones. Los flujos de trabajo se construyen con la participación de diversas organizaciones y/o usuarios. Por tanto, resulta crucial que los participantes puedan verificar y validar que el resultado de un flujo de trabajo sea obtenido por el procesamiento de cada uno de sus componentes en la estricta secuencia previamente establecida por los participantes. Además, para llevar a cabo, con certidumbre, procesos de toma de decisiones resulta clave validar que los datos IoT entrantes y salientes de cada etapa de un flujo de trabajo no han sido alterados por terceros o por los usuarios de las organizaciones participantes. Sin embargo, realizar este tipo de verificación en flujos de trabajo desplegados en entornos de nube, implica la integración de dichos flujos con las redes de verificabilidad existentes, lo cual no es trivial y llega a convertirse en un desafío para las organizaciones. En estos escenarios no existe garantía de que las aplicaciones ejecutadas por los participantes en un flujo de trabajo realicen el registro de sus transacciones en la red de verificabilidad. Además, los problemas de eficiencia que aparecen cuando se realiza una verificabilidad continua en flujos de trabajo sigue siendo un asunto poco abordado en la literatura. En este contexto, en el presente proyecto de tesis se propone un esquema llamado CD/CV (acrónimo para continuous delivery, continuous verifiability) para la verificabilidad de entrega continua de datos IoT en flujos de trabajo. Este esquema se basa en un modelo de extracción, transformación y carga (ETC), el cual permite captura cada acción realizada por cada etapa incluida en flujos de trabajo. El esquema CD/CV se implementó en la forma de un marco de gestión para la verificabilidad continua en flujos de trabajo. Este marco de gestión incluye un motor de entrega continua (CD) para la creación y manejo de flujos de trabajo, así como un esquema de verificabilidad (CV) para crear y desplegar redes de verificabilidad en forma automática. En tiempo de operación, el gestor realiza tares de intermediario entre el flujo de trabajo y la red de verificabilidad. Específicamente, el gestor captura la información ETC de cada acción realizada por cada etapa de un flujo de trabajo y crea transacciones que son automáticamente registradas en la red de verificabilidad. La implementación del gestor se basa en el uso de patrones de paralelismo encapsulados en contenedores virtuales, los cuales no solo resuelven problemas de portabilidad sino que también permiten reducir el impacto de las acciones de verificabilidad en el rendimiento de los flujos de trabajo. Una evaluación experimental fue conducida en la forma de estudios de caso basados en datos sobre movilidad de usuarios y datos medioambientales capturados por sensores. Los estudios de caso revelaron la factibilidad de aplicar el marco de gestión propuesto a los procesos de integración entre flujos de trabajo y redes de verificabilidad (Blockchain por su acepción en ingles). La evaluación también reveló que el marco de gestión puede reducir e incluso eliminar la sobrecarga de los procesos de verificabilidad continua en comparación con soluciones del estado del arte.