Auto-recuperación de sistemas distribuidos inspirada en la naturaleza

Si se entiende un sistema distribuido es una colección de elementos (ej. Robots, máquinas virtuales, procesos, agentes, etc…) los cuales se comunican utilizando una red y cooperan para realizar una tarea específica (Raynal, 2013) y por auto-recuperación se entiende que un sistema detecte por sí mismo que componentes están fallando y reemplace, repare o elimine componentes sin interrumpir dicha tarea (Lalanda, Mccann, & Diaconescu, 2013); a uno se le podría venir a la mente auto-recuperación de sistemas distribuidos la imagen de la saga de Terminator (Figura 1.) de un robot o un conjunto de robots con la capacidad de repararse a sí mismo.

Auto-recuperación de sistemas distribuidos inspirada en la naturaleza2

Figura 1. Terminator

Parte de la investigación que realizo busca auto-recuperar sistemas distribuidos y en mi caso la realidad se aleja un poco del icónico Terminator. En mi caso, tomando como fuente de inspiración la naturaleza, es posible apreciar por ejemplo como los enjambres de insectos son capaces de sobrevivir a adversidades como un todo y realizar tareas de búsqueda de alimento aunque algunos insectos fallen. Esto se conoce como un ejemplo de auto-organización (Bicocchi & Zambonelli, 2007)   y es allí donde mediante la observación de dichos fenómenos es posible analizar y sintetizar las reglas principales que hacen esto posible.

Adicionalmente en mi caso, lo que he hecho hasta ahora es diseñar una simulación de sistema distribuido (Rodríguez, Gómez, & Diaconescu, 2017b). Simulación, en el sentido de ser un programa que permite definir diferentes ambientes de sistema distribuido como agentes móviles (ej. insectos) explorando un espacio que puede ser bidimensional o que incluso puede verse como una red de computadores.

Auto-recuperación de sistemas distribuidos inspirada en la naturaleza3

Figura 2. Sistema distribuido que forma una red de tipo Bosque de Estrellas (Forest Hub & Spoke)

Para mí un sistema distribuido se ve cómo la Figura 2. ¿Un poco diferente a Terminator no? En este punto podemos pensar cómo funciona nuestro correo electrónico. Una persona revisa su correo y se ve a través del navegador web en una sola ventana. Sin embargo, la información de nuestros correos está copiada en diferentes servidores (que son computadores también o máquinas virtuales) distribuidas en el mundo y dichos servidores pueden estar conectados de diferentes formas -Incluso como en la Figura 2.

Ahora pensemos un poco en que esos servidores pueden fallar y desaparecer. En ese sentido lo que necesitaría es tener sincronizada una copia de mis datos en cada uno de los servidores. Para esto en mi caso que es inspirado en la naturaleza, utilicé algoritmos basados en inteligencia de enjambres y hacer posible que los agentes exploren y coleccionen copias de la información que está distribuida en esa red (Rodríguez, Gómez, & Diaconescu, 2017a).  Pensemos en insectos moviéndose en dicha red y copiando los datos. Dichos insectos a pesar de dañarse pueden copiar los datos debido a que sus dinámicas de movimiento basadas en feromonas les permiten explorar de una forma eficiente el espacio.

Adicionalmente, es posible que mi red cree nuevos insectos si fallan los canales de comunicación y recuperarlos (Rodríguez, Gómez, & Diaconescu, 2017), mediante su movimiento entre servidor y servidor es posible detectar cuando fallan y crear copias. El problema aquí es determinar cuántas copias de insectos se pueden crear, pues si se generan demasiadas copias de agentes móviles en un caso como el del correo electrónico muchos recursos computacionales serán utilizados y si son pocos los agentes móviles pueden no replicar la información en dicha red de forma rápida.

Llegando un poco a Terminator en lo que me encuentro trabajando ahora es en hacer que mis agentes móviles reconstruyan la estructura de la red. En dichas películas, había unos robots que podían reconstruir su estructura (y parecían de mercurio líquido). Por ahora si mi red de la Figura 2 desaparece espero poder reconstruirla.  Por ahora les cuento que en algunos experimentos ya esta parte de la aventura llamada investigación me está funcionando, ha sido todo un reto y aún continúo trabajando en esto.  Espero contarles cómo me fue en una futura entrega de semillas.

 

Mg. PhD (c).  Arles Ernesto Rodríguez Portela

Docente de Ingeniería de Sistemas

Fundación Universitaria Konrad Lorenz

 

Referencias:

Bicocchi, N., & Zambonelli, F. (2007). Autonomic communication learns from nature. Potentials, IEEE26(6), 42–46. http://doi.org/10.1109/MPOT.2007.906119

Lalanda, P., Mccann, J. A., & Diaconescu, A. (2013). Autonomic Computing: Principles, Design and Implementation. Springer.

Raynal, M. (2013). Distributed Algorithms for Message-Passing Systems. Berlin, Heidelberg: Springer Berlin Heidelberg. http://doi.org/10.1007/978-3-642-38123-2

Rodríguez, A., Gómez, J., & Diaconescu, A. (2017). Exploring Complex Networks with Failure-Prone Agents. In O. Pichardo-Lagunas & S. Miranda-Jiménez (Eds.), 15th Mexican International Conference on Artificial Intelligence, MICAI 2016 (pp. 81–98). Cham: Lecture Notes In Computer Science. http://doi.org/10.1007/978-3-319-62428-0_7

Rodríguez, A., Gómez, J., & Diaconescu, A. (2017). Replication-Based Self-healing of Mobile Agents Exploring Complex Networks. In Y. Demazeau, P. Davidsson, J. Bajo, & Z. Vale (Eds.), Advances in Practical Applications of Cyber-Physical Multi-Agent Systems: The PAAMS Collection: 15th International Conference, PAAMS 2017, Porto, Portugal, June 21-23, 2017, Proceedings (pp. 222–233). Cham: Springer International Publishing. http://doi.org/10.1007/978-3-319-59930-4_18

Rodríguez, A., Gómez, J., & Diaconescu, A. (2017). Towards a Self-healing Multi-agent Platform for Distributed Data Management. In Y. Demazeau, P. Davidsson, J. Bajo, & Z. Vale (Eds.), Advances in Practical Applications of Cyber-Physical Multi-Agent Systems: The PAAMS Collection: 15th International Conference, PAAMS 2017, Porto, Portugal, June 21-23, 2017, Proceedings (pp. 350–354). Cham: Springer International Publishing. http://doi.org/10.1007/978-3-319-59930-4_36

Carácter Académico: Institución Universitaria. Personería Jurídica por Resolución 18537 del 4 de noviembre de 1981 del Ministerio de Educación Nacional. Institución de Educación Superior sujeta a inspección y vigilancia por el Ministerio de Educación Nacional (Art. 2.5.3.2.10.2, Decreto 1075 de 2015). Vigilada Mineducación.
  • imagen
  • imagen
  • imagen
  • imagen
  • imagen