MX2008014860A - Actualizacion de maquina virtual con parche o similares. - Google Patents
Actualizacion de maquina virtual con parche o similares.Info
- Publication number
- MX2008014860A MX2008014860A MX2008014860A MX2008014860A MX2008014860A MX 2008014860 A MX2008014860 A MX 2008014860A MX 2008014860 A MX2008014860 A MX 2008014860A MX 2008014860 A MX2008014860 A MX 2008014860A MX 2008014860 A MX2008014860 A MX 2008014860A
- Authority
- MX
- Mexico
- Prior art keywords
- library
- guest
- software
- current
- update
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
Cada una de de la pluralidad de máquinas virtuales (VMs) se almacena en una forma detenida en una biblioteca para recuperación de la biblioteca y reinicio en un huésped. Cada VM reiniciada incluye una pluralidad de construcciones de software, cada una de las cuales al menos es potencialmente no actual y requiere una actualización de software. Para actualizar una VM no actual, tal VM se recupera y reinicia en un huésped de mantenimiento, y cada construcción de software no actual se permite que se actualice obteniendo la actualización de software requerida de una fuente de actualización correspondiente como un parche. Alternativamente, la VM se monta a un dispositivo de cómputo, componentes constituyentes de la VM montadas se examinan para determinar si cada construcción de software de la misma es actual, y cada construcción de software no actual se actualiza al obtener la actualización de software requerida de la fuente de actualización correspondiente como un parche y aplicar el mismo a la VM montada.
Description
ACTUALIZACION DE MAQUINA VIRTUAL CON PARCHE O SIMILARES
CAMPO TECNICO
La presente invención se refiere a actualizar una máquina virtual o un componente de la misma con un parche para mantener la máquina virtual o componente. En particular, la presente invención se refiere a un sistema y método que actualiza tal máquina virtual en una biblioteca o similares y de esa forma fuera de línea. Más particularmente, la presente invención se refiere a tal sistema y método que despliega la máquina virtual desde la biblioteca y en un estado en línea para aplicar el parche, o que monta la máquina virtual en la forma de una unidad con archivos para aplicar el parche.
ANTECEDENTES DE LA INVENCION
Como se debe apreciar, una máquina virtual ('VM') es una construcción de software o similares que opera en un dispositivo de cómputo o similares (es decir, un 'huésped') para el propósito de emular un sistema de hardware. Típicamente, aunque no necesariamente, la VM es una aplicación o similares, y puede emplearse en el huésped para iniciar una aplicación de usuario o similares mientras al mismo tiempo aisla tal aplicación del uso de tal dispositivo huésped o de otras aplicaciones en tal huésped. En una situación típica, el huésped puede acomodar una pluralidad de VMs desplegadas, cada VM que realiza alguna función predeterminada a manera de recursos disponibles del huésped. Notablemente, cada VM es para todas las intenciones y propósitos una máquina de cómputo, aunque en forma virtual, y de esa forma se representa a sí misma como el uso de la aplicación de la misma y para el mundo exterior. Típicamente, aunque no necesariamente, un huésped despliega cada VM de la misma en una división separada. Tal huésped puede incluir una capa de virtualizacion con un monitor VM o similares que actúa como una aplicación de supervisor o 'h ípervisor' , en donde la capa de virtualizacion supervisa y/o de otra forma maneja aspectos de supervisión de cada VM del huésped, y actúa como un de enlace posible entre cada VM y el mundo exterior. Un sello de una VM es la VM como una construcción virtual que puede detenerse y reiniciarse a voluntad, y también que la VM al detenerse puede almacenarse y recuperarse en la forma de un archivo o similares. En particular, la VM como se inició en un dispositivo de cómputo particular es una construcción de software individual que puede empaquetarse ordenadamente mientras la construcción de software incluye todos los datos que se relacionan con tal VM, que incluye datos operativos e información de estado que se relacionan con la VM. Como resultado, una VM en un primer huésped puede moverse o 'migrar' a un segundo huésped al detener la VM en el primer huésped, mover la VM detenida al segundo huésped, y reiniciar la VM movida en el segundo huésped, o similares. Más generalmente, una VM puede migrar desde una primera plataforma hacia una segunda plataforma en una forma similar, en donde las plataformas representan diferentes huéspedes, diferentes configuraciones del mismo huésped, y similares. En el último caso, como se debe apreciar, un dispositivo de cómputo puede tener una configuración diferente, por ejemplo, si se agrega memoria adicional, cambia un procesador, se proporciona un dispositivo de entrada adicional, se remueve un dispositivo de selección, etc. En una forma similar, una biblioteca de VMs puede mantenerse, en donde cada VM en la biblioteca es una VM detenida y almacenada que está disponible para recuperarse y reiniciarse con el comando apropiado. De esa forma, y como un ejemplo, un usuario o similares en necesidad de un escenario de procesamiento particular puede examinar la biblioteca para una VM apropiada aquí que dirige el escenario y al encontrar tal VM puede recuperar y reiniciar la VM. En una forma similar, un usuario o similar que desplegó una VM en cualquier punto apropiado detiene la VM y almacena la VM detenida a la biblioteca para recuperación posterior, en cuyo momento la VM almacenada al recuperarse desde la biblioteca puede reiniciarse para continuar procesamiento. Se debe entender que la VM incluye un sistema operativo, una o más aplicaciones de uso, y otras varias construcciones de software (es decir, 'construcciones de software', colectivamente), y que cada construcción de software de la VM puede de vez en cuando requerir una actualización en la forma de un parche o similares. Como puede apreciarse, tal actualización puede realizarse por cualquiera de varias razones, que incluyen mantener la construcción actual, proporcionar a la construcción funcionalidad adicional, dirigir problemas de seguridad con respecto a la construcción, o similares. Generalmente, la construcción puede incluir funcionalidad de actualización que periódicamente consulta una fuente de actualización por cualquiera de los nuevos parches, y si está disponible la funcionalidad de actualización obtiene los nuevos parches e instala los mismos, tal vez con la ayuda y/o aprobación de un usuario o similares. Notablemente, una VM que se detiene y almacena en una biblioteca o similares no puede realizar ningún procesamiento, y de esa forma la funcionalidad de actualización de una construcción de tal VM detenida y almacenada no es capaz de obtener e instalar parches como puede ser apropiado. Como puede apreciarse, la incapacidad de una construcción para actualizarse mientras la VM de la misma se detiene y almacena puede ser una inconveniencia menor si la naturaleza de la actualización es relativamente insignificante, o puede ser un problema mayor si la naturaleza de la actualización es relativamente importante. En el caso anterior, una actualización que puede ser relativamente insignificante por ejemplo puede ser una actualización que proporciona características de presentación adicionales. En el último caso, una actualización que puede ser relativamente importante por ejemplo puede ser una actualización que dirige un problema de seguridad. Especialmente con respecto a una actualización que es relativamente importante, pueden no ser es aceptable esperar a aplicar la actualización a una VM hasta que pase algún tiempo indeterminado cuando la VM pueda recuperarse de la biblioteca y reiniciarse en la forma normal. Por consiguiente, existe una necesidad de un sistema y método dirigido hacia permitir cualquiera de las actualizaciones y especialmente cualquiera de las actualizaciones importantes para aplicarse a una VM en una biblioteca.
BREVE DESCRIPCION DE LA INVENCION
La necesidad antes mencionada se satisface por la presente invención en donde un sistema y métodos se proporcionan con respecto a una biblioteca de máquinas virtuales (VMs) en un dispositivo de cómputo. Cada VM se almacena en una forma detenida en tal biblioteca para recuperación de la biblioteca y reinicio en un dispositivo de cómputo de huésped. Cada VM en la biblioteca es una construcción de software que cuando se reinicia en un dispositivo de cómputo huésped emula un sistema de hardware. Cada VM reiniciada incluye una pluralidad de construcciones de software. Cada construcción de software de cada VM en la biblioteca es al menos potencialmente no actual y requiere una actualización de software. En el método, para cada VM en la biblioteca, se determina periódicamente si cada construcción de software de la VM es actual. Si cualquier construcción de software de la VM no es actual, la VM se marca en la biblioteca como siendo no actual. En algún punto, se recibe una selección de una VM desde la biblioteca para recuperarse y reiniciarse en un dispositivo de cómputo huésped. Si la VM se marca en la biblioteca como siendo no actual, la VM se actualiza en un dispositivo de cómputo huésped de mantenimiento que no tiene acceso a ningún dispositivo de cómputo huésped, después de lo cual la VM actualizada se reinicia en el dispositivo de cómputo huésped. Para actualizar la VM, tal VM se recupera desde la biblioteca y se reinicia en el dispositivo de cómputo huésped de mantenimiento, y cada construcción de software no actual de la VM reiniciada se permite que se actualice en el dispositivo de cómputo de huésped de mantenimiento al obtener la actualización de software requerida de una fuente de actualización correspondiente como al menos un parche. Alternativamente, la VM se monta a un dispositivo de cómputo, componentes constituyentes de la VM montada se examinan para determinar si cada construcción de software de la VM es actual, y cada construcción de software no actual se actualiza al obtener la actualización de software requerida de la fuente de actualización correspondiente tal como al menos un parche y aplicar cada parche a la VM montada.
BREVE DESCRIPCION DE LOS DIBUJOS
La Breve Descripción anterior, asi como la siguiente descripción detallada de las modalidades de la presente invención, se entenderá mejor cuando se leen en conjunto con los dibujos anexos. Para el propósito de ilustrar la invención, se muestran en los dibujos modalidades que actualmente se prefieren. Sin embargo, como se debe entender, la invención no se limita a las distribuciones e instrumentos precisos mostrados. En los dibujos: la Figura 1 es un diagrama de bloques que representa un sistema de computadora de propósito general en donde los aspectos de la presente invención y/o porciones de la misma pueden incorporarse; la Figura 2 es un diagrama de bloques que muestra un sistema con una biblioteca de máquinas virtuales (VMs), cada una de las cuales puede reiniciarse en un huésped de mantenimiento o montarse a un dispositivo de cómputo para actualizarse de acuerdo con modalidades de la presente invención; y las Figuras de 3-5 son diagramas de flujo que muestran pasos clave realizados en conexión con el sistema de la Figura 2 de acuerdo con modalidades de la presente invención.
DESCRIPCION DETALLADA DE LA iNVENCION
Ambiente de Computadora La Figura 1 y la siguiente discusión pretenden proporcionar una breve descripción general de un ambiente de cómputo adecuado en donde la presente invención y/o porciones de la misma pueden implementarse. Aunque no se requiere, la invención se describe en el contexto general de instrucciones ejecutables por computadora, tal como módulos de programa, que se ejecutan por una computadora, tal como una estación de trabajo de cliente o un servidor. Generalmente, los módulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos y similares que realizan tareas particulares o ¡mplementan tipos de datos abstractos particulares. Además, se debe apreciar que la invención y/o porciones de la misma pueden practicarse con otras configuraciones de sistema de computadora, que incluyen dispositivos portátiles, sistemas de multiprocesador, electrónica a base de microprocesador de consumidor programable, PCs de red, minicomputadoras, macrocomputadoras y similares. La invención también puede practicarse en ambientes de cómputo distribuido en donde las tareas se realizan por dispositivos de procesamiento remoto que se enlazan a través de una red de comunicaciones. En un ambiente de cómputo distribuido, los módulos de programa pueden localizarse tanto en dispositivos de almacenamiento de memoria local y remota. Como se muestra en la Figura 1, un sistema de cómputo de propósito general ilustrativo incluye una computadora personal convencional 120 ó similares, que incluyen la unidad de procesamiento 121, una memoria de sistema 122, y un conductor común de sistema 123 que acopla varios componentes de sistema que incluyen la memoria de sistema a la unidad de procesamiento 121. El conductor común de sistema 123 puede ser cualquiera de varios tipos de estructuras de conductor común que incluyen un conductor común de memoria o controlador de memoria, un conductor común periférico, y un conductor común local que utiliza cualquiera de una variedad de arquitecturas de conductor común. La memoria de sistema incluye memoria de sólo lectura (ROM) 124 y memoria de acceso aleatorio (RAM) 125. Un sistema de entrada/salida básico 126 (BIOS), que contiene las rutinas básicas que ayudan a transferir información entre elementos dentro de la computadora personal 120, tal como durante el arranque, se almacena en ROM 124. La computadora personal 120 además puede incluir una unidad de disco duro 127 para leer de y escribir a un disco duro (no mostrado), una unidad de disco magnético 128 para leer de o escribir a un disco magnético removible 129, y una unidad de disco óptico 130 para leer de o escribir a un disco óptico removible 131 tal como un CD-ROM u otro medio óptico. La unidad de disco duro 127, unidad de disco magnético 128, y unidad de disco óptico 130 se conectan al conductor común de sistema ciento 123 por una interfase de unidad de disco duro 132, una interfase de unidad de disco magnético 133, y una interfase de unidad óptica 134, respectivamente. Las unidades y sus medios legibles por computadora asociados proporcionan almacenamiento no volátil de instrucciones legibles por computadora, estructuras de datos, módulos de programa y otros datos para la computadora personal 120. Aunque el ambiente ilustrativo aquí descrito emplea un disco duro, un disco magnético removible 129, y un disco óptico removible 131, se debe apreciar que otros tipos de medios legibles por computadora pueden almacenar datos que son accesibles por una computadora también pueden utilizarse en el ambiente operativo ilustrativo. Tales otros tipos de medios incluyen un cassette magnético, una tarjeta de memoria flash, un disco de video digital, un cartucho de Bernoulli, una memoria de acceso aleatorio (RAM), una memoria de sólo lectura (ROM), y similares. Un número de módulos de programa puede utilizarse en el disco duro, disco magnético 129, disco óptico 131, ROM 124 ó RAM 125, que incluyen un sistema operativo 135, uno o más programas de aplicación 136, otros módulos de programa 137 y datos de programa 138. Un usuario puede ingresar comandos e información en la computadora personal 120 a través de dispositivos de entrada tal como un teclado 140 y dispositivo de señalamiento 142. Otros dispositivos de entrada (no mostrados) pueden incluir un micrófono, palanca de mandos, almohadilla de juegos, antena parabólica, escáner, o similares. Estos y otros dispositivos de entrada frecuentemente se conectan a la unidad de procesamiento 121 a través de una interfase de puerto en serie 146 que se acopla al conductor común de sistema, pero puede conectarse por otras interfases, tal como un puerto paralelo, puerto de juego, o conductor común en serie universal (USB). Un monitor 147 u otro tipo de dispositivo de presentación también se conecta al conductor común de sistema 123 a través de una interfase, tal como un adaptador de video 148. Además del monitor 147, una computadora personal típicamente incluye otros dispositivos de salida periféricos (no mostrados), tal como bocinas e impresoras. El sistema ilustrativo de la Figura 1 también incluye un adaptador huésped 155. Un conductor común de Interfase de Sistema de computadora pequeña (SCSI) 156, y un dispositivo de almacenamiento externo 162 conectado al conductor común de SCSI 156. La computadora personal 120 puede operar en un ambiente en red que utiliza conexiones lógicas a una o más computadoras remotas, tal como una computadora remota 149. La computadora remota 149 puede ser otra computadora personal, un servidor, un enrutador, una PC de red, un dispositivo par u otro nodo de red común, y típicamente incluye muchos o todos los elementos descritos anteriormente relativos a la computadora personal 120, aunque solo se ha ilustrado un dispositivo de almacenamiento de memoria 150 en la Figura 1. Las conexiones lógicas ilustradas en la Figura 1 incluyen una red de área local (LAN) 151 y una red de área ancha (WAN) 152. Tales ambientes en red comúnmente están ubicados en oficinas, redes de computadora extendidas en empresa, intranets, e Internet. Cuándo se utiliza en un ambiente en red de LAN, la computadora personal 120 se conecta a la LAN 151 a través de una interfase de red o adaptador 153. Cuándo se utiliza en un ambiente en red WAN, la computadora personal 120 típicamente incluye un módem 154 u otros medios para establecer comunicaciones en la red de área ancha 152, tal como Internet. El módem 154, que puede ser interno o externo, se conecta al conductor común de sistema 123 a través de la interfase de puerto en serie 146. En un ambiente en red, los módulos de programa ilustrados relativos a la computadora personal 120, o porciones de la misma, pueden almacenarse en el dispositivo de almacenamiento de memoria remota. Se apreciará que las conexiones en red mostradas son ilustrativas y pueden utilizarse otros medios para establecer un enlace de comunicaciones entre las computadoras.
Huésped y Biblioteca de Máquina Virtual Cambiando ahora a la Figura 2, se observa que la presente invención puede tener aplicabilidad particular en el contexto de una biblioteca 10 de máquinas virtuales (VMs) 12, cada una de las cuales se almacena en una forma detenida y muy probablemente cerrada en tal biblioteca 10 y puede recuperarse de la biblioteca 10 y reiniciarse en un huésped 14 en una forma apropiada. Se debe notar aquí que la biblioteca 10, VMs 12, y huésped 14 puede ser cualquier biblioteca apropiada, VMs, y el huésped sin apartarse del espíritu y alcance de la presente invención. Tal biblioteca, VMs, y huésped son conocidos o deben ser evidentes para el público relevante y por lo tanto no necesitan mencionarse aquí en detalle más allá de lo que ya se proporcionó. Como se mencionó anteriormente, cada VM 12 en la biblioteca 10 es una construcción de software o similares que cuando se reinicia en un huésped 14 emula un sistema de hardware. De esa forma, la VM 12 puede emplear los recursos del huésped 14 para iniciar una aplicación de uso o similares mientras al mismo tiempo aisla tal aplicación de uso de tal huésped 14 y otras aplicaciones en tal huésped 14. Como se muestra, el huésped 14 puede acomodar una pluralidad de VMs desplegadas 12, en donde cada VM independientemente realiza alguna función predeterminada. Por ejemplo, al menos algunas VMs 12 desplegadas en el huésped 14 pueden actuar como servidores de datos, al menos algunas de tales VMs 12 pueden actuar como servidores de red con respecto una red 16 acoplada al huésped 14, al menos algunas de tales VMs 12 pueden actuar como servidores de correo, y al menos algunas de tales VMs 12 pueden realizar funciones de nivel bajo que incluyen funciones de mantenimiento, recolección de datos, monitoreo de hardware, corrección de error, manejo de archivo, y similares. Notablemente, cada VM 12 es para todas las intenciones y propósitos una máquina de cómputo, aunque en forma virtual. El huésped 14 por si mismo puede ser un dispositivo de cómputo apropiado tal como una computadora de escritorio, una computadora portátil, un dispositivo móvil, un asistente de datos, una macrocomputadora, o cualquier otro tipo de dispositivo de cómputo con la funcionalidad y capacidad necesaria para alojar una o más de las VMs 12. Generalmente que la VM puede requerir memoria significativa, operaciones de l/O, espacio de almacenamiento, y capacidad de procesador del huésped 14, sin embargo, y también tener en mente que el huésped 14 puede esperarse que acomode 2, 5, 10, 20 ó más de las VMs 12 en cualquier momento, el huésped 14 debe tener energía significativa y recursos para ser capaces de hecho de acomodar tales VMs 12. La biblioteca 10 puede enviar cualquier clase de biblioteca en cualquier clase de dispositivo de cómputo sin apartarse del espíritu y alcance de la presente invención. Por ejemplo, la biblioteca 10 puede recibir en un servidor de capacidad suficiente para sostener todas las VMs 12 de tal biblioteca 10, o simplemente puede recibir en una unidad de disco apropiado de tal capacidad suficiente. En el último caso, la unidad de disco incluso puede ser parte del huésped 14. Se debe notar, aunque, en el caso en donde existen múltiples huéspedes disponibles 14, tal biblioteca 10 probablemente está físicamente separada de pero comunicativamente acoplada a tales huéspedes 14. Concebiblemente, la biblioteca 10 por si misma puede recibir en una máquina virtual. Como se notó anteriormente, cada VM 12 como una construcción virtual puede detenerse y reiniciarse a voluntad, y al detenerse puede almacenarse en la biblioteca 10 y recuperarse de la misma en la forma de un archivo o similares. En particular, cada VM 12 es una construcción de software singular que puede empaquetarse ordenadamente mientras la construcción de software incluye todos los datos que se relacionan con tal VM 12, que incluye datos operativos e información de estado que se relaciona con la VM 12. De esa forma, una VM 12 en un primer huésped 14 puede moverse o 'migra' entre huéspedes 14 simplemente al detener la VM 12 en un primer huésped 14, mover la VM detenida 12 a un segundo huésped 14, y reiniciar la VM movida 12 en el segundo huésped 14. Típicamente, aunque no necesariamente, el sistema de la Figura 2 incluye un controlador VM 18 que opera en un dispositivo de cómputo apropiado o similares. Principalmente, y como se puede apreciar, tal controlador VM 18 opera para recuperar una VM almacenada 12 de la biblioteca 10 y desplegar la VM recuperada 12 al reiniciar la misma en un huésped particular 14, y también detener la VM desplegada 12 y almacenar la VM detenida 12 en la biblioteca 10, todo en la dirección apropiada de un usuario o similares. De esa forma, un usuario o similares en la necesidad de un escenario de procesamiento particular puede examinar la biblioteca 10 a manera del controlador VM 18 para una VM 12 apropiada que dirige el escenario y al encontrar tal VM 12 el usuario puede emplear el controlador VM 18 para recuperar y reiniciar la VM 12. En una forma similar, un usuario o similares que desplegó una VM en cualquier punto apropiado detiene la VM y almacena la VM detenida a la biblioteca para recuperación posterior, en cuyo momento la VM almacenada al recuperarse de la biblioteca puede reiniciarse para continuar procesamiento. Aquí se debe notar que el controlador de VM 18 puede ser cualquier controlador de VM apropiado sin apartarse del espíritu y alcance de la presente invención. Tal controlador VM 18 se conoce o debe ser evidente para el público relevante y por lo tanto no necesita mencionarse aquí en cualquier detalle más allá de aquella que se proporcionó.
Actualización con Parches Como se notó anteriormente, cada VM 12 en la biblioteca 10 por sí misma es una construcción de software en un sentido físico, pero en un sentido virtual la VM 12 por si misma incluye una pluralidad de construcciones de software que incluyen un sistema operativo con un registro o similares, una o más aplicaciones de uso, varios controladores de dispositivo y bibliotecas de dispositivo, y similares (es decir, 'construcciones de software', colectivamente). Notablemente, cada construcción de software de cualquier VM 12 puede ser de vez en cuando para requerir una actualización de software en la forma de un parche o similares. Tal actualización de software en la forma de un parche 20 ó similares se conoce o debe ser evidente para el público relevante, y por lo tanto no necesita mencionarse aquí en ningún detalle. Como se puede apreciar, tal actualización puede realizarse por cualquiera de varias razones, que incluyen mantener el software de construcción actual, para proporcionar la construcción con funcionalidad adicional, para dirigir problemas de seguridad con respecto a la construcción, o similares. Por consiguiente, la presente invención puede operar sin considerar ninguna actualización de software particular o parche 20 (denominado aquí, 'parche 20') o tipo del mismo. Generalmente, un parche 20 puede aplicarse a una construcción de software para que una VM 12 en al menos una forma parcialmente automatizada. Como tal, la construcción puede incluir actualizar funcionalidad que periódicamente consulta una o más fuentes de actualización 22 para cualquiera de los nuevos parches 20, y si está disponible la funcionalidad de actualización obtiene cada nuevo parche 20 de la fuente de actualización 22 e instala algunos, tal vez con la ayuda y/o aprobación de un usuario o similares. La funcionalidad de actualización en conexión con una construcción o similares se conoce o debe ser evidente para el público relevante, y por lo tanto no necesita mencionarse aquí en ningún detalle. Por consiguiente, la presente invención puede operar sin considerar ninguna funcionalidad de actualización particular. Se debe notar, aunque, para la funcionalidad de actualización de cualquier construcción particular de una VM 12 para operar, la VM 12 por si misma puede desplegarse y operar. Puesto de otra forma, una VM que se detiene y almacena en la biblioteca o similares no puede realizar ningún procesamiento, y de esa forma la funcionalidad de actualización es la construcción de tal VM detenida y almacenada no es capaz de obtener e instalar un parche 20 de la fuente de actualización 22. Entonces, para resumir, una construcción de software de una VM 12 que es residente en la biblioteca 10 no puede actualizarse. Como una actualización, la construcción de software en efecto debe esperar para actualizarse hasta que la VM 12 se recupera de la biblioteca 10 y se reinicia en un huésped 14. Se debe notar, aunque, puede ser muy bueno el caso que una actualización significativa tal con una actualización de seguridad se emita con respecto a una construcción particular de una VM 12 almacenada en la biblioteca 10. En tal situación, la VM 12 no se protege de una amenaza de seguridad que la actualización de seguridad pretende proteger, y de esa forma no debe desplegarse a ningún huésped 14 con la construcción en tal estado no protegido. En particular, y especialmente si el huésped 14 tiene acceso a cualquier red tal como la red 16, que despliega tal VM no protegida 12 puede permitir a cualquier huésped que ocurran situaciones de seguridad serias, que incluyen una ruptura de seguridad de la red 16, el huésped 14, otros huéspedes 14 en la red 16, y similares. De esa forma, e incluso haciendo referencia a la Figura 2, y en una modalidad de la presente invención, el controlador de VM 18 despliega la VM 12 a un huésped de mantenimiento 14 M, en donde el huésped de mantenimiento 14m tiene acceso a la fuente de actualización 22 a manera de un acoplamiento comunicativo apropiado, pero no tiene acceso a ningún huésped 14 a manera de la red 16 ó de otra forma. En particular, y haciendo referencia ahora a la Figura 3, el controlador VM 18 puede operar basándose en un programador 24 (Figura 2) para desplegar periódicamente cada una o más VMs 12 al huésped de mantenimiento 14m para actualización (paso 301). Como puede apreciarse ahora, en el huésped de mantenimiento 14m, una o más de las construcciones de software de cada VM desplegada 12 se actualizan con parches apropiadamente obtenidos 20 (paso 305), después de lo cual la VM actualizada 12 se detiene y almacena en la biblioteca 10 en la forma actualizada para esperar al siguiente despliegue en un huésped 14 (paso 307). Las construcciones de software de la VM desplegada 12 pueden actualizarse basándose en procedimientos activados por tales construcciones de software (paso 303a), o pueden actualizarse basándose en procedimientos activados por el controlador de VM 18 (paso 303b). En el último caso, el controlador de VM 18 puede emplear interfases conocidas apropiadas para efectuar tal activación.
Se debe notar aquí que el programador 24 puede ser cualquier programador apropiado, tal como por ejemplo un programador de tarea que es parte del controlador de VM 18, y puede programar cada VM 12 para actualización basándose en cualquier criterio apropiado sin apartarse del espíritu y alcance de la presente invención. Por ejemplo, el programador 24 puede operar para causar que el controlador de VM 18 despliegue de cada VM 12 al huésped de mantenimiento 14m una vez cada semana, una vez cada dos semanas, y similares. Tal programador y tal programación se conoce o debe ser evidente para el público relevante por lo tanto no necesita mencionarse aquí en ningún detalle. También se debe notar que el huésped de mantenimiento 14m puede ser cualquier huésped apropiado sin apartarse del espíritu y alcance de la presente invención, sometido al requerimiento que el huésped de mantenimiento aisla o de otra forma pone en cuarentena cada VM desplegada 12 en el de otros huéspedes 14 y sólo permite acceso a la fuente de actualización 22. Como se puede apreciar, el controlador de VM 18 que opera en la forma mostrada en la Figura 3 basándose en el programador 24 de la Figura 2 de alguna forma es ineficiente en cuanto a que cada VM 12 se despliega en el huésped de mantenimiento 14m sin considerar si las actualizaciones se requieren para la VM 12. Por consiguiente, y en una modalidad de la presente invención, y cambiando ahora la Figura 4, en lugar de desplegar inicialmente cada VM programada 12 al huésped de mantenimiento 14m, el controlador de VM 18 a su vez montan la VM 12 a un dispositivo de cómputo para que el huésped de mantenimiento 14m, la biblioteca 10 o similares para los componentes constituyentes de la VM 12 puedan examinarse (paso 401). El montar tal VM 12 para examinar algunos se conoce o debe ser evidente para el público relevante y por lo tanto no necesita mencionarse aquí en ningún detalle. Por consiguiente, cualquier forma particular de montaje puede realizarse sin apartarse del espíritu y alcance de la presente invención. Por ejemplo, tal VM 12 puede montarse para que los componentes constituyentes de la misma puedan examinarse en la forma de una unidad de disco o similares que tienen una pluralidad de archivos o similares. Al montarse, después, el controlador de VM 18 puede examinar varias partes de la VM 12 para determinar si varias construcciones de la VM 12 son actuales (paso 403). En particular, y como se puede apreciar, tal determinación puede hacerse por el controlador de VM 18 al revisar información de la VM montada 12 tal como versiones de archivo, información de registro, y otros datos que típicamente se emplean para determinar si se actualiza con uno o más parches 20 se requiere. Al presumir que uno o más parches 20 de hecho se requieren, el controlador de VM 18 entonces puede efectuar la obtención de cada parche 20 de una fuente de actualización apropiada 22 (paso 405) y aplicar el mismo a la VM 12. Notablemente, tales parches 20 pueden aplicarse a la VM 12 como montados (paso 407a), o si es necesario a la VM 12 como desplegados en el huésped de mantenimiento 14m (paso 407b). En el caso anterior como en el paso 407a, el controlador VM 18 debe aplicar cada parche 20 por sustitución de archivo en la VM montada 12, modificación de archivo, y similares. Cualquiera de las modificaciones de registro necesarias pueden realizarse al localizar el archivo de colmena de registro en la VM 12 montada y después cargar la colmena de registro localizada en el huésped de mantenimiento 14m, biblioteca 10, ó similares, que modifican la colmena cargada, y guardar la colmena modificada como un reemplazo para la colmena localizada correspondiente. En el último caso, en el paso 407b, el controlador de VM 18 primero debe desmontar la VM 12 del huésped de mantenimiento 14m o similares y entonces desplegar los mismos en tal huésped de mantenimiento 14m. Finalmente, después que se actualizó la VM 12 con todos los parches requeridos 20, el controlador VM 18 entonces puede mover la VM actualizada 12 de regreso a la biblioteca 10, ya sea al desmontar la VM 12 del huésped de mantenimiento 14m o similares y almacenar la VM desmontada 12 en la biblioteca 10 (paso 409), o al detener la VM desplegada 12 y almacenar la VM detenida 12 en la biblioteca 10 (paso 409b). Como se puede apreciar, el controlador de VM 18 que opera en la forma mostrada en la Figura 4 a veces puede ser ineficiente ya que cada VM 12 se actualiza con respecto a si la VM 12 va a emplearse por el usuario o similares. Es decir, cada VM 12 se actualiza incluso si la VM 12 raramente es si alguna vez se despliega. Por consiguiente, y en una modalidad de la presente invención, y cambiando ahora a la Figura 5, en lugar de realmente actualizar cada VM no actual 12, el controlador VM a su vez marca la VM 12 como no actual, y la VM 12 de hecho se actualiza sólo previo a realmente desplegarse. En particular, y como anteriormente, el controlador de VM 18 determina si cada VM 12 programada es actual (paso 501), por ejemplo al montar la VM 12 para que los componentes constituyentes de la VM 12 puedan examinarse, como en el paso 401. Aquí, aunque, cada VM no actual 12 se marca como tal en forma apropiada (paso 503), por ejemplo el incluir una notación apropiada con la VM 12 en la biblioteca 10. De esa forma, cuando un usuario selecciona cada VM 12 de la biblioteca 10 para desplegarse (paso 505), el controlador de VM 18 primero revisa si la VM seleccionada 12 se marca como no actual (paso 507). Si no es actual, la VM 12 primero se despliega o monta al huésped de mantenimiento 14m y actualiza como en los pasos 301 et seq. ó 401 et seq. (Paso 509), después de lo cual la VM no actual 12 se despliega a un huésped 14 para uso por el usuario que selecciona (paso 511).
Conclusión La programación necesaria para efectuar los procedimientos realizados en conexión con la presente invención es relativamente directa y debe ser evidente para el público de programación relevante. Por consiguiente, tal programación no se anexa a esto. Cualquier programación particular, entonces, puede emplearse para efectuar la presente invención sin apartarse del espíritu y alcance de la misma. En la descripción anterior, se puede observar que la presente invención comprende un sistema y método nuevos y útiles para aplicar una actualización a una VM 12 que se almacena en una biblioteca 10. Se debe apreciar que pueden hacerse cambios a las modalidades descritas anteriormente sin apartarse de los conceptos inventivos de la misma. Por lo tanto, se debe entender, que esta invención no se limita a las modalidades particulares descritas, pero pretende cubrir modificaciones dentro del espíritu y alcance de la presente invención como se define por las reivindicaciones anexas.
Claims (1)
1 - Una método con respecto a una biblioteca de máquinas virtuales (VMs) en un dispositivo de cómputo, cada VM almacenada en una forma detenida en tal biblioteca para recuperación de la biblioteca y reinicio en un dispositivo de cómputo huésped, cada VM en la biblioteca siendo una construcción de software que cuando se reinicia en un dispositivo de cómputo huésped emula un sistema de huésped, cada VM reiniciada incluye una pluralidad de construcciones de software, al menos una construcción de software de cada VM en la biblioteca siendo no actual y requiriendo una actualización de software, el método comprende, para cada VM en la biblioteca: recuperar la VM de la biblioteca en una base periódica y reiniciar la VM recuperada en un dispositivo de cómputo huésped de mantenimiento que tiene acceso al menos a una fuente de actualización pero que no tiene acceso a ningún dispositivo de cómputo huésped; permitir que cada construcción de software no actual de la VM reiniciada se actualice en el dispositivo de cómputo huésped de mantenimiento al obtener la actualización de software requerida de una fuente de actualización correspondiente como al menos un parche; y detener la VM actualizada y almacenar la VM detenida en la biblioteca para esperar recuperación y reinicio en el dispositivo de cómputo huésped. 2.- El método de acuerdo con la reivindicación 1, que comprende activar externamente cada construcción de software no actual de la VM reiniciada para actualizarse. 3.- El método de acuerdo con la reivindicación 1, que comprende cada construcción de software no actual de la VM reiniciada que internamente se activa a sí misma para actualizarse. 4. - El método de acuerdo con la reivindicación 1, en donde un controlador de VM opera para recuperar una VM almacenada de la biblioteca y reiniciar la VM recuperada en el dispositivo de cómputo huésped de mantenimiento, y también para detener la VM reiniciada y almacenar la VM detenida en la biblioteca, el método siendo realizado por el controlador de VM. 5. - El método de acuerdo con la reivindicación 4, que comprende el controlador de VM que opera basándose en un programador para desplegar periódicamente cada VM de la biblioteca al dispositivo de cómputo huésped de mantenimiento para actualización . 6. - El método de acuerdo con la reivindicación 1, que comprende operar basándose en un programador para desplegar periódicamente cada VM de la biblioteca al dispositivo de cómputo huésped de mantenimiento para actualización. 7. - Un método con respecto a una biblioteca de máquinas virtuales (VMs) en un dispositivo de cómputo, cada VM almacenada en una forma detenida en tal biblioteca para recuperación de la biblioteca y reiniciar en un dispositivo de cómputo huésped, cada VM en la biblioteca siendo una construcción de software que cuando se reinicia en un dispositivo de cómputo huésped emula un sistema de hardware, cada VM reiniciada incluye una pluralidad de construcciones de software, al menos una construcción de software de cada VM en la biblioteca siendo no actual y que requiere una actualización de software, el método comprende, para cada VM en la biblioteca: recuperar la VM de la biblioteca en una base periódica y montar la VM recuperada a un dispositivo de cómputo que no tiene acceso a ningún dispositivo de cómputo huésped; examinar componentes constituyentes de la VM montada para determinar si cada construcción de software de la VM es actual, y para cada construcción de software no actual actualizar la misma en el dispositivo de cómputo huésped de mantenimiento al obtener la actualización de software requerida de una fuente de actualización correspondiente como al menos un parche y aplicar cada parche a la VM montada; y almacenar la VM actualizada en la biblioteca para esperar recuperación y reinicio en el dispositivo de cómputo huésped. 8.- El método de acuerdo con la reivindicación 7, que comprende aplicar cada parche a la construcción de software no actual como montada al dispositivo de cómputo, el método también comprende almacenar la VM actualizada en la biblioteca después de desmontar la misma del dispositivo de cómputo huésped de mantenimiento. 9. - El método de acuerdo con la reivindicación 7, que comprende aplicar cada parche a la construcción de software no actual como reiniciado en el dispositivo de cómputo huésped de mantenimiento, y que incluye desmontar la VM del dispositivo de cómputo huésped de mantenimiento y entonces reiniciar la VM en tal dispositivo de cómputo huésped de mantenimiento, el método también comprende almacenar la VM actualizada en la biblioteca después de detener la misma en el dispositivo de cómputo huésped de mantenimiento. 10. - El método de acuerdo con la reivindicación 7, que comprende la VM recuperada al dispositivo de cómputo para que los componentes constituyentes de la VM montada puedan examinarse en la forma de una unidad de disco que tiene a pluralidad de archivos. 11. - El método de acuerdo con la reivindicación 7, en donde examinar los componentes constituyentes de la VM montada para determinar si cada construcción de software en la VM es actual comprende revisar información de la VM montada incluyendo ? versiones de archivo e información de registro. 12. - El método de acuerdo con la reivindicación 7, en donde un controlador de VM opera para recuperar una VM almacenada de la biblioteca y montar la VM recuperada al dispositivo de cómputo, y también para almacenar la VM actualizada en la biblioteca, el método siendo realizado por el controlador de VM. 13. - El método de acuerdo con la reivindicación 12, que comprende el controlador de VM que opera basándose en un programador para desplegar periódicamente cada VM de la biblioteca al dispositi o de cómputo huésped de mantenimiento para actualización. 14. - El método de acuerdo con la reivindicación 7, que comprende operar basándose en un programador para desplegar periódicamente cada VM de la biblioteca al dispositivo de cómputo huésped de mantenimiento para actualización. 15.- Un método con respecto a una biblioteca de máquinas virtuales (VMs) en un dispositivo de cómputo, cada VM almacenada en una forma detenida en tal biblioteca para recuperación de la biblioteca y reinicio en un dispositivo de cómputo huésped, cada VM en la biblioteca siendo una construcción de software que cuando se reinicia en un dispositivo de cómputo huésped emula un sistema de hardware, cada VM reiniciada incluye una pluralidad de construcciones de software, cada construcción de software de cada VM en la biblioteca al menos siendo potencialmente no actual y que requiere una actualización de software, el método comprende, para cada VM en la biblioteca: determinar periódicamente si cada construcción de software de la VM es actual, y si cualquier construcción de software de la VM no es actual, marcar la VM en la biblioteca como no actual; recibir una selección de una VM de la biblioteca para recuperarse y reiniciarse en un dispositivo de cómputo huésped; determinar si la VM seleccionada se marca en la biblioteca como siendo no actual, y si no es actual actualizar la VM en un dispositivo de cómputo huésped de mantenimiento que no tiene acceso a ningún dispositivo de cómputo huésped; y reiniciar la VM actualizada en el dispositivo de cómputo huésped. 16. - El método de acuerdo con la reivindicación 15, en donde un controlador de VM opera para recuperar una VM almacenada de la biblioteca y reiniciar la VM recuperada en el dispositivo de cómputo huésped de mantenimiento, y también para detener la VM reiniciada y almacenar la VM detenida en la biblioteca, el método siendo realizado por el controlador de VM. 17. - El método de acuerdo con la reivindicación 16, que comprende el controlador de VM que opera basándose en un programador para determinar periódicamente si cada construcción de software de la VM es actual. 18. - El método de acuerdo con la reivindicación 15, que 0 comprende operar basándose en un programador para determinar periódicamente si cada construcción de software de la VM es actual. 19.- El método de acuerdo con la reivindicación 15, en donde actualizar la VM comprende: recuperar la VM de la biblioteca y reiniciar la VM recuperada en el dispositivo de cómputo huésped de mantenimiento; y permitir a cada construcción de software no actual de la VM reiniciada actualizarse en el dispositivo de cómputo huésped de mantenimiento al obtener la actualización de software requerida de una fuente de actualización correspondiente como al menos un parche. 20.- El método de acuerdo con la reivindicación 15, en donde actualizar la VM comprende: recuperar la VM de la biblioteca y montar la VM recuperada al dispositivo de cómputo; y examinar componentes constituyentes de la VM montada para determinar si cada construcción de software de la VM es actual, y para cada construcción de software no actual actualizar la misma en el dispositivo de cómputo huésped de mantenimiento al obtener la actualización de software requerida de una fuente de actualización correspondiente con al menos un parche y aplicar cada parche a la VM montada.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/439,395 US8291409B2 (en) | 2006-05-22 | 2006-05-22 | Updating virtual machine with patch on host that does not have network access |
PCT/US2007/006577 WO2007136448A1 (en) | 2006-05-22 | 2007-03-15 | Updating virtual machine with patch or the like |
Publications (1)
Publication Number | Publication Date |
---|---|
MX2008014860A true MX2008014860A (es) | 2008-12-01 |
Family
ID=38713349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
MX2008014860A MX2008014860A (es) | 2006-05-22 | 2007-03-15 | Actualizacion de maquina virtual con parche o similares. |
Country Status (14)
Country | Link |
---|---|
US (1) | US8291409B2 (es) |
EP (1) | EP2024849B1 (es) |
JP (1) | JP5113836B2 (es) |
KR (1) | KR101279696B1 (es) |
CN (1) | CN101454765B (es) |
AU (1) | AU2007254474B9 (es) |
BR (1) | BRPI0712660B1 (es) |
CA (1) | CA2649888C (es) |
HK (1) | HK1129748A1 (es) |
MX (1) | MX2008014860A (es) |
MY (1) | MY151935A (es) |
RU (1) | RU2439677C2 (es) |
TW (1) | TWI431531B (es) |
WO (1) | WO2007136448A1 (es) |
Families Citing this family (87)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8539063B1 (en) | 2003-08-29 | 2013-09-17 | Mcafee, Inc. | Method and system for containment of networked application client software by explicit human input |
US7840968B1 (en) | 2003-12-17 | 2010-11-23 | Mcafee, Inc. | Method and system for containment of usage of language interfaces |
US7873955B1 (en) | 2004-09-07 | 2011-01-18 | Mcafee, Inc. | Solidifying the executable software set of a computer |
US7856661B1 (en) * | 2005-07-14 | 2010-12-21 | Mcafee, Inc. | Classification of software on networked systems |
US7757269B1 (en) | 2006-02-02 | 2010-07-13 | Mcafee, Inc. | Enforcing alignment of approved changes and deployed changes in the software change life-cycle |
US7895573B1 (en) | 2006-03-27 | 2011-02-22 | Mcafee, Inc. | Execution environment file inventory |
US7870387B1 (en) | 2006-04-07 | 2011-01-11 | Mcafee, Inc. | Program-based authorization |
US8352930B1 (en) | 2006-04-24 | 2013-01-08 | Mcafee, Inc. | Software modification by group to minimize breakage |
US8555404B1 (en) | 2006-05-18 | 2013-10-08 | Mcafee, Inc. | Connectivity-based authorization |
US20080126792A1 (en) * | 2006-09-19 | 2008-05-29 | Herington Daniel E | Systems and methods for achieving minimal rebooting during system update operations |
US9424154B2 (en) | 2007-01-10 | 2016-08-23 | Mcafee, Inc. | Method of and system for computer system state checks |
US8332929B1 (en) | 2007-01-10 | 2012-12-11 | Mcafee, Inc. | Method and apparatus for process enforced configuration management |
US8407696B2 (en) * | 2007-06-04 | 2013-03-26 | International Business Machines Corporation | Method for delivering, testing, and applying software patches or other changes to a conventionally installed application in virtual application containers |
CN100555298C (zh) * | 2007-06-08 | 2009-10-28 | 北京飞天诚信科技有限公司 | 虚拟个人办公环境的方法和设备 |
US8195931B1 (en) | 2007-10-31 | 2012-06-05 | Mcafee, Inc. | Application change control |
US8701189B2 (en) | 2008-01-31 | 2014-04-15 | Mcafee, Inc. | Method of and system for computer system denial-of-service protection |
JP2009217395A (ja) * | 2008-03-07 | 2009-09-24 | Nec Corp | 仮想サーバソフトウェア更新システム、仮想サーバソフトウェア更新方法、サーバ、及びサーバ用プログラム |
US8615502B2 (en) | 2008-04-18 | 2013-12-24 | Mcafee, Inc. | Method of and system for reverse mapping vnode pointers |
US8145471B2 (en) * | 2008-04-30 | 2012-03-27 | International Business Machines Corporation | Non-destructive simulation of a failure in a virtualization environment |
US8185884B2 (en) * | 2008-06-23 | 2012-05-22 | Novell, Inc. | System and method for offline updation of software in virtual machine (VM) images |
US9361089B2 (en) * | 2008-07-22 | 2016-06-07 | International Business Machines Corporation | Secure patch updates of a virtual machine image in a virtualization data processing system |
US8544003B1 (en) | 2008-12-11 | 2013-09-24 | Mcafee, Inc. | System and method for managing virtual machine configurations |
US9003411B2 (en) * | 2009-05-13 | 2015-04-07 | Verizon Patent And Licensing Inc. | Automated provisioning and configuration of virtual and physical servers |
US8032618B2 (en) | 2009-06-05 | 2011-10-04 | Microsoft Corporation | Asynchronous update of virtualized applications |
US8341627B2 (en) | 2009-08-21 | 2012-12-25 | Mcafee, Inc. | Method and system for providing user space address protection from writable memory area in a virtual environment |
US8381284B2 (en) | 2009-08-21 | 2013-02-19 | Mcafee, Inc. | System and method for enforcing security policies in a virtual environment |
US9552497B2 (en) * | 2009-11-10 | 2017-01-24 | Mcafee, Inc. | System and method for preventing data loss using virtual machine wrapped applications |
US8533701B2 (en) * | 2010-03-15 | 2013-09-10 | Microsoft Corporation | Virtual machine image update service |
WO2011117954A1 (ja) * | 2010-03-20 | 2011-09-29 | 株式会社Pfu | 仮想マシン管理装置、仮想マシン管理方法、及びプログラム |
US20110238402A1 (en) * | 2010-03-23 | 2011-09-29 | Fujitsu Limited | System and methods for remote maintenance in an electronic network with multiple clients |
US8751857B2 (en) * | 2010-04-13 | 2014-06-10 | Red Hat Israel, Ltd. | Monitoring of highly available virtual machines |
US8938800B2 (en) | 2010-07-28 | 2015-01-20 | Mcafee, Inc. | System and method for network level protection against malicious software |
US8925101B2 (en) | 2010-07-28 | 2014-12-30 | Mcafee, Inc. | System and method for local protection against malicious software |
US8549003B1 (en) | 2010-09-12 | 2013-10-01 | Mcafee, Inc. | System and method for clustering host inventories |
US20120102190A1 (en) * | 2010-10-26 | 2012-04-26 | International Business Machines Corporation | Inter-virtual machine communication |
US9075993B2 (en) | 2011-01-24 | 2015-07-07 | Mcafee, Inc. | System and method for selectively grouping and managing program files |
US9112830B2 (en) | 2011-02-23 | 2015-08-18 | Mcafee, Inc. | System and method for interlocking a host and a gateway |
CN102262549B (zh) * | 2011-03-02 | 2014-10-15 | 奇智软件(北京)有限公司 | 补丁安装方法与系统 |
US8713088B2 (en) * | 2011-03-27 | 2014-04-29 | Hewlett-Packard Development Company, L.P. | Identifying users of remote sessions |
DE102011080231B4 (de) | 2011-08-01 | 2022-09-29 | Trumpf Werkzeugmaschinen Gmbh + Co. Kg | Verfahren, Vorrichtung und System zur Maschinensteuerungswartung |
US9772784B2 (en) | 2011-08-10 | 2017-09-26 | Nutanix, Inc. | Method and system for maintaining consistency for I/O operations on metadata distributed amongst nodes in a ring structure |
US9594881B2 (en) | 2011-09-09 | 2017-03-14 | Mcafee, Inc. | System and method for passive threat detection using virtual memory inspection |
US8694738B2 (en) | 2011-10-11 | 2014-04-08 | Mcafee, Inc. | System and method for critical address space protection in a hypervisor environment |
US8973144B2 (en) | 2011-10-13 | 2015-03-03 | Mcafee, Inc. | System and method for kernel rootkit protection in a hypervisor environment |
US9069586B2 (en) | 2011-10-13 | 2015-06-30 | Mcafee, Inc. | System and method for kernel rootkit protection in a hypervisor environment |
US8713668B2 (en) | 2011-10-17 | 2014-04-29 | Mcafee, Inc. | System and method for redirected firewall discovery in a network environment |
US8800024B2 (en) | 2011-10-17 | 2014-08-05 | Mcafee, Inc. | System and method for host-initiated firewall discovery in a network environment |
US8924954B2 (en) | 2011-11-22 | 2014-12-30 | Huawei Technologies Co., Ltd. | Application software installation method and application software installation apparatus |
CN104182257B (zh) * | 2011-11-22 | 2017-09-05 | 华为数字技术(成都)有限公司 | 应用软件的安装方法和应用软件的安装装置 |
CN102402446B (zh) * | 2011-11-22 | 2014-12-17 | 华为数字技术(成都)有限公司 | 应用软件的安装方法和应用软件的安装装置 |
JP5100883B2 (ja) * | 2011-11-29 | 2012-12-19 | 株式会社東芝 | 計算機および計算機の制御方法 |
WO2013084146A1 (en) * | 2011-12-08 | 2013-06-13 | International Business Machines Corporation | Method and system for patching a virtual image |
US8776058B2 (en) | 2011-12-11 | 2014-07-08 | International Business Machines Corporation | Dynamic generation of VM instance at time of invocation |
CN103988177B (zh) | 2011-12-12 | 2017-02-22 | 国际商业机器公司 | 基于维护寄存器的离线虚拟机的维护 |
US9069640B2 (en) * | 2012-03-23 | 2015-06-30 | Hitachi, Ltd. | Patch applying method for virtual machine, storage system adopting patch applying method, and computer system |
US8739272B1 (en) | 2012-04-02 | 2014-05-27 | Mcafee, Inc. | System and method for interlocking a host and a gateway |
JP6213053B2 (ja) | 2012-09-04 | 2017-10-18 | 富士通株式会社 | プログラム、情報処理装置およびスケジュール決定方法 |
US8973146B2 (en) | 2012-12-27 | 2015-03-03 | Mcafee, Inc. | Herd based scan avoidance system in a network environment |
WO2014204453A1 (en) * | 2013-06-19 | 2014-12-24 | Empire Technology Development, Llc | Processor-optimized library loading for virtual machines |
JP6098392B2 (ja) * | 2013-06-24 | 2017-03-22 | 富士通株式会社 | ソフトウェア修正パッチ抽出プログラム、ソフトウェア修正パッチ抽出方法および情報処理装置 |
US9507727B2 (en) * | 2013-07-17 | 2016-11-29 | Bitdefender IPR Management Ltd. | Page fault injection in virtual machines |
US9600262B2 (en) | 2013-09-19 | 2017-03-21 | International Business Machines Corporation | System, method and program product for updating virtual machine images |
EP3061030A4 (en) | 2013-10-24 | 2017-04-19 | McAfee, Inc. | Agent assisted malicious application blocking in a network environment |
EP3140734B1 (en) | 2014-05-09 | 2020-04-08 | Nutanix, Inc. | Mechanism for providing external access to a secured networked virtualization environment |
US9733958B2 (en) * | 2014-05-15 | 2017-08-15 | Nutanix, Inc. | Mechanism for performing rolling updates with data unavailability check in a networked virtualization environment for storage management |
US10642507B2 (en) | 2015-01-30 | 2020-05-05 | Nutanix, Inc. | Pulsed leader consensus management |
JP2017004201A (ja) * | 2015-06-09 | 2017-01-05 | 富士通株式会社 | パッチプログラム抽出装置、パッチプログラム抽出プログラム及びパッチプログラム抽出方法 |
US9600267B2 (en) * | 2015-06-15 | 2017-03-21 | International Business Machines Corporation | Optimizing provisioning through automated virtual machine template generation |
CN105426753B (zh) * | 2015-11-18 | 2019-06-21 | 北京北信源软件股份有限公司 | 无代理来宾虚拟机已安装软件检测方法、装置及系统 |
US11218418B2 (en) | 2016-05-20 | 2022-01-04 | Nutanix, Inc. | Scalable leadership election in a multi-processing computing environment |
US10768920B2 (en) * | 2016-06-15 | 2020-09-08 | Microsoft Technology Licensing, Llc | Update coordination in a multi-tenant cloud computing environment |
US10362092B1 (en) | 2016-10-14 | 2019-07-23 | Nutanix, Inc. | Entity management in distributed systems |
US11194680B2 (en) | 2018-07-20 | 2021-12-07 | Nutanix, Inc. | Two node clusters recovery on a failure |
US11770447B2 (en) | 2018-10-31 | 2023-09-26 | Nutanix, Inc. | Managing high-availability file servers |
USD886143S1 (en) | 2018-12-14 | 2020-06-02 | Nutanix, Inc. | Display screen or portion thereof with a user interface for database time-machine |
US10817157B2 (en) | 2018-12-20 | 2020-10-27 | Nutanix, Inc. | User interface for database management services |
US11816066B2 (en) | 2018-12-27 | 2023-11-14 | Nutanix, Inc. | System and method for protecting databases in a hyperconverged infrastructure system |
US11010336B2 (en) | 2018-12-27 | 2021-05-18 | Nutanix, Inc. | System and method for provisioning databases in a hyperconverged infrastructure system |
US11768809B2 (en) | 2020-05-08 | 2023-09-26 | Nutanix, Inc. | Managing incremental snapshots for fast leader node bring-up |
US11556517B2 (en) | 2020-05-17 | 2023-01-17 | International Business Machines Corporation | Blockchain maintenance |
US11604705B2 (en) | 2020-08-14 | 2023-03-14 | Nutanix, Inc. | System and method for cloning as SQL server AG databases in a hyperconverged system |
US11907167B2 (en) | 2020-08-28 | 2024-02-20 | Nutanix, Inc. | Multi-cluster database management services |
US11640340B2 (en) | 2020-10-20 | 2023-05-02 | Nutanix, Inc. | System and method for backing up highly available source databases in a hyperconverged system |
US11604806B2 (en) | 2020-12-28 | 2023-03-14 | Nutanix, Inc. | System and method for highly available database service |
US11892918B2 (en) | 2021-03-22 | 2024-02-06 | Nutanix, Inc. | System and method for availability group database patching |
US11803368B2 (en) | 2021-10-01 | 2023-10-31 | Nutanix, Inc. | Network learning to control delivery of updates |
US20230221939A1 (en) * | 2022-01-07 | 2023-07-13 | Dell Products L.P. | Version history based upgrade testing across simulated information technology environments |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2001294677A1 (en) * | 2000-09-22 | 2002-04-02 | Patchlink.Com Corporation | Non-invasive automatic offsite patch fingerprinting and updating system and method |
US8205193B2 (en) * | 2001-06-11 | 2012-06-19 | Hewlett-Packard Development Company, L.P. | Runtime updating of virtual machine class files |
US20040117532A1 (en) * | 2002-12-11 | 2004-06-17 | Bennett Steven M. | Mechanism for controlling external interrupts in a virtual machine system |
US8209680B1 (en) * | 2003-04-11 | 2012-06-26 | Vmware, Inc. | System and method for disk imaging on diverse computers |
JP4094560B2 (ja) * | 2004-01-23 | 2008-06-04 | 株式会社エヌ・ティ・ティ・データ | リソース分割サーバ及びリソース分割サーバプログラム |
US20050257206A1 (en) * | 2004-05-14 | 2005-11-17 | Semerdzhiev Krasimir P | Pair-update mechanism for update module |
US7908339B2 (en) * | 2004-06-03 | 2011-03-15 | Maxsp Corporation | Transaction based virtual file system optimized for high-latency network connections |
US7441272B2 (en) * | 2004-06-09 | 2008-10-21 | Intel Corporation | Techniques for self-isolation of networked devices |
KR100627728B1 (ko) * | 2004-07-28 | 2006-09-25 | 에스케이 텔레콤주식회사 | 데이터 코어망을 이용한 가상머신 애플리케이션의업데이트 방법 및 시스템 |
US7437721B2 (en) * | 2004-09-29 | 2008-10-14 | Microsoft Corporation | Isolating software deployment over a network from external malicious intrusion |
US20060184937A1 (en) * | 2005-02-11 | 2006-08-17 | Timothy Abels | System and method for centralized software management in virtual machines |
US20070234331A1 (en) * | 2006-01-06 | 2007-10-04 | Sun Microsystems, Inc. | Targeted automatic patch retrieval |
US8225314B2 (en) * | 2006-03-31 | 2012-07-17 | Intel Corporation | Support for personal computing in a public computing infrastructure by using a single VM delta image for each VM base image utilized by a user |
-
2006
- 2006-05-22 US US11/439,395 patent/US8291409B2/en active Active
-
2007
- 2007-03-15 MY MYPI20084225 patent/MY151935A/en unknown
- 2007-03-15 MX MX2008014860A patent/MX2008014860A/es not_active Application Discontinuation
- 2007-03-15 CN CN2007800190413A patent/CN101454765B/zh active Active
- 2007-03-15 RU RU2008146053/08A patent/RU2439677C2/ru active
- 2007-03-15 AU AU2007254474A patent/AU2007254474B9/en not_active Ceased
- 2007-03-15 WO PCT/US2007/006577 patent/WO2007136448A1/en active Application Filing
- 2007-03-15 BR BRPI0712660-3A patent/BRPI0712660B1/pt not_active IP Right Cessation
- 2007-03-15 JP JP2009512003A patent/JP5113836B2/ja active Active
- 2007-03-15 EP EP20070753222 patent/EP2024849B1/en active Active
- 2007-03-15 CA CA2649888A patent/CA2649888C/en not_active Expired - Fee Related
- 2007-03-15 KR KR1020087027887A patent/KR101279696B1/ko active IP Right Grant
- 2007-03-23 TW TW096110232A patent/TWI431531B/zh not_active IP Right Cessation
-
2009
- 2009-07-31 HK HK09107023.7A patent/HK1129748A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP2024849B1 (en) | 2015-04-22 |
HK1129748A1 (en) | 2009-12-04 |
AU2007254474A1 (en) | 2007-11-29 |
BRPI0712660B1 (pt) | 2019-06-18 |
WO2007136448A1 (en) | 2007-11-29 |
CA2649888A1 (en) | 2007-11-29 |
KR101279696B1 (ko) | 2013-06-27 |
TWI431531B (zh) | 2014-03-21 |
JP2009538469A (ja) | 2009-11-05 |
EP2024849A4 (en) | 2009-11-11 |
MY151935A (en) | 2014-07-31 |
BRPI0712660A2 (pt) | 2012-09-04 |
TW200809627A (en) | 2008-02-16 |
US20070271561A1 (en) | 2007-11-22 |
EP2024849A1 (en) | 2009-02-18 |
US8291409B2 (en) | 2012-10-16 |
CA2649888C (en) | 2015-05-12 |
CN101454765B (zh) | 2012-01-18 |
KR20090018909A (ko) | 2009-02-24 |
AU2007254474B2 (en) | 2012-04-05 |
RU2008146053A (ru) | 2010-05-27 |
BRPI0712660A8 (pt) | 2016-12-13 |
JP5113836B2 (ja) | 2013-01-09 |
AU2007254474B9 (en) | 2012-05-24 |
RU2439677C2 (ru) | 2012-01-10 |
CN101454765A (zh) | 2009-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
MX2008014860A (es) | Actualizacion de maquina virtual con parche o similares. | |
US10261800B2 (en) | Intelligent boot device selection and recovery | |
EP1915680B1 (en) | Archiving data in a virtual application environment | |
US8205194B2 (en) | Updating offline virtual machines or VM images | |
US8543797B1 (en) | Managed desktop system | |
US8347137B1 (en) | System and method for bare metal restore of a computer over a network | |
US8060542B2 (en) | Template-based development of servers | |
US8489552B1 (en) | Generic granular restore of application data from a volume image backup | |
US8122212B2 (en) | Method and apparatus for logical volume management for virtual machine environment | |
US20070234337A1 (en) | System and method for sanitizing a computer program | |
US20070234302A1 (en) | System and method for deploying a virtual machine | |
US20110225405A1 (en) | Managing a computing device | |
US20170068529A1 (en) | Capturing and Deploying an Operation System in a Computer Environment | |
US9846621B1 (en) | Disaster recovery—multiple restore options and automatic management of restored computing devices | |
US9619340B1 (en) | Disaster recovery on dissimilar hardware | |
US7506115B2 (en) | Incremental provisioning of software | |
KR20070119821A (ko) | 다중 사용자 환경에서의 서버 시스템을 이용한 운영체제백업/복구와 게임 백업/복구/업데이트/설치/실행 및운영체제 관리 시스템 및 그 방법 | |
KR20150134704A (ko) | 네트워크를 이용한 클라이언트 피씨 구동 시스템 및 제어 방법 | |
KR100947136B1 (ko) | 소프트웨어의 증분 프로비져닝 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FA | Abandonment or withdrawal |