Características de autogestión de los recursos informáticos distribuidos
La computación autónoma ( AC ) consiste en recursos informáticos distribuidos con características de autogestión , que se adaptan a cambios impredecibles y ocultan la complejidad intrínseca a los operadores y usuarios. Esta iniciativa, iniciada por IBM en 2001, tenía como objetivo principal desarrollar sistemas informáticos capaces de autogestionarse, superar la creciente complejidad de la gestión de sistemas informáticos y reducir la barrera que la complejidad supone para un mayor crecimiento. [1]
Descripción
El concepto de sistema de CA está diseñado para tomar decisiones adaptativas, utilizando políticas de alto nivel. Verificará y optimizará constantemente su estado y se adaptará automáticamente a las condiciones cambiantes. Un marco de computación autónoma se compone de componentes autónomos (CA) que interactúan entre sí. Un CA se puede modelar en términos de dos esquemas de control principales (local y global) con sensores (para automonitoreo ), efectores (para autoajuste), conocimiento y planificador/adaptador para explotar políticas basadas en la conciencia propia y del entorno. Esta arquitectura a veces se conoce como Monitor-Analyze-Plan-Execute (MAPE).
La computación orientada a la autonomía es un paradigma propuesto por Jiming Liu en 2001 que utiliza sistemas artificiales que imitan los comportamientos colectivos de los animales sociales para resolver problemas computacionales difíciles. Por ejemplo, la optimización de colonias de hormigas podría estudiarse en este paradigma. [3]
Problema de la creciente complejidad
Las previsiones indican que los dispositivos informáticos en uso crecerán un 38% al año [4] y la complejidad media de cada dispositivo está aumentando. [4] En la actualidad, este volumen y complejidad están gestionados por personas altamente cualificadas, pero la demanda de personal informático cualificado ya supera la oferta, y los costes laborales superan los costes de los equipos en una proporción de hasta 18:1. [5] Los sistemas informáticos han aportado grandes beneficios en cuanto a velocidad y automatización, pero ahora existe una necesidad económica abrumadora de automatizar su mantenimiento.
En un artículo publicado en 2003 en IEEE Computer , Kephart y Chess [1]
advierten que el sueño de la interconectividad de los sistemas y dispositivos informáticos podría convertirse en la "pesadilla de la informática generalizada ", en la que los arquitectos son incapaces de anticipar, diseñar y mantener la complejidad de las interacciones. Afirman que la esencia de la informática autónoma es la autogestión del sistema, que libera a los administradores de la gestión de tareas de bajo nivel y ofrece un mejor comportamiento del sistema.
Un problema general de los sistemas informáticos distribuidos modernos es que su complejidad , y en particular la complejidad de su gestión, se está convirtiendo en un factor limitante significativo para su desarrollo futuro. Las grandes empresas e instituciones están empleando redes informáticas a gran escala para la comunicación y el cálculo. Las aplicaciones distribuidas que se ejecutan en estas redes informáticas son diversas y se ocupan de muchas tareas, que van desde los procesos de control interno hasta la presentación de contenido web y la atención al cliente.
Esto genera una enorme complejidad en la red informática global, que resulta difícil de controlar manualmente por operadores humanos. El control manual requiere mucho tiempo, es costoso y propenso a errores. El esfuerzo manual necesario para controlar un sistema informático en red en crecimiento tiende a aumentar muy rápidamente.
El 80% de estos problemas de infraestructura ocurren en la capa de base de datos y aplicación específica del cliente. [ cita requerida ] La mayoría de los proveedores de servicios "autónomos" [ ¿quiénes? ] garantizan solo hasta la capa básica de infraestructura (energía, hardware, sistema operativo , red y parámetros básicos de la base de datos).
Características de los sistemas autónomos
Una posible solución podría ser permitir que los sistemas informáticos modernos en red se gestionen por sí solos sin intervención humana directa. La Iniciativa de Computación Autónoma (ACI) tiene como objetivo proporcionar la base para los sistemas autónomos. Está inspirada en el sistema nervioso autónomo del cuerpo humano. [6] Este sistema nervioso controla funciones corporales importantes (por ejemplo, la respiración, la frecuencia cardíaca y la presión arterial ) sin ninguna intervención consciente.
En un sistema autónomo autogestionado , el operador humano asume un nuevo rol: en lugar de controlar el sistema directamente, define políticas y reglas generales que guían el proceso de autogestión. Para este proceso, IBM definió los siguientes cuatro tipos de propiedades denominadas propiedades self-star (también llamadas self-*, self-x o auto-*). [7]
Autoconfiguración: Configuración automática de componentes;
Autocuración: detección y corrección automática de fallos; [8]
Autooptimización : Monitorización y control automático de los recursos para garantizar el funcionamiento óptimo respecto a los requisitos definidos;
Autoprotección: identificación proactiva y protección contra ataques arbitrarios.
Otros, como Poslad [7] y Nami y Sharifi [9], han ampliado el conjunto de estrellas propias de la siguiente manera:
Autorregulación : Un sistema que opera para mantener algún parámetro, por ejemplo, la calidad del servicio , dentro de un rango de restablecimiento sin control externo;
Autoaprendizaje: Los sistemas utilizan técnicas de aprendizaje automático como el aprendizaje no supervisado que no requiere control externo;
Autoconciencia (también llamada autoinspección y autodecisión): el sistema debe conocerse a sí mismo. Debe conocer el alcance de sus propios recursos y los recursos a los que se vincula. Un sistema debe ser consciente de sus componentes internos y vínculos externos para poder controlarlos y gestionarlos;
Autoorganización : Estructura del sistema impulsada por modelos de tipo físico sin presión explícita o participación desde fuera del sistema;
Autocreación (también llamada autoensamblaje , autorreplicación ): sistema impulsado por modelos de tipo ecológico y social sin presión explícita ni participación externa al sistema. Los miembros de un sistema son automotivados y autodirigidos, generando complejidad y orden en una respuesta creativa a una demanda estratégica en constante cambio;
Autogestión (también llamada autogobierno): Un sistema que se gestiona a sí mismo sin intervención externa. Lo que se gestiona puede variar según el sistema y la aplicación. La autogestión también se refiere a un conjunto de procesos autopropulsados, como la computación autónoma, en lugar de un único proceso autopropulsado;
Autodescripción (también llamada autoexplicación o autorrepresentación): un sistema se explica a sí mismo. Es capaz de ser comprendido (por los humanos) sin más explicaciones.
IBM ha establecido ocho condiciones que definen un sistema autónomo: [10] [11]
El sistema debe
conocerse a sí mismo en términos de a qué recursos tiene acceso, cuáles son sus capacidades y limitaciones y cómo y por qué está conectado a otros sistemas;
poder configurarse y reconfigurarse automáticamente dependiendo del entorno informático cambiante;
poder optimizar su rendimiento para garantizar el proceso computacional más eficiente;
poder solucionar los problemas encontrados, ya sea reparándose a sí mismo o desviando funciones del problema;
detectar, identificar y protegerse contra diversos tipos de ataques para mantener la seguridad e integridad general del sistema;
adaptarse a su entorno a medida que cambia, interactuando con sistemas vecinos y estableciendo protocolos de comunicación;
dependen de estándares abiertos y no pueden existir en un entorno propietario;
anticipar la demanda de sus recursos y al mismo tiempo mantener la transparencia ante los usuarios.
Aunque el propósito y, por tanto, el comportamiento de los sistemas autónomos varían de un sistema a otro, cada sistema autónomo debería ser capaz de exhibir un conjunto mínimo de propiedades para lograr su propósito:
Automático : Esto significa esencialmente ser capaz de autocontrolar sus funciones y operaciones internas. Como tal, un sistema autónomo debe ser autónomo y capaz de iniciarse y funcionar sin ninguna intervención manual o ayuda externa. Nuevamente, el conocimiento necesario para poner en marcha el sistema ( Know-how ) debe ser inherente al sistema.
Adaptativo : Un sistema autónomo debe ser capaz de cambiar su funcionamiento (es decir, su configuración, estado y funciones). Esto le permitirá hacer frente a cambios temporales y espaciales en su contexto operativo, ya sea a largo plazo (personalización/optimización del entorno) o a corto plazo (condiciones excepcionales como ataques maliciosos, fallos, etc.).
Consciente : Un sistema autónomo debe ser capaz de monitorear (percibir) su contexto operativo, así como su estado interno, para poder evaluar si su funcionamiento actual cumple con su propósito. La conciencia controlará la adaptación de su comportamiento operativo en respuesta a cambios de contexto o estado.
Niveles evolutivos
IBM definió cinco niveles evolutivos, o modelo de implementación autónoma , para la implementación de sistemas autónomos:
El nivel 1 es el nivel básico que presenta la situación actual donde los sistemas se gestionan esencialmente de forma manual.
Los niveles 2 a 4 introducen funciones de gestión cada vez más automatizadas, mientras que
El nivel 5 representa el objetivo final de los sistemas autónomos y autogestionados. [12]
Un concepto básico que se aplicará en los sistemas autónomos son los bucles de control cerrados . Este conocido concepto proviene de la teoría de control de procesos . Básicamente, un bucle de control cerrado en un sistema autogestionado supervisa algún recurso (componente de software o hardware) e intenta de forma autónoma mantener sus parámetros dentro de un rango deseado.
Según IBM, se espera que cientos o incluso miles de estos bucles de control funcionen en un sistema informático autogestionado a gran escala.
Modelo conceptual
Un componente fundamental de un sistema autónomo es la capacidad de detección ( Sensores S i ), que permite al sistema observar su contexto operativo externo. Inherente a un sistema autónomo es el conocimiento del Propósito (intención) y el Know-how para operar por sí mismo (por ejemplo, arranque , conocimiento de configuración, interpretación de datos sensoriales, etc.) sin intervención externa. El funcionamiento real del sistema autónomo está dictado por la Lógica , que es responsable de tomar las decisiones correctas para servir a su Propósito , y la influencia de la observación del contexto operativo (basado en la entrada del sensor).
Este modelo destaca el hecho de que el funcionamiento de un sistema autónomo está determinado por un propósito. Esto incluye su misión (por ejemplo, el servicio que se supone que debe ofrecer), las políticas (por ejemplo, las que definen el comportamiento básico) y el " instinto de supervivencia ". Si se lo considera como un sistema de control, se lo codificaría como una función de retroalimentación de error o, en un sistema asistido por heurística, como un algoritmo combinado con un conjunto de heurísticas que delimitan su espacio operativo.
^ ab Kephart, JO; Chess, DM (2003), "La visión de la computación autónoma", Computer , 36 : 41–52, CiteSeerX 10.1.1.70.613 , doi :10.1109/MC.2003.1160055
^ Padovitz, Amir; Arkady Zaslavsky; Seng W. Loke (2003). "Conciencia y agilidad para sistemas distribuidos autónomos: comunicación independiente de la plataforma y basada en eventos de publicación-suscripción para agentes móviles". 14.º Taller internacional sobre aplicaciones de bases de datos y sistemas expertos, 2003. Actas. págs. 669–673. doi :10.1109/DEXA.2003.1232098. ISBN .978-0-7695-1993-7. Número de identificación del sujeto 15846232.
^ Jin, Xiaolong; Liu, Jiming (2004), "Del modelado basado en individuos a la computación orientada a la autonomía", Agentes y autonomía computacional , Lecture Notes in Computer Science, vol. 2969, pág. 151, doi :10.1007/978-3-540-25928-2_13, ISBN978-3-540-22477-8
^ ab Horn. "Computación autónoma: la perspectiva de IBM sobre el estado de la tecnología de la información" (PDF) . Archivado desde el original (PDF) el 16 de septiembre de 2011.
^ 'Tendencias en tecnología', encuesta, Universidad Berkeley de California, EE.UU., marzo de 2002
^ "¿Qué es la computación ubicua (computación generalizada)?"
^ ab Poslad, Stefan (2009). Sistemas autónomos y vida artificial, en: Ubiquitous Computing Smart Devices, Smart Environments and Smart Interaction. Wiley. págs. 317–341. ISBN978-0-470-03560-3Archivado desde el original el 10 de diciembre de 2014. Consultado el 17 de marzo de 2015 .
^ Red S-Cube. "Sistema de autocuración".
^ Nami, MR; Sharifi, M. (2007). "Un estudio de los sistemas informáticos autónomos". Procesamiento inteligente de la información III . Tercera Conferencia Internacional sobre Sistemas Autónomos y Autonómicos (ICAS'07). IFIP Federación Internacional de Procesamiento de la Información. Vol. 228. págs. 26–30. doi : 10.1007/978-0-387-44641-7_11 . ISBN .978-0-387-44639-4.S2CID6974127 .
^ "Investigación de IBM | Computación autónoma | Descripción general | Los 8 elementos". Archivado desde el original el 12 de agosto de 2004. Consultado el 27 de diciembre de 2021 .
^ "¿Qué es la computación autónoma? Definición de biblioteca en línea". 22 de junio de 2004.
^ "IBM presenta un nuevo modelo de implementación de computación autónoma". IBM . 21 de octubre de 2002.
^ Curry, Edward; Grace, Paul (2008), "Autogestión flexible mediante el patrón Modelo-Vista-Controlador", IEEE Software , 25 (3): 84, doi :10.1109/MS.2008.60, S2CID 583784
Enlaces externos
Conferencia Internacional sobre Computación Autónoma (ICAC 2013)
Computación autónoma de Richard Murch publicado por IBM Press
Artículos y tutoriales sobre computación autónoma
Computación autónoma práctica: hoja de ruta hacia la tecnología autogestionada
Blog sobre computación autónoma
Whitestein Technologies: proveedor de entornos de desarrollo e integración para software de computación autónoma
Applied Autonomics ofrece servicios web autónomos
Sitio web de Enigmatec: proveedores de software de computación autónoma
Handsfree Networks: proveedores de software informático autónomo Archivado el 17 de agosto de 2013 en Wayback Machine
Proyecto CASCADAS: Component-ware para comunicaciones autónomas, sensibles a la situación y dinámicamente adaptables, financiado por la Unión Europea
Kit de herramientas autónomas CASCADAS en código abierto
Proyecto ANA: Proyecto de investigación sobre arquitectura de redes autónomas, financiado por la Unión Europea
JADE – Un marco para el desarrollo de software de administración autonómica
Barcelona Supercomputing Center – Sistemas Autonómicos y Plataformas de eBusiness
SÓCRATES: Autooptimización y autoconfiguración en redes inalámbricas