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
Application number
MX2008014860A
Other languages
English (en)
Inventor
Robert M Fries
Eric J Winner
Gilad Golan
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of MX2008014860A publication Critical patent/MX2008014860A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; 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)

REIVINDICACIONES
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.
MX2008014860A 2006-05-22 2007-03-15 Actualizacion de maquina virtual con parche o similares. MX2008014860A (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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