MÉTODO Y SISTEMA PARA LA GESTIÓN DE MÁQUINAS VIRTUALES EN ENTORNOS DE ALMACENAMIENTO EN NUBE CON CONEXIÓN EN RED.
Método y sistema implementado por ordenador para la gestión de máquinas virtuales en entornos de almacenamiento en nube con conexión en red.
El método comprende en particular gestionar el ciclo de vida de un servicio, mediante una monitorización de acontecimientos entrantes utilizando un mecanismo de adaptación basado en reglas que permite la transformación de servicios para obtener un cambio en respuesta a información de aplicación predefinida de un usuario, para ello comprueba dicho conjunto de reglas con respecto a un conjunto de políticas de adaptación predefinidas e implementa acciones requeridas desarrollando nuevos elementos de software o máquinas virtuales; carga dicho conjunto de reglas en un controlador de reglas; y ejecuta una monitorización de acontecimientos entrantes que activan unos cambios de estado mediante la ejecución de dicho conjunto de reglas cargado en el controlador reglas. El sistema está dispuesto para implementar el método.
Tipo: Patente de Invención. Resumen de patente/invención. Número de Solicitud: P201001433.
Solicitante: TELEFONICA, S.A..
Nacionalidad solicitante: España.
Inventor/es: VAQUERO,Luis M, PERALES,David, CACERES,Juan.
Fecha de Publicación: .
Clasificación Internacional de Patentes:
- G06N5/02 FISICA. › G06 CALCULO; CONTEO. › G06N SISTEMAS DE COMPUTADORES BASADOS EN MODELOS DE CALCULO ESPECIFICOS. › G06N 5/00 Sistemas de computadores que utilizan modelos basados en el conocimiento. › Representación del conocimiento.
Fragmento de la descripción:
ENTORNOS DE ALMACENAMIENTO EN NUBE CON CONEXIÓN EN RED
Campo de la técnica La presente invención se refiere de manera general, en un primer aspecto, a un método implementado por ordenador para de máquinas virtuales en entornos de almacenamiento en nube con conexión en red, en particular para gestionar el ciclo de vida de un servicio en entornos con conexión en red, y más particularmente a un método previsto para gestionar flujos de trabajo dinámicos de una manera global, procesando información de aplicación predefinida por el usuario establecida por un usuario en el momento del diseño.
Un segundo aspecto de la invención se refiere a un sistema adaptado para implementar el método del primer aspecto.
Estado de la técnica anterior
A pesar de las recientes soluciones basadas en conexión en red aparecidas en el mercado de ICT (especialmente en el área de computación en nube) , todavía existen huecos importantes que deben llenarse y que no se solucionan por ninguna de esas ofertas comerciales, ni por las actividades académicas. Uno de los principales huecos detectados, es la falta de capacidades de gestión a nivel de servicio de las presentes soluciones existentes.
Los presentes proveedores de servicios conectados en red comerciales (también denominados nubes) tales como: Amazon EC2 [1], GoGrid [4] y FlexiScale [3], o soluciones como Eucalyptus [2], se centran todos ellos en la gestión de máquinas virtuales (VM) y sus conexiones. Sin embargo, no consideran la gestión de servicios como un todo, de modo que los clientes en nube (proveedores de servicios, SP) carecen de herramientas para gestionar sus servicios como una única unidad. Así, por ejemplo, cuando se despliega un nuevo servicio, el SP tiene que instalar las VM que forman el servicio como unidades individuales, mientras que sería más conveniente (y más próximo a la experiencia del SP) desplegar el servicio como una única entidad.
El ciclo de vida de servicio se expresa normalmente en forma de diagramas de transición de estados. En la Figura 1, se expresan estos diagramas como un conjunto de estados en los que el servicio está activado o desactivado y subestados respectivos dentro de esos dos anteriores.
Este esquema rígido, puede funcionar bien en entornos estáticos en los que, o bien los diagramas de estados o bien los diagramas de procesamiento no cambian de manera frecuente, y mucho menos experimentan cambios sobre la marcha.
El control de un ciclo de vida de servicio incumbe el desarrollo, la entrega y la evolución de servicios individuales. Esto se refiere a principios usados durante el diseño, desarrollo, entrega y mantenimiento de estos servicios. Por tanto, la gestión del ciclo de vida de servicio es un asunto clave presente en muchos sistemas de ICT (más incluso en sistemas dinámicos tales como la nube y otros sistemas conectados en red) . Este problema se trata mediante diferentes tecnologías y a niveles de abstracción muy diferentes:
Las tecnologías de virtualización y nube no son inmunes a la necesidad de gestionar los servicios que ayudan a entregar. Por tanto, ofrecen una escalabilidad de recursos rápida y económica así como una mayor flexibilidad para proporcionar recursos de hardware con peticiones de servicio. Por ejemplo, DMTF (Distributed Management Task Force – “Grupo de trabajo de la gestión distribuida”) propone un ciclo de vida estático para todas las máquinas desplegadas en un hipervisor dado. Si bien, este enfoque está muy limitado y tal como se mostrará en el presente documento no puede acomodarse para gestionar la expresiva riqueza requerida para la gestión de servicios.
En entornos de CORBA, el servicio de ciclo de vida de objeto [5] define convenios que permiten a los clientes realizar operaciones de ciclo de vida con objetos en diferentes ubicaciones usando interfaces de IDL (Interface Definition Language – “Lenguaje de definición de interfaz”) sin conocer sus tipos o semánticas. Un ejemplo es la estructura LocALE (LocationAware Lifecycle Environment) , que proporciona una interfaz de gestión sencilla para controlar el ciclo de vida de objetos distribuidos por CORBA [6].
La ingeniería de software basada en componentes (CBSE) se ocupa de todo el ciclo de vida de productos basados en componentes, y se ha centrado en tecnologías relacionadas con el diseño y la implementación de componentes de software y sistemas construidos a partir de componentes de software [7]. Por ejemplo componentes contenedores en servidores de aplicación (tales como contenedores EJB en servidores que cumplen con J2EE) [8] y Midlets [9], etc.
Con respecto a la gestión del ciclo de vida de servicio, ha surgido un interés por los sistemas de arquitecturas orientadas al servicio (SOA) , que manejan servicios como una unidad desplegable. Además, hay cierta experiencia disponible en la construcción de agentes de software inteligentes que, a fin de cuentas, funcionan como un servicio por sí mismos en el sistema al que pertenecen [10]. La tecnología de agentes se ha usado para tratar algunos de los problemas clave de la computación orientada a servicios contribuyendo a la amplia adopción del paradigma de computación orientada a servicios [11]. El trabajo de Mobach et al. divide los estados de agente de servicio en un estado activado en el que el servicio está ejecutándose y persiguiendo su objetivo; un estado suspendido en el que el servicio puede configurarse, un estado de migración y un estado de almacenamiento en el que el servicio está retirándose y almacenándose para su uso futuro [10]. Sin embargo, el aspecto de gestión de las infraestructuras orientadas a servicios, que también necesitan someterse a prueba, monitorizarse y mantenerse, con frecuencia se descuida en esas tecnologías [12]. La gestión del ciclo de vida de SOA incluye decidir sobre la granularidad del servicio y cambiar los procedimientos de gestión para servicios y sobre el registro de servicios disponibles en la SOA. El control del ciclo de vida de servicio tiene como objetivo la consistencia entre servicios, lo que se espera que mejore su capacidad de gestión [13]. En entornos de servicios web dinámicos, con frecuencia se necesita modificar las políticas para adaptarse a estrategias de negocios cambiantes. Los cambios de leyes y reglamentos también obligan a las empresas a actualizar sus políticas. Pueden detectarse faltas de seguridad, que deben rectificarse. En general, la gestión del ciclo de vida se ha reconocido como un problema importante y se ha estudiado en varios campos diferentes (véase por ejemplo [14, 15]) . El control del ciclo de vida de servicio plantea algunos asuntos nuevos específicos que son menos problemáticos en ciclos de vida de aplicación tradicionales. La naturaleza distribuida del proceso de desarrollo de servicio puede conducir a que servicios no registrados que no pueden gobernarse entren en la SOA. Esto puede dar como resultado el desarrollo de servicios similares debido al conocimiento insuficiente de las funciones proporcionadas por servicios existentes o servicios construidos por otros desarrolladores. Los cambios en las respuestas de un servicio pueden requerir cambios en otros servicios que invocan al servicio cambiado [13]. En estas arquitecturas SOA, el propio servicio y su código está ubicado habitualmente en algún servidor de aplicación, pero la documentación, las políticas y los metadatos sobre las versiones del servicio están contenidos en el repositorio. Los organismos de gobierno pueden usar registros de servicio para imponer la realización de validaciones u otras comprobaciones antes de publicar un servicio. Los registros también pueden soportar la gestión de derechos de usuarios comprobando si están autorizados para usar un determinado servicio. Sin embargo, ninguno de estos problemas está presente en un entorno de nube. Los despliegues ad hoc en entornos de nube y el aislamiento proporcionado por tecnologías de virtualización confieren una ventaja relativa a las nubes con respecto a las arquitecturas SOA tradicionales. Algunos enfoques ayudan a simplificar la integración a niveles de abstracción superiores tales como protocolos de interacción a nivel de negocio [16]. El concentrador de información de servicio de IBM proporciona capacidades de gestión de información para la gestión del ciclo de vida [17]. El concentrador de información de servicio tiene el objetivo de dar soporte a la gestión del ciclo de vida de servicio de...
Reivindicaciones:
1. Método implementado por ordenador para la gestión de máquinas virtuales en entornos de almacenamiento en nube con conexión en red, en particular para gestionar el ciclo de vida de un servicio, que comprende llevar a cabo una monitorización de acontecimientos entrantes utilizando un mecanismo de adaptación basado en reglas que permite la transformación de servicios para obtener un cambio en respuesta a información de aplicación predefinida de un usuario, entregando a dicho mecanismo de adaptación basado en reglas dicha información de aplicación predefinida por el usuario y utilizar además dicho mecanismo de adaptación basado en reglas para procesar y aplicar, en tiempo de ejecución, dicha información de aplicación predefinida por el usuario, donde se utiliza un diagrama de estado para definir un flujo de trabajo de un servicio y donde dicha información de aplicación predefinida por el usuario se correlaciona con un modelo de datos utilizando motores de programación o software, para obtener un conjunto de reglas incluyendo unas tareas de flujo de trabajo y/o nuevos estados o transiciones para dicho flujo de trabajo de dicho diagrama de estado, caracterizado porque el método comprende: a) comprobar dicho conjunto de reglas con respecto a un conjunto de políticas de adaptación predefinidas que comprueban criterios de rendimiento, y comparar la información predefinida de usuario con información anterior, analizando las diferencias encontradas, e implementar acciones requeridas desarrollando nuevos elementos de software o máquinas virtuales dependiendo de los resultados de dicho análisis comparativo; b) cargar dicho conjunto de reglas en un controlador de reglas, estando implementado dicho conjunto de políticas de adaptación predefinidas en dicho mecanismo de adaptación basado en reglas; y c) llevar a cabo, para implementar dicha aplicación en tiempo de ejecución de al menos dicha información de aplicación predefinida por el usuario, una monitorización de acontecimientos entrantes que activan unos cambios de estado reflejados en dicho diagrama de estado mediante la ejecución de dicho conjunto de reglas cargado en el controlador reglas.
2. Método según la reivindicación 1, que comprende analizar dependencias entre servicios que forman dicha aplicación para generar dicho conjunto de reglas.
3. Método según la reivindicación 2, que comprende traducir dicha información de aplicación predefinida por el usuario antes de comprobarla con respecto a dicho conjunto de políticas de adaptación predefinidas.
4. Método según la reivindicación 1, que comprende desplegar y/o modificar los servicios que forman la aplicación antes de llevar a cabo una fase de dicha monitorización de acontecimientos entrantes.
5. Método según la reivindicación 3 ó 4, que comprende almacenar dichos acontecimientos entrantes monitorizados, en una base de datos de ordenador, analizar los acontecimientos almacenados para hallar patrones de información ocultos y nuevas reglas utilizables para optimizar el ciclo de vida de aplicación y cargar dichas nuevas reglas utilizables en dicho controlador de reglas.
6. Método según la reivindicación 5, que comprende comprobar dichas nuevas reglas utilizables con respecto a dicho conjunto u otro conjunto de políticas de adaptación predefinidas que comprueban criterios de negocio y rendimiento, antes de cargarlas en dicho controlador de reglas.
7. Método según la reivindicación 5 ó 6, que comprende condicionar al menos la carga de dichas nuevas reglas utilizables en dicho controlador de reglas a la decisión de un operador.
8. Método según la reivindicación 5, que comprende llevar a cabo dicho análisis de acontecimientos almacenados por medio de técnicas de extracción de datos avanzadas.
9. Método según la reivindicación 1, en el que dicha comparación de información predefinida y más antigua se lleva a cabo para comprobar qué componentes se han añadido, cómo han cambiado las dependencias y qué se necesita para alcanzar el nuevo estado de momento de ejecución desde la arquitectura previamente desplegada.
10. Método según la reivindicación 1, en el que dichos nuevos elementos de software
o máquinas virtuales desarrollados son además configurados para interoperar con el resto de los elementos previamente desplegados que comprenden toda la aplicación.
11. Método según cualquiera de las reivindicaciones anteriores, que comprende cambiar dinámicamente o poner en un estado de espera dichas reglas cargadas en dicho controlador de reglas y dichos acontecimientos entrantes.
12. Método según la reivindicación 11, en el que dicho estado de espera se refiere a un estado no observado.
13. Método según cualquiera de las reivindicaciones anteriores, que comprende observar dichas reglas cargadas en dicho controlador de reglas en cuanto se cargan.
14. Método según cualquiera de las reivindicaciones anteriores, en el que dicho conjunto de reglas incluye nuevos estados y transiciones de dicho flujo de trabajo.
5 15. Sistema implementado con ordenador para la gestión de máquinas virtuales en entornos de almacenamiento en nube con conexión en red, , del tipo que comprende medios de cálculo que implementan, mediante elementos de software y/o hardware, la gestión del ciclo de vida de servicio en dichos entornos con conexión en red que comprende definir el flujo de trabajo de un ciclo de vida de servicio mediante un 10 diagrama de estados y seguir su evolución y adaptación usando mecanismos de adaptación basados en reglas que permiten la transformación de servicios para obtener un cambio en respuesta a requisitos de usuario, caracterizado porque dichos medios de cálculo comprenden al menos una entrada para recibir información de aplicación predefinida por el usuario, que define de manera declarativa la arquitectura 15 de una aplicación formada por varios servicios o dicha arquitectura más el comportamiento de toda la aplicación en una serie de circunstancias variables, y porque los medios de cálculo están dispuestos y previstos para procesar e implementar en el momento de ejecución, usando dicho mecanismo de adaptación basado en reglas, al menos dicha información de aplicación predefinida por el usuario.
20 16. Sistema según la reivindicación 15, que comprende elementos interrelacionados dispuestos y previstos para llevar a cabo las acciones del método según cualquiera de las reivindicaciones 1 a 14.
Patentes similares o relacionadas:
Dispositivo de motor de reglas de terminal y método de operación de regla de terminal, del 17 de Junio de 2020, de Advanced New Technologies Co., Ltd: Un método para procesar una operación de regla, el método que comprende: recibir, mediante un terminal, una solicitud de operación de regla de un servicio (S601); […]
Método de defensa y rechazo, del 13 de Noviembre de 2019, de The Security Oracle, Inc: Método para proteger activamente un activo físico/área mediante defensa y rechazo, que comprende: recibir, por una red informática, datos de sensor asociados a características […]
Interfaz gráfica de usuario para usar con un sistema experto abierto, del 2 de Mayo de 2018, de BECTON, DICKINSON & COMPANY: Un sistema experto con un sistema editor de reglas para usar con el mismo, que comprende: una base de datos clínicos que comprende un conjunto finito […]
Método y dispositivo para ingeniería ontológica mejorada, del 11 de Octubre de 2017, de Collibra NV/SA: Método implementado por ordenador para poblar un segundo sistema de datos utilizado en una aplicación informática, teniendo dicho segundo sistema de datos una estructura […]
Método, controlador, programa y sistema de almacenamiento de datos para realizar procesado de reconciliación, del 14 de Diciembre de 2016, de FUJITSU LIMITED: Un método para realizar reconciliación de recursos representados en un gráfico de datos como nodos; incluyendo el método: seleccionar un subconjunto inicial […]
Método y dispositivo para la evolución ontológica, del 15 de Diciembre de 2015, de Collibra NV/SA: Un método implementado por ordenador para modificar un mapeo desde al menos una ruta de aplicación de un sistema de datos usado por una aplicación […]
Reglas de asociación ponderadas de enlaces directo - inverso de una base de datos expertos, del 9 de Mayo de 2012, de MICROSOFT INTERNATIONAL HOLDINGS B.V: Un procedimiento de generación de una base de datos expertos para su consulta por un sistema derecomendación de contenido para generar recomendaciones […]