Para que los sistemas de alto nivel se puedan denir dentro de la computación autonómica deben considerar al menos ocho elementos clave o características [Horn, 2001]:
- Auto-conocimiento. Un sistema autonómico debe tener conocimiento detallado de todos los elemento de bajo nivel que lo componen, en cuanto a estado actual, capacidad nal y todas las conexiones con otros sistemas, para auto-gobernarse.
- Auto-conguración. Debe realizarse en forma automatica y dinamica para responder ecientemente a cambios en el ambiente. Esto representa un gran reto debido a que pueden existir una gran posibilidad de opciones en conguracion y se debe resolver en un tiempo optimo.
- Auto-optimización. El sistema debe supervisar sus elementos y anar sus tareas para alcanzar los objetivos predenidos. Esta cualidad es muy importante porque responde a las necesidades de multiples aplicaciones demandadas por sus usuarios y a los cambios que se puedan dar en el tiempo en dichas necesidades.
- Auto-curación. El sistema debe tener la capacidad de recuperarse ante un mal funcionamiento de alguna de sus partes. En ese sentido, el sistema debe descubrir problemas o problemas potenciales y determinar formas alternativas, en cuanto al uso de recursos o reconfiguración, para regresar suavemente a una operación normal.
- Auto-protección. El sistema debe detectar, identicar y protegerse el mismo contra varios tipos de ataques, para mantenerse seguro e integro. En un ambiente de computo distribuido, los sistemas estan mas expuestos a ataques y su proteccion es mas complicada. En ese sentido, el sistema debe estar alerta, anticiparse a amenazas y tomar las acciones necesarias. Las respuestas deben direccionarse en dos sentidos: ataques de virus o intrusion de hackers.
- Conocimiento-contextual. El sistema debe denir reglas de interaccion hacia el exterior, con sistemas vecinos, con el proposito de adaptarse al ambiente exterior. Debe conocer su ambiente de ejecucion.
- Abierto. El sistema no debe ser una solucion propietaria. Debe considerarse que debe trabajar en un ambiente heterogeneo con estandares abiertos.
- Anticipación. El sistema debe permitir algun tipo de anticipación y soporte liberando información esencial en un ambiente optimizado y listo para realizar las decisiones tomadas por los usuarios ofreciendo resultados utiles de acuerdo a las circunstancias y no resultados previamente encuadrados sin mucha utilidad. Manejo pro-activo ante cambios necesarios.