La computación autónoma (CA) se refiere a las características de autogestión de los recursos informáticos distribuidos , adaptándose a cambios impredecibles mientras oculta la complejidad intrínseca a los operadores y usuarios. Iniciada por IBM en 2001, esta iniciativa tenía como objetivo en última instancia desarrollar sistemas informáticos capaces de autogestión, superar la creciente complejidad de la gestión de sistemas informáticos y reducir la barrera que la complejidad plantea para un mayor crecimiento. [1]
Descripción
El concepto del sistema de aire acondicionado está diseñado para tomar decisiones adaptables, 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ónomo se compone de componentes autónomos (AC) que interactúan entre sí. Una CA puede modelarse en términos de dos esquemas de control principales (local y global) con sensores (para autocontrol ), efectores (para autoajuste), conocimiento y planificador / adaptador para políticas de explotación basadas en la conciencia de uno mismo y del medio ambiente. Esta arquitectura a veces se denomina Monitor-Analizar-Plan-Ejecutar (MAPE).
Impulsado por tal visión, se ha propuesto recientemente una variedad de marcos arquitectónicos basados en componentes autónomos " autorreguladores ". Una tendencia muy similar ha caracterizado recientemente importantes investigaciones en el área de sistemas multiagente . Sin embargo, la mayoría de estos enfoques generalmente se conciben con arquitecturas de servidor centralizadas o basadas en clústeres en mente y, en su mayoría, abordan la necesidad de reducir los costos de administración en lugar de la necesidad de habilitar sistemas de software complejos o brindar servicios innovadores. Algunos sistemas autónomos involucran a agentes móviles que interactúan a través de mecanismos de comunicación débilmente acoplados. [2]
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 complejidad creciente
Los pronósticos sugieren que los dispositivos informáticos en uso crecerán un 38% por año [4] y la complejidad promedio de cada dispositivo está aumentando. [4] Actualmente, este volumen y complejidad es manejado por humanos altamente calificados; pero la demanda de personal de TI calificado ya supera a la oferta, y los costos laborales superan los costos del equipo en una proporción de hasta 18: 1. [5] Los sistemas informáticos han aportado grandes beneficios de la velocidad y la automatización, pero ahora existe una abrumadora necesidad económica de automatizar su mantenimiento.
En un artículo de IEEE Computer de 2003 , 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 omnipresente " en la que los arquitectos son incapaces de anticipar, diseñar y mantener la complejidad de las interacciones. Afirman que la esencia de la computación autónoma es la autogestión del sistema, que libera a los administradores de la gestión de tareas de bajo nivel al tiempo que 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 en su desarrollo posterior. Las grandes empresas e instituciones están empleando redes informáticas a gran escala para la comunicación y la computación. 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 asistencia al cliente.
Además, la informática móvil está impregnando estas redes a una velocidad cada vez mayor: los empleados necesitan comunicarse con sus empresas mientras no están en su oficina. Lo hacen mediante el uso de computadoras portátiles , asistentes digitales personales o teléfonos móviles con diversas formas de tecnologías inalámbricas para acceder a los datos de sus empresas.
Esto crea una enorme complejidad en la red informática general que es difícil de controlar manualmente por operadores humanos. El control manual requiere mucho tiempo, es caro y es 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 en la infraestructura ocurren en la aplicación específica del cliente y en la capa de base de datos. [ cita requerida ] La mayoría de los proveedores de servicios 'autónomos' [ ¿quién? ] garantizan solo hasta la capa básica de plomería (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 administren por sí mismos sin la intervención humana directa. La Iniciativa de Computación Autonómica (ACI) tiene como objetivo sentar las bases de los sistemas autónomos. Está inspirado en el sistema nervioso autónomo del cuerpo humano. [6] Este sistema nervioso controla funciones corporales importantes (por ejemplo, respiración, frecuencia cardíaca y 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 propiedad denominados propiedades self-star (también llamadas self- *, self-x o auto- *). [7]
- Autoconfiguración: configuración automática de componentes;
- Autorreparación: descubrimiento automático y corrección de fallas; [8]
- Autooptimización : Monitoreo y control automático de recursos para asegurar el funcionamiento óptimo con respecto a los requisitos definidos;
- Autoprotección: identificación proactiva y protección frente a ataques arbitrarios.
Otros como Poslad [7] y Nami y Bertels [9] han ampliado el conjunto de autoestrellas de la siguiente manera:
- Autorregulación : Un sistema que opera para mantener algún parámetro, por ejemplo, Calidad de servicio , dentro de un rango de reinicio 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 conocer sus componentes internos y enlaces 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;
- Auto-creación (también llamado Autoensamblaje , Auto-replicación ): Sistema impulsado por modelos de tipo ecológico y social sin presión explícita o participación desde fuera del sistema. Los miembros de un sistema se motivan y manejan a sí mismos, lo que genera complejidad y orden en una respuesta creativa a una demanda estratégica en constante cambio;
- Autogestión (también llamado autogobierno): Un sistema que se autogestiona sin intervención externa. Lo que se administra puede variar según el sistema y la aplicación. La autogestión también se refiere a un conjunto de procesos auto-estrella como la computación autónoma en lugar de un solo proceso auto-estrella;
- Autodescripción (también llamada autoexplicación o autorrepresentación): un sistema se explica a sí mismo. Es capaz de ser entendido (por humanos) sin mayor explicación.
IBM ha establecido ocho condiciones que definen un sistema autónomo: [10]
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;
- ser capaz de configurarse y reconfigurarse automáticamente en función del entorno informático cambiante;
- poder optimizar su rendimiento para garantizar el proceso informático más eficiente;
- ser capaz de solucionar los problemas encontrados reparándose a sí mismo o alejando las funciones del problema;
- detectar, identificar y protegerse contra varios tipos de ataques para mantener la seguridad e integridad general del sistema;
- adaptarse a su entorno a medida que cambia, interactuando con los sistemas vecinos y estableciendo protocolos de comunicación;
- se basan en estándares abiertos y no pueden existir en un entorno propietario;
- anticipe la demanda de sus recursos sin dejar de ser transparente para los usuarios.
Aunque el propósito y, por lo tanto, el comportamiento de los sistemas autónomos varían de un sistema a otro, todo sistema autónomo debería poder exhibir un conjunto mínimo de propiedades para lograr su propósito:
- Automático : esto esencialmente significa poder autocontrolar sus funciones y operaciones internas. Como tal, un sistema autónomo debe ser autónomo y capaz de ponerse en marcha y funcionar sin ninguna intervención manual o ayuda externa. Nuevamente, el conocimiento requerido para arrancar el sistema ( Know-how ) debe ser inherente al sistema.
- Adaptativo : Un sistema autónomo debe poder cambiar su funcionamiento (es decir, su configuración, estado y funciones). Esto permitirá al sistema hacer frente a los 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, fallas, etc.).
- Consciente : Un sistema autónomo debe poder monitorear (sentir) su contexto operativo así como su estado interno para poder evaluar si su operación actual sirve para su propósito. La conciencia controlará la adaptación de su comportamiento operativo en respuesta a cambios de contexto o de estado.
Niveles evolutivos
IBM definió cinco niveles evolutivos, o el 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 en la que los sistemas se gestionan esencialmente de forma manual.
- Los niveles 2 a 4 introducen funciones de gestión cada vez más automatizadas, mientras
- El nivel 5 representa el objetivo final de los sistemas autónomos y autogestionados. [11]
Patrones de diseño
La complejidad del diseño de los sistemas autónomos se puede simplificar utilizando patrones de diseño como el patrón modelo-vista-controlador (MVC) para mejorar la separación de preocupaciones al encapsular las preocupaciones funcionales. [12]
Bucles de control
Un concepto básico que se aplicará en los Sistemas Autonómicos son los lazos de control cerrados . Este conocido concepto se deriva de la teoría del control de procesos . Esencialmente, un circuito de control cerrado en un sistema de autogestión monitorea algún recurso (software o componente de hardware) e intenta de manera autónoma mantener sus parámetros dentro de un rango deseado.
Según IBM, se espera que cientos o incluso miles de estos circuitos de control funcionen en un sistema informático autogestionado a gran escala.
Modelo conceptual
Un bloque de construcción 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, bootstrapping , 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 cumplir su Propósito , e influir por 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á impulsado por un propósito. Esto incluye su misión (por ejemplo, el servicio que se supone que ofrece), las políticas (por ejemplo, que definen el comportamiento básico) y el " instinto de supervivencia ". Si se ve como un sistema de control, esto se codificaría como una función de error de retroalimentación o en un sistema asistido heurísticamente como un algoritmo combinado con un conjunto de heurísticas que delimitan su espacio operativo.
Ver también
- Redes autónomas
- Sistema nervioso autónomo
- Computación orgánica
- Resiliencia (red)
Referencias
- ^ a b Kephart, JO; Chess, DM (2003), "La visión de la computación autónoma", Computadora , 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 basada en eventos de publicación-suscripción independiente de la plataforma para agentes móviles . Actas del 14º Taller internacional sobre aplicaciones de bases de datos y sistemas expertos (DEXA'03) . págs. 669–673. doi : 10.1109 / DEXA.2003.1232098 . ISBN 978-0-7695-1993-7.
- ^ Jin, Xiaolong; Liu, Jiming (2004), "Del modelado basado en el individuo a la computación orientada a la autonomía", Agentes y autonomía computacional , Lecture Notes in Computer Science, 2969 , p. 151, doi : 10.1007 / 978-3-540-25928-2_13 , ISBN 978-3-540-22477-8
- ^ a b Bocina. "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 de Berkeley de California, Estados Unidos, marzo de 2002
- ^ http://whatis.techtarget.com/definition/autonomic-computing
- ^ a b Poslad, Stefan (2009). Sistemas autónomos y vida artificial, en: Computación ubicua, dispositivos inteligentes, entornos inteligentes e interacción inteligente . Wiley. págs. 317–341. ISBN 978-0-470-03560-3. Archivado 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; Bertels, K. (2007). "Un estudio de los sistemas informáticos autónomos": 26-30. Cite journal requiere
|journal=
( ayuda ) - ^ "¿Qué es la informática autónoma? Definición de Webopedia" .
- ^ "IBM presenta un nuevo modelo de implementación de computación autónoma" . 2002-10-21.
- ^ Curry, Edward; Grace, Paul (2008), "Autogestión flexible mediante el patrón Modelo-Vista-Controlador", Software IEEE , 25 (3): 84, doi : 10.1109 / MS.2008.60
enlaces externos
- Congreso Internacional de Computación Autonómica (ICAC 2013)
- Computación autónoma de Richard Murch publicado por IBM Press
- Artículos y tutoriales de Autonomic Computing
- Computación autónoma práctica: hoja de ruta para la tecnología de autogestión
- Blog de informática autónoma
- Whitestein Technologies - proveedor de entorno de desarrollo e integración para software de computación autónoma
- Applied Autonomics proporciona servicios web autónomos
- Sitio web de Enigmatec: proveedores de software informático autónomo
- Redes de manos libres: proveedores de software informático autónomo
- Proyecto CASCADAS: Component-ware para Comunicaciones Autonómicas, Conscientes de la Situación y Adaptables Dinámicamente, financiado por la Unión Europea
- Kit de herramientas autónomas CASCADAS en código abierto
- Proyecto ANA: Proyecto de Investigación de Arquitectura de Redes Autonómicas, financiado por la Unión Europea
- JADE: un marco para el desarrollo de software de administración autónoma
- Barcelona Supercomputing Center - Sistemas Autonómicos y Plataformas de eBusiness
- SÓCRATES: Autooptimización y autoconfiguración en redes inalámbricas
- Sistemas automotrices de autoconfiguración dinámica
- ASSL (Lenguaje de especificación de sistemas autónomos): un marco para la especificación, validación y generación de sistemas autónomos
- Explicación de Autonomic Computing y su uso para procesos de negocio (IBM) - en alemán [ enlace muerto permanente ]
- Arquitectura de Computación Autonómica en el RKBExplorer
- Revista Internacional de Computación Autonómica
- BiSNET / e: una arquitectura de redes de sensores cognitivos con optimización evolutiva multiobjetivo
- Licas: marco de código abierto para la construcción de redes basadas en servicios con Autonomic Manager integrado.