Articulo de referencia

computación autónoma

La computación autónoma ( CA ) consiste en recursos informáticos distribuidos con características de autogestión , que se adaptan a cambios impredecibles y ocultan su complejida...

La computación autónoma ( CA ) consiste en recursos informáticos distribuidos con características de autogestión , que se adaptan a cambios impredecibles y ocultan su complejidad intrínseca a operadores y usuarios. Iniciada por IBM en 2001, esta iniciativa tenía como objetivo principal 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 dicha complejidad supone para un mayor crecimiento. [ 1 ]

Descripción

El concepto de sistema de control autónomo (CA) está diseñado para tomar decisiones adaptativas mediante políticas de alto nivel. Constantemente verifica y optimiza su estado, adaptándose 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 puede modelarse mediante dos esquemas de control principales (local y global) con sensores (para automonitoreo ), efectores (para autoajuste), conocimiento y un planificador/adaptador para aplicar políticas basadas en la autoconciencia y la conciencia del entorno. Esta arquitectura se conoce a veces como Monitorear-Analizar-Planificar-Ejecutar (MAPE).

Impulsados ​​por esta visión, recientemente se han propuesto diversos marcos arquitectónicos basados ​​en componentes autónomos " autorregulados ". Una tendencia similar ha caracterizado recientemente importantes investigaciones en el área de sistemas multiagente . Sin embargo, la mayoría de estos enfoques suelen concebirse teniendo en mente arquitecturas de servidores centralizados o basados ​​en clústeres, y abordan principalmente la necesidad de reducir los costos de gestión en lugar de la necesidad de habilitar sistemas de software complejos o proporcionar servicios innovadores. Algunos sistemas autónomos involucran 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 complejos. Por ejemplo, la optimización de colonias de hormigas podría estudiarse dentro de este paradigma. [ 3 ]

Problema de creciente complejidad

Las previsiones indicaban que los dispositivos informáticos en uso crecerían un 38 % anual [ 4 ] y que la complejidad media de cada dispositivo iba en aumento. [ 4 ] Este volumen y complejidad eran gestionados por personas altamente cualificadas; pero la demanda de personal informático cualificado ya superaba la oferta, con costes laborales que superaban los costes de los equipos en una proporción de hasta 18:1. [ 5 ] Los sistemas informáticos han aportado grandes ventajas en cuanto a velocidad y automatización, pero ahora existe una necesidad económica imperiosa 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 computación ubicua ", 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 proporciona 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 importante para su desarrollo. Grandes empresas e instituciones emplean redes informáticas a gran escala para la comunicación y el procesamiento de datos. Las aplicaciones distribuidas que se ejecutan en estas redes son diversas y gestionan múltiples tareas, desde procesos de control interno hasta la presentación de contenido web y la atención al cliente.

Además, la informática móvil está penetrando en estas redes a un ritmo cada vez mayor: los empleados necesitan comunicarse con sus empresas cuando no están en la oficina. Lo hacen utilizando ordenadores portátiles , asistentes digitales personales o teléfonos móviles con diversas tecnologías inalámbricas para acceder a los datos de sus empresas.

Esto genera una enorme complejidad en la red informática, difícil de controlar manualmente por operadores humanos. El control manual consume mucho tiempo, es costoso y propenso a errores. El esfuerzo manual necesario para controlar un sistema informático en red en constante crecimiento tiende a aumentar rápidamente.

El 80 % de estos problemas de infraestructura se producen en la capa de aplicación y base de datos específica del cliente. La mayoría de los proveedores de servicios "autónomos" solo garantizan hasta la capa básica de infraestructura (alimentación, 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 autogestionen sin intervención humana directa. La Iniciativa de Computación Autónoma (ACI) tiene como objetivo sentar las bases para los sistemas autónomos. Se inspira 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 ]

  1. Autoconfiguración: Configuración automática de componentes;
  2. Autocuración: Detección y corrección automáticas de fallos; [ 8 ]
  3. Autooptimización : Monitoreo y control automático de los recursos para garantizar un funcionamiento óptimo con respecto a los requisitos definidos;
  4. 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 la autoestrella de la siguiente manera:

  1. Autorregulación : Un sistema que opera para mantener algún parámetro, por ejemplo, la calidad del servicio , dentro de un rango de reinicio sin control externo;
  2. Autoaprendizaje: Los sistemas utilizan técnicas de aprendizaje automático, como el aprendizaje no supervisado , que no requiere control externo;
  3. 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 con los que se conecta. Un sistema debe ser consciente de sus componentes internos y vínculos externos para poder controlarlos y gestionarlos;
  4. Autoorganización : Estructura del sistema impulsada por modelos de tipo físico sin presión explícita ni participación externa al sistema;
  5. 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 del sistema están automotivados y autodirigidos, generando complejidad y orden en respuesta creativa a una demanda estratégica en constante cambio;
  6. 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 auto-estrella, como la computación autónoma, en lugar de un único proceso auto-estrella;
  7. 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 necesidad de explicaciones adicionales.

IBM ha establecido ocho condiciones que definen un sistema autónomo: [ 10 ] [ 11 ]

El sistema debe

  1. conocerse a sí mismo en términos de los recursos a los que tiene acceso, cuáles son sus capacidades y limitaciones, y cómo y por qué está conectado a otros sistemas;
  2. ser capaz de configurarse y reconfigurarse automáticamente en función del entorno informático cambiante;
  3. ser capaz de optimizar su rendimiento para garantizar el proceso de computación más eficiente;
  4. ser capaz de sortear los problemas encontrados, ya sea reparándose a sí mismo o redirigiendo las funciones para que no afecten al problema;
  5. Detectar, identificar y protegerse contra diversos tipos de ataques para mantener la seguridad e integridad generales del sistema;
  6. adaptarse a su entorno a medida que este cambia, interactuando con los sistemas vecinos y estableciendo protocolos de comunicación;
  7. Dependen de estándares abiertos y no pueden existir en un entorno propietario;
  8. anticipar la demanda de sus recursos manteniendo la transparencia con los usuarios.

Si bien 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 ser capaz de exhibir un conjunto mínimo de propiedades para lograr su propósito:

  1. Automático : Esto significa, esencialmente, que un sistema autónomo puede autocontrolar sus funciones y operaciones internas. Por lo tanto, debe ser autosuficiente y capaz de arrancar y operar sin intervención manual ni ayuda externa. Asimismo, el conocimiento necesario para poner en marcha el sistema ( conocimiento práctico ) debe ser inherente al mismo.
  2. Adaptable : Un sistema autónomo debe ser capaz de modificar 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 (adaptación/optimización del entorno) o a corto plazo (condiciones excepcionales como ataques maliciosos, fallos, etc.).
  3. Conciencia : 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 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 el modelo de despliegue autónomo , para el despliegue 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 ]

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 responsabilidades encapsulando las responsabilidades funcionales. [ 13 ]

Bucles de control

Un concepto fundamental que se aplicará en los sistemas autónomos son los bucles de control cerrados . Este concepto, ampliamente conocido, proviene de la teoría del 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 Si ) , que le permite observar su contexto operativo externo. Un sistema autónomo posee inherentemente el conocimiento de su propósito (intención) y el conocimiento práctico para operar por sí mismo (por ejemplo, autoarranque , conocimiento de la configuración, interpretación de datos sensoriales, etc.) sin intervención externa. El funcionamiento real del sistema autónomo está determinado por la lógica , responsable de tomar las decisiones correctas para cumplir su propósito , y se ve influenciado por la observación del contexto operativo (basada en la información de los sensores).

Este modelo subraya que el funcionamiento de un sistema autónomo está orientado a un propósito. Esto incluye su misión (por ejemplo, el servicio que debe ofrecer), las políticas (por ejemplo, las que definen su comportamiento básico) y el « instinto de supervivencia ». Si se considera 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.

Véase también

Referencias

  1. 1 2 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 
  2. Padovitz, Amir; Arkady Zaslavsky; Seng W. Loke (2003). «Conciencia y agilidad para sistemas distribuidos autónomos: comunicación basada en eventos, independiente de la plataforma y 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. S2CID 15846232 . 
  3. 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. 151, doi : 10.1007/978-3-540-25928-2_13 , ISBN   978-3-540-22477-8
  4. 1 2 Horn. "Computación autónoma: la perspectiva de IBM sobre el estado de la tecnología de la información" (PDF) . Archivado del original (PDF) el 16 de septiembre de 2011.
  5. 'Tendencias en tecnología', encuesta, Universidad de California en Berkeley, EE. UU., marzo de 2002
  6. "¿Qué es la computación ubicua (computación omnipresente)?" .
  7. 1 2 Poslad, Stefan (2009). Sistemas autónomos y vida artificial, en: Computación ubicua, dispositivos inteligentes, entornos inteligentes e interacción inteligente . Wiley. pp. 317–341 . ISBN  978-0-470-03560-3Archivado del original el 10/12/2014 . Consultado el 17/03/2015 .
  8. Red S-Cube. "Sistema de autorreparación" .
  9. 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 (ICAS'07). IFIP Federación Internacional para el Procesamiento de la Información. Vol. 228. pp. 26–30 . doi : 10.1007/978-0-387-44641-7_11 . ISBN   978-0-387-44639-4. S2CID 6974127 . 
  10. "IBM Research | Autonomic Computing | Overview | The 8 Elements" . Archivado del original el 12 de agosto de 2004. Consultado el 27 de diciembre de 2021 .
  11. "¿Qué es la computación autónoma? Definición de Webopedia" . 22 de junio de 2004.
  12. "IBM presenta un nuevo modelo de implementación de computación autónoma" . IBM . 21 de octubre de 2002.
  13. 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 
  • 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 autogestión de la tecnología.
  • 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 proporciona servicios web autónomos.
  • Sitio web de Enigmatec: proveedores de software de computación autónoma.
  • Handsfree Networks – proveedores de software de computación autónoma. Archivado el 17 de agosto de 2013 en Wayback Machine.
  • Proyecto CASCADAS: Software de componentes para comunicaciones autónomas, sensibles al contexto y dinámicamente adaptables, financiado por la Unión Europea.
  • Kit de herramientas autónomas CASCADAS de código abierto
  • Proyecto ANA: Proyecto de investigación sobre arquitectura de redes autónomas, financiado por la Unión Europea.
  • JADE: un marco de trabajo para el desarrollo de software de administración autónoma.
  • Centro de Supercomputación de Barcelona – Sistemas Autónomos y Plataformas de Comercio Electrónico
  • 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 la computación autónoma y su uso en procesos empresariales (IBM) - en alemán
  • Arquitectura de computación autónoma en RKBExplorer
  • Revista Internacional de Computación Autónoma
  • BiSNET/e: una arquitectura de red de sensores cognitivos con optimización multiobjetivo evolutiva.
  • Licas: Marco de código abierto para la creación de redes basadas en servicios con gestor autónomo integrado.